From 6de1b7a70986ebb1bf63078617d59ec4e46b657f Mon Sep 17 00:00:00 2001
From: "Tadashi G. Takaoka" <takaoka@google.com>
Date: Fri, 15 Jun 2012 18:37:06 -0700
Subject: [PATCH] Fix Persian keyboard having correct code points

Bug: 6679850
Change-Id: Iaa33f48ffb5634de31e039574fb58185c6c078e8
---
 java/res/xml-sw600dp/rowkeys_farsi2.xml       | 21 +++++-----
 java/res/xml-sw600dp/rowkeys_farsi3.xml       |  5 +--
 java/res/xml-sw600dp/rowkeys_symbols2.xml     | 36 +++++++++++++++--
 java/res/xml/keys_less_greater.xml            | 34 ++++++++++++----
 java/res/xml/rowkeys_farsi1.xml               | 40 +++++++++----------
 java/res/xml/rowkeys_farsi2.xml               | 19 ++++-----
 java/res/xml/rowkeys_farsi3.xml               |  5 +--
 java/res/xml/rowkeys_symbols2.xml             | 26 ++++++++++--
 java/res/xml/rowkeys_symbols3.xml             | 30 +++++++++++---
 .../keyboard/internal/KeyboardTextsSet.java   |  8 ++--
 .../values-fa/donottranslate-more-keys.xml    |  6 +--
 11 files changed, 157 insertions(+), 73 deletions(-)

diff --git a/java/res/xml-sw600dp/rowkeys_farsi2.xml b/java/res/xml-sw600dp/rowkeys_farsi2.xml
index 98e0f21866..234f984308 100644
--- a/java/res/xml-sw600dp/rowkeys_farsi2.xml
+++ b/java/res/xml-sw600dp/rowkeys_farsi2.xml
@@ -29,10 +29,12 @@
         latin:keyLabel="&#x0633;" />
     <!-- U+06CC: "ی" ARABIC LETTER FARSI YEH
          U+0626: "ئ" ARABIC LETTER YEH WITH HAMZA ABOVE
-         U+064A: "ÙŠ" ARABIC LETTER YEH -->
+         U+064A: "ÙŠ" ARABIC LETTER YEH
+         U+FBE8: "ﯨ" ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
+         U+0649: "Ù‰" ARABIC LETTER ALEF MAKSURA -->
     <Key
         latin:keyLabel="&#x06CC;"
-        latin:moreKeys="&#x0626;,&#x064A;" />
+        latin:moreKeys="&#x0626;,&#x064A;,&#xFBE8;|&#x0649;" />
     <!-- U+0628: "ب" ARABIC LETTER BEH -->
     <Key
         latin:keyLabel="&#x0628;" />
@@ -42,17 +44,18 @@
     <!-- U+0627: "ا" ARABIC LETTER ALEF
          U+0621: "Ø¡" ARABIC LETTER HAMZA
          U+0622: "Ø¢" ARABIC LETTER ALEF WITH MADDA ABOVE
-         U+0672: "Ù²" ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
+         U+0623: "Ø£" ARABIC LETTER ALEF WITH HAMZA ABOVE
          U+0671: "Ù±" ARABIC LETTER ALEF WASLA
-         U+0673: "Ù³" ARABIC LETTER ALEF WITH WAVY HAMZA BELOW-->
-    <!-- TODO: DroidSansArabic lacks the glyph of U+0672 ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE -->
-    <!-- TODO: DroidSansArabic lacks the glyph of U+0673 ARABIC LETTER ALEF WITH WAVY HAMZA BELOW -->
+         U+0625: "Ø¥" ARABIC LETTER ALEF WITH HAMZA BELOW -->
     <Key
         latin:keyLabel="&#x0627;"
-        latin:moreKeys="&#x0621;,&#x0622;,&#x0672;,&#x0671;,&#x0673;" />
-    <!-- U+062A: "ت" ARABIC LETTER TEH -->
+        latin:moreKeys="&#x0621;,&#x0622;,&#x0623;,&#x0671;,&#x0625;" />
+    <!-- U+062A: "ت" ARABIC LETTER TEH
+         U+062B: "ﺙ" ARABIC LETTER THEH
+         U+0629: "Ø©": ARABIC LETTER TEH MARBUTA -->
     <Key
