Module: wine Branch: oldstable Commit: e743adebb14c988a0b995c00d6a8631aab0d7304 URL: https://gitlab.winehq.org/wine/wine/-/commit/e743adebb14c988a0b995c00d6a8631...
Author: Zhiyi Zhang zzhang@codeweavers.com Date: Fri Aug 12 11:32:54 2022 +0800
gdi32/tests: Add more tests for GetTextMetrics().
Signed-off-by: Zhiyi Zhang zzhang@codeweavers.com (cherry picked from commit 821b36e00bd99924a454bf2e982fe7d4924f08e7) Conflicts: dlls/gdi32/tests/font.c Signed-off-by: Michael Stefaniuc mstefani@winehq.org
---
dlls/gdi32/tests/font.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
diff --git a/dlls/gdi32/tests/font.c b/dlls/gdi32/tests/font.c index 03ac72254cc..18fbf0660d6 100644 --- a/dlls/gdi32/tests/font.c +++ b/dlls/gdi32/tests/font.c @@ -4010,7 +4010,10 @@ static INT CALLBACK enum_truetype_font_proc(const LOGFONTA *lf, const TEXTMETRIC
static void test_GetTextMetrics(void) { + HFONT old_hf, hf; + TEXTMETRICA tm; LOGFONTA lf; + BOOL ret; HDC hdc; INT enumed;
@@ -4021,6 +4024,19 @@ static void test_GetTextMetrics(void) enumed = 0; EnumFontFamiliesExA(hdc, &lf, enum_truetype_font_proc, (LPARAM)&enumed, 0);
+ /* Test a bug triggered by rounding up FreeType ppem */ + hf = CreateFontA(20, 0, 0, 0, FW_REGULAR, FALSE, FALSE, FALSE, DEFAULT_CHARSET, + OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, + "Tahoma"); + ok(hf != NULL, "CreateFontA failed, error %u\n", GetLastError()); + old_hf = SelectObject(hdc, hf); + ret = GetTextMetricsA(hdc, &tm); + ok(ret, "GetTextMetricsA failed, error %u\n", GetLastError()); + todo_wine + ok(tm.tmHeight <= 20, "Got unexpected tmHeight %d\n", tm.tmHeight); + SelectObject(hdc, old_hf); + DeleteObject(hf); + ReleaseDC(0, hdc); }