From fd06bf56110e73826b3d5c73ac964e2609450d46 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Sat, 30 Jul 2011 20:14:44 -0400 Subject: [PATCH] [Indic] Handle initial Ra+Halant in scripts that support Reph Brings test-shape-complex failures down from 104 to 92. Way to go! --- src/hb-ot-shape-complex-indic.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/hb-ot-shape-complex-indic.cc b/src/hb-ot-shape-complex-indic.cc index f054a07..d51b508 100644 --- a/src/hb-ot-shape-complex-indic.cc +++ b/src/hb-ot-shape-complex-indic.cc @@ -496,6 +496,16 @@ found_consonant_syllable (const hb_ot_map_t *map, hb_buffer_t *buffer, hb_mask_t info[i].indic_position() = POS_PRE; info[base].indic_position() = POS_BASE; + + /* Handle beginning Ra */ + if (start + 2 <= end && + info[start].indic_category() == OT_Ra && + info[start + 1].indic_category() == OT_H) + { + info[start].indic_position() = POS_POST; + info[start].mask = mask_array[RPHF]; + } + /* Attach ZWJ, ZWNJ, nukta, and halant to previous char to move with them. */ for (i = start + 1; i < end; i++) if ((FLAG (info[i].indic_category()) & -- 2.7.4