diff options
author | Jiang Jiang <jiang.jiang@nokia.com> | 2011-11-11 17:25:30 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-11-15 18:33:58 +0100 |
commit | 3d063ecc5f07342108b415d9e17908373cdc9de2 (patch) | |
tree | e7b7cdabaef424a1740e373e82800382dd1dfbbe | |
parent | 5bc35276fb38385af4f1cd6b1a9ea7195a1d0d86 (diff) |
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 <jiang.jiang@nokia.com>
4 files changed, 11 insertions, 3 deletions
diff --git a/src/gui/text/qfontengine_ft.cpp b/src/gui/text/qfontengine_ft.cpp index 074724941f..b2bff92b76 100644 --- a/src/gui/text/qfontengine_ft.cpp +++ b/src/gui/text/qfontengine_ft.cpp @@ -1218,6 +1218,7 @@ static const ushort char_table[] = { 88, 89, 91, + 95, 102, 114, 124, 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 diff --git a/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp b/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp index 10b4f4a875..b58a306f94 100644 --- a/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp +++ b/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp @@ -1869,7 +1869,6 @@ void tst_QListView::taskQTBUG_2233_scrollHiddenItems() QApplication::processEvents(); QTest::qWait(50); QCOMPARE(bar->value(), bar->maximum()); - QEXPECT_FAIL("LeftToRight", "QTBUG-21833", Abort); QCOMPARE(bar->maximum(), rowCount/4 - nbVisibleItem); } |