-
Notifications
You must be signed in to change notification settings - Fork 682
Closed
Description
When working on shaper driven run segmentation in Blink I am observing a few situations in which the shaper seems to be a bit overeager in finding a renderable character.
- The first situation is using the ASCII parentheses instead of a
.notdeffor the fullwidth parentheses:./hb-shape --shapers=ot /Library/Fonts/Times\ New\ Roman.ttf``../test/shaping/hb-unicode-encode U+FF08results in[parenleft=0+682]. In CJK texts that leads to slightly broken spacing, since for example the fallback chain has Times first, then a CJK font. HarfBuzz will render the parentheses with Times, then the CJK text with the fallback font, leading to uneven spacing and a suboptimal mix of fonts. If HarfBuzz would just give up here and return.notdef, the fonts would not be mixed, leading to a more pleasant appearance. - The second example that showed in Blink tests:
./hb-shape --shapers=ot /Library/Fonts/Arial.ttf 𝒞results in[C=0+1479]- so the mathematical script C is converted to a Latin capital C. In Blink'ssvg/text/non-bmp-positioning-lists.svglayout test however, the mathematical script is expected and was previously shown due to functioning system fallback for such symbols.
Metadata
Metadata
Assignees
Labels
No labels