https://bugs.winehq.org/show_bug.cgi?id=52896
Bug ID: 52896 Summary: gdi32:font has a test_GetCharABCWidths() failure on all Windows 10 versions Product: Wine Version: unspecified Hardware: x86-64 OS: Windows Status: NEW Severity: normal Priority: P2 Component: gdi32 Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com
The following test_GetCharABCWidths() test fails on all Windows 10 versions:
ret = GetCharABCWidthsW(hdc, 'a', 'a', abc); ok(!ret, "GetCharABCWidthsW should have failed\n");
font.c:1189: Test failed: GetCharABCWidthsW should have failed
https://test.winehq.org/data/patterns.html#gdi32:font
It was introduced in this pretty old commit:
commit 0dc765809c602cf62a87e28451e4eea81eeca0cb Author: Hans Leidekker hans@it.vu.nl AuthorDate: Sat Dec 8 22:55:01 2007 +0100 Commit: Alexandre Julliard julliard@winehq.org CommitDate: Mon Dec 10 12:27:13 2007 +0100
gdi32: GetCharABCWidthsI does not require a scalable font.
https://bugs.winehq.org/show_bug.cgi?id=52896
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |source, testcase
https://bugs.winehq.org/show_bug.cgi?id=52896
--- Comment #1 from Nikolay Sivov bunglehead@gmail.com --- I believe this is about changes in System font on Win10. I don't remember details, but it's possible it no longer fits not-scalable criteria for this test. There are ways to check which file is used when "System" is selected - using a combination of GetFontRealizationInfo() -> GetFontFileInfo(), like dwrite does.
If it turns out it's mapped or replaced by something scalable, we could bundle a font in old format just for this test, or remove the test.
https://bugs.winehq.org/show_bug.cgi?id=52896
--- Comment #2 from Hans Leidekker hans@meelstraat.net --- (In reply to Nikolay Sivov from comment #1)
I believe this is about changes in System font on Win10. I don't remember details, but it's possible it no longer fits not-scalable criteria for this test. There are ways to check which file is used when "System" is selected - using a combination of GetFontRealizationInfo() -> GetFontFileInfo(), like dwrite does.
If it turns out it's mapped or replaced by something scalable, we could bundle a font in old format just for this test, or remove the test.
It's interesting that GetCharABCWidthsI() and GetCharABCWidthsFloatW() test don't fail with the same font. Another explanation would be that GetCharABCWidthsW() was fixed to be consistent with the former 2 functions.