Alexandre Julliard : gdi32: Fix handling of rotation matrices in GetGlyphOutline.
Alexandre Julliard
julliard at winehq.org
Fri Dec 14 14:10:00 CST 2012
Module: wine
Branch: master
Commit: ff5d68ccb2e9386f95ec6f8ff04010f1ebeafac4
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ff5d68ccb2e9386f95ec6f8ff04010f1ebeafac4
Author: Alexandre Julliard <julliard at winehq.org>
Date: Fri Dec 14 13:12:19 2012 +0100
gdi32: Fix handling of rotation matrices in GetGlyphOutline.
---
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 6f3f070..6c39b97 100644
--- a/dlls/gdi32/freetype.c
+++ b/dlls/gdi32/freetype.c
@@ -5836,8 +5836,8 @@ static DWORD get_glyph_outline(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.eM12);
- worldMat.yx = FT_FixedFromFloat(font->font_desc.matrix.eM21);
+ worldMat.xy = -FT_FixedFromFloat(font->font_desc.matrix.eM21);
+ worldMat.yx = -FT_FixedFromFloat(font->font_desc.matrix.eM12);
worldMat.yy = FT_FixedFromFloat(font->font_desc.matrix.eM22);
pFT_Matrix_Multiply(&worldMat, &transMat);
pFT_Matrix_Multiply(&worldMat, &transMatUnrotated);
@@ -5849,8 +5849,8 @@ static DWORD get_glyph_outline(GdiFont *incoming_font, UINT glyph, UINT format,
{
FT_Matrix extraMat;
extraMat.xx = FT_FixedFromFIXED(lpmat->eM11);
- extraMat.xy = FT_FixedFromFIXED(lpmat->eM12);
- extraMat.yx = FT_FixedFromFIXED(lpmat->eM21);
+ extraMat.xy = FT_FixedFromFIXED(lpmat->eM21);
+ extraMat.yx = FT_FixedFromFIXED(lpmat->eM12);
extraMat.yy = FT_FixedFromFIXED(lpmat->eM22);
pFT_Matrix_Multiply(&extraMat, &transMat);
pFT_Matrix_Multiply(&extraMat, &transMatUnrotated);
More information about the wine-cvs
mailing list