aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/config.pri1
-rw-r--r--src/virtualkeyboard/content/components/InputModeKey.qml1
-rw-r--r--src/virtualkeyboard/content/layouts/bg_BG/handwriting.qml99
-rw-r--r--src/virtualkeyboard/content/layouts/bg_BG/main.qml370
-rw-r--r--src/virtualkeyboard/content/layouts/bg_BG/symbols.qml376
-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/doc/src/qtvirtualkeyboard-index.qdoc1
-rw-r--r--src/virtualkeyboard/hunspellinputmethod.cpp3
-rw-r--r--src/virtualkeyboard/inputengine.cpp3
-rw-r--r--src/virtualkeyboard/inputengine.h1
-rw-r--r--src/virtualkeyboard/plaininputmethod.cpp3
-rw-r--r--src/virtualkeyboard/t9writeinputmethod.cpp12
-rw-r--r--src/virtualkeyboard/virtualkeyboard.pro7
-rw-r--r--tests/auto/inputpanel/data/inputpanel/handwriting.js3
-rw-r--r--tests/auto/inputpanel/data/inputpanel/inputpanel.qml2
-rw-r--r--tests/auto/inputpanel/data/inputpanel/unipen_data_cyrillic.js3440
-rw-r--r--tests/auto/inputpanel/data/tst_inputpanel.qml1
-rw-r--r--tests/auto/inputpanel/hwr_test_data/cyrillic/1072_100_0.txt91
-rw-r--r--tests/auto/inputpanel/hwr_test_data/cyrillic/1073_100_0.txt102
-rw-r--r--tests/auto/inputpanel/hwr_test_data/cyrillic/1073_100_1.txt98
-rw-r--r--tests/auto/inputpanel/hwr_test_data/cyrillic/1075_100_0.txt60
-rw-r--r--tests/auto/inputpanel/hwr_test_data/cyrillic/1080_100_0.txt80
-rw-r--r--tests/auto/inputpanel/hwr_test_data/cyrillic/1082_100_0.txt99
-rw-r--r--tests/auto/inputpanel/hwr_test_data/cyrillic/1083_100_0.txt69
-rw-r--r--tests/auto/inputpanel/hwr_test_data/cyrillic/1088_100_0.txt97
-rw-r--r--tests/auto/inputpanel/hwr_test_data/cyrillic/1089_100_0.txt47
-rw-r--r--tests/auto/inputpanel/hwr_test_data/cyrillic/1098_100_0.txt112
28 files changed, 5182 insertions, 0 deletions
diff --git a/src/config.pri b/src/config.pri
index 92df979a..2752723f 100644
--- a/src/config.pri
+++ b/src/config.pri
@@ -32,6 +32,7 @@ disable-layouts {
# Flag for activating all languages
lang-all: CONFIG += \
lang-ar_AR \
+ lang-bg_BG \
lang-da_DK \
lang-de_DE \
lang-el_GR \
diff --git a/src/virtualkeyboard/content/components/InputModeKey.qml b/src/virtualkeyboard/content/components/InputModeKey.qml
index 382a864b..1fd55ff1 100644
--- a/src/virtualkeyboard/content/components/InputModeKey.qml
+++ b/src/virtualkeyboard/content/components/InputModeKey.qml
@@ -69,6 +69,7 @@ Key {
"カ", // InputEngine.Katakana
"全角", // InputEngine.FullwidthLatin
"ΑΒΓ", // InputEngine.Greek
+ "АВЗ", // InputEngine.Cyrillic
"中文", // InputEngine.ChineseHandwriting
"日本語", // InputEngine.JapaneseHandwriting
"한국어", // InputEngine.KoreanHandwriting
diff --git a/src/virtualkeyboard/content/layouts/bg_BG/handwriting.qml b/src/virtualkeyboard/content/layouts/bg_BG/handwriting.qml
new file mode 100644
index 00000000..782f3217
--- /dev/null
+++ b/src/virtualkeyboard/content/layouts/bg_BG/handwriting.qml
@@ -0,0 +1,99 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 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 2.3; HandwritingInputMethod {}', parent)
+ }
+ sharedLayouts: ['symbols']
+
+ KeyboardRow {
+ Layout.preferredHeight: 3
+ KeyboardColumn {
+ Layout.preferredWidth: bottomRow.width - hideKeyboardKey.width
+ KeyboardRow {
+ TraceInputKey {
+ objectName: "hwrInputArea"
+ patternRecognitionMode: InputEngine.HandwritingRecoginition
+ horizontalRulers:
+ InputContext.inputEngine.inputMode !== InputEngine.Cyrillic ? [] :
+ [Math.round(boundingBox.height / 4), Math.round(boundingBox.height / 4) * 2, 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_Apostrophe
+ text: "'"
+ alternativeKeys: "<>()#%&*/\\\"'=+-_"
+ }
+ Key {
+ key: Qt.Key_Period
+ text: "."
+ alternativeKeys: "!,.;:?"
+ }
+ HideKeyboardKey {
+ id: hideKeyboardKey
+ weight: 204
+ }
+ }
+}
diff --git a/src/virtualkeyboard/content/layouts/bg_BG/main.qml b/src/virtualkeyboard/content/layouts/bg_BG/main.qml
new file mode 100644
index 00000000..f9dad187
--- /dev/null
+++ b/src/virtualkeyboard/content/layouts/bg_BG/main.qml
@@ -0,0 +1,370 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 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.VirtualKeyboard 2.3
+
+KeyboardLayoutLoader {
+ sharedLayouts: ['symbols']
+ sourceComponent: InputContext.inputEngine.inputMode === InputEngine.Cyrillic ? cyrillicLayout : latinLayout
+ Component {
+ id: cyrillicLayout
+ KeyboardLayout {
+ keyWeight: 160
+ KeyboardRow {
+ Key {
+ text: "я"
+ }
+ Key {
+ text: "в"
+ }
+ Key {
+ text: "е"
+ }
+ Key {
+ text: "р"
+ }
+ Key {
+ text: "т"
+ }
+ Key {
+ text: "ъ"
+ }
+ Key {
+ text: "у"
+ }
+ Key {
+ text: "и"
+ }
+ Key {
+ text: "о"
+ }
+ Key {
+ text: "п"
+ }
+ Key {
+ text: "ч"
+ }
+ BackspaceKey {}
+ }
+ KeyboardRow {
+ FillerKey {
+ weight: 56
+ }
+ Key {
+ text: "а"
+ }
+ Key {
+ text: "с"
+ }
+ Key {
+ text: "д"
+ }
+ Key {
+ text: "ф"
+ }
+ Key {
+ text: "г"
+ }
+ Key {
+ text: "х"
+ }
+ Key {
+ text: "й"
+ }
+ Key {
+ text: "к"
+ }
+ Key {
+ text: "л"
+ }
+ Key {
+ text: "ш"
+ }
+ Key {
+ text: "щ"
+ }
+ EnterKey {
+ weight: 283
+ }
+ }
+ KeyboardRow {
+ keyWeight: 156
+ InputModeKey {
+ inputModes: [InputEngine.Cyrillic, InputEngine.Latin]
+ }
+ Key {
+ text: "з"
+ }
+ Key {
+ text: "ь"
+ }
+ Key {
+ text: "ц"
+ }
+ Key {
+ text: "ж"
+ }
+ Key {
+ text: "б"
+ }
+ Key {
+ text: "н"
+ }
+ Key {
+ text: "м"
+ }
+ Key {
+ text: "ю"
+ }
+ Key {
+ key: Qt.Key_Comma
+ text: ","
+ }
+ Key {
+ key: Qt.Key_Period
+ text: "."
+ alternativeKeys: "!.;?"
+ }
+ ShiftKey {
+ weight: 204
+ }
+ }
+ KeyboardRow {
+ keyWeight: 154
+ SymbolModeKey {
+ weight: 217
+ }
+ ChangeLanguageKey {
+ weight: 154
+ }
+ HandwritingModeKey {
+ weight: 154
+ }
+ SpaceKey {
+ weight: 864
+ }
+ Key {
+ key: Qt.Key_Apostrophe
+ text: "'"
+ }
+ Key {
+ key: 0xE000
+ text: ":-)"
+ alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
+ }
+ HideKeyboardKey {
+ weight: 204
+ }
+ }
+ }
+ }
+ Component {
+ id: latinLayout
+ KeyboardLayout {
+ keyWeight: 160
+ KeyboardRow {
+ Key {
+ key: Qt.Key_Q
+ text: "q"
+ }
+ Key {
+ key: Qt.Key_W
+ text: "w"
+ }
+ Key {
+ key: Qt.Key_E
+ text: "e"
+ alternativeKeys: "êeëèé"
+ }
+ Key {
+ key: Qt.Key_R
+ text: "r"
+ alternativeKeys: "ŕrř"
+ }
+ Key {
+ key: Qt.Key_T
+ text: "t"
+ alternativeKeys: "ţtŧť"
+ }
+ Key {
+ key: Qt.Key_Y
+ text: "y"
+ alternativeKeys: "ÿyýŷ"
+ }
+ Key {
+ key: Qt.Key_U
+ text: "u"
+ alternativeKeys: "űūũûüuùú"
+ }
+ Key {
+ key: Qt.Key_I
+ text: "i"
+ alternativeKeys: "îïīĩiìí"
+ }
+ Key {
+ key: Qt.Key_O
+ text: "o"
+ alternativeKeys: "œøõôöòóo"
+ }
+ Key {
+ key: Qt.Key_P
+ text: "p"
+ }
+ BackspaceKey {}
+ }
+ KeyboardRow {
+ FillerKey {
+ weight: 56
+ }
+ Key {
+ key: Qt.Key_A
+ text: "a"
+ alternativeKeys: (InputContext.inputMethodHints & (Qt.ImhEmailCharactersOnly | Qt.ImhUrlCharactersOnly)) ? "a@äåãâàá" : "aäåãâàá"
+ smallTextVisible: (InputContext.inputMethodHints & (Qt.ImhEmailCharactersOnly | Qt.ImhUrlCharactersOnly))
+ }
+ Key {
+ key: Qt.Key_S
+ text: "s"
+ alternativeKeys: "šsşś"
+ }
+ Key {
+ key: Qt.Key_D
+ text: "d"
+ alternativeKeys: "dđď"
+ }
+ Key {
+ key: Qt.Key_F
+ text: "f"
+ }
+ Key {
+ key: Qt.Key_G
+ text: "g"
+ alternativeKeys: "ġgģĝğ"
+ }
+ Key {
+ key: Qt.Key_H
+ text: "h"
+ }
+ Key {
+ key: Qt.Key_J
+ text: "j"
+ }
+ Key {
+ key: Qt.Key_K
+ text: "k"
+ }
+ Key {
+ key: Qt.Key_L
+ text: "l"
+ alternativeKeys: "ĺŀłļľl"
+ }
+ EnterKey {
+ weight: 283
+ }
+ }
+ KeyboardRow {
+ keyWeight: 156
+ InputModeKey {
+ enabled: !(InputContext.inputMethodHints & Qt.ImhLatinOnly) && inputModeCount > 1
+ inputModes: [InputEngine.Cyrillic, InputEngine.Latin]
+ }
+ Key {
+ key: Qt.Key_Z
+ text: "z"
+ alternativeKeys: "zžż"
+ }
+ Key {
+ key: Qt.Key_X
+ text: "x"
+ }
+ Key {
+ key: Qt.Key_C
+ text: "c"
+ alternativeKeys: "çcċčć"
+ }
+ Key {
+ key: Qt.Key_V
+ text: "v"
+ }
+ Key {
+ key: Qt.Key_B
+ text: "b"
+ }
+ Key {
+ key: Qt.Key_N
+ text: "n"
+ alternativeKeys: "ņńnň"
+ }
+ Key {
+ key: Qt.Key_M
+ text: "m"
+ }
+ Key {
+ key: Qt.Key_Comma
+ text: ","
+ }
+ Key {
+ key: Qt.Key_Period
+ text: "."
+ }
+ ShiftKey {
+ weight: 204
+ }
+ }
+ KeyboardRow {
+ keyWeight: 154
+ SymbolModeKey {
+ weight: 217
+ }
+ ChangeLanguageKey {
+ weight: 154
+ }
+ HandwritingModeKey {
+ weight: 154
+ }
+ SpaceKey {
+ weight: 864
+ }
+ Key {
+ key: Qt.Key_Apostrophe
+ text: "'"
+ }
+ Key {
+ key: 0xE000
+ text: ":-)"
+ alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
+ }
+ HideKeyboardKey {
+ weight: 204
+ }
+ }
+ }
+ }
+}
diff --git a/src/virtualkeyboard/content/layouts/bg_BG/symbols.qml b/src/virtualkeyboard/content/layouts/bg_BG/symbols.qml
new file mode 100644
index 00000000..f6bcbdf6
--- /dev/null
+++ b/src/virtualkeyboard/content/layouts/bg_BG/symbols.qml
@@ -0,0 +1,376 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 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
+
+KeyboardLayoutLoader {
+ property bool secondPage
+ onVisibleChanged: if (!visible) secondPage = false
+ sourceComponent: secondPage ? page2 : page1
+ Component {
+ id: page1
+ KeyboardLayout {
+ keyWeight: 160
+ KeyboardRow {
+ Key {
+ key: Qt.Key_1
+ text: "1"
+ }
+ Key {
+ key: Qt.Key_2
+ text: "2"
+ }
+ Key {
+ key: Qt.Key_3
+ text: "3"
+ }
+ Key {
+ key: Qt.Key_4
+ text: "4"
+ }
+ Key {
+ key: Qt.Key_5
+ text: "5"
+ }
+ Key {
+ key: Qt.Key_6
+ text: "6"
+ }
+ Key {
+ key: Qt.Key_7
+ text: "7"
+ }
+ Key {
+ key: Qt.Key_8
+ text: "8"
+ }
+ Key {
+ key: Qt.Key_9
+ text: "9"
+ }
+ Key {
+ key: Qt.Key_0
+ text: "0"
+ }
+ BackspaceKey {}
+ }
+ KeyboardRow {
+ FillerKey {
+ weight: 56
+ }
+ Key {
+ key: Qt.Key_At
+ text: "@"
+ }
+ Key {
+ key: Qt.Key_NumberSign
+ text: "#"
+ }
+ Key {
+ key: Qt.Key_Percent
+ text: "%"
+ }
+ Key {
+ key: Qt.Key_Ampersand
+ text: "&"
+ }
+ Key {
+ key: Qt.Key_Asterisk
+ text: "*"
+ }
+ Key {
+ key: Qt.Key_Minus
+ text: "-"
+ }
+ Key {
+ key: Qt.Key_Plus
+ text: "+"
+ }
+ Key {
+ key: Qt.Key_ParenLeft
+ text: "("
+ }
+ Key {
+ key: Qt.Key_ParenRight
+ text: ")"
+ }
+ EnterKey {
+ weight: 283
+ }
+ }
+ KeyboardRow {
+ keyWeight: 156
+ Key {
+ displayText: "1/2"
+ functionKey: true
+ onClicked: secondPage = !secondPage
+ }
+ Key {
+ key: Qt.Key_Exclam
+ text: "!"
+ }
+ Key {
+ key: Qt.Key_QuoteDbl
+ text: '"'
+ }
+ Key {
+ key: Qt.Key_Less
+ text: "<"
+ }
+ Key {
+ key: Qt.Key_Greater
+ text: ">"
+ }
+ Key {
+ key: Qt.Key_Apostrophe
+ text: "'"
+ }
+ Key {
+ key: Qt.Key_Colon
+ text: ":"
+ }
+ Key {
+ key: Qt.Key_Semicolon
+ text: ";"
+ }
+ Key {
+ key: Qt.Key_Slash
+ text: "/"
+ }
+ Key {
+ key: Qt.Key_Question
+ text: "?"
+ }
+ Key {
+ weight: 204
+ displayText: "1/2"
+ functionKey: true
+ onClicked: secondPage = !secondPage
+ }
+ }
+ KeyboardRow {
+ keyWeight: 154
+ SymbolModeKey {
+ weight: 217
+ displayText: InputContext.inputEngine.inputMode === InputEngine.Cyrillic ? "АВЗ" : "ABC"
+ }
+ ChangeLanguageKey {
+ weight: 154
+ }
+ SpaceKey {
+ weight: 864
+ }
+ Key {
+ key: Qt.Key_Period
+ text: "."
+ alternativeKeys: ".,"
+ }
+ Key {
+ key: 0xE000
+ text: ":-)"
+ alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
+ }
+ HideKeyboardKey {
+ weight: 204
+ }
+ }
+ }
+ }
+ Component {
+ id: page2
+ KeyboardLayout {
+ keyWeight: 160
+ KeyboardRow {
+ Key {
+ key: Qt.Key_AsciiTilde
+ text: "~"
+ }
+ Key {
+ key: Qt.Key_Agrave
+ text: "`"
+ }
+ Key {
+ key: Qt.Key_Bar
+ text: "|"
+ }
+ Key {
+ key: 0x7B
+ text: "·"
+ }
+ Key {
+ key: 0x221A
+ text: "√"
+ }
+ Key {
+ key: Qt.Key_division
+ text: "÷"
+ }
+ Key {
+ key: Qt.Key_multiply
+ text: "×"
+ }
+ Key {
+ key: Qt.Key_onehalf
+ text: "½"
+ alternativeKeys: "¼⅓½¾⅞"
+ }
+ Key {
+ key: Qt.Key_BraceLeft
+ text: "{"
+ }
+ Key {
+ key: Qt.Key_BraceRight
+ text: "}"
+ }
+ BackspaceKey {}
+ }
+ KeyboardRow {
+ FillerKey {
+ weight: 56
+ }
+ Key {
+ key: Qt.Key_Dollar
+ text: "$"
+ }
+ Key {
+ key: 0x20AC
+ text: "€"
+ }
+ Key {
+ key: 0xC2
+ text: "£"
+ }
+ Key {
+ key: 0xA2
+ text: "¢"
+ }
+ Key {
+ key: 0xA5
+ text: "¥"
+ }
+ Key {
+ key: Qt.Key_Equal
+ text: "="
+ }
+ Key {
+ key: Qt.Key_section
+ text: "§"
+ }
+ Key {
+ key: Qt.Key_BracketLeft
+ text: "["
+ }
+ Key {
+ key: Qt.Key_BracketRight
+ text: "]"
+ }
+ EnterKey {
+ weight: 283
+ }
+ }
+ KeyboardRow {
+ keyWeight: 156
+ Key {
+ displayText: "2/2"
+ functionKey: true
+ onClicked: secondPage = !secondPage
+ }
+ Key {
+ key: Qt.Key_Underscore
+ text: "_"
+ }
+ Key {
+ key: 0x2122
+ text: '™'
+ }
+ Key {
+ key: 0x00AE
+ text: '®'
+ }
+ Key {
+ key: Qt.Key_guillemotleft
+ text: '«'
+ }
+ Key {
+ key: Qt.Key_guillemotright
+ text: '»'
+ }
+ Key {
+ key: 0x201C
+ text: '“'
+ }
+ Key {
+ key: 0x201D
+ text: '”'
+ }
+ Key {
+ key: Qt.Key_Backslash
+ text: "\\"
+ }
+ Key {
+ key: Qt.Key_AsciiCircum
+ text: "^"
+ }
+ Key {
+ weight: 204
+ displayText: "2/2"
+ functionKey: true
+ onClicked: secondPage = !secondPage
+ }
+ }
+ KeyboardRow {
+ keyWeight: 154
+ SymbolModeKey {
+ weight: 217
+ displayText: InputContext.inputEngine.inputMode === InputEngine.Cyrillic ? "АВЗ" : "ABC"
+ }
+ ChangeLanguageKey {
+ weight: 154
+ }
+ SpaceKey {
+ weight: 864
+ }
+ Key {
+ key: 0x2026
+ text: "\u2026"
+ }
+ Key {
+ key: 0xE000
+ text: ":-)"
+ alternativeKeys: [ ";-)", ":-)", ":-D", ":-(", "<3" ]
+ }
+ HideKeyboardKey {
+ weight: 204
+ }
+ }
+ }
+ }
+}
diff --git a/src/virtualkeyboard/content/styles/default/style.qml b/src/virtualkeyboard/content/styles/default/style.qml
index 3056f541..e308959c 100644
--- a/src/virtualkeyboard/content/styles/default/style.qml
+++ b/src/virtualkeyboard/content/styles/default/style.qml
@@ -764,6 +764,8 @@ KeyboardStyle {
return "123"
case InputEngine.Greek:
return "ΑΒΓ"
+ case InputEngine.Cyrillic:
+ return "АВЗ"
case InputEngine.ChineseHandwriting:
return "中文"
case InputEngine.JapaneseHandwriting:
diff --git a/src/virtualkeyboard/content/styles/retro/style.qml b/src/virtualkeyboard/content/styles/retro/style.qml
index 49f99f32..b003badc 100644
--- a/src/virtualkeyboard/content/styles/retro/style.qml
+++ b/src/virtualkeyboard/content/styles/retro/style.qml
@@ -878,6 +878,8 @@ KeyboardStyle {
return "123"
case InputEngine.Greek:
return "ΑΒΓ"
+ case InputEngine.Cyrillic:
+ return "АВЗ"
case InputEngine.ChineseHandwriting:
return "中文"
case InputEngine.JapaneseHandwriting:
diff --git a/src/virtualkeyboard/doc/src/qtvirtualkeyboard-index.qdoc b/src/virtualkeyboard/doc/src/qtvirtualkeyboard-index.qdoc
index 234cdee2..bd18594c 100644
--- a/src/virtualkeyboard/doc/src/qtvirtualkeyboard-index.qdoc
+++ b/src/virtualkeyboard/doc/src/qtvirtualkeyboard-index.qdoc
@@ -66,6 +66,7 @@
\list
\li Arabic
+ \li Bulgarian
\li Danish
\li Dutch
\li English
diff --git a/src/virtualkeyboard/hunspellinputmethod.cpp b/src/virtualkeyboard/hunspellinputmethod.cpp
index 61d6dad5..20c345bb 100644
--- a/src/virtualkeyboard/hunspellinputmethod.cpp
+++ b/src/virtualkeyboard/hunspellinputmethod.cpp
@@ -58,6 +58,9 @@ QList<InputEngine::InputMode> HunspellInputMethod::inputModes(const QString &loc
case QLocale::GreekScript:
result.append(InputEngine::Greek);
break;
+ case QLocale::CyrillicScript:
+ result.append(InputEngine::Cyrillic);
+ break;
default:
break;
}
diff --git a/src/virtualkeyboard/inputengine.cpp b/src/virtualkeyboard/inputengine.cpp
index f838b362..070834a4 100644
--- a/src/virtualkeyboard/inputengine.cpp
+++ b/src/virtualkeyboard/inputengine.cpp
@@ -765,6 +765,7 @@ void InputEngine::timerEvent(QTimerEvent *timerEvent)
\li \c InputEngine.Katakana Katakana input mode for Japanese.
\li \c InputEngine.FullwidthLatin Fullwidth latin input mode for East Asian languages.
\li \c InputEngine.Greek Greek input mode.
+ \li \c InputEngine.Cyrillic Cyrillic input mode.
\li \c InputEngine.ChineseHandwriting Chinese handwriting.
\li \c InputEngine.JapaneseHandwriting Japanese handwriting.
\li \c InputEngine.KoreanHandwriting Korean handwriting.
@@ -837,6 +838,8 @@ void InputEngine::timerEvent(QTimerEvent *timerEvent)
Fullwidth latin input mode for East Asian languages.
\value Greek
Greek input mode.
+ \value Cyrillic
+ Cyrillic input mode.
*/
/*!
diff --git a/src/virtualkeyboard/inputengine.h b/src/virtualkeyboard/inputengine.h
index 54723522..53251688 100644
--- a/src/virtualkeyboard/inputengine.h
+++ b/src/virtualkeyboard/inputengine.h
@@ -75,6 +75,7 @@ public:
Katakana,
FullwidthLatin,
Greek,
+ Cyrillic,
ChineseHandwriting,
JapaneseHandwriting,
KoreanHandwriting
diff --git a/src/virtualkeyboard/plaininputmethod.cpp b/src/virtualkeyboard/plaininputmethod.cpp
index 3495ff38..8d77ac4e 100644
--- a/src/virtualkeyboard/plaininputmethod.cpp
+++ b/src/virtualkeyboard/plaininputmethod.cpp
@@ -54,6 +54,9 @@ QList<InputEngine::InputMode> PlainInputMethod::inputModes(const QString &locale
case QLocale::GreekScript:
result.append(InputEngine::Greek);
break;
+ case QLocale::CyrillicScript:
+ result.append(InputEngine::Cyrillic);
+ break;
default:
break;
}
diff --git a/src/virtualkeyboard/t9writeinputmethod.cpp b/src/virtualkeyboard/t9writeinputmethod.cpp
index 41b2592a..1eb11cc7 100644
--- a/src/virtualkeyboard/t9writeinputmethod.cpp
+++ b/src/virtualkeyboard/t9writeinputmethod.cpp
@@ -708,6 +708,15 @@ public:
symbolCategories.append(DECUMA_CATEGORY_CONTRACTION_MARK);
break;
+ case InputEngine::Cyrillic:
+ symbolCategories.append(DECUMA_CATEGORY_CYRILLIC);
+ symbolCategories.append(DECUMA_CATEGORY_QUEST_EXCL_MARK_PUNCTUATIONS);
+ symbolCategories.append(DECUMA_CATEGORY_PERIOD_COMMA_PUNCTUATIONS);
+ // Ukrainian needs contraction mark, but not Russian or Bulgarian
+ if (language == DECUMA_LANG_UK)
+ symbolCategories.append(DECUMA_CATEGORY_CONTRACTION_MARK);
+ break;
+
default:
qWarning() << "Handwriting is not supported in" << locale.name();
return false;
@@ -1536,6 +1545,9 @@ QList<InputEngine::InputMode> T9WriteInputMethod::inputModes(const QString &loca
case QLocale::GreekScript:
availableInputModes.append(InputEngine::Greek);
break;
+ case QLocale::CyrillicScript:
+ availableInputModes.append(InputEngine::Cyrillic);
+ break;
default:
break;
}
diff --git a/src/virtualkeyboard/virtualkeyboard.pro b/src/virtualkeyboard/virtualkeyboard.pro
index 4dab3247..d550b3c8 100644
--- a/src/virtualkeyboard/virtualkeyboard.pro
+++ b/src/virtualkeyboard/virtualkeyboard.pro
@@ -85,6 +85,13 @@ contains(CONFIG, lang-ar.*) {
content/layouts/ar_AR/numbers.qml \
content/layouts/ar_AR/symbols.qml
}
+contains(CONFIG, lang-bg.*) {
+ LAYOUT_FILES += \
+ content/layouts/bg_BG/main.qml \
+ content/layouts/bg_BG/symbols.qml
+t9write-alphabetic: LAYOUT_FILES += \
+ content/layouts/bg_BG/handwriting.qml
+}
contains(CONFIG, lang-da.*) {
LAYOUT_FILES += \
content/layouts/da_DK/main.qml \
diff --git a/tests/auto/inputpanel/data/inputpanel/handwriting.js b/tests/auto/inputpanel/data/inputpanel/handwriting.js
index dadd1cb6..21b737da 100644
--- a/tests/auto/inputpanel/data/inputpanel/handwriting.js
+++ b/tests/auto/inputpanel/data/inputpanel/handwriting.js
@@ -35,6 +35,7 @@
.import "unipen_data_japanese.js" as UnipenDataJapanese
.import "unipen_data_korean.js" as UnipenDataKorean
.import "unipen_data_greek.js" as UnipenDataGreek
+.import "unipen_data_cyrillic.js" as UnipenDataCyrillic
function emulate(testcase, hwrInputArea, ch, instant) {
var chKey = (((typeof ch == "number") ? ch : ch.charCodeAt(0)) + 0x100000000).toString(16).substr(1)
@@ -54,6 +55,8 @@ function emulate(testcase, hwrInputArea, ch, instant) {
unipenData = UnipenDataKorean
else if (UnipenDataGreek.unipenData.hasOwnProperty(chKey))
unipenData = UnipenDataGreek
+ else if (UnipenDataCyrillic.unipenData.hasOwnProperty(chKey))
+ unipenData = UnipenDataCyrillic
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 59e56530..43dabd68 100644
--- a/tests/auto/inputpanel/data/inputpanel/inputpanel.qml
+++ b/tests/auto/inputpanel/data/inputpanel/inputpanel.qml
@@ -265,6 +265,8 @@ InputPanel {
return InputEngine.FullwidthLatin
else if (inputModeName === "Greek")
return InputEngine.Greek
+ else if (inputModeName === "Cyrillic")
+ return InputEngine.Cyrillic
else if (inputModeName === "ChineseHandwriting")
return InputEngine.ChineseHandwriting
else if (inputModeName === "JapaneseHandwriting")
diff --git a/tests/auto/inputpanel/data/inputpanel/unipen_data_cyrillic.js b/tests/auto/inputpanel/data/inputpanel/unipen_data_cyrillic.js
new file mode 100644
index 00000000..3f336427
--- /dev/null
+++ b/tests/auto/inputpanel/data/inputpanel/unipen_data_cyrillic.js
@@ -0,0 +1,3440 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 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 = {
+ "0x0430": {
+ ".COORD": [
+ "X",
+ "Y",
+ "T"
+ ],
+ ".HIERARCHY": "CHARACTER",
+ ".PEN": [
+ [
+ [
+ 531,
+ 128,
+ 0
+ ],
+ [
+ 532,
+ 128,
+ 56
+ ],
+ [
+ 534,
+ 127,
+ 72
+ ],
+ [
+ 536,
+ 127,
+ 100
+ ],
+ [
+ 538,
+ 124,
+ 100
+ ],
+ [
+ 539,
+ 124,
+ 103
+ ],
+ [
+ 541,
+ 123,
+ 133
+ ],
+ [
+ 544,
+ 122,
+ 133
+ ],
+ [
+ 546,
+ 122,
+ 136
+ ],
+ [
+ 548,
+ 122,
+ 165
+ ],
+ [
+ 554,
+ 122,
+ 166
+ ],
+ [
+ 557,
+ 121,
+ 168
+ ],
+ [
+ 561,
+ 121,
+ 199
+ ],
+ [
+ 570,
+ 125,
+ 200
+ ],
+ [
+ 575,
+ 130,
+ 232
+ ],
+ [
+ 579,
+ 135,
+ 233
+ ],
+ [
+ 583,
+ 141,
+ 266
+ ],
+ [
+ 586,
+ 148,
+ 266
+ ],
+ [
+ 586,
+ 154,
+ 298
+ ],
+ [
+ 586,
+ 160,
+ 299
+ ],
+ [
+ 586,
+ 163,
+ 303
+ ],
+ [
+ 586,
+ 166,
+ 332
+ ],
+ [
+ 587,
+ 171,
+ 333
+ ],
+ [
+ 587,
+ 174,
+ 336
+ ],
+ [
+ 587,
+ 176,
+ 366
+ ],
+ [
+ 587,
+ 180,
+ 367
+ ],
+ [
+ 587,
+ 181,
+ 368
+ ],
+ [
+ 587,
+ 182,
+ 399
+ ],
+ [
+ 587,
+ 183,
+ 399
+ ],
+ [
+ 588,
+ 185,
+ 400
+ ],
+ [
+ 589,
+ 188,
+ 432
+ ],
+ [
+ 589,
+ 190,
+ 465
+ ],
+ [
+ 589,
+ 189,
+ 511
+ ],
+ [
+ 589,
+ 187,
+ 548
+ ]
+ ],
+ [
+ [
+ 572,
+ 155,
+ 892
+ ],
+ [
+ 567,
+ 153,
+ 935
+ ],
+ [
+ 565,
+ 152,
+ 935
+ ],
+ [
+ 562,
+ 150,
+ 964
+ ],
+ [
+ 559,
+ 150,
+ 965
+ ],
+ [
+ 556,
+ 150,
+ 967
+ ],
+ [
+ 553,
+ 150,
+ 997
+ ],
+ [
+ 548,
+ 150,
+ 998
+ ],
+ [
+ 546,
+ 150,
+ 1000
+ ],
+ [
+ 544,
+ 150,
+ 1030
+ ],
+ [
+ 541,
+ 150,
+ 1031
+ ],
+ [
+ 540,
+ 152,
+ 1031
+ ],
+ [
+ 537,
+ 153,
+ 1064
+ ],
+ [
+ 535,
+ 155,
+ 1064
+ ],
+ [
+ 531,
+ 158,
+ 1065
+ ],
+ [
+ 527,
+ 163,
+ 1097
+ ],
+ [
+ 526,
+ 166,
+ 1098
+ ],
+ [
+ 524,
+ 168,
+ 1130
+ ],
+ [
+ 524,
+ 172,
+ 1131
+ ],
+ [
+ 524,
+ 173,
+ 1136
+ ],
+ [
+ 524,
+ 175,
+ 1163
+ ],
+ [
+ 526,
+ 178,
+ 1164
+ ],
+ [
+ 526,
+ 180,
+ 1167
+ ],
+ [
+ 527,
+ 180,
+ 1196
+ ],
+ [
+ 530,
+ 183,
+ 1197
+ ],
+ [
+ 532,
+ 184,
+ 1199
+ ],
+ [
+ 534,
+ 185,
+ 1229
+ ],
+ [
+ 539,
+ 187,
+ 1230
+ ],
+ [
+ 541,
+ 187,
+ 1231
+ ],
+ [
+ 544,
+ 187,
+ 1263
+ ],
+ [
+ 546,
+ 187,
+ 1264
+ ],
+ [
+ 551,
+ 187,
+ 1264
+ ],
+ [
+ 555,
+ 187,
+ 1297
+ ],
+ [
+ 562,
+ 186,
+ 1297
+ ],
+ [
+ 567,
+ 184,
+ 1330
+ ],
+ [
+ 575,
+ 180,
+ 1330
+ ],
+ [
+ 578,
+ 178,
+ 1347
+ ],
+ [
+ 579,
+ 176,
+ 1363
+ ],
+ [
+ 580,
+ 175,
+ 1363
+ ],
+ [
+ 580,
+ 174,
+ 1380
+ ],
+ [
+ 581,
+ 173,
+ 1396
+ ],
+ [
+ 582,
+ 173,
+ 1440
+ ],
+ [
+ 583,
+ 173,
+ 1465
+ ],
+ [
+ 582,
+ 173,
+ 1640
+ ]
+ ]
+ ],
+ ".POINTS_PER_SECOND": 60,
+ ".SEGMENT": "CHARACTER",
+ ".VERSION": "1.0",
+ ".X_DIM": 1032,
+ ".X_POINTS_PER_INCH": 95,
+ ".Y_DIM": 263,
+ ".Y_POINTS_PER_INCH": 95
+ },
+ "0x0431": {
+ ".COORD": [
+ "X",
+ "Y",
+ "T"
+ ],
+ ".HIERARCHY": "CHARACTER",
+ ".PEN": [
+ [
+ [
+ 214,
+ 62,
+ 0
+ ],
+ [
+ 210,
+ 62,
+ 38
+ ],
+ [
+ 207,
+ 62,
+ 39
+ ],
+ [
+ 203,
+ 62,
+ 72
+ ],
+ [
+ 197,
+ 62,
+ 73
+ ],
+ [
+ 194,
+ 62,
+ 76
+ ],
+ [
+ 192,
+ 62,
+ 106
+ ],
+ [
+ 186,
+ 63,
+ 109
+ ],
+ [
+ 184,
+ 65,
+ 110
+ ],
+ [
+ 175,
+ 67,
+ 155
+ ],
+ [
+ 169,
+ 69,
+ 156
+ ],
+ [
+ 166,
+ 70,
+ 156
+ ],
+ [
+ 163,
+ 70,
+ 188
+ ],
+ [
+ 154,
+ 74,
+ 189
+ ],
+ [
+ 148,
+ 77,
+ 221
+ ],
+ [
+ 144,
+ 82,
+ 222
+ ],
+ [
+ 140,
+ 87,
+ 255
+ ],
+ [
+ 138,
+ 93,
+ 256
+ ],
+ [
+ 136,
+ 98,
+ 288
+ ],
+ [
+ 134,
+ 103,
+ 289
+ ],
+ [
+ 134,
+ 107,
+ 293
+ ],
+ [
+ 134,
+ 109,
+ 326
+ ],
+ [
+ 134,
+ 120,
+ 327
+ ],
+ [
+ 134,
+ 125,
+ 355
+ ],
+ [
+ 134,
+ 128,
+ 355
+ ],
+ [
+ 133,
+ 132,
+ 356
+ ],
+ [
+ 133,
+ 134,
+ 387
+ ],
+ [
+ 133,
+ 143,
+ 389
+ ],
+ [
+ 133,
+ 148,
+ 421
+ ],
+ [
+ 133,
+ 153,
+ 422
+ ],
+ [
+ 134,
+ 158,
+ 454
+ ],
+ [
+ 135,
+ 164,
+ 454
+ ],
+ [
+ 136,
+ 167,
+ 488
+ ],
+ [
+ 138,
+ 173,
+ 489
+ ],
+ [
+ 139,
+ 175,
+ 493
+ ],
+ [
+ 141,
+ 177,
+ 521
+ ],
+ [
+ 142,
+ 183,
+ 522
+ ],
+ [
+ 144,
+ 185,
+ 524
+ ],
+ [
+ 146,
+ 189,
+ 554
+ ],
+ [
+ 150,
+ 193,
+ 555
+ ],
+ [
+ 153,
+ 193,
+ 557
+ ],
+ [
+ 157,
+ 194,
+ 590
+ ],
+ [
+ 168,
+ 194,
+ 592
+ ],
+ [
+ 177,
+ 194,
+ 620
+ ],
+ [
+ 186,
+ 194,
+ 622
+ ],
+ [
+ 195,
+ 193,
+ 654
+ ],
+ [
+ 205,
+ 191,
+ 655
+ ],
+ [
+ 211,
+ 190,
+ 687
+ ],
+ [
+ 221,
+ 184,
+ 688
+ ],
+ [
+ 223,
+ 183,
+ 693
+ ],
+ [
+ 234,
+ 169,
+ 737
+ ],
+ [
+ 243,
+ 163,
+ 738
+ ],
+ [
+ 243,
+ 161,
+ 741
+ ],
+ [
+ 244,
+ 159,
+ 770
+ ],
+ [
+ 244,
+ 154,
+ 771
+ ],
+ [
+ 244,
+ 152,
+ 773
+ ],
+ [
+ 243,
+ 144,
+ 812
+ ],
+ [
+ 237,
+ 137,
+ 813
+ ],
+ [
+ 233,
+ 131,
+ 836
+ ],
+ [
+ 232,
+ 128,
+ 837
+ ],
+ [
+ 225,
+ 127,
+ 870
+ ],
+ [
+ 221,
+ 127,
+ 871
+ ],
+ [
+ 215,
+ 127,
+ 903
+ ],
+ [
+ 208,
+ 127,
+ 904
+ ],
+ [
+ 203,
+ 127,
+ 908
+ ],
+ [
+ 198,
+ 127,
+ 936
+ ],
+ [
+ 188,
+ 126,
+ 936
+ ],
+ [
+ 184,
+ 126,
+ 941
+ ],
+ [
+ 179,
+ 126,
+ 969
+ ],
+ [
+ 171,
+ 126,
+ 970
+ ],
+ [
+ 167,
+ 126,
+ 973
+ ],
+ [
+ 162,
+ 126,
+ 1003
+ ],
+ [
+ 156,
+ 126,
+ 1004
+ ],
+ [
+ 154,
+ 126,
+ 1004
+ ],
+ [
+ 151,
+ 126,
+ 1036
+ ],
+ [
+ 146,
+ 126,
+ 1036
+ ],
+ [
+ 142,
+ 128,
+ 1069
+ ],
+ [
+ 140,
+ 129,
+ 1070
+ ],
+ [
+ 137,
+ 131,
+ 1107
+ ],
+ [
+ 133,
+ 131,
+ 1108
+ ],
+ [
+ 132,
+ 132,
+ 1110
+ ],
+ [
+ 131,
+ 132,
+ 1136
+ ],
+ [
+ 128,
+ 132,
+ 1137
+ ],
+ [
+ 127,
+ 132,
+ 1141
+ ],
+ [
+ 127,
+ 133,
+ 1169
+ ],
+ [
+ 125,
+ 134,
+ 1170
+ ],
+ [
+ 125,
+ 135,
+ 1202
+ ]
+ ]
+ ],
+ ".POINTS_PER_SECOND": 60,
+ ".SEGMENT": "CHARACTER",
+ ".VERSION": "1.0",
+ ".X_DIM": 1032,
+ ".X_POINTS_PER_INCH": 95,
+ ".Y_DIM": 263,
+ ".Y_POINTS_PER_INCH": 95
+ },
+ "0x0433": {
+ ".COORD": [
+ "X",
+ "Y",
+ "T"
+ ],
+ ".HIERARCHY": "CHARACTER",
+ ".PEN": [
+ [
+ [
+ 466,
+ 177,
+ 0
+ ],
+ [
+ 466,
+ 176,
+ 60
+ ],
+ [
+ 466,
+ 175,
+ 75
+ ],
+ [
+ 466,
+ 173,
+ 105
+ ],
+ [
+ 465,
+ 173,
+ 108
+ ],
+ [
+ 465,
+ 172,
+ 134
+ ],
+ [
+ 465,
+ 169,
+ 134
+ ],
+ [
+ 464,
+ 167,
+ 167
+ ],
+ [
+ 464,
+ 165,
+ 168
+ ],
+ [
+ 463,
+ 161,
+ 200
+ ],
+ [
+ 462,
+ 156,
+ 201
+ ],
+ [
+ 462,
+ 154,
+ 203
+ ],
+ [
+ 460,
+ 151,
+ 250
+ ],
+ [
+ 460,
+ 148,
+ 251
+ ],
+ [
+ 459,
+ 148,
+ 252
+ ],
+ [
+ 459,
+ 147,
+ 283
+ ],
+ [
+ 458,
+ 143,
+ 284
+ ],
+ [
+ 458,
+ 140,
+ 316
+ ],
+ [
+ 458,
+ 138,
+ 317
+ ],
+ [
+ 458,
+ 136,
+ 350
+ ],
+ [
+ 458,
+ 134,
+ 350
+ ],
+ [
+ 458,
+ 133,
+ 383
+ ],
+ [
+ 458,
+ 131,
+ 384
+ ],
+ [
+ 458,
+ 129,
+ 417
+ ],
+ [
+ 457,
+ 128,
+ 466
+ ],
+ [
+ 457,
+ 127,
+ 466
+ ],
+ [
+ 457,
+ 126,
+ 499
+ ],
+ [
+ 457,
+ 125,
+ 533
+ ],
+ [
+ 457,
+ 124,
+ 644
+ ],
+ [
+ 459,
+ 124,
+ 749
+ ],
+ [
+ 466,
+ 124,
+ 786
+ ],
+ [
+ 469,
+ 124,
+ 787
+ ],
+ [
+ 472,
+ 124,
+ 788
+ ],
+ [
+ 481,
+ 124,
+ 815
+ ],
+ [
+ 485,
+ 124,
+ 816
+ ],
+ [
+ 488,
+ 125,
+ 820
+ ],
+ [
+ 492,
+ 125,
+ 848
+ ],
+ [
+ 499,
+ 125,
+ 849
+ ],
+ [
+ 504,
+ 125,
+ 851
+ ],
+ [
+ 508,
+ 125,
+ 881
+ ],
+ [
+ 518,
+ 125,
+ 882
+ ],
+ [
+ 523,
+ 125,
+ 883
+ ],
+ [
+ 525,
+ 125,
+ 915
+ ],
+ [
+ 532,
+ 125,
+ 916
+ ],
+ [
+ 535,
+ 125,
+ 916
+ ],
+ [
+ 540,
+ 125,
+ 948
+ ],
+ [
+ 544,
+ 125,
+ 948
+ ],
+ [
+ 547,
+ 125,
+ 997
+ ],
+ [
+ 548,
+ 125,
+ 998
+ ]
+ ]
+ ],
+ ".POINTS_PER_SECOND": 60,
+ ".SEGMENT": "CHARACTER",
+ ".VERSION": "1.0",
+ ".X_DIM": 1032,
+ ".X_POINTS_PER_INCH": 95,
+ ".Y_DIM": 263,
+ ".Y_POINTS_PER_INCH": 95
+ },
+ "0x0438": {
+ ".COORD": [
+ "X",
+ "Y",
+ "T"
+ ],
+ ".HIERARCHY": "CHARACTER",
+ ".PEN": [
+ [
+ [
+ 751,
+ 123,
+ 0
+ ],
+ [
+ 751,
+ 124,
+ 48
+ ],
+ [
+ 751,
+ 126,
+ 65
+ ],
+ [
+ 751,
+ 127,
+ 68
+ ],
+ [
+ 751,
+ 128,
+ 98
+ ],
+ [
+ 751,
+ 131,
+ 99
+ ],
+ [
+ 751,
+ 133,
+ 100
+ ],
+ [
+ 751,
+ 136,
+ 131
+ ],
+ [
+ 751,
+ 140,
+ 132
+ ],
+ [
+ 751,
+ 146,
+ 133
+ ],
+ [
+ 751,
+ 152,
+ 164
+ ],
+ [
+ 753,
+ 158,
+ 165
+ ],
+ [
+ 756,
+ 165,
+ 197
+ ],
+ [
+ 759,
+ 169,
+ 198
+ ],
+ [
+ 759,
+ 171,
+ 232
+ ],
+ [
+ 761,
+ 172,
+ 232
+ ],
+ [
+ 761,
+ 173,
+ 236
+ ],
+ [
+ 763,
+ 174,
+ 264
+ ],
+ [
+ 764,
+ 176,
+ 265
+ ],
+ [
+ 764,
+ 177,
+ 268
+ ],
+ [
+ 767,
+ 178,
+ 298
+ ],
+ [
+ 768,
+ 178,
+ 331
+ ],
+ [
+ 772,
+ 178,
+ 332
+ ],
+ [
+ 773,
+ 178,
+ 332
+ ],
+ [
+ 776,
+ 178,
+ 364
+ ],
+ [
+ 779,
+ 178,
+ 366
+ ],
+ [
+ 781,
+ 176,
+ 397
+ ],
+ [
+ 785,
+ 172,
+ 398
+ ],
+ [
+ 788,
+ 166,
+ 430
+ ],
+ [
+ 790,
+ 162,
+ 431
+ ],
+ [
+ 792,
+ 159,
+ 437
+ ],
+ [
+ 794,
+ 154,
+ 464
+ ],
+ [
+ 797,
+ 148,
+ 465
+ ],
+ [
+ 799,
+ 146,
+ 468
+ ],
+ [
+ 801,
+ 144,
+ 501
+ ],
+ [
+ 802,
+ 138,
+ 503
+ ],
+ [
+ 802,
+ 134,
+ 530
+ ],
+ [
+ 802,
+ 132,
+ 531
+ ],
+ [
+ 802,
+ 129,
+ 532
+ ],
+ [
+ 804,
+ 128,
+ 564
+ ],
+ [
+ 807,
+ 123,
+ 564
+ ],
+ [
+ 807,
+ 120,
+ 597
+ ],
+ [
+ 807,
+ 118,
+ 598
+ ],
+ [
+ 807,
+ 117,
+ 630
+ ],
+ [
+ 807,
+ 116,
+ 663
+ ],
+ [
+ 807,
+ 117,
+ 741
+ ],
+ [
+ 808,
+ 120,
+ 783
+ ],
+ [
+ 808,
+ 123,
+ 783
+ ],
+ [
+ 810,
+ 129,
+ 813
+ ],
+ [
+ 810,
+ 131,
+ 814
+ ],
+ [
+ 810,
+ 136,
+ 847
+ ],
+ [
+ 810,
+ 139,
+ 847
+ ],
+ [
+ 810,
+ 141,
+ 852
+ ],
+ [
+ 810,
+ 144,
+ 879
+ ],
+ [
+ 810,
+ 149,
+ 880
+ ],
+ [
+ 810,
+ 153,
+ 884
+ ],
+ [
+ 810,
+ 155,
+ 912
+ ],
+ [
+ 810,
+ 162,
+ 914
+ ],
+ [
+ 810,
+ 164,
+ 916
+ ],
+ [
+ 810,
+ 167,
+ 946
+ ],
+ [
+ 811,
+ 171,
+ 947
+ ],
+ [
+ 811,
+ 173,
+ 948
+ ],
+ [
+ 811,
+ 174,
+ 979
+ ],
+ [
+ 813,
+ 179,
+ 980
+ ],
+ [
+ 814,
+ 181,
+ 1012
+ ],
+ [
+ 814,
+ 183,
+ 1013
+ ],
+ [
+ 814,
+ 184,
+ 1046
+ ],
+ [
+ 814,
+ 186,
+ 1047
+ ],
+ [
+ 815,
+ 187,
+ 1079
+ ]
+ ]
+ ],
+ ".POINTS_PER_SECOND": 60,
+ ".SEGMENT": "CHARACTER",
+ ".VERSION": "1.0",
+ ".X_DIM": 1032,
+ ".X_POINTS_PER_INCH": 95,
+ ".Y_DIM": 263,
+ ".Y_POINTS_PER_INCH": 95
+ },
+ "0x043a": {
+ ".COORD": [
+ "X",
+ "Y",
+ "T"
+ ],
+ ".HIERARCHY": "CHARACTER",
+ ".PEN": [
+ [
+ [
+ 649,
+ 124,
+ 0
+ ],
+ [
+ 649,
+ 125,
+ 189
+ ],
+ [
+ 649,
+ 126,
+ 214
+ ],
+ [
+ 649,
+ 127,
+ 255
+ ],
+ [
+ 649,
+ 128,
+ 256
+ ],
+ [
+ 649,
+ 130,
+ 256
+ ],
+ [
+ 649,
+ 131,
+ 260
+ ],
+ [
+ 649,
+ 133,
+ 289
+ ],
+ [
+ 649,
+ 136,
+ 293
+ ],
+ [
+ 649,
+ 138,
+ 322
+ ],
+ [
+ 649,
+ 142,
+ 323
+ ],
+ [
+ 649,
+ 143,
+ 324
+ ],
+ [
+ 649,
+ 145,
+ 355
+ ],
+ [
+ 649,
+ 149,
+ 356
+ ],
+ [
+ 649,
+ 151,
+ 356
+ ],
+ [
+ 649,
+ 156,
+ 388
+ ],
+ [
+ 649,
+ 162,
+ 389
+ ],
+ [
+ 650,
+ 164,
+ 421
+ ],
+ [
+ 651,
+ 167,
+ 423
+ ],
+ [
+ 651,
+ 170,
+ 454
+ ],
+ [
+ 651,
+ 172,
+ 455
+ ],
+ [
+ 651,
+ 174,
+ 461
+ ],
+ [
+ 651,
+ 175,
+ 488
+ ],
+ [
+ 651,
+ 177,
+ 489
+ ],
+ [
+ 651,
+ 179,
+ 492
+ ],
+ [
+ 651,
+ 180,
+ 521
+ ],
+ [
+ 651,
+ 182,
+ 522
+ ],
+ [
+ 651,
+ 183,
+ 554
+ ],
+ [
+ 651,
+ 184,
+ 588
+ ],
+ [
+ 651,
+ 183,
+ 853
+ ],
+ [
+ 651,
+ 182,
+ 887
+ ]
+ ],
+ [
+ [
+ 690,
+ 123,
+ 1328
+ ],
+ [
+ 689,
+ 123,
+ 1369
+ ],
+ [
+ 689,
+ 124,
+ 1373
+ ],
+ [
+ 687,
+ 126,
+ 1402
+ ],
+ [
+ 686,
+ 126,
+ 1435
+ ],
+ [
+ 682,
+ 129,
+ 1436
+ ],
+ [
+ 681,
+ 132,
+ 1469
+ ],
+ [
+ 678,
+ 132,
+ 1470
+ ],
+ [
+ 673,
+ 136,
+ 1518
+ ],
+ [
+ 669,
+ 140,
+ 1519
+ ],
+ [
+ 667,
+ 140,
+ 1524
+ ],
+ [
+ 666,
+ 141,
+ 1552
+ ],
+ [
+ 664,
+ 142,
+ 1553
+ ],
+ [
+ 663,
+ 143,
+ 1556
+ ],
+ [
+ 661,
+ 143,
+ 1585
+ ],
+ [
+ 659,
+ 145,
+ 1586
+ ],
+ [
+ 657,
+ 147,
+ 1589
+ ],
+ [
+ 655,
+ 147,
+ 1618
+ ],
+ [
+ 654,
+ 148,
+ 1651
+ ],
+ [
+ 653,
+ 149,
+ 1685
+ ],
+ [
+ 653,
+ 150,
+ 1718
+ ],
+ [
+ 652,
+ 150,
+ 1724
+ ]
+ ],
+ [
+ [
+ 653,
+ 151,
+ 2376
+ ],
+ [
+ 654,
+ 151,
+ 2419
+ ],
+ [
+ 655,
+ 151,
+ 2419
+ ],
+ [
+ 656,
+ 151,
+ 2450
+ ],
+ [
+ 657,
+ 151,
+ 2452
+ ],
+ [
+ 658,
+ 151,
+ 2483
+ ],
+ [
+ 660,
+ 151,
+ 2516
+ ],
+ [
+ 663,
+ 151,
+ 2517
+ ],
+ [
+ 664,
+ 152,
+ 2549
+ ],
+ [
+ 666,
+ 153,
+ 2550
+ ],
+ [
+ 669,
+ 153,
+ 2583
+ ],
+ [
+ 671,
+ 155,
+ 2584
+ ],
+ [
+ 673,
+ 156,
+ 2588
+ ],
+ [
+ 674,
+ 156,
+ 2616
+ ],
+ [
+ 677,
+ 157,
+ 2617
+ ],
+ [
+ 678,
+ 158,
+ 2650
+ ],
+ [
+ 680,
+ 159,
+ 2650
+ ],
+ [
+ 680,
+ 161,
+ 2653
+ ],
+ [
+ 681,
+ 161,
+ 2683
+ ],
+ [
+ 683,
+ 163,
+ 2683
+ ],
+ [
+ 684,
+ 164,
+ 2684
+ ],
+ [
+ 685,
+ 165,
+ 2716
+ ],
+ [
+ 687,
+ 167,
+ 2717
+ ],
+ [
+ 688,
+ 167,
+ 2749
+ ],
+ [
+ 689,
+ 168,
+ 2783
+ ],
+ [
+ 689,
+ 169,
+ 2784
+ ],
+ [
+ 691,
+ 170,
+ 2788
+ ],
+ [
+ 692,
+ 171,
+ 2815
+ ],
+ [
+ 692,
+ 172,
+ 2820
+ ],
+ [
+ 692,
+ 173,
+ 2849
+ ],
+ [
+ 692,
+ 174,
+ 2882
+ ]
+ ]
+ ],
+ ".POINTS_PER_SECOND": 60,
+ ".SEGMENT": "CHARACTER",
+ ".VERSION": "1.0",
+ ".X_DIM": 1032,
+ ".X_POINTS_PER_INCH": 95,
+ ".Y_DIM": 263,
+ ".Y_POINTS_PER_INCH": 95
+ },
+ "0x043b": {
+ ".COORD": [
+ "X",
+ "Y",
+ "T"
+ ],
+ ".HIERARCHY": "CHARACTER",
+ ".PEN": [
+ [
+ [
+ 313,
+ 163,
+ 0
+ ],
+ [
+ 313,
+ 164,
+ 52
+ ],
+ [
+ 313,
+ 165,
+ 68
+ ],
+ [
+ 313,
+ 168,
+ 102
+ ],
+ [
+ 314,
+ 172,
+ 103
+ ],
+ [
+ 315,
+ 174,
+ 134
+ ],
+ [
+ 316,
+ 175,
+ 135
+ ],
+ [
+ 320,
+ 177,
+ 168
+ ],
+ [
+ 323,
+ 178,
+ 169
+ ],
+ [
+ 324,
+ 178,
+ 173
+ ],
+ [
+ 327,
+ 178,
+ 201
+ ],
+ [
+ 332,
+ 178,
+ 202
+ ],
+ [
+ 335,
+ 178,
+ 205
+ ],
+ [
+ 340,
+ 178,
+ 243
+ ],
+ [
+ 344,
+ 178,
+ 244
+ ],
+ [
+ 346,
+ 176,
+ 245
+ ],
+ [
+ 349,
+ 174,
+ 284
+ ],
+ [
+ 352,
+ 169,
+ 285
+ ],
+ [
+ 354,
+ 166,
+ 318
+ ],
+ [
+ 357,
+ 163,
+ 318
+ ],
+ [
+ 360,
+ 158,
+ 350
+ ],
+ [
+ 362,
+ 154,
+ 351
+ ],
+ [
+ 364,
+ 151,
+ 357
+ ],
+ [
+ 365,
+ 150,
+ 384
+ ],
+ [
+ 369,
+ 144,
+ 385
+ ],
+ [
+ 371,
+ 140,
+ 388
+ ],
+ [
+ 372,
+ 139,
+ 417
+ ],
+ [
+ 375,
+ 133,
+ 417
+ ],
+ [
+ 376,
+ 132,
+ 421
+ ],
+ [
+ 380,
+ 131,
+ 451
+ ],
+ [
+ 381,
+ 130,
+ 452
+ ],
+ [
+ 382,
+ 129,
+ 484
+ ],
+ [
+ 385,
+ 129,
+ 484
+ ],
+ [
+ 387,
+ 129,
+ 517
+ ],
+ [
+ 389,
+ 129,
+ 518
+ ],
+ [
+ 391,
+ 129,
+ 550
+ ],
+ [
+ 394,
+ 129,
+ 552
+ ],
+ [
+ 395,
+ 129,
+ 557
+ ],
+ [
+ 398,
+ 131,
+ 584
+ ],
+ [
+ 400,
+ 131,
+ 588
+ ],
+ [
+ 402,
+ 132,
+ 617
+ ],
+ [
+ 403,
+ 133,
+ 618
+ ],
+ [
+ 404,
+ 134,
+ 620
+ ],
+ [
+ 405,
+ 134,
+ 650
+ ],
+ [
+ 407,
+ 135,
+ 651
+ ],
+ [
+ 408,
+ 135,
+ 652
+ ],
+ [
+ 410,
+ 137,
+ 683
+ ],
+ [
+ 410,
+ 138,
+ 684
+ ],
+ [
+ 410,
+ 139,
+ 684
+ ],
+ [
+ 412,
+ 141,
+ 717
+ ],
+ [
+ 413,
+ 143,
+ 717
+ ],
+ [
+ 414,
+ 145,
+ 751
+ ],
+ [
+ 415,
+ 147,
+ 751
+ ],
+ [
+ 415,
+ 148,
+ 784
+ ],
+ [
+ 416,
+ 149,
+ 816
+ ],
+ [
+ 416,
+ 150,
+ 820
+ ],
+ [
+ 416,
+ 151,
+ 849
+ ],
+ [
+ 416,
+ 152,
+ 852
+ ]
+ ]
+ ],
+ ".POINTS_PER_SECOND": 60,
+ ".SEGMENT": "CHARACTER",
+ ".VERSION": "1.0",
+ ".X_DIM": 1032,
+ ".X_POINTS_PER_INCH": 95,
+ ".Y_DIM": 263,
+ ".Y_POINTS_PER_INCH": 95
+ },
+ "0x0440": {
+ ".COORD": [
+ "X",
+ "Y",
+ "T"
+ ],
+ ".HIERARCHY": "CHARACTER",
+ ".PEN": [
+ [
+ [
+ 639,
+ 127,
+ 0
+ ],
+ [
+ 639,
+ 128,
+ 48
+ ],
+ [
+ 640,
+ 130,
+ 65
+ ],
+ [
+ 640,
+ 132,
+ 68
+ ],
+ [
+ 640,
+ 133,
+ 98
+ ],
+ [
+ 640,
+ 138,
+ 99
+ ],
+ [
+ 640,
+ 140,
+ 101
+ ],
+ [
+ 640,
+ 150,
+ 148
+ ],
+ [
+ 641,
+ 159,
+ 149
+ ],
+ [
+ 644,
+ 167,
+ 181
+ ],
+ [
+ 646,
+ 176,
+ 182
+ ],
+ [
+ 646,
+ 185,
+ 215
+ ],
+ [
+ 646,
+ 193,
+ 216
+ ],
+ [
+ 646,
+ 200,
+ 247
+ ],
+ [
+ 646,
+ 209,
+ 248
+ ],
+ [
+ 646,
+ 211,
+ 253
+ ],
+ [
+ 647,
+ 215,
+ 281
+ ],
+ [
+ 647,
+ 218,
+ 282
+ ],
+ [
+ 647,
+ 220,
+ 285
+ ],
+ [
+ 647,
+ 221,
+ 314
+ ],
+ [
+ 648,
+ 225,
+ 315
+ ],
+ [
+ 648,
+ 227,
+ 317
+ ],
+ [
+ 648,
+ 228,
+ 349
+ ],
+ [
+ 648,
+ 233,
+ 350
+ ],
+ [
+ 648,
+ 237,
+ 399
+ ],
+ [
+ 648,
+ 240,
+ 400
+ ],
+ [
+ 648,
+ 241,
+ 430
+ ],
+ [
+ 648,
+ 243,
+ 431
+ ],
+ [
+ 648,
+ 245,
+ 464
+ ],
+ [
+ 648,
+ 246,
+ 497
+ ],
+ [
+ 648,
+ 247,
+ 498
+ ],
+ [
+ 648,
+ 246,
+ 605
+ ]
+ ],
+ [
+ [
+ 644,
+ 143,
+ 1072
+ ],
+ [
+ 644,
+ 142,
+ 1105
+ ],
+ [
+ 644,
+ 138,
+ 1126
+ ],
+ [
+ 644,
+ 135,
+ 1127
+ ],
+ [
+ 644,
+ 129,
+ 1168
+ ],
+ [
+ 644,
+ 126,
+ 1169
+ ],
+ [
+ 644,
+ 123,
+ 1173
+ ],
+ [
+ 645,
+ 122,
+ 1196
+ ],
+ [
+ 646,
+ 122,
+ 1196
+ ],
+ [
+ 648,
+ 120,
+ 1197
+ ],
+ [
+ 649,
+ 119,
+ 1229
+ ],
+ [
+ 654,
+ 117,
+ 1229
+ ],
+ [
+ 657,
+ 114,
+ 1262
+ ],
+ [
+ 660,
+ 113,
+ 1263
+ ],
+ [
+ 664,
+ 113,
+ 1295
+ ],
+ [
+ 668,
+ 113,
+ 1295
+ ],
+ [
+ 674,
+ 113,
+ 1328
+ ],
+ [
+ 677,
+ 113,
+ 1329
+ ],
+ [
+ 679,
+ 114,
+ 1333
+ ],
+ [
+ 680,
+ 114,
+ 1361
+ ],
+ [
+ 683,
+ 116,
+ 1362
+ ],
+ [
+ 685,
+ 117,
+ 1365
+ ],
+ [
+ 687,
+ 118,
+ 1395
+ ],
+ [
+ 689,
+ 122,
+ 1395
+ ],
+ [
+ 690,
+ 124,
+ 1396
+ ],
+ [
+ 690,
+ 126,
+ 1428
+ ],
+ [
+ 691,
+ 131,
+ 1429
+ ],
+ [
+ 691,
+ 136,
+ 1465
+ ],
+ [
+ 691,
+ 143,
+ 1467
+ ],
+ [
+ 690,
+ 145,
+ 1469
+ ],
+ [
+ 688,
+ 151,
+ 1511
+ ],
+ [
+ 687,
+ 158,
+ 1512
+ ],
+ [
+ 685,
+ 159,
+ 1516
+ ],
+ [
+ 684,
+ 160,
+ 1544
+ ],
+ [
+ 681,
+ 163,
+ 1545
+ ],
+ [
+ 680,
+ 164,
+ 1549
+ ],
+ [
+ 678,
+ 164,
+ 1577
+ ],
+ [
+ 674,
+ 166,
+ 1578
+ ],
+ [
+ 673,
+ 166,
+ 1581
+ ],
+ [
+ 671,
+ 166,
+ 1611
+ ],
+ [
+ 667,
+ 167,
+ 1612
+ ],
+ [
+ 666,
+ 167,
+ 1612
+ ],
+ [
+ 664,
+ 167,
+ 1644
+ ],
+ [
+ 663,
+ 168,
+ 1645
+ ],
+ [
+ 661,
+ 168,
+ 1645
+ ],
+ [
+ 658,
+ 168,
+ 1677
+ ],
+ [
+ 656,
+ 168,
+ 1678
+ ],
+ [
+ 654,
+ 168,
+ 1711
+ ],
+ [
+ 653,
+ 168,
+ 1712
+ ],
+ [
+ 651,
+ 168,
+ 1745
+ ],
+ [
+ 650,
+ 168,
+ 1745
+ ],
+ [
+ 650,
+ 167,
+ 1778
+ ]
+ ]
+ ],
+ ".POINTS_PER_SECOND": 60,
+ ".SEGMENT": "CHARACTER",
+ ".VERSION": "1.0",
+ ".X_DIM": 1032,
+ ".X_POINTS_PER_INCH": 95,
+ ".Y_DIM": 263,
+ ".Y_POINTS_PER_INCH": 95
+ },
+ "0x0441": {
+ ".COORD": [
+ "X",
+ "Y",
+ "T"
+ ],
+ ".HIERARCHY": "CHARACTER",
+ ".PEN": [
+ [
+ [
+ 633,
+ 126,
+ 0
+ ],
+ [
+ 631,
+ 126,
+ 39
+ ],
+ [
+ 629,
+ 126,
+ 40
+ ],
+ [
+ 627,
+ 125,
+ 43
+ ],
+ [
+ 625,
+ 125,
+ 70
+ ],
+ [
+ 620,
+ 125,
+ 70
+ ],
+ [
+ 617,
+ 125,
+ 75
+ ],
+ [
+ 616,
+ 125,
+ 103
+ ],
+ [
+ 611,
+ 125,
+ 104
+ ],
+ [
+ 607,
+ 125,
+ 108
+ ],
+ [
+ 603,
+ 125,
+ 136
+ ],
+ [
+ 597,
+ 126,
+ 139
+ ],
+ [
+ 593,
+ 128,
+ 143
+ ],
+ [
+ 585,
+ 133,
+ 172
+ ],
+ [
+ 578,
+ 139,
+ 173
+ ],
+ [
+ 574,
+ 144,
+ 203
+ ],
+ [
+ 572,
+ 152,
+ 205
+ ],
+ [
+ 572,
+ 157,
+ 236
+ ],
+ [
+ 572,
+ 164,
+ 238
+ ],
+ [
+ 573,
+ 171,
+ 269
+ ],
+ [
+ 576,
+ 176,
+ 270
+ ],
+ [
+ 583,
+ 182,
+ 304
+ ],
+ [
+ 587,
+ 184,
+ 306
+ ],
+ [
+ 591,
+ 184,
+ 309
+ ],
+ [
+ 606,
+ 185,
+ 353
+ ],
+ [
+ 617,
+ 184,
+ 353
+ ],
+ [
+ 623,
+ 182,
+ 355
+ ],
+ [
+ 627,
+ 180,
+ 386
+ ],
+ [
+ 634,
+ 178,
+ 387
+ ],
+ [
+ 635,
+ 177,
+ 387
+ ],
+ [
+ 635,
+ 176,
+ 419
+ ],
+ [
+ 635,
+ 174,
+ 420
+ ],
+ [
+ 633,
+ 173,
+ 453
+ ],
+ [
+ 632,
+ 173,
+ 453
+ ],
+ [
+ 632,
+ 172,
+ 488
+ ],
+ [
+ 631,
+ 172,
+ 492
+ ]
+ ]
+ ],
+ ".POINTS_PER_SECOND": 60,
+ ".SEGMENT": "CHARACTER",
+ ".VERSION": "1.0",
+ ".X_DIM": 1032,
+ ".X_POINTS_PER_INCH": 95,
+ ".Y_DIM": 263,
+ ".Y_POINTS_PER_INCH": 95
+ },
+ "0x044a": {
+ ".COORD": [
+ "X",
+ "Y",
+ "T"
+ ],
+ ".HIERARCHY": "CHARACTER",
+ ".PEN": [
+ [
+ [
+ 259,
+ 124,
+ 0
+ ],
+ [
+ 260,
+ 124,
+ 69
+ ],
+ [
+ 262,
+ 124,
+ 90
+ ],
+ [
+ 264,
+ 124,
+ 93
+ ],
+ [
+ 266,
+ 124,
+ 114
+ ],
+ [
+ 267,
+ 124,
+ 117
+ ],
+ [
+ 269,
+ 124,
+ 145
+ ],
+ [
+ 271,
+ 124,
+ 146
+ ],
+ [
+ 272,
+ 124,
+ 149
+ ],
+ [
+ 273,
+ 125,
+ 178
+ ],
+ [
+ 274,
+ 125,
+ 179
+ ],
+ [
+ 275,
+ 125,
+ 180
+ ],
+ [
+ 277,
+ 125,
+ 211
+ ],
+ [
+ 278,
+ 127,
+ 212
+ ],
+ [
+ 278,
+ 129,
+ 245
+ ],
+ [
+ 279,
+ 132,
+ 246
+ ],
+ [
+ 279,
+ 134,
+ 278
+ ],
+ [
+ 279,
+ 136,
+ 279
+ ],
+ [
+ 279,
+ 139,
+ 312
+ ],
+ [
+ 279,
+ 142,
+ 313
+ ],
+ [
+ 279,
+ 145,
+ 317
+ ],
+ [
+ 279,
+ 146,
+ 345
+ ],
+ [
+ 279,
+ 151,
+ 345
+ ],
+ [
+ 279,
+ 154,
+ 348
+ ],
+ [
+ 279,
+ 156,
+ 378
+ ],
+ [
+ 279,
+ 162,
+ 379
+ ],
+ [
+ 279,
+ 164,
+ 381
+ ],
+ [
+ 279,
+ 166,
+ 412
+ ],
+ [
+ 279,
+ 171,
+ 412
+ ],
+ [
+ 279,
+ 172,
+ 413
+ ],
+ [
+ 279,
+ 175,
+ 444
+ ],
+ [
+ 279,
+ 178,
+ 445
+ ],
+ [
+ 279,
+ 179,
+ 478
+ ],
+ [
+ 279,
+ 180,
+ 480
+ ],
+ [
+ 279,
+ 181,
+ 484
+ ],
+ [
+ 279,
+ 182,
+ 511
+ ],
+ [
+ 279,
+ 181,
+ 1037
+ ],
+ [
+ 279,
+ 178,
+ 1085
+ ],
+ [
+ 279,
+ 176,
+ 1086
+ ],
+ [
+ 279,
+ 173,
+ 1109
+ ],
+ [
+ 279,
+ 172,
+ 1110
+ ],
+ [
+ 279,
+ 171,
+ 1143
+ ],
+ [
+ 279,
+ 169,
+ 1144
+ ],
+ [
+ 279,
+ 167,
+ 1177
+ ],
+ [
+ 279,
+ 165,
+ 1177
+ ],
+ [
+ 280,
+ 163,
+ 1180
+ ],
+ [
+ 281,
+ 162,
+ 1210
+ ],
+ [
+ 282,
+ 156,
+ 1210
+ ],
+ [
+ 282,
+ 155,
+ 1212
+ ],
+ [
+ 282,
+ 152,
+ 1244
+ ],
+ [
+ 283,
+ 150,
+ 1246
+ ],
+ [
+ 285,
+ 149,
+ 1293
+ ],
+ [
+ 290,
+ 149,
+ 1293
+ ],
+ [
+ 293,
+ 149,
+ 1327
+ ],
+ [
+ 295,
+ 149,
+ 1327
+ ],
+ [
+ 298,
+ 149,
+ 1359
+ ],
+ [
+ 300,
+ 149,
+ 1360
+ ],
+ [
+ 302,
+ 149,
+ 1392
+ ],
+ [
+ 303,
+ 150,
+ 1393
+ ],
+ [
+ 304,
+ 150,
+ 1426
+ ],
+ [
+ 305,
+ 152,
+ 1426
+ ],
+ [
+ 305,
+ 153,
+ 1429
+ ],
+ [
+ 306,
+ 155,
+ 1459
+ ],
+ [
+ 306,
+ 157,
+ 1460
+ ],
+ [
+ 307,
+ 159,
+ 1461
+ ],
+ [
+ 308,
+ 160,
+ 1492
+ ],
+ [
+ 308,
+ 166,
+ 1493
+ ],
+ [
+ 309,
+ 169,
+ 1526
+ ],
+ [
+ 309,
+ 171,
+ 1526
+ ],
+ [
+ 309,
+ 173,
+ 1558
+ ],
+ [
+ 309,
+ 175,
+ 1592
+ ],
+ [
+ 309,
+ 176,
+ 1593
+ ],
+ [
+ 309,
+ 177,
+ 1597
+ ],
+ [
+ 308,
+ 178,
+ 1625
+ ],
+ [
+ 308,
+ 180,
+ 1626
+ ],
+ [
+ 307,
+ 180,
+ 1629
+ ],
+ [
+ 307,
+ 181,
+ 1659
+ ],
+ [
+ 306,
+ 182,
+ 1659
+ ],
+ [
+ 305,
+ 182,
+ 1661
+ ],
+ [
+ 303,
+ 182,
+ 1691
+ ],
+ [
+ 302,
+ 182,
+ 1692
+ ],
+ [
+ 301,
+ 182,
+ 1725
+ ],
+ [
+ 300,
+ 182,
+ 1726
+ ],
+ [
+ 298,
+ 182,
+ 1759
+ ],
+ [
+ 296,
+ 182,
+ 1759
+ ],
+ [
+ 294,
+ 182,
+ 1792
+ ],
+ [
+ 293,
+ 182,
+ 1797
+ ],
+ [
+ 291,
+ 182,
+ 1825
+ ],
+ [
+ 291,
+ 181,
+ 1858
+ ],
+ [
+ 289,
+ 181,
+ 1858
+ ],
+ [
+ 289,
+ 180,
+ 1891
+ ],
+ [
+ 288,
+ 180,
+ 1925
+ ],
+ [
+ 287,
+ 180,
+ 1965
+ ],
+ [
+ 286,
+ 180,
+ 2061
+ ],
+ [
+ 285,
+ 179,
+ 2108
+ ],
+ [
+ 284,
+ 179,
+ 2108
+ ],
+ [
+ 283,
+ 179,
+ 2140
+ ],
+ [
+ 283,
+ 178,
+ 2141
+ ],
+ [
+ 281,
+ 178,
+ 2174
+ ],
+ [
+ 280,
+ 177,
+ 2174
+ ],
+ [
+ 279,
+ 177,
+ 2223
+ ]
+ ]
+ ],
+ ".POINTS_PER_SECOND": 60,
+ ".SEGMENT": "CHARACTER",
+ ".VERSION": "1.0",
+ ".X_DIM": 1032,
+ ".X_POINTS_PER_INCH": 95,
+ ".Y_DIM": 263,
+ ".Y_POINTS_PER_INCH": 95
+ }
+}
diff --git a/tests/auto/inputpanel/data/tst_inputpanel.qml b/tests/auto/inputpanel/data/tst_inputpanel.qml
index c60a0b30..66337fa7 100644
--- a/tests/auto/inputpanel/data/tst_inputpanel.qml
+++ b/tests/auto/inputpanel/data/tst_inputpanel.qml
@@ -1113,6 +1113,7 @@ Rectangle {
{ initHwrMode: true, initInputMethodHints: Qt.ImhNone, initLocale: "ja_JP", initInputMode: "JapaneseHandwriting", inputSequence: "\u65E5\u672C\u8A9E", outputText: "\u65E5\u672C\u8A9E" },
{ initHwrMode: true, initInputMethodHints: Qt.ImhNone, initLocale: "ko_KR", initInputMode: "KoreanHandwriting", inputSequence: "\uD55C\uAD6D\uC5B4", outputText: "\uD55C\uAD6D\uC5B4" },
{ initHwrMode: true, initInputMethodHints: Qt.ImhNone, initLocale: "el_GR", initInputMode: "Greek", inputSequence: "\u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC", outputText: "\u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC" },
+ { initHwrMode: true, initInputMethodHints: Qt.ImhNone, initLocale: "bg_BG", initInputMode: "Cyrillic", inputSequence: "\u0431\u044A\u043B\u0433\u0430\u0440\u0441\u043A\u0438", outputText: "\u0411\u044A\u043B\u0433\u0430\u0440\u0441\u043A\u0438" },
]
}
diff --git a/tests/auto/inputpanel/hwr_test_data/cyrillic/1072_100_0.txt b/tests/auto/inputpanel/hwr_test_data/cyrillic/1072_100_0.txt
new file mode 100644
index 00000000..b9749e07
--- /dev/null
+++ b/tests/auto/inputpanel/hwr_test_data/cyrillic/1072_100_0.txt
@@ -0,0 +1,91 @@
+.VERSION 1.0
+.HIERARCHY CHARACTER
+.COORD X Y T
+.SEGMENT CHARACTER
+.X_DIM 1032
+.Y_DIM 263
+.X_POINTS_PER_INCH 95
+.Y_POINTS_PER_INCH 95
+.POINTS_PER_SECOND 60
+.PEN_DOWN
+531 128 0
+532 128 56
+534 127 72
+536 127 100
+538 124 100
+539 124 103
+541 123 133
+544 122 133
+546 122 136
+548 122 165
+554 122 166
+557 121 168
+561 121 199
+570 125 200
+575 130 232
+579 135 233
+583 141 266
+586 148 266
+586 154 298
+586 160 299
+586 163 303
+586 166 332
+587 171 333
+587 174 336
+587 176 366
+587 180 367
+587 181 368
+587 182 399
+587 183 399
+588 185 400
+589 188 432
+589 190 465
+589 189 511
+589 187 548
+.PEN_UP
+.PEN_DOWN
+572 155 892
+567 153 935
+565 152 935
+562 150 964
+559 150 965
+556 150 967
+553 150 997
+548 150 998
+546 150 1000
+544 150 1030
+541 150 1031
+540 152 1031
+537 153 1064
+535 155 1064
+531 158 1065
+527 163 1097
+526 166 1098
+524 168 1130
+524 172 1131
+524 173 1136
+524 175 1163
+526 178 1164
+526 180 1167
+527 180 1196
+530 183 1197
+532 184 1199
+534 185 1229
+539 187 1230
+541 187 1231
+544 187 1263
+546 187 1264
+551 187 1264
+555 187 1297
+562 186 1297
+567 184 1330
+575 180 1330
+578 178 1347
+579 176 1363
+580 175 1363
+580 174 1380
+581 173 1396
+582 173 1440
+583 173 1465
+582 173 1640
+.PEN_UP
diff --git a/tests/auto/inputpanel/hwr_test_data/cyrillic/1073_100_0.txt b/tests/auto/inputpanel/hwr_test_data/cyrillic/1073_100_0.txt
new file mode 100644
index 00000000..3709db8e
--- /dev/null
+++ b/tests/auto/inputpanel/hwr_test_data/cyrillic/1073_100_0.txt
@@ -0,0 +1,102 @@
+.VERSION 1.0
+.HIERARCHY CHARACTER
+.COORD X Y T
+.SEGMENT CHARACTER
+.X_DIM 1032
+.Y_DIM 263
+.X_POINTS_PER_INCH 95
+.Y_POINTS_PER_INCH 95
+.POINTS_PER_SECOND 60
+.PEN_DOWN
+262 61 0
+260 61 5
+252 60 47
+246 60 49
+243 60 53
+239 60 86
+233 60 86
+229 60 118
+223 60 119
+216 60 151
+209 63 152
+204 64 156
+200 65 192
+192 67 193
+190 68 196
+188 70 218
+185 71 218
+180 74 220
+176 76 251
+170 81 252
+167 86 253
+162 94 289
+162 95 291
+160 98 292
+159 101 317
+157 107 318
+155 112 351
+154 119 352
+154 121 356
+154 125 384
+154 131 385
+154 134 388
+154 138 417
+154 143 418
+154 146 421
+155 148 450
+156 155 451
+156 157 452
+157 160 484
+158 170 485
+160 172 517
+164 178 518
+168 181 550
+173 185 551
+176 186 557
+178 187 584
+185 188 585
+188 188 589
+191 189 617
+196 189 618
+200 189 620
+202 189 650
+208 189 650
+210 188 652
+214 187 683
+218 184 684
+220 182 684
+221 180 717
+224 172 718
+226 166 757
+226 159 759
+226 158 783
+226 153 784
+226 151 789
+225 148 816
+224 145 817
+224 142 820
+224 141 849
+222 137 850
+221 136 852
+220 134 883
+216 130 883
+214 128 884
+211 127 916
+201 125 917
+194 122 949
+188 122 950
+183 121 983
+178 121 984
+173 121 1017
+169 121 1020
+168 121 1021
+162 121 1066
+160 121 1067
+157 121 1069
+156 122 1099
+154 122 1100
+152 122 1100
+151 123 1132
+149 124 1133
+147 124 1165
+.PEN_UP
diff --git a/tests/auto/inputpanel/hwr_test_data/cyrillic/1073_100_1.txt b/tests/auto/inputpanel/hwr_test_data/cyrillic/1073_100_1.txt
new file mode 100644
index 00000000..e3ba5b8d
--- /dev/null
+++ b/tests/auto/inputpanel/hwr_test_data/cyrillic/1073_100_1.txt
@@ -0,0 +1,98 @@
+.VERSION 1.0
+.HIERARCHY CHARACTER
+.COORD X Y T
+.SEGMENT CHARACTER
+.X_DIM 1032
+.Y_DIM 263
+.X_POINTS_PER_INCH 95
+.Y_POINTS_PER_INCH 95
+.POINTS_PER_SECOND 60
+.PEN_DOWN
+214 62 0
+210 62 38
+207 62 39
+203 62 72
+197 62 73
+194 62 76
+192 62 106
+186 63 109
+184 65 110
+175 67 155
+169 69 156
+166 70 156
+163 70 188
+154 74 189
+148 77 221
+144 82 222
+140 87 255
+138 93 256
+136 98 288
+134 103 289
+134 107 293
+134 109 326
+134 120 327
+134 125 355
+134 128 355
+133 132 356
+133 134 387
+133 143 389
+133 148 421
+133 153 422
+134 158 454
+135 164 454
+136 167 488
+138 173 489
+139 175 493
+141 177 521
+142 183 522
+144 185 524
+146 189 554
+150 193 555
+153 193 557
+157 194 590
+168 194 592
+177 194 620
+186 194 622
+195 193 654
+205 191 655
+211 190 687
+221 184 688
+223 183 693
+234 169 737
+243 163 738
+243 161 741
+244 159 770
+244 154 771
+244 152 773
+243 144 812
+237 137 813
+233 131 836
+232 128 837
+225 127 870
+221 127 871
+215 127 903
+208 127 904
+203 127 908
+198 127 936
+188 126 936
+184 126 941
+179 126 969
+171 126 970
+167 126 973
+162 126 1003
+156 126 1004
+154 126 1004
+151 126 1036
+146 126 1036
+142 128 1069
+140 129 1070
+137 131 1107
+133 131 1108
+132 132 1110
+131 132 1136
+128 132 1137
+127 132 1141
+127 133 1169
+125 134 1170
+125 135 1202
+.PEN_UP
diff --git a/tests/auto/inputpanel/hwr_test_data/cyrillic/1075_100_0.txt b/tests/auto/inputpanel/hwr_test_data/cyrillic/1075_100_0.txt
new file mode 100644
index 00000000..8bd436ae
--- /dev/null
+++ b/tests/auto/inputpanel/hwr_test_data/cyrillic/1075_100_0.txt
@@ -0,0 +1,60 @@
+.VERSION 1.0
+.HIERARCHY CHARACTER
+.COORD X Y T
+.SEGMENT CHARACTER
+.X_DIM 1032
+.Y_DIM 263
+.X_POINTS_PER_INCH 95
+.Y_POINTS_PER_INCH 95
+.POINTS_PER_SECOND 60
+.PEN_DOWN
+466 177 0
+466 176 60
+466 175 75
+466 173 105
+465 173 108
+465 172 134
+465 169 134
+464 167 167
+464 165 168
+463 161 200
+462 156 201
+462 154 203
+460 151 250
+460 148 251
+459 148 252
+459 147 283
+458 143 284
+458 140 316
+458 138 317
+458 136 350
+458 134 350
+458 133 383
+458 131 384
+458 129 417
+457 128 466
+457 127 466
+457 126 499
+457 125 533
+457 124 644
+459 124 749
+466 124 786
+469 124 787
+472 124 788
+481 124 815
+485 124 816
+488 125 820
+492 125 848
+499 125 849
+504 125 851
+508 125 881
+518 125 882
+523 125 883
+525 125 915
+532 125 916
+535 125 916
+540 125 948
+544 125 948
+547 125 997
+548 125 998
+.PEN_UP
diff --git a/tests/auto/inputpanel/hwr_test_data/cyrillic/1080_100_0.txt b/tests/auto/inputpanel/hwr_test_data/cyrillic/1080_100_0.txt
new file mode 100644
index 00000000..3e481cec
--- /dev/null
+++ b/tests/auto/inputpanel/hwr_test_data/cyrillic/1080_100_0.txt
@@ -0,0 +1,80 @@
+.VERSION 1.0
+.HIERARCHY CHARACTER
+.COORD X Y T
+.SEGMENT CHARACTER
+.X_DIM 1032
+.Y_DIM 263
+.X_POINTS_PER_INCH 95
+.Y_POINTS_PER_INCH 95
+.POINTS_PER_SECOND 60
+.PEN_DOWN
+751 123 0
+751 124 48
+751 126 65
+751 127 68
+751 128 98
+751 131 99
+751 133 100
+751 136 131
+751 140 132
+751 146 133
+751 152 164
+753 158 165
+756 165 197
+759 169 198
+759 171 232
+761 172 232
+761 173 236
+763 174 264
+764 176 265
+764 177 268
+767 178 298
+768 178 331
+772 178 332
+773 178 332
+776 178 364
+779 178 366
+781 176 397
+785 172 398
+788 166 430
+790 162 431
+792 159 437
+794 154 464
+797 148 465
+799 146 468
+801 144 501
+802 138 503
+802 134 530
+802 132 531
+802 129 532
+804 128 564
+807 123 564
+807 120 597
+807 118 598
+807 117 630
+807 116 663
+807 117 741
+808 120 783
+808 123 783
+810 129 813
+810 131 814
+810 136 847
+810 139 847
+810 141 852
+810 144 879
+810 149 880
+810 153 884
+810 155 912
+810 162 914
+810 164 916
+810 167 946
+811 171 947
+811 173 948
+811 174 979
+813 179 980
+814 181 1012
+814 183 1013
+814 184 1046
+814 186 1047
+815 187 1079
+.PEN_UP
diff --git a/tests/auto/inputpanel/hwr_test_data/cyrillic/1082_100_0.txt b/tests/auto/inputpanel/hwr_test_data/cyrillic/1082_100_0.txt
new file mode 100644
index 00000000..2892d7b9
--- /dev/null
+++ b/tests/auto/inputpanel/hwr_test_data/cyrillic/1082_100_0.txt
@@ -0,0 +1,99 @@
+.VERSION 1.0
+.HIERARCHY CHARACTER
+.COORD X Y T
+.SEGMENT CHARACTER
+.X_DIM 1032
+.Y_DIM 263
+.X_POINTS_PER_INCH 95
+.Y_POINTS_PER_INCH 95
+.POINTS_PER_SECOND 60
+.PEN_DOWN
+649 124 0
+649 125 189
+649 126 214
+649 127 255
+649 128 256
+649 130 256
+649 131 260
+649 133 289
+649 136 293
+649 138 322
+649 142 323
+649 143 324
+649 145 355
+649 149 356
+649 151 356
+649 156 388
+649 162 389
+650 164 421
+651 167 423
+651 170 454
+651 172 455
+651 174 461
+651 175 488
+651 177 489
+651 179 492
+651 180 521
+651 182 522
+651 183 554
+651 184 588
+651 183 853
+651 182 887
+.PEN_UP
+.PEN_DOWN
+690 123 1328
+689 123 1369
+689 124 1373
+687 126 1402
+686 126 1435
+682 129 1436
+681 132 1469
+678 132 1470
+673 136 1518
+669 140 1519
+667 140 1524
+666 141 1552
+664 142 1553
+663 143 1556
+661 143 1585
+659 145 1586
+657 147 1589
+655 147 1618
+654 148 1651
+653 149 1685
+653 150 1718
+652 150 1724
+.PEN_UP
+.PEN_DOWN
+653 151 2376
+654 151 2419
+655 151 2419
+656 151 2450
+657 151 2452
+658 151 2483
+660 151 2516
+663 151 2517
+664 152 2549
+666 153 2550
+669 153 2583
+671 155 2584
+673 156 2588
+674 156 2616
+677 157 2617
+678 158 2650
+680 159 2650
+680 161 2653
+681 161 2683
+683 163 2683
+684 164 2684
+685 165 2716
+687 167 2717
+688 167 2749
+689 168 2783
+689 169 2784
+691 170 2788
+692 171 2815
+692 172 2820
+692 173 2849
+692 174 2882
+.PEN_UP
diff --git a/tests/auto/inputpanel/hwr_test_data/cyrillic/1083_100_0.txt b/tests/auto/inputpanel/hwr_test_data/cyrillic/1083_100_0.txt
new file mode 100644
index 00000000..47f48853
--- /dev/null
+++ b/tests/auto/inputpanel/hwr_test_data/cyrillic/1083_100_0.txt
@@ -0,0 +1,69 @@
+.VERSION 1.0
+.HIERARCHY CHARACTER
+.COORD X Y T
+.SEGMENT CHARACTER
+.X_DIM 1032
+.Y_DIM 263
+.X_POINTS_PER_INCH 95
+.Y_POINTS_PER_INCH 95
+.POINTS_PER_SECOND 60
+.PEN_DOWN
+313 163 0
+313 164 52
+313 165 68
+313 168 102
+314 172 103
+315 174 134
+316 175 135
+320 177 168
+323 178 169
+324 178 173
+327 178 201
+332 178 202
+335 178 205
+340 178 243
+344 178 244
+346 176 245
+349 174 284
+352 169 285
+354 166 318
+357 163 318
+360 158 350
+362 154 351
+364 151 357
+365 150 384
+369 144 385
+371 140 388
+372 139 417
+375 133 417
+376 132 421
+380 131 451
+381 130 452
+382 129 484
+385 129 484
+387 129 517
+389 129 518
+391 129 550
+394 129 552
+395 129 557
+398 131 584
+400 131 588
+402 132 617
+403 133 618
+404 134 620
+405 134 650
+407 135 651
+408 135 652
+410 137 683
+410 138 684
+410 139 684
+412 141 717
+413 143 717
+414 145 751
+415 147 751
+415 148 784
+416 149 816
+416 150 820
+416 151 849
+416 152 852
+.PEN_UP
diff --git a/tests/auto/inputpanel/hwr_test_data/cyrillic/1088_100_0.txt b/tests/auto/inputpanel/hwr_test_data/cyrillic/1088_100_0.txt
new file mode 100644
index 00000000..820a029e
--- /dev/null
+++ b/tests/auto/inputpanel/hwr_test_data/cyrillic/1088_100_0.txt
@@ -0,0 +1,97 @@
+.VERSION 1.0
+.HIERARCHY CHARACTER
+.COORD X Y T
+.SEGMENT CHARACTER
+.X_DIM 1032
+.Y_DIM 263
+.X_POINTS_PER_INCH 95
+.Y_POINTS_PER_INCH 95
+.POINTS_PER_SECOND 60
+.PEN_DOWN
+639 127 0
+639 128 48
+640 130 65
+640 132 68
+640 133 98
+640 138 99
+640 140 101
+640 150 148
+641 159 149
+644 167 181
+646 176 182
+646 185 215
+646 193 216
+646 200 247
+646 209 248
+646 211 253
+647 215 281
+647 218 282
+647 220 285
+647 221 314
+648 225 315
+648 227 317
+648 228 349
+648 233 350
+648 237 399
+648 240 400
+648 241 430
+648 243 431
+648 245 464
+648 246 497
+648 247 498
+648 246 605
+.PEN_UP
+.PEN_DOWN
+644 143 1072
+644 142 1105
+644 138 1126
+644 135 1127
+644 129 1168
+644 126 1169
+644 123 1173
+645 122 1196
+646 122 1196
+648 120 1197
+649 119 1229
+654 117 1229
+657 114 1262
+660 113 1263
+664 113 1295
+668 113 1295
+674 113 1328
+677 113 1329
+679 114 1333
+680 114 1361
+683 116 1362
+685 117 1365
+687 118 1395
+689 122 1395
+690 124 1396
+690 126 1428
+691 131 1429
+691 136 1465
+691 143 1467
+690 145 1469
+688 151 1511
+687 158 1512
+685 159 1516
+684 160 1544
+681 163 1545
+680 164 1549
+678 164 1577
+674 166 1578
+673 166 1581
+671 166 1611
+667 167 1612
+666 167 1612
+664 167 1644
+663 168 1645
+661 168 1645
+658 168 1677
+656 168 1678
+654 168 1711
+653 168 1712
+651 168 1745
+650 168 1745
+650 167 1778
+.PEN_UP
diff --git a/tests/auto/inputpanel/hwr_test_data/cyrillic/1089_100_0.txt b/tests/auto/inputpanel/hwr_test_data/cyrillic/1089_100_0.txt
new file mode 100644
index 00000000..31275451
--- /dev/null
+++ b/tests/auto/inputpanel/hwr_test_data/cyrillic/1089_100_0.txt
@@ -0,0 +1,47 @@
+.VERSION 1.0
+.HIERARCHY CHARACTER
+.COORD X Y T
+.SEGMENT CHARACTER
+.X_DIM 1032
+.Y_DIM 263
+.X_POINTS_PER_INCH 95
+.Y_POINTS_PER_INCH 95
+.POINTS_PER_SECOND 60
+.PEN_DOWN
+633 126 0
+631 126 39
+629 126 40
+627 125 43
+625 125 70
+620 125 70
+617 125 75
+616 125 103
+611 125 104
+607 125 108
+603 125 136
+597 126 139
+593 128 143
+585 133 172
+578 139 173
+574 144 203
+572 152 205
+572 157 236
+572 164 238
+573 171 269
+576 176 270
+583 182 304
+587 184 306
+591 184 309
+606 185 353
+617 184 353
+623 182 355
+627 180 386
+634 178 387
+635 177 387
+635 176 419
+635 174 420
+633 173 453
+632 173 453
+632 172 488
+631 172 492
+.PEN_UP
diff --git a/tests/auto/inputpanel/hwr_test_data/cyrillic/1098_100_0.txt b/tests/auto/inputpanel/hwr_test_data/cyrillic/1098_100_0.txt
new file mode 100644
index 00000000..fe0e80f8
--- /dev/null
+++ b/tests/auto/inputpanel/hwr_test_data/cyrillic/1098_100_0.txt
@@ -0,0 +1,112 @@
+.VERSION 1.0
+.HIERARCHY CHARACTER
+.COORD X Y T
+.SEGMENT CHARACTER
+.X_DIM 1032
+.Y_DIM 263
+.X_POINTS_PER_INCH 95
+.Y_POINTS_PER_INCH 95
+.POINTS_PER_SECOND 60
+.PEN_DOWN
+259 124 0
+260 124 69
+262 124 90
+264 124 93
+266 124 114
+267 124 117
+269 124 145
+271 124 146
+272 124 149
+273 125 178
+274 125 179
+275 125 180
+277 125 211
+278 127 212
+278 129 245
+279 132 246
+279 134 278
+279 136 279
+279 139 312
+279 142 313
+279 145 317
+279 146 345
+279 151 345
+279 154 348
+279 156 378
+279 162 379
+279 164 381
+279 166 412
+279 171 412
+279 172 413
+279 175 444
+279 178 445
+279 179 478
+279 180 480
+279 181 484
+279 182 511
+279 181 1037
+279 178 1085
+279 176 1086
+279 173 1109
+279 172 1110
+279 171 1143
+279 169 1144
+279 167 1177
+279 165 1177
+280 163 1180
+281 162 1210
+282 156 1210
+282 155 1212
+282 152 1244
+283 150 1246
+285 149 1293
+290 149 1293
+293 149 1327
+295 149 1327
+298 149 1359
+300 149 1360
+302 149 1392
+303 150 1393
+304 150 1426
+305 152 1426
+305 153 1429
+306 155 1459
+306 157 1460
+307 159 1461
+308 160 1492
+308 166 1493
+309 169 1526
+309 171 1526
+309 173 1558
+309 175 1592
+309 176 1593
+309 177 1597
+308 178 1625
+308 180 1626
+307 180 1629
+307 181 1659
+306 182 1659
+305 182 1661
+303 182 1691
+302 182 1692
+301 182 1725
+300 182 1726
+298 182 1759
+296 182 1759
+294 182 1792
+293 182 1797
+291 182 1825
+291 181 1858
+289 181 1858
+289 180 1891
+288 180 1925
+287 180 1965
+286 180 2061
+285 179 2108
+284 179 2108
+283 179 2140
+283 178 2141
+281 178 2174
+280 177 2174
+279 177 2223
+.PEN_UP