aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--java/res/xml-sw600dp/key_space_5kw.xml7
-rw-r--r--java/res/xml-sw600dp/rows_telugu.xml49
-rw-r--r--java/res/xml/kbd_telugu.xml26
-rw-r--r--java/res/xml/key_space_5kw.xml7
-rw-r--r--java/res/xml/keyboard_layout_set_telugu.xml42
-rw-r--r--java/res/xml/method.xml13
-rw-r--r--java/res/xml/rowkeys_telugu1.xml97
-rw-r--r--java/res/xml/rowkeys_telugu2.xml78
-rw-r--r--java/res/xml/rowkeys_telugu3.xml67
-rw-r--r--java/res/xml/rows_telugu.xml45
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java173
-rw-r--r--tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetSubtypesCountTests.java2
-rw-r--r--tests/src/com/android/inputmethod/keyboard/layout/Telugu.java189
-rw-r--r--tests/src/com/android/inputmethod/keyboard/layout/tests/TestsTeluguIN.java37
-rw-r--r--tools/make-keyboard-text/res/values-te-rIN/donottranslate-more-keys.xml28
15 files changed, 774 insertions, 86 deletions
diff --git a/java/res/xml-sw600dp/key_space_5kw.xml b/java/res/xml-sw600dp/key_space_5kw.xml
index bf7dffbe9..8302184c7 100644
--- a/java/res/xml-sw600dp/key_space_5kw.xml
+++ b/java/res/xml-sw600dp/key_space_5kw.xml
@@ -24,9 +24,10 @@
<switch>
<!-- fa: Perisan
kn: Kannada
- ne: Nepali -->
+ ne: Nepali
+ te: Telugu -->
<case
- latin:languageCode="fa|kn|ne"
+ latin:languageCode="fa|kn|ne|te"
latin:languageSwitchKeyEnabled="true"
>
<Key
@@ -38,7 +39,7 @@
latin:keyStyle="zwnjKeyStyle" />
</case>
<case
- latin:languageCode="fa|kn|ne"
+ latin:languageCode="fa|kn|ne|te"
latin:languageSwitchKeyEnabled="false"
>
<Key
diff --git a/java/res/xml-sw600dp/rows_telugu.xml b/java/res/xml-sw600dp/rows_telugu.xml
new file mode 100644
index 000000000..c9aeb7ef2
--- /dev/null
+++ b/java/res/xml-sw600dp/rows_telugu.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<merge xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
+ <include latin:keyboardLayout="@xml/key_styles_common" />
+ <Row
+ latin:keyWidth="8.182%p"
+ latin:keyLabelFlags="fontNormal|autoXScale"
+ >
+ <include latin:keyboardLayout="@xml/rowkeys_telugu1" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="fillRight" />
+ </Row>
+ <Row
+ latin:keyWidth="8.182%p"
+ latin:keyLabelFlags="fontNormal|autoXScale"
+ >
+ <include latin:keyboardLayout="@xml/rowkeys_telugu2" />
+ <Key
+ latin:keyStyle="enterKeyStyle"
+ latin:keyWidth="fillRight" />
+ </Row>
+ <Row
+ latin:keyWidth="8.182%p"
+ latin:keyLabelFlags="fontNormal|autoXScale"
+ >
+ <include latin:keyboardLayout="@xml/rowkeys_telugu3" />
+ <include latin:keyboardLayout="@xml/keys_exclamation_question" />
+ </Row>
+ <include latin:keyboardLayout="@xml/row_qwerty4" />
+</merge>
diff --git a/java/res/xml/kbd_telugu.xml b/java/res/xml/kbd_telugu.xml
new file mode 100644
index 000000000..b4fc337d1
--- /dev/null
+++ b/java/res/xml/kbd_telugu.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<Keyboard
+ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+ <include
+ latin:keyboardLayout="@xml/rows_telugu" />
+</Keyboard>
diff --git a/java/res/xml/key_space_5kw.xml b/java/res/xml/key_space_5kw.xml
index 1b62eabcc..b1fe0bbeb 100644
--- a/java/res/xml/key_space_5kw.xml
+++ b/java/res/xml/key_space_5kw.xml
@@ -24,9 +24,10 @@
<switch>
<!-- fa: Perisan
kn: Kannada
- ne: Nepali -->
+ ne: Nepali
+ te: Telugu -->
<case
- latin:languageCode="fa|kn|ne"
+ latin:languageCode="fa|kn|ne|te"
latin:languageSwitchKeyEnabled="true"
>
<Key
@@ -38,7 +39,7 @@
latin:keyStyle="zwnjKeyStyle" />
</case>
<case
- latin:languageCode="fa|kn|ne"
+ latin:languageCode="fa|kn|ne|te"
latin:languageSwitchKeyEnabled="false"
>
<Key
diff --git a/java/res/xml/keyboard_layout_set_telugu.xml b/java/res/xml/keyboard_layout_set_telugu.xml
new file mode 100644
index 000000000..aca47b9d9
--- /dev/null
+++ b/java/res/xml/keyboard_layout_set_telugu.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<KeyboardLayoutSet
+ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
+ <Element
+ latin:elementName="alphabet"
+ latin:elementKeyboard="@xml/kbd_telugu"
+ latin:enableProximityCharsCorrection="true" />
+ <Element
+ latin:elementName="symbols"
+ latin:elementKeyboard="@xml/kbd_symbols" />
+ <Element
+ latin:elementName="symbolsShifted"
+ latin:elementKeyboard="@xml/kbd_symbols_shift" />
+ <Element
+ latin:elementName="phone"
+ latin:elementKeyboard="@xml/kbd_phone" />
+ <Element
+ latin:elementName="phoneSymbols"
+ latin:elementKeyboard="@xml/kbd_phone_symbols" />
+ <Element
+ latin:elementName="number"
+ latin:elementKeyboard="@xml/kbd_number" />
+</KeyboardLayoutSet>
diff --git a/java/res/xml/method.xml b/java/res/xml/method.xml
index 2a03f20d9..5021f33ee 100644
--- a/java/res/xml/method.xml
+++ b/java/res/xml/method.xml
@@ -91,7 +91,8 @@
(sr-Latn: Serbian/qwerty) # not yet implemented.
sv: Swedish/nordic
sw: Swahili/qwerty
- (ta: Tamil/tamil) # This is a preliminary keyboard layout.
+ (ta_IN: Tamil (India)/tamil) # This is a preliminary keyboard layout.
+ (te_IN: Telugu (India)/telugu) # This is a preliminary keyboard layout.
th: Thai/thai
tl: Tagalog/spanish
tr: Turkish/qwerty
@@ -699,6 +700,16 @@
android:imeSubtypeExtraValue="KeyboardLayoutSet=tamil,EmojiCapable"
android:isAsciiCapable="false"
/>
+ <!-- TODO: This telugu keyboard is a preliminary layout.
+ This isn't based on the final specification. -->
+ <subtype android:icon="@drawable/ic_ime_switcher_dark"
+ android:label="@string/subtype_generic"
+ android:subtypeId="0x1e177389"
+ android:imeSubtypeLocale="te_IN"
+ android:imeSubtypeMode="keyboard"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=telugu,EmojiCapable"
+ android:isAsciiCapable="false"
+ />
<subtype android:icon="@drawable/ic_ime_switcher_dark"
android:label="@string/subtype_generic"
android:subtypeId="0x1f94d5d4"
diff --git a/java/res/xml/rowkeys_telugu1.xml b/java/res/xml/rowkeys_telugu1.xml
new file mode 100644
index 000000000..8a5c8506f
--- /dev/null
+++ b/java/res/xml/rowkeys_telugu1.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<merge xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
+ <!-- U+0C4C: "ౌ" TELUGU VOWEL SIGN AU
+ U+0C14: "ఔ" TELUGU LETTER AU -->
+ <Key
+ latin:keySpec="&#x0C4C;"
+ latin:moreKeys="&#x0C14;,%"
+ latin:keyHintLabel="1"
+ latin:additionalMoreKeys="1" />
+ <!-- U+0C48: "ై" TELUGU VOWEL SIGN AI
+ U+0C10: "ఐ" TELUGU LETTER AI -->
+ <Key
+ latin:keySpec="&#x0C48;"
+ latin:moreKeys="&#x0C10;,%"
+ latin:keyHintLabel="2"
+ latin:additionalMoreKeys="2" />
+ <!-- U+0C3E: "ా" TELUGU VOWEL SIGN AA
+ U+0C06: "ఆ" TELUGU LETTER AA -->
+ <Key
+ latin:keySpec="&#x0C3E;"
+ latin:moreKeys="&#x0C06;,%"
+ latin:keyHintLabel="3"
+ latin:additionalMoreKeys="3" />
+ <!-- U+0C40: "ీ" TELUGU VOWEL SIGN II
+ U+0C08: "ఈ" TELUGU LETTER II -->
+ <Key
+ latin:keySpec="&#x0C40;"
+ latin:moreKeys="&#x0C08;,%"
+ latin:keyHintLabel="4"
+ latin:additionalMoreKeys="4" />
+ <!-- U+0C42: "ూ" TELUGU VOWEL SIGN UU
+ U+0C0A: "ఊ" TELUGU LETTER UU -->
+ <Key
+ latin:keySpec="&#x0C42;"
+ latin:moreKeys="&#x0C0A;,%"
+ latin:keyHintLabel="5"
+ latin:additionalMoreKeys="5" />
+ <!-- U+0C2C: "బ" TELUGU LETTER BA
+ U+0C2D: "భ" TELUGU LETTER BHA -->
+ <Key
+ latin:keySpec="&#x0C2C;"
+ latin:moreKeys="&#x0C2D;,%"
+ latin:keyHintLabel="6"
+ latin:additionalMoreKeys="6" />
+ <!-- U+0C39: "హ" TELUGU LETTER HA
+ U+0C03: "ః" TELUGU SIGN VISARGA -->
+ <Key
+ latin:keySpec="&#x0C39;"
+ latin:moreKeys="&#x0C03;,%"
+ latin:keyHintLabel="7"
+ latin:additionalMoreKeys="7" />
+ <!-- U+0C17: "గ" TELUGU LETTER GA
+ U+0C18: "ఘ" TELUGU LETTER GHA -->
+ <Key
+ latin:keySpec="&#x0C17;"
+ latin:moreKeys="&#x0C18;,%"
+ latin:keyHintLabel="8"
+ latin:additionalMoreKeys="8" />
+ <!-- U+0C26: "ద" TELUGU LETTER DA
+ U+0C27: "ధ" TELUGU LETTER DHA -->
+ <Key
+ latin:keySpec="&#x0C26;"
+ latin:moreKeys="&#x0C27;,%"
+ latin:keyHintLabel="9"
+ latin:additionalMoreKeys="9" />
+ <!-- U+0C1C: "జ" TELUGU LETTER JA
+ U+0C1D: "ఝ" TELUGU LETTER JHA -->
+ <Key
+ latin:keySpec="&#x0C1C;"
+ latin:moreKeys="&#x0C1D;,%"
+ latin:keyHintLabel="0"
+ latin:additionalMoreKeys="0" />
+ <!-- U+0C21: "డ" TELUGU LETTER DDA
+ U+0C22: "ఢ" TELUGU LETTER DDHA -->
+ <Key
+ latin:keySpec="&#x0C21;"
+ latin:moreKeys="&#x0C22;" />
+</merge>
diff --git a/java/res/xml/rowkeys_telugu2.xml b/java/res/xml/rowkeys_telugu2.xml
new file mode 100644
index 000000000..a472fd3f8
--- /dev/null
+++ b/java/res/xml/rowkeys_telugu2.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<merge xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
+ <!-- U+0C4B: "ో" TELUGU VOWEL SIGN OO
+ U+0C13: "ఓ" TELUGU LETTER OO -->
+ <Key
+ latin:keySpec="&#x0C4B;"
+ latin:moreKeys="&#x0C13;" />
+ <!-- U+0C47: "ే" TELUGU VOWEL SIGN EE
+ U+0C0F: "ఏ" TELUGU LETTER EE -->
+ <Key
+ latin:keySpec="&#x0C47;"
+ latin:moreKeys="&#x0C0F;" />
+ <!-- U+0C4D: "్" TELUGU SIGN VIRAMA
+ U+0C05: "అ" TELUGU LETTER A -->
+ <Key
+ latin:keySpec="&#x0C4D;"
+ latin:moreKeys="&#x0C05;" />
+ <!-- U+0C3F: "ి" TELUGU VOWEL SIGN I
+ U+0C07: "ఇ" TELUGU LETTER I -->
+ <Key
+ latin:keySpec="&#x0C3F;"
+ latin:moreKeys="&#x0C07;" />
+ <!-- U+0C41: "ు" TELUGU VOWEL SIGN U
+ U+0C09: "ఉ" TELUGU LETTER U -->
+ <Key
+ latin:keySpec="&#x0C41;"
+ latin:moreKeys="&#x0C09;" />
+ <!-- U+0C2A: "ప" TELUGU LETTER PA
+ U+0C2B: "ఫ" TELUGU LETTER PHA -->
+ <Key
+ latin:keySpec="&#x0C2A;"
+ latin:moreKeys="&#x0C2B;" />
+ <!-- U+0C30: "ర" TELUGU LETTER RA
+ U+0C31: "ఱ" TELUGU LETTER RRA
+ U+0C43: "ృ" TELUGU VOWEL SIGN VOCALIC R -->
+ <Key
+ latin:keySpec="&#x0C30;"
+ latin:moreKeys="&#x0C31;,&#x0C43;" />
+ <!-- U+0C15: "క" TELUGU LETTER KA
+ U+0C16: "ఖ" TELUGU LETTER KHA -->
+ <Key
+ latin:keySpec="&#x0C15;"
+ latin:moreKeys="&#x0C16;" />
+ <!-- U+0C24: "త" TELUGU LETTER TA
+ U+0C25: "థ" TELUGU LETTER THA -->
+ <Key
+ latin:keySpec="&#x0C24;"
+ latin:moreKeys="&#x0C25;" />
+ <!-- U+0C1A: "చ" TELUGU LETTER CA
+ U+0C1B: "ఛ" TELUGU LETTER CHA -->
+ <Key
+ latin:keySpec="&#x0C1A;"
+ latin:moreKeys="&#x0C1B;" />
+ <!-- U+0C1F: "ట" TELUGU LETTER TTA
+ U+0C20: "ఠ" TELUGU LETTER TTHA -->
+ <Key
+ latin:keySpec="&#x0C1F;"
+ latin:moreKeys="&#x0C20;" />
+</merge>
diff --git a/java/res/xml/rowkeys_telugu3.xml b/java/res/xml/rowkeys_telugu3.xml
new file mode 100644
index 000000000..05755ec4d
--- /dev/null
+++ b/java/res/xml/rowkeys_telugu3.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<merge xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
+ <!-- U+0C46: "ె" TELUGU VOWEL SIGN E
+ U+0C12: "ఒ" TELUGU LETTER O -->
+ <Key
+ latin:keySpec="&#x0C46;"
+ latin:moreKeys="&#x0C12;" />
+ <!-- U+0C02: "ం" TELUGU SIGN ANUSVARA
+ U+0C0E: "ఎ" TELUGU LETTER E -->
+ <Key
+ latin:keySpec="&#x0C02;"
+ latin:moreKeys="&#x0C0E;" />
+ <!-- U+0C2E: "మ" TELUGU LETTER MA -->
+ <Key latin:keySpec="&#x0C2E;" />
+ <!-- U+0C28: "న" TELUGU LETTER NA
+ U+0C23: "ణ" TELUGU LETTER NNA
+ U+0C19: "ఙ" TELUGU LETTER NGA -->
+ <Key
+ latin:keySpec="&#x0C28;"
+ latin:moreKeys="&#x0C23;,&#x0C19;" />
+ <!-- U+0C35: "వ" TELUGU LETTER VA -->
+ <Key latin:keySpec="&#x0C35;" />
+ <!-- U+0C32: "ల" TELUGU LETTER LA
+ U+0C33: "ళ" TELUGU LETTER LLA -->
+ <Key
+ latin:keySpec="&#x0C32;"
+ latin:moreKeys="&#x0C33;" />
+ <!-- U+0C38: "స" TELUGU LETTER SA
+ U+0C36: "శ" TELUGU LETTER SHA -->
+ <Key
+ latin:keySpec="&#x0C38;"
+ latin:moreKeys="&#x0C36;" />
+ <!-- U+0C0B: "ఋ" TELUGU LETTER VOCALIC R
+ U+0C4D/U+0C30: "్ర" TELUGU SIGN VIRAMA/TELUGU LETTER RA -->
+ <Key
+ latin:keySpec="&#x0C0B;"
+ latin:moreKeys="&#x0C4D;&#x0C30;" />
+ <!-- U+0C37: "ష" TELUGU LETTER SSA
+ U+0C15/U+0C4D/U+0C37: "క్ష" TELUGU LETTER KA/TELUGU SIGN VIRAMA/TELUGU LETTER SSA -->
+ <Key
+ latin:keySpec="&#x0C37;"
+ latin:moreKeys="&#x0C15;&#x0C4D;&#x0C37;" />
+ <!-- U+0C2F: "య" TELUGU LETTER YA
+ U+0C1C/U+0C4D/U+0C1E: "జ్ఞ" TELUGU LETTER JA/TELUGU SIGN VIRAMA/TELUGU LETTER NYA -->
+ <Key
+ latin:keySpec="&#x0C2F;"
+ latin:moreKeys="&#x0C1C;&#x0C4D;&#x0C1E;" />
+</merge>
diff --git a/java/res/xml/rows_telugu.xml b/java/res/xml/rows_telugu.xml
new file mode 100644
index 000000000..4a31d5dc3
--- /dev/null
+++ b/java/res/xml/rows_telugu.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<merge xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
+ <include latin:keyboardLayout="@xml/key_styles_common" />
+ <Row
+ latin:keyWidth="9.091%p"
+ latin:keyLabelFlags="fontNormal|autoXScale"
+ >
+ <include latin:keyboardLayout="@xml/rowkeys_telugu1" />
+ </Row>
+ <Row
+ latin:keyWidth="9.091%p"
+ latin:keyLabelFlags="fontNormal|autoXScale"
+ >
+ <include latin:keyboardLayout="@xml/rowkeys_telugu2" />
+ </Row>
+ <Row
+ latin:keyWidth="9.091%p"
+ latin:keyLabelFlags="fontNormal|autoXScale"
+ >
+ <include latin:keyboardLayout="@xml/rowkeys_telugu3" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="fillRight" />
+ </Row>
+ <include latin:keyboardLayout="@xml/row_qwerty4" />
+</merge> \ No newline at end of file
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java
index b50856316..eb494275f 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java
@@ -88,14 +88,14 @@ public final class KeyboardTextsTable {
/* 2:30 */ "morekeys_u",
/* 3:29 */ "morekeys_e",
/* 4:28 */ "morekeys_i",
- /* 5:27 */ "keylabel_to_alpha",
+ /* 5:28 */ "keylabel_to_alpha",
/* 6:23 */ "morekeys_c",
/* 7:23 */ "double_quotes",
/* 8:22 */ "morekeys_n",
/* 9:22 */ "single_quotes",
/* 10:20 */ "morekeys_s",
- /* 11:14 */ "morekeys_y",
- /* 12:14 */ "keyspec_currency",
+ /* 11:15 */ "keyspec_currency",
+ /* 12:14 */ "morekeys_y",
/* 13:13 */ "morekeys_d",
/* 14:12 */ "morekeys_z",
/* 15:10 */ "morekeys_t",
@@ -267,10 +267,9 @@ public final class KeyboardTextsTable {
/* morekeys_n */ EMPTY,
/* single_quotes */ "!text/single_lqm_rqm",
/* morekeys_s */ EMPTY,
- /* morekeys_y */ EMPTY,
/* keyspec_currency */ "$",
- /* morekeys_d ~ */
- EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
+ /* morekeys_y ~ */
+ EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
/* ~ morekeys_g */
/* single_angle_quotes */ "!text/single_laqm_raqm",
/* double_angle_quotes */ "!text/double_laqm_raqm",
@@ -515,8 +514,9 @@ public final class KeyboardTextsTable {
// U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
// U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
/* morekeys_n */ "\u00F1,\u0144",
- /* single_quotes */ null,
- /* morekeys_s */ null,
+ /* single_quotes ~ */
+ null, null, null,
+ /* ~ keyspec_currency */
// U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
// U+0133: "ij" LATIN SMALL LIGATURE IJ
/* morekeys_y */ "\u00FD,\u0133",
@@ -696,7 +696,7 @@ public final class KeyboardTextsTable {
// U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
/* morekeys_s */ "\u015F,\u00DF,\u015B,\u0161",
- /* morekeys_y ~ */
+ /* keyspec_currency ~ */
null, null, null, null, null, null,
/* ~ morekeys_l */
// U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
@@ -763,8 +763,8 @@ public final class KeyboardTextsTable {
// U+0997: "ग" BENGALI LETTER GA
/* keylabel_to_alpha */ "\u0995\u0996\u0997",
/* morekeys_c ~ */
- null, null, null, null, null, null,
- /* ~ morekeys_y */
+ null, null, null, null, null,
+ /* ~ morekeys_s */
// U+09F3: "৳" BENGALI RUPEE SIGN
/* keyspec_currency */ "\u09F3",
};
@@ -903,10 +903,10 @@ public final class KeyboardTextsTable {
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
// U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
/* morekeys_s */ "\u0161,\u00DF,\u015B",
+ /* keyspec_currency */ null,
// U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
// U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
/* morekeys_y */ "\u00FD,\u00FF",
- /* keyspec_currency */ null,
// U+010F: "ď" LATIN SMALL LETTER D WITH CARON
/* morekeys_d */ "\u010F",
// U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
@@ -962,10 +962,10 @@ public final class KeyboardTextsTable {
// U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
/* morekeys_s */ "\u00DF,\u015B,\u0161",
+ /* keyspec_currency */ null,
// U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
// U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
/* morekeys_y */ "\u00FD,\u00FF",
- /* keyspec_currency */ null,
// U+00F0: "ð" LATIN SMALL LETTER ETH
/* morekeys_d */ "\u00F0",
/* morekeys_z */ null,
@@ -1038,7 +1038,7 @@ public final class KeyboardTextsTable {
// U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
/* morekeys_s */ "\u00DF,\u015B,\u0161",
- /* morekeys_y ~ */
+ /* keyspec_currency ~ */
null, null, null, null, null, null, null,
/* ~ morekeys_g */
/* single_angle_quotes */ "!text/single_raqm_laqm",
@@ -1199,12 +1199,12 @@ public final class KeyboardTextsTable {
// U+0219: "ș" LATIN SMALL LETTER S WITH COMMA BELOW
// U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA
/* morekeys_s */ "\u00DF,\u0161,\u015B,\u0219,\u015F",
+ /* keyspec_currency */ null,
// U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
// U+0177: "ŷ" LATIN SMALL LETTER Y WITH CIRCUMFLEX
// U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
// U+00FE: "þ" LATIN SMALL LETTER THORN
/* morekeys_y */ "y,\u00FD,\u0177,\u00FF,\u00FE",
- /* keyspec_currency */ null,
// U+00F0: "ð" LATIN SMALL LETTER ETH
// U+010F: "ď" LATIN SMALL LETTER D WITH CARON
// U+0111: "đ" LATIN SMALL LETTER D WITH STROKE
@@ -1397,10 +1397,10 @@ public final class KeyboardTextsTable {
// U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
// U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA
/* morekeys_s */ "\u0161,\u00DF,\u015B,\u015F",
+ /* keyspec_currency */ null,
// U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
// U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
/* morekeys_y */ "\u00FD,\u00FF",
- /* keyspec_currency */ null,
// U+010F: "ď" LATIN SMALL LETTER D WITH CARON
/* morekeys_d */ "\u010F",
// U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
@@ -1504,13 +1504,13 @@ public final class KeyboardTextsTable {
// U+067E: "پ" ARABIC LETTER PEH
/* keylabel_to_alpha */ "\u0627\u200C\u0628\u200C\u067E",
/* morekeys_c ~ */
- null, null, null, null, null, null,
- /* ~ morekeys_y */
+ null, null, null, null, null,
+ /* ~ morekeys_s */
// U+FDFC: "﷼" RIAL SIGN
/* keyspec_currency */ "\uFDFC",
- /* morekeys_d ~ */
+ /* morekeys_y ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null,
+ null, null, null, null, null,
/* ~ morekeys_cyrillic_soft_sign */
// U+06F1: "۱" EXTENDED ARABIC-INDIC DIGIT ONE
/* keyspec_symbols_1 */ "\u06F1",
@@ -1662,7 +1662,7 @@ public final class KeyboardTextsTable {
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
// U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
/* morekeys_s */ "\u0161,\u00DF,\u015B",
- /* morekeys_y ~ */
+ /* keyspec_currency ~ */
null, null, null,
/* ~ morekeys_d */
// U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
@@ -1737,14 +1737,14 @@ public final class KeyboardTextsTable {
// U+010D: "č" LATIN SMALL LETTER C WITH CARON
/* morekeys_c */ "\u00E7,%,\u0107,\u010D",
/* double_quotes ~ */
- null, null, null, null,
- /* ~ morekeys_s */
+ null, null, null, null, null,
+ /* ~ keyspec_currency */
// U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
/* morekeys_y */ "%,\u00FF",
- /* keyspec_currency ~ */
+ /* morekeys_d ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null, null,
/* ~ keyspec_tablet_comma */
// U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
/* keyspec_swiss_row1_11 */ "\u00E8",
@@ -1826,13 +1826,13 @@ public final class KeyboardTextsTable {
// U+0917: "ग" DEVANAGARI LETTER GA
/* keylabel_to_alpha */ "\u0915\u0916\u0917",
/* morekeys_c ~ */
- null, null, null, null, null, null,
- /* ~ morekeys_y */
+ null, null, null, null, null,
+ /* ~ morekeys_s */
// U+20B9: "₹" INDIAN RUPEE SIGN
/* keyspec_currency */ "\u20B9",
- /* morekeys_d ~ */
+ /* morekeys_y ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null,
+ null, null, null, null, null,
/* ~ morekeys_cyrillic_soft_sign */
// U+0967: "१" DEVANAGARI DIGIT ONE
/* keyspec_symbols_1 */ "\u0967",
@@ -1886,8 +1886,8 @@ public final class KeyboardTextsTable {
// U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
/* morekeys_s */ "\u0161,\u015B,\u00DF",
- /* morekeys_y */ null,
/* keyspec_currency */ null,
+ /* morekeys_y */ null,
// U+0111: "đ" LATIN SMALL LETTER D WITH STROKE
/* morekeys_d */ "\u0111",
// U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
@@ -2064,10 +2064,10 @@ public final class KeyboardTextsTable {
/* morekeys_n */ null,
/* single_quotes */ "!text/single_9qm_lqm",
/* morekeys_s */ null,
+ /* keyspec_currency */ null,
// U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
// U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
/* morekeys_y */ "\u00FD,\u00FF",
- /* keyspec_currency */ null,
// U+00F0: "ð" LATIN SMALL LETTER ETH
/* morekeys_d */ "\u00F0",
/* morekeys_z */ null,
@@ -2153,14 +2153,13 @@ public final class KeyboardTextsTable {
/* morekeys_n */ null,
/* single_quotes */ "!text/single_rqm_9qm",
/* morekeys_s */ null,
- /* morekeys_y */ null,
// U+20AA: "₪" NEW SHEQEL SIGN
/* keyspec_currency */ "\u20AA",
- /* morekeys_d ~ */
+ /* morekeys_y ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null,
+ null, null, null, null, null,
/* ~ morekeys_swiss_row2_11 */
// U+2605: "★" BLACK STAR
/* morekeys_star */ "\u2605",
@@ -2305,8 +2304,8 @@ public final class KeyboardTextsTable {
// U+0CA1: "ಡ" KANNADA LETTER DDA
/* keylabel_to_alpha */ "\u0C95\u0CA8\u0CCD\u0CA8\u0CA1",
/* morekeys_c ~ */
- null, null, null, null, null, null,
- /* ~ morekeys_y */
+ null, null, null, null, null,
+ /* ~ morekeys_s */
// U+20B9: "₹" INDIAN RUPEE SIGN
/* keyspec_currency */ "\u20B9",
};
@@ -2366,8 +2365,8 @@ public final class KeyboardTextsTable {
// U+0E84: "ຄ" LAO LETTER KHO TAM
/* keylabel_to_alpha */ "\u0E81\u0E82\u0E84",
/* morekeys_c ~ */
- null, null, null, null, null, null,
- /* ~ morekeys_y */
+ null, null, null, null, null,
+ /* ~ morekeys_s */
// U+20AD: "₭" KIP SIGN
/* keyspec_currency */ "\u20AD",
};
@@ -2436,10 +2435,10 @@ public final class KeyboardTextsTable {
// U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
// U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA
/* morekeys_s */ "\u0161,\u00DF,\u015B,\u015F",
+ /* keyspec_currency */ null,
// U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
// U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
/* morekeys_y */ "\u00FD,\u00FF",
- /* keyspec_currency */ null,
// U+010F: "ď" LATIN SMALL LETTER D WITH CARON
/* morekeys_d */ "\u010F",
// U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
@@ -2530,10 +2529,10 @@ public final class KeyboardTextsTable {
// U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
// U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA
/* morekeys_s */ "\u0161,\u00DF,\u015B,\u015F",
+ /* keyspec_currency */ null,
// U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
// U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
/* morekeys_y */ "\u00FD,\u00FF",
- /* keyspec_currency */ null,
// U+010F: "ď" LATIN SMALL LETTER D WITH CARON
/* morekeys_d */ "\u010F",
// U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
@@ -2608,8 +2607,8 @@ public final class KeyboardTextsTable {
// U+0D05: "അ" MALAYALAM LETTER A
/* keylabel_to_alpha */ "\u0D05",
/* morekeys_c ~ */
- null, null, null, null, null, null,
- /* ~ morekeys_y */
+ null, null, null, null, null,
+ /* ~ morekeys_s */
// U+20B9: "₹" INDIAN RUPEE SIGN
/* keyspec_currency */ "\u20B9",
};
@@ -2625,8 +2624,8 @@ public final class KeyboardTextsTable {
// U+0412: "В" CYRILLIC CAPITAL LETTER VE
/* keylabel_to_alpha */ "\u0410\u0411\u0412",
/* morekeys_c ~ */
- null, null, null, null, null, null,
- /* ~ morekeys_y */
+ null, null, null, null, null,
+ /* ~ morekeys_s */
// U+20AE: "₮" TUGRIK SIGN
/* keyspec_currency */ "\u20AE",
};
@@ -2642,13 +2641,13 @@ public final class KeyboardTextsTable {
// U+0917: "ग" DEVANAGARI LETTER GA
/* keylabel_to_alpha */ "\u0915\u0916\u0917",
/* morekeys_c ~ */
- null, null, null, null, null, null,
- /* ~ morekeys_y */
+ null, null, null, null, null,
+ /* ~ morekeys_s */
// U+20B9: "₹" INDIAN RUPEE SIGN
/* keyspec_currency */ "\u20B9",
- /* morekeys_d ~ */
+ /* morekeys_y ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null,
+ null, null, null, null, null,
/* ~ morekeys_cyrillic_soft_sign */
// U+0967: "१" DEVANAGARI DIGIT ONE
/* keyspec_symbols_1 */ "\u0967",
@@ -2789,13 +2788,13 @@ public final class KeyboardTextsTable {
// U+0917: "ग" DEVANAGARI LETTER GA
/* keylabel_to_alpha */ "\u0915\u0916\u0917",
/* morekeys_c ~ */
- null, null, null, null, null, null,
- /* ~ morekeys_y */
+ null, null, null, null, null,
+ /* ~ morekeys_s */
// U+0930/U+0941/U+002E "रु." NEPALESE RUPEE SIGN
/* keyspec_currency */ "\u0930\u0941.",
- /* morekeys_d ~ */
+ /* morekeys_y ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null,
+ null, null, null, null, null,
/* ~ morekeys_cyrillic_soft_sign */
// U+0967: "१" DEVANAGARI DIGIT ONE
/* keyspec_symbols_1 */ "\u0967",
@@ -2881,6 +2880,7 @@ public final class KeyboardTextsTable {
/* morekeys_n */ "\u00F1,\u0144",
/* single_quotes */ "!text/single_9qm_rqm",
/* morekeys_s */ null,
+ /* keyspec_currency */ null,
// U+0133: "ij" LATIN SMALL LIGATURE IJ
/* morekeys_y */ "\u0133",
};
@@ -2930,7 +2930,7 @@ public final class KeyboardTextsTable {
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
/* morekeys_s */ "\u015B,\u00DF,\u0161",
- /* morekeys_y ~ */
+ /* keyspec_currency ~ */
null, null, null,
/* ~ morekeys_d */
// U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
@@ -3036,7 +3036,7 @@ public final class KeyboardTextsTable {
// U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
/* morekeys_s */ "\u0219,\u00DF,\u015B,\u0161",
- /* morekeys_y ~ */
+ /* keyspec_currency ~ */
null, null, null, null,
/* ~ morekeys_z */
// U+021B: "ț" LATIN SMALL LETTER T WITH COMMA BELOW
@@ -3152,10 +3152,10 @@ public final class KeyboardTextsTable {
// U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
// U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA
/* morekeys_s */ "\u0161,\u00DF,\u015B,\u015F",
+ /* keyspec_currency */ null,
// U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
// U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
/* morekeys_y */ "\u00FD,\u00FF",
- /* keyspec_currency */ null,
// U+010F: "ď" LATIN SMALL LETTER D WITH CARON
/* morekeys_d */ "\u010F",
// U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
@@ -3196,8 +3196,8 @@ public final class KeyboardTextsTable {
/* single_quotes */ "!text/single_9qm_lqm",
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
/* morekeys_s */ "\u0161",
- /* morekeys_y */ null,
/* keyspec_currency */ null,
+ /* morekeys_y */ null,
// U+0111: "đ" LATIN SMALL LETTER D WITH STROKE
/* morekeys_d */ "\u0111",
// U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
@@ -3317,10 +3317,10 @@ public final class KeyboardTextsTable {
// U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
/* morekeys_s */ "\u015B,\u0161,\u015F,\u00DF",
+ /* keyspec_currency */ null,
// U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
// U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
/* morekeys_y */ "\u00FD,\u00FF",
- /* keyspec_currency */ null,
// U+00F0: "ð" LATIN SMALL LETTER ETH
// U+010F: "ď" LATIN SMALL LETTER D WITH CARON
/* morekeys_d */ "\u00F0,\u010F",
@@ -3405,7 +3405,7 @@ public final class KeyboardTextsTable {
/* single_quotes */ null,
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
/* morekeys_s */ "\u00DF",
- /* morekeys_y ~ */
+ /* keyspec_currency ~ */
null, null, null, null, null, null,
/* ~ morekeys_l */
/* morekeys_g */ "g\'",
@@ -3422,12 +3422,29 @@ public final class KeyboardTextsTable {
// U+0BB4/U+0BCD: "ழ்" TAMIL LETTER LLLA/TAMIL SIGN VIRAMA
/* keylabel_to_alpha */ "\u0BA4\u0BAE\u0BBF\u0BB4\u0BCD",
/* morekeys_c ~ */
- null, null, null, null, null, null,
- /* ~ morekeys_y */
+ null, null, null, null, null,
+ /* ~ morekeys_s */
// U+0BF9: "௹" TAMIL RUPEE SIGN
/* keyspec_currency */ "\u0BF9",
};
+ /* Locale te_IN: Telugu (India) */
+ private static final String[] TEXTS_te_IN = {
+ /* morekeys_a ~ */
+ null, null, null, null, null,
+ /* ~ morekeys_i */
+ // Label for "switch to alphabetic" key.
+ // U+0C24/U+0C46: "తె" TELUGU LETTER TA/TELUGU VOWEL SIGN E
+ // U+0C32/U+0C41: "లు" TELUGU LETTER LA/TELUGU VOWEL SIGN U
+ // U+0C17/U+0C41: "గు" TELUGU LETTER GA/TELUGU VOWEL SIGN U
+ /* keylabel_to_alpha */ "\u0C24\u0C46\u0C32\u0C41\u0C17\u0C41",
+ /* morekeys_c ~ */
+ null, null, null, null, null,
+ /* ~ morekeys_s */
+ // U+20B9: "₹" INDIAN RUPEE SIGN
+ /* keyspec_currency */ "\u20B9",
+ };
+
/* Locale th: Thai */
private static final String[] TEXTS_th = {
/* morekeys_a ~ */
@@ -3439,8 +3456,8 @@ public final class KeyboardTextsTable {
// U+0E04: "ค" THAI CHARACTER KHO KHWAI
/* keylabel_to_alpha */ "\u0E01\u0E02\u0E04",
/* morekeys_c ~ */
- null, null, null, null, null, null,
- /* ~ morekeys_y */
+ null, null, null, null, null,
+ /* ~ morekeys_s */
// U+0E3F: "฿" THAI CURRENCY SYMBOL BAHT
/* keyspec_currency */ "\u0E3F",
};
@@ -3541,7 +3558,7 @@ public final class KeyboardTextsTable {
// U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
/* morekeys_s */ "\u015F,\u00DF,\u015B,\u0161",
- /* morekeys_y ~ */
+ /* keyspec_currency ~ */
null, null, null, null, null, null,
/* ~ morekeys_l */
// U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
@@ -3563,11 +3580,10 @@ public final class KeyboardTextsTable {
/* morekeys_n */ null,
/* single_quotes */ "!text/single_9qm_lqm",
/* morekeys_s */ null,
- /* morekeys_y */ null,
// U+20B4: "₴" HRYVNIA SIGN
/* keyspec_currency */ "\u20B4",
- /* morekeys_d ~ */
- null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+ /* morekeys_y ~ */
+ null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
/* ~ morekeys_nordic_row2_10 */
// U+0449: "щ" CYRILLIC SMALL LETTER SHCHA
/* keyspec_east_slavic_row1_9 */ "\u0449",
@@ -3664,14 +3680,14 @@ public final class KeyboardTextsTable {
/* keylabel_to_alpha ~ */
null, null, null, null, null, null,
/* ~ morekeys_s */
+ // U+20AB: "₫" DONG SIGN
+ /* keyspec_currency */ "\u20AB",
// U+1EF3: "ỳ" LATIN SMALL LETTER Y WITH GRAVE
// U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
// U+1EF7: "ỷ" LATIN SMALL LETTER Y WITH HOOK ABOVE
// U+1EF9: "ỹ" LATIN SMALL LETTER Y WITH TILDE
// U+1EF5: "ỵ" LATIN SMALL LETTER Y WITH DOT BELOW
/* morekeys_y */ "\u1EF3,\u00FD,\u1EF7,\u1EF9,\u1EF5",
- // U+20AB: "₫" DONG SIGN
- /* keyspec_currency */ "\u20AB",
// U+0111: "đ" LATIN SMALL LETTER D WITH STROKE
/* morekeys_d */ "\u0111",
};
@@ -3807,12 +3823,12 @@ public final class KeyboardTextsTable {
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
// U+017F: "ſ" LATIN SMALL LETTER LONG S
/* morekeys_s */ "\u00DF,\u015B,\u015D,\u015F,\u0161,\u017F",
+ /* keyspec_currency */ null,
// U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
// U+0177: "ŷ" LATIN SMALL LETTER Y WITH CIRCUMFLEX
// U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
// U+0133: "ij" LATIN SMALL LIGATURE IJ
/* morekeys_y */ "\u00FD,\u0177,\u00FF,\u0133",
- /* keyspec_currency */ null,
// U+010F: "ď" LATIN SMALL LETTER D WITH CARON
// U+0111: "đ" LATIN SMALL LETTER D WITH STROKE
// U+00F0: "ð" LATIN SMALL LETTER ETH
@@ -3867,12 +3883,12 @@ public final class KeyboardTextsTable {
private static final Object[] LOCALES_AND_TEXTS = {
// "locale", TEXT_ARRAY, /* numberOfNonNullText/lengthOf_TEXT_ARRAY localeName */
"DEFAULT", TEXTS_DEFAULT, /* 168/168 DEFAULT */
- "af" , TEXTS_af, /* 7/ 12 Afrikaans */
+ "af" , TEXTS_af, /* 7/ 13 Afrikaans */
"ar" , TEXTS_ar, /* 55/110 Arabic */
"az_AZ" , TEXTS_az_AZ, /* 8/ 18 Azerbaijani (Azerbaijan) */
"be_BY" , TEXTS_be_BY, /* 9/ 32 Belarusian (Belarus) */
"bg" , TEXTS_bg, /* 2/ 8 Bulgarian */
- "bn_IN" , TEXTS_bn_IN, /* 2/ 13 Bengali (India) */
+ "bn_IN" , TEXTS_bn_IN, /* 2/ 12 Bengali (India) */
"ca" , TEXTS_ca, /* 11/ 96 Catalan */
"cs" , TEXTS_cs, /* 17/ 21 Czech */
"da" , TEXTS_da, /* 19/ 54 Danish */
@@ -3897,19 +3913,19 @@ public final class KeyboardTextsTable {
"ka_GE" , TEXTS_ka_GE, /* 3/ 10 Georgian (Georgia) */
"kk" , TEXTS_kk, /* 15/121 Kazakh */
"km_KH" , TEXTS_km_KH, /* 2/122 Khmer (Cambodia) */
- "kn_IN" , TEXTS_kn_IN, /* 2/ 13 Kannada (India) */
+ "kn_IN" , TEXTS_kn_IN, /* 2/ 12 Kannada (India) */
"ky" , TEXTS_ky, /* 10/ 89 Kirghiz */
- "lo_LA" , TEXTS_lo_LA, /* 2/ 13 Lao (Laos) */
+ "lo_LA" , TEXTS_lo_LA, /* 2/ 12 Lao (Laos) */
"lt" , TEXTS_lt, /* 18/ 22 Lithuanian */
"lv" , TEXTS_lv, /* 18/ 22 Latvian */
"mk" , TEXTS_mk, /* 9/ 94 Macedonian */
- "ml_IN" , TEXTS_ml_IN, /* 2/ 13 Malayalam (India) */
- "mn_MN" , TEXTS_mn_MN, /* 2/ 13 Mongolian (Mongolia) */
+ "ml_IN" , TEXTS_ml_IN, /* 2/ 12 Malayalam (India) */
+ "mn_MN" , TEXTS_mn_MN, /* 2/ 12 Mongolian (Mongolia) */
"mr_IN" , TEXTS_mr_IN, /* 23/ 53 Marathi (India) */
"my_MM" , TEXTS_my_MM, /* 8/104 Burmese (Myanmar) */
"nb" , TEXTS_nb, /* 11/ 54 Norwegian Bokmål */
"ne_NP" , TEXTS_ne_NP, /* 23/ 53 Nepali (Nepal) */
- "nl" , TEXTS_nl, /* 9/ 12 Dutch */
+ "nl" , TEXTS_nl, /* 9/ 13 Dutch */
"pl" , TEXTS_pl, /* 10/ 17 Polish */
"pt" , TEXTS_pt, /* 6/ 7 Portuguese */
"rm" , TEXTS_rm, /* 1/ 2 Raeto-Romance */
@@ -3921,8 +3937,9 @@ public final class KeyboardTextsTable {
"sr" , TEXTS_sr, /* 11/ 94 Serbian */
"sv" , TEXTS_sv, /* 21/ 54 Swedish */
"sw" , TEXTS_sw, /* 9/ 18 Swahili */
- "ta_IN" , TEXTS_ta_IN, /* 2/ 13 Tamil (India) */
- "th" , TEXTS_th, /* 2/ 13 Thai */
+ "ta_IN" , TEXTS_ta_IN, /* 2/ 12 Tamil (India) */
+ "te_IN" , TEXTS_te_IN, /* 2/ 12 Telugu (India) */
+ "th" , TEXTS_th, /* 2/ 12 Thai */
"tl" , TEXTS_tl, /* 7/ 9 Tagalog */
"tr" , TEXTS_tr, /* 7/ 18 Turkish */
"uk" , TEXTS_uk, /* 11/ 88 Ukrainian */
diff --git a/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetSubtypesCountTests.java b/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetSubtypesCountTests.java
index 6b0652c59..eb67bc134 100644
--- a/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetSubtypesCountTests.java
+++ b/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetSubtypesCountTests.java
@@ -25,7 +25,7 @@ import java.util.ArrayList;
@SmallTest
public class KeyboardLayoutSetSubtypesCountTests extends KeyboardLayoutSetTestsBase {
- private static final int NUMBER_OF_SUBTYPES = 76;
+ private static final int NUMBER_OF_SUBTYPES = 77;
private static final int NUMBER_OF_ASCII_CAPABLE_SUBTYPES = 45;
private static final int NUMBER_OF_PREDEFINED_ADDITIONAL_SUBTYPES = 2;
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Telugu.java b/tests/src/com/android/inputmethod/keyboard/layout/Telugu.java
new file mode 100644
index 000000000..f5d8d4148
--- /dev/null
+++ b/tests/src/com/android/inputmethod/keyboard/layout/Telugu.java
@@ -0,0 +1,189 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.inputmethod.keyboard.layout;
+
+import com.android.inputmethod.keyboard.layout.expected.ExpectedKey;
+import com.android.inputmethod.keyboard.layout.expected.ExpectedKeyboardBuilder;
+import com.android.inputmethod.latin.Constants;
+
+import java.util.Locale;
+
+/**
+ * The Telugu keyboard.
+ */
+public final class Telugu extends LayoutBase {
+ private static final String LAYOUT_NAME = "telugu";
+
+ public Telugu(final LayoutCustomizer customizer) {
+ super(customizer, Symbols.class, SymbolsShifted.class);
+ }
+
+ @Override
+ public String getName() { return LAYOUT_NAME; }
+
+ public static class TeluguCustomizer extends LayoutCustomizer {
+ public TeluguCustomizer(final Locale locale) { super(locale); }
+
+ @Override
+ public ExpectedKey getAlphabetKey() { return TELUGU_ALPHABET_KEY; }
+
+ @Override
+ public ExpectedKey getCurrencyKey() { return CURRENCY_RUPEE; }
+
+ @Override
+ public ExpectedKey[] getOtherCurrencyKeys() {
+ return SymbolsShifted.CURRENCIES_OTHER_GENERIC;
+ }
+
+ @Override
+ public ExpectedKey[] getLeftShiftKeys(final boolean isPhone) {
+ return EMPTY_KEYS;
+ }
+
+ @Override
+ public ExpectedKey[] getRightShiftKeys(final boolean isPhone) {
+ return isPhone ? EMPTY_KEYS : EXCLAMATION_AND_QUESTION_MARKS;
+ }
+
+ @Override
+ public ExpectedKey[] getSpaceKeys(final boolean isPhone) {
+ return joinKeys(LANGUAGE_SWITCH_KEY, SPACE_KEY, key(ZWNJ_KEY, ZWJ_KEY));
+ }
+
+ // U+0C24/U+0C46: "తె" TELUGU LETTER TA/TELUGU VOWEL SIGN E
+ // U+0C32/U+0C41: "లు" TELUGU LETTER LA/TELUGU VOWEL SIGN U
+ // U+0C17/U+0C41: "గు" TELUGU LETTER GA/TELUGU VOWEL SIGN U
+ private static final ExpectedKey TELUGU_ALPHABET_KEY = key(
+ "\u0C24\u0C46\u0C32\u0C41\u0C17\u0C41", Constants.CODE_SWITCH_ALPHA_SYMBOL);
+
+ // U+20B9: "₹" INDIAN RUPEE SIGN
+ private static final ExpectedKey CURRENCY_RUPEE = key("\u20B9",
+ Symbols.CURRENCY_GENERIC_MORE_KEYS);
+ }
+
+ @Override
+ ExpectedKey[][] getCommonAlphabetLayout(boolean isPhone) { return ALPHABET_COMMON; }
+
+ @Override
+ ExpectedKey[][] getCommonAlphabetShiftLayout(boolean isPhone, final int elementId) {
+ return null;
+ }
+
+ private static final ExpectedKey[][] ALPHABET_COMMON = new ExpectedKeyboardBuilder()
+ .setKeysOfRow(1,
+ // U+0C4C: "ౌ" TELUGU VOWEL SIGN AU
+ // U+0C14: "ఔ" TELUGU LETTER AU
+ key("\u0C4C", joinMoreKeys("\u0C14", "1")),
+ // U+0C48: "ై" TELUGU VOWEL SIGN AI
+ // U+0C10: "ఐ" TELUGU LETTER AI
+ key("\u0C48", joinMoreKeys("\u0C10", "2")),
+ // U+0C3E: "ా" TELUGU VOWEL SIGN AA
+ // U+0C06: "ఆ" TELUGU LETTER AA
+ key("\u0C3E", joinMoreKeys("\u0C06", "3")),
+ // U+0C40: "ీ" TELUGU VOWEL SIGN II
+ // U+0C08: "ఈ" TELUGU LETTER II
+ key("\u0C40", joinMoreKeys("\u0C08", "4")),
+ // U+0C42: "ూ" TELUGU VOWEL SIGN UU
+ // U+0C0A: "ఊ" TELUGU LETTER UU
+ key("\u0C42", joinMoreKeys("\u0C0A", "5")),
+ // U+0C2C: "బ" TELUGU LETTER BA
+ // U+0C2D: "భ" TELUGU LETTER BHA
+ key("\u0C2C", joinMoreKeys("\u0C2D", "6")),
+ // U+0C39: "హ" TELUGU LETTER HA
+ // U+0C03: "ః" TELUGU SIGN VISARGA
+ key("\u0C39", joinMoreKeys("\u0C03", "7")),
+ // U+0C17: "గ" TELUGU LETTER GA
+ // U+0C18: "ఘ" TELUGU LETTER GHA
+ key("\u0C17", joinMoreKeys("\u0C18", "8")),
+ // U+0C26: "ద" TELUGU LETTER DA
+ // U+0C27: "ధ" TELUGU LETTER DHA
+ key("\u0C26", joinMoreKeys("\u0C27", "9")),
+ // U+0C1C: "జ" TELUGU LETTER JA
+ // U+0C1D: "ఝ" TELUGU LETTER JHA
+ key("\u0C1C", joinMoreKeys("\u0C1D", "0")),
+ // U+0C21: "డ" TELUGU LETTER DDA
+ // U+0C22: "ఢ" TELUGU LETTER DDHA
+ key("\u0C21", moreKey("\u0C22")))
+ .setKeysOfRow(2,
+ // U+0C4B: "ో" TELUGU VOWEL SIGN OO
+ // U+0C13: "ఓ" TELUGU LETTER OO
+ key("\u0C4B", moreKey("\u0C13")),
+ // U+0C47: "ే" TELUGU VOWEL SIGN EE
+ // U+0C0F: "ఏ" TELUGU LETTER EE
+ key("\u0C47", moreKey("\u0C0F")),
+ // U+0C4D: "్" TELUGU SIGN VIRAMA
+ // U+0C05: "అ" TELUGU LETTER A
+ key("\u0C4D", moreKey("\u0C05")),
+ // U+0C3F: "ి" TELUGU VOWEL SIGN I
+ // U+0C07: "ఇ" TELUGU LETTER I
+ key("\u0C3F", moreKey("\u0C07")),
+ // U+0C41: "ు" TELUGU VOWEL SIGN U
+ // U+0C09: "ఉ" TELUGU LETTER U
+ key("\u0C41", moreKey("\u0C09")),
+ // U+0C2A: "ప" TELUGU LETTER PA
+ // U+0C2B: "ఫ" TELUGU LETTER PHA
+ key("\u0C2A", moreKey("\u0C2B")),
+ // U+0C30: "ర" TELUGU LETTER RA
+ // U+0C31: "ఱ" TELUGU LETTER RRA
+ // U+0C43: "ృ" TELUGU VOWEL SIGN VOCALIC R
+ key("\u0C30", joinMoreKeys("\u0C31", "\u0C43")),
+ // U+0C15: "క" TELUGU LETTER KA
+ // U+0C16: "ఖ" TELUGU LETTER KHA
+ key("\u0C15", moreKey("\u0C16")),
+ // U+0C24: "త" TELUGU LETTER TA
+ // U+0C25: "థ" TELUGU LETTER THA
+ key("\u0C24", moreKey("\u0C25")),
+ // U+0C1A: "చ" TELUGU LETTER CA
+ // U+0C1B: "ఛ" TELUGU LETTER CHA
+ key("\u0C1A", moreKey("\u0C1B")),
+ // U+0C1F: "ట" TELUGU LETTER TTA
+ // U+0C20: "ఠ" TELUGU LETTER TTHA
+ key("\u0C1F", moreKey("\u0C20")))
+ .setKeysOfRow(3,
+ // U+0C46: "ె" TELUGU VOWEL SIGN E
+ // U+0C12: "ఒ" TELUGU LETTER O
+ key("\u0C46", moreKey("\u0C12")),
+ // U+0C02: "ం" TELUGU SIGN ANUSVARA
+ // U+0C0E: "ఎ" TELUGU LETTER E
+ key("\u0C02", moreKey("\u0C0E")),
+ // U+0C2E: "మ" TELUGU LETTER MA
+ "\u0C2E",
+ // U+0C28: "న" TELUGU LETTER NA
+ // U+0C23: "ణ" TELUGU LETTER NNA
+ // U+0C19: "ఙ" TELUGU LETTER NGA
+ key("\u0C28", joinMoreKeys("\u0C23", "\u0C19")),
+ // U+0C35: "వ" TELUGU LETTER VA
+ "\u0C35",
+ // U+0C32: "ల" TELUGU LETTER LA
+ // U+0C33: "ళ" TELUGU LETTER LLA
+ key("\u0C32", moreKey("\u0C33")),
+ // U+0C38: "స" TELUGU LETTER SA
+ // U+0C36: "శ" TELUGU LETTER SHA
+ key("\u0C38", moreKey("\u0C36")),
+ // U+0C0B: "ఋ" TELUGU LETTER VOCALIC R
+ // U+0C4D/U+0C30: "్ర" TELUGU SIGN VIRAMA/TELUGU LETTER RA
+ key("\u0C0B", moreKey("\u0C4D\u0C30")),
+ // U+0C37: "ష" TELUGU LETTER SSA
+ // U+0C15/U+0C4D/U+0C37:
+ // "క్ష" TELUGU LETTER KA/TELUGU SIGN VIRAMA/TELUGU LETTER SSA
+ key("\u0C37", moreKey("\u0C15\u0C4D\u0C37")),
+ // U+0C2F: "య" TELUGU LETTER YA
+ // U+0C1C/U+0C4D/U+0C1E:
+ // "జ్ఞ" TELUGU LETTER JA/TELUGU SIGN VIRAMA/TELUGU LETTER NYA
+ key("\u0C2F", moreKey("\u0C1C\u0C4D\u0C1E")))
+ .build();
+}
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsTeluguIN.java b/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsTeluguIN.java
new file mode 100644
index 000000000..04996d9aa
--- /dev/null
+++ b/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsTeluguIN.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.inputmethod.keyboard.layout.tests;
+
+import android.test.suitebuilder.annotation.SmallTest;
+
+import com.android.inputmethod.keyboard.layout.LayoutBase;
+import com.android.inputmethod.keyboard.layout.Telugu;
+import com.android.inputmethod.keyboard.layout.Telugu.TeluguCustomizer;
+
+import java.util.Locale;
+
+/**
+ * te_IN: Telugu (India)/telugu
+ */
+@SmallTest
+public final class TestsTeluguIN extends LayoutTestsBase {
+ private static final Locale LOCALE = new Locale("te", "IN");
+ private static final LayoutBase LAYOUT = new Telugu(new TeluguCustomizer(LOCALE));
+
+ @Override
+ LayoutBase getLayout() { return LAYOUT; }
+}
diff --git a/tools/make-keyboard-text/res/values-te-rIN/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-te-rIN/donottranslate-more-keys.xml
new file mode 100644
index 000000000..7fa769d06
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-te-rIN/donottranslate-more-keys.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- Label for "switch to alphabetic" key.
+ U+0C24/U+0C46: "తె" TELUGU LETTER TA/TELUGU VOWEL SIGN E
+ U+0C32/U+0C41: "లు" TELUGU LETTER LA/TELUGU VOWEL SIGN U
+ U+0C17/U+0C41: "గు" TELUGU LETTER GA/TELUGU VOWEL SIGN U -->
+ <string name="keylabel_to_alpha">&#x0C24;&#x0C46;&#x0C32;&#x0C41;&#x0C17;&#x0C41;</string>
+ <!-- U+20B9: "₹" INDIAN RUPEE SIGN -->
+ <string name="keyspec_currency">&#x20B9;</string>
+</resources>