Module: wine Branch: master Commit: 24c9a37aaf0689d298d52d4492c5183fc45154cd URL: http://source.winehq.org/git/wine.git/?a=commit;h=24c9a37aaf0689d298d52d4492...
Author: Huw Davies huw@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;