From 614b9efcf5a1d36994245fb1173ab010d16cd702 Mon Sep 17 00:00:00 2001 From: Pierre Rossi Date: Wed, 5 Oct 2011 17:10:28 +0200 Subject: Fix QFont::defaultFamily() in the new QPA world. This is so that the results of LayoutTests in WebKit are more in line with what things were like in Qt 4.8. Change-Id: I25962e03bd8e0316cb303c0d94c25ac4e73ea9a8 Reviewed-on: http://codereview.qt-project.org/6162 Reviewed-by: Qt Sanity Bot Reviewed-by: Jiang Jiang --- src/gui/text/qfont_qpa.cpp | 26 +++++++++++++++++--------- src/gui/text/qfontdatabase.h | 5 +++++ 2 files changed, 22 insertions(+), 9 deletions(-) (limited to 'src/gui') diff --git a/src/gui/text/qfont_qpa.cpp b/src/gui/text/qfont_qpa.cpp index e151a389cd..d6a73cfcf4 100644 --- a/src/gui/text/qfont_qpa.cpp +++ b/src/gui/text/qfont_qpa.cpp @@ -78,23 +78,31 @@ QString QFont::defaultFamily() const QString familyName; switch(d->request.styleHint) { case QFont::Times: - familyName = QString::fromLatin1("times"); + familyName = QString::fromLatin1("Times"); + break; case QFont::Courier: + familyName = QString::fromLatin1("Courier"); + break; case QFont::Monospace: - familyName = QString::fromLatin1("monospace"); + familyName = QString::fromLatin1("Courier New"); + break; + case QFont::Cursive: + familyName = QString::fromLatin1("Comic Sans MS"); + break; + case QFont::Fantasy: + familyName = QString::fromLatin1("Impact"); + break; case QFont::Decorative: - familyName = QString::fromLatin1("old english"); + familyName = QString::fromLatin1("Old English"); + break; case QFont::Helvetica: case QFont::System: default: - familyName = QString::fromLatin1("helvetica"); + familyName = QString::fromLatin1("Helvetica"); } - QStringList list = QGuiApplicationPrivate::platformIntegration()->fontDatabase()->fallbacksForFamily(familyName,QFont::StyleNormal,QFont::StyleHint(d->request.styleHint),QUnicodeTables::Common); - if (list.size()) { - familyName = list.at(0); - } - return familyName; + return QGuiApplicationPrivate::platformIntegration()->fontDatabase()->resolveFontFamilyAlias(familyName); + } QString QFont::lastResortFamily() const diff --git a/src/gui/text/qfontdatabase.h b/src/gui/text/qfontdatabase.h index 994a7a4a7d..fb8ef20d6d 100644 --- a/src/gui/text/qfontdatabase.h +++ b/src/gui/text/qfontdatabase.h @@ -46,6 +46,8 @@ #include #include +class tst_QFont; + QT_BEGIN_HEADER QT_BEGIN_NAMESPACE @@ -167,6 +169,9 @@ private: friend class QFontEngineMultiQWS; friend class QFontEngineMultiS60; friend class QFontEngineMultiQPA; +#ifdef QT_BUILD_INTERNAL + friend class ::tst_QFont; +#endif QFontDatabasePrivate *d; }; -- cgit v1.2.3