提交 74ccc6a1 编写于 作者: B Behdad Esfahbod

[Indic] Move Halant with after-base consonants

Normally, we attach the Halant to the previous character and move it
with it.  For after-base consonants however, the Halant "belongs" to the
consonant after, so attach it so.

This fixes Bengali sequences involving post-base consonant Ya, which
should ligate with the Halant to form Ya Phala, but previously a
reordered matras was blocking the ligation.
上级 d5c4edcd
......@@ -468,6 +468,17 @@ initial_reordering_consonant_syllable (const hb_ot_map_t *map, hb_buffer_t *buff
}
}
}
/* Re-attach ZWJ, ZWNJ, and halant to next char, for after-base consonants. */
{
unsigned int last_halant = end;
for (unsigned int i = base + 1; i < end; i++)
if (info[i].indic_category() == OT_H)
last_halant = i;
else if (is_consonant (info[i])) {
for (unsigned int j = last_halant; j < i; j++)
info[j].indic_position() = info[i].indic_position();
}
}
/* We do bubble-sort, skip malicious clusters attempts */
if (end - start < 64)
......
......@@ -48,3 +48,4 @@
ৱ্ভ
অৗ
ন্ত্র
ত্যু
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册