Dmitry Timoshkov : gdi32: Fix the font rotation direction.

Alexandre Julliard julliard at winehq.org
Mon Mar 2 09:01:51 CST 2009


Module: wine
Branch: master
Commit: d15619b215c2eb6828acb21732a56396e08b5233
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=d15619b215c2eb6828acb21732a56396e08b5233

Author: Dmitry Timoshkov <dmitry at codeweavers.com>
Date:   Mon Mar  2 17:23:31 2009 +0800

gdi32: Fix the font rotation direction.

Apparently at some point either freetype got fixed, or other gdi32
changes made the matrix members usage match freetype. This patch makes
my test application match the Windows behaviour in font rotation direction.

---

 dlls/gdi32/freetype.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c
index 54bb999..99626d0 100644
--- a/dlls/gdi32/freetype.c
+++ b/dlls/gdi32/freetype.c
@@ -4492,8 +4492,8 @@ DWORD WineEngGetGlyphOutline(GdiFont *incoming_font, UINT glyph, UINT format,
     {
         FT_Matrix worldMat;
         worldMat.xx = FT_FixedFromFloat(font->font_desc.matrix.eM11);
-        worldMat.xy = FT_FixedFromFloat(font->font_desc.matrix.eM21);
-        worldMat.yx = FT_FixedFromFloat(font->font_desc.matrix.eM12);
+        worldMat.xy = FT_FixedFromFloat(font->font_desc.matrix.eM12);
+        worldMat.yx = FT_FixedFromFloat(font->font_desc.matrix.eM21);
         worldMat.yy = FT_FixedFromFloat(font->font_desc.matrix.eM22);
         pFT_Matrix_Multiply(&worldMat, &transMat);
         pFT_Matrix_Multiply(&worldMat, &transMatUnrotated);
@@ -4505,8 +4505,8 @@ DWORD WineEngGetGlyphOutline(GdiFont *incoming_font, UINT glyph, UINT format,
     {
         FT_Matrix extraMat;
         extraMat.xx = FT_FixedFromFIXED(lpmat->eM11);
-        extraMat.xy = FT_FixedFromFIXED(lpmat->eM21);
-        extraMat.yx = FT_FixedFromFIXED(lpmat->eM12);
+        extraMat.xy = FT_FixedFromFIXED(lpmat->eM12);
+        extraMat.yx = FT_FixedFromFIXED(lpmat->eM21);
         extraMat.yy = FT_FixedFromFIXED(lpmat->eM22);
         pFT_Matrix_Multiply(&extraMat, &transMat);
         pFT_Matrix_Multiply(&extraMat, &transMatUnrotated);




More information about the wine-cvs mailing list