From 11fe2bcd7b3b62e61b06b1bc0794cd538431a696 Mon Sep 17 00:00:00 2001 From: Konstantin Ritt Date: Tue, 4 Feb 2014 23:14:25 +0200 Subject: [PATCH] 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 --- src/gui/text/qtextengine.cpp | 14 ++++++++++++-- 1 file 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 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;