summaryrefslogtreecommitdiffstats
path: root/tests/auto/qfontmetrics
diff options
context:
space:
mode:
authorEskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>2010-08-04 11:09:30 (GMT)
committerEskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>2010-08-06 08:26:26 (GMT)
commit5e06fcfa6139988cce2e88d604ba8e05d5e43dd0 (patch)
treeb2baaf8fa1538b42230f4f584e888be2c291bda6 /tests/auto/qfontmetrics
parent63711cb855114b879c6bad192708bf6a19c31f32 (diff)
downloadQt-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/qfontmetrics')
-rw-r--r--tests/auto/qfontmetrics/qfontmetrics.pro2
-rw-r--r--tests/auto/qfontmetrics/testfont.qrc5
-rw-r--r--tests/auto/qfontmetrics/tst_qfontmetrics.cpp22
-rw-r--r--tests/auto/qfontmetrics/ucs4font.ttfbin0 -> 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
new file mode 100644
index 0000000..31b6997
--- /dev/null
+++ b/tests/auto/qfontmetrics/ucs4font.ttf
Binary files differ