From 614347bfd9ae8f9e1f79ce2fc070cfcb24c99274 Mon Sep 17 00:00:00 2001
From: "Tadashi G. Takaoka" <takaoka@google.com>
Date: Wed, 3 Jul 2013 13:03:47 +0900
Subject: [PATCH] Add missing letter THEH to Arabic keyboard layout

With this change, the tablet keyboard layout both 7inch and 10inch use
quite similar one of the ordinal PC.  The differences from the ordinal
PC keyboard layout are:

- Move letter THAL from the most left of digits' row to the most left
  of 3rd row.
- Move letter DAL from the most right of 1st row to the most right of
  3rd row.
- Omit ligature LAM with ALEF from 3rd row and move to more keys of
  letter LAM on 2nd row.

The phone keyboard layout is the same one of the tablet except:

- Omit letter YEH with HAMZA avobe from 3rd row and move to more keys
  of letter ALEF MAKSURA on 3rd row.

Bug: 9371393
Change-Id: I1cd164ce7c1c3a5cae67b9985f1b167aef028ca0
---
 java/res/xml-sw600dp/keys_arabic3_left.xml |  32 ++++++
 java/res/xml-sw600dp/rowkeys_arabic1.xml   | 112 ---------------------
 java/res/xml-sw600dp/rowkeys_arabic2.xml   |  94 -----------------
 java/res/xml-sw600dp/rowkeys_arabic3.xml   |  70 -------------
 java/res/xml-sw600dp/rows_arabic.xml       |   3 +-
 java/res/xml-sw768dp/rows_arabic.xml       |   2 +-
 java/res/xml/keys_arabic3_left.xml         |  28 ++++++
 java/res/xml/rowkeys_arabic1.xml           |  54 +++++-----
 java/res/xml/rowkeys_arabic2.xml           |   8 +-
 java/res/xml/rowkeys_arabic3.xml           |  42 ++++----
 java/res/xml/rows_arabic.xml               |  12 +--
 11 files changed, 125 insertions(+), 332 deletions(-)
 create mode 100644 java/res/xml-sw600dp/keys_arabic3_left.xml
 delete mode 100644 java/res/xml-sw600dp/rowkeys_arabic1.xml
 delete mode 100644 java/res/xml-sw600dp/rowkeys_arabic2.xml
 delete mode 100644 java/res/xml-sw600dp/rowkeys_arabic3.xml
 create mode 100644 java/res/xml/keys_arabic3_left.xml

