Search
j0ke.net Open Build Service
>
Projects
>
KDE
:
Qt
:
STABLE
>
libqt4-devel-doc-data
> use-freetype-default.diff
Sign Up
|
Log In
Username
Password
Cancel
Overview
Repositories
Revisions
Requests
Users
Advanced
Attributes
Meta
File use-freetype-default.diff of Package libqt4-devel-doc-data
Index: src/gui/text/qfontengine_x11.cpp =================================================================== --- src/gui/text/qfontengine_x11.cpp.orig +++ src/gui/text/qfontengine_x11.cpp @@ -978,6 +978,26 @@ Q_GUI_EXPORT void qt_x11ft_convert_patte *antialias = b; } +#include <ft2build.h> +#include FT_FREETYPE_H +#include FT_LCD_FILTER_H + +static bool subpixel_rendering_available() +{ + static int implemented = -1; + + if (implemented >= 0) + return implemented; + + extern FT_Library qt_getFreetype(); + FT_Library lib = qt_getFreetype(); + + if (FT_Err_Unimplemented_Feature == + FT_Library_SetLcdFilter(lib, FT_LCD_FILTER_DEFAULT )) + return (implemented = false); + + return (implemented = true); +} QFontEngineX11FT::QFontEngineX11FT(FcPattern *pattern, const QFontDef &fd, int screen) : QFontEngineFT(fd) @@ -995,7 +1015,7 @@ QFontEngineX11FT::QFontEngineX11FT(FcPat canUploadGlyphsToServer = qApp->thread() == QThread::currentThread(); subpixelType = Subpixel_None; - if (antialias) { + if (subpixel_rendering_available() && antialias) { int subpixel = X11->display ? X11->screens[screen].subpixel : FC_RGBA_UNKNOWN; if (subpixel == FC_RGBA_UNKNOWN) (void) FcPatternGetInteger(pattern, FC_RGBA, 0, &subpixel);