-        latin:keyLabel="&#x062A;" />
+        latin:keyLabel="&#x062A;"
+        latin:moreKeys="&#x062B;,&#x0629;" />
     <!-- U+0646: "Ù†" ARABIC LETTER NOON -->
     <Key
         latin:keyLabel="&#x0646;" />
diff --git a/java/res/xml-sw600dp/rowkeys_farsi3.xml b/java/res/xml-sw600dp/rowkeys_farsi3.xml
index c80c14a556..cb81840030 100644
--- a/java/res/xml-sw600dp/rowkeys_farsi3.xml
+++ b/java/res/xml-sw600dp/rowkeys_farsi3.xml
@@ -45,9 +45,8 @@
     <Key
         latin:keyLabel="&#x067E;" />
     <!-- U+0648: "Ùˆ" ARABIC LETTER WAW
-         U+0676: "Ù¶" ARABIC LETTER HIGH HAMZA WAW -->
-    <!-- TODO: DroidSansArabic lacks the glyph of U+0676 ARABIC LETTER HIGH HAMZA WAW -->
+         U+0624: "ؤ" ARABIC LETTER WAW WITH HAMZA ABOVE -->
     <Key
         latin:keyLabel="&#x0648;"
-        latin:moreKeys="&#x0676;" />
+        latin:moreKeys="&#x0624;" />
 </merge>
diff --git a/java/res/xml-sw600dp/rowkeys_symbols2.xml b/java/res/xml-sw600dp/rowkeys_symbols2.xml
index 6fe86240c9..d7067e0cfe 100644
--- a/java/res/xml-sw600dp/rowkeys_symbols2.xml
+++ b/java/res/xml-sw600dp/rowkeys_symbols2.xml
@@ -21,15 +21,43 @@
 <merge
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
-    <Key
-        latin:keyLabel="#" />
+    <switch>
+        <case
+            latin:languageCode="fa"
+        >
+            <!-- U+066C: "Ù¬" ARABIC THOUSANDS SEPARATOR -->
+            <Key
+                latin:keyLabel="&#x066C;"
+                latin:keyHintLabel="&amp;"
+                latin:keyLabelFlags="hasPopupHint|hasShiftedLetterHint"
+                latin:moreKeys="&amp;" />
+        </case>
+        <default>
+            <Key
+                latin:keyLabel="#" />
+        </default>
+    </switch>
     <Key
         latin:keyStyle="currencyKeyStyle" />
     <Key
         latin:keyLabel="!text/keylabel_for_symbols_percent"
         latin:moreKeys="!text/more_keys_for_symbols_percent" />
-    <Key
-        latin:keyLabel="&amp;" />
+    <switch>
+        <case
+            latin:languageCode="fa"
+        >
+            <!-- U+066B: "Ù«" ARABIC DECIMAL SEPARATOR -->
+            <Key
+                latin:keyLabel="&#x066B;"
+                latin:keyHintLabel="#"
+                latin:keyLabelFlags="hasPopupHint|hasShiftedLetterHint"
+                latin:moreKeys="#" />
+        </case>
+        <default>
+            <Key
+                latin:keyLabel="&amp;" />
+        </default>
+    </switch>
     <Key
         latin:keyLabel="*"
         latin:moreKeys="!text/more_keys_for_star" />
diff --git a/java/res/xml/keys_less_greater.xml b/java/res/xml/keys_less_greater.xml
index 4584e5c969..bc9ecdf2ff 100644
--- a/java/res/xml/keys_less_greater.xml
+++ b/java/res/xml/keys_less_greater.xml
@@ -21,12 +21,30 @@
 <merge
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
-    <Key
-        latin:keyLabel="&lt;"
-        latin:code="!code/key_less_than"
-        latin:moreKeys="!text/more_keys_for_less_than" />
-    <Key
-        latin:keyLabel="&gt;"
-        latin:code="!code/key_greater_than"
-        latin:moreKeys="!text/more_keys_for_greater_than" />
+    <switch>
+        <case
+            latin:languageCode="fa"
+        >
+            <!-- U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+                 U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -->
+            <Key
+                latin:keyLabel="&#x00AB;"
+                latin:code="0x00BB"
+                latin:moreKeys="!text/more_keys_for_less_than" />
+            <Key
+                latin:keyLabel="&#x00BB;"
+                latin:code="0x00AB"
+                latin:moreKeys="!text/more_keys_for_greater_than" />
+        </case>
+        <default>
+            <Key
+                latin:keyLabel="&lt;"
+                latin:code="!code/key_less_than"
+                latin:moreKeys="!text/more_keys_for_less_than" />
+            <Key
+                latin:keyLabel="&gt;"
+                latin:code="!code/key_greater_than"
+                latin:moreKeys="!text/more_keys_for_greater_than" />
+        </default>
+    </switch>
 </merge>
