提交 9ac6b01e 编写于 作者: B Behdad Esfahbod

[indic] Adjust Sinhala cluster merging under uniscribe

Similar to 190c8f2b but for
Sinhala.
上级 3c3df9cb
...@@ -463,7 +463,7 @@ override_features_indic (hb_ot_shape_planner_t *plan) ...@@ -463,7 +463,7 @@ override_features_indic (hb_ot_shape_planner_t *plan)
switch ((hb_tag_t) plan->props.script) switch ((hb_tag_t) plan->props.script)
{ {
case HB_SCRIPT_KHMER: case HB_SCRIPT_KHMER:
plan->map.add_feature (HB_TAG('k','e','r','n'), 0, F_GLOBAL); plan->map.add_feature (HB_TAG('k','e','r','n'), 0, F_GLOBAL);
break; break;
} }
} }
...@@ -1584,13 +1584,22 @@ final_reordering_syllable (const hb_ot_shape_plan_t *plan, ...@@ -1584,13 +1584,22 @@ final_reordering_syllable (const hb_ot_shape_plan_t *plan,
/* /*
* Finish off the clusters and go home! * Finish off the clusters and go home!
*/ */
if (hb_options ().uniscribe_bug_compatible && buffer->props.script != HB_SCRIPT_TAMIL) if (hb_options ().uniscribe_bug_compatible)
{ {
/* Uniscribe merges the entire cluster... Except for Tamil. switch ((hb_tag_t) plan->props.script)
* This means, half forms are submerged into the main consonants cluster. {
* This is unnecessary, and makes cursor positioning harder, but that's what case HB_SCRIPT_TAMIL:
* Uniscribe does. */ case HB_SCRIPT_SINHALA:
buffer->merge_clusters (start, end); break;
default:
/* Uniscribe merges the entire cluster... Except for Tamil & Sinhala.
* This means, half forms are submerged into the main consonants cluster.
* This is unnecessary, and makes cursor positioning harder, but that's what
* Uniscribe does. */
buffer->merge_clusters (start, end);
break;
}
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册