From 90fe2c64f5edf299783b2a9cf695a1a417a0361a Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Mon, 8 Aug 2016 15:53:31 +0200 Subject: [PATCH] Make self-contained test of condensed font matching and width Fixes the test for width of condensed fonts so it doesn't depend on the presence of the Liberation font on the system, and adds another test that condensed sub-families can be matched consistently. The latter will however not work on Windows until QTBUG-53458 is solved. Task-number: QTBUG-51335. Change-Id: Id6d046274fa21b2dce0ad6b32dce7f1c8a92a4f4 Reviewed-by: Eskil Abrahamsen Blomfeldt --- .../gui/text/qfontdatabase/qfontdatabase.pro | 4 +- .../auto/gui/text/qfontdatabase/testdata.qrc | 2 + .../text/qfontdatabase/tst_qfontdatabase.cpp | 69 ++++++++++++++---- .../shared/resources/testfont_condensed.ttf | Bin 0 -> 66512 bytes 4 files changed, 57 insertions(+), 18 deletions(-) create mode 100644 tests/auto/shared/resources/testfont_condensed.ttf diff --git a/tests/auto/gui/text/qfontdatabase/qfontdatabase.pro b/tests/auto/gui/text/qfontdatabase/qfontdatabase.pro index 8a08cdc182..9d357a35f2 100644 --- a/tests/auto/gui/text/qfontdatabase/qfontdatabase.pro +++ b/tests/auto/gui/text/qfontdatabase/qfontdatabase.pro @@ -4,7 +4,5 @@ SOURCES += tst_qfontdatabase.cpp QT += testlib core-private gui-private TESTDATA += LED_REAL.TTF -android { - RESOURCES += testdata.qrc -} +RESOURCES += testdata.qrc diff --git a/tests/auto/gui/text/qfontdatabase/testdata.qrc b/tests/auto/gui/text/qfontdatabase/testdata.qrc index 8a8670bf17..81a0b5b0bf 100644 --- a/tests/auto/gui/text/qfontdatabase/testdata.qrc +++ b/tests/auto/gui/text/qfontdatabase/testdata.qrc @@ -1,5 +1,7 @@ LED_REAL.TTF + ../../../shared/resources/testfont.ttf + ../../../shared/resources/testfont_condensed.ttf diff --git a/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp b/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp index f71d808390..c53792da99 100644 --- a/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp +++ b/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp @@ -64,20 +64,27 @@ private slots: void aliases(); void fallbackFonts(); - void liberationFont(); + void condensedFontWidth(); + void condensedFontMatching(); private: - const QString m_testFont; + QString m_ledFont; + QString m_testFont; + QString m_testFontCondensed; }; tst_QFontDatabase::tst_QFontDatabase() - : m_testFont(QFINDTESTDATA("LED_REAL.TTF")) { } void tst_QFontDatabase::initTestCase() { + m_ledFont = QFINDTESTDATA("LED_REAL.TTF"); + m_testFont = QFINDTESTDATA("testfont.ttf"); + m_testFontCondensed = QFINDTESTDATA("testfont_condensed.ttf"); + QVERIFY(!m_ledFont.isEmpty()); QVERIFY(!m_testFont.isEmpty()); + QVERIFY(!m_testFontCondensed.isEmpty()); } void tst_QFontDatabase::styles_data() @@ -209,13 +216,13 @@ void tst_QFontDatabase::addAppFont() int id; if (useMemoryFont) { - QFile fontfile(m_testFont); + QFile fontfile(m_ledFont); fontfile.open(QIODevice::ReadOnly); QByteArray fontdata = fontfile.readAll(); QVERIFY(!fontdata.isEmpty()); id = QFontDatabase::addApplicationFontFromData(fontdata); } else { - id = QFontDatabase::addApplicationFont(m_testFont); + id = QFontDatabase::addApplicationFont(m_ledFont); } #if defined(Q_OS_HPUX) && defined(QT_NO_FONTCONFIG) // Documentation says that X11 systems that don't have fontconfig @@ -277,22 +284,54 @@ void tst_QFontDatabase::fallbackFonts() } } -void tst_QFontDatabase::liberationFont() +static QString testString() { - QString libSans("Liberation Sans"); - QString libSansNarrow("Liberation Sans Narrow"); + return QStringLiteral("foo bar"); +} +void tst_QFontDatabase::condensedFontWidth() +{ QFontDatabase db; - if (!db.hasFamily(libSans) || !db.hasFamily(libSansNarrow)) - QSKIP("Requires Liberation Sans installed"); + QFontDatabase::addApplicationFont(m_testFont); + QFontDatabase::addApplicationFont(m_testFontCondensed); - QFont fontLS(libSans); - QFont fontLSN(libSansNarrow); + QVERIFY(db.hasFamily("QtBidiTestFont")); + if (!db.hasFamily("QtBidiTestFontCondensed")) + QSKIP("This platform doesn't support font sub-family names (QTBUG-55625)"); - QFontMetrics fmLS(fontLS); - QFontMetrics fmLSN(fontLSN); + // Test we really get a condensed font, and a not renormalized one (QTBUG-48043): + QFont testFont("QtBidiTestFont"); + QFont testFontCondensed("QtBidiTestFontCondensed"); + QFontMetrics fmTF(testFont); + QFontMetrics fmTFC(testFontCondensed); + QVERIFY(fmTF.width(testString()) > fmTFC.width(testString())); - QVERIFY(fmLS.width(QStringLiteral("foo bar")) > fmLSN.width(QStringLiteral("foo bar"))); +} + +void tst_QFontDatabase::condensedFontMatching() +{ + QFontDatabase db; + QFontDatabase::removeAllApplicationFonts(); + QFontDatabase::addApplicationFont(m_testFontCondensed); + if (!db.hasFamily("QtBidiTestFont")) + QSKIP("This platform doesn't support preferred font family names (QTBUG-53478)"); + QFontDatabase::addApplicationFont(m_testFont); + + // Test we correctly get the condensed font using different font matching methods: + QFont tfcByStretch("QtBidiTestFont"); + tfcByStretch.setStretch(QFont::Condensed); + QFont tfcByStyleName("QtBidiTestFont"); + tfcByStyleName.setStyleName("Condensed"); + + QCOMPARE(QFontMetrics(tfcByStretch).width(testString()), + QFontMetrics(tfcByStyleName).width(testString())); + + if (!db.hasFamily("QtBidiTestFontCondensed")) + QSKIP("This platform doesn't support font sub-family names (QTBUG-55625)"); + + QFont tfcBySubfamilyName("QtBidiTestFontCondensed"); + QCOMPARE(QFontMetrics(tfcByStyleName).width(testString()), + QFontMetrics(tfcBySubfamilyName).width(testString())); } QTEST_MAIN(tst_QFontDatabase) diff --git a/tests/auto/shared/resources/testfont_condensed.ttf b/tests/auto/shared/resources/testfont_condensed.ttf new file mode 100644 index 0000000000000000000000000000000000000000..6a6c536202d14d5cba5b6c7bfc75e708cf4f9f76 GIT binary patch literal 66512 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 z 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 bnvo0ISJvG9IM>>v-