Dmitry,
This patch has triggered a bug in make test for me; I only notice it when I put a Windows flavor of arial.ttf into my windows/fonts directory.
The specific failure is in get_glyph_indices when we're passing in a symbol charset (i.e. the 3rd loop). I've tracked it to line 3461 of gdi32/freetype.c. Specifically, the lfWeight is set to FW_DONTCARE but the charset is Symbol. Git-blame pointed at this patch.
I find that if I modify tests/font.c to set a lfWeight of normal in get_glyph_indices, then the tests no longer fail.
However, the test passes on Windows XP without needing that change, so I'm afraid that this code must be wrong.
Here are the full commit details:
commit a5d288f08c08dc19d217093fdf8622605c92a4e0 Author: Dmitry Timoshkov dmitry@codeweavers.com Date: Tue May 13 22:10:05 2008 +0900
gdi32: Add more font substitution tests, make them pass under Wine.
I was hoping that a resolution to this would be obvious to you, as you clearly understood this issue in depth when you wrote the patch.
Cheers,
Jeremy
"Jeremy White" jwhite@winehq.org wrote:
This patch has triggered a bug in make test for me; I only notice it when I put a Windows flavor of arial.ttf into my windows/fonts directory.
The specific failure is in get_glyph_indices when we're passing in a symbol charset (i.e. the 3rd loop). I've tracked it to line 3461 of gdi32/freetype.c. Specifically, the lfWeight is set to FW_DONTCARE but the charset is Symbol. Git-blame pointed at this patch.
I find that if I modify tests/font.c to set a lfWeight of normal in get_glyph_indices, then the tests no longer fail.
However, the test passes on Windows XP without needing that change, so I'm afraid that this code must be wrong.
Here are the full commit details:
commit a5d288f08c08dc19d217093fdf8622605c92a4e0 Author: Dmitry Timoshkov dmitry@codeweavers.com Date: Tue May 13 22:10:05 2008 +0900
gdi32: Add more font substitution tests, make them pass under Wine.
I was hoping that a resolution to this would be obvious to you, as you clearly understood this issue in depth when you wrote the patch.
Thanks for spotting this, I sent a patch which reverts the above change.