diff --git a/java/res/xml-sw600dp/rowkeys_farsi2.xml b/java/res/xml-sw600dp/rowkeys_farsi2.xml
index 98e0f2186..234f98430 100644
--- a/java/res/xml-sw600dp/rowkeys_farsi2.xml
+++ b/java/res/xml-sw600dp/rowkeys_farsi2.xml
@@ -29,10 +29,12 @@
latin:keyLabel="س" />
+ U+064A: "ي" ARABIC LETTER YEH
+ U+FBE8: "ﯨ" ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
+ U+0649: "ى" ARABIC LETTER ALEF MAKSURA -->
+ latin:moreKeys="ئ,ي,ﯨ|ى" />
@@ -42,17 +44,18 @@
-
-
+ U+0625: "إ" ARABIC LETTER ALEF WITH HAMZA BELOW -->
-
+ latin:moreKeys="ء,آ,أ,ٱ,إ" />
+
+ latin:keyLabel="ت"
+ latin:moreKeys="ث,ة" />
diff --git a/java/res/xml-sw600dp/rowkeys_farsi3.xml b/java/res/xml-sw600dp/rowkeys_farsi3.xml
index c80c14a55..cb8184003 100644
--- a/java/res/xml-sw600dp/rowkeys_farsi3.xml
+++ b/java/res/xml-sw600dp/rowkeys_farsi3.xml
@@ -45,9 +45,8 @@
-
+ U+0624: "ؤ" ARABIC LETTER WAW WITH HAMZA ABOVE -->
+ latin:moreKeys="ؤ" />
diff --git a/java/res/xml-sw600dp/rowkeys_symbols2.xml b/java/res/xml-sw600dp/rowkeys_symbols2.xml
index 6fe86240c..d7067e0cf 100644
--- a/java/res/xml-sw600dp/rowkeys_symbols2.xml
+++ b/java/res/xml-sw600dp/rowkeys_symbols2.xml
@@ -21,15 +21,43 @@
-
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml/keys_less_greater.xml b/java/res/xml/keys_less_greater.xml
index 4584e5c96..bc9ecdf2f 100644
--- a/java/res/xml/keys_less_greater.xml
+++ b/java/res/xml/keys_less_greater.xml
@@ -21,12 +21,30 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml/rowkeys_farsi1.xml b/java/res/xml/rowkeys_farsi1.xml
index 81618af77..840b048f7 100644
--- a/java/res/xml/rowkeys_farsi1.xml
+++ b/java/res/xml/rowkeys_farsi1.xml
@@ -27,32 +27,32 @@
+ latin:keyHintLabel="۱"
+ latin:additionalMoreKeys="۱,1" />
+ latin:keyHintLabel="۲"
+ latin:additionalMoreKeys="۲,2" />
+ latin:keyHintLabel="۳"
+ latin:additionalMoreKeys="۳,3" />
+ latin:keyHintLabel="۴"
+ latin:additionalMoreKeys="۴,4" />
+ latin:keyHintLabel="۵"
+ latin:additionalMoreKeys="۵,5" />
+ latin:keyHintLabel="۷"
+ latin:additionalMoreKeys="۷,7" />
+ latin:keyHintLabel="۸"
+ latin:additionalMoreKeys="۸,8" />
+ latin:keyHintLabel="۹"
+ latin:additionalMoreKeys="۹,9" />
+ latin:keyHintLabel="۰"
+ latin:additionalMoreKeys="۰,0" />
diff --git a/java/res/xml/rowkeys_farsi2.xml b/java/res/xml/rowkeys_farsi2.xml
index 77279c60f..21548936e 100644
--- a/java/res/xml/rowkeys_farsi2.xml
+++ b/java/res/xml/rowkeys_farsi2.xml
@@ -31,10 +31,12 @@
latin:moreKeys="ض" />
+ U+064A: "ي" ARABIC LETTER YEH
+ U+FBE8: "ﯨ" ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
+ U+0649: "ى" ARABIC LETTER ALEF MAKSURA -->
+ latin:moreKeys="ئ,ي,ﯨ|ى" />
@@ -44,19 +46,18 @@
-
-
+ U+0625: "إ" ARABIC LETTER ALEF WITH HAMZA BELOW -->
+ latin:moreKeys="ء,آ,أ,ٱ,إ" />
+ U+062B: "ﺙ" ARABIC LETTER THEH
+ U+0629: "ة": ARABIC LETTER TEH MARBUTA -->
+ latin:moreKeys="ث,ة" />
diff --git a/java/res/xml/rowkeys_farsi3.xml b/java/res/xml/rowkeys_farsi3.xml
index 44710e06a..29c35134c 100644
--- a/java/res/xml/rowkeys_farsi3.xml
+++ b/java/res/xml/rowkeys_farsi3.xml
@@ -44,11 +44,10 @@
-
+ U+0624: "ؤ" ARABIC LETTER WAW WITH HAMZA ABOVE -->
+ latin:moreKeys="ؤ" />
diff --git a/java/res/xml/rowkeys_symbols2.xml b/java/res/xml/rowkeys_symbols2.xml
index 34b9aa2ee..425e20470 100644
--- a/java/res/xml/rowkeys_symbols2.xml
+++ b/java/res/xml/rowkeys_symbols2.xml
@@ -21,10 +21,28 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
“,”,„,‟,«|»,»|«
- /* 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
// !fixedColumnOrder!6,“,”,„,‟,«|»,»|«;,‘,’,‚,‛
/* 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 b34e580e9..e64af95c4 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 -->
- !fixedColumnOrder!3,‹|›,≤|≥,«|»
- !fixedColumnOrder!3,›|‹,≥|≤,»|«
+ !fixedColumnOrder!3,‹|›,≤|≥,<|>
+ !fixedColumnOrder!3,›|‹,≥|≤,>|<
- !fixedColumnOrder!4,“,”,«|»,»|«
+ !fixedColumnOrder!4,“,”,\",\'
!fixedColumnOrder!4,“,”,«|»,»|«,‘,’,‚,‛