From: Alexandre Julliard Date: Wed, 25 Nov 2015 11:30:00 +0000 (+0900) Subject: gdiplus/tests: Check the correct fallback font when Arial is missing. X-Git-Url: http://git.etersoft.ru/projects/?a=commitdiff_plain;h=9fb9cb2bb7113f664a3db12472f217b9a967e433;p=wine%2Feterwine.git gdiplus/tests: Check the correct fallback font when Arial is missing. Signed-off-by: Alexandre Julliard --- diff --git a/dlls/gdiplus/tests/font.c b/dlls/gdiplus/tests/font.c index 932b5eda4b..39b539b0ba 100644 --- a/dlls/gdiplus/tests/font.c +++ b/dlls/gdiplus/tests/font.c @@ -726,6 +726,7 @@ static void test_font_metrics(void) static void test_font_substitution(void) { WCHAR ms_shell_dlg[LF_FACESIZE]; + char fallback_font[LF_FACESIZE]; HDC hdc; HFONT hfont; LOGFONTA lf; @@ -772,13 +773,22 @@ static void test_font_substitution(void) status = GdipCreateFontFamilyFromName(nonexistent, NULL, &family); ok(status == FontFamilyNotFound, "expected FontFamilyNotFound, got %d\n", status); + /* nonexistent fonts fallback to Arial, or something else if it's missing */ + strcpy(lf.lfFaceName,"Arial"); + status = GdipCreateFontFromLogfontA(hdc, &lf, &font); + expect(Ok, status); + status = GdipGetLogFontA(font, graphics, &lf); + expect(Ok, status); + strcpy(fallback_font,lf.lfFaceName); + trace("fallback font %s\n", fallback_font); + lstrcpyA(lf.lfFaceName, "ThisFontShouldNotExist"); status = GdipCreateFontFromLogfontA(hdc, &lf, &font); expect(Ok, status); memset(&lf, 0xfe, sizeof(lf)); status = GdipGetLogFontA(font, graphics, &lf); expect(Ok, status); - ok(!lstrcmpA(lf.lfFaceName, "Arial"), "wrong face name %s\n", lf.lfFaceName); + ok(!lstrcmpA(lf.lfFaceName, fallback_font), "wrong face name %s / %s\n", lf.lfFaceName, fallback_font); GdipDeleteFont(font); /* empty FaceName */ @@ -788,7 +798,7 @@ static void test_font_substitution(void) memset(&lf, 0xfe, sizeof(lf)); status = GdipGetLogFontA(font, graphics, &lf); expect(Ok, status); - ok(!lstrcmpA(lf.lfFaceName, "Arial"), "wrong face name %s\n", lf.lfFaceName); + ok(!lstrcmpA(lf.lfFaceName, fallback_font), "wrong face name %s / %s\n", lf.lfFaceName, fallback_font); GdipDeleteFont(font); /* zeroing out lfWeight and lfCharSet leads to font creation failure */