From 391cc0331749e263bdfe83a8f5f6d76f2360ee7a Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Wed, 18 Jul 2012 15:10:05 -0400 Subject: [PATCH] [Indic] Allow halant group in Vowel and placeholder syllables Fixes 2 out of 560 Devanagari failures. AND: Fixes 1 out of 2 Tamil failures. --- src/hb-ot-shape-complex-indic-machine.rl | 7 ++++--- .../shaper-indic/indic/script-devanagari/misc/misc.txt | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/hb-ot-shape-complex-indic-machine.rl b/src/hb-ot-shape-complex-indic-machine.rl index 48bf60915..9ad3ec254 100644 --- a/src/hb-ot-shape-complex-indic-machine.rl +++ b/src/hb-ot-shape-complex-indic-machine.rl @@ -67,11 +67,12 @@ matra_group = M.N?.H?; syllable_tail = SM? (Coeng (cn|V))? (VD VD?)?; place_holder = NBSP | DOTTEDCIRCLE; halant_group = (h.z?|z.h); +halant_or_matra_group = (halant_group | matra_group*); -consonant_syllable = Repha? (cn.halant_group)* cn A? (halant_group | matra_group*)? syllable_tail; -vowel_syllable = reph? V.n? (halant_group.cn | ZWJ.cn)* matra_group* syllable_tail; -standalone_cluster = reph? place_holder.n? (halant_group.cn)* matra_group* syllable_tail; +consonant_syllable = Repha? (cn.halant_group)* cn A? halant_or_matra_group? syllable_tail; +vowel_syllable = reph? V.n? (halant_group.cn | ZWJ.cn)* halant_or_matra_group? syllable_tail; +standalone_cluster = reph? place_holder.n? (halant_group.cn)* halant_or_matra_group? syllable_tail; other = any; main := |* diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt index 3c2bab76b..23afbe0c8 100644 --- a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt +++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt @@ -28,3 +28,4 @@ र्अ् र्अ्‌ र्अ्‍ +र्आ्र्