diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c index 56e6c59dc08..409c92fd262 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 205c4c3710d..e244027493a 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;