From b657c053c4fa8d51a2f1eeb8945ca51939edce6d Mon Sep 17 00:00:00 2001
From: "Tadashi G. Takaoka" <takaoka@google.com>
Date: Wed, 9 Jul 2014 17:18:55 +0900
Subject: [PATCH] Add some virama combinations and tall-a for Myanmar

Bug: 7963632
Change-Id: I478ecdc3b7409ccd8dc729da28ad4816a2eda75e
---
 java/res/xml/rowkeys_myanmar2.xml             | 84 +++++++++++++------
 java/res/xml/rowkeys_myanmar3.xml             |  7 +-
 java/res/xml/rowkeys_myanmar4.xml             | 28 +++++--
 .../inputmethod/keyboard/layout/Myanmar.java  | 44 ++++++++--
 4 files changed, 123 insertions(+), 40 deletions(-)

diff --git a/java/res/xml/rowkeys_myanmar2.xml b/java/res/xml/rowkeys_myanmar2.xml
index d7aca00632..ae71ecbde5 100644
--- a/java/res/xml/rowkeys_myanmar2.xml
+++ b/java/res/xml/rowkeys_myanmar2.xml
@@ -21,12 +21,21 @@
 <merge xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
     <switch>
         <case latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted">
-            <!-- U+1017: "ဗ" MYANMAR LETTER BA -->
-            <Key latin:keySpec="&#x1017;" />
-            <!-- U+1012: "ဒ" MYANMAR LETTER DA -->
-            <Key latin:keySpec="&#x1012;" />
-            <!-- U+1013: "ဓ" MYANMAR LETTER DHA -->
-            <Key latin:keySpec="&#x1013;" />
+            <!-- U+1017: "ဗ" MYANMAR LETTER BA
+                 U+1039/U+1017: "္ဗ" MYANMAR SIGN VIRAMA/MYANMAR LETTER BA -->
+            <Key
+                latin:keySpec="&#x1017;"
+                latin:moreKeys="&#x1039;&#x1017;" />
+            <!-- U+1012: "ဒ" MYANMAR LETTER DA
+                 U+1039/U+1012: "္ဒ" MYANMAR SIGN VIRAMA/MYANMAR LETTER DA -->
+            <Key
+                latin:keySpec="&#x1012;"
+                latin:moreKeys="&#x1039;&#x1012;" />
+            <!-- U+1013: "ဓ" MYANMAR LETTER DHA
+                 U+1039/U+1013: "္ဓ" MYANMAR SIGN VIRAMA/MYANMAR LETTER DHA -->
+            <Key
+                latin:keySpec="&#x1013;"
+                latin:moreKeys="&#x1039;&#x1013;" />
             <!-- U+1003: "ဃ" MYANMAR LETTER GHA -->
             <Key latin:keySpec="&#x1003;" />
             <!-- U+100E: "ဎ" MYANMAR LETTER DDHA -->
@@ -35,34 +44,61 @@
             <Key latin:keySpec="&#x103F;" />
             <!-- U+100F: "ဏ" MYANMAR LETTER NNA -->
             <Key latin:keySpec="&#x100F;" />
-            <!-- U+1008: "ဈ" MYANMAR LETTER JHA -->
-            <Key latin:keySpec="&#x1008;" />
-            <!-- U+1007: "ဇ" MYANMAR LETTER JA -->
-            <Key latin:keySpec="&#x1007;" />
-            <!-- U+1002: "ဂ" MYANMAR LETTER GA -->
-            <Key latin:keySpec="&#x1002;" />
+            <!-- U+1008: "ဈ" MYANMAR LETTER JHA
+                 U+1039/U+1008: "္ဈ" MYANMAR SIGN VIRAMA/MYANMAR LETTER JHA -->
+            <Key
+                latin:keySpec="&#x1008;"
+                latin:moreKeys="&#x1039;&#x1008;" />
+            <!-- U+1007: "ဇ" MYANMAR LETTER JA
+                 U+1039/U+1007: "္ဇ" MYANMAR SIGN VIRAMA/MYANMAR LETTER JA -->
+            <Key
+                latin:keySpec="&#x1007;"
+                latin:moreKeys="&#x1039;&#x1007;" />
+            <!-- U+1002: "ဂ" MYANMAR LETTER GA
+                 U+1039/U+1002: "္ဂ" MYANMAR SIGN VIRAMA/MYANMAR LETTER GA -->
+            <Key
+                latin:keySpec="&#x1002;"
+                latin:moreKeys="&#x1039;&#x1002;" />
         </case>
         <default>
