提交 d90b8e84 编写于 作者: B Behdad Esfahbod

[Indic] Reposition Khmer prebase-reordering Ra around split matras

In Khmer coeng model, a V,Ra can go *after* matras.  If it goes after a
split matra, it should be reordered to *before* the left part of such matra.

Khmer failures down from 136 to 39 (0.0130381%).
上级 0afb84c1
......@@ -1135,6 +1135,19 @@ final_reordering_syllable (hb_buffer_t *buffer,
!(is_one_of (info[new_pos - 1], FLAG(OT_M) | HALANT_OR_COENG_FLAGS)))
new_pos--;
/* In Khmer coeng model, a V,Ra can go *after* matras. If it goes after a
* split matra, it should be reordered to *before* the left part of such matra. */
if (new_pos > start && info[new_pos - 1].indic_category() == OT_M)
{
unsigned int old_pos = i;
for (unsigned int i = base + 1; i < old_pos; i++)
if (info[i].indic_category() == OT_M)
{
new_pos--;
break;
}
}
if (new_pos > start && is_halant_or_coeng (info[new_pos - 1]))
/* -> If ZWJ or ZWNJ follow this halant, position is moved after it. */
if (new_pos < end && is_joiner (info[new_pos]))
......
......@@ -16,3 +16,7 @@
ម‌៉្លេះ
ប៊័
នែ៎
កេ្រ
កៀ្រ
កោ្រ
កៅ្រ
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册