Dmitry Timoshkov : gdi32: Replace DC transform by font scaling for bitmap fonts.
Alexandre Julliard
julliard at winehq.org
Thu Aug 21 10:02:23 CDT 2008
Module: wine
Branch: master
Commit: 21cdaeea4bfa05859bb89dd27e3477e0cb07bb92
URL: http://source.winehq.org/git/wine.git/?a=commit;h=21cdaeea4bfa05859bb89dd27e3477e0cb07bb92
Author: Dmitry Timoshkov <dmitry at codeweavers.com>
Date: Thu Aug 21 15:02:15 2008 +0900
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 deletions(-)
diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c
index d569735..8bd75cb 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 7065cd5..7d2c036 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);
More information about the wine-cvs
mailing list