diff --git a/java/res/xml/rowkeys_farsi1.xml b/java/res/xml/rowkeys_farsi1.xml
index 81618af771..840b048f78 100644
--- a/java/res/xml/rowkeys_farsi1.xml
+++ b/java/res/xml/rowkeys_farsi1.xml
@@ -27,32 +27,32 @@
     <Key
         latin:keyLabel="&#x0635;"
         latin:moreKeys="&#x0636;,%"
-        latin:keyHintLabel="1"
-        latin:additionalMoreKeys="1,&#x06F1;" />
+        latin:keyHintLabel="&#x06F1;"
+        latin:additionalMoreKeys="&#x06F1;,1" />
     <!-- U+0642: "Ù‚" ARABIC LETTER QAF
          U+06F2: "Û²" EXTENDED ARABIC-INDIC DIGIT TWO -->
     <Key
         latin:keyLabel="&#x0642;"
-        latin:keyHintLabel="2"
-        latin:additionalMoreKeys="2,&#x06F2;" />
+        latin:keyHintLabel="&#x06F2;"
+        latin:additionalMoreKeys="&#x06F2;,2" />
     <!-- U+0641: "ف" ARABIC LETTER FEH
          U+06F3: "Û³" EXTENDED ARABIC-INDIC DIGIT THREE -->
     <Key
         latin:keyLabel="&#x0641;"
-        latin:keyHintLabel="3"
-        latin:additionalMoreKeys="3,&#x06F3;" />
+        latin:keyHintLabel="&#x06F3;"
+        latin:additionalMoreKeys="&#x06F3;,3" />
     <!-- U+063A: "غ" ARABIC LETTER GHAIN
          U+06F4: "Û´" EXTENDED ARABIC-INDIC DIGIT FOUR -->
     <Key
         latin:keyLabel="&#x063A;"
-        latin:keyHintLabel="4"
-        latin:additionalMoreKeys="4,&#x06F4;" />
+        latin:keyHintLabel="&#x06F4;"
+        latin:additionalMoreKeys="&#x06F4;,4" />
     <!-- U+0639: "ع" ARABIC LETTER AIN
          U+06F5: "Ûµ" EXTENDED ARABIC-INDIC DIGIT FIVE -->
     <Key
         latin:keyLabel="&#x0639;"
-        latin:keyHintLabel="5"
-        latin:additionalMoreKeys="5,&#x06F5;" />
+        latin:keyHintLabel="&#x06F5;"
+        latin:additionalMoreKeys="&#x06F5;,5" />
     <!-- U+0647: "Ù‡" ARABIC LETTER HEH
          U+FEEB: "ﻫ" ARABIC LETTER HEH INITIAL FORM
          U+0647/U+200D: ARABIC LETTER HEH + ZERO WIDTH JOINER
@@ -62,30 +62,30 @@
     <Key
         latin:keyLabel="&#x0647;"
         latin:moreKeys="&#xFEEB;|&#x0647;&#x200D;,&#x0647;&#x0654;,&#x0629;,%"
-        latin:keyHintLabel="6"
-        latin:additionalMoreKeys="6,&#x06F6;" />
+        latin:keyHintLabel="&#x06F6;"
+        latin:additionalMoreKeys="&#x06F6;,6" />
     <!-- U+062E: "Ø®" ARABIC LETTER KHAH
          U+06F7: "Û·" EXTENDED ARABIC-INDIC DIGIT SEVEN -->
     <Key
         latin:keyLabel="&#x062E;"
-        latin:keyHintLabel="7"
-        latin:additionalMoreKeys="7,&#x06F7;" />
+        latin:keyHintLabel="&#x06F7;"
+        latin:additionalMoreKeys="&#x06F7;,7" />
     <!-- U+062D: "Ø­" ARABIC LETTER HAH
          U+06F8: "Û¸" EXTENDED ARABIC-INDIC DIGIT EIGHT -->
     <Key
         latin:keyLabel="&#x062D;"
