From 17d7de91d76406d3e92db37d9eef2fc615f06e68 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Mon, 16 Jul 2012 15:20:15 -0400 Subject: [PATCH] [Indic] Apply 'pref' to pre-base reodering Ra No reordering yet. --- 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 682f5cdb2..7725edaad 100644 --- a/src/hb-ot-shape-complex-indic.cc +++ b/src/hb-ot-shape-complex-indic.cc @@ -495,6 +495,16 @@ initial_reordering_consonant_syllable (const hb_ot_map_t *map, hb_buffer_t *buff info[i].mask |= mask; } + /* XXX This will not match for old-Indic spec since the Halant-Ra order is reversed already. */ + if (basic_mask_array[PREF] && + base + 3 <= end && + info[base + 1].indic_category() == OT_H && + info[base + 2].indic_category() == OT_Ra) + { + info[base + 1].mask |= basic_mask_array[PREF]; + info[base + 2].mask |= basic_mask_array[PREF]; + } + /* Apply ZWJ/ZWNJ effects */ for (unsigned int i = start + 1; i < end; i++) if (is_joiner (info[i])) {