Dmitry Timoshkov : gdi32: Use GdiGetCodePage() instead of duplicating its functionality.

Alexandre Julliard julliard at winehq.org
Mon Apr 6 09:00:34 CDT 2009


Module: wine
Branch: master
Commit: 95156d1b5f30ed144c28330e3f4195eebf03098c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=95156d1b5f30ed144c28330e3f4195eebf03098c

Author: Dmitry Timoshkov <dmitry at codeweavers.com>
Date:   Mon Apr  6 17:16:48 2009 +0900

gdi32: Use GdiGetCodePage() instead of duplicating its functionality.

---

 dlls/gdi32/font.c |   20 +++++++-------------
 1 files changed, 7 insertions(+), 13 deletions(-)

diff --git a/dlls/gdi32/font.c b/dlls/gdi32/font.c
index 14de327..c81a9c8 100644
--- a/dlls/gdi32/font.c
+++ b/dlls/gdi32/font.c
@@ -2483,8 +2483,7 @@ BOOL WINAPI CreateScalableFontResourceW( DWORD fHidden,
 DWORD WINAPI GetKerningPairsA( HDC hDC, DWORD cPairs,
                                LPKERNINGPAIR kern_pairA )
 {
-    INT charset;
-    CHARSETINFO csi;
+    UINT cp;
     CPINFO cpi;
     DWORD i, total_kern_pairs, kern_pairs_copied = 0;
     KERNINGPAIR *kern_pairW;
@@ -2495,22 +2494,17 @@ DWORD WINAPI GetKerningPairsA( HDC hDC, DWORD cPairs,
         return 0;
     }
 
-    charset = GetTextCharset(hDC);
-    if (!TranslateCharsetInfo(ULongToPtr(charset), &csi, TCI_SRCCHARSET))
-    {
-        FIXME("Can't find codepage for charset %d\n", charset);
-        return 0;
-    }
+    cp = GdiGetCodePage(hDC);
+
     /* GetCPInfo() will fail on CP_SYMBOL, and WideCharToMultiByte is supposed
      * to fail on an invalid character for CP_SYMBOL.
      */
     cpi.DefaultChar[0] = 0;
-    if (csi.ciACP != CP_SYMBOL && !GetCPInfo(csi.ciACP, &cpi))
+    if (cp != CP_SYMBOL && !GetCPInfo(cp, &cpi))
     {
-        FIXME("Can't find codepage %u info\n", csi.ciACP);
+        FIXME("Can't find codepage %u info\n", cp);
         return 0;
     }
-    TRACE("charset %d => codepage %u\n", charset, csi.ciACP);
 
     total_kern_pairs = GetKerningPairsW(hDC, 0, NULL);
     if (!total_kern_pairs) return 0;
@@ -2522,10 +2516,10 @@ DWORD WINAPI GetKerningPairsA( HDC hDC, DWORD cPairs,
     {
         char first, second;
 
-        if (!WideCharToMultiByte(csi.ciACP, 0, &kern_pairW[i].wFirst, 1, &first, 1, NULL, NULL))
+        if (!WideCharToMultiByte(cp, 0, &kern_pairW[i].wFirst, 1, &first, 1, NULL, NULL))
             continue;
 
-        if (!WideCharToMultiByte(csi.ciACP, 0, &kern_pairW[i].wSecond, 1, &second, 1, NULL, NULL))
+        if (!WideCharToMultiByte(cp, 0, &kern_pairW[i].wSecond, 1, &second, 1, NULL, NULL))
             continue;
 
         if (first == cpi.DefaultChar[0] || second == cpi.DefaultChar[0])




More information about the wine-cvs mailing list