dwrite/opentype: Do not include base advance to the mark advance offset.

This is handled later using attachment chains, after all positional features are applied.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Nikolay Sivov 2022-05-02 09:22:18 +03:00 committed by Alexandre Julliard
parent d2d91fba55
commit 979868aed5
1 changed files with 1 additions and 1 deletions

View File

@ -4320,7 +4320,7 @@ static BOOL opentype_layout_apply_mark_array(struct scriptshaping_context *conte
if (context->is_rtl)
context->offsets[context->cur].advanceOffset = mark_x - base_x;
else
context->offsets[context->cur].advanceOffset = -context->advances[glyph_pos] + base_x - mark_x;
context->offsets[context->cur].advanceOffset = base_x - mark_x;
context->offsets[context->cur].ascenderOffset = base_y - mark_y;
opentype_set_glyph_attach_type(context, context->cur, GLYPH_ATTACH_MARK);
context->glyph_infos[context->cur].attach_chain = (int)glyph_pos - (int)context->cur;