Module: wine Branch: master Commit: ff5d68ccb2e9386f95ec6f8ff04010f1ebeafac4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=ff5d68ccb2e9386f95ec6f8ff0...
Author: Alexandre Julliard julliard@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);