Win: Choose a suitable font in tst_QTextLayout::textWidthVsWIdth

The default font on Windows 10 (Segoe UI) will return the
wrong minimum right bearing at some sizes, which will cause
us to skip the textWidthVsWIdth() test at some scale factors,
since we cannot trust the layout to be perfect in this case.

Based on experiment, Arial is more accurate, so in order to
avoid skipping the test, we default to this on Windows instead.
(Note: The problem has not been observed with the default fonts
on Linux or macOS, so we only do this for Windows specifically.)

Task-number: QTBUG-84415
Pick-to: 5.15
Change-Id: I8cdb5d0d9922915a6ed1574d62a561dda0e1dc5d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
This commit is contained in:
Eskil Abrahamsen Blomfeldt 2020-05-26 08:36:59 +02:00
parent ea9b4b5982
commit 18e8519dcd

View File

@ -2000,6 +2000,9 @@ void tst_QTextLayout::textWidthVsWIdth()
layout.setCacheEnabled(true);
QTextOption opt;
opt.setWrapMode(QTextOption::WrapAnywhere);
#if defined(Q_OS_WIN)
layout.setFont(QFont(QString::fromLatin1("Arial")));
#endif
layout.setTextOption(opt);
layout.setText(QString::fromLatin1(
"g++ -c -m64 -pipe -g -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC -DCORE_LIBRARY -DIDE_LIBRARY_BASENAME=\"lib\" -DWITH_TESTS "