-        latin:keyHintLabel="8"
-        latin:additionalMoreKeys="8,&#x06F8;" />
+        latin:keyHintLabel="&#x06F8;"
+        latin:additionalMoreKeys="&#x06F8;,8" />
     <!-- U+062C: "ج" ARABIC LETTER JEEM
          U+06F9: "Û¹" EXTENDED ARABIC-INDIC DIGIT NINE -->
     <Key
         latin:keyLabel="&#x062C;"
-        latin:keyHintLabel="9"
-        latin:additionalMoreKeys="9,&#x06F9;" />
+        latin:keyHintLabel="&#x06F9;"
+        latin:additionalMoreKeys="&#x06F9;,9" />
     <!-- U+0686: "Ú†" ARABIC LETTER TCHEH
          U+06F0: "Û°" EXTENDED ARABIC-INDIC DIGIT ZERO -->
     <Key
         latin:keyLabel="&#x0686;"
-        latin:keyHintLabel="0"
-        latin:additionalMoreKeys="0,&#x06F0;" />
+        latin:keyHintLabel="&#x06F0;"
+        latin:additionalMoreKeys="&#x06F0;,0" />
 </merge>
diff --git a/java/res/xml/rowkeys_farsi2.xml b/java/res/xml/rowkeys_farsi2.xml
index 77279c60fe..21548936e7 100644
--- a/java/res/xml/rowkeys_farsi2.xml
+++ b/java/res/xml/rowkeys_farsi2.xml
@@ -31,10 +31,12 @@
         latin:moreKeys="&#x0636;" />
     <!-- U+06CC: "ی" ARABIC LETTER FARSI YEH
          U+0626: "ئ" ARABIC LETTER YEH WITH HAMZA ABOVE
-         U+064A: "ÙŠ" ARABIC LETTER YEH -->
+         U+064A: "ÙŠ" ARABIC LETTER YEH
+         U+FBE8: "ﯨ" ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
+         U+0649: "Ù‰" ARABIC LETTER ALEF MAKSURA -->
     <Key
         latin:keyLabel="&#x06CC;"
-        latin:moreKeys="&#x0626;,&#x064A;" />
+        latin:moreKeys="&#x0626;,&#x064A;,&#xFBE8;|&#x0649;" />
     <!-- U+0628: "ب" ARABIC LETTER BEH -->
     <Key
         latin:keyLabel="&#x0628;" />
@@ -44,19 +46,18 @@
     <!-- U+0627: "ا" ARABIC LETTER ALEF
          U+0621: "Ø¡" ARABIC LETTER HAMZA
          U+0622: "Ø¢" ARABIC LETTER ALEF WITH MADDA ABOVE
-         U+0672: "Ù²" ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
+         U+0623: "Ø£" ARABIC LETTER ALEF WITH HAMZA ABOVE
          U+0671: "Ù±" ARABIC LETTER ALEF WASLA
-         U+0673: "Ù³" ARABIC LETTER ALEF WITH WAVY HAMZA BELOW-->
-    <!-- TODO: DroidSansArabic lacks the glyph of U+0672 ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE -->
-    <!-- TODO: DroidSansArabic lacks the glyph of U+0673 ARABIC LETTER ALEF WITH WAVY HAMZA BELOW -->
+         U+0625: "Ø¥" ARABIC LETTER ALEF WITH HAMZA BELOW -->
     <Key
         latin:keyLabel="&#x0627;"
-        latin:moreKeys="&#x0621;,&#x0622;,&#x0672;,&#x0671;,&#x0673;" />
+        latin:moreKeys="&#x0621;,&#x0622;,&#x0623;,&#x0671;,&#x0625;" />
     <!-- U+062A: "ت" ARABIC LETTER TEH
-         U+062B: "ﺙ" ARABIC LETTER THEH -->
+         U+062B: "ﺙ" ARABIC LETTER THEH
+         U+0629: "Ø©": ARABIC LETTER TEH MARBUTA -->
     <Key
         latin:keyLabel="&#x062A;"
-        latin:moreKeys="&#x062B;" />
+        latin:moreKeys="&#x062B;,&#x0629;" />
     <!-- U+0646: "Ù†" ARABIC LETTER NOON -->
     <Key
         latin:keyLabel="&#x0646;" />