diff --git a/java/res/xml-sw600dp/keys_arabic3_left.xml b/java/res/xml-sw600dp/keys_arabic3_left.xml
new file mode 100644
index 0000000000..0f2ccc0acd
--- /dev/null
+++ b/java/res/xml-sw600dp/keys_arabic3_left.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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.
+*/
+-->
+
+<merge
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+    <!-- U+0630: "Ø°" ARABIC LETTER THAL -->
+    <Key
+        latin:keyLabel="&#x0630;"
+        latin:keyLabelFlags="fontNormal" />
+    <!-- U+0626: "ئ" ARABIC LETTER YEH WITH HAMZA ABOVE -->
+    <Key
+        latin:keyLabel="&#x0626;"
+        latin:keyLabelFlags="fontNormal" />
+</merge>
diff --git a/java/res/xml-sw600dp/rowkeys_arabic1.xml b/java/res/xml-sw600dp/rowkeys_arabic1.xml
deleted file mode 100644
index 3c0acf1127..0000000000
--- a/java/res/xml-sw600dp/rowkeys_arabic1.xml
+++ /dev/null
@@ -1,112 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, 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.
-*/
--->
-
-<merge
-    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
-    <!-- U+0636: "ض" ARABIC LETTER DAD
-         U+0661: "Ù¡" ARABIC-INDIC DIGIT ONE -->
-    <Key
-        latin:keyLabel="&#x0636;"
-        latin:keyHintLabel="1"
-        latin:additionalMoreKeys="1,&#x0661;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+0635: "ص" ARABIC LETTER SAD
-         U+0662: "Ù¢" ARABIC-INDIC DIGIT TWO -->
-    <Key
-        latin:keyLabel="&#x0635;"
-        latin:keyHintLabel="2"
-        latin:additionalMoreKeys="2,&#x0662;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+062B: "Ø«" ARABIC LETTER THEH
-         U+0663: "Ù£" ARABIC-INDIC DIGIT THREE -->
-    <Key
-        latin:keyLabel="&#x062B;"
-        latin:keyHintLabel="3"
-        latin:additionalMoreKeys="3,&#x0663;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+0642: "Ù‚" ARABIC LETTER QAF
-         U+06A8: "Ú¨" ARABIC LETTER QAF WITH THREE DOTS ABOVE
-         U+0664: "Ù¤" ARABIC-INDIC DIGIT FOUR -->
-    <!-- TODO: DroidSansArabic lacks the glyph of U+06A8 ARABIC LETTER QAF WITH THREE DOTS ABOVE -->
-    <Key
-        latin:keyLabel="&#x0642;"
-        latin:keyHintLabel="4"
-        latin:additionalMoreKeys="4,&#x0664;"
-        latin:moreKeys="&#x06A8;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+0641: "ف" ARABIC LETTER FEH
-         U+06A4: "Ú¤" ARABIC LETTER VEH
-         U+06A2: "Ú¢" ARABIC LETTER FEH WITH DOT MOVED BELOW
-         U+06A5: "Ú¥" ARABIC LETTER FEH WITH THREE DOTS BELOW
-         U+0665: "Ù¥" ARABIC-INDIC DIGIT FIVE -->
-    <!-- TODO: DroidSansArabic lacks the glyph of U+06A2 ARABIC LETTER FEH WITH DOT MOVED BELOW -->
-    <!-- TODO: DroidSansArabic lacks the glyph of U+06A5 ARABIC LETTER FEH WITH THREE DOTS BELOW -->
-    <Key
-        latin:keyLabel="&#x0641;"
-        latin:keyHintLabel="5"
-        latin:additionalMoreKeys="5,&#x0665;"
-        latin:moreKeys="&#x06A4;,&#x06A2;,&#x06A5;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+063A: "غ" ARABIC LETTER GHAIN
-         U+0666: "Ù¦" ARABIC-INDIC DIGIT SIX -->
-    <Key
-        latin:keyLabel="&#x063A;"
-        latin:keyHintLabel="6"
-        latin:additionalMoreKeys="6,&#x0666;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+0639: "ع" ARABIC LETTER AIN
-         U+0667: "Ù§" ARABIC-INDIC DIGIT SEVEN -->
-    <Key
-        latin:keyLabel="&#x0639;"
-        latin:keyHintLabel="7"
-        latin:additionalMoreKeys="7,&#x0667;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+0647: "Ù‡" ARABIC LETTER HEH
-         U+FEEB: "ﻫ" ARABIC LETTER HEH INITIAL FORM
-         U+0647 U+200D: ARABIC LETTER HEH + ZERO WIDTH JOINER
-         U+0668: "Ù¨" ARABIC-INDIC DIGIT EIGHT -->
-    <Key
-        latin:keyLabel="&#x0647;"
-        latin:keyHintLabel="8"
-        latin:additionalMoreKeys="8,&#x0668;"
-        latin:moreKeys="&#xFEEB;|&#x0647;&#x200D;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+062E: "Ø®" ARABIC LETTER KHAH
-         U+0669: "Ù©" ARABIC-INDIC DIGIT NINE -->
-    <Key
-        latin:keyLabel="&#x062E;"
-        latin:keyHintLabel="9"
-        latin:additionalMoreKeys="9,&#x0669;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+062D: "Ø­" ARABIC LETTER HAH
-         U+0660: "Ù " ARABIC-INDIC DIGIT ZERO -->
-    <Key
-        latin:keyLabel="&#x062D;"
-        latin:keyHintLabel="0"
-        latin:additionalMoreKeys="0,&#x0660;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+062C: "ج" ARABIC LETTER JEEM
-         U+0686: "Ú†" ARABIC LETTER TCHEH -->
-    <Key
-        latin:keyLabel="&#x062C;"
-        latin:moreKeys="&#x0686;"
-        latin:keyLabelFlags="fontNormal" />
-</merge>
diff --git a/java/res/xml-sw600dp/rowkeys_arabic2.xml b/java/res/xml-sw600dp/rowkeys_arabic2.xml
deleted file mode 100644
index 00e69ace78..0000000000
--- a/java/res/xml-sw600dp/rowkeys_arabic2.xml
+++ /dev/null
@@ -1,94 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, 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.
-*/
--->
-
-<merge
-    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
-    <!-- U+0634: "Ø´" ARABIC LETTER SHEEN
-         U+069C: "ڜ" ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE -->
-    <!-- TODO: DroidSansArabic lacks the glyph of U+069C ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE -->
-    <Key
-        latin:keyLabel="&#x0634;"
-        latin:moreKeys="&#x069C;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+0633: "س" ARABIC LETTER SEEN -->
-    <Key
-        latin:keyLabel="&#x0633;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+064A: "ÙŠ" ARABIC LETTER YEH
-         U+0626: "ئ" ARABIC LETTER YEH WITH HAMZA ABOVE
-         U+0649: "Ù‰" ARABIC LETTER ALEF MAKSURA -->
-    <Key
-        latin:keyLabel="&#x064A;"
-        latin:moreKeys="&#x0626;,&#x0649;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+0628: "ب" ARABIC LETTER BEH
-         U+067E: "Ù¾" ARABIC LETTER PEH -->
-    <Key
-        latin:keyLabel="&#x0628;"
-        latin:moreKeys="&#x067E;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+0644: "Ù„" ARABIC LETTER LAM
-         U+FEFB: "ï»»" ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
-         U+0627: "ا" ARABIC LETTER ALEF
-         U+FEF7: "ï»·" ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
-         U+0623: "Ø£" ARABIC LETTER ALEF WITH HAMZA ABOVE
-         U+FEF9: "ﻹ" ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM
-         U+0625: "Ø¥" ARABIC LETTER ALEF WITH HAMZA BELOW
-         U+FEF5: "ﻵ" ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
-         U+0622: "Ø¢" ARABIC LETTER ALEF WITH MADDA ABOVE -->
-    <Key
-        latin:keyLabel="&#x0644;"
-        latin:moreKeys="&#xFEFB;|&#x0644;&#x0627;,&#xFEF7;|&#x0644;&#x0623;,&#xFEF9;|&#x0644;&#x0625;,&#xFEF5;|&#x0644;&#x0622;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+0627: "ا" ARABIC LETTER ALEF
-         U+0621: "Ø¡" ARABIC LETTER HAMZA
-         U+0671: "Ù±" ARABIC LETTER ALEF WASLA
-         U+0623: "Ø£" ARABIC LETTER ALEF WITH HAMZA ABOVE
-         U+0625: "Ø¥" ARABIC LETTER ALEF WITH HAMZA BELOW
-         U+0622: "Ø¢" ARABIC LETTER ALEF WITH MADDA ABOVE -->
-    <Key
-        latin:keyLabel="&#x0627;"
-        latin:moreKeys="&#x0621;,&#x0671;,&#x0623;,&#x0625;,&#x0622;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+062A: "ت" ARABIC LETTER TEH -->
-    <Key
-        latin:keyLabel="&#x062A;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+0646: "Ù†" ARABIC LETTER NOON -->
-    <Key
-        latin:keyLabel="&#x0646;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+0645: "Ù…" ARABIC LETTER MEEM -->
-    <Key
-        latin:keyLabel="&#x0645;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+0643: "Ùƒ" ARABIC LETTER KAF
-         U+06AF: "Ú¯" ARABIC LETTER GAF
-         U+06A9: "Ú©" ARABIC LETTER KEHEH -->
-    <Key
-        latin:keyLabel="&#x0643;"
-        latin:moreKeys="&#x06AF;,&#x06A9;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+0637: "Ø·" ARABIC LETTER TAH -->
-    <Key
-        latin:keyLabel="&#x0637;"
-        latin:keyLabelFlags="fontNormal" />
-</merge>
diff --git a/java/res/xml-sw600dp/rowkeys_arabic3.xml b/java/res/xml-sw600dp/rowkeys_arabic3.xml
deleted file mode 100644
index b0bcd78d60..0000000000
--- a/java/res/xml-sw600dp/rowkeys_arabic3.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2012, 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.
-*/
--->
-
-<merge
-    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
->
-    <!-- U+0626: "ئ" ARABIC LETTER YEH WITH HAMZA ABOVE -->
-    <Key
-        latin:keyLabel="&#x0626;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+0621: "Ø¡" ARABIC LETTER HAMZA -->
-    <Key
-        latin:keyLabel="&#x0621;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+0624: "ؤ" ARABIC LETTER WAW WITH HAMZA ABOVE -->
-    <Key
-        latin:keyLabel="&#x0624;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+0631: "ر" ARABIC LETTER REH -->
-    <Key
-        latin:keyLabel="&#x0631;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+0630: "Ø°" ARABIC LETTER THAL -->
-    <Key
-        latin:keyLabel="&#x0630;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+0649: "Ù‰" ARABIC LETTER ALEF MAKSURA -->
-    <Key
-        latin:keyLabel="&#x0649;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+0629: "Ø©" ARABIC LETTER TEH MARBUTA -->
-    <Key
-        latin:keyLabel="&#x0629;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+0648: "Ùˆ" ARABIC LETTER WAW -->
-    <Key
-        latin:keyLabel="&#x0648;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+0632: "ز" ARABIC LETTER ZAIN
-         U+0698: "Ú˜" ARABIC LETTER JEH -->
-    <Key
-        latin:keyLabel="&#x0632;"
-        latin:moreKeys="&#x0698;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+0638: "ظ" ARABIC LETTER ZAH -->
-    <Key
-        latin:keyLabel="&#x0638;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+062F: "د" ARABIC LETTER DAL -->
-    <Key
-        latin:keyLabel="&#x062F;"
-        latin:keyLabelFlags="fontNormal" />
-</merge>
diff --git a/java/res/xml-sw600dp/rows_arabic.xml b/java/res/xml-sw600dp/rows_arabic.xml
index ec7c2ad96c..5a28d45724 100644
--- a/java/res/xml-sw600dp/rows_arabic.xml
+++ b/java/res/xml-sw600dp/rows_arabic.xml
@@ -45,8 +45,7 @@
         latin:keyWidth="8.182%p"
     >
         <include
