From 00da6ee5e8674cdea284f7db8ba28d0fbacfe611 Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Tue, 25 Mar 2014 18:23:26 +0900 Subject: [PATCH] Add Sinhala keyboard layout Bug: 6911143 Change-Id: I9ff87ece3e68381c0e9855106e7320c227f09965 --- java/res/xml-sw600dp/rows_sinhala.xml | 57 ++++ java/res/xml/kbd_sinhala.xml | 26 ++ java/res/xml/keyboard_layout_set_sinhala.xml | 58 ++++ java/res/xml/method.xml | 9 + java/res/xml/rowkeys_sinhala1.xml | 124 +++++++++ java/res/xml/rowkeys_sinhala2.xml | 98 +++++++ java/res/xml/rowkeys_sinhala3.xml | 94 +++++++ java/res/xml/rows_sinhala.xml | 52 ++++ .../keyboard/internal/KeyboardTextsTable.java | 249 ++++++++++-------- .../inputmethod/keyboard/layout/Sinhala.java | 185 +++++++++++++ .../keyboard/layout/tests/TestsSinhalaLK.java | 37 +++ .../donottranslate-more-keys.xml | 25 ++ 12 files changed, 898 insertions(+), 116 deletions(-) create mode 100644 java/res/xml-sw600dp/rows_sinhala.xml create mode 100644 java/res/xml/kbd_sinhala.xml create mode 100644 java/res/xml/keyboard_layout_set_sinhala.xml create mode 100644 java/res/xml/rowkeys_sinhala1.xml create mode 100644 java/res/xml/rowkeys_sinhala2.xml create mode 100644 java/res/xml/rowkeys_sinhala3.xml create mode 100644 java/res/xml/rows_sinhala.xml create mode 100644 tests/src/com/android/inputmethod/keyboard/layout/Sinhala.java create mode 100644 tests/src/com/android/inputmethod/keyboard/layout/tests/TestsSinhalaLK.java create mode 100644 tools/make-keyboard-text/res/values-si-rLK/donottranslate-more-keys.xml diff --git a/java/res/xml-sw600dp/rows_sinhala.xml b/java/res/xml-sw600dp/rows_sinhala.xml new file mode 100644 index 000000000..23c3f3aab --- /dev/null +++ b/java/res/xml-sw600dp/rows_sinhala.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/java/res/xml/kbd_sinhala.xml b/java/res/xml/kbd_sinhala.xml new file mode 100644 index 000000000..6c0f4bc05 --- /dev/null +++ b/java/res/xml/kbd_sinhala.xml @@ -0,0 +1,26 @@ + + + + + + diff --git a/java/res/xml/keyboard_layout_set_sinhala.xml b/java/res/xml/keyboard_layout_set_sinhala.xml new file mode 100644 index 000000000..8e6e619d2 --- /dev/null +++ b/java/res/xml/keyboard_layout_set_sinhala.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + diff --git a/java/res/xml/method.xml b/java/res/xml/method.xml index 777a13d42..abd8d1906 100644 --- a/java/res/xml/method.xml +++ b/java/res/xml/method.xml @@ -81,6 +81,7 @@ pt_PT: Portuguese (Portugal)/qwerty ro: Romanian/qwerty ru: Russian/east_slavic + si_LK: Sinhala (Sri Lanka)/sinhala # This is a preliminary keyboard layout. sk: Slovak/qwerty sl: Slovenian/qwerty sr: Serbian/south_slavic @@ -592,6 +593,14 @@ android:imeSubtypeExtraValue="SupportTouchPositionCorrection,EmojiCapable" android:isAsciiCapable="false" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/res/xml/rowkeys_sinhala2.xml b/java/res/xml/rowkeys_sinhala2.xml new file mode 100644 index 000000000..91c1928ba --- /dev/null +++ b/java/res/xml/rowkeys_sinhala2.xml @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/res/xml/rowkeys_sinhala3.xml b/java/res/xml/rowkeys_sinhala3.xml new file mode 100644 index 000000000..64ba9f339 --- /dev/null +++ b/java/res/xml/rowkeys_sinhala3.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/res/xml/rows_sinhala.xml b/java/res/xml/rows_sinhala.xml new file mode 100644 index 000000000..b47b373b6 --- /dev/null +++ b/java/res/xml/rows_sinhala.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java index ab2555802..13b174e94 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java @@ -89,9 +89,9 @@ public final class KeyboardTextsTable { /* 3:29 */ "morekeys_e", /* 4:28 */ "morekeys_i", /* 5:23 */ "morekeys_c", - /* 6:23 */ "double_quotes", - /* 7:22 */ "morekeys_n", - /* 8:22 */ "keylabel_to_alpha", + /* 6:23 */ "keylabel_to_alpha", + /* 7:23 */ "double_quotes", + /* 8:22 */ "morekeys_n", /* 9:22 */ "single_quotes", /* 10:20 */ "morekeys_s", /* 11:14 */ "morekeys_y", @@ -260,10 +260,10 @@ public final class KeyboardTextsTable { /* morekeys_a ~ */ EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, /* ~ morekeys_c */ - /* double_quotes */ "!text/double_lqm_rqm", - /* morekeys_n */ EMPTY, // Label for "switch to alphabetic" key. /* keylabel_to_alpha */ "ABC", + /* double_quotes */ "!text/double_lqm_rqm", + /* morekeys_n */ EMPTY, /* single_quotes */ "!text/single_lqm_rqm", /* morekeys_s ~ */ EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, @@ -507,14 +507,14 @@ public final class KeyboardTextsTable { // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON // U+0133: "ij" LATIN SMALL LIGATURE IJ /* morekeys_i */ "\u00ED,\u00EC,\u00EF,\u00EE,\u012F,\u012B,\u0133", - /* morekeys_c */ null, - /* double_quotes */ null, + /* morekeys_c ~ */ + null, null, null, + /* ~ double_quotes */ // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE /* morekeys_n */ "\u00F1,\u0144", - /* keylabel_to_alpha ~ */ - null, null, null, - /* ~ morekeys_s */ + /* single_quotes */ null, + /* morekeys_s */ null, // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE // U+0133: "ij" LATIN SMALL LIGATURE IJ /* morekeys_y */ "\u00FD,\u0133", @@ -523,17 +523,17 @@ public final class KeyboardTextsTable { /* Locale ar: Arabic */ private static final String[] TEXTS_ar = { /* morekeys_a ~ */ - null, null, null, null, null, null, null, null, - /* ~ morekeys_n */ + null, null, null, null, null, null, + /* ~ morekeys_c */ // Label for "switch to alphabetic" key. // U+0623: "أ" ARABIC LETTER ALEF WITH HAMZA ABOVE // U+200C: ZERO WIDTH NON-JOINER // U+0628: "ب" ARABIC LETTER BEH // U+062C: "ج" ARABIC LETTER JEEM /* keylabel_to_alpha */ "\u0623\u200C\u0628\u200C\u062C", - /* single_quotes ~ */ + /* double_quotes ~ */ 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_cyrillic_soft_sign */ // U+0661: "١" ARABIC-INDIC DIGIT ONE /* keyspec_symbols_1 */ "\u0661", @@ -685,7 +685,7 @@ public final class KeyboardTextsTable { // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE // U+010D: "č" LATIN SMALL LETTER C WITH CARON /* morekeys_c */ "\u00E7,\u0107,\u010D", - /* double_quotes ~ */ + /* keylabel_to_alpha ~ */ null, null, null, null, /* ~ single_quotes */ // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA @@ -705,13 +705,13 @@ public final class KeyboardTextsTable { /* morekeys_a ~ */ null, null, null, null, null, null, /* ~ morekeys_c */ - /* double_quotes */ "!text/double_9qm_lqm", - /* morekeys_n */ null, // Label for "switch to alphabetic" key. // U+0410: "А" CYRILLIC CAPITAL LETTER A // U+0411: "Б" CYRILLIC CAPITAL LETTER BE // U+0412: "В" CYRILLIC CAPITAL LETTER VE /* keylabel_to_alpha */ "\u0410\u0411\u0412", + /* double_quotes */ "!text/double_9qm_lqm", + /* morekeys_n */ null, /* single_quotes */ "!text/single_9qm_lqm", /* morekeys_s ~ */ null, null, null, null, null, null, null, null, null, null, null, null, @@ -738,14 +738,13 @@ public final class KeyboardTextsTable { /* morekeys_a ~ */ null, null, null, null, null, null, /* ~ morekeys_c */ - // single_quotes of Bulgarian is default single_quotes_right_left. - /* double_quotes */ "!text/double_9qm_lqm", - /* morekeys_n */ null, // Label for "switch to alphabetic" key. // U+0410: "А" CYRILLIC CAPITAL LETTER A // U+0411: "Б" CYRILLIC CAPITAL LETTER BE // U+0412: "В" CYRILLIC CAPITAL LETTER VE /* keylabel_to_alpha */ "\u0410\u0411\u0412", + // single_quotes of Bulgarian is default single_quotes_right_left. + /* double_quotes */ "!text/double_9qm_lqm", }; /* Locale ca: Catalan */ @@ -796,12 +795,13 @@ public final class KeyboardTextsTable { // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE // U+010D: "č" LATIN SMALL LETTER C WITH CARON /* morekeys_c */ "\u00E7,\u0107,\u010D", + /* keylabel_to_alpha */ null, /* double_quotes */ null, // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE /* morekeys_n */ "\u00F1,\u0144", - /* keylabel_to_alpha ~ */ - null, null, null, null, null, null, null, + /* single_quotes ~ */ + null, null, null, null, null, null, /* ~ morekeys_t */ // U+00B7: "·" MIDDLE DOT // U+0142: "ł" LATIN SMALL LETTER L WITH STROKE @@ -870,12 +870,12 @@ public final class KeyboardTextsTable { // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE /* morekeys_c */ "\u010D,\u00E7,\u0107", + /* keylabel_to_alpha */ null, /* double_quotes */ "!text/double_9qm_lqm", // U+0148: "ň" LATIN SMALL LETTER N WITH CARON // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE /* morekeys_n */ "\u0148,\u00F1,\u0144", - /* keylabel_to_alpha */ null, /* single_quotes */ "!text/single_9qm_lqm", // U+0161: "š" LATIN SMALL LETTER S WITH CARON // U+00DF: "ß" LATIN SMALL LETTER SHARP S @@ -930,11 +930,11 @@ public final class KeyboardTextsTable { // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS /* morekeys_i */ "\u00ED,\u00EF", /* morekeys_c */ null, + /* keylabel_to_alpha */ null, /* double_quotes */ "!text/double_9qm_lqm", // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE /* morekeys_n */ "\u00F1,\u0144", - /* keylabel_to_alpha */ null, /* single_quotes */ "!text/single_9qm_lqm", // U+00DF: "ß" LATIN SMALL LETTER SHARP S // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE @@ -1004,13 +1004,13 @@ public final class KeyboardTextsTable { // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE /* morekeys_e */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0117", - /* morekeys_i */ null, - /* morekeys_c */ null, + /* morekeys_i ~ */ + null, null, null, + /* ~ keylabel_to_alpha */ /* double_quotes */ "!text/double_9qm_lqm", // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE /* morekeys_n */ "\u00F1,\u0144", - /* keylabel_to_alpha */ null, /* single_quotes */ "!text/single_9qm_lqm", // U+00DF: "ß" LATIN SMALL LETTER SHARP S // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE @@ -1043,8 +1043,8 @@ public final class KeyboardTextsTable { /* Locale el: Greek */ private static final String[] TEXTS_el = { /* morekeys_a ~ */ - null, null, null, null, null, null, null, null, - /* ~ morekeys_n */ + null, null, null, null, null, null, + /* ~ morekeys_c */ // Label for "switch to alphabetic" key. // U+0391: "Α" GREEK CAPITAL LETTER ALPHA // U+0392: "Β" GREEK CAPITAL LETTER BETA @@ -1092,10 +1092,10 @@ public final class KeyboardTextsTable { /* morekeys_i */ "\u00ED,\u00EE,\u00EF,\u012B,\u00EC", // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA /* morekeys_c */ "\u00E7", + /* keylabel_to_alpha */ null, /* double_quotes */ null, // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE /* morekeys_n */ "\u00F1", - /* keylabel_to_alpha */ null, /* single_quotes */ null, // U+00DF: "ß" LATIN SMALL LETTER SHARP S /* morekeys_s */ "\u00DF", @@ -1161,6 +1161,7 @@ public final class KeyboardTextsTable { // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA // U+010B: "ċ" LATIN SMALL LETTER C WITH DOT ABOVE /* morekeys_c */ "\u0107,\u010D,\u00E7,\u010B", + /* keylabel_to_alpha */ null, /* double_quotes */ null, // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE @@ -1169,7 +1170,6 @@ public final class KeyboardTextsTable { // U+0149: "ʼn" LATIN SMALL LETTER N PRECEDED BY APOSTROPHE // U+014B: "ŋ" LATIN SMALL LETTER ENG /* morekeys_n */ "\u00F1,\u0144,\u0146,\u0148,\u0149,\u014B", - /* keylabel_to_alpha */ null, /* single_quotes */ null, // U+00DF: "ß" LATIN SMALL LETTER SHARP S // U+0161: "š" LATIN SMALL LETTER S WITH CARON @@ -1297,15 +1297,15 @@ public final class KeyboardTextsTable { // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE // U+010D: "č" LATIN SMALL LETTER C WITH CARON /* morekeys_c */ "\u00E7,\u0107,\u010D", + /* keylabel_to_alpha */ null, /* double_quotes */ null, // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE /* morekeys_n */ "\u00F1,\u0144", - /* keylabel_to_alpha ~ */ + /* single_quotes ~ */ 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 */ // U+00A1: "¡" INVERTED EXCLAMATION MARK // U+00BF: "¿" INVERTED QUESTION MARK @@ -1363,12 +1363,12 @@ public final class KeyboardTextsTable { // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE /* morekeys_c */ "\u010D,\u00E7,\u0107", + /* keylabel_to_alpha */ null, /* double_quotes */ "!text/double_9qm_lqm", // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE /* morekeys_n */ "\u0146,\u00F1,\u0144", - /* keylabel_to_alpha */ null, /* single_quotes */ "!text/single_9qm_lqm", // U+0161: "š" LATIN SMALL LETTER S WITH CARON // U+00DF: "ß" LATIN SMALL LETTER SHARP S @@ -1463,6 +1463,7 @@ public final class KeyboardTextsTable { // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE // U+010D: "č" LATIN SMALL LETTER C WITH CARON /* morekeys_c */ "\u00E7,\u0107,\u010D", + /* keylabel_to_alpha */ null, /* double_quotes */ null, // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE @@ -1472,16 +1473,16 @@ public final class KeyboardTextsTable { /* Locale fa: Persian */ private static final String[] TEXTS_fa = { /* morekeys_a ~ */ - null, null, null, null, null, null, null, null, - /* ~ morekeys_n */ + null, null, null, null, null, null, + /* ~ morekeys_c */ // Label for "switch to alphabetic" key. // U+0627: "ا" ARABIC LETTER ALEF // U+200C: ZERO WIDTH NON-JOINER // U+0628: "ب" ARABIC LETTER BEH // U+067E: "پ" ARABIC LETTER PEH /* keylabel_to_alpha */ "\u0627\u200C\u0628\u200C\u067E", - /* single_quotes ~ */ - null, null, null, null, null, null, null, + /* double_quotes ~ */ + null, null, null, null, null, null, null, null, null, /* ~ morekeys_l */ // U+FDFC: "﷼" RIAL SIGN /* keyspec_currency */ "\uFDFC", @@ -1710,7 +1711,7 @@ public final class KeyboardTextsTable { // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE // U+010D: "č" LATIN SMALL LETTER C WITH CARON /* morekeys_c */ "\u00E7,%,\u0107,\u010D", - /* double_quotes ~ */ + /* keylabel_to_alpha ~ */ null, null, null, null, null, /* ~ morekeys_s */ // U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS @@ -1782,6 +1783,7 @@ public final class KeyboardTextsTable { // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE // U+010D: "č" LATIN SMALL LETTER C WITH CARON /* morekeys_c */ "\u00E7,\u0107,\u010D", + /* keylabel_to_alpha */ null, /* double_quotes */ null, // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE @@ -1791,15 +1793,15 @@ public final class KeyboardTextsTable { /* Locale hi: Hindi */ private static final String[] TEXTS_hi = { /* morekeys_a ~ */ - null, null, null, null, null, null, null, null, - /* ~ morekeys_n */ + null, null, null, null, null, null, + /* ~ morekeys_c */ // Label for "switch to alphabetic" key. // U+0915: "क" DEVANAGARI LETTER KA // U+0916: "ख" DEVANAGARI LETTER KHA // U+0917: "ग" DEVANAGARI LETTER GA /* keylabel_to_alpha */ "\u0915\u0916\u0917", - /* single_quotes ~ */ - null, null, null, null, null, null, null, + /* double_quotes ~ */ + null, null, null, null, null, null, null, null, null, /* ~ morekeys_l */ // U+20B9: "₹" INDIAN RUPEE SIGN /* keyspec_currency */ "\u20B9", @@ -1849,11 +1851,11 @@ public final class KeyboardTextsTable { // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA /* morekeys_c */ "\u010D,\u0107,\u00E7", + /* keylabel_to_alpha */ null, /* double_quotes */ "!text/double_9qm_rqm", // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE /* morekeys_n */ "\u00F1,\u0144", - /* keylabel_to_alpha */ null, /* single_quotes */ "!text/single_9qm_rqm", // U+0161: "š" LATIN SMALL LETTER S WITH CARON // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE @@ -1917,9 +1919,9 @@ public final class KeyboardTextsTable { // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON /* morekeys_i */ "\u00ED,\u00EE,\u00EF,\u00EC,\u012F,\u012B", /* morekeys_c */ null, + /* keylabel_to_alpha */ null, /* double_quotes */ "!text/double_9qm_rqm", /* morekeys_n */ null, - /* keylabel_to_alpha */ null, /* single_quotes */ "!text/single_9qm_rqm", /* morekeys_s ~ */ null, null, null, null, null, null, null, null, @@ -1931,17 +1933,18 @@ public final class KeyboardTextsTable { /* Locale hy_AM: Armenian (Armenia) */ private static final String[] TEXTS_hy_AM = { /* morekeys_a ~ */ - null, null, null, null, null, null, null, null, - /* ~ morekeys_n */ + null, null, null, null, null, null, + /* ~ morekeys_c */ // Label for "switch to alphabetic" key. // U+0531: "Ա" ARMENIAN CAPITAL LETTER AYB // U+0532: "Բ" ARMENIAN CAPITAL LETTER BEN // U+0533: "Գ" ARMENIAN CAPITAL LETTER GIM /* keylabel_to_alpha */ "\u0531\u0532\u0533", - /* single_quotes ~ */ + /* double_quotes ~ */ 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 */ // U+055E: "՞" ARMENIAN QUESTION MARK // U+055C: "՜" ARMENIAN EXCLAMATION MARK @@ -2027,9 +2030,9 @@ public final class KeyboardTextsTable { // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON /* morekeys_i */ "\u00ED,\u00EF,\u00EE,\u00EC,\u012F,\u012B", /* morekeys_c */ null, + /* keylabel_to_alpha */ null, /* double_quotes */ "!text/double_9qm_lqm", /* morekeys_n */ null, - /* keylabel_to_alpha */ null, /* single_quotes */ "!text/single_9qm_lqm", /* morekeys_s */ null, // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE @@ -2110,13 +2113,13 @@ public final class KeyboardTextsTable { /* morekeys_a ~ */ null, null, null, null, null, null, /* ~ morekeys_c */ - /* double_quotes */ "!text/double_rqm_9qm", - /* morekeys_n */ null, // Label for "switch to alphabetic" key. // U+05D0: "א" HEBREW LETTER ALEF // U+05D1: "ב" HEBREW LETTER BET // U+05D2: "ג" HEBREW LETTER GIMEL /* keylabel_to_alpha */ "\u05D0\u05D1\u05D2", + /* double_quotes */ "!text/double_rqm_9qm", + /* morekeys_n */ null, /* single_quotes */ "!text/single_rqm_9qm", /* morekeys_s ~ */ null, null, null, null, null, null, @@ -2167,28 +2170,28 @@ public final class KeyboardTextsTable { /* morekeys_a ~ */ null, null, null, null, null, null, /* ~ morekeys_c */ - /* double_quotes */ "!text/double_9qm_lqm", - /* morekeys_n */ null, // Label for "switch to alphabetic" key. // U+10D0: "ა" GEORGIAN LETTER AN // U+10D1: "ბ" GEORGIAN LETTER BAN // U+10D2: "გ" GEORGIAN LETTER GAN /* keylabel_to_alpha */ "\u10D0\u10D1\u10D2", + /* double_quotes */ "!text/double_9qm_lqm", + /* morekeys_n */ null, /* single_quotes */ "!text/single_9qm_lqm", }; /* Locale kk: Kazakh */ private static final String[] TEXTS_kk = { /* morekeys_a ~ */ - null, null, null, null, null, null, null, null, - /* ~ morekeys_n */ + null, null, null, null, null, null, + /* ~ morekeys_c */ // Label for "switch to alphabetic" key. // U+0410: "А" CYRILLIC CAPITAL LETTER A // U+0411: "Б" CYRILLIC CAPITAL LETTER BE // U+0412: "В" CYRILLIC CAPITAL LETTER VE /* keylabel_to_alpha */ "\u0410\u0411\u0412", - /* single_quotes ~ */ - null, null, null, null, null, null, null, null, null, null, null, null, null, + /* double_quotes ~ */ + null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, /* ~ morekeys_k */ // U+0451: "ё" CYRILLIC SMALL LETTER IO /* morekeys_cyrillic_ie */ "\u0451", @@ -2237,14 +2240,14 @@ public final class KeyboardTextsTable { /* Locale km_KH: Khmer (Cambodia) */ private static final String[] TEXTS_km_KH = { /* morekeys_a ~ */ - null, null, null, null, null, null, null, null, - /* ~ morekeys_n */ + null, null, null, null, null, null, + /* ~ morekeys_c */ // Label for "switch to alphabetic" key. // U+1780: "ក" KHMER LETTER KA // U+1781: "ខ" KHMER LETTER KHA // U+1782: "គ" KHMER LETTER KO /* keylabel_to_alpha */ "\u1780\u1781\u1782", - /* single_quotes ~ */ + /* double_quotes ~ */ 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, @@ -2252,7 +2255,7 @@ public final class KeyboardTextsTable { 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, null, null, + null, null, null, null, null, null, null, null, null, /* ~ morekeys_cyrillic_a */ // U+17DB: "៛" KHMER CURRENCY SYMBOL RIEL /* morekeys_currency_dollar */ "\u17DB,\u00A2,\u00A3,\u20AC,\u00A5,\u20B1", @@ -2261,15 +2264,15 @@ public final class KeyboardTextsTable { /* Locale ky: Kirghiz */ private static final String[] TEXTS_ky = { /* morekeys_a ~ */ - null, null, null, null, null, null, null, null, - /* ~ morekeys_n */ + null, null, null, null, null, null, + /* ~ morekeys_c */ // Label for "switch to alphabetic" key. // U+0410: "А" CYRILLIC CAPITAL LETTER A // U+0411: "Б" CYRILLIC CAPITAL LETTER BE // U+0412: "В" CYRILLIC CAPITAL LETTER VE /* keylabel_to_alpha */ "\u0410\u0411\u0412", - /* single_quotes ~ */ - null, null, null, null, null, null, null, null, null, null, null, null, null, + /* double_quotes ~ */ + null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, /* ~ morekeys_k */ // U+0451: "ё" CYRILLIC SMALL LETTER IO /* morekeys_cyrillic_ie */ "\u0451", @@ -2304,15 +2307,15 @@ public final class KeyboardTextsTable { /* Locale lo_LA: Lao (Laos) */ private static final String[] TEXTS_lo_LA = { /* morekeys_a ~ */ - null, null, null, null, null, null, null, null, - /* ~ morekeys_n */ + null, null, null, null, null, null, + /* ~ morekeys_c */ // Label for "switch to alphabetic" key. // U+0E81: "ກ" LAO LETTER KO // U+0E82: "ຂ" LAO LETTER KHO SUNG // U+0E84: "ຄ" LAO LETTER KHO TAM /* keylabel_to_alpha */ "\u0E81\u0E82\u0E84", - /* single_quotes ~ */ - null, null, null, null, null, null, null, + /* double_quotes ~ */ + null, null, null, null, null, null, null, null, null, /* ~ morekeys_l */ // U+20AD: "₭" KIP SIGN /* keyspec_currency */ "\u20AD", @@ -2370,12 +2373,12 @@ public final class KeyboardTextsTable { // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE /* morekeys_c */ "\u010D,\u00E7,\u0107", + /* keylabel_to_alpha */ null, /* double_quotes */ "!text/double_9qm_lqm", // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE /* morekeys_n */ "\u0146,\u00F1,\u0144", - /* keylabel_to_alpha */ null, /* single_quotes */ "!text/single_9qm_lqm", // U+0161: "š" LATIN SMALL LETTER S WITH CARON // U+00DF: "ß" LATIN SMALL LETTER SHARP S @@ -2464,12 +2467,12 @@ public final class KeyboardTextsTable { // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE /* morekeys_c */ "\u010D,\u00E7,\u0107", + /* keylabel_to_alpha */ null, /* double_quotes */ "!text/double_9qm_lqm", // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE /* morekeys_n */ "\u0146,\u00F1,\u0144", - /* keylabel_to_alpha */ null, /* single_quotes */ "!text/single_9qm_lqm", // U+0161: "š" LATIN SMALL LETTER S WITH CARON // U+00DF: "ß" LATIN SMALL LETTER SHARP S @@ -2512,13 +2515,13 @@ public final class KeyboardTextsTable { /* morekeys_a ~ */ null, null, null, null, null, null, /* ~ morekeys_c */ - /* double_quotes */ "!text/double_9qm_lqm", - /* morekeys_n */ null, // Label for "switch to alphabetic" key. // U+0410: "А" CYRILLIC CAPITAL LETTER A // U+0411: "Б" CYRILLIC CAPITAL LETTER BE // U+0412: "В" CYRILLIC CAPITAL LETTER VE /* keylabel_to_alpha */ "\u0410\u0411\u0412", + /* double_quotes */ "!text/double_9qm_lqm", + /* morekeys_n */ null, /* single_quotes */ "!text/single_9qm_lqm", /* morekeys_s ~ */ null, null, null, null, null, null, null, null, null, null, null, null, @@ -2547,15 +2550,15 @@ public final class KeyboardTextsTable { /* Locale mn_MN: Mongolian (Mongolia) */ private static final String[] TEXTS_mn_MN = { /* morekeys_a ~ */ - null, null, null, null, null, null, null, null, - /* ~ morekeys_n */ + null, null, null, null, null, null, + /* ~ morekeys_c */ // Label for "switch to alphabetic" key. // U+0410: "А" CYRILLIC CAPITAL LETTER A // U+0411: "Б" CYRILLIC CAPITAL LETTER BE // U+0412: "В" CYRILLIC CAPITAL LETTER VE /* keylabel_to_alpha */ "\u0410\u0411\u0412", - /* single_quotes ~ */ - null, null, null, null, null, null, null, + /* double_quotes ~ */ + null, null, null, null, null, null, null, null, null, /* ~ morekeys_l */ // U+20AE: "₮" TUGRIK SIGN /* keyspec_currency */ "\u20AE", @@ -2564,15 +2567,15 @@ public final class KeyboardTextsTable { /* Locale mr_IN: Marathi (India) */ private static final String[] TEXTS_mr_IN = { /* morekeys_a ~ */ - null, null, null, null, null, null, null, null, - /* ~ morekeys_n */ + null, null, null, null, null, null, + /* ~ morekeys_c */ // Label for "switch to alphabetic" key. // U+0915: "क" DEVANAGARI LETTER KA // U+0916: "ख" DEVANAGARI LETTER KHA // U+0917: "ग" DEVANAGARI LETTER GA /* keylabel_to_alpha */ "\u0915\u0916\u0917", - /* single_quotes ~ */ - null, null, null, null, null, null, null, + /* double_quotes ~ */ + null, null, null, null, null, null, null, null, null, /* ~ morekeys_l */ // U+20B9: "₹" INDIAN RUPEE SIGN /* keyspec_currency */ "\u20B9", @@ -2616,17 +2619,18 @@ public final class KeyboardTextsTable { /* Locale my_MM: Burmese (Myanmar) */ private static final String[] TEXTS_my_MM = { /* morekeys_a ~ */ - null, null, null, null, null, null, null, null, - /* ~ morekeys_n */ + null, null, null, null, null, null, + /* ~ morekeys_c */ // 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", - /* single_quotes ~ */ + /* double_quotes ~ */ 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 @@ -2681,11 +2685,11 @@ public final class KeyboardTextsTable { // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON /* morekeys_e */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0119,\u0117,\u0113", - /* morekeys_i */ null, - /* morekeys_c */ null, + /* morekeys_i ~ */ + null, null, null, + /* ~ keylabel_to_alpha */ /* double_quotes */ "!text/double_9qm_rqm", /* morekeys_n */ null, - /* keylabel_to_alpha */ null, /* single_quotes */ "!text/single_9qm_rqm", /* morekeys_s ~ */ null, null, null, null, null, null, null, null, null, null, null, null, null, @@ -2709,15 +2713,15 @@ public final class KeyboardTextsTable { /* Locale ne_NP: Nepali (Nepal) */ private static final String[] TEXTS_ne_NP = { /* morekeys_a ~ */ - null, null, null, null, null, null, null, null, - /* ~ morekeys_n */ + null, null, null, null, null, null, + /* ~ morekeys_c */ // Label for "switch to alphabetic" key. // U+0915: "क" DEVANAGARI LETTER KA // U+0916: "ख" DEVANAGARI LETTER KHA // U+0917: "ग" DEVANAGARI LETTER GA /* keylabel_to_alpha */ "\u0915\u0916\u0917", - /* single_quotes ~ */ - null, null, null, null, null, null, null, + /* double_quotes ~ */ + null, null, null, null, null, null, null, null, null, /* ~ morekeys_l */ // U+0930/U+0941/U+002E "रु." NEPALESE RUPEE SIGN /* keyspec_currency */ "\u0930\u0941.", @@ -2801,11 +2805,11 @@ public final class KeyboardTextsTable { // U+0133: "ij" LATIN SMALL LIGATURE IJ /* morekeys_i */ "\u00ED,\u00EF,\u00EC,\u00EE,\u012F,\u012B,\u0133", /* morekeys_c */ null, + /* keylabel_to_alpha */ null, /* double_quotes */ "!text/double_9qm_rqm", // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE /* morekeys_n */ "\u00F1,\u0144", - /* keylabel_to_alpha */ null, /* single_quotes */ "!text/single_9qm_rqm", /* morekeys_s */ null, // U+0133: "ij" LATIN SMALL LIGATURE IJ @@ -2847,11 +2851,11 @@ public final class KeyboardTextsTable { // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA // U+010D: "č" LATIN SMALL LETTER C WITH CARON /* morekeys_c */ "\u0107,\u00E7,\u010D", + /* keylabel_to_alpha */ null, /* double_quotes */ "!text/double_9qm_rqm", // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE /* morekeys_n */ "\u0144,\u00F1", - /* keylabel_to_alpha */ null, /* single_quotes */ "!text/single_9qm_rqm", // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE // U+00DF: "ß" LATIN SMALL LETTER SHARP S @@ -2952,9 +2956,9 @@ public final class KeyboardTextsTable { // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON /* morekeys_i */ "\u00EE,\u00EF,\u00EC,\u00ED,\u012F,\u012B", /* morekeys_c */ null, + /* keylabel_to_alpha */ null, /* double_quotes */ "!text/double_9qm_rqm", /* morekeys_n */ null, - /* keylabel_to_alpha */ null, /* single_quotes */ "!text/single_9qm_rqm", // U+0219: "ș" LATIN SMALL LETTER S WITH COMMA BELOW // U+00DF: "ß" LATIN SMALL LETTER SHARP S @@ -2973,13 +2977,13 @@ public final class KeyboardTextsTable { /* morekeys_a ~ */ null, null, null, null, null, null, /* ~ morekeys_c */ - /* double_quotes */ "!text/double_9qm_lqm", - /* morekeys_n */ null, // Label for "switch to alphabetic" key. // U+0410: "А" CYRILLIC CAPITAL LETTER A // U+0411: "Б" CYRILLIC CAPITAL LETTER BE // U+0412: "В" CYRILLIC CAPITAL LETTER VE /* keylabel_to_alpha */ "\u0410\u0411\u0412", + /* double_quotes */ "!text/double_9qm_lqm", + /* morekeys_n */ null, /* single_quotes */ "!text/single_9qm_lqm", /* morekeys_s ~ */ null, null, null, null, null, null, null, null, null, null, null, null, @@ -3001,6 +3005,17 @@ public final class KeyboardTextsTable { /* morekeys_cyrillic_soft_sign */ "\u044A", }; + /* Locale si_LK: Sinhalese (Sri Lanka) */ + private static final String[] TEXTS_si_LK = { + /* morekeys_a ~ */ + null, null, null, null, null, null, + /* ~ morekeys_c */ + // Label for "switch to alphabetic" key. + // U+0D85: "අ" SINHALA LETTER AYANNA + // U+0D86: "ආ" SINHALA LETTER AAYANNA + /* keylabel_to_alpha */ "\u0D85,\u0D86", + }; + /* Locale sk: Slovak */ private static final String[] TEXTS_sk = { // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE @@ -3052,13 +3067,13 @@ public final class KeyboardTextsTable { // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE /* morekeys_c */ "\u010D,\u00E7,\u0107", + /* keylabel_to_alpha */ null, /* double_quotes */ "!text/double_9qm_lqm", // U+0148: "ň" LATIN SMALL LETTER N WITH CARON // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE /* morekeys_n */ "\u0148,\u0146,\u00F1,\u0144", - /* keylabel_to_alpha */ null, /* single_quotes */ "!text/single_9qm_lqm", // U+0161: "š" LATIN SMALL LETTER S WITH CARON // U+00DF: "ß" LATIN SMALL LETTER SHARP S @@ -3104,9 +3119,9 @@ public final class KeyboardTextsTable { // U+010D: "č" LATIN SMALL LETTER C WITH CARON // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE /* morekeys_c */ "\u010D,\u0107", + /* keylabel_to_alpha */ null, /* double_quotes */ "!text/double_9qm_lqm", /* morekeys_n */ null, - /* keylabel_to_alpha */ null, /* single_quotes */ "!text/single_9qm_lqm", // U+0161: "š" LATIN SMALL LETTER S WITH CARON /* morekeys_s */ "\u0161", @@ -3127,14 +3142,14 @@ public final class KeyboardTextsTable { /* morekeys_a ~ */ null, null, null, null, null, null, /* ~ morekeys_c */ - /* double_quotes */ "!text/double_9qm_lqm", - /* morekeys_n */ null, // END: More keys definitions for Serbian (Cyrillic) // Label for "switch to alphabetic" key. // U+0410: "А" CYRILLIC CAPITAL LETTER A // U+0411: "Б" CYRILLIC CAPITAL LETTER BE // U+0412: "В" CYRILLIC CAPITAL LETTER VE /* keylabel_to_alpha */ "\u0410\u0411\u0412", + /* double_quotes */ "!text/double_9qm_lqm", + /* morekeys_n */ null, /* single_quotes */ "!text/single_9qm_lqm", /* morekeys_s ~ */ null, null, null, null, null, null, null, null, @@ -3217,12 +3232,12 @@ public final class KeyboardTextsTable { // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE // U+010D: "č" LATIN SMALL LETTER C WITH CARON /* morekeys_c */ "\u00E7,\u0107,\u010D", + /* keylabel_to_alpha */ null, /* double_quotes */ null, // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0148: "ň" LATIN SMALL LETTER N WITH CARON /* morekeys_n */ "\u0144,\u00F1,\u0148", - /* keylabel_to_alpha */ null, /* single_quotes */ null, // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE // U+0161: "š" LATIN SMALL LETTER S WITH CARON @@ -3310,10 +3325,10 @@ public final class KeyboardTextsTable { /* morekeys_i */ "\u00EE,\u00EF,\u00ED,\u012B,\u00EC", // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA /* morekeys_c */ "\u00E7", + /* keylabel_to_alpha */ null, /* double_quotes */ null, // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE /* morekeys_n */ "\u00F1", - /* keylabel_to_alpha */ null, /* single_quotes */ null, // U+00DF: "ß" LATIN SMALL LETTER SHARP S /* morekeys_s */ "\u00DF", @@ -3326,15 +3341,15 @@ public final class KeyboardTextsTable { /* Locale th: Thai */ private static final String[] TEXTS_th = { /* morekeys_a ~ */ - null, null, null, null, null, null, null, null, - /* ~ morekeys_n */ + null, null, null, null, null, null, + /* ~ morekeys_c */ // Label for "switch to alphabetic" key. // U+0E01: "ก" THAI CHARACTER KO KAI // U+0E02: "ข" THAI CHARACTER KHO KHAI // U+0E04: "ค" THAI CHARACTER KHO KHWAI /* keylabel_to_alpha */ "\u0E01\u0E02\u0E04", - /* single_quotes ~ */ - null, null, null, null, null, null, null, + /* double_quotes ~ */ + null, null, null, null, null, null, null, null, null, /* ~ morekeys_l */ // U+0E3F: "฿" THAI CURRENCY SYMBOL BAHT /* keyspec_currency */ "\u0E3F", @@ -3388,6 +3403,7 @@ public final class KeyboardTextsTable { // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE // U+010D: "č" LATIN SMALL LETTER C WITH CARON /* morekeys_c */ "\u00E7,\u0107,\u010D", + /* keylabel_to_alpha */ null, /* double_quotes */ null, // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE @@ -3426,7 +3442,7 @@ public final class KeyboardTextsTable { // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE // U+010D: "č" LATIN SMALL LETTER C WITH CARON /* morekeys_c */ "\u00E7,\u0107,\u010D", - /* double_quotes ~ */ + /* keylabel_to_alpha ~ */ null, null, null, null, /* ~ single_quotes */ // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA @@ -3446,13 +3462,13 @@ public final class KeyboardTextsTable { /* morekeys_a ~ */ null, null, null, null, null, null, /* ~ morekeys_c */ - /* double_quotes */ "!text/double_9qm_lqm", - /* morekeys_n */ null, // Label for "switch to alphabetic" key. // U+0410: "А" CYRILLIC CAPITAL LETTER A // U+0411: "Б" CYRILLIC CAPITAL LETTER BE // U+0412: "В" CYRILLIC CAPITAL LETTER VE /* keylabel_to_alpha */ "\u0410\u0411\u0412", + /* double_quotes */ "!text/double_9qm_lqm", + /* morekeys_n */ null, /* single_quotes */ "!text/single_9qm_lqm", /* morekeys_s ~ */ null, null, null, null, null, null, @@ -3613,10 +3629,10 @@ public final class KeyboardTextsTable { /* morekeys_i */ "\u00ED,\u00EE,\u00EF,\u012B,\u00EC", // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA /* morekeys_c */ "\u00E7", + /* keylabel_to_alpha */ null, /* double_quotes */ null, // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE /* morekeys_n */ "\u00F1", - /* keylabel_to_alpha */ null, /* single_quotes */ null, // U+00DF: "ß" LATIN SMALL LETTER SHARP S /* morekeys_s */ "\u00DF", @@ -3686,6 +3702,7 @@ public final class KeyboardTextsTable { // U+010B: "ċ" LATIN SMALL LETTER C WITH DOT ABOVE // U+010D: "č" LATIN SMALL LETTER C WITH CARON /* morekeys_c */ "\u00E7,\u0107,\u0109,\u010B,\u010D", + /* keylabel_to_alpha */ null, /* double_quotes */ null, // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE @@ -3694,7 +3711,6 @@ public final class KeyboardTextsTable { // U+0149: "ʼn" LATIN SMALL LETTER N PRECEDED BY APOSTROPHE // U+014B: "ŋ" LATIN SMALL LETTER ENG /* morekeys_n */ "\u00F1,\u0144,\u0146,\u0148,\u0149,\u014B", - /* keylabel_to_alpha */ null, /* single_quotes */ null, // U+00DF: "ß" LATIN SMALL LETTER SHARP S // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE @@ -3767,21 +3783,21 @@ public final class KeyboardTextsTable { "ar" , TEXTS_ar, /* 55/110 Arabic */ "az_AZ" , TEXTS_az_AZ, /* 8/ 18 Azerbaijani (Azerbaijan) */ "be_BY" , TEXTS_be_BY, /* 9/ 32 Belarusian (Belarus) */ - "bg" , TEXTS_bg, /* 2/ 9 Bulgarian */ + "bg" , TEXTS_bg, /* 2/ 8 Bulgarian */ "ca" , TEXTS_ca, /* 11/ 95 Catalan */ "cs" , TEXTS_cs, /* 17/ 21 Czech */ "da" , TEXTS_da, /* 19/ 54 Danish */ "de" , TEXTS_de, /* 16/ 62 German */ - "el" , TEXTS_el, /* 1/ 9 Greek */ + "el" , TEXTS_el, /* 1/ 7 Greek */ "en" , TEXTS_en, /* 8/ 11 English */ "eo" , TEXTS_eo, /* 26/118 Esperanto */ "es" , TEXTS_es, /* 8/ 55 Spanish */ "et_EE" , TEXTS_et_EE, /* 22/ 27 Estonian (Estonia) */ - "eu_ES" , TEXTS_eu_ES, /* 7/ 8 Basque (Spain) */ + "eu_ES" , TEXTS_eu_ES, /* 7/ 9 Basque (Spain) */ "fa" , TEXTS_fa, /* 58/125 Persian */ "fi" , TEXTS_fi, /* 10/ 54 Finnish */ "fr" , TEXTS_fr, /* 13/ 62 French */ - "gl_ES" , TEXTS_gl_ES, /* 7/ 8 Gallegan (Spain) */ + "gl_ES" , TEXTS_gl_ES, /* 7/ 9 Gallegan (Spain) */ "hi" , TEXTS_hi, /* 23/ 53 Hindi */ "hr" , TEXTS_hr, /* 9/ 20 Croatian */ "hu" , TEXTS_hu, /* 9/ 20 Hungarian */ @@ -3808,13 +3824,14 @@ public final class KeyboardTextsTable { "rm" , TEXTS_rm, /* 1/ 2 Raeto-Romance */ "ro" , TEXTS_ro, /* 6/ 15 Romanian */ "ru" , TEXTS_ru, /* 9/ 32 Russian */ + "si_LK" , TEXTS_si_LK, /* 1/ 7 Sinhalese (Sri Lanka) */ "sk" , TEXTS_sk, /* 20/ 22 Slovak */ "sl" , TEXTS_sl, /* 8/ 20 Slovenian */ "sr" , TEXTS_sr, /* 11/ 93 Serbian */ "sv" , TEXTS_sv, /* 21/ 54 Swedish */ "sw" , TEXTS_sw, /* 9/ 18 Swahili */ "th" , TEXTS_th, /* 2/ 17 Thai */ - "tl" , TEXTS_tl, /* 7/ 8 Tagalog */ + "tl" , TEXTS_tl, /* 7/ 9 Tagalog */ "tr" , TEXTS_tr, /* 7/ 18 Turkish */ "uk" , TEXTS_uk, /* 11/ 87 Ukrainian */ "vi" , TEXTS_vi, /* 8/ 17 Vietnamese */ diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Sinhala.java b/tests/src/com/android/inputmethod/keyboard/layout/Sinhala.java new file mode 100644 index 000000000..bfd94d5fc --- /dev/null +++ b/tests/src/com/android/inputmethod/keyboard/layout/Sinhala.java @@ -0,0 +1,185 @@ +/* + * 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 Sinhala keyboard. + */ +public final class Sinhala extends LayoutBase { + private static final String LAYOUT_NAME = "sinhala"; + + public Sinhala(final LayoutCustomizer customizer) { + super(customizer, Symbols.class, SymbolsShifted.class); + } + + @Override + public String getName() { return LAYOUT_NAME; } + + public static class SinhalaCustomizer extends LayoutCustomizer { + public SinhalaCustomizer(final Locale locale) { super(locale); } + + @Override + public ExpectedKey getAlphabetKey() { return SINHALA_ALPHABET_KEY; } + + @Override + public ExpectedKey[] getRightShiftKeys(final boolean isPhone) { + return isPhone ? EMPTY_KEYS : EXCLAMATION_AND_QUESTION_MARKS; + } + + // U+0D85: "අ" SINHALA LETTER AYANNA + // U+0D86: "ආ" SINHALA LETTER AAYANNA + private static final ExpectedKey SINHALA_ALPHABET_KEY = key( + "\u0D85,\u0D86", Constants.CODE_SWITCH_ALPHA_SYMBOL); + } + + @Override + ExpectedKey[][] getCommonAlphabetLayout(boolean isPhone) { return ALPHABET_COMMON; } + + @Override + ExpectedKey[][] getCommonAlphabetShiftLayout(boolean isPhone, final int elementId) { + if (elementId == KeyboardId.ELEMENT_ALPHABET_AUTOMATIC_SHIFTED) { + return ALPHABET_COMMON; + } + return ALPHABET_SHIFTED_COMMON; + } + + private static final ExpectedKey[][] ALPHABET_COMMON = new ExpectedKeyboardBuilder() + .setKeysOfRow(1, + // U+0DD4: "ු" SINHALA VOWEL SIGN KETTI PAA-PILLA + key("\u0DD4", moreKey("1")), + // U+0D85: "අ" SINHALA LETTER AYANNA + key("\u0D85", moreKey("2")), + // U+0DD0: "ැ" SINHALA VOWEL SIGN KETTI AEDA-PILLA + key("\u0DD0", moreKey("3")), + // U+0DBB: "ර" SINHALA LETTER RAYANNA + key("\u0DBB", moreKey("4")), + // U+0D91: "එ" SINHALA LETTER EYANNA + key("\u0D91", moreKey("5")), + // U+0DC4: "හ" SINHALA LETTER HAYANNA + key("\u0DC4", moreKey("6")), + // U+0DB8: "ම" SINHALA LETTER MAYANNA + key("\u0DB8", moreKey("7")), + // U+0DC3: "ස" SINHALA LETTER DANTAJA SAYANNA + key("\u0DC3", moreKey("8")), + // U+0DAF: "ද" SINHALA LETTER ALPAPRAANA DAYANNA + // U+0DB3: "ඳ" SINHALA LETTER SANYAKA DAYANNA + key("\u0DAF", joinMoreKeys("9", "\u0DB3")), + // U+0DA0: "ච" SINHALA LETTER ALPAPRAANA CAYANNA + key("\u0DA0", moreKey("0")), + // U+0DA4: "ඤ" SINHALA LETTER TAALUJA NAASIKYAYA + // U+0DF4: "෴" SINHALA PUNCTUATION KUNDDALIYA + key("\u0DA4", moreKey("\u0DF4"))) + .setKeysOfRow(2, + // U+0DCA: "්" SINHALA SIGN AL-LAKUNA + // U+0DD2: "ි" SINHALA VOWEL SIGN KETTI IS-PILLA + // U+0DCF: "ා" SINHALA VOWEL SIGN AELA-PILLA + // U+0DD9: "ෙ" SINHALA VOWEL SIGN KOMBUVA + // U+0DA7: "ට" SINHALA LETTER ALPAPRAANA TTAYANNA + // U+0DBA: "ය" SINHALA LETTER YAYANNA + // U+0DC0: "ව" SINHALA LETTER VAYANNA + // U+0DB1: "න" SINHALA LETTER DANTAJA NAYANNA + // U+0D9A: "ක" SINHALA LETTER ALPAPRAANA KAYANNA + // U+0DAD: "ත" SINHALA LETTER ALPAPRAANA TAYANNA + // U+0D8F: "ඏ" SINHALA LETTER ILUYANNA + "\u0DCA", "\u0DD2", "\u0DCF", "\u0DD9", "\u0DA7", "\u0DBA", "\u0DC0", "\u0DB1", + "\u0D9A", "\u0DAD", "\u0D8F") + .setKeysOfRow(3, + // U+0D82: "ං" SINHALA SIGN ANUSVARAYA + // U+0D83: "ඃ" SINHALA SIGN VISARGAYA + key("\u0D82", moreKey("\u0D83")), + // U+0DA2: "ජ" SINHALA LETTER ALPAPRAANA JAYANNA + // U+0DA6: "ඦ" SINHALA LETTER SANYAKA JAYANNA + key("\u0DA2", moreKey("\u0DA6")), + // U+0DA9: "ඩ" SINHALA LETTER ALPAPRAANA DDAYANNA + // U+0DAC: "ඬ" SINHALA LETTER SANYAKA DDAYANNA + key("\u0DA9", moreKey("\u0DAC")), + // U+0D89: "ඉ" SINHALA LETTER IYANNA + // U+0DB6: "බ" SINHALA LETTER ALPAPRAANA BAYANNA + // U+0DB4: "ප" SINHALA LETTER ALPAPRAANA PAYANNA + // U+0DBD: "ල" SINHALA LETTER DANTAJA LAYANNA + "\u0D89", "\u0DB6", "\u0DB4", "\u0DBD", + // U+0D9C: "ග" SINHALA LETTER ALPAPRAANA GAYANNA + // U+0D9F: "ඟ" SINHALA LETTER SANYAKA GAYANNA + key("\u0D9C", moreKey("\u0D9F")), + // U+0DF3: "ෳ" SINHALA VOWEL SIGN DIGA GAYANUKITTA + "\u0DF3") + .build(); + + private static final ExpectedKey[][] ALPHABET_SHIFTED_COMMON = new ExpectedKeyboardBuilder() + .setKeysOfRow(1, + // U+0DD6: "ූ" SINHALA VOWEL SIGN DIGA PAA-PILLA + key("\u0DD6", moreKey("1")), + // U+0D8B: "උ" SINHALA LETTER UYANNA + key("\u0D8B", moreKey("2")), + // U+0DD1: "ෑ" SINHALA VOWEL SIGN DIGA AEDA-PILLA + key("\u0DD1", moreKey("3")), + // U+0D8D: "ඍ" SINHALA LETTER IRUYANNA + key("\u0D8D", moreKey("4")), + // U+0D94: "ඔ" SINHALA LETTER OYANNA + key("\u0D94", moreKey("5")), + // U+0DC1: "ශ" SINHALA LETTER TAALUJA SAYANNA + key("\u0DC1", moreKey("6")), + // U+0DB9: "ඹ" SINHALA LETTER AMBA BAYANNA + key("\u0DB9", moreKey("7")), + // U+0DC2: "ෂ" SINHALA LETTER MUURDHAJA SAYANNA + key("\u0DC2", moreKey("8")), + // U+0DB0: "ධ" SINHALA LETTER MAHAAPRAANA DAYANNA + key("\u0DB0", moreKey("9")), + // U+0DA1: "ඡ" SINHALA LETTER MAHAAPRAANA CAYANNA + key("\u0DA1", moreKey("0")), + // U+0DA5: "ඥ" SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA + // U+0DF4: "෴" SINHALA PUNCTUATION KUNDDALIYA + key("\u0DA5", moreKey("\u0DF4"))) + .setKeysOfRow(2, + // U+0DDF: "ෟ" SINHALA VOWEL SIGN GAYANUKITTA + // U+0DD3: "ී" SINHALA VOWEL SIGN DIGA IS-PILLA + // U+0DD8: "ෘ" SINHALA VOWEL SIGN GAETTA-PILLA + // U+0DC6: "ෆ" SINHALA LETTER FAYANNA + // U+0DA8: "ඨ" SINHALA LETTER MAHAAPRAANA TTAYANNA + // U+0DCA/U+200D/U+0DBA: + // "්‍ය" SINHALA SIGN AL-LAKUNA/ZERO WIDTH JOINER/SINHALA LETTER YAYANNA + // U+0DC5/U+0DD4: + // "ළු" SINHALA LETTER MUURDHAJA LAYANNA/SINHALA VOWEL SIGN KETTI PAA-PILLA + // U+0DAB: "ණ" SINHALA LETTER MUURDHAJA NAYANNA + // U+0D9B: "ඛ" SINHALA LETTER MAHAAPRAANA KAYANNA + // U+0DAE: "ථ" SINHALA LETTER MAHAAPRAANA TAYANNA + // U+0DCA/U+200D/U+0DBB: + // "්‍ර" SINHALA SIGN AL-LAKUNA/ZERO WIDTH JOINER/SINHALA LETTER RAYANNA + "\u0DDF", "\u0DD3", "\u0DD8", "\u0DC6", "\u0DA8", "\u0DCA\u200D\u0DBA", + "\u0DC5\u0DD4", "\u0DAB", "\u0D9B", "\u0DAE", "\u0DCA\u200D\u0DBB") + .setKeysOfRow(3, + // U+0D9E: "ඞ" SINHALA LETTER KANTAJA NAASIKYAYA + // U+0DA3: "ඣ" SINHALA LETTER MAHAAPRAANA JAYANNA + // U+0DAA: "ඪ" SINHALA LETTER MAHAAPRAANA DDAYANNA + // U+0D8A: "ඊ" SINHALA LETTER IIYANNA + // U+0DB7: "භ" SINHALA LETTER MAHAAPRAANA BAYANNA + // U+0DB5: "ඵ" SINHALA LETTER MAHAAPRAANA PAYANNA + // U+0DC5: "ළ" SINHALA LETTER MUURDHAJA LAYANNA + // U+0D9D: "ඝ" SINHALA LETTER MAHAAPRAANA GAYANNA + // U+0DBB/U+0DCA/U+200D: + // "ර්‍" SINHALA LETTER RAYANNA/SINHALA SIGN AL-LAKUNA/ZERO WIDTH JOINER + "\u0d9E", "\u0DA3", "\u0DAA", "\u0D8A", "\u0DB7", "\u0DB5", "\u0DC5", "\u0D9D", + "\u0DBB\u0DCA\u200D") + .build(); +} diff --git a/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsSinhalaLK.java b/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsSinhalaLK.java new file mode 100644 index 000000000..1cea49760 --- /dev/null +++ b/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsSinhalaLK.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.LayoutBase; +import com.android.inputmethod.keyboard.layout.Sinhala; +import com.android.inputmethod.keyboard.layout.Sinhala.SinhalaCustomizer; + +import java.util.Locale; + +/** + * si_LK: Sinhala (Sri Lanka)/sinhala + */ +@SmallTest +public final class TestsSinhalaLK extends LayoutTestsBase { + private static final Locale LOCALE = new Locale("si", "LK"); + private static final LayoutBase LAYOUT = new Sinhala(new SinhalaCustomizer(LOCALE)); + + @Override + LayoutBase getLayout() { return LAYOUT; } +} diff --git a/tools/make-keyboard-text/res/values-si-rLK/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-si-rLK/donottranslate-more-keys.xml new file mode 100644 index 000000000..89c9195e8 --- /dev/null +++ b/tools/make-keyboard-text/res/values-si-rLK/donottranslate-more-keys.xml @@ -0,0 +1,25 @@ + + + + + අ,ආ +