Add ur_PK (urdu pakistan) keyboard (#133)

This commit is contained in:
Waqar Ahmed 2023-09-07 16:38:51 +05:00 committed by GitHub
parent ebffe9927e
commit 065beab72a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 890 additions and 383 deletions

View file

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Keyboard xmlns:latin="http://schemas.android.com/apk/res-auto">
<include latin:keyboardLayout="@xml/rows_urdu" />
</Keyboard>

View file

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<KeyboardLayoutSet xmlns:latin="http://schemas.android.com/apk/res-auto">
<Feature
latin:supportedScript="arabic" />
<Element
latin:elementName="alphabet"
latin:elementKeyboard="@xml/kbd_urdu"
latin:enableProximityCharsCorrection="true" />
<Element
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />
<Element
latin:elementName="symbolsShifted"
latin:elementKeyboard="@xml/kbd_symbols_shift" />
<Element
latin:elementName="phone"
latin:elementKeyboard="@xml/kbd_phone" />
<Element
latin:elementName="phoneSymbols"
latin:elementKeyboard="@xml/kbd_phone_symbols" />
<Element
latin:elementName="number"
latin:elementKeyboard="@xml/kbd_number" />
<Element
latin:elementName="numpad"
latin:elementKeyboard="@xml/kbd_numpad" />
</KeyboardLayoutSet>

View file

@ -105,6 +105,7 @@
th: Thai/thai
tl: Tagalog/spanish
tr: Turkish/qwerty
ur_PK: Urdu Pakistan
uk: Ukrainian/east_slavic
uz_UZ: Uzbek (Uzbekistan)/uzbek # This is a preliminary keyboard layout.
vi: Vietnamese/qwerty
@ -814,6 +815,14 @@
android:imeSubtypeExtraValue="KeyboardLayoutSet=east_slavic,EmojiCapable"
android:isAsciiCapable="false"
/>
<subtype android:icon="@drawable/ic_ime_switcher_dark"
android:label="@string/subtype_generic"
android:subtypeId="0x1e8349fc"
android:imeSubtypeLocale="ur_PK"
android:imeSubtypeMode="keyboard"
android:imeSubtypeExtraValue="KeyboardLayoutSet=urdu,EmojiCapable"
android:isAsciiCapable="false"
/>
<!-- TODO: This Uzbek keyboard is a preliminary layout.
This isn't based on the final specification. -->
<subtype android:icon="@drawable/ic_ime_switcher_dark"

View file

@ -0,0 +1,84 @@
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:latin="http://schemas.android.com/apk/res-auto">
<switch>
<case latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted">
<!-- U+0654: "ٔ" ARABIC HAMZA ABOVE -->
<Key latin:keySpec="&#x0654;" />
<!-- U+0652: "ْ" ARABIC SUKUN -->
<Key latin:keySpec="&#x0652;" />
<!-- U+0651: "ّ" ARABIC SHADDA -->
<Key latin:keySpec="&#x0651;" />
<!-- U+064B: "ً" ARABIC FATHATAN -->
<Key latin:keySpec="&#x064B;" />
<!-- U+0657: "ٗ" ARABIC INVERTED DAMMA -->
<Key latin:keySpec="&#x0657;" />
<!-- U+0656: "ٖ" ARABIC SUBSCRIPT ALEF -->
<Key latin:keySpec="&#x0656;" />
<!-- U+0670: "ٰ" ARABIC LETTER SUPERSCRIPT ALEF -->
<Key latin:keySpec="&#x0670;" />
<!-- U+064F: "ُ" ARABIC DAMMA -->
<Key latin:keySpec="&#x064F;" />
<!-- U+0650: "ِ" ARABIC KASRA -->
<Key latin:keySpec="&#x0650;" />
<!-- U+064E: "َ" ARABIC FATHA -->
<Key latin:keySpec="&#x064E;" />
</case>
<default>
<!-- U+0642: "ق" ARABIC LETTER QAF -->
<Key latin:keySpec="&#x0642;"
latin:keyHintLabel="&#x06F1;"
latin:additionalMoreKeys="1,&#x06F1;" />
<!-- U+0648: "و" ARABIC LETTER WAW
U+0624: "ؤ" ARABIC LETTER WAW WITH HAMZA ABOVE -->
<Key
latin:keySpec="&#x0648;"
latin:keyHintLabel="&#x0624;&#x06F2;"
latin:additionalMoreKeys="&#x0624;,2,&#x06F2;" />
<!-- U+0639: "ع" ARABIC LETTER AIN -->
<Key latin:keySpec="&#x0639;"
latin:keyHintLabel="&#x06F3;"
latin:additionalMoreKeys="3,&#x06F3;"
/>
<!-- U+0631: "ر" ARABIC LETTER REH
U+0691: "ڑ" ARABIC LETTER RREH -->
<Key
latin:keySpec="&#x0631;"
latin:keyHintLabel="&#x0691;&#x06F4;"
latin:additionalMoreKeys="&#x0691;,4,&#x06F4;" />
<!-- U+062A: "ت" ARABIC LETTER TEH
U+0679: "ٹ" ARABIC LETTER TTEH -->
<Key
latin:keySpec="&#x062A;"
latin:keyHintLabel="&#x0679;&#x06F5;"
latin:additionalMoreKeys="&#x0679;,5,&#x06F5;" />
<!-- U+06D2: "ے" ARABIC LETTER YEH BARREE
U+06D3: "ۓ" ARABIC LETTER YEH BARREE WITH HAMZA ABOVE -->
<Key
latin:keySpec="&#x06D2;"
latin:keyHintLabel="&#x06D3;&#x06F6;"
latin:additionalMoreKeys="&#x06D3;,6,&#x06F6;" />
<!-- U+0621: "ء" ARABIC LETTER HAMZA -->
<Key
latin:keySpec="&#x0621;"
latin:keyHintLabel="&#x06F7;"
latin:additionalMoreKeys="7,&#x06F7;" />
<!-- U+06CC: "ی" ARABIC LETTER FARSI YEH
U+0626: "ئ" ARABIC LETTER YEH WITH HAMZA ABOVE -->
<Key latin:keySpec="&#x06CC;"
latin:keyHintLabel="&#x0626;&#x06F8;"
latin:additionalMoreKeys="&#x0626;,8,&#x06F8;" />
<!-- U+06C1: "ہ" ARABIC LETTER HEH GOAL
U+06C2: "ۂ" ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
U+06C3: "ۃ" ARABIC LETTER TEH MARTUBA GOAL -->
<Key
latin:keySpec="&#x06C1;"
latin:keyHintLabel="&#x06C2;&#x06F9;"
latin:additionalMoreKeys="&#x06C2;,&#x06C3;,9,&#x06F9;" />
<!-- U+067E: "پ" ARABIC LETTER PEH -->
<Key latin:keySpec="&#x067E;"
latin:keyHintLabel="&#x06F0;"
latin:additionalMoreKeys="0,&#x06F0;" />
</default>
</switch>
</merge>

View file

@ -0,0 +1,78 @@
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:latin="http://schemas.android.com/apk/res-auto">
<switch>
<case latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted">
<!-- U+060F: "؏" ARABIC SIGN MISRA -->
<Key latin:keySpec="&#x060F;" />
<!-- U+060E: "؎" ARABIC POETIC VERSE SIGN -->
<Key latin:keySpec="&#x060E;" />
<!-- U+0614: "ؔ" ARABIC SIGN TAKHALLUS -->
<Key latin:keySpec="&#x0614;" />
<!-- U+0612: "ؒ" ARABIC SIGN RAHMATULLAH ALAYHE -->
<Key latin:keySpec="&#x0612;" />
<!-- U+0613: "ؓ" ARABIC SIGN RADI ALLAHOU ANHU -->
<Key latin:keySpec="&#x0613;" />
<!-- U+0611: "ؑ" ARABIC SIGN ALAYHE ASSALLAM -->
<Key latin:keySpec="&#x0611;" />
<!-- U+0610: "ؐ" ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM -->
<Key latin:keySpec="&#x0610;" />
<!-- U+FDFA: "ﷺ" ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM -->
<Key latin:keySpec="&#xFDFA;" />
<!-- U+FDFB: "ﷻ" ARABIC LIGATURE JALLAJALALOUHOU -->
<Key latin:keySpec="&#xFDFB;" />
</case>
<default>
<!-- U+0627: "ا" ARABIC LETTER ALEF
U+0622: "آ" ARABIC LETTER ALEF WITH MADDA ABOVE
U+0623: "أ" ARABIC LETTER ALEF WITH HAMZA ABOVE
U+0670: "ٰ" ARABIC LETTER SUPERSCRIPT ALEF
U+0656: "ٖ" ARABIC SUBSCRIPT ALEF
-->
<Key
latin:keySpec="&#x0627;"
latin:keyHintLabel="&#x0622;"
latin:moreKeys="&#x0622;,&#x0623;,&#x0670;,&#x0656;" />
<!-- U+0633: "س" ARABIC LETTER SEEN
U+0635: "ص" ARABIC LETTER SAD -->
<Key
latin:keySpec="&#x0633;"
latin:keyHintLabel="&#x0635;"
latin:moreKeys="&#x0635;" />
<!-- U+062F: "د" ARABIC LETTER DAL
U+0688: "ڈ" ARABIC LETTER DDAL -->
<Key
latin:keySpec="&#x062F;"
latin:keyHintLabel="&#x0688;"
latin:moreKeys="&#x0688;" />
<!-- U+0641: "ف" ARABIC LETTER FEH -->
<Key latin:keySpec="&#x0641;" />
<!-- U+06AF: "گ" ARABIC LETTER GAF
U+063A: "غ" ARABIC LETTER GHAIN -->
<Key
latin:keySpec="&#x06AF;"
latin:keyHintLabel="&#x063A;"
latin:moreKeys="&#x063A;" />
<!-- U+062D: "ح" ARABIC LETTER HAH
U+06BE: "ھ" ARABIC LETTER DOACHASHMEE -->
<Key
latin:keySpec="&#x062D;"
latin:keyHintLabel="&#x06BE;"
latin:moreKeys="&#x06BE;" />
<!-- U+062C: "ج" ARABIC LETTER JEEM
U+0636: "ض": ARABIC LETTER DAD -->
<Key
latin:keySpec="&#x062C;"
latin:keyHintLabel="&#x0636;"
latin:moreKeys="&#x0636;" />
<!-- U+06A9: "ک" ARABIC LETTER KEHEH
U+062E: "خ" ARABIC LETTER KHAH -->
<Key
latin:keySpec="&#x06A9;"
latin:keyHintLabel="&#x062E;"
latin:moreKeys="&#x062E;" />
<!-- U+0644: "ل" ARABIC LETTER LAM -->
<Key latin:keySpec="&#x0644;" />
</default>
</switch>
</merge>

View file

@ -0,0 +1,79 @@
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:latin="http://schemas.android.com/apk/res-auto">
<switch>
<case latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted">
<!-- U+0601: ARABIC WORD ALLAH -->
<Key latin:keySpec="&#xFDF2;" />
<!-- U+0600: "" ARABIC NUMBER SIGN -->
<Key latin:keySpec="&#x0600;" />
<!-- U+0602: "؂" ARABIC FOOTNOTE MARKER -->
<Key latin:keySpec="&#x0602;" />
<!-- U+0603: "؃" ARABIC SIGN SAFHA -->
<Key latin:keySpec="&#x0603;" />
<!-- U+060D: "؍" ARABIC DATE SEPARATOR -->
<Key latin:keySpec="&#x060D;" />
<!-- U+0658: "٘" ARABIC MARK NOON GHUNNA -->
<Key latin:keySpec="&#x0658;" />
<!-- U+066B: "٫" ARABIC DECIMAL SEPARATOR -->
<Key latin:keySpec="&#x066B;" />
</case>
<default>
<!-- U+064E ARABIC FATHA
U+064F ARABIC DAMMA
U+0650 ARABIC KASRA
U+0657 ARABIC INVERTED DAMMA
U+0652 ARABIC SUKUN
U+064B ARABIC FATHATAN
U+064C ARABIC DAMMATAN
U+064D ARABIC KASRATAN
U+0651 ARABIC SHADDA
-->
<Key
latin:keySpec="&#x064E;"
latin:keyHintLabel="&#x064F;"
latin:moreKeys="&#x064F;,&#x0650;,&#x0657;,&#x0652;,&#x064B;,&#x064C;,&#x064D;,&#x0651;" />
<!-- U+0632: "ز" ARABIC LETTER ZAIN
U+0630: "ذ" ARABIC LETTER THAL -->
<Key
latin:keySpec="&#x0632;"
latin:keyHintLabel="&#x0630;"
latin:moreKeys="&#x0630;" />
<!-- U+0634: "ش" ARABIC LETTER SHEEN
U+0698: "ژ" ARABIC LETTER JEH -->
<Key
latin:keySpec="&#x0634;"
latin:keyHintLabel="&#x0698;"
latin:moreKeys="&#x0698;" />
<!-- U+0686: "چ" ARABIC LETTER TCHEH
U+062B: "ث" ARABIC LETTER THEH -->
<Key
latin:keySpec="&#x0686;"
latin:keyHintLabel="&#x062B;"
latin:moreKeys="&#x062B;" />
<!-- U+0637: "ط" ARABIC LETTER TAH
U+0638: "ظ" ARABIC LETTER ZAH -->
<Key
latin:keySpec="&#x0637;"
latin:keyHintLabel="&#x0638;"
latin:moreKeys="&#x0638;" />
<!-- U+0628: "ب" ARABIC LETTER BEH
U+0029 RIGHT PARENTHESIS -->
<Key latin:keySpec="&#x0628;"
latin:keyHintLabel="("
latin:moreKeys=")" />
<!-- U+0646: "ن" ARABIC LETTER NOON
U+06BA: "ں" ARABIC LETTER NOON GHUNNA -->
<Key
latin:keySpec="&#x0646;"
latin:keyHintLabel="&#x06BA;"
latin:moreKeys="&#x06BA;" />
<!-- U+0645: "م" ARABIC LETTER MEEM
U+0029 LEFT PARENTHESIS -->
<Key latin:keySpec="&#x0645;"
latin:keyHintLabel=")"
latin:moreKeys="(" />
</default>
</switch>
</merge>

View file

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:latin="http://schemas.android.com/apk/res-auto">
<include latin:keyboardLayout="@xml/key_styles_common" />
<include
latin:keyboardLayout="@xml/row_optional_number_row" />
<Row
latin:keyWidth="10%p"
latin:keyLabelFlags="fontNormal"
>
<include latin:keyboardLayout="@xml/rowkeys_urdu1" />
</Row>
<Row
latin:keyWidth="10%p"
latin:keyLabelFlags="fontNormal"
>
<include
latin:keyboardLayout="@xml/rowkeys_urdu2"
latin:keyXPos="5%p" />
</Row>
<Row
latin:keyWidth="10%p"
latin:keyLabelFlags="fontNormal"
>
<Key
latin:keyStyle="shiftKeyStyle"
latin:visualInsetsRight="1%p" />
<include latin:keyboardLayout="@xml/rowkeys_urdu3" />
<Key latin:keyStyle="deleteKeyStyle"/>
</Row>
<include latin:keyboardLayout="@xml/row_qwerty4" />
</merge>

View file

@ -0,0 +1,77 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Label for "switch to alphabetic" key.
U+0623: "ا" ARABIC LETTER ALEF WITH HAMZA ABOVE
U+0628: "ب" ARABIC LETTER BEH
U+200C: ZERO WIDTH NON-JOINER
U+062C: "پ" URDU LETTER PEH -->
<string name="keylabel_to_alpha">&#x0627;&#x0628;&#x200C;&#x067E;</string>
<!-- U+060C: "،" ARABIC COMMA -->
<string name="keyspec_comma">&#x060C;</string>
<!-- Label for "switch to symbols" key.
U+061F: "؟" ARABIC QUESTION MARK -->
<string name="keylabel_to_symbol">&#x06F3;&#x06F2;&#x06F1;&#x061F;</string>
<string name="additional_morekeys_symbols_1">&#x06F1;</string>
<string name="additional_morekeys_symbols_2">&#x06F2;</string>
<string name="additional_morekeys_symbols_3">&#x06F3;</string>
<string name="additional_morekeys_symbols_4">&#x06F4;</string>
<string name="additional_morekeys_symbols_5">&#x06F5;</string>
<string name="additional_morekeys_symbols_6">&#x06F6;</string>
<string name="additional_morekeys_symbols_7">&#x06F7;</string>
<string name="additional_morekeys_symbols_8">&#x06F8;</string>
<string name="additional_morekeys_symbols_9">&#x06F9;</string>
<string name="additional_morekeys_symbols_0">&#x06F0;</string>
<!-- U+06D4 ARABIC FULL STOP-->
<string name="keyspec_period">&#x6d4;</string>
<!-- U+061F ARABIC QUESTION MARK
U+060C ARABIC COMMA
U+0021 EXCLAMATION MARK
U+002E PERIOD
U+002D HYPHEN MINUS -->
<string name="morekeys_period">&#x061F;,&#x060C;,&#x0021;,&#x002E;,&#x002D;</string>
<string name="keyspec_symbols_question">&#x061F;</string>
<string name="keyspec_symbols_semicolon">&#x061B;</string>
<string name="keyspec_symbols_percent">&#x066A;</string>
<!-- U+2030: "‰" PER MILLE SIGN -->
<string name="morekeys_symbols_percent">\\%,&#x2030;</string>
<!-- U+2605: "★" BLACK STAR
U+066D: "٭" ARABIC FIVE POINTED STAR -->
<string name="morekeys_star">&#x2605;,&#x066D;</string>
<!-- The all letters need to be mirrored are found at
http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt -->
<!-- U+FD3E: "" ORNATE LEFT PARENTHESIS
U+FD3F: "﴿" ORNATE RIGHT PARENTHESIS -->
<string name="morekeys_left_parenthesis">!fixedColumnOrder!4,&#xFD3E;|&#xFD3F;,!text/keyspecs_left_parenthesis_more_keys</string>
<string name="morekeys_right_parenthesis">!fixedColumnOrder!4,&#xFD3F;|&#xFD3E;,!text/keyspecs_right_parenthesis_more_keys</string>
<!-- U+2264: "≤" LESS-THAN OR EQUAL TO
U+2265: "≥" GREATER-THAN EQUAL TO
U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
U+2039: "" SINGLE LEFT-POINTING ANGLE QUOTATION MARK
U+203A: "" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK -->
<string name="morekeys_less_than">!fixedColumnOrder!3,!text/keyspec_left_single_angle_quote,!text/keyspec_less_than_equal,!text/keyspec_less_than</string>
<string name="morekeys_greater_than">!fixedColumnOrder!3,!text/keyspec_right_single_angle_quote,!text/keyspec_greater_than_equal,!text/keyspec_greater_than</string>
<string name="keyspec_left_parenthesis">(|)</string>
<string name="keyspec_right_parenthesis">)|(</string>
<string name="keyspec_left_square_bracket">[|]</string>
<string name="keyspec_right_square_bracket">]|[</string>
<string name="keyspec_left_curly_bracket">{|}</string>
<string name="keyspec_right_curly_bracket">}|{</string>
<string name="keyspec_less_than">&lt;|&gt;</string>
<string name="keyspec_greater_than">&gt;|&lt;</string>
<string name="keyspec_less_than_equal">&#x2264;|&#x2265;</string>
<string name="keyspec_greater_than_equal">&#x2265;|&#x2264;</string>
<string name="keyspec_left_double_angle_quote">&#x00AB;|&#x00BB;</string>
<string name="keyspec_right_double_angle_quote">&#x00BB;|&#x00AB;</string>
<string name="keyspec_left_single_angle_quote">&#x2039;|&#x203A;</string>
<string name="keyspec_right_single_angle_quote">&#x203A;|&#x2039;</string>
</resources>