Opened 3 years ago

Last modified 3 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)

hrev55078

Change History (2)

comment:1 by madmax, 3 years ago

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.

comment:2 by nephele, 3 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.