Remove dead code from tst_QFont::exactMatch()
All this code was skipped on all platforms, so keeping it is just confusing. Change-Id: I405d2e791b22a2494fe5ccac6e3bf08905dc4e5a Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
This commit is contained in:
parent
78eeb6b066
commit
d70205cd2b
@ -110,155 +110,10 @@ void tst_QFont::exactMatch()
|
||||
// Check if a non-existing font hasn't an exact match
|
||||
font = QFont( "BogusFont", 33 );
|
||||
QVERIFY( !font.exactMatch() );
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
QSKIP("Exact matching on windows misses a lot because of the sample chars");
|
||||
#endif
|
||||
|
||||
QVERIFY(!QFont("sans").exactMatch());
|
||||
QVERIFY(!QFont("sans-serif").exactMatch());
|
||||
QVERIFY(!QFont("serif").exactMatch());
|
||||
QVERIFY(!QFont("monospace").exactMatch());
|
||||
|
||||
QSKIP("This test is bogus on Unix with support for font aliases in fontconfig");
|
||||
|
||||
QFontDatabase fdb;
|
||||
|
||||
QList<QFontDatabase::WritingSystem> systems = fdb.writingSystems();
|
||||
for (int system = 0; system < systems.count(); ++system) {
|
||||
QStringList families = fdb.families(systems[system]);
|
||||
if (families.isEmpty())
|
||||
return;
|
||||
|
||||
QStringList::ConstIterator f_it, f_end = families.end();
|
||||
for (f_it = families.begin(); f_it != f_end; ++f_it) {
|
||||
const QString &family = *f_it;
|
||||
if (family.contains('['))
|
||||
continue;
|
||||
|
||||
QStringList styles = fdb.styles(family);
|
||||
QVERIFY(!styles.isEmpty());
|
||||
QStringList::ConstIterator s_it, s_end = styles.end();
|
||||
for (s_it = styles.begin(); s_it != s_end; ++s_it) {
|
||||
const QString &style = *s_it;
|
||||
|
||||
if (fdb.isSmoothlyScalable(family, style)) {
|
||||
// smoothly scalable font... don't need to load every pointsize
|
||||
font = fdb.font(family, style, 12);
|
||||
QFontInfo fontinfo(font);
|
||||
|
||||
if (! fontinfo.exactMatch()) {
|
||||
// Unfortunately, this can fail, since
|
||||
// QFontDatabase does not fill in all font
|
||||
// properties. Check to make sure that the
|
||||
// test didn't fail for obvious reasons
|
||||
|
||||
if (fontinfo.family().isEmpty()
|
||||
&& fontinfo.pointSize() == 0) {
|
||||
// this is a box rendering engine... this can happen from
|
||||
// time to time, especially on X11 with iso10646-1 or
|
||||
// unknown font encodings
|
||||
continue;
|
||||
}
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
if (font.family().startsWith("MS ") || fontinfo.family().startsWith("MS ")) {
|
||||
/* qDebug("Family matching skipped for MS-Alias font: %s, fontinfo: %s",
|
||||
font.family().latin1(), fontinfo.family().latin1());
|
||||
*/
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
if (!(font.family() == fontinfo.family()
|
||||
|| fontinfo.family().contains(font.family())
|
||||
|| fontinfo.family().isEmpty())) {
|
||||
qDebug("Test about to fail for font: %s, fontinfo: %s",
|
||||
font.family().toLatin1().constData(),
|
||||
fontinfo.family().toLatin1().constData());
|
||||
}
|
||||
QVERIFY(font.family() == fontinfo.family()
|
||||
|| fontinfo.family().contains(font.family())
|
||||
|| fontinfo.family().isEmpty());
|
||||
}
|
||||
if (font.pointSize() != -1) {
|
||||
QCOMPARE(font.pointSize(), fontinfo.pointSize());
|
||||
} else {
|
||||
QCOMPARE(font.pixelSize(), fontinfo.pixelSize());
|
||||
}
|
||||
QCOMPARE(font.italic(), fontinfo.italic());
|
||||
if (font.weight() != fontinfo.weight()) {
|
||||
qDebug("font is %s", font.toString().toLatin1().constData());
|
||||
}
|
||||
QCOMPARE(font.weight(), fontinfo.weight());
|
||||
} else {
|
||||
font.setFixedPitch(!fontinfo.fixedPitch());
|
||||
QFontInfo fontinfo1(font);
|
||||
QVERIFY( !fontinfo1.exactMatch() );
|
||||
|
||||
font.setFixedPitch(fontinfo.fixedPitch());
|
||||
QFontInfo fontinfo2(font);
|
||||
QVERIFY( fontinfo2.exactMatch() );
|
||||
}
|
||||
}
|
||||
#if 0
|
||||
// ############## can only work if we have float point sizes in QFD
|
||||
else {
|
||||
QList<int> sizes = fdb.pointSizes(family, style);
|
||||
QVERIFY(!sizes.isEmpty());
|
||||
QList<int>::ConstIterator z_it, z_end = sizes.end();
|
||||
for (z_it = sizes.begin(); z_it != z_end; ++z_it) {
|
||||
const int size = *z_it;
|
||||
|
||||
// Initialize the font, and check if it is an exact match
|
||||
font = fdb.font(family, style, size);
|
||||
QFontInfo fontinfo(font, (QFont::Script) script);
|
||||
|
||||
if (! fontinfo.exactMatch()) {
|
||||
// Unfortunately, this can fail, since
|
||||
// QFontDatabase does not fill in all font
|
||||
// properties. Check to make sure that the
|
||||
// test didn't fail for obvious reasons
|
||||
|
||||
if (fontinfo.family().isEmpty()
|
||||
&& fontinfo.pointSize() == 0) {
|
||||
// this is a box rendering engine... this can happen from
|
||||
// time to time, especially on X11 with iso10646-1 or
|
||||
// unknown font encodings
|
||||
continue;
|
||||
}
|
||||
|
||||
// no need to skip MS-fonts here it seems
|
||||
if (!(font.family() == fontinfo.family()
|
||||
|| fontinfo.family().contains(font.family())
|
||||
|| fontinfo.family().isEmpty())) {
|
||||
qDebug("Test about to fail for font: %s, fontinfo: %s",
|
||||
font.family().latin1(), fontinfo.family().latin1());
|
||||
}
|
||||
QVERIFY(font.family() == fontinfo.family()
|
||||
|| fontinfo.family().contains(font.family())
|
||||
|| fontinfo.family().isEmpty());
|
||||
if (font.pointSize() != -1) {
|
||||
QCOMPARE(font.pointSize(), fontinfo.pointSize());
|
||||
} else {
|
||||
QCOMPARE(font.pixelSize(), fontinfo.pixelSize());
|
||||
}
|
||||
QCOMPARE(font.italic(), fontinfo.italic());
|
||||
QCOMPARE(font.weight(), fontinfo.weight());
|
||||
} else {
|
||||
font.setFixedPitch(!fontinfo.fixedPitch());
|
||||
QFontInfo fontinfo1(font, (QFont::Script) script);
|
||||
QVERIFY( !fontinfo1.exactMatch() );
|
||||
|
||||
font.setFixedPitch(fontinfo.fixedPitch());
|
||||
QFontInfo fontinfo2(font, (QFont::Script) script);
|
||||
QVERIFY( fontinfo2.exactMatch() );
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void tst_QFont::italicOblique()
|
||||
|
Loading…
Reference in New Issue
Block a user