user avatar
3rdparty/openwnn: Fix and optimize the engine due to QStringLiteral
Jarkko Koivikko authored
QStringLiteral is broken in MSVC2015 onwards when used with \uXXXX
encoded character literals. This was the reason Japanese tests were
failing - the OpenWNN engine was actually broken and producing
garbage.

Not only this change eliminates QStringLiteral from openwnn, but also
reduces runtime memory usage by replacing QMap<QString, QString>.

The new solution is based on simple binary lookup table WnnLookupTable.
WnnLookupTable data was converted from existing QMap structures using
WnnLookupTable::create() method, which was left there for future
reference.

This change also removes the unnecessary QObjectPrivate definitions
from Romkan* classes.

[ChangeLog][OpenWNN] Fixed and optimized OpenWNN engine (as a workaround
for QStringLiteral breakage)

Task-number: QTBUG-62133
Change-Id: I50c9e2f5c363e1314f47d7023685da543ec9a7eb
Reviewed-by: default avatarhjk <hjk@qt.io>
Reviewed-by: default avatarMitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit 0bf1c6ad)
27eb4f56
Name Last commit Last update
..
3rdparty
content
doc
import
styles
abstractinputmethod.cpp
abstractinputmethod.h
abstractinputpanel.cpp
abstractinputpanel.h
appinputpanel.cpp
appinputpanel.h
defaultinputmethod.cpp
defaultinputmethod.h
desktopinputpanel.cpp
desktopinputpanel.h
desktopinputselectioncontrol.cpp
desktopinputselectioncontrol.h
enterkeyaction.cpp
enterkeyaction.h
enterkeyactionattachedtype.cpp
enterkeyactionattachedtype.h
generateresource.pri
hangul.cpp
hangul.h
hangulinputmethod.cpp
hangulinputmethod.h
hunspellinputmethod.cpp
hunspellinputmethod.h
hunspellinputmethod_p.cpp
hunspellinputmethod_p.h
hunspellworker.cpp
hunspellworker.h
inputcontext.cpp
inputcontext.h
inputengine.cpp
inputengine.h
inputmethod.cpp
inputmethod.h
inputselectionhandle.cpp
inputselectionhandle.h
inputview.cpp
inputview.h
lipiinputmethod.cpp
lipiinputmethod.h
lipisharedrecognizer.cpp
lipisharedrecognizer.h
lipiworker.cpp
lipiworker.h
openwnninputmethod.cpp
openwnninputmethod.h
pinyindecoderservice.cpp
pinyindecoderservice.h
pinyininputmethod.cpp
pinyininputmethod.h
plaininputmethod.cpp
plaininputmethod.h
platforminputcontext.cpp
platforminputcontext.h
plugin.cpp
plugin.h
qtvirtualkeyboard.json
selectionlistmodel.cpp
selectionlistmodel.h
settings.cpp
settings.h
shadowinputcontext.cpp
shadowinputcontext.h
shifthandler.cpp
shifthandler.h
t9writeinputmethod.cpp
t9writeinputmethod.h
t9writeworker.cpp
t9writeworker.h
tcinputmethod.cpp
tcinputmethod.h
trace.cpp
trace.h
virtualkeyboard.pro
virtualkeyboarddebug.h
virtualkeyboardsettings.cpp
virtualkeyboardsettings.h