aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java4
-rw-r--r--tests/src/com/android/inputmethod/keyboard/layout/Arabic.java8
-rw-r--r--tests/src/com/android/inputmethod/keyboard/layout/Hindi.java3
-rw-r--r--tests/src/com/android/inputmethod/keyboard/layout/Khmer.java322
-rw-r--r--tests/src/com/android/inputmethod/keyboard/layout/LayoutBase.java3
-rw-r--r--tests/src/com/android/inputmethod/keyboard/layout/NepaliRomanized.java2
-rw-r--r--tests/src/com/android/inputmethod/keyboard/layout/Symbols.java3
-rw-r--r--tests/src/com/android/inputmethod/keyboard/layout/Thai.java3
-rw-r--r--tests/src/com/android/inputmethod/keyboard/layout/tests/TestsArabic.java2
-rw-r--r--tests/src/com/android/inputmethod/keyboard/layout/tests/TestsKhmerKH.java37
-rw-r--r--tests/src/com/android/inputmethod/keyboard/layout/tests/TestsUkrainian.java3
-rw-r--r--tests/src/com/android/inputmethod/keyboard/layout/tests/TestsVietnamese.java3
-rw-r--r--tools/make-keyboard-text/res/values-ar/donottranslate-more-keys.xml4
13 files changed, 376 insertions, 21 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java
index 387ed3945..e056a2601 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java
@@ -525,10 +525,10 @@ public final class KeyboardTextsTable {
null, null, null, null, null, null, null, null, null, null,
/* ~ more_keys_for_n */
// Label for "switch to alphabetic" key.
- // U+0623: "ا" ARABIC LETTER ALEF
+ // U+0623: "أ" ARABIC LETTER ALEF WITH HAMZA ABOVE
// U+200C: ZERO WIDTH NON-JOINER
// U+0628: "ب" ARABIC LETTER BEH
- // U+062C: "پ" ARABIC LETTER PEH
+ // U+062C: "ج" ARABIC LETTER JEEM
/* label_to_alpha_key */ "\u0623\u200C\u0628\u200C\u062C",
/* more_keys_for_y ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Arabic.java b/tests/src/com/android/inputmethod/keyboard/layout/Arabic.java
index 65b050be7..6fbede8a7 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/Arabic.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/Arabic.java
@@ -95,10 +95,10 @@ public final class Arabic extends LayoutBase {
return ARABIC_DIACRITICS;
}
- // U+0623: "ا" ARABIC LETTER ALEF
+ // U+0623: "أ" ARABIC LETTER ALEF WITH HAMZA ABOVE
// U+200C: ZERO WIDTH NON-JOINER
// U+0628: "ب" ARABIC LETTER BEH
- // U+062C: "پ" ARABIC LETTER PEH
+ // U+062C: "ج" ARABIC LETTER JEEM
private static final ExpectedKey ARABIC_ALPHABET_KEY = key(
"\u0623\u200C\u0628\u200C\u062C", Constants.CODE_SWITCH_ALPHA_SYMBOL);
// U+0663: "٣" ARABIC-INDIC DIGIT THREE
@@ -107,10 +107,6 @@ public final class Arabic extends LayoutBase {
// U+061F: "؟" ARABIC QUESTION MARK
private static final ExpectedKey ARABIC_SYMBOLS_KEY = key(
"\u0663\u0662\u0661\u061F", Constants.CODE_SWITCH_ALPHA_SYMBOL);
- // U+0663: "٣" ARABIC-INDIC DIGIT THREE
- // U+0662: "٢" ARABIC-INDIC DIGIT TWO
- // U+0661: "١" ARABIC-INDIC DIGIT ONE
- // U+061F: "؟" ARABIC QUESTION MARK
private static final ExpectedKey ARABIC_BACK_TO_SYMBOLS_KEY = key(
"\u0663\u0662\u0661\u061F", Constants.CODE_SHIFT);
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Hindi.java b/tests/src/com/android/inputmethod/keyboard/layout/Hindi.java
index 0ba768b85..c1d161615 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/Hindi.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/Hindi.java
@@ -77,8 +77,7 @@ public final class Hindi extends LayoutBase {
// U+20B9: "₹" INDIAN RUPEE SIGN
private static final ExpectedKey CURRENCY_HINDI = key("\u20B9",
- Symbols.DOLLAR_SIGN, Symbols.CENT_SIGN, Symbols.EURO_SIGN, Symbols.POUND_SIGN,
- Symbols.YEN_SIGN, Symbols.PESO_SIGN);
+ Symbols.CURRENCY_GENERIC_MORE_KEYS);
}
@Override
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Khmer.java b/tests/src/com/android/inputmethod/keyboard/layout/Khmer.java
new file mode 100644
index 000000000..61ade8b70
--- /dev/null
+++ b/tests/src/com/android/inputmethod/keyboard/layout/Khmer.java
@@ -0,0 +1,322 @@
+/*
+ * 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.KeyboardId;
+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 Khmer alphabet keyboard.
+ */
+public final class Khmer extends LayoutBase {
+ private static final String LAYOUT_NAME = "khmer";
+
+ public Khmer(final LayoutCustomizer customizer) {
+ super(customizer, Symbols.class, SymbolsShifted.class);
+ }
+
+ @Override
+ public String getName() { return LAYOUT_NAME; }
+
+ public static class KhmerCustomizer extends LayoutCustomizer {
+ public KhmerCustomizer(final Locale locale) { super(locale); }
+
+ @Override
+ public ExpectedKey getAlphabetKey() { return KHMER_ALPHABET_KEY; }
+
+ @Override
+ public ExpectedKey getCurrencyKey() { return CURRENCY_DOLLAR_WITH_RIEL; }
+
+ @Override
+ public ExpectedKey[] getRightShiftKeys(final boolean isPhone) { return EMPTY_KEYS; }
+
+ // U+1780: "ក" KHMER LETTER KA
+ // U+1781: "ខ" KHMER LETTER KHA
+ // U+1782: "គ" KHMER LETTER KO
+ private static final ExpectedKey KHMER_ALPHABET_KEY = key(
+ "\u1780\u1781\u1782", Constants.CODE_SWITCH_ALPHA_SYMBOL);
+
+ // U+17DB: "៛" KHMER CURRENCY SYMBOL RIEL
+ private static final ExpectedKey CURRENCY_DOLLAR_WITH_RIEL = key(Symbols.DOLLAR_SIGN,
+ moreKey("\u17DB"), Symbols.CENT_SIGN, Symbols.POUND_SIGN, Symbols.EURO_SIGN,
+ Symbols.YEN_SIGN, Symbols.PESO_SIGN);
+ }
+
+ @Override
+ ExpectedKey[][] getCommonAlphabetLayout(final boolean isPhone) {
+ if (isPhone) {
+ return ALPHABET_COMMON;
+ }
+ final ExpectedKeyboardBuilder builder = new ExpectedKeyboardBuilder(ALPHABET_COMMON);
+ builder.addKeysOnTheRightOfRow(4, EXCLAMATION_AND_QUESTION_MARKS);
+ return builder.build();
+ }
+
+ @Override
+ public ExpectedKey[][] getCommonAlphabetShiftLayout(final boolean isPhone,
+ final int elementId) {
+ if (elementId == KeyboardId.ELEMENT_ALPHABET_AUTOMATIC_SHIFTED) {
+ return getCommonAlphabetLayout(isPhone);
+ }
+ return ALPHABET_SHIFTED_COMMON;
+ }
+
+ // Helper method to create alphabet layout by adding special function keys.
+ @Override
+ ExpectedKeyboardBuilder convertCommonLayoutToKeyboard(final ExpectedKeyboardBuilder builder,
+ final boolean isPhone) {
+ final LayoutCustomizer customizer = getCustomizer();
+ final ExpectedKey[] spacebar = joinKeys(
+ customizer.getKeysLeftToSpacebar(isPhone),
+ customizer.getSpaceKeys(isPhone),
+ customizer.getKeysRightToSpacebar(isPhone));
+ builder.setKeysOfRow(5, spacebar);
+ if (isPhone) {
+ builder.addKeysOnTheRightOfRow(4, DELETE_KEY)
+ .addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey())
+ .addKeysOnTheRightOfRow(5, key(ENTER_KEY, EMOJI_KEY));
+ } else {
+ builder.addKeysOnTheRightOfRow(1, DELETE_KEY)
+ .addKeysOnTheRightOfRow(3, ENTER_KEY)
+ .addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey(), SETTINGS_KEY)
+ .addKeysOnTheRightOfRow(5, EMOJI_KEY);
+ }
+ builder.addKeysOnTheLeftOfRow(4, customizer.getLeftShiftKeys(isPhone))
+ .addKeysOnTheRightOfRow(4, customizer.getRightShiftKeys(isPhone));
+ return builder;
+ }
+
+ private static final ExpectedKey[][] ALPHABET_COMMON = new ExpectedKeyboardBuilder()
+ .setKeysOfRow(1,
+ // U+17E1: "១" KHMER DIGIT ONE
+ // U+17F1: "៱" KHMER SYMBOL LEK ATTAK MUOY
+ key("\u17E1", joinMoreKeys("1", "\u17F1")),
+ // U+17E2: "២" KHMER DIGIT TWO
+ // U+17F2: "៲" KHMER SYMBOL LEK ATTAK PII
+ key("\u17E2", joinMoreKeys("2", "\u17F2")),
+ // U+17E3: "៣" KHMER DIGIT THREE
+ // U+17F3: "៳" KHMER SYMBOL LEK ATTAK BEI
+ key("\u17E3", joinMoreKeys("3", "\u17F3")),
+ // U+17E4: "៤" KHMER DIGIT FOUR
+ // U+17F4: "៴" KHMER SYMBOL LEK ATTAK BUON
+ key("\u17E4", joinMoreKeys("4", "\u17F4")),
+ // U+17E5: "៥" KHMER DIGIT FIVE
+ // U+17F5: "៵" KHMER SYMBOL LEK ATTAK PRAM
+ key("\u17E5", joinMoreKeys("5", "\u17F5")),
+ // U+17E6: "៦" KHMER DIGIT SIX
+ // U+17F6: "៶" KHMER SYMBOL LEK ATTAK PRAM-MUOY
+ key("\u17E6", joinMoreKeys("6", "\u17F6")),
+ // U+17E7: "៧" KHMER DIGIT SEVEN
+ // U+17F7: "៷" KHMER SYMBOL LEK ATTAK PRAM-PII
+ key("\u17E7", joinMoreKeys("7", "\u17F7")),
+ // U+17E8: "៨" KHMER DIGIT EIGHT
+ // U+17F8: "៸" KHMER SYMBOL LEK ATTAK PRAM-BEI
+ key("\u17E8", joinMoreKeys("8", "\u17F8")),
+ // U+17E9: "៩" KHMER DIGIT NINE
+ // U+17F9: "៹" KHMER SYMBOL LEK ATTAK PRAM-BUON
+ key("\u17E9", joinMoreKeys("9", "\u17F9")),
+ // U+17E0: "០" KHMER DIGIT ZERO
+ // U+17F0: "៰" KHMER SYMBOL LEK ATTAK SON
+ key("\u17E0", joinMoreKeys("0", "\u17F0")),
+ // U+17A5: "ឥ" KHMER INDEPENDENT VOWEL QI
+ // U+17A6: "ឦ" KHMER INDEPENDENT VOWEL QII
+ key("\u17A5", moreKey("\u17A6")),
+ // U+17B2: "ឲ" KHMER INDEPENDENT VOWEL QOO TYPE TWO
+ // U+17B1: "ឱ" KHMER INDEPENDENT VOWEL QOO TYPE ONE
+ key("\u17B2", moreKey("\u17B1")))
+ .setKeysOfRow(2,
+ // U+1786: "ឆ" KHMER LETTER CHA
+ key("\u1786"),
+ // U+17B9: "ឹ" KHMER VOWEL SIGN Y
+ key("\u17B9"),
+ // U+17C1: "េ" KHMER VOWEL SIGN E
+ key("\u17C1"),
+ // U+179A: "រ" KHMER LETTER RO
+ key("\u179A"),
+ // U+178F: "ត" KHMER LETTER TA
+ key("\u178F"),
+ // U+1799: "យ" KHMER LETTER YO
+ key("\u1799"),
+ // U+17BB: "ុ" KHMER VOWEL SIGN U
+ key("\u17BB"),
+ // U+17B7: "ិ" KHMER VOWEL SIGN I
+ key("\u17B7"),
+ // U+17C4: "ោ" KHMER VOWEL SIGN OO
+ key("\u17C4"),
+ // U+1795: "ផ" KHMER LETTER PHA
+ key("\u1795"),
+ // U+17C0: "ៀ" KHMER VOWEL SIGN IE
+ key("\u17C0"),
+ // U+17AA: "ឪ" KHMER INDEPENDENT VOWEL QUUV
+ // U+17A7: "ឧ" KHMER INDEPENDENT VOWEL QU
+ // U+17B1: "ឱ" KHMER INDEPENDENT VOWEL QOO TYPE ONE
+ // U+17B3: "ឳ" KHMER INDEPENDENT VOWEL QAU
+ // U+17A9: "ឩ" KHMER INDEPENDENT VOWEL QUU
+ // U+17A8: "ឨ" KHMER INDEPENDENT VOWEL QUK
+ key("\u17AA", joinMoreKeys("\u17A7", "\u17B1", "\u17B3", "\u17A9", "\u17A8")))
+ .setKeysOfRow(3,
+ // U+17B6: "ា" KHMER VOWEL SIGN AA
+ key("\u17B6"),
+ // U+179F: "ស" KHMER LETTER SA
+ key("\u179F"),
+ // U+178A: "ដ" KHMER LETTER DA
+ key("\u178A"),
+ // U+1790: "ថ" KHMER LETTER THA
+ key("\u1790"),
+ // U+1784: "ង" KHMER LETTER NGO
+ key("\u1784"),
+ // U+17A0: "ហ" KHMER LETTER HA
+ key("\u17A0"),
+ // U+17D2: "្" KHMER SIGN COENG
+ key("\u17D2"),
+ // U+1780: "ក" KHMER LETTER KA
+ key("\u1780"),
+ // U+179B: "ល" KHMER LETTER LO
+ key("\u179B"),
+ // U+17BE: "ើ" KHMER VOWEL SIGN OE
+ key("\u17BE"),
+ // U+17CB: "់" KHMER SIGN BANTOC
+ key("\u17CB"),
+ // U+17AE: "ឮ" KHMER INDEPENDENT VOWEL LYY
+ // U+17AD: "ឭ" KHMER INDEPENDENT VOWEL LY
+ // U+17B0: "ឰ" KHMER INDEPENDENT VOWEL QAI
+ key("\u17AE", joinMoreKeys("\u17AD", "\u17B0")))
+ .setLabelsOfRow(4,
+ // U+178B: "ឋ" KHMER LETTER TTHA
+ // U+1781: "ខ" KHMER LETTER KHA
+ // U+1785: "ច" KHMER LETTER CA
+ // U+179C: "វ" KHMER LETTER VO
+ // U+1794: "ប" KHMER LETTER BA
+ // U+1793: "ន" KHMER LETTER NO
+ // U+1798: "ម" KHMER LETTER MO
+ // U+17BB/U+17C6: "ុំ" KHMER VOWEL SIGN U/KHMER SIGN NIKAHIT
+ // U+17D4: "។" KHMER SIGN KHAN
+ // U+17CA: "៊" KHMER SIGN TRIISAP
+ "\u178B", "\u1781", "\u1785", "\u179C", "\u1794", "\u1793", "\u1798",
+ "\u17BB\u17C6", "\u17D4", "\u17CA")
+ .build();
+
+ private static final ExpectedKey[][] ALPHABET_SHIFTED_COMMON = new ExpectedKeyboardBuilder()
+ .setKeysOfRow(1,
+ key("!", ZWJ_KEY),
+ // U+17D7: "ៗ" KHMER SIGN LEK TOO
+ key("\u17D7", ZWNJ_KEY),
+ // U+17D1: "៑" KHMER SIGN VIRIAM
+ key("\"", moreKey("\u17D1")),
+ // U+17DB: "៛" KHMER CURRENCY SYMBOL RIEL
+ key("\u17DB", joinMoreKeys(Symbols.DOLLAR_SIGN, Symbols.EURO_SIGN)),
+ // U+17D6: "៖" KHMER SIGN CAMNUC PII KUUH
+ key("%", moreKey("\u17D6")),
+ // U+17CD: "៍" KHMER SIGN TOANDAKHIAT
+ // U+17D9: "៙" KHMER SIGN PHNAEK MUAN
+ key("\u17CD", moreKey("\u17D9")),
+ // U+17D0: "័" KHMER SIGN SAMYOK SANNYA
+ // U+17DA: "៚" KHMER SIGN KOOMUUT
+ key("\u17D0", moreKey("\u17DA")),
+ // U+17CF: "៏" KHMER SIGN AHSDA
+ key("\u17CF", moreKey("*")),
+ // U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ key("(", joinMoreKeys("{", "\u00AB")),
+ // U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ key(")", joinMoreKeys("}", "\u00BB")),
+ // U+17CC: "៌" KHMER SIGN ROBAT
+ // U+00D7: "×" MULTIPLICATION SIGN
+ key("\u17CC", moreKey("\u00D7")),
+ // U+17CE: "៎" KHMER SIGN KAKABAT
+ key("\u17CE"))
+ .setKeysOfRow(2,
+ // U+1788: "ឈ" KHMER LETTER CHO
+ // U+17DC: "ៜ" KHMER SIGN AVAKRAHASANYA
+ key("\u1788", moreKey("\u17DC")),
+ // U+17BA: "ឺ" KHMER VOWEL SIGN YY
+ // U+17DD: "៝" KHMER SIGN ATTHACAN
+ key("\u17BA", moreKey("\u17DD")),
+ // U+17C2: "ែ" KHMER VOWEL SIGN AE
+ key("\u17C2"),
+ // U+17AC: "ឬ" KHMER INDEPENDENT VOWEL RYY
+ // U+17AB: "ឫ" KHMER INDEPENDENT VOWEL RY
+ key("\u17AC", moreKey("\u17AB")),
+ // U+1791: "ទ" KHMER LETTER TO
+ key("\u1791"),
+ // U+17BD: "ួ" KHMER VOWEL SIGN UA
+ key("\u17BD"),
+ // U+17BC: "ូ" KHMER VOWEL SIGN UU
+ key("\u17BC"),
+ // U+17B8: "ី" KHMER VOWEL SIGN II
+ key("\u17B8"),
+ // U+17C5: "ៅ" KHMER VOWEL SIGN AU
+ key("\u17C5"),
+ // U+1797: "ភ" KHMER LETTER PHO
+ key("\u1797"),
+ // U+17BF: "ឿ" KHMER VOWEL SIGN YA
+ key("\u17BF"),
+ // U+17B0: "ឰ" KHMER INDEPENDENT VOWEL QAI
+ key("\u17B0"))
+ .setKeysOfRow(3,
+ // U+17B6/U+17C6: "ាំ" KHMER VOWEL SIGN AA/KHMER SIGN NIKAHIT
+ key("\u17B6\u17C6"),
+ // U+17C3: "ៃ" KHMER VOWEL SIGN AI
+ key("\u17C3"),
+ // U+178C: "ឌ" KHMER LETTER DO
+ key("\u178C"),
+ // U+1792: "ធ" KHMER LETTER THO
+ key("\u1792"),
+ // U+17A2: "អ" KHMER LETTER QAE
+ key("\u17A2"),
+ // U+17C7: "ះ" KHMER SIGN REAHMUK
+ // U+17C8: "ៈ" KHMER SIGN YUUKALEAPINTU
+ key("\u17C7", moreKey("\u17C8")),
+ // U+1789: "ញ" KHMER LETTER NYO
+ key("\u1789"),
+ // U+1782: "គ" KHMER LETTER KO
+ // U+179D: "ឝ" KHMER LETTER SHA
+ key("\u1782", moreKey("\u179D")),
+ // U+17A1: "ឡ" KHMER LETTER LA
+ key("\u17A1"),
+ // U+17C4/U+17C7: "ោះ" KHMER VOWEL SIGN OO/KHMER SIGN REAHMUK
+ key("\u17C4\u17C7"),
+ // U+17C9: "៉" KHMER SIGN MUUSIKATOAN
+ key("\u17C9"),
+ // U+17AF: "ឯ" KHMER INDEPENDENT VOWEL QE
+ key("\u17AF"))
+ .setKeysOfRow(4,
+ // U+178D: "ឍ" KHMER LETTER TTHO
+ key("\u178D"),
+ // U+1783: "ឃ" KHMER LETTER KHO
+ key("\u1783"),
+ // U+1787: "ជ" KHMER LETTER CO
+ key("\u1787"),
+ // U+17C1/U+17C7: "េះ" KHMER VOWEL SIGN E/KHMER SIGN REAHMUK
+ key("\u17C1\u17C7"),
+ // U+1796: "ព" KHMER LETTER PO
+ // U+179E: "ឞ" KHMER LETTER SSO
+ key("\u1796", moreKey("\u179E")),
+ // U+178E: "ណ" KHMER LETTER NNO
+ key("\u178E"),
+ // U+17C6: "ំ" KHMER SIGN NIKAHIT
+ key("\u17C6"),
+ // U+17BB/U+17C7: "ុះ" KHMER VOWEL SIGN U/KHMER SIGN REAHMUK
+ key("\u17BB\u17C7"),
+ // U+17D5: "៕" KHMER SIGN BARIYOOSAN
+ key("\u17D5"),
+ key("?"))
+ .build();
+}
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/LayoutBase.java b/tests/src/com/android/inputmethod/keyboard/layout/LayoutBase.java
index 2c1ac2e4f..982777bd6 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/LayoutBase.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/LayoutBase.java
@@ -265,7 +265,8 @@ public abstract class LayoutBase extends AbstractLayoutBase {
key("!", moreKey("\u00A1")), key("?", moreKey("\u00BF")));
// U+200C: ZERO WIDTH NON-JOINER
// U+200D: ZERO WIDTH JOINER
- static final ExpectedKey ZWNJ_ZWJ_KEY = key(ICON_ZWNJ, "\u200C", moreKey(ICON_ZWJ, "\u200D"));
+ static final ExpectedKey ZWNJ_KEY = key(ICON_ZWNJ, "\u200C");
+ static final ExpectedKey ZWJ_KEY = key(ICON_ZWJ, "\u200D");
// Punctuation more keys for phone form factor.
public static final ExpectedKey[] PHONE_PUNCTUATION_MORE_KEYS = joinKeys(
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/NepaliRomanized.java b/tests/src/com/android/inputmethod/keyboard/layout/NepaliRomanized.java
index 29258945e..c0bc29f2a 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/NepaliRomanized.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/NepaliRomanized.java
@@ -45,7 +45,7 @@ public final class NepaliRomanized extends LayoutBase {
@Override
public ExpectedKey[] getSpaceKeys(final boolean isPhone) {
- return joinKeys(SPACE_KEY, ZWNJ_ZWJ_KEY);
+ return joinKeys(SPACE_KEY, key(ZWNJ_KEY, ZWJ_KEY));
}
// U+0930/U+0941/U+002E "रु." NEPALESE RUPEE SIGN
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Symbols.java b/tests/src/com/android/inputmethod/keyboard/layout/Symbols.java
index 127d81aad..9ce418770 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/Symbols.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/Symbols.java
@@ -74,6 +74,9 @@ public class Symbols extends AbstractLayoutBase {
CENT_SIGN, POUND_SIGN, EURO_SIGN, YEN_SIGN, PESO_SIGN);
public static final ExpectedKey CURRENCY_EURO = key("\u20AC",
CENT_SIGN, POUND_SIGN, DOLLAR_SIGN, YEN_SIGN, PESO_SIGN);
+ public static final ExpectedKey[] CURRENCY_GENERIC_MORE_KEYS = joinMoreKeys(
+ Symbols.DOLLAR_SIGN, Symbols.CENT_SIGN, Symbols.EURO_SIGN, Symbols.POUND_SIGN,
+ Symbols.YEN_SIGN, Symbols.PESO_SIGN);
// Variations of the "double quote" key's "more keys" on the 3rd row.
public static final String DOUBLE_QUOTE = "DOUBLE_QUOTE";
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Thai.java b/tests/src/com/android/inputmethod/keyboard/layout/Thai.java
index 747e0aa31..64081a138 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/Thai.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/Thai.java
@@ -61,8 +61,7 @@ public final class Thai extends LayoutBase {
// U+0E3F: "฿" THAI CURRENCY SYMBOL BAHT
private static final ExpectedKey CURRENCY_BAHT = key("\u0E3F",
- Symbols.DOLLAR_SIGN, Symbols.CENT_SIGN, Symbols.EURO_SIGN, Symbols.POUND_SIGN,
- Symbols.YEN_SIGN, Symbols.PESO_SIGN);
+ Symbols.CURRENCY_GENERIC_MORE_KEYS);
}
@Override
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsArabic.java b/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsArabic.java
index 7c97df5af..fd7670827 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsArabic.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsArabic.java
@@ -25,7 +25,7 @@ import com.android.inputmethod.keyboard.layout.LayoutBase;
import java.util.Locale;
/**
- * ar: TestsArabic/arabic
+ * ar: Arabic/arabic
*/
@SmallTest
public class TestsArabic extends LayoutTestsBase {
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsKhmerKH.java b/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsKhmerKH.java
new file mode 100644
index 000000000..df2f40d86
--- /dev/null
+++ b/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsKhmerKH.java
@@ -0,0 +1,37 @@
+/*
+ * 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.Khmer;
+import com.android.inputmethod.keyboard.layout.Khmer.KhmerCustomizer;
+import com.android.inputmethod.keyboard.layout.LayoutBase;
+
+import java.util.Locale;
+
+/**
+ * km_KH: Khmer (Cambodia)/khmer
+ */
+@SmallTest
+public final class TestsKhmerKH extends LayoutTestsBase {
+ private static final Locale LOCALE = new Locale("km", "KH");
+ private static final LayoutBase LAYOUT = new Khmer(new KhmerCustomizer(LOCALE));
+
+ @Override
+ LayoutBase getLayout() { return LAYOUT; }
+}
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsUkrainian.java b/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsUkrainian.java
index 20749d675..27893fe9b 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsUkrainian.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsUkrainian.java
@@ -58,8 +58,7 @@ public final class TestsUkrainian extends LayoutTestsBase {
// U+20B4: "₴" HRYVNIA SIGN
private static final ExpectedKey CURRENCY_HRYVNIA = key("\u20B4",
- Symbols.DOLLAR_SIGN, Symbols.CENT_SIGN, Symbols.EURO_SIGN, Symbols.POUND_SIGN,
- Symbols.YEN_SIGN, Symbols.PESO_SIGN);
+ Symbols.CURRENCY_GENERIC_MORE_KEYS);
@Override
public ExpectedKeyboardBuilder setAccentedLetters(final ExpectedKeyboardBuilder builder) {
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsVietnamese.java b/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsVietnamese.java
index 94b0c1f3b..96ae38a9c 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsVietnamese.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsVietnamese.java
@@ -54,8 +54,7 @@ public final class TestsVietnamese extends LayoutTestsBase {
// U+20AB: "₫" DONG SIGN
private static final ExpectedKey CURRENCY_DONG = key("\u20AB",
- Symbols.DOLLAR_SIGN, Symbols.CENT_SIGN, Symbols.EURO_SIGN, Symbols.POUND_SIGN,
- Symbols.YEN_SIGN, Symbols.PESO_SIGN);
+ Symbols.CURRENCY_GENERIC_MORE_KEYS);
@Override
public ExpectedKeyboardBuilder setAccentedLetters(final ExpectedKeyboardBuilder builder) {
diff --git a/tools/make-keyboard-text/res/values-ar/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-ar/donottranslate-more-keys.xml
index d9976858a..4bbe343ce 100644
--- a/tools/make-keyboard-text/res/values-ar/donottranslate-more-keys.xml
+++ b/tools/make-keyboard-text/res/values-ar/donottranslate-more-keys.xml
@@ -19,10 +19,10 @@
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Label for "switch to alphabetic" key.
- U+0623: "ا" ARABIC LETTER ALEF
+ U+0623: "أ" ARABIC LETTER ALEF WITH HAMZA ABOVE
U+200C: ZERO WIDTH NON-JOINER
U+0628: "ب" ARABIC LETTER BEH
- U+062C: "پ" ARABIC LETTER PEH -->
+ U+062C: "ج" ARABIC LETTER JEEM -->
<string name="label_to_alpha_key">&#x0623;&#x200C;&#x0628;&#x200C;&#x062C;</string>
<!-- U+0661: "١" ARABIC-INDIC DIGIT ONE -->
<string name="keylabel_for_symbols_1">&#x0661;</string>