Fix Persian keyboard having correct code points
Bug: 6679850
Change-Id: Iaa33f48ffb5634de31e039574fb58185c6c078e8
diff --git a/java/res/xml-sw600dp/rowkeys_farsi2.xml b/java/res/xml-sw600dp/rowkeys_farsi2.xml
index 98e0f21..234f984 100644
--- a/java/res/xml-sw600dp/rowkeys_farsi2.xml
+++ b/java/res/xml-sw600dp/rowkeys_farsi2.xml
@@ -29,10 +29,12 @@
latin:keyLabel="س" />
<!-- 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="ی"
- latin:moreKeys="ئ,ي" />
+ latin:moreKeys="ئ,ي,ﯨ|ى" />
<!-- U+0628: "ب" ARABIC LETTER BEH -->
<Key
latin:keyLabel="ب" />
@@ -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="ا"
- latin:moreKeys="ء,آ,ٲ,ٱ,ٳ" />
- <!-- U+062A: "ت" ARABIC LETTER TEH -->
+ latin:moreKeys="ء,آ,أ,ٱ,إ" />
+ <!-- U+062A: "ت" ARABIC LETTER TEH
+ U+062B: "ﺙ" ARABIC LETTER THEH
+ U+0629: "ة": ARABIC LETTER TEH MARBUTA -->
<Key
- latin:keyLabel="ت" />
+ latin:keyLabel="ت"
+ latin:moreKeys="ث,ة" />
<!-- U+0646: "ن" ARABIC LETTER NOON -->
<Key
latin:keyLabel="ن" />
diff --git a/java/res/xml-sw600dp/rowkeys_farsi3.xml b/java/res/xml-sw600dp/rowkeys_farsi3.xml
index c80c14a..cb81840 100644
--- a/java/res/xml-sw600dp/rowkeys_farsi3.xml
+++ b/java/res/xml-sw600dp/rowkeys_farsi3.xml
@@ -45,9 +45,8 @@
<Key
latin:keyLabel="پ" />
<!-- 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="و"
- latin:moreKeys="ٶ" />
+ latin:moreKeys="ؤ" />
</merge>
diff --git a/java/res/xml-sw600dp/rowkeys_symbols2.xml b/java/res/xml-sw600dp/rowkeys_symbols2.xml
index 6fe8624..d7067e0 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="٬"
+ latin:keyHintLabel="&"
+ latin:keyLabelFlags="hasPopupHint|hasShiftedLetterHint"
+ latin:moreKeys="&" />
+ </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="&" />
+ <switch>
+ <case
+ latin:languageCode="fa"
+ >
+ <!-- U+066B: "٫" ARABIC DECIMAL SEPARATOR -->
+ <Key
+ latin:keyLabel="٫"
+ latin:keyHintLabel="#"
+ latin:keyLabelFlags="hasPopupHint|hasShiftedLetterHint"
+ latin:moreKeys="#" />
+ </case>
+ <default>
+ <Key
+ latin:keyLabel="&" />
+ </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 4584e5c..bc9ecdf 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="<"
- latin:code="!code/key_less_than"
- latin:moreKeys="!text/more_keys_for_less_than" />
- <Key
- latin:keyLabel=">"
- 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="«"
+ latin:code="0x00BB"
+ latin:moreKeys="!text/more_keys_for_less_than" />
+ <Key
+ latin:keyLabel="»"
+ latin:code="0x00AB"
+ latin:moreKeys="!text/more_keys_for_greater_than" />
+ </case>
+ <default>
+ <Key
+ latin:keyLabel="<"
+ latin:code="!code/key_less_than"
+ latin:moreKeys="!text/more_keys_for_less_than" />
+ <Key
+ latin:keyLabel=">"
+ 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 81618af7..840b048 100644
--- a/java/res/xml/rowkeys_farsi1.xml
+++ b/java/res/xml/rowkeys_farsi1.xml
@@ -27,32 +27,32 @@
<Key
latin:keyLabel="ص"
latin:moreKeys="ض,%"
- latin:keyHintLabel="1"
- latin:additionalMoreKeys="1,۱" />
+ latin:keyHintLabel="۱"
+ latin:additionalMoreKeys="۱,1" />
<!-- U+0642: "ق" ARABIC LETTER QAF
U+06F2: "۲" EXTENDED ARABIC-INDIC DIGIT TWO -->
<Key
latin:keyLabel="ق"
- latin:keyHintLabel="2"
- latin:additionalMoreKeys="2,۲" />
+ latin:keyHintLabel="۲"
+ latin:additionalMoreKeys="۲,2" />
<!-- U+0641: "ف" ARABIC LETTER FEH
U+06F3: "۳" EXTENDED ARABIC-INDIC DIGIT THREE -->
<Key
latin:keyLabel="ف"
- latin:keyHintLabel="3"
- latin:additionalMoreKeys="3,۳" />
+ latin:keyHintLabel="۳"
+ latin:additionalMoreKeys="۳,3" />
<!-- U+063A: "غ" ARABIC LETTER GHAIN
U+06F4: "۴" EXTENDED ARABIC-INDIC DIGIT FOUR -->
<Key
latin:keyLabel="غ"
- latin:keyHintLabel="4"
- latin:additionalMoreKeys="4,۴" />
+ latin:keyHintLabel="۴"
+ latin:additionalMoreKeys="۴,4" />
<!-- U+0639: "ع" ARABIC LETTER AIN
U+06F5: "۵" EXTENDED ARABIC-INDIC DIGIT FIVE -->
<Key
latin:keyLabel="ع"
- latin:keyHintLabel="5"
- latin:additionalMoreKeys="5,۵" />
+ latin:keyHintLabel="۵"
+ latin:additionalMoreKeys="۵,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="ه"
latin:moreKeys="ﻫ|ه‍,هٔ,ة,%"
- latin:keyHintLabel="6"
- latin:additionalMoreKeys="6,۶" />
+ latin:keyHintLabel="۶"
+ latin:additionalMoreKeys="۶,6" />
<!-- U+062E: "خ" ARABIC LETTER KHAH
U+06F7: "۷" EXTENDED ARABIC-INDIC DIGIT SEVEN -->
<Key
latin:keyLabel="خ"
- latin:keyHintLabel="7"
- latin:additionalMoreKeys="7,۷" />
+ latin:keyHintLabel="۷"
+ latin:additionalMoreKeys="۷,7" />
<!-- U+062D: "ح" ARABIC LETTER HAH
U+06F8: "۸" EXTENDED ARABIC-INDIC DIGIT EIGHT -->
<Key
latin:keyLabel="ح"
- latin:keyHintLabel="8"
- latin:additionalMoreKeys="8,۸" />
+ latin:keyHintLabel="۸"
+ latin:additionalMoreKeys="۸,8" />
<!-- U+062C: "ج" ARABIC LETTER JEEM
U+06F9: "۹" EXTENDED ARABIC-INDIC DIGIT NINE -->
<Key
latin:keyLabel="ج"
- latin:keyHintLabel="9"
- latin:additionalMoreKeys="9,۹" />
+ latin:keyHintLabel="۹"
+ latin:additionalMoreKeys="۹,9" />
<!-- U+0686: "چ" ARABIC LETTER TCHEH
U+06F0: "۰" EXTENDED ARABIC-INDIC DIGIT ZERO -->
<Key
latin:keyLabel="چ"
- latin:keyHintLabel="0"
- latin:additionalMoreKeys="0,۰" />
+ latin:keyHintLabel="۰"
+ latin:additionalMoreKeys="۰,0" />
</merge>
diff --git a/java/res/xml/rowkeys_farsi2.xml b/java/res/xml/rowkeys_farsi2.xml
index 77279c6..2154893 100644
--- a/java/res/xml/rowkeys_farsi2.xml
+++ b/java/res/xml/rowkeys_farsi2.xml
@@ -31,10 +31,12 @@
latin:moreKeys="ض" />
<!-- 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="ی"
- latin:moreKeys="ئ,ي" />
+ latin:moreKeys="ئ,ي,ﯨ|ى" />
<!-- U+0628: "ب" ARABIC LETTER BEH -->
<Key
latin:keyLabel="ب" />
@@ -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="ا"
- latin:moreKeys="ء,آ,ٲ,ٱ,ٳ" />
+ latin:moreKeys="ء,آ,أ,ٱ,إ" />
<!-- U+062A: "ت" ARABIC LETTER TEH
- U+062B: "ﺙ" ARABIC LETTER THEH -->
+ U+062B: "ﺙ" ARABIC LETTER THEH
+ U+0629: "ة": ARABIC LETTER TEH MARBUTA -->
<Key
latin:keyLabel="ت"
- latin:moreKeys="ث" />
+ latin:moreKeys="ث,ة" />
<!-- U+0646: "ن" ARABIC LETTER NOON -->
<Key
latin:keyLabel="ن" />
diff --git a/java/res/xml/rowkeys_farsi3.xml b/java/res/xml/rowkeys_farsi3.xml
index 44710e0..29c3513 100644
--- a/java/res/xml/rowkeys_farsi3.xml
+++ b/java/res/xml/rowkeys_farsi3.xml
@@ -44,11 +44,10 @@
<Key
latin:keyLabel="پ" />
<!-- 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="و"
- latin:moreKeys="ٶ" />
+ latin:moreKeys="ؤ" />
<!-- U+06AF: "گ" ARABIC LETTER GAF -->
<Key
latin:keyLabel="گ" />
diff --git a/java/res/xml/rowkeys_symbols2.xml b/java/res/xml/rowkeys_symbols2.xml
index 34b9aa2..425e204 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="٬"
+ latin:keyHintLabel="\@"
+ latin:moreKeys="\@" />
+ <Key
+ latin:keyLabel="٫"
+ 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 2b2d9a4..c89716b 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="""
- 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="«"
+ latin:code="0x00BB"
+ latin:moreKeys="!text/more_keys_for_double_quote" />
+ <Key
+ latin:keyLabel="»"
+ latin:code="0x00AB"
+ latin:moreKeys="!text/more_keys_for_single_quote" />
+ </case>
+ <default>
+ <Key
+ latin:keyLabel="""
+ 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