-            latin:keyboardLayout="@xml/rowkeys_arabic3"
-            latin:keyXPos="4.091%p" />
+            latin:keyboardLayout="@xml/rowkeys_arabic3" />
     </Row>
     <include
         latin:keyboardLayout="@xml/row_qwerty4" />
diff --git a/java/res/xml-sw768dp/rows_arabic.xml b/java/res/xml-sw768dp/rows_arabic.xml
index 8b05d9376d..204f6d590f 100644
--- a/java/res/xml-sw768dp/rows_arabic.xml
+++ b/java/res/xml-sw768dp/rows_arabic.xml
@@ -54,7 +54,7 @@
     >
         <include
             latin:keyboardLayout="@xml/rowkeys_arabic3"
-            latin:keyXPos="13.829%p" />
+            latin:keyXPos="6.602%p" />
     </Row>
     <include
         latin:keyboardLayout="@xml/row_qwerty4" />
diff --git a/java/res/xml/keys_arabic3_left.xml b/java/res/xml/keys_arabic3_left.xml
new file mode 100644
index 0000000000..157af4a52b
--- /dev/null
+++ b/java/res/xml/keys_arabic3_left.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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.
+*/
+-->
+
+<merge
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+    <!-- U+0630: "Ø°" ARABIC LETTER THAL -->
+    <Key
+        latin:keyLabel="&#x0630;"
+        latin:keyLabelFlags="fontNormal" />
+</merge>
diff --git a/java/res/xml/rowkeys_arabic1.xml b/java/res/xml/rowkeys_arabic1.xml
index a4bef83c6b..3c0acf1127 100644
--- a/java/res/xml/rowkeys_arabic1.xml
+++ b/java/res/xml/rowkeys_arabic1.xml
@@ -35,74 +35,78 @@
         latin:keyHintLabel="2"
         latin:additionalMoreKeys="2,&#x0662;"
         latin:keyLabelFlags="fontNormal" />
