gdi32: Fix the font rotation direction.

Dmitry Timoshkov dmitry at codeweavers.com
Mon Mar 2 03:23:31 CST 2009


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);
-- 
1.6.1.3




More information about the wine-patches mailing list