Fix ligature component of a mark happening after a ligature within a ligature!
Say, if we are ligating "A B_C m D", then previously 'm' was being attached to 'B' in the combined A_B_C_D ligature. Now we attach it to 'C'. No test for this though :(.
This commit is contained in:
parent
2f02fc79a5
commit
100fbeaf19
|
@ -847,7 +847,7 @@ static inline bool ligate_input (hb_apply_context_t *c,
|
||||||
if (!is_mark_ligature) {
|
if (!is_mark_ligature) {
|
||||||
unsigned int this_comp = _hb_glyph_info_get_lig_comp (&buffer->cur());
|
unsigned int this_comp = _hb_glyph_info_get_lig_comp (&buffer->cur());
|
||||||
if (this_comp == 0)
|
if (this_comp == 0)
|
||||||
this_comp = 1;
|
this_comp = last_num_components;
|
||||||
unsigned int new_lig_comp = components_so_far - last_num_components +
|
unsigned int new_lig_comp = components_so_far - last_num_components +
|
||||||
MIN (this_comp, last_num_components);
|
MIN (this_comp, last_num_components);
|
||||||
_hb_glyph_info_set_lig_props_for_mark (&buffer->cur(), lig_id, new_lig_comp);
|
_hb_glyph_info_set_lig_props_for_mark (&buffer->cur(), lig_id, new_lig_comp);
|
||||||
|
|
Loading…
Reference in New Issue