+    <!-- U+062B: "Ø«" ARABIC LETTER THEH
+         U+0663: "Ù£" ARABIC-INDIC DIGIT THREE -->
+    <Key
+        latin:keyLabel="&#x062B;"
+        latin:keyHintLabel="3"
+        latin:additionalMoreKeys="3,&#x0663;"
+        latin:keyLabelFlags="fontNormal" />
     <!-- U+0642: "Ù‚" ARABIC LETTER QAF
          U+06A8: "Ú¨" ARABIC LETTER QAF WITH THREE DOTS ABOVE
-         U+0663: "Ù£" ARABIC-INDIC DIGIT THREE -->
+         U+0664: "Ù¤" ARABIC-INDIC DIGIT FOUR -->
     <!-- TODO: DroidSansArabic lacks the glyph of U+06A8 ARABIC LETTER QAF WITH THREE DOTS ABOVE -->
     <Key
         latin:keyLabel="&#x0642;"
-        latin:keyHintLabel="3"
-        latin:additionalMoreKeys="3,&#x0663;"
+        latin:keyHintLabel="4"
+        latin:additionalMoreKeys="4,&#x0664;"
         latin:moreKeys="&#x06A8;"
         latin:keyLabelFlags="fontNormal" />
     <!-- U+0641: "ف" ARABIC LETTER FEH
          U+06A4: "Ú¤" ARABIC LETTER VEH
          U+06A2: "Ú¢" ARABIC LETTER FEH WITH DOT MOVED BELOW
          U+06A5: "Ú¥" ARABIC LETTER FEH WITH THREE DOTS BELOW
