diff options
Diffstat (limited to 'src/platformsupport/fontdatabases')
-rw-r--r-- | src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp | 5 | ||||
-rw-r--r-- | src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig.cpp | 14 |
2 files changed, 4 insertions, 15 deletions
diff --git a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp index d995ffbbad..86a01d8f3b 100644 --- a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp +++ b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp @@ -517,7 +517,6 @@ QFontEngine *QFontconfigDatabase::fontEngine(const QFontDef &f, QUnicodeTables:: FcResult result; FcPattern *match = FcFontMatch(0, pattern, &result); - FcCharSet *charset; if (match) { QFontEngineFT::HintStyle default_hint_style; if (f.hintingPreference != QFont::PreferDefaultHinting) { @@ -577,7 +576,6 @@ QFontEngine *QFontconfigDatabase::fontEngine(const QFontDef &f, QUnicodeTables:: } else format = QFontEngineFT::Format_Mono; - FcPatternGetCharSet(match, FC_CHARSET, 0, &charset); FcPatternDestroy(match); } else format = antialias ? QFontEngineFT::Format_A8 : QFontEngineFT::Format_Mono; @@ -600,9 +598,6 @@ QFontEngine *QFontconfigDatabase::fontEngine(const QFontDef &f, QUnicodeTables:: } } - if (engine && engine->freetype && !engine->freetype->charset) - engine->freetype->charset = FcCharSetCopy(charset); - return engine; } diff --git a/src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig.cpp b/src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig.cpp index 31828ef01f..153c452b04 100644 --- a/src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig.cpp +++ b/src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig.cpp @@ -61,18 +61,12 @@ QFontEngineMultiFontConfig::~QFontEngineMultiFontConfig() bool QFontEngineMultiFontConfig::shouldLoadFontEngineForCharacter(int at, uint ucs4) const { - QFontEngineFT *fontEngine = static_cast<QFontEngineFT *>(engines.at(at)); bool charSetHasChar = true; - if (fontEngine != 0) { - FcCharSet *charSet = fontEngine->freetype->charset; + FcPattern *matchPattern = getMatchPatternForFallback(at - 1); + if (matchPattern != 0) { + FcCharSet *charSet; + FcPatternGetCharSet(matchPattern, FC_CHARSET, 0, &charSet); charSetHasChar = FcCharSetHasChar(charSet, ucs4); - } else { - FcPattern *matchPattern = getMatchPatternForFallback(at - 1); - if (matchPattern != 0) { - FcCharSet *charSet; - FcPatternGetCharSet(matchPattern, FC_CHARSET, 0, &charSet); - charSetHasChar = FcCharSetHasChar(charSet, ucs4); - } } return charSetHasChar; |