Readjust mark attachment heuristic a bit more
Previously adjusted logic could fail if nothing around was ligated, and something moved. This should take care of that. CC https://github.com/harfbuzz/harfbuzz/issues/740
This commit is contained in:
parent
246e280d88
commit
1c50a88623
|
@ -1079,7 +1079,10 @@ struct MarkBasePosFormat1
|
||||||
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 ||
|
(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]) !=
|
||||||
_hb_glyph_info_get_lig_id (&buffer->info[skippy_iter.idx - 1])))
|
_hb_glyph_info_get_lig_id (&buffer->info[skippy_iter.idx - 1]) ||
|
||||||
|
_hb_glyph_info_get_lig_comp (&buffer->info[skippy_iter.idx]) !=
|
||||||
|
_hb_glyph_info_get_lig_comp (&buffer->info[skippy_iter.idx - 1]) + 1
|
||||||
|
))
|
||||||
break;
|
break;
|
||||||
skippy_iter.reject ();
|
skippy_iter.reject ();
|
||||||
} while (1);
|
} while (1);
|
||||||
|
|
Loading…
Reference in New Issue