Merge remote-tracking branch 'goog/master' into mergescriptpackage

main
Ken Wakasa 2012-11-20 19:41:21 +09:00
commit 76e5188f4e
15 changed files with 550 additions and 397 deletions

View File

@ -28,7 +28,7 @@
<include <include
latin:keyboardLayout="@xml/key_styles_currency_dollar" /> latin:keyboardLayout="@xml/key_styles_currency_dollar" />
</case> </case>
<!-- Countries using Euro currency, 23 countries as for January 2011. --> <!-- Countries using Euro currency, 23 countries as of November 2012.
1. Andorra (ca_AD, ca_ES) 1. Andorra (ca_AD, ca_ES)
2. Austria (de_AT) 2. Austria (de_AT)
3. Belgium (nl_BE, fr_BE, de_BE) 3. Belgium (nl_BE, fr_BE, de_BE)
@ -40,53 +40,77 @@
9. Greece (el_GR) 9. Greece (el_GR)
10. Ireland (ga_IE, en_IE) 10. Ireland (ga_IE, en_IE)
11. Italy (it_IT) 11. Italy (it_IT)
12. Kosovo (??_XK) ?? 12. Kosovo (sq_XK, sr_XK)
13. Luxembourg (lb_LU, fr_LU, de_LU) 13. Luxembourg (lb_LU, fr_LU, de_LU)
14. Malta (mt_MT, en_MT) 14. Malta (mt_MT, en_MT)
15. Monaco (fr_MO) 15. Monaco (fr_MO)
16. Montenegro (sla_ME) 16. Montenegro (??_ME)
17. Netherlands (nl_NL) 17. Netherlands (nl_NL)
18. Portugal (pt_PT) 18. Portugal (pt_PT)
19. San Marino (it_SM) 19. San Marino (it_SM)
20. Slovakia (sk_SK) 20. Slovakia (sk_SK)
21. Slovenia (sl_SI) 21. Slovenia (sl_SI)
22. Spain (es_ES, ca_ES) 22. Spain (es_ES, ca_ES)
23. Vatican City (it_VA) 23. Vatican City (it_VA) -->
-->
<!-- Though Denmark, Sweden and Turkey don't use Euro as their currency, having the Euro
sign on the symbol keyboard might be useful. Especially Danish krone (kr), Swedish
krona (kr) and Turkish lira (TL) can be represented by usual alphabet letters. -->
<!-- Note: Some locales may not have country code, and it it supposed to indicate the
country where the language originally/mainly spoken. -->
<case
latin:localeCode="da|de|es|el|fi|fr|it|nl|sk|sl|sv|pt_PT|tr"
>
<include
latin:keyboardLayout="@xml/key_styles_currency_euro" />
</case>
<case
latin:languageCode="ca|et|lb|mt|sla"
>
<include
latin:keyboardLayout="@xml/key_styles_currency_euro" />
</case>
<case <case
latin:countryCode="AD|AT|BE|CY|EE|FI|FR|DE|GR|IE|IT|XK|LU|MT|MO|ME|NL|PT|SM|SK|SI|ES|VA" latin:countryCode="AD|AT|BE|CY|EE|FI|FR|DE|GR|IE|IT|XK|LU|MT|MO|ME|NL|PT|SM|SK|SI|ES|VA"
> >
<include <include
latin:keyboardLayout="@xml/key_styles_currency_euro" /> latin:keyboardLayout="@xml/key_styles_currency_euro" />
</case> </case>
<!-- Note: Some subtype locale may not have country code, and it it supposed to indicate the
country where the language originally/mainly spoken. -->
<!-- Though Denmark, Sweden and Turkey don't use Euro as their currency, having the Euro
sign on the symbol keyboard might be useful. Especially Danish krone (kr), Swedish
krona (kr) and Turkish lira (TL) can be represented by usual alphabet letters. -->
<!-- TODO: The currency sign of Turkish Lira was created in 2012 and assigned U+20BA for
its unicode, although there is no font glyph for it as of November 2012. -->
<!-- da: Denmark (da_DK)
de: Germany (de_DE)
es: Spain (es_ES)
fi: Finland (fi_FI)
fr: France(fr_FR)
it: Italy (it_IT)
nl: Netherlands (nl_NL)
sk: Slovakia (sk_SK)
sl: Slovenia (sl_SL)
sv: Sweden (sv_SV)
tr: Trukey (tr_TR) -->
<case <case
latin:languageCode="iw" latin:localeCode="da|de|es|el|fi|fr|it|nl|sk|sl|sv|tr"
> >
<!-- U+20AA: "₪" NEW SHEQEL SIGN <include
U+00A3: "£" POUND SIGN latin:keyboardLayout="@xml/key_styles_currency_euro" />
</case>
<!-- ca: Catalan (Andorra, Spain)
et: Estonian (Estonia)
lb: Luxembougish (Luxembourg)
mt: Maltese (Malta) -->
<case
latin:languageCode="ca|et|lb|mt"
>
<include
latin:keyboardLayout="@xml/key_styles_currency_euro" />
</case>
<!-- fa: Persian (Rial and Afgahni)
hi: Hindi (Indian Rupee)
iw: Hebrew (New Sheqel)
mn: Mongolian (Tugrik)
th: Thai (Baht)
uk: Ukrainian (Hryvnia)
vi: Vietnamese (Dong) -->
<!-- TODO: The currency sign of Turkish Lira was created in 2012 and assigned U+20BA for
its unicode, although there is no font glyph for it as of November 2012. -->
<case
latin:languageCode="fa|hi|iw|mn|th|uk|vi"
>
<!-- U+00A3: "£" POUND SIGN
U+20AC: "€" EURO SIGN U+20AC: "€" EURO SIGN
U+00A2: "¢" CENT SIGN --> U+00A2: "¢" CENT SIGN -->
<key-style <key-style
latin:styleName="currencyKeyStyle" latin:styleName="currencyKeyStyle"
latin:keyLabel="&#x20AA;" latin:keyLabel="!text/keylabel_for_currency_generic"
latin:moreKeys="!text/more_keys_for_currency_general" /> latin:moreKeys="!text/more_keys_for_currency_generic" />
<key-style <key-style
latin:styleName="moreCurrency1KeyStyle" latin:styleName="moreCurrency1KeyStyle"
latin:keyLabel="&#x00A3;" /> latin:keyLabel="&#x00A3;" />
@ -101,45 +125,19 @@
latin:styleName="moreCurrency4KeyStyle" latin:styleName="moreCurrency4KeyStyle"
latin:keyLabel="&#x00A2;" /> latin:keyLabel="&#x00A2;" />
</case> </case>
<case <!-- GB: United Kingdom (Pound) -->
latin:languageCode="fa"
>
<!-- U+FDFC: "﷼" RIAL SIGN
U+060B: "؋" AFGHANI 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="&#xFDFC;"
latin:moreKeys="!text/more_keys_for_currency_general,&#x060B;" />
<key-style
latin:styleName="moreCurrency1KeyStyle"
latin:keyLabel="&#x00A3;" />
<key-style
latin:styleName="moreCurrency2KeyStyle"
latin:keyLabel="&#x20AC;" />
<key-style
latin:styleName="moreCurrency3KeyStyle"
latin:keyLabel="$"
latin:moreKeys="&#x00A2;" />
<key-style
latin:styleName="moreCurrency4KeyStyle"
latin:keyLabel="&#x00A2;" />
</case>
<!-- United Kingdom -->
<case <case
latin:countryCode="GB" latin:countryCode="GB"
> >
<!-- U+00A3: "£" POUND SIGN <!-- U+00A3: "£" POUND SIGN
U+20AC: "€" EURO SIGN U+20AC: "€" EURO SIGN
U+00A5: "¥" YEN SIGN U+00A5: "¥" YEN SIGN
U+00A2: "¢" CENT SIGN --> U+00A2: "¢" CENT SIGN
U+20B1: "₱" PESO SIGN -->
<key-style <key-style
latin:styleName="currencyKeyStyle" latin:styleName="currencyKeyStyle"
latin:keyLabel="&#x00A3;" latin:keyLabel="&#x00A3;"
latin:moreKeys="!text/more_keys_for_currency_pound" /> latin:moreKeys="&#x00A2;,$,&#x20AC;,&#x00A5;,&#x20B1;" />
<key-style <key-style
latin:styleName="moreCurrency1KeyStyle" latin:styleName="moreCurrency1KeyStyle"
latin:keyLabel="&#x20AC;" /> latin:keyLabel="&#x20AC;" />
@ -154,6 +152,7 @@
latin:styleName="moreCurrency4KeyStyle" latin:styleName="moreCurrency4KeyStyle"
latin:keyLabel="&#x00A2;" /> latin:keyLabel="&#x00A2;" />
</case> </case>
<!-- ar: Arabic (Dollar and Rial) -->
<default> <default>
<include <include
latin:keyboardLayout="@xml/key_styles_currency_dollar" /> latin:keyboardLayout="@xml/key_styles_currency_dollar" />

View File

@ -20,13 +20,14 @@
<merge xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"> <merge xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
<!-- U+20AC: "€" EURO SIGN <!-- U+20AC: "€" EURO SIGN
U+00A2: "¢" CENT SIGN
U+00A3: "£" POUND SIGN U+00A3: "£" POUND SIGN
U+00A5: "¥" YEN SIGN U+00A5: "¥" YEN SIGN
U+00A2: "¢" CENT SIGN --> U+20B1: "₱" PESO SIGN -->
<key-style <key-style
latin:styleName="currencyKeyStyle" latin:styleName="currencyKeyStyle"
latin:keyLabel="&#x20AC;" latin:keyLabel="&#x20AC;"
latin:moreKeys="!text/more_keys_for_currency_euro" /> latin:moreKeys="&#x00A2;,&#x00A3;,$,&#x00A5;,&#x20B1;" />
<key-style <key-style
latin:styleName="moreCurrency1KeyStyle" latin:styleName="moreCurrency1KeyStyle"
latin:keyLabel="&#x00A3;" /> latin:keyLabel="&#x00A3;" />

View File

