diff options
author | Liang Qi <liang.qi@qt.io> | 2017-04-04 18:08:01 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-04-04 18:09:33 +0200 |
commit | 9419dfe8ee45d08f09c09d3cbece511d721546f0 (patch) | |
tree | 1c4584099fc1efb8de30cc4526ce7ebafe8a8ce9 /src/platformsupport/fontdatabases | |
parent | 8b5aa7b6c40d70a7ec15b3ea485f28a142fb247c (diff) | |
parent | 8675e1c5ee7d1209784a2320f1ae3f486b1eaae4 (diff) |
Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
src/platformsupport/fontdatabases/mac/qcoretextfontdatabase_p.h
src/plugins/platforms/xcb/qxcbwindow.cpp
Change-Id: Ic747c3c50e68c005b425e7a1ec2a90965527c8bd
Diffstat (limited to 'src/platformsupport/fontdatabases')
-rw-r--r-- | src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm | 10 | ||||
-rw-r--r-- | src/platformsupport/fontdatabases/mac/qcoretextfontdatabase_p.h | 2 |
2 files changed, 5 insertions, 7 deletions
diff --git a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm index 2b9e928266..3588948133 100644 --- a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm +++ b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm @@ -615,7 +615,7 @@ QStringList QCoreTextFontDatabase::fallbacksForFamily(const QString &family, QFo return fallbackLists[styleLookupKey.arg(styleHint)]; } -static CFArrayRef createDescriptorArrayForFont(CTFontRef font, const QString &fileName = QString()) +CFArrayRef QCoreTextFontDatabase::createDescriptorArrayForFont(CTFontRef font, const QString &fileName) { CFMutableArrayRef array = CFArrayCreateMutable(kCFAllocatorDefault, 0, &kCFTypeArrayCallBacks); QCFType<CTFontDescriptorRef> descriptor = CTFontCopyFontDescriptor(font); @@ -625,7 +625,7 @@ static CFArrayRef createDescriptorArrayForFont(CTFontRef font, const QString &fi // The physical font source URL (usually a local file or Qt resource) is only required for // FreeType, when using non-system fonts, and needs some hackery to attach in a format // agreeable to OSX. - if (!fileName.isEmpty()) { + if (m_useFreeType && !fileName.isEmpty()) { QCFType<CFURLRef> fontURL; if (fileName.startsWith(QLatin1String(":/"))) { @@ -662,11 +662,7 @@ QStringList QCoreTextFontDatabase::addApplicationFont(const QByteArray &fontData if (cgFont) { if (CTFontManagerRegisterGraphicsFont(cgFont, &error)) { QCFType<CTFontRef> font = CTFontCreateWithGraphicsFont(cgFont, 0.0, NULL, NULL); - fonts = createDescriptorArrayForFont(font -#ifndef QT_NO_FREETYPE - , m_useFreeType ? fileName : QString() -#endif - ); + fonts = createDescriptorArrayForFont(font, fileName); m_applicationFonts.append(QVariant::fromValue(QCFType<CGFontRef>::constructFromGet(cgFont))); } } diff --git a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase_p.h b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase_p.h index 344e235053..4caa50afbe 100644 --- a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase_p.h +++ b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase_p.h @@ -58,6 +58,7 @@ #include <private/qcore_mac_p.h> Q_FORWARD_DECLARE_CF_TYPE(CTFontDescriptor); +Q_FORWARD_DECLARE_CF_TYPE(CTFont); Q_DECLARE_METATYPE(QCFType<CGFontRef>); Q_DECLARE_METATYPE(QCFType<CFURLRef>); @@ -88,6 +89,7 @@ public: private: void populateFromDescriptor(CTFontDescriptorRef font, const QString &familyName = QString()); + CFArrayRef createDescriptorArrayForFont(CTFontRef font, const QString &fileName); #ifndef QT_NO_FREETYPE bool m_useFreeType; |