summaryrefslogtreecommitdiffstats
path: root/src/gui/text/qfontmetrics.cpp
diff options
context:
space:
mode:
authorKonstantin Ritt <ritt.ks@gmail.com>2012-06-10 18:30:10 +0300
committerQt by Nokia <qt-info@nokia.com>2012-06-14 05:22:11 +0200
commit09bc8e2cb8238d8dee79a0f22b26efcc05ce6a52 (patch)
tree29f832231beca539fd6d03261f8e7c18938827db /src/gui/text/qfontmetrics.cpp
parentdd68e93de7eb1c50cc5b5779497e03f491c90373 (diff)
QFontMetrics/QRawFont: Optimize SMP code points handling a bit
Calling QString::fromUcs4() for the single UCS-4 -encoded character is quite suboptimal since the BOM detections and the resulting QString aren't really used; all we need is to split the UCS-4 code point into the UCS-2 surrogate pair. Change-Id: Ia5b68312909bf551cf2493d9e2752a7d7d837fb9 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'src/gui/text/qfontmetrics.cpp')
-rw-r--r--src/gui/text/qfontmetrics.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/gui/text/qfontmetrics.cpp b/src/gui/text/qfontmetrics.cpp
index 83d51e2e71..e5ddcb80d5 100644
--- a/src/gui/text/qfontmetrics.cpp
+++ b/src/gui/text/qfontmetrics.cpp
@@ -413,8 +413,7 @@ bool QFontMetrics::inFontUcs4(uint ucs4) const
Q_ASSERT(engine != 0);
if (engine->type() == QFontEngine::Box)
return false;
- QString utf16 = QString::fromUcs4(&ucs4, 1);
- return engine->canRender(utf16.data(), utf16.length());
+ return engine->canRender(ucs4);
}
/*!
@@ -1274,8 +1273,7 @@ bool QFontMetricsF::inFontUcs4(uint ucs4) const
Q_ASSERT(engine != 0);
if (engine->type() == QFontEngine::Box)
return false;
- QString utf16 = QString::fromUcs4(&ucs4, 1);
- return engine->canRender(utf16.data(), utf16.length());
+ return engine->canRender(ucs4);
}
/*!