-            <!-- U+1006: "ဆ" MYANMAR LETTER CHA -->
-            <Key latin:keySpec="&#x1006;" />
-            <!-- U+1010: "တ" MYANMAR LETTER TA -->
-            <Key latin:keySpec="&#x1010;" />
-            <!-- U+1014: "န" MYANMAR LETTER NA -->
-            <Key latin:keySpec="&#x1014;" />
-            <!-- U+1019: "မ" MYANMAR LETTER MA -->
-            <Key latin:keySpec="&#x1019;" />
+            <!-- U+1006: "ဆ" MYANMAR LETTER CHA
+                 U+1039/U+1006: "္ဆ" MYANMAR SIGN VIRAMA/MYANMAR LETTER CHA -->
+            <Key
+                latin:keySpec="&#x1006;"
+                latin:moreKeys="&#x1039;&#x1006;" />
+            <!-- U+1010: "တ" MYANMAR LETTER TA
+                 U+1039/U+1010: "္တ" MYANMAR SIGN VIRAMA/MYANMAR LETTER TA -->
+            <Key
+                latin:keySpec="&#x1010;"
+                latin:moreKeys="&#x1039;&#x1010;" />
+            <!-- U+1014: "န" MYANMAR LETTER NA
+                 U+1039/U+1014: "္န" MYANMAR SIGN VIRAMA/MYANMAR LETTER NA -->
+            <Key
+                latin:keySpec="&#x1014;"
+                latin:moreKeys="&#x1039;&#x1014;" />
+            <!-- U+1019: "မ" MYANMAR LETTER MA
+                 U+1039/U+1019: "္မ" MYANMAR SIGN VIRAMA/MYANMAR LETTER MA -->
+            <Key
+                latin:keySpec="&#x1019;"
+                latin:moreKeys="&#x1039;&#x1019;" />
             <!-- U+1021: "အ" MYANMAR LETTER A -->
             <Key latin:keySpec="&#x1021;" />
             <!-- U+1015: "ပ" MYANMAR LETTER PA -->
             <Key latin:keySpec="&#x1015;" />
-            <!-- U+1000: "က" MYANMAR LETTER KA -->
-            <Key latin:keySpec="&#x1000;" />
+            <!-- U+1000: "က" MYANMAR LETTER KA
+                 U+1039/U+1000: "္က" MYANMAR SIGN VIRAMA/MYANMAR LETTER KA -->
+            <Key
+                latin:keySpec="&#x1000;"
+                latin:moreKeys="&#x1039;&#x1000;" />
             <!-- U+1004: "င" MYANMAR LETTER NGA -->
             <Key latin:keySpec="&#x1004;" />
             <!-- U+101E: "သ" MYANMAR LETTER SA -->
             <Key latin:keySpec="&#x101E;" />
-            <!-- U+1005: "စ" MYANMAR LETTER CA -->
-            <Key latin:keySpec="&#x1005;" />
+            <!-- U+1005: "စ" MYANMAR LETTER CA
+                 U+1039/U+1005: "္စ" MYANMAR SIGN VIRAMA/MYANMAR LETTER CA -->
+            <Key
+                latin:keySpec="&#x1005;"
+                latin:moreKeys="&#x1039;&#x1005;" />
         </default>
     </switch>
 </merge>
diff --git a/java/res/xml/rowkeys_myanmar3.xml b/java/res/xml/rowkeys_myanmar3.xml
index c5850689bf..4dafe09d7c 100644
--- a/java/res/xml/rowkeys_myanmar3.xml
+++ b/java/res/xml/rowkeys_myanmar3.xml
@@ -67,8 +67,11 @@
             <Key
                 latin:keySpec="&#x102F;"
                 latin:moreKeys="&#x1030;" />
-            <!-- U+102C: "ာ" MYANMAR VOWEL SIGN AA -->
-            <Key latin:keySpec="&#x102C;" />
+            <!-- U+102C: "ာ" MYANMAR VOWEL SIGN AA
+                 U+102B: "ါ" MYANMAR VOWEL SIGN TALL AA -->
+            <Key
+                latin:keySpec="&#x102C;"
+                latin:moreKeys="&#x102B;" />
             <!-- U+103A: "်" MYANMAR SIGN ASAT
                  U+1032: "ဲ" MYANMAR VOWEL SIGN AI -->
             <Key
diff --git a/java/res/xml/rowkeys_myanmar4.xml b/java/res/xml/rowkeys_myanmar4.xml
index 210ebaa8f1..a1befcfbbf 100644
--- a/java/res/xml/rowkeys_myanmar4.xml
+++ b/java/res/xml/rowkeys_myanmar4.xml
@@ -47,14 +47,26 @@
         <default>
             <!-- U+1016: "ဖ" MYANMAR LETTER PHA -->
             <Key latin:keySpec="&#x1016;" />
