summaryrefslogtreecommitdiffstats
path: root/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase_p.h
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2017-04-07 14:56:22 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2017-04-21 10:36:00 +0000
commit84b3f123104658edabe52c1d9a673f16c31dbaf8 (patch)
treefc23d2e8b48c7b30f641e0cea8b2030c5d6d6443 /src/platformsupport/fontdatabases/mac/qcoretextfontdatabase_p.h
parent414c751c7d8c81f7325a3ddee1d120a2056d05cf (diff)
macOS: Defer population of localized font family aliases until needed
Getting the localized family name of a font involves quite a bit of work internally in CoreText, e.g. creating and sorting font descriptors. By deferring population of family aliases until a font match misses we shave off ~1 second of startup time for applications that use non- localized font families (most applications). Change-Id: I021952c311c0d70d7769ccf764dbf997ebf30a4b Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Diffstat (limited to 'src/platformsupport/fontdatabases/mac/qcoretextfontdatabase_p.h')
-rw-r--r--src/platformsupport/fontdatabases/mac/qcoretextfontdatabase_p.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase_p.h b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase_p.h
index a7529b7fb0..9612b909f1 100644
--- a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase_p.h
+++ b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase_p.h
@@ -75,7 +75,9 @@ public:
QCoreTextFontDatabase();
~QCoreTextFontDatabase();
void populateFontDatabase() Q_DECL_OVERRIDE;
+ bool populateFamilyAliases() override;
void populateFamily(const QString &familyName) Q_DECL_OVERRIDE;
+ void invalidate() override;
QStringList fallbacksForFamily(const QString &family, QFont::Style style, QFont::StyleHint styleHint, QChar::Script script) const Q_DECL_OVERRIDE;
QStringList addApplicationFont(const QByteArray &fontData, const QString &fileName) Q_DECL_OVERRIDE;
@@ -96,6 +98,7 @@ private:
mutable QSet<CTFontDescriptorRef> m_systemFontDescriptors;
mutable QHash<QPlatformTheme::Font, QFont *> m_themeFonts;
+ bool m_hasPopulatedAliases;
};
// Split out into separate template class so that the compiler doesn't have