diff options
author | Konstantin Ritt <ritt.ks@gmail.com> | 2014-02-04 23:14:25 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-02-06 11:38:26 +0100 |
commit | 11fe2bcd7b3b62e61b06b1bc0794cd538431a696 (patch) | |
tree | 4c5c9dd7b1afa0fc43fcef4cb38d910432ff916e /src | |
parent | 57fe9bd2c6a361cf979d17d962abed5db17a1457 (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.cpp | 14 |
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; |