@ -151,89 +151,88 @@ public final class KeyboardTextsSet {
/* 43 */ "more_keys_for_double_quote", /* 43 */ "more_keys_for_double_quote",
/* 44 */ "more_keys_for_tablet_double_quote", /* 44 */ "more_keys_for_tablet_double_quote",
/* 45 */ "more_keys_for_currency_dollar", /* 45 */ "more_keys_for_currency_dollar",
/* 46 */ "more_keys_for_currency_euro", /* 46 */ "keylabel_for_currency_generic",
/* 47 */ "more_keys_for_currency_pound", /* 47 */ "more_keys_for_currency_generic",
/* 48 */ "more_keys_for_currency_general", /* 48 */ "more_keys_for_punctuation",
/* 49 */ "more_keys_for_punctuation", /* 49 */ "more_keys_for_star",
/* 50 */ "more_keys_for_star", /* 50 */ "more_keys_for_bullet",
/* 51 */ "more_keys_for_bullet", /* 51 */ "more_keys_for_plus",
/* 52 */ "more_keys_for_plus", /* 52 */ "more_keys_for_left_parenthesis",
/* 53 */ "more_keys_for_left_parenthesis", /* 53 */ "more_keys_for_right_parenthesis",
/* 54 */ "more_keys_for_right_parenthesis", /* 54 */ "more_keys_for_less_than",
/* 55 */ "more_keys_for_less_than", /* 55 */ "more_keys_for_greater_than",
/* 56 */ "more_keys_for_greater_than", /* 56 */ "more_keys_for_arabic_diacritics",
/* 57 */ "more_keys_for_arabic_diacritics", /* 57 */ "keyhintlabel_for_arabic_diacritics",
/* 58 */ "keyhintlabel_for_arabic_diacritics", /* 58 */ "keylabel_for_symbols_1",
/* 59 */ "keylabel_for_symbols_1", /* 59 */ "keylabel_for_symbols_2",
/* 60 */ "keylabel_for_symbols_2", /* 60 */ "keylabel_for_symbols_3",
/* 61 */ "keylabel_for_symbols_3", /* 61 */ "keylabel_for_symbols_4",
/* 62 */ "keylabel_for_symbols_4", /* 62 */ "keylabel_for_symbols_5",
/* 63 */ "keylabel_for_symbols_5", /* 63 */ "keylabel_for_symbols_6",
/* 64 */ "keylabel_for_symbols_6", /* 64 */ "keylabel_for_symbols_7",
/* 65 */ "keylabel_for_symbols_7", /* 65 */ "keylabel_for_symbols_8",
/* 66 */ "keylabel_for_symbols_8", /* 66 */ "keylabel_for_symbols_9",
/* 67 */ "keylabel_for_symbols_9", /* 67 */ "keylabel_for_symbols_0",
/* 68 */ "keylabel_for_symbols_0", /* 68 */ "additional_more_keys_for_symbols_1",
/* 69 */ "additional_more_keys_for_symbols_1", /* 69 */ "additional_more_keys_for_symbols_2",
/* 70 */ "additional_more_keys_for_symbols_2", /* 70 */ "additional_more_keys_for_symbols_3",
/* 71 */ "additional_more_keys_for_symbols_3", /* 71 */ "additional_more_keys_for_symbols_4",
/* 72 */ "additional_more_keys_for_symbols_4", /* 72 */ "additional_more_keys_for_symbols_5",
/* 73 */ "additional_more_keys_for_symbols_5", /* 73 */ "additional_more_keys_for_symbols_6",
/* 74 */ "additional_more_keys_for_symbols_6", /* 74 */ "additional_more_keys_for_symbols_7",
/* 75 */ "additional_more_keys_for_symbols_7", /* 75 */ "additional_more_keys_for_symbols_8",
/* 76 */ "additional_more_keys_for_symbols_8", /* 76 */ "additional_more_keys_for_symbols_9",
/* 77 */ "additional_more_keys_for_symbols_9", /* 77 */ "additional_more_keys_for_symbols_0",
/* 78 */ "additional_more_keys_for_symbols_0", /* 78 */ "more_keys_for_symbols_1",
/* 79 */ "more_keys_for_symbols_1", /* 79 */ "more_keys_for_symbols_2",
/* 80 */ "more_keys_for_symbols_2", /* 80 */ "more_keys_for_symbols_3",
/* 81 */ "more_keys_for_symbols_3", /* 81 */ "more_keys_for_symbols_4",
/* 82 */ "more_keys_for_symbols_4", /* 82 */ "more_keys_for_symbols_5",
/* 83 */ "more_keys_for_symbols_5", /* 83 */ "more_keys_for_symbols_6",
/* 84 */ "more_keys_for_symbols_6", /* 84 */ "more_keys_for_symbols_7",
/* 85 */ "more_keys_for_symbols_7", /* 85 */ "more_keys_for_symbols_8",
/* 86 */ "more_keys_for_symbols_8", /* 86 */ "more_keys_for_symbols_9",
/* 87 */ "more_keys_for_symbols_9", /* 87 */ "more_keys_for_symbols_0",
/* 88 */ "more_keys_for_symbols_0", /* 88 */ "keylabel_for_comma",
/* 89 */ "keylabel_for_comma", /* 89 */ "more_keys_for_comma",
/* 90 */ "more_keys_for_comma", /* 90 */ "keylabel_for_symbols_question",
/* 91 */ "keylabel_for_symbols_question", /* 91 */ "keylabel_for_symbols_semicolon",
/* 92 */ "keylabel_for_symbols_semicolon", /* 92 */ "keylabel_for_symbols_percent",
/* 93 */ "keylabel_for_symbols_percent", /* 93 */ "more_keys_for_symbols_exclamation",
/* 94 */ "more_keys_for_symbols_exclamation", /* 94 */ "more_keys_for_symbols_question",
/* 95 */ "more_keys_for_symbols_question", /* 95 */ "more_keys_for_symbols_semicolon",
/* 96 */ "more_keys_for_symbols_semicolon", /* 96 */ "more_keys_for_symbols_percent",
/* 97 */ "more_keys_for_symbols_percent", /* 97 */ "keylabel_for_tablet_comma",
/* 98 */ "keylabel_for_tablet_comma", /* 98 */ "keyhintlabel_for_tablet_comma",
/* 99 */ "keyhintlabel_for_tablet_comma", /* 99 */ "more_keys_for_tablet_comma",
/* 100 */ "more_keys_for_tablet_comma", /* 100 */ "keyhintlabel_for_tablet_period",
/* 101 */ "keyhintlabel_for_tablet_period", /* 101 */ "more_keys_for_tablet_period",
/* 102 */ "more_keys_for_tablet_period", /* 102 */ "keylabel_for_apostrophe",
/* 103 */ "keylabel_for_apostrophe", /* 103 */ "keyhintlabel_for_apostrophe",
/* 104 */ "keyhintlabel_for_apostrophe", /* 104 */ "more_keys_for_apostrophe",
/* 105 */ "more_keys_for_apostrophe", /* 105 */ "more_keys_for_q",
/* 106 */ "more_keys_for_q", /* 106 */ "more_keys_for_x",
/* 107 */ "more_keys_for_x", /* 107 */ "keylabel_for_q",
/* 108 */ "keylabel_for_q", /* 108 */ "keylabel_for_w",
/* 109 */ "keylabel_for_w", /* 109 */ "keylabel_for_y",
/* 110 */ "keylabel_for_y", /* 110 */ "keylabel_for_x",
/* 111 */ "keylabel_for_x", /* 111 */ "keylabel_for_spanish_row2_10",
/* 112 */ "keylabel_for_spanish_row2_10", /* 112 */ "more_keys_for_am_pm",
/* 113 */ "more_keys_for_am_pm", /* 113 */ "settings_as_more_key",
/* 114 */ "settings_as_more_key", /* 114 */ "shortcut_as_more_key",
/* 115 */ "shortcut_as_more_key", /* 115 */ "action_next_as_more_key",
/* 116 */ "action_next_as_more_key", /* 116 */ "action_previous_as_more_key",
/* 117 */ "action_previous_as_more_key", /* 117 */ "label_to_more_symbol_key",
/* 118 */ "label_to_more_symbol_key", /* 118 */ "label_to_more_symbol_for_tablet_key",
/* 119 */ "label_to_more_symbol_for_tablet_key", /* 119 */ "label_tab_key",
/* 120 */ "label_tab_key", /* 120 */ "label_to_phone_numeric_key",
/* 121 */ "label_to_phone_numeric_key", /* 121 */ "label_to_phone_symbols_key",
/* 122 */ "label_to_phone_symbols_key", /* 122 */ "label_time_am",
/* 123 */ "label_time_am", /* 123 */ "label_time_pm",
/* 124 */ "label_time_pm", /* 124 */ "label_to_symbol_key_pcqwerty",
/* 125 */ "label_to_symbol_key_pcqwerty", /* 125 */ "keylabel_for_popular_domain",
/* 126 */ "keylabel_for_popular_domain", /* 126 */ "more_keys_for_popular_domain",
/* 127 */ "more_keys_for_popular_domain", /* 127 */ "more_keys_for_smiley",
/* 128 */ "more_keys_for_smiley",
}; };
private static final String EMPTY = ""; private static final String EMPTY = "";
@ -259,26 +258,25 @@ public final class KeyboardTextsSet {
// U+00A5: "¥" YEN SIGN // U+00A5: "¥" YEN SIGN
// U+20B1: "₱" PESO SIGN // U+20B1: "₱" PESO SIGN
/* 45 */ "\u00A2,\u00A3,\u20AC,\u00A5,\u20B1", /* 45 */ "\u00A2,\u00A3,\u20AC,\u00A5,\u20B1",
/* 46 */ "\u00A2,\u00A3,$,\u00A5,\u20B1", /* 46 */ "$",
/* 47 */ "\u00A2,$,\u20AC,\u00A5,\u20B1", /* 47 */ "$,\u00A2,\u20AC,\u00A3,\u00A5,\u20B1",
/* 48 */ "\u00A2,$,\u20AC,\u00A3,\u00A5,\u20B1", /* 48 */ "!fixedColumnOrder!8,\",\',#,-,:,!,\\,,?,@,&,\\%,+,;,/,(,)",
/* 49 */ "!fixedColumnOrder!8,\",\',#,-,:,!,\\,,?,@,&,\\%,+,;,/,(,)",
// U+2020: "†" DAGGER // U+2020: "†" DAGGER
// U+2021: "‡" DOUBLE DAGGER // U+2021: "‡" DOUBLE DAGGER
// U+2605: "★" BLACK STAR // U+2605: "★" BLACK STAR
/* 50 */ "\u2020,\u2021,\u2605", /* 49 */ "\u2020,\u2021,\u2605",
// U+266A: "♪" EIGHTH NOTE // U+266A: "♪" EIGHTH NOTE
// U+2665: "♥" BLACK HEART SUIT // U+2665: "♥" BLACK HEART SUIT
// U+2660: "♠" BLACK SPADE SUIT // U+2660: "♠" BLACK SPADE SUIT
// U+2666: "♦" BLACK DIAMOND SUIT // U+2666: "♦" BLACK DIAMOND SUIT
// U+2663: "♣" BLACK CLUB SUIT // U+2663: "♣" BLACK CLUB SUIT
/* 51 */ "\u266A,\u2665,\u2660,\u2666,\u2663", /* 50 */ "\u266A,\u2665,\u2660,\u2666,\u2663",
// U+00B1: "±" PLUS-MINUS SIGN // U+00B1: "±" PLUS-MINUS SIGN
/* 52 */ "\u00B1", /* 51 */ "\u00B1",
// The all letters need to be mirrored are found at // The all letters need to be mirrored are found at
// http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt // http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt
/* 53 */ "!fixedColumnOrder!3,<,{,[", /* 52 */ "!fixedColumnOrder!3,<,{,[",
/* 54 */ "!fixedColumnOrder!3,>,},]", /* 53 */ "!fixedColumnOrder!3,>,},]",
// U+2039: "" SINGLE LEFT-POINTING ANGLE QUOTATION MARK // U+2039: "" SINGLE LEFT-POINTING ANGLE QUOTATION MARK
// U+203A: "" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK // U+203A: "" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
// U+2264: "≤" LESS-THAN OR EQUAL TO // U+2264: "≤" LESS-THAN OR EQUAL TO
@ -294,103 +292,103 @@ public final class KeyboardTextsSet {
// U+201D: "”" RIGHT DOUBLE QUOTATION MARK // U+201D: "”" RIGHT DOUBLE QUOTATION MARK
// U+201E: "„" DOUBLE LOW-9 QUOTATION MARK // U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
// U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK // U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK
/* 55 */ "!fixedColumnOrder!3,\u2039,\u2264,\u00AB", /* 54 */ "!fixedColumnOrder!3,\u2039,\u2264,\u00AB",
/* 56 */ "!fixedColumnOrder!3,\u203A,\u2265,\u00BB", /* 55 */ "!fixedColumnOrder!3,\u203A,\u2265,\u00BB",
/* 56 */ EMPTY,
/* 57 */ EMPTY, /* 57 */ EMPTY,
/* 58 */ EMPTY, /* 58 */ "1",
/* 59 */ "1", /* 59 */ "2",
/* 60 */ "2", /* 60 */ "3",
/* 61 */ "3", /* 61 */ "4",
/* 62 */ "4", /* 62 */ "5",
/* 63 */ "5", /* 63 */ "6",
/* 64 */ "6", /* 64 */ "7",
/* 65 */ "7", /* 65 */ "8",
/* 66 */ "8", /* 66 */ "9",
/* 67 */ "9", /* 67 */ "0",
/* 68 */ "0", /* 68~ */
/* 69~ */
EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
/* ~78 */ /* ~77 */
// U+00B9: "¹" SUPERSCRIPT ONE // U+00B9: "¹" SUPERSCRIPT ONE
// U+00BD: "½" VULGAR FRACTION ONE HALF // U+00BD: "½" VULGAR FRACTION ONE HALF
// U+2153: "⅓" VULGAR FRACTION ONE THIRD // U+2153: "⅓" VULGAR FRACTION ONE THIRD
// U+00BC: "¼" VULGAR FRACTION ONE QUARTER // U+00BC: "¼" VULGAR FRACTION ONE QUARTER
// U+215B: "⅛" VULGAR FRACTION ONE EIGHTH // U+215B: "⅛" VULGAR FRACTION ONE EIGHTH
/* 79 */ "\u00B9,\u00BD,\u2153,\u00BC,\u215B", /* 78 */ "\u00B9,\u00BD,\u2153,\u00BC,\u215B",
// U+00B2: "²" SUPERSCRIPT TWO // U+00B2: "²" SUPERSCRIPT TWO
// U+2154: "⅔" VULGAR FRACTION TWO THIRDS // U+2154: "⅔" VULGAR FRACTION TWO THIRDS
/* 80 */ "\u00B2,\u2154", /* 79 */ "\u00B2,\u2154",
// U+00B3: "³" SUPERSCRIPT THREE // U+00B3: "³" SUPERSCRIPT THREE
// U+00BE: "¾" VULGAR FRACTION THREE QUARTERS // U+00BE: "¾" VULGAR FRACTION THREE QUARTERS
// U+215C: "⅜" VULGAR FRACTION THREE EIGHTHS // U+215C: "⅜" VULGAR FRACTION THREE EIGHTHS
/* 81 */ "\u00B3,\u00BE,\u215C", /* 80 */ "\u00B3,\u00BE,\u215C",
// U+2074: "⁴" SUPERSCRIPT FOUR // U+2074: "⁴" SUPERSCRIPT FOUR
/* 82 */ "\u2074", /* 81 */ "\u2074",
// U+215D: "⅝" VULGAR FRACTION FIVE EIGHTHS // U+215D: "⅝" VULGAR FRACTION FIVE EIGHTHS
/* 83 */ "\u215D", /* 82 */ "\u215D",
/* 84 */ EMPTY, /* 83 */ EMPTY,
// U+215E: "⅞" VULGAR FRACTION SEVEN EIGHTHS // U+215E: "⅞" VULGAR FRACTION SEVEN EIGHTHS
/* 85 */ "\u215E", /* 84 */ "\u215E",
/* 85 */ EMPTY,
/* 86 */ EMPTY, /* 86 */ EMPTY,
/* 87 */ EMPTY,
// U+207F: "ⁿ" SUPERSCRIPT LATIN SMALL LETTER N // U+207F: "ⁿ" SUPERSCRIPT LATIN SMALL LETTER N
// U+2205: "∅" EMPTY SET // U+2205: "∅" EMPTY SET
/* 88 */ "\u207F,\u2205", /* 87 */ "\u207F,\u2205",
/* 89 */ ",", /* 88 */ ",",
/* 90 */ EMPTY, /* 89 */ EMPTY,
/* 91 */ "?", /* 90 */ "?",
/* 92 */ ";", /* 91 */ ";",
/* 93 */ "%", /* 92 */ "%",
// U+00A1: "¡" INVERTED EXCLAMATION MARK // U+00A1: "¡" INVERTED EXCLAMATION MARK
/* 94 */ "\u00A1", /* 93 */ "\u00A1",
// U+00BF: "¿" INVERTED QUESTION MARK // U+00BF: "¿" INVERTED QUESTION MARK
/* 95 */ "\u00BF", /* 94 */ "\u00BF",
/* 96 */ EMPTY, /* 95 */ EMPTY,
// U+2030: "‰" PER MILLE SIGN // U+2030: "‰" PER MILLE SIGN
/* 97 */ "\u2030", /* 96 */ "\u2030",
/* 98 */ ",", /* 97 */ ",",
/* 98 */ "!",
/* 99 */ "!", /* 99 */ "!",
/* 100 */ "!", /* 100 */ "?",
/* 101 */ "?", /* 101 */ "?",
/* 102 */ "?", /* 102 */ "\'",
/* 103 */ "\'", /* 103 */ "\"",
/* 104 */ "\"", /* 104 */ "\"",
/* 105 */ "\"", /* 105 */ EMPTY,
/* 106 */ EMPTY, /* 106 */ EMPTY,
/* 107 */ EMPTY, /* 107 */ "q",
/* 108 */ "q", /* 108 */ "w",
/* 109 */ "w", /* 109 */ "y",
/* 110 */ "y", /* 110 */ "x",
/* 111 */ "x",
// U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
/* 112 */ "\u00F1", /* 111 */ "\u00F1",
/* 113 */ "!fixedColumnOrder!2,!hasLabels!,!text/label_time_am,!text/label_time_pm", /* 112 */ "!fixedColumnOrder!2,!hasLabels!,!text/label_time_am,!text/label_time_pm",
/* 114 */ "!icon/settings_key|!code/key_settings", /* 113 */ "!icon/settings_key|!code/key_settings",
/* 115 */ "!icon/shortcut_key|!code/key_shortcut", /* 114 */ "!icon/shortcut_key|!code/key_shortcut",
/* 116 */ "!hasLabels!,!text/label_next_key|!code/key_action_next", /* 115 */ "!hasLabels!,!text/label_next_key|!code/key_action_next",
/* 117 */ "!hasLabels!,!text/label_previous_key|!code/key_action_previous", /* 116 */ "!hasLabels!,!text/label_previous_key|!code/key_action_previous",
// Label for "switch to more symbol" modifier key. Must be short to fit on key! // Label for "switch to more symbol" modifier key. Must be short to fit on key!
/* 118 */ "= \\ <", /* 117 */ "= \\ <",
// Label for "switch to more symbol" modifier key on tablets. Must be short to fit on key! // Label for "switch to more symbol" modifier key on tablets. Must be short to fit on key!
/* 119 */ "~ \\ {", /* 118 */ "~ \\ {",
// Label for "Tab" key. Must be short to fit on key! // Label for "Tab" key. Must be short to fit on key!
/* 120 */ "Tab", /* 119 */ "Tab",
// Label for "switch to phone numeric" key. Must be short to fit on key! // Label for "switch to phone numeric" key. Must be short to fit on key!
/* 121 */ "123", /* 120 */ "123",
// Label for "switch to phone symbols" key. Must be short to fit on key! // Label for "switch to phone symbols" key. Must be short to fit on key!
// U+FF0A: "" FULLWIDTH ASTERISK // U+FF0A: "" FULLWIDTH ASTERISK
// U+FF03: "" FULLWIDTH NUMBER SIGN // U+FF03: "" FULLWIDTH NUMBER SIGN
/* 122 */ "\uFF0A\uFF03", /* 121 */ "\uFF0A\uFF03",
// Key label for "ante meridiem" // Key label for "ante meridiem"
/* 123 */ "AM", /* 122 */ "AM",
// Key label for "post meridiem" // Key label for "post meridiem"
/* 124 */ "PM", /* 123 */ "PM",
// Label for "switch to symbols" key on PC QWERTY layout // Label for "switch to symbols" key on PC QWERTY layout
/* 125 */ "Sym", /* 124 */ "Sym",
/* 126 */ ".com", /* 125 */ ".com",
// popular web domains for the locale - most popular, displayed on the keyboard // popular web domains for the locale - most popular, displayed on the keyboard
/* 127 */ "!hasLabels!,.net,.org,.gov,.edu", /* 126 */ "!hasLabels!,.net,.org,.gov,.edu",
/* 128 */ "!fixedColumnOrder!5,!hasLabels!,=-O|=-O ,:-P|:-P ,;-)|;-) ,:-(|:-( ,:-)|:-) ,:-!|:-! ,:-$|:-$ ,B-)|B-) ,:O|:O ,:-*|:-* ,:-D|:-D ,:\'(|:\'( ,:-\\\\|:-\\\\ ,O:-)|O:-) ,:-[|:-[ ", /* 127 */ "!fixedColumnOrder!5,!hasLabels!,=-O|=-O ,:-P|:-P ,;-)|;-) ,:-(|:-( ,:-)|:-) ,:-!|:-! ,:-$|:-$ ,B-)|B-) ,:O|:O ,:-*|:-* ,:-D|:-D ,:\'(|:\'( ,:-\\\\|:-\\\\ ,O:-)|O:-) ,:-[|:-[ ",
}; };
/* Language af: Afrikaans */ /* Language af: Afrikaans */
@ -459,25 +457,31 @@ public final class KeyboardTextsSet {
// TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK // 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!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;|&#x00BB;,&#x00BB|&#x00AB;;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
/* 44 */ "!fixedColumnOrder!4,\u201C,\u201D,\u00AB|\u00BB,\u00BB|\u00AB,\u2018,\u2019,\u201A,\u201B", /* 44 */ "!fixedColumnOrder!4,\u201C,\u201D,\u00AB|\u00BB,\u00BB|\u00AB,\u2018,\u2019,\u201A,\u201B",
/* 45~ */ // U+00A2: "¢" CENT SIGN
null, null, null, null, // U+00A3: "£" POUND SIGN
/* ~48 */ // U+20AC: "€" EURO SIGN
// U+00A5: "¥" YEN SIGN
// U+20B1: "₱" PESO SIGN
// U+FDFC: "﷼" RIAL SIGN
/* 45 */ "\u00A2,\u00A3,\u20AC,\u00A5,\u20B1,\uFDFC",
/* 46 */ null,
/* 47 */ null,
// U+061F: "؟" ARABIC QUESTION MARK // U+061F: "؟" ARABIC QUESTION MARK
// U+060C: "،" ARABIC COMMA // U+060C: "،" ARABIC COMMA
// U+061B: "؛" ARABIC SEMICOLON // U+061B: "؛" ARABIC SEMICOLON
/* 49 */ "!fixedColumnOrder!8,\",\',#,-,:,!,\u060C,\u061F,@,&,\\%,+,\u061B,/,(,)", /* 48 */ "!fixedColumnOrder!8,\",\',#,-,:,!,\u060C,\u061F,@,&,\\%,+,\u061B,/,(,)",
// U+2605: "★" BLACK STAR // U+2605: "★" BLACK STAR
// U+066D: "٭" ARABIC FIVE POINTED STAR // U+066D: "٭" ARABIC FIVE POINTED STAR
/* 50 */ "\u2605,\u066D", /* 49 */ "\u2605,\u066D",
// U+266A: "♪" EIGHTH NOTE // U+266A: "♪" EIGHTH NOTE
/* 51 */ "\u266A", /* 50 */ "\u266A",
/* 52 */ null, /* 51 */ null,
// The all letters need to be mirrored are found at // The all letters need to be mirrored are found at
// http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt // http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt
// U+FD3E: "" ORNATE LEFT PARENTHESIS // U+FD3E: "" ORNATE LEFT PARENTHESIS
// U+FD3F: "﴿" ORNATE RIGHT PARENTHESIS // U+FD3F: "﴿" ORNATE RIGHT PARENTHESIS
/* 53 */ "!fixedColumnOrder!4,\uFD3E|\uFD3F,<|>,{|},[|]", /* 52 */ "!fixedColumnOrder!4,\uFD3E|\uFD3F,<|>,{|},[|]",
/* 54 */ "!fixedColumnOrder!4,\uFD3F|\uFD3E,>|<,}|{,]|[", /* 53 */ "!fixedColumnOrder!4,\uFD3F|\uFD3E,>|<,}|{,]|[",
// U+2264: "≤" LESS-THAN OR EQUAL TO // U+2264: "≤" LESS-THAN OR EQUAL TO
// U+2265: "≥" GREATER-THAN EQUAL TO // U+2265: "≥" GREATER-THAN EQUAL TO
// U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK // U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
@ -493,8 +497,8 @@ public final class KeyboardTextsSet {
// U+201D: "”" RIGHT DOUBLE QUOTATION MARK // U+201D: "”" RIGHT DOUBLE QUOTATION MARK
// U+201E: "„" DOUBLE LOW-9 QUOTATION MARK // U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
// U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK // U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK
/* 55 */ "!fixedColumnOrder!3,\u2039|\u203A,\u2264|\u2265,\u00AB|\u00BB", /* 54 */ "!fixedColumnOrder!3,\u2039|\u203A,\u2264|\u2265,\u00AB|\u00BB",
/* 56 */ "!fixedColumnOrder!3,\u203A|\u2039,\u2265|\u2264,\u00BB|\u00AB", /* 55 */ "!fixedColumnOrder!3,\u203A|\u2039,\u2265|\u2264,\u00BB|\u00AB",
// U+0655: "ٕ" ARABIC HAMZA BELOW // U+0655: "ٕ" ARABIC HAMZA BELOW
// U+0654: "ٔ" ARABIC HAMZA ABOVE // U+0654: "ٔ" ARABIC HAMZA ABOVE
// U+0652: "ْ" ARABIC SUKUN // U+0652: "ْ" ARABIC SUKUN
@ -510,64 +514,64 @@ public final class KeyboardTextsSet {
// U+064E: "َ" ARABIC FATHA // U+064E: "َ" ARABIC FATHA
// U+0640: "ـ" ARABIC TATWEEL // U+0640: "ـ" ARABIC TATWEEL
// In order to make Tatweel easily distinguishable from other punctuations, we use consecutive Tatweels only for its displayed label. // In order to make Tatweel easily distinguishable from other punctuations, we use consecutive Tatweels only for its displayed label.
/* 57 */ "!fixedColumnOrder!7,\u0655,\u0654,\u0652,\u064D,\u064C,\u064B,\u0651,\u0656,\u0670,\u0653,\u0650,\u064F,\u064E,\u0640\u0640\u0640|\u0640", /* 56 */ "!fixedColumnOrder!7,\u0655,\u0654,\u0652,\u064D,\u064C,\u064B,\u0651,\u0656,\u0670,\u0653,\u0650,\u064F,\u064E,\u0640\u0640\u0640|\u0640",
/* 58 */ "\u0651", /* 57 */ "\u0651",
// U+0661: "١" ARABIC-INDIC DIGIT ONE // U+0661: "١" ARABIC-INDIC DIGIT ONE
/* 59 */ "\u0661", /* 58 */ "\u0661",
// U+0662: "٢" ARABIC-INDIC DIGIT TWO // U+0662: "٢" ARABIC-INDIC DIGIT TWO
/* 60 */ "\u0662", /* 59 */ "\u0662",
// U+0663: "٣" ARABIC-INDIC DIGIT THREE // U+0663: "٣" ARABIC-INDIC DIGIT THREE
/* 61 */ "\u0663", /* 60 */ "\u0663",
// U+0664: "٤" ARABIC-INDIC DIGIT FOUR // U+0664: "٤" ARABIC-INDIC DIGIT FOUR
/* 62 */ "\u0664", /* 61 */ "\u0664",
// U+0665: "٥" ARABIC-INDIC DIGIT FIVE // U+0665: "٥" ARABIC-INDIC DIGIT FIVE
/* 63 */ "\u0665", /* 62 */ "\u0665",
// U+0666: "٦" ARABIC-INDIC DIGIT SIX // U+0666: "٦" ARABIC-INDIC DIGIT SIX
/* 64 */ "\u0666", /* 63 */ "\u0666",
// U+0667: "٧" ARABIC-INDIC DIGIT SEVEN // U+0667: "٧" ARABIC-INDIC DIGIT SEVEN
/* 65 */ "\u0667", /* 64 */ "\u0667",
// U+0668: "٨" ARABIC-INDIC DIGIT EIGHT // U+0668: "٨" ARABIC-INDIC DIGIT EIGHT
/* 66 */ "\u0668", /* 65 */ "\u0668",
// U+0669: "٩" ARABIC-INDIC DIGIT NINE // U+0669: "٩" ARABIC-INDIC DIGIT NINE
/* 67 */ "\u0669", /* 66 */ "\u0669",
// U+0660: "٠" ARABIC-INDIC DIGIT ZERO // U+0660: "٠" ARABIC-INDIC DIGIT ZERO
/* 68 */ "\u0660", /* 67 */ "\u0660",
/* 69 */ "1", /* 68 */ "1",
/* 70 */ "2", /* 69 */ "2",
/* 71 */ "3", /* 70 */ "3",
/* 72 */ "4", /* 71 */ "4",
/* 73 */ "5", /* 72 */ "5",
/* 74 */ "6", /* 73 */ "6",
/* 75 */ "7", /* 74 */ "7",
/* 76 */ "8", /* 75 */ "8",
/* 77 */ "9", /* 76 */ "9",
// U+066B: "٫" ARABIC DECIMAL SEPARATOR // U+066B: "٫" ARABIC DECIMAL SEPARATOR
// U+066C: "٬" ARABIC THOUSANDS SEPARATOR // U+066C: "٬" ARABIC THOUSANDS SEPARATOR
/* 78 */ "0,\u066B,\u066C", /* 77 */ "0,\u066B,\u066C",
/* 79~ */ /* 78~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
/* ~88 */ /* ~87 */
// U+060C: "،" ARABIC COMMA // U+060C: "،" ARABIC COMMA
/* 89 */ "\u060C", /* 88 */ "\u060C",
/* 90 */ "\\,", /* 89 */ "\\,",
/* 91 */ "\u061F", /* 90 */ "\u061F",
/* 92 */ "\u061B", /* 91 */ "\u061B",
// U+066A: "٪" ARABIC PERCENT SIGN // U+066A: "٪" ARABIC PERCENT SIGN
/* 93 */ "\u066A", /* 92 */ "\u066A",
/* 94 */ null, /* 93 */ null,
/* 95 */ "?", /* 94 */ "?",
/* 96 */ ";", /* 95 */ ";",
// U+2030: "‰" PER MILLE SIGN // U+2030: "‰" PER MILLE SIGN
/* 97 */ "\\%,\u2030", /* 96 */ "\\%,\u2030",
/* 98~ */ /* 97~ */
null, null, null, null, null, null, null, null, null, null,
/* ~102 */ /* ~101 */
// U+060C: "،" ARABIC COMMA // U+060C: "،" ARABIC COMMA
// U+061B: "؛" ARABIC SEMICOLON // U+061B: "؛" ARABIC SEMICOLON
// U+061F: "؟" ARABIC QUESTION MARK // U+061F: "؟" ARABIC QUESTION MARK
/* 103 */ "\u060C", /* 102 */ "\u060C",
/* 104 */ "\u061F", /* 103 */ "\u061F",
/* 105 */ "\u061F,\u061B,!,:,-,/,\',\"", /* 104 */ "\u061F,\u061B,!,:,-,/,\',\"",
}; };
/* Language be: Belarusian */ /* Language be: Belarusian */
@ -999,20 +1003,20 @@ public final class KeyboardTextsSet {
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
/* ~105 */ /* ~104 */
/* 106 */ "q", /* 105 */ "q",
/* 107 */ "x", /* 106 */ "x",
// U+015D: "ŝ" LATIN SMALL LETTER S WITH CIRCUMFLEX // U+015D: "ŝ" LATIN SMALL LETTER S WITH CIRCUMFLEX
/* 108 */ "\u015D", /* 107 */ "\u015D",
// U+011D: "ĝ" LATIN SMALL LETTER G WITH CIRCUMFLEX // U+011D: "ĝ" LATIN SMALL LETTER G WITH CIRCUMFLEX
/* 109 */ "\u011D", /* 108 */ "\u011D",
// U+016D: "ŭ" LATIN SMALL LETTER U WITH BREVE // U+016D: "ŭ" LATIN SMALL LETTER U WITH BREVE
/* 110 */ "\u016D", /* 109 */ "\u016D",
// U+0109: "ĉ" LATIN SMALL LETTER C WITH CIRCUMFLEX // U+0109: "ĉ" LATIN SMALL LETTER C WITH CIRCUMFLEX
/* 111 */ "\u0109", /* 110 */ "\u0109",
// U+0135: "ĵ" LATIN SMALL LETTER J WITH CIRCUMFLEX // U+0135: "ĵ" LATIN SMALL LETTER J WITH CIRCUMFLEX
/* 112 */ "\u0135", /* 111 */ "\u0135",
}; };
/* Language es: Spanish */ /* Language es: Spanish */
@ -1070,25 +1074,25 @@ public final class KeyboardTextsSet {
/* 8~ */ /* 8~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
/* ~48 */ /* ~47 */
// U+00A1: "¡" INVERTED EXCLAMATION MARK // U+00A1: "¡" INVERTED EXCLAMATION MARK
// U+00BF: "¿" INVERTED QUESTION MARK // U+00BF: "¿" INVERTED QUESTION MARK
/* 49 */ "!fixedColumnOrder!9,\u00A1,\",\',#,-,:,!,\\,,?,\u00BF,@,&,\\%,+,;,/,(,)", /* 48 */ "!fixedColumnOrder!9,\u00A1,\",\',#,-,:,!,\\,,?,\u00BF,@,&,\\%,+,;,/,(,)",
/* 50~ */ /* 49~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null,
/* ~99 */ /* ~98 */
// U+00A1: "¡" INVERTED EXCLAMATION MARK // U+00A1: "¡" INVERTED EXCLAMATION MARK
/* 100 */ "!,\u00A1", /* 99 */ "!,\u00A1",
/* 101 */ null, /* 100 */ null,
// U+00BF: "¿" INVERTED QUESTION MARK // U+00BF: "¿" INVERTED QUESTION MARK
/* 102 */ "?,\u00BF", /* 101 */ "?,\u00BF",
/* 103 */ "\"", /* 102 */ "\"",
/* 103 */ "\'",
/* 104 */ "\'", /* 104 */ "\'",
/* 105 */ "\'",
}; };
/* Language et: Estonian */ /* Language et: Estonian */
@ -1204,25 +1208,32 @@ public final class KeyboardTextsSet {
// TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK // 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!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;|&#x00BB;,&#x00BB|&#x00AB;;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
/* 44 */ "!fixedColumnOrder!4,\u201C,\u201D,\u00AB|\u00BB,\u00BB|\u00AB,\u2018,\u2019,\u201A,\u201B", /* 44 */ "!fixedColumnOrder!4,\u201C,\u201D,\u00AB|\u00BB,\u00BB|\u00AB,\u2018,\u2019,\u201A,\u201B",
/* 45~ */ /* 45 */ null,
null, null, null, null, // U+FDFC: "﷼" RIAL SIGN
/* ~48 */ // U+060B: "؋" AFGHANI SIGN
// U+00A2: "¢" CENT SIGN
// U+00A3: "£" POUND SIGN
// U+20AC: "€" EURO SIGN
// U+00A5: "¥" YEN SIGN
// U+20B1: "₱" PESO SIGN
/* 46 */ "\uFDFC",
/* 47 */ "$,\u00A2,\u20AC,\u00A3,\u00A5,\u20B1,\u060B",
// U+061F: "؟" ARABIC QUESTION MARK // U+061F: "؟" ARABIC QUESTION MARK
// U+060C: "،" ARABIC COMMA // U+060C: "،" ARABIC COMMA
// U+061B: "؛" ARABIC SEMICOLON // U+061B: "؛" ARABIC SEMICOLON
/* 49 */ "!fixedColumnOrder!8,\",\',#,-,:,!,\u060C,\u061F,@,&,\\%,+,\u061B,/,(,)", /* 48 */ "!fixedColumnOrder!8,\",\',#,-,:,!,\u060C,\u061F,@,&,\\%,+,\u061B,/,(,)",
// U+2605: "★" BLACK STAR // U+2605: "★" BLACK STAR
// U+066D: "٭" ARABIC FIVE POINTED STAR // U+066D: "٭" ARABIC FIVE POINTED STAR
/* 50 */ "\u2605,\u066D", /* 49 */ "\u2605,\u066D",
// U+266A: "♪" EIGHTH NOTE // U+266A: "♪" EIGHTH NOTE
/* 51 */ "\u266A", /* 50 */ "\u266A",
/* 52 */ null, /* 51 */ null,
// The all letters need to be mirrored are found at // The all letters need to be mirrored are found at
// http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt // http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt
// U+FD3E: "" ORNATE LEFT PARENTHESIS // U+FD3E: "" ORNATE LEFT PARENTHESIS
// U+FD3F: "﴿" ORNATE RIGHT PARENTHESIS // U+FD3F: "﴿" ORNATE RIGHT PARENTHESIS
/* 53 */ "!fixedColumnOrder!4,\uFD3E|\uFD3F,<|>,{|},[|]", /* 52 */ "!fixedColumnOrder!4,\uFD3E|\uFD3F,<|>,{|},[|]",
/* 54 */ "!fixedColumnOrder!4,\uFD3F|\uFD3E,>|<,}|{,]|[", /* 53 */ "!fixedColumnOrder!4,\uFD3F|\uFD3E,>|<,}|{,]|[",
// U+2264: "≤" LESS-THAN OR EQUAL TO // U+2264: "≤" LESS-THAN OR EQUAL TO
// U+2265: "≥" GREATER-THAN EQUAL TO // U+2265: "≥" GREATER-THAN EQUAL TO
// U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK // U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
@ -1238,8 +1249,8 @@ public final class KeyboardTextsSet {
// U+201D: "”" RIGHT DOUBLE QUOTATION MARK // U+201D: "”" RIGHT DOUBLE QUOTATION MARK
// U+201E: "„" DOUBLE LOW-9 QUOTATION MARK // U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
// U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK // U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK
/* 55 */ "!fixedColumnOrder!3,\u2039|\u203A,\u2264|\u2265,<|>", /* 54 */ "!fixedColumnOrder!3,\u2039|\u203A,\u2264|\u2265,<|>",
/* 56 */ "!fixedColumnOrder!3,\u203A|\u2039,\u2265|\u2264,>|<", /* 55 */ "!fixedColumnOrder!3,\u203A|\u2039,\u2265|\u2264,>|<",
// U+0655: "ٕ" ARABIC HAMZA BELOW // U+0655: "ٕ" ARABIC HAMZA BELOW
// U+0652: "ْ" ARABIC SUKUN // U+0652: "ْ" ARABIC SUKUN
// U+0651: "ّ" ARABIC SHADDA // U+0651: "ّ" ARABIC SHADDA
@ -1255,68 +1266,68 @@ public final class KeyboardTextsSet {
// U+064E: "َ" ARABIC FATHA // U+064E: "َ" ARABIC FATHA
// U+0640: "ـ" ARABIC TATWEEL // U+0640: "ـ" ARABIC TATWEEL
// In order to make Tatweel easily distinguishable from other punctuations, we use consecutive Tatweels only for its displayed label. // In order to make Tatweel easily distinguishable from other punctuations, we use consecutive Tatweels only for its displayed label.
/* 57 */ "!fixedColumnOrder!7,\u0655,\u0652,\u0651,\u064C,\u064D,\u064B,\u0654,\u0656,\u0670,\u0653,\u064F,\u0650,\u064E,\u0640\u0640\u0640|\u0640", /* 56 */ "!fixedColumnOrder!7,\u0655,\u0652,\u0651,\u064C,\u064D,\u064B,\u0654,\u0656,\u0670,\u0653,\u064F,\u0650,\u064E,\u0640\u0640\u0640|\u0640",
/* 58 */ "\u064B", /* 57 */ "\u064B",
// U+06F1: "۱" EXTENDED ARABIC-INDIC DIGIT ONE // U+06F1: "۱" EXTENDED ARABIC-INDIC DIGIT ONE
/* 59 */ "\u06F1", /* 58 */ "\u06F1",
// U+06F2: "۲" EXTENDED ARABIC-INDIC DIGIT TWO // U+06F2: "۲" EXTENDED ARABIC-INDIC DIGIT TWO
/* 60 */ "\u06F2", /* 59 */ "\u06F2",
// U+06F3: "۳" EXTENDED ARABIC-INDIC DIGIT THREE // U+06F3: "۳" EXTENDED ARABIC-INDIC DIGIT THREE
/* 61 */ "\u06F3", /* 60 */ "\u06F3",
// U+06F4: "۴" EXTENDED ARABIC-INDIC DIGIT FOUR // U+06F4: "۴" EXTENDED ARABIC-INDIC DIGIT FOUR
/* 62 */ "\u06F4", /* 61 */ "\u06F4",
// U+06F5: "۵" EXTENDED ARABIC-INDIC DIGIT FIVE // U+06F5: "۵" EXTENDED ARABIC-INDIC DIGIT FIVE
/* 63 */ "\u06F5", /* 62 */ "\u06F5",
// U+06F6: "۶" EXTENDED ARABIC-INDIC DIGIT SIX // U+06F6: "۶" EXTENDED ARABIC-INDIC DIGIT SIX
/* 64 */ "\u06F6", /* 63 */ "\u06F6",
// U+06F7: "۷" EXTENDED ARABIC-INDIC DIGIT SEVEN // U+06F7: "۷" EXTENDED ARABIC-INDIC DIGIT SEVEN
/* 65 */ "\u06F7", /* 64 */ "\u06F7",
// U+06F8: "۸" EXTENDED ARABIC-INDIC DIGIT EIGHT // U+06F8: "۸" EXTENDED ARABIC-INDIC DIGIT EIGHT
/* 66 */ "\u06F8", /* 65 */ "\u06F8",
// U+06F9: "۹" EXTENDED ARABIC-INDIC DIGIT NINE // U+06F9: "۹" EXTENDED ARABIC-INDIC DIGIT NINE
/* 67 */ "\u06F9", /* 66 */ "\u06F9",
// U+06F0: "۰" EXTENDED ARABIC-INDIC DIGIT ZERO // U+06F0: "۰" EXTENDED ARABIC-INDIC DIGIT ZERO
/* 68 */ "\u06F0", /* 67 */ "\u06F0",
/* 69 */ "1", /* 68 */ "1",
/* 70 */ "2", /* 69 */ "2",
/* 71 */ "3", /* 70 */ "3",
/* 72 */ "4", /* 71 */ "4",
/* 73 */ "5", /* 72 */ "5",
/* 74 */ "6", /* 73 */ "6",
/* 75 */ "7", /* 74 */ "7",
/* 76 */ "8", /* 75 */ "8",
/* 77 */ "9", /* 76 */ "9",
// U+066B: "٫" ARABIC DECIMAL SEPARATOR // U+066B: "٫" ARABIC DECIMAL SEPARATOR
// U+066C: "٬" ARABIC THOUSANDS SEPARATOR // U+066C: "٬" ARABIC THOUSANDS SEPARATOR
/* 78 */ "0,\u066B,\u066C", /* 77 */ "0,\u066B,\u066C",
/* 79~ */ /* 78~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
/* ~88 */ /* ~87 */
// U+060C: "،" ARABIC COMMA // U+060C: "،" ARABIC COMMA
/* 89 */ "\u060C", /* 88 */ "\u060C",
/* 90 */ "\\,", /* 89 */ "\\,",
/* 91 */ "\u061F", /* 90 */ "\u061F",
/* 92 */ "\u061B", /* 91 */ "\u061B",
// U+066A: "٪" ARABIC PERCENT SIGN // U+066A: "٪" ARABIC PERCENT SIGN
/* 93 */ "\u066A", /* 92 */ "\u066A",
/* 94 */ null, /* 93 */ null,
/* 95 */ "?", /* 94 */ "?",
/* 96 */ ";", /* 95 */ ";",
// U+2030: "‰" PER MILLE SIGN // U+2030: "‰" PER MILLE SIGN
/* 97 */ "\\%,\u2030", /* 96 */ "\\%,\u2030",
// U+060C: "،" ARABIC COMMA // U+060C: "،" ARABIC COMMA
// U+061B: "؛" ARABIC SEMICOLON // U+061B: "؛" ARABIC SEMICOLON
// U+061F: "؟" ARABIC QUESTION MARK // U+061F: "؟" ARABIC QUESTION MARK
// U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK // U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
// U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK // U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
/* 98 */ "\u060C", /* 97 */ "\u060C",
/* 99 */ "!", /* 98 */ "!",
/* 100 */ "!,\\,", /* 99 */ "!,\\,",
/* 101 */ "\u061F", /* 100 */ "\u061F",
/* 102 */ "\u061F,?", /* 101 */ "\u061F,?",
/* 103 */ "\u060C", /* 102 */ "\u060C",
/* 104 */ "\u061F", /* 103 */ "\u061F",
/* 105 */ "!fixedColumnOrder!4,:,!,\u061F,\u061B,-,/,\u00AB|\u00BB,\u00BB|\u00AB", /* 104 */ "!fixedColumnOrder!4,:,!,\u061F,\u061B,-,/,\u00AB|\u00BB,\u00BB|\u00AB",
}; };
/* Language fi: Finnish */ /* Language fi: Finnish */
@ -1425,38 +1436,43 @@ public final class KeyboardTextsSet {
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
/* ~58 */ /* ~45 */
// U+20B9: "₹" INDIAN RUPEE SIGN
/* 46 */ "\u20B9",
/* 47~ */
null, null, null, null, null, null, null, null, null, null, null,
/* ~57 */
// U+0967: "१" DEVANAGARI DIGIT ONE // U+0967: "१" DEVANAGARI DIGIT ONE
/* 59 */ "\u0967", /* 58 */ "\u0967",
// U+0968: "२" DEVANAGARI DIGIT TWO // U+0968: "२" DEVANAGARI DIGIT TWO
/* 60 */ "\u0968", /* 59 */ "\u0968",
// U+0969: "३" DEVANAGARI DIGIT THREE // U+0969: "३" DEVANAGARI DIGIT THREE
/* 61 */ "\u0969", /* 60 */ "\u0969",
// U+096A: "४" DEVANAGARI DIGIT FOUR // U+096A: "४" DEVANAGARI DIGIT FOUR
/* 62 */ "\u096A", /* 61 */ "\u096A",
// U+096B: "५" DEVANAGARI DIGIT FIVE // U+096B: "५" DEVANAGARI DIGIT FIVE
/* 63 */ "\u096B", /* 62 */ "\u096B",
// U+096C: "६" DEVANAGARI DIGIT SIX // U+096C: "६" DEVANAGARI DIGIT SIX
/* 64 */ "\u096C", /* 63 */ "\u096C",
// U+096D: "७" DEVANAGARI DIGIT SEVEN // U+096D: "७" DEVANAGARI DIGIT SEVEN
/* 65 */ "\u096D", /* 64 */ "\u096D",
// U+096E: "८" DEVANAGARI DIGIT EIGHT // U+096E: "८" DEVANAGARI DIGIT EIGHT
/* 66 */ "\u096E", /* 65 */ "\u096E",
// U+096F: "९" DEVANAGARI DIGIT NINE // U+096F: "९" DEVANAGARI DIGIT NINE
/* 67 */ "\u096F", /* 66 */ "\u096F",
// U+0966: "" DEVANAGARI DIGIT ZERO // U+0966: "" DEVANAGARI DIGIT ZERO
/* 68 */ "\u0966", /* 67 */ "\u0966",
/* 69 */ "1", /* 68 */ "1",
/* 70 */ "2", /* 69 */ "2",
/* 71 */ "3", /* 70 */ "3",
/* 72 */ "4", /* 71 */ "4",
/* 73 */ "5", /* 72 */ "5",
/* 74 */ "6", /* 73 */ "6",
/* 75 */ "7", /* 74 */ "7",
/* 76 */ "8", /* 75 */ "8",
/* 77 */ "9", /* 76 */ "9",
/* 78 */ "0", /* 77 */ "0",
}; };
/* Language hr: Croatian */ /* Language hr: Croatian */
@ -1652,19 +1668,21 @@ public final class KeyboardTextsSet {
// TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK // 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!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;|&#x00BB;,&#x00BB|&#x00AB;;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
/* 44 */ "!fixedColumnOrder!4,\u201C,\u201D,\u00AB|\u00BB,\u00BB|\u00AB,\u2018,\u2019,\u201A,\u201B", /* 44 */ "!fixedColumnOrder!4,\u201C,\u201D,\u00AB|\u00BB,\u00BB|\u00AB,\u2018,\u2019,\u201A,\u201B",
/* 45~ */ /* 45 */ null,
null, null, null, null, null, // U+20AA: "₪" NEW SHEQEL SIGN
/* ~49 */ /* 46 */ "\u20AA",
/* 47 */ null,
/* 48 */ null,
// U+2605: "★" BLACK STAR // U+2605: "★" BLACK STAR
/* 50 */ "\u2605", /* 49 */ "\u2605",
/* 51 */ null, /* 50 */ null,
// U+00B1: "±" PLUS-MINUS SIGN // U+00B1: "±" PLUS-MINUS SIGN
// U+FB29: "﬩" HEBREW LETTER ALTERNATIVE PLUS SIGN // U+FB29: "﬩" HEBREW LETTER ALTERNATIVE PLUS SIGN
/* 52 */ "\u00B1,\uFB29", /* 51 */ "\u00B1,\uFB29",
// The all letters need to be mirrored are found at // The all letters need to be mirrored are found at
// http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt // http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt
/* 53 */ "!fixedColumnOrder!3,<|>,{|},[|]", /* 52 */ "!fixedColumnOrder!3,<|>,{|},[|]",
/* 54 */ "!fixedColumnOrder!3,>|<,}|{,]|[", /* 53 */ "!fixedColumnOrder!3,>|<,}|{,]|[",
// U+2264: "≤" LESS-THAN OR EQUAL TO // U+2264: "≤" LESS-THAN OR EQUAL TO
// U+2265: "≥" GREATER-THAN EQUAL TO // U+2265: "≥" GREATER-THAN EQUAL TO
// U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK // U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
@ -1680,8 +1698,8 @@ public final class KeyboardTextsSet {
// U+201D: "”" RIGHT DOUBLE QUOTATION MARK // U+201D: "”" RIGHT DOUBLE QUOTATION MARK
// U+201E: "„" DOUBLE LOW-9 QUOTATION MARK // U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
// U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK // U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK
/* 55 */ "!fixedColumnOrder!3,\u2039|\u203A,\u2264|\u2265,\u00AB|\u00BB", /* 54 */ "!fixedColumnOrder!3,\u2039|\u203A,\u2264|\u2265,\u00AB|\u00BB",
/* 56 */ "!fixedColumnOrder!3,\u203A|\u2039,\u2265|\u2264,\u00BB|\u00AB", /* 55 */ "!fixedColumnOrder!3,\u203A|\u2039,\u2265|\u2264,\u00BB|\u00AB",
}; };
/* Language ky: Kirghiz */ /* Language ky: Kirghiz */
@ -1932,6 +1950,18 @@ public final class KeyboardTextsSet {
/* 44 */ "!fixedColumnOrder!5,\u201E,\u201C,\u201D,\u00AB,\u00BB,\u2018,\u2019,\u201A,\u201B", /* 44 */ "!fixedColumnOrder!5,\u201E,\u201C,\u201D,\u00AB,\u00BB,\u2018,\u2019,\u201A,\u201B",
}; };
/* Language mn: Mongolian */
private static final String[] LANGUAGE_mn = {
/* 0~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null,
/* ~45 */
// U+20AE: "₮" TUGRIK SIGN
/* 46 */ "\u20AE",
};
/* Language nb: Norwegian Bokmål */ /* Language nb: Norwegian Bokmål */
private static final String[] LANGUAGE_nb = { private static final String[] LANGUAGE_nb = {
// U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
@ -2469,6 +2499,18 @@ public final class KeyboardTextsSet {
/* 15 */ "g\'", /* 15 */ "g\'",
}; };
/* Language th: Thai */
private static final String[] LANGUAGE_th = {
/* 0~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null,
/* ~45 */
// U+0E3F: "฿" THAI CURRENCY SYMBOL BAHT
/* 46 */ "\u0E3F",
};
/* Language tl: Tagalog */ /* Language tl: Tagalog */
private static final String[] LANGUAGE_tl = { private static final String[] LANGUAGE_tl = {
// U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
@ -2593,6 +2635,11 @@ public final class KeyboardTextsSet {
/* 34 */ null, /* 34 */ null,
// U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN // U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN
/* 35 */ "\u044A", /* 35 */ "\u044A",
/* 36~ */
null, null, null, null, null, null, null, null, null, null,
/* ~45 */
// U+20B4: "₴" HRYVNIA SIGN
/* 46 */ "\u20B4",
}; };
/* Language vi: Vietnamese */ /* Language vi: Vietnamese */
@ -2674,6 +2721,13 @@ public final class KeyboardTextsSet {
/* 8 */ "\u1EF3,\u00FD,\u1EF7,\u1EF9,\u1EF5", /* 8 */ "\u1EF3,\u00FD,\u1EF7,\u1EF9,\u1EF5",
// U+0111: "đ" LATIN SMALL LETTER D WITH STROKE // U+0111: "đ" LATIN SMALL LETTER D WITH STROKE
/* 9 */ "\u0111", /* 9 */ "\u0111",
/* 10~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null,
/* ~45 */
// U+20AB: "₫" DONG SIGN
/* 46 */ "\u20AB",
}; };
/* Language zu: Zulu */ /* Language zu: Zulu */
@ -2872,6 +2926,7 @@ public final class KeyboardTextsSet {
"lt", LANGUAGE_lt, /* Lithuanian */ "lt", LANGUAGE_lt, /* Lithuanian */
"lv", LANGUAGE_lv, /* Latvian */ "lv", LANGUAGE_lv, /* Latvian */
"mk", LANGUAGE_mk, /* Macedonian */ "mk", LANGUAGE_mk, /* Macedonian */
"mn", LANGUAGE_mn, /* Mongolian */
"nb", LANGUAGE_nb, /* Norwegian Bokmål */ "nb", LANGUAGE_nb, /* Norwegian Bokmål */
"nl", LANGUAGE_nl, /* Dutch */ "nl", LANGUAGE_nl, /* Dutch */
"pl", LANGUAGE_pl, /* Polish */ "pl", LANGUAGE_pl, /* Polish */
@ -2884,6 +2939,7 @@ public final class KeyboardTextsSet {
"sr", LANGUAGE_sr, /* Serbian */ "sr", LANGUAGE_sr, /* Serbian */
"sv", LANGUAGE_sv, /* Swedish */ "sv", LANGUAGE_sv, /* Swedish */
"sw", LANGUAGE_sw, /* Swahili */ "sw", LANGUAGE_sw, /* Swahili */
"th", LANGUAGE_th, /* Thai */
"tl", LANGUAGE_tl, /* Tagalog */ "tl", LANGUAGE_tl, /* Tagalog */
"tr", LANGUAGE_tr, /* Turkish */ "tr", LANGUAGE_tr, /* Turkish */
"uk", LANGUAGE_uk, /* Ukrainian */ "uk", LANGUAGE_uk, /* Ukrainian */

View File

@ -112,36 +112,56 @@ public final class InputAttributes {
if (inputClass == InputType.TYPE_CLASS_DATETIME) if (inputClass == InputType.TYPE_CLASS_DATETIME)
Log.i(TAG, " TYPE_CLASS_DATETIME"); Log.i(TAG, " TYPE_CLASS_DATETIME");
Log.i(TAG, "Variation:"); Log.i(TAG, "Variation:");
if (0 != (inputType & InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS)) switch (InputType.TYPE_MASK_VARIATION & inputType) {
Log.i(TAG, " TYPE_TEXT_VARIATION_EMAIL_ADDRESS"); case InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS:
if (0 != (inputType & InputType.TYPE_TEXT_VARIATION_EMAIL_SUBJECT)) Log.i(TAG, " TYPE_TEXT_VARIATION_EMAIL_ADDRESS");
Log.i(TAG, " TYPE_TEXT_VARIATION_EMAIL_SUBJECT"); break;
if (0 != (inputType & InputType.TYPE_TEXT_VARIATION_FILTER)) case InputType.TYPE_TEXT_VARIATION_EMAIL_SUBJECT:
Log.i(TAG, " TYPE_TEXT_VARIATION_FILTER"); Log.i(TAG, " TYPE_TEXT_VARIATION_EMAIL_SUBJECT");
if (0 != (inputType & InputType.TYPE_TEXT_VARIATION_LONG_MESSAGE)) break;
Log.i(TAG, " TYPE_TEXT_VARIATION_LONG_MESSAGE"); case InputType.TYPE_TEXT_VARIATION_FILTER:
if (0 != (inputType & InputType.TYPE_TEXT_VARIATION_NORMAL)) Log.i(TAG, " TYPE_TEXT_VARIATION_FILTER");
Log.i(TAG, " TYPE_TEXT_VARIATION_NORMAL"); break;
if (0 != (inputType & InputType.TYPE_TEXT_VARIATION_PASSWORD)) case InputType.TYPE_TEXT_VARIATION_LONG_MESSAGE:
Log.i(TAG, " TYPE_TEXT_VARIATION_PASSWORD"); Log.i(TAG, " TYPE_TEXT_VARIATION_LONG_MESSAGE");
if (0 != (inputType & InputType.TYPE_TEXT_VARIATION_PERSON_NAME)) break;
Log.i(TAG, " TYPE_TEXT_VARIATION_PERSON_NAME"); case InputType.TYPE_TEXT_VARIATION_NORMAL:
if (0 != (inputType & InputType.TYPE_TEXT_VARIATION_PHONETIC)) Log.i(TAG, " TYPE_TEXT_VARIATION_NORMAL");
Log.i(TAG, " TYPE_TEXT_VARIATION_PHONETIC"); break;
if (0 != (inputType & InputType.TYPE_TEXT_VARIATION_POSTAL_ADDRESS)) case InputType.TYPE_TEXT_VARIATION_PASSWORD:
Log.i(TAG, " TYPE_TEXT_VARIATION_POSTAL_ADDRESS"); Log.i(TAG, " TYPE_TEXT_VARIATION_PASSWORD");
if (0 != (inputType & InputType.TYPE_TEXT_VARIATION_SHORT_MESSAGE)) break;
Log.i(TAG, " TYPE_TEXT_VARIATION_SHORT_MESSAGE"); case InputType.TYPE_TEXT_VARIATION_PERSON_NAME:
if (0 != (inputType & InputType.TYPE_TEXT_VARIATION_URI)) Log.i(TAG, " TYPE_TEXT_VARIATION_PERSON_NAME");
Log.i(TAG, " TYPE_TEXT_VARIATION_URI"); break;
if (0 != (inputType & InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD)) case InputType.TYPE_TEXT_VARIATION_PHONETIC:
Log.i(TAG, " TYPE_TEXT_VARIATION_VISIBLE_PASSWORD"); Log.i(TAG, " TYPE_TEXT_VARIATION_PHONETIC");
if (0 != (inputType & InputType.TYPE_TEXT_VARIATION_WEB_EDIT_TEXT)) break;
Log.i(TAG, " TYPE_TEXT_VARIATION_WEB_EDIT_TEXT"); case InputType.TYPE_TEXT_VARIATION_POSTAL_ADDRESS:
if (0 != (inputType & InputType.TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS)) Log.i(TAG, " TYPE_TEXT_VARIATION_POSTAL_ADDRESS");
Log.i(TAG, " TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS"); break;
if (0 != (inputType & InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD)) case InputType.TYPE_TEXT_VARIATION_SHORT_MESSAGE:
Log.i(TAG, " TYPE_TEXT_VARIATION_WEB_PASSWORD"); Log.i(TAG, " TYPE_TEXT_VARIATION_SHORT_MESSAGE");
break;
case InputType.TYPE_TEXT_VARIATION_URI:
Log.i(TAG, " TYPE_TEXT_VARIATION_URI");
break;
case InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD:
Log.i(TAG, " TYPE_TEXT_VARIATION_VISIBLE_PASSWORD");
break;
case InputType.TYPE_TEXT_VARIATION_WEB_EDIT_TEXT:
Log.i(TAG, " TYPE_TEXT_VARIATION_WEB_EDIT_TEXT");
break;
case InputType.TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS:
Log.i(TAG, " TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS");
break;
case InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD:
Log.i(TAG, " TYPE_TEXT_VARIATION_WEB_PASSWORD");
break;
default:
Log.i(TAG, " Unknown variation");
break;
}
Log.i(TAG, "Flags:"); Log.i(TAG, "Flags:");
if (0 != (inputType & InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS)) if (0 != (inputType & InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS))
Log.i(TAG, " TYPE_TEXT_FLAG_NO_SUGGESTIONS"); Log.i(TAG, " TYPE_TEXT_FLAG_NO_SUGGESTIONS");

View File

@ -32,8 +32,10 @@ LOCAL_CFLAGS += -Werror -Wall -Wextra -Weffc++ -Wformat=2 -Wcast-qual -Wcast-ali
-Wwrite-strings -Wfloat-equal -Wpointer-arith -Winit-self -Wredundant-decls -Wno-system-headers -Wwrite-strings -Wfloat-equal -Wpointer-arith -Winit-self -Wredundant-decls -Wno-system-headers
ifeq ($(TARGET_ARCH), arm) ifeq ($(TARGET_ARCH), arm)
ifneq ($(TARGET_GCC_VERSION), 4.7)
LOCAL_CFLAGS += -Winline LOCAL_CFLAGS += -Winline
endif endif # TARGET_GCC_VERSION
endif # TARGET_ARCH
# To suppress compiler warnings for unused variables/functions used for debug features etc. # To suppress compiler warnings for unused variables/functions used for debug features etc.
LOCAL_CFLAGS += -Wno-unused-parameter -Wno-unused-function LOCAL_CFLAGS += -Wno-unused-parameter -Wno-unused-function

View File

@ -105,6 +105,13 @@
<!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK --> <!-- 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!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> <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!4,&#x201C;,&#x201D;,&#x00AB;|&#x00BB;,&#x00BB;|&#x00AB;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
<!-- U+00A2: "¢" CENT SIGN
U+00A3: "£" POUND SIGN
U+20AC: "€" EURO SIGN
U+00A5: "¥" YEN SIGN
U+20B1: "₱" PESO SIGN
U+FDFC: "﷼" RIAL SIGN -->
<string name="more_keys_for_currency_dollar">&#x00A2;,&#x00A3;,&#x20AC;,&#x00A5;,&#x20B1;,&#xFDFC;</string>
<!-- U+0655: "ٕ" ARABIC HAMZA BELOW <!-- U+0655: "ٕ" ARABIC HAMZA BELOW
U+0654: "ٔ" ARABIC HAMZA ABOVE U+0654: "ٔ" ARABIC HAMZA ABOVE
U+0652: "ْ" ARABIC SUKUN U+0652: "ْ" ARABIC SUKUN

View File

@ -112,6 +112,15 @@
<!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK --> <!-- 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!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> <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!4,&#x201C;,&#x201D;,&#x00AB;|&#x00BB;,&#x00BB;|&#x00AB;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
<!-- U+FDFC: "﷼" RIAL SIGN
U+060B: "؋" AFGHANI SIGN
U+00A2: "¢" CENT SIGN
U+00A3: "£" POUND SIGN
U+20AC: "€" EURO SIGN
U+00A5: "¥" YEN SIGN
U+20B1: "₱" PESO SIGN -->
<string name="keylabel_for_currency_generic">&#xFDFC;</string>
<string name="more_keys_for_currency_generic">$,&#x00A2;,&#x20AC;,&#x00A3;,&#x00A5;,&#x20B1;,&#x060B;</string>
<!-- U+0655: "ٕ" ARABIC HAMZA BELOW <!-- U+0655: "ٕ" ARABIC HAMZA BELOW
U+0652: "ْ" ARABIC SUKUN U+0652: "ْ" ARABIC SUKUN
U+0651: "ّ" ARABIC SHADDA U+0651: "ّ" ARABIC SHADDA

View File

@ -48,4 +48,6 @@
<string name="additional_more_keys_for_symbols_8">8</string> <string name="additional_more_keys_for_symbols_8">8</string>
<string name="additional_more_keys_for_symbols_9">9</string> <string name="additional_more_keys_for_symbols_9">9</string>
<string name="additional_more_keys_for_symbols_0">0</string> <string name="additional_more_keys_for_symbols_0">0</string>
<!-- U+20B9: "₹" INDIAN RUPEE SIGN -->
<string name="keylabel_for_currency_generic">&#x20B9;</string>
</resources> </resources>

View File

@ -50,4 +50,6 @@
<!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK --> <!-- 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!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> <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!4,&#x201C;,&#x201D;,&#x00AB;|&#x00BB;,&#x00BB;|&#x00AB;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
<!-- U+20AA: "₪" NEW SHEQEL SIGN -->
<string name="keylabel_for_currency_generic">&#x20AA;</string>
</resources> </resources>

View File

@ -0,0 +1,23 @@
<?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.
*/
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- U+20AE: "₮" TUGRIK SIGN -->
<string name="keylabel_for_currency_generic">&#x20AE;</string>
</resources>

View File

@ -0,0 +1,23 @@
<?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.
*/
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- U+0E3F: "฿" THAI CURRENCY SYMBOL BAHT -->
<string name="keylabel_for_currency_generic">&#x0E3F;</string>
</resources>

View File

@ -34,4 +34,6 @@
<string name="more_keys_for_east_slavic_row2_1">&#x0457;</string> <string name="more_keys_for_east_slavic_row2_1">&#x0457;</string>
<!-- U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN --> <!-- U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN -->
<string name="more_keys_for_cyrillic_soft_sign">&#x044A;</string> <string name="more_keys_for_cyrillic_soft_sign">&#x044A;</string>
<!-- U+20B4: "₴" HRYVNIA SIGN -->
<string name="keylabel_for_currency_generic">&#x20B4;</string>
</resources> </resources>

View File

@ -92,4 +92,6 @@
<string name="more_keys_for_y">&#x1EF3;,&#x00FD;,&#x1EF7;,&#x1EF9;,&#x1EF5;</string> <string name="more_keys_for_y">&#x1EF3;,&#x00FD;,&#x1EF7;,&#x1EF9;,&#x1EF5;</string>
<!-- U+0111: "đ" LATIN SMALL LETTER D WITH STROKE --> <!-- U+0111: "đ" LATIN SMALL LETTER D WITH STROKE -->
<string name="more_keys_for_d">&#x0111;</string> <string name="more_keys_for_d">&#x0111;</string>
<!-- U+20AB: "₫" DONG SIGN -->
<string name="keylabel_for_currency_generic">&#x20AB;</string>
</resources> </resources>

View File

@ -73,9 +73,8 @@
U+00A5: "¥" YEN SIGN U+00A5: "¥" YEN SIGN
U+20B1: "₱" PESO SIGN --> U+20B1: "₱" PESO SIGN -->
<string name="more_keys_for_currency_dollar">&#x00A2;,&#x00A3;,&#x20AC;,&#x00A5;,&#x20B1;</string> <string name="more_keys_for_currency_dollar">&#x00A2;,&#x00A3;,&#x20AC;,&#x00A5;,&#x20B1;</string>
<string name="more_keys_for_currency_euro">&#x00A2;,&#x00A3;,$,&#x00A5;,&#x20B1;</string> <string name="keylabel_for_currency_generic">$</string>
<string name="more_keys_for_currency_pound">&#x00A2;,$,&#x20AC;,&#x00A5;,&#x20B1;</string> <string name="more_keys_for_currency_generic">$,&#x00A2;,&#x20AC;,&#x00A3;,&#x00A5;,&#x20B1;</string>
<string name="more_keys_for_currency_general">&#x00A2;,$,&#x20AC;,&#x00A3;,&#x00A5;,&#x20B1;</string>
<string name="more_keys_for_punctuation">"!fixedColumnOrder!8,\",\',#,-,:,!,\\,,\?,\@,&amp;,\\%,+,;,/,(,)"</string> <string name="more_keys_for_punctuation">"!fixedColumnOrder!8,\",\',#,-,:,!,\\,,\?,\@,&amp;,\\%,+,;,/,(,)"</string>
<!-- U+2020: "†" DAGGER <!-- U+2020: "†" DAGGER
U+2021: "‡" DOUBLE DAGGER U+2021: "‡" DOUBLE DAGGER

View File

@ -158,6 +158,12 @@ public class MoreKeysResources {
out.format(" private static final String[] " + ARRAY_NAME_FOR_LANGUAGE + " = {\n", out.format(" private static final String[] " + ARRAY_NAME_FOR_LANGUAGE + " = {\n",
language); language);
final StringResourceMap resMap = mResourcesMap.get(language); final StringResourceMap resMap = mResourcesMap.get(language);
for (final StringResource res : resMap.getResources()) {
if (!defaultResMap.contains(res.mName)) {
throw new RuntimeException(res.mName + " in " + language
+ " doesn't have default resource");
}
}
dumpTextsInternal(out, resMap, defaultResMap); dumpTextsInternal(out, resMap, defaultResMap);
out.format(" };\n\n"); out.format(" };\n\n");
} }