aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2014-07-30 12:01:53 +0900
committerJean Chalard <jchalard@google.com>2014-07-30 12:02:37 +0900
commita9c12692ed11a4712ceb743f446e51a735eeabb6 (patch)
treebe9ef6d9a3f8de6f08240263ecac20c347491a57
parentc4f6fc1e4868feb7bcbf2b0dc724eb9ed995780e (diff)
downloadlatinime-a9c12692ed11a4712ceb743f446e51a735eeabb6.tar.gz
latinime-a9c12692ed11a4712ceb743f446e51a735eeabb6.tar.xz
latinime-a9c12692ed11a4712ceb743f446e51a735eeabb6.zip
[SD10] Add script checks for Lao and Khmer
Bug: 15840116 Change-Id: Id72b739e73cb3e72f56e1872ad9d60469555e193
-rw-r--r--java/res/values/attrs.xml2
-rw-r--r--java/res/xml/keyboard_layout_set_khmer.xml2
-rw-r--r--java/res/xml/keyboard_layout_set_lao.xml2
-rw-r--r--java/src/com/android/inputmethod/latin/utils/ScriptUtils.java10
4 files changed, 16 insertions, 0 deletions
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 5434106c5..9d828ef91 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -488,6 +488,8 @@
<enum name="hebrew" value="4" />
<enum name="armenian" value="5" />
<enum name="georgian" value="6" />
+ <enum name="khmer" value="7" />
+ <enum name="lao" value="8" />
</attr>
</declare-styleable>
diff --git a/java/res/xml/keyboard_layout_set_khmer.xml b/java/res/xml/keyboard_layout_set_khmer.xml
index 181f98b3d..752c8520a 100644
--- a/java/res/xml/keyboard_layout_set_khmer.xml
+++ b/java/res/xml/keyboard_layout_set_khmer.xml
@@ -20,6 +20,8 @@
<KeyboardLayoutSet
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
+ <Feature
+ latin:supportedScript="khmer" />
<Element
latin:elementName="alphabet"
latin:elementKeyboard="@xml/kbd_khmer"
diff --git a/java/res/xml/keyboard_layout_set_lao.xml b/java/res/xml/keyboard_layout_set_lao.xml
index 2ffde45db..6285f87f9 100644
--- a/java/res/xml/keyboard_layout_set_lao.xml
+++ b/java/res/xml/keyboard_layout_set_lao.xml
@@ -20,6 +20,8 @@
<KeyboardLayoutSet
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
+ <Feature
+ latin:supportedScript="lao" />
<Element
latin:elementName="alphabet"
latin:elementKeyboard="@xml/kbd_lao"
diff --git a/java/src/com/android/inputmethod/latin/utils/ScriptUtils.java b/java/src/com/android/inputmethod/latin/utils/ScriptUtils.java
index a76a6dfd7..73f715a4e 100644
--- a/java/src/com/android/inputmethod/latin/utils/ScriptUtils.java
+++ b/java/src/com/android/inputmethod/latin/utils/ScriptUtils.java
@@ -33,6 +33,8 @@ public class ScriptUtils {
public static final int SCRIPT_HEBREW = 4;
public static final int SCRIPT_ARMENIAN = 5;
public static final int SCRIPT_GEORGIAN = 6;
+ public static final int SCRIPT_KHMER = 7;
+ public static final int SCRIPT_LAO = 8;
public static final TreeMap<String, Integer> mSpellCheckerLanguageToScript;
static {
// List of the supported languages and their associated script. We won't check
@@ -122,6 +124,14 @@ public class ScriptUtils {
// or Georgian supplement block, U+2D00..U+2D2F
return (codePoint >= 0x10A0 && codePoint <= 0x10FF
|| codePoint >= 0x2D00 && codePoint <= 0x2D2F);
+ case SCRIPT_KHMER:
+ // Khmer letters are in unicode block U+1780..U+17FF, and the Khmer symbols block
+ // is U+19E0..U+19FF
+ return (codePoint >= 0x1780 && codePoint <= 0x17FF
+ || codePoint >= 0x19E0 && codePoint <= 0x19FF);
+ case SCRIPT_LAO:
+ // The Lao block is U+0E80..U+0EFF
+ return (codePoint >= 0xE80 && codePoint <= 0xEFF);
case SCRIPT_UNKNOWN:
return true;
default: