Mark non-initial left matras as unsafe to break
This commit is contained in:
parent
a615030683
commit
5a9cba9744
|
@ -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. */
|
||||
if (info[start].indic_position () == POS_PRE_M &&
|
||||
(!start ||
|
||||
!(FLAG_UNSAFE (_hb_glyph_info_get_general_category (&info[start - 1])) &
|
||||
FLAG_RANGE (HB_UNICODE_GENERAL_CATEGORY_FORMAT, HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK))))
|
||||
info[start].mask |= indic_plan->mask_array[INIT];
|
||||
if (info[start].indic_position () == POS_PRE_M)
|
||||
{
|
||||
if (!start ||
|
||||
!(FLAG_UNSAFE (_hb_glyph_info_get_general_category (&info[start - 1])) &
|
||||
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 = \
|
|||
tests/hangul-jamo.tests \
|
||||
tests/hyphens.tests \
|
||||
tests/indic-consonant-with-stacker.tests \
|
||||
tests/indic-init.tests \
|
||||
tests/indic-joiner-candrabindu.tests \
|
||||
tests/indic-joiners.tests \
|
||||
tests/indic-old-spec.tests \
|
||||
|
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
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]
|
Loading…
Reference in New Issue