diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml index 5434106c504e8755341f94c7ef186e4dbe03b263..9d828ef91782695a92f6bf633374f4b4ae4c8645 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 181f98b3dd8e9240f5d306ced651b9a44cfd9014..752c8520a39573b5dd94b5084bae48242abdda85 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 2ffde45dbb5397f90f725eb6d0acd79fff2d5a38..6285f87f92cacedab552bc79df4e3f45ceffe0a7 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 a76a6dfd7d9112c6f4c311160cac095c17dbc76f..73f715a4e05b8783b28da4ac325c01589c83e676 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: