diff options
author | 2015-01-29 10:17:33 -0800 | |
---|---|---|
committer | 2015-01-29 10:17:33 -0800 | |
commit | e1758feeffa388f2b75040e8f54b466c3591a148 (patch) | |
tree | b430a77614d9e88822e123b734d12f20bc6b771f /java | |
parent | ab6f3b36d0303bc4cc1ad0fbbc72a64ca2df0eb2 (diff) | |
download | latinime-e1758feeffa388f2b75040e8f54b466c3591a148.tar.gz latinime-e1758feeffa388f2b75040e8f54b466c3591a148.tar.xz latinime-e1758feeffa388f2b75040e8f54b466c3591a148.zip |
Disable the Burmese keyboard.
We'll resurrect this effort in the new code base.
Bug 16900511.
Change-Id: Iae4cd27cb29cb8f991e97cffd88ed59c30d66628
Diffstat (limited to 'java')
-rw-r--r-- | java/res/values/attrs.xml | 2 | ||||
-rw-r--r-- | java/res/xml-sw600dp/rows_myanmar.xml | 58 | ||||
-rw-r--r-- | java/res/xml/kbd_myanmar.xml | 31 | ||||
-rw-r--r-- | java/res/xml/keyboard_layout_set_myanmar.xml | 60 | ||||
-rw-r--r-- | java/res/xml/method.xml | 11 | ||||
-rw-r--r-- | java/res/xml/rowkeys_myanmar1.xml | 105 | ||||
-rw-r--r-- | java/res/xml/rowkeys_myanmar2.xml | 104 | ||||
-rw-r--r-- | java/res/xml/rowkeys_myanmar3.xml | 89 | ||||
-rw-r--r-- | java/res/xml/rowkeys_myanmar4.xml | 81 | ||||
-rw-r--r-- | java/res/xml/rows_myanmar.xml | 50 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/event/CombinerChain.java | 40 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/event/MyanmarReordering.java | 265 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java | 36 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/WordComposer.java | 3 |
14 files changed, 3 insertions, 932 deletions
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml index bf36337a1..d9e42f1fe 100644 --- a/java/res/values/attrs.xml +++ b/java/res/values/attrs.xml @@ -556,7 +556,7 @@ <enum name="lao" value="10" /> <enum name="latin" value="11" /> <enum name="malayalam" value="12" /> - <enum name="myanmar" value="13" /> + <!-- Myanmar is disabled. <enum name="myanmar" value="13" /> --> <enum name="sinhala" value="14" /> <enum name="tamil" value="15" /> <enum name="telugu" value="16" /> diff --git a/java/res/xml-sw600dp/rows_myanmar.xml b/java/res/xml-sw600dp/rows_myanmar.xml deleted file mode 100644 index 20d9d8ab2..000000000 --- a/java/res/xml-sw600dp/rows_myanmar.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?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.0%p" - latin:keyLabelFlags="fontNormal|autoXScale" - > - <include latin:keyboardLayout="@xml/rowkeys_myanmar1" /> - <Key - latin:keyStyle="deleteKeyStyle" - latin:keyWidth="fillRight" /> - </Row> - <Row - latin:keyWidth="9.0%p" - latin:keyLabelFlags="fontNormal|autoXScale" - > - <include latin:keyboardLayout="@xml/rowkeys_myanmar2" /> - </Row> - <Row - latin:keyWidth="9.0%p" - latin:keyLabelFlags="fontNormal|autoXScale" - > - <include latin:keyboardLayout="@xml/rowkeys_myanmar3" /> - <Key - latin:keyStyle="enterKeyStyle" - latin:keyWidth="fillRight" /> - </Row> - <Row - latin:keyWidth="9.0%p" - latin:keyLabelFlags="fontNormal|autoXScale" - > - <Key - latin:keyStyle="shiftKeyStyle" - latin:keyWidth="10.0%p" /> - <include latin:keyboardLayout="@xml/rowkeys_myanmar4" /> - <include latin:keyboardLayout="@xml/keys_exclamation_question" /> - </Row> - <include latin:keyboardLayout="@xml/row_qwerty4" /> -</merge> diff --git a/java/res/xml/kbd_myanmar.xml b/java/res/xml/kbd_myanmar.xml deleted file mode 100644 index af997b1c8..000000000 --- a/java/res/xml/kbd_myanmar.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?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" - latin:rowHeight="20%p" - latin:verticalGap="@fraction/config_key_vertical_gap_5row" - latin:keyLetterSize="@fraction/config_key_letter_ratio_5row" - latin:keyShiftedLetterHintRatio="@fraction/config_key_shifted_letter_hint_ratio_5row" - latin:touchPositionCorrectionData="@array/touch_position_correction_data_default" -> - <include - latin:keyboardLayout="@xml/rows_myanmar" /> -</Keyboard> diff --git a/java/res/xml/keyboard_layout_set_myanmar.xml b/java/res/xml/keyboard_layout_set_myanmar.xml deleted file mode 100644 index 5af8c064e..000000000 --- a/java/res/xml/keyboard_layout_set_myanmar.xml +++ /dev/null @@ -1,60 +0,0 @@ -<?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"> - <Feature - latin:supportedScript="myanmar" /> - <Element - latin:elementName="alphabet" - latin:elementKeyboard="@xml/kbd_myanmar" - latin:enableProximityCharsCorrection="true" /> - <Element - latin:elementName="alphabetAutomaticShifted" - latin:elementKeyboard="@xml/kbd_myanmar" - 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_myanmar" /> - <Element - latin:elementName="alphabetShiftLocked" - latin:elementKeyboard="@xml/kbd_myanmar" /> - <Element - latin:elementName="alphabetShiftLockShifted" - latin:elementKeyboard="@xml/kbd_myanmar" /> - <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 e14862206..33a10fa8f 100644 --- a/java/res/xml/method.xml +++ b/java/res/xml/method.xml @@ -75,7 +75,6 @@ mn_MN: Mongolian (Mongolia)/mongolian mr_IN: Marathi (India)/marathi ms_MY: Malay (Malaysia)/qwerty - my_MM: Myanmar (Myanmar)/myanmar # This is a preliminary keyboard layout. nb: Norwegian Bokmål/nordic ne_NP: Nepali (Nepal) Romanized/nepali_romanized ne_NP: Nepali (Nepal) Traditional/nepali_traditional @@ -545,16 +544,6 @@ android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable,EmojiCapable" android:isAsciiCapable="true" /> - <!-- TODO: This Myanmar 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="0xea266ea4" - android:imeSubtypeLocale="my_MM" - android:imeSubtypeMode="keyboard" - android:imeSubtypeExtraValue="KeyboardLayoutSet=myanmar,EmojiCapable,CombiningRules=MyanmarReordering" - android:isAsciiCapable="false" - /> <subtype android:icon="@drawable/ic_ime_switcher_dark" android:label="@string/subtype_generic" android:subtypeId="0x3f12ee14" diff --git a/java/res/xml/rowkeys_myanmar1.xml b/java/res/xml/rowkeys_myanmar1.xml deleted file mode 100644 index 117007431..000000000 --- a/java/res/xml/rowkeys_myanmar1.xml +++ /dev/null @@ -1,105 +0,0 @@ -<?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"> - <switch> - <case latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"> - <!-- U+1027: "ဧ" MYANMAR LETTER E --> - <Key latin:keySpec="ဧ" /> - <!-- U+104F: "၏" MYANMAR SYMBOL GENITIVE --> - <Key latin:keySpec="၏" /> - <!-- U+1024: "ဤ" MYANMAR LETTER II --> - <Key latin:keySpec="ဤ" /> - <!-- U+1023: "ဣ" MYANMAR LETTER I --> - <Key latin:keySpec="ဣ" /> - <!-- U+104E: "၎" MYANMAR SYMBOL AFOREMENTIONED --> - <Key latin:keySpec="၎" /> - <!-- U+1000/U+103B/U+1015/U+103A: "ကျပ်" - MYANMAR LETTER KA/MYANMAR CONSONANT SIGN MEDIAL YA/MYANMAR LETTER PA/MYANMAR SIGN ASAT --> - <Key - latin:keySpec="ကျပ်" - latin:keyLabelFlags="followKeyLetterRatio|autoScale" /> - <!-- U+1029: "ဩ" MYANMAR LETTER O --> - <Key - latin:keySpec="ဩ" - latin:keyLabelFlags="autoScale" /> - <!-- U+102A: "ဪ" MYANMAR LETTER AU --> - <Key - latin:keySpec="ဪ" - latin:keyLabelFlags="autoScale" /> - <!-- U+104D: "၍" MYANMAR SYMBOL COMPLETED --> - <Key latin:keySpec="၍" /> - <!-- U+104C: "၌" MYANMAR SYMBOL LOCATIVE --> - <Key latin:keySpec="၌" /> - </case> - <default> - <!-- U+1041: "၁" MYANMAR DIGIT ONE --> - <Key - latin:keySpec="၁" - latin:keyHintLabel="1" - latin:additionalMoreKeys="1" /> - <!-- U+1042: "၂" MYANMAR DIGIT TWO --> - <Key - latin:keySpec="၂" - latin:keyHintLabel="2" - latin:additionalMoreKeys="2" /> - <!-- U+1043: "၃" MYANMAR DIGIT THREE --> - <Key - latin:keySpec="၃" - latin:keyHintLabel="3" - latin:additionalMoreKeys="3" /> - <!-- U+1044: "၄" MYANMAR DIGIT FOUR --> - <Key - latin:keySpec="၄" - latin:keyHintLabel="4" - latin:additionalMoreKeys="4" /> - <!-- U+1045: "၅" MYANMAR DIGIT FIVE --> - <Key - latin:keySpec="၅" - latin:keyHintLabel="5" - latin:additionalMoreKeys="5" /> - <!-- U+1046: "၆" MYANMAR DIGIT SIX --> - <Key - latin:keySpec="၆" - latin:keyHintLabel="6" - latin:additionalMoreKeys="6" /> - <!-- U+1047: "၇" MYANMAR DIGIT SEVEN --> - <Key - latin:keySpec="၇" - latin:keyHintLabel="7" - latin:additionalMoreKeys="7" /> - <!-- U+1048: "၈" MYANMAR DIGIT EIGHT --> - <Key - latin:keySpec="၈" - latin:keyHintLabel="8" - latin:additionalMoreKeys="8" /> - <!-- U+1049: "၉" MYANMAR DIGIT NINE --> - <Key - latin:keySpec="၉" - latin:keyHintLabel="9" - latin:additionalMoreKeys="9" /> - <!-- U+1040: "၀" MYANMAR DIGIT ZERO --> - <Key - latin:keySpec="၀" - latin:keyHintLabel="0" - latin:additionalMoreKeys="0" /> - </default> - </switch> -</merge> diff --git a/java/res/xml/rowkeys_myanmar2.xml b/java/res/xml/rowkeys_myanmar2.xml deleted file mode 100644 index ae71ecbde..000000000 --- a/java/res/xml/rowkeys_myanmar2.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?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"> - <switch> - <case latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"> - <!-- U+1017: "ဗ" MYANMAR LETTER BA - U+1039/U+1017: "္ဗ" MYANMAR SIGN VIRAMA/MYANMAR LETTER BA --> - <Key - latin:keySpec="ဗ" - latin:moreKeys="္ဗ" /> - <!-- U+1012: "ဒ" MYANMAR LETTER DA - U+1039/U+1012: "္ဒ" MYANMAR SIGN VIRAMA/MYANMAR LETTER DA --> - <Key - latin:keySpec="ဒ" - latin:moreKeys="္ဒ" /> - <!-- U+1013: "ဓ" MYANMAR LETTER DHA - U+1039/U+1013: "္ဓ" MYANMAR SIGN VIRAMA/MYANMAR LETTER DHA --> - <Key - latin:keySpec="ဓ" - latin:moreKeys="္ဓ" /> - <!-- U+1003: "ဃ" MYANMAR LETTER GHA --> - <Key latin:keySpec="ဃ" /> - <!-- U+100E: "ဎ" MYANMAR LETTER DDHA --> - <Key latin:keySpec="ဎ" /> - <!-- U+103F: "ဿ" MYANMAR LETTER GREAT SA --> - <Key latin:keySpec="ဿ" /> - <!-- U+100F: "ဏ" MYANMAR LETTER NNA --> - <Key latin:keySpec="ဏ" /> - <!-- U+1008: "ဈ" MYANMAR LETTER JHA - U+1039/U+1008: "္ဈ" MYANMAR SIGN VIRAMA/MYANMAR LETTER JHA --> - <Key - latin:keySpec="ဈ" - latin:moreKeys="္ဈ" /> - <!-- U+1007: "ဇ" MYANMAR LETTER JA - U+1039/U+1007: "္ဇ" MYANMAR SIGN VIRAMA/MYANMAR LETTER JA --> - <Key - latin:keySpec="ဇ" - latin:moreKeys="္ဇ" /> - <!-- U+1002: "ဂ" MYANMAR LETTER GA - U+1039/U+1002: "္ဂ" MYANMAR SIGN VIRAMA/MYANMAR LETTER GA --> - <Key - latin:keySpec="ဂ" - latin:moreKeys="္ဂ" /> - </case> - <default> - <!-- U+1006: "ဆ" MYANMAR LETTER CHA - U+1039/U+1006: "္ဆ" MYANMAR SIGN VIRAMA/MYANMAR LETTER CHA --> - <Key - latin:keySpec="ဆ" - latin:moreKeys="္ဆ" /> - <!-- U+1010: "တ" MYANMAR LETTER TA - U+1039/U+1010: "္တ" MYANMAR SIGN VIRAMA/MYANMAR LETTER TA --> - <Key - latin:keySpec="တ" - latin:moreKeys="္တ" /> - <!-- U+1014: "န" MYANMAR LETTER NA - U+1039/U+1014: "္န" MYANMAR SIGN VIRAMA/MYANMAR LETTER NA --> - <Key - latin:keySpec="န" - latin:moreKeys="္န" /> - <!-- U+1019: "မ" MYANMAR LETTER MA - U+1039/U+1019: "္မ" MYANMAR SIGN VIRAMA/MYANMAR LETTER MA --> - <Key - latin:keySpec="မ" - latin:moreKeys="္မ" /> - <!-- U+1021: "အ" MYANMAR LETTER A --> - <Key latin:keySpec="အ" /> - <!-- U+1015: "ပ" MYANMAR LETTER PA --> - <Key latin:keySpec="ပ" /> - <!-- U+1000: "က" MYANMAR LETTER KA - U+1039/U+1000: "္က" MYANMAR SIGN VIRAMA/MYANMAR LETTER KA --> - <Key - latin:keySpec="က" - latin:moreKeys="္က" /> - <!-- U+1004: "င" MYANMAR LETTER NGA --> - <Key latin:keySpec="င" /> - <!-- U+101E: "သ" MYANMAR LETTER SA --> - <Key latin:keySpec="သ" /> - <!-- U+1005: "စ" MYANMAR LETTER CA - U+1039/U+1005: "္စ" MYANMAR SIGN VIRAMA/MYANMAR LETTER CA --> - <Key - latin:keySpec="စ" - latin:moreKeys="္စ" /> - </default> - </switch> -</merge> diff --git a/java/res/xml/rowkeys_myanmar3.xml b/java/res/xml/rowkeys_myanmar3.xml deleted file mode 100644 index 4dafe09d7..000000000 --- a/java/res/xml/rowkeys_myanmar3.xml +++ /dev/null @@ -1,89 +0,0 @@ -<?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"> - <switch> - <case latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"> - <!-- U+101A: "ယ" MYANMAR LETTER YA --> - <Key latin:keySpec="ယ" /> - <!-- U+1039: "္" MYANMAR SIGN VIRAMA --> - <Key latin:keySpec="္" /> - <!-- U+1004/U+103A/U+1039: "င်္င" MYANMAR LETTER NGA/MYANMAR SIGN ASAT/MYANMAR SIGN VIRAMA --> - <Key - latin:keySpec="င်္" - latin:keyLabelFlags="followKeyLetterRatio" /> - <!-- U+103E: "ှ" MYANMAR CONSONANT SIGN MEDIAL HA --> - <Key latin:keySpec="ှ" /> - <!-- U+102E: "ီ" MYANMAR VOWEL SIGN II --> - <Key latin:keySpec="ီ" /> - <!-- U+1030: "ူ" MYANMAR VOWEL SIGN UU --> - <Key latin:keySpec="ူ" /> - <!-- U+102B: "ါ" MYANMAR VOWEL SIGN TALL AA --> - <Key latin:keySpec="ါ" /> - <!-- U+1032: "ဲ" MYANMAR VOWEL SIGN AI --> - <Key latin:keySpec="ဲ" /> - <!-- U+1036: "ံ" MYANMAR SIGN ANUSVARA --> - <Key latin:keySpec="ံ" /> - <!-- U+101F: "ဟ" MYANMAR LETTER HA --> - <Key latin:keySpec="ဟ" /> - </case> - <default> - <!-- U+1031: "ေ" MYANMAR VOWEL SIGN E --> - <Key latin:keySpec="ေ" /> - <!-- U+103B: "ျ" MYANMAR CONSONANT SIGN MEDIAL YA --> - <Key latin:keySpec="ျ" /> - <!-- U+103C: "ြ" MYANMAR CONSONANT SIGN MEDIAL RA --> - <Key latin:keySpec="ြ" /> - <!-- U+103D: "ွ" MYANMAR CONSONANT SIGN MEDIAL WA - U+103E: "ှ" MYANMAR CONSONANT SIGN MEDIAL HA - U+103D/U+103E: "ွှ" MYANMAR CONSONANT SIGN MEDIAL WA/MYANMAR CONSONANT SIGN MEDIAL HA --> - <Key - latin:keySpec="ွ" - latin:moreKeys="ှ,ွှ" /> - <!-- U+102D: "ိ" MYANMAR VOWEL SIGN I - U+102E: "ီ" MYANMAR VOWEL SIGN II --> - <Key - latin:keySpec="ိ" - latin:moreKeys="ီ" /> - <!-- U+102F: "ု" MYANMAR VOWEL SIGN U - U+1030: "ူ" MYANMAR VOWEL SIGN UU --> - <Key - latin:keySpec="ု" - latin:moreKeys="ူ" /> - <!-- U+102C: "ာ" MYANMAR VOWEL SIGN AA - U+102B: "ါ" MYANMAR VOWEL SIGN TALL AA --> - <Key - latin:keySpec="ာ" - latin:moreKeys="ါ" /> - <!-- U+103A: "်" MYANMAR SIGN ASAT - U+1032: "ဲ" MYANMAR VOWEL SIGN AI --> - <Key - latin:keySpec="်" - latin:moreKeys="ဲ" /> - <!-- U+1037: "့" MYANMAR SIGN DOT BELOW - U+1036: "ံ" MYANMAR SIGN ANUSVARA --> - <Key - latin:keySpec="့" - latin:moreKeys="ံ" /> - <!-- U+1038: "း" MYANMAR SIGN VISARGA --> - <Key latin:keySpec="း" /> - </default> - </switch> -</merge> diff --git a/java/res/xml/rowkeys_myanmar4.xml b/java/res/xml/rowkeys_myanmar4.xml deleted file mode 100644 index a1befcfbb..000000000 --- a/java/res/xml/rowkeys_myanmar4.xml +++ /dev/null @@ -1,81 +0,0 @@ -<?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"> - <switch> - <case latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"> - <!-- U+1025: "ဥ" MYANMAR LETTER U --> - <Key latin:keySpec="ဥ" /> - <!-- U+1026: "ဦ" MYANMAR LETTER UU --> - <Key latin:keySpec="ဦ" /> - <!-- U+100C: "ဌ" MYANMAR LETTER TTHA --> - <Key latin:keySpec="ဌ" /> - <!-- U+100B: "ဋ" MYANMAR LETTER TTA --> - <Key latin:keySpec="ဋ" /> - <!-- U+100D: "ဍ" MYANMAR LETTER DDA --> - <Key latin:keySpec="ဍ" /> - <!-- U+1020: "ဠ" MYANMAR LETTER LLA --> - <Key latin:keySpec="ဠ" /> - <!-- U+100B/U+1039/U+100C: "ဋ္ဌ" MYANMAR LETTER TTA/MYANMAR SIGN VIRAMA/MYANMAR LETTER TTHA --> - <Key - latin:keySpec="ဋ္ဌ" - latin:keyLabelFlags="followKeyLetterRatio" /> - <!-- U+100F/U+1039/U+100D: "ဏ္ဍ" MYANMAR LETTER NNA/MYANMAR SIGN VIRAMA/MYANMAR LETTER DDA - U+100F/U+1039/U+100C: "ဏ္ဌ" MYANMAR LETTER NNA/MYANMAR SIGN VIRAMA/MYANMAR LETTER TTHA --> - <Key - latin:keySpec="ဏ္ဍ" - latin:moreKeys="ဏ္ဌ" - latin:keyLabelFlags="followKeyLetterRatio" /> - </case> - <default> - <!-- U+1016: "ဖ" MYANMAR LETTER PHA --> - <Key latin:keySpec="ဖ" /> - <!-- U+1011: "ထ" MYANMAR LETTER THA - U+1039/U+1011: "္ထ" MYANMAR SIGN VIRAMA/MYANMAR LETTER THA --> - <Key - latin:keySpec="ထ" - latin:moreKeys="္ထ" /> - <!-- U+1001: "ခ" MYANMAR LETTER KHA - U+1039/U+1001: "္ခ" MYANMAR SIGN VIRAMA/MYANMAR LETTER KHA --> - <Key - latin:keySpec="ခ" - latin:moreKeys="္ခ" /> - <!-- U+101C: "လ" MYANMAR LETTER LA - U+1039/U+101C: "္လ" MYANMAR SIGN VIRAMA/MYANMAR LETTER LA --> - <Key - latin:keySpec="လ" - latin:moreKeys="္လ" /> - <!-- U+1018: "ဘ" MYANMAR LETTER BHA - U+1039/U+1018: "္ဘ" MYANMAR SIGN VIRAMA/MYANMAR LETTER BHA --> - <Key - latin:keySpec="ဘ" - latin:moreKeys="္ဘ" /> - <!-- U+100A: "ည" MYANMAR LETTER NNYA - U+1009: "ဉ" MYANMAR LETTER NYA --> - <Key - latin:keySpec="ည" - latin:moreKeys="ဉ" /> - <!-- U+101B: "ရ" MYANMAR LETTER RA --> - <Key latin:keySpec="ရ" /> - <!-- U+101D: "ဝ" MYANMAR LETTER WA --> - <Key latin:keySpec="ဝ" /> - </default> - </switch> -</merge> diff --git a/java/res/xml/rows_myanmar.xml b/java/res/xml/rows_myanmar.xml deleted file mode 100644 index 54538a9b9..000000000 --- a/java/res/xml/rows_myanmar.xml +++ /dev/null @@ -1,50 +0,0 @@ -<?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="10.0%p" - latin:keyLabelFlags="fontNormal|autoXScale" - > - <include latin:keyboardLayout="@xml/rowkeys_myanmar1" /> - </Row> - <Row - latin:keyWidth="10.0%p" - latin:keyLabelFlags="fontNormal|autoXScale" - > - <include latin:keyboardLayout="@xml/rowkeys_myanmar2" /> - </Row> - <Row - latin:keyWidth="10.0%p" - latin:keyLabelFlags="fontNormal|autoXScale" - > - <include latin:keyboardLayout="@xml/rowkeys_myanmar3" /> - </Row> - <Row - latin:keyWidth="10.0%p" - latin:keyLabelFlags="fontNormal|autoXScale" - > - <Key latin:keyStyle="shiftKeyStyle" /> - <include latin:keyboardLayout="@xml/rowkeys_myanmar4" /> - <Key latin:keyStyle="deleteKeyStyle" /> - </Row> - <include latin:keyboardLayout="@xml/row_qwerty4" /> -</merge>
\ No newline at end of file diff --git a/java/src/com/android/inputmethod/event/CombinerChain.java b/java/src/com/android/inputmethod/event/CombinerChain.java index 5858faa09..d77ece8e6 100644 --- a/java/src/com/android/inputmethod/event/CombinerChain.java +++ b/java/src/com/android/inputmethod/event/CombinerChain.java @@ -22,7 +22,6 @@ import android.text.TextUtils; import com.android.inputmethod.latin.common.Constants; import java.util.ArrayList; -import java.util.HashMap; import javax.annotation.Nonnull; @@ -45,13 +44,6 @@ public class CombinerChain { private SpannableStringBuilder mStateFeedback; private final ArrayList<Combiner> mCombiners; - private static final HashMap<String, Class<? extends Combiner>> IMPLEMENTED_COMBINERS = - new HashMap<>(); - static { - IMPLEMENTED_COMBINERS.put("MyanmarReordering", MyanmarReordering.class); - } - private static final String COMBINER_SPEC_SEPARATOR = ";"; - /** * Create an combiner chain. * @@ -61,15 +53,11 @@ public class CombinerChain { * cursor: we'll start after this. * * @param initialText The text that has already been combined so far. - * @param combinerList A list of combiners to be applied in order. */ - public CombinerChain(final String initialText, final Combiner... combinerList) { + public CombinerChain(final String initialText) { mCombiners = new ArrayList<>(); // The dead key combiner is always active, and always first mCombiners.add(new DeadKeyCombiner()); - for (final Combiner combiner : combinerList) { - mCombiners.add(combiner); - } mCombinedText = new StringBuilder(initialText); mStateFeedback = new SpannableStringBuilder(); } @@ -146,30 +134,4 @@ public class CombinerChain { final SpannableStringBuilder s = new SpannableStringBuilder(mCombinedText); return s.append(mStateFeedback); } - - public static Combiner[] createCombiners(final String spec) { - if (TextUtils.isEmpty(spec)) { - return new Combiner[0]; - } - final String[] combinerDescriptors = spec.split(COMBINER_SPEC_SEPARATOR); - final Combiner[] combiners = new Combiner[combinerDescriptors.length]; - int i = 0; - for (final String combinerDescriptor : combinerDescriptors) { - final Class<? extends Combiner> combinerClass = - IMPLEMENTED_COMBINERS.get(combinerDescriptor); - if (null == combinerClass) { - throw new RuntimeException("Unknown combiner descriptor: " + combinerDescriptor); - } - try { - combiners[i++] = combinerClass.newInstance(); - } catch (InstantiationException e) { - throw new RuntimeException("Unable to instantiate combiner: " + combinerDescriptor, - e); - } catch (IllegalAccessException e) { - throw new RuntimeException("Unable to instantiate combiner: " + combinerDescriptor, - e); - } - } - return combiners; - } } diff --git a/java/src/com/android/inputmethod/event/MyanmarReordering.java b/java/src/com/android/inputmethod/event/MyanmarReordering.java deleted file mode 100644 index 7bc1630f5..000000000 --- a/java/src/com/android/inputmethod/event/MyanmarReordering.java +++ /dev/null @@ -1,265 +0,0 @@ -/* - * 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.event; - -import com.android.inputmethod.latin.common.Constants; - -import java.util.ArrayList; -import java.util.Arrays; - -import javax.annotation.Nonnull; - -/** - * A combiner that reorders input for Myanmar. - */ -public class MyanmarReordering implements Combiner { - // U+1031 MYANMAR VOWEL SIGN E - private final static int VOWEL_E = 0x1031; // Code point for vowel E that we need to reorder - // U+200C ZERO WIDTH NON-JOINER - // U+200B ZERO WIDTH SPACE - private final static int ZERO_WIDTH_NON_JOINER = 0x200B; // should be 0x200C - - private final ArrayList<Event> mCurrentEvents = new ArrayList<>(); - - // List of consonants : - // U+1000 MYANMAR LETTER KA - // U+1001 MYANMAR LETTER KHA - // U+1002 MYANMAR LETTER GA - // U+1003 MYANMAR LETTER GHA - // U+1004 MYANMAR LETTER NGA - // U+1005 MYANMAR LETTER CA - // U+1006 MYANMAR LETTER CHA - // U+1007 MYANMAR LETTER JA - // U+1008 MYANMAR LETTER JHA - // U+1009 MYANMAR LETTER NYA - // U+100A MYANMAR LETTER NNYA - // U+100B MYANMAR LETTER TTA - // U+100C MYANMAR LETTER TTHA - // U+100D MYANMAR LETTER DDA - // U+100E MYANMAR LETTER DDHA - // U+100F MYANMAR LETTER NNA - // U+1010 MYANMAR LETTER TA - // U+1011 MYANMAR LETTER THA - // U+1012 MYANMAR LETTER DA - // U+1013 MYANMAR LETTER DHA - // U+1014 MYANMAR LETTER NA - // U+1015 MYANMAR LETTER PA - // U+1016 MYANMAR LETTER PHA - // U+1017 MYANMAR LETTER BA - // U+1018 MYANMAR LETTER BHA - // U+1019 MYANMAR LETTER MA - // U+101A MYANMAR LETTER YA - // U+101B MYANMAR LETTER RA - // U+101C MYANMAR LETTER LA - // U+101D MYANMAR LETTER WA - // U+101E MYANMAR LETTER SA - // U+101F MYANMAR LETTER HA - // U+1020 MYANMAR LETTER LLA - // U+103F MYANMAR LETTER GREAT SA - private static boolean isConsonant(final int codePoint) { - return (codePoint >= 0x1000 && codePoint <= 0x1020) || 0x103F == codePoint; - } - - // List of medials : - // U+103B MYANMAR CONSONANT SIGN MEDIAL YA - // U+103C MYANMAR CONSONANT SIGN MEDIAL RA - // U+103D MYANMAR CONSONANT SIGN MEDIAL WA - // U+103E MYANMAR CONSONANT SIGN MEDIAL HA - // U+105E MYANMAR CONSONANT SIGN MON MEDIAL NA - // U+105F MYANMAR CONSONANT SIGN MON MEDIAL MA - // U+1060 MYANMAR CONSONANT SIGN MON MEDIAL LA - // U+1082 MYANMAR CONSONANT SIGN SHAN MEDIAL WA - private static int[] MEDIAL_LIST = { 0x103B, 0x103C, 0x103D, 0x103E, - 0x105E, 0x105F, 0x1060, 0x1082}; - private static boolean isMedial(final int codePoint) { - return Arrays.binarySearch(MEDIAL_LIST, codePoint) >= 0; - } - - private static boolean isConsonantOrMedial(final int codePoint) { - return isConsonant(codePoint) || isMedial(codePoint); - } - - private Event getLastEvent() { - final int size = mCurrentEvents.size(); - if (size <= 0) { - return null; - } - return mCurrentEvents.get(size - 1); - } - - private CharSequence getCharSequence() { - final StringBuilder s = new StringBuilder(); - for (final Event e : mCurrentEvents) { - s.appendCodePoint(e.mCodePoint); - } - return s; - } - - /** - * Clears the currently combining stream of events and returns the resulting software text - * event corresponding to the stream. Optionally adds a new event to the cleared stream. - * @param newEvent the new event to add to the stream. null if none. - * @return the resulting software text event. Never null. - */ - @Nonnull - private Event clearAndGetResultingEvent(final Event newEvent) { - final CharSequence combinedText; - if (mCurrentEvents.size() > 0) { - combinedText = getCharSequence(); - mCurrentEvents.clear(); - } else { - combinedText = null; - } - if (null != newEvent) { - mCurrentEvents.add(newEvent); - } - return null == combinedText ? Event.createConsumedEvent(newEvent) - : Event.createSoftwareTextEvent(combinedText, Event.NOT_A_KEY_CODE); - } - - @Override - @Nonnull - public Event processEvent(ArrayList<Event> previousEvents, Event newEvent) { - final int codePoint = newEvent.mCodePoint; - if (VOWEL_E == codePoint) { - final Event lastEvent = getLastEvent(); - if (null == lastEvent) { - mCurrentEvents.add(newEvent); - return Event.createConsumedEvent(newEvent); - } - if (isConsonantOrMedial(lastEvent.mCodePoint)) { - final Event resultingEvent = clearAndGetResultingEvent(null); - mCurrentEvents.add(Event.createSoftwareKeypressEvent(ZERO_WIDTH_NON_JOINER, - Event.NOT_A_KEY_CODE, - Constants.NOT_A_COORDINATE, Constants.NOT_A_COORDINATE, - false /* isKeyRepeat */)); - mCurrentEvents.add(newEvent); - return resultingEvent; - } - // VOWEL_E == lastCodePoint. But if that was anything else this is correct too. - return clearAndGetResultingEvent(newEvent); - } - if (isConsonant(codePoint)) { - final Event lastEvent = getLastEvent(); - if (null == lastEvent) { - mCurrentEvents.add(newEvent); - return Event.createConsumedEvent(newEvent); - } - if (VOWEL_E == lastEvent.mCodePoint) { - final int eventSize = mCurrentEvents.size(); - if (eventSize >= 2 - && mCurrentEvents.get(eventSize - 2).mCodePoint == ZERO_WIDTH_NON_JOINER) { - // We have a ZWJN before a vowel E. We need to remove the ZWNJ and then - // reorder the vowel with respect to the consonant. - mCurrentEvents.remove(eventSize - 1); - mCurrentEvents.remove(eventSize - 2); - mCurrentEvents.add(newEvent); - mCurrentEvents.add(lastEvent); - return Event.createConsumedEvent(newEvent); - } - // If there is already a consonant, then we are starting a new syllable. - for (int i = eventSize - 2; i >= 0; --i) { - if (isConsonant(mCurrentEvents.get(i).mCodePoint)) { - return clearAndGetResultingEvent(newEvent); - } - } - // If we come here, we didn't have a consonant so we reorder - mCurrentEvents.remove(eventSize - 1); - mCurrentEvents.add(newEvent); - mCurrentEvents.add(lastEvent); - return Event.createConsumedEvent(newEvent); - } - // lastCodePoint is a consonant/medial. But if it's something else it's fine - return clearAndGetResultingEvent(newEvent); - } - if (isMedial(codePoint)) { - final Event lastEvent = getLastEvent(); - if (null == lastEvent) { - mCurrentEvents.add(newEvent); - return Event.createConsumedEvent(newEvent); - } - if (VOWEL_E == lastEvent.mCodePoint) { - final int eventSize = mCurrentEvents.size(); - // If there is already a consonant, then we are in the middle of a syllable, and we - // need to reorder. - boolean hasConsonant = false; - for (int i = eventSize - 2; i >= 0; --i) { - if (isConsonant(mCurrentEvents.get(i).mCodePoint)) { - hasConsonant = true; - break; - } - } - if (hasConsonant) { - mCurrentEvents.remove(eventSize - 1); - mCurrentEvents.add(newEvent); - mCurrentEvents.add(lastEvent); - return Event.createConsumedEvent(newEvent); - } - // Otherwise, we just commit everything. - return clearAndGetResultingEvent(null); - } - // lastCodePoint is a consonant/medial. But if it's something else it's fine - return clearAndGetResultingEvent(newEvent); - } - final Event lastEvent = getLastEvent(); - if (Constants.CODE_DELETE == newEvent.mKeyCode && null != lastEvent) { - final int eventSize = mCurrentEvents.size(); - if (VOWEL_E == lastEvent.mCodePoint) { - // We have a VOWEL_E at the end. There are four cases. - // - The vowel is the only code point in the buffer. Remove it. - // - The vowel is preceded by a ZWNJ. Remove both vowel E and ZWNJ. - // - The vowel is preceded by a consonant/medial, remove the consonant/medial. - // - In all other cases, it's strange, so just remove the last code point. - if (eventSize <= 1) { - mCurrentEvents.clear(); - } else { // eventSize >= 2 - final int previousCodePoint = mCurrentEvents.get(eventSize - 2).mCodePoint; - if (previousCodePoint == ZERO_WIDTH_NON_JOINER) { - mCurrentEvents.remove(eventSize - 1); - mCurrentEvents.remove(eventSize - 2); - } else if (isConsonantOrMedial(previousCodePoint)) { - mCurrentEvents.remove(eventSize - 2); - } else { - mCurrentEvents.remove(eventSize - 1); - } - } - return Event.createConsumedEvent(newEvent); - } else if (eventSize > 0) { - mCurrentEvents.remove(eventSize - 1); - return Event.createConsumedEvent(newEvent); - } - } - // This character is not part of the combining scheme, so we should reset everything. - if (mCurrentEvents.size() > 0) { - // If we have events in flight, then add the new event and return the resulting event. - mCurrentEvents.add(newEvent); - return clearAndGetResultingEvent(null); - } - // If we don't have any events in flight, then just pass this one through. - return newEvent; - } - - @Override - public CharSequence getCombiningStateFeedback() { - return getCharSequence(); - } - - @Override - public void reset() { - mCurrentEvents.clear(); - } -} diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java index a81d7ea2a..b50c0a86a 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java @@ -2781,41 +2781,6 @@ public final class KeyboardTextsTable { /* additional_morekeys_symbols_0 */ "0", }; - /* Locale my_MM: Burmese (Myanmar) */ - private static final String[] TEXTS_my_MM = { - /* morekeys_a ~ */ - null, null, null, null, - /* ~ morekeys_u */ - // 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", - /* morekeys_i ~ */ - null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, 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 - // U+104B: "။" MYANMAR SIGN SECTION - /* keyspec_tablet_comma */ "\u104A", - /* keyspec_period */ "\u104B", - /* morekeys_period */ null, - /* keyspec_tablet_period */ "\u104B", - /* keyspec_swiss_row1_11 ~ */ - null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, - /* ~ keyspec_comma */ - /* morekeys_tablet_comma */ "\\,", - /* keyhintlabel_period */ "\u104A", - /* morekeys_question ~ */ - null, null, null, null, null, null, null, null, null, null, null, null, null, - /* ~ keyspec_south_slavic_row3_8 */ - /* morekeys_tablet_punctuation */ "!autoColumnOrder!8,.,',#,),(,/,;,@,...,:,-,\",+,\\%,&", - }; - /* Locale nb: Norwegian Bokmål */ private static final String[] TEXTS_nb = { // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE @@ -4189,7 +4154,6 @@ public final class KeyboardTextsTable { "ml_IN" , TEXTS_ml_IN, /* 2/ 12 Malayalam (India) */ "mn_MN" , TEXTS_mn_MN, /* 2/ 12 Mongolian (Mongolia) */ "mr_IN" , TEXTS_mr_IN, /* 23/ 53 Marathi (India) */ - "my_MM" , TEXTS_my_MM, /* 8/ 98 Burmese (Myanmar) */ "nb" , TEXTS_nb, /* 11/ 55 Norwegian Bokmål */ "ne_NP" , TEXTS_ne_NP, /* 27/ 60 Nepali (Nepal) */ "nl" , TEXTS_nl, /* 9/ 13 Dutch */ diff --git a/java/src/com/android/inputmethod/latin/WordComposer.java b/java/src/com/android/inputmethod/latin/WordComposer.java index e605bfe78..e80e3628f 100644 --- a/java/src/com/android/inputmethod/latin/WordComposer.java +++ b/java/src/com/android/inputmethod/latin/WordComposer.java @@ -103,8 +103,7 @@ public final class WordComposer { final String nonNullCombiningSpec = null == combiningSpec ? "" : combiningSpec; if (!nonNullCombiningSpec.equals(mCombiningSpec)) { mCombinerChain = new CombinerChain( - mCombinerChain.getComposingWordWithCombiningFeedback().toString(), - CombinerChain.createCombiners(nonNullCombiningSpec)); + mCombinerChain.getComposingWordWithCombiningFeedback().toString()); mCombiningSpec = nonNullCombiningSpec; } } |