Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

examples/gkurve: improve unicode handling (fallback fonts, combining unicode characters, etc.) #331

Closed
1 of 3 tasks
slimsag opened this issue Jun 5, 2022 · 0 comments
Closed
1 of 3 tasks

Comments

@slimsag
Copy link
Member

slimsag commented Jun 5, 2022

Right now after @PiergiorgioZagaria's work, gkurve tooling can render UTF32 fonts. What we would need to do to improve Unicode handling further is:

  1. Add HarfBuzz bindings to our freetype bindings. I also heard MasterQ32 say he wants these.
  2. Handle fallback fonts, e.g. try rendering with the desired font and then fallback to say Noto+Emoji font if the glyph is not found. In practice this means end user should provide a list of fonts, rather than just one, that we consume.
  3. Verify we can render combining characters after hooking all this together. e.g. 👪 which is four UTF32 values.

Note many frameworks do not have this level of unicode support, e.g. Pygame doesn't either pygame/pygame#1436 - we should do better & have Unicode as a first-class concern.

@slimsag slimsag changed the title gkurve: improve unicode handling (fallback fonts, combining unicode characters, etc.) examples/gkurve: improve unicode handling (fallback fonts, combining unicode characters, etc.) Aug 6, 2022
@slimsag slimsag added this to the /dev/null milestone Sep 1, 2022
@slimsag slimsag modified the milestones: /dev/null, Mach 0.3 Nov 6, 2023
@slimsag slimsag modified the milestones: Mach 0.3, Mach 0.4 Jan 15, 2024
@slimsag slimsag closed this as completed Jul 27, 2024
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant