[HarfBuzz] [BUG] commit b85800f9de8976a7418ef9df467d3080c6ab0199
Harshula
harshula at gmail.com
Thu Sep 6 19:11:26 PDT 2012
On Fri, 2012-08-31 at 16:21 -0700, Behdad Esfahbod wrote:
> commit b85800f9de8976a7418ef9df467d3080c6ab0199
> Author: Behdad Esfahbod <behdad at behdad.org>
> 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,
#
More information about the HarfBuzz
mailing list