[WIN32SS][NTGDI] text/font vertical alignment patch CORE-16133
authorKatayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
Fri, 26 Jul 2019 10:13:00 +0000 (19:13 +0900)
committerKatayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
Fri, 26 Jul 2019 10:13:00 +0000 (19:13 +0900)
Based on Doug Lyons' patch. It partially fix CORE-16246 and CORE-16133.
Selection area is not fixed yet.

win32ss/gdi/ntgdi/freetype.c

index 4e4d4f6..162df2a 100644 (file)
@@ -5916,9 +5916,9 @@ IntExtTextOutW(
      * Process the vertical alignment and determine the yoff.
      */
 #define VALIGN_MASK  (TA_TOP | TA_BASELINE | TA_BOTTOM)
-    if ((pdcattr->lTextAlign & VALIGN_MASK) == TA_BASELINE)
+    if ((pdcattr->flTextAlign & VALIGN_MASK) == TA_BASELINE)
         yoff = 0;
-    else if ((pdcattr->lTextAlign & VALIGN_MASK) == TA_BOTTOM)
+    else if ((pdcattr->flTextAlign & VALIGN_MASK) == TA_BOTTOM)
         yoff = -(fixDescender >> 6);
     else /* TA_TOP */
         yoff = fixAscender >> 6;