-         U+0664: "Ù¤" ARABIC-INDIC DIGIT FOUR -->
+         U+0665: "Ù¥" ARABIC-INDIC DIGIT FIVE -->
     <!-- TODO: DroidSansArabic lacks the glyph of U+06A2 ARABIC LETTER FEH WITH DOT MOVED BELOW -->
     <!-- TODO: DroidSansArabic lacks the glyph of U+06A5 ARABIC LETTER FEH WITH THREE DOTS BELOW -->
     <Key
         latin:keyLabel="&#x0641;"
-        latin:keyHintLabel="4"
-        latin:additionalMoreKeys="4,&#x0664;"
+        latin:keyHintLabel="5"
+        latin:additionalMoreKeys="5,&#x0665;"
         latin:moreKeys="&#x06A4;,&#x06A2;,&#x06A5;"
         latin:keyLabelFlags="fontNormal" />
     <!-- U+063A: "غ" ARABIC LETTER GHAIN
-         U+0665: "Ù¥" ARABIC-INDIC DIGIT FIVE -->
+         U+0666: "Ù¦" ARABIC-INDIC DIGIT SIX -->
     <Key
         latin:keyLabel="&#x063A;"
-        latin:keyHintLabel="5"
-        latin:additionalMoreKeys="5,&#x0665;"
+        latin:keyHintLabel="6"
+        latin:additionalMoreKeys="6,&#x0666;"
         latin:keyLabelFlags="fontNormal" />
     <!-- U+0639: "ع" ARABIC LETTER AIN
-         U+0666: "Ù¦" ARABIC-INDIC DIGIT SIX -->
+         U+0667: "Ù§" ARABIC-INDIC DIGIT SEVEN -->
     <Key
         latin:keyLabel="&#x0639;"
-        latin:keyHintLabel="6"
-        latin:additionalMoreKeys="6,&#x0666;"
+        latin:keyHintLabel="7"
+        latin:additionalMoreKeys="7,&#x0667;"
         latin:keyLabelFlags="fontNormal" />
     <!-- U+0647: "Ù‡" ARABIC LETTER HEH
          U+FEEB: "ﻫ" ARABIC LETTER HEH INITIAL FORM
          U+0647 U+200D: ARABIC LETTER HEH + ZERO WIDTH JOINER
-         U+0667: "Ù§" ARABIC-INDIC DIGIT SEVEN -->
+         U+0668: "Ù¨" ARABIC-INDIC DIGIT EIGHT -->
     <Key
         latin:keyLabel="&#x0647;"
