On Tue, Feb 12, 2013 at 06:49:01AM -0800, Behdad Esfahbod wrote:
> commit 568000274c8edb5f41bc4f876ce21fcc8bdaeed8
> Author: Behdad Esfahbod <[email protected]>
> Date: Tue Feb 12 09:44:57 2013 -0500
>
> Adjust mark advance-width zeroing logic for Myanmar
>
> Before, we were zeroing advance width of attached marks for
> non-Indic scripts, and not doing it for Indic.
>
> We have now three different behaviors, which seem to better
> reflect what Uniscribe is doing:
>
> - For Indic, no explicit zeroing happens whatsoever, which
> is the same as before,
>
> - For Myanmar, zero advance width of glyphs marked as marks
> *in GDEF*, and do that *before* applying GPOS. This seems
> to be what the new Win8 Myanmar shaper does,
>
> - For everything else, zero advance width of glyphs that are
> from General_Category=Mn Unicode characters, and do so
> before applying GPOS. This seems to be what Uniscribe does
> for Latin at least.
>
> With these changes, positioning of all tests matches for Myanmar,
> except for the glitch in Uniscribe not applying 'mark'. See preivous
> commit.
This commit is causing a regression with Amiri, the string “هَٰذ” with
Uniscribe and HarfBuzz before this commit, gives:
[uni0630.fina=3+965|uni0670.medi=0+600|uni064E=0@-256,0+0|uni0647.init=0+926]
But now it gives:
[uni0630.fina=3+965|uni0670.medi=0+0|uni064E=0@-256,0+0|uni0647.init=0+926]
i.e. uni0670.medi is zeroed though it has a base glyph GDEF class.
Regards,
Khaled
_______________________________________________
HarfBuzz mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/harfbuzz