提交 5a9cba97 编写于 作者: D David Corbett 提交者: Behdad Esfahbod

Mark non-initial left matras as unsafe to break

上级 a6150306
...@@ -1686,11 +1686,15 @@ final_reordering_syllable (const hb_ot_shape_plan_t *plan, ...@@ -1686,11 +1686,15 @@ final_reordering_syllable (const hb_ot_shape_plan_t *plan,
/* Apply 'init' to the Left Matra if it's a word start. */ /* Apply 'init' to the Left Matra if it's a word start. */
if (info[start].indic_position () == POS_PRE_M && if (info[start].indic_position () == POS_PRE_M)
(!start || {
!(FLAG_UNSAFE (_hb_glyph_info_get_general_category (&info[start - 1])) & if (!start ||
FLAG_RANGE (HB_UNICODE_GENERAL_CATEGORY_FORMAT, HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK)))) !(FLAG_UNSAFE (_hb_glyph_info_get_general_category (&info[start - 1])) &
info[start].mask |= indic_plan->mask_array[INIT]; FLAG_RANGE (HB_UNICODE_GENERAL_CATEGORY_FORMAT, HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK)))
info[start].mask |= indic_plan->mask_array[INIT];
else
buffer->unsafe_to_break (start - 1, start + 1);
}
/* /*
......
...@@ -58,6 +58,7 @@ TESTS = \ ...@@ -58,6 +58,7 @@ TESTS = \
tests/hangul-jamo.tests \ tests/hangul-jamo.tests \
tests/hyphens.tests \ tests/hyphens.tests \
tests/indic-consonant-with-stacker.tests \ tests/indic-consonant-with-stacker.tests \
tests/indic-init.tests \
tests/indic-joiner-candrabindu.tests \ tests/indic-joiner-candrabindu.tests \
tests/indic-joiners.tests \ tests/indic-joiners.tests \
tests/indic-old-spec.tests \ tests/indic-old-spec.tests \
......
fonts/sha1sum/1a3d8f381387dd29be1e897e4b5100ac8b4829e1.ttf:--no-glyph-names:U+09AC,U+09C7,U+09AC,U+09C7:[3=0+273|1=0+460|2=2+307|1=2+460]
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册