[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#448555: fixed in qt4-x11 4.5.0-2



Tomáš:
> It uses the old hinting mechanism and looks somewhat better, but subpixel
> rendering is off. This is still worse than qt3.

Did you apply the patch cleanly against Qt 4.5? The patch doesn't enable or disable subpixel rendering, it simply switches between a Qt 3 style intrapixel and Qt 4 interpixel filter.

bmg:
> In Debian in libfreetype, FT_CONFIG_OPTION_SUBPIXEL_RENDERING is not
> set, probably on purpose. The libfreetype doku says:
>
>  Note that no filter is active by default, and that this function is
>  not implemented in default builds of the library. You need to
>  #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING in your ‘ftoption.h’ file
>  in order to activate it.
>
> So no filter is applied by libfreetype and Qt should honor this and
> _not_ _blur_ _glyphs_. This not only makes fonts ugly on low
> resolution devices but also make the desktop inconsistent, because
> Qt3, KDE3 and GTK-Applications will look fine while Qt4-Applications
> will look “different”.
>
> In my opinion a toolkit should not mess with libfreetypes
> glyph-rendering.

This is wrong, if FT_CONFIG_OPTION_SUBPIXEL_RENDERING is not set libfreetype does _not_ do subpixel rendering. Qt actually emulates subpixel rendering in that case by rendering into a mask that's three times as wide (as I mentioned earlier). A filter was used in the Qt 3 days also, however the filter was changed in Qt 4 to match the new recommended Freetype filters. By saying "a toolkit should not mess with libfreetypes glyph-rendering" I guess you'd prefer if Qt didn't do subpixel rendering at all if it wasn't enabled in libfreetype? Then your complaints about the default LCD filter would be void.

If you enable FT_CONFIG_OPTION_SUBPIXEL_RENDERING you'll get the exact rendering that Fontconfig and Freetype specify. Without it, Qt tries to do a best effort (and with the fix to 248387 which will be in 4.5.1 we also try to emulate the legacy LCD filter more closely).

Please refer to the left-most column of http://www.spasche.net/files/lcdfiltering/ to see how bad certain fonts look without any kind of LCD filtering. A lot of people actually prefer the smoothed look of the default filtered fonts, which is closer to how the Mac does font rendering. It's definitely not in Qt's place to force people to use unfiltered fonts.

If you dislike Freetype's default filtering (which our default filter emulates pretty closely) I think you should take this up with Debian and Freetype, not with us. Debian is free to make the default Fontconfig setup enable Legacy LCD filtering, however I don't think it's a good idea as it severly decreases the rendering quality for certain fonts. If anything it should be a per-font setting.

Cheers,
Samuel



Reply to: