aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--java/res/values/strings.xml4
-rw-r--r--java/res/xml-v16/keystyle_devanagari_sign_anusvara.xml (renamed from java/res/xml-v16/key_devanagari_sign_anusvara.xml)3
-rw-r--r--java/res/xml-v16/keystyle_devanagari_sign_candrabindu.xml (renamed from java/res/xml-v16/key_devanagari_sign_candrabindu.xml)5
-rw-r--r--java/res/xml-v16/keystyle_devanagari_sign_nukta.xml (renamed from java/res/xml-v16/key_devanagari_sign_nukta.xml)13
-rw-r--r--java/res/xml-v16/keystyle_devanagari_vowel_sign_candra_o.xml (renamed from java/res/xml-v16/key_devanagari_vowel_sign_candra_o.xml)3
-rw-r--r--java/res/xml-v16/keystyle_devanagari_vowel_sign_vocalic_r.xml (renamed from java/res/xml-v16/key_devanagari_vowel_sign_vocalic_r.xml)5
-rw-r--r--java/res/xml/keystyle_devanagari_sign_anusvara.xml (renamed from java/res/xml/key_devanagari_sign_anusvara.xml)3
-rw-r--r--java/res/xml/keystyle_devanagari_sign_candrabindu.xml (renamed from java/res/xml/key_devanagari_sign_candrabindu.xml)5
-rw-r--r--java/res/xml/keystyle_devanagari_sign_nukta.xml (renamed from java/res/xml/key_devanagari_sign_nukta.xml)14
-rw-r--r--java/res/xml/keystyle_devanagari_vowel_sign_candra_o.xml (renamed from java/res/xml/key_devanagari_vowel_sign_candra_o.xml)3
-rw-r--r--java/res/xml/keystyle_devanagari_vowel_sign_vocalic_r.xml (renamed from java/res/xml/key_devanagari_vowel_sign_vocalic_r.xml)5
-rw-r--r--java/res/xml/method.xml2
-rw-r--r--java/res/xml/rowkeys_hindi1.xml10
-rw-r--r--java/res/xml/rowkeys_hindi3.xml25
-rw-r--r--java/res/xml/rowkeys_nepali_romanized1.xml24
-rw-r--r--java/res/xml/rowkeys_nepali_romanized3.xml8
-rw-r--r--java/res/xml/rowkeys_nepali_traditional1.xml4
-rw-r--r--java/res/xml/rowkeys_nepali_traditional2.xml4
-rw-r--r--java/res/xml/rowkeys_nepali_traditional3_right3.xml8
-rw-r--r--java/res/xml/rowkeys_nepali_traditional3_right5.xml6
-rw-r--r--native/jni/HostUnitTests.mk7
-rw-r--r--tests/src/com/android/inputmethod/keyboard/layout/DevanagariLetterConstants.java75
-rw-r--r--tests/src/com/android/inputmethod/keyboard/layout/Hindi.java55
-rw-r--r--tests/src/com/android/inputmethod/keyboard/layout/NepaliRomanized.java38
-rw-r--r--tests/src/com/android/inputmethod/keyboard/layout/NepaliTraditional.java47
25 files changed, 285 insertions, 91 deletions
diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml
index e38bdd64e..494bfbd2b 100644
--- a/java/res/values/strings.xml
+++ b/java/res/values/strings.xml
@@ -358,9 +358,9 @@
(US) should be an abbreviation of United Statesn to fit in the CHAR LIMIT.
This should be identical to subtype_es_US aside from the trailing (%s). -->
<string name="subtype_with_layout_es_US">Spanish (US) (<xliff:g id="KEYBOARD_LAYOUT" example="QWERTY">%s</xliff:g>)</string>
- <!-- Description for Nepali (Traditional) keyboard subtype [CHAR LIMIT=25]
+ <!-- Description for "LANGUAGE_NAME" (Traditional) keyboard subtype [CHAR LIMIT=25]
(Traditional) can be an abbreviation to fit in the CHAR LIMIT. -->
- <string name="subtype_nepali_traditional"><xliff:g id="LANGUAGE_NAME" example="Nepali">%s</xliff:g> (Traditional)</string>
+ <string name="subtype_generic_traditional"><xliff:g id="LANGUAGE_NAME" example="Nepali">%s</xliff:g> (Traditional)</string>
<!-- TODO: Uncomment once we can handle IETF language tag with script name specified.
Description for Serbian Cyrillic keyboard subtype [CHAR LIMIT=25]
(Cyrillic) can be an abbreviation to fit in the CHAR LIMIT.
diff --git a/java/res/xml-v16/key_devanagari_sign_anusvara.xml b/java/res/xml-v16/keystyle_devanagari_sign_anusvara.xml
index ee0f21dad..10b1426ba 100644
--- a/java/res/xml-v16/key_devanagari_sign_anusvara.xml
+++ b/java/res/xml-v16/keystyle_devanagari_sign_anusvara.xml
@@ -26,7 +26,8 @@
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
<!-- U+0902: "ं" DEVANAGARI SIGN ANUSVARA -->
- <Key
+ <key-style
+ latin:styleName="baseKeyDevanagariSignAnusvara"
latin:keySpec="&#x0902;"
latin:keyLabelFlags="fontNormal" />
</merge>
diff --git a/java/res/xml-v16/key_devanagari_sign_candrabindu.xml b/java/res/xml-v16/keystyle_devanagari_sign_candrabindu.xml
index f24612031..6198d01a9 100644
--- a/java/res/xml-v16/key_devanagari_sign_candrabindu.xml
+++ b/java/res/xml-v16/keystyle_devanagari_sign_candrabindu.xml
@@ -40,8 +40,9 @@
</default>
</switch>
<!-- U+0901: "ँ" DEVANAGARI SIGN CANDRABINDU -->
- <Key
- latin:keyStyle="moreKeysDevanagariSignCandrabindu"
+ <key-style
+ latin:styleName="baseKeyDevanagariSignCandrabindu"
+ latin:parentStyle="moreKeysDevanagariSignCandrabindu"
latin:keySpec="&#x0901;"
latin:keyLabelFlags="fontNormal" />
</merge>
diff --git a/java/res/xml-v16/key_devanagari_sign_nukta.xml b/java/res/xml-v16/keystyle_devanagari_sign_nukta.xml
index 915779524..e0b47bb6f 100644
--- a/java/res/xml-v16/key_devanagari_sign_nukta.xml
+++ b/java/res/xml-v16/keystyle_devanagari_sign_nukta.xml
@@ -36,14 +36,23 @@
latin:styleName="moreKeysDevanagariSignNukta"
latin:moreKeys="&#x097D;,&#x0970;,&#x093D;" />
</case>
+ <case
+ latin:keyboardLayoutSet="nepali_romanized"
+ >
+ <!-- U+093C: "़" DEVANAGARI SIGN NUKTA -->
+ <key-style
+ latin:styleName="moreKeysDevanagariSignNukta"
+ latin:moreKeys="&#x093C;" />
+ </case>
<default>
<key-style
latin:styleName="moreKeysDevanagariSignNukta" />
</default>
</switch>
<!-- U+093C: "़" DEVANAGARI SIGN NUKTA -->
- <Key
- latin:keyStyle="moreKeysDevanagariSignNukta"
+ <key-style
+ latin:styleName="baseKeyDevanagariSignNukta"
+ latin:parentStyle="moreKeysDevanagariSignNukta"
latin:keySpec="&#x093C;"
latin:keyLabelFlags="fontNormal" />
</merge>
diff --git a/java/res/xml-v16/key_devanagari_vowel_sign_candra_o.xml b/java/res/xml-v16/keystyle_devanagari_vowel_sign_candra_o.xml
index 2f1739948..f7edae0ff 100644
--- a/java/res/xml-v16/key_devanagari_vowel_sign_candra_o.xml
+++ b/java/res/xml-v16/keystyle_devanagari_vowel_sign_candra_o.xml
@@ -26,7 +26,8 @@
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
<!-- U+0949: "ॉ" DEVANAGARI VOWEL SIGN CANDRA O -->
- <Key
+ <key-style
+ latin:styleName="baseKeyDevanagariVowelSignCandraO"
latin:keySpec="&#x0949;"
latin:keyLabelFlags="fontNormal" />
</merge>
diff --git a/java/res/xml-v16/key_devanagari_vowel_sign_vocalic_r.xml b/java/res/xml-v16/keystyle_devanagari_vowel_sign_vocalic_r.xml
index dc7a0e090..b49a97c84 100644
--- a/java/res/xml-v16/key_devanagari_vowel_sign_vocalic_r.xml
+++ b/java/res/xml-v16/keystyle_devanagari_vowel_sign_vocalic_r.xml
@@ -48,8 +48,9 @@
</default>
</switch>
<!-- U+0943: "ृ" DEVANAGARI VOWEL SIGN VOCALIC R -->
- <Key
- latin:keyStyle="moreKeysDevanagariVowelSignVocalicR"
+ <key-style
+ latin:styleName="baseKeyDevanagariVowelSignVocalicR"
+ latin:parentStyle="moreKeysDevanagariVowelSignVocalicR"
latin:keySpec="&#x0943;"
latin:keyLabelFlags="fontNormal" />
</merge>
diff --git a/java/res/xml/key_devanagari_sign_anusvara.xml b/java/res/xml/keystyle_devanagari_sign_anusvara.xml
index 5d7c01890..0486a5dda 100644
--- a/java/res/xml/key_devanagari_sign_anusvara.xml
+++ b/java/res/xml/keystyle_devanagari_sign_anusvara.xml
@@ -27,7 +27,8 @@
>
<!-- U+25CC: "◌" DOTTED CIRCLE
U+0902: "ं" DEVANAGARI SIGN ANUSVARA -->
- <Key
+ <key-style
+ latin:styleName="baseKeyDevanagariSignAnusvara"
latin:keySpec="&#x25CC;&#x0902;|&#x0902;"
latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
</merge>
diff --git a/java/res/xml/key_devanagari_sign_candrabindu.xml b/java/res/xml/keystyle_devanagari_sign_candrabindu.xml
index 9e9c371a7..24cb44ba8 100644
--- a/java/res/xml/key_devanagari_sign_candrabindu.xml
+++ b/java/res/xml/keystyle_devanagari_sign_candrabindu.xml
@@ -42,8 +42,9 @@
</switch>
<!-- U+25CC: "◌" DOTTED CIRCLE
U+0901: "ँ" DEVANAGARI SIGN CANDRABINDU -->
- <Key
- latin:keyStyle="moreKeysDevanagariSignCandrabindu"
+ <key-style
+ latin:styleName="baseKeyDevanagariSignCandrabindu"
+ latin:parentStyle="moreKeysDevanagariSignCandrabindu"
latin:keySpec="&#x25CC;&#x0901;|&#x0901;"
latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
</merge>
diff --git a/java/res/xml/key_devanagari_sign_nukta.xml b/java/res/xml/keystyle_devanagari_sign_nukta.xml
index b56eb0af3..41da555ce 100644
--- a/java/res/xml/key_devanagari_sign_nukta.xml
+++ b/java/res/xml/keystyle_devanagari_sign_nukta.xml
@@ -37,6 +37,15 @@
latin:styleName="moreKeysDevanagariSignNukta"
latin:moreKeys="&#x25CC;&#x097D;|&#x097D;,&#x25CC;&#x0970;|&#x0970;,&#x25CC;&#x093D;|&#x093D;" />
</case>
+ <case
+ latin:keyboardLayoutSet="nepali_romanized"
+ >
+ <!-- U+25CC: "◌" DOTTED CIRCLE
+ U+093C: "़" DEVANAGARI SIGN NUKTA -->
+ <key-style
+ latin:styleName="moreKeysDevanagariSignNukta"
+ latin:moreKeys="&#x25CC;&#x093C;|&#x093C;" />
+ </case>
<default>
<key-style
latin:styleName="moreKeysDevanagariSignNukta" />
@@ -44,8 +53,9 @@
</switch>
<!-- U+25CC: "◌" DOTTED CIRCLE
U+093C: "़" DEVANAGARI SIGN NUKTA -->
- <Key
- latin:keyStyle="moreKeysDevanagariSignNukta"
+ <key-style
+ latin:styleName="baseKeyDevanagariSignNukta"
+ latin:parentStyle="moreKeysDevanagariSignNukta"
latin:keySpec="&#x25CC;&#x093C;|&#x093C;"
latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
</merge>
diff --git a/java/res/xml/key_devanagari_vowel_sign_candra_o.xml b/java/res/xml/keystyle_devanagari_vowel_sign_candra_o.xml
index 6d7d000b3..e2c2cecf9 100644
--- a/java/res/xml/key_devanagari_vowel_sign_candra_o.xml
+++ b/java/res/xml/keystyle_devanagari_vowel_sign_candra_o.xml
@@ -27,7 +27,8 @@
>
<!-- U+25CC: "◌" DOTTED CIRCLE
U+0949: "ॉ" DEVANAGARI VOWEL SIGN CANDRA O -->
- <Key
+ <key-style
+ latin:styleName="baseKeyDevanagariVowelSignCandraO"
latin:keySpec="&#x25CC;&#x0949;|&#x0949;"
latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
</merge>
diff --git a/java/res/xml/key_devanagari_vowel_sign_vocalic_r.xml b/java/res/xml/keystyle_devanagari_vowel_sign_vocalic_r.xml
index badea3e2c..2268f7d47 100644
--- a/java/res/xml/key_devanagari_vowel_sign_vocalic_r.xml
+++ b/java/res/xml/keystyle_devanagari_vowel_sign_vocalic_r.xml
@@ -50,8 +50,9 @@
</switch>
<!-- U+25CC: "◌" DOTTED CIRCLE
U+0943: "ृ" DEVANAGARI VOWEL SIGN VOCALIC R -->
- <Key
- latin:keyStyle="moreKeysDevanagariVowelSignVocalicR"
+ <key-style
+ latin:styleName="baseKeyDevanagariVowelSignVocalicR"
+ latin:parentStyle="moreKeysDevanagariVowelSignVocalicR"
latin:keySpec="&#x25CC;&#x0943;|&#x0943;"
latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
</merge>
diff --git a/java/res/xml/method.xml b/java/res/xml/method.xml
index c64b3a4e0..cc824562a 100644
--- a/java/res/xml/method.xml
+++ b/java/res/xml/method.xml
@@ -485,7 +485,7 @@
android:isAsciiCapable="false"
/>
<subtype android:icon="@drawable/ic_ime_switcher_dark"
- android:label="@string/subtype_nepali_traditional"
+ android:label="@string/subtype_generic_traditional"
android:subtypeId="0x5fafea88"
android:imeSubtypeLocale="ne_NP"
android:imeSubtypeMode="keyboard"
diff --git a/java/res/xml/rowkeys_hindi1.xml b/java/res/xml/rowkeys_hindi1.xml
index 5d696b32c..cff9756cf 100644
--- a/java/res/xml/rowkeys_hindi1.xml
+++ b/java/res/xml/rowkeys_hindi1.xml
@@ -92,9 +92,9 @@
<!-- Because the font rendering system prior to API version 16 can't automatically
render dotted circle for incomplete combining letter of some scripts, different
set of Key definitions are needed based on the API version. -->
- <!-- U+0967: "१" DEVANAGARI DIGIT ONE -->
<include
latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_au" />
+ <!-- U+0967: "१" DEVANAGARI DIGIT ONE -->
<Key
latin:keyStyle="baseKeyDevanagariVowelSignAu"
latin:keyHintLabel="1"
@@ -102,9 +102,9 @@
<!-- Because the font rendering system prior to API version 16 can't automatically
render dotted circle for incomplete combining letter of some scripts, different
set of Key definitions are needed based on the API version. -->
- <!-- U+0968: "२" DEVANAGARI DIGIT TWO -->
<include
latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_ai" />
+ <!-- U+0968: "२" DEVANAGARI DIGIT TWO -->
<Key
latin:keyStyle="baseKeyDevanagariVowelSignAi"
latin:keyHintLabel="2"
@@ -112,9 +112,9 @@
<!-- Because the font rendering system prior to API version 16 can't automatically
render dotted circle for incomplete combining letter of some scripts, different
set of Key definitions are needed based on the API version. -->
- <!-- U+0969: "३" DEVANAGARI DIGIT THREE -->
<include
latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_aa" />
+ <!-- U+0969: "३" DEVANAGARI DIGIT THREE -->
<Key
latin:keyStyle="baseKeyDevanagariVowelSignAa"
latin:keyHintLabel="3"
@@ -122,9 +122,9 @@
<!-- Because the font rendering system prior to API version 16 can't automatically
render dotted circle for incomplete combining letter of some scripts, different
set of Key definitions are needed based on the API version. -->
- <!-- U+096A: "४" DEVANAGARI DIGIT FOUR -->
<include
latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_ii" />
+ <!-- U+096A: "४" DEVANAGARI DIGIT FOUR -->
<Key
latin:keyStyle="baseKeyDevanagariVowelSignIi"
latin:keyHintLabel="4"
@@ -132,9 +132,9 @@
<!-- Because the font rendering system prior to API version 16 can't automatically
render dotted circle for incomplete combining letter of some scripts, different
set of Key definitions are needed based on the API version. -->
- <!-- U+096B: "५" DEVANAGARI DIGIT FIVE -->
<include
latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_uu" />
+ <!-- U+096B: "५" DEVANAGARI DIGIT FIVE -->
<Key
latin:keyStyle="baseKeyDevanagariVowelSignUu"
latin:keyHintLabel="5"
diff --git a/java/res/xml/rowkeys_hindi3.xml b/java/res/xml/rowkeys_hindi3.xml
index a9be47266..cf36fc5d4 100644
--- a/java/res/xml/rowkeys_hindi3.xml
+++ b/java/res/xml/rowkeys_hindi3.xml
@@ -33,7 +33,9 @@
render dotted circle for incomplete combining letter of some scripts, different
set of Key definitions are needed based on the API version. -->
<include
- latin:keyboardLayout="@xml/key_devanagari_sign_candrabindu" />
+ latin:keyboardLayout="@xml/keystyle_devanagari_sign_candrabindu" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariSignCandrabindu" />
<!-- U+0923: "ण" DEVANAGARI LETTER NNA -->
<Key
latin:keySpec="&#x0923;"
@@ -59,7 +61,9 @@
render dotted circle for incomplete combining letter of some scripts, different
set of Key definitions are needed based on the API version. -->
<include
- latin:keyboardLayout="@xml/key_devanagari_vowel_sign_vocalic_r" />
+ latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_vocalic_r" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignVocalicR" />
<!-- U+091E: "ञ" DEVANAGARI LETTER NYA -->
<Key
latin:keySpec="&#x091E;"
@@ -70,9 +74,16 @@
render dotted circle for incomplete combining letter of some scripts, different
set of Key definitions are needed based on the API version. -->
<include
- latin:keyboardLayout="@xml/key_devanagari_vowel_sign_candra_o" />
+ latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_candra_o" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignCandraO" />
+ <!-- Because the font rendering system prior to API version 16 can't automatically
+ render dotted circle for incomplete combining letter of some scripts, different
+ set of Key definitions are needed based on the API version. -->
<include
- latin:keyboardLayout="@xml/key_devanagari_sign_anusvara" />
+ latin:keyboardLayout="@xml/keystyle_devanagari_sign_anusvara" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariSignAnusvara" />
<!-- U+092E: "म" DEVANAGARI LETTER MA
U+0950: "ॐ" DEVANAGARI OM -->
<Key
@@ -112,7 +123,9 @@
render dotted circle for incomplete combining letter of some scripts, different
set of Key definitions are needed based on the API version. -->
<include
- latin:keyboardLayout="@xml/key_devanagari_sign_nukta" />
- </default>
+ latin:keyboardLayout="@xml/keystyle_devanagari_sign_nukta" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariSignNukta" />
+ </default>
</switch>
</merge>
diff --git a/java/res/xml/rowkeys_nepali_romanized1.xml b/java/res/xml/rowkeys_nepali_romanized1.xml
index 3c082c2fe..616b259a3 100644
--- a/java/res/xml/rowkeys_nepali_romanized1.xml
+++ b/java/res/xml/rowkeys_nepali_romanized1.xml
@@ -44,7 +44,9 @@
render dotted circle for incomplete combining letter of some scripts, different
set of Key definitions are needed based on the API version. -->
<include
- latin:keyboardLayout="@xml/key_devanagari_vowel_sign_vocalic_r" />
+ latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_vocalic_r" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignVocalicR" />
<!-- U+0925: "थ" DEVANAGARI LETTER THA -->
<Key
latin:keySpec="&#x0925;"
@@ -81,21 +83,25 @@
latin:keyLabelFlags="fontNormal" />
</case>
<default>
+ <!-- Because the font rendering system prior to API version 16 can't automatically
+ render dotted circle for incomplete combining letter of some scripts, different
+ set of Key definitions are needed based on the API version. -->
+ <include
+ latin:keyboardLayout="@xml/keystyle_devanagari_sign_nukta" />
<!-- U+091F: "ट" DEVANAGARI LETTER TTA
- U+0967: "१" DEVANAGARI DIGIT ONE
- U+093C: "़" DEVANAGARI SIGN NUKTA -->
+ U+0967: "१" DEVANAGARI DIGIT ONE -->
<Key
latin:keySpec="&#x091F;"
latin:keyHintLabel="1"
latin:additionalMoreKeys="&#x0967;,1"
- latin:moreKeys="&#x093C;"
+ latin:keyStyle="moreKeysDevanagariSignNukta"
latin:keyLabelFlags="fontNormal" />
<!-- Because the font rendering system prior to API version 16 can't automatically
render dotted circle for incomplete combining letter of some scripts, different
set of Key definitions are needed based on the API version. -->
- <!-- U+0968: "२" DEVANAGARI DIGIT TWO -->
<include
latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_au" />
+ <!-- U+0968: "२" DEVANAGARI DIGIT TWO -->
<Key
latin:keyStyle="baseKeyDevanagariVowelSignAu"
latin:keyHintLabel="2"
@@ -103,9 +109,9 @@
<!-- Because the font rendering system prior to API version 16 can't automatically
render dotted circle for incomplete combining letter of some scripts, different
set of Key definitions are needed based on the API version. -->
- <!-- U+0969: "३" DEVANAGARI DIGIT THREE -->
<include
latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_e" />
+ <!-- U+0969: "३" DEVANAGARI DIGIT THREE -->
<Key
latin:keyStyle="baseKeyDevanagariVowelSignE"
latin:keyHintLabel="3"
@@ -134,9 +140,9 @@
<!-- Because the font rendering system prior to API version 16 can't automatically
render dotted circle for incomplete combining letter of some scripts, different
set of Key definitions are needed based on the API version. -->
- <!-- U+096D: "७" DEVANAGARI DIGIT SEVEN -->
<include
latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_u" />
+ <!-- U+096D: "७" DEVANAGARI DIGIT SEVEN -->
<Key
latin:keyStyle="baseKeyDevanagariVowelSignU"
latin:keyHintLabel="7"
@@ -144,9 +150,9 @@
<!-- Because the font rendering system prior to API version 16 can't automatically
render dotted circle for incomplete combining letter of some scripts, different
set of Key definitions are needed based on the API version. -->
- <!-- U+096E: "८" DEVANAGARI DIGIT EIGHT -->
<include
latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_i" />
+ <!-- U+096E: "८" DEVANAGARI DIGIT EIGHT -->
<Key
latin:keyStyle="baseKeyDevanagariVowelSignI"
latin:keyHintLabel="8"
@@ -154,9 +160,9 @@
<!-- Because the font rendering system prior to API version 16 can't automatically
render dotted circle for incomplete combining letter of some scripts, different
set of Key definitions are needed based on the API version. -->
- <!-- U+096F: "९" DEVANAGARI DIGIT NINE -->
<include
latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_o" />
+ <!-- U+096F: "९" DEVANAGARI DIGIT NINE -->
<Key
latin:keyStyle="baseKeyDevanagariVowelSignO"
latin:keyHintLabel="9"
diff --git a/java/res/xml/rowkeys_nepali_romanized3.xml b/java/res/xml/rowkeys_nepali_romanized3.xml
index 232d96e02..cc2ca8c84 100644
--- a/java/res/xml/rowkeys_nepali_romanized3.xml
+++ b/java/res/xml/rowkeys_nepali_romanized3.xml
@@ -41,7 +41,9 @@
render dotted circle for incomplete combining letter of some scripts, different
set of Key definitions are needed based on the API version. -->
<include
- latin:keyboardLayout="@xml/key_devanagari_sign_candrabindu" />
+ latin:keyboardLayout="@xml/keystyle_devanagari_sign_candrabindu" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariSignCandrabindu" />
<!-- U+092D: "भ" DEVANAGARI LETTER BHA -->
<Key
latin:keySpec="&#x092D;"
@@ -54,7 +56,9 @@
render dotted circle for incomplete combining letter of some scripts, different
set of Key definitions are needed based on the API version. -->
<include
- latin:keyboardLayout="@xml/key_devanagari_sign_anusvara" />
+ latin:keyboardLayout="@xml/keystyle_devanagari_sign_anusvara" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariSignAnusvara" />
<!-- U+0919: "ङ" DEVANAGARI LETTER NGA -->
<Key
latin:keySpec="&#x0919;"
diff --git a/java/res/xml/rowkeys_nepali_traditional1.xml b/java/res/xml/rowkeys_nepali_traditional1.xml
index 98a7be260..cf4bda982 100644
--- a/java/res/xml/rowkeys_nepali_traditional1.xml
+++ b/java/res/xml/rowkeys_nepali_traditional1.xml
@@ -91,7 +91,9 @@
render dotted circle for incomplete combining letter of some scripts, different
set of Key definitions are needed based on the API version. -->
<include
- latin:keyboardLayout="@xml/key_devanagari_vowel_sign_vocalic_r" />
+ latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_vocalic_r" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignVocalicR" />
</case>
<default>
<!-- U+091F: "ट" DEVANAGARI LETTER TTA
diff --git a/java/res/xml/rowkeys_nepali_traditional2.xml b/java/res/xml/rowkeys_nepali_traditional2.xml
index 5ea14ea0d..58a463e71 100644
--- a/java/res/xml/rowkeys_nepali_traditional2.xml
+++ b/java/res/xml/rowkeys_nepali_traditional2.xml
@@ -41,7 +41,9 @@
render dotted circle for incomplete combining letter of some scripts, different
set of Key definitions are needed based on the API version. -->
<include
- latin:keyboardLayout="@xml/key_devanagari_sign_candrabindu" />
+ latin:keyboardLayout="@xml/keystyle_devanagari_sign_candrabindu" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariSignCandrabindu" />
<!-- U+0926/U+094D/U+0926: "द्द" DEVANAGARI LETTER DA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER DA -->
<Key
latin:keySpec="&#x0926;&#x094D;&#x0926;"
diff --git a/java/res/xml/rowkeys_nepali_traditional3_right3.xml b/java/res/xml/rowkeys_nepali_traditional3_right3.xml
index d6a74d46a..3e6187d11 100644
--- a/java/res/xml/rowkeys_nepali_traditional3_right3.xml
+++ b/java/res/xml/rowkeys_nepali_traditional3_right3.xml
@@ -29,7 +29,9 @@
render dotted circle for incomplete combining letter of some scripts, different
set of Key definitions are needed based on the API version. -->
<include
- latin:keyboardLayout="@xml/key_devanagari_sign_anusvara" />
+ latin:keyboardLayout="@xml/keystyle_devanagari_sign_anusvara" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariSignAnusvara" />
<!-- U+0919: "ङ" DEVANAGARI LETTER NGA -->
<Key
latin:keySpec="&#x0919;"
@@ -54,8 +56,8 @@
<Key
latin:keySpec="&#x0964;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+0930: "र" DEVANAGARI LETTER RA
- U+0930/U+0941: "रु" DEVANAGARI LETTER RA/DEVANAGARI VOWEL SIGN U -->
+ <!-- U+0930: "र" DEVANAGARI LETTER RA
+ U+0930/U+0941: "रु" DEVANAGARI LETTER RA/DEVANAGARI VOWEL SIGN U -->
<Key
latin:keySpec="&#x0930;"
latin:moreKeys="&#x0930;&#x0941;"
diff --git a/java/res/xml/rowkeys_nepali_traditional3_right5.xml b/java/res/xml/rowkeys_nepali_traditional3_right5.xml
index a34f40097..89d5aa469 100644
--- a/java/res/xml/rowkeys_nepali_traditional3_right5.xml
+++ b/java/res/xml/rowkeys_nepali_traditional3_right5.xml
@@ -29,7 +29,9 @@
render dotted circle for incomplete combining letter of some scripts, different
set of Key definitions are needed based on the API version. -->
<include
- latin:keyboardLayout="@xml/key_devanagari_sign_anusvara" />
+ latin:keyboardLayout="@xml/keystyle_devanagari_sign_anusvara" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariSignAnusvara" />
<!-- U+0919: "ङ" DEVANAGARI LETTER NGA -->
<Key
latin:keySpec="&#x0919;"
@@ -53,9 +55,9 @@
<!-- Because the font rendering system prior to API version 16 can't automatically
render dotted circle for incomplete combining letter of some scripts, different
set of Key definitions are needed based on the API version. -->
- <!-- U+093D: "ऽ" DEVANAGARI SIGN AVAGRAHA -->
<include
latin:keyboardLayout="@xml/keystyle_devanagari_sign_visarga" />
+ <!-- U+093D: "ऽ" DEVANAGARI SIGN AVAGRAHA -->
<Key
latin:keyStyle="baseKeyDevanagariSignVisarga"
latin:moreKeys="&#x093D;" />
diff --git a/native/jni/HostUnitTests.mk b/native/jni/HostUnitTests.mk
index 828edce61..967099a53 100644
--- a/native/jni/HostUnitTests.mk
+++ b/native/jni/HostUnitTests.mk
@@ -12,6 +12,10 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+# HACK: Temporarily disable host tool build on Mac until the build system is ready for C++11.
+LATINIME_HOST_OSNAME := $(shell uname -s)
+ifneq ($(LATINIME_HOST_OSNAME), Darwin) # TODO: Remove this
+
LOCAL_PATH := $(call my-dir)
######################################
@@ -47,7 +51,10 @@ LOCAL_SRC_FILES := $(addprefix $(LATIN_IME_TEST_SRC_DIR)/, $(LATIN_IME_CORE_TEST
LOCAL_STATIC_LIBRARIES += liblatinime_host_static_for_unittests libgtest_host libgtest_main_host
include $(BUILD_HOST_NATIVE_TEST)
+endif # Darwin - TODO: Remove this
+
#################### Clean up the tmp vars
+LATINIME_HOST_OSNAME :=
LATIN_IME_SRC_DIR :=
LATIN_IME_TEST_SRC_DIR :=
include $(LOCAL_PATH)/CleanupNativeFileList.mk
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/DevanagariLetterConstants.java b/tests/src/com/android/inputmethod/keyboard/layout/DevanagariLetterConstants.java
new file mode 100644
index 000000000..bcf06f085
--- /dev/null
+++ b/tests/src/com/android/inputmethod/keyboard/layout/DevanagariLetterConstants.java
@@ -0,0 +1,75 @@
+/*
+ * 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 android.os.Build;
+
+/**
+ * This class offers label strings of Devanagari letters that need the dotted circle to draw
+ * its glyph.
+ */
+class DevanagariLetterConstants {
+ private static final boolean NEEDS_DOTTED_CIRCLE =
+ Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN;
+ // U+25CC: "◌" DOTTED CIRCLE
+ private static final String DOTTED_CIRCLE = NEEDS_DOTTED_CIRCLE ? "\u25CC" : "";
+
+ // U+0901: "ँ" DEVANAGARI SIGN CANDRABINDU
+ static final String SIGN_CANDRABINDU = DOTTED_CIRCLE + "\u0901";
+ // U+0902: "ं" DEVANAGARI SIGN ANUSVARA
+ static final String SIGN_ANUSVARA = DOTTED_CIRCLE + "\u0902";
+ // U+0903: "ः" DEVANAGARI SIGN VISARGA
+ static final String SIGN_VISARGA = DOTTED_CIRCLE + "\u0903";
+ // U+093C: "़" DEVANAGARI SIGN NUKTA
+ static final String SIGN_NUKTA = DOTTED_CIRCLE + "\u093C";
+ // U+093D: "ऽ" DEVANAGARI SIGN AVAGRAHA
+ static final String SIGN_AVAGRAHA = DOTTED_CIRCLE + "\u093D";
+ // U+093E: "ा" DEVANAGARI VOWEL SIGN AA
+ static final String VOWEL_SIGN_AA = DOTTED_CIRCLE + "\u093E";
+ // U+093F: "ि" DEVANAGARI VOWEL SIGN I
+ static final String VOWEL_SIGN_I = DOTTED_CIRCLE + "\u093F";
+ // U+0940: "ी" DEVANAGARI VOWEL SIGN II
+ static final String VOWEL_SIGN_II = DOTTED_CIRCLE + "\u0940";
+ // U+0941: "ु" DEVANAGARI VOWEL SIGN U
+ static final String VOWEL_SIGN_U = DOTTED_CIRCLE + "\u0941";
+ // U+0942: "ू" DEVANAGARI VOWEL SIGN UU
+ static final String VOWEL_SIGN_UU = DOTTED_CIRCLE + "\u0942";
+ // U+0943: "ृ" DEVANAGARI VOWEL SIGN VOCALIC R
+ static final String VOWEL_SIGN_VOCALIC_R = DOTTED_CIRCLE + "\u0943";
+ // U+0944: "ॄ" DEVANAGARI VOWEL SIGN VOCALIC RR
+ static final String VOWEL_SIGN_VOCALIC_RR = DOTTED_CIRCLE + "\u0944";
+ // U+0945: "ॅ" DEVANAGARI VOWEL SIGN CANDRA E
+ static final String VOWEL_SIGN_CANDRA_E = DOTTED_CIRCLE + "\u0945";
+ // U+0947: "े" DEVANAGARI VOWEL SIGN E
+ static final String VOWEL_SIGN_E = DOTTED_CIRCLE + "\u0947";
+ // U+0948: "ै" DEVANAGARI VOWEL SIGN AI
+ static final String VOWEL_SIGN_AI = DOTTED_CIRCLE + "\u0948";
+ // U+0949: "ॉ" DEVANAGARI VOWEL SIGN CANDRA O
+ static final String VOWEL_SIGN_CANDRA_O = DOTTED_CIRCLE + "\u0949";
+ // U+094A: "ॊ" DEVANAGARI VOWEL SIGN SHORT O
+ static final String VOWEL_SIGN_SHORT_O = DOTTED_CIRCLE + "\u094A";
+ // U+094B: "ो" DEVANAGARI VOWEL SIGN O
+ static final String VOWEL_SIGN_O = DOTTED_CIRCLE + "\u094B";
+ // U+094C: "ौ" DEVANAGARI VOWEL SIGN AU
+ static final String VOWEL_SIGN_AU = DOTTED_CIRCLE + "\u094C";
+ // U+094D: "्" DEVANAGARI SIGN VIRAMA
+ static final String SIGN_VIRAMA = DOTTED_CIRCLE + "\u094D";
+ // U+0970: "॰" DEVANAGARI ABBREVIATION SIGN
+ static final String ABBREVIATION_SIGN = DOTTED_CIRCLE + "\u0970";
+ // U+097D: "ॽ" DEVANAGARI LETTER GLOTTAL STOP
+ static final String LETTER_GLOTTAL_STOP = DOTTED_CIRCLE + "\u097D";
+}
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Hindi.java b/tests/src/com/android/inputmethod/keyboard/layout/Hindi.java
index 7ff2dcbbc..c3f45313f 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/Hindi.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/Hindi.java
@@ -16,6 +16,8 @@
package com.android.inputmethod.keyboard.layout;
+import static com.android.inputmethod.keyboard.layout.DevanagariLetterConstants.*;
+
import com.android.inputmethod.keyboard.KeyboardId;
import com.android.inputmethod.keyboard.layout.expected.ExpectedKey;
import com.android.inputmethod.keyboard.layout.expected.ExpectedKeyboardBuilder;
@@ -96,25 +98,37 @@ public final class Hindi extends LayoutBase {
// U+094C: "ौ" DEVANAGARI VOWEL SIGN AU
// U+094C/U+0902: "ौं" DEVANAGARI VOWEL SIGN AU/DEVANAGARI SIGN ANUSVARA
// U+0967: "१" DEVANAGARI DIGIT ONE
- key("\u094C", joinMoreKeys("\u094C\u0902", "\u0967", "1")),
+ key(VOWEL_SIGN_AU, "\u094C", joinMoreKeys(
+ moreKey(VOWEL_SIGN_AU + "\u0902", "\u094C\u0902"),
+ "\u0967", "1")),
// U+0948: "ै" DEVANAGARI VOWEL SIGN AI
// U+0948/U+0902: "ैं" DEVANAGARI VOWEL SIGN AI/DEVANAGARI SIGN ANUSVARA
// U+0968: "२" DEVANAGARI DIGIT TWO
- key("\u0948", joinMoreKeys("\u0948\u0902", "\u0968", "2")),
+ key(VOWEL_SIGN_AI, "\u0948", joinMoreKeys(
+ moreKey(VOWEL_SIGN_AI + "\u0902", "\u0948\u0902"),
+ "\u0968", "2")),
// U+093E: "ा" DEVANAGARI VOWEL SIGN AA
// U+093E/U+0902: "ां" DEVANAGARI VOWEL SIGN AA/DEVANAGARI SIGN ANUSVARA
// U+093E/U+0901: "ाँ" DEVANAGARI VOWEL SIGN AA/DEVANAGARI SIGN CANDRABINDU
// U+0969: "३" DEVANAGARI DIGIT THREE
- key("\u093E", joinMoreKeys("\u093E\u0902", "\u093E\u0901", "\u0969", "3")),
+ key(VOWEL_SIGN_AA, "\u093E", joinMoreKeys(
+ moreKey(VOWEL_SIGN_AA + "\u0902", "\u093E\u0902"),
+ moreKey(VOWEL_SIGN_AA + "\u0901", "\u093E\u0901"),
+ "\u0969", "3")),
// U+0940: "ी" DEVANAGARI VOWEL SIGN II
// U+0940/U+0902: "ीं" DEVANAGARI VOWEL SIGN II/DEVANAGARI SIGN ANUSVARA
// U+096A: "४" DEVANAGARI DIGIT FOUR
- key("\u0940", joinMoreKeys("\u0940\u0902", "\u096A", "4")),
+ key(VOWEL_SIGN_II, "\u0940", joinMoreKeys(
+ moreKey(VOWEL_SIGN_II + "\u0902", "\u0940\u0902"),
+ "\u096A", "4")),
// U+0942: "ू" DEVANAGARI VOWEL SIGN UU
// U+0942/U+0902: "ूं" DEVANAGARI VOWEL SIGN UU/DEVANAGARI SIGN ANUSVARA
// U+0942/U+0901: "ूँ" DEVANAGARI VOWEL SIGN UU/DEVANAGARI SIGN CANDRABINDU
// U+096B: "५" DEVANAGARI DIGIT FIVE
- key("\u0942", joinMoreKeys("\u0942\u0902", "\u0942\u0901", "\u096B", "5")),
+ key(VOWEL_SIGN_UU, "\u0942", joinMoreKeys(
+ moreKey(VOWEL_SIGN_UU + "\u0902", "\u0942\u0902"),
+ moreKey(VOWEL_SIGN_UU + "\u0901", "\u0942\u0901"),
+ "\u096B", "5")),
// U+092C: "ब" DEVANAGARI LETTER BA
// U+092C/U+0952: "ब॒" DEVANAGARI LETTER BA/DEVANAGARI STRESS SIGN ANUDATTA
// U+096C: "६" DEVANAGARI DIGIT SIX
@@ -150,19 +164,26 @@ public final class Hindi extends LayoutBase {
// U+094B/U+0902: "қं" DEVANAGARI VOWEL SIGN O/DEVANAGARI SIGN ANUSVARA
// U+0949: "ॉ" DEVANAGARI VOWEL SIGN CANDRA O
// U+094A: "ॊ" DEVANAGARI VOWEL SIGN SHORT O
- key("\u094B", joinMoreKeys("\u094B\u0902", "\u0949", "\u094A")),
+ key(VOWEL_SIGN_O, "\u094B", joinMoreKeys(
+ moreKey(VOWEL_SIGN_O + "\u0902", "\u094B\u0902"),
+ moreKey(VOWEL_SIGN_CANDRA_O, "\u0949"),
+ moreKey(VOWEL_SIGN_SHORT_O, "\u094A"))),
// U+0947: "े" DEVANAGARI VOWEL SIGN E
// U+0947/U+0902: "ें" DEVANAGARI VOWEL SIGN E/DEVANAGARI SIGN ANUSVARA
- key("\u0947", moreKey("\u0947\u0902")),
+ key(VOWEL_SIGN_E, "\u0947",
+ moreKey(VOWEL_SIGN_E + "\u0902", "\u0947\u0902")),
// U+094D: "्" DEVANAGARI SIGN VIRAMA
- "\u094D",
+ key(SIGN_VIRAMA, "\u094D"),
// U+093F: "ि" DEVANAGARI VOWEL SIGN I
// U+093F/U+0902: "िं" DEVANAGARI VOWEL SIGN I/DEVANAGARI SIGN ANUSVARA
- key("\u093F", moreKey("\u093F\u0902")),
+ key(VOWEL_SIGN_I, "\u093F",
+ moreKey("\u093F" + SIGN_ANUSVARA, "\u093F\u0902")),
// U+0941: "ु" DEVANAGARI VOWEL SIGN U
// U+0941/U+0902: "ुं" DEVANAGARI VOWEL SIGN U/DEVANAGARI SIGN ANUSVARA
// U+0941/U+0901: "ुँ" DEVANAGARI VOWEL SIGN U/DEVANAGARI SIGN CANDRABINDU
- key("\u0941", joinMoreKeys("\u0941\u0902", "\u0941\u0901")),
+ key(VOWEL_SIGN_U, "\u0941", joinMoreKeys(
+ moreKey(VOWEL_SIGN_U + "\u0902", "\u0941\u0902"),
+ moreKey(VOWEL_SIGN_U + "\u0901", "\u0941\u0901"))),
// U+092A: "प" DEVANAGARI LETTER PA
"\u092A",
// U+0930: "र" DEVANAGARI LETTER RA
@@ -182,8 +203,9 @@ public final class Hindi extends LayoutBase {
"\u091A","\u091F")
.setKeysOfRow(3,
// U+0949: "ॉ" DEVANAGARI VOWEL SIGN CANDRA O
+ key(VOWEL_SIGN_CANDRA_O, "\u0949"),
// U+0902: "ं" DEVANAGARI SIGN ANUSVARA
- "\u0949", "\u0902",
+ key(SIGN_ANUSVARA, "\u0902"),
// U+092E: "म" DEVANAGARI LETTER MA
// U+0950: "ॐ" DEVANAGARI OM
key("\u092E", moreKey("\u0950")),
@@ -207,7 +229,10 @@ public final class Hindi extends LayoutBase {
// U+097D: "ॽ" DEVANAGARI LETTER GLOTTAL STOP
// U+0970: "॰" DEVANAGARI ABBREVIATION SIGN
// U+093D: "ऽ" DEVANAGARI SIGN AVAGRAHA
- key("\u093C", joinMoreKeys("\u097D", "\u0970", "\u093D")))
+ key(SIGN_NUKTA, "\u093C", joinMoreKeys(
+ moreKey(LETTER_GLOTTAL_STOP, "\u097D"),
+ moreKey(ABBREVIATION_SIGN, "\u0970"),
+ moreKey(SIGN_AVAGRAHA, "\u093D"))))
.build();
private static final ExpectedKey[][] ALPHABET_SHIFTED_COMMON = new ExpectedKeyboardBuilder()
@@ -232,7 +257,7 @@ public final class Hindi extends LayoutBase {
// U+092D: "भ" DEVANAGARI LETTER BHA
// U+0903: "ः" DEVANAGARI SIGN VISARGA
// U+0918: "घ" DEVANAGARI LETTER GHA
- "\u092D", "\u0903", "\u0918",
+ "\u092D", key(SIGN_VISARGA, "\u0903"), "\u0918",
// U+0927: "ध" DEVANAGARI LETTER DHA
// U+0915/U+094D/U+0937:
// "क्ष" DEVANAGARI LETTER KA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER SSA
@@ -285,7 +310,7 @@ public final class Hindi extends LayoutBase {
"\u0911",
// U+0901: "ँ" DEVANAGARI SIGN CANDRABINDU
// U+0945: "ॅ" DEVANAGARI VOWEL SIGN CANDRA E
- key("\u0901", moreKey("\u0945")),
+ key(SIGN_CANDRABINDU, "\u0901", moreKey(VOWEL_SIGN_CANDRA_E, "\u0945")),
// U+0923: "ण" DEVANAGARI LETTER NNA
// U+0929: "ऩ" DEVANAGARI LETTER NNNA
"\u0923", "\u0929",
@@ -297,7 +322,7 @@ public final class Hindi extends LayoutBase {
"\u0936", "\u0937",
// U+0943: "ृ" DEVANAGARI VOWEL SIGN VOCALIC R
// U+0944: "ॄ" DEVANAGARI VOWEL SIGN VOCALIC RR
- key("\u0943", moreKey("\u0944")),
+ key(VOWEL_SIGN_VOCALIC_R, "\u0943", moreKey(VOWEL_SIGN_VOCALIC_RR, "\u0944")),
// U+091E: "ञ" DEVANAGARI LETTER NYA
"\u091E")
.build();
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/NepaliRomanized.java b/tests/src/com/android/inputmethod/keyboard/layout/NepaliRomanized.java
index 7cfe3444c..7048dbb73 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/NepaliRomanized.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/NepaliRomanized.java
@@ -16,6 +16,8 @@
package com.android.inputmethod.keyboard.layout;
+import static com.android.inputmethod.keyboard.layout.DevanagariLetterConstants.*;
+
import com.android.inputmethod.keyboard.KeyboardId;
import com.android.inputmethod.keyboard.layout.Hindi.HindiCustomizer;
import com.android.inputmethod.keyboard.layout.Hindi.HindiSymbols;
@@ -70,13 +72,13 @@ public final class NepaliRomanized extends LayoutBase {
// U+091F: "ट" DEVANAGARI LETTER TTA
// U+0967: "१" DEVANAGARI DIGIT ONE
// U+093C: "़" DEVANAGARI SIGN NUKTA
- key("\u091F", joinMoreKeys("\u0967", "1", "\u093C")),
+ key("\u091F", joinMoreKeys("\u0967", "1", key(SIGN_NUKTA, "\u093C"))),
// U+094C: "ौ" DEVANAGARI VOWEL SIGN AU
// U+0968: "२" DEVANAGARI DIGIT TWO
- key("\u094C", joinMoreKeys("\u0968", "2")),
+ key(VOWEL_SIGN_AU, "\u094C", joinMoreKeys("\u0968", "2")),
// U+0947: "े" DEVANAGARI VOWEL SIGN E
// U+0969: "३" DEVANAGARI DIGIT THREE
- key("\u0947", joinMoreKeys("\u0969", "3")),
+ key(VOWEL_SIGN_E, "\u0947", joinMoreKeys("\u0969", "3")),
// U+0930: "र" DEVANAGARI LETTER RA
// U+096A: "४" DEVANAGARI DIGIT FOUR
key("\u0930", joinMoreKeys("\u096A", "4")),
@@ -88,13 +90,13 @@ public final class NepaliRomanized extends LayoutBase {
key("\u092F", joinMoreKeys("\u096C", "6")),
// U+0941: "ु" DEVANAGARI VOWEL SIGN U
// U+096D: "७" DEVANAGARI DIGIT SEVEN
- key("\u0941", joinMoreKeys("\u096D", "7")),
+ key(VOWEL_SIGN_U, "\u0941", joinMoreKeys("\u096D", "7")),
// U+093F: "ि" DEVANAGARI VOWEL SIGN I
// U+096E: "८" DEVANAGARI DIGIT EIGHT
- key("\u093F", joinMoreKeys("\u096E", "8")),
+ key(VOWEL_SIGN_I, "\u093F", joinMoreKeys("\u096E", "8")),
// U+094B: "ो" DEVANAGARI VOWEL SIGN O
// U+096F: "९" DEVANAGARI DIGIT NINE
- key("\u094B", joinMoreKeys("\u096F", "9")),
+ key(VOWEL_SIGN_O, "\u094B", joinMoreKeys("\u096F", "9")),
// U+092A: "प" DEVANAGARI LETTER PA
// U+0966: "०" DEVANAGARI DIGIT ZERO
key("\u092A", joinMoreKeys("\u0966", "0")),
@@ -102,6 +104,7 @@ public final class NepaliRomanized extends LayoutBase {
"\u0907")
.setKeysOfRow(2,
// U+093E: "ा" DEVANAGARI VOWEL SIGN AA
+ key(VOWEL_SIGN_AA, "\u093E"),
// U+0938: "स" DEVANAGARI LETTER SA
// U+0926: "द" DEVANAGARI LETTER DA
// U+0909: "उ" DEVANAGARI LETTER U
@@ -112,8 +115,8 @@ public final class NepaliRomanized extends LayoutBase {
// U+0932: "ल" DEVANAGARI LETTER LA
// U+090F: "ए" DEVANAGARI LETTER E
// U+0950: "ॐ" DEVANAGARI OM
- "\u093E", "\u0938", "\u0926", "\u0909", "\u0917", "\u0939", "\u091C", "\u0915",
- "\u0932", "\u090F", "\u0950")
+ "\u0938", "\u0926", "\u0909", "\u0917", "\u0939", "\u091C", "\u0915", "\u0932",
+ "\u090F", "\u0950")
.setKeysOfRow(3,
// U+0937: "ष" DEVANAGARI LETTER SSA
// U+0921: "ड" DEVANAGARI LETTER DDA
@@ -127,23 +130,28 @@ public final class NepaliRomanized extends LayoutBase {
// U+093D: "ऽ" DEVANAGARI SIGN AVAGRAHA
key("\u0964", moreKey("\u093D")),
// U+094D: "्" DEVANAGARI SIGN VIRAMA
- "\u094D")
+ key(SIGN_VIRAMA, "\u094D"))
.build();
private static final ExpectedKey[][] ALPHABET_SHIFTED_COMMON = new ExpectedKeyboardBuilder()
.setKeysOfRow(1,
// U+0920: "ठ" DEVANAGARI LETTER TTHA
// U+0914: "औ" DEVANAGARI LETTER AU
+ "\u0920", "\u0914",
// U+0948: "ै" DEVANAGARI VOWEL SIGN AI
+ key(VOWEL_SIGN_AI, "\u0948"),
// U+0943: "ृ" DEVANAGARI VOWEL SIGN VOCALIC R
+ key(VOWEL_SIGN_VOCALIC_R, "\u0943"),
// U+0925: "थ" DEVANAGARI LETTER THA
// U+091E: "ञ" DEVANAGARI LETTER NYA
+ "\u0925", "\u091E",
// U+0942: "ू" DEVANAGARI VOWEL SIGN UU
+ key(VOWEL_SIGN_UU, "\u0942"),
// U+0940: "ी" DEVANAGARI VOWEL SIGN II
+ key(VOWEL_SIGN_II, "\u0940"),
// U+0913: "ओ" DEVANAGARI LETTER O
// U+092B: "फ" DEVANAGARI LETTER PHA
// U+0908: "ई" DEVANAGARI LETTER II
- "\u0920", "\u0914", "\u0948", "\u0943", "\u0925", "\u091E", "\u0942", "\u0940",
"\u0913", "\u092B", "\u0908")
.setKeysOfRow(2,
// U+0906: "आ" DEVANAGARI LETTER AA
@@ -158,18 +166,22 @@ public final class NepaliRomanized extends LayoutBase {
// U+0910: "ऐ" DEVANAGARI LETTER AI
// U+0903: "ः" DEVANAGARI SIGN VISARGA
"\u0906", "\u0936", "\u0927", "\u090A", "\u0918", "\u0905", "\u091D", "\u0916",
- "\u0965", "\u0910", "\u0903")
+ "\u0965", "\u0910", key(SIGN_VISARGA, "\u0903"))
.setKeysOfRow(3,
// U+090B: "ऋ" DEVANAGARI LETTER VOCALIC R
// U+0922: "ढ" DEVANAGARI LETTER DDHA
// U+091B: "छ" DEVANAGARI LETTER CHA
+ "\u090B", "\u0922", "\u091B",
// U+0901: "ँ" DEVANAGARI SIGN CANDRABINDU
+ key(SIGN_CANDRABINDU, "\u0901"),
// U+092D: "भ" DEVANAGARI LETTER BHA
// U+0923: "ण" DEVANAGARI LETTER NNA
+ "\u092D", "\u0923",
// U+0902: "ं" DEVANAGARI SIGN ANUSVARA
+ key(SIGN_ANUSVARA, "\u0902"),
// U+0919: "ङ" DEVANAGARI LETTER NGA
+ "\u0919",
// U+094D: "्" DEVANAGARI SIGN VIRAMA
- "\u090B", "\u0922", "\u091B", "\u0901", "\u092D", "\u0923", "\u0902", "\u0919",
- "\u094D")
+ key(SIGN_VIRAMA, "\u094D"))
.build();
}
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/NepaliTraditional.java b/tests/src/com/android/inputmethod/keyboard/layout/NepaliTraditional.java
index 1599fd7a6..4d6cdedbf 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/NepaliTraditional.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/NepaliTraditional.java
@@ -16,6 +16,8 @@
package com.android.inputmethod.keyboard.layout;
+import static com.android.inputmethod.keyboard.layout.DevanagariLetterConstants.*;
+
import com.android.inputmethod.keyboard.KeyboardId;
import com.android.inputmethod.keyboard.layout.Hindi.HindiSymbols;
import com.android.inputmethod.keyboard.layout.NepaliRomanized.NepaliRomanizedCustomizer;
@@ -47,7 +49,7 @@ public final class NepaliTraditional extends LayoutBase {
public ExpectedKey[] getKeysRightToSpacebar(final boolean isPhone) {
if (isPhone) {
// U+094D: "्" DEVANAGARI SIGN VIRAMA
- return joinKeys(key("\u094D", PHONE_PUNCTUATION_MORE_KEYS));
+ return joinKeys(key(SIGN_VIRAMA, "\u094D", PHONE_PUNCTUATION_MORE_KEYS));
}
return super.getKeysRightToSpacebar(isPhone);
}
@@ -61,7 +63,8 @@ public final class NepaliTraditional extends LayoutBase {
// U+0947: "े" DEVANAGARI VOWEL SIGN E
// U+0903: "ः‍" DEVANAGARI SIGN VISARGA
// U+093D: "ऽ" DEVANAGARI SIGN AVAGRAHA
- key("\u0947", joinMoreKeys("\u0903", "\u093D")),
+ key(VOWEL_SIGN_E, "\u0947", joinMoreKeys(
+ moreKey(SIGN_VISARGA, "\u0903"), "\u093D")),
// U+0964: "।" DEVANAGARI DANDA
"\u0964",
// U+0930: "र" DEVANAGARI LETTER RA
@@ -71,14 +74,15 @@ public final class NepaliTraditional extends LayoutBase {
builder.addKeysOnTheRightOfRow(3,
// U+0903: "ः" DEVANAGARI SIGN VISARGA
// U+093D: "ऽ" DEVANAGARI SIGN AVAGRAHA
- key("\u0903", moreKey("\u093D")),
+ key(SIGN_VISARGA, "\u0903", moreKey("\u093D")),
// U+0947: "े" DEVANAGARI VOWEL SIGN E
+ key(VOWEL_SIGN_E, "\u0947"),
// U+0964: "।" DEVANAGARI DANDA
- "\u0947", "\u0964",
+ "\u0964",
// U+0930: "र" DEVANAGARI LETTER RA
key("\u0930", moreKey("!")),
// U+094D: "्" DEVANAGARI SIGN VIRAMA
- key("\u094D", moreKey("?")));
+ key(SIGN_VIRAMA, "\u094D", moreKey("?")));
}
return builder.build();
}
@@ -93,21 +97,23 @@ public final class NepaliTraditional extends LayoutBase {
if (isPhone) {
builder.addKeysOnTheRightOfRow(3,
// U+0902: "ं" DEVANAGARI SIGN ANUSVARA
+ key(SIGN_ANUSVARA, "\u0902"),
// U+0919: "ङ" DEVANAGARI LETTER NGA
- "\u0902", "\u0919",
+ "\u0919",
// U+0948: "ै" DEVANAGARI VOWEL SIGN AI
// U+0936/U+094D/U+0930:
// "श्र" DEVANAGARI LETTER SHA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER RA
- key("\u0948", moreKey("\u0936\u094D\u0930")));
+ key(VOWEL_SIGN_AI, "\u0948", moreKey("\u0936\u094D\u0930")));
} else {
builder.addKeysOnTheRightOfRow(3,
// U+0902: "ं" DEVANAGARI SIGN ANUSVARA
+ key(SIGN_ANUSVARA, "\u0902"),
// U+0919: "ङ" DEVANAGARI LETTER NGA
- "\u0902", "\u0919",
+ "\u0919",
// U+0948: "ै" DEVANAGARI VOWEL SIGN AI
// U+0936/U+094D/U+0930:
// "श्र" DEVANAGARI LETTER SHA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER RA
- key("\u0948", moreKey("\u0936\u094D\u0930")),
+ key(VOWEL_SIGN_AI, "\u0948", moreKey("\u0936\u094D\u0930")),
// U+0930/U+0941: "रु" DEVANAGARI LETTER RA/DEVANAGARI VOWEL SIGN U
key("\u0930\u0941", moreKey("!")),
"?");
@@ -154,16 +160,20 @@ public final class NepaliTraditional extends LayoutBase {
// U+092C: "ब" DEVANAGARI LETTER BA
// U+0915: "क" DEVANAGARI LETTER KA
// U+092E: "म" DEVANAGARI LETTER MA
+ "\u092C", "\u0915", "\u092E",
// U+093E: "ा" DEVANAGARI VOWEL SIGN AA
+ key(VOWEL_SIGN_AA, "\u093E"),
// U+0928: "न" DEVANAGARI LETTER NA
// U+091C: "ज" DEVANAGARI LETTER JA
// U+0935: "व" DEVANAGARI LETTER VA
// U+092A: "प" DEVANAGARI LETTER PA
+ "\u0928", "\u091C", "\u0935", "\u092A",
// U+093F: "ि" DEVANAGARI VOWEL SIGN I
+ key(VOWEL_SIGN_I, "\u093F"),
// U+0938: "स" DEVANAGARI LETTER SA
+ "\u0938",
// U+0941: "ु" DEVANAGARI VOWEL SIGN U
- "\u092C", "\u0915", "\u092E", "\u093E", "\u0928", "\u091C", "\u0935", "\u092A",
- "\u093F", "\u0938", "\u0941")
+ key(VOWEL_SIGN_U, "\u0941"))
.setKeysOfRow(3,
// U+0936: "श" DEVANAGARI LETTER SHA
// U+0939: "ह" DEVANAGARI LETTER HA
@@ -219,34 +229,41 @@ public final class NepaliTraditional extends LayoutBase {
key("\u090F", moreKey("\u0923")),
// U+0943: "ृ" DEVANAGARI VOWEL SIGN VOCALIC R
// U+0913: "ओ" DEVANAGARI LETTER O
- key("\u0943", moreKey("\u0913")))
+ key(VOWEL_SIGN_VOCALIC_R, "\u0943", moreKey("\u0913")))
.setKeysOfRow(2,
// U+0906: "आ" DEVANAGARI LETTER AA
// U+0919/U+094D: "ङ्" DEVANAGARI LETTER NGA/DEVANAGARI SIGN VIRAMA
// U+0921/U+094D/U+0921:
// "ड्ड" DEVANAGARI LETTER DDA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER DDA
+ "\u0906", "\u0919\u094D", "\u0921\u094D\u0921",
// U+0901: "ँ" DEVANAGARI SIGN CANDRABINDU
+ key(SIGN_CANDRABINDU, "\u0901"),
// U+0926/U+094D/U+0926:
// "द्द" DEVANAGARI LETTER DA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER DA
// U+091D: "झ" DEVANAGARI LETTER JHA
+ "\u0926\u094D\u0926", "\u091D",
// U+094B: "ो" DEVANAGARI VOWEL SIGN O
+ key(VOWEL_SIGN_O, "\u094B"),
// U+092B: "फ" DEVANAGARI LETTER PHA
+ "\u092B",
// U+0940: "ी" DEVANAGARI VOWEL SIGN II
+ key(VOWEL_SIGN_II, "\u0940"),
// U+091F/U+094D/U+0920:
// "ट्ठ" DEVANAGARI LETTER TTA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER TTHA
+ "\u091F\u094D\u0920",
// U+0942: "ू" DEVANAGARI VOWEL SIGN UU
- "\u0906", "\u0919\u094D", "\u0921\u094D\u0921", "\u0901", "\u0926\u094D\u0926",
- "\u091D", "\u094B", "\u092B", "\u0940", "\u091F\u094D\u0920", "\u0942")
+ key(VOWEL_SIGN_UU, "\u0942"))
.setKeysOfRow(3,
// U+0915/U+094D: "क्" DEVANAGARI LETTER KA/DEVANAGARI SIGN VIRAMA
// U+0939/U+094D/U+092E:
// "ह्म" DEVANAGARI LETTER HA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER MA
// U+090B: "ऋ" DEVANAGARI LETTER VOCALIC R
// U+0950: "ॐ" DEVANAGARI OM
+ "\u0915\u094D", "\u0939\u094D\u092E", "\u090B", "\u0950",
// U+094C: "ौ" DEVANAGARI VOWEL SIGN AU
+ key(VOWEL_SIGN_AU, "\u094C"),
// U+0926/U+094D/U+092F:
// "द्य" DEVANAGARI LETTER DA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER YA
- "\u0915\u094D", "\u0939\u094D\u092E", "\u090B", "\u0950", "\u094C",
"\u0926\u094D\u092F")
.build();
}