http://bugs.winehq.org/show_bug.cgi?id=29240
--- Comment #4 from Huw Davies huw@codeweavers.com 2012-01-16 06:48:06 CST --- (In reply to comment #3)
The antiliasing does not start at the same size for all the fonts: . Font 'DejaVu Sans' : antialised for all font sizes. . Font 'Consolas' : antialised for all font sizes. . Font 'Arial' : antialised for font sizes bigger than 13. . Font 'Tahoma' : antialised for font sizes bigger than 11. . Font 'Verdana' : antialised for font sizes bigger than 11. . Font 'Times New Roman' : antialised for font sizes bigger than 13.
A quick test shows that in font.c, after the call of get_gasp_flags( hdc, &gasp_flags ): . When the antialiasing is not done: GGO_BITMAP, gasp_flags=0x0001 . When the antialiasing is done: GGO_GRAY4_BITMAP, gasp_flags=0x0003 or 0x0007. Antialiasing seems to depend on the font data retrieved by GetFontData.
Yes, this is correct. The gasp table in the ttf recommends minimum sizes below which we should not antialias.