-        latin:keyHintLabel="7"
-        latin:additionalMoreKeys="7,&#x0667;"
+        latin:keyHintLabel="8"
+        latin:additionalMoreKeys="8,&#x0668;"
         latin:moreKeys="&#xFEEB;|&#x0647;&#x200D;"
         latin:keyLabelFlags="fontNormal" />
     <!-- U+062E: "Ø®" ARABIC LETTER KHAH
-         U+0668: "Ù¨" ARABIC-INDIC DIGIT EIGHT -->
+         U+0669: "Ù©" ARABIC-INDIC DIGIT NINE -->
     <Key
         latin:keyLabel="&#x062E;"
-        latin:keyHintLabel="8"
-        latin:additionalMoreKeys="8,&#x0668;"
+        latin:keyHintLabel="9"
+        latin:additionalMoreKeys="9,&#x0669;"
         latin:keyLabelFlags="fontNormal" />
     <!-- U+062D: "Ø­" ARABIC LETTER HAH
-         U+0669: "Ù©" ARABIC-INDIC DIGIT NINE -->
+         U+0660: "Ù " ARABIC-INDIC DIGIT ZERO -->
     <Key
         latin:keyLabel="&#x062D;"
-        latin:keyHintLabel="9"
-        latin:additionalMoreKeys="9,&#x0669;"
+        latin:keyHintLabel="0"
+        latin:additionalMoreKeys="0,&#x0660;"
         latin:keyLabelFlags="fontNormal" />
     <!-- U+062C: "ج" ARABIC LETTER JEEM
-         U+0686: "Ú†" ARABIC LETTER TCHEH
-         U+0660: "Ù " ARABIC-INDIC DIGIT ZERO -->
+         U+0686: "Ú†" ARABIC LETTER TCHEH -->
     <Key
         latin:keyLabel="&#x062C;"
-        latin:keyHintLabel="0"
-        latin:additionalMoreKeys="0,&#x0660;"
         latin:moreKeys="&#x0686;"
         latin:keyLabelFlags="fontNormal" />
 </merge>
diff --git a/java/res/xml/rowkeys_arabic2.xml b/java/res/xml/rowkeys_arabic2.xml
index d733f64114..00e69ace78 100644
--- a/java/res/xml/rowkeys_arabic2.xml
+++ b/java/res/xml/rowkeys_arabic2.xml
@@ -68,11 +68,9 @@
         latin:keyLabel="&#x0627;"
         latin:moreKeys="&#x0621;,&#x0671;,&#x0623;,&#x0625;,&#x0622;"
         latin:keyLabelFlags="fontNormal" />
-    <!-- U+062A: "ت" ARABIC LETTER TEH
-         U+062B: "ﺙ" ARABIC LETTER THEH -->
+    <!-- U+062A: "ت" ARABIC LETTER TEH -->
     <Key
         latin:keyLabel="&#x062A;"
-        latin:moreKeys="&#x062B;"
         latin:keyLabelFlags="fontNormal" />
     <!-- U+0646: "Ù†" ARABIC LETTER NOON -->
     <Key
@@ -89,4 +87,8 @@
         latin:keyLabel="&#x0643;"
         latin:moreKeys="&#x06AF;,&#x06A9;"
         latin:keyLabelFlags="fontNormal" />
+    <!-- U+0637: "Ø·" ARABIC LETTER TAH -->
+    <Key
+        latin:keyLabel="&#x0637;"
+        latin:keyLabelFlags="fontNormal" />
 </merge>
diff --git a/java/res/xml/rowkeys_arabic3.xml b/java/res/xml/rowkeys_arabic3.xml
index e4e6948129..8a17b4b98a 100644
--- a/java/res/xml/rowkeys_arabic3.xml
+++ b/java/res/xml/rowkeys_arabic3.xml
@@ -21,21 +21,33 @@
 <merge
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
-    <!-- U+0638: "ظ" ARABIC LETTER ZAH -->
+    <include
+        latin:keyboardLayout="@xml/keys_arabic3_left" />
+    <!-- U+0621: "Ø¡" ARABIC LETTER HAMZA -->
     <Key
-        latin:keyLabel="&#x0638;"
+        latin:keyLabel="&#x0621;"
         latin:keyLabelFlags="fontNormal" />
-    <!-- U+0637: "Ø·" ARABIC LETTER TAH -->
+    <!-- U+0624: "ؤ" ARABIC LETTER WAW WITH HAMZA ABOVE -->
     <Key
