diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-04-26 09:45:55 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-04-26 09:45:55 +0200 |
commit | 08585f02dc0eb8dc5567f47c55915540c0a34e01 (patch) | |
tree | d509ccc2e90e13620ef423cb099262cd88919c0a /src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp | |
parent | 55145c52677e961804b7b3a725652bd5ce1e0269 (diff) | |
parent | 4c231d5df3040dbf4545a9a77145ee0e1f9c380c (diff) |
Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev
Diffstat (limited to 'src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp')
-rw-r--r-- | src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp index 8d6f415fba..9c28c9fa63 100644 --- a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp +++ b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp @@ -491,8 +491,22 @@ void QFontconfigDatabase::populateFontDatabase() fontFile->fileName = QLatin1String((const char *)file_value); fontFile->indexValue = indexValue; - if (isSymbolFont(fontFile)) - writingSystems.setSupported(QFontDatabase::Other); + if (!writingSystems.supported(QFontDatabase::Symbol)) { + // Symbol encoding used to encode various crap in the 32..255 character + // code range, which belongs to Latin character code range. + // Symbol fonts usually don't have any other code ranges support. + bool mightBeSymbolFont = true; + for (int j = 2; j < QFontDatabase::WritingSystemsCount; ++j) { + if (writingSystems.supported(QFontDatabase::WritingSystem(j))) { + mightBeSymbolFont = false; + break; + } + } + if (mightBeSymbolFont && isSymbolFont(fontFile)) { + writingSystems.setSupported(QFontDatabase::Latin, false); + writingSystems.setSupported(QFontDatabase::Symbol); + } + } QFont::Style style = (slant_value == FC_SLANT_ITALIC) ? QFont::StyleItalic |