summaryrefslogtreecommitdiffstats
path: root/src/platformsupport/fontdatabases/basic
diff options
context:
space:
mode:
authorEskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>2014-03-25 10:08:05 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-03-25 14:19:27 +0100
commit0b87f4f6c912a508f170cd25ff5317bb77665fa9 (patch)
tree1ef3c9764d22ffe8baebdf6a1111b67532fe2055 /src/platformsupport/fontdatabases/basic
parentd668f1be22c0e0219c02bcc6928a825ca4f33e42 (diff)
Android: Fix font merging
Our fallback fonts would contain a minimal list of hardcoded fallback fonts, which is neither sufficient for displaying all text, nor portable to different vendors which can supply different font sets. [ChangeLog][Android] Fixed font merging problem which caused e.g. missing glyphs for Arabic numerals. Task-number: QTBUG-37738 Change-Id: Ic971343a1cd5610c79a81f6f6152c637937b5626 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Diffstat (limited to 'src/platformsupport/fontdatabases/basic')
-rw-r--r--src/platformsupport/fontdatabases/basic/qbasicfontdatabase.cpp6
-rw-r--r--src/platformsupport/fontdatabases/basic/qbasicfontdatabase_p.h2
2 files changed, 6 insertions, 2 deletions
diff --git a/src/platformsupport/fontdatabases/basic/qbasicfontdatabase.cpp b/src/platformsupport/fontdatabases/basic/qbasicfontdatabase.cpp
index 88814151b6..26ae0eb724 100644
--- a/src/platformsupport/fontdatabases/basic/qbasicfontdatabase.cpp
+++ b/src/platformsupport/fontdatabases/basic/qbasicfontdatabase.cpp
@@ -220,7 +220,7 @@ void QBasicFontDatabase::releaseHandle(void *handle)
extern FT_Library qt_getFreetype();
-QStringList QBasicFontDatabase::addTTFile(const QByteArray &fontData, const QByteArray &file)
+QStringList QBasicFontDatabase::addTTFile(const QByteArray &fontData, const QByteArray &file, QSupportedWritingSystems *supportedWritingSystems)
{
FT_Library library = qt_getFreetype();
@@ -259,6 +259,8 @@ QStringList QBasicFontDatabase::addTTFile(const QByteArray &fontData, const QByt
if (cm->encoding == FT_ENCODING_ADOBE_CUSTOM
|| cm->encoding == FT_ENCODING_MS_SYMBOL) {
writingSystems.setSupported(QFontDatabase::Symbol);
+ if (supportedWritingSystems)
+ supportedWritingSystems->setSupported(QFontDatabase::Symbol);
break;
}
}
@@ -277,6 +279,8 @@ QStringList QBasicFontDatabase::addTTFile(const QByteArray &fontData, const QByt
};
writingSystems = QPlatformFontDatabase::writingSystemsFromTrueTypeBits(unicodeRange, codePageRange);
+ if (supportedWritingSystems)
+ *supportedWritingSystems = writingSystems;
if (os2->usWeightClass == 0)
;
diff --git a/src/platformsupport/fontdatabases/basic/qbasicfontdatabase_p.h b/src/platformsupport/fontdatabases/basic/qbasicfontdatabase_p.h
index 45d7218ece..247a2855e2 100644
--- a/src/platformsupport/fontdatabases/basic/qbasicfontdatabase_p.h
+++ b/src/platformsupport/fontdatabases/basic/qbasicfontdatabase_p.h
@@ -64,7 +64,7 @@ public:
QStringList addApplicationFont(const QByteArray &fontData, const QString &fileName);
void releaseHandle(void *handle);
- static QStringList addTTFile(const QByteArray &fontData, const QByteArray &file);
+ static QStringList addTTFile(const QByteArray &fontData, const QByteArray &file, QSupportedWritingSystems *supportedWritingSystems = 0);
static QString fontNameFromTTFile(const QString &filename);
};