http://bugs.winehq.org/show_bug.cgi?id=23114
Alexey Loukianov mooroon2@mail.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mooroon2@mail.ru
--- Comment #4 from Alexey Loukianov mooroon2@mail.ru 2010-06-22 02:31:50 --- I can confirm that there are noticeable differences between hod does the fonts rendered in wine-1.2-rc4 (actually in all 1.2-rcX except for 1.2-rc1 which behaved differently) and in the rest of the system. The trouble is that at the moment there is a pretty big mess in the ways fonts get rendered by applications on a linux desktop.
First of all, there tends to be a lot of ways how the glyphs may be rendered nowdays: using only FreeType library, using Xft/libXft, using Cairo, using Pango, using some self-written native way and some more. Older versions of Gtk+ used pango for it's font renderings. Pango may use cairo, but there are backends that use Xft, FreeType, libx11 and some other. Newer GTK+ versions use cairo, same applies to the linux port of XUL-written apps (like Firefox). cairo and Xft both use FreeType for rendering and fontconfig library for determining correct font render properties to use. To complicate things even more there are some Xft.* Xresources available that might be used by Xft as a substitute/replacement to the fontconfig. Qt3 used fontconfig+FreeType, just like cairo and Xft. Qt4 partly switched away from fontconfig and implemented it's own LCD antialiasing for fonts. There were blog posts from Qt4.x developers stating that they are going to get back to use of fontconfig in Qt4.5. Some specific apps like OpenOffice use their own implementations of font rendering libraries. And another complications is that some users have got FreeType with (patented) BCI interpretor compiled in while most are not.
Difficulties continue to stack when it comes to how were the font subpixel AA implemented. There are a bunch of patches out there, some for FreeType and some for cairo, each providing similar but a little bit different AA results. Most known is "ubuntu patch" which adds "ClearType-like" functionality to cairo independent from subpixel AA built-in in FreeType ("lcdfilter" settings in ~/.fonts.conf are handled by this patch).
If you're still not lost in all this complexity then you should know that the library like GTK+ may use any other arbitary setting for fonts AA at the programmers will. On the other hand it is well-known bug that cairo library that should use fontconfig for configuration purposes sometimes silently ignores the user-specified settings and instead uses the defaults set in the Gnome Control Center. When it comes to Gnome applications it comes that the fonts AA behavior would be totally different depending on is the gnome-settings-daemon started or not. If it is then all Gnome apps will use font AA settings from the gconf registry (those set from the Gnome Control Center). If it is not - then the fontconfig defaults tend to be used but intersected with the Xft.* resources values.
Taking all this to the bottom line: actually now there's no such thing on linux desktop as a "default settings for the system font rendering". That's why I don't think that the fact that Wine renders subpixel AA somewhat different should be considered a bug.
Still, as now wine seems to be declaring that it will "Use the system desktop setting for subpixel font smoothing" (bug #17148 marked as CLOSED FIXED) it would be great to know two things: 1. What is the place this "system desktop setting" are taken from? 2. Are there any ways to set Wine to use other fonts AA settings than one detected to be set for the "system desktop"?
If the answer for the question 2 is "no ways" then it is definitely a regression in Wine functionality as before it was possible to have one settings for Wine apps and another for other system.
P.S. Side question is the current purpose of the "FontSmoothing"/"FontSmoothingType" registry keys as it seems to me that the fix to the bug #17148 made them obsolete.