[gpos] Adjust mark attachment heuristic

Hopefully it...
fixes https://github.com/harfbuzz/harfbuzz/issues/740
This commit is contained in:
Behdad Esfahbod 2018-02-10 21:50:26 -06:00
parent 70b06cc6e7
commit 9b5af3ec7f

View File

@ -1072,9 +1072,14 @@ struct MarkBasePosFormat1
skippy_iter.set_lookup_props (LookupFlag::IgnoreMarks);
do {
if (!skippy_iter.prev ()) return_trace (false);
/* We only want to attach to the first of a MultipleSubst sequence. Reject others. */
/* We only want to attach to the first of a MultipleSubst sequence.
* https://github.com/harfbuzz/harfbuzz/issues/740
* Reject others. */
if (!_hb_glyph_info_multiplied (&buffer->info[skippy_iter.idx]) ||
0 == _hb_glyph_info_get_lig_comp (&buffer->info[skippy_iter.idx]))
0 == _hb_glyph_info_get_lig_comp (&buffer->info[skippy_iter.idx]) ||
(skippy_iter.idx == 0 ||
_hb_glyph_info_get_lig_id (&buffer->info[skippy_iter.idx]) !=
_hb_glyph_info_get_lig_id (&buffer->info[skippy_iter.idx - 1])))
break;
skippy_iter.reject ();
} while (1);