summaryrefslogtreecommitdiffstats
path: root/src/gui/text
diff options
context:
space:
mode:
authorJake Petroules <jake.petroules@petroules.com>2013-11-01 14:13:25 -0400
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-11-11 14:40:55 +0100
commit98352b964f8a11751af89813c9524c35b67a5633 (patch)
tree15df6b88cd9a9e08e5835be38e0d3089b3fb0db7 /src/gui/text
parentebc724986f4acf05c3425a7120ddc43d2eeb2515 (diff)
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>
Diffstat (limited to 'src/gui/text')
-rw-r--r--src/gui/text/qfont.cpp2
-rw-r--r--src/gui/text/qfontdatabase_mac.cpp10
2 files changed, 10 insertions, 2 deletions
diff --git a/src/gui/text/qfont.cpp b/src/gui/text/qfont.cpp
index 1ca28fa31d..6adab4d975 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 528bf06746..bd1f1130c6 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;