diff --git a/java/res/values-ar/donottranslate-altchars.xml b/java/res/values-ar/donottranslate-altchars.xml new file mode 100644 index 000000000..b4c103dcf --- /dev/null +++ b/java/res/values-ar/donottranslate-altchars.xml @@ -0,0 +1,70 @@ + + + + + "\u060c,\u061b,\u061f,!,:,-,/,\',\",\u0651,\u0652,\u064c,\u0640,\u064f,\u064e,\u0650,\u064b,\u064d" + ".,\u060c,\u061b,\u061f,!,:,-,/,\',\",\u0651,\u0652,\u064c,\u0640,\u064f,\u064e,\u0650,\u064b,\u064d" + 9 + 10 + \u064b + "١" + "٢" + "٣" + "٤" + "٥" + "٦" + "٧" + "٨" + "٩" + "٠" + 1,¹,½,⅓,¼,⅛ + 2,²,⅔ + 3,³,¾,⅜ + 4,⁴ + 5,⅝ + 6 + 7,⅞ + 8 + 9 + 0,ⁿ,∅ + \u060c + \u061f + \u061b + , + \?,¿ + ; + "،" + "." + "؟" + "\u064b" + "\u061f,\u061b,!,:,-,/,\',\"" + "\u0651,\u0652,\u064c,\u0640,\u064f,\u064e,\u0650,\u064b,\u064d" + diff --git a/java/res/values/donottranslate-altchars.xml b/java/res/values/donottranslate-altchars.xml index 71ed6d2de..9d06d06f7 100644 --- a/java/res/values/donottranslate-altchars.xml +++ b/java/res/values/donottranslate-altchars.xml @@ -51,7 +51,42 @@ ":-)|:-) ,:-(|:-( ,;-)|;-) ,:-P|:-P ,=-O|=-O ,:-*|:-* ,:O|:O ,B-)|B-) ,:-$|:-$ ,:-!|:-! ,:-[|:-[ ,O:-)|O:-) ,:-\\\\\\\\|:-\\\\\\\\ ,:\'(|:\'( ,:-D|:-D " "\\,,\?,!,:,-,\',\",(,),/,;,+,&,\@" ".,\\,,\?,!,:,-,\',\",(,),/,;,+,&,\@" + 7 + 8 + ".com" ".net,.org,.gov,.edu" + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 0 + ¹,½,⅓,¼,⅛ + ²,⅔ + ³,¾,⅜ + + + + + + + ⁿ,∅ + , + \? + ; + + ¿ + + \' + - + \" + _ + \" + _ diff --git a/java/res/xml-sw600dp/kbd_key_styles.xml b/java/res/xml-sw600dp/kbd_key_styles.xml index bd6736a7b..388e293e6 100644 --- a/java/res/xml-sw600dp/kbd_key_styles.xml +++ b/java/res/xml-sw600dp/kbd_key_styles.xml @@ -51,7 +51,7 @@ latin:parentStyle="functionalKeyStyle" latin:isSticky="true" /> - + + latin:keyHintLabel="@string/keyhintlabel_for_apostrophe" + latin:popupCharacters="@string/alternates_for_apostrophe" /> @@ -54,10 +54,10 @@ + latin:keyHintLabel="@string/keyhintlabel_for_dash" + latin:popupCharacters="@string/alternates_for_dash" /> diff --git a/java/res/xml-sw600dp/kbd_rows_arabic.xml b/java/res/xml-sw600dp/kbd_rows_arabic.xml index f1a4755e7..4c1909438 100644 --- a/java/res/xml-sw600dp/kbd_rows_arabic.xml +++ b/java/res/xml-sw600dp/kbd_rows_arabic.xml @@ -18,9 +18,6 @@ */ --> - - - @@ -40,21 +37,23 @@ latin:keyLabel="ق" /> + latin:popupCharacters="ڤ" /> + + latin:popupCharacters="\ufeeb|\u0647\u0640" /> + latin:popupCharacters="چ" /> + latin:popupCharacters="پ" /> + + latin:popupCharacters="\ufefb|\u0644\u0627,\ufef7|\u0644\u0623,\ufef9|\u0644\u0625,\ufef5|\u0644\u0622" /> + + latin:popupCharacters="\u0623,\u0625,\u0622" /> + latin:popupCharacters="گ" /> - + + + + + + + + + + + + + + + + latin:popupCharacters="ژ" /> - - - + + diff --git a/java/res/xml-sw600dp/kbd_symbols.xml b/java/res/xml-sw600dp/kbd_symbols.xml index 19aeab6dc..dea08ddff 100644 --- a/java/res/xml-sw600dp/kbd_symbols.xml +++ b/java/res/xml-sw600dp/kbd_symbols.xml @@ -30,32 +30,36 @@ latin:keyWidth="9.0%p" > + latin:keyLabel="@string/keylabel_for_symbols_1" + latin:popupCharacters="@string/alternates_for_symbols_1" + latin:keyEdgeFlags="left" /> + latin:keyLabel="@string/keylabel_for_symbols_2" + latin:popupCharacters="@string/alternates_for_symbols_2" /> + latin:keyLabel="@string/keylabel_for_symbols_3" + latin:popupCharacters="@string/alternates_for_symbols_3" /> + latin:keyLabel="@string/keylabel_for_symbols_4" + latin:popupCharacters="@string/alternates_for_symbols_4" /> + latin:keyLabel="@string/keylabel_for_symbols_5" + latin:popupCharacters="@string/alternates_for_symbols_5" /> + latin:keyLabel="@string/keylabel_for_symbols_6" + latin:popupCharacters="@string/alternates_for_symbols_6" /> + latin:keyLabel="@string/keylabel_for_symbols_7" + latin:popupCharacters="@string/alternates_for_symbols_7" /> + latin:keyLabel="@string/keylabel_for_symbols_8" + latin:popupCharacters="@string/alternates_for_symbols_8" /> + latin:keyLabel="@string/keylabel_for_symbols_9" + latin:popupCharacters="@string/alternates_for_symbols_9" /> + latin:keyLabel="@string/keylabel_for_symbols_0" + latin:popupCharacters="@string/alternates_for_symbols_0" /> + latin:keyLabel="@string/keylabel_for_symbols_semicolon" + latin:popupCharacters="@string/alternates_for_symbols_semicolon" /> + latin:keyLabel="@string/keylabel_for_symbols_comma" + latin:popupCharacters="@string/alternates_for_symbols_comma" /> + latin:keyLabel="@string/keylabel_for_symbols_question" + latin:popupCharacters="@string/alternates_for_symbols_question" /> diff --git a/java/res/xml-sw768dp/kbd_key_styles.xml b/java/res/xml-sw768dp/kbd_key_styles.xml index 867a3bbe5..ab8784a05 100644 --- a/java/res/xml-sw768dp/kbd_key_styles.xml +++ b/java/res/xml-sw768dp/kbd_key_styles.xml @@ -33,7 +33,7 @@ latin:parentStyle="functionalKeyStyle" latin:isSticky="true" /> - + + latin:keyHintLabel="@string/keyhintlabel_for_apostrophe" + latin:popupCharacters="@string/alternates_for_apostrophe" /> @@ -54,10 +54,10 @@ + latin:keyHintLabel="@string/keyhintlabel_for_dash" + latin:popupCharacters="@string/alternates_for_dash" /> diff --git a/java/res/xml-sw768dp/kbd_rows_arabic.xml b/java/res/xml-sw768dp/kbd_rows_arabic.xml index c1810026b..f3283ae94 100644 --- a/java/res/xml-sw768dp/kbd_rows_arabic.xml +++ b/java/res/xml-sw768dp/kbd_rows_arabic.xml @@ -18,9 +18,6 @@ */ --> - - - @@ -44,21 +41,23 @@ latin:keyLabel="ق" /> + latin:popupCharacters="ڤ" /> + + latin:popupCharacters="\ufeeb|\u0647\u0640" /> + latin:popupCharacters="چ" /> + latin:popupCharacters="پ" /> + + latin:popupCharacters="\ufefb|\u0644\u0627,\ufef7|\u0644\u0623,\ufef9|\u0644\u0625,\ufef5|\u0644\u0622" /> + + latin:popupCharacters="\u0623,\u0625,\u0622" /> + latin:popupCharacters="گ" /> - + latin:keyLabel="ئ" + latin:keyXPos="12.750%p" /> + latin:popupCharacters="ژ" /> - + diff --git a/java/res/xml-sw768dp/kbd_symbols.xml b/java/res/xml-sw768dp/kbd_symbols.xml index 0e6103ab9..eb77d4d5b 100644 --- a/java/res/xml-sw768dp/kbd_symbols.xml +++ b/java/res/xml-sw768dp/kbd_symbols.xml @@ -35,32 +35,35 @@ latin:keyWidth="7.969%p" latin:keyEdgeFlags="left" /> + latin:keyLabel="@string/keylabel_for_symbols_1" + latin:popupCharacters="@string/alternates_for_symbols_1" /> + latin:keyLabel="@string/keylabel_for_symbols_2" + latin:popupCharacters="@string/alternates_for_symbols_2" /> + latin:keyLabel="@string/keylabel_for_symbols_3" + latin:popupCharacters="@string/alternates_for_symbols_3" /> + latin:keyLabel="@string/keylabel_for_symbols_4" + latin:popupCharacters="@string/alternates_for_symbols_4" /> + latin:keyLabel="@string/keylabel_for_symbols_5" + latin:popupCharacters="@string/alternates_for_symbols_5" /> + latin:keyLabel="@string/keylabel_for_symbols_6" + latin:popupCharacters="@string/alternates_for_symbols_6" /> + latin:keyLabel="@string/keylabel_for_symbols_7" + latin:popupCharacters="@string/alternates_for_symbols_7" /> + latin:keyLabel="@string/keylabel_for_symbols_8" + latin:popupCharacters="@string/alternates_for_symbols_8" /> + latin:keyLabel="@string/keylabel_for_symbols_9" + latin:popupCharacters="@string/alternates_for_symbols_9" /> + latin:keyLabel="@string/keylabel_for_symbols_0" + latin:popupCharacters="@string/alternates_for_symbols_0" /> + latin:keyLabel="@string/keylabel_for_symbols_semicolon" + latin:popupCharacters="@string/alternates_for_symbols_semicolon" /> + latin:keyLabel="@string/keylabel_for_symbols_comma" + latin:popupCharacters="@string/alternates_for_symbols_comma" /> + latin:keyLabel="@string/keylabel_for_symbols_question" + latin:popupCharacters="@string/alternates_for_symbols_question" /> - + + + + + + + + + diff --git a/java/res/xml/kbd_qwerty_row4.xml b/java/res/xml/kbd_qwerty_row4.xml index ff2ef3acd..298f0f61e 100644 --- a/java/res/xml/kbd_qwerty_row4.xml +++ b/java/res/xml/kbd_qwerty_row4.xml @@ -41,27 +41,9 @@ - - - - - - - - + @@ -74,25 +56,8 @@ - - - - - - - - + diff --git a/java/res/xml/kbd_rows_arabic.xml b/java/res/xml/kbd_rows_arabic.xml index a548775a4..07e62741d 100644 --- a/java/res/xml/kbd_rows_arabic.xml +++ b/java/res/xml/kbd_rows_arabic.xml @@ -18,9 +18,6 @@ */ --> - - - @@ -31,28 +28,49 @@ > + latin:keyLabel="ص" + latin:keyHintLabel="2" + latin:popupCharacters="2,٢" /> + latin:keyLabel="ق" + latin:keyHintLabel="3" + latin:popupCharacters="3,٣" /> + + latin:keyHintLabel="4" + latin:popupCharacters="\u06a4,4,٤" /> + latin:keyLabel="غ" + latin:keyHintLabel="5" + latin:popupCharacters="5,٥" /> + latin:keyLabel="ع" + latin:keyHintLabel="6" + latin:popupCharacters="6,٦" /> + + latin:keyHintLabel="7" + latin:popupCharacters="7,٧,\ufeeb|\u0647\u0640" /> + latin:keyLabel="خ" + latin:keyHintLabel="8" + latin:popupCharacters="8,٨" /> + latin:keyLabel="ح" + latin:keyHintLabel="9" + latin:popupCharacters="9,٩" /> + @@ -64,20 +82,36 @@ latin:keyEdgeFlags="left" /> + + latin:popupCharacters="\u0626,\u0649" /> + + latin:popupCharacters="\ufefb|\u0644\u0627,\ufef7|\u0644\u0623,\ufef9|\u0644\u0625,\ufef5|\u0644\u0622" /> + + latin:popupCharacters="\u0621,\u0623,\u0625,\u0622" /> + latin:keyLabel="ت" + latin:popupCharacters="ث" /> @@ -105,18 +140,17 @@ latin:popupCharacters="ژ" /> - + latin:keyLabel="و" + latin:popupCharacters="ؤ" /> - + diff --git a/java/res/xml/kbd_symbols.xml b/java/res/xml/kbd_symbols.xml index 8e9124f74..8f682d932 100644 --- a/java/res/xml/kbd_symbols.xml +++ b/java/res/xml/kbd_symbols.xml @@ -30,33 +30,36 @@ latin:rowEdgeFlags="top" > + latin:keyLabel="@string/keylabel_for_symbols_2" + latin:popupCharacters="@string/alternates_for_symbols_2" /> + latin:keyLabel="@string/keylabel_for_symbols_3" + latin:popupCharacters="@string/alternates_for_symbols_3" /> + latin:keyLabel="@string/keylabel_for_symbols_4" + latin:popupCharacters="@string/alternates_for_symbols_4" /> + latin:keyLabel="@string/keylabel_for_symbols_5" + latin:popupCharacters="@string/alternates_for_symbols_5" /> + latin:keyLabel="@string/keylabel_for_symbols_6" + latin:popupCharacters="@string/alternates_for_symbols_6" /> + latin:keyLabel="@string/keylabel_for_symbols_7" + latin:popupCharacters="@string/alternates_for_symbols_7" /> + latin:keyLabel="@string/keylabel_for_symbols_8" + latin:popupCharacters="@string/alternates_for_symbols_8" /> + latin:keyLabel="@string/keylabel_for_symbols_9" + latin:popupCharacters="@string/alternates_for_symbols_9" /> @@ -112,17 +115,19 @@ + latin:keyLabel="@string/keylabel_for_symbols_semicolon" + latin:popupCharacters="@string/alternates_for_symbols_semicolon" /> + latin:keyLabel="@string/keylabel_for_symbols_question" + latin:popupCharacters="@string/alternates_for_symbols_question" /> - + diff --git a/java/res/xml/kbd_symbols_f1.xml b/java/res/xml/kbd_symbols_f1.xml index da5b5fc8d..3c7346c54 100644 --- a/java/res/xml/kbd_symbols_f1.xml +++ b/java/res/xml/kbd_symbols_f1.xml @@ -36,7 +36,8 @@ @@ -54,7 +55,8 @@ diff --git a/java/res/xml/kbd_symbols_row4.xml b/java/res/xml/kbd_symbols_row4.xml index 68b79e84d..34c06df04 100644 --- a/java/res/xml/kbd_symbols_row4.xml +++ b/java/res/xml/kbd_symbols_row4.xml @@ -42,12 +42,8 @@ latin:keyStyle="spaceKeyStyle" latin:keyWidth="35.83%p" /> + latin:keyStyle="punctuationKeyStyle" + latin:keyWidth="9.2%p" /> @@ -61,11 +57,7 @@ latin:keyStyle="spaceKeyStyle" latin:keyWidth="50%p" /> + latin:keyStyle="punctuationKeyStyle" /> diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java index 955885366..45bf68cdf 100644 --- a/java/src/com/android/inputmethod/keyboard/Key.java +++ b/java/src/com/android/inputmethod/keyboard/Key.java @@ -257,10 +257,13 @@ public class Key { final CharSequence[] popupCharacters = style.getTextArray(keyAttr, R.styleable.Keyboard_Key_popupCharacters); - if (res.getBoolean(R.bool.config_digit_popup_characters_enabled)) { - mPopupCharacters = popupCharacters; - } else { + // In Arabic symbol layouts, we'd like to keep digits in popup characters regardless of + // config_digit_popup_characters_enabled. + if (mKeyboard.mId.isAlphabetKeyboard() && !res.getBoolean( + R.bool.config_digit_popup_characters_enabled)) { mPopupCharacters = filterOutDigitPopupCharacters(popupCharacters); + } else { + mPopupCharacters = popupCharacters; } mMaxPopupColumn = style.getInt(keyboardAttr, R.styleable.Keyboard_Key_maxPopupKeyboardColumn,