diff --git "a/win32ss/gdi/gdi32/objects/text.c" "b/win32ss/gdi/gdi32/objects/text.c" index 4ba8c9a5d4d..448d7adc653 100644 --- "a/win32ss/gdi/gdi32/objects/text.c" +++ "b/win32ss/gdi/gdi32/objects/text.c" @@ -475,6 +475,24 @@ ExtTextOutA( if (StringU.Length != StringA.Length * sizeof(WCHAR)) DPRINT1("ERROR: Should convert lpDx properly!\n"); + /* HACK: Improves small fonts with rotation such as Word 2000 + * and Word Viewer 2003 in Rapps. See CORE-12378 */ + if (cch == 1) + { + LOGFONTA lfa = { 0 }; + HFONT hFont; + + hFont = GetCurrentObject(hdc, OBJ_FONT); + if (hFont) + GetObjectA(hFont, sizeof(lfa), &lfa); + + if (stricmp(lfa.lfFaceName, "Tahoma") == 0 && + lfa.lfWeight == 400 && lfa.lfHeight == -9) + { + SelectObject(hdc, GetStockObject(ANSI_FIXED_FONT)); + } + } + ret = ExtTextOutW(hdc, x, y, fuOptions, lprc, StringU.Buffer, cch, lpDx); RtlFreeUnicodeString(&StringU);