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>
bb10
Konstantin Ritt 2014-02-04 23:14:25 +02:00 committed by The Qt Project
parent 57fe9bd2c6
commit 11fe2bcd7b
1 changed files with 12 additions and 2 deletions

View File

@ -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;