QRawFont::fromFont does not get antialias setting from fontconfig

When creating a fontengine in QFontconfigDatabase::fontEngine we
solely base the antialias setting on the QFont StyleStrategy and forget
to ask fontconfig it has an overriding definition for this font match.

This patch will now let fontconfig decide the antialias setting unless the
NoAntialias stylestrategy has been set.

Change-Id: I67981582a37cfd3c59aa1db929095585af554088
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
This commit is contained in:
Allan Sandfeld Jensen 2013-09-04 11:47:33 +02:00 committed by The Qt Project
parent 295977e77f
commit 2ad331465c

View File

@ -565,6 +565,14 @@ QFontEngine *QFontconfigDatabase::fontEngine(const QFontDef &f, QChar::Script sc
}
}
if (antialias) {
// If antialiasing is not fully disabled, fontconfig may still disable it on a font match basis.
FcBool fc_antialias;
if (FcPatternGetBool(match, FC_ANTIALIAS,0, &fc_antialias) != FcResultMatch)
fc_antialias = true;
antialias = fc_antialias;
}
if (f.hintingPreference == QFont::PreferDefaultHinting) {
const QPlatformServices *services = QGuiApplicationPrivate::platformIntegration()->services();
if (services && (services->desktopEnvironment() == "GNOME" || services->desktopEnvironment() == "UNITY")) {