Bugzilla – Bug 378801
KDE4 doesn’t use the system setting for subpixel hinting
Last modified: 2008-07-31 11:11:35 UTC
KDE4 doesn’t use the system setting for subpixel hinting.
Created attachment 207270 [details] subpixel-hinting-system-settings-not-used.png
In the screenshot you can see that subpixel hinting (“coloured rendering”) is used in “xfd” (see also the magnification with xmag at the top right), i.e. a freetype2 package which has subpixel hinting compiled in is installed and subpixel hinting is enabled in the fontconfig setup. The KDE4 “systemsettings” program at the left is set so Kantenglättung verwenden: Systemeinstellungen (= use antialising: system setting) It has not been changed yet from the default. Nevertheless, the fonts seen in the “systemsettings” program are rendered *without* subpixel hinting (i.e. only grayscale anti-aliasing).
Trying to switch on subpixel hinting in “systemsettings” doesn’t work either, after selecting Kantenglättung verwenden: Aktiviert (use antialiasing: active) and setting up the details in “Einrichten” (choose RGB subpixel rendering there) and restarting “systemsettings”, one still sees only grayscale anti-aliasing.
Hi Mike First you need freetype2 package with subpixel-hinting support installed then rebuild qt4 packages to enable subpixel-hinting (you may need more than 5 hours to do this) You can see spec file of qt4 package https://build.opensuse.org/package/view_file?file=use-freetype-default.diff&package=libqt4&project=KDE%3AQt44
swyear> First you need freetype2 package with subpixel-hinting support swyear> installed then rebuild qt4 packages to enable subpixel-hinting (you swyear> may need more than 5 hours to do this) You can see spec file of qt4 swyear> package Yes, I know that. But I think that is a bug in Qt4. Qt4 should check for the availability of subpixel hinting at runtime, not at build time. Something like in this small sample program: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ft2build.h> #include FT_FREETYPE_H #include FT_LCD_FILTER_H int main(int argc, char *argv[]) { FT_Library ftLibrary; if (FT_Init_FreeType (&ftLibrary)) { printf("error in FT_Init_FreeType()\n"); exit (1); } if (FT_Err_Unimplemented_Feature == FT_Library_SetLcdFilter(ftLibrary, FT_LCD_FILTER_DEFAULT )) { printf("subpixel rendering not available\n"); exit (0); } else { printf("subpixel rendering available\n"); exit (0); } exit (0); }
*** Bug 407826 has been marked as a duplicate of this bug. ***
Dirk is working on a run-time check.
Hi, Any updates on the fix? :) -Anshul
implemented for 11.1 and KDE:Qt.