Added Multibyte character set support in GetGlyphOutlineA.
authorTANABE Hiroshi <hirokun_dayomon@infoseek.to>
Tue, 22 Feb 2005 19:37:18 +0000 (19:37 +0000)
committerAlexandre Julliard <julliard@winehq.org>
Tue, 22 Feb 2005 19:37:18 +0000 (19:37 +0000)
dlls/gdi/font.c

index eaa654235c75e86380f4f3309e17cd97cbce2a98..a112f5ebac773ad0618aee209dc4317f968e8c55 100644 (file)
@@ -1935,7 +1935,17 @@ DWORD WINAPI GetGlyphOutlineA( HDC hdc, UINT uChar, UINT fuFormat,
     UINT c;
 
     if(!(fuFormat & GGO_GLYPH_INDEX)) {
-        p = FONT_mbtowc(hdc, (char*)&uChar, 1, NULL, NULL);
+        int len;
+        char mbchs[2];
+        if(uChar > 0xff) { /* but, 2 bytes character only */
+            len = 2;
+            mbchs[0] = (uChar & 0xff00) >> 8;
+            mbchs[1] = (uChar & 0xff);
+        } else {
+            len = 1;
+            mbchs[0] = (uChar & 0xff);
+        }
+        p = FONT_mbtowc(hdc, mbchs, len, NULL, NULL);
        c = p[0];
     } else
         c = uChar;