diff --git a/java/res/xml/rowkeys_farsi3.xml b/java/res/xml/rowkeys_farsi3.xml
index 44710e06ae..29c35134cd 100644
--- a/java/res/xml/rowkeys_farsi3.xml
+++ b/java/res/xml/rowkeys_farsi3.xml
@@ -44,11 +44,10 @@
     <Key
         latin:keyLabel="&#x067E;" />
     <!-- U+0648: "Ùˆ" ARABIC LETTER WAW
-         U+0676: "Ù¶" ARABIC LETTER HIGH HAMZA WAW -->
-    <!-- TODO: DroidSansArabic lacks the glyph of U+0676 ARABIC LETTER HIGH HAMZA WAW -->
+         U+0624: "ؤ" ARABIC LETTER WAW WITH HAMZA ABOVE -->
     <Key
         latin:keyLabel="&#x0648;"
-        latin:moreKeys="&#x0676;" />
+        latin:moreKeys="&#x0624;" />
     <!-- U+06AF: "Ú¯" ARABIC LETTER GAF -->
     <Key
         latin:keyLabel="&#x06AF;" />
diff --git a/java/res/xml/rowkeys_symbols2.xml b/java/res/xml/rowkeys_symbols2.xml
index 34b9aa2ee5..425e20470e 100644
--- a/java/res/xml/rowkeys_symbols2.xml
+++ b/java/res/xml/rowkeys_symbols2.xml
@@ -21,10 +21,28 @@
 <merge
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
-    <Key
-        latin:keyLabel="\@" />
-    <Key
-        latin:keyLabel="\#" />
+    <switch>
+        <case
+            latin:languageCode="fa"
+        >
+            <!-- U+066C: "Ù¬" ARABIC THOUSANDS SEPARATOR
+                 U+066B: "Ù«" ARABIC DECIMAL SEPARATOR -->
+            <Key
+                latin:keyLabel="&#x066C;"
+                latin:keyHintLabel="\@"
+                latin:moreKeys="\@" />
+            <Key
+                latin:keyLabel="&#x066B;"
+                latin:keyHintLabel="#"
+                latin:moreKeys="#" />
+        </case>
+        <default>
+            <Key
+                latin:keyLabel="\@" />
+            <Key
+                latin:keyLabel="#" />
+        </default>
+    </switch>
     <Key
         latin:keyStyle="currencyKeyStyle" />
     <Key
diff --git a/java/res/xml/rowkeys_symbols3.xml b/java/res/xml/rowkeys_symbols3.xml
index 2b2d9a4eac..c89716bc7a 100644
--- a/java/res/xml/rowkeys_symbols3.xml
+++ b/java/res/xml/rowkeys_symbols3.xml
@@ -24,12 +24,30 @@
     <Key
         latin:keyLabel="!text/keylabel_for_symbols_exclamation"
         latin:moreKeys="!text/more_keys_for_symbols_exclamation" />
