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