From 3d063ecc5f07342108b415d9e17908373cdc9de2 Mon Sep 17 00:00:00 2001 From: Jiang Jiang Date: Fri, 11 Nov 2011 17:25:30 +0100 Subject: Provide defaultFont with fontconfig db So that it won't just return "Helvetica" that may not exist in target system. Providing it seems to fix QTBUG-21833 as well, thus we can remove the QEXPECT_FAIL statement in qlistview test. '_' appears to reach the minimum right bearing in some fonts. Task-number: QTBUG-21833 Change-Id: I2340af6ee736083ec4f6575e469840ebec4e545e Reviewed-by: Jiang Jiang --- .../fontdatabases/fontconfig/qfontconfigdatabase.cpp | 11 +++++++++-- .../fontdatabases/fontconfig/qfontconfigdatabase_p.h | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'src/platformsupport/fontdatabases/fontconfig') diff --git a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp index 575fbb9af9..81995510f0 100644 --- a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp +++ b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp @@ -715,8 +715,10 @@ QString QFontconfigDatabase::resolveFontFamilyAlias(const QString &family) const if (!pattern) return family; - QByteArray cs = family.toUtf8(); - FcPatternAddString(pattern, FC_FAMILY, (const FcChar8 *) cs.constData()); + if (!family.isEmpty()) { + QByteArray cs = family.toUtf8(); + FcPatternAddString(pattern, FC_FAMILY, (const FcChar8 *) cs.constData()); + } FcConfigSubstitute(0, pattern, FcMatchPattern); FcDefaultSubstitute(pattern); @@ -727,3 +729,8 @@ QString QFontconfigDatabase::resolveFontFamilyAlias(const QString &family) const return resolved; } + +QFont QFontconfigDatabase::defaultFont() const +{ + return QFont(resolveFontFamilyAlias(QString())); +} diff --git a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h index 2b1e512298..af981d431f 100644 --- a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h +++ b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h @@ -53,6 +53,7 @@ public: QStringList fallbacksForFamily(const QString family, const QFont::Style &style, const QFont::StyleHint &styleHint, const QUnicodeTables::Script &script) const; QStringList addApplicationFont(const QByteArray &fontData, const QString &fileName); QString resolveFontFamilyAlias(const QString &family) const; + QFont defaultFont() const; }; #endif // QFONTCONFIGDATABASE_H -- cgit v1.2.3