From 21cdaeea4bfa05859bb89dd27e3477e0cb07bb92 Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Thu, 21 Aug 2008 15:02:15 +0900 Subject: [PATCH] gdi32: Replace DC transform by font scaling for bitmap fonts. --- dlls/gdi32/freetype.c | 6 ++++++ dlls/gdi32/tests/font.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c index d5697351dea..8bd75cbefb6 100644 --- a/dlls/gdi32/freetype.c +++ b/dlls/gdi32/freetype.c @@ -3555,6 +3555,12 @@ found: /* Windows uses integer scaling factors for bitmap fonts */ INT scale, scaled_height; + /* FIXME: rotation of bitmap fonts is ignored */ + height = abs(GDI_ROUND( (double)height * ret->font_desc.matrix.eM22 )); + if (ret->aveWidth) + ret->aveWidth = (double)ret->aveWidth * ret->font_desc.matrix.eM11; + ret->font_desc.matrix.eM11 = ret->font_desc.matrix.eM22 = 1.0; + if (height != 0) height = diff; height += face->size.height; diff --git a/dlls/gdi32/tests/font.c b/dlls/gdi32/tests/font.c index 7065cd5af39..7d2c036b361 100644 --- a/dlls/gdi32/tests/font.c +++ b/dlls/gdi32/tests/font.c @@ -30,7 +30,7 @@ #include "wine/test.h" -#define near_match(a, b) (abs((a) - (b)) <= 4) +#define near_match(a, b) (abs((a) - (b)) <= 6) #define expect(expected, got) ok(got == expected, "Expected %.8x, got %.8x\n", expected, got) LONG (WINAPI *pGdiGetCharDimensions)(HDC hdc, LPTEXTMETRICW lptm, LONG *height); -- 2.11.4.GIT