From: Behdad Esfahbod Date: Fri, 20 Jul 2012 15:25:41 +0000 (-0400) Subject: [Indic] Implement reph positioning step 5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d0e68dbd0b9fc9a42c4280d01c8ffd9c5015d550;p=platform%2Fupstream%2FlibHarfBuzzSharp.git [Indic] Implement reph positioning step 5 Not tuned, just copied from step 2. Fixes another 0.5% of Kannada failures. 1% to go. --- diff --git a/src/hb-ot-shape-complex-indic.cc b/src/hb-ot-shape-complex-indic.cc index ffae430..ae3af2c 100644 --- a/src/hb-ot-shape-complex-indic.cc +++ b/src/hb-ot-shape-complex-indic.cc @@ -999,7 +999,17 @@ final_reordering_syllable (hb_buffer_t *buffer, */ reph_step_5: { - /* XXX */ + /* Copied from step 2. */ + new_reph_pos = start + 1; + while (new_reph_pos < base && !is_halant_or_coeng (info[new_reph_pos])) + new_reph_pos++; + + if (new_reph_pos < base && is_halant_or_coeng (info[new_reph_pos])) { + /* ->If ZWJ or ZWNJ are following this halant, position is moved after it. */ + if (new_reph_pos + 1 < base && is_joiner (info[new_reph_pos + 1])) + new_reph_pos++; + goto reph_move; + } } /* 6. Otherwise, reorder reph to the end of the syllable.