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