[Indic] In final reordering, find base, even if it disappeared

POS_BASE can disappear if base ligated backward.  Define base as last
with position not after base.

Fixes a few hundred of Sinhala failures with Iskoola Pota.
This commit is contained in:
Behdad Esfahbod 2012-07-18 17:42:34 -04:00
parent 9c4d24a3a6
commit 10cdc94eee
2 changed files with 3 additions and 5 deletions

View File

@ -705,11 +705,8 @@ final_reordering_syllable (hb_buffer_t *buffer,
/* Find base again */
unsigned int base = end;
for (unsigned int i = start; i < end; i++)
if (info[i].indic_position() == POS_BASE_C) {
base = i;
break;
}
while (start < base && info[base - 1].indic_position() >= POS_BASE_C)
base--;
unsigned int start_of_last_cluster = base;

View File

@ -4,3 +4,4 @@
කේ
කෝ
කෝ
ස්ට්‍රේ