diff --git a/java/res/xml-sw600dp/rows_bengali.xml b/java/res/xml-sw600dp/rows_bengali.xml new file mode 100644 index 0000000000000000000000000000000000000000..b1e787849fe0c0bcb82facb9043c87166657ca2e --- /dev/null +++ b/java/res/xml-sw600dp/rows_bengali.xml @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2014, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> + +<merge + xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" +> + <include + latin:keyboardLayout="@xml/key_styles_common" /> + <Row + latin:keyWidth="8.182%p" + > + <include + latin:keyboardLayout="@xml/rowkeys_bengali1" /> + <Key + latin:keyStyle="deleteKeyStyle" + latin:keyWidth="fillRight" /> + </Row> + <Row + latin:keyWidth="8.182%p" + > + <include + latin:keyboardLayout="@xml/rowkeys_bengali2" /> + <Key + latin:keyStyle="enterKeyStyle" + latin:keyWidth="fillRight" /> + </Row> + <Row + latin:keyWidth="8.182%p" + > + <include + latin:keyboardLayout="@xml/rowkeys_bengali3" /> + <include + latin:keyboardLayout="@xml/keys_exclamation_question" /> + </Row> + <include + latin:keyboardLayout="@xml/row_qwerty4" /> +</merge> diff --git a/java/res/xml/kbd_bengali.xml b/java/res/xml/kbd_bengali.xml new file mode 100644 index 0000000000000000000000000000000000000000..879a897df900e58b3248e79be37115720cd6d4a6 --- /dev/null +++ b/java/res/xml/kbd_bengali.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2014, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> + +<Keyboard + xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" +> + <include + latin:keyboardLayout="@xml/rows_bengali" /> +</Keyboard> diff --git a/java/res/xml/key_styles_currency.xml b/java/res/xml/key_styles_currency.xml index 0bb2bb4082f2ea48b05ea5c37b549e8f4ad5fd6f..f576d046524854aa4c62c5f29b1cec4315e5434c 100644 --- a/java/res/xml/key_styles_currency.xml +++ b/java/res/xml/key_styles_currency.xml @@ -92,28 +92,17 @@ <include latin:keyboardLayout="@xml/key_styles_currency_euro" /> </case> - <!-- fa: Persian (Rial and Afgahni) - hi: Hindi (Indian Rupee) - iw: Hebrew (New Sheqel) - lo: Lao (Kip) - mn: Mongolian (Tugrik) - ne: Nepali (Nepalese Rupee) - th: Thai (Baht) - uk: Ukrainian (Hryvnia) - vi: Vietnamese (Dong) --> - <!-- TODO: The currency sign of Turkish Lira was created in 2012 and assigned U+20BA for - its unicode, although there is no font glyph for it as of November 2012. --> - <!-- TODO: The currency sign of Armenian Dram was created in 2012 and assigned U+058F for - its unicode, although there is no font glyph for it as of September 2013. --> + <!-- IN: India (Rupee) --> <case - latin:languageCode="fa|hi|iw|lo|mn|ne|th|uk|vi" + latin:countryCode="IN" > - <!-- U+00A3: "£" POUND SIGN + <!-- U+20B9: "₹" INDIAN RUPEE SIGN + U+00A3: "£" POUND SIGN U+20AC: "€" EURO SIGN U+00A2: "¢" CENT SIGN --> <key-style latin:styleName="currencyKeyStyle" - latin:keySpec="!text/keyspec_currency" + latin:keySpec="₹" latin:moreKeys="!text/morekeys_currency" /> <key-style latin:styleName="moreCurrency1KeyStyle" @@ -129,17 +118,29 @@ latin:styleName="moreCurrency4KeyStyle" latin:keySpec="¢" /> </case> - <!-- IN: India (Rupee) --> + <!-- bn: Bengali (Bangladesh Taka) + fa: Persian (Rial and Afgahni) + hi: Hindi (Indian Rupee) + iw: Hebrew (New Sheqel) + lo: Lao (Kip) + mn: Mongolian (Tugrik) + ne: Nepali (Nepalese Rupee) + th: Thai (Baht) + uk: Ukrainian (Hryvnia) + vi: Vietnamese (Dong) --> + <!-- TODO: The currency sign of Turkish Lira was created in 2012 and assigned U+20BA for + its unicode, although there is no font glyph for it as of November 2012. --> + <!-- TODO: The currency sign of Armenian Dram was created in 2012 and assigned U+058F for + its unicode, although there is no font glyph for it as of September 2013. --> <case - latin:countryCode="IN" + latin:languageCode="bn|fa|hi|iw|lo|mn|ne|th|uk|vi" > - <!-- U+20B9: "₹" INDIAN RUPEE SIGN - U+00A3: "£" POUND SIGN + <!-- U+00A3: "£" POUND SIGN U+20AC: "€" EURO SIGN U+00A2: "¢" CENT SIGN --> <key-style latin:styleName="currencyKeyStyle" - latin:keySpec="₹" + latin:keySpec="!text/keyspec_currency" latin:moreKeys="!text/morekeys_currency" /> <key-style latin:styleName="moreCurrency1KeyStyle" diff --git a/java/res/xml/keyboard_layout_set_bengali.xml b/java/res/xml/keyboard_layout_set_bengali.xml new file mode 100644 index 0000000000000000000000000000000000000000..6e40e6de48c4b921ca4dd502864aa92b31f1eae2 --- /dev/null +++ b/java/res/xml/keyboard_layout_set_bengali.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2014, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> + +<KeyboardLayoutSet + xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"> + <Element + latin:elementName="alphabet" + latin:elementKeyboard="@xml/kbd_bengali" + latin:enableProximityCharsCorrection="true" /> + <Element + latin:elementName="symbols" + latin:elementKeyboard="@xml/kbd_symbols" /> + <Element + latin:elementName="symbolsShifted" + latin:elementKeyboard="@xml/kbd_symbols_shift" /> + <Element + latin:elementName="phone" + latin:elementKeyboard="@xml/kbd_phone" /> + <Element + latin:elementName="phoneSymbols" + latin:elementKeyboard="@xml/kbd_phone_symbols" /> + <Element + latin:elementName="number" + latin:elementKeyboard="@xml/kbd_number" /> +</KeyboardLayoutSet> diff --git a/java/res/xml/method.xml b/java/res/xml/method.xml index 68dce8abc47d8a80bb70e9a0801aecf64b73affc..67be24256046694f8291792acbcaae44796af300 100644 --- a/java/res/xml/method.xml +++ b/java/res/xml/method.xml @@ -28,6 +28,7 @@ be_BY: Belarusian (Belarus)/east_slavic bg: Bulgarian/bulgarian bg: Bulgarian/bulgarian_bds + (bn_IN: Bengali (India)/bengali) # This is a preliminary keyboard layout. ca: Catalan/spanish cs: Czech/qwertz da: Danish/nordic @@ -171,6 +172,16 @@ android:imeSubtypeExtraValue="KeyboardLayoutSet=bulgarian_bds,EmojiCapable" android:isAsciiCapable="false" /> + <!-- TODO: This bengali keyboard is a preliminary layout. + This isn't based on the final specification. --> + <subtype android:icon="@drawable/ic_ime_switcher_dark" + android:label="@string/subtype_generic" + android:subtypeId="0xbff5986c" + android:imeSubtypeLocale="bn_IN" + android:imeSubtypeMode="keyboard" + android:imeSubtypeExtraValue="KeyboardLayoutSet=bengali,EmojiCapable" + android:isAsciiCapable="false" + /> <subtype android:icon="@drawable/ic_ime_switcher_dark" android:label="@string/subtype_generic" android:subtypeId="0xd2e520d5" diff --git a/java/res/xml/rowkeys_bengali1.xml b/java/res/xml/rowkeys_bengali1.xml new file mode 100644 index 0000000000000000000000000000000000000000..c137d12e0f277f8a89b26008f544c7ab07e02f3c --- /dev/null +++ b/java/res/xml/rowkeys_bengali1.xml @@ -0,0 +1,109 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2014, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> + +<merge + xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" +> + <!-- U+0994: "ঔ" BENGALI LETTER AU + U+09E7: "à§§" BENGALI DIGIT ONE --> + <Key + latin:keySpec="ঔ" + latin:keyHintLabel="১" + latin:additionalMoreKeys="১,1" + latin:keyLabelFlags="fontNormal" /> + <!-- U+0990: "à¦" BENGALI LETTER AI + U+09E8: "২" BENGALI DIGIT TWO --> + <Key + latin:keySpec="ঐ" + latin:keyHintLabel="২" + latin:additionalMoreKeys="২,2" + latin:keyLabelFlags="fontNormal" /> + <!-- U+0986: "আ" BENGALI LETTER AA + U+09E9: "à§©" BENGALI DIGIT THREE --> + <Key + latin:keySpec="আ" + latin:keyHintLabel="৩" + latin:additionalMoreKeys="৩,3" + latin:keyLabelFlags="fontNormal" /> + <!-- U+0988: "ঈ" BENGALI LETTER II + U+09EA: "৪" BENGALI DIGIT FOUR --> + <Key + latin:keySpec="ঈ" + latin:keyHintLabel="৪" + latin:additionalMoreKeys="৪,4" + latin:keyLabelFlags="fontNormal" /> + <!-- U+098A: "ঊ" BENGALI LETTER UU + U+09EB: "à§«" BENGALI DIGIT FIVE --> + <Key + latin:keySpec="ঊ" + latin:keyHintLabel="৫" + latin:additionalMoreKeys="৫,5" + latin:keyLabelFlags="fontNormal" /> + <!-- U+09AC: "ব" BENGALI LETTER BA + U+09AD: "à¦" BENGALI LETTER BHA + U+09EC: "৬" BENGALI DIGIT SIX --> + <Key + latin:keySpec="ব" + latin:moreKeys="ভ,%" + latin:keyHintLabel="৬" + latin:additionalMoreKeys="৬,6" + latin:keyLabelFlags="fontNormal" /> + <!-- U+09B9: "হ" BENGALI LETTER HA + U+09ED: "à§" BENGALI DIGIT SEVEN --> + <Key + latin:keySpec="হ" + latin:keyHintLabel="৭" + latin:additionalMoreKeys="৭,7" + latin:keyLabelFlags="fontNormal" /> + <!-- U+0997: "গ" BENGALI LETTER GA + U+0998: "ঘ" BENGALI LETTER GHA + U+09EE: "à§®" BENGALI DIGIT EIGHT --> + <Key + latin:keySpec="গ" + latin:moreKeys="ঘ,%" + latin:keyHintLabel="৮" + latin:additionalMoreKeys="৮,8" + latin:keyLabelFlags="fontNormal" /> + <!-- U+09A6: "দ" BENGALI LETTER DA + U+09A7: "ধ" BENGALI LETTER DHA + U+09EF: "৯" BENGALI DIGIT NINE --> + <Key + latin:keySpec="দ" + latin:moreKeys="ধ,%" + latin:keyHintLabel="৯" + latin:additionalMoreKeys="৯,9" + latin:keyLabelFlags="fontNormal" /> + <!-- U+099C: "জ" BENGALI LETTER JA + U+099D: "à¦" BENGALI LETTER JHA + U+099C/U+09CD/U+099E: "জà§à¦ž" BENGALI LETTER JA/BENGALI SIGN VIRAMA/BENGALI LETTER NYA + U+09E6: "০" BENGALI DIGIT ZERO --> + <Key + latin:keySpec="জ" + latin:moreKeys="ঝ,জ্ঞ,%" + latin:keyHintLabel="০" + latin:additionalMoreKeys="০,0" + latin:keyLabelFlags="fontNormal" /> + <!-- U+09A1: "ড" BENGALI LETTER DDA + U+09A1/U+09BC: "ড়" BENGALI LETTER DDA/BENGALI SIGN NUKTA --> + <Key + latin:keySpec="ড" + latin:moreKeys="ড়" + latin:keyLabelFlags="fontNormal" /> +</merge> diff --git a/java/res/xml/rowkeys_bengali2.xml b/java/res/xml/rowkeys_bengali2.xml new file mode 100644 index 0000000000000000000000000000000000000000..589ce017d310a99264ea755492668be0e6cd86ac --- /dev/null +++ b/java/res/xml/rowkeys_bengali2.xml @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2014, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> + +<merge + xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" +> + <!-- U+0993: "ও" BENGALI LETTER O + U+09CB: "à§‹" BENGALI VOWEL SIGN O --> + <Key + latin:keySpec="ও" + latin:moreKeys="ো" + latin:keyLabelFlags="fontNormal" /> + <!-- U+098F: "à¦" BENGALI LETTER E + U+09C7: "ে" BENGALI VOWEL SIGN E --> + <Key + latin:keySpec="এ" + latin:moreKeys="ে" + latin:keyLabelFlags="fontNormal" /> + <!-- U+0985: "অ" BENGALI LETTER A + U+09CD: "à§" BENGALI SIGN VIRAMA --> + <Key + latin:keySpec="অ" + latin:moreKeys="্" + latin:keyLabelFlags="fontNormal" /> + <!-- U+0987: "ই" BENGALI LETTER I + U+09BF: "ি" BENGALI VOWEL SIGN I --> + <Key + latin:keySpec="ই" + latin:moreKeys="ি" + latin:keyLabelFlags="fontNormal" /> + <!-- U+0989: "উ" BENGALI LETTER U + U+09C1: "à§" BENGALI VOWEL SIGN U --> + <Key + latin:keySpec="উ" + latin:moreKeys="ু" + latin:keyLabelFlags="fontNormal" /> + <!-- U+09AA: "প" BENGALI LETTER PA + U+09AB: "ফ" BENGALI LETTER PHA --> + <Key + latin:keySpec="প" + latin:moreKeys="ফ" + latin:keyLabelFlags="fontNormal" /> + <!-- U+09B0: "র" BENGALI LETTER RA + U+09C3: "ৃ" BENGALI VOWEL SIGN VOCALIC R + U+098B: "ঋ" BENGALI LETTER VOCALIC R + U+09A4/U+09CD/U+09B0: "তà§à¦°" BENGALI LETTER TA/BENGALI SIGN VIRAMA/BENGALI LETTER RA --> + <Key + latin:keySpec="র" + latin:moreKeys="ৃ,ঋ,ত্র" + latin:keyLabelFlags="fontNormal" /> + <!-- U+0995: "ক" BENGALI LETTER KA + U+0996: "খ" BENGALI LETTER KHA --> + <Key + latin:keySpec="ক" + latin:moreKeys="খ" + latin:keyLabelFlags="fontNormal" /> + <!-- U+09A4: "ত" BENGALI LETTER TA + U+09CE: "à§Ž" BENGALI LETTER KHANDA TA + U+09A5: "থ" BENGALI LETTER THA + U+09A4/U+09CD/U+09A4: "তà§à¦¤" BENGALI LETTER TA/BENGALI SIGN VIRAMA/BENGALI LETTER TA --> + <Key + latin:keySpec="ত" + latin:moreKeys="ৎ,থ,ত্ত" + latin:keyLabelFlags="fontNormal" /> + <!-- U+099A: "চ" BENGALI LETTER CA + U+099B: "ছ" BENGALI LETTER CHA --> + <Key + latin:keySpec="চ" + latin:moreKeys="ছ" + latin:keyLabelFlags="fontNormal" /> + <!-- U+099F: "ট" BENGALI LETTER TTA + U+09A0: "ঠ" BENGALI LETTER TTHA --> + <Key + latin:keySpec="ট" + latin:moreKeys="ঠ" + latin:keyLabelFlags="fontNormal" /> +</merge> diff --git a/java/res/xml/rowkeys_bengali3.xml b/java/res/xml/rowkeys_bengali3.xml new file mode 100644 index 0000000000000000000000000000000000000000..b6d46850f74914c083b9026a0f8a276e5ee6e3d3 --- /dev/null +++ b/java/res/xml/rowkeys_bengali3.xml @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2014, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> + +<merge + xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" +> + <!-- U+0981: "à¦" BENGALI SIGN CANDRABINDU + U+0983: "ঃ" BENGALI SIGN VISARGA + U+0982: "ং" BENGALI SIGN ANUSVARA --> + <Key + latin:keySpec="ঁ" + latin:moreKeys="ঃ,ং" + latin:keyLabelFlags="fontNormal" /> + <!-- U+09A2: "ঢ" BENGALI LETTER DDHA + U+09A2/U+09BC: "ঢ়" BENGALI LETTER DDHA/BENGALI SIGN NUKTA --> + <Key + latin:keySpec="ঢ" + latin:moreKeys="ঢ়" + latin:keyLabelFlags="fontNormal" /> + <!-- U+09AE: "ম" BENGALI LETTER MA --> + <Key + latin:keySpec="ম" + latin:keyLabelFlags="fontNormal" /> + <!-- U+09A8: "ন" BENGALI LETTER NA + U+09A3: "ণ" BENGALI LETTER NNA --> + <Key + latin:keySpec="ন" + latin:moreKeys="ণ" + latin:keyLabelFlags="fontNormal" /> + <!-- U+099E: "ঞ" BENGALI LETTER NYA + U+0999: "ঙ" BENGALI LETTER NGA + U+099E/U+09CD/U+099C: "ঞà§à¦œ" BENGALI LETTER NYA/BENGALI SIGN VIRAMA/BENGALI LETTER JA --> + <Key + latin:keySpec="ঞ" + latin:moreKeys="ঙ,ঞ্জ" + latin:keyLabelFlags="fontNormal" /> + <!-- U+09B2: "ল" BENGALI LETTER LA --> + <Key + latin:keySpec="ল" + latin:keyLabelFlags="fontNormal" /> + <!-- U+09B7: "ষ" BENGALI LETTER SSA + U+0995/U+09CD/U+09B7: "কà§à¦·" BENGALI LETTER KA/BENGALI SIGN VIRAMA/BENGALI LETTER SSA --> + <Key + latin:keySpec="ষ" + latin:moreKeys="ক্ষ" + latin:keyLabelFlags="fontNormal" /> + <!-- U+09B8: "স" BENGALI LETTER SA + U+09B6: "শ" BENGALI LETTER SHA --> + <Key + latin:keySpec="স" + latin:moreKeys="শ" + latin:keyLabelFlags="fontNormal" /> + <!-- U+09DF: "à§Ÿ" BENGALI LETTER YYA + U+09AF: "য" BENGALI LETTER YA --> + <Key + latin:keySpec="য়" + latin:moreKeys="য" + latin:keyLabelFlags="fontNormal" /> + <!-- U+0964: "।" DEVANAGARI DANDA + U+0965: "॥" DEVANAGARI DOUBLE DANDA --> + <Key + latin:keySpec="।" + latin:moreKeys="॥" + latin:keyLabelFlags="fontNormal" /> +</merge> diff --git a/java/res/xml/rows_bengali.xml b/java/res/xml/rows_bengali.xml new file mode 100644 index 0000000000000000000000000000000000000000..890f9352f8bbc2b5c0e54463e760c90b65a3ffb7 --- /dev/null +++ b/java/res/xml/rows_bengali.xml @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2014, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> + +<merge + xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" +> + <include + latin:keyboardLayout="@xml/key_styles_common" /> + <Row + latin:keyWidth="9.091%p" + > + <include + latin:keyboardLayout="@xml/rowkeys_bengali1" /> + </Row> + <Row + latin:keyWidth="9.091%p" + > + <include + latin:keyboardLayout="@xml/rowkeys_bengali2" /> + </Row> + <Row + latin:keyWidth="9.091%p" + > + <include + latin:keyboardLayout="@xml/rowkeys_bengali3" /> + <Key + latin:keyStyle="deleteKeyStyle" + latin:keyWidth="fillRight" /> + </Row> + <include + latin:keyboardLayout="@xml/row_qwerty4" /> +</merge> diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java index 13b174e94b5f442bd4e5e62a079924d764785ff0..6afc6210c3fb51fb6f6874ec71beb1f04cf132e0 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java @@ -88,8 +88,8 @@ public final class KeyboardTextsTable { /* 2:30 */ "morekeys_u", /* 3:29 */ "morekeys_e", /* 4:28 */ "morekeys_i", - /* 5:23 */ "morekeys_c", - /* 6:23 */ "keylabel_to_alpha", + /* 5:24 */ "keylabel_to_alpha", + /* 6:23 */ "morekeys_c", /* 7:23 */ "double_quotes", /* 8:22 */ "morekeys_n", /* 9:22 */ "single_quotes", @@ -97,9 +97,9 @@ public final class KeyboardTextsTable { /* 11:14 */ "morekeys_y", /* 12:13 */ "morekeys_d", /* 13:12 */ "morekeys_z", - /* 14:10 */ "morekeys_t", - /* 15:10 */ "morekeys_l", - /* 16:10 */ "keyspec_currency", + /* 14:11 */ "keyspec_currency", + /* 15:10 */ "morekeys_t", + /* 16:10 */ "morekeys_l", /* 17: 9 */ "morekeys_g", /* 18: 9 */ "single_angle_quotes", /* 19: 9 */ "double_angle_quotes", @@ -258,18 +258,21 @@ public final class KeyboardTextsTable { /* Default texts */ private static final String[] TEXTS_DEFAULT = { /* morekeys_a ~ */ - EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, - /* ~ morekeys_c */ + EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, + /* ~ morekeys_i */ // Label for "switch to alphabetic" key. /* keylabel_to_alpha */ "ABC", + /* morekeys_c */ EMPTY, /* double_quotes */ "!text/double_lqm_rqm", /* morekeys_n */ EMPTY, /* single_quotes */ "!text/single_lqm_rqm", /* morekeys_s ~ */ - EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, - /* ~ morekeys_l */ + EMPTY, EMPTY, EMPTY, EMPTY, + /* ~ morekeys_z */ /* keyspec_currency */ "$", - /* morekeys_g */ EMPTY, + /* morekeys_t ~ */ + EMPTY, EMPTY, EMPTY, + /* ~ morekeys_g */ /* single_angle_quotes */ "!text/single_laqm_raqm", /* double_angle_quotes */ "!text/double_laqm_raqm", /* morekeys_r ~ */ @@ -507,7 +510,7 @@ public final class KeyboardTextsTable { // U+012B: "Ä«" LATIN SMALL LETTER I WITH MACRON // U+0133: "ij" LATIN SMALL LIGATURE IJ /* morekeys_i */ "\u00ED,\u00EC,\u00EF,\u00EE,\u012F,\u012B,\u0133", - /* morekeys_c ~ */ + /* keylabel_to_alpha ~ */ null, null, null, /* ~ double_quotes */ // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE @@ -523,17 +526,17 @@ public final class KeyboardTextsTable { /* Locale ar: Arabic */ private static final String[] TEXTS_ar = { /* morekeys_a ~ */ - null, null, null, null, null, null, - /* ~ morekeys_c */ + null, null, null, null, null, + /* ~ morekeys_i */ // Label for "switch to alphabetic" key. // U+0623: "Ø£" ARABIC LETTER ALEF WITH HAMZA ABOVE // U+200C: ZERO WIDTH NON-JOINER // U+0628: "ب" ARABIC LETTER BEH // U+062C: "ج" ARABIC LETTER JEEM /* keylabel_to_alpha */ "\u0623\u200C\u0628\u200C\u062C", - /* double_quotes ~ */ + /* morekeys_c ~ */ null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, /* ~ morekeys_cyrillic_soft_sign */ // U+0661: "Ù¡" ARABIC-INDIC DIGIT ONE /* keyspec_symbols_1 */ "\u0661", @@ -681,12 +684,13 @@ public final class KeyboardTextsTable { // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK // U+012B: "Ä«" LATIN SMALL LETTER I WITH MACRON /* morekeys_i */ "\u0131,\u00EE,\u00EF,\u00EC,\u00ED,\u012F,\u012B", + /* keylabel_to_alpha */ null, // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE // U+010D: "Ä" LATIN SMALL LETTER C WITH CARON /* morekeys_c */ "\u00E7,\u0107,\u010D", - /* keylabel_to_alpha ~ */ - null, null, null, null, + /* double_quotes ~ */ + null, null, null, /* ~ single_quotes */ // U+015F: "ÅŸ" LATIN SMALL LETTER S WITH CEDILLA // U+00DF: "ß" LATIN SMALL LETTER SHARP S @@ -695,7 +699,7 @@ public final class KeyboardTextsTable { /* morekeys_s */ "\u015F,\u00DF,\u015B,\u0161", /* morekeys_y ~ */ null, null, null, null, null, null, - /* ~ keyspec_currency */ + /* ~ morekeys_l */ // U+011F: "ÄŸ" LATIN SMALL LETTER G WITH BREVE /* morekeys_g */ "\u011F", }; @@ -703,13 +707,14 @@ public final class KeyboardTextsTable { /* Locale be_BY: Belarusian (Belarus) */ private static final String[] TEXTS_be_BY = { /* morekeys_a ~ */ - null, null, null, null, null, null, - /* ~ morekeys_c */ + null, null, null, null, null, + /* ~ morekeys_i */ // Label for "switch to alphabetic" key. // U+0410: "Ð" CYRILLIC CAPITAL LETTER A // U+0411: "Б" CYRILLIC CAPITAL LETTER BE // U+0412: "Ð’" CYRILLIC CAPITAL LETTER VE /* keylabel_to_alpha */ "\u0410\u0411\u0412", + /* morekeys_c */ null, /* double_quotes */ "!text/double_9qm_lqm", /* morekeys_n */ null, /* single_quotes */ "!text/single_9qm_lqm", @@ -736,17 +741,35 @@ public final class KeyboardTextsTable { /* Locale bg: Bulgarian */ private static final String[] TEXTS_bg = { /* morekeys_a ~ */ - null, null, null, null, null, null, - /* ~ morekeys_c */ + null, null, null, null, null, + /* ~ morekeys_i */ // Label for "switch to alphabetic" key. // U+0410: "Ð" CYRILLIC CAPITAL LETTER A // U+0411: "Б" CYRILLIC CAPITAL LETTER BE // U+0412: "Ð’" CYRILLIC CAPITAL LETTER VE /* keylabel_to_alpha */ "\u0410\u0411\u0412", + /* morekeys_c */ null, // single_quotes of Bulgarian is default single_quotes_right_left. /* double_quotes */ "!text/double_9qm_lqm", }; + /* Locale bn: Bengali */ + private static final String[] TEXTS_bn = { + /* morekeys_a ~ */ + null, null, null, null, null, + /* ~ morekeys_i */ + // Label for "switch to alphabetic" key. + // U+0995: "क" BENGALI LETTER KA + // U+0996: "ख" BENGALI LETTER KHA + // U+0997: "ग" BENGALI LETTER GA + /* keylabel_to_alpha */ "\u0995\u0996\u0997", + /* morekeys_c ~ */ + null, null, null, null, null, null, null, null, + /* ~ morekeys_z */ + // U+09F3: "à§³" BENGALI RUPEE SIGN + /* keyspec_currency */ "\u09F3", + }; + /* Locale ca: Catalan */ private static final String[] TEXTS_ca = { // U+00E0: "à " LATIN SMALL LETTER A WITH GRAVE @@ -791,25 +814,25 @@ public final class KeyboardTextsTable { // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK // U+012B: "Ä«" LATIN SMALL LETTER I WITH MACRON /* morekeys_i */ "\u00ED,\u00EF,\u00EC,\u00EE,\u012F,\u012B", + /* keylabel_to_alpha */ null, // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE // U+010D: "Ä" LATIN SMALL LETTER C WITH CARON /* morekeys_c */ "\u00E7,\u0107,\u010D", - /* keylabel_to_alpha */ null, /* double_quotes */ null, // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "Å„" LATIN SMALL LETTER N WITH ACUTE /* morekeys_n */ "\u00F1,\u0144", /* single_quotes ~ */ - null, null, null, null, null, null, + null, null, null, null, null, null, null, /* ~ morekeys_t */ // U+00B7: "·" MIDDLE DOT // U+0142: "Å‚" LATIN SMALL LETTER L WITH STROKE /* morekeys_l */ "l\u00B7l,\u0142", - /* keyspec_currency ~ */ + /* morekeys_g ~ */ null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, /* ~ morekeys_nordic_row2_11 */ // U+00B7: "·" MIDDLE DOT /* morekeys_punctuation */ "!autoColumnOrder!9,\\,,?,!,\u00B7,#,),(,/,;,',@,:,-,\",+,\\%,&", @@ -866,11 +889,11 @@ public final class KeyboardTextsTable { // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK // U+012B: "Ä«" LATIN SMALL LETTER I WITH MACRON /* morekeys_i */ "\u00ED,\u00EE,\u00EF,\u00EC,\u012F,\u012B", + /* keylabel_to_alpha */ null, // U+010D: "Ä" LATIN SMALL LETTER C WITH CARON // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE /* morekeys_c */ "\u010D,\u00E7,\u0107", - /* keylabel_to_alpha */ null, /* double_quotes */ "!text/double_9qm_lqm", // U+0148: "ň" LATIN SMALL LETTER N WITH CARON // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE @@ -890,11 +913,11 @@ public final class KeyboardTextsTable { // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE /* morekeys_z */ "\u017E,\u017A,\u017C", + /* keyspec_currency */ null, // U+0165: "Å¥" LATIN SMALL LETTER T WITH CARON /* morekeys_t */ "\u0165", - /* morekeys_l ~ */ - null, null, null, - /* ~ morekeys_g */ + /* morekeys_l */ null, + /* morekeys_g */ null, /* single_angle_quotes */ "!text/single_raqm_laqm", /* double_angle_quotes */ "!text/double_raqm_laqm", // U+0159: "Å™" LATIN SMALL LETTER R WITH CARON @@ -929,8 +952,8 @@ public final class KeyboardTextsTable { // U+00ED: "Ã" LATIN SMALL LETTER I WITH ACUTE // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS /* morekeys_i */ "\u00ED,\u00EF", - /* morekeys_c */ null, /* keylabel_to_alpha */ null, + /* morekeys_c */ null, /* double_quotes */ "!text/double_9qm_lqm", // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "Å„" LATIN SMALL LETTER N WITH ACUTE @@ -945,11 +968,11 @@ public final class KeyboardTextsTable { /* morekeys_y */ "\u00FD,\u00FF", // U+00F0: "ð" LATIN SMALL LETTER ETH /* morekeys_d */ "\u00F0", - /* morekeys_z */ null, - /* morekeys_t */ null, + /* morekeys_z ~ */ + null, null, null, + /* ~ morekeys_t */ // U+0142: "Å‚" LATIN SMALL LETTER L WITH STROKE /* morekeys_l */ "\u0142", - /* keyspec_currency */ null, /* morekeys_g */ null, /* single_angle_quotes */ "!text/single_raqm_laqm", /* double_angle_quotes */ "!text/double_raqm_laqm", @@ -1006,7 +1029,7 @@ public final class KeyboardTextsTable { /* morekeys_e */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0117", /* morekeys_i ~ */ null, null, null, - /* ~ keylabel_to_alpha */ + /* ~ morekeys_c */ /* double_quotes */ "!text/double_9qm_lqm", // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "Å„" LATIN SMALL LETTER N WITH ACUTE @@ -1043,8 +1066,8 @@ public final class KeyboardTextsTable { /* Locale el: Greek */ private static final String[] TEXTS_el = { /* morekeys_a ~ */ - null, null, null, null, null, null, - /* ~ morekeys_c */ + null, null, null, null, null, + /* ~ morekeys_i */ // Label for "switch to alphabetic" key. // U+0391: "Α" GREEK CAPITAL LETTER ALPHA // U+0392: "Î’" GREEK CAPITAL LETTER BETA @@ -1090,9 +1113,9 @@ public final class KeyboardTextsTable { // U+012B: "Ä«" LATIN SMALL LETTER I WITH MACRON // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE /* morekeys_i */ "\u00ED,\u00EE,\u00EF,\u012B,\u00EC", + /* keylabel_to_alpha */ null, // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA /* morekeys_c */ "\u00E7", - /* keylabel_to_alpha */ null, /* double_quotes */ null, // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE /* morekeys_n */ "\u00F1", @@ -1156,12 +1179,12 @@ public final class KeyboardTextsTable { // U+0131: "ı" LATIN SMALL LETTER DOTLESS I // U+0133: "ij" LATIN SMALL LIGATURE IJ /* morekeys_i */ "\u00ED,\u00EE,\u00EF,\u0129,\u00EC,\u012F,\u012B,\u0131,\u0133", + /* keylabel_to_alpha */ null, // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE // U+010D: "Ä" LATIN SMALL LETTER C WITH CARON // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA // U+010B: "Ä‹" LATIN SMALL LETTER C WITH DOT ABOVE /* morekeys_c */ "\u0107,\u010D,\u00E7,\u010B", - /* keylabel_to_alpha */ null, /* double_quotes */ null, // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "Å„" LATIN SMALL LETTER N WITH ACUTE @@ -1190,6 +1213,7 @@ public final class KeyboardTextsTable { // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON /* morekeys_z */ "\u017A,\u017C,\u017E", + /* keyspec_currency */ null, // U+0165: "Å¥" LATIN SMALL LETTER T WITH CARON // U+021B: "È›" LATIN SMALL LETTER T WITH COMMA BELOW // U+0163: "Å£" LATIN SMALL LETTER T WITH CEDILLA @@ -1201,7 +1225,6 @@ public final class KeyboardTextsTable { // U+0140: "Å€" LATIN SMALL LETTER L WITH MIDDLE DOT // U+0142: "Å‚" LATIN SMALL LETTER L WITH STROKE /* morekeys_l */ "\u013A,\u013C,\u013E,\u0140,\u0142", - /* keyspec_currency */ null, // U+011F: "ÄŸ" LATIN SMALL LETTER G WITH BREVE // U+0121: "Ä¡" LATIN SMALL LETTER G WITH DOT ABOVE // U+0123: "Ä£" LATIN SMALL LETTER G WITH CEDILLA @@ -1293,11 +1316,11 @@ public final class KeyboardTextsTable { // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK // U+012B: "Ä«" LATIN SMALL LETTER I WITH MACRON /* morekeys_i */ "\u00ED,\u00EF,\u00EC,\u00EE,\u012F,\u012B", + /* keylabel_to_alpha */ null, // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE // U+010D: "Ä" LATIN SMALL LETTER C WITH CARON /* morekeys_c */ "\u00E7,\u0107,\u010D", - /* keylabel_to_alpha */ null, /* double_quotes */ null, // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "Å„" LATIN SMALL LETTER N WITH ACUTE @@ -1359,11 +1382,11 @@ public final class KeyboardTextsTable { // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS // U+0131: "ı" LATIN SMALL LETTER DOTLESS I /* morekeys_i */ "\u012B,\u00EC,\u012F,\u00ED,\u00EE,\u00EF,\u0131", + /* keylabel_to_alpha */ null, // U+010D: "Ä" LATIN SMALL LETTER C WITH CARON // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE /* morekeys_c */ "\u010D,\u00E7,\u0107", - /* keylabel_to_alpha */ null, /* double_quotes */ "!text/double_9qm_lqm", // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE @@ -1384,6 +1407,7 @@ public final class KeyboardTextsTable { // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE /* morekeys_z */ "\u017E,\u017C,\u017A", + /* keyspec_currency */ null, // U+0163: "Å£" LATIN SMALL LETTER T WITH CEDILLA // U+0165: "Å¥" LATIN SMALL LETTER T WITH CARON /* morekeys_t */ "\u0163,\u0165", @@ -1392,7 +1416,6 @@ public final class KeyboardTextsTable { // U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE // U+013E: "ľ" LATIN SMALL LETTER L WITH CARON /* morekeys_l */ "\u013C,\u0142,\u013A,\u013E", - /* keyspec_currency */ null, // U+0123: "Ä£" LATIN SMALL LETTER G WITH CEDILLA // U+011F: "ÄŸ" LATIN SMALL LETTER G WITH BREVE /* morekeys_g */ "\u0123,\u011F", @@ -1459,11 +1482,11 @@ public final class KeyboardTextsTable { // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK // U+012B: "Ä«" LATIN SMALL LETTER I WITH MACRON /* morekeys_i */ "\u00ED,\u00EF,\u00EC,\u00EE,\u012F,\u012B", + /* keylabel_to_alpha */ null, // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE // U+010D: "Ä" LATIN SMALL LETTER C WITH CARON /* morekeys_c */ "\u00E7,\u0107,\u010D", - /* keylabel_to_alpha */ null, /* double_quotes */ null, // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "Å„" LATIN SMALL LETTER N WITH ACUTE @@ -1473,21 +1496,22 @@ public final class KeyboardTextsTable { /* Locale fa: Persian */ private static final String[] TEXTS_fa = { /* morekeys_a ~ */ - null, null, null, null, null, null, - /* ~ morekeys_c */ + null, null, null, null, null, + /* ~ morekeys_i */ // Label for "switch to alphabetic" key. // U+0627: "ا" ARABIC LETTER ALEF // U+200C: ZERO WIDTH NON-JOINER // U+0628: "ب" ARABIC LETTER BEH // U+067E: "Ù¾" ARABIC LETTER PEH /* keylabel_to_alpha */ "\u0627\u200C\u0628\u200C\u067E", - /* double_quotes ~ */ - null, null, null, null, null, null, null, null, null, - /* ~ morekeys_l */ + /* morekeys_c ~ */ + null, null, null, null, null, null, null, null, + /* ~ morekeys_z */ // U+FDFC: "ï·¼" RIAL SIGN /* keyspec_currency */ "\uFDFC", - /* morekeys_g ~ */ + /* morekeys_t ~ */ null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, + null, null, /* ~ morekeys_cyrillic_soft_sign */ // U+06F1: "Û±" EXTENDED ARABIC-INDIC DIGIT ONE /* keyspec_symbols_1 */ "\u06F1", @@ -1645,7 +1669,7 @@ public final class KeyboardTextsTable { // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE /* morekeys_z */ "\u017E,\u017A,\u017C", - /* morekeys_t ~ */ + /* keyspec_currency ~ */ null, null, null, null, null, null, null, null, null, /* ~ morekeys_cyrillic_ie */ // U+00E5: "Ã¥" LATIN SMALL LETTER A WITH RING ABOVE @@ -1707,12 +1731,13 @@ public final class KeyboardTextsTable { // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK // U+012B: "Ä«" LATIN SMALL LETTER I WITH MACRON /* morekeys_i */ "\u00EE,%,\u00EF,\u00EC,\u00ED,\u012F,\u012B", + /* keylabel_to_alpha */ null, // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE // U+010D: "Ä" LATIN SMALL LETTER C WITH CARON /* morekeys_c */ "\u00E7,%,\u0107,\u010D", - /* keylabel_to_alpha ~ */ - null, null, null, null, null, + /* double_quotes ~ */ + null, null, null, null, /* ~ morekeys_s */ // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS /* morekeys_y */ "%,\u00FF", @@ -1779,11 +1804,11 @@ public final class KeyboardTextsTable { // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK // U+012B: "Ä«" LATIN SMALL LETTER I WITH MACRON /* morekeys_i */ "\u00ED,\u00EF,\u00EC,\u00EE,\u012F,\u012B", + /* keylabel_to_alpha */ null, // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE // U+010D: "Ä" LATIN SMALL LETTER C WITH CARON /* morekeys_c */ "\u00E7,\u0107,\u010D", - /* keylabel_to_alpha */ null, /* double_quotes */ null, // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "Å„" LATIN SMALL LETTER N WITH ACUTE @@ -1793,20 +1818,21 @@ public final class KeyboardTextsTable { /* Locale hi: Hindi */ private static final String[] TEXTS_hi = { /* morekeys_a ~ */ - null, null, null, null, null, null, - /* ~ morekeys_c */ + null, null, null, null, null, + /* ~ morekeys_i */ // Label for "switch to alphabetic" key. // U+0915: "क" DEVANAGARI LETTER KA // U+0916: "ख" DEVANAGARI LETTER KHA // U+0917: "ग" DEVANAGARI LETTER GA /* keylabel_to_alpha */ "\u0915\u0916\u0917", - /* double_quotes ~ */ - null, null, null, null, null, null, null, null, null, - /* ~ morekeys_l */ + /* morekeys_c ~ */ + null, null, null, null, null, null, null, null, + /* ~ morekeys_z */ // U+20B9: "₹" INDIAN RUPEE SIGN /* keyspec_currency */ "\u20B9", - /* morekeys_g ~ */ + /* morekeys_t ~ */ null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, + null, null, /* ~ morekeys_cyrillic_soft_sign */ // U+0967: "१" DEVANAGARI DIGIT ONE /* keyspec_symbols_1 */ "\u0967", @@ -1845,13 +1871,12 @@ public final class KeyboardTextsTable { /* Locale hr: Croatian */ private static final String[] TEXTS_hr = { /* morekeys_a ~ */ - null, null, null, null, null, - /* ~ morekeys_i */ + null, null, null, null, null, null, + /* ~ keylabel_to_alpha */ // U+010D: "Ä" LATIN SMALL LETTER C WITH CARON // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA /* morekeys_c */ "\u010D,\u0107,\u00E7", - /* keylabel_to_alpha */ null, /* double_quotes */ "!text/double_9qm_rqm", // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "Å„" LATIN SMALL LETTER N WITH ACUTE @@ -1868,7 +1893,7 @@ public final class KeyboardTextsTable { // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE /* morekeys_z */ "\u017E,\u017A,\u017C", - /* morekeys_t ~ */ + /* keyspec_currency ~ */ null, null, null, null, /* ~ morekeys_g */ /* single_angle_quotes */ "!text/single_raqm_laqm", @@ -1918,8 +1943,8 @@ public final class KeyboardTextsTable { // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK // U+012B: "Ä«" LATIN SMALL LETTER I WITH MACRON /* morekeys_i */ "\u00ED,\u00EE,\u00EF,\u00EC,\u012F,\u012B", - /* morekeys_c */ null, /* keylabel_to_alpha */ null, + /* morekeys_c */ null, /* double_quotes */ "!text/double_9qm_rqm", /* morekeys_n */ null, /* single_quotes */ "!text/single_9qm_rqm", @@ -1933,18 +1958,18 @@ public final class KeyboardTextsTable { /* Locale hy_AM: Armenian (Armenia) */ private static final String[] TEXTS_hy_AM = { /* morekeys_a ~ */ - null, null, null, null, null, null, - /* ~ morekeys_c */ + null, null, null, null, null, + /* ~ morekeys_i */ // Label for "switch to alphabetic" key. // U+0531: "Ô±" ARMENIAN CAPITAL LETTER AYB // U+0532: "Ô²" ARMENIAN CAPITAL LETTER BEN // U+0533: "Ô³" ARMENIAN CAPITAL LETTER GIM /* keylabel_to_alpha */ "\u0531\u0532\u0533", - /* double_quotes ~ */ + /* morekeys_c ~ */ null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, - null, null, + null, null, null, /* ~ morekeys_nordic_row2_11 */ // U+055E: "Õž" ARMENIAN QUESTION MARK // U+055C: "Õœ" ARMENIAN EXCLAMATION MARK @@ -2029,8 +2054,8 @@ public final class KeyboardTextsTable { // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK // U+012B: "Ä«" LATIN SMALL LETTER I WITH MACRON /* morekeys_i */ "\u00ED,\u00EF,\u00EE,\u00EC,\u012F,\u012B", - /* morekeys_c */ null, /* keylabel_to_alpha */ null, + /* morekeys_c */ null, /* double_quotes */ "!text/double_9qm_lqm", /* morekeys_n */ null, /* single_quotes */ "!text/single_9qm_lqm", @@ -2041,6 +2066,7 @@ public final class KeyboardTextsTable { // U+00F0: "ð" LATIN SMALL LETTER ETH /* morekeys_d */ "\u00F0", /* morekeys_z */ null, + /* keyspec_currency */ null, // U+00FE: "þ" LATIN SMALL LETTER THORN /* morekeys_t */ "\u00FE", }; @@ -2088,7 +2114,7 @@ public final class KeyboardTextsTable { // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK // U+012B: "Ä«" LATIN SMALL LETTER I WITH MACRON /* morekeys_i */ "\u00EC,\u00ED,\u00EE,\u00EF,\u012F,\u012B", - /* morekeys_c ~ */ + /* keylabel_to_alpha ~ */ 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, @@ -2111,25 +2137,27 @@ public final class KeyboardTextsTable { /* Locale iw: Hebrew */ private static final String[] TEXTS_iw = { /* morekeys_a ~ */ - null, null, null, null, null, null, - /* ~ morekeys_c */ + null, null, null, null, null, + /* ~ morekeys_i */ // Label for "switch to alphabetic" key. // U+05D0: "×" HEBREW LETTER ALEF // U+05D1: "ב" HEBREW LETTER BET // U+05D2: "×’" HEBREW LETTER GIMEL /* keylabel_to_alpha */ "\u05D0\u05D1\u05D2", + /* morekeys_c */ null, /* double_quotes */ "!text/double_rqm_9qm", /* morekeys_n */ null, /* single_quotes */ "!text/single_rqm_9qm", /* morekeys_s ~ */ - null, null, null, null, null, null, - /* ~ morekeys_l */ + null, null, null, null, + /* ~ morekeys_z */ // U+20AA: "₪" NEW SHEQEL SIGN /* keyspec_currency */ "\u20AA", - /* morekeys_g ~ */ + /* morekeys_t ~ */ null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, + null, null, /* ~ morekeys_swiss_row2_11 */ // U+2605: "★" BLACK STAR /* morekeys_star */ "\u2605", @@ -2168,13 +2196,14 @@ public final class KeyboardTextsTable { /* Locale ka_GE: Georgian (Georgia) */ private static final String[] TEXTS_ka_GE = { /* morekeys_a ~ */ - null, null, null, null, null, null, - /* ~ morekeys_c */ + null, null, null, null, null, + /* ~ morekeys_i */ // Label for "switch to alphabetic" key. // U+10D0: "áƒ" GEORGIAN LETTER AN // U+10D1: "ბ" GEORGIAN LETTER BAN // U+10D2: "გ" GEORGIAN LETTER GAN /* keylabel_to_alpha */ "\u10D0\u10D1\u10D2", + /* morekeys_c */ null, /* double_quotes */ "!text/double_9qm_lqm", /* morekeys_n */ null, /* single_quotes */ "!text/single_9qm_lqm", @@ -2183,15 +2212,16 @@ public final class KeyboardTextsTable { /* Locale kk: Kazakh */ private static final String[] TEXTS_kk = { /* morekeys_a ~ */ - null, null, null, null, null, null, - /* ~ morekeys_c */ + null, null, null, null, null, + /* ~ morekeys_i */ // Label for "switch to alphabetic" key. // U+0410: "Ð" CYRILLIC CAPITAL LETTER A // U+0411: "Б" CYRILLIC CAPITAL LETTER BE // U+0412: "Ð’" CYRILLIC CAPITAL LETTER VE /* keylabel_to_alpha */ "\u0410\u0411\u0412", - /* double_quotes ~ */ + /* morekeys_c ~ */ null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, + null, /* ~ morekeys_k */ // U+0451: "Ñ‘" CYRILLIC SMALL LETTER IO /* morekeys_cyrillic_ie */ "\u0451", @@ -2240,14 +2270,14 @@ public final class KeyboardTextsTable { /* Locale km_KH: Khmer (Cambodia) */ private static final String[] TEXTS_km_KH = { /* morekeys_a ~ */ - null, null, null, null, null, null, - /* ~ morekeys_c */ + null, null, null, null, null, + /* ~ morekeys_i */ // Label for "switch to alphabetic" key. // U+1780: "ក" KHMER LETTER KA // U+1781: "áž" KHMER LETTER KHA // U+1782: "áž‚" KHMER LETTER KO /* keylabel_to_alpha */ "\u1780\u1781\u1782", - /* double_quotes ~ */ + /* morekeys_c ~ */ 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, @@ -2255,7 +2285,7 @@ public final class KeyboardTextsTable { null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, /* ~ morekeys_cyrillic_a */ // U+17DB: "៛" KHMER CURRENCY SYMBOL RIEL /* morekeys_currency_dollar */ "\u17DB,\u00A2,\u00A3,\u20AC,\u00A5,\u20B1", @@ -2264,15 +2294,16 @@ public final class KeyboardTextsTable { /* Locale ky: Kirghiz */ private static final String[] TEXTS_ky = { /* morekeys_a ~ */ - null, null, null, null, null, null, - /* ~ morekeys_c */ + null, null, null, null, null, + /* ~ morekeys_i */ // Label for "switch to alphabetic" key. // U+0410: "Ð" CYRILLIC CAPITAL LETTER A // U+0411: "Б" CYRILLIC CAPITAL LETTER BE // U+0412: "Ð’" CYRILLIC CAPITAL LETTER VE /* keylabel_to_alpha */ "\u0410\u0411\u0412", - /* double_quotes ~ */ + /* morekeys_c ~ */ null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, + null, /* ~ morekeys_k */ // U+0451: "Ñ‘" CYRILLIC SMALL LETTER IO /* morekeys_cyrillic_ie */ "\u0451", @@ -2307,16 +2338,16 @@ public final class KeyboardTextsTable { /* Locale lo_LA: Lao (Laos) */ private static final String[] TEXTS_lo_LA = { /* morekeys_a ~ */ - null, null, null, null, null, null, - /* ~ morekeys_c */ + null, null, null, null, null, + /* ~ morekeys_i */ // Label for "switch to alphabetic" key. // U+0E81: "àº" LAO LETTER KO // U+0E82: "ຂ" LAO LETTER KHO SUNG // U+0E84: "ຄ" LAO LETTER KHO TAM /* keylabel_to_alpha */ "\u0E81\u0E82\u0E84", - /* double_quotes ~ */ - null, null, null, null, null, null, null, null, null, - /* ~ morekeys_l */ + /* morekeys_c ~ */ + null, null, null, null, null, null, null, null, + /* ~ morekeys_z */ // U+20AD: "â‚" KIP SIGN /* keyspec_currency */ "\u20AD", }; @@ -2369,11 +2400,11 @@ public final class KeyboardTextsTable { // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS // U+0131: "ı" LATIN SMALL LETTER DOTLESS I /* morekeys_i */ "\u012F,\u012B,\u00EC,\u00ED,\u00EE,\u00EF,\u0131", + /* keylabel_to_alpha */ null, // U+010D: "Ä" LATIN SMALL LETTER C WITH CARON // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE /* morekeys_c */ "\u010D,\u00E7,\u0107", - /* keylabel_to_alpha */ null, /* double_quotes */ "!text/double_9qm_lqm", // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE @@ -2394,6 +2425,7 @@ public final class KeyboardTextsTable { // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE /* morekeys_z */ "\u017E,\u017C,\u017A", + /* keyspec_currency */ null, // U+0163: "Å£" LATIN SMALL LETTER T WITH CEDILLA // U+0165: "Å¥" LATIN SMALL LETTER T WITH CARON /* morekeys_t */ "\u0163,\u0165", @@ -2402,7 +2434,6 @@ public final class KeyboardTextsTable { // U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE // U+013E: "ľ" LATIN SMALL LETTER L WITH CARON /* morekeys_l */ "\u013C,\u0142,\u013A,\u013E", - /* keyspec_currency */ null, // U+0123: "Ä£" LATIN SMALL LETTER G WITH CEDILLA // U+011F: "ÄŸ" LATIN SMALL LETTER G WITH BREVE /* morekeys_g */ "\u0123,\u011F", @@ -2463,11 +2494,11 @@ public final class KeyboardTextsTable { // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS // U+0131: "ı" LATIN SMALL LETTER DOTLESS I /* morekeys_i */ "\u012B,\u012F,\u00EC,\u00ED,\u00EE,\u00EF,\u0131", + /* keylabel_to_alpha */ null, // U+010D: "Ä" LATIN SMALL LETTER C WITH CARON // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE /* morekeys_c */ "\u010D,\u00E7,\u0107", - /* keylabel_to_alpha */ null, /* double_quotes */ "!text/double_9qm_lqm", // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE @@ -2488,6 +2519,7 @@ public final class KeyboardTextsTable { // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE /* morekeys_z */ "\u017E,\u017C,\u017A", + /* keyspec_currency */ null, // U+0163: "Å£" LATIN SMALL LETTER T WITH CEDILLA // U+0165: "Å¥" LATIN SMALL LETTER T WITH CARON /* morekeys_t */ "\u0163,\u0165", @@ -2496,7 +2528,6 @@ public final class KeyboardTextsTable { // U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE // U+013E: "ľ" LATIN SMALL LETTER L WITH CARON /* morekeys_l */ "\u013C,\u0142,\u013A,\u013E", - /* keyspec_currency */ null, // U+0123: "Ä£" LATIN SMALL LETTER G WITH CEDILLA // U+011F: "ÄŸ" LATIN SMALL LETTER G WITH BREVE /* morekeys_g */ "\u0123,\u011F", @@ -2513,13 +2544,14 @@ public final class KeyboardTextsTable { /* Locale mk: Macedonian */ private static final String[] TEXTS_mk = { /* morekeys_a ~ */ - null, null, null, null, null, null, - /* ~ morekeys_c */ + null, null, null, null, null, + /* ~ morekeys_i */ // Label for "switch to alphabetic" key. // U+0410: "Ð" CYRILLIC CAPITAL LETTER A // U+0411: "Б" CYRILLIC CAPITAL LETTER BE // U+0412: "Ð’" CYRILLIC CAPITAL LETTER VE /* keylabel_to_alpha */ "\u0410\u0411\u0412", + /* morekeys_c */ null, /* double_quotes */ "!text/double_9qm_lqm", /* morekeys_n */ null, /* single_quotes */ "!text/single_9qm_lqm", @@ -2550,16 +2582,16 @@ public final class KeyboardTextsTable { /* Locale mn_MN: Mongolian (Mongolia) */ private static final String[] TEXTS_mn_MN = { /* morekeys_a ~ */ - null, null, null, null, null, null, - /* ~ morekeys_c */ + null, null, null, null, null, + /* ~ morekeys_i */ // Label for "switch to alphabetic" key. // U+0410: "Ð" CYRILLIC CAPITAL LETTER A // U+0411: "Б" CYRILLIC CAPITAL LETTER BE // U+0412: "Ð’" CYRILLIC CAPITAL LETTER VE /* keylabel_to_alpha */ "\u0410\u0411\u0412", - /* double_quotes ~ */ - null, null, null, null, null, null, null, null, null, - /* ~ morekeys_l */ + /* morekeys_c ~ */ + null, null, null, null, null, null, null, null, + /* ~ morekeys_z */ // U+20AE: "â‚®" TUGRIK SIGN /* keyspec_currency */ "\u20AE", }; @@ -2567,20 +2599,21 @@ public final class KeyboardTextsTable { /* Locale mr_IN: Marathi (India) */ private static final String[] TEXTS_mr_IN = { /* morekeys_a ~ */ - null, null, null, null, null, null, - /* ~ morekeys_c */ + null, null, null, null, null, + /* ~ morekeys_i */ // Label for "switch to alphabetic" key. // U+0915: "क" DEVANAGARI LETTER KA // U+0916: "ख" DEVANAGARI LETTER KHA // U+0917: "ग" DEVANAGARI LETTER GA /* keylabel_to_alpha */ "\u0915\u0916\u0917", - /* double_quotes ~ */ - null, null, null, null, null, null, null, null, null, - /* ~ morekeys_l */ + /* morekeys_c ~ */ + null, null, null, null, null, null, null, null, + /* ~ morekeys_z */ // U+20B9: "₹" INDIAN RUPEE SIGN /* keyspec_currency */ "\u20B9", - /* morekeys_g ~ */ + /* morekeys_t ~ */ null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, + null, null, /* ~ morekeys_cyrillic_soft_sign */ // U+0967: "१" DEVANAGARI DIGIT ONE /* keyspec_symbols_1 */ "\u0967", @@ -2619,18 +2652,18 @@ public final class KeyboardTextsTable { /* Locale my_MM: Burmese (Myanmar) */ private static final String[] TEXTS_my_MM = { /* morekeys_a ~ */ - null, null, null, null, null, null, - /* ~ morekeys_c */ + null, null, null, null, null, + /* ~ morekeys_i */ // Label for "switch to alphabetic" key. // U+1000: "က" MYANMAR LETTER KA // U+1001: "á€" MYANMAR LETTER KHA // U+1002: "ဂ" MYANMAR LETTER GA /* keylabel_to_alpha */ "\u1000\u1001\u1002", - /* double_quotes ~ */ + /* morekeys_c ~ */ null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, - null, null, + null, null, null, /* ~ morekeys_nordic_row2_11 */ /* morekeys_punctuation */ "!autoColumnOrder!9,\u104A,.,?,!,#,),(,/,;,...,',@,:,-,\",+,\\%,&", // U+104A: "áŠ" MYANMAR SIGN LITTLE SECTION @@ -2687,7 +2720,7 @@ public final class KeyboardTextsTable { /* morekeys_e */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0119,\u0117,\u0113", /* morekeys_i ~ */ null, null, null, - /* ~ keylabel_to_alpha */ + /* ~ morekeys_c */ /* double_quotes */ "!text/double_9qm_rqm", /* morekeys_n */ null, /* single_quotes */ "!text/single_9qm_rqm", @@ -2713,20 +2746,21 @@ public final class KeyboardTextsTable { /* Locale ne_NP: Nepali (Nepal) */ private static final String[] TEXTS_ne_NP = { /* morekeys_a ~ */ - null, null, null, null, null, null, - /* ~ morekeys_c */ + null, null, null, null, null, + /* ~ morekeys_i */ // Label for "switch to alphabetic" key. // U+0915: "क" DEVANAGARI LETTER KA // U+0916: "ख" DEVANAGARI LETTER KHA // U+0917: "ग" DEVANAGARI LETTER GA /* keylabel_to_alpha */ "\u0915\u0916\u0917", - /* double_quotes ~ */ - null, null, null, null, null, null, null, null, null, - /* ~ morekeys_l */ + /* morekeys_c ~ */ + null, null, null, null, null, null, null, null, + /* ~ morekeys_z */ // U+0930/U+0941/U+002E "रà¥." NEPALESE RUPEE SIGN /* keyspec_currency */ "\u0930\u0941.", - /* morekeys_g ~ */ + /* morekeys_t ~ */ null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, + null, null, /* ~ morekeys_cyrillic_soft_sign */ // U+0967: "१" DEVANAGARI DIGIT ONE /* keyspec_symbols_1 */ "\u0967", @@ -2804,8 +2838,8 @@ public final class KeyboardTextsTable { // U+012B: "Ä«" LATIN SMALL LETTER I WITH MACRON // U+0133: "ij" LATIN SMALL LIGATURE IJ /* morekeys_i */ "\u00ED,\u00EF,\u00EC,\u00EE,\u012F,\u012B,\u0133", - /* morekeys_c */ null, /* keylabel_to_alpha */ null, + /* morekeys_c */ null, /* double_quotes */ "!text/double_9qm_rqm", // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "Å„" LATIN SMALL LETTER N WITH ACUTE @@ -2847,11 +2881,11 @@ public final class KeyboardTextsTable { // U+0113: "Ä“" LATIN SMALL LETTER E WITH MACRON /* morekeys_e */ "\u0119,\u00E8,\u00E9,\u00EA,\u00EB,\u0117,\u0113", /* morekeys_i */ null, + /* keylabel_to_alpha */ null, // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA // U+010D: "Ä" LATIN SMALL LETTER C WITH CARON /* morekeys_c */ "\u0107,\u00E7,\u010D", - /* keylabel_to_alpha */ null, /* double_quotes */ "!text/double_9qm_rqm", // U+0144: "Å„" LATIN SMALL LETTER N WITH ACUTE // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE @@ -2867,6 +2901,7 @@ public final class KeyboardTextsTable { // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON /* morekeys_z */ "\u017C,\u017A,\u017E", + /* keyspec_currency */ null, /* morekeys_t */ null, // U+0142: "Å‚" LATIN SMALL LETTER L WITH STROKE /* morekeys_l */ "\u0142", @@ -2914,6 +2949,7 @@ public final class KeyboardTextsTable { // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK // U+012B: "Ä«" LATIN SMALL LETTER I WITH MACRON /* morekeys_i */ "\u00ED,\u00EE,\u00EC,\u00EF,\u012F,\u012B", + /* keylabel_to_alpha */ null, // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA // U+010D: "Ä" LATIN SMALL LETTER C WITH CARON // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE @@ -2955,8 +2991,8 @@ public final class KeyboardTextsTable { // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK // U+012B: "Ä«" LATIN SMALL LETTER I WITH MACRON /* morekeys_i */ "\u00EE,\u00EF,\u00EC,\u00ED,\u012F,\u012B", - /* morekeys_c */ null, /* keylabel_to_alpha */ null, + /* morekeys_c */ null, /* double_quotes */ "!text/double_9qm_rqm", /* morekeys_n */ null, /* single_quotes */ "!text/single_9qm_rqm", @@ -2966,8 +3002,8 @@ public final class KeyboardTextsTable { // U+0161: "Å¡" LATIN SMALL LETTER S WITH CARON /* morekeys_s */ "\u0219,\u00DF,\u015B,\u0161", /* morekeys_y ~ */ - null, null, null, - /* ~ morekeys_z */ + null, null, null, null, + /* ~ keyspec_currency */ // U+021B: "È›" LATIN SMALL LETTER T WITH COMMA BELOW /* morekeys_t */ "\u021B", }; @@ -2975,13 +3011,14 @@ public final class KeyboardTextsTable { /* Locale ru: Russian */ private static final String[] TEXTS_ru = { /* morekeys_a ~ */ - null, null, null, null, null, null, - /* ~ morekeys_c */ + null, null, null, null, null, + /* ~ morekeys_i */ // Label for "switch to alphabetic" key. // U+0410: "Ð" CYRILLIC CAPITAL LETTER A // U+0411: "Б" CYRILLIC CAPITAL LETTER BE // U+0412: "Ð’" CYRILLIC CAPITAL LETTER VE /* keylabel_to_alpha */ "\u0410\u0411\u0412", + /* morekeys_c */ null, /* double_quotes */ "!text/double_9qm_lqm", /* morekeys_n */ null, /* single_quotes */ "!text/single_9qm_lqm", @@ -3008,8 +3045,8 @@ public final class KeyboardTextsTable { /* Locale si_LK: Sinhalese (Sri Lanka) */ private static final String[] TEXTS_si_LK = { /* morekeys_a ~ */ - null, null, null, null, null, null, - /* ~ morekeys_c */ + null, null, null, null, null, + /* ~ morekeys_i */ // Label for "switch to alphabetic" key. // U+0D85: "à¶…" SINHALA LETTER AYANNA // U+0D86: "ආ" SINHALA LETTER AAYANNA @@ -3063,11 +3100,11 @@ public final class KeyboardTextsTable { // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS // U+0131: "ı" LATIN SMALL LETTER DOTLESS I /* morekeys_i */ "\u00ED,\u012B,\u012F,\u00EC,\u00EE,\u00EF,\u0131", + /* keylabel_to_alpha */ null, // U+010D: "Ä" LATIN SMALL LETTER C WITH CARON // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE /* morekeys_c */ "\u010D,\u00E7,\u0107", - /* keylabel_to_alpha */ null, /* double_quotes */ "!text/double_9qm_lqm", // U+0148: "ň" LATIN SMALL LETTER N WITH CARON // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA @@ -3089,6 +3126,7 @@ public final class KeyboardTextsTable { // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE // U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE /* morekeys_z */ "\u017E,\u017C,\u017A", + /* keyspec_currency */ null, // U+0165: "Å¥" LATIN SMALL LETTER T WITH CARON // U+0163: "Å£" LATIN SMALL LETTER T WITH CEDILLA /* morekeys_t */ "\u0165,\u0163", @@ -3097,7 +3135,6 @@ public final class KeyboardTextsTable { // U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA // U+0142: "Å‚" LATIN SMALL LETTER L WITH STROKE /* morekeys_l */ "\u013E,\u013A,\u013C,\u0142", - /* keyspec_currency */ null, // U+0123: "Ä£" LATIN SMALL LETTER G WITH CEDILLA // U+011F: "ÄŸ" LATIN SMALL LETTER G WITH BREVE /* morekeys_g */ "\u0123,\u011F", @@ -3114,12 +3151,11 @@ public final class KeyboardTextsTable { /* Locale sl: Slovenian */ private static final String[] TEXTS_sl = { /* morekeys_a ~ */ - null, null, null, null, null, - /* ~ morekeys_i */ + null, null, null, null, null, null, + /* ~ keylabel_to_alpha */ // U+010D: "Ä" LATIN SMALL LETTER C WITH CARON // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE /* morekeys_c */ "\u010D,\u0107", - /* keylabel_to_alpha */ null, /* double_quotes */ "!text/double_9qm_lqm", /* morekeys_n */ null, /* single_quotes */ "!text/single_9qm_lqm", @@ -3130,7 +3166,7 @@ public final class KeyboardTextsTable { /* morekeys_d */ "\u0111", // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON /* morekeys_z */ "\u017E", - /* morekeys_t ~ */ + /* keyspec_currency ~ */ null, null, null, null, /* ~ morekeys_g */ /* single_angle_quotes */ "!text/single_raqm_laqm", @@ -3140,14 +3176,15 @@ public final class KeyboardTextsTable { /* Locale sr: Serbian */ private static final String[] TEXTS_sr = { /* morekeys_a ~ */ - null, null, null, null, null, null, - /* ~ morekeys_c */ + null, null, null, null, null, + /* ~ morekeys_i */ // END: More keys definitions for Serbian (Cyrillic) // Label for "switch to alphabetic" key. // U+0410: "Ð" CYRILLIC CAPITAL LETTER A // U+0411: "Б" CYRILLIC CAPITAL LETTER BE // U+0412: "Ð’" CYRILLIC CAPITAL LETTER VE /* keylabel_to_alpha */ "\u0410\u0411\u0412", + /* morekeys_c */ null, /* double_quotes */ "!text/double_9qm_lqm", /* morekeys_n */ null, /* single_quotes */ "!text/single_9qm_lqm", @@ -3228,11 +3265,11 @@ public final class KeyboardTextsTable { // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS /* morekeys_i */ "\u00ED,\u00EC,\u00EE,\u00EF", + /* keylabel_to_alpha */ null, // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE // U+010D: "Ä" LATIN SMALL LETTER C WITH CARON /* morekeys_c */ "\u00E7,\u0107,\u010D", - /* keylabel_to_alpha */ null, /* double_quotes */ null, // U+0144: "Å„" LATIN SMALL LETTER N WITH ACUTE // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE @@ -3254,12 +3291,12 @@ public final class KeyboardTextsTable { // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE /* morekeys_z */ "\u017A,\u017E,\u017C", + /* keyspec_currency */ null, // U+0165: "Å¥" LATIN SMALL LETTER T WITH CARON // U+00FE: "þ" LATIN SMALL LETTER THORN /* morekeys_t */ "\u0165,\u00FE", // U+0142: "Å‚" LATIN SMALL LETTER L WITH STROKE /* morekeys_l */ "\u0142", - /* keyspec_currency */ null, /* morekeys_g */ null, /* single_angle_quotes */ "!text/single_raqm_laqm", /* double_angle_quotes */ "!text/double_raqm_laqm", @@ -3323,9 +3360,9 @@ public final class KeyboardTextsTable { // U+012B: "Ä«" LATIN SMALL LETTER I WITH MACRON // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE /* morekeys_i */ "\u00EE,\u00EF,\u00ED,\u012B,\u00EC", + /* keylabel_to_alpha */ null, // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA /* morekeys_c */ "\u00E7", - /* keylabel_to_alpha */ null, /* double_quotes */ null, // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE /* morekeys_n */ "\u00F1", @@ -3334,23 +3371,23 @@ public final class KeyboardTextsTable { /* morekeys_s */ "\u00DF", /* morekeys_y ~ */ null, null, null, null, null, null, - /* ~ keyspec_currency */ + /* ~ morekeys_l */ /* morekeys_g */ "g\'", }; /* Locale th: Thai */ private static final String[] TEXTS_th = { /* morekeys_a ~ */ - null, null, null, null, null, null, - /* ~ morekeys_c */ + null, null, null, null, null, + /* ~ morekeys_i */ // Label for "switch to alphabetic" key. // U+0E01: "à¸" THAI CHARACTER KO KAI // U+0E02: "ข" THAI CHARACTER KHO KHAI // U+0E04: "ค" THAI CHARACTER KHO KHWAI /* keylabel_to_alpha */ "\u0E01\u0E02\u0E04", - /* double_quotes ~ */ - null, null, null, null, null, null, null, null, null, - /* ~ morekeys_l */ + /* morekeys_c ~ */ + null, null, null, null, null, null, null, null, + /* ~ morekeys_z */ // U+0E3F: "฿" THAI CURRENCY SYMBOL BAHT /* keyspec_currency */ "\u0E3F", }; @@ -3399,11 +3436,11 @@ public final class KeyboardTextsTable { // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK // U+012B: "Ä«" LATIN SMALL LETTER I WITH MACRON /* morekeys_i */ "\u00ED,\u00EF,\u00EC,\u00EE,\u012F,\u012B", + /* keylabel_to_alpha */ null, // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE // U+010D: "Ä" LATIN SMALL LETTER C WITH CARON /* morekeys_c */ "\u00E7,\u0107,\u010D", - /* keylabel_to_alpha */ null, /* double_quotes */ null, // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "Å„" LATIN SMALL LETTER N WITH ACUTE @@ -3438,12 +3475,13 @@ public final class KeyboardTextsTable { // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK // U+012B: "Ä«" LATIN SMALL LETTER I WITH MACRON /* morekeys_i */ "\u0131,\u00EE,\u00EF,\u00EC,\u00ED,\u012F,\u012B", + /* keylabel_to_alpha */ null, // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE // U+010D: "Ä" LATIN SMALL LETTER C WITH CARON /* morekeys_c */ "\u00E7,\u0107,\u010D", - /* keylabel_to_alpha ~ */ - null, null, null, null, + /* double_quotes ~ */ + null, null, null, /* ~ single_quotes */ // U+015F: "ÅŸ" LATIN SMALL LETTER S WITH CEDILLA // U+00DF: "ß" LATIN SMALL LETTER SHARP S @@ -3452,7 +3490,7 @@ public final class KeyboardTextsTable { /* morekeys_s */ "\u015F,\u00DF,\u015B,\u0161", /* morekeys_y ~ */ null, null, null, null, null, null, - /* ~ keyspec_currency */ + /* ~ morekeys_l */ // U+011F: "ÄŸ" LATIN SMALL LETTER G WITH BREVE /* morekeys_g */ "\u011F", }; @@ -3460,23 +3498,24 @@ public final class KeyboardTextsTable { /* Locale uk: Ukrainian */ private static final String[] TEXTS_uk = { /* morekeys_a ~ */ - null, null, null, null, null, null, - /* ~ morekeys_c */ + null, null, null, null, null, + /* ~ morekeys_i */ // Label for "switch to alphabetic" key. // U+0410: "Ð" CYRILLIC CAPITAL LETTER A // U+0411: "Б" CYRILLIC CAPITAL LETTER BE // U+0412: "Ð’" CYRILLIC CAPITAL LETTER VE /* keylabel_to_alpha */ "\u0410\u0411\u0412", + /* morekeys_c */ null, /* double_quotes */ "!text/double_9qm_lqm", /* morekeys_n */ null, /* single_quotes */ "!text/single_9qm_lqm", /* morekeys_s ~ */ - null, null, null, null, null, null, - /* ~ morekeys_l */ + null, null, null, null, + /* ~ morekeys_z */ // U+20B4: "â‚´" HRYVNIA SIGN /* keyspec_currency */ "\u20B4", - /* morekeys_g ~ */ - null, null, null, null, null, null, null, null, null, null, + /* morekeys_t ~ */ + null, null, null, null, null, null, null, null, null, null, null, null, /* ~ morekeys_nordic_row2_10 */ // U+0449: "щ" CYRILLIC SMALL LETTER SHCHA /* keyspec_east_slavic_row1_9 */ "\u0449", @@ -3570,7 +3609,7 @@ public final class KeyboardTextsTable { // U+0129: "Ä©" LATIN SMALL LETTER I WITH TILDE // U+1ECB: "ị" LATIN SMALL LETTER I WITH DOT BELOW /* morekeys_i */ "\u00EC,\u00ED,\u1EC9,\u0129,\u1ECB", - /* morekeys_c ~ */ + /* keylabel_to_alpha ~ */ null, null, null, null, null, null, /* ~ morekeys_s */ // U+1EF3: "ỳ" LATIN SMALL LETTER Y WITH GRAVE @@ -3581,9 +3620,7 @@ public final class KeyboardTextsTable { /* morekeys_y */ "\u1EF3,\u00FD,\u1EF7,\u1EF9,\u1EF5", // U+0111: "Ä‘" LATIN SMALL LETTER D WITH STROKE /* morekeys_d */ "\u0111", - /* morekeys_z ~ */ - null, null, null, - /* ~ morekeys_l */ + /* morekeys_z */ null, // U+20AB: "â‚«" DONG SIGN /* keyspec_currency */ "\u20AB", }; @@ -3627,9 +3664,9 @@ public final class KeyboardTextsTable { // U+012B: "Ä«" LATIN SMALL LETTER I WITH MACRON // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE /* morekeys_i */ "\u00ED,\u00EE,\u00EF,\u012B,\u00EC", + /* keylabel_to_alpha */ null, // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA /* morekeys_c */ "\u00E7", - /* keylabel_to_alpha */ null, /* double_quotes */ null, // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE /* morekeys_n */ "\u00F1", @@ -3696,13 +3733,13 @@ public final class KeyboardTextsTable { // U+0131: "ı" LATIN SMALL LETTER DOTLESS I // U+0133: "ij" LATIN SMALL LIGATURE IJ /* morekeys_i */ "\u00EC,\u00ED,\u00EE,\u00EF,\u0129,\u012B,\u012D,\u012F,\u0131,\u0133", + /* keylabel_to_alpha */ null, // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE // U+0109: "ĉ" LATIN SMALL LETTER C WITH CIRCUMFLEX // U+010B: "Ä‹" LATIN SMALL LETTER C WITH DOT ABOVE // U+010D: "Ä" LATIN SMALL LETTER C WITH CARON /* morekeys_c */ "\u00E7,\u0107,\u0109,\u010B,\u010D", - /* keylabel_to_alpha */ null, /* double_quotes */ null, // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "Å„" LATIN SMALL LETTER N WITH ACUTE @@ -3732,6 +3769,7 @@ public final class KeyboardTextsTable { // U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON /* morekeys_z */ "\u017A,\u017C,\u017E", + /* keyspec_currency */ null, // U+00FE: "þ" LATIN SMALL LETTER THORN // U+0163: "Å£" LATIN SMALL LETTER T WITH CEDILLA // U+0165: "Å¥" LATIN SMALL LETTER T WITH CARON @@ -3743,7 +3781,6 @@ public final class KeyboardTextsTable { // U+0140: "Å€" LATIN SMALL LETTER L WITH MIDDLE DOT // U+0142: "Å‚" LATIN SMALL LETTER L WITH STROKE /* morekeys_l */ "\u013A,\u013C,\u013E,\u0140,\u0142", - /* keyspec_currency */ null, // U+011D: "Ä" LATIN SMALL LETTER G WITH CIRCUMFLEX // U+011F: "ÄŸ" LATIN SMALL LETTER G WITH BREVE // U+0121: "Ä¡" LATIN SMALL LETTER G WITH DOT ABOVE @@ -3784,11 +3821,12 @@ public final class KeyboardTextsTable { "az_AZ" , TEXTS_az_AZ, /* 8/ 18 Azerbaijani (Azerbaijan) */ "be_BY" , TEXTS_be_BY, /* 9/ 32 Belarusian (Belarus) */ "bg" , TEXTS_bg, /* 2/ 8 Bulgarian */ + "bn" , TEXTS_bn, /* 2/ 15 Bengali */ "ca" , TEXTS_ca, /* 11/ 95 Catalan */ "cs" , TEXTS_cs, /* 17/ 21 Czech */ "da" , TEXTS_da, /* 19/ 54 Danish */ "de" , TEXTS_de, /* 16/ 62 German */ - "el" , TEXTS_el, /* 1/ 7 Greek */ + "el" , TEXTS_el, /* 1/ 6 Greek */ "en" , TEXTS_en, /* 8/ 11 English */ "eo" , TEXTS_eo, /* 26/118 Esperanto */ "es" , TEXTS_es, /* 8/ 55 Spanish */ @@ -3802,39 +3840,39 @@ public final class KeyboardTextsTable { "hr" , TEXTS_hr, /* 9/ 20 Croatian */ "hu" , TEXTS_hu, /* 9/ 20 Hungarian */ "hy_AM" , TEXTS_hy_AM, /* 8/126 Armenian (Armenia) */ - "is" , TEXTS_is, /* 10/ 15 Icelandic */ + "is" , TEXTS_is, /* 10/ 16 Icelandic */ "it" , TEXTS_it, /* 11/ 62 Italian */ "iw" , TEXTS_iw, /* 20/123 Hebrew */ "ka_GE" , TEXTS_ka_GE, /* 3/ 10 Georgian (Georgia) */ "kk" , TEXTS_kk, /* 15/121 Kazakh */ "km_KH" , TEXTS_km_KH, /* 2/122 Khmer (Cambodia) */ "ky" , TEXTS_ky, /* 10/ 88 Kirghiz */ - "lo_LA" , TEXTS_lo_LA, /* 2/ 17 Lao (Laos) */ + "lo_LA" , TEXTS_lo_LA, /* 2/ 15 Lao (Laos) */ "lt" , TEXTS_lt, /* 18/ 22 Lithuanian */ "lv" , TEXTS_lv, /* 18/ 22 Latvian */ "mk" , TEXTS_mk, /* 9/ 93 Macedonian */ - "mn_MN" , TEXTS_mn_MN, /* 2/ 17 Mongolian (Mongolia) */ + "mn_MN" , TEXTS_mn_MN, /* 2/ 15 Mongolian (Mongolia) */ "mr_IN" , TEXTS_mr_IN, /* 23/ 53 Marathi (India) */ "my_MM" , TEXTS_my_MM, /* 8/104 Burmese (Myanmar) */ "nb" , TEXTS_nb, /* 11/ 54 Norwegian BokmÃ¥l */ "ne_NP" , TEXTS_ne_NP, /* 23/ 53 Nepali (Nepal) */ "nl" , TEXTS_nl, /* 9/ 12 Dutch */ - "pl" , TEXTS_pl, /* 10/ 16 Polish */ - "pt" , TEXTS_pt, /* 6/ 6 Portuguese */ + "pl" , TEXTS_pl, /* 10/ 17 Polish */ + "pt" , TEXTS_pt, /* 6/ 7 Portuguese */ "rm" , TEXTS_rm, /* 1/ 2 Raeto-Romance */ - "ro" , TEXTS_ro, /* 6/ 15 Romanian */ + "ro" , TEXTS_ro, /* 6/ 16 Romanian */ "ru" , TEXTS_ru, /* 9/ 32 Russian */ - "si_LK" , TEXTS_si_LK, /* 1/ 7 Sinhalese (Sri Lanka) */ + "si_LK" , TEXTS_si_LK, /* 1/ 6 Sinhalese (Sri Lanka) */ "sk" , TEXTS_sk, /* 20/ 22 Slovak */ "sl" , TEXTS_sl, /* 8/ 20 Slovenian */ "sr" , TEXTS_sr, /* 11/ 93 Serbian */ "sv" , TEXTS_sv, /* 21/ 54 Swedish */ "sw" , TEXTS_sw, /* 9/ 18 Swahili */ - "th" , TEXTS_th, /* 2/ 17 Thai */ + "th" , TEXTS_th, /* 2/ 15 Thai */ "tl" , TEXTS_tl, /* 7/ 9 Tagalog */ "tr" , TEXTS_tr, /* 7/ 18 Turkish */ "uk" , TEXTS_uk, /* 11/ 87 Ukrainian */ - "vi" , TEXTS_vi, /* 8/ 17 Vietnamese */ + "vi" , TEXTS_vi, /* 8/ 15 Vietnamese */ "zu" , TEXTS_zu, /* 8/ 11 Zulu */ "zz" , TEXTS_zz, /* 19/112 Alphabet */ }; diff --git a/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetSubtypesCountTests.java b/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetSubtypesCountTests.java index 59fe611101ad056083c6616fe92a5b29be391fef..6ee6adbbae495dd4f4f020c5df42a059bc2701e2 100644 --- a/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetSubtypesCountTests.java +++ b/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetSubtypesCountTests.java @@ -25,7 +25,7 @@ import java.util.ArrayList; @SmallTest public class KeyboardLayoutSetSubtypesCountTests extends KeyboardLayoutSetTestsBase { - private static final int NUMBER_OF_SUBTYPES = 72; + private static final int NUMBER_OF_SUBTYPES = 73; private static final int NUMBER_OF_ASCII_CAPABLE_SUBTYPES = 45; private static final int NUMBER_OF_PREDEFINED_ADDITIONAL_SUBTYPES = 2; diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Bengali.java b/tests/src/com/android/inputmethod/keyboard/layout/Bengali.java new file mode 100644 index 0000000000000000000000000000000000000000..79c7d08cc58855b9cf2df477b6c8bb3ee737692a --- /dev/null +++ b/tests/src/com/android/inputmethod/keyboard/layout/Bengali.java @@ -0,0 +1,187 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.inputmethod.keyboard.layout; + +import com.android.inputmethod.keyboard.layout.expected.ExpectedKey; +import com.android.inputmethod.keyboard.layout.expected.ExpectedKeyboardBuilder; +import com.android.inputmethod.latin.Constants; + +import java.util.Locale; + +/** + * The Bengali keyboard. + */ +public final class Bengali extends LayoutBase { + private static final String LAYOUT_NAME = "bengali"; + + public Bengali(final LayoutCustomizer customizer) { + super(customizer, Symbols.class, SymbolsShifted.class); + } + + @Override + public String getName() { return LAYOUT_NAME; } + + public static class BengaliCustomizer extends LayoutCustomizer { + public BengaliCustomizer(final Locale locale) { super(locale); } + + @Override + public ExpectedKey getAlphabetKey() { return BENGALI_ALPHABET_KEY; } + + @Override + public ExpectedKey[] getOtherCurrencyKeys() { + return SymbolsShifted.CURRENCIES_OTHER_GENERIC; + } + + @Override + public ExpectedKey[] getLeftShiftKeys(final boolean isPhone) { return EMPTY_KEYS; } + + @Override + public ExpectedKey[] getRightShiftKeys(final boolean isPhone) { + return isPhone ? EMPTY_KEYS : EXCLAMATION_AND_QUESTION_MARKS; + } + + // U+0995: "क" BENGALI LETTER KA + // U+0996: "ख" BENGALI LETTER KHA + // U+0997: "ग" BENGALI LETTER GA + private static final ExpectedKey BENGALI_ALPHABET_KEY = key( + "\u0995\u0996\u0997", Constants.CODE_SWITCH_ALPHA_SYMBOL); + } + + @Override + ExpectedKey[][] getCommonAlphabetLayout(boolean isPhone) { return ALPHABET_COMMON; } + + @Override + ExpectedKey[][] getCommonAlphabetShiftLayout(boolean isPhone, final int elementId) { + return null; + } + + private static final ExpectedKey[][] ALPHABET_COMMON = new ExpectedKeyboardBuilder() + .setKeysOfRow(1, + // U+0994: "ঔ" BENGALI LETTER AU + // U+09E7: "à§§" BENGALI DIGIT ONE + key("\u0994", joinMoreKeys("\u09E7", "1")), + // U+0990: "à¦" BENGALI LETTER AI + // U+09E8: "২" BENGALI DIGIT TWO + key("\u0990", joinMoreKeys("\u09E8", "2")), + // U+0986: "আ" BENGALI LETTER AA + // U+09E9: "à§©" BENGALI DIGIT THREE + key("\u0986", joinMoreKeys("\u09E9", "3")), + // U+0988: "ঈ" BENGALI LETTER II + // U+09EA: "৪" BENGALI DIGIT FOUR + key("\u0988", joinMoreKeys("\u09EA", "4")), + // U+098A: "ঊ" BENGALI LETTER UU + // U+09EB: "à§«" BENGALI DIGIT FIVE + key("\u098A", joinMoreKeys("\u09EB", "5")), + // U+09AC: "ব" BENGALI LETTER BA + // U+09AD: "à¦" BENGALI LETTER BHA + // U+09EC: "৬" BENGALI DIGIT SIX + key("\u09AC", joinMoreKeys("\u09AD", "\u09EC", "6")), + // U+09B9: "হ" BENGALI LETTER HA + // U+09ED: "à§" BENGALI DIGIT SEVEN + key("\u09B9", joinMoreKeys("\u09ED", "7")), + // U+0997: "গ" BENGALI LETTER GA + // U+0998: "ঘ" BENGALI LETTER GHA + // U+09EE: "à§®" BENGALI DIGIT EIGHT + key("\u0997", joinMoreKeys("\u0998", "\u09EE", "8")), + // U+09A6: "দ" BENGALI LETTER DA + // U+09A7: "ধ" BENGALI LETTER DHA + // U+09EF: "৯" BENGALI DIGIT NINE + key("\u09A6", joinMoreKeys("\u09A7", "\u09EF", "9")), + // U+099C: "জ" BENGALI LETTER JA + // U+099D: "à¦" BENGALI LETTER JHA + // U+099C/U+09CD/U+099E: + // "জà§à¦ž" BENGALI LETTER JA/BENGALI SIGN VIRAMA/BENGALI LETTER NYA + // U+09E6: "০" BENGALI DIGIT ZERO + key("\u099C", joinMoreKeys("\u099D", "\u099C\u09CD\u099E", "\u09E6", "0")), + // U+09A1: "ড" BENGALI LETTER DDA + // U+09A1/U+09BC: "ড়" BENGALI LETTER DDA/BENGALI SIGN NUKTA + key("\u09A1", moreKey("\u09A1\u09BC"))) + .setKeysOfRow(2, + // U+0993: "ও" BENGALI LETTER O + // U+09CB: "à§‹" BENGALI VOWEL SIGN O + key("\u0993", moreKey("\u09CB")), + // U+098F: "à¦" BENGALI LETTER E + // U+09C7: "ে" BENGALI VOWEL SIGN E + key("\u098F", moreKey("\u09C7")), + // U+0985: "অ" BENGALI LETTER A + // U+09CD: "à§" BENGALI SIGN VIRAMA + key("\u0985", moreKey("\u09CD")), + // U+0987: "ই" BENGALI LETTER I + // U+09BF: "ি" BENGALI VOWEL SIGN I + key("\u0987", moreKey("\u09BF")), + // U+0989: "উ" BENGALI LETTER U + // U+09C1: "à§" BENGALI VOWEL SIGN U + key("\u0989", moreKey("\u09C1")), + // U+09AA: "প" BENGALI LETTER PA + // U+09AB: "ফ" BENGALI LETTER PHA + key("\u09AA", moreKey("\u09AB")), + // U+09B0: "র" BENGALI LETTER RA + // U+09C3: "ৃ" BENGALI VOWEL SIGN VOCALIC R + // U+098B: "ঋ" BENGALI LETTER VOCALIC R + // U+09A4/U+09CD/U+09B0: + // "তà§à¦°" BENGALI LETTER TA/BENGALI SIGN VIRAMA/BENGALI LETTER RA + key("\u09B0", joinMoreKeys("\u09C3", "\u098B", "\u09A4\u09CD\u09B0")), + // U+0995: "ক" BENGALI LETTER KA + // U+0996: "খ" BENGALI LETTER KHA + key("\u0995", moreKey("\u0996")), + // U+09A4: "ত" BENGALI LETTER TA + // U+09CE: "à§Ž" BENGALI LETTER KHANDA TA + // U+09A5: "থ" BENGALI LETTER THA + // U+09A4/U+09CD/U+09A4: + // "তà§à¦¤" BENGALI LETTER TA/BENGALI SIGN VIRAMA/BENGALI LETTER TA + key("\u09A4", joinMoreKeys("\u09CE", "\u09A5", "\u09A4\u09CD\u09A4")), + // U+099A: "চ" BENGALI LETTER CA + // U+099B: "ছ" BENGALI LETTER CHA + key("\u099A", moreKey("\u099B")), + // U+099F: "ট" BENGALI LETTER TTA + // U+09A0: "ঠ" BENGALI LETTER TTHA + key("\u099F", moreKey("\u09A0"))) + .setKeysOfRow(3, + // U+0981: "à¦" BENGALI SIGN CANDRABINDU + // U+0983: "ঃ" BENGALI SIGN VISARGA + // U+0982: "ং" BENGALI SIGN ANUSVARA + key("\u0981", joinMoreKeys("\u0983", "\u0982")), + // U+09A2: "ঢ" BENGALI LETTER DDHA + // U+09A2/U+09BC: "ঢ়" BENGALI LETTER DDHA/BENGALI SIGN NUKTA + key("\u09A2", moreKey("\u09A2\u09BC")), + // U+09AE: "ম" BENGALI LETTER MA + "\u09AE", + // U+09A8: "ন" BENGALI LETTER NA + // U+09A3: "ণ" BENGALI LETTER NNA + key("\u09A8", moreKey("\u09A3")), + // U+099E: "ঞ" BENGALI LETTER NYA + // U+0999: "ঙ" BENGALI LETTER NGA + // U+099E/U+09CD/U+099C: + // "ঞà§à¦œ" BENGALI LETTER NYA/BENGALI SIGN VIRAMA/BENGALI LETTER JA + key("\u099E", joinMoreKeys("\u0999", "\u099E\u09CD\u099C")), + // U+09B2: "ল" BENGALI LETTER LA + "\u09B2", + // U+09B7: "ষ" BENGALI LETTER SSA + // U+0995/U+09CD/U+09B7: + // "কà§à¦·" BENGALI LETTER KA/BENGALI SIGN VIRAMA/BENGALI LETTER SSA + key("\u09B7", moreKey("\u0995\u09CD\u09B7")), + // U+09B8: "স" BENGALI LETTER SA + // U+09B6: "শ" BENGALI LETTER SHA + key("\u09B8", moreKey("\u09B6")), + // U+09DF: "à§Ÿ" BENGALI LETTER YYA + // U+09AF: "য" BENGALI LETTER YA + key("\u09DF", moreKey("\u09AF")), + // U+0964: "।" DEVANAGARI DANDA + // U+0965: "॥" DEVANAGARI DOUBLE DANDA + key("\u0964", moreKey("\u0965"))) + .build(); +} diff --git a/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsBengaliIN.java b/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsBengaliIN.java new file mode 100644 index 0000000000000000000000000000000000000000..d642632077dd4d0985f213783d03bc2400857c6e --- /dev/null +++ b/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsBengaliIN.java @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.inputmethod.keyboard.layout.tests; + +import android.test.suitebuilder.annotation.SmallTest; + +import com.android.inputmethod.keyboard.layout.Bengali; +import com.android.inputmethod.keyboard.layout.Bengali.BengaliCustomizer; +import com.android.inputmethod.keyboard.layout.LayoutBase; +import com.android.inputmethod.keyboard.layout.Symbols; +import com.android.inputmethod.keyboard.layout.expected.ExpectedKey; + +import java.util.Locale; + +/** + * bn_IN: Bengali (India)/bengali + */ +@SmallTest +public final class TestsBengaliIN extends LayoutTestsBase { + private static final Locale LOCALE = new Locale("bn", "IN"); + private static final LayoutBase LAYOUT = new Bengali(new BengaliINCustomzier(LOCALE)); + + @Override + LayoutBase getLayout() { return LAYOUT; } + + private static class BengaliINCustomzier extends BengaliCustomizer { + public BengaliINCustomzier(final Locale locale) { super(locale); } + + @Override + public ExpectedKey getCurrencyKey() { return CURRENCY_RUPEE; } + + // U+20B9: "₹" INDIAN RUPEE SIGN + private static final ExpectedKey CURRENCY_RUPEE = key("\u20B9", + Symbols.CURRENCY_GENERIC_MORE_KEYS); + } +} diff --git a/tools/make-keyboard-text/res/values-bn/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-bn/donottranslate-more-keys.xml new file mode 100644 index 0000000000000000000000000000000000000000..4955cd46a9d490338a8106bee4ad83629f13728a --- /dev/null +++ b/tools/make-keyboard-text/res/values-bn/donottranslate-more-keys.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2014, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <!-- Label for "switch to alphabetic" key. + U+0995: "क" BENGALI LETTER KA + U+0996: "ख" BENGALI LETTER KHA + U+0997: "ग" BENGALI LETTER GA --> + <string name="keylabel_to_alpha">কখগ</string> + <!-- U+09F3: "à§³" BENGALI RUPEE SIGN --> + <string name="keyspec_currency">৳</string> +</resources>