Provide defaultFont with fontconfig db
authorJiang Jiang <jiang.jiang@nokia.com>
Fri, 11 Nov 2011 16:25:30 +0000 (17:25 +0100)
committerQt by Nokia <qt-info@nokia.com>
Tue, 15 Nov 2011 17:33:58 +0000 (18:33 +0100)
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>
src/gui/text/qfontengine_ft.cpp
src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp
src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h
tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp

index 0747249..b2bff92 100644 (file)
@@ -1218,6 +1218,7 @@ static const ushort char_table[] = {
         88,
         89,
         91,
+        95,
         102,
         114,
         124,
index 575fbb9..8199551 100644 (file)
@@ -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()));
+}
index 2b1e512..af981d4 100644 (file)
@@ -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
index 10b4f4a..b58a306 100644 (file)
@@ -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);
 }