On Fri, 2012-08-31 at 16:21 -0700, Behdad Esfahbod wrote:

> commit b85800f9de8976a7418ef9df467d3080c6ab0199
> Author: Behdad Esfahbod <[email protected]>
> Date:   Fri Aug 31 18:12:01 2012 -0400
> 
>     [Indic] Implement dotted-circle insertion for broken clusters
>     
>     No panic, we reeally insert dotted circle when it's absolutely broken.
>     
>     Fixes most of the dotted-circle cases against Uniscribe. (for Devanagari
>     fixes 80% of them, for Khmer 70%; the rest look like Uniscribe being
>     really bogus...)
>     
>     I had to make a decision.  Apparently Uniscribe adds one dotted circle
>     to each broken character.  I tried that, but that goes wrong easily with
>     split matras.  So I made it add only one dotted circle to an entire
>     broken syllable tail.  As in: "if there was a dotted circle here, this
>     would have formed a correct cluster."  That works better for split
>     stuff, and I like it more.

<snip>

> --- a/src/hb-ot-shape-complex-indic-machine.rl
> +++ b/src/hb-ot-shape-complex-indic-machine.rl
> @@ -75,12 +75,14 @@ halant_or_matra_group = (final_halant_group | 
> matra_group{0,4});
>  consonant_syllable = Repha? (cn.halant_group){0,4} cn A? 
> halant_or_matra_group? syllable_tail;
>  vowel_syllable =     reph? V.n? (ZWJ | (halant_group.cn){0,4} 
> halant_or_matra_group? syllable_tail);
>  standalone_cluster = reph? place_holder.n? (halant_group.cn){0,4} 
> halant_or_matra_group? syllable_tail;
> +broken_cluster =     n? (halant_group.cn){0,4} halant_or_matra_group 
> syllable_tail;
>  other =                      any;

reproducer string: ක්‍රා
reproducer font: FreeSerif.ttf

Working before commit b85800f9de8976a7418ef9df467d3080c6ab0199:

FreeSerif.ttf:
[ka_sinh=0+915|rak1.sinh=0|aa2_sinh=0+336]

lklug.hj.ttf:
[uni0D9A.vatu=0+913|uni0DCF=0+356]

Bug after commit b85800f9de8976a7418ef9df467d3080c6ab0199:

FreeSerif.ttf:
[ka_sinh=0+915|rak1.sinh=0|dottedcircle=0+809|aa2_sinh=0+336]

lklug.hj.ttf:
[uni0D9A.vatu=0+913|uni0DCF=0+356]

Visible bug after commit 2bd9fe359839a653f7caae534bf768af1735f155:

FreeSerif.ttf:
[ka_sinh=0+915|rak1.sinh=0|space=0|aa2_sinh=0+336]

lklug.hj.ttf:
[uni0D9A.vatu=0+913|uni0DCF=0+356]

cya,
#

_______________________________________________
HarfBuzz mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/harfbuzz

Reply via email to