From b7ca0bc0434eacb6932deb14012759690c64714e Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Thu, 23 Jan 2020 14:35:39 +0800 Subject: [PATCH] gdiplus: If the font unit is not pixels scaling should not be applied. Signed-off-by: Dmitry Timoshkov Signed-off-by: Vincent Povirk Signed-off-by: Alexandre Julliard --- dlls/gdiplus/graphics.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c index e485e5c99f9..c52fa654454 100644 --- a/dlls/gdiplus/graphics.c +++ b/dlls/gdiplus/graphics.c @@ -2276,6 +2276,12 @@ static void get_font_hfont(GpGraphics *graphics, GDIPCONST GpFont *font, (pt[1].X-pt[0].X)*(pt[1].X-pt[0].X)); rel_height = sqrt((pt[2].Y-pt[0].Y)*(pt[2].Y-pt[0].Y)+ (pt[2].X-pt[0].X)*(pt[2].X-pt[0].X)); + /* If the font unit is not pixels scaling should not be applied */ + if (font->unit != UnitPixel && font->unit != UnitWorld) + { + rel_width /= graphics->scale; + rel_height /= graphics->scale; + } get_log_fontW(font, graphics, &lfw); lfw.lfHeight = -gdip_round(font_height * rel_height);