aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJarkko Koivikko <jarkko.koivikko@code-q.fi>2018-10-08 20:55:36 +0300
committerJarkko Koivikko <jarkko.koivikko@code-q.fi>2018-10-11 08:26:45 +0000
commitca5ee85100306bbfe5746d0dc56e07c534884666 (patch)
tree9bd77d7874a489d6c1c7f5d74e90736aef97032f
parent6bcc33aea90d5d725a08b51eda7374a50408ee07 (diff)
t9write: Add Thai handwriting recognition
[ChangeLog] Added Thai handwriting recognition (T9 Write). Change-Id: Idb34fcf07d0318bbca6e6573e5859edb375f205f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
-rw-r--r--src/plugins/t9write/3rdparty/t9write/t9write.pro1
-rw-r--r--src/plugins/t9write/3rdparty/t9write/unpack.py3
-rw-r--r--src/plugins/t9write/plugin/plugin.pro1
-rw-r--r--src/plugins/t9write/plugin/t9writeinputmethod.cpp54
-rw-r--r--src/plugins/t9write/plugin/t9writeinputmethod_p.h1
-rw-r--r--src/virtualkeyboard/content/components/InputModeKey.qml1
-rw-r--r--src/virtualkeyboard/content/components/Keyboard.qml3
-rw-r--r--src/virtualkeyboard/content/layouts/th_TH/handwriting.qml99
-rw-r--r--src/virtualkeyboard/content/styles/default/style.qml2
-rw-r--r--src/virtualkeyboard/content/styles/retro/style.qml2
-rw-r--r--src/virtualkeyboard/qvirtualkeyboardinputengine.cpp1
-rw-r--r--src/virtualkeyboard/qvirtualkeyboardinputengine.h3
-rw-r--r--tests/auto/inputpanel/data/inputpanel/handwriting.js3
-rw-r--r--tests/auto/inputpanel/data/inputpanel/inputpanel.qml4
-rw-r--r--tests/auto/inputpanel/data/inputpanel/unipen_data_thai.js6541
-rw-r--r--tests/auto/inputpanel/data/tst_inputpanel.qml1
-rw-r--r--tests/auto/inputpanel/hwr_test_data/thai/3604_100_0.txt400
-rw-r--r--tests/auto/inputpanel/hwr_test_data/thai/3623_100_0.txt230
-rw-r--r--tests/auto/inputpanel/hwr_test_data/thai/3626_100_0.txt395
-rw-r--r--tests/auto/inputpanel/hwr_test_data/thai/3633_100_0.txt155
-rw-r--r--tests/auto/inputpanel/hwr_test_data/thai/3637_100_0.txt158
21 files changed, 8047 insertions, 11 deletions
diff --git a/src/plugins/t9write/3rdparty/t9write/t9write.pro b/src/plugins/t9write/3rdparty/t9write/t9write.pro
index b86319ea..c7f0a86b 100644
--- a/src/plugins/t9write/3rdparty/t9write/t9write.pro
+++ b/src/plugins/t9write/3rdparty/t9write/t9write.pro
@@ -6,6 +6,7 @@ HEADERS += $$files(api/*)
T9WRITE_RESOURCE_FILES = \
$$files(data/arabic/*.bin) \
$$files(data/hebrew/*.bin) \
+ $$files(data/thai/*.bin) \
$$files(data/*.bin) \
$$files(data/*.ldb) \
$$files(data/*.hdb) \
diff --git a/src/plugins/t9write/3rdparty/t9write/unpack.py b/src/plugins/t9write/3rdparty/t9write/unpack.py
index d3a67923..4fc1f4dc 100644
--- a/src/plugins/t9write/3rdparty/t9write/unpack.py
+++ b/src/plugins/t9write/3rdparty/t9write/unpack.py
@@ -106,6 +106,9 @@ UNPACK_RULES = [
'data/hebrew': [
'*/Hebrew/*_le.bin',
],
+'data/thai': [
+ '*/*Thai*/*_le.bin',
+],
}, { # Data: Alphabetic and CJK databases
'data': [
'*/*_le.bin',
diff --git a/src/plugins/t9write/plugin/plugin.pro b/src/plugins/t9write/plugin/plugin.pro
index 0f68f8c4..07630b5f 100644
--- a/src/plugins/t9write/plugin/plugin.pro
+++ b/src/plugins/t9write/plugin/plugin.pro
@@ -63,6 +63,7 @@ t9write-alphabetic {
contains(CONFIG, lang-sq.*): LAYOUT_FILES += $$LAYOUTS_BASE/content/layouts/sq_AL/handwriting.fallback
contains(CONFIG, lang-sr.*): LAYOUT_FILES += $$LAYOUTS_BASE/content/layouts/sr_SP/handwriting.qml
contains(CONFIG, lang-sv.*): LAYOUT_FILES += $$LAYOUTS_BASE/content/layouts/sv_SE/handwriting.fallback
+ contains(CONFIG, lang-th.*): LAYOUT_FILES += $$LAYOUTS_BASE/content/layouts/th_TH/handwriting.qml
contains(CONFIG, lang-tr.*): LAYOUT_FILES += $$LAYOUTS_BASE/content/layouts/tr_TR/handwriting.fallback
contains(CONFIG, lang-uk.*): LAYOUT_FILES += $$LAYOUTS_BASE/content/layouts/uk_UA/handwriting.fallback
contains(CONFIG, lang-vi.*): LAYOUT_FILES += $$LAYOUTS_BASE/content/layouts/vi_VN/handwriting.fallback
diff --git a/src/plugins/t9write/plugin/t9writeinputmethod.cpp b/src/plugins/t9write/plugin/t9writeinputmethod.cpp
index 5ea1fd42..03658ea7 100644
--- a/src/plugins/t9write/plugin/t9writeinputmethod.cpp
+++ b/src/plugins/t9write/plugin/t9writeinputmethod.cpp
@@ -188,6 +188,7 @@ public:
case T9WriteInputMethod::EngineMode::Alphabetic:
case T9WriteInputMethod::EngineMode::Arabic:
case T9WriteInputMethod::EngineMode::Hebrew:
+ case T9WriteInputMethod::EngineMode::Thai:
cjk = false;
break;
case T9WriteInputMethod::EngineMode::SimplifiedChinese:
@@ -317,6 +318,13 @@ public:
hwrDbPath.append(QLatin1String("hebrew/_databas_le.bin"));
#endif
break;
+ case T9WriteInputMethod::EngineMode::Thai:
+#if T9WRITEAPIMAJORVERNUM >= 21
+ hwrDbPath.append(QLatin1String("thai/hwrDB_le.bin"));
+#else
+ hwrDbPath.append(QLatin1String("thai/_databas_le.bin"));
+#endif
+ break;
case T9WriteInputMethod::EngineMode::SimplifiedChinese:
hwrDbPath.append(QLatin1String("cjk_S_gb18030_le.hdb"));
break;
@@ -349,13 +357,20 @@ public:
QStringList languageCountry = locale.name().split(QLatin1String("_"));
if (languageCountry.length() != 2)
return QString();
+ const QString language = languageCountry[0].toUpper();
QString dictionary;
QDirIterator it(dir, QDirIterator::NoIteratorFlags);
while (it.hasNext()) {
QString fileEntry = it.next();
+ const QFileInfo fileInfo(fileEntry);
+
+ if (fileInfo.isDir())
+ continue;
- if (!fileEntry.contains(QLatin1String("_") + languageCountry[0].toUpper()))
+ const QString fileName(fileInfo.fileName());
+ if (!fileName.startsWith(language) &&
+ !fileName.startsWith(QLatin1String("zzEval_") + language))
continue;
if (fileEntry.endsWith(QLatin1String(".ldb"))) {
@@ -419,15 +434,15 @@ public:
finishRecognition();
- if (!initEngine(mapLocaleToEngineMode(locale)))
- return false;
-
DECUMA_UINT32 language = mapToDecumaLanguage(locale, inputMode);
if (language == DECUMA_LANG_GSMDEFAULT) {
qCCritical(lcT9Write) << "Language is not supported" << locale.name();
return false;
}
+ if (!initEngine(mapLocaleToEngineMode(locale, language)))
+ return false;
+
int isLanguageSupported = 0;
DECUMA_API(DatabaseIsLanguageSupported)(sessionSettings.pStaticDB, language, &isLanguageSupported);
if (!isLanguageSupported) {
@@ -477,7 +492,7 @@ public:
return status == decumaNoError;
}
- T9WriteInputMethod::EngineMode mapLocaleToEngineMode(const QLocale &locale)
+ T9WriteInputMethod::EngineMode mapLocaleToEngineMode(const QLocale &locale, DECUMA_UINT32 language = 0)
{
#ifdef HAVE_T9WRITE_CJK
switch (locale.language()) {
@@ -497,6 +512,7 @@ public:
}
#else
Q_UNUSED(locale)
+ Q_UNUSED(language)
#endif
#ifdef HAVE_T9WRITE_ALPHABETIC
@@ -505,6 +521,9 @@ public:
return T9WriteInputMethod::EngineMode::Arabic;
case QLocale::HebrewScript:
return T9WriteInputMethod::EngineMode::Hebrew;
+ case QLocale::ThaiScript:
+ return language == DECUMA_LANG_EN ? T9WriteInputMethod::EngineMode::Alphabetic
+ : T9WriteInputMethod::EngineMode::Thai;
default:
return T9WriteInputMethod::EngineMode::Alphabetic;
}
@@ -677,6 +696,9 @@ public:
} else if (language == DECUMA_LANG_IW) {
if (inputMode != QVirtualKeyboardInputEngine::InputMode::Hebrew)
language = DECUMA_LANG_EN;
+ } else if (language == DECUMA_LANG_TH) {
+ if (inputMode != QVirtualKeyboardInputEngine::InputMode::Thai)
+ language = DECUMA_LANG_EN;
}
return language;
@@ -813,6 +835,11 @@ public:
leftToRightGestures = false;
break;
+ case QVirtualKeyboardInputEngine::InputMode::Thai:
+ symbolCategories.append(DECUMA_CATEGORY_THAI_BASE);
+ symbolCategories.append(DECUMA_CATEGORY_THAI_NON_BASE);
+ break;
+
default:
qCCritical(lcT9Write) << "Invalid input mode" << inputMode;
return false;
@@ -1101,7 +1128,7 @@ public:
QVirtualKeyboardTrace *trace = new QVirtualKeyboardTrace();
#ifdef QT_VIRTUALKEYBOARD_RECORD_TRACE_INPUT
- trace->setChannels(QStringList("t"));
+ trace->setChannels(QStringList(QLatin1String("t")));
#endif
traceList.append(trace);
@@ -1154,9 +1181,7 @@ public:
qCDebug(lcT9Write) << "T9WriteInputMethodPrivate::noteSelected():" << index;
Q_ASSERT(index >= 0 && index < wordCandidatesHwrResultIndex.length());
int resultIndex = wordCandidatesHwrResultIndex[index];
- DECUMA_STATUS status = DECUMA_API(NoteSelectedCandidate)(decumaSession, resultIndex);
- Q_UNUSED(status)
- Q_ASSERT(status == decumaNoError);
+ DECUMA_API(NoteSelectedCandidate)(decumaSession, resultIndex);
}
void restartRecognition()
@@ -1283,7 +1308,7 @@ public:
if (!ch.isLetter() || (ch.isUpper() == (textCase == QVirtualKeyboardInputEngine::TextCase::Upper))) {
QStringList homeLocations = QStandardPaths::standardLocations(QStandardPaths::HomeLocation);
if (!homeLocations.isEmpty()) {
- unipenTrace->setDirectory(QStringLiteral("%1/%2").arg(homeLocations.at(0)).arg("VIRTUAL_KEYBOARD_TRACES"));
+ unipenTrace->setDirectory(QStringLiteral("%1/%2").arg(homeLocations.at(0)).arg(QLatin1String("VIRTUAL_KEYBOARD_TRACES")));
unipenTrace->record(traceList);
unipenTrace->save(ch.unicode(), 100);
}
@@ -1706,6 +1731,9 @@ QList<QVirtualKeyboardInputEngine::InputMode> T9WriteInputMethod::inputModes(con
case QLocale::CyrillicScript:
availableInputModes.append(QVirtualKeyboardInputEngine::InputMode::Cyrillic);
break;
+ case QLocale::ThaiScript:
+ availableInputModes.append(QVirtualKeyboardInputEngine::InputMode::Thai);
+ break;
default:
break;
}
@@ -1724,6 +1752,12 @@ QList<QVirtualKeyboardInputEngine::InputMode> T9WriteInputMethod::inputModes(con
if (!(inputMethodHints & (Qt::ImhDialableCharactersOnly | Qt::ImhFormattedNumbersOnly | Qt::ImhDigitsOnly | Qt::ImhLatinOnly)))
availableInputModes.append(QVirtualKeyboardInputEngine::InputMode::Hebrew);
break;
+ case T9WriteInputMethod::EngineMode::Thai:
+ if (d->findHwrDb(T9WriteInputMethod::EngineMode::Thai, d->defaultHwrDbPath).isEmpty())
+ return availableInputModes;
+ if (!(inputMethodHints & (Qt::ImhDialableCharactersOnly | Qt::ImhFormattedNumbersOnly | Qt::ImhDigitsOnly | Qt::ImhLatinOnly)))
+ availableInputModes.append(QVirtualKeyboardInputEngine::InputMode::Thai);
+ break;
#endif
#ifdef HAVE_T9WRITE_CJK
case T9WriteInputMethod::EngineMode::SimplifiedChinese:
diff --git a/src/plugins/t9write/plugin/t9writeinputmethod_p.h b/src/plugins/t9write/plugin/t9writeinputmethod_p.h
index fe4b1b5a..39a0b2ac 100644
--- a/src/plugins/t9write/plugin/t9writeinputmethod_p.h
+++ b/src/plugins/t9write/plugin/t9writeinputmethod_p.h
@@ -61,6 +61,7 @@ public:
Alphabetic,
Arabic,
Hebrew,
+ Thai,
SimplifiedChinese,
TraditionalChinese,
HongKongChinese,
diff --git a/src/virtualkeyboard/content/components/InputModeKey.qml b/src/virtualkeyboard/content/components/InputModeKey.qml
index 6ac04422..f7b31b9b 100644
--- a/src/virtualkeyboard/content/components/InputModeKey.qml
+++ b/src/virtualkeyboard/content/components/InputModeKey.qml
@@ -75,6 +75,7 @@ Key {
"中文", // InputEngine.InputMode.ChineseHandwriting
"日本語", // InputEngine.InputMode.JapaneseHandwriting
"한국어", // InputEngine.InputMode.KoreanHandwriting
+ "กขค", // InputEngine.InputMode.Thai
]
/*!
diff --git a/src/virtualkeyboard/content/components/Keyboard.qml b/src/virtualkeyboard/content/components/Keyboard.qml
index 00c7a926..da064820 100644
--- a/src/virtualkeyboard/content/components/Keyboard.qml
+++ b/src/virtualkeyboard/content/components/Keyboard.qml
@@ -1344,6 +1344,9 @@ Item {
// Make sure the current layout is included in the list
if (customInputMethodSharedLayouts.indexOf(layoutType) === -1)
customInputMethodSharedLayouts.push(layoutType)
+
+ // Reset input mode, since inputEngine.inputModes is updated
+ inputModeNeedsReset = true
}
} catch (e) {
console.error(e.message)
diff --git a/src/virtualkeyboard/content/layouts/th_TH/handwriting.qml b/src/virtualkeyboard/content/layouts/th_TH/handwriting.qml
new file mode 100644
index 00000000..428f29fa
--- /dev/null
+++ b/src/virtualkeyboard/content/layouts/th_TH/handwriting.qml
@@ -0,0 +1,99 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.0
+import QtQuick.Layouts 1.0
+import QtQuick.VirtualKeyboard 2.3
+
+KeyboardLayout {
+ function createInputMethod() {
+ return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent)
+ }
+ sharedLayouts: ['symbols']
+
+ KeyboardRow {
+ Layout.preferredHeight: 3
+ KeyboardColumn {
+ Layout.preferredWidth: bottomRow.width - hideKeyboardKey.width
+ KeyboardRow {
+ TraceInputKey {
+ objectName: "hwrInputArea"
+ patternRecognitionMode: InputEngine.PatternRecognitionMode.Handwriting
+ horizontalRulers:
+ InputContext.inputEngine.inputMode !== InputEngine.InputMode.Thai ? [] :
+ [Math.round(boundingBox.height / 4), Math.round(boundingBox.height / 4) * 3]
+ }
+ }
+ }
+ KeyboardColumn {
+ Layout.preferredWidth: hideKeyboardKey.width
+ KeyboardRow {
+ BackspaceKey {}
+ }
+ KeyboardRow {
+ EnterKey {}
+ }
+ KeyboardRow {
+ ShiftKey { }
+ }
+ }
+ }
+ KeyboardRow {
+ id: bottomRow
+ Layout.preferredHeight: 1
+ keyWeight: 154
+ InputModeKey {
+ weight: 217
+ }
+ ChangeLanguageKey {
+ weight: 154
+ customLayoutsOnly: true
+ }
+ HandwritingModeKey {
+ weight: 154
+ }
+ SpaceKey {
+ weight: 864
+ }
+ Key {
+ key: Qt.Key_QuoteDbl
+ text: "\""
+ alternativeKeys: "<>()#%&*/\\\"'=+-_"
+ }
+ Key {
+ key: Qt.Key_Period
+ text: "."
+ alternativeKeys: ":;,.?!"
+ }
+ HideKeyboardKey {
+ id: hideKeyboardKey
+ weight: 204
+ }
+ }
+}
diff --git a/src/virtualkeyboard/content/styles/default/style.qml b/src/virtualkeyboard/content/styles/default/style.qml
index d561ac28..095d5fc4 100644
--- a/src/virtualkeyboard/content/styles/default/style.qml
+++ b/src/virtualkeyboard/content/styles/default/style.qml
@@ -792,6 +792,8 @@ KeyboardStyle {
return "日本語"
case InputEngine.InputMode.KoreanHandwriting:
return "한국어"
+ case InputEngine.InputMode.Thai:
+ return "กขค"
default:
return "Abc"
}
diff --git a/src/virtualkeyboard/content/styles/retro/style.qml b/src/virtualkeyboard/content/styles/retro/style.qml
index eb640783..17d2581e 100644
--- a/src/virtualkeyboard/content/styles/retro/style.qml
+++ b/src/virtualkeyboard/content/styles/retro/style.qml
@@ -905,6 +905,8 @@ KeyboardStyle {
return "日本語"
case InputEngine.InputMode.KoreanHandwriting:
return "한국어"
+ case InputEngine.InputMode.Thai:
+ return "กขค"
default:
return "Abc"
}
diff --git a/src/virtualkeyboard/qvirtualkeyboardinputengine.cpp b/src/virtualkeyboard/qvirtualkeyboardinputengine.cpp
index ddc793bf..f6fc03ec 100644
--- a/src/virtualkeyboard/qvirtualkeyboardinputengine.cpp
+++ b/src/virtualkeyboard/qvirtualkeyboardinputengine.cpp
@@ -788,6 +788,7 @@ void QVirtualKeyboardInputEngine::timerEvent(QTimerEvent *timerEvent)
\li \c InputEngine.InputMode.ChineseHandwriting Chinese handwriting.
\li \c InputEngine.InputMode.JapaneseHandwriting Japanese handwriting.
\li \c InputEngine.InputMode.KoreanHandwriting Korean handwriting.
+ \li \c InputEngine.InputMode.Thai Thai input mode.
\endlist
*/
diff --git a/src/virtualkeyboard/qvirtualkeyboardinputengine.h b/src/virtualkeyboard/qvirtualkeyboardinputengine.h
index 29c0eedd..1a0f68d1 100644
--- a/src/virtualkeyboard/qvirtualkeyboardinputengine.h
+++ b/src/virtualkeyboard/qvirtualkeyboardinputengine.h
@@ -83,7 +83,8 @@ public:
Hebrew,
ChineseHandwriting,
JapaneseHandwriting,
- KoreanHandwriting
+ KoreanHandwriting,
+ Thai
};
Q_ENUM(InputMode)
diff --git a/tests/auto/inputpanel/data/inputpanel/handwriting.js b/tests/auto/inputpanel/data/inputpanel/handwriting.js
index 0721f141..e289fb60 100644
--- a/tests/auto/inputpanel/data/inputpanel/handwriting.js
+++ b/tests/auto/inputpanel/data/inputpanel/handwriting.js
@@ -39,6 +39,7 @@
.import "unipen_data_arabic.js" as UnipenDataArabic
.import "unipen_data_hebrew.js" as UnipenDataHebrew
.import "unipen_data_vietnamese.js" as UnipenDataVietnamese
+.import "unipen_data_thai.js" as UnipenDataThai
function emulate(testcase, hwrInputArea, ch, instant, locale) {
var chKey = (((typeof ch == "number") ? ch : ch.charCodeAt(0)) + 0x100000000).toString(16).substr(1)
@@ -66,6 +67,8 @@ function emulate(testcase, hwrInputArea, ch, instant, locale) {
unipenData = UnipenDataArabic
else if (UnipenDataHebrew.unipenData.hasOwnProperty(chKey))
unipenData = UnipenDataHebrew
+ else if (UnipenDataThai.unipenData.hasOwnProperty(chKey))
+ unipenData = UnipenDataThai
else
return false
var chData = unipenData.unipenData[chKey]
diff --git a/tests/auto/inputpanel/data/inputpanel/inputpanel.qml b/tests/auto/inputpanel/data/inputpanel/inputpanel.qml
index 79526c91..62361824 100644
--- a/tests/auto/inputpanel/data/inputpanel/inputpanel.qml
+++ b/tests/auto/inputpanel/data/inputpanel/inputpanel.qml
@@ -300,6 +300,8 @@ InputPanel {
return InputEngine.InputMode.JapaneseHandwriting
else if (inputModeName === "KoreanHandwriting")
return InputEngine.InputMode.KoreanHandwriting
+ else if (inputModeName === "Thai")
+ return InputEngine.InputMode.Thai
else
return -1
}
@@ -337,6 +339,7 @@ InputPanel {
testcase.verify(InputEngine.InputMode.ChineseHandwriting !== undefined)
testcase.verify(InputEngine.InputMode.JapaneseHandwriting !== undefined)
testcase.verify(InputEngine.InputMode.KoreanHandwriting !== undefined)
+ testcase.verify(InputEngine.InputMode.Thai !== undefined)
testcase.verify(InputEngine.PatternRecognitionMode.None !== undefined)
testcase.verify(InputEngine.PatternRecognitionMode.PatternRecognitionDisabled !== undefined)
testcase.verify(InputEngine.PatternRecognitionMode.Handwriting !== undefined)
@@ -370,6 +373,7 @@ InputPanel {
testcase.verify(InputEngine.ChineseHandwriting !== undefined)
testcase.verify(InputEngine.JapaneseHandwriting !== undefined)
testcase.verify(InputEngine.KoreanHandwriting !== undefined)
+ testcase.verify(InputEngine.Thai !== undefined)
testcase.verify(InputEngine.None !== undefined)
testcase.verify(InputEngine.PatternRecognitionDisabled !== undefined)
testcase.verify(InputEngine.Handwriting !== undefined)
diff --git a/tests/auto/inputpanel/data/inputpanel/unipen_data_thai.js b/tests/auto/inputpanel/data/inputpanel/unipen_data_thai.js
new file mode 100644
index 00000000..525df258
--- /dev/null
+++ b/tests/auto/inputpanel/data/inputpanel/unipen_data_thai.js
@@ -0,0 +1,6541 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+var unipenData = {
+ "0x0e14": {
+ ".COORD": [
+ "X",
+ "Y",
+ "T"
+ ],
+ ".HIERARCHY": "CHARACTER",
+ ".PEN": [
+ [
+ [
+ 452,
+ 135,
+ 0
+ ],
+ [
+ 451,
+ 135,
+ 214
+ ],
+ [
+ 451,
+ 135,
+ 215
+ ],
+ [
+ 450,
+ 135,
+ 278
+ ],
+ [
+ 450,
+ 135,
+ 279
+ ],
+ [
+ 449,
+ 135,
+ 318
+ ],
+ [
+ 449,
+ 135,
+ 319
+ ],
+ [
+ 448,
+ 135,
+ 348
+ ],
+ [
+ 448,
+ 135,
+ 377
+ ],
+ [
+ 447,
+ 135,
+ 379
+ ],
+ [
+ 447,
+ 135,
+ 379
+ ],
+ [
+ 446,
+ 136,
+ 381
+ ],
+ [
+ 446,
+ 136,
+ 408
+ ],
+ [
+ 445,
+ 136,
+ 438
+ ],
+ [
+ 445,
+ 136,
+ 439
+ ],
+ [
+ 442,
+ 137,
+ 440
+ ],
+ [
+ 442,
+ 137,
+ 441
+ ],
+ [
+ 441,
+ 137,
+ 499
+ ],
+ [
+ 441,
+ 137,
+ 500
+ ],
+ [
+ 440,
+ 137,
+ 559
+ ],
+ [
+ 440,
+ 137,
+ 560
+ ],
+ [
+ 439,
+ 137,
+ 619
+ ],
+ [
+ 439,
+ 137,
+ 620
+ ],
+ [
+ 438,
+ 137,
+ 622
+ ],
+ [
+ 438,
+ 137,
+ 623
+ ],
+ [
+ 437,
+ 137,
+ 681
+ ],
+ [
+ 437,
+ 137,
+ 683
+ ],
+ [
+ 436,
+ 137,
+ 746
+ ],
+ [
+ 436,
+ 137,
+ 747
+ ],
+ [
+ 435,
+ 137,
+ 749
+ ],
+ [
+ 435,
+ 137,
+ 749
+ ],
+ [
+ 434,
+ 137,
+ 802
+ ],
+ [
+ 434,
+ 137,
+ 804
+ ],
+ [
+ 432,
+ 135,
+ 863
+ ],
+ [
+ 432,
+ 135,
+ 864
+ ],
+ [
+ 432,
+ 134,
+ 924
+ ],
+ [
+ 432,
+ 134,
+ 925
+ ],
+ [
+ 432,
+ 133,
+ 926
+ ],
+ [
+ 432,
+ 133,
+ 927
+ ],
+ [
+ 432,
+ 131,
+ 985
+ ],
+ [
+ 432,
+ 131,
+ 986
+ ],
+ [
+ 432,
+ 130,
+ 1045
+ ],
+ [
+ 432,
+ 130,
+ 1046
+ ],
+ [
+ 433,
+ 129,
+ 1106
+ ],
+ [
+ 433,
+ 129,
+ 1107
+ ],
+ [
+ 435,
+ 128,
+ 1168
+ ],
+ [
+ 435,
+ 128,
+ 1170
+ ],
+ [
+ 437,
+ 127,
+ 1171
+ ],
+ [
+ 437,
+ 127,
+ 1172
+ ],
+ [
+ 439,
+ 126,
+ 1233
+ ],
+ [
+ 439,
+ 126,
+ 1235
+ ],
+ [
+ 441,
+ 126,
+ 1236
+ ],
+ [
+ 441,
+ 126,
+ 1237
+ ],
+ [
+ 442,
+ 126,
+ 1238
+ ],
+ [
+ 442,
+ 126,
+ 1239
+ ],
+ [
+ 446,
+ 126,
+ 1291
+ ],
+ [
+ 446,
+ 126,
+ 1292
+ ],
+ [
+ 447,
+ 126,
+ 1294
+ ],
+ [
+ 447,
+ 126,
+ 1295
+ ],
+ [
+ 448,
+ 126,
+ 1352
+ ],
+ [
+ 448,
+ 126,
+ 1353
+ ],
+ [
+ 450,
+ 126,
+ 1355
+ ],
+ [
+ 450,
+ 126,
+ 1355
+ ],
+ [
+ 451,
+ 126,
+ 1358
+ ],
+ [
+ 451,
+ 126,
+ 1359
+ ],
+ [
+ 452,
+ 126,
+ 1412
+ ],
+ [
+ 452,
+ 126,
+ 1413
+ ],
+ [
+ 452,
+ 127,
+ 1415
+ ],
+ [
+ 452,
+ 127,
+ 1416
+ ],
+ [
+ 453,
+ 127,
+ 1474
+ ],
+ [
+ 453,
+ 127,
+ 1475
+ ],
+ [
+ 454,
+ 128,
+ 1535
+ ],
+ [
+ 454,
+ 128,
+ 1536
+ ],
+ [
+ 454,
+ 129,
+ 1537
+ ],
+ [
+ 454,
+ 129,
+ 1537
+ ],
+ [
+ 454,
+ 130,
+ 1595
+ ],
+ [
+ 454,
+ 130,
+ 1597
+ ],
+ [
+ 454,
+ 131,
+ 1598
+ ],
+ [
+ 454,
+ 131,
+ 1599
+ ],
+ [
+ 455,
+ 132,
+ 1694
+ ],
+ [
+ 455,
+ 132,
+ 1695
+ ],
+ [
+ 455,
+ 133,
+ 1758
+ ],
+ [
+ 455,
+ 133,
+ 1759
+ ],
+ [
+ 455,
+ 134,
+ 1810
+ ],
+ [
+ 455,
+ 134,
+ 1811
+ ],
+ [
+ 455,
+ 135,
+ 1814
+ ],
+ [
+ 455,
+ 135,
+ 1815
+ ],
+ [
+ 455,
+ 136,
+ 1872
+ ],
+ [
+ 455,
+ 136,
+ 1873
+ ],
+ [
+ 455,
+ 137,
+ 1932
+ ],
+ [
+ 455,
+ 137,
+ 1933
+ ],
+ [
+ 455,
+ 139,
+ 1935
+ ],
+ [
+ 455,
+ 139,
+ 1936
+ ],
+ [
+ 455,
+ 140,
+ 1998
+ ],
+ [
+ 455,
+ 140,
+ 1999
+ ],
+ [
+ 455,
+ 141,
+ 2055
+ ],
+ [
+ 455,
+ 142,
+ 2056
+ ],
+ [
+ 455,
+ 142,
+ 2057
+ ],
+ [
+ 455,
+ 143,
+ 2114
+ ],
+ [
+ 455,
+ 143,
+ 2115
+ ],
+ [
+ 454,
+ 144,
+ 2174
+ ],
+ [
+ 454,
+ 144,
+ 2175
+ ],
+ [
+ 454,
+ 146,
+ 2177
+ ],
+ [
+ 454,
+ 146,
+ 2178
+ ],
+ [
+ 454,
+ 147,
+ 2239
+ ],
+ [
+ 454,
+ 147,
+ 2240
+ ],
+ [
+ 453,
+ 149,
+ 2242
+ ],
+ [
+ 453,
+ 149,
+ 2243
+ ],
+ [
+ 453,
+ 151,
+ 2296
+ ],
+ [
+ 453,
+ 151,
+ 2297
+ ],
+ [
+ 452,
+ 152,
+ 2298
+ ],
+ [
+ 452,
+ 152,
+ 2299
+ ],
+ [
+ 452,
+ 153,
+ 2302
+ ],
+ [
+ 452,
+ 153,
+ 2303
+ ],
+ [
+ 452,
+ 154,
+ 2357
+ ],
+ [
+ 452,
+ 154,
+ 2358
+ ],
+ [
+ 452,
+ 155,
+ 2359
+ ],
+ [
+ 452,
+ 155,
+ 2360
+ ],
+ [
+ 452,
+ 156,
+ 2417
+ ],
+ [
+ 452,
+ 156,
+ 2418
+ ],
+ [
+ 451,
+ 157,
+ 2419
+ ],
+ [
+ 451,
+ 157,
+ 2420
+ ],
+ [
+ 450,
+ 158,
+ 2478
+ ],
+ [
+ 450,
+ 158,
+ 2480
+ ],
+ [
+ 449,
+ 161,
+ 2481
+ ],
+ [
+ 449,
+ 161,
+ 2481
+ ],
+ [
+ 448,
+ 162,
+ 2538
+ ],
+ [
+ 448,
+ 162,
+ 2539
+ ],
+ [
+ 447,
+ 163,
+ 2542
+ ],
+ [
+ 447,
+ 163,
+ 2542
+ ],
+ [
+ 446,
+ 164,
+ 2543
+ ],
+ [
+ 446,
+ 164,
+ 2544
+ ],
+ [
+ 445,
+ 166,
+ 2598
+ ],
+ [
+ 445,
+ 166,
+ 2599
+ ],
+ [
+ 443,
+ 168,
+ 2601
+ ],
+ [
+ 443,
+ 168,
+ 2602
+ ],
+ [
+ 440,
+ 171,
+ 2660
+ ],
+ [
+ 440,
+ 171,
+ 2661
+ ],
+ [
+ 437,
+ 173,
+ 2663
+ ],
+ [
+ 437,
+ 173,
+ 2663
+ ],
+ [
+ 437,
+ 174,
+ 2720
+ ],
+ [
+ 437,
+ 174,
+ 2722
+ ],
+ [
+ 435,
+ 175,
+ 2786
+ ],
+ [
+ 435,
+ 175,
+ 2787
+ ],
+ [
+ 433,
+ 177,
+ 2788
+ ],
+ [
+ 433,
+ 177,
+ 2789
+ ],
+ [
+ 431,
+ 177,
+ 2813
+ ],
+ [
+ 431,
+ 177,
+ 2842
+ ],
+ [
+ 429,
+ 178,
+ 2844
+ ],
+ [
+ 429,
+ 178,
+ 2845
+ ],
+ [
+ 428,
+ 178,
+ 3351
+ ],
+ [
+ 428,
+ 178,
+ 3352
+ ],
+ [
+ 427,
+ 178,
+ 3486
+ ],
+ [
+ 427,
+ 178,
+ 3487
+ ],
+ [
+ 426,
+ 177,
+ 3515
+ ],
+ [
+ 426,
+ 177,
+ 3516
+ ],
+ [
+ 426,
+ 176,
+ 3518
+ ],
+ [
+ 426,
+ 176,
+ 3519
+ ],
+ [
+ 425,
+ 174,
+ 3576
+ ],
+ [
+ 425,
+ 174,
+ 3577
+ ],
+ [
+ 424,
+ 174,
+ 3578
+ ],
+ [
+ 424,
+ 174,
+ 3579
+ ],
+ [
+ 423,
+ 172,
+ 3582
+ ],
+ [
+ 423,
+ 172,
+ 3583
+ ],
+ [
+ 423,
+ 171,
+ 3637
+ ],
+ [
+ 423,
+ 171,
+ 3638
+ ],
+ [
+ 421,
+ 169,
+ 3639
+ ],
+ [
+ 421,
+ 169,
+ 3640
+ ],
+ [
+ 419,
+ 167,
+ 3697
+ ],
+ [
+ 419,
+ 167,
+ 3699
+ ],
+ [
+ 418,
+ 165,
+ 3700
+ ],
+ [
+ 418,
+ 165,
+ 3701
+ ],
+ [
+ 417,
+ 164,
+ 3702
+ ],
+ [
+ 417,
+ 164,
+ 3703
+ ],
+ [
+ 416,
+ 162,
+ 3762
+ ],
+ [
+ 416,
+ 162,
+ 3763
+ ],
+ [
+ 415,
+ 160,
+ 3765
+ ],
+ [
+ 415,
+ 160,
+ 3766
+ ],
+ [
+ 415,
+ 159,
+ 3818
+ ],
+ [
+ 415,
+ 159,
+ 3819
+ ],
+ [
+ 413,
+ 156,
+ 3821
+ ],
+ [
+ 413,
+ 156,
+ 3822
+ ],
+ [
+ 412,
+ 155,
+ 3823
+ ],
+ [
+ 412,
+ 155,
+ 3824
+ ],
+ [
+ 411,
+ 152,
+ 3880
+ ],
+ [
+ 411,
+ 152,
+ 3881
+ ],
+ [
+ 410,
+ 150,
+ 3883
+ ],
+ [
+ 410,
+ 150,
+ 3883
+ ],
+ [
+ 410,
+ 148,
+ 3886
+ ],
+ [
+ 410,
+ 148,
+ 3887
+ ],
+ [
+ 410,
+ 146,
+ 3942
+ ],
+ [
+ 410,
+ 146,
+ 3943
+ ],
+ [
+ 408,
+ 142,
+ 3944
+ ],
+ [
+ 408,
+ 142,
+ 3945
+ ],
+ [
+ 407,
+ 140,
+ 4003
+ ],
+ [
+ 407,
+ 140,
+ 4004
+ ],
+ [
+ 406,
+ 137,
+ 4006
+ ],
+ [
+ 406,
+ 137,
+ 4007
+ ],
+ [
+ 406,
+ 136,
+ 4008
+ ],
+ [
+ 406,
+ 136,
+ 4008
+ ],
+ [
+ 406,
+ 133,
+ 4064
+ ],
+ [
+ 406,
+ 133,
+ 4065
+ ],
+ [
+ 405,
+ 132,
+ 4067
+ ],
+ [
+ 405,
+ 132,
+ 4067
+ ],
+ [
+ 405,
+ 128,
+ 4125
+ ],
+ [
+ 405,
+ 128,
+ 4127
+ ],
+ [
+ 405,
+ 125,
+ 4128
+ ],
+ [
+ 405,
+ 125,
+ 4129
+ ],
+ [
+ 405,
+ 121,
+ 4186
+ ],
+ [
+ 405,
+ 121,
+ 4187
+ ],
+ [
+ 405,
+ 119,
+ 4189
+ ],
+ [
+ 405,
+ 119,
+ 4190
+ ],
+ [
+ 405,
+ 115,
+ 4191
+ ],
+ [
+ 405,
+ 115,
+ 4192
+ ],
+ [
+ 405,
+ 113,
+ 4251
+ ],
+ [
+ 405,
+ 113,
+ 4252
+ ],
+ [
+ 405,
+ 110,
+ 4254
+ ],
+ [
+ 405,
+ 110,
+ 4255
+ ],
+ [
+ 406,
+ 108,
+ 4256
+ ],
+ [
+ 406,
+ 108,
+ 4257
+ ],
+ [
+ 406,
+ 105,
+ 4308
+ ],
+ [
+ 406,
+ 105,
+ 4309
+ ],
+ [
+ 407,
+ 102,
+ 4311
+ ],
+ [
+ 407,
+ 102,
+ 4312
+ ],
+ [
+ 408,
+ 97,
+ 4369
+ ],
+ [
+ 408,
+ 97,
+ 4370
+ ],
+ [
+ 409,
+ 94,
+ 4430
+ ],
+ [
+ 409,
+ 94,
+ 4432
+ ],
+ [
+ 411,
+ 92,
+ 4433
+ ],
+ [
+ 411,
+ 92,
+ 4434
+ ],
+ [
+ 411,
+ 89,
+ 4522
+ ],
+ [
+ 411,
+ 89,
+ 4523
+ ],
+ [
+ 415,
+ 83,
+ 4525
+ ],
+ [
+ 415,
+ 83,
+ 4526
+ ],
+ [
+ 416,
+ 82,
+ 4583
+ ],
+ [
+ 416,
+ 82,
+ 4584
+ ],
+ [
+ 418,
+ 79,
+ 4585
+ ],
+ [
+ 418,
+ 79,
+ 4586
+ ],
+ [
+ 419,
+ 78,
+ 4589
+ ],
+ [
+ 419,
+ 78,
+ 4590
+ ],
+ [
+ 421,
+ 77,
+ 4644
+ ],
+ [
+ 421,
+ 77,
+ 4645
+ ],
+ [
+ 424,
+ 75,
+ 4647
+ ],
+ [
+ 424,
+ 75,
+ 4648
+ ],
+ [
+ 428,
+ 72,
+ 4705
+ ],
+ [
+ 428,
+ 72,
+ 4706
+ ],
+ [
+ 430,
+ 71,
+ 4708
+ ],
+ [
+ 430,
+ 71,
+ 4708
+ ],
+ [
+ 433,
+ 70,
+ 4770
+ ],
+ [
+ 433,
+ 70,
+ 4771
+ ],
+ [
+ 435,
+ 69,
+ 4773
+ ],
+ [
+ 435,
+ 69,
+ 4774
+ ],
+ [
+ 436,
+ 68,
+ 4775
+ ],
+ [
+ 436,
+ 68,
+ 4776
+ ],
+ [
+ 439,
+ 67,
+ 4828
+ ],
+ [
+ 439,
+ 67,
+ 4829
+ ],
+ [
+ 440,
+ 67,
+ 4887
+ ],
+ [
+ 440,
+ 67,
+ 4889
+ ],
+ [
+ 443,
+ 67,
+ 4890
+ ],
+ [
+ 443,
+ 67,
+ 4891
+ ],
+ [
+ 446,
+ 66,
+ 4948
+ ],
+ [
+ 446,
+ 66,
+ 4950
+ ],
+ [
+ 447,
+ 66,
+ 4951
+ ],
+ [
+ 447,
+ 66,
+ 4952
+ ],
+ [
+ 448,
+ 66,
+ 5009
+ ],
+ [
+ 448,
+ 66,
+ 5010
+ ],
+ [
+ 450,
+ 66,
+ 5012
+ ],
+ [
+ 450,
+ 66,
+ 5012
+ ],
+ [
+ 451,
+ 66,
+ 5070
+ ],
+ [
+ 451,
+ 66,
+ 5071
+ ],
+ [
+ 453,
+ 66,
+ 5072
+ ],
+ [
+ 453,
+ 66,
+ 5073
+ ],
+ [
+ 455,
+ 66,
+ 5130
+ ],
+ [
+ 455,
+ 66,
+ 5131
+ ],
+ [
+ 459,
+ 66,
+ 5132
+ ],
+ [
+ 459,
+ 66,
+ 5133
+ ],
+ [
+ 462,
+ 66,
+ 5191
+ ],
+ [
+ 462,
+ 66,
+ 5193
+ ],
+ [
+ 465,
+ 66,
+ 5194
+ ],
+ [
+ 465,
+ 66,
+ 5195
+ ],
+ [
+ 467,
+ 66,
+ 5198
+ ],
+ [
+ 467,
+ 66,
+ 5226
+ ],
+ [
+ 469,
+ 67,
+ 5252
+ ],
+ [
+ 469,
+ 67,
+ 5253
+ ],
+ [
+ 472,
+ 68,
+ 5287
+ ],
+ [
+ 472,
+ 68,
+ 5288
+ ],
+ [
+ 473,
+ 68,
+ 5314
+ ],
+ [
+ 473,
+ 68,
+ 5315
+ ],
+ [
+ 474,
+ 68,
+ 5344
+ ],
+ [
+ 474,
+ 68,
+ 5345
+ ],
+ [
+ 476,
+ 69,
+ 5374
+ ],
+ [
+ 476,
+ 69,
+ 5375
+ ],
+ [
+ 480,
+ 70,
+ 5406
+ ],
+ [
+ 480,
+ 70,
+ 5407
+ ],
+ [
+ 483,
+ 72,
+ 5435
+ ],
+ [
+ 483,
+ 72,
+ 5436
+ ],
+ [
+ 485,
+ 73,
+ 5466
+ ],
+ [
+ 485,
+ 73,
+ 5467
+ ],
+ [
+ 487,
+ 75,
+ 5497
+ ],
+ [
+ 487,
+ 75,
+ 5498
+ ],
+ [
+ 489,
+ 76,
+ 5526
+ ],
+ [
+ 489,
+ 76,
+ 5527
+ ],
+ [
+ 491,
+ 78,
+ 5557
+ ],
+ [
+ 491,
+ 78,
+ 5558
+ ],
+ [
+ 492,
+ 80,
+ 5617
+ ],
+ [
+ 492,
+ 80,
+ 5618
+ ],
+ [
+ 493,
+ 84,
+ 5621
+ ],
+ [
+ 493,
+ 84,
+ 5621
+ ],
+ [
+ 494,
+ 85,
+ 5623
+ ],
+ [
+ 494,
+ 85,
+ 5623
+ ],
+ [
+ 495,
+ 89,
+ 5678
+ ],
+ [
+ 495,
+ 89,
+ 5679
+ ],
+ [
+ 497,
+ 92,
+ 5681
+ ],
+ [
+ 497,
+ 92,
+ 5681
+ ],
+ [
+ 497,
+ 94,
+ 5685
+ ],
+ [
+ 497,
+ 94,
+ 5709
+ ],
+ [
+ 498,
+ 96,
+ 5739
+ ],
+ [
+ 498,
+ 96,
+ 5740
+ ],
+ [
+ 498,
+ 99,
+ 5774
+ ],
+ [
+ 498,
+ 99,
+ 5775
+ ],
+ [
+ 498,
+ 102,
+ 5800
+ ],
+ [
+ 498,
+ 102,
+ 5801
+ ],
+ [
+ 498,
+ 107,
+ 5829
+ ],
+ [
+ 498,
+ 107,
+ 5830
+ ],
+ [
+ 498,
+ 110,
+ 5861
+ ],
+ [
+ 498,
+ 110,
+ 5862
+ ],
+ [
+ 499,
+ 113,
+ 5892
+ ],
+ [
+ 499,
+ 113,
+ 5893
+ ],
+ [
+ 499,
+ 114,
+ 5921
+ ],
+ [
+ 499,
+ 117,
+ 5922
+ ],
+ [
+ 499,
+ 117,
+ 5923
+ ],
+ [
+ 499,
+ 118,
+ 5953
+ ],
+ [
+ 499,
+ 118,
+ 5954
+ ],
+ [
+ 499,
+ 121,
+ 5984
+ ],
+ [
+ 499,
+ 121,
+ 5985
+ ],
+ [
+ 499,
+ 123,
+ 6015
+ ],
+ [
+ 499,
+ 123,
+ 6015
+ ],
+ [
+ 499,
+ 126,
+ 6046
+ ],
+ [
+ 499,
+ 126,
+ 6047
+ ],
+ [
+ 499,
+ 128,
+ 6076
+ ],
+ [
+ 499,
+ 128,
+ 6076
+ ],
+ [
+ 499,
+ 130,
+ 6106
+ ],
+ [
+ 499,
+ 131,
+ 6107
+ ],
+ [
+ 499,
+ 131,
+ 6108
+ ],
+ [
+ 499,
+ 133,
+ 6136
+ ],
+ [
+ 499,
+ 133,
+ 6137
+ ],
+ [
+ 499,
+ 135,
+ 6166
+ ],
+ [
+ 499,
+ 135,
+ 6167
+ ],
+ [
+ 499,
+ 141,
+ 6197
+ ],
+ [
+ 499,
+ 141,
+ 6197
+ ],
+ [
+ 499,
+ 144,
+ 6228
+ ],
+ [
+ 499,
+ 144,
+ 6229
+ ],
+ [
+ 499,
+ 148,
+ 6257
+ ],
+ [
+ 499,
+ 148,
+ 6258
+ ],
+ [
+ 499,
+ 150,
+ 6293
+ ],
+ [
+ 499,
+ 150,
+ 6294
+ ],
+ [
+ 498,
+ 155,
+ 6319
+ ],
+ [
+ 498,
+ 155,
+ 6320
+ ],
+ [
+ 497,
+ 158,
+ 6350
+ ],
+ [
+ 497,
+ 158,
+ 6350
+ ],
+ [
+ 497,
+ 161,
+ 6379
+ ],
+ [
+ 497,
+ 161,
+ 6380
+ ],
+ [
+ 497,
+ 163,
+ 6409
+ ],
+ [
+ 497,
+ 163,
+ 6410
+ ],
+ [
+ 496,
+ 165,
+ 6440
+ ],
+ [
+ 496,
+ 165,
+ 6441
+ ],
+ [
+ 496,
+ 167,
+ 6471
+ ],
+ [
+ 496,
+ 167,
+ 6472
+ ],
+ [
+ 495,
+ 168,
+ 6502
+ ],
+ [
+ 495,
+ 168,
+ 6503
+ ],
+ [
+ 495,
+ 169,
+ 6532
+ ],
+ [
+ 495,
+ 169,
+ 6533
+ ],
+ [
+ 495,
+ 170,
+ 6563
+ ],
+ [
+ 495,
+ 170,
+ 6564
+ ],
+ [
+ 495,
+ 171,
+ 6625
+ ],
+ [
+ 495,
+ 171,
+ 6626
+ ],
+ [
+ 494,
+ 172,
+ 6685
+ ],
+ [
+ 494,
+ 172,
+ 6686
+ ],
+ [
+ 494,
+ 173,
+ 6687
+ ],
+ [
+ 494,
+ 173,
+ 6688
+ ],
+ [
+ 494,
+ 174,
+ 6746
+ ],
+ [
+ 494,
+ 174,
+ 6747
+ ],
+ [
+ 494,
+ 175,
+ 6811
+ ],
+ [
+ 494,
+ 175,
+ 6812
+ ],
+ [
+ 494,
+ 176,
+ 6878
+ ],
+ [
+ 494,
+ 176,
+ 6879
+ ],
+ [
+ 494,
+ 177,
+ 6990
+ ],
+ [
+ 494,
+ 177,
+ 6991
+ ],
+ [
+ 494,
+ 177,
+ 8140
+ ]
+ ]
+ ],
+ ".POINTS_PER_SECOND": 60,
+ ".SEGMENT": "CHARACTER",
+ ".VERSION": "1.0",
+ ".X_DIM": 1032,
+ ".X_POINTS_PER_INCH": 94,
+ ".Y_DIM": 263,
+ ".Y_POINTS_PER_INCH": 94
+ },
+ "0x0e27": {
+ ".COORD": [
+ "X",
+ "Y",
+ "T"
+ ],
+ ".HIERARCHY": "CHARACTER",
+ ".PEN": [
+ [
+ [
+ 445,
+ 84,
+ 0
+ ],
+ [
+ 445,
+ 83,
+ 461
+ ],
+ [
+ 445,
+ 83,
+ 462
+ ],
+ [
+ 445,
+ 81,
+ 503
+ ],
+ [
+ 445,
+ 81,
+ 504
+ ],
+ [
+ 445,
+ 80,
+ 565
+ ],
+ [
+ 445,
+ 80,
+ 566
+ ],
+ [
+ 445,
+ 77,
+ 568
+ ],
+ [
+ 445,
+ 77,
+ 569
+ ],
+ [
+ 445,
+ 76,
+ 625
+ ],
+ [
+ 445,
+ 76,
+ 626
+ ],
+ [
+ 446,
+ 76,
+ 628
+ ],
+ [
+ 446,
+ 76,
+ 629
+ ],
+ [
+ 447,
+ 74,
+ 630
+ ],
+ [
+ 447,
+ 74,
+ 631
+ ],
+ [
+ 447,
+ 73,
+ 686
+ ],
+ [
+ 447,
+ 73,
+ 687
+ ],
+ [
+ 449,
+ 71,
+ 688
+ ],
+ [
+ 449,
+ 71,
+ 689
+ ],
+ [
+ 451,
+ 69,
+ 747
+ ],
+ [
+ 451,
+ 69,
+ 748
+ ],
+ [
+ 452,
+ 68,
+ 750
+ ],
+ [
+ 452,
+ 68,
+ 750
+ ],
+ [
+ 454,
+ 68,
+ 808
+ ],
+ [
+ 454,
+ 68,
+ 810
+ ],
+ [
+ 455,
+ 67,
+ 811
+ ],
+ [
+ 455,
+ 67,
+ 812
+ ],
+ [
+ 456,
+ 66,
+ 813
+ ],
+ [
+ 456,
+ 66,
+ 814
+ ],
+ [
+ 459,
+ 65,
+ 871
+ ],
+ [
+ 459,
+ 65,
+ 872
+ ],
+ [
+ 461,
+ 64,
+ 874
+ ],
+ [
+ 461,
+ 64,
+ 874
+ ],
+ [
+ 464,
+ 63,
+ 931
+ ],
+ [
+ 464,
+ 63,
+ 933
+ ],
+ [
+ 465,
+ 63,
+ 992
+ ],
+ [
+ 465,
+ 63,
+ 993
+ ],
+ [
+ 467,
+ 63,
+ 997
+ ],
+ [
+ 467,
+ 63,
+ 998
+ ],
+ [
+ 468,
+ 63,
+ 1052
+ ],
+ [
+ 468,
+ 63,
+ 1054
+ ],
+ [
+ 470,
+ 63,
+ 1055
+ ],
+ [
+ 470,
+ 63,
+ 1056
+ ],
+ [
+ 473,
+ 63,
+ 1114
+ ],
+ [
+ 473,
+ 63,
+ 1115
+ ],
+ [
+ 474,
+ 63,
+ 1116
+ ],
+ [
+ 474,
+ 63,
+ 1117
+ ],
+ [
+ 477,
+ 64,
+ 1176
+ ],
+ [
+ 477,
+ 64,
+ 1177
+ ],
+ [
+ 478,
+ 64,
+ 1179
+ ],
+ [
+ 478,
+ 64,
+ 1179
+ ],
+ [
+ 478,
+ 65,
+ 1237
+ ],
+ [
+ 478,
+ 65,
+ 1238
+ ],
+ [
+ 479,
+ 65,
+ 1239
+ ],
+ [
+ 479,
+ 65,
+ 1240
+ ],
+ [
+ 480,
+ 66,
+ 1298
+ ],
+ [
+ 480,
+ 66,
+ 1299
+ ],
+ [
+ 482,
+ 67,
+ 1300
+ ],
+ [
+ 482,
+ 67,
+ 1301
+ ],
+ [
+ 483,
+ 69,
+ 1358
+ ],
+ [
+ 483,
+ 69,
+ 1360
+ ],
+ [
+ 485,
+ 70,
+ 1362
+ ],
+ [
+ 485,
+ 70,
+ 1362
+ ],
+ [
+ 486,
+ 73,
+ 1420
+ ],
+ [
+ 486,
+ 73,
+ 1421
+ ],
+ [
+ 486,
+ 75,
+ 1422
+ ],
+ [
+ 486,
+ 75,
+ 1423
+ ],
+ [
+ 487,
+ 78,
+ 1480
+ ],
+ [
+ 487,
+ 78,
+ 1482
+ ],
+ [
+ 488,
+ 81,
+ 1483
+ ],
+ [
+ 488,
+ 81,
+ 1484
+ ],
+ [
+ 488,
+ 83,
+ 1540
+ ],
+ [
+ 488,
+ 83,
+ 1542
+ ],
+ [
+ 489,
+ 85,
+ 1543
+ ],
+ [
+ 489,
+ 85,
+ 1544
+ ],
+ [
+ 489,
+ 87,
+ 1601
+ ],
+ [
+ 489,
+ 87,
+ 1602
+ ],
+ [
+ 490,
+ 90,
+ 1604
+ ],
+ [
+ 490,
+ 90,
+ 1605
+ ],
+ [
+ 490,
+ 93,
+ 1666
+ ],
+ [
+ 490,
+ 93,
+ 1667
+ ],
+ [
+ 491,
+ 96,
+ 1669
+ ],
+ [
+ 491,
+ 98,
+ 1670
+ ],
+ [
+ 491,
+ 98,
+ 1671
+ ],
+ [
+ 491,
+ 100,
+ 1724
+ ],
+ [
+ 491,
+ 100,
+ 1725
+ ],
+ [
+ 492,
+ 103,
+ 1726
+ ],
+ [
+ 492,
+ 103,
+ 1727
+ ],
+ [
+ 492,
+ 107,
+ 1784
+ ],
+ [
+ 492,
+ 107,
+ 1785
+ ],
+ [
+ 492,
+ 108,
+ 1787
+ ],
+ [
+ 492,
+ 108,
+ 1787
+ ],
+ [
+ 493,
+ 112,
+ 1789
+ ],
+ [
+ 493,
+ 112,
+ 1790
+ ],
+ [
+ 493,
+ 115,
+ 1846
+ ],
+ [
+ 493,
+ 115,
+ 1847
+ ],
+ [
+ 493,
+ 119,
+ 1849
+ ],
+ [
+ 493,
+ 119,
+ 1849
+ ],
+ [
+ 493,
+ 121,
+ 1906
+ ],
+ [
+ 493,
+ 121,
+ 1907
+ ],
+ [
+ 493,
+ 126,
+ 1909
+ ],
+ [
+ 493,
+ 126,
+ 1909
+ ],
+ [
+ 493,
+ 128,
+ 1911
+ ],
+ [
+ 493,
+ 128,
+ 1911
+ ],
+ [
+ 493,
+ 130,
+ 1968
+ ],
+ [
+ 493,
+ 130,
+ 1969
+ ],
+ [
+ 493,
+ 134,
+ 1970
+ ],
+ [
+ 493,
+ 134,
+ 1971
+ ],
+ [
+ 493,
+ 136,
+ 1974
+ ],
+ [
+ 493,
+ 136,
+ 1975
+ ],
+ [
+ 493,
+ 140,
+ 2029
+ ],
+ [
+ 493,
+ 140,
+ 2030
+ ],
+ [
+ 493,
+ 143,
+ 2031
+ ],
+ [
+ 493,
+ 143,
+ 2032
+ ],
+ [
+ 493,
+ 147,
+ 2089
+ ],
+ [
+ 493,
+ 147,
+ 2090
+ ],
+ [
+ 492,
+ 150,
+ 2137
+ ],
+ [
+ 492,
+ 150,
+ 2138
+ ],
+ [
+ 491,
+ 156,
+ 2147
+ ],
+ [
+ 491,
+ 156,
+ 2148
+ ],
+ [
+ 491,
+ 158,
+ 2186
+ ],
+ [
+ 491,
+ 158,
+ 2187
+ ],
+ [
+ 491,
+ 161,
+ 2212
+ ],
+ [
+ 491,
+ 161,
+ 2213
+ ],
+ [
+ 490,
+ 164,
+ 2247
+ ],
+ [
+ 490,
+ 164,
+ 2248
+ ],
+ [
+ 490,
+ 166,
+ 2273
+ ],
+ [
+ 490,
+ 166,
+ 2274
+ ],
+ [
+ 489,
+ 168,
+ 2305
+ ],
+ [
+ 489,
+ 168,
+ 2306
+ ],
+ [
+ 489,
+ 169,
+ 2335
+ ],
+ [
+ 489,
+ 169,
+ 2336
+ ],
+ [
+ 488,
+ 171,
+ 2366
+ ],
+ [
+ 488,
+ 171,
+ 2367
+ ],
+ [
+ 487,
+ 173,
+ 2396
+ ],
+ [
+ 487,
+ 173,
+ 2397
+ ],
+ [
+ 487,
+ 174,
+ 2457
+ ],
+ [
+ 487,
+ 174,
+ 2458
+ ],
+ [
+ 487,
+ 175,
+ 2459
+ ],
+ [
+ 487,
+ 175,
+ 2460
+ ],
+ [
+ 486,
+ 176,
+ 2525
+ ],
+ [
+ 486,
+ 176,
+ 2526
+ ],
+ [
+ 485,
+ 177,
+ 2580
+ ],
+ [
+ 485,
+ 177,
+ 2582
+ ],
+ [
+ 484,
+ 177,
+ 2583
+ ],
+ [
+ 484,
+ 177,
+ 2584
+ ],
+ [
+ 483,
+ 177,
+ 2646
+ ],
+ [
+ 483,
+ 177,
+ 2647
+ ],
+ [
+ 483,
+ 178,
+ 2702
+ ],
+ [
+ 483,
+ 178,
+ 2703
+ ],
+ [
+ 482,
+ 178,
+ 2704
+ ],
+ [
+ 482,
+ 178,
+ 2705
+ ],
+ [
+ 481,
+ 178,
+ 2764
+ ],
+ [
+ 481,
+ 178,
+ 2765
+ ],
+ [
+ 480,
+ 178,
+ 2766
+ ],
+ [
+ 480,
+ 178,
+ 2767
+ ],
+ [
+ 479,
+ 178,
+ 2825
+ ],
+ [
+ 479,
+ 178,
+ 2826
+ ],
+ [
+ 478,
+ 178,
+ 2885
+ ],
+ [
+ 478,
+ 178,
+ 2887
+ ],
+ [
+ 476,
+ 178,
+ 2888
+ ],
+ [
+ 476,
+ 178,
+ 2889
+ ],
+ [
+ 475,
+ 177,
+ 2947
+ ],
+ [
+ 475,
+ 177,
+ 2948
+ ],
+ [
+ 472,
+ 176,
+ 3008
+ ],
+ [
+ 472,
+ 176,
+ 3009
+ ],
+ [
+ 471,
+ 174,
+ 3012
+ ],
+ [
+ 471,
+ 174,
+ 3013
+ ],
+ [
+ 469,
+ 173,
+ 3070
+ ],
+ [
+ 469,
+ 173,
+ 3071
+ ],
+ [
+ 468,
+ 172,
+ 3100
+ ],
+ [
+ 468,
+ 170,
+ 3131
+ ],
+ [
+ 468,
+ 170,
+ 3133
+ ],
+ [
+ 467,
+ 170,
+ 3135
+ ],
+ [
+ 467,
+ 170,
+ 3136
+ ],
+ [
+ 467,
+ 166,
+ 3195
+ ],
+ [
+ 467,
+ 166,
+ 3197
+ ],
+ [
+ 467,
+ 164,
+ 3199
+ ],
+ [
+ 467,
+ 164,
+ 3199
+ ],
+ [
+ 467,
+ 161,
+ 3252
+ ],
+ [
+ 467,
+ 161,
+ 3254
+ ],
+ [
+ 467,
+ 159,
+ 3255
+ ],
+ [
+ 467,
+ 159,
+ 3256
+ ],
+ [
+ 469,
+ 159,
+ 3314
+ ],
+ [
+ 469,
+ 159,
+ 3315
+ ],
+ [
+ 471,
+ 157,
+ 3316
+ ],
+ [
+ 471,
+ 157,
+ 3317
+ ],
+ [
+ 473,
+ 155,
+ 3375
+ ],
+ [
+ 473,
+ 155,
+ 3376
+ ],
+ [
+ 475,
+ 155,
+ 3378
+ ],
+ [
+ 475,
+ 155,
+ 3378
+ ],
+ [
+ 477,
+ 154,
+ 3436
+ ],
+ [
+ 477,
+ 154,
+ 3437
+ ],
+ [
+ 478,
+ 154,
+ 3438
+ ],
+ [
+ 478,
+ 154,
+ 3439
+ ],
+ [
+ 479,
+ 154,
+ 3497
+ ],
+ [
+ 479,
+ 154,
+ 3498
+ ],
+ [
+ 481,
+ 154,
+ 3500
+ ],
+ [
+ 481,
+ 154,
+ 3501
+ ],
+ [
+ 482,
+ 154,
+ 3557
+ ],
+ [
+ 482,
+ 154,
+ 3559
+ ],
+ [
+ 483,
+ 154,
+ 3560
+ ],
+ [
+ 483,
+ 154,
+ 3561
+ ],
+ [
+ 485,
+ 154,
+ 3619
+ ],
+ [
+ 485,
+ 154,
+ 3621
+ ],
+ [
+ 486,
+ 155,
+ 3622
+ ],
+ [
+ 486,
+ 155,
+ 3623
+ ],
+ [
+ 487,
+ 156,
+ 3686
+ ],
+ [
+ 487,
+ 156,
+ 3687
+ ],
+ [
+ 488,
+ 157,
+ 3742
+ ],
+ [
+ 488,
+ 157,
+ 3743
+ ],
+ [
+ 488,
+ 158,
+ 3804
+ ],
+ [
+ 488,
+ 158,
+ 3805
+ ],
+ [
+ 488,
+ 159,
+ 3864
+ ],
+ [
+ 488,
+ 159,
+ 3865
+ ],
+ [
+ 488,
+ 160,
+ 3866
+ ],
+ [
+ 488,
+ 160,
+ 3867
+ ],
+ [
+ 489,
+ 161,
+ 3869
+ ],
+ [
+ 489,
+ 161,
+ 3870
+ ]
+ ]
+ ],
+ ".POINTS_PER_SECOND": 60,
+ ".SEGMENT": "CHARACTER",
+ ".VERSION": "1.0",
+ ".X_DIM": 1032,
+ ".X_POINTS_PER_INCH": 94,
+ ".Y_DIM": 263,
+ ".Y_POINTS_PER_INCH": 94
+ },
+ "0x0e2a": {
+ ".COORD": [
+ "X",
+ "Y",
+ "T"
+ ],
+ ".HIERARCHY": "CHARACTER",
+ ".PEN": [
+ [
+ [
+ 418,
+ 171,
+ 0
+ ],
+ [
+ 418,
+ 170,
+ 629
+ ],
+ [
+ 418,
+ 170,
+ 630
+ ],
+ [
+ 419,
+ 170,
+ 678
+ ],
+ [
+ 419,
+ 170,
+ 680
+ ],
+ [
+ 420,
+ 169,
+ 685
+ ],
+ [
+ 420,
+ 169,
+ 693
+ ],
+ [
+ 421,
+ 169,
+ 770
+ ],
+ [
+ 421,
+ 169,
+ 771
+ ],
+ [
+ 422,
+ 169,
+ 772
+ ],
+ [
+ 422,
+ 169,
+ 773
+ ],
+ [
+ 423,
+ 169,
+ 774
+ ],
+ [
+ 423,
+ 169,
+ 775
+ ],
+ [
+ 425,
+ 169,
+ 829
+ ],
+ [
+ 425,
+ 169,
+ 831
+ ],
+ [
+ 426,
+ 169,
+ 832
+ ],
+ [
+ 426,
+ 169,
+ 833
+ ],
+ [
+ 428,
+ 169,
+ 890
+ ],
+ [
+ 428,
+ 169,
+ 891
+ ],
+ [
+ 430,
+ 169,
+ 893
+ ],
+ [
+ 430,
+ 169,
+ 894
+ ],
+ [
+ 430,
+ 170,
+ 951
+ ],
+ [
+ 430,
+ 170,
+ 952
+ ],
+ [
+ 431,
+ 171,
+ 953
+ ],
+ [
+ 431,
+ 171,
+ 954
+ ],
+ [
+ 431,
+ 172,
+ 1012
+ ],
+ [
+ 431,
+ 172,
+ 1013
+ ],
+ [
+ 432,
+ 173,
+ 1015
+ ],
+ [
+ 432,
+ 173,
+ 1015
+ ],
+ [
+ 432,
+ 174,
+ 1072
+ ],
+ [
+ 432,
+ 174,
+ 1073
+ ],
+ [
+ 432,
+ 175,
+ 1075
+ ],
+ [
+ 432,
+ 175,
+ 1076
+ ],
+ [
+ 432,
+ 176,
+ 1133
+ ],
+ [
+ 432,
+ 176,
+ 1134
+ ],
+ [
+ 431,
+ 177,
+ 1194
+ ],
+ [
+ 431,
+ 177,
+ 1195
+ ],
+ [
+ 431,
+ 178,
+ 1255
+ ],
+ [
+ 431,
+ 178,
+ 1256
+ ],
+ [
+ 430,
+ 178,
+ 1316
+ ],
+ [
+ 430,
+ 178,
+ 1317
+ ],
+ [
+ 429,
+ 178,
+ 1318
+ ],
+ [
+ 429,
+ 178,
+ 1319
+ ],
+ [
+ 428,
+ 179,
+ 1376
+ ],
+ [
+ 428,
+ 179,
+ 1378
+ ],
+ [
+ 427,
+ 179,
+ 1379
+ ],
+ [
+ 427,
+ 179,
+ 1380
+ ],
+ [
+ 427,
+ 180,
+ 1438
+ ],
+ [
+ 427,
+ 180,
+ 1439
+ ],
+ [
+ 426,
+ 180,
+ 1440
+ ],
+ [
+ 426,
+ 180,
+ 1441
+ ],
+ [
+ 425,
+ 180,
+ 1498
+ ],
+ [
+ 425,
+ 180,
+ 1500
+ ],
+ [
+ 424,
+ 180,
+ 1501
+ ],
+ [
+ 424,
+ 180,
+ 1502
+ ],
+ [
+ 423,
+ 180,
+ 1563
+ ],
+ [
+ 423,
+ 180,
+ 1564
+ ],
+ [
+ 422,
+ 180,
+ 1620
+ ],
+ [
+ 422,
+ 180,
+ 1621
+ ],
+ [
+ 421,
+ 180,
+ 1623
+ ],
+ [
+ 421,
+ 180,
+ 1623
+ ],
+ [
+ 420,
+ 180,
+ 1681
+ ],
+ [
+ 420,
+ 180,
+ 1682
+ ],
+ [
+ 419,
+ 180,
+ 1742
+ ],
+ [
+ 419,
+ 180,
+ 1743
+ ],
+ [
+ 418,
+ 180,
+ 1803
+ ],
+ [
+ 418,
+ 180,
+ 1804
+ ],
+ [
+ 417,
+ 180,
+ 1863
+ ],
+ [
+ 417,
+ 180,
+ 1864
+ ],
+ [
+ 416,
+ 179,
+ 1924
+ ],
+ [
+ 416,
+ 179,
+ 1925
+ ],
+ [
+ 415,
+ 179,
+ 1927
+ ],
+ [
+ 415,
+ 179,
+ 1927
+ ],
+ [
+ 415,
+ 178,
+ 1986
+ ],
+ [
+ 415,
+ 178,
+ 1987
+ ],
+ [
+ 415,
+ 177,
+ 2052
+ ],
+ [
+ 415,
+ 177,
+ 2053
+ ],
+ [
+ 414,
+ 176,
+ 2054
+ ],
+ [
+ 414,
+ 176,
+ 2054
+ ],
+ [
+ 414,
+ 175,
+ 2107
+ ],
+ [
+ 414,
+ 175,
+ 2108
+ ],
+ [
+ 413,
+ 173,
+ 2110
+ ],
+ [
+ 413,
+ 173,
+ 2111
+ ],
+ [
+ 413,
+ 172,
+ 2168
+ ],
+ [
+ 413,
+ 172,
+ 2169
+ ],
+ [
+ 412,
+ 171,
+ 2170
+ ],
+ [
+ 412,
+ 171,
+ 2171
+ ],
+ [
+ 412,
+ 170,
+ 2173
+ ],
+ [
+ 412,
+ 170,
+ 2174
+ ],
+ [
+ 412,
+ 168,
+ 2228
+ ],
+ [
+ 412,
+ 168,
+ 2229
+ ],
+ [
+ 412,
+ 166,
+ 2289
+ ],
+ [
+ 412,
+ 166,
+ 2290
+ ],
+ [
+ 412,
+ 165,
+ 2292
+ ],
+ [
+ 412,
+ 165,
+ 2293
+ ],
+ [
+ 411,
+ 164,
+ 2294
+ ],
+ [
+ 411,
+ 164,
+ 2295
+ ],
+ [
+ 411,
+ 163,
+ 2350
+ ],
+ [
+ 411,
+ 163,
+ 2351
+ ],
+ [
+ 411,
+ 161,
+ 2353
+ ],
+ [
+ 411,
+ 161,
+ 2354
+ ],
+ [
+ 411,
+ 160,
+ 2357
+ ],
+ [
+ 411,
+ 160,
+ 2358
+ ],
+ [
+ 411,
+ 158,
+ 2410
+ ],
+ [
+ 411,
+ 158,
+ 2412
+ ],
+ [
+ 411,
+ 156,
+ 2475
+ ],
+ [
+ 411,
+ 156,
+ 2477
+ ],
+ [
+ 411,
+ 153,
+ 2478
+ ],
+ [
+ 411,
+ 153,
+ 2479
+ ],
+ [
+ 411,
+ 152,
+ 2536
+ ],
+ [
+ 411,
+ 152,
+ 2537
+ ],
+ [
+ 411,
+ 149,
+ 2539
+ ],
+ [
+ 411,
+ 149,
+ 2539
+ ],
+ [
+ 411,
+ 148,
+ 2541
+ ],
+ [
+ 411,
+ 148,
+ 2542
+ ],
+ [
+ 411,
+ 147,
+ 2592
+ ],
+ [
+ 411,
+ 147,
+ 2594
+ ],
+ [
+ 412,
+ 145,
+ 2595
+ ],
+ [
+ 412,
+ 145,
+ 2596
+ ],
+ [
+ 412,
+ 144,
+ 2654
+ ],
+ [
+ 412,
+ 144,
+ 2655
+ ],
+ [
+ 413,
+ 141,
+ 2657
+ ],
+ [
+ 413,
+ 141,
+ 2658
+ ],
+ [
+ 414,
+ 140,
+ 2661
+ ],
+ [
+ 414,
+ 140,
+ 2662
+ ],
+ [
+ 415,
+ 138,
+ 2715
+ ],
+ [
+ 415,
+ 138,
+ 2716
+ ],
+ [
+ 415,
+ 137,
+ 2718
+ ],
+ [
+ 415,
+ 137,
+ 2719
+ ],
+ [
+ 415,
+ 136,
+ 2776
+ ],
+ [
+ 415,
+ 136,
+ 2777
+ ],
+ [
+ 417,
+ 134,
+ 2779
+ ],
+ [
+ 417,
+ 134,
+ 2779
+ ],
+ [
+ 420,
+ 134,
+ 2837
+ ],
+ [
+ 420,
+ 134,
+ 2838
+ ],
+ [
+ 425,
+ 131,
+ 2840
+ ],
+ [
+ 425,
+ 131,
+ 2840
+ ],
+ [
+ 425,
+ 130,
+ 2898
+ ],
+ [
+ 425,
+ 130,
+ 2899
+ ],
+ [
+ 429,
+ 128,
+ 2901
+ ],
+ [
+ 429,
+ 128,
+ 2902
+ ],
+ [
+ 431,
+ 127,
+ 2958
+ ],
+ [
+ 431,
+ 127,
+ 2959
+ ],
+ [
+ 433,
+ 125,
+ 2961
+ ],
+ [
+ 433,
+ 125,
+ 2962
+ ],
+ [
+ 434,
+ 125,
+ 3019
+ ],
+ [
+ 434,
+ 125,
+ 3020
+ ],
+ [
+ 437,
+ 123,
+ 3022
+ ],
+ [
+ 437,
+ 123,
+ 3022
+ ],
+ [
+ 438,
+ 123,
+ 3084
+ ],
+ [
+ 438,
+ 123,
+ 3085
+ ],
+ [
+ 441,
+ 122,
+ 3140
+ ],
+ [
+ 441,
+ 122,
+ 3142
+ ],
+ [
+ 444,
+ 121,
+ 3144
+ ],
+ [
+ 444,
+ 121,
+ 3144
+ ],
+ [
+ 445,
+ 120,
+ 3202
+ ],
+ [
+ 445,
+ 120,
+ 3203
+ ],
+ [
+ 446,
+ 120,
+ 3204
+ ],
+ [
+ 446,
+ 120,
+ 3205
+ ],
+ [
+ 447,
+ 120,
+ 3206
+ ],
+ [
+ 447,
+ 120,
+ 3207
+ ],
+ [
+ 449,
+ 120,
+ 3263
+ ],
+ [
+ 449,
+ 120,
+ 3265
+ ],
+ [
+ 451,
+ 119,
+ 3269
+ ],
+ [
+ 451,
+ 119,
+ 3270
+ ],
+ [
+ 454,
+ 119,
+ 3324
+ ],
+ [
+ 454,
+ 119,
+ 3325
+ ],
+ [
+ 459,
+ 119,
+ 3326
+ ],
+ [
+ 459,
+ 119,
+ 3327
+ ],
+ [
+ 461,
+ 119,
+ 3385
+ ],
+ [
+ 461,
+ 119,
+ 3386
+ ],
+ [
+ 464,
+ 119,
+ 3388
+ ],
+ [
+ 464,
+ 119,
+ 3389
+ ],
+ [
+ 465,
+ 119,
+ 3390
+ ],
+ [
+ 465,
+ 119,
+ 3391
+ ],
+ [
+ 466,
+ 119,
+ 3445
+ ],
+ [
+ 466,
+ 119,
+ 3446
+ ],
+ [
+ 467,
+ 119,
+ 3449
+ ],
+ [
+ 467,
+ 119,
+ 3449
+ ],
+ [
+ 468,
+ 119,
+ 3453
+ ],
+ [
+ 468,
+ 119,
+ 3477
+ ],
+ [
+ 469,
+ 120,
+ 3543
+ ],
+ [
+ 469,
+ 120,
+ 3544
+ ],
+ [
+ 472,
+ 120,
+ 3546
+ ],
+ [
+ 472,
+ 120,
+ 3546
+ ],
+ [
+ 475,
+ 122,
+ 3599
+ ],
+ [
+ 475,
+ 122,
+ 3600
+ ],
+ [
+ 479,
+ 123,
+ 3602
+ ],
+ [
+ 479,
+ 123,
+ 3602
+ ],
+ [
+ 482,
+ 124,
+ 3660
+ ],
+ [
+ 482,
+ 124,
+ 3661
+ ],
+ [
+ 486,
+ 126,
+ 3662
+ ],
+ [
+ 486,
+ 126,
+ 3663
+ ],
+ [
+ 488,
+ 127,
+ 3721
+ ],
+ [
+ 488,
+ 127,
+ 3722
+ ],
+ [
+ 490,
+ 129,
+ 3724
+ ],
+ [
+ 490,
+ 129,
+ 3724
+ ],
+ [
+ 492,
+ 131,
+ 3726
+ ],
+ [
+ 492,
+ 131,
+ 3726
+ ],
+ [
+ 493,
+ 132,
+ 3782
+ ],
+ [
+ 493,
+ 132,
+ 3783
+ ],
+ [
+ 494,
+ 133,
+ 3784
+ ],
+ [
+ 494,
+ 133,
+ 3785
+ ],
+ [
+ 496,
+ 135,
+ 3843
+ ],
+ [
+ 496,
+ 135,
+ 3844
+ ],
+ [
+ 497,
+ 139,
+ 3846
+ ],
+ [
+ 497,
+ 139,
+ 3847
+ ],
+ [
+ 498,
+ 142,
+ 3903
+ ],
+ [
+ 498,
+ 142,
+ 3905
+ ],
+ [
+ 499,
+ 148,
+ 3906
+ ],
+ [
+ 499,
+ 148,
+ 3907
+ ],
+ [
+ 499,
+ 149,
+ 3909
+ ],
+ [
+ 499,
+ 149,
+ 3910
+ ],
+ [
+ 499,
+ 150,
+ 3964
+ ],
+ [
+ 499,
+ 150,
+ 3965
+ ],
+ [
+ 500,
+ 154,
+ 3966
+ ],
+ [
+ 500,
+ 154,
+ 3967
+ ],
+ [
+ 500,
+ 157,
+ 4025
+ ],
+ [
+ 500,
+ 157,
+ 4026
+ ],
+ [
+ 500,
+ 159,
+ 4027
+ ],
+ [
+ 500,
+ 159,
+ 4028
+ ],
+ [
+ 500,
+ 160,
+ 4085
+ ],
+ [
+ 500,
+ 160,
+ 4086
+ ],
+ [
+ 500,
+ 162,
+ 4087
+ ],
+ [
+ 500,
+ 162,
+ 4088
+ ],
+ [
+ 500,
+ 163,
+ 4146
+ ],
+ [
+ 500,
+ 163,
+ 4147
+ ],
+ [
+ 500,
+ 164,
+ 4148
+ ],
+ [
+ 500,
+ 164,
+ 4149
+ ],
+ [
+ 500,
+ 166,
+ 4151
+ ],
+ [
+ 500,
+ 166,
+ 4151
+ ],
+ [
+ 500,
+ 169,
+ 4209
+ ],
+ [
+ 500,
+ 169,
+ 4210
+ ],
+ [
+ 500,
+ 171,
+ 4269
+ ],
+ [
+ 500,
+ 171,
+ 4270
+ ],
+ [
+ 500,
+ 172,
+ 4331
+ ],
+ [
+ 500,
+ 172,
+ 4332
+ ],
+ [
+ 500,
+ 173,
+ 4430
+ ],
+ [
+ 500,
+ 173,
+ 4431
+ ],
+ [
+ 500,
+ 174,
+ 4517
+ ],
+ [
+ 500,
+ 174,
+ 4518
+ ],
+ [
+ 501,
+ 173,
+ 5293
+ ],
+ [
+ 501,
+ 173,
+ 5294
+ ],
+ [
+ 501,
+ 172,
+ 5335
+ ],
+ [
+ 501,
+ 172,
+ 5336
+ ],
+ [
+ 501,
+ 171,
+ 5397
+ ],
+ [
+ 501,
+ 171,
+ 5398
+ ],
+ [
+ 501,
+ 170,
+ 5456
+ ],
+ [
+ 501,
+ 170,
+ 5458
+ ],
+ [
+ 501,
+ 168,
+ 5459
+ ],
+ [
+ 501,
+ 168,
+ 5460
+ ],
+ [
+ 501,
+ 167,
+ 5462
+ ],
+ [
+ 501,
+ 167,
+ 5463
+ ],
+ [
+ 501,
+ 166,
+ 5516
+ ],
+ [
+ 501,
+ 166,
+ 5518
+ ],
+ [
+ 501,
+ 164,
+ 5520
+ ],
+ [
+ 501,
+ 164,
+ 5520
+ ],
+ [
+ 501,
+ 161,
+ 5582
+ ],
+ [
+ 501,
+ 161,
+ 5583
+ ],
+ [
+ 501,
+ 159,
+ 5607
+ ],
+ [
+ 501,
+ 159,
+ 5608
+ ],
+ [
+ 501,
+ 158,
+ 5610
+ ],
+ [
+ 501,
+ 158,
+ 5611
+ ],
+ [
+ 501,
+ 156,
+ 5668
+ ],
+ [
+ 501,
+ 156,
+ 5670
+ ],
+ [
+ 502,
+ 153,
+ 5671
+ ],
+ [
+ 502,
+ 153,
+ 5672
+ ],
+ [
+ 502,
+ 151,
+ 5728
+ ],
+ [
+ 502,
+ 151,
+ 5730
+ ],
+ [
+ 502,
+ 147,
+ 5731
+ ],
+ [
+ 502,
+ 147,
+ 5732
+ ],
+ [
+ 502,
+ 145,
+ 5733
+ ],
+ [
+ 502,
+ 145,
+ 5734
+ ],
+ [
+ 502,
+ 142,
+ 5790
+ ],
+ [
+ 502,
+ 142,
+ 5792
+ ],
+ [
+ 501,
+ 139,
+ 5793
+ ],
+ [
+ 501,
+ 139,
+ 5794
+ ],
+ [
+ 501,
+ 133,
+ 5852
+ ],
+ [
+ 501,
+ 131,
+ 5854
+ ],
+ [
+ 501,
+ 131,
+ 5854
+ ],
+ [
+ 500,
+ 125,
+ 5856
+ ],
+ [
+ 500,
+ 125,
+ 5857
+ ],
+ [
+ 498,
+ 122,
+ 5913
+ ],
+ [
+ 498,
+ 122,
+ 5914
+ ],
+ [
+ 496,
+ 116,
+ 5916
+ ],
+ [
+ 496,
+ 116,
+ 5917
+ ],
+ [
+ 495,
+ 112,
+ 5918
+ ],
+ [
+ 495,
+ 112,
+ 5919
+ ],
+ [
+ 494,
+ 109,
+ 5973
+ ],
+ [
+ 494,
+ 109,
+ 5974
+ ],
+ [
+ 492,
+ 102,
+ 5976
+ ],
+ [
+ 492,
+ 102,
+ 5977
+ ],
+ [
+ 488,
+ 96,
+ 6036
+ ],
+ [
+ 488,
+ 96,
+ 6037
+ ],
+ [
+ 485,
+ 90,
+ 6039
+ ],
+ [
+ 485,
+ 90,
+ 6040
+ ],
+ [
+ 481,
+ 86,
+ 6100
+ ],
+ [
+ 481,
+ 86,
+ 6101
+ ],
+ [
+ 477,
+ 80,
+ 6102
+ ],
+ [
+ 477,
+ 80,
+ 6103
+ ],
+ [
+ 470,
+ 74,
+ 6156
+ ],
+ [
+ 470,
+ 74,
+ 6157
+ ],
+ [
+ 464,
+ 70,
+ 6158
+ ],
+ [
+ 464,
+ 70,
+ 6159
+ ],
+ [
+ 456,
+ 65,
+ 6216
+ ],
+ [
+ 456,
+ 65,
+ 6217
+ ],
+ [
+ 447,
+ 61,
+ 6218
+ ],
+ [
+ 447,
+ 61,
+ 6219
+ ],
+ [
+ 438,
+ 59,
+ 6277
+ ],
+ [
+ 438,
+ 59,
+ 6278
+ ],
+ [
+ 428,
+ 57,
+ 6279
+ ],
+ [
+ 428,
+ 57,
+ 6280
+ ],
+ [
+ 421,
+ 56,
+ 6338
+ ],
+ [
+ 421,
+ 56,
+ 6338
+ ],
+ [
+ 414,
+ 56,
+ 6340
+ ],
+ [
+ 414,
+ 56,
+ 6340
+ ],
+ [
+ 411,
+ 56,
+ 6398
+ ],
+ [
+ 411,
+ 56,
+ 6399
+ ],
+ [
+ 407,
+ 55,
+ 6463
+ ],
+ [
+ 407,
+ 55,
+ 6465
+ ],
+ [
+ 403,
+ 56,
+ 6466
+ ],
+ [
+ 403,
+ 56,
+ 6467
+ ],
+ [
+ 402,
+ 56,
+ 6519
+ ],
+ [
+ 402,
+ 56,
+ 6520
+ ],
+ [
+ 398,
+ 59,
+ 6522
+ ],
+ [
+ 398,
+ 59,
+ 6523
+ ],
+ [
+ 396,
+ 61,
+ 6525
+ ],
+ [
+ 396,
+ 61,
+ 6526
+ ],
+ [
+ 395,
+ 62,
+ 6586
+ ],
+ [
+ 395,
+ 62,
+ 6587
+ ],
+ [
+ 392,
+ 66,
+ 6589
+ ],
+ [
+ 392,
+ 66,
+ 6589
+ ],
+ [
+ 392,
+ 68,
+ 6590
+ ],
+ [
+ 392,
+ 68,
+ 6591
+ ],
+ [
+ 391,
+ 70,
+ 6642
+ ],
+ [
+ 391,
+ 70,
+ 6643
+ ],
+ [
+ 391,
+ 72,
+ 6645
+ ],
+ [
+ 391,
+ 72,
+ 6645
+ ],
+ [
+ 391,
+ 73,
+ 6647
+ ],
+ [
+ 391,
+ 73,
+ 6647
+ ],
+ [
+ 391,
+ 74,
+ 6703
+ ],
+ [
+ 391,
+ 74,
+ 6704
+ ],
+ [
+ 392,
+ 76,
+ 6763
+ ],
+ [
+ 392,
+ 76,
+ 6764
+ ],
+ [
+ 395,
+ 77,
+ 6766
+ ],
+ [
+ 395,
+ 77,
+ 6767
+ ],
+ [
+ 399,
+ 77,
+ 6824
+ ],
+ [
+ 399,
+ 77,
+ 6825
+ ],
+ [
+ 411,
+ 78,
+ 6827
+ ],
+ [
+ 411,
+ 78,
+ 6827
+ ],
+ [
+ 427,
+ 80,
+ 6885
+ ],
+ [
+ 427,
+ 80,
+ 6886
+ ],
+ [
+ 442,
+ 81,
+ 6888
+ ],
+ [
+ 442,
+ 81,
+ 6889
+ ],
+ [
+ 448,
+ 82,
+ 6945
+ ],
+ [
+ 448,
+ 82,
+ 6946
+ ],
+ [
+ 457,
+ 82,
+ 6948
+ ],
+ [
+ 457,
+ 82,
+ 6948
+ ],
+ [
+ 460,
+ 81,
+ 6949
+ ],
+ [
+ 460,
+ 81,
+ 6950
+ ],
+ [
+ 467,
+ 80,
+ 7006
+ ],
+ [
+ 467,
+ 80,
+ 7007
+ ],
+ [
+ 478,
+ 77,
+ 7008
+ ],
+ [
+ 478,
+ 77,
+ 7009
+ ],
+ [
+ 483,
+ 74,
+ 7013
+ ],
+ [
+ 483,
+ 74,
+ 7014
+ ],
+ [
+ 488,
+ 72,
+ 7070
+ ],
+ [
+ 488,
+ 72,
+ 7072
+ ],
+ [
+ 490,
+ 71,
+ 7072
+ ],
+ [
+ 490,
+ 71,
+ 7073
+ ],
+ [
+ 501,
+ 63,
+ 7075
+ ],
+ [
+ 501,
+ 63,
+ 7076
+ ],
+ [
+ 514,
+ 53,
+ 7128
+ ],
+ [
+ 514,
+ 53,
+ 7129
+ ],
+ [
+ 521,
+ 48,
+ 7130
+ ],
+ [
+ 521,
+ 48,
+ 7131
+ ],
+ [
+ 528,
+ 44,
+ 7133
+ ],
+ [
+ 528,
+ 44,
+ 7134
+ ],
+ [
+ 532,
+ 40,
+ 7188
+ ],
+ [
+ 532,
+ 40,
+ 7189
+ ],
+ [
+ 537,
+ 34,
+ 7191
+ ],
+ [
+ 537,
+ 34,
+ 7191
+ ],
+ [
+ 538,
+ 32,
+ 7249
+ ],
+ [
+ 538,
+ 32,
+ 7251
+ ]
+ ]
+ ],
+ ".POINTS_PER_SECOND": 60,
+ ".SEGMENT": "CHARACTER",
+ ".VERSION": "1.0",
+ ".X_DIM": 1032,
+ ".X_POINTS_PER_INCH": 94,
+ ".Y_DIM": 263,
+ ".Y_POINTS_PER_INCH": 94
+ },
+ "0x0e31": {
+ ".COORD": [
+ "X",
+ "Y",
+ "T"
+ ],
+ ".HIERARCHY": "CHARACTER",
+ ".PEN": [
+ [
+ [
+ 451,
+ 37,
+ 0
+ ],
+ [
+ 452,
+ 37,
+ 263
+ ],
+ [
+ 452,
+ 37,
+ 264
+ ],
+ [
+ 454,
+ 37,
+ 303
+ ],
+ [
+ 454,
+ 37,
+ 304
+ ],
+ [
+ 455,
+ 38,
+ 361
+ ],
+ [
+ 455,
+ 38,
+ 362
+ ],
+ [
+ 456,
+ 38,
+ 423
+ ],
+ [
+ 456,
+ 38,
+ 424
+ ],
+ [
+ 457,
+ 38,
+ 484
+ ],
+ [
+ 457,
+ 38,
+ 485
+ ],
+ [
+ 458,
+ 38,
+ 487
+ ],
+ [
+ 458,
+ 38,
+ 487
+ ],
+ [
+ 459,
+ 39,
+ 545
+ ],
+ [
+ 459,
+ 39,
+ 547
+ ],
+ [
+ 460,
+ 39,
+ 615
+ ],
+ [
+ 460,
+ 39,
+ 616
+ ],
+ [
+ 461,
+ 39,
+ 667
+ ],
+ [
+ 461,
+ 39,
+ 668
+ ],
+ [
+ 463,
+ 39,
+ 670
+ ],
+ [
+ 463,
+ 39,
+ 670
+ ],
+ [
+ 465,
+ 39,
+ 728
+ ],
+ [
+ 466,
+ 38,
+ 729
+ ],
+ [
+ 466,
+ 38,
+ 730
+ ],
+ [
+ 467,
+ 37,
+ 735
+ ],
+ [
+ 467,
+ 37,
+ 736
+ ],
+ [
+ 468,
+ 36,
+ 789
+ ],
+ [
+ 468,
+ 36,
+ 790
+ ],
+ [
+ 469,
+ 34,
+ 853
+ ],
+ [
+ 469,
+ 34,
+ 855
+ ],
+ [
+ 469,
+ 33,
+ 856
+ ],
+ [
+ 469,
+ 33,
+ 857
+ ],
+ [
+ 469,
+ 32,
+ 910
+ ],
+ [
+ 469,
+ 32,
+ 912
+ ],
+ [
+ 469,
+ 31,
+ 913
+ ],
+ [
+ 469,
+ 31,
+ 914
+ ],
+ [
+ 469,
+ 28,
+ 970
+ ],
+ [
+ 469,
+ 28,
+ 971
+ ],
+ [
+ 469,
+ 26,
+ 972
+ ],
+ [
+ 469,
+ 26,
+ 973
+ ],
+ [
+ 469,
+ 25,
+ 1031
+ ],
+ [
+ 469,
+ 25,
+ 1033
+ ],
+ [
+ 467,
+ 23,
+ 1035
+ ],
+ [
+ 467,
+ 23,
+ 1035
+ ],
+ [
+ 466,
+ 22,
+ 1092
+ ],
+ [
+ 466,
+ 22,
+ 1093
+ ],
+ [
+ 464,
+ 21,
+ 1153
+ ],
+ [
+ 464,
+ 21,
+ 1155
+ ],
+ [
+ 461,
+ 21,
+ 1156
+ ],
+ [
+ 461,
+ 21,
+ 1157
+ ],
+ [
+ 459,
+ 21,
+ 1215
+ ],
+ [
+ 459,
+ 21,
+ 1216
+ ],
+ [
+ 455,
+ 21,
+ 1218
+ ],
+ [
+ 455,
+ 21,
+ 1218
+ ],
+ [
+ 454,
+ 22,
+ 1276
+ ],
+ [
+ 454,
+ 22,
+ 1277
+ ],
+ [
+ 449,
+ 24,
+ 1279
+ ],
+ [
+ 449,
+ 24,
+ 1280
+ ],
+ [
+ 447,
+ 24,
+ 1343
+ ],
+ [
+ 447,
+ 24,
+ 1344
+ ],
+ [
+ 446,
+ 26,
+ 1399
+ ],
+ [
+ 446,
+ 26,
+ 1400
+ ],
+ [
+ 444,
+ 27,
+ 1401
+ ],
+ [
+ 444,
+ 27,
+ 1402
+ ],
+ [
+ 444,
+ 28,
+ 1460
+ ],
+ [
+ 444,
+ 28,
+ 1461
+ ],
+ [
+ 442,
+ 32,
+ 1463
+ ],
+ [
+ 442,
+ 32,
+ 1463
+ ],
+ [
+ 442,
+ 34,
+ 1521
+ ],
+ [
+ 442,
+ 34,
+ 1522
+ ],
+ [
+ 441,
+ 36,
+ 1527
+ ],
+ [
+ 441,
+ 36,
+ 1528
+ ],
+ [
+ 441,
+ 39,
+ 1582
+ ],
+ [
+ 441,
+ 39,
+ 1583
+ ],
+ [
+ 441,
+ 40,
+ 1642
+ ],
+ [
+ 441,
+ 40,
+ 1643
+ ],
+ [
+ 441,
+ 42,
+ 1645
+ ],
+ [
+ 441,
+ 42,
+ 1645
+ ],
+ [
+ 442,
+ 43,
+ 1646
+ ],
+ [
+ 442,
+ 43,
+ 1647
+ ],
+ [
+ 443,
+ 43,
+ 1703
+ ],
+ [
+ 443,
+ 43,
+ 1704
+ ],
+ [
+ 444,
+ 44,
+ 1706
+ ],
+ [
+ 444,
+ 44,
+ 1706
+ ],
+ [
+ 445,
+ 45,
+ 1764
+ ],
+ [
+ 445,
+ 45,
+ 1765
+ ],
+ [
+ 446,
+ 45,
+ 1828
+ ],
+ [
+ 446,
+ 45,
+ 1829
+ ],
+ [
+ 447,
+ 46,
+ 1831
+ ],
+ [
+ 447,
+ 46,
+ 1832
+ ],
+ [
+ 449,
+ 46,
+ 1885
+ ],
+ [
+ 449,
+ 46,
+ 1886
+ ],
+ [
+ 450,
+ 46,
+ 1888
+ ],
+ [
+ 450,
+ 46,
+ 1889
+ ],
+ [
+ 453,
+ 47,
+ 1945
+ ],
+ [
+ 453,
+ 47,
+ 1947
+ ],
+ [
+ 457,
+ 47,
+ 1948
+ ],
+ [
+ 457,
+ 47,
+ 1949
+ ],
+ [
+ 458,
+ 47,
+ 1951
+ ],
+ [
+ 458,
+ 47,
+ 1952
+ ],
+ [
+ 460,
+ 47,
+ 2007
+ ],
+ [
+ 460,
+ 47,
+ 2008
+ ],
+ [
+ 464,
+ 48,
+ 2010
+ ],
+ [
+ 464,
+ 48,
+ 2010
+ ],
+ [
+ 465,
+ 48,
+ 2067
+ ],
+ [
+ 465,
+ 48,
+ 2069
+ ],
+ [
+ 467,
+ 48,
+ 2071
+ ],
+ [
+ 467,
+ 48,
+ 2072
+ ],
+ [
+ 469,
+ 48,
+ 2072
+ ],
+ [
+ 469,
+ 48,
+ 2073
+ ],
+ [
+ 471,
+ 48,
+ 2129
+ ],
+ [
+ 471,
+ 48,
+ 2131
+ ],
+ [
+ 475,
+ 46,
+ 2132
+ ],
+ [
+ 475,
+ 46,
+ 2133
+ ],
+ [
+ 477,
+ 46,
+ 2190
+ ],
+ [
+ 477,
+ 46,
+ 2191
+ ],
+ [
+ 483,
+ 43,
+ 2193
+ ],
+ [
+ 483,
+ 43,
+ 2193
+ ],
+ [
+ 485,
+ 42,
+ 2250
+ ],
+ [
+ 485,
+ 42,
+ 2251
+ ],
+ [
+ 492,
+ 38,
+ 2253
+ ],
+ [
+ 492,
+ 38,
+ 2253
+ ],
+ [
+ 496,
+ 36,
+ 2312
+ ],
+ [
+ 496,
+ 36,
+ 2313
+ ],
+ [
+ 501,
+ 33,
+ 2315
+ ],
+ [
+ 501,
+ 33,
+ 2316
+ ],
+ [
+ 501,
+ 32,
+ 2376
+ ],
+ [
+ 501,
+ 32,
+ 2378
+ ],
+ [
+ 505,
+ 31,
+ 2379
+ ],
+ [
+ 505,
+ 31,
+ 2380
+ ],
+ [
+ 506,
+ 31,
+ 2383
+ ],
+ [
+ 506,
+ 31,
+ 2384
+ ],
+ [
+ 507,
+ 30,
+ 2433
+ ],
+ [
+ 507,
+ 30,
+ 2434
+ ],
+ [
+ 508,
+ 29,
+ 2435
+ ],
+ [
+ 508,
+ 29,
+ 2436
+ ],
+ [
+ 510,
+ 28,
+ 2494
+ ],
+ [
+ 510,
+ 28,
+ 2496
+ ],
+ [
+ 511,
+ 27,
+ 2497
+ ],
+ [
+ 511,
+ 27,
+ 2498
+ ],
+ [
+ 512,
+ 27,
+ 2556
+ ],
+ [
+ 512,
+ 27,
+ 2557
+ ],
+ [
+ 513,
+ 26,
+ 2633
+ ],
+ [
+ 513,
+ 26,
+ 2634
+ ]
+ ]
+ ],
+ ".POINTS_PER_SECOND": 60,
+ ".SEGMENT": "CHARACTER",
+ ".VERSION": "1.0",
+ ".X_DIM": 1032,
+ ".X_POINTS_PER_INCH": 94,
+ ".Y_DIM": 263,
+ ".Y_POINTS_PER_INCH": 94
+ },
+ "0x0e35": {
+ ".COORD": [
+ "X",
+ "Y",
+ "T"
+ ],
+ ".HIERARCHY": "CHARACTER",
+ ".PEN": [
+ [
+ [
+ 496,
+ 54,
+ 0
+ ],
+ [
+ 495,
+ 54,
+ 479
+ ],
+ [
+ 495,
+ 54,
+ 480
+ ],
+ [
+ 495,
+ 53,
+ 516
+ ],
+ [
+ 495,
+ 53,
+ 518
+ ],
+ [
+ 494,
+ 53,
+ 576
+ ],
+ [
+ 494,
+ 53,
+ 577
+ ],
+ [
+ 493,
+ 51,
+ 579
+ ],
+ [
+ 493,
+ 51,
+ 579
+ ],
+ [
+ 493,
+ 49,
+ 637
+ ],
+ [
+ 493,
+ 49,
+ 638
+ ],
+ [
+ 492,
+ 48,
+ 640
+ ],
+ [
+ 492,
+ 48,
+ 640
+ ],
+ [
+ 491,
+ 46,
+ 697
+ ],
+ [
+ 491,
+ 46,
+ 698
+ ],
+ [
+ 488,
+ 44,
+ 700
+ ],
+ [
+ 488,
+ 44,
+ 701
+ ],
+ [
+ 487,
+ 43,
+ 702
+ ],
+ [
+ 487,
+ 43,
+ 703
+ ],
+ [
+ 487,
+ 41,
+ 759
+ ],
+ [
+ 487,
+ 41,
+ 760
+ ],
+ [
+ 485,
+ 38,
+ 762
+ ],
+ [
+ 485,
+ 38,
+ 762
+ ],
+ [
+ 482,
+ 37,
+ 820
+ ],
+ [
+ 482,
+ 37,
+ 821
+ ],
+ [
+ 480,
+ 35,
+ 822
+ ],
+ [
+ 480,
+ 35,
+ 822
+ ],
+ [
+ 477,
+ 34,
+ 884
+ ],
+ [
+ 477,
+ 34,
+ 885
+ ],
+ [
+ 475,
+ 32,
+ 887
+ ],
+ [
+ 475,
+ 32,
+ 887
+ ],
+ [
+ 471,
+ 30,
+ 941
+ ],
+ [
+ 471,
+ 30,
+ 942
+ ],
+ [
+ 467,
+ 29,
+ 943
+ ],
+ [
+ 467,
+ 29,
+ 944
+ ],
+ [
+ 458,
+ 28,
+ 1002
+ ],
+ [
+ 458,
+ 28,
+ 1003
+ ],
+ [
+ 454,
+ 27,
+ 1004
+ ],
+ [
+ 454,
+ 27,
+ 1005
+ ],
+ [
+ 451,
+ 26,
+ 1006
+ ],
+ [
+ 451,
+ 26,
+ 1007
+ ],
+ [
+ 448,
+ 26,
+ 1064
+ ],
+ [
+ 448,
+ 26,
+ 1065
+ ],
+ [
+ 446,
+ 25,
+ 1067
+ ],
+ [
+ 446,
+ 25,
+ 1067
+ ],
+ [
+ 444,
+ 25,
+ 1126
+ ],
+ [
+ 444,
+ 25,
+ 1127
+ ],
+ [
+ 441,
+ 25,
+ 1217
+ ],
+ [
+ 441,
+ 25,
+ 1218
+ ],
+ [
+ 440,
+ 25,
+ 1222
+ ],
+ [
+ 440,
+ 25,
+ 1223
+ ],
+ [
+ 439,
+ 25,
+ 1277
+ ],
+ [
+ 439,
+ 25,
+ 1278
+ ],
+ [
+ 435,
+ 27,
+ 1280
+ ],
+ [
+ 435,
+ 27,
+ 1281
+ ],
+ [
+ 434,
+ 28,
+ 1338
+ ],
+ [
+ 434,
+ 28,
+ 1339
+ ],
+ [
+ 433,
+ 28,
+ 1340
+ ],
+ [
+ 433,
+ 28,
+ 1341
+ ],
+ [
+ 433,
+ 29,
+ 1404
+ ],
+ [
+ 433,
+ 29,
+ 1405
+ ],
+ [
+ 433,
+ 30,
+ 1406
+ ],
+ [
+ 433,
+ 30,
+ 1407
+ ],
+ [
+ 432,
+ 32,
+ 1408
+ ],
+ [
+ 432,
+ 32,
+ 1409
+ ],
+ [
+ 431,
+ 33,
+ 1461
+ ],
+ [
+ 431,
+ 33,
+ 1462
+ ],
+ [
+ 431,
+ 34,
+ 1522
+ ],
+ [
+ 431,
+ 34,
+ 1523
+ ],
+ [
+ 431,
+ 36,
+ 1525
+ ],
+ [
+ 431,
+ 36,
+ 1526
+ ],
+ [
+ 431,
+ 38,
+ 1585
+ ],
+ [
+ 431,
+ 38,
+ 1586
+ ],
+ [
+ 431,
+ 40,
+ 1645
+ ],
+ [
+ 431,
+ 40,
+ 1646
+ ],
+ [
+ 432,
+ 40,
+ 1647
+ ],
+ [
+ 432,
+ 40,
+ 1648
+ ],
+ [
+ 432,
+ 42,
+ 1706
+ ],
+ [
+ 432,
+ 42,
+ 1708
+ ],
+ [
+ 433,
+ 43,
+ 1710
+ ],
+ [
+ 433,
+ 43,
+ 1710
+ ],
+ [
+ 435,
+ 44,
+ 1766
+ ],
+ [
+ 435,
+ 44,
+ 1767
+ ],
+ [
+ 436,
+ 44,
+ 1769
+ ],
+ [
+ 436,
+ 44,
+ 1769
+ ],
+ [
+ 436,
+ 45,
+ 1827
+ ],
+ [
+ 436,
+ 45,
+ 1828
+ ],
+ [
+ 437,
+ 45,
+ 1892
+ ],
+ [
+ 437,
+ 45,
+ 1893
+ ],
+ [
+ 442,
+ 46,
+ 1895
+ ],
+ [
+ 442,
+ 46,
+ 1896
+ ],
+ [
+ 446,
+ 46,
+ 1950
+ ],
+ [
+ 446,
+ 46,
+ 1951
+ ],
+ [
+ 453,
+ 47,
+ 1953
+ ],
+ [
+ 453,
+ 47,
+ 1954
+ ],
+ [
+ 458,
+ 47,
+ 2010
+ ],
+ [
+ 458,
+ 47,
+ 2011
+ ],
+ [
+ 465,
+ 49,
+ 2012
+ ],
+ [
+ 465,
+ 49,
+ 2013
+ ],
+ [
+ 468,
+ 49,
+ 2014
+ ],
+ [
+ 468,
+ 49,
+ 2015
+ ],
+ [
+ 471,
+ 49,
+ 2070
+ ],
+ [
+ 471,
+ 49,
+ 2071
+ ],
+ [
+ 472,
+ 49,
+ 2073
+ ],
+ [
+ 472,
+ 49,
+ 2073
+ ],
+ [
+ 474,
+ 49,
+ 2130
+ ],
+ [
+ 474,
+ 49,
+ 2131
+ ],
+ [
+ 475,
+ 49,
+ 2134
+ ],
+ [
+ 475,
+ 49,
+ 2135
+ ],
+ [
+ 479,
+ 49,
+ 2193
+ ],
+ [
+ 479,
+ 49,
+ 2194
+ ],
+ [
+ 480,
+ 49,
+ 2198
+ ],
+ [
+ 480,
+ 49,
+ 2199
+ ],
+ [
+ 482,
+ 50,
+ 2254
+ ],
+ [
+ 482,
+ 50,
+ 2255
+ ],
+ [
+ 487,
+ 50,
+ 2257
+ ],
+ [
+ 487,
+ 50,
+ 2257
+ ],
+ [
+ 493,
+ 51,
+ 2315
+ ],
+ [
+ 493,
+ 51,
+ 2316
+ ],
+ [
+ 495,
+ 51,
+ 2318
+ ],
+ [
+ 495,
+ 51,
+ 2318
+ ],
+ [
+ 497,
+ 51,
+ 2319
+ ],
+ [
+ 497,
+ 51,
+ 2320
+ ],
+ [
+ 498,
+ 51,
+ 2391
+ ],
+ [
+ 498,
+ 51,
+ 2392
+ ],
+ [
+ 498,
+ 50,
+ 2687
+ ],
+ [
+ 498,
+ 50,
+ 2688
+ ],
+ [
+ 498,
+ 45,
+ 2736
+ ],
+ [
+ 498,
+ 45,
+ 2737
+ ],
+ [
+ 498,
+ 41,
+ 2772
+ ],
+ [
+ 498,
+ 41,
+ 2773
+ ],
+ [
+ 498,
+ 37,
+ 2833
+ ],
+ [
+ 498,
+ 37,
+ 2834
+ ],
+ [
+ 498,
+ 32,
+ 2835
+ ],
+ [
+ 498,
+ 32,
+ 2836
+ ],
+ [
+ 498,
+ 29,
+ 2838
+ ],
+ [
+ 498,
+ 29,
+ 2839
+ ],
+ [
+ 498,
+ 26,
+ 2897
+ ],
+ [
+ 498,
+ 26,
+ 2899
+ ],
+ [
+ 498,
+ 22,
+ 2900
+ ],
+ [
+ 498,
+ 22,
+ 2901
+ ],
+ [
+ 497,
+ 21,
+ 2954
+ ],
+ [
+ 497,
+ 21,
+ 2955
+ ],
+ [
+ 497,
+ 20,
+ 2958
+ ],
+ [
+ 497,
+ 20,
+ 2959
+ ],
+ [
+ 497,
+ 19,
+ 3384
+ ],
+ [
+ 497,
+ 19,
+ 3385
+ ]
+ ]
+ ],
+ ".POINTS_PER_SECOND": 60,
+ ".SEGMENT": "CHARACTER",
+ ".VERSION": "1.0",
+ ".X_DIM": 1032,
+ ".X_POINTS_PER_INCH": 94,
+ ".Y_DIM": 263,
+ ".Y_POINTS_PER_INCH": 94
+ }
+}
diff --git a/tests/auto/inputpanel/data/tst_inputpanel.qml b/tests/auto/inputpanel/data/tst_inputpanel.qml
index 91a6e13f..44a718c0 100644
--- a/tests/auto/inputpanel/data/tst_inputpanel.qml
+++ b/tests/auto/inputpanel/data/tst_inputpanel.qml
@@ -1245,6 +1245,7 @@ Rectangle {
{ initHwrMode: true, initInputMethodHints: Qt.ImhNone, initLocale: "fa_FA", initInputMode: "Arabic", inputSequence: "\u0686\u0627\u06CC", outputText: "\u0686\u0627\u06CC" },
{ initHwrMode: true, initInputMethodHints: Qt.ImhNone, initLocale: "he_IL", initInputMode: "Hebrew", inputSequence: "\u05D0\u05D5\u05D8\u05D5", outputText: "\u05D0\u05D5\u05D8\u05D5" },
{ initHwrMode: true, initInputMethodHints: Qt.ImhNone, initLocale: "vi_VN", inputSequence: "Ti\u1EBFng vi\u1EC7t", outputText: "Ti\u1EBFng vi\u1EC7t" },
+ { initHwrMode: true, initInputMethodHints: Qt.ImhNone, initLocale: "th_TH", inputSequence: "สวัสดี", outputText: "สวัสดี" },
]
}
diff --git a/tests/auto/inputpanel/hwr_test_data/thai/3604_100_0.txt b/tests/auto/inputpanel/hwr_test_data/thai/3604_100_0.txt
new file mode 100644
index 00000000..7d6dce31
--- /dev/null
+++ b/tests/auto/inputpanel/hwr_test_data/thai/3604_100_0.txt
@@ -0,0 +1,400 @@
+.VERSION 1.0
+.HIERARCHY CHARACTER
+.COORD X Y T
+.SEGMENT CHARACTER
+.X_DIM 1032
+.Y_DIM 263
+.X_POINTS_PER_INCH 94
+.Y_POINTS_PER_INCH 94
+.POINTS_PER_SECOND 60
+.PEN_DOWN
+452 135 0
+451 135 214
+451 135 215
+450 135 278
+450 135 279
+449 135 318
+449 135 319
+448 135 348
+448 135 377
+447 135 379
+447 135 379
+446 136 381
+446 136 408
+445 136 438
+445 136 439
+442 137 440
+442 137 441
+441 137 499
+441 137 500
+440 137 559
+440 137 560
+439 137 619
+439 137 620
+438 137 622
+438 137 623
+437 137 681
+437 137 683
+436 137 746
+436 137 747
+435 137 749
+435 137 749
+434 137 802
+434 137 804
+432 135 863
+432 135 864
+432 134 924
+432 134 925
+432 133 926
+432 133 927
+432 131 985
+432 131 986
+432 130 1045
+432 130 1046
+433 129 1106
+433 129 1107
+435 128 1168
+435 128 1170
+437 127 1171
+437 127 1172
+439 126 1233
+439 126 1235
+441 126 1236
+441 126 1237
+442 126 1238
+442 126 1239
+446 126 1291
+446 126 1292
+447 126 1294
+447 126 1295
+448 126 1352
+448 126 1353
+450 126 1355
+450 126 1355
+451 126 1358
+451 126 1359
+452 126 1412
+452 126 1413
+452 127 1415
+452 127 1416
+453 127 1474
+453 127 1475
+454 128 1535
+454 128 1536
+454 129 1537
+454 129 1537
+454 130 1595
+454 130 1597
+454 131 1598
+454 131 1599
+455 132 1694
+455 132 1695
+455 133 1758
+455 133 1759
+455 134 1810
+455 134 1811
+455 135 1814
+455 135 1815
+455 136 1872
+455 136 1873
+455 137 1932
+455 137 1933
+455 139 1935
+455 139 1936
+455 140 1998
+455 140 1999
+455 141 2055
+455 142 2056
+455 142 2057
+455 143 2114
+455 143 2115
+454 144 2174
+454 144 2175
+454 146 2177
+454 146 2178
+454 147 2239
+454 147 2240
+453 149 2242
+453 149 2243
+453 151 2296
+453 151 2297
+452 152 2298
+452 152 2299
+452 153 2302
+452 153 2303
+452 154 2357
+452 154 2358
+452 155 2359
+452 155 2360
+452 156 2417
+452 156 2418
+451 157 2419
+451 157 2420
+450 158 2478
+450 158 2480
+449 161 2481
+449 161 2481
+448 162 2538
+448 162 2539
+447 163 2542
+447 163 2542
+446 164 2543
+446 164 2544
+445 166 2598
+445 166 2599
+443 168 2601
+443 168 2602
+440 171 2660
+440 171 2661
+437 173 2663
+437 173 2663
+437 174 2720
+437 174 2722
+435 175 2786
+435 175 2787
+433 177 2788
+433 177 2789
+431 177 2813
+431 177 2842
+429 178 2844
+429 178 2845
+428 178 3351
+428 178 3352
+427 178 3486
+427 178 3487
+426 177 3515
+426 177 3516
+426 176 3518
+426 176 3519
+425 174 3576
+425 174 3577
+424 174 3578
+424 174 3579
+423 172 3582
+423 172 3583
+423 171 3637
+423 171 3638
+421 169 3639
+421 169 3640
+419 167 3697
+419 167 3699
+418 165 3700
+418 165 3701
+417 164 3702
+417 164 3703
+416 162 3762
+416 162 3763
+415 160 3765
+415 160 3766
+415 159 3818
+415 159 3819
+413 156 3821
+413 156 3822
+412 155 3823
+412 155 3824
+411 152 3880
+411 152 3881
+410 150 3883
+410 150 3883
+410 148 3886
+410 148 3887
+410 146 3942
+410 146 3943
+408 142 3944
+408 142 3945
+407 140 4003
+407 140 4004
+406 137 4006
+406 137 4007
+406 136 4008
+406 136 4008
+406 133 4064
+406 133 4065
+405 132 4067
+405 132 4067
+405 128 4125
+405 128 4127
+405 125 4128
+405 125 4129
+405 121 4186
+405 121 4187
+405 119 4189
+405 119 4190
+405 115 4191
+405 115 4192
+405 113 4251
+405 113 4252
+405 110 4254
+405 110 4255
+406 108 4256
+406 108 4257
+406 105 4308
+406 105 4309
+407 102 4311
+407 102 4312
+408 97 4369
+408 97 4370
+409 94 4430
+409 94 4432
+411 92 4433
+411 92 4434
+411 89 4522
+411 89 4523
+415 83 4525
+415 83 4526
+416 82 4583
+416 82 4584
+418 79 4585
+418 79 4586
+419 78 4589
+419 78 4590
+421 77 4644
+421 77 4645
+424 75 4647
+424 75 4648
+428 72 4705
+428 72 4706
+430 71 4708
+430 71 4708
+433 70 4770
+433 70 4771
+435 69 4773
+435 69 4774
+436 68 4775
+436 68 4776
+439 67 4828
+439 67 4829
+440 67 4887
+440 67 4889
+443 67 4890
+443 67 4891
+446 66 4948
+446 66 4950
+447 66 4951
+447 66 4952
+448 66 5009
+448 66 5010
+450 66 5012
+450 66 5012
+451 66 5070
+451 66 5071
+453 66 5072
+453 66 5073
+455 66 5130
+455 66 5131
+459 66 5132
+459 66 5133
+462 66 5191
+462 66 5193
+465 66 5194
+465 66 5195
+467 66 5198
+467 66 5226
+469 67 5252
+469 67 5253
+472 68 5287
+472 68 5288
+473 68 5314
+473 68 5315
+474 68 5344
+474 68 5345
+476 69 5374
+476 69 5375
+480 70 5406
+480 70 5407
+483 72 5435
+483 72 5436
+485 73 5466
+485 73 5467
+487 75 5497
+487 75 5498
+489 76 5526
+489 76 5527
+491 78 5557
+491 78 5558
+492 80 5617
+492 80 5618
+493 84 5621
+493 84 5621
+494 85 5623
+494 85 5623
+495 89 5678
+495 89 5679
+497 92 5681
+497 92 5681
+497 94 5685
+497 94 5709
+498 96 5739
+498 96 5740
+498 99 5774
+498 99 5775
+498 102 5800
+498 102 5801
+498 107 5829
+498 107 5830
+498 110 5861
+498 110 5862
+499 113 5892
+499 113 5893
+499 114 5921
+499 117 5922
+499 117 5923
+499 118 5953
+499 118 5954
+499 121 5984
+499 121 5985
+499 123 6015
+499 123 6015
+499 126 6046
+499 126 6047
+499 128 6076
+499 128 6076
+499 130 6106
+499 131 6107
+499 131 6108
+499 133 6136
+499 133 6137
+499 135 6166
+499 135 6167
+499 141 6197
+499 141 6197
+499 144 6228
+499 144 6229
+499 148 6257
+499 148 6258
+499 150 6293
+499 150 6294
+498 155 6319
+498 155 6320
+497 158 6350
+497 158 6350
+497 161 6379
+497 161 6380
+497 163 6409
+497 163 6410
+496 165 6440
+496 165 6441
+496 167 6471
+496 167 6472
+495 168 6502
+495 168 6503
+495 169 6532
+495 169 6533
+495 170 6563
+495 170 6564
+495 171 6625
+495 171 6626
+494 172 6685
+494 172 6686
+494 173 6687
+494 173 6688
+494 174 6746
+494 174 6747
+494 175 6811
+494 175 6812
+494 176 6878
+494 176 6879
+494 177 6990
+494 177 6991
+494 177 8140
+.PEN_UP
diff --git a/tests/auto/inputpanel/hwr_test_data/thai/3623_100_0.txt b/tests/auto/inputpanel/hwr_test_data/thai/3623_100_0.txt
new file mode 100644
index 00000000..10043e72
--- /dev/null
+++ b/tests/auto/inputpanel/hwr_test_data/thai/3623_100_0.txt
@@ -0,0 +1,230 @@
+.VERSION 1.0
+.HIERARCHY CHARACTER
+.COORD X Y T
+.SEGMENT CHARACTER
+.X_DIM 1032
+.Y_DIM 263
+.X_POINTS_PER_INCH 94
+.Y_POINTS_PER_INCH 94
+.POINTS_PER_SECOND 60
+.PEN_DOWN
+445 84 0
+445 83 461
+445 83 462
+445 81 503
+445 81 504
+445 80 565
+445 80 566
+445 77 568
+445 77 569
+445 76 625
+445 76 626
+446 76 628
+446 76 629
+447 74 630
+447 74 631
+447 73 686
+447 73 687
+449 71 688
+449 71 689
+451 69 747
+451 69 748
+452 68 750
+452 68 750
+454 68 808
+454 68 810
+455 67 811
+455 67 812
+456 66 813
+456 66 814
+459 65 871
+459 65 872
+461 64 874
+461 64 874
+464 63 931
+464 63 933
+465 63 992
+465 63 993
+467 63 997
+467 63 998
+468 63 1052
+468 63 1054
+470 63 1055
+470 63 1056
+473 63 1114
+473 63 1115
+474 63 1116
+474 63 1117
+477 64 1176
+477 64 1177
+478 64 1179
+478 64 1179
+478 65 1237
+478 65 1238
+479 65 1239
+479 65 1240
+480 66 1298
+480 66 1299
+482 67 1300
+482 67 1301
+483 69 1358
+483 69 1360
+485 70 1362
+485 70 1362
+486 73 1420
+486 73 1421
+486 75 1422
+486 75 1423
+487 78 1480
+487 78 1482
+488 81 1483
+488 81 1484
+488 83 1540
+488 83 1542
+489 85 1543
+489 85 1544
+489 87 1601
+489 87 1602
+490 90 1604
+490 90 1605
+490 93 1666
+490 93 1667
+491 96 1669
+491 98 1670
+491 98 1671
+491 100 1724
+491 100 1725
+492 103 1726
+492 103 1727
+492 107 1784
+492 107 1785
+492 108 1787
+492 108 1787
+493 112 1789
+493 112 1790
+493 115 1846
+493 115 1847
+493 119 1849
+493 119 1849
+493 121 1906
+493 121 1907
+493 126 1909
+493 126 1909
+493 128 1911
+493 128 1911
+493 130 1968
+493 130 1969
+493 134 1970
+493 134 1971
+493 136 1974
+493 136 1975
+493 140 2029
+493 140 2030
+493 143 2031
+493 143 2032
+493 147 2089
+493 147 2090
+492 150 2137
+492 150 2138
+491 156 2147
+491 156 2148
+491 158 2186
+491 158 2187
+491 161 2212
+491 161 2213
+490 164 2247
+490 164 2248
+490 166 2273
+490 166 2274
+489 168 2305
+489 168 2306
+489 169 2335
+489 169 2336
+488 171 2366
+488 171 2367
+487 173 2396
+487 173 2397
+487 174 2457
+487 174 2458
+487 175 2459
+487 175 2460
+486 176 2525
+486 176 2526
+485 177 2580
+485 177 2582
+484 177 2583
+484 177 2584
+483 177 2646
+483 177 2647
+483 178 2702
+483 178 2703
+482 178 2704
+482 178 2705
+481 178 2764
+481 178 2765
+480 178 2766
+480 178 2767
+479 178 2825
+479 178 2826
+478 178 2885
+478 178 2887
+476 178 2888
+476 178 2889
+475 177 2947
+475 177 2948
+472 176 3008
+472 176 3009
+471 174 3012
+471 174 3013
+469 173 3070
+469 173 3071
+468 172 3100
+468 170 3131
+468 170 3133
+467 170 3135
+467 170 3136
+467 166 3195
+467 166 3197
+467 164 3199
+467 164 3199
+467 161 3252
+467 161 3254
+467 159 3255
+467 159 3256
+469 159 3314
+469 159 3315
+471 157 3316
+471 157 3317
+473 155 3375
+473 155 3376
+475 155 3378
+475 155 3378
+477 154 3436
+477 154 3437
+478 154 3438
+478 154 3439
+479 154 3497
+479 154 3498
+481 154 3500
+481 154 3501
+482 154 3557
+482 154 3559
+483 154 3560
+483 154 3561
+485 154 3619
+485 154 3621
+486 155 3622
+486 155 3623
+487 156 3686
+487 156 3687
+488 157 3742
+488 157 3743
+488 158 3804
+488 158 3805
+488 159 3864
+488 159 3865
+488 160 3866
+488 160 3867
+489 161 3869
+489 161 3870
+.PEN_UP
diff --git a/tests/auto/inputpanel/hwr_test_data/thai/3626_100_0.txt b/tests/auto/inputpanel/hwr_test_data/thai/3626_100_0.txt
new file mode 100644
index 00000000..270fbdcb
--- /dev/null
+++ b/tests/auto/inputpanel/hwr_test_data/thai/3626_100_0.txt
@@ -0,0 +1,395 @@
+.VERSION 1.0
+.HIERARCHY CHARACTER
+.COORD X Y T
+.SEGMENT CHARACTER
+.X_DIM 1032
+.Y_DIM 263
+.X_POINTS_PER_INCH 94
+.Y_POINTS_PER_INCH 94
+.POINTS_PER_SECOND 60
+.PEN_DOWN
+418 171 0
+418 170 629
+418 170 630
+419 170 678
+419 170 680
+420 169 685
+420 169 693
+421 169 770
+421 169 771
+422 169 772
+422 169 773
+423 169 774
+423 169 775
+425 169 829
+425 169 831
+426 169 832
+426 169 833
+428 169 890
+428 169 891
+430 169 893
+430 169 894
+430 170 951
+430 170 952
+431 171 953
+431 171 954
+431 172 1012
+431 172 1013
+432 173 1015
+432 173 1015
+432 174 1072
+432 174 1073
+432 175 1075
+432 175 1076
+432 176 1133
+432 176 1134
+431 177 1194
+431 177 1195
+431 178 1255
+431 178 1256
+430 178 1316
+430 178 1317
+429 178 1318
+429 178 1319
+428 179 1376
+428 179 1378
+427 179 1379
+427 179 1380
+427 180 1438
+427 180 1439
+426 180 1440
+426 180 1441
+425 180 1498
+425 180 1500
+424 180 1501
+424 180 1502
+423 180 1563
+423 180 1564
+422 180 1620
+422 180 1621
+421 180 1623
+421 180 1623
+420 180 1681
+420 180 1682
+419 180 1742
+419 180 1743
+418 180 1803
+418 180 1804
+417 180 1863
+417 180 1864
+416 179 1924
+416 179 1925
+415 179 1927
+415 179 1927
+415 178 1986
+415 178 1987
+415 177 2052
+415 177 2053
+414 176 2054
+414 176 2054
+414 175 2107
+414 175 2108
+413 173 2110
+413 173 2111
+413 172 2168
+413 172 2169
+412 171 2170
+412 171 2171
+412 170 2173
+412 170 2174
+412 168 2228
+412 168 2229
+412 166 2289
+412 166 2290
+412 165 2292
+412 165 2293
+411 164 2294
+411 164 2295
+411 163 2350
+411 163 2351
+411 161 2353
+411 161 2354
+411 160 2357
+411 160 2358
+411 158 2410
+411 158 2412
+411 156 2475
+411 156 2477
+411 153 2478
+411 153 2479
+411 152 2536
+411 152 2537
+411 149 2539
+411 149 2539
+411 148 2541
+411 148 2542
+411 147 2592
+411 147 2594
+412 145 2595
+412 145 2596
+412 144 2654
+412 144 2655
+413 141 2657
+413 141 2658
+414 140 2661
+414 140 2662
+415 138 2715
+415 138 2716
+415 137 2718
+415 137 2719
+415 136 2776
+415 136 2777
+417 134 2779
+417 134 2779
+420 134 2837
+420 134 2838
+425 131 2840
+425 131 2840
+425 130 2898
+425 130 2899
+429 128 2901
+429 128 2902
+431 127 2958
+431 127 2959
+433 125 2961
+433 125 2962
+434 125 3019
+434 125 3020
+437 123 3022
+437 123 3022
+438 123 3084
+438 123 3085
+441 122 3140
+441 122 3142
+444 121 3144
+444 121 3144
+445 120 3202
+445 120 3203
+446 120 3204
+446 120 3205
+447 120 3206
+447 120 3207
+449 120 3263
+449 120 3265
+451 119 3269
+451 119 3270
+454 119 3324
+454 119 3325
+459 119 3326
+459 119 3327
+461 119 3385
+461 119 3386
+464 119 3388
+464 119 3389
+465 119 3390
+465 119 3391
+466 119 3445
+466 119 3446
+467 119 3449
+467 119 3449
+468 119 3453
+468 119 3477
+469 120 3543
+469 120 3544
+472 120 3546
+472 120 3546
+475 122 3599
+475 122 3600
+479 123 3602
+479 123 3602
+482 124 3660
+482 124 3661
+486 126 3662
+486 126 3663
+488 127 3721
+488 127 3722
+490 129 3724
+490 129 3724
+492 131 3726
+492 131 3726
+493 132 3782
+493 132 3783
+494 133 3784
+494 133 3785
+496 135 3843
+496 135 3844
+497 139 3846
+497 139 3847
+498 142 3903
+498 142 3905
+499 148 3906
+499 148 3907
+499 149 3909
+499 149 3910
+499 150 3964
+499 150 3965
+500 154 3966
+500 154 3967
+500 157 4025
+500 157 4026
+500 159 4027
+500 159 4028
+500 160 4085
+500 160 4086
+500 162 4087
+500 162 4088
+500 163 4146
+500 163 4147
+500 164 4148
+500 164 4149
+500 166 4151
+500 166 4151
+500 169 4209
+500 169 4210
+500 171 4269
+500 171 4270
+500 172 4331
+500 172 4332
+500 173 4430
+500 173 4431
+500 174 4517
+500 174 4518
+501 173 5293
+501 173 5294
+501 172 5335
+501 172 5336
+501 171 5397
+501 171 5398
+501 170 5456
+501 170 5458
+501 168 5459
+501 168 5460
+501 167 5462
+501 167 5463
+501 166 5516
+501 166 5518
+501 164 5520
+501 164 5520
+501 161 5582
+501 161 5583
+501 159 5607
+501 159 5608
+501 158 5610
+501 158 5611
+501 156 5668
+501 156 5670
+502 153 5671
+502 153 5672
+502 151 5728
+502 151 5730
+502 147 5731
+502 147 5732
+502 145 5733
+502 145 5734
+502 142 5790
+502 142 5792
+501 139 5793
+501 139 5794
+501 133 5852
+501 131 5854
+501 131 5854
+500 125 5856
+500 125 5857
+498 122 5913
+498 122 5914
+496 116 5916
+496 116 5917
+495 112 5918
+495 112 5919
+494 109 5973
+494 109 5974
+492 102 5976
+492 102 5977
+488 96 6036
+488 96 6037
+485 90 6039
+485 90 6040
+481 86 6100
+481 86 6101
+477 80 6102
+477 80 6103
+470 74 6156
+470 74 6157
+464 70 6158
+464 70 6159
+456 65 6216
+456 65 6217
+447 61 6218
+447 61 6219
+438 59 6277
+438 59 6278
+428 57 6279
+428 57 6280
+421 56 6338
+421 56 6338
+414 56 6340
+414 56 6340
+411 56 6398
+411 56 6399
+407 55 6463
+407 55 6465
+403 56 6466
+403 56 6467
+402 56 6519
+402 56 6520
+398 59 6522
+398 59 6523
+396 61 6525
+396 61 6526
+395 62 6586
+395 62 6587
+392 66 6589
+392 66 6589
+392 68 6590
+392 68 6591
+391 70 6642
+391 70 6643
+391 72 6645
+391 72 6645
+391 73 6647
+391 73 6647
+391 74 6703
+391 74 6704
+392 76 6763
+392 76 6764
+395 77 6766
+395 77 6767
+399 77 6824
+399 77 6825
+411 78 6827
+411 78 6827
+427 80 6885
+427 80 6886
+442 81 6888
+442 81 6889
+448 82 6945
+448 82 6946
+457 82 6948
+457 82 6948
+460 81 6949
+460 81 6950
+467 80 7006
+467 80 7007
+478 77 7008
+478 77 7009
+483 74 7013
+483 74 7014
+488 72 7070
+488 72 7072
+490 71 7072
+490 71 7073
+501 63 7075
+501 63 7076
+514 53 7128
+514 53 7129
+521 48 7130
+521 48 7131
+528 44 7133
+528 44 7134
+532 40 7188
+532 40 7189
+537 34 7191
+537 34 7191
+538 32 7249
+538 32 7251
+.PEN_UP
diff --git a/tests/auto/inputpanel/hwr_test_data/thai/3633_100_0.txt b/tests/auto/inputpanel/hwr_test_data/thai/3633_100_0.txt
new file mode 100644
index 00000000..7effcf47
--- /dev/null
+++ b/tests/auto/inputpanel/hwr_test_data/thai/3633_100_0.txt
@@ -0,0 +1,155 @@
+.VERSION 1.0
+.HIERARCHY CHARACTER
+.COORD X Y T
+.SEGMENT CHARACTER
+.X_DIM 1032
+.Y_DIM 263
+.X_POINTS_PER_INCH 94
+.Y_POINTS_PER_INCH 94
+.POINTS_PER_SECOND 60
+.PEN_DOWN
+451 37 0
+452 37 263
+452 37 264
+454 37 303
+454 37 304
+455 38 361
+455 38 362
+456 38 423
+456 38 424
+457 38 484
+457 38 485
+458 38 487
+458 38 487
+459 39 545
+459 39 547
+460 39 615
+460 39 616
+461 39 667
+461 39 668
+463 39 670
+463 39 670
+465 39 728
+466 38 729
+466 38 730
+467 37 735
+467 37 736
+468 36 789
+468 36 790
+469 34 853
+469 34 855
+469 33 856
+469 33 857
+469 32 910
+469 32 912
+469 31 913
+469 31 914
+469 28 970
+469 28 971
+469 26 972
+469 26 973
+469 25 1031
+469 25 1033
+467 23 1035
+467 23 1035
+466 22 1092
+466 22 1093
+464 21 1153
+464 21 1155
+461 21 1156
+461 21 1157
+459 21 1215
+459 21 1216
+455 21 1218
+455 21 1218
+454 22 1276
+454 22 1277
+449 24 1279
+449 24 1280
+447 24 1343
+447 24 1344
+446 26 1399
+446 26 1400
+444 27 1401
+444 27 1402
+444 28 1460
+444 28 1461
+442 32 1463
+442 32 1463
+442 34 1521
+442 34 1522
+441 36 1527
+441 36 1528
+441 39 1582
+441 39 1583
+441 40 1642
+441 40 1643
+441 42 1645
+441 42 1645
+442 43 1646
+442 43 1647
+443 43 1703
+443 43 1704
+444 44 1706
+444 44 1706
+445 45 1764
+445 45 1765
+446 45 1828
+446 45 1829
+447 46 1831
+447 46 1832
+449 46 1885
+449 46 1886
+450 46 1888
+450 46 1889
+453 47 1945
+453 47 1947
+457 47 1948
+457 47 1949
+458 47 1951
+458 47 1952
+460 47 2007
+460 47 2008
+464 48 2010
+464 48 2010
+465 48 2067
+465 48 2069
+467 48 2071
+467 48 2072
+469 48 2072
+469 48 2073
+471 48 2129
+471 48 2131
+475 46 2132
+475 46 2133
+477 46 2190
+477 46 2191
+483 43 2193
+483 43 2193
+485 42 2250
+485 42 2251
+492 38 2253
+492 38 2253
+496 36 2312
+496 36 2313
+501 33 2315
+501 33 2316
+501 32 2376
+501 32 2378
+505 31 2379
+505 31 2380
+506 31 2383
+506 31 2384
+507 30 2433
+507 30 2434
+508 29 2435
+508 29 2436
+510 28 2494
+510 28 2496
+511 27 2497
+511 27 2498
+512 27 2556
+512 27 2557
+513 26 2633
+513 26 2634
+.PEN_UP
diff --git a/tests/auto/inputpanel/hwr_test_data/thai/3637_100_0.txt b/tests/auto/inputpanel/hwr_test_data/thai/3637_100_0.txt
new file mode 100644
index 00000000..dceb0f8e
--- /dev/null
+++ b/tests/auto/inputpanel/hwr_test_data/thai/3637_100_0.txt
@@ -0,0 +1,158 @@
+.VERSION 1.0
+.HIERARCHY CHARACTER
+.COORD X Y T
+.SEGMENT CHARACTER
+.X_DIM 1032
+.Y_DIM 263
+.X_POINTS_PER_INCH 94
+.Y_POINTS_PER_INCH 94
+.POINTS_PER_SECOND 60
+.PEN_DOWN
+496 54 0
+495 54 479
+495 54 480
+495 53 516
+495 53 518
+494 53 576
+494 53 577
+493 51 579
+493 51 579
+493 49 637
+493 49 638
+492 48 640
+492 48 640
+491 46 697
+491 46 698
+488 44 700
+488 44 701
+487 43 702
+487 43 703
+487 41 759
+487 41 760
+485 38 762
+485 38 762
+482 37 820
+482 37 821
+480 35 822
+480 35 822
+477 34 884
+477 34 885
+475 32 887
+475 32 887
+471 30 941
+471 30 942
+467 29 943
+467 29 944
+458 28 1002
+458 28 1003
+454 27 1004
+454 27 1005
+451 26 1006
+451 26 1007
+448 26 1064
+448 26 1065
+446 25 1067
+446 25 1067
+444 25 1126
+444 25 1127
+441 25 1217
+441 25 1218
+440 25 1222
+440 25 1223
+439 25 1277
+439 25 1278
+435 27 1280
+435 27 1281
+434 28 1338
+434 28 1339
+433 28 1340
+433 28 1341
+433 29 1404
+433 29 1405
+433 30 1406
+433 30 1407
+432 32 1408
+432 32 1409
+431 33 1461
+431 33 1462
+431 34 1522
+431 34 1523
+431 36 1525
+431 36 1526
+431 38 1585
+431 38 1586
+431 40 1645
+431 40 1646
+432 40 1647
+432 40 1648
+432 42 1706
+432 42 1708
+433 43 1710
+433 43 1710
+435 44 1766
+435 44 1767
+436 44 1769
+436 44 1769
+436 45 1827
+436 45 1828
+437 45 1892
+437 45 1893
+442 46 1895
+442 46 1896
+446 46 1950
+446 46 1951
+453 47 1953
+453 47 1954
+458 47 2010
+458 47 2011
+465 49 2012
+465 49 2013
+468 49 2014
+468 49 2015
+471 49 2070
+471 49 2071
+472 49 2073
+472 49 2073
+474 49 2130
+474 49 2131
+475 49 2134
+475 49 2135
+479 49 2193
+479 49 2194
+480 49 2198
+480 49 2199
+482 50 2254
+482 50 2255
+487 50 2257
+487 50 2257
+493 51 2315
+493 51 2316
+495 51 2318
+495 51 2318
+497 51 2319
+497 51 2320
+498 51 2391
+498 51 2392
+498 50 2687
+498 50 2688
+498 45 2736
+498 45 2737
+498 41 2772
+498 41 2773
+498 37 2833
+498 37 2834
+498 32 2835
+498 32 2836
+498 29 2838
+498 29 2839
+498 26 2897
+498 26 2899
+498 22 2900
+498 22 2901
+497 21 2954
+497 21 2955
+497 20 2958
+497 20 2959
+497 19 3384
+497 19 3385
+.PEN_UP