diff options
author | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com> | 2010-08-04 11:09:30 (GMT) |
---|---|---|
committer | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com> | 2010-08-06 08:26:26 (GMT) |
commit | 5e06fcfa6139988cce2e88d604ba8e05d5e43dd0 (patch) | |
tree | b2baaf8fa1538b42230f4f584e888be2c291bda6 /tests/auto | |
parent | 63711cb855114b879c6bad192708bf6a19c31f32 (diff) | |
download | Qt-5e06fcfa6139988cce2e88d604ba8e05d5e43dd0.zip Qt-5e06fcfa6139988cce2e88d604ba8e05d5e43dd0.tar.gz Qt-5e06fcfa6139988cce2e88d604ba8e05d5e43dd0.tar.bz2 |
Implement QFontMetrics::inFont(uint) which takes UCS-4 encoded char
Support unicode characters which are not representable in 16 bits in
QFontMetrics::inFont() to enable font selection algorithms for unicode
ranges that require surrogates.
Task-number: QTBUG-12638
Reviewed-by: Simon Hausmann
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/qfontmetrics/qfontmetrics.pro | 2 | ||||
-rw-r--r-- | tests/auto/qfontmetrics/testfont.qrc | 5 | ||||
-rw-r--r-- | tests/auto/qfontmetrics/tst_qfontmetrics.cpp | 22 | ||||
-rw-r--r-- | tests/auto/qfontmetrics/ucs4font.ttf | bin | 0 -> 3076 bytes |
4 files changed, 28 insertions, 1 deletions
diff --git a/tests/auto/qfontmetrics/qfontmetrics.pro b/tests/auto/qfontmetrics/qfontmetrics.pro index 51a7057..c0dc1ab 100644 --- a/tests/auto/qfontmetrics/qfontmetrics.pro +++ b/tests/auto/qfontmetrics/qfontmetrics.pro @@ -1,4 +1,4 @@ load(qttest_p4) SOURCES += tst_qfontmetrics.cpp - +RESOURCES += testfont.qrc diff --git a/tests/auto/qfontmetrics/testfont.qrc b/tests/auto/qfontmetrics/testfont.qrc new file mode 100644 index 0000000..bc0c0b0 --- /dev/null +++ b/tests/auto/qfontmetrics/testfont.qrc @@ -0,0 +1,5 @@ +<RCC> + <qresource prefix="/fonts"> + <file>ucs4font.ttf</file> + </qresource> +</RCC> diff --git a/tests/auto/qfontmetrics/tst_qfontmetrics.cpp b/tests/auto/qfontmetrics/tst_qfontmetrics.cpp index a22d624..4250415 100644 --- a/tests/auto/qfontmetrics/tst_qfontmetrics.cpp +++ b/tests/auto/qfontmetrics/tst_qfontmetrics.cpp @@ -74,6 +74,7 @@ private slots: void bypassShaping(); void elidedMultiLength(); void elidedMultiLengthF(); + void inFontUcs4(); }; tst_QFontMetrics::tst_QFontMetrics() @@ -266,5 +267,26 @@ void tst_QFontMetrics::elidedMultiLengthF() elidedMultiLength_helper<QFontMetricsF>(); } +void tst_QFontMetrics::inFontUcs4() +{ + int id = QFontDatabase::addApplicationFont(":/fonts/ucs4font.ttf"); + QVERIFY(id >= 0); + + QFont font("QtTestUcs4"); + { + QFontMetrics fm(font); + + QVERIFY(fm.inFontUcs4(0x1D7FF)); + } + + { + QFontMetricsF fm(font); + + QVERIFY(fm.inFontUcs4(0x1D7FF)); + } + + QFontDatabase::removeApplicationFont(id); +} + QTEST_MAIN(tst_QFontMetrics) #include "tst_qfontmetrics.moc" diff --git a/tests/auto/qfontmetrics/ucs4font.ttf b/tests/auto/qfontmetrics/ucs4font.ttf Binary files differnew file mode 100644 index 0000000..31b6997 --- /dev/null +++ b/tests/auto/qfontmetrics/ucs4font.ttf |