On 05/22/2012 07:53 PM, Behdad Esfahbod wrote: > Khaled, > > So, I have a theory: may it be that Uniscribe is doing what it's doing because > of IgnoreMarks settings? If that is the case, then I see why HarfBuzz is > getting it wrong, since we copy glyph class for the Multi substitute lookups > from the original glyph instead of looking them in GDEF.
Humm. Maybe not. Still, using mark ignoring may be a way for the font to achieve the desired output on both HarfBuzz and Uniscribe currently. behdad > behdad > > On 05/12/2012 08:54 AM, Khaled Hosny wrote: >> Hi all, >> >> There seems to be a difference between HarfBuzz and Uniscribe on how to >> handle mark positioning when there is multiple glyph substitution, >> namely HB seems to apply the mark to the last component while USP >> applies it to the first component. >> >> In other words, if there is <base> → <base₁><base₂> substitution, the >> sequence <base><mark> will be rendered as if it was <base₁><base₂><mark> >> with HB, but as <base₁><mark><base₂> with USP. >> >> Using hb-shape with “uniscribe” shaper, and the word “سَتا” and Arabic >> Typesetting font, I get >> >> >> [uniFE8E=3+343|uniFE98=2+376|uni064E=0@501,-260|uni0640.curvehalf=0@,34+152|uniFEB3=0@,34+840] >> ^^^^^^^^ >> but with “ot” shaper, I get: >> >> >> [uniFE8E=3+343|uniFE98=2+376|uni064E=0@-11,-310|uni0640.curvehalf=0@,34+152|uniFEB3=0@,34+840] >> ^^^^^^^^ >> though the glyph string is the same, the position of the mark is clearly >> different. >> >> (background: I need this to contextually insert tatweel to avoid mark >> collision in “crowded” places, but with the difference between both >> engines this can’t be reliably done without breaking mark positioning in >> one of them). >> >> Regards, >> Khaled >> _______________________________________________ >> HarfBuzz mailing list >> [email protected] >> http://lists.freedesktop.org/mailman/listinfo/harfbuzz _______________________________________________ HarfBuzz mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/harfbuzz