-    <Key
-        latin:keyLabel="&quot;"
-        latin:moreKeys="!text/more_keys_for_double_quote" />
-    <Key
-        latin:keyLabel="\'"
-        latin:moreKeys="!text/more_keys_for_single_quote" />
+    <switch>
+        <case
+            latin:languageCode="fa"
+        >
+            <!-- U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+                 U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -->
+            <Key
+                latin:keyLabel="&#x00AB;"
+                latin:code="0x00BB"
+                latin:moreKeys="!text/more_keys_for_double_quote" />
+            <Key
+                latin:keyLabel="&#x00BB;"
+                latin:code="0x00AB"
+                latin:moreKeys="!text/more_keys_for_single_quote" />
+        </case>
+        <default>
+            <Key
+                latin:keyLabel="&quot;"
+                latin:moreKeys="!text/more_keys_for_double_quote" />
+            <Key
+                latin:keyLabel="\'"
+                latin:moreKeys="!text/more_keys_for_single_quote" />
+        </default>
+    </switch>
     <Key
         latin:keyLabel=":" />
     <Key
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
index 917e233a82..1e3a0a5bae 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
@@ -993,7 +993,7 @@ public final class KeyboardTextsSet {
         /* ~41 */
         // TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK
         // <string name="more_keys_for_double_quote">&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;|&#x00BB;,&#x00BB;|&#x00AB;</string>
-        /* 42 */ "!fixedColumnOrder!4,\u201C,\u201D,\u00AB|\u00BB,\u00BB|\u00AB",
+        /* 42 */ "!fixedColumnOrder!4,\u201C,\u201D,\",\'",
         // TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK
         // <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;|&#x00BB;,&#x00BB|&#x00AB;;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
         /* 43 */ "!fixedColumnOrder!4,\u201C,\u201D,\u00AB|\u00BB,\u00BB|\u00AB,\u2018,\u2019,\u201A,\u201B",
@@ -1031,8 +1031,8 @@ public final class KeyboardTextsSet {
         // U+201D: "”" RIGHT DOUBLE QUOTATION MARK
         // U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
         // U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK
-        /* 54 */ "!fixedColumnOrder!3,\u2039|\u203A,\u2264|\u2265,\u00AB|\u00BB",
-        /* 55 */ "!fixedColumnOrder!3,\u203A|\u2039,\u2265|\u2264,\u00BB|\u00AB",
+        /* 54 */ "!fixedColumnOrder!3,\u2039|\u203A,\u2264|\u2265,<|>",
+        /* 55 */ "!fixedColumnOrder!3,\u203A|\u2039,\u2265|\u2264,>|<",
         // U+0655: "Ù•" ARABIC HAMZA BELOW
         // U+0652: "Ù’" ARABIC SUKUN
         // U+0651: "Ù‘" ARABIC SHADDA
@@ -1049,7 +1049,7 @@ public final class KeyboardTextsSet {
         // U+0640: "Ù€" ARABIC TATWEEL
         // In order to make Tatweel easily distinguishable from other punctuations, we use consecutive Tatweels only for its displayed label.
         /* 56 */ "!fixedColumnOrder!7,\u0655,\u0652,\u0651,\u064C,\u064D,\u064B,\u0654,\u0656,\u0670,\u0653,\u064F,\u0650,\u064E,\u0640\u0640\u0640|\u0640",
-        /* 57 */ "\u0653",
+        /* 57 */ "\u064B",
         // U+06F1: "Û±" EXTENDED ARABIC-INDIC DIGIT ONE
         /* 58 */ "\u06F1",
         // U+06F2: "Û²" EXTENDED ARABIC-INDIC DIGIT TWO
diff --git a/tools/maketext/res/values-fa/donottranslate-more-keys.xml b/tools/maketext/res/values-fa/donottranslate-more-keys.xml
index b34e580e9d..e64af95c47 100644
--- a/tools/maketext/res/values-fa/donottranslate-more-keys.xml
+++ b/tools/maketext/res/values-fa/donottranslate-more-keys.xml
@@ -100,11 +100,11 @@
          U+201D: "”" RIGHT DOUBLE QUOTATION MARK
          U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
          U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
-    <string name="more_keys_for_less_than">!fixedColumnOrder!3,&#x2039;|&#x203A;,&#x2264;|&#x2265;,&#x00AB;|&#x00BB;</string>
-    <string name="more_keys_for_greater_than">!fixedColumnOrder!3,&#x203A;|&#x2039;,&#x2265;|&#x2264;,&#x00BB;|&#x00AB;</string>
+    <string name="more_keys_for_less_than">!fixedColumnOrder!3,&#x2039;|&#x203A;,&#x2264;|&#x2265;,&lt;|&gt;</string>
+    <string name="more_keys_for_greater_than">!fixedColumnOrder!3,&#x203A;|&#x2039;,&#x2265;|&#x2264;,&gt;|&lt;</string>
     <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
     <!-- <string name="more_keys_for_double_quote">&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;|&#x00BB;,&#x00BB;|&#x00AB;</string> -->
-    <string name="more_keys_for_double_quote">!fixedColumnOrder!4,&#x201C;,&#x201D;,&#x00AB;|&#x00BB;,&#x00BB;|&#x00AB;</string>
+    <string name="more_keys_for_double_quote">!fixedColumnOrder!4,&#x201C;,&#x201D;,\",\'</string>
     <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
     <!-- <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;|&#x00BB;,&#x00BB|&#x00AB;;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string> -->
     <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!4,&#x201C;,&#x201D;,&#x00AB;|&#x00BB;,&#x00BB;|&#x00AB;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
-- 
GitLab