[HarfBuzz] Broken Arabic mark/mark interaction
Khaled Hosny
khaledhosny at eglug.org
Thu Aug 25 00:22:24 PDT 2011
Thanks Behdad for the quick response!
I tested it and it is working here too.
Regards,
Khaled
On Thu, Aug 25, 2011 at 09:10:26AM +0200, Behdad Esfahbod wrote:
> Right, thanks for bringing this up. Indeed I plan to switch to the
> slightly-reordered CCC as mentioned in the FAQ. That is:
>
> "And notice that the rendering engine could reorder the marks internally in a
> different order if it wanted to, as long as that order was canonically
> equivalent. In particular, any permutation of the non-zero CCC values can be
> used for a canonically equivalent internal ordering. So internally a rendering
> engine could permute weights <27, 28,..., 32, 33> to <33, 27, 28,..., 32>,
> getting SHADDA before all vowel signs, for example."
>
> And, done, and pushed to master. I tested it with Nazli and seems to be working.
>
> Cheers,
> behdad
>
> PS. Yes, I'm following a test-driven development model at this time! :)
>
>
> On 08/25/11 08:45, Khaled Hosny wrote:
> > After the introduction of canonical reordering of combining marks
> > (commit 34c22f8), I'm no longer able to do mark/mark substitution or
> > positioning for mark sequences that involve shadda as a first mark (or
> > most interesting sequences at least).
> >
> > After some digging, it turned out that shadda have a ccc=33 while most
> > Arabic marks that combine with it have a lower ccc value, which results
> > in the shadda being reordered after the other mark which,
> > unsurprisingly, breaks my contextual substitution and mkmk anchors.
> >
> > The issue seems to be quite known, there is even two FAQ entries for it:
> > http://unicode.org/faq/normalization.html#8
> >
> > My font substitutes certain marks when following shadda by smaller
> > version, and uses mkmk anchors to properly position them. I could switch
> > to using ligatures and treat <shadda><mark> and <mark><shadda> the same,
> > but this is very inefficient since I want to support sequences up to
> > three marks after shadda at least (and in various combinations), also I
> > was trying to avoid ligatures at all in my font for several reasons, and
> > I suspect that my font is not the only affected font.
> >
> > Regards,
> > Khaled
> >
--
Khaled Hosny
Egyptian
Arab
More information about the HarfBuzz
mailing list