-        latin:keyLabel="&#x0637;"
+        latin:keyLabel="&#x0624;"
         latin:keyLabelFlags="fontNormal" />
-    <!-- U+0630: "Ø°" ARABIC LETTER THAL -->
+    <!-- U+0631: "ر" ARABIC LETTER REH -->
     <Key
-        latin:keyLabel="&#x0630;"
+        latin:keyLabel="&#x0631;"
         latin:keyLabelFlags="fontNormal" />
-    <!-- U+062F: "د" ARABIC LETTER DAL -->
+    <!-- U+0649: "Ù‰" ARABIC LETTER ALEF MAKSURA
+         U+0626: "ئ" ARABIC LETTER YEH WITH HAMZA ABOVE -->
     <Key
-        latin:keyLabel="&#x062F;"
+        latin:keyLabel="&#x0649;"
+        latin:moreKeys="&#x0626;"
+        latin:keyLabelFlags="fontNormal" />
+    <!-- U+0629: "Ø©" ARABIC LETTER TEH MARBUTA -->
+    <Key
+        latin:keyLabel="&#x0629;"
+        latin:keyLabelFlags="fontNormal" />
+    <!-- U+0648: "Ùˆ" ARABIC LETTER WAW -->
+    <Key
+        latin:keyLabel="&#x0648;"
         latin:keyLabelFlags="fontNormal" />
     <!-- U+0632: "ز" ARABIC LETTER ZAIN
          U+0698: "Ú˜" ARABIC LETTER JEH -->
@@ -43,18 +55,12 @@
         latin:keyLabel="&#x0632;"
         latin:moreKeys="&#x0698;"
         latin:keyLabelFlags="fontNormal" />
-    <!-- U+0631: "ر" ARABIC LETTER REH -->
-    <Key
-        latin:keyLabel="&#x0631;"
-        latin:keyLabelFlags="fontNormal" />
-    <!-- U+0629: "Ø©" ARABIC LETTER TEH MARBUTA -->
+    <!-- U+0638: "ظ" ARABIC LETTER ZAH -->
     <Key
-        latin:keyLabel="&#x0629;"
+        latin:keyLabel="&#x0638;"
         latin:keyLabelFlags="fontNormal" />
-    <!-- U+0648: "Ùˆ" ARABIC LETTER WAW
-         U+0624: "ﺅ" ARABIC LETTER WAW WITH HAMZA ABOVE -->
+    <!-- U+062F: "د" ARABIC LETTER DAL -->
     <Key
-        latin:keyLabel="&#x0648;"
-        latin:moreKeys="&#x0624;"
+        latin:keyLabel="&#x062F;"
         latin:keyLabelFlags="fontNormal" />
 </merge>
diff --git a/java/res/xml/rows_arabic.xml b/java/res/xml/rows_arabic.xml
index 6449af219d..798c23e81b 100644
--- a/java/res/xml/rows_arabic.xml
+++ b/java/res/xml/rows_arabic.xml
@@ -24,27 +24,25 @@
     <include
         latin:keyboardLayout="@xml/key_styles_common" />
     <Row
-        latin:keyWidth="10%p"
+        latin:keyWidth="9.091%p"
     >
         <include
             latin:keyboardLayout="@xml/rowkeys_arabic1" />
     </Row>
     <Row
-        latin:keyWidth="10%p"
+        latin:keyWidth="9.091%p"
     >
         <include
             latin:keyboardLayout="@xml/rowkeys_arabic2" />
     </Row>
     <Row
-        latin:keyWidth="10%p"
+        latin:keyWidth="9.091%p"
     >
         <include
-            latin:keyboardLayout="@xml/rowkeys_arabic3"
-            latin:keyXPos="5.0%p" />
+            latin:keyboardLayout="@xml/rowkeys_arabic3" />
         <Key
             latin:keyStyle="deleteKeyStyle"
-            latin:keyWidth="fillRight"
-            latin:visualInsetsLeft="1%p" />
+            latin:keyWidth="fillRight" />
     </Row>
     <include
         latin:keyboardLayout="@xml/row_qwerty4" />
-- 
GitLab