summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiang Jiang <jiang.jiang@nokia.com>2011-11-11 17:25:30 +0100
committerQt by Nokia <qt-info@nokia.com>2011-11-15 18:33:58 +0100
commit3d063ecc5f07342108b415d9e17908373cdc9de2 (patch)
treee7b7cdabaef424a1740e373e82800382dd1dfbbe
parent5bc35276fb38385af4f1cd6b1a9ea7195a1d0d86 (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>
-rw-r--r--src/gui/text/qfontengine_ft.cpp1
-rw-r--r--src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp11
-rw-r--r--src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h1
-rw-r--r--tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp1
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);
}