diff --git a/src/qt/src/gui/text/qfont.cpp b/src/qt/src/gui/text/qfont.cpp index 1ca28fa31d..6adab4d975 100644 --- a/src/qt/src/gui/text/qfont.cpp +++ b/src/qt/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/qt/src/gui/text/qfontdatabase_mac.cpp b/src/qt/src/gui/text/qfontdatabase_mac.cpp index 528bf06746..bd1f1130c6 100644 --- a/src/qt/src/gui/text/qfontdatabase_mac.cpp +++ b/src/qt/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 ctFont = CTFontCreateWithName(QCFString(db->families[k]->name), 12, NULL); + CFStringRef familyName = QCFString::toCFStringRef(db->families[k]->name); + QCFType descriptor = CTFontDescriptorCreateWithAttributes( + QCFType(CFDictionaryCreate(kCFAllocatorDefault, + (const void**)&kCTFontFamilyNameAttribute, + (const void**)&familyName, 1, + &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks))); + CFRelease(familyName); + QCFType ctFont = CTFontCreateWithFontDescriptor(descriptor, 0, NULL); if (ctFont) { fontName = CTFontCopyFullName(ctFont); goto found;