Huw Davies : gdi32: In a Baltic locale the last char of a symbol font is reported as 0xf8fd rather than 0xf0ff .

Alexandre Julliard julliard at winehq.org
Tue Feb 17 08:49:19 CST 2009


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

Author: Huw Davies <huw at codeweavers.com>
Date:   Tue Feb 17 11:49:02 2009 +0000

gdi32: In a Baltic locale the last char of a symbol font is reported as 0xf8fd rather than 0xf0ff.

---

 dlls/gdi32/freetype.c   |    9 ++++++++-
 dlls/gdi32/tests/font.c |    9 ++++++++-
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c
index 56e6c59..409c92f 100644
--- a/dlls/gdi32/freetype.c
+++ b/dlls/gdi32/freetype.c
@@ -5399,7 +5399,14 @@ UINT WineEngGetOutlineTextMetrics(GdiFont *font, UINT cbSize,
     if (font->charset == SYMBOL_CHARSET || (pOS2->usFirstCharIndex >= 0xf000 && pOS2->usFirstCharIndex < 0xf100))
     {
         TM.tmFirstChar = 0;
-        TM.tmLastChar = 0xf0ff;
+        switch(GetACP())
+        {
+        case 1257: /* Baltic */
+            TM.tmLastChar = 0xf8fd;
+            break;
+        default:
+            TM.tmLastChar = 0xf0ff;
+        }
         TM.tmBreakChar = 0x20;
         TM.tmDefaultChar = 0x1f;
     }
diff --git a/dlls/gdi32/tests/font.c b/dlls/gdi32/tests/font.c
index 205c4c3..e244027 100644
--- a/dlls/gdi32/tests/font.c
+++ b/dlls/gdi32/tests/font.c
@@ -2277,7 +2277,14 @@ static void test_text_metrics(const LOGFONTA *lf)
         if (lf->lfCharSet == SYMBOL_CHARSET || (cmap_first >= 0xf000 && cmap_first < 0xf100))
         {
             expect_first_W    = 0;
-            expect_last_W     = 0xf0ff;
+            switch(GetACP())
+            {
+            case 1257:  /* Baltic */
+                expect_last_W = 0xf8fd;
+                break;
+            default:
+                expect_last_W = 0xf0ff;
+            }
             expect_break_W    = 0x20;
             expect_default_W  = expect_break_W - 1;
             expect_first_A    = 0x1e;




More information about the wine-cvs mailing list