[Indic] Fix ZWJ/ZWNJ application
Not quite working just yet. False alarm re 10 failures. It was crashing. Ouch! Back to 48 failures.
This commit is contained in:
parent
e7be057024
commit
6b37bc8084
|
@ -578,13 +578,15 @@ found_consonant_syllable (const hb_ot_map_t *map, hb_buffer_t *buffer, hb_mask_t
|
||||||
for (i = start + 1; i < end; i++)
|
for (i = start + 1; i < end; i++)
|
||||||
if (is_joiner (info[i])) {
|
if (is_joiner (info[i])) {
|
||||||
bool non_joiner = info[i].indic_category() == OT_ZWNJ;
|
bool non_joiner = info[i].indic_category() == OT_ZWNJ;
|
||||||
unsigned int j = i - 1;
|
unsigned int j = i;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
info[j].mask &= !mask_array[HALF];
|
|
||||||
if (non_joiner)
|
|
||||||
info[j].mask &= !mask_array[CJCT];
|
|
||||||
j--;
|
j--;
|
||||||
|
|
||||||
|
info[j].mask &= !mask_array[CJCT];
|
||||||
|
if (non_joiner)
|
||||||
|
info[j].mask &= !mask_array[HALF];
|
||||||
|
|
||||||
} while (j > start && !is_consonant (info[j]));
|
} while (j > start && !is_consonant (info[j]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue