[PATCH 4/4] dwrite: Fix vector transformation in GetGlyphOrientationTransform()

Nikolay Sivov nsivov at codeweavers.com
Thu Jul 16 05:12:29 CDT 2015


---

-------------- next part --------------
From 23ea1c29805ef060f1e290f55359467c94f066c3 Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <nsivov at codeweavers.com>
Date: Thu, 16 Jul 2015 13:05:08 +0300
Subject: [PATCH 4/4] dwrite: Fix vector transformation in
 GetGlyphOrientationTransform()

---
 dlls/dwrite/analyzer.c | 18 ++----------------
 1 file changed, 2 insertions(+), 16 deletions(-)

diff --git a/dlls/dwrite/analyzer.c b/dlls/dwrite/analyzer.c
index 62893e6..eedb41d 100644
--- a/dlls/dwrite/analyzer.c
+++ b/dlls/dwrite/analyzer.c
@@ -1507,22 +1507,8 @@ static HRESULT WINAPI dwritetextanalyzer2_GetGlyphOrientationTransform(IDWriteTe
     /* shift components represent transform necessary to get from original point to
        rotated one in new coordinate system */
     if ((originX != 0.0 || originY != 0.0) && angle != DWRITE_GLYPH_ORIENTATION_ANGLE_0_DEGREES) {
-        const DWRITE_MATRIX *p;
-
-        switch (angle) {
-        case DWRITE_GLYPH_ORIENTATION_ANGLE_90_DEGREES:
-            angle = DWRITE_GLYPH_ORIENTATION_ANGLE_270_DEGREES;
-            break;
-        case DWRITE_GLYPH_ORIENTATION_ANGLE_270_DEGREES:
-            angle = DWRITE_GLYPH_ORIENTATION_ANGLE_90_DEGREES;
-            break;
-        default:
-            ;
-        }
-
-        p = &transforms[angle];
-        m->dx = originX - (p->m11 * originX + p->m12 * originY);
-        m->dy = originY - (p->m21 * originX + p->m22 * originY);
+        m->dx = originX - (m->m11 * originX + m->m21 * originY);
+        m->dy = originY - (m->m12 * originX + m->m22 * originY);
     }
 
     return S_OK;
-- 
2.1.4



More information about the wine-patches mailing list