http://bugs.winehq.org/show_bug.cgi?id=10342
--- Comment #27 from Erik Johnson junk1112@new.rr.com 2008-12-21 14:51:33 --- Ok, for anyone else trying to figure this out... I was able to get SPR working using the above patch, but it only worked if freetype was built with SPR and *without* BCI enabled. In the build of freetype I had with both enabled, SPR did not work and just reverted to grayscale.
Also, on an unrelated note, I find that the full autohint hinting that Wine uses by default looks bad. Here is a patch that forces slight hinting for anyone interested. I don't know much about wine code, so no guarantees that this isn't going to break something. (What I would really like to see is a patch that will use fontconfig (local.conf, fonts.conf, etc.) to determine the hinting on a font by font basis, as well as font replacements. A little beyond me at this point though.)
--- dlls/gdi32/freetype.c 2008-12-11 18:43:27.000000000 -0600 +++ dlls/gdi32/freetype.c.new 2008-12-21 11:54:06.000000000 -0600 @@ -4363,7 +4363,7 @@ FT_Error err; INT left, right, top = 0, bottom = 0, adv, lsb, bbx; FT_Angle angle = 0; - FT_Int load_flags = FT_LOAD_DEFAULT | FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH; + FT_Int load_flags = FT_LOAD_TARGET_LIGHT | FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH; double widthRatio = 1.0; FT_Matrix transMat = identityMat; FT_Matrix transMatUnrotated;