-            <!-- U+1011: "ထ" MYANMAR LETTER THA -->
-            <Key latin:keySpec="&#x1011;" />
-            <!-- U+1001: "ခ" MYANMAR LETTER KHA -->
-            <Key latin:keySpec="&#x1001;" />
-            <!-- U+101C: "လ" MYANMAR LETTER LA -->
-            <Key latin:keySpec="&#x101C;" />
-            <!-- U+1018: "ဘ" MYANMAR LETTER BHA -->
-            <Key latin:keySpec="&#x1018;" />
+            <!-- U+1011: "ထ" MYANMAR LETTER THA
+                 U+1039/U+1011: "္ထ" MYANMAR SIGN VIRAMA/MYANMAR LETTER THA -->
+            <Key
+                latin:keySpec="&#x1011;"
+                latin:moreKeys="&#x1039;&#x1011;" />
+            <!-- U+1001: "ခ" MYANMAR LETTER KHA
+                 U+1039/U+1001: "္ခ" MYANMAR SIGN VIRAMA/MYANMAR LETTER KHA -->
+            <Key
+                latin:keySpec="&#x1001;"
+                latin:moreKeys="&#x1039;&#x1001;" />
+            <!-- U+101C: "လ" MYANMAR LETTER LA
+                 U+1039/U+101C: "္လ" MYANMAR SIGN VIRAMA/MYANMAR LETTER LA -->
+            <Key
+                latin:keySpec="&#x101C;"
+                latin:moreKeys="&#x1039;&#x101C;" />
+            <!-- U+1018: "ဘ" MYANMAR LETTER BHA
+                 U+1039/U+1018: "္ဘ" MYANMAR SIGN VIRAMA/MYANMAR LETTER BHA -->
+            <Key
+                latin:keySpec="&#x1018;"
+                latin:moreKeys="&#x1039;&#x1018;" />
             <!-- U+100A: "ည" MYANMAR LETTER NNYA
                  U+1009: "ဉ" MYANMAR LETTER NYA -->
             <Key
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/Myanmar.java b/tests/src/com/android/inputmethod/keyboard/layout/Myanmar.java
index 1b571acc69..f2a2dfdd81 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/Myanmar.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/Myanmar.java
@@ -144,17 +144,29 @@ public final class Myanmar extends LayoutBase {
                     key("\u1040", moreKey("0")))
             .setKeysOfRow(2,
                     // U+1006: "ဆ" MYANMAR LETTER CHA
+                    // U+1039/U+1006: "္ဆ" MYANMAR SIGN VIRAMA/MYANMAR LETTER CHA
+                    key("\u1006", moreKey("\u1039\u1006")),
                     // U+1010: "တ" MYANMAR LETTER TA
+                    // U+1039/U+1010: "္တ" MYANMAR SIGN VIRAMA/MYANMAR LETTER TA
+                    key("\u1010", moreKey("\u1039\u1010")),
                     // U+1014: "န" MYANMAR LETTER NA
+                    // U+1039/U+1014: "္န" MYANMAR SIGN VIRAMA/MYANMAR LETTER NA
+                    key("\u1014", moreKey("\u1039\u1014")),
                     // U+1019: "မ" MYANMAR LETTER MA
+                    // U+1039/U+1019: "္မ" MYANMAR SIGN VIRAMA/MYANMAR LETTER MA
+                    key("\u1019", moreKey("\u1039\u1019")),
                     // U+1021: "အ" MYANMAR LETTER A
                     // U+1015: "ပ" MYANMAR LETTER PA
+                    "\u1021", "\u1015",
                     // U+1000: "က" MYANMAR LETTER KA
+                    // U+1039/U+1000: "္က" MYANMAR SIGN VIRAMA/MYANMAR LETTER KA
+                    key("\u1000", moreKey("\u1039\u1000")),
                     // U+1004: "င" MYANMAR LETTER NGA
                     // U+101E: "သ" MYANMAR LETTER SA
+                    "\u1004", "\u101E",
                     // U+1005: "စ" MYANMAR LETTER CA
-                    "\u1006", "\u1010", "\u1014", "\u1019", "\u1021", "\u1015", "\u1000", "\u1004",
-                    "\u101E", "\u1005")
+                    // U+1039/U+1005: "္စ" MYANMAR SIGN VIRAMA/MYANMAR LETTER CA
+                    key("\u1005", moreKey("\u1039\u1005")))
             .setKeysOfRow(3,
                     // U+1031: "ေ" MYANMAR VOWEL SIGN E
                     // U+103B: "ျ" MYANMAR CONSONANT SIGN MEDIAL YA
@@ -172,7 +184,8 @@ public final class Myanmar extends LayoutBase {
                     // U+1030: "ူ" MYANMAR VOWEL SIGN UU
                     key("\u102F", moreKey("\u1030")),
                     // U+102C: "ာ" MYANMAR VOWEL SIGN AA
-                    "\u102C",
+                    // U+102B: "ါ" MYANMAR VOWEL SIGN TALL AA
+                    key("\u102C", moreKey("\u102B")),
                     // U+103A: "်" MYANMAR SIGN ASAT
                     // U+1032: "ဲ" MYANMAR VOWEL SIGN AI
                     key("\u103A", moreKey("\u1032")),
@@ -183,11 +196,19 @@ public final class Myanmar extends LayoutBase {
                     "\u1038")
             .setKeysOfRow(4,
                     // U+1016: "ဖ" MYANMAR LETTER PHA
+                    "\u1016",
                     // U+1011: "ထ" MYANMAR LETTER THA
+                    // U+1039/U+1011: "္ထ" MYANMAR SIGN VIRAMA/MYANMAR LETTER THA
+                    key("\u1011", moreKey("\u1039\u1011")),
                     // U+1001: "ခ" MYANMAR LETTER KHA
+                    // U+1039/U+1001: "္ခ" MYANMAR SIGN VIRAMA/MYANMAR LETTER KHA
+                    key("\u1001", moreKey("\u1039\u1001")),
                     // U+101C: "လ" MYANMAR LETTER LA
+                    // U+1039/U+101C: "္လ" MYANMAR SIGN VIRAMA/MYANMAR LETTER LA
+                    key("\u101C", moreKey("\u1039\u101C")),
                     // U+1018: "ဘ" MYANMAR LETTER BHA
-                    "\u1016", "\u1011", "\u1001", "\u101C", "\u1018",
+                    // U+1039/U+1018: "္ဘ" MYANMAR SIGN VIRAMA/MYANMAR LETTER BHA
+                    key("\u1018", moreKey("\u1039\u1018")),
                     // U+100A: "ည" MYANMAR LETTER NNYA
                     // U+1009: "ဉ" MYANMAR LETTER NYA
                     key("\u100A", moreKey("\u1009")),
@@ -213,17 +234,28 @@ public final class Myanmar extends LayoutBase {
                     "\u1029", "\u102A", "\u104D", "\u104C")
             .setKeysOfRow(2,
                     // U+1017: "ဗ" MYANMAR LETTER BA
+                    // U+1039/U+1017: "္ဗ" MYANMAR SIGN VIRAMA/MYANMAR LETTER BA
+                    key("\u1017", moreKey("\u1039\u1017")),
                     // U+1012: "ဒ" MYANMAR LETTER DA
+                    // U+1039/U+1012: "္ဒ" MYANMAR SIGN VIRAMA/MYANMAR LETTER DA
+                    key("\u1012", moreKey("\u1039\u1012")),
                     // U+1013: "ဓ" MYANMAR LETTER DHA
+                    // U+1039/U+1013: "္ဓ" MYANMAR SIGN VIRAMA/MYANMAR LETTER DHA
+                    key("\u1013", moreKey("\u1039\u1013")),
                     // U+1003: "ဃ" MYANMAR LETTER GHA
                     // U+100E: "ဎ" MYANMAR LETTER DDHA
                     // U+103F: "ဿ" MYANMAR LETTER GREAT SA
                     // U+100F: "ဏ" MYANMAR LETTER NNA
+                    "\u1003", "\u100E", "\u103F", "\u100F",
                     // U+1008: "ဈ" MYANMAR LETTER JHA
+                    // U+1039/U+1008: "္ဈ" MYANMAR SIGN VIRAMA/MYANMAR LETTER JHA
+                    key("\u1008", moreKey("\u1039\u1008")),
                     // U+1007: "ဇ" MYANMAR LETTER JA
+                    // U+1039/U+1007: "္ဇ" MYANMAR SIGN VIRAMA/MYANMAR LETTER JA
+                    key("\u1007", moreKey("\u1039\u1007")),
                     // U+1002: "ဂ" MYANMAR LETTER GA
-                    "\u1017", "\u1012", "\u1013", "\u1003", "\u100E", "\u103F", "\u100F", "\u1008",
-                    "\u1007", "\u1002")
+                    // U+1039/U+1002: "္ဂ" MYANMAR SIGN VIRAMA/MYANMAR LETTER GA
+                    key("\u1002", moreKey("\u1039\u1002")))
             .setKeysOfRow(3,
                     // U+101A: "ယ" MYANMAR LETTER YA
                     // U+1039: "္" MYANMAR SIGN VIRAMA
-- 
GitLab