Fix Farsi keyboard
Bug: 5456620
Change-Id: Ia54f084fbc7a238aeda1df234c723d9e675ce62f
diff --git a/java/res/values-fa/donottranslate-more-keys.xml b/java/res/values-fa/donottranslate-more-keys.xml
index 3e13c79..1fb1846 100644
--- a/java/res/values-fa/donottranslate-more-keys.xml
+++ b/java/res/values-fa/donottranslate-more-keys.xml
@@ -38,26 +38,26 @@
<!-- In order to make Tatweel easily distinguishable from other punctuations, we use consecutive Tatweels only for its displayed label. -->
<string name="more_keys_for_punctuation">"!fixedColumnOrder!8,\",\',-,:,!,؟,،,؛,ِ,َ,ٍ,ً,ٖ,ٰ,ٕ,ٔ,ُ,ٌ,ّ,ْ,ٓ,ـــ|ـ,/"</string>
<string name="keyhintlabel_for_punctuation">ً</string>
- <!-- U+0661: "١" ARABIC-INDIC DIGIT ONE -->
- <string name="keylabel_for_symbols_1">١</string>
- <!-- U+0662: "٢" ARABIC-INDIC DIGIT TWO -->
- <string name="keylabel_for_symbols_2">٢</string>
- <!-- U+0663: "٣" ARABIC-INDIC DIGIT THREE -->
- <string name="keylabel_for_symbols_3">٣</string>
- <!-- U+0664: "٤" ARABIC-INDIC DIGIT FOUR -->
- <string name="keylabel_for_symbols_4">٤</string>
- <!-- U+0665: "٥" ARABIC-INDIC DIGIT FIVE -->
- <string name="keylabel_for_symbols_5">٥</string>
- <!-- U+0666: "٦" ARABIC-INDIC DIGIT SIX -->
- <string name="keylabel_for_symbols_6">٦</string>
- <!-- U+0667: "٧" ARABIC-INDIC DIGIT SEVEN -->
- <string name="keylabel_for_symbols_7">٧</string>
- <!-- U+0668: "٨" ARABIC-INDIC DIGIT EIGHT -->
- <string name="keylabel_for_symbols_8">٨</string>
- <!-- U+0669: "٩" ARABIC-INDIC DIGIT NINE -->
- <string name="keylabel_for_symbols_9">٩</string>
- <!-- U+0660: "٠" ARABIC-INDIC DIGIT ZERO -->
- <string name="keylabel_for_symbols_0">٠</string>
+ <!-- U+06F1: "۱" EXTENDED ARABIC-INDIC DIGIT ONE -->
+ <string name="keylabel_for_symbols_1">۱</string>
+ <!-- U+06F2: "۲" EXTENDED ARABIC-INDIC DIGIT TWO -->
+ <string name="keylabel_for_symbols_2">۲</string>
+ <!-- U+06F3: "۳" EXTENDED ARABIC-INDIC DIGIT THREE -->
+ <string name="keylabel_for_symbols_3">۳</string>
+ <!-- U+06F4: "۴" EXTENDED ARABIC-INDIC DIGIT FOUR -->
+ <string name="keylabel_for_symbols_4">۴</string>
+ <!-- U+06F5: "۵" EXTENDED ARABIC-INDIC DIGIT FIVE -->
+ <string name="keylabel_for_symbols_5">۵</string>
+ <!-- U+06F6: "۶" EXTENDED ARABIC-INDIC DIGIT SIX -->
+ <string name="keylabel_for_symbols_6">۶</string>
+ <!-- U+06F7: "۷" EXTENDED ARABIC-INDIC DIGIT SEVEN -->
+ <string name="keylabel_for_symbols_7">۷</string>
+ <!-- U+06F8: "۸" EXTENDED ARABIC-INDIC DIGIT EIGHT -->
+ <string name="keylabel_for_symbols_8">۸</string>
+ <!-- U+06F9: "۹" EXTENDED ARABIC-INDIC DIGIT NINE -->
+ <string name="keylabel_for_symbols_9">۹</string>
+ <!-- U+06F0: "۰" EXTENDED ARABIC-INDIC DIGIT ZERO -->
+ <string name="keylabel_for_symbols_0">۰</string>
<string name="additional_more_keys_for_symbols_1">1</string>
<string name="additional_more_keys_for_symbols_2">2</string>
<string name="additional_more_keys_for_symbols_3">3</string>
@@ -84,9 +84,11 @@
<!-- U+060C: "،" ARABIC COMMA
U+061B: "؛" ARABIC SEMICOLON
U+061F: "؟" ARABIC QUESTION MARK -->
- <string name="keylabel_for_apostrophe">،</string>
- <string name="keylabel_for_dash">"."</string>
- <string name="keyhintlabel_for_apostrophe">؟</string>
+ <string name="keylabel_for_tablet_comma">"،"</string>
+ <string name="keyhintlabel_for_tablet_comma">"!"</string>
+ <string name="more_keys_for_tablet_comma">"!,\\,"</string>
+ <string name="keyhintlabel_for_tablet_period">"؟"</string>
+ <string name="more_keys_for_tablet_period">"؟,\?"</string>
<string name="keyhintlabel_for_dash">ً</string>
<string name="more_keys_for_apostrophe">"؟,؛,!,:,-,/,\',\""</string>
<!-- U+0651: "ّ" ARABIC SHADDA
@@ -104,7 +106,7 @@
U+0654: "ٔ" ARABIC HAMZA ABOVE
U+0655: "ٕ" ARABIC HAMZA BELOW -->
<!-- In order to make Tatweel easily distinguishable from other punctuations, we use consecutive Tatweels only for its displayed label. -->
- <string name="more_keys_for_dash">"ّ,ْ,ٌ,ٓ,ُ,ِ,َ,ً,ـــ|ـ,ٍ,ٔ,ٖ,ٕ,ٰ"</string>
+ <string name="more_keys_for_dash">"ّ,ْ,ٌ,ٓ,ُ,ِ,َ,ً,ـــ|ـ,ٍ,ٔ,ٖ,ٕ,_,ٰ"</string>
<!-- U+266A: "♪" EIGHTH NOTE -->
<string name="more_keys_for_bullet">♪</string>
<!-- U+2605: "★" BLACK STAR
diff --git a/java/res/values/donottranslate-more-keys.xml b/java/res/values/donottranslate-more-keys.xml
index 6577acd..79e12f8 100644
--- a/java/res/values/donottranslate-more-keys.xml
+++ b/java/res/values/donottranslate-more-keys.xml
@@ -139,6 +139,11 @@
<string name="more_keys_for_symbols_semicolon"></string>
<!-- U+2030: "‰" PER MILLE SIGN -->
<string name="more_keys_for_symbols_percent">‰</string>
+ <string name="keylabel_for_tablet_comma">,</string>
+ <string name="keyhintlabel_for_tablet_comma">!</string>
+ <string name="more_keys_for_tablet_comma">!</string>
+ <string name="keyhintlabel_for_tablet_period">\?</string>
+ <string name="more_keys_for_tablet_period">\?</string>
<string name="keylabel_for_apostrophe">\'</string>
<string name="keylabel_for_dash">-</string>
<string name="keyhintlabel_for_apostrophe">\"</string>
diff --git a/java/res/xml-fa/keyboard_set.xml b/java/res/xml-fa/keyboard_set.xml
index 9bd1050..cb62b0d 100644
--- a/java/res/xml-fa/keyboard_set.xml
+++ b/java/res/xml-fa/keyboard_set.xml
@@ -23,7 +23,7 @@
latin:keyboardLocale="fa" >
<Element
latin:elementName="alphabet"
- latin:elementKeyboard="@xml/kbd_arabic" />
+ latin:elementKeyboard="@xml/kbd_farsi" />
<Element
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
diff --git a/java/res/xml/keys_comma_period.xml b/java/res/xml-sw600dp/keys_comma_period.xml
similarity index 77%
rename from java/res/xml/keys_comma_period.xml
rename to java/res/xml-sw600dp/keys_comma_period.xml
index 6db02b6..f5f307b 100644
--- a/java/res/xml/keys_comma_period.xml
+++ b/java/res/xml-sw600dp/keys_comma_period.xml
@@ -32,14 +32,14 @@
</case>
<default>
<Key
- latin:keyLabel=","
- latin:keyHintLabel="!"
- latin:moreKeys="!"
+ latin:keyLabel="@string/keylabel_for_tablet_comma"
+ latin:keyHintLabel="@string/keyhintlabel_for_tablet_comma"
+ latin:moreKeys="@string/more_keys_for_tablet_comma"
latin:keyStyle="hasShiftedLetterHintStyle" />
<Key
latin:keyLabel="."
- latin:keyHintLabel="\?"
- latin:moreKeys="\?"
+ latin:keyHintLabel="@string/keyhintlabel_for_tablet_period"
+ latin:moreKeys="@string/more_keys_for_tablet_period"
latin:keyStyle="hasShiftedLetterHintStyle" />
</default>
</switch>
diff --git a/java/res/xml-sw600dp/rowkeys_farsi1.xml b/java/res/xml-sw600dp/rowkeys_farsi1.xml
new file mode 100644
index 0000000..ab260a4
--- /dev/null
+++ b/java/res/xml-sw600dp/rowkeys_farsi1.xml
@@ -0,0 +1,66 @@
+<?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 -->
+ <Key
+ latin:keyLabel="ض" />
+ <!-- U+0635: "ص" ARABIC LETTER SAD -->
+ <Key
+ latin:keyLabel="ص" />
+ <!-- U+062B: "ث" ARABIC LETTER THEH -->
+ <Key
+ latin:keyLabel="ث" />
+ <!-- U+0642: "ق" ARABIC LETTER QAF -->
+ <Key
+ latin:keyLabel="ق" />
+ <!-- U+0641: "ف" ARABIC LETTER FEH -->
+ <Key
+ latin:keyLabel="ف" />
+ <!-- U+063A: "غ" ARABIC LETTER GHAIN -->
+ <Key
+ latin:keyLabel="غ" />
+ <!-- U+0639: "ع" ARABIC LETTER AIN -->
+ <Key
+ latin:keyLabel="ع" />
+ <!-- U+0647: "ه" ARABIC LETTER HEH
+ U+FEEB: "ﻫ" ARABIC LETTER HEH INITIAL FORM
+ U+0647/U+200D: ARABIC LETTER HEH + ZERO WIDTH JOINER
+ U+06C0: "ۀ" ARABIC LETTER HEH WITH YEH ABOVE
+ U+0629: "ة" ARABIC LETTER TEH MARBUTA -->
+ <!-- TODO: DroidSansArabic lacks the glyph of U+06C0 ARABIC LETTER HEH WITH YEH ABOVE -->
+ <Key
+ latin:keyLabel="ه"
+ latin:moreKeys="ﻫ|ه‍,ۀ,ة,%" />
+ <!-- U+062E: "خ" ARABIC LETTER KHAH -->
+ <Key
+ latin:keyLabel="خ" />
+ <!-- U+062D: "ح" ARABIC LETTER HAH -->
+ <Key
+ latin:keyLabel="ح" />
+ <!-- U+062C: "ج" ARABIC LETTER JEEM -->
+ <Key
+ latin:keyLabel="ج" />
+ <!-- U+0686: "چ" ARABIC LETTER TCHEH -->
+ <Key
+ latin:keyLabel="چ" />
+</merge>
diff --git a/java/res/xml-sw600dp/rowkeys_farsi2.xml b/java/res/xml-sw600dp/rowkeys_farsi2.xml
new file mode 100644
index 0000000..98e0f21
--- /dev/null
+++ b/java/res/xml-sw600dp/rowkeys_farsi2.xml
@@ -0,0 +1,70 @@
+<?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 -->
+ <Key
+ latin:keyLabel="ش" />
+ <!-- U+0633: "س" ARABIC LETTER SEEN -->
+ <Key
+ latin:keyLabel="س" />
+ <!-- U+06CC: "ی" ARABIC LETTER FARSI YEH
+ U+0626: "ئ" ARABIC LETTER YEH WITH HAMZA ABOVE
+ U+064A: "ي" ARABIC LETTER YEH -->
+ <Key
+ latin:keyLabel="ی"
+ latin:moreKeys="ئ,ي" />
+ <!-- U+0628: "ب" ARABIC LETTER BEH -->
+ <Key
+ latin:keyLabel="ب" />
+ <!-- U+0644: "ل" ARABIC LETTER LAM -->
+ <Key
+ latin:keyLabel="ل" />
+ <!-- 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+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 -->
+ <Key
+ latin:keyLabel="ا"
+ latin:moreKeys="ء,آ,ٲ,ٱ,ٳ" />
+ <!-- U+062A: "ت" ARABIC LETTER TEH -->
+ <Key
+ latin:keyLabel="ت" />
+ <!-- U+0646: "ن" ARABIC LETTER NOON -->
+ <Key
+ latin:keyLabel="ن" />
+ <!-- U+0645: "م" ARABIC LETTER MEEM -->
+ <Key
+ latin:keyLabel="م" />
+ <!-- U+06A9: "ک" ARABIC LETTER KEHEH
+ U+0643: "ك" ARABIC LETTER KAF -->
+ <Key
+ latin:keyLabel="ک"
+ latin:moreKeys="ك" />
+ <!-- U+06AF: "گ" ARABIC LETTER GAF -->
+ <Key
+ latin:keyLabel="گ" />
+</merge>
diff --git a/java/res/xml-sw600dp/rowkeys_farsi3.xml b/java/res/xml-sw600dp/rowkeys_farsi3.xml
new file mode 100644
index 0000000..c80c14a
--- /dev/null
+++ b/java/res/xml-sw600dp/rowkeys_farsi3.xml
@@ -0,0 +1,53 @@
+<?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+0638: "ظ" ARABIC LETTER ZAH -->
+ <Key
+ latin:keyLabel="ظ" />
+ <!-- U+0637: "ط" ARABIC LETTER TAH -->
+ <Key
+ latin:keyLabel="ط" />
+ <!-- U+0632: "ز" ARABIC LETTER ZAIN
+ U+0698: "ژ" ARABIC LETTER JEH -->
+ <Key
+ latin:keyLabel="ز"
+ latin:moreKeys="ژ" />
+ <!-- U+0631: "ر" ARABIC LETTER REH -->
+ <Key
+ latin:keyLabel="ر" />
+ <!-- U+0630: "ذ" ARABIC LETTER THAL -->
+ <Key
+ latin:keyLabel="ذ" />
+ <!-- U+062F: "د" ARABIC LETTER DAL -->
+ <Key
+ latin:keyLabel="د" />
+ <!-- U+067E: "پ" ARABIC LETTER PEH -->
+ <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 -->
+ <Key
+ latin:keyLabel="و"
+ latin:moreKeys="ٶ" />
+</merge>
diff --git a/java/res/xml-sw600dp/rows_farsi.xml b/java/res/xml-sw600dp/rows_farsi.xml
new file mode 100644
index 0000000..7580042
--- /dev/null
+++ b/java/res/xml-sw600dp/rows_farsi.xml
@@ -0,0 +1,62 @@
+<?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"
+>
+ <include
+ latin:keyboardLayout="@xml/key_styles_common" />
+ <Row
+ latin:keyWidth="7.6%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_farsi1" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="fillBoth" />
+ </Row>
+ <Row
+ latin:keyWidth="7.6%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_farsi2"
+ latin:keyXPos="4.5%p" />
+ <Key
+ latin:keyStyle="enterKeyStyle"
+ latin:keyWidth="fillBoth" />
+ </Row>
+ <Row
+ latin:keyWidth="7.6%p"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="10.0%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_farsi3" />
+ <include
+ latin:keyboardLayout="@xml/keys_comma_period" />
+ <include
+ latin:keyboardLayout="@xml/key_smiley"
+ latin:keyXPos="-9.0%p"
+ latin:keyWidth="fillRight" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/row_qwerty4" />
+</merge>
diff --git a/java/res/xml-sw768dp/row_qwerty4.xml b/java/res/xml-sw768dp/row_qwerty4.xml
index 0aa04f8..90da21b 100644
--- a/java/res/xml-sw768dp/row_qwerty4.xml
+++ b/java/res/xml-sw768dp/row_qwerty4.xml
@@ -87,11 +87,7 @@
<!-- U+200C: "" ZERO WIDTH NON-JOINER
U+200D: "" ZERO WIDTH JOINER -->
<Key
- latin:keyLabel="‌"
- latin:moreKeys="‍"
- latin:keyLabelFlags="hasPopupHint"
- latin:altCode="@integer/key_space"
- latin:keyActionFlags="altCodeWhileTyping" />
+ latin:keyStyle="zwnjKeyStyle" />
</case>
<default>
<Key
diff --git a/java/res/xml-sw768dp/rows_farsi.xml b/java/res/xml-sw768dp/rows_farsi.xml
new file mode 100644
index 0000000..b969ff2
--- /dev/null
+++ b/java/res/xml-sw768dp/rows_farsi.xml
@@ -0,0 +1,69 @@
+<?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"
+>
+ <include
+ latin:keyboardLayout="@xml/key_styles_common" />
+ <Row
+ latin:keyWidth="7.125%p"
+ >
+ <Key
+ latin:keyStyle="tabKeyStyle"
+ latin:keyLabelFlags="alignLeft" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_farsi1" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="fillBoth" />
+ </Row>
+ <Row
+ latin:keyWidth="7.125%p"
+ >
+ <Key
+ latin:keyStyle="toSymbolKeyStyle"
+ latin:keyLabelFlags="alignLeft"
+ latin:keyWidth="11.172%p"/>
+ <include
+ latin:keyboardLayout="@xml/rowkeys_farsi2" />
+ <Key
+ latin:keyStyle="enterKeyStyle"
+ latin:keyXPos="-9.375%p"
+ latin:keyWidth="fillBoth" />
+ </Row>
+ <Row
+ latin:keyWidth="7.375%p"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="13.829%p"/>
+ <include
+ latin:keyboardLayout="@xml/rowkeys_farsi3" />
+ <include
+ latin:keyboardLayout="@xml/keys_comma_period" />
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyXPos="-13.750%p"
+ latin:keyWidth="fillBoth" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/row_qwerty4" />
+</merge>
diff --git a/java/res/xml/kbd_farsi.xml b/java/res/xml/kbd_farsi.xml
new file mode 100644
index 0000000..1af4e61
--- /dev/null
+++ b/java/res/xml/kbd_farsi.xml
@@ -0,0 +1,26 @@
+<?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.
+*/
+-->
+
+<Keyboard
+ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+ <include
+ latin:keyboardLayout="@xml/rows_farsi" />
+</Keyboard>
diff --git a/java/res/xml/key_styles_currency.xml b/java/res/xml/key_styles_currency.xml
index 3e4afdf..9dec7af 100644
--- a/java/res/xml/key_styles_currency.xml
+++ b/java/res/xml/key_styles_currency.xml
@@ -97,6 +97,32 @@
latin:styleName="moreCurrency4KeyStyle"
latin:keyLabel="¢" />
</case>
+ <case
+ latin:languageCode="fa"
+ >
+ <!-- U+FDFC: "﷼" RIAL SIGN
+ U+00A3: "£" POUND SIGN
+ U+20AC: "€" EURO SIGN
+ U+00A2: "¢" CENT SIGN -->
+ <!-- TODO: DroidSansArabic lacks the glyph of U+FCDC: RIAL SIGN -->
+ <key-style
+ latin:styleName="currencyKeyStyle"
+ latin:keyLabel="﷼"
+ latin:moreKeys="@string/more_keys_for_currency_general" />
+ <key-style
+ latin:styleName="moreCurrency1KeyStyle"
+ latin:keyLabel="£" />
+ <key-style
+ latin:styleName="moreCurrency2KeyStyle"
+ latin:keyLabel="€" />
+ <key-style
+ latin:styleName="moreCurrency3KeyStyle"
+ latin:keyLabel="$"
+ latin:moreKeys="¢" />
+ <key-style
+ latin:styleName="moreCurrency4KeyStyle"
+ latin:keyLabel="¢" />
+ </case>
<!-- United Kingdom -->
<case
latin:countryCode="GB"
diff --git a/java/res/xml/rowkeys_farsi1.xml b/java/res/xml/rowkeys_farsi1.xml
new file mode 100644
index 0000000..15cb801
--- /dev/null
+++ b/java/res/xml/rowkeys_farsi1.xml
@@ -0,0 +1,90 @@
+<?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+0635: "ص" ARABIC LETTER SAD
+ U+06F1: "۱" EXTENDED ARABIC-INDIC DIGIT ONE -->
+ <Key
+ latin:keyLabel="ص"
+ latin:keyHintLabel="1"
+ latin:additionalMoreKeys="1,۱" />
+ <!-- U+0642: "ق" ARABIC LETTER QAF
+ U+06F2: "۲" EXTENDED ARABIC-INDIC DIGIT TWO -->
+ <Key
+ latin:keyLabel="ق"
+ latin:keyHintLabel="2"
+ latin:additionalMoreKeys="2,۲" />
+ <!-- U+0641: "ف" ARABIC LETTER FEH
+ U+06F3: "۳" EXTENDED ARABIC-INDIC DIGIT THREE -->
+ <Key
+ latin:keyLabel="ف"
+ latin:keyHintLabel="3"
+ latin:additionalMoreKeys="3,۳" />
+ <!-- U+063A: "غ" ARABIC LETTER GHAIN
+ U+06F4: "۴" EXTENDED ARABIC-INDIC DIGIT FOUR -->
+ <Key
+ latin:keyLabel="غ"
+ latin:keyHintLabel="4"
+ latin:additionalMoreKeys="4,۴" />
+ <!-- U+0639: "ع" ARABIC LETTER AIN
+ U+06F5: "۵" EXTENDED ARABIC-INDIC DIGIT FIVE -->
+ <Key
+ latin:keyLabel="ع"
+ latin:keyHintLabel="5"
+ 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
+ U+06C0: "ۀ" ARABIC LETTER HEH WITH YEH ABOVE
+ U+0629: "ة" ARABIC LETTER TEH MARBUTA
+ U+06F6: "۶" EXTENDED ARABIC-INDIC DIGIT SIX -->
+ <!-- TODO: DroidSansArabic lacks the glyph of U+06C0 ARABIC LETTER HEH WITH YEH ABOVE -->
+ <Key
+ latin:keyLabel="ه"
+ latin:moreKeys="ﻫ|ه‍,ۀ,ة,%"
+ latin:keyHintLabel="6"
+ latin:additionalMoreKeys="6,۶" />
+ <!-- U+062E: "خ" ARABIC LETTER KHAH
+ U+06F7: "۷" EXTENDED ARABIC-INDIC DIGIT SEVEN -->
+ <Key
+ latin:keyLabel="خ"
+ latin:keyHintLabel="7"
+ latin:additionalMoreKeys="7,۷" />
+ <!-- U+062D: "ح" ARABIC LETTER HAH
+ U+06F8: "۸" EXTENDED ARABIC-INDIC DIGIT EIGHT -->
+ <Key
+ latin:keyLabel="ح"
+ latin:keyHintLabel="8"
+ latin:additionalMoreKeys="8,۸" />
+ <!-- U+062C: "ج" ARABIC LETTER JEEM
+ U+06F9: "۹" EXTENDED ARABIC-INDIC DIGIT NINE -->
+ <Key
+ latin:keyLabel="ج"
+ latin:keyHintLabel="9"
+ latin:additionalMoreKeys="9,۹" />
+ <!-- U+0686: "چ" ARABIC LETTER TCHEH
+ U+06F0: "۰" EXTENDED ARABIC-INDIC DIGIT ZERO -->
+ <Key
+ latin:keyLabel="چ"
+ latin:keyHintLabel="0"
+ latin:additionalMoreKeys="0,۰" />
+</merge>
diff --git a/java/res/xml/rowkeys_farsi2.xml b/java/res/xml/rowkeys_farsi2.xml
new file mode 100644
index 0000000..77279c6
--- /dev/null
+++ b/java/res/xml/rowkeys_farsi2.xml
@@ -0,0 +1,71 @@
+<?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 -->
+ <Key
+ latin:keyLabel="ش" />
+ <!-- U+0633: "س" ARABIC LETTER SEEN
+ U+0636: "ض" ARABIC LETTER DAD -->
+ <Key
+ latin:keyLabel="س"
+ latin:moreKeys="ض" />
+ <!-- U+06CC: "ی" ARABIC LETTER FARSI YEH
+ U+0626: "ئ" ARABIC LETTER YEH WITH HAMZA ABOVE
+ U+064A: "ي" ARABIC LETTER YEH -->
+ <Key
+ latin:keyLabel="ی"
+ latin:moreKeys="ئ,ي" />
+ <!-- U+0628: "ب" ARABIC LETTER BEH -->
+ <Key
+ latin:keyLabel="ب" />
+ <!-- U+0644: "ل" ARABIC LETTER LAM -->
+ <Key
+ latin:keyLabel="ل" />
+ <!-- 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+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 -->
+ <Key
+ latin:keyLabel="ا"
+ latin:moreKeys="ء,آ,ٲ,ٱ,ٳ" />
+ <!-- U+062A: "ت" ARABIC LETTER TEH
+ U+062B: "ﺙ" ARABIC LETTER THEH -->
+ <Key
+ latin:keyLabel="ت"
+ latin:moreKeys="ث" />
+ <!-- U+0646: "ن" ARABIC LETTER NOON -->
+ <Key
+ latin:keyLabel="ن" />
+ <!-- U+0645: "م" ARABIC LETTER MEEM -->
+ <Key
+ latin:keyLabel="م" />
+ <!-- U+06A9: "ک" ARABIC LETTER KEHEH
+ U+0643: "ك" ARABIC LETTER KAF -->
+ <Key
+ latin:keyLabel="ک"
+ latin:moreKeys="ك" />
+</merge>
diff --git a/java/res/xml/rowkeys_farsi3.xml b/java/res/xml/rowkeys_farsi3.xml
new file mode 100644
index 0000000..8db56e3
--- /dev/null
+++ b/java/res/xml/rowkeys_farsi3.xml
@@ -0,0 +1,55 @@
+<?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+0637: "ط" ARABIC LETTER TAH
+ U+0638: "ظ" ARABIC LETTER ZAH -->
+ <Key
+ latin:keyLabel="ط"
+ latin:moreKeys="ظ" />
+ <!-- U+0698: "ژ" ARABIC LETTER JEH -->
+ <Key
+ latin:keyLabel="ژ" />
+ <!-- U+0632: "ز" ARABIC LETTER ZAIN -->
+ <Key
+ latin:keyLabel="ز" />
+ <!-- U+0631: "ر" ARABIC LETTER REH -->
+ <Key
+ latin:keyLabel="ر" />
+ <!-- U+062F: "د" ARABIC LETTER DAL
+ U+0630: "ذ" ARABIC LETTER THAL -->
+ <Key
+ latin:keyLabel="د"
+ latin:moreKeys="ذ" />
+ <!-- U+067E: "پ" ARABIC LETTER PEH -->
+ <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 -->
+ <Key
+ latin:keyLabel="و"
+ latin:moreKeys="ٶ" />
+ <!-- U+06AF: "گ" ARABIC LETTER GAF -->
+ <Key
+ latin:keyLabel="گ" />
+</merge>
diff --git a/java/res/xml/rows_farsi.xml b/java/res/xml/rows_farsi.xml
new file mode 100644
index 0000000..cc0c526
--- /dev/null
+++ b/java/res/xml/rows_farsi.xml
@@ -0,0 +1,51 @@
+<?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"
+>
+ <include
+ latin:keyboardLayout="@xml/key_styles_common" />
+ <Row
+ latin:keyWidth="10%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_farsi1" />
+ </Row>
+ <Row
+ latin:keyWidth="10%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_farsi2" />
+ </Row>
+ <Row
+ latin:keyWidth="10%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_farsi3"
+ latin:keyXPos="5.0%p" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="fillRight"
+ latin:visualInsetsLeft="1%p" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/row_qwerty4" />
+</merge>