提交 20b68e69 编写于 作者: B Behdad Esfahbod

[Indic] Apply 'cjct' globally

Fixes 5 Devanagari failures, and no regressions.
上级 51e764de
......@@ -322,7 +322,7 @@ indic_basic_features[] =
{HB_TAG('a','b','v','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'), true},
{HB_TAG('v','a','t','u'), true},
};
......@@ -338,7 +338,7 @@ enum {
ABVF,
PSTF,
CFAR,
CJCT,
_CJCT,
VATU
};
......@@ -691,15 +691,15 @@ initial_reordering_consonant_syllable (const hb_ot_map_t *map, hb_buffer_t *buff
info[i].mask |= basic_mask_array[RPHF];
/* Pre-base */
mask = basic_mask_array[HALF] | basic_mask_array[CJCT];
mask = basic_mask_array[HALF];
for (unsigned int i = start; i < base; i++)
info[i].mask |= mask;
/* Base */
mask = basic_mask_array[CJCT];
mask = 0;
if (base < end)
info[base].mask |= mask;
/* Post-base */
mask = basic_mask_array[BLWF] | basic_mask_array[ABVF] | basic_mask_array[PSTF] | basic_mask_array[CJCT];
mask = basic_mask_array[BLWF] | basic_mask_array[ABVF] | basic_mask_array[PSTF];
for (unsigned int i = base + 1; i < end; i++)
info[i].mask |= mask;
}
......@@ -737,7 +737,10 @@ initial_reordering_consonant_syllable (const hb_ot_map_t *map, hb_buffer_t *buff
do {
j--;
info[j].mask &= ~basic_mask_array[CJCT];
/* A ZWJ disables CJCT, however, it's mere presence is enough
* to disable ligation. No explicit action needed. */
/* A ZWNJ disables HALF. */
if (non_joiner)
info[j].mask &= ~basic_mask_array[HALF];
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册