summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/android
diff options
context:
space:
mode:
authorKonstantin Ritt <ritt.ks@gmail.com>2015-05-18 09:27:10 +0400
committerKonstantin Ritt <ritt.ks@gmail.com>2015-07-31 09:51:35 +0000
commit5e3e34731b7880ac775e8f1fa156ce016e6820f1 (patch)
treebc3ec374a3ddf40a59c3c0aeef7db91d385f4bce /src/plugins/platforms/android
parent735cd0ccf3e51f9b3f0e9d30df08899ae54bf7ab (diff)
Default implementation for QPlatformFontDatabase::fallbacksForFamily()
...mainly for platforms that do not provide a native/unified way to obtain system-defined font fallbacks list (ie !CoreText && !FontConfig). Change-Id: I23c5589d79ddecb6311ccc52ec8b29977f06d408 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
Diffstat (limited to 'src/plugins/platforms/android')
-rw-r--r--src/plugins/platforms/android/qandroidplatformfontdatabase.cpp24
-rw-r--r--src/plugins/platforms/android/qandroidplatformfontdatabase.h3
2 files changed, 8 insertions, 19 deletions
diff --git a/src/plugins/platforms/android/qandroidplatformfontdatabase.cpp b/src/plugins/platforms/android/qandroidplatformfontdatabase.cpp
index 9b60ab291c..b4b6123147 100644
--- a/src/plugins/platforms/android/qandroidplatformfontdatabase.cpp
+++ b/src/plugins/platforms/android/qandroidplatformfontdatabase.cpp
@@ -55,16 +55,7 @@ void QAndroidPlatformFontDatabase::populateFontDatabase()
QList<QFileInfo> entries = dir.entryInfoList(QStringList() << QStringLiteral("*.ttf") << QStringLiteral("*.otf"), QDir::Files);
for (int i = 0; i < int(entries.count()); ++i) {
const QByteArray file = QFile::encodeName(entries.at(i).absoluteFilePath());
- QSupportedWritingSystems supportedWritingSystems;
- QStringList families = addTTFile(QByteArray(), file, &supportedWritingSystems);
-
- extern int qt_script_for_writing_system(QFontDatabase::WritingSystem writingSystem);
- for (int i = 0; i < QFontDatabase::WritingSystemsCount; ++i) {
- if (i == QFontDatabase::Any || supportedWritingSystems.supported(QFontDatabase::WritingSystem(i))) {
- QChar::Script script = QChar::Script(qt_script_for_writing_system(QFontDatabase::WritingSystem(i)));
- m_fallbacks[script] += families;
- }
- }
+ QBasicFontDatabase::addTTFile(QByteArray(), file);
}
}
@@ -73,15 +64,16 @@ QStringList QAndroidPlatformFontDatabase::fallbacksForFamily(const QString &fami
QFont::StyleHint styleHint,
QChar::Script script) const
{
- Q_UNUSED(family);
- Q_UNUSED(style);
-
+ QStringList result;
if (styleHint == QFont::Monospace || styleHint == QFont::Courier)
- return QString(qgetenv("QT_ANDROID_FONTS_MONOSPACE")).split(";") + m_fallbacks[script];
+ result.append(QString(qgetenv("QT_ANDROID_FONTS_MONOSPACE")).split(";"));
else if (styleHint == QFont::Serif)
- return QString(qgetenv("QT_ANDROID_FONTS_SERIF")).split(";") + m_fallbacks[script];
+ result.append(QString(qgetenv("QT_ANDROID_FONTS_SERIF")).split(";"));
+ else
+ result.append(QString(qgetenv("QT_ANDROID_FONTS")).split(";"));
+ result.append(QPlatformFontDatabase::fallbacksForFamily(family, style, styleHint, script));
- return QString(qgetenv("QT_ANDROID_FONTS")).split(";") + m_fallbacks[script];
+ return result;
}
QT_END_NAMESPACE
diff --git a/src/plugins/platforms/android/qandroidplatformfontdatabase.h b/src/plugins/platforms/android/qandroidplatformfontdatabase.h
index 45de47a58c..89a9ed8bc0 100644
--- a/src/plugins/platforms/android/qandroidplatformfontdatabase.h
+++ b/src/plugins/platforms/android/qandroidplatformfontdatabase.h
@@ -47,9 +47,6 @@ public:
QFont::Style style,
QFont::StyleHint styleHint,
QChar::Script script) const;
-
-private:
- QHash<QChar::Script, QStringList> m_fallbacks;
};
QT_END_NAMESPACE