[gpos] Break cycle-of-2 when cursive attaching
Fixes https://github.com/harfbuzz/harfbuzz/issues/2469
This commit is contained in:
parent
09dedb1b38
commit
7090707de6
|
@ -1692,6 +1692,12 @@ struct CursivePosFormat1
|
||||||
else
|
else
|
||||||
pos[child].x_offset = x_offset;
|
pos[child].x_offset = x_offset;
|
||||||
|
|
||||||
|
/* If parent was attached to child, break them free.
|
||||||
|
* https://github.com/harfbuzz/harfbuzz/issues/2469
|
||||||
|
*/
|
||||||
|
if (unlikely (pos[parent].attach_chain() = -pos[child].attach_chain()))
|
||||||
|
pos[parent].attach_chain() = 0;
|
||||||
|
|
||||||
buffer->idx++;
|
buffer->idx++;
|
||||||
return_trace (true);
|
return_trace (true);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue