-
Notifications
You must be signed in to change notification settings - Fork 682
Description
Uniscribe seems to allow cursive attachment on marks. We don't. Enabling it is not as easy as changing
CursivePosFormat1::apply(), as currently we do deferrred mark attachment but cursive is immediate. So we get wrong results.
Test font attached in ttx format. Here's what we get currently:
$ ./hb-unicode-encode 0B1F 0B4D 0B1A 0B4D 0B1A | hb-shape NotoSansOriya-Regular.ttf.subset
[ttaorya=0+1307|casubscriptorya=0@-242,104+0|casubscriptnarroworya=0+487]
Here's what Uniscribe gets:
$ ./hb-unicode-encode 0B1F 0B4D 0B1A 0B4D 0B1A | hb-shape NotoSansOriya-Regular.ttf.subset --shaper uniscribe
[ttaorya=0+1307|casubscriptorya=0@-242,104+-211|casubscriptnarroworya=0+487]
Here's what we get if I just allow marks in CursivePosFormat1::apply():
$ ./hb-unicode-encode 0B1F 0B4D 0B1A 0B4D 0B1A | hb-shape NotoSansOriya-Regular.ttf.subset
[ttaorya=0+1307|casubscriptorya=0@-242,104+1076|casubscriptnarroworya=0@20,104+507]
Note that the Uniscribe output looks wrong to me. The font has same y anchor point in the cursive for the last two glyphs in our sequence, so their y position should align. But looks like Uniscribe is not doing that. So, I'm thinking that Uniscribe is also doing some things deferred, but in another order (doing cursive before mark attachment for example).
At any rate, I don't think we need to fix this necessarily. Just documenting it here.
NotoSansOriya-Regular.ttf.txt