summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKonstantin Ritt <ritt.ks@gmail.com>2014-02-04 23:14:25 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-02-06 11:38:26 +0100
commit11fe2bcd7b3b62e61b06b1bc0794cd538431a696 (patch)
tree4c5c9dd7b1afa0fc43fcef4cb38d910432ff916e /src
parent57fe9bd2c6a361cf979d17d962abed5db17a1457 (diff)
Fix japanese text rendering with Harfbuzz-NG
In rendering, treat (Hiragana|Katakana|Han)+ sequence like Han. Task-number: QTBUG-36066 Change-Id: I3b5d2833e73431b07fa0df859b5d716357374cf4 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/gui/text/qtextengine.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp
index 14bdc3167e..70304f7d30 100644
--- a/src/gui/text/qtextengine.cpp
+++ b/src/gui/text/qtextengine.cpp
@@ -1501,8 +1501,18 @@ void QTextEngine::itemize() const
{
QVarLengthArray<uchar> scripts(length);
QUnicodeTools::initScripts(string, length, scripts.data());
- for (int i = 0; i < length; ++i)
- analysis[i].script = scripts.at(i);
+ for (int i = 0; i < length; ++i) {
+ ushort script = scripts.at(i);
+ switch (script) {
+ case QChar::Script_Hiragana:
+ case QChar::Script_Katakana:
+ script = QChar::Script_Han;
+ break;
+ default:
+ break;
+ }
+ analysis[i].script = script;
+ }
}
const ushort *uc = string;