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

Disable 'cswh' by default except for Arabic shaper

That better matches OpenType spec.  Note that we enable it for all
Arabic-shaper scripts.  Ie. we enable it by default for Syriac too,
but the SyriacOT spec does not require it.  I think this is a more
useful compromise than special-casing for Arabic script alone.
上级 cab6f65b
...@@ -154,6 +154,9 @@ static const struct arabic_state_table_entry { ...@@ -154,6 +154,9 @@ static const struct arabic_state_table_entry {
void void
_hb_ot_shape_complex_collect_features_arabic (hb_ot_shape_plan_t *plan, const hb_segment_properties_t *props) _hb_ot_shape_complex_collect_features_arabic (hb_ot_shape_plan_t *plan, const hb_segment_properties_t *props)
{ {
/* ArabicOT spec enables 'cswh' for Arabic where as for basic shaper it's disabled by default. */
plan->map.add_bool_feature (HB_TAG('c','s','w','h'));
unsigned int num_features = props->script == HB_SCRIPT_SYRIAC ? SYRIAC_NUM_FEATURES : COMMON_NUM_FEATURES; unsigned int num_features = props->script == HB_SCRIPT_SYRIAC ? SYRIAC_NUM_FEATURES : COMMON_NUM_FEATURES;
for (unsigned int i = 0; i < num_features; i++) for (unsigned int i = 0; i < num_features; i++)
plan->map.add_bool_feature (arabic_syriac_features[i], false); plan->map.add_bool_feature (arabic_syriac_features[i], false);
......
...@@ -37,7 +37,6 @@ hb_tag_t default_features[] = { ...@@ -37,7 +37,6 @@ hb_tag_t default_features[] = {
HB_TAG('c','a','l','t'), HB_TAG('c','a','l','t'),
HB_TAG('c','c','m','p'), HB_TAG('c','c','m','p'),
HB_TAG('c','l','i','g'), HB_TAG('c','l','i','g'),
HB_TAG('c','s','w','h'),
HB_TAG('c','u','r','s'), HB_TAG('c','u','r','s'),
HB_TAG('k','e','r','n'), HB_TAG('k','e','r','n'),
HB_TAG('l','i','g','a'), HB_TAG('l','i','g','a'),
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册