[HarfBuzz] Multiple substitution and mark positioning

Khaled Hosny khaledhosny at eglug.org
Wed Jul 25 16:02:05 PDT 2012


Thanks Behdad.

On Wed, Jul 25, 2012 at 06:39:29PM -0400, Behdad Esfahbod wrote:
> Fixed.
> 
> On 07/25/2012 05:13 PM, Khaled Hosny wrote:
> > This only applies to the marks that result of multiple substitution i.e.
> > in Amiri the middle lam of لله is substituted with
> > <lam><shadda><smallalef>, I don’t think Arabic Typesetting has something
> > like that.
> > 
> > On Wed, Jul 25, 2012 at 01:58:08PM -0400, Behdad Esfahbod wrote:
> >> This also happens with Arabic Typesetting I assume?
> >>
> >> b
> >>
> >> On 06/12/2012 06:31 AM, Khaled Hosny wrote:
> >>> I’m not sure if this is related, but I now get no mkmk positioning when
> >>> the marks are “inserted” using multiple substitution. For example, “للّٰه”
> >>> is positioned correctly, while “لله” is not though it is the same mark
> >>> glyphs except they are being added by multiple substation.
> >>>
> >>> [uni0647.fina_Lellah=4+721|uni0670=1 at -267,-162|uni0651=1 at -277,-440|uni0644.medi_Lellah=1+473|uni0644.init_Lellah=0+319]
> >>>
> >>> vs.:
> >>>
> >>> [uni0647.fina_Lellah=2+721|uni0670=1 at -245,-440|uni0651=1 at -277,-440|uni0644.medi_Lellah=1+473|uni0644.init_Lellah=0+319]
> >>>
> >>> Regards,
> >>>  Khaled
> >>>
> >>> On Fri, Jun 08, 2012 at 10:14:19PM -0400, Behdad Esfahbod wrote:
> >>>> Hi Khaled and others,
> >>>>
> >>>> I fixed this, among other things, including a major mlig and mkmk regression.
> >>>>  Please test.
> >>>>
> >>>> 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 at 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 at -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
> >>>>> HarfBuzz at lists.freedesktop.org
> >>>>> http://lists.freedesktop.org/mailman/listinfo/harfbuzz
> >>>
> > 



More information about the HarfBuzz mailing list