提交 0201e0a4 编写于 作者: B Behdad Esfahbod

[Indic] Apply 'cfar' for Khmer

Mark stuff after a pre-base reordering Ro 'cfar'.  Used in Khmer.
This allows distinguishing the following cases with MS Khmer fonts:

  U+1784,U+17D2,U+179A,U+17D2,U+1782
  U+1784,U+17D2,U+1782,U+17D2,U+179A
上级 55f70ebf
...@@ -154,6 +154,7 @@ indic_basic_features[] = ...@@ -154,6 +154,7 @@ indic_basic_features[] =
{HB_TAG('h','a','l','f'), false}, {HB_TAG('h','a','l','f'), false},
{HB_TAG('a','b','v','f'), false}, {HB_TAG('a','b','v','f'), false},
{HB_TAG('p','s','t','f'), false}, {HB_TAG('p','s','t','f'), false},
{HB_TAG('c','f','a','r'), false},
{HB_TAG('c','j','c','t'), false}, {HB_TAG('c','j','c','t'), false},
{HB_TAG('v','a','t','u'), true}, {HB_TAG('v','a','t','u'), true},
}; };
...@@ -169,6 +170,7 @@ enum { ...@@ -169,6 +170,7 @@ enum {
HALF, HALF,
ABVF, ABVF,
PSTF, PSTF,
CFAR,
CJCT, CJCT,
VATU VATU
}; };
...@@ -547,8 +549,18 @@ initial_reordering_consonant_syllable (const hb_ot_map_t *map, hb_buffer_t *buff ...@@ -547,8 +549,18 @@ initial_reordering_consonant_syllable (const hb_ot_map_t *map, hb_buffer_t *buff
if (is_halant_or_coeng (info[i]) && if (is_halant_or_coeng (info[i]) &&
info[i + 1].indic_category() == OT_Ra) info[i + 1].indic_category() == OT_Ra)
{ {
info[i].mask |= basic_mask_array[PREF]; info[i++].mask |= basic_mask_array[PREF];
info[i + 1].mask |= basic_mask_array[PREF]; info[i++].mask |= basic_mask_array[PREF];
/* Mark the subsequent stuff with 'cfar'. Used in Khmer.
* Read the feature spec.
* This allows distinguishing the following cases with MS Khmer fonts:
* U+1784,U+17D2,U+179A,U+17D2,U+1782
* U+1784,U+17D2,U+1782,U+17D2,U+179A
*/
for (; i < end; i++)
info[i].mask |= basic_mask_array[CFAR];
break; break;
} }
} }
......
...@@ -10,3 +10,5 @@ ...@@ -10,3 +10,5 @@
រ្ឥ រ្ឥ
ងឹ្ឈ ងឹ្ឈ
ង្ឈឹ ង្ឈឹ
ង្គ្រ
ង្រ្គ
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册