Module: wine Branch: master Commit: 979868aed5084a8cb96f015dba46b217ead58965 URL: https://source.winehq.org/git/wine.git/?a=commit;h=979868aed5084a8cb96f015db...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Mon May 2 09:22:18 2022 +0300
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
---
dlls/dwrite/opentype.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/dwrite/opentype.c b/dlls/dwrite/opentype.c index f07b010baae..50e83769715 100644 --- a/dlls/dwrite/opentype.c +++ b/dlls/dwrite/opentype.c @@ -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;