https://bugs.winehq.org/show_bug.cgi?id=42171
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #56777|0 |1 is obsolete| |
--- Comment #4 from Fabian Maurer dark.shadow4@web.de --- Created attachment 56778 --> https://bugs.winehq.org/attachment.cgi?id=56778 Updated test program to show the issue
Extended my test program and run a few more tests...
Windows:
Font gotten: Microsoft Sans Serif Got size: got 8 sz: 405, 16 Font gotten: Arial Got size: got 7 sz: 389, 16
Linux freetype 2.7
Font gotten: Arial Got size: got 8 sz: 397, 16 Font gotten: Arial Got size: got 8 sz: 397, 16
Linux freetype 2.6.5
Font gotten: Arial Got size: got 7 sz: 389, 16 Font gotten: Arial Got size: got 7 sz: 389, 16
New freetype seems to render the chars bigger. GdiGetCharDimensions does cut off decimals:
(sz.cx / 26 + 1) / 2
For freetype 2.7 this is
15.2692307692 --> 15
For freetype 2.6.5 this is
14.9615384615 -> 14
When on freetype 2.6.5 Arial is rendered to small. We can't even implement a rounding for such cases, because if we actually request Arial as font, it needs to be that way. When on freetype 2.7 Arial is rendered bigger, what changes the size from what we expect on windows.. But it works fine in that specific case, where Arial is substituted...
So we actually have two issues here, Arial being a bad substitution, and freetype 2.7 leading to Arial being to big.