aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/res/layout/input_view.xml43
-rw-r--r--java/res/values/attrs.xml1
-rw-r--r--java/res/values/emoji-categories.xml47
-rw-r--r--java/res/values/strings.xml2
-rw-r--r--java/res/values/themes-common.xml9
-rw-r--r--java/res/values/themes-gb.xml2
-rw-r--r--java/res/values/themes-ics.xml2
-rw-r--r--java/res/xml-sw600dp/key_f2.xml2
-rw-r--r--java/res/xml-sw600dp/key_styles_common.xml3
-rw-r--r--java/res/xml-sw600dp/rows_armenian_phonetic.xml70
-rw-r--r--java/res/xml-sw600dp/rows_nepali_traditional.xml57
-rw-r--r--java/res/xml-sw768dp/key_styles_common.xml3
-rw-r--r--java/res/xml-sw768dp/rows_armenian_phonetic.xml79
-rw-r--r--java/res/xml-sw768dp/rows_nepali_traditional.xml68
-rw-r--r--java/res/xml-v16/key_devanagari_sign_anusvara.xml (renamed from java/res/xml-v16/key_nepali_romanized3_shift_center.xml)4
-rw-r--r--java/res/xml-v16/key_devanagari_sign_candrabindu.xml (renamed from java/res/xml-v16/key_nepali_romanized3_shift_left.xml)20
-rw-r--r--java/res/xml-v16/key_devanagari_sign_nukta.xml (renamed from java/res/xml-v16/key_hindi3_right.xml)27
-rw-r--r--java/res/xml-v16/key_devanagari_vowel_sign_candra_o.xml (renamed from java/res/xml-v16/key_nepali_romanized3.xml)8
-rw-r--r--java/res/xml-v16/key_devanagari_vowel_sign_vocalic_r.xml (renamed from java/res/xml-v16/keys_nepali_romanized1_shift_left2.xml)31
-rw-r--r--java/res/xml-v16/keys_hindi1_left5.xml75
-rw-r--r--java/res/xml-v16/keys_hindi2_left5.xml59
-rw-r--r--java/res/xml-v16/keystyle_devanagari_sign_virama.xml (renamed from java/res/xml-v16/key_nepali_romanized3_shift_right.xml)7
-rw-r--r--java/res/xml-v16/keystyle_devanagari_sign_visarga.xml (renamed from java/res/xml-v16/key_hindi1_shift.xml)7
-rw-r--r--java/res/xml-v16/keystyle_devanagari_vowel_sign_aa.xml (renamed from java/res/xml-v16/key_nepali_romanized2.xml)23
-rw-r--r--java/res/xml-v16/keystyle_devanagari_vowel_sign_ai.xml56
-rw-r--r--java/res/xml-v16/keystyle_devanagari_vowel_sign_au.xml (renamed from java/res/xml-v16/keys_nepali_romanized1_left2.xml)34
-rw-r--r--java/res/xml-v16/keystyle_devanagari_vowel_sign_e.xml57
-rw-r--r--java/res/xml-v16/keystyle_devanagari_vowel_sign_i.xml (renamed from java/res/xml-v16/key_hindi3_shift_left.xml)28
-rw-r--r--java/res/xml-v16/keystyle_devanagari_vowel_sign_ii.xml (renamed from java/res/xml-v16/keys_nepali_romanized1_shift_right2.xml)26
-rw-r--r--java/res/xml-v16/keystyle_devanagari_vowel_sign_o.xml50
-rw-r--r--java/res/xml-v16/keystyle_devanagari_vowel_sign_u.xml (renamed from java/res/xml-v16/keys_nepali_romanized1_right3.xml)42
-rw-r--r--java/res/xml-v16/keystyle_devanagari_vowel_sign_uu.xml (renamed from java/res/xml-v16/key_hindi3_shift_right.xml)29
-rw-r--r--java/res/xml/kbd_armenian_phonetic.xml31
-rw-r--r--java/res/xml/kbd_nepali_traditional.xml26
-rw-r--r--java/res/xml/key_armenian_sha.xml (renamed from java/res/xml-v16/key_nepali_romanized2_shift.xml)8
-rw-r--r--java/res/xml/key_armenian_xeh.xml28
-rw-r--r--java/res/xml/key_devanagari_sign_anusvara.xml (renamed from java/res/xml/key_nepali_romanized3_shift_center.xml)4
-rw-r--r--java/res/xml/key_devanagari_sign_candrabindu.xml (renamed from java/res/xml/key_nepali_romanized3_shift_left.xml)20
-rw-r--r--java/res/xml/key_devanagari_sign_nukta.xml (renamed from java/res/xml/key_hindi3_right.xml)28
-rw-r--r--java/res/xml/key_devanagari_vowel_sign_candra_o.xml (renamed from java/res/xml/key_nepali_romanized3.xml)10
-rw-r--r--java/res/xml/key_devanagari_vowel_sign_vocalic_r.xml (renamed from java/res/xml/keys_nepali_romanized1_shift_left2.xml)34
-rw-r--r--java/res/xml/key_hindi3_shift_right.xml36
-rw-r--r--java/res/xml/key_nepali_romanized2_shift.xml34
-rw-r--r--java/res/xml/key_nepali_traditional_period.xml49
-rw-r--r--java/res/xml/key_styles_common.xml27
-rw-r--r--java/res/xml/keyboard_layout_set_armenian_phonetic.xml39
-rw-r--r--java/res/xml/keyboard_layout_set_nepali_traditional.xml55
-rw-r--r--java/res/xml/keys_hindi1_left5.xml85
-rw-r--r--java/res/xml/keys_hindi2_left5.xml69
-rw-r--r--java/res/xml/keys_hindi3_left2.xml40
-rw-r--r--java/res/xml/keystyle_devanagari_sign_virama.xml (renamed from java/res/xml/key_nepali_romanized3_shift_right.xml)7
-rw-r--r--java/res/xml/keystyle_devanagari_sign_visarga.xml (renamed from java/res/xml/key_hindi1_shift.xml)7
-rw-r--r--java/res/xml/keystyle_devanagari_vowel_sign_aa.xml (renamed from java/res/xml/key_nepali_romanized2.xml)24
-rw-r--r--java/res/xml/keystyle_devanagari_vowel_sign_ai.xml59
-rw-r--r--java/res/xml/keystyle_devanagari_vowel_sign_au.xml (renamed from java/res/xml/keys_nepali_romanized1_left2.xml)38
-rw-r--r--java/res/xml/keystyle_devanagari_vowel_sign_e.xml59
-rw-r--r--java/res/xml/keystyle_devanagari_vowel_sign_i.xml (renamed from java/res/xml/key_hindi3_shift_left.xml)31
-rw-r--r--java/res/xml/keystyle_devanagari_vowel_sign_ii.xml (renamed from java/res/xml/keys_nepali_romanized1_shift_right2.xml)29
-rw-r--r--java/res/xml/keystyle_devanagari_vowel_sign_o.xml (renamed from java/res/xml/keys_nepali_romanized1_right3.xml)48
-rw-r--r--java/res/xml/keystyle_devanagari_vowel_sign_u.xml52
-rw-r--r--java/res/xml/keystyle_devanagari_vowel_sign_uu.xml52
-rw-r--r--java/res/xml/method.xml16
-rw-r--r--java/res/xml/row_qwerty4.xml7
-rw-r--r--java/res/xml/row_symbols4.xml2
-rw-r--r--java/res/xml/rowkeys_armenian_phonetic1.xml84
-rw-r--r--java/res/xml/rowkeys_armenian_phonetic2.xml66
-rw-r--r--java/res/xml/rowkeys_armenian_phonetic3.xml60
-rw-r--r--java/res/xml/rowkeys_armenian_phonetic4.xml (renamed from java/res/xml-v16/keys_hindi3_left2.xml)32
-rw-r--r--java/res/xml/rowkeys_hindi1.xml59
-rw-r--r--java/res/xml/rowkeys_hindi2.xml36
-rw-r--r--java/res/xml/rowkeys_hindi3.xml26
-rw-r--r--java/res/xml/rowkeys_nepali_romanized1.xml80
-rw-r--r--java/res/xml/rowkeys_nepali_romanized2.xml16
-rw-r--r--java/res/xml/rowkeys_nepali_romanized3.xml30
-rw-r--r--java/res/xml/rowkeys_nepali_traditional1.xml175
-rw-r--r--java/res/xml/rowkeys_nepali_traditional2.xml139
-rw-r--r--java/res/xml/rowkeys_nepali_traditional3_left6.xml83
-rw-r--r--java/res/xml/rowkeys_nepali_traditional3_right3.xml65
-rw-r--r--java/res/xml/rowkeys_nepali_traditional3_right5.xml91
-rw-r--r--java/res/xml/rows_armenian_phonetic.xml62
-rw-r--r--java/res/xml/rows_nepali_traditional.xml54
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java22
-rw-r--r--java/src/com/android/inputmethod/keyboard/ProximityInfo.java4
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyStylesSet.java10
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java20
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java22
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java28
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java3
88 files changed, 2585 insertions, 707 deletions
diff --git a/java/res/layout/input_view.xml b/java/res/layout/input_view.xml
index 78217b01a..86bd1e6c7 100644
--- a/java/res/layout/input_view.xml
+++ b/java/res/layout/input_view.xml
@@ -20,26 +20,33 @@
<com.android.inputmethod.latin.InputView
xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="bottom|center_horizontal"
->
- <!-- To ensure that key preview popup is correctly placed when the current system locale is
- one of RTL locales, layoutDirection="ltr" is needed in the SDK version 17+. -->
- <com.android.inputmethod.latin.suggestions.SuggestionStripView
- android:id="@+id/suggestion_strip_view"
- android:layoutDirection="ltr"
- android:layout_width="match_parent"
- android:layout_height="@dimen/suggestions_strip_height"
- android:paddingRight="@dimen/suggestions_strip_padding"
- android:paddingLeft="@dimen/suggestions_strip_padding"
- style="?attr/suggestionStripViewStyle" />
- <!-- To ensure that key preview popup is correctly placed when the current system locale is
- one of RTL locales, layoutDirection="ltr" is needed in the SDK version 17+. -->
- <com.android.inputmethod.keyboard.MainKeyboardView
- android:id="@+id/keyboard_view"
- android:layoutDirection="ltr"
+ android:orientation="vertical" >
+ <include
+ layout="@layout/emoji_keyboard_view" />
+ <LinearLayout
+ android:id="@+id/main_keyboard_frame"
android:layout_width="wrap_content"
- android:layout_height="wrap_content" />
+ android:layout_height="wrap_content"
+ android:orientation="vertical" >
+ <!-- To ensure that key preview popup is correctly placed when the current system locale is
+ one of RTL locales, layoutDirection="ltr" is needed in the SDK version 17+. -->
+ <com.android.inputmethod.latin.suggestions.SuggestionStripView
+ android:id="@+id/suggestion_strip_view"
+ android:layoutDirection="ltr"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/suggestions_strip_height"
+ android:paddingRight="@dimen/suggestions_strip_padding"
+ android:paddingLeft="@dimen/suggestions_strip_padding"
+ style="?attr/suggestionStripViewStyle" />
+ <!-- To ensure that key preview popup is correctly placed when the current system locale is
+ one of RTL locales, layoutDirection="ltr" is needed in the SDK version 17+. -->
+ <com.android.inputmethod.keyboard.MainKeyboardView
+ android:id="@+id/keyboard_view"
+ android:layoutDirection="ltr"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
+ </LinearLayout>
</com.android.inputmethod.latin.InputView>
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 589adecad..631c35d87 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -379,6 +379,7 @@
</declare-styleable>
<declare-styleable name="Keyboard_Case">
+ <attr name="keyboardLayoutSet" format="string" />
<!-- This should be aligned with KeyboardLayoutSet_Element's elementName. -->
<attr name="keyboardLayoutSetElement" format="enum|string">
<enum name="alphabet" value="0" />
diff --git a/java/res/values/emoji-categories.xml b/java/res/values/emoji-categories.xml
index 8f3dead88..ce82a8b40 100644
--- a/java/res/values/emoji-categories.xml
+++ b/java/res/values/emoji-categories.xml
@@ -36,26 +36,73 @@
name="emoji_nature"
format="string"
>
+ <item>2744</item> <!-- SNOWFLAKE -->
</array>
<array
name="emoji_symbols"
format="string"
>
+ <item>2460</item> <!-- CIRCLED DIGIT ONE -->
+ <item>2461</item> <!-- CIRCLED DIGIT TWO -->
+ <item>2462</item> <!-- CIRCLED DIGIT THREE -->
+ <item>2463</item> <!-- CIRCLED DIGIT FOUR -->
+ <item>2464</item> <!-- CIRCLED DIGIT FIVE -->
+ <item>2465</item> <!-- CIRCLED DIGIT SIX -->
+ <item>2466</item> <!-- CIRCLED DIGIT SEVEN -->
+ <item>2467</item> <!-- CIRCLED DIGIT EIGHT -->
+ <item>2468</item> <!-- CIRCLED DIGIT NINE -->
+ <item>2469</item> <!-- CIRCLED DIGIT TEN -->
+ <item>00ae</item> <!-- REGISTERED SIGN -->
+ <item>00a9</item> <!-- COPYRIGHT SIGN -->
+ <item>2122</item> <!-- TRADE MARK SIGN -->
+ <item>2734</item> <!-- EIGHT POINTED BLACK STAR -->
+ <item>2733</item> <!-- EIGHT POINTED PINWHEEL STAR -->
+ <item>2716</item> <!-- HEAVY MULTIPLICATION MARK -->
+ <item>2195</item> <!-- UP DOWN ARROW -->
+ <item>2197</item> <!-- NORTH EAST ARROW -->
+ <item>27a1</item> <!-- BLACK RIGHTWARDS ARROW -->
+ <item>2198</item> <!-- SOUTH EAST ARROW -->
+ <item>2199</item> <!-- SOUTH WEST ARROW -->
+ <item>2196</item> <!-- NORTH EAST ARROW -->
+ <item>2194</item> <!-- LEFT RIGHT ARROW -->
+ <item>25c0</item> <!-- BLACK LEFT-POINTING TRIANGLE -->
+ <item>25b6</item> <!-- BLACK ROGHT-POINTING TRIANGLE -->
+ <item>2747</item> <!-- SPARKLE -->
+ <item>25aa</item> <!-- BLACK SMALL SQUARE -->
+ <item>203c</item> <!-- DOUBLE EXCLAMATION MARK -->
+ <item>2660</item> <!-- BLACK SPADE SUIT -->
+ <item>2665</item> <!-- BLACK HEART SUIT -->
+ <item>2663</item> <!-- BLACK CLUB SUIT -->
+ <item>2666</item> <!-- BLACK DIAMOND SUIT -->
+ <item>21a9</item> <!-- LEFTWARDS ARROW WITH HOOK -->
+ <item>21aa</item> <!-- RIGHTWARDS ARROW WITH HOOK -->
</array>
<array
name="emoji_faces"
format="string"
>
+ <item>270C</item> <!-- VICTORY HAND -->
+ <item>2764</item> <!-- HEAVY BLACK HEART -->
</array>
<array
name="emoji_objects"
format="string"
>
+ <item>260e</item> <!-- BLACK TELEPHONE -->
+ <item>2709</item> <!-- ENVELOPE -->
+ <item>2712</item> <!-- BLACK NIB -->
+ <item>270f</item> <!-- PENCIL -->
+ <item>2702</item> <!-- BLACK SCISSORS -->
+ <item>2669</item> <!-- QUARTER NOTE -->
+ <item>266a</item> <!-- EIGHTH NOTE -->
+ <item>266c</item> <!-- BEAMED SIXTEENTH NOTES -->
</array>
<array
name="emoji_places"
format="string"
>
+ <item>2708</item> <!-- AIRPLANE -->
+ <item>2668</item> <!-- HOT SPRINGS -->
</array>
<array
name="emoji_emoticons"
diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml
index 828ad6d53..69da1e862 100644
--- a/java/res/values/strings.xml
+++ b/java/res/values/strings.xml
@@ -371,6 +371,8 @@
<!-- Description for Spanish (United States) keyboard subtype with explicit keyboard layout [CHAR LIMIT=25]
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="layout">%s</xliff:g>)</string>
+ <!-- Description for Nepali (Traditional) keyboard subtype [CHAR LIMIT=25] -->
+ <string name="subtype_nepali_traditional"><xliff:g id="language">%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]
<string name="subtype_serbian_cyrillic">Serbian (Cyrillic)</string>
diff --git a/java/res/values/themes-common.xml b/java/res/values/themes-common.xml
index 473a1257e..8e9cfc90b 100644
--- a/java/res/values/themes-common.xml
+++ b/java/res/values/themes-common.xml
@@ -104,7 +104,14 @@
<style
name="MainKeyboardView"
parent="KeyboardView" />
- <style name="EmojiKeyboardView" />
+ <!-- Though {@link EmojiKeyboardView} doesn't extend {@link KeyboardView}, some views inside it,
+ for instance delete button, need themed {@link KeyboardView} attributes. -->
+ <style
+ name="EmojiKeyboardView"
+ parent="KeyboardView"
+ >
+ <item name="emojiTabLabelColor">@color/emoji_tab_label_color_ics</item>
+ </style>
<style name="MoreKeysKeyboard" />
<style
name="MoreKeysKeyboardView"
diff --git a/java/res/values/themes-gb.xml b/java/res/values/themes-gb.xml
index d39003d94..7f8dd235b 100644
--- a/java/res/values/themes-gb.xml
+++ b/java/res/values/themes-gb.xml
@@ -96,6 +96,8 @@
<item name="spacebarTextColor">@color/spacebar_text_color_gb</item>
<item name="spacebarTextShadowColor">@color/spacebar_text_shadow_color_gb</item>
</style>
+ <!-- Though {@link EmojiKeyboardView} doesn't extend {@link KeyboardView}, some views inside it,
+ for instance delete button, need themed {@link KeyboardView} attributes. -->
<style
name="EmojiKeyboardView.GB"
parent="KeyboardView.GB"
diff --git a/java/res/values/themes-ics.xml b/java/res/values/themes-ics.xml
index f5b74838b..f3b6b1321 100644
--- a/java/res/values/themes-ics.xml
+++ b/java/res/values/themes-ics.xml
@@ -97,6 +97,8 @@
<item name="spacebarTextColor">@color/spacebar_text_color_ics</item>
<item name="spacebarTextShadowColor">@color/spacebar_text_shadow_color_ics</item>
</style>
+ <!-- Though {@link EmojiKeyboardView} doesn't extend {@link KeyboardView}, some views inside it,
+ for instance delete button, need themed {@link KeyboardView} attributes. -->
<style
name="EmojiKeyboardView.ICS"
parent="KeyboardView.ICS"
diff --git a/java/res/xml-sw600dp/key_f2.xml b/java/res/xml-sw600dp/key_f2.xml
index ca3b30b54..56f233da9 100644
--- a/java/res/xml-sw600dp/key_f2.xml
+++ b/java/res/xml-sw600dp/key_f2.xml
@@ -39,7 +39,7 @@
</case>
<default>
<Key
- latin:keyStyle="smileyKeyStyle" />
+ latin:keyStyle="emojiKeyStyle" />
</default>
</switch>
</merge>
diff --git a/java/res/xml-sw600dp/key_styles_common.xml b/java/res/xml-sw600dp/key_styles_common.xml
index fc9342b91..3b20281be 100644
--- a/java/res/xml-sw600dp/key_styles_common.xml
+++ b/java/res/xml-sw600dp/key_styles_common.xml
@@ -123,7 +123,8 @@
latin:styleName="emojiKeyStyle"
latin:code="!code/key_emoji"
latin:keyIcon="!icon/emoji_key"
- latin:keyActionFlags="noKeyPreview" />
+ latin:keyActionFlags="noKeyPreview"
+ latin:backgroundType="functional" />
<key-style
latin:styleName="settingsKeyStyle"
latin:code="!code/key_settings"
diff --git a/java/res/xml-sw600dp/rows_armenian_phonetic.xml b/java/res/xml-sw600dp/rows_armenian_phonetic.xml
new file mode 100644
index 000000000..8a6710b7f
--- /dev/null
+++ b/java/res/xml-sw600dp/rows_armenian_phonetic.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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.0%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_armenian_phonetic1" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="fillRight" />
+ </Row>
+ <Row
+ latin:keyWidth="9.0%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_armenian_phonetic2" />
+ <include
+ latin:keyboardLayout="@xml/key_armenian_xeh" />
+ </Row>
+ <Row
+ latin:keyWidth="9.0%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_armenian_phonetic3" />
+ <include
+ latin:keyboardLayout="@xml/key_armenian_sha" />
+ <Key
+ latin:keyStyle="enterKeyStyle"
+ latin:keyWidth="fillRight" />
+ </Row>
+ <Row
+ latin:keyWidth="8.8889%p"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="10.0%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_armenian_phonetic4" />
+ <include
+ latin:keyboardLayout="@xml/keys_comma_period" />
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="fillRight" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/row_qwerty4" />
+</merge>
diff --git a/java/res/xml-sw600dp/rows_nepali_traditional.xml b/java/res/xml-sw600dp/rows_nepali_traditional.xml
new file mode 100644
index 000000000..90703da76
--- /dev/null
+++ b/java/res/xml-sw600dp/rows_nepali_traditional.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_nepali_traditional1" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="fillRight" />
+ </Row>
+ <Row
+ latin:keyWidth="8.182%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_nepali_traditional2" />
+ <Key
+ latin:keyStyle="enterKeyStyle"
+ latin:keyWidth="fillRight" />
+ </Row>
+ <Row
+ latin:keyWidth="8.182%p"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="10.0%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_nepali_traditional3_left6" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_nepali_traditional3_right5" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/row_qwerty4" />
+</merge>
diff --git a/java/res/xml-sw768dp/key_styles_common.xml b/java/res/xml-sw768dp/key_styles_common.xml
index 538930948..5ee9ac591 100644
--- a/java/res/xml-sw768dp/key_styles_common.xml
+++ b/java/res/xml-sw768dp/key_styles_common.xml
@@ -113,7 +113,8 @@
latin:styleName="emojiKeyStyle"
latin:code="!code/key_emoji"
latin:keyIcon="!icon/emoji_key"
- latin:keyActionFlags="noKeyPreview" />
+ latin:keyActionFlags="noKeyPreview"
+ latin:backgroundType="functional" />
<key-style
latin:styleName="settingsKeyStyle"
latin:code="!code/key_settings"
diff --git a/java/res/xml-sw768dp/rows_armenian_phonetic.xml b/java/res/xml-sw768dp/rows_armenian_phonetic.xml
new file mode 100644
index 000000000..b130e04ff
--- /dev/null
+++ b/java/res/xml-sw768dp/rows_armenian_phonetic.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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.282%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_armenian_phonetic1"
+ latin:keyXPos="4.8355%p" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="fillRight"/>
+ </Row>
+ <Row
+ latin:keyWidth="8.282%p"
+ >
+ <Key
+ latin:keyStyle="tabKeyStyle"
+ latin:keyLabelFlags="alignLeft"
+ latin:keyWidth="8.898%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_armenian_phonetic2" />
+ <include
+ latin:keyboardLayout="@xml/key_armenian_xeh" />
+ </Row>
+ <Row
+ latin:keyWidth="8.125%p"
+ >
+ <Key
+ latin:keyStyle="toSymbolKeyStyle"
+ latin:keyLabelFlags="alignLeft"
+ latin:keyWidth="9.375%p"/>
+ <include
+ latin:keyboardLayout="@xml/rowkeys_armenian_phonetic3" />
+ <include
+ latin:keyboardLayout="@xml/key_armenian_sha" />
+ <Key
+ latin:keyStyle="enterKeyStyle"
+ latin:keyWidth="fillRight" />
+ </Row>
+ <Row
+ latin:keyWidth="8.125%p"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="13.4375%p"/>
+ <include
+ latin:keyboardLayout="@xml/rowkeys_armenian_phonetic4" />
+ <include
+ latin:keyboardLayout="@xml/keys_comma_period" />
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="fillRight" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/row_qwerty4" />
+</merge>
diff --git a/java/res/xml-sw768dp/rows_nepali_traditional.xml b/java/res/xml-sw768dp/rows_nepali_traditional.xml
new file mode 100644
index 000000000..6d4b89f1e
--- /dev/null
+++ b/java/res/xml-sw768dp/rows_nepali_traditional.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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="7.375%p"
+ >
+ <Key
+ latin:keyStyle="tabKeyStyle"
+ latin:keyLabelFlags="alignLeft"
+ latin:keyWidth="7.969%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_nepali_traditional1" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="fillRight" />
+ </Row>
+ <Row
+ latin:keyWidth="7.227%p"
+ >
+ <Key
+ latin:keyStyle="toSymbolKeyStyle"
+ latin:keyLabelFlags="alignLeft"
+ latin:keyWidth="11.172%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_nepali_traditional2" />
+ <Key
+ latin:keyStyle="enterKeyStyle"
+ latin:keyWidth="fillRight" />
+ </Row>
+ <Row
+ latin:keyWidth="7.000%p"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="13.829%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_nepali_traditional3_left6" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_nepali_traditional3_right5" />
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="fillRight" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/row_qwerty4" />
+</merge>
diff --git a/java/res/xml-v16/key_nepali_romanized3_shift_center.xml b/java/res/xml-v16/key_devanagari_sign_anusvara.xml
index 5b27b66d9..27c7bff5a 100644
--- a/java/res/xml-v16/key_nepali_romanized3_shift_center.xml
+++ b/java/res/xml-v16/key_devanagari_sign_anusvara.xml
@@ -20,8 +20,8 @@
<!-- The code point U+25CC for key label is needed because the font rendering system prior to
API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_nepali*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_nepali*.xml don't have this hack. -->
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
diff --git a/java/res/xml-v16/key_nepali_romanized3_shift_left.xml b/java/res/xml-v16/key_devanagari_sign_candrabindu.xml
index 5d153702b..03017dd78 100644
--- a/java/res/xml-v16/key_nepali_romanized3_shift_left.xml
+++ b/java/res/xml-v16/key_devanagari_sign_candrabindu.xml
@@ -20,13 +20,29 @@
<!-- The code point U+25CC for key label is needed because the font rendering system prior to
API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_nepali*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_nepali*.xml don't have this hack. -->
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
+ <switch>
+ <case
+ latin:keyboardLayoutSet="hindi"
+ >
+ <!-- U+0901: "ँ" DEVANAGARI SIGN CANDRABINDU
+ U+0945: "ॅ" DEVANAGARI VOWEL SIGN CANDRA E -->
+ <key-style
+ latin:styleName="moreKeysDevanagariSignCandrabindu"
+ latin:moreKeys="&#x0945;" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="moreKeysDevanagariSignCandrabindu" />
+ </default>
+ </switch>
<!-- U+0901: "ँ" DEVANAGARI SIGN CANDRABINDU -->
<Key
+ latin:keyStyle="moreKeysDevanagariSignCandrabindu"
latin:keyLabel="&#x0901;"
latin:keyLabelFlags="fontNormal" />
</merge>
diff --git a/java/res/xml-v16/key_hindi3_right.xml b/java/res/xml-v16/key_devanagari_sign_nukta.xml
index 232810f98..09c347706 100644
--- a/java/res/xml-v16/key_hindi3_right.xml
+++ b/java/res/xml-v16/key_devanagari_sign_nukta.xml
@@ -20,17 +20,30 @@
<!-- The code point U+25CC for key label is needed because the font rendering system prior to
API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_hindi*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_hindi*.xml don't have this hack. -->
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
- <!-- U+093C: "़" DEVANAGARI SIGN NUKTA
- U+097D: "ॽ" DEVANAGARI LETTER GLOTTAL STOP
- U+0970: "॰" DEVANAGARI ABBREVIATION SIGN
- U+093D: "ऽ" DEVANAGARI SIGN AVAGRAHA -->
+ <switch>
+ <case
+ latin:keyboardLayoutSet="hindi"
+ >
+ <!-- U+097D: "ॽ" DEVANAGARI LETTER GLOTTAL STOP
+ U+0970: "॰" DEVANAGARI ABBREVIATION SIGN
+ U+093D: "ऽ" DEVANAGARI SIGN AVAGRAHA -->
+ <key-style
+ latin:styleName="moreKeysDevanagariSignNukta"
+ latin:moreKeys="&#x097D;,&#x0970;,&#x093D;" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="moreKeysDevanagariSignNukta" />
+ </default>
+ </switch>
+ <!-- U+093C: "़" DEVANAGARI SIGN NUKTA -->
<Key
+ latin:keyStyle="moreKeysDevanagariSignNukta"
latin:keyLabel="&#x093C;"
- latin:moreKeys="&#x097D;,&#x0970;,&#x093D;"
latin:keyLabelFlags="fontNormal" />
</merge>
diff --git a/java/res/xml-v16/key_nepali_romanized3.xml b/java/res/xml-v16/key_devanagari_vowel_sign_candra_o.xml
index 4dad7bdad..0316a7bde 100644
--- a/java/res/xml-v16/key_nepali_romanized3.xml
+++ b/java/res/xml-v16/key_devanagari_vowel_sign_candra_o.xml
@@ -20,13 +20,13 @@
<!-- The code point U+25CC for key label is needed because the font rendering system prior to
API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_nepali*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_nepali*.xml don't have this hack. -->
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
- <!-- U+094D: "्" DEVANAGARI SIGN VIRAMA -->
+ <!-- U+0949: "ॉ" DEVANAGARI VOWEL SIGN CANDRA O -->
<Key
- latin:keyLabel="&#x094D;"
+ latin:keyLabel="&#x0949;"
latin:keyLabelFlags="fontNormal" />
</merge>
diff --git a/java/res/xml-v16/keys_nepali_romanized1_shift_left2.xml b/java/res/xml-v16/key_devanagari_vowel_sign_vocalic_r.xml
index a3d97e7df..4dd3e85cc 100644
--- a/java/res/xml-v16/keys_nepali_romanized1_shift_left2.xml
+++ b/java/res/xml-v16/key_devanagari_vowel_sign_vocalic_r.xml
@@ -20,17 +20,36 @@
<!-- The code point U+25CC for key label is needed because the font rendering system prior to
API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_nepali*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_nepali*.xml don't have this hack. -->
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
- <!-- U+0948: "ै" DEVANAGARI VOWEL SIGN AI -->
- <Key
- latin:keyLabel="&#x0948;"
- latin:keyLabelFlags="fontNormal" />
+ <switch>
+ <case
+ latin:keyboardLayoutSet="hindi"
+ >
+ <!-- U+0944: "ॄ" DEVANAGARI VOWEL SIGN VOCALIC RR -->
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignVocalicR"
+ latin:moreKeys="&#x0944;" />
+ </case>
+ <case
+ latin:keyboardLayoutSet="nepali_traditional"
+ >
+ <!-- U+0913: "ओ" DEVANAGARI LETTER O -->
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignVocalicR"
+ latin:moreKeys="&#x0913;" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignVocalicR" />
+ </default>
+ </switch>
<!-- U+0943: "ृ" DEVANAGARI VOWEL SIGN VOCALIC R -->
<Key
+ latin:keyStyle="moreKeysDevanagariVowelSignVocalicR"
latin:keyLabel="&#x0943;"
latin:keyLabelFlags="fontNormal" />
</merge>
diff --git a/java/res/xml-v16/keys_hindi1_left5.xml b/java/res/xml-v16/keys_hindi1_left5.xml
deleted file mode 100644
index e3ad299ff..000000000
--- a/java/res/xml-v16/keys_hindi1_left5.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2013, 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.
-*/
--->
-
-<!-- The code point U+25CC for key label is needed because the font rendering system prior to
- API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_hindi*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_hindi*.xml don't have this hack. -->
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+094C: "ौ" DEVANAGARI VOWEL SIGN AU
- U+094C/U+0902: "ौं" DEVANAGARI VOWEL SIGN AU/DEVANAGARI SIGN ANUSVARA
- U+0967: "१" DEVANAGARI DIGIT ONE -->
- <Key
- latin:keyLabel="&#x094C;"
- latin:moreKeys="&#x094C;&#x0902;,%"
- latin:keyHintLabel="1"
- latin:additionalMoreKeys="&#x0967;,1"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0948: "ै" DEVANAGARI VOWEL SIGN AI
- U+0948/U+0902: "ैं" DEVANAGARI VOWEL SIGN AI/DEVANAGARI SIGN ANUSVARA
- U+0968: "२" DEVANAGARI DIGIT TWO -->
- <Key
- latin:keyLabel="&#x0948;"
- latin:moreKeys="&#x0948;&#x0902;,%"
- latin:keyHintLabel="2"
- latin:additionalMoreKeys="&#x0968;,2"
- latin:keyLabelFlags="fontNormal" />
- <!-- 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
- latin:keyLabel="&#x093E;"
- latin:moreKeys="&#x093E;&#x0902;,&#x093E;&#x0901;,%"
- latin:keyHintLabel="3"
- latin:additionalMoreKeys="&#x0969;,3"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0940: "ी" DEVANAGARI VOWEL SIGN II
- U+0940/U+0902: "ीं" DEVANAGARI VOWEL SIGN II/DEVANAGARI SIGN ANUSVARA
- U+096A: "४" DEVANAGARI DIGIT FOUR -->
- <Key
- latin:keyLabel="&#x0940;"
- latin:moreKeys="&#x0940;&#x0902;,%"
- latin:keyHintLabel="4"
- latin:additionalMoreKeys="&#x096A;,4"
- latin:keyLabelFlags="fontNormal" />
- <!-- 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
- latin:keyLabel="&#x0942;"
- latin:moreKeys="&#x0942;&#x0902;,&#x0942;&#x0901;,%"
- latin:keyHintLabel="5"
- latin:additionalMoreKeys="&#x096B;,5"
- latin:keyLabelFlags="fontNormal" />
-</merge>
diff --git a/java/res/xml-v16/keys_hindi2_left5.xml b/java/res/xml-v16/keys_hindi2_left5.xml
deleted file mode 100644
index 05c4f57e9..000000000
--- a/java/res/xml-v16/keys_hindi2_left5.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2013, 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.
-*/
--->
-
-<!-- The code point U+25CC for key label is needed because the font rendering system prior to
- API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_hindi*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_hindi*.xml don't have this hack. -->
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+094B: "ो" DEVANAGARI VOWEL SIGN O
- 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
- latin:keyLabel="&#x094B;"
- latin:moreKeys="&#x094B;&#x0902;,&#x0949;,&#x094A;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0947: "े" DEVANAGARI VOWEL SIGN E
- U+0947/U+0902: "ें" DEVANAGARI VOWEL SIGN E/DEVANAGARI SIGN ANUSVARA -->
- <Key
- latin:keyLabel="&#x0947;"
- latin:moreKeys="&#x0947;&#x0902;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+094D: "्" DEVANAGARI SIGN VIRAMA -->
- <Key
- latin:keyLabel="&#x094D;"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+093F: "ि" DEVANAGARI VOWEL SIGN I
- U+093F/U+0902: "िं" DEVANAGARI VOWEL SIGN I/DEVANAGARI SIGN ANUSVARA -->
- <Key
- latin:keyLabel="&#x093F;"
- latin:moreKeys="&#x093F;&#x0902;"
- latin:keyLabelFlags="fontNormal" />
- <!-- 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
- latin:keyLabel="&#x0941;"
- latin:moreKeys="&#x0941;&#x0902;,&#x0941;&#x0901;"
- latin:keyLabelFlags="fontNormal" />
-</merge>
diff --git a/java/res/xml-v16/key_nepali_romanized3_shift_right.xml b/java/res/xml-v16/keystyle_devanagari_sign_virama.xml
index 4dad7bdad..a2fbf53d3 100644
--- a/java/res/xml-v16/key_nepali_romanized3_shift_right.xml
+++ b/java/res/xml-v16/keystyle_devanagari_sign_virama.xml
@@ -20,13 +20,14 @@
<!-- The code point U+25CC for key label is needed because the font rendering system prior to
API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_nepali*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_nepali*.xml don't have this hack. -->
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
<!-- U+094D: "्" DEVANAGARI SIGN VIRAMA -->
- <Key
+ <key-style
+ latin:styleName="baseKeyDevanagariSignVirama"
latin:keyLabel="&#x094D;"
latin:keyLabelFlags="fontNormal" />
</merge>
diff --git a/java/res/xml-v16/key_hindi1_shift.xml b/java/res/xml-v16/keystyle_devanagari_sign_visarga.xml
index 19b964367..ac56cb77b 100644
--- a/java/res/xml-v16/key_hindi1_shift.xml
+++ b/java/res/xml-v16/keystyle_devanagari_sign_visarga.xml
@@ -20,13 +20,14 @@
<!-- The code point U+25CC for key label is needed because the font rendering system prior to
API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_hindi*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_hindi*.xml don't have this hack. -->
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
<!-- U+0903: "ः" DEVANAGARI SIGN VISARGA -->
- <Key
+ <key-style
+ latin:styleName="baseKeyDevanagariSignVisarga"
latin:keyLabel="&#x0903;"
latin:keyLabelFlags="fontNormal" />
</merge>
diff --git a/java/res/xml-v16/key_nepali_romanized2.xml b/java/res/xml-v16/keystyle_devanagari_vowel_sign_aa.xml
index 88450989a..8e256032c 100644
--- a/java/res/xml-v16/key_nepali_romanized2.xml
+++ b/java/res/xml-v16/keystyle_devanagari_vowel_sign_aa.xml
@@ -20,13 +20,30 @@
<!-- The code point U+25CC for key label is needed because the font rendering system prior to
API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_nepali*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_nepali*.xml don't have this hack. -->
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
+ <switch>
+ <case
+ latin:keyboardLayoutSet="hindi"
+ >
+ <!-- U+093E/U+0902: "ां" DEVANAGARI VOWEL SIGN AA/DEVANAGARI SIGN ANUSVARA
+ U+093E/U+0901: "ाँ" DEVANAGARI VOWEL SIGN AA/DEVANAGARI SIGN CANDRABINDU -->
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignAa"
+ latin:moreKeys="&#x093E;&#x0902;,&#x093E;&#x0901;,%" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignAa" />
+ </default>
+ </switch>
<!-- U+093E: "ा" DEVANAGARI VOWEL SIGN AA -->
- <Key
+ <key-style
+ latin:styleName="baseKeyDevanagariVowelSignAa"
+ latin:parentStyle="moreKeysDevanagariVowelSignAa"
latin:keyLabel="&#x093E;"
latin:keyLabelFlags="fontNormal" />
</merge>
diff --git a/java/res/xml-v16/keystyle_devanagari_vowel_sign_ai.xml b/java/res/xml-v16/keystyle_devanagari_vowel_sign_ai.xml
new file mode 100644
index 000000000..e79033971
--- /dev/null
+++ b/java/res/xml-v16/keystyle_devanagari_vowel_sign_ai.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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.
+*/
+-->
+
+<!-- The code point U+25CC for key label is needed because the font rendering system prior to
+ API version 16 can't automatically render dotted circle for incomplete combining letter
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
+<merge
+ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+ <switch>
+ <case
+ latin:keyboardLayoutSet="hindi"
+ >
+ <!-- U+0948/U+0902: "ैं" DEVANAGARI VOWEL SIGN AI/DEVANAGARI SIGN ANUSVARA -->
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignAi"
+ latin:moreKeys="&#x0948;&#x0902;,%" />
+ </case>
+ <case
+ latin:keyboardLayoutSet="nepali_traditional"
+ >
+ <!-- U+0936/U+094D/U+0930: "श्र" DEVANAGARI LETTER SHA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER RA -->
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignAi"
+ latin:moreKeys="&#x0936;&#x094D;&#x0930;" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignAi" />
+ </default>
+ </switch>
+ <!-- U+0948: "ै" DEVANAGARI VOWEL SIGN AI -->
+ <key-style
+ latin:styleName="baseKeyDevanagariVowelSignAi"
+ latin:parentStyle="moreKeysDevanagariVowelSignAi"
+ latin:keyLabel="&#x0948;"
+ latin:keyLabelFlags="fontNormal" />
+</merge>
diff --git a/java/res/xml-v16/keys_nepali_romanized1_left2.xml b/java/res/xml-v16/keystyle_devanagari_vowel_sign_au.xml
index d84524afc..43387a388 100644
--- a/java/res/xml-v16/keys_nepali_romanized1_left2.xml
+++ b/java/res/xml-v16/keystyle_devanagari_vowel_sign_au.xml
@@ -20,23 +20,29 @@
<!-- The code point U+25CC for key label is needed because the font rendering system prior to
API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_nepali*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_nepali*.xml don't have this hack. -->
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
- <!-- U+094C: "ौ" DEVANAGARI VOWEL SIGN AU
- U+0968: "२" DEVANAGARI DIGIT TWO -->
- <Key
+ <switch>
+ <case
+ latin:keyboardLayoutSet="hindi"
+ >
+ <!--U+094C/U+0902: "ौं" DEVANAGARI VOWEL SIGN AU/DEVANAGARI SIGN ANUSVARA -->
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignAu"
+ latin:moreKeys="&#x094C;&#x0902;,%" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignAu" />
+ </default>
+ </switch>
+ <!-- U+094C: "ौ" DEVANAGARI VOWEL SIGN AU -->
+ <key-style
+ latin:styleName="baseKeyDevanagariVowelSignAu"
+ latin:parentStyle="moreKeysDevanagariVowelSignAu"
latin:keyLabel="&#x094C;"
- latin:keyHintLabel="2"
- latin:additionalMoreKeys="&#x0968;,2"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+0947: "े" DEVANAGARI VOWEL SIGN E
- U+0969: "३" DEVANAGARI DIGIT THREE -->
- <Key
- latin:keyLabel="&#x0947;"
- latin:keyHintLabel="3"
- latin:additionalMoreKeys="&#x0969;,3"
latin:keyLabelFlags="fontNormal" />
</merge>
diff --git a/java/res/xml-v16/keystyle_devanagari_vowel_sign_e.xml b/java/res/xml-v16/keystyle_devanagari_vowel_sign_e.xml
new file mode 100644
index 000000000..c70d9d944
--- /dev/null
+++ b/java/res/xml-v16/keystyle_devanagari_vowel_sign_e.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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.
+*/
+-->
+
+<!-- The code point U+25CC for key label is needed because the font rendering system prior to
+ API version 16 can't automatically render dotted circle for incomplete combining letter
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
+<merge
+ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+ <switch>
+ <case
+ latin:keyboardLayoutSet="hindi"
+ >
+ <!-- U+0947/U+0902: "ें" DEVANAGARI VOWEL SIGN E/DEVANAGARI SIGN ANUSVARA -->
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignE"
+ latin:moreKeys="&#x0947;&#x0902;" />
+ </case>
+ <case
+ latin:keyboardLayoutSet="nepali_traditional"
+ >
+ <!-- U+0903: "ः‍" DEVANAGARI SIGN VISARGA
+ U+093D: "ऽ" DEVANAGARI SIGN AVAGRAHA -->
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignE"
+ latin:moreKeys="&#x0903;,&#x093D;" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignE" />
+ </default>
+ </switch>
+ <!-- U+0947: "े" DEVANAGARI VOWEL SIGN E -->
+ <key-style
+ latin:styleName="baseKeyDevanagariVowelSignE"
+ latin:parentStyle="moreKeysDevanagariVowelSignE"
+ latin:keyLabel="&#x0947;"
+ latin:keyLabelFlags="fontNormal" />
+</merge>
diff --git a/java/res/xml-v16/key_hindi3_shift_left.xml b/java/res/xml-v16/keystyle_devanagari_vowel_sign_i.xml
index 1eb1768a1..845c1b02e 100644
--- a/java/res/xml-v16/key_hindi3_shift_left.xml
+++ b/java/res/xml-v16/keystyle_devanagari_vowel_sign_i.xml
@@ -20,15 +20,29 @@
<!-- The code point U+25CC for key label is needed because the font rendering system prior to
API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_hindi*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_hindi*.xml don't have this hack. -->
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
- <!-- U+0901: "ँ" DEVANAGARI SIGN CANDRABINDU
- U+0945: "ॅ" DEVANAGARI VOWEL SIGN CANDRA E -->
- <Key
- latin:keyLabel="&#x0901;"
- latin:moreKeys="&#x0945;"
+ <switch>
+ <case
+ latin:keyboardLayoutSet="hindi"
+ >
+ <!-- U+093F/U+0902: "िं" DEVANAGARI VOWEL SIGN I/DEVANAGARI SIGN ANUSVARA -->
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignI"
+ latin:moreKeys="&#x093F;&#x0902;" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignI" />
+ </default>
+ </switch>
+ <!-- U+093F: "ि" DEVANAGARI VOWEL SIGN I -->
+ <key-style
+ latin:styleName="baseKeyDevanagariVowelSignI"
+ latin:parentStyle="moreKeysDevanagariVowelSignI"
+ latin:keyLabel="&#x093F;"
latin:keyLabelFlags="fontNormal" />
</merge>
diff --git a/java/res/xml-v16/keys_nepali_romanized1_shift_right2.xml b/java/res/xml-v16/keystyle_devanagari_vowel_sign_ii.xml
index 6ec97350c..0de9650be 100644
--- a/java/res/xml-v16/keys_nepali_romanized1_shift_right2.xml
+++ b/java/res/xml-v16/keystyle_devanagari_vowel_sign_ii.xml
@@ -20,17 +20,29 @@
<!-- The code point U+25CC for key label is needed because the font rendering system prior to
API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_nepali*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_nepali*.xml don't have this hack. -->
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
- <!-- U+0942: "ू" DEVANAGARI VOWEL SIGN UU -->
- <Key
- latin:keyLabel="&#x0942;"
- latin:keyLabelFlags="fontNormal" />
+ <switch>
+ <case
+ latin:keyboardLayoutSet="hindi"
+ >
+ <!-- U+0940/U+0902: "ीं" DEVANAGARI VOWEL SIGN II/DEVANAGARI SIGN ANUSVARA -->
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignIi"
+ latin:moreKeys="&#x0940;&#x0902;,%" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignIi" />
+ </default>
+ </switch>
<!-- U+0940: "ी" DEVANAGARI VOWEL SIGN II -->
- <Key
+ <key-style
+ latin:styleName="baseKeyDevanagariVowelSignIi"
+ latin:parentStyle="moreKeysDevanagariVowelSignIi"
latin:keyLabel="&#x0940;"
latin:keyLabelFlags="fontNormal" />
</merge>
diff --git a/java/res/xml-v16/keystyle_devanagari_vowel_sign_o.xml b/java/res/xml-v16/keystyle_devanagari_vowel_sign_o.xml
new file mode 100644
index 000000000..06f07fac9
--- /dev/null
+++ b/java/res/xml-v16/keystyle_devanagari_vowel_sign_o.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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.
+*/
+-->
+
+<!-- The code point U+25CC for key label is needed because the font rendering system prior to
+ API version 16 can't automatically render dotted circle for incomplete combining letter
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
+<merge
+ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+ <switch>
+ <case
+ latin:keyboardLayoutSet="hindi"
+ >
+ <!-- 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-style
+ latin:styleName="moreKeysDevanagariVowelSignO"
+ latin:moreKeys="&#x094B;&#x0902;,&#x0949;,&#x094A;" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignO" />
+ </default>
+ </switch>
+ <!-- U+094B: "ो" DEVANAGARI VOWEL SIGN O -->
+ <key-style
+ latin:styleName="baseKeyDevanagariVowelSignO"
+ latin:parentStyle="moreKeysDevanagariVowelSignO"
+ latin:keyLabel="&#x094B;"
+ latin:keyLabelFlags="fontNormal" />
+</merge>
diff --git a/java/res/xml-v16/keys_nepali_romanized1_right3.xml b/java/res/xml-v16/keystyle_devanagari_vowel_sign_u.xml
index 0105f13ff..469a27bdf 100644
--- a/java/res/xml-v16/keys_nepali_romanized1_right3.xml
+++ b/java/res/xml-v16/keystyle_devanagari_vowel_sign_u.xml
@@ -20,30 +20,30 @@
<!-- The code point U+25CC for key label is needed because the font rendering system prior to
API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_nepali*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_nepali*.xml don't have this hack. -->
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
- <!-- U+0941: "ु" DEVANAGARI VOWEL SIGN U
- U+096D: "७" DEVANAGARI DIGIT SEVEN -->
- <Key
+ <switch>
+ <case
+ latin:keyboardLayoutSet="hindi"
+ >
+ <!-- U+0941/U+0902: "ुं" DEVANAGARI VOWEL SIGN U/DEVANAGARI SIGN ANUSVARA
+ U+0941/U+0901: "ुँ" DEVANAGARI VOWEL SIGN U/DEVANAGARI SIGN CANDRABINDU -->
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignU"
+ latin:moreKeys="&#x0941;&#x0902;,&#x0941;&#x0901;" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignU" />
+ </default>
+ </switch>
+ <!-- U+0941: "ु" DEVANAGARI VOWEL SIGN U -->
+ <key-style
+ latin:styleName="baseKeyDevanagariVowelSignU"
+ latin:parentStyle="moreKeysDevanagariVowelSignU"
latin:keyLabel="&#x0941;"
- latin:keyHintLabel="7"
- latin:additionalMoreKeys="&#x096D;,7"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+093F: "ि" DEVANAGARI VOWEL SIGN I
- U+096E: "८" DEVANAGARI DIGIT EIGHT -->
- <Key
- latin:keyLabel="&#x093F;"
- latin:keyHintLabel="8"
- latin:additionalMoreKeys="&#x096E;,8"
- latin:keyLabelFlags="fontNormal" />
- <!-- U+094B: "ो" DEVANAGARI VOWEL SIGN O
- U+096F: "९" DEVANAGARI DIGIT NINE -->
- <Key
- latin:keyLabel="&#x094B;"
- latin:keyHintLabel="9"
- latin:additionalMoreKeys="&#x096F;,9"
latin:keyLabelFlags="fontNormal" />
</merge>
diff --git a/java/res/xml-v16/key_hindi3_shift_right.xml b/java/res/xml-v16/keystyle_devanagari_vowel_sign_uu.xml
index 0f26cb55c..25867c086 100644
--- a/java/res/xml-v16/key_hindi3_shift_right.xml
+++ b/java/res/xml-v16/keystyle_devanagari_vowel_sign_uu.xml
@@ -20,15 +20,30 @@
<!-- The code point U+25CC for key label is needed because the font rendering system prior to
API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_hindi*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_hindi*.xml don't have this hack. -->
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
- <!-- U+0943: "ृ" DEVANAGARI VOWEL SIGN VOCALIC R
- U+0944: "ॄ" DEVANAGARI VOWEL SIGN VOCALIC RR -->
- <Key
- latin:keyLabel="&#x0943;"
- latin:moreKeys="&#x0944;"
+ <switch>
+ <case
+ latin:keyboardLayoutSet="hindi"
+ >
+ <!-- U+0942/U+0902: "ूं" DEVANAGARI VOWEL SIGN UU/DEVANAGARI SIGN ANUSVARA
+ U+0942/U+0901: "ूँ" DEVANAGARI VOWEL SIGN UU/DEVANAGARI SIGN CANDRABINDU -->
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignUu"
+ latin:moreKeys="&#x0942;&#x0902;,&#x0942;&#x0901;,%" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignUu" />
+ </default>
+ </switch>
+ <!-- U+0942: "ू" DEVANAGARI VOWEL SIGN UU -->
+ <key-style
+ latin:styleName="baseKeyDevanagariVowelSignUu"
+ latin:parentStyle="moreKeysDevanagariVowelSignUu"
+ latin:keyLabel="&#x0942;"
latin:keyLabelFlags="fontNormal" />
</merge>
diff --git a/java/res/xml/kbd_armenian_phonetic.xml b/java/res/xml/kbd_armenian_phonetic.xml
new file mode 100644
index 000000000..1eb3c7e7d
--- /dev/null
+++ b/java/res/xml/kbd_armenian_phonetic.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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"
+ latin:rowHeight="20%p"
+ latin:verticalGap="@fraction/key_bottom_gap_5row"
+ latin:keyLetterSize="@fraction/key_letter_ratio_5row"
+ latin:keyShiftedLetterHintRatio="@fraction/key_uppercase_letter_ratio_5row"
+ latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
+>
+ <include
+ latin:keyboardLayout="@xml/rows_armenian_phonetic" />
+</Keyboard>
diff --git a/java/res/xml/kbd_nepali_traditional.xml b/java/res/xml/kbd_nepali_traditional.xml
new file mode 100644
index 000000000..6854e32bd
--- /dev/null
+++ b/java/res/xml/kbd_nepali_traditional.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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_nepali_traditional" />
+</Keyboard>
diff --git a/java/res/xml-v16/key_nepali_romanized2_shift.xml b/java/res/xml/key_armenian_sha.xml
index 0257b5f88..3865c1984 100644
--- a/java/res/xml-v16/key_nepali_romanized2_shift.xml
+++ b/java/res/xml/key_armenian_sha.xml
@@ -18,15 +18,11 @@
*/
-->
-<!-- The code point U+25CC for key label is needed because the font rendering system prior to
- API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_nepali*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_nepali*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
- <!-- U+0903: "ः" DEVANAGARI SIGN VISARGA -->
+ <!-- U+0577: "շ" ARMENIAN SMALL LETTER SHA -->
<Key
- latin:keyLabel="&#x0903;"
+ latin:keyLabel="&#x0577;"
latin:keyLabelFlags="fontNormal" />
</merge>
diff --git a/java/res/xml/key_armenian_xeh.xml b/java/res/xml/key_armenian_xeh.xml
new file mode 100644
index 000000000..007a5802d
--- /dev/null
+++ b/java/res/xml/key_armenian_xeh.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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+056D: "խ" ARMENIAN SMALL LETTER XEH -->
+ <Key
+ latin:keyLabel="&#x056D;"
+ latin:keyLabelFlags="fontNormal" />
+</merge>
diff --git a/java/res/xml/key_nepali_romanized3_shift_center.xml b/java/res/xml/key_devanagari_sign_anusvara.xml
index 147f67ab9..0acd3bcd4 100644
--- a/java/res/xml/key_nepali_romanized3_shift_center.xml
+++ b/java/res/xml/key_devanagari_sign_anusvara.xml
@@ -20,8 +20,8 @@
<!-- The code point U+25CC for key label is needed because the font rendering system prior to
API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_nepali*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_nepali*.xml don't have this hack. -->
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
diff --git a/java/res/xml/key_nepali_romanized3_shift_left.xml b/java/res/xml/key_devanagari_sign_candrabindu.xml
index d644fdf26..df0c4e054 100644
--- a/java/res/xml/key_nepali_romanized3_shift_left.xml
+++ b/java/res/xml/key_devanagari_sign_candrabindu.xml
@@ -20,14 +20,30 @@
<!-- The code point U+25CC for key label is needed because the font rendering system prior to
API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_nepali*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_nepali*.xml don't have this hack. -->
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
+ <switch>
+ <case
+ latin:keyboardLayoutSet="hindi"
+ >
+ <!-- U+25CC: "◌" DOTTED CIRCLE
+ U+0945: "ॅ" DEVANAGARI VOWEL SIGN CANDRA E -->
+ <key-style
+ latin:styleName="moreKeysDevanagariSignCandrabindu"
+ latin:moreKeys="&#x25CC;&#x0945;|&#x0945;" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="moreKeysDevanagariSignCandrabindu" />
+ </default>
+ </switch>
<!-- U+25CC: "◌" DOTTED CIRCLE
U+0901: "ँ" DEVANAGARI SIGN CANDRABINDU -->
<Key
+ latin:keyStyle="moreKeysDevanagariSignCandrabindu"
latin:keyLabel="&#x25CC;&#x0901;"
latin:code="0x0901"
latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
diff --git a/java/res/xml/key_hindi3_right.xml b/java/res/xml/key_devanagari_sign_nukta.xml
index 5a97355f6..f7a03ee90 100644
--- a/java/res/xml/key_hindi3_right.xml
+++ b/java/res/xml/key_devanagari_sign_nukta.xml
@@ -20,19 +20,33 @@
<!-- The code point U+25CC for key label is needed because the font rendering system prior to
API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_hindi*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_hindi*.xml don't have this hack. -->
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
+ <switch>
+ <case
+ latin:keyboardLayoutSet="hindi"
+ >
+ <!-- U+25CC: "◌" DOTTED CIRCLE
+ U+097D: "ॽ" DEVANAGARI LETTER GLOTTAL STOP
+ U+0970: "॰" DEVANAGARI ABBREVIATION SIGN
+ U+093D: "ऽ" DEVANAGARI SIGN AVAGRAHA -->
+ <key-style
+ latin:styleName="moreKeysDevanagariSignNukta"
+ latin:moreKeys="&#x25CC;&#x097D;|&#x097D;,&#x25CC;&#x0970;|&#x0970;,&#x25CC;&#x093D;|&#x093D;" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="moreKeysDevanagariSignNukta" />
+ </default>
+ </switch>
<!-- U+25CC: "◌" DOTTED CIRCLE
- U+093C: "़" DEVANAGARI SIGN NUKTA
- U+097D: "ॽ" DEVANAGARI LETTER GLOTTAL STOP
- U+0970: "॰" DEVANAGARI ABBREVIATION SIGN
- U+093D: "ऽ" DEVANAGARI SIGN AVAGRAHA -->
+ U+093C: "़" DEVANAGARI SIGN NUKTA -->
<Key
+ latin:keyStyle="moreKeysDevanagariSignNukta"
latin:keyLabel="&#x25CC;&#x093C;"
latin:code="0x093C"
- latin:moreKeys="&#x25CC;&#x097D;|&#x097D;,&#x25CC;&#x0970;|&#x0970;,&#x25CC;&#x093D;|&#x093D;"
latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
</merge>
diff --git a/java/res/xml/key_nepali_romanized3.xml b/java/res/xml/key_devanagari_vowel_sign_candra_o.xml
index 193c20281..370fc5405 100644
--- a/java/res/xml/key_nepali_romanized3.xml
+++ b/java/res/xml/key_devanagari_vowel_sign_candra_o.xml
@@ -20,15 +20,15 @@
<!-- The code point U+25CC for key label is needed because the font rendering system prior to
API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_nepali*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_nepali*.xml don't have this hack. -->
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
<!-- U+25CC: "◌" DOTTED CIRCLE
- U+094D: "्" DEVANAGARI SIGN VIRAMA -->
+ U+0949: "ॉ" DEVANAGARI VOWEL SIGN CANDRA O -->
<Key
- latin:keyLabel="&#x25CC;&#x094D;"
- latin:code="0x094D"
+ latin:keyLabel="&#x25CC;&#x0949;"
+ latin:code="0x0949"
latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
</merge>
diff --git a/java/res/xml/keys_nepali_romanized1_shift_left2.xml b/java/res/xml/key_devanagari_vowel_sign_vocalic_r.xml
index 3e147057b..f150d7ed9 100644
--- a/java/res/xml/keys_nepali_romanized1_shift_left2.xml
+++ b/java/res/xml/key_devanagari_vowel_sign_vocalic_r.xml
@@ -20,20 +20,38 @@
<!-- The code point U+25CC for key label is needed because the font rendering system prior to
API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_nepali*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_nepali*.xml don't have this hack. -->
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
- <!-- U+25CC: "◌" DOTTED CIRCLE
- U+0948: "ै" DEVANAGARI VOWEL SIGN AI -->
- <Key
- latin:keyLabel="&#x25CC;&#x0948;"
- latin:code="0x0948"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
+ <switch>
+ <case
+ latin:keyboardLayoutSet="hindi"
+ >
+ <!-- U+25CC: "◌" DOTTED CIRCLE
+ U+0944: "ॄ" DEVANAGARI VOWEL SIGN VOCALIC RR -->
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignVocalicR"
+ latin:moreKeys="&#x25CC;&#x0944;|&#x0944;" />
+ </case>
+ <case
+ latin:keyboardLayoutSet="nepali_traditional"
+ >
+ <!-- U+0913: "ओ" DEVANAGARI LETTER O -->
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignVocalicR"
+ latin:moreKeys="&#x0913;" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignVocalicR" />
+ </default>
+ </switch>
<!-- U+25CC: "◌" DOTTED CIRCLE
U+0943: "ृ" DEVANAGARI VOWEL SIGN VOCALIC R -->
<Key
+ latin:keyStyle="moreKeysDevanagariVowelSignVocalicR"
latin:keyLabel="&#x25CC;&#x0943;"
latin:code="0x0943"
latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
diff --git a/java/res/xml/key_hindi3_shift_right.xml b/java/res/xml/key_hindi3_shift_right.xml
deleted file mode 100644
index 0da116ab8..000000000
--- a/java/res/xml/key_hindi3_shift_right.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2013, 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.
-*/
--->
-
-<!-- The code point U+25CC for key label is needed because the font rendering system prior to
- API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_hindi*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_hindi*.xml don't have this hack. -->
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+25CC: "◌" DOTTED CIRCLE
- U+0943: "ृ" DEVANAGARI VOWEL SIGN VOCALIC R
- U+0944: "ॄ" DEVANAGARI VOWEL SIGN VOCALIC RR -->
- <Key
- latin:keyLabel="&#x25CC;&#x0943;"
- latin:code="0x0943"
- latin:moreKeys="&#x25CC;&#x0944;|&#x0944;"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
-</merge>
diff --git a/java/res/xml/key_nepali_romanized2_shift.xml b/java/res/xml/key_nepali_romanized2_shift.xml
deleted file mode 100644
index 157b7f69f..000000000
--- a/java/res/xml/key_nepali_romanized2_shift.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2013, 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.
-*/
--->
-
-<!-- The code point U+25CC for key label is needed because the font rendering system prior to
- API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_nepali*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_nepali*.xml don't have this hack. -->
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+25CC: "◌" DOTTED CIRCLE
- U+0903: "ः" DEVANAGARI SIGN VISARGA -->
- <Key
- latin:keyLabel="&#x25CC;&#x0903;"
- latin:code="0x0903"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
-</merge>
diff --git a/java/res/xml/key_nepali_traditional_period.xml b/java/res/xml/key_nepali_traditional_period.xml
new file mode 100644
index 000000000..0f575c50b
--- /dev/null
+++ b/java/res/xml/key_nepali_traditional_period.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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.
+*/
+-->
+
+<!-- The code point U+25CC for key label is needed because the font rendering system prior to
+ API version 16 can't automatically render dotted circle for incomplete combining letter
+ of Hindi. The files named res/xml/{key,keys}_nepali*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/{key,keys}_nepali*.xml don't have this hack. -->
+<merge
+ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+ <switch>
+ <case
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
+ >
+ <Key
+ latin:keyLabel=","
+ latin:backgroundType="functional" />
+ </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_virama" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariSignVirama"
+ latin:keyLabelFlags="hasPopupHint"
+ latin:moreKeys="!fixedColumnOrder!4,.,!text/more_keys_for_punctuation"
+ latin:backgroundType="functional" />
+ </default>
+ </switch>
+</merge>
diff --git a/java/res/xml/key_styles_common.xml b/java/res/xml/key_styles_common.xml
index dabe1e7eb..c1c2c3e06 100644
--- a/java/res/xml/key_styles_common.xml
+++ b/java/res/xml/key_styles_common.xml
@@ -67,30 +67,6 @@
latin:backgroundType="functional" />
<include
latin:keyboardLayout="@xml/key_styles_enter" />
- <switch>
- <!-- Shift + Enter in textMultiLine field. -->
- <case
- latin:isMultiLine="true"
- latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLockShifted"
- >
- <key-style
- latin:styleName="enterKeyStyle"
- latin:parentStyle="shiftEnterKeyStyle" />
- </case>
- <!-- Smiley in textShortMessage field.
- Overrides common enter key style. -->
- <case
- latin:mode="im"
- >
- <key-style
- latin:styleName="enterKeyStyle"
- latin:keyLabel=":-)"
- latin:keyOutputText=":-) "
- latin:keyLabelFlags="hasPopupHint"
- latin:moreKeys="!text/more_keys_for_smiley"
- latin:backgroundType="functional" />
- </case>
- </switch>
<key-style
latin:styleName="spaceKeyStyle"
latin:code="!code/key_space"
@@ -129,7 +105,8 @@
latin:styleName="emojiKeyStyle"
latin:code="!code/key_emoji"
latin:keyIcon="!icon/emoji_key"
- latin:keyActionFlags="noKeyPreview" />
+ latin:keyActionFlags="noKeyPreview"
+ latin:backgroundType="functional" />
<key-style
latin:styleName="tabKeyStyle"
latin:code="!code/key_tab"
diff --git a/java/res/xml/keyboard_layout_set_armenian_phonetic.xml b/java/res/xml/keyboard_layout_set_armenian_phonetic.xml
new file mode 100644
index 000000000..b374fae3b
--- /dev/null
+++ b/java/res/xml/keyboard_layout_set_armenian_phonetic.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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_armenian_phonetic"
+ latin:enableProximityCharsCorrection="true" />
+ <Element
+ latin:elementName="symbols"
+ latin:elementKeyboard="@xml/kbd_symbols" />
+ <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/keyboard_layout_set_nepali_traditional.xml b/java/res/xml/keyboard_layout_set_nepali_traditional.xml
new file mode 100644
index 000000000..2a6dc8e83
--- /dev/null
+++ b/java/res/xml/keyboard_layout_set_nepali_traditional.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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_nepali_traditional"
+ latin:enableProximityCharsCorrection="true" />
+ <Element
+ latin:elementName="alphabetAutomaticShifted"
+ latin:elementKeyboard="@xml/kbd_nepali_traditional"
+ latin:enableProximityCharsCorrection="true" />
+ <!-- On these shifted alphabet layouts the proximity characters correction should be disabled
+ because the letters on these layouts aren't the ones in different case of the above
+ unshifted layouts. -->
+ <Element
+ latin:elementName="alphabetManualShifted"
+ latin:elementKeyboard="@xml/kbd_nepali_traditional" />
+ <Element
+ latin:elementName="alphabetShiftLocked"
+ latin:elementKeyboard="@xml/kbd_nepali_traditional" />
+ <Element
+ latin:elementName="alphabetShiftLockShifted"
+ latin:elementKeyboard="@xml/kbd_nepali_traditional" />
+ <Element
+ latin:elementName="symbols"
+ latin:elementKeyboard="@xml/kbd_symbols" />
+ <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/keys_hindi1_left5.xml b/java/res/xml/keys_hindi1_left5.xml
deleted file mode 100644
index 8757afeaf..000000000
--- a/java/res/xml/keys_hindi1_left5.xml
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2013, 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.
-*/
--->
-
-<!-- The code point U+25CC for key label is needed because the font rendering system prior to
- API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_hindi*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_hindi*.xml don't have this hack. -->
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+25CC: "◌" DOTTED CIRCLE
- U+094C: "ौ" DEVANAGARI VOWEL SIGN AU
- U+094C/U+0902: "ौं" DEVANAGARI VOWEL SIGN AU/DEVANAGARI SIGN ANUSVARA
- U+0967: "१" DEVANAGARI DIGIT ONE -->
- <Key
- latin:keyLabel="&#x25CC;&#x094C;"
- latin:code="0x094C"
- latin:moreKeys="&#x25CC;&#x094C;&#x0902;|&#x094C;&#x0902;,%"
- latin:keyHintLabel="1"
- latin:additionalMoreKeys="&#x0967;,1"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <!-- U+25CC: "◌" DOTTED CIRCLE
- U+0948: "ै" DEVANAGARI VOWEL SIGN AI
- U+0948/U+0902: "ैं" DEVANAGARI VOWEL SIGN AI/DEVANAGARI SIGN ANUSVARA
- U+0968: "२" DEVANAGARI DIGIT TWO -->
- <Key
- latin:keyLabel="&#x25CC;&#x0948;"
- latin:code="0x0948"
- latin:moreKeys="&#x25CC;&#x0948;&#x0902;|&#x0948;&#x0902;,%"
- latin:keyHintLabel="2"
- latin:additionalMoreKeys="&#x0968;,2"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <!-- U+25CC: "◌" DOTTED CIRCLE
- 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
- latin:keyLabel="&#x25CC;&#x093E;"
- latin:code="0x093E"
- latin:moreKeys="&#x25CC;&#x093E;&#x0902;|&#x093E;&#x0902;,&#x25CC;&#x093E;&#x0901;|&#x093E;&#x0901;,%"
- latin:keyHintLabel="3"
- latin:additionalMoreKeys="&#x0969;,3"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <!-- U+25CC: "◌" DOTTED CIRCLE
- U+0940: "ी" DEVANAGARI VOWEL SIGN II
- U+0940/U+0902: "ीं" DEVANAGARI VOWEL SIGN II/DEVANAGARI SIGN ANUSVARA
- U+096A: "४" DEVANAGARI DIGIT FOUR -->
- <Key
- latin:keyLabel="&#x25CC;&#x0940;"
- latin:code="0x0940"
- latin:moreKeys="&#x25CC;&#x0940;&#x0902;|&#x0940;&#x0902;,%"
- latin:keyHintLabel="4"
- latin:additionalMoreKeys="&#x096A;,4"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <!-- U+25CC: "◌" DOTTED CIRCLE
- 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
- latin:keyLabel="&#x25CC;&#x0942;"
- latin:code="0x0942"
- latin:moreKeys="&#x25CC;&#x0942;&#x0902;|&#x0942;&#x0902;,&#x25CC;&#x0942;&#x0901;|&#x0942;&#x0901;,%"
- latin:keyHintLabel="5"
- latin:additionalMoreKeys="&#x096B;,5"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
-</merge>
diff --git a/java/res/xml/keys_hindi2_left5.xml b/java/res/xml/keys_hindi2_left5.xml
deleted file mode 100644
index 4c3a5e051..000000000
--- a/java/res/xml/keys_hindi2_left5.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2013, 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.
-*/
--->
-
-<!-- The code point U+25CC for key label is needed because the font rendering system prior to
- API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_hindi*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_hindi*.xml don't have this hack. -->
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+25CC: "◌" DOTTED CIRCLE
- U+094B: "ो" DEVANAGARI VOWEL SIGN O
- 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
- latin:keyLabel="&#x25CC;&#x094B;"
- latin:code="0x094B"
- latin:moreKeys="&#x25CC;&#x094B;&#x0902;|&#x094B;&#x0902;,&#x25CC;&#x0949;,&#x094A;|&#x0949;,&#x094A;"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <!-- U+25CC: "◌" DOTTED CIRCLE
- U+0947: "े" DEVANAGARI VOWEL SIGN E
- U+0947/U+0902: "ें" DEVANAGARI VOWEL SIGN E/DEVANAGARI SIGN ANUSVARA -->
- <Key
- latin:keyLabel="&#x25CC;&#x0947;"
- latin:code="0x0947"
- latin:moreKeys="&#x25CC;&#x0947;&#x0902;|&#x0947;&#x0902;"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <!-- U+25CC: "◌" DOTTED CIRCLE
- U+094D: "्" DEVANAGARI SIGN VIRAMA -->
- <Key
- latin:keyLabel="&#x25CC;&#x094D;"
- latin:code="0x094D"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <!-- U+25CC: "◌" DOTTED CIRCLE
- U+093F: "ि" DEVANAGARI VOWEL SIGN I
- U+093F/U+0902: "िं" DEVANAGARI VOWEL SIGN I/DEVANAGARI SIGN ANUSVARA -->
- <Key
- latin:keyLabel="&#x093F;&#x25CC;"
- latin:code="0x093F"
- latin:moreKeys="&#x093F;&#x25CC;&#x0902;|&#x093F;&#x0902;"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <!-- U+25CC: "◌" DOTTED CIRCLE
- 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
- latin:keyLabel="&#x25CC;&#x0941;"
- latin:code="0x0941"
- latin:moreKeys="&#x25CC;&#x0941;&#x0902;|&#x0941;&#x0902;,&#x25CC;&#x0941;&#x0901;|&#x0941;&#x0901;"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
-</merge>
diff --git a/java/res/xml/keys_hindi3_left2.xml b/java/res/xml/keys_hindi3_left2.xml
deleted file mode 100644
index 4f1ad16ef..000000000
--- a/java/res/xml/keys_hindi3_left2.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2013, 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.
-*/
--->
-
-<!-- The code point U+25CC for key label is needed because the font rendering system prior to
- API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_hindi*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_hindi*.xml don't have this hack. -->
-<merge
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
- <!-- U+25CC: "◌" DOTTED CIRCLE
- U+0949: "ॉ" DEVANAGARI VOWEL SIGN CANDRA O -->
- <Key
- latin:keyLabel="&#x25CC;&#x0949;"
- latin:code="0x0949"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <!-- U+25CC: "◌" DOTTED CIRCLE
- U+0902: "ं" DEVANAGARI SIGN ANUSVARA -->
- <Key
- latin:keyLabel="&#x25CC;&#x0902;"
- latin:code="0x0902"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
-</merge>
diff --git a/java/res/xml/key_nepali_romanized3_shift_right.xml b/java/res/xml/keystyle_devanagari_sign_virama.xml
index 19c1b29aa..b22fbe842 100644
--- a/java/res/xml/key_nepali_romanized3_shift_right.xml
+++ b/java/res/xml/keystyle_devanagari_sign_virama.xml
@@ -20,14 +20,15 @@
<!-- The code point U+25CC for key label is needed because the font rendering system prior to
API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_nepali*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_nepali*.xml don't have this hack. -->
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
<!-- U+25CC: "◌" DOTTED CIRCLE
U+094D: "्" DEVANAGARI SIGN VIRAMA -->
- <Key
+ <key-style
+ latin:styleName="baseKeyDevanagariSignVirama"
latin:keyLabel="&#x25CC;&#x094D;"
latin:code="0x094D"
latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
diff --git a/java/res/xml/key_hindi1_shift.xml b/java/res/xml/keystyle_devanagari_sign_visarga.xml
index 0db5ae9af..cb294951f 100644
--- a/java/res/xml/key_hindi1_shift.xml
+++ b/java/res/xml/keystyle_devanagari_sign_visarga.xml
@@ -20,14 +20,15 @@
<!-- The code point U+25CC for key label is needed because the font rendering system prior to
API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_hindi*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_hindi*.xml don't have this hack. -->
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
<!-- U+25CC: "◌" DOTTED CIRCLE
U+0903: "ः" DEVANAGARI SIGN VISARGA -->
- <Key
+ <key-style
+ latin:styleName="baseKeyDevanagariSignVisarga"
latin:keyLabel="&#x25CC;&#x0903;"
latin:code="0x0903"
latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
diff --git a/java/res/xml/key_nepali_romanized2.xml b/java/res/xml/keystyle_devanagari_vowel_sign_aa.xml
index 0b01ebca5..2e78c53ec 100644
--- a/java/res/xml/key_nepali_romanized2.xml
+++ b/java/res/xml/keystyle_devanagari_vowel_sign_aa.xml
@@ -20,14 +20,32 @@
<!-- The code point U+25CC for key label is needed because the font rendering system prior to
API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_nepali*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_nepali*.xml don't have this hack. -->
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
+ <switch>
+ <case
+ latin:keyboardLayoutSet="hindi"
+ >
+ <!-- U+25CC: "◌" DOTTED CIRCLE
+ U+093E/U+0902: "ां" DEVANAGARI VOWEL SIGN AA/DEVANAGARI SIGN ANUSVARA
+ U+093E/U+0901: "ाँ" DEVANAGARI VOWEL SIGN AA/DEVANAGARI SIGN CANDRABINDU -->
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignAa"
+ latin:moreKeys="&#x25CC;&#x093E;&#x0902;|&#x093E;&#x0902;,&#x25CC;&#x093E;&#x0901;|&#x093E;&#x0901;,%" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignAa" />
+ </default>
+ </switch>
<!-- U+25CC: "◌" DOTTED CIRCLE
U+093E: "ा" DEVANAGARI VOWEL SIGN AA -->
- <Key
+ <key-style
+ latin:styleName="baseKeyDevanagariVowelSignAa"
+ latin:parentStyle="moreKeysDevanagariVowelSignAa"
latin:keyLabel="&#x25CC;&#x093E;"
latin:code="0x093E"
latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
diff --git a/java/res/xml/keystyle_devanagari_vowel_sign_ai.xml b/java/res/xml/keystyle_devanagari_vowel_sign_ai.xml
new file mode 100644
index 000000000..0554c0e15
--- /dev/null
+++ b/java/res/xml/keystyle_devanagari_vowel_sign_ai.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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.
+*/
+-->
+
+<!-- The code point U+25CC for key label is needed because the font rendering system prior to
+ API version 16 can't automatically render dotted circle for incomplete combining letter
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
+<merge
+ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+ <switch>
+ <case
+ latin:keyboardLayoutSet="hindi"
+ >
+ <!-- U+25CC: "◌" DOTTED CIRCLE
+ U+0948/U+0902: "ैं" DEVANAGARI VOWEL SIGN AI/DEVANAGARI SIGN ANUSVARA -->
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignAi"
+ latin:moreKeys="&#x25CC;&#x0948;&#x0902;|&#x0948;&#x0902;,%" />
+ </case>
+ <case
+ latin:keyboardLayoutSet="nepali_traditional"
+ >
+ <!-- U+0936/U+094D/U+0930: "श्र" DEVANAGARI LETTER SHA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER RA -->
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignAi"
+ latin:moreKeys="&#x0936;&#x094D;&#x0930;" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignAi" />
+ </default>
+ </switch>
+ <!-- U+25CC: "◌" DOTTED CIRCLE
+ U+0948: "ै" DEVANAGARI VOWEL SIGN AI -->
+ <key-style
+ latin:styleName="baseKeyDevanagariVowelSignAi"
+ latin:parentStyle="moreKeysDevanagariVowelSignAi"
+ latin:keyLabel="&#x25CC;&#x0948;"
+ latin:code="0x0948"
+ latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
+</merge>
diff --git a/java/res/xml/keys_nepali_romanized1_left2.xml b/java/res/xml/keystyle_devanagari_vowel_sign_au.xml
index 5b92cc344..29a11a82e 100644
--- a/java/res/xml/keys_nepali_romanized1_left2.xml
+++ b/java/res/xml/keystyle_devanagari_vowel_sign_au.xml
@@ -20,27 +20,31 @@
<!-- The code point U+25CC for key label is needed because the font rendering system prior to
API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_nepali*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_nepali*.xml don't have this hack. -->
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
- <!-- U+25CC: "◌" DOTTED CIRCLE
- U+094C: "ौ" DEVANAGARI VOWEL SIGN AU
- U+0968: "२" DEVANAGARI DIGIT TWO -->
- <Key
+ <switch>
+ <case
+ latin:keyboardLayoutSet="hindi"
+ >
+ <!-- U+25CC: "◌" DOTTED CIRCLE
+ U+094C/U+0902: "ौं" DEVANAGARI VOWEL SIGN AU/DEVANAGARI SIGN ANUSVARA -->
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignAu"
+ latin:moreKeys="&#x25CC;&#x094C;&#x0902;|&#x094C;&#x0902;,%" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignAu" />
+ </default>
+ </switch>
+ <!-- U+094C: "ौ" DEVANAGARI VOWEL SIGN AU -->
+ <key-style
+ latin:styleName="baseKeyDevanagariVowelSignAu"
+ latin:parentStyle="moreKeysDevanagariVowelSignAu"
latin:keyLabel="&#x25CC;&#x094C;"
latin:code="0x094C"
- latin:keyHintLabel="2"
- latin:additionalMoreKeys="&#x0968;,2"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <!-- U+25CC: "◌" DOTTED CIRCLE
- U+0947: "े" DEVANAGARI VOWEL SIGN E
- U+0969: "३" DEVANAGARI DIGIT THREE -->
- <Key
- latin:keyLabel="&#x25CC;&#x0947;"
- latin:code="0x0947"
- latin:keyHintLabel="3"
- latin:additionalMoreKeys="&#x0969;,3"
latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
</merge>
diff --git a/java/res/xml/keystyle_devanagari_vowel_sign_e.xml b/java/res/xml/keystyle_devanagari_vowel_sign_e.xml
new file mode 100644
index 000000000..edd29c791
--- /dev/null
+++ b/java/res/xml/keystyle_devanagari_vowel_sign_e.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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.
+*/
+-->
+
+<!-- The code point U+25CC for key label is needed because the font rendering system prior to
+ API version 16 can't automatically render dotted circle for incomplete combining letter
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
+<merge
+ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+ <switch>
+ <case
+ latin:keyboardLayoutSet="hindi"
+ >
+ <!-- U+25CC: "◌" DOTTED CIRCLE
+ U+0947/U+0902: "ें" DEVANAGARI VOWEL SIGN E/DEVANAGARI SIGN ANUSVARA -->
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignE"
+ latin:moreKeys="&#x25CC;&#x0947;&#x0902;|&#x0947;&#x0902;" />
+ </case>
+ <case
+ latin:keyboardLayoutSet="nepali_traditional"
+ >
+ <!-- U+25CC: "◌" DOTTED CIRCLE
+ U+0903: "ः‍" DEVANAGARI SIGN VISARGA
+ U+093D: "ऽ" DEVANAGARI SIGN AVAGRAHA -->
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignE"
+ latin:moreKeys="&#x25CC;&#x0903;|&#x0903;,&#x093D;" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignE" />
+ </default>
+ </switch>
+ <key-style
+ latin:styleName="baseKeyDevanagariVowelSignE"
+ latin:parentStyle="moreKeysDevanagariVowelSignE"
+ latin:keyLabel="&#x25CC;&#x0947;"
+ latin:code="0x0947"
+ latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
+</merge>
diff --git a/java/res/xml/key_hindi3_shift_left.xml b/java/res/xml/keystyle_devanagari_vowel_sign_i.xml
index c5e2f1386..200fed29f 100644
--- a/java/res/xml/key_hindi3_shift_left.xml
+++ b/java/res/xml/keystyle_devanagari_vowel_sign_i.xml
@@ -20,17 +20,32 @@
<!-- The code point U+25CC for key label is needed because the font rendering system prior to
API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_hindi*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_hindi*.xml don't have this hack. -->
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
+ <switch>
+ <case
+ latin:keyboardLayoutSet="hindi"
+ >
+ <!-- U+25CC: "◌" DOTTED CIRCLE
+ U+093F/U+0902: "िं" DEVANAGARI VOWEL SIGN I/DEVANAGARI SIGN ANUSVARA -->
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignI"
+ latin:moreKeys="&#x093F;&#x25CC;&#x0902;|&#x093F;&#x0902;" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignI" />
+ </default>
+ </switch>
<!-- U+25CC: "◌" DOTTED CIRCLE
- U+0901: "ँ" DEVANAGARI SIGN CANDRABINDU
- U+0945: "ॅ" DEVANAGARI VOWEL SIGN CANDRA E -->
- <Key
- latin:keyLabel="&#x25CC;&#x0901;"
- latin:code="0x0901"
- latin:moreKeys="&#x25CC;&#x0945;|&#x0945;"
+ U+093F: "ि" DEVANAGARI VOWEL SIGN I -->
+ <key-style
+ latin:styleName="baseKeyDevanagariVowelSignI"
+ latin:parentStyle="moreKeysDevanagariVowelSignI"
+ latin:keyLabel="&#x25CC;&#x093F;"
+ latin:code="0x093F"
latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
</merge>
diff --git a/java/res/xml/keys_nepali_romanized1_shift_right2.xml b/java/res/xml/keystyle_devanagari_vowel_sign_ii.xml
index 650bcf969..6dc9951df 100644
--- a/java/res/xml/keys_nepali_romanized1_shift_right2.xml
+++ b/java/res/xml/keystyle_devanagari_vowel_sign_ii.xml
@@ -20,20 +20,31 @@
<!-- The code point U+25CC for key label is needed because the font rendering system prior to
API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_nepali*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_nepali*.xml don't have this hack. -->
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
- <!-- U+25CC: "◌" DOTTED CIRCLE
- U+0942: "ू" DEVANAGARI VOWEL SIGN UU -->
- <Key
- latin:keyLabel="&#x25CC;&#x0942;"
- latin:code="0x0942"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
+ <switch>
+ <case
+ latin:keyboardLayoutSet="hindi"
+ >
+ <!-- U+0940: "ी" DEVANAGARI VOWEL SIGN II
+ U+0940/U+0902: "ीं" DEVANAGARI VOWEL SIGN II/DEVANAGARI SIGN ANUSVARA -->
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignIi"
+ latin:moreKeys="&#x25CC;&#x0940;&#x0902;|&#x0940;&#x0902;,%" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignIi" />
+ </default>
+ </switch>
<!-- U+25CC: "◌" DOTTED CIRCLE
U+0940: "ी" DEVANAGARI VOWEL SIGN II -->
- <Key
+ <key-style
+ latin:styleName="baseKeyDevanagariVowelSignIi"
+ latin:parentStyle="moreKeysDevanagariVowelSignIi"
latin:keyLabel="&#x25CC;&#x0940;"
latin:code="0x0940"
latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
diff --git a/java/res/xml/keys_nepali_romanized1_right3.xml b/java/res/xml/keystyle_devanagari_vowel_sign_o.xml
index c946ee660..233ac8609 100644
--- a/java/res/xml/keys_nepali_romanized1_right3.xml
+++ b/java/res/xml/keystyle_devanagari_vowel_sign_o.xml
@@ -20,36 +20,34 @@
<!-- The code point U+25CC for key label is needed because the font rendering system prior to
API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_nepali*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_nepali*.xml don't have this hack. -->
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
+ <switch>
+ <case
+ latin:keyboardLayoutSet="hindi"
+ >
+ <!-- U+25CC: "◌" DOTTED CIRCLE
+ 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-style
+ latin:styleName="moreKeysDevanagariVowelSignO"
+ latin:moreKeys="&#x25CC;&#x094B;&#x0902;|&#x094B;&#x0902;,&#x25CC;&#x0949;|&#x0949;,&#x25CC;&#x094A;|&#x094A;" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignO" />
+ </default>
+ </switch>
<!-- U+25CC: "◌" DOTTED CIRCLE
- U+0941: "ु" DEVANAGARI VOWEL SIGN U
- U+096D: "७" DEVANAGARI DIGIT SEVEN -->
- <Key
- latin:keyLabel="&#x25CC;&#x0941;"
- latin:code="0x0941"
- latin:keyHintLabel="7"
- latin:additionalMoreKeys="&#x096D;,7"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <!-- U+25CC: "◌" DOTTED CIRCLE
- U+093F: "ि" DEVANAGARI VOWEL SIGN I
- U+096E: "८" DEVANAGARI DIGIT EIGHT -->
- <Key
- latin:keyLabel="&#x25CC;&#x093F;"
- latin:code="0x093F"
- latin:keyHintLabel="8"
- latin:additionalMoreKeys="&#x096E;,8"
- latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
- <!-- U+25CC: "◌" DOTTED CIRCLE
- U+094B: "ो" DEVANAGARI VOWEL SIGN O
- U+096F: "९" DEVANAGARI DIGIT NINE -->
- <Key
+ U+094B: "ो" DEVANAGARI VOWEL SIGN O -->
+ <key-style
+ latin:styleName="baseKeyDevanagariVowelSignO"
+ latin:parentStyle="moreKeysDevanagariVowelSignO"
latin:keyLabel="&#x25CC;&#x094B;"
latin:code="0x094B"
- latin:keyHintLabel="9"
- latin:additionalMoreKeys="&#x096F;,9"
latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
</merge>
diff --git a/java/res/xml/keystyle_devanagari_vowel_sign_u.xml b/java/res/xml/keystyle_devanagari_vowel_sign_u.xml
new file mode 100644
index 000000000..7291b7099
--- /dev/null
+++ b/java/res/xml/keystyle_devanagari_vowel_sign_u.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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.
+*/
+-->
+
+<!-- The code point U+25CC for key label is needed because the font rendering system prior to
+ API version 16 can't automatically render dotted circle for incomplete combining letter
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
+<merge
+ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+ <switch>
+ <case
+ latin:keyboardLayoutSet="hindi"
+ >
+ <!-- U+25CC: "◌" DOTTED CIRCLE
+ U+0941/U+0902: "ुं" DEVANAGARI VOWEL SIGN U/DEVANAGARI SIGN ANUSVARA
+ U+0941/U+0901: "ुँ" DEVANAGARI VOWEL SIGN U/DEVANAGARI SIGN CANDRABINDU -->
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignU"
+ latin:moreKeys="&#x25CC;&#x0941;&#x0902;|&#x0941;&#x0902;,&#x25CC;&#x0941;&#x0901;|&#x0941;&#x0901;" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignU" />
+ </default>
+ </switch>
+ <!-- U+25CC: "◌" DOTTED CIRCLE
+ U+0941: "ु" DEVANAGARI VOWEL SIGN U -->
+ <key-style
+ latin:styleName="baseKeyDevanagariVowelSignU"
+ latin:parentStyle="moreKeysDevanagariVowelSignU"
+ latin:keyLabel="&#x25CC;&#x0941;"
+ latin:code="0x0941"
+ latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
+</merge>
diff --git a/java/res/xml/keystyle_devanagari_vowel_sign_uu.xml b/java/res/xml/keystyle_devanagari_vowel_sign_uu.xml
new file mode 100644
index 000000000..a95ab822d
--- /dev/null
+++ b/java/res/xml/keystyle_devanagari_vowel_sign_uu.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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.
+*/
+-->
+
+<!-- The code point U+25CC for key label is needed because the font rendering system prior to
+ API version 16 can't automatically render dotted circle for incomplete combining letter
+ of some scripts. The files named res/xml/key_*.xml have this U+25CC hack, although the
+ counterpart files named res/xml-v16/key_*.xml don't have this hack. -->
+<merge
+ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+ <switch>
+ <case
+ latin:keyboardLayoutSet="hindi"
+ >
+ <!-- U+25CC: "◌" DOTTED CIRCLE
+ U+0942/U+0902: "ूं" DEVANAGARI VOWEL SIGN UU/DEVANAGARI SIGN ANUSVARA
+ U+0942/U+0901: "ूँ" DEVANAGARI VOWEL SIGN UU/DEVANAGARI SIGN CANDRABINDU -->
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignUu"
+ latin:moreKeys="&#x25CC;&#x0942;&#x0902;|&#x0942;&#x0902;,&#x25CC;&#x0942;&#x0901;|&#x0942;&#x0901;,%" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignUu" />
+ </default>
+ </switch>
+ <!-- U+25CC: "◌" DOTTED CIRCLE
+ U+0942: "ू" DEVANAGARI VOWEL SIGN UU -->
+ <key-style
+ latin:styleName="baseKeyDevanagariVowelSignUu"
+ latin:parentStyle="moreKeysDevanagariVowelSignUu"
+ latin:keyLabel="&#x25CC;&#x0942;"
+ latin:code="0x0942"
+ latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
+</merge>
diff --git a/java/res/xml/method.xml b/java/res/xml/method.xml
index d51ffcf7c..c3d68c6e5 100644
--- a/java/res/xml/method.xml
+++ b/java/res/xml/method.xml
@@ -47,6 +47,7 @@
hi: Hindi/hindi
hr: Croatian/qwertz
hu: Hungarian/qwertz
+ hy: Armenian Phonetic/armenian_phonetic
in: Indonesian/qwerty # "id" is official language code of Indonesian.
is: Icelandic/qwerty
it: Italian/qwerty
@@ -61,6 +62,7 @@
ms: Malay/qwerty
nb: Norwegian Bokmål/nordic
ne: Nepali Romanized/nepali_romanized
+ ne: Nepali Traditional/nepali_traditional
nl: Dutch/qwerty
nl_BE: Dutch Belgium/azerty
pl: Polish/qwerty
@@ -268,6 +270,13 @@
android:imeSubtypeMode="keyboard"
android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection"
/>
+ <subtype android:icon="@drawable/ic_subtype_keyboard"
+ android:label="@string/subtype_generic"
+ android:subtypeId="0xe39ac3ca"
+ android:imeSubtypeLocale="hy"
+ android:imeSubtypeMode="keyboard"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=armenian_phonetic"
+ />
<!-- Java uses the deprecated "in" code instead of the standard "id" code for Indonesian. -->
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
@@ -371,6 +380,13 @@
android:imeSubtypeExtraValue="KeyboardLayoutSet=nepali_romanized"
/>
<subtype android:icon="@drawable/ic_subtype_keyboard"
+ android:label="@string/subtype_nepali_traditional"
+ android:subtypeId="0x5fafea88"
+ android:imeSubtypeLocale="ne"
+ android:imeSubtypeMode="keyboard"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=nepali_traditional"
+ />
+ <subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
android:subtypeId="0x3f9fd91e"
android:imeSubtypeLocale="nl"
diff --git a/java/res/xml/row_qwerty4.xml b/java/res/xml/row_qwerty4.xml
index c29fbf2f1..e6a507435 100644
--- a/java/res/xml/row_qwerty4.xml
+++ b/java/res/xml/row_qwerty4.xml
@@ -42,6 +42,13 @@
latin:moreKeys="!text/more_keys_for_arabic_diacritics"
latin:keyStyle="punctuationKeyStyle" />
</case>
+ <case
+ latin:languageCode="ne"
+ latin:keyboardLayoutSet="nepali_traditional"
+ >
+ <include
+ latin:keyboardLayout="@xml/key_nepali_traditional_period" />
+ </case>
<default>
<Key
latin:keyStyle="punctuationKeyStyle" />
diff --git a/java/res/xml/row_symbols4.xml b/java/res/xml/row_symbols4.xml
index 5c15da6a5..bea139aba 100644
--- a/java/res/xml/row_symbols4.xml
+++ b/java/res/xml/row_symbols4.xml
@@ -50,7 +50,7 @@
latin:keyboardLayout="@xml/key_symbols_period"
latin:backgroundType="functional" />
<Key
- latin:keyStyle="enterKeyStyle"
+ latin:keyStyle="emojiKeyStyle"
latin:keyWidth="fillRight" />
</Row>
</merge>
diff --git a/java/res/xml/rowkeys_armenian_phonetic1.xml b/java/res/xml/rowkeys_armenian_phonetic1.xml
new file mode 100644
index 000000000..1984fae8a
--- /dev/null
+++ b/java/res/xml/rowkeys_armenian_phonetic1.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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+0567: "է" ARMENIAN SMALL LETTER EH -->
+ <Key
+ latin:keyLabel="&#x0567;"
+ latin:keyHintLabel="1"
+ latin:additionalMoreKeys="1"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0569: "թ" ARMENIAN SMALL LETTER TO -->
+ <Key
+ latin:keyLabel="&#x0569;"
+ latin:keyHintLabel="2"
+ latin:additionalMoreKeys="2"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0583: "փ" ARMENIAN SMALL LETTER PIWR -->
+ <Key
+ latin:keyLabel="&#x0583;"
+ latin:keyHintLabel="3"
+ latin:additionalMoreKeys="3"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0571: "ձ" ARMENIAN SMALL LETTER JA -->
+ <Key
+ latin:keyLabel="&#x0571;"
+ latin:keyHintLabel="4"
+ latin:additionalMoreKeys="4"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+057B: "ջ" ARMENIAN SMALL LETTER JHEH -->
+ <Key
+ latin:keyLabel="&#x057B;"
+ latin:keyHintLabel="5"
+ latin:additionalMoreKeys="5"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0580: "ր" ARMENIAN SMALL LETTER REH -->
+ <Key
+ latin:keyLabel="&#x0580;"
+ latin:keyHintLabel="6"
+ latin:additionalMoreKeys="6"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0579: "չ" ARMENIAN SMALL LETTER CHA -->
+ <Key
+ latin:keyLabel="&#x0579;"
+ latin:keyHintLabel="7"
+ latin:additionalMoreKeys="7"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0573: "ճ" ARMENIAN SMALL LETTER CHEH -->
+ <Key
+ latin:keyLabel="&#x0573;"
+ latin:keyHintLabel="8"
+ latin:additionalMoreKeys="8"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+056A: "ժ" ARMENIAN SMALL LETTER ZHE -->
+ <Key
+ latin:keyLabel="&#x056A;"
+ latin:keyHintLabel="9"
+ latin:additionalMoreKeys="9"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+056E: "ծ" ARMENIAN SMALL LETTER CA -->
+ <Key
+ latin:keyLabel="&#x056E;"
+ latin:keyHintLabel="0"
+ latin:additionalMoreKeys="0"
+ latin:keyLabelFlags="fontNormal" />
+</merge>
diff --git a/java/res/xml/rowkeys_armenian_phonetic2.xml b/java/res/xml/rowkeys_armenian_phonetic2.xml
new file mode 100644
index 000000000..5dcabc301
--- /dev/null
+++ b/java/res/xml/rowkeys_armenian_phonetic2.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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+0584: "ք" ARMENIAN SMALL LETTER KEH -->
+ <Key
+ latin:keyLabel="&#x0584;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0578: "ո" ARMENIAN SMALL LETTER VO -->
+ <Key
+ latin:keyLabel="&#x0578;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0565: "ե" ARMENIAN SMALL LETTER ECH
+ U+0587: "և" ARMENIAN SMALL LIGATURE ECH YIWN -->
+ <Key
+ latin:keyLabel="&#x0565;"
+ latin:moreKeys="&#x0587;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+057C: "ռ" ARMENIAN SMALL LETTER RA -->
+ <Key
+ latin:keyLabel="&#x057C;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+057F: "տ" ARMENIAN SMALL LETTER TIWN -->
+ <Key
+ latin:keyLabel="&#x057F;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0568: "ը" ARMENIAN SMALL LETTER ET -->
+ <Key
+ latin:keyLabel="&#x0568;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0582: "ւ" ARMENIAN SMALL LETTER YIWN -->
+ <Key
+ latin:keyLabel="&#x0582;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+056B: "ի" ARMENIAN SMALL LETTER INI -->
+ <Key
+ latin:keyLabel="&#x056B;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0585: "օ" ARMENIAN SMALL LETTER OH -->
+ <Key
+ latin:keyLabel="&#x0585;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+057A: "պ" ARMENIAN SMALL LETTER PEH -->
+ <Key
+ latin:keyLabel="&#x057A;"
+ latin:keyLabelFlags="fontNormal" />
+</merge>
diff --git a/java/res/xml/rowkeys_armenian_phonetic3.xml b/java/res/xml/rowkeys_armenian_phonetic3.xml
new file mode 100644
index 000000000..3116811b3
--- /dev/null
+++ b/java/res/xml/rowkeys_armenian_phonetic3.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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+0561: "ա" ARMENIAN SMALL LETTER AYB -->
+ <Key
+ latin:keyLabel="&#x0561;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+057D: "ս" ARMENIAN SMALL LETTER SEH -->
+ <Key
+ latin:keyLabel="&#x057D;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0564: "դ" ARMENIAN SMALL LETTER DA -->
+ <Key
+ latin:keyLabel="&#x0564;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0586: "ֆ" ARMENIAN SMALL LETTER FEH -->
+ <Key
+ latin:keyLabel="&#x0586;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0563: "գ" ARMENIAN SMALL LETTER GIM -->
+ <Key
+ latin:keyLabel="&#x0563;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0570: "հ" ARMENIAN SMALL LETTER HO -->
+ <Key
+ latin:keyLabel="&#x0570;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0575: "յ" ARMENIAN SMALL LETTER YI -->
+ <Key
+ latin:keyLabel="&#x0575;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+056F: "կ" ARMENIAN SMALL LETTER KEN -->
+ <Key
+ latin:keyLabel="&#x056F;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+056C: "լ" ARMENIAN SMALL LETTER LIWN -->
+ <Key
+ latin:keyLabel="&#x056C;"
+ latin:keyLabelFlags="fontNormal" />
+</merge>
diff --git a/java/res/xml-v16/keys_hindi3_left2.xml b/java/res/xml/rowkeys_armenian_phonetic4.xml
index 9474c1763..922481add 100644
--- a/java/res/xml-v16/keys_hindi3_left2.xml
+++ b/java/res/xml/rowkeys_armenian_phonetic4.xml
@@ -18,19 +18,35 @@
*/
-->
-<!-- The code point U+25CC for key label is needed because the font rendering system prior to
- API version 16 can't automatically render dotted circle for incomplete combining letter
- of Hindi. The files named res/xml/{key,keys}_hindi*.xml have this U+25CC hack, although the
- counterpart files named res/xml-v16/{key,keys}_hindi*.xml don't have this hack. -->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
- <!-- U+0949: "ॉ" DEVANAGARI VOWEL SIGN CANDRA O -->
+ <!-- U+0566: "զ" ARMENIAN SMALL LETTER ZA -->
<Key
- latin:keyLabel="&#x0949;"
+ latin:keyLabel="&#x0566;"
latin:keyLabelFlags="fontNormal" />
- <!-- U+0902: "ं" DEVANAGARI SIGN ANUSVARA -->
+ <!-- U+0572: "ղ" ARMENIAN SMALL LETTER GHAD -->
<Key
- latin:keyLabel="&#x0902;"
+ latin:keyLabel="&#x0572;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0581: "ց" ARMENIAN SMALL LETTER CO -->
+ <Key
+ latin:keyLabel="&#x0581;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+057E: "վ" ARMENIAN SMALL LETTER VEW -->
+ <Key
+ latin:keyLabel="&#x057E;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0562: "բ" ARMENIAN SMALL LETTER BEN -->
+ <Key
+ latin:keyLabel="&#x0562;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0576: "ն" ARMENIAN SMALL LETTER NOW -->
+ <Key
+ latin:keyLabel="&#x0576;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0574: "մ" ARMENIAN SMALL LETTER MEN -->
+ <Key
+ latin:keyLabel="&#x0574;"
latin:keyLabelFlags="fontNormal" />
</merge>
diff --git a/java/res/xml/rowkeys_hindi1.xml b/java/res/xml/rowkeys_hindi1.xml
index c66d21346..c0b3cb913 100644
--- a/java/res/xml/rowkeys_hindi1.xml
+++ b/java/res/xml/rowkeys_hindi1.xml
@@ -62,10 +62,12 @@
latin:keyLabel="&#x092D;"
latin:keyLabelFlags="fontNormal" />
<!-- Because the font rendering system prior to API version 16 can't automatically
- render dotted circle for incomplete combining letter of Hindi, different set of
- Key definitions are needed based on the API version. -->
+ 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_hindi1_shift" />
+ latin:keyboardLayout="@xml/keystyle_devanagari_sign_visarga" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariSignVisarga" />
<!-- U+0918: "घ" DEVANAGARI LETTER GHA -->
<Key
latin:keyLabel="&#x0918;"
@@ -88,10 +90,55 @@
</case>
<default>
<!-- Because the font rendering system prior to API version 16 can't automatically
- render dotted circle for incomplete combining letter of Hindi, different set of
- Key definitions are needed based on the API version. -->
+ 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" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignAu"
+ latin:keyHintLabel="1"
+ latin:additionalMoreKeys="&#x0967;,1" />
+ <!-- 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" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignAi"
+ latin:keyHintLabel="2"
+ latin:additionalMoreKeys="&#x0968;,2" />
+ <!-- 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/keys_hindi1_left5" />
+ latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_aa" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignAa"
+ latin:keyHintLabel="3"
+ latin:additionalMoreKeys="&#x0969;,3" />
+ <!-- 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" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignIi"
+ latin:keyHintLabel="4"
+ latin:additionalMoreKeys="&#x096A;,4" />
+ <!-- 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" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignUu"
+ latin:keyHintLabel="5"
+ latin:additionalMoreKeys="&#x096B;,5" />
<!-- U+092C: "ब" DEVANAGARI LETTER BA
U+096C: "६" DEVANAGARI DIGIT SIX
U+092C/U+0952: "ब॒" DEVANAGARI LETTER BA/DEVANAGARI STRESS SIGN ANUDATTA -->
diff --git a/java/res/xml/rowkeys_hindi2.xml b/java/res/xml/rowkeys_hindi2.xml
index 9545b840f..70ac66ee4 100644
--- a/java/res/xml/rowkeys_hindi2.xml
+++ b/java/res/xml/rowkeys_hindi2.xml
@@ -97,10 +97,40 @@
</case>
<default>
<!-- Because the font rendering system prior to API version 16 can't automatically
- render dotted circle for incomplete combining letter of Hindi, different set of
- Key definitions are needed based on the API version. -->
+ 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/keys_hindi2_left5" />
+ latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_o" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignO" />
+ <!-- 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_vowel_sign_e" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignE" />
+ <!-- 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_virama" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariSignVirama" />
+ <!-- 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_vowel_sign_i" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignI" />
+ <!-- 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_vowel_sign_u" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignU" />
<!-- U+092A: "प" DEVANAGARI LETTER PA -->
<Key
latin:keyLabel="&#x092A;"
diff --git a/java/res/xml/rowkeys_hindi3.xml b/java/res/xml/rowkeys_hindi3.xml
index 3014907ed..136bc5f22 100644
--- a/java/res/xml/rowkeys_hindi3.xml
+++ b/java/res/xml/rowkeys_hindi3.xml
@@ -30,10 +30,10 @@
latin:keyLabel="&#x0911;"
latin:keyLabelFlags="fontNormal" />
<!-- Because the font rendering system prior to API version 16 can't automatically
- render dotted circle for incomplete combining letter of Hindi, different set of
- Key definitions are needed based on the API version. -->
+ 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_hindi3_shift_left" />
+ latin:keyboardLayout="@xml/key_devanagari_sign_candrabindu" />
<!-- U+0923: "ण" DEVANAGARI LETTER NNA -->
<Key
latin:keyLabel="&#x0923;"
@@ -56,10 +56,10 @@
latin:keyLabel="&#x0937;"
latin:keyLabelFlags="fontNormal" />
<!-- Because the font rendering system prior to API version 16 can't automatically
- render dotted circle for incomplete combining letter of Hindi, different set of
- Key definitions are needed based on the API version. -->
+ 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_hindi3_shift_right" />
+ latin:keyboardLayout="@xml/key_devanagari_vowel_sign_vocalic_r" />
<!-- U+091E: "ञ" DEVANAGARI LETTER NYA -->
<Key
latin:keyLabel="&#x091E;"
@@ -67,10 +67,12 @@
</case>
<default>
<!-- Because the font rendering system prior to API version 16 can't automatically
- render dotted circle for incomplete combining letter of Hindi, different set of
- Key definitions are needed based on the API version. -->
+ 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/keys_hindi3_left2" />
+ latin:keyboardLayout="@xml/key_devanagari_vowel_sign_candra_o" />
+ <include
+ latin:keyboardLayout="@xml/key_devanagari_sign_anusvara" />
<!-- U+092E: "म" DEVANAGARI LETTER MA
U+0950: "ॐ" DEVANAGARI OM -->
<Key
@@ -107,10 +109,10 @@
latin:moreKeys="&#x095F;"
latin:keyLabelFlags="fontNormal" />
<!-- Because the font rendering system prior to API version 16 can't automatically
- render dotted circle for incomplete combining letter of Hindi, different set of
- Key definitions are needed based on the API version. -->
+ 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_hindi3_right" />
+ latin:keyboardLayout="@xml/key_devanagari_sign_nukta" />
</default>
</switch>
</merge>
diff --git a/java/res/xml/rowkeys_nepali_romanized1.xml b/java/res/xml/rowkeys_nepali_romanized1.xml
index c0951f3e9..408a96648 100644
--- a/java/res/xml/rowkeys_nepali_romanized1.xml
+++ b/java/res/xml/rowkeys_nepali_romanized1.xml
@@ -34,10 +34,17 @@
latin:keyLabel="&#x0914;"
latin:keyLabelFlags="fontNormal" />
<!-- Because the font rendering system prior to API version 16 can't automatically
- render dotted circle for incomplete combining letter of Hindi, different set of
- Key definitions are needed based on the API version. -->
+ 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/keys_nepali_romanized1_shift_left2" />
+ latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_ai" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignAi" />
+ <!-- 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_vowel_sign_vocalic_r" />
<!-- U+0925: "थ" DEVANAGARI LETTER THA -->
<Key
latin:keyLabel="&#x0925;"
@@ -47,10 +54,19 @@
latin:keyLabel="&#x091E;"
latin:keyLabelFlags="fontNormal" />
<!-- Because the font rendering system prior to API version 16 can't automatically
- render dotted circle for incomplete combining letter of Hindi, different set of
- Key definitions are needed based on the API version. -->
+ 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/keys_nepali_romanized1_shift_right2" />
+ latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_uu" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignUu" />
+ <!-- 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_vowel_sign_ii" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignIi" />
<!-- U+0913: "ओ" DEVANAGARI LETTER O -->
<Key
latin:keyLabel="&#x0913;"
@@ -75,10 +91,25 @@
latin:moreKeys="&#x093C;"
latin:keyLabelFlags="fontNormal" />
<!-- Because the font rendering system prior to API version 16 can't automatically
- render dotted circle for incomplete combining letter of Hindi, different set of
- Key definitions are needed based on the API version. -->
+ 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" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignAu"
+ latin:keyHintLabel="2"
+ latin:additionalMoreKeys="&#x0968;,2" />
+ <!-- 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/keys_nepali_romanized1_left2" />
+ latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_e" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignE"
+ latin:keyHintLabel="3"
+ latin:additionalMoreKeys="&#x0969;,3" />
<!-- U+0930: "र" DEVANAGARI LETTER RA
U+096A: "४" DEVANAGARI DIGIT FOUR -->
<Key
@@ -101,10 +132,35 @@
latin:additionalMoreKeys="&#x096C;,6"
latin:keyLabelFlags="fontNormal" />
<!-- Because the font rendering system prior to API version 16 can't automatically
- render dotted circle for incomplete combining letter of Hindi, different set of
- Key definitions are needed based on the API version. -->
+ 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" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignU"
+ latin:keyHintLabel="7"
+ latin:additionalMoreKeys="&#x096D;,7" />
+ <!-- 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/keys_nepali_romanized1_right3" />
+ latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_i" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignI"
+ latin:keyHintLabel="8"
+ latin:additionalMoreKeys="&#x096E;,8" />
+ <!-- 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" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignO"
+ latin:keyHintLabel="9"
+ latin:additionalMoreKeys="&#x096F;,9" />
<!-- U+092A: "प" DEVANAGARI LETTER PA
U+0966: "०" DEVANAGARI DIGIT ZERO -->
<Key
diff --git a/java/res/xml/rowkeys_nepali_romanized2.xml b/java/res/xml/rowkeys_nepali_romanized2.xml
index fd2e4d098..66359ffb5 100644
--- a/java/res/xml/rowkeys_nepali_romanized2.xml
+++ b/java/res/xml/rowkeys_nepali_romanized2.xml
@@ -66,17 +66,21 @@
latin:keyLabel="&#x0910;"
latin:keyLabelFlags="fontNormal" />
<!-- Because the font rendering system prior to API version 16 can't automatically
- render dotted circle for incomplete combining letter of Hindi, different set of
- Key definitions are needed based on the API version. -->
+ 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_nepali_romanized2_shift" />
+ latin:keyboardLayout="@xml/keystyle_devanagari_sign_visarga" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariSignVisarga" />
</case>
<default>
<!-- Because the font rendering system prior to API version 16 can't automatically
- render dotted circle for incomplete combining letter of Hindi, different set of
- Key definitions are needed based on the API version. -->
+ 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_nepali_romanized2" />
+ latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_aa" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignAa" />
<!-- U+0938: "स" DEVANAGARI LETTER SA -->
<Key
latin:keyLabel="&#x0938;"
diff --git a/java/res/xml/rowkeys_nepali_romanized3.xml b/java/res/xml/rowkeys_nepali_romanized3.xml
index bbc0e3afe..5660596f0 100644
--- a/java/res/xml/rowkeys_nepali_romanized3.xml
+++ b/java/res/xml/rowkeys_nepali_romanized3.xml
@@ -38,10 +38,10 @@
latin:keyLabel="&#x091B;"
latin:keyLabelFlags="fontNormal" />
<!-- Because the font rendering system prior to API version 16 can't automatically
- render dotted circle for incomplete combining letter of Hindi, different set of
- Key definitions are needed based on the API version. -->
+ 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_nepali_romanized3_shift_left" />
+ latin:keyboardLayout="@xml/key_devanagari_sign_candrabindu" />
<!-- U+092D: "भ" DEVANAGARI LETTER BHA -->
<Key
latin:keyLabel="&#x092D;"
@@ -51,19 +51,21 @@
latin:keyLabel="&#x0936;"
latin:keyLabelFlags="fontNormal" />
<!-- Because the font rendering system prior to API version 16 can't automatically
- render dotted circle for incomplete combining letter of Hindi, different set of
- Key definitions are needed based on the API version. -->
+ 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_nepali_romanized3_shift_center" />
+ latin:keyboardLayout="@xml/key_devanagari_sign_anusvara" />
<!-- U+0919: "ङ" DEVANAGARI LETTER NGA -->
<Key
latin:keyLabel="&#x0919;"
latin:keyLabelFlags="fontNormal" />
<!-- Because the font rendering system prior to API version 16 can't automatically
- render dotted circle for incomplete combining letter of Hindi, different set of
- Key definitions are needed based on the API version. -->
+ 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_nepali_romanized3_shift_right" />
+ latin:keyboardLayout="@xml/keystyle_devanagari_sign_virama" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariSignVirama" />
</case>
<default>
<!-- U+0937: "ष" DEVANAGARI LETTER SSA -->
@@ -101,10 +103,12 @@
latin:moreKeys="&#x093D;"
latin:keyLabelFlags="fontNormal" />
<!-- Because the font rendering system prior to API version 16 can't automatically
- render dotted circle for incomplete combining letter of Hindi, different set of
- Key definitions are needed based on the API version. -->
+ 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_nepali_romanized3" />
- </default>
+ latin:keyboardLayout="@xml/keystyle_devanagari_sign_virama" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariSignVirama" />
+ </default>
</switch>
</merge>
diff --git a/java/res/xml/rowkeys_nepali_traditional1.xml b/java/res/xml/rowkeys_nepali_traditional1.xml
new file mode 100644
index 000000000..c7883c733
--- /dev/null
+++ b/java/res/xml/rowkeys_nepali_traditional1.xml
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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"
+>
+ <switch>
+ <case
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
+ >
+ <!-- U+0924/U+094D/U+0924: "त्त" DEVANAGARI LETTER TA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER TA
+ U+091E: "ञ" DEVANAGARI LETTER NYA
+ U+091C/U+094D/U+091E: "ज्ञ" DEVANAGARI LETTER JA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER NYA
+ U+0965: "॥" DEVANAGARI DOUBLE DANDA -->
+ <Key
+ latin:keyLabel="&#x0924;&#x094D;&#x0924;"
+ latin:moreKeys="&#x091E;,&#x091C;&#x094D;&#x091E;,&#x0965;"
+ latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
+ <!-- U+0921/U+094D/U+0922: "ड्ढ" DEVANAGARI LETTER DDA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER DDHA
+ U+0908: "ई" DEVANAGARI LETTER II -->
+ <Key
+ latin:keyLabel="&#x0921;&#x094D;&#x0922;"
+ latin:moreKeys="&#x0908;"
+ latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
+ <!-- U+0910: "ऐ" DEVANAGARI LETTER AI
+ U+0918: "घ" DEVANAGARI LETTER GHA -->
+ <Key
+ latin:keyLabel="&#x0910;"
+ latin:moreKeys="&#x0918;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0926/U+094D/U+0935: "द्व" DEVANAGARI LETTER DA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER VA
+ U+0926/U+094D/U+0927: "द्ध" DEVANAGARI LETTER DA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER DHA -->
+ <Key
+ latin:keyLabel="&#x0926;&#x094D;&#x0935;"
+ latin:moreKeys="&#x0926;&#x094D;&#x0927;"
+ latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
+ <!-- U+091F/U+094D/U+091F: "ट्ट" DEVANAGARI LETTER TTA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER TTA
+ U+091B: "छ" DEVANAGARI LETTER CHA -->
+ <Key
+ latin:keyLabel="&#x091F;&#x094D;&#x091F;"
+ latin:moreKeys="&#x091B;"
+ latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
+ <!-- U+0920/U+094D/U+0920: "ठ्ठ" DEVANAGARI LETTER TTHA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER TTHA
+ U+091F: "ट" DEVANAGARI LETTER TTA -->
+ <Key
+ latin:keyLabel="&#x0920;&#x094D;&#x0920;"
+ latin:moreKeys="&#x091F;"
+ latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
+ <!-- U+090A: "ऊ" DEVANAGARI LETTER UU
+ U+0920: "ठ" DEVANAGARI LETTER TTHA -->
+ <Key
+ latin:keyLabel="&#x090A;"
+ latin:moreKeys="&#x0920;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0915/U+094D/U+0937: "क्ष" DEVANAGARI LETTER KA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER SSA
+ U+0921: "ड" DEVANAGARI LETTER DDA -->
+ <Key
+ latin:keyLabel="&#x0915;&#x094D;&#x0937;"
+ latin:moreKeys="&#x0921;"
+ latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
+ <!-- U+0907: "इ" DEVANAGARI LETTER I
+ U+0922: "ढ" DEVANAGARI LETTER DDHA -->
+ <Key
+ latin:keyLabel="&#x0907;"
+ latin:moreKeys="&#x0922;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+090F: "ए" DEVANAGARI LETTER E
+ U+0923: "ण" DEVANAGARI LETTER NNA -->
+ <Key
+ latin:keyLabel="&#x090F;"
+ latin:moreKeys="&#x0923;"
+ 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. -->
+ <include
+ latin:keyboardLayout="@xml/key_devanagari_vowel_sign_vocalic_r" />
+ </case>
+ <default>
+ <!-- U+091F: "ट" DEVANAGARI LETTER TTA
+ U+0967: "१" DEVANAGARI DIGIT ONE -->
+ <Key
+ latin:keyLabel="&#x091F;"
+ latin:keyHintLabel="1"
+ latin:additionalMoreKeys="&#x0967;,1"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0927: "ध" DEVANAGARI LETTER DHA
+ U+0968: "२" DEVANAGARI DIGIT TWO -->
+ <Key
+ latin:keyLabel="&#x0927;"
+ latin:keyHintLabel="2"
+ latin:additionalMoreKeys="&#x0968;,2"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+092D: "भ" DEVANAGARI LETTER BHA
+ U+0969: "३" DEVANAGARI DIGIT THREE -->
+ <Key
+ latin:keyLabel="&#x092D;"
+ latin:keyHintLabel="3"
+ latin:additionalMoreKeys="&#x0969;,3"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+091A: "च" DEVANAGARI LETTER CA
+ U+096A: "४" DEVANAGARI DIGIT FOUR -->
+ <Key
+ latin:keyLabel="&#x091A;"
+ latin:keyHintLabel="4"
+ latin:additionalMoreKeys="&#x096A;,4"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0924: "त" DEVANAGARI LETTER TA
+ U+096B: "५" DEVANAGARI DIGIT FIVE -->
+ <Key
+ latin:keyLabel="&#x0924;"
+ latin:keyHintLabel="5"
+ latin:additionalMoreKeys="&#x096B;,5"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0925: "थ" DEVANAGARI LETTER THA
+ U+096C: "६" DEVANAGARI DIGIT SIX -->
+ <Key
+ latin:keyLabel="&#x0925;"
+ latin:keyHintLabel="6"
+ latin:additionalMoreKeys="&#x096C;,6"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0917: "ग" DEVANAGARI LETTER G
+ U+096D: "७" DEVANAGARI DIGIT SEVEN -->
+ <Key
+ latin:keyLabel="&#x0917;"
+ latin:keyHintLabel="7"
+ latin:additionalMoreKeys="&#x096D;,7"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0937: "ष" DEVANAGARI LETTER SSA
+ U+096E: "८" DEVANAGARI DIGIT EIGHT -->
+ <Key
+ latin:keyLabel="&#x0937;"
+ latin:keyHintLabel="8"
+ latin:additionalMoreKeys="&#x096E;,8"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+092F: "य" DEVANAGARI LETTER YA
+ U+096F: "९" DEVANAGARI DIGIT NINE -->
+ <Key
+ latin:keyLabel="&#x092F;"
+ latin:keyHintLabel="9"
+ latin:additionalMoreKeys="&#x096F;,9"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0909: "उ" DEVANAGARI LETTER U
+ U+0966: "०" DEVANAGARI DIGIT ZERO -->
+ <Key
+ latin:keyLabel="&#x0909;"
+ latin:keyHintLabel="0"
+ latin:additionalMoreKeys="&#x0966;,0"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0907: "इ" DEVANAGARI LETTER I
+ U+0914: "औ" DEVANAGARI LETTER AU -->
+ <Key
+ latin:keyLabel="&#x0907;"
+ latin:moreKeys="&#x0914;"
+ latin:keyLabelFlags="fontNormal" />
+ </default>
+ </switch>
+</merge>
diff --git a/java/res/xml/rowkeys_nepali_traditional2.xml b/java/res/xml/rowkeys_nepali_traditional2.xml
new file mode 100644
index 000000000..2c53b3b8b
--- /dev/null
+++ b/java/res/xml/rowkeys_nepali_traditional2.xml
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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"
+>
+ <switch>
+ <case
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
+ >
+ <!-- U+0906: "आ" DEVANAGARI LETTER AA -->
+ <Key
+ latin:keyLabel="&#x0906;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0919/U+094D/U+0915: "ङ्क" DEVANAGARI LETTER NGA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER KA -->
+ <Key
+ latin:keyLabel="&#x0919;&#x094D;&#x0915;"
+ latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
+ <!-- U+0919/U+094D/U+0917: "ङ्ग" DEVANAGARI LETTER NGA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER GA -->
+ <Key
+ latin:keyLabel="&#x0919;&#x094D;&#x0917;"
+ latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
+ <!-- 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_candrabindu" />
+ <!-- U+0926/U+094D/U+0926: "द्द" DEVANAGARI LETTER DA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER DA -->
+ <Key
+ latin:keyLabel="&#x0926;&#x094D;&#x0926;"
+ latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
+ <!-- U+091D: "झ" DEVANAGARI LETTER JHA -->
+ <Key
+ latin:keyLabel="&#x091D;"
+ 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. -->
+ <include
+ latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_o" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignO" />
+ <!-- U+092B: "फ" DEVANAGARI LETTER PHA -->
+ <Key
+ latin:keyLabel="&#x092B;"
+ 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. -->
+ <include
+ latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_ii" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignIi" />
+ <!-- U+091F/U+094D/U+0920: "ट्ठ" DEVANAGARI LETTER TTA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER TTHA -->
+ <Key
+ latin:keyLabel="&#x091F;&#x094D;&#x0920;"
+ latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
+ <!-- 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_vowel_sign_uu" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignUu" />
+ </case>
+ <default>
+ <!-- U+092C: "ब" DEVANAGARI LETTER BA -->
+ <Key
+ latin:keyLabel="&#x092C;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0915: "क" DEVANAGARI LETTER KA -->
+ <Key
+ latin:keyLabel="&#x0915;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+092E: "म" DEVANAGARI LETTER MA -->
+ <Key
+ latin:keyLabel="&#x092E;"
+ 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. -->
+ <include
+ latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_aa" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignAa" />
+ <!-- U+0928: "न" DEVANAGARI LETTER NA -->
+ <Key
+ latin:keyLabel="&#x0928;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+091C: "ज" DEVANAGARI LETTER JA -->
+ <Key
+ latin:keyLabel="&#x091C;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0935: "व" DEVANAGARI LETTER VA -->
+ <Key
+ latin:keyLabel="&#x0935;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+092A: "प" DEVANAGARI LETTER PA -->
+ <Key
+ latin:keyLabel="&#x092A;"
+ 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. -->
+ <include
+ latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_i" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignI" />
+ <!-- U+0938: "स" DEVANAGARI LETTER SA -->
+ <Key
+ latin:keyLabel="&#x0938;"
+ 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. -->
+ <include
+ latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_u" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignU" />
+ </default>
+ </switch>
+</merge>
diff --git a/java/res/xml/rowkeys_nepali_traditional3_left6.xml b/java/res/xml/rowkeys_nepali_traditional3_left6.xml
new file mode 100644
index 000000000..d4388e0a2
--- /dev/null
+++ b/java/res/xml/rowkeys_nepali_traditional3_left6.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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"
+>
+ <switch>
+ <case
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
+ >
+ <!-- U+0915/U+094D/U+0915: "क्क" DEVANAGARI LETTER KA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER KA -->
+ <Key
+ latin:keyLabel="&#x0915;&#x094D;&#x0915;"
+ latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
+ <!-- U+0939/U+094D/U+092E: "ह्म" DEVANAGARI LETTER HA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER MA -->
+ <Key
+ latin:keyLabel="&#x0939;&#x094D;&#x092E;"
+ latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
+ <!-- U+090B: "ऋ" DEVANAGARI LETTER VOCALIC R -->
+ <Key
+ latin:keyLabel="&#x090B;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0950: "ॐ" DEVANAGARI OM -->
+ <Key
+ latin:keyLabel="&#x0950;"
+ 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. -->
+ <include
+ latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_au" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignAu" />
+ <!-- U+0926/U+094D/U+092F: "द्य" DEVANAGARI LETTER DA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER YA -->
+ <Key
+ latin:keyLabel="&#x0926;&#x094D;&#x092F;"
+ latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
+ </case>
+ <default>
+ <!-- U+0936: "श" DEVANAGARI LETTER SHA -->
+ <Key
+ latin:keyLabel="&#x0936;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0939: "ह" DEVANAGARI LETTER HA -->
+ <Key
+ latin:keyLabel="&#x0939;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0905: "अ" DEVANAGARI LETTER A -->
+ <Key
+ latin:keyLabel="&#x0905;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0916: "ख" DEVANAGARI LETTER KHA -->
+ <Key
+ latin:keyLabel="&#x0916;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0926: "द" DEVANAGARI LETTER DA -->
+ <Key
+ latin:keyLabel="&#x0926;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0932: "ल" DEVANAGARI LETTER LA -->
+ <Key
+ latin:keyLabel="&#x0932;"
+ latin:keyLabelFlags="fontNormal" />
+ </default>
+ </switch>
+</merge>
diff --git a/java/res/xml/rowkeys_nepali_traditional3_right3.xml b/java/res/xml/rowkeys_nepali_traditional3_right3.xml
new file mode 100644
index 000000000..b2e01e481
--- /dev/null
+++ b/java/res/xml/rowkeys_nepali_traditional3_right3.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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"
+>
+ <switch>
+ <case
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
+ >
+ <!-- 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" />
+ <!-- U+0919: "ङ" DEVANAGARI LETTER NGA -->
+ <Key
+ latin:keyLabel="&#x0919;"
+ 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. -->
+ <include
+ latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_ai" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignAi" />
+ </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_vowel_sign_e" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignE" />
+ <!-- U+0964: "।" DEVANAGARI DANDA -->
+ <Key
+ latin:keyLabel="&#x0964;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0930: "र" DEVANAGARI LETTER RA
+ U+0930/U+0941: "रु" DEVANAGARI LETTER RA/DEVANAGARI VOWEL SIGN U -->
+ <Key
+ latin:keyLabel="&#x0930;"
+ latin:moreKeys="&#x0930;&#x0941;"
+ latin:keyLabelFlags="fontNormal" />
+ </default>
+ </switch>
+</merge>
diff --git a/java/res/xml/rowkeys_nepali_traditional3_right5.xml b/java/res/xml/rowkeys_nepali_traditional3_right5.xml
new file mode 100644
index 000000000..87f061610
--- /dev/null
+++ b/java/res/xml/rowkeys_nepali_traditional3_right5.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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"
+>
+ <switch>
+ <case
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
+ >
+ <!-- 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" />
+ <!-- U+0919: "ङ" DEVANAGARI LETTER NGA -->
+ <Key
+ latin:keyLabel="&#x0919;"
+ 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. -->
+ <include
+ latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_ai" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignAi" />
+ <!-- U+0930/U+0941: "रु" DEVANAGARI LETTER RA/DEVANAGARI VOWEL SIGN U -->
+ <Key
+ latin:keyLabel="&#x0930;&#x0941;"
+ latin:moreKeys="!"
+ latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
+ <Key
+ latin:keyLabel="\?" />
+ </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. -->
+ <!-- U+093D: "ऽ" DEVANAGARI SIGN AVAGRAHA -->
+ <include
+ latin:keyboardLayout="@xml/keystyle_devanagari_sign_visarga" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariSignVisarga"
+ latin:moreKeys="&#x093D;" />
+ <!-- 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_vowel_sign_e" />
+ <!-- Override more keys with empty definition -->
+ <key-style
+ latin:styleName="moreKeysDevanagariVowelSignE" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariVowelSignE" />
+ <!-- U+0964: "।" DEVANAGARI DANDA -->
+ <Key
+ latin:keyLabel="&#x0964;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+0930: "र" DEVANAGARI LETTER RA -->
+ <Key
+ latin:keyLabel="&#x0930;"
+ latin:moreKeys="!"
+ 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. -->
+ <include
+ latin:keyboardLayout="@xml/keystyle_devanagari_sign_virama" />
+ <Key
+ latin:keyStyle="baseKeyDevanagariSignVirama"
+ latin:moreKeys="\?" />
+ </default>
+ </switch>
+</merge>
diff --git a/java/res/xml/rows_armenian_phonetic.xml b/java/res/xml/rows_armenian_phonetic.xml
new file mode 100644
index 000000000..282dd411b
--- /dev/null
+++ b/java/res/xml/rows_armenian_phonetic.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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="10.0%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_armenian_phonetic1" />
+ </Row>
+ <Row
+ latin:keyWidth="10.0%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_armenian_phonetic2" />
+ </Row>
+ <Row
+ latin:keyWidth="10.0%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_armenian_phonetic3" />
+ <include
+ latin:keyboardLayout="@xml/key_armenian_xeh" />
+ </Row>
+ <Row
+ latin:keyWidth="9.8000%p"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="10.8%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_armenian_phonetic4" />
+ <include
+ latin:keyboardLayout="@xml/key_armenian_sha" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="fillRight" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/row_qwerty4" />
+</merge>
diff --git a/java/res/xml/rows_nepali_traditional.xml b/java/res/xml/rows_nepali_traditional.xml
new file mode 100644
index 000000000..fecdc7d5b
--- /dev/null
+++ b/java/res/xml/rows_nepali_traditional.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_nepali_traditional1" />
+ </Row>
+ <Row
+ latin:keyWidth="9.091%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_nepali_traditional2" />
+ </Row>
+ <Row
+ latin:keyWidth="8.711%p"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="10.8%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_nepali_traditional3_left6" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_nepali_traditional3_right3" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="fillRight" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/row_qwerty4" />
+</merge>
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
index 098c8b3df..0208249d1 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
@@ -66,7 +66,9 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions {
private SharedPreferences mPrefs;
private InputView mCurrentInputView;
+ private View mMainKeyboardFrame;
private MainKeyboardView mKeyboardView;
+ private EmojiKeyboardView mEmojiKeyboardView;
private LatinIME mLatinIME;
private Resources mResources;
@@ -167,6 +169,8 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions {
}
private void setKeyboard(final Keyboard keyboard) {
+ // Make {@link MainKeyboardView} visible and hide {@link EmojiKeyboardView}.
+ setMainKeyboardFrame();
final MainKeyboardView keyboardView = mKeyboardView;
final Keyboard oldKeyboard = keyboardView.getKeyboard();
keyboardView.setKeyboard(keyboard);
@@ -253,6 +257,18 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions {
setKeyboard(mKeyboardLayoutSet.getKeyboard(KeyboardId.ELEMENT_SYMBOLS));
}
+ private void setMainKeyboardFrame() {
+ mMainKeyboardFrame.setVisibility(View.VISIBLE);
+ mEmojiKeyboardView.setVisibility(View.GONE);
+ }
+
+ // Implements {@link KeyboardState.SwitchActions}.
+ @Override
+ public void setEmojiKeyboard() {
+ mMainKeyboardFrame.setVisibility(View.GONE);
+ mEmojiKeyboardView.setVisibility(View.VISIBLE);
+ }
+
// Implements {@link KeyboardState.SwitchActions}.
@Override
public void requestUpdatingShiftState() {
@@ -304,10 +320,16 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions {
setContextThemeWrapper(mLatinIME, mKeyboardTheme);
mCurrentInputView = (InputView)LayoutInflater.from(mThemeContext).inflate(
R.layout.input_view, null);
+ mMainKeyboardFrame = mCurrentInputView.findViewById(R.id.main_keyboard_frame);
+ mEmojiKeyboardView = (EmojiKeyboardView)mCurrentInputView.findViewById(
+ R.id.emoji_keyboard_view);
mKeyboardView = (MainKeyboardView) mCurrentInputView.findViewById(R.id.keyboard_view);
mKeyboardView.setHardwareAcceleratedDrawingEnabled(isHardwareAcceleratedDrawingEnabled);
mKeyboardView.setKeyboardActionListener(mLatinIME);
+ mEmojiKeyboardView.setHardwareAcceleratedDrawingEnabled(
+ isHardwareAcceleratedDrawingEnabled);
+ mEmojiKeyboardView.setKeyboardActionListener(mLatinIME);
// This always needs to be set since the accessibility state can
// potentially change without the input view being re-created.
diff --git a/java/src/com/android/inputmethod/keyboard/ProximityInfo.java b/java/src/com/android/inputmethod/keyboard/ProximityInfo.java
index c0c02f10a..cd127c760 100644
--- a/java/src/com/android/inputmethod/keyboard/ProximityInfo.java
+++ b/java/src/com/android/inputmethod/keyboard/ProximityInfo.java
@@ -342,7 +342,9 @@ y |---+---+---+---+-v-+-|-+---+---+---+---+---| | thresholdBase and get
for (int centerY = yStart; centerY <= yEnd; centerY += mCellHeight) {
int index = baseIndexOfCurrentRow;
for (int centerX = xStart; centerX <= xEnd; centerX += mCellWidth) {
- if (key.squaredDistanceToEdge(centerX, centerY) < thresholdSquared) {
+ // TODO: Remove "index < neighborCountPerCell.length" below.
+ if (index < neighborCountPerCell.length
+ && key.squaredDistanceToEdge(centerX, centerY) < thresholdSquared) {
neighborsFlatBuffer[index * keyCount + neighborCountPerCell[index]] = key;
++neighborCountPerCell[index];
}
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyStylesSet.java b/java/src/com/android/inputmethod/keyboard/internal/KeyStylesSet.java
index b21ea3f71..05d855e31 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyStylesSet.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyStylesSet.java
@@ -124,10 +124,11 @@ public final class KeyStylesSet {
@Override
public int getFlags(final TypedArray a, final int index) {
+ final int parentFlags = mStyles.get(mParentStyleName).getFlags(a, index);
final Integer value = (Integer)mStyleAttributes.get(index);
- final int flags = a.getInt(index, (value != null) ? value : 0);
- final KeyStyle parentStyle = mStyles.get(mParentStyleName);
- return flags | parentStyle.getFlags(a, index);
+ final int styleFlags = (value != null) ? value : 0;
+ final int flags = a.getInt(index, 0);
+ return flags | styleFlags | parentFlags;
}
public void readKeyAttributes(final TypedArray keyAttr) {
@@ -163,7 +164,8 @@ public final class KeyStylesSet {
private void readFlags(final TypedArray a, final int index) {
if (a.hasValue(index)) {
final Integer value = (Integer)mStyleAttributes.get(index);
- mStyleAttributes.put(index, a.getInt(index, 0) | (value != null ? value : 0));
+ final int styleFlags = value != null ? value : 0;
+ mStyleAttributes.put(index, a.getInt(index, 0) | styleFlags);
}
}
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
index 8c70389ba..22f7a83fc 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
@@ -625,6 +625,9 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
final AttributeSet attr = Xml.asAttributeSet(parser);
final TypedArray caseAttr = mResources.obtainAttributes(attr, R.styleable.Keyboard_Case);
try {
+ final boolean keyboardLayoutSetMatched = matchString(caseAttr,
+ R.styleable.Keyboard_Case_keyboardLayoutSet,
+ SubtypeLocaleUtils.getKeyboardLayoutSetName(id.mSubtype));
final boolean keyboardLayoutSetElementMatched = matchTypedValue(caseAttr,
R.styleable.Keyboard_Case_keyboardLayoutSetElement, id.mElementId,
KeyboardId.elementIdToName(id.mElementId));
@@ -657,15 +660,18 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
R.styleable.Keyboard_Case_languageCode, id.mLocale.getLanguage());
final boolean countryCodeMatched = matchString(caseAttr,
R.styleable.Keyboard_Case_countryCode, id.mLocale.getCountry());
- final boolean selected = keyboardLayoutSetElementMatched && modeMatched
- && navigateNextMatched && navigatePreviousMatched && passwordInputMatched
- && clobberSettingsKeyMatched && shortcutKeyEnabledMatched
- && shortcutKeyOnSymbolsMatched && hasShortcutKeyMatched
- && languageSwitchKeyEnabledMatched && isMultiLineMatched && imeActionMatched
- && localeCodeMatched && languageCodeMatched && countryCodeMatched;
+ final boolean selected = keyboardLayoutSetMatched && keyboardLayoutSetElementMatched
+ && modeMatched && navigateNextMatched && navigatePreviousMatched
+ && passwordInputMatched && clobberSettingsKeyMatched
+ && shortcutKeyEnabledMatched && shortcutKeyOnSymbolsMatched
+ && hasShortcutKeyMatched && languageSwitchKeyEnabledMatched
+ && isMultiLineMatched && imeActionMatched && localeCodeMatched
+ && languageCodeMatched && countryCodeMatched;
if (DEBUG) {
- startTag("<%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s>%s", TAG_CASE,
+ startTag("<%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s>%s", TAG_CASE,
+ textAttr(caseAttr.getString(
+ R.styleable.Keyboard_Case_keyboardLayoutSet), "keyboardLayoutSet"),
textAttr(caseAttr.getString(
R.styleable.Keyboard_Case_keyboardLayoutSetElement),
"keyboardLayoutSetElement"),
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
index 0b10a1d1a..089db12a2 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
@@ -46,6 +46,7 @@ public final class KeyboardState {
public void setAlphabetShiftLockedKeyboard();
public void setAlphabetShiftLockShiftedKeyboard();
public void setSymbolsKeyboard();
+ public void setEmojiKeyboard();
/**
* Request to call back {@link KeyboardState#onUpdateShiftState(int, int)}.
@@ -71,7 +72,10 @@ public final class KeyboardState {
private static final int SWITCH_STATE_MOMENTARY_ALPHA_SHIFT = 5;
private int mSwitchState = SWITCH_STATE_ALPHA;
+ // TODO: Consolidate these two mode booleans into one integer to distinguish between alphabet,
+ // symbols, and emoji mode.
private boolean mIsAlphabetMode;
+ private boolean mIsEmojiMode;
private AlphabetShiftState mAlphabetShiftState = new AlphabetShiftState();
private boolean mPrevMainKeyboardWasShiftLocked;
private int mRecapitalizeMode;
@@ -86,6 +90,7 @@ public final class KeyboardState {
public boolean mIsValid;
public boolean mIsAlphabetMode;
public boolean mIsAlphabetShiftLocked;
+ public boolean mIsEmojiMode;
public int mShiftMode;
@Override
@@ -94,6 +99,8 @@ public final class KeyboardState {
if (mIsAlphabetMode) {
if (mIsAlphabetShiftLocked) return "ALPHABET_SHIFT_LOCKED";
return "ALPHABET_" + shiftModeToString(mShiftMode);
+ } else if (mIsEmojiMode) {
+ return "EMOJI";
} else {
return "SYMBOLS";
}
@@ -125,6 +132,7 @@ public final class KeyboardState {
public void onSaveKeyboardState() {
final SavedKeyboardState state = mSavedKeyboardState;
state.mIsAlphabetMode = mIsAlphabetMode;
+ state.mIsEmojiMode = mIsEmojiMode;
if (mIsAlphabetMode) {
state.mIsAlphabetShiftLocked = mAlphabetShiftState.isShiftLocked();
state.mShiftMode = mAlphabetShiftState.isAutomaticShifted() ? AUTOMATIC_SHIFT
@@ -145,6 +153,8 @@ public final class KeyboardState {
}
if (!state.mIsValid || state.mIsAlphabetMode) {
setAlphabetKeyboard();
+ } else if (state.mIsEmojiMode) {
+ setEmojiKeyboard();
} else {
setSymbolsKeyboard();
}
@@ -254,6 +264,7 @@ public final class KeyboardState {
mSwitchActions.setAlphabetKeyboard();
mIsAlphabetMode = true;
+ mIsEmojiMode = false;
mRecapitalizeMode = RecapitalizeStatus.NOT_A_RECAPITALIZE_MODE;
mSwitchState = SWITCH_STATE_ALPHA;
mSwitchActions.requestUpdatingShiftState();
@@ -270,6 +281,15 @@ public final class KeyboardState {
mSwitchState = SWITCH_STATE_SYMBOL_BEGIN;
}
+ private void setEmojiKeyboard() {
+ if (DEBUG_ACTION) {
+ Log.d(TAG, "setEmojiKeyboard");
+ }
+ mIsAlphabetMode = false;
+ mIsEmojiMode = true;
+ mSwitchActions.setEmojiKeyboard();
+ }
+
public void onPressKey(final int code, final boolean isSinglePointer, final int autoCaps) {
if (DEBUG_EVENT) {
Log.d(TAG, "onPressKey: code=" + Constants.printableCode(code)
@@ -547,6 +567,8 @@ public final class KeyboardState {
// If the code is a letter, update keyboard shift state.
if (Constants.isLetterCode(code)) {
updateAlphabetShiftState(autoCaps, RecapitalizeStatus.NOT_A_RECAPITALIZE_MODE);
+ } else if (code == Constants.CODE_EMOJI) {
+ setEmojiKeyboard();
}
}
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
index c6d652c0e..488742ed8 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
@@ -275,7 +275,7 @@ public final class KeyboardTextsSet {
/* 50 */ "\u00A2,\u00A3,\u20AC,\u00A5,\u20B1",
/* 51 */ "$",
/* 52 */ "$,\u00A2,\u20AC,\u00A3,\u00A5,\u20B1",
- /* 53 */ "!fixedColumnOrder!8,\",\',#,-,:,!,\\,,?,@,&,\\%,+,;,/,(,)",
+ /* 53 */ "!fixedColumnOrder!3,!,\\,,?,:,;,@",
// U+2020: "†" DAGGER
// U+2021: "‡" DOUBLE DAGGER
// U+2605: "★" BLACK STAR
@@ -775,7 +775,7 @@ public final class KeyboardTextsSet {
null, null, null, null, null, null, null, null,
/* ~52 */
// U+00B7: "·" MIDDLE DOT
- /* 53 */ "!fixedColumnOrder!9,\u00B7,\",\',#,-,:,!,\\,,?,@,&,\\%,+,;,/,(,)",
+ /* 53 */ "!fixedColumnOrder!4,\u00B7,!,\\,,?,:,;,@",
/* 54~ */
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,
@@ -1247,7 +1247,7 @@ public final class KeyboardTextsSet {
/* ~52 */
// U+00A1: "¡" INVERTED EXCLAMATION MARK
// U+00BF: "¿" INVERTED QUESTION MARK
- /* 53 */ "!fixedColumnOrder!9,\u00A1,\",\',#,-,:,!,\\,,?,\u00BF,@,&,\\%,+,;,/,(,)",
+ /* 53 */ "!fixedColumnOrder!4,;,!,\\,,?,:,\u00A1,@,\u00BF",
/* 54~ */
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,
@@ -1753,6 +1753,25 @@ public final class KeyboardTextsSet {
/* 49 */ "!text/double_raqm_laqm",
};
+ /* Language hy: Armenian */
+ private static final String[] LANGUAGE_hy = {
+ /* 0~ */
+ 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,
+ /* ~52 */
+ // U+055E: "՞" ARMENIAN QUESTION MARK
+ /* 53 */ "!fixedColumnOrder!4,\u055E,!,\\,,?,:,;,@",
+ /* 54~ */
+ 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,
+ /* ~107 */
+ /* 108 */ "\u055E,?",
+ };
+
/* Language is: Icelandic */
private static final String[] LANGUAGE_is = {
// U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
@@ -1894,7 +1913,7 @@ public final class KeyboardTextsSet {
// U+20AA: "₪" NEW SHEQEL SIGN
/* 51 */ "\u20AA",
/* 52 */ null,
- /* 53 */ "!fixedColumnOrder!8,\",\',#,-,:,!,\\,,?,@,&,\\%,+,;,/,(|),)|(",
+ /* 53 */ null,
// U+2605: "★" BLACK STAR
/* 54 */ "\u2605",
/* 55 */ null,
@@ -3288,6 +3307,7 @@ public final class KeyboardTextsSet {
"hi", LANGUAGE_hi, /* Hindi */
"hr", LANGUAGE_hr, /* Croatian */
"hu", LANGUAGE_hu, /* Hungarian */
+ "hy", LANGUAGE_hy, /* Armenian */
"is", LANGUAGE_is, /* Icelandic */
"it", LANGUAGE_it, /* Italian */
"iw", LANGUAGE_iw, /* Hebrew */
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index de4baf948..27a1739b9 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1532,7 +1532,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
handleLanguageSwitchKey();
break;
case Constants.CODE_EMOJI:
- // TODO: Implement emoji keyboard switch.
+ // Note: Switching emoji keyboard is being handled in
+ // {@link KeyboardState#onCodeInput(int,int)}.
break;
case Constants.CODE_ENTER:
final EditorInfo editorInfo = getCurrentInputEditorInfo();