Alexander Kochetkov : wineps.drv: Disable world transform for fonts in GM_COMPATIBLE mode.

Alexandre Julliard julliard at winehq.org
Thu Apr 7 07:36:47 CDT 2011


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

Author: Alexander Kochetkov <al.kochet at gmail.com>
Date:   Fri Jan 14 03:18:19 2011 +0300

wineps.drv: Disable world transform for fonts in GM_COMPATIBLE mode.
(cherry picked from commit 69f88da1879cc850113e5f55d0cb85fd13ea2701)

---

 dlls/wineps.drv/download.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/dlls/wineps.drv/download.c b/dlls/wineps.drv/download.c
index 9ad8a2c..52de752 100644
--- a/dlls/wineps.drv/download.c
+++ b/dlls/wineps.drv/download.c
@@ -20,6 +20,7 @@
 #include <string.h>
 #include <stdlib.h>
 #include <assert.h>
+#include <math.h>
 #include <stdarg.h>
 #include <stdio.h>
 
@@ -271,6 +272,12 @@ BOOL PSDRV_WriteSetDownloadFont(PSDRV_PDEVICE *physDev)
     /* Retrieve the world -> device transform */
     GetTransform(physDev->hdc, 0x204, &xform);
 
+    if(GetGraphicsMode(physDev->hdc) == GM_COMPATIBLE)
+    {
+        xform.eM11 = xform.eM22 = fabs(xform.eM22);
+        xform.eM21 = xform.eM12 = 0;
+    }
+
     physDev->font.size.xx = ps_round(ppem * xform.eM11);
     physDev->font.size.xy = ps_round(ppem * xform.eM12);
     physDev->font.size.yx = ps_round(ppem * xform.eM21);




More information about the wine-cvs mailing list