diff options
author | Jake Petroules <jake.petroules@petroules.com> | 2013-11-01 18:13:25 (GMT) |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-11-11 13:40:55 (GMT) |
commit | 98352b964f8a11751af89813c9524c35b67a5633 (patch) | |
tree | 15df6b88cd9a9e08e5835be38e0d3089b3fb0db7 | |
parent | ebc724986f4acf05c3425a7120ddc43d2eeb2515 (diff) | |
download | Qt-98352b964f8a11751af89813c9524c35b67a5633.zip Qt-98352b964f8a11751af89813c9524c35b67a5633.tar.gz Qt-98352b964f8a11751af89813c9524c35b67a5633.tar.bz2 |
Use the correct system font on OS X Mavericks.
Task-number: QTBUG-32789
Change-Id: I7b1988d5f74e5becd2e02274fae4d2bcc8140901
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
-rw-r--r-- | src/gui/text/qfont.cpp | 2 | ||||
-rw-r--r-- | src/gui/text/qfontdatabase_mac.cpp | 10 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/gui/text/qfont.cpp b/src/gui/text/qfont.cpp index 1ca28fa..6adab4d 100644 --- a/src/gui/text/qfont.cpp +++ b/src/gui/text/qfont.cpp @@ -1968,6 +1968,8 @@ static void initFontSubst() "times new roman", "times", "courier new", "courier", "sans serif", "helvetica", +#elif defined(Q_WS_MAC) + ".lucida grande ui", "lucida grande", #elif defined(Q_WS_WIN) "times", "times new roman", "courier", "courier new", diff --git a/src/gui/text/qfontdatabase_mac.cpp b/src/gui/text/qfontdatabase_mac.cpp index 528bf06..bd1f113 100644 --- a/src/gui/text/qfontdatabase_mac.cpp +++ b/src/gui/text/qfontdatabase_mac.cpp @@ -325,9 +325,15 @@ static QFontEngine *loadFromDatabase(QFontDef &req, const QFontPrivate *d) for (int i = 0; i < family_list.size(); ++i) { for (int k = 0; k < db->count; ++k) { if (db->families[k]->name.compare(family_list.at(i), Qt::CaseInsensitive) == 0) { - QByteArray family_name = db->families[k]->name.toUtf8(); #if defined(QT_MAC_USE_COCOA) - QCFType<CTFontRef> ctFont = CTFontCreateWithName(QCFString(db->families[k]->name), 12, NULL); + CFStringRef familyName = QCFString::toCFStringRef(db->families[k]->name); + QCFType<CTFontDescriptorRef> descriptor = CTFontDescriptorCreateWithAttributes( + QCFType<CFDictionaryRef>(CFDictionaryCreate(kCFAllocatorDefault, + (const void**)&kCTFontFamilyNameAttribute, + (const void**)&familyName, 1, + &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks))); + CFRelease(familyName); + QCFType<CTFontRef> ctFont = CTFontCreateWithFontDescriptor(descriptor, 0, NULL); if (ctFont) { fontName = CTFontCopyFullName(ctFont); goto found; |