Opened 4 years ago
Last modified 4 years ago
#16938 new bug
Setting font to noto color emoji breaks UI
Reported by: | nephele | Owned by: | axeld |
---|---|---|---|
Priority: | normal | Milestone: | Unscheduled |
Component: | Servers/app_server | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
menu font:
- Menus in native applications disapear completely
- the deskbar main menu button becomes gray, no leaf, and is unable to be clicked
- The font preview section in pref/appearence disapears completely for the section that is set to noto color emoji
bold font:
- window tabs dissapear completely
plain font:
- makes many UI elements disapear completely (pref/network is literally empty for instance)
Change History (2)
comment:1 by , 4 years ago
comment:2 by , 4 years ago
My intention was a bit more to prevent this from ever beeing set in the UI, not to support this as a normal usecase. I would expect either all glyphs to fall through, or we just don't allow this setting at all (which might be nicer since that removes one option from the dialog). But it still highlights that glyph fallback from it is broken.
Note:
See TracTickets
for help on using tickets.
That font is bitmap-only, not scalable, and our code seems to not be ready for that.
There are several issues at work here. For starters, some global font metrics that we use, for example to calculate line height, are not available. https://review.haiku-os.org/c/haiku/+/4042 should help with that.
But you won't go very far using it as a system font (or general text font) just with that patch. Not being scalable, the underlying font rendering library will only provide data for the bitmaps included in the font, which in this case is only for size 109. For other sizes you still won't get the glyphs the font has, and they'll be empty because having them, we ask the font and not a fallback for them. In this specific case, some typical characters that the font has are the numbers and the space, which will lead to some fun unless you use size 109. Other characters will come from a fallback font, but only because we are not taking into account the error returned when setting an unsupported size.