From: Jiang Jiang Date: Fri, 11 Nov 2011 16:25:30 +0000 (+0100) Subject: Provide defaultFont with fontconfig db X-Git-Tag: qt-v5.0.0-alpha1~2712 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3d063ecc5f07342108b415d9e17908373cdc9de2;p=profile%2Fivi%2Fqtbase.git 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 --- diff --git a/src/gui/text/qfontengine_ft.cpp b/src/gui/text/qfontengine_ft.cpp index 0747249..b2bff92 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 575fbb9..8199551 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 2b1e512..af981d4 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 10b4f4a..b58a306 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); }