diff options
author | 2014-07-30 12:31:29 +0900 | |
---|---|---|
committer | 2014-07-30 15:58:43 +0900 | |
commit | 7c5cd5ec89c0d90c3dbac032c61ee04468ecdc87 (patch) | |
tree | 8ab62b317aa6f1d9fdc89448b734b9de12d2676f | |
parent | 0304c77750e1ff6504a70ef3d5e16f3d334bd510 (diff) | |
download | latinime-7c5cd5ec89c0d90c3dbac032c61ee04468ecdc87.tar.gz latinime-7c5cd5ec89c0d90c3dbac032c61ee04468ecdc87.tar.xz latinime-7c5cd5ec89c0d90c3dbac032c61ee04468ecdc87.zip |
[SD11] Add script checks for Myanmar, Sinhala, Thai and Telugu
Bug: 15840116
Change-Id: I1264fdeea0d4739ca0f360f4934d06e5a824d4e5
-rw-r--r-- | java/res/values/attrs.xml | 4 | ||||
-rw-r--r-- | java/res/xml/keyboard_layout_set_myanmar.xml | 2 | ||||
-rw-r--r-- | java/res/xml/keyboard_layout_set_sinhala.xml | 2 | ||||
-rw-r--r-- | java/res/xml/keyboard_layout_set_telugu.xml | 2 | ||||
-rw-r--r-- | java/res/xml/keyboard_layout_set_thai.xml | 2 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/utils/ScriptUtils.java | 21 |
6 files changed, 33 insertions, 0 deletions
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml index 9d828ef91..80a657346 100644 --- a/java/res/values/attrs.xml +++ b/java/res/values/attrs.xml @@ -490,6 +490,10 @@ <enum name="georgian" value="6" /> <enum name="khmer" value="7" /> <enum name="lao" value="8" /> + <enum name="myanmar" value="9" /> + <enum name="sinhala" value="10" /> + <enum name="thai" value="11" /> + <enum name="telugu" value="12" /> </attr> </declare-styleable> diff --git a/java/res/xml/keyboard_layout_set_myanmar.xml b/java/res/xml/keyboard_layout_set_myanmar.xml index 5c823b263..5af8c064e 100644 --- a/java/res/xml/keyboard_layout_set_myanmar.xml +++ b/java/res/xml/keyboard_layout_set_myanmar.xml @@ -20,6 +20,8 @@ <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" diff --git a/java/res/xml/keyboard_layout_set_sinhala.xml b/java/res/xml/keyboard_layout_set_sinhala.xml index 8e6e619d2..1955d218f 100644 --- a/java/res/xml/keyboard_layout_set_sinhala.xml +++ b/java/res/xml/keyboard_layout_set_sinhala.xml @@ -20,6 +20,8 @@ <KeyboardLayoutSet xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"> + <Feature + latin:supportedScript="sinhala" /> <Element latin:elementName="alphabet" latin:elementKeyboard="@xml/kbd_sinhala" diff --git a/java/res/xml/keyboard_layout_set_telugu.xml b/java/res/xml/keyboard_layout_set_telugu.xml index aca47b9d9..2bf65bcbd 100644 --- a/java/res/xml/keyboard_layout_set_telugu.xml +++ b/java/res/xml/keyboard_layout_set_telugu.xml @@ -20,6 +20,8 @@ <KeyboardLayoutSet xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"> + <Feature + latin:supportedScript="telugu" /> <Element latin:elementName="alphabet" latin:elementKeyboard="@xml/kbd_telugu" diff --git a/java/res/xml/keyboard_layout_set_thai.xml b/java/res/xml/keyboard_layout_set_thai.xml index b8f99971b..f69dfa6bd 100644 --- a/java/res/xml/keyboard_layout_set_thai.xml +++ b/java/res/xml/keyboard_layout_set_thai.xml @@ -20,6 +20,8 @@ <KeyboardLayoutSet xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"> + <Feature + latin:supportedScript="thai" /> <Element latin:elementName="alphabet" latin:elementKeyboard="@xml/kbd_thai" diff --git a/java/src/com/android/inputmethod/latin/utils/ScriptUtils.java b/java/src/com/android/inputmethod/latin/utils/ScriptUtils.java index 73f715a4e..f3df63f45 100644 --- a/java/src/com/android/inputmethod/latin/utils/ScriptUtils.java +++ b/java/src/com/android/inputmethod/latin/utils/ScriptUtils.java @@ -35,6 +35,10 @@ public class ScriptUtils { public static final int SCRIPT_GEORGIAN = 6; public static final int SCRIPT_KHMER = 7; public static final int SCRIPT_LAO = 8; + public static final int SCRIPT_MYANMAR = 9; + public static final int SCRIPT_SINHALA = 10; + public static final int SCRIPT_THAI = 11; + public static final int SCRIPT_TELUGU = 12; public static final TreeMap<String, Integer> mSpellCheckerLanguageToScript; static { // List of the supported languages and their associated script. We won't check @@ -132,6 +136,23 @@ public class ScriptUtils { case SCRIPT_LAO: // The Lao block is U+0E80..U+0EFF return (codePoint >= 0xE80 && codePoint <= 0xEFF); + case SCRIPT_MYANMAR: + // Myanmar has three unicode blocks : + // Myanmar U+1000..U+109F + // Myanmar extended-A U+AA60..U+AA7F + // Myanmar extended-B U+A9E0..U+A9FF + return (codePoint >= 0x1000 && codePoint <= 0x109F + || codePoint >= 0xAA60 && codePoint <= 0xAA7F + || codePoint >= 0xA9E0 && codePoint <= 0xA9FF); + case SCRIPT_SINHALA: + // Sinhala unicode block is U+0D80..U+0DFF + return (codePoint >= 0xD80 && codePoint <= 0xDFF); + case SCRIPT_THAI: + // Thai unicode block is U+0E00..U+0E7F + return (codePoint >= 0xE00 && codePoint <= 0xE7F); + case SCRIPT_TELUGU: + // Telugu unicode block is U+0C00..U+0C7F + return (codePoint >= 0xC00 && codePoint <= 0xC7F); case SCRIPT_UNKNOWN: return true; default: |