[HarfBuzz] harfbuzz: Branch 'master' - 5 commits

Khaled Hosny khaledhosny at eglug.org
Sun Mar 24 05:28:36 PDT 2013


On Tue, Feb 12, 2013 at 06:49:01AM -0800, Behdad Esfahbod wrote:
> commit 568000274c8edb5f41bc4f876ce21fcc8bdaeed8
> Author: Behdad Esfahbod <behdad at behdad.org>
> 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 at -256,0+0|uni0647.init=0+926]

But now it gives:

	[uni0630.fina=3+965|uni0670.medi=0+0|uni064E=0 at -256,0+0|uni0647.init=0+926]

i.e. uni0670.medi is zeroed though it has a base glyph GDEF class.

Regards,
Khaled



More information about the HarfBuzz mailing list