From ad7314a01684185f5cf33cc31ef35d1027776a88 Mon Sep 17 00:00:00 2001 From: Jules Aguillon Date: Sun, 21 Jan 2024 16:34:49 +0100 Subject: Move layout definitions into srcs/layouts This separates the layout definitions from the special layouts (bottom_row, greekmath) and other unrelated files (method, settings). This is also a more intuitive location for layouts and make the resource directory easier to navigate. Under the hood, layouts are copied back into build/generated-resources/xml. --- CONTRIBUTING.md | 5 +- build.gradle | 27 ++++++----- gen_layouts.py | 13 ++--- res/xml/arab_alt.xml | 42 ---------------- res/xml/arab_pc.xml | 44 ----------------- res/xml/arab_pc_ckb.xml | 39 --------------- res/xml/arab_pc_hindu.xml | 44 ----------------- res/xml/arab_pc_ir.xml | 42 ---------------- res/xml/armenian_ph_am.xml | 51 -------------------- res/xml/beng_national.xml | 37 --------------- res/xml/beng_provat.xml | 37 --------------- res/xml/cyrl_jcuken_ru.xml | 42 ---------------- res/xml/cyrl_jcuken_uk.xml | 42 ---------------- res/xml/cyrl_ueishsht.xml | 41 ---------------- res/xml/cyrl_yaverti.xml | 37 --------------- res/xml/deva_alt.xml | 30 ------------ res/xml/deva_inscript.xml | 37 --------------- res/xml/grek_qwerty.xml | 37 --------------- res/xml/hang_dubeolsik_kr.xml | 37 --------------- res/xml/hebr_1_il.xml | 42 ---------------- res/xml/hebr_2_il.xml | 40 ---------------- res/xml/latn_azerty_fr.xml | 39 --------------- res/xml/latn_bepo_fr.xml | 40 ---------------- res/xml/latn_bone.xml | 46 ------------------ res/xml/latn_colemak.xml | 41 ---------------- res/xml/latn_dvorak.xml | 37 --------------- res/xml/latn_neo2.xml | 50 ------------------- res/xml/latn_qwerty_br.xml | 39 --------------- res/xml/latn_qwerty_cz.xml | 37 --------------- res/xml/latn_qwerty_es.xml | 38 --------------- res/xml/latn_qwerty_hu.xml | 37 --------------- res/xml/latn_qwerty_lv.xml | 37 --------------- res/xml/latn_qwerty_no.xml | 37 --------------- res/xml/latn_qwerty_pl.xml | 37 --------------- res/xml/latn_qwerty_ro.xml | 37 --------------- res/xml/latn_qwerty_se.xml | 41 ---------------- res/xml/latn_qwerty_tr.xml | 37 --------------- res/xml/latn_qwerty_us.xml | 58 ----------------------- res/xml/latn_qwerty_vi.xml | 38 --------------- res/xml/latn_qwertz.xml | 37 --------------- res/xml/latn_qwertz_cz.xml | 37 --------------- res/xml/latn_qwertz_cz_multifunctional.xml | 37 --------------- res/xml/latn_qwertz_de.xml | 41 ---------------- res/xml/latn_qwertz_fr_ch.xml | 42 ---------------- res/xml/latn_qwertz_hu.xml | 38 --------------- res/xml/latn_qwertz_sk.xml | 39 --------------- res/xml/urdu_phonetic_ur.xml | 37 --------------- srcs/juloo.keyboard2/KeyValue.java | 6 +-- srcs/juloo.keyboard2/prefs/LayoutsPreference.java | 2 +- srcs/layouts/arab_alt.xml | 42 ++++++++++++++++ srcs/layouts/arab_pc.xml | 44 +++++++++++++++++ srcs/layouts/arab_pc_ckb.xml | 39 +++++++++++++++ srcs/layouts/arab_pc_hindu.xml | 44 +++++++++++++++++ srcs/layouts/arab_pc_ir.xml | 42 ++++++++++++++++ srcs/layouts/armenian_ph_am.xml | 51 ++++++++++++++++++++ srcs/layouts/beng_national.xml | 37 +++++++++++++++ srcs/layouts/beng_provat.xml | 37 +++++++++++++++ srcs/layouts/cyrl_jcuken_ru.xml | 42 ++++++++++++++++ srcs/layouts/cyrl_jcuken_uk.xml | 42 ++++++++++++++++ srcs/layouts/cyrl_ueishsht.xml | 41 ++++++++++++++++ srcs/layouts/cyrl_yaverti.xml | 37 +++++++++++++++ srcs/layouts/deva_alt.xml | 30 ++++++++++++ srcs/layouts/deva_inscript.xml | 37 +++++++++++++++ srcs/layouts/grek_qwerty.xml | 37 +++++++++++++++ srcs/layouts/hang_dubeolsik_kr.xml | 37 +++++++++++++++ srcs/layouts/hebr_1_il.xml | 42 ++++++++++++++++ srcs/layouts/hebr_2_il.xml | 40 ++++++++++++++++ srcs/layouts/latn_azerty_fr.xml | 39 +++++++++++++++ srcs/layouts/latn_bepo_fr.xml | 40 ++++++++++++++++ srcs/layouts/latn_bone.xml | 46 ++++++++++++++++++ srcs/layouts/latn_colemak.xml | 41 ++++++++++++++++ srcs/layouts/latn_dvorak.xml | 37 +++++++++++++++ srcs/layouts/latn_neo2.xml | 50 +++++++++++++++++++ srcs/layouts/latn_qwerty_br.xml | 39 +++++++++++++++ srcs/layouts/latn_qwerty_cz.xml | 37 +++++++++++++++ srcs/layouts/latn_qwerty_es.xml | 38 +++++++++++++++ srcs/layouts/latn_qwerty_hu.xml | 37 +++++++++++++++ srcs/layouts/latn_qwerty_lv.xml | 37 +++++++++++++++ srcs/layouts/latn_qwerty_no.xml | 37 +++++++++++++++ srcs/layouts/latn_qwerty_pl.xml | 37 +++++++++++++++ srcs/layouts/latn_qwerty_ro.xml | 37 +++++++++++++++ srcs/layouts/latn_qwerty_se.xml | 41 ++++++++++++++++ srcs/layouts/latn_qwerty_tr.xml | 37 +++++++++++++++ srcs/layouts/latn_qwerty_us.xml | 58 +++++++++++++++++++++++ srcs/layouts/latn_qwerty_vi.xml | 38 +++++++++++++++ srcs/layouts/latn_qwertz.xml | 37 +++++++++++++++ srcs/layouts/latn_qwertz_cz.xml | 37 +++++++++++++++ srcs/layouts/latn_qwertz_cz_multifunctional.xml | 37 +++++++++++++++ srcs/layouts/latn_qwertz_de.xml | 41 ++++++++++++++++ srcs/layouts/latn_qwertz_fr_ch.xml | 42 ++++++++++++++++ srcs/layouts/latn_qwertz_hu.xml | 38 +++++++++++++++ srcs/layouts/latn_qwertz_sk.xml | 39 +++++++++++++++ srcs/layouts/urdu_phonetic_ur.xml | 37 +++++++++++++++ 93 files changed, 1781 insertions(+), 1782 deletions(-) delete mode 100644 res/xml/arab_alt.xml delete mode 100644 res/xml/arab_pc.xml delete mode 100644 res/xml/arab_pc_ckb.xml delete mode 100644 res/xml/arab_pc_hindu.xml delete mode 100644 res/xml/arab_pc_ir.xml delete mode 100644 res/xml/armenian_ph_am.xml delete mode 100644 res/xml/beng_national.xml delete mode 100644 res/xml/beng_provat.xml delete mode 100644 res/xml/cyrl_jcuken_ru.xml delete mode 100644 res/xml/cyrl_jcuken_uk.xml delete mode 100644 res/xml/cyrl_ueishsht.xml delete mode 100644 res/xml/cyrl_yaverti.xml delete mode 100644 res/xml/deva_alt.xml delete mode 100644 res/xml/deva_inscript.xml delete mode 100644 res/xml/grek_qwerty.xml delete mode 100644 res/xml/hang_dubeolsik_kr.xml delete mode 100644 res/xml/hebr_1_il.xml delete mode 100644 res/xml/hebr_2_il.xml delete mode 100644 res/xml/latn_azerty_fr.xml delete mode 100644 res/xml/latn_bepo_fr.xml delete mode 100644 res/xml/latn_bone.xml delete mode 100644 res/xml/latn_colemak.xml delete mode 100644 res/xml/latn_dvorak.xml delete mode 100644 res/xml/latn_neo2.xml delete mode 100644 res/xml/latn_qwerty_br.xml delete mode 100644 res/xml/latn_qwerty_cz.xml delete mode 100644 res/xml/latn_qwerty_es.xml delete mode 100644 res/xml/latn_qwerty_hu.xml delete mode 100644 res/xml/latn_qwerty_lv.xml delete mode 100644 res/xml/latn_qwerty_no.xml delete mode 100644 res/xml/latn_qwerty_pl.xml delete mode 100644 res/xml/latn_qwerty_ro.xml delete mode 100644 res/xml/latn_qwerty_se.xml delete mode 100644 res/xml/latn_qwerty_tr.xml delete mode 100644 res/xml/latn_qwerty_us.xml delete mode 100644 res/xml/latn_qwerty_vi.xml delete mode 100644 res/xml/latn_qwertz.xml delete mode 100644 res/xml/latn_qwertz_cz.xml delete mode 100644 res/xml/latn_qwertz_cz_multifunctional.xml delete mode 100644 res/xml/latn_qwertz_de.xml delete mode 100644 res/xml/latn_qwertz_fr_ch.xml delete mode 100644 res/xml/latn_qwertz_hu.xml delete mode 100644 res/xml/latn_qwertz_sk.xml delete mode 100644 res/xml/urdu_phonetic_ur.xml create mode 100644 srcs/layouts/arab_alt.xml create mode 100644 srcs/layouts/arab_pc.xml create mode 100644 srcs/layouts/arab_pc_ckb.xml create mode 100644 srcs/layouts/arab_pc_hindu.xml create mode 100644 srcs/layouts/arab_pc_ir.xml create mode 100644 srcs/layouts/armenian_ph_am.xml create mode 100644 srcs/layouts/beng_national.xml create mode 100644 srcs/layouts/beng_provat.xml create mode 100644 srcs/layouts/cyrl_jcuken_ru.xml create mode 100644 srcs/layouts/cyrl_jcuken_uk.xml create mode 100644 srcs/layouts/cyrl_ueishsht.xml create mode 100644 srcs/layouts/cyrl_yaverti.xml create mode 100644 srcs/layouts/deva_alt.xml create mode 100644 srcs/layouts/deva_inscript.xml create mode 100644 srcs/layouts/grek_qwerty.xml create mode 100644 srcs/layouts/hang_dubeolsik_kr.xml create mode 100644 srcs/layouts/hebr_1_il.xml create mode 100644 srcs/layouts/hebr_2_il.xml create mode 100644 srcs/layouts/latn_azerty_fr.xml create mode 100644 srcs/layouts/latn_bepo_fr.xml create mode 100644 srcs/layouts/latn_bone.xml create mode 100644 srcs/layouts/latn_colemak.xml create mode 100644 srcs/layouts/latn_dvorak.xml create mode 100644 srcs/layouts/latn_neo2.xml create mode 100644 srcs/layouts/latn_qwerty_br.xml create mode 100644 srcs/layouts/latn_qwerty_cz.xml create mode 100644 srcs/layouts/latn_qwerty_es.xml create mode 100644 srcs/layouts/latn_qwerty_hu.xml create mode 100644 srcs/layouts/latn_qwerty_lv.xml create mode 100644 srcs/layouts/latn_qwerty_no.xml create mode 100644 srcs/layouts/latn_qwerty_pl.xml create mode 100644 srcs/layouts/latn_qwerty_ro.xml create mode 100644 srcs/layouts/latn_qwerty_se.xml create mode 100644 srcs/layouts/latn_qwerty_tr.xml create mode 100644 srcs/layouts/latn_qwerty_us.xml create mode 100644 srcs/layouts/latn_qwerty_vi.xml create mode 100644 srcs/layouts/latn_qwertz.xml create mode 100644 srcs/layouts/latn_qwertz_cz.xml create mode 100644 srcs/layouts/latn_qwertz_cz_multifunctional.xml create mode 100644 srcs/layouts/latn_qwertz_de.xml create mode 100644 srcs/layouts/latn_qwertz_fr_ch.xml create mode 100644 srcs/layouts/latn_qwertz_hu.xml create mode 100644 srcs/layouts/latn_qwertz_sk.xml create mode 100644 srcs/layouts/urdu_phonetic_ur.xml diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 62b2342..596ea64 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -88,14 +88,15 @@ Github secret named `DEBUG_KEYSTORE`. ### Adding a layout -Layouts are defined in XML, see `res/xml/latn_qwerty_us.xml`. +Layouts are defined in XML, see `srcs/layouts/latn_qwerty_us.xml`. An online tool for editing layout files written by @Lixquid is available [here](https://unexpected-keyboard-layout-editor.lixquid.com/). Makes sure to specify the `name` attribute like in `latn_qwerty_us.xml`, otherwise the layout won't be added to the app. -The layout file must be placed in the `res/xml/` directory and named according to: +The layout file must be placed in the `srcs/layouts` directory and named +according to: - script (`latn` for latin, etc..) - layout name (eg. the name of a standard) - country code (or language code if more adequate) diff --git a/build.gradle b/build.gradle index b2ea12d..1f12e56 100644 --- a/build.gradle +++ b/build.gradle @@ -115,17 +115,13 @@ tasks.register('genLayoutsList') { tasks.register('checkKeyboardLayouts') { println "\nChecking layouts" - new ByteArrayOutputStream().withStream { bos -> - exec { - def layouts = new File(projectDir, "res/xml").listFiles().findAll { - it.isFile() && it.name.endsWith(".xml") - } - workingDir = projectDir - commandLine("python", "check_layout.py", *layouts) - standardOutput = bos + exec { + def layouts = new File(projectDir, "srcs/layouts").listFiles().findAll { + it.name.endsWith(".xml") } - - new File(projectDir, "check_layout.output").write(bos.toString()) + workingDir = projectDir + commandLine("python", "check_layout.py", *layouts) + standardOutput = new FileOutputStream("${projectDir}/check_layout.output") } } @@ -140,6 +136,7 @@ tasks.register('syncTranslations') { tasks.named("preBuild") { dependsOn += "initDebugKeystore" dependsOn += "copyRawQwertyUS" + dependsOn += "copyLayoutDefinitions" } tasks.register('initDebugKeystore') { @@ -156,7 +153,15 @@ tasks.register('initDebugKeystore') { tasks.register('copyRawQwertyUS') { copy { - from "res/xml/latn_qwerty_us.xml" + from "srcs/layouts/latn_qwerty_us.xml" into "build/generated-resources/raw" } } + +tasks.register('copyLayoutDefinitions') +{ + copy { + from "srcs/layouts" + into "build/generated-resources/xml" + } +} diff --git a/gen_layouts.py b/gen_layouts.py index c2e6e8d..4b8ac59 100644 --- a/gen_layouts.py +++ b/gen_layouts.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # Generates the list of layouts in res/values/layouts.xml from the layout files -# in res/xml. Every layouts must have a 'name' attribute to be listed. +# in srcs/layouts. Every layouts must have a 'name' attribute to be listed. import itertools as it import sys, os, glob @@ -11,11 +11,6 @@ import xml.etree.ElementTree as XML # are sorted alphabetically. FIRST_LAYOUTS = [ "latn_qwerty_us", "latn_colemak", "latn_dvorak" ] -# File names that are known not to be layouts. Avoid warning about them. -KNOWN_NOT_LAYOUT = set([ - "number_row", "numpad", "pin", "bottom_row", "settings", "method", - "greekmath", "numeric" ]) - # Read a layout from a file. Returns [None] if [fname] is not a layout. def read_layout(fname): root = XML.parse(fname).getroot() @@ -28,9 +23,7 @@ def read_layouts(files): for layout_file in files: layout_id, _ = os.path.splitext(os.path.basename(layout_file)) layout = read_layout(layout_file) - if layout_id in KNOWN_NOT_LAYOUT: - continue - elif layout == None: + if layout == None: print("Not a layout file: %s" % layout_file) elif layout["name"] == None: print("Layout doesn't have a name: %s" % layout_id) @@ -66,6 +59,6 @@ def generate_arrays(out, layouts): XML.indent(root) XML.ElementTree(element=root).write(out, encoding="unicode", xml_declaration=True) -layouts = sort_layouts(read_layouts(glob.glob("res/xml/*.xml"))) +layouts = sort_layouts(read_layouts(glob.glob("srcs/layouts/*.xml"))) with open("res/values/layouts.xml", "w") as out: generate_arrays(out, layouts) diff --git a/res/xml/arab_alt.xml b/res/xml/arab_alt.xml deleted file mode 100644 index 380d206..0000000 --- a/res/xml/arab_alt.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/arab_pc.xml b/res/xml/arab_pc.xml deleted file mode 100644 index 62b086d..0000000 --- a/res/xml/arab_pc.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/arab_pc_ckb.xml b/res/xml/arab_pc_ckb.xml deleted file mode 100644 index 0e9bd4f..0000000 --- a/res/xml/arab_pc_ckb.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/arab_pc_hindu.xml b/res/xml/arab_pc_hindu.xml deleted file mode 100644 index b25eed1..0000000 --- a/res/xml/arab_pc_hindu.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/arab_pc_ir.xml b/res/xml/arab_pc_ir.xml deleted file mode 100644 index 4b5caa1..0000000 --- a/res/xml/arab_pc_ir.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/armenian_ph_am.xml b/res/xml/armenian_ph_am.xml deleted file mode 100644 index a11737a..0000000 --- a/res/xml/armenian_ph_am.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/beng_national.xml b/res/xml/beng_national.xml deleted file mode 100644 index a3c0d55..0000000 --- a/res/xml/beng_national.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/beng_provat.xml b/res/xml/beng_provat.xml deleted file mode 100644 index ee7be4a..0000000 --- a/res/xml/beng_provat.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/cyrl_jcuken_ru.xml b/res/xml/cyrl_jcuken_ru.xml deleted file mode 100644 index 81cf35c..0000000 --- a/res/xml/cyrl_jcuken_ru.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/cyrl_jcuken_uk.xml b/res/xml/cyrl_jcuken_uk.xml deleted file mode 100644 index 905f0e1..0000000 --- a/res/xml/cyrl_jcuken_uk.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/cyrl_ueishsht.xml b/res/xml/cyrl_ueishsht.xml deleted file mode 100644 index e2972a8..0000000 --- a/res/xml/cyrl_ueishsht.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/cyrl_yaverti.xml b/res/xml/cyrl_yaverti.xml deleted file mode 100644 index a228f24..0000000 --- a/res/xml/cyrl_yaverti.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/deva_alt.xml b/res/xml/deva_alt.xml deleted file mode 100644 index 13972dc..0000000 --- a/res/xml/deva_alt.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/deva_inscript.xml b/res/xml/deva_inscript.xml deleted file mode 100644 index 0bcd86d..0000000 --- a/res/xml/deva_inscript.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/grek_qwerty.xml b/res/xml/grek_qwerty.xml deleted file mode 100644 index f5499ec..0000000 --- a/res/xml/grek_qwerty.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/hang_dubeolsik_kr.xml b/res/xml/hang_dubeolsik_kr.xml deleted file mode 100644 index 29dd01b..0000000 --- a/res/xml/hang_dubeolsik_kr.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/hebr_1_il.xml b/res/xml/hebr_1_il.xml deleted file mode 100644 index bbf5e56..0000000 --- a/res/xml/hebr_1_il.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/hebr_2_il.xml b/res/xml/hebr_2_il.xml deleted file mode 100644 index 090bef8..0000000 --- a/res/xml/hebr_2_il.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/latn_azerty_fr.xml b/res/xml/latn_azerty_fr.xml deleted file mode 100644 index cf8b185..0000000 --- a/res/xml/latn_azerty_fr.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/latn_bepo_fr.xml b/res/xml/latn_bepo_fr.xml deleted file mode 100644 index 941c3ee..0000000 --- a/res/xml/latn_bepo_fr.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/latn_bone.xml b/res/xml/latn_bone.xml deleted file mode 100644 index f9ce147..0000000 --- a/res/xml/latn_bone.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/latn_colemak.xml b/res/xml/latn_colemak.xml deleted file mode 100644 index 1a73fbb..0000000 --- a/res/xml/latn_colemak.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/latn_dvorak.xml b/res/xml/latn_dvorak.xml deleted file mode 100644 index cff4c4c..0000000 --- a/res/xml/latn_dvorak.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/latn_neo2.xml b/res/xml/latn_neo2.xml deleted file mode 100644 index 5c364cc..0000000 --- a/res/xml/latn_neo2.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/latn_qwerty_br.xml b/res/xml/latn_qwerty_br.xml deleted file mode 100644 index e4829ae..0000000 --- a/res/xml/latn_qwerty_br.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/latn_qwerty_cz.xml b/res/xml/latn_qwerty_cz.xml deleted file mode 100644 index 8d4207c..0000000 --- a/res/xml/latn_qwerty_cz.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/latn_qwerty_es.xml b/res/xml/latn_qwerty_es.xml deleted file mode 100644 index cb3c2cc..0000000 --- a/res/xml/latn_qwerty_es.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/latn_qwerty_hu.xml b/res/xml/latn_qwerty_hu.xml deleted file mode 100644 index 1caf242..0000000 --- a/res/xml/latn_qwerty_hu.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/latn_qwerty_lv.xml b/res/xml/latn_qwerty_lv.xml deleted file mode 100644 index a373eb8..0000000 --- a/res/xml/latn_qwerty_lv.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/latn_qwerty_no.xml b/res/xml/latn_qwerty_no.xml deleted file mode 100644 index b86ea34..0000000 --- a/res/xml/latn_qwerty_no.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/latn_qwerty_pl.xml b/res/xml/latn_qwerty_pl.xml deleted file mode 100644 index 9a5a3ed..0000000 --- a/res/xml/latn_qwerty_pl.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/latn_qwerty_ro.xml b/res/xml/latn_qwerty_ro.xml deleted file mode 100644 index fdc4232..0000000 --- a/res/xml/latn_qwerty_ro.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/latn_qwerty_se.xml b/res/xml/latn_qwerty_se.xml deleted file mode 100644 index bf3bb7d..0000000 --- a/res/xml/latn_qwerty_se.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/latn_qwerty_tr.xml b/res/xml/latn_qwerty_tr.xml deleted file mode 100644 index 229a6d8..0000000 --- a/res/xml/latn_qwerty_tr.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/latn_qwerty_us.xml b/res/xml/latn_qwerty_us.xml deleted file mode 100644 index 0d394ac..0000000 --- a/res/xml/latn_qwerty_us.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/latn_qwerty_vi.xml b/res/xml/latn_qwerty_vi.xml deleted file mode 100644 index b042b1d..0000000 --- a/res/xml/latn_qwerty_vi.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/latn_qwertz.xml b/res/xml/latn_qwertz.xml deleted file mode 100644 index 34929f5..0000000 --- a/res/xml/latn_qwertz.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/latn_qwertz_cz.xml b/res/xml/latn_qwertz_cz.xml deleted file mode 100644 index e3bbae9..0000000 --- a/res/xml/latn_qwertz_cz.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/latn_qwertz_cz_multifunctional.xml b/res/xml/latn_qwertz_cz_multifunctional.xml deleted file mode 100644 index 9fc8dab..0000000 --- a/res/xml/latn_qwertz_cz_multifunctional.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/latn_qwertz_de.xml b/res/xml/latn_qwertz_de.xml deleted file mode 100644 index 122375b..0000000 --- a/res/xml/latn_qwertz_de.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/latn_qwertz_fr_ch.xml b/res/xml/latn_qwertz_fr_ch.xml deleted file mode 100644 index b3e4cce..0000000 --- a/res/xml/latn_qwertz_fr_ch.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/latn_qwertz_hu.xml b/res/xml/latn_qwertz_hu.xml deleted file mode 100644 index 61ebf24..0000000 --- a/res/xml/latn_qwertz_hu.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/latn_qwertz_sk.xml b/res/xml/latn_qwertz_sk.xml deleted file mode 100644 index 5227370..0000000 --- a/res/xml/latn_qwertz_sk.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/xml/urdu_phonetic_ur.xml b/res/xml/urdu_phonetic_ur.xml deleted file mode 100644 index a1fd561..0000000 --- a/res/xml/urdu_phonetic_ur.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/srcs/juloo.keyboard2/KeyValue.java b/srcs/juloo.keyboard2/KeyValue.java index 27ceaf4..dbd9e3e 100644 --- a/srcs/juloo.keyboard2/KeyValue.java +++ b/srcs/juloo.keyboard2/KeyValue.java @@ -317,9 +317,9 @@ public final class KeyValue { switch (name) { - /* These symbols have special meaning when in `res/xml` and are escaped in - standard layouts. The backslash is not stripped when parsed from the - custom layout option. */ + /* These symbols have special meaning when in `srcs/layouts` and are + escaped in standard layouts. The backslash is not stripped when parsed + from the custom layout option. */ case "\\?": return makeStringKey("?"); case "\\#": return makeStringKey("#"); case "\\@": return makeStringKey("@"); diff --git a/srcs/juloo.keyboard2/prefs/LayoutsPreference.java b/srcs/juloo.keyboard2/prefs/LayoutsPreference.java index 787800c..842a2f2 100644 --- a/srcs/juloo.keyboard2/prefs/LayoutsPreference.java +++ b/srcs/juloo.keyboard2/prefs/LayoutsPreference.java @@ -245,7 +245,7 @@ public class LayoutsPreference extends ListGroupPreference + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/arab_pc.xml b/srcs/layouts/arab_pc.xml new file mode 100644 index 0000000..62b086d --- /dev/null +++ b/srcs/layouts/arab_pc.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/arab_pc_ckb.xml b/srcs/layouts/arab_pc_ckb.xml new file mode 100644 index 0000000..0e9bd4f --- /dev/null +++ b/srcs/layouts/arab_pc_ckb.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/arab_pc_hindu.xml b/srcs/layouts/arab_pc_hindu.xml new file mode 100644 index 0000000..b25eed1 --- /dev/null +++ b/srcs/layouts/arab_pc_hindu.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/arab_pc_ir.xml b/srcs/layouts/arab_pc_ir.xml new file mode 100644 index 0000000..4b5caa1 --- /dev/null +++ b/srcs/layouts/arab_pc_ir.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/armenian_ph_am.xml b/srcs/layouts/armenian_ph_am.xml new file mode 100644 index 0000000..a11737a --- /dev/null +++ b/srcs/layouts/armenian_ph_am.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/beng_national.xml b/srcs/layouts/beng_national.xml new file mode 100644 index 0000000..a3c0d55 --- /dev/null +++ b/srcs/layouts/beng_national.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/beng_provat.xml b/srcs/layouts/beng_provat.xml new file mode 100644 index 0000000..ee7be4a --- /dev/null +++ b/srcs/layouts/beng_provat.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/cyrl_jcuken_ru.xml b/srcs/layouts/cyrl_jcuken_ru.xml new file mode 100644 index 0000000..81cf35c --- /dev/null +++ b/srcs/layouts/cyrl_jcuken_ru.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/cyrl_jcuken_uk.xml b/srcs/layouts/cyrl_jcuken_uk.xml new file mode 100644 index 0000000..905f0e1 --- /dev/null +++ b/srcs/layouts/cyrl_jcuken_uk.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/cyrl_ueishsht.xml b/srcs/layouts/cyrl_ueishsht.xml new file mode 100644 index 0000000..e2972a8 --- /dev/null +++ b/srcs/layouts/cyrl_ueishsht.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/cyrl_yaverti.xml b/srcs/layouts/cyrl_yaverti.xml new file mode 100644 index 0000000..a228f24 --- /dev/null +++ b/srcs/layouts/cyrl_yaverti.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/deva_alt.xml b/srcs/layouts/deva_alt.xml new file mode 100644 index 0000000..13972dc --- /dev/null +++ b/srcs/layouts/deva_alt.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/deva_inscript.xml b/srcs/layouts/deva_inscript.xml new file mode 100644 index 0000000..0bcd86d --- /dev/null +++ b/srcs/layouts/deva_inscript.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/grek_qwerty.xml b/srcs/layouts/grek_qwerty.xml new file mode 100644 index 0000000..f5499ec --- /dev/null +++ b/srcs/layouts/grek_qwerty.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/hang_dubeolsik_kr.xml b/srcs/layouts/hang_dubeolsik_kr.xml new file mode 100644 index 0000000..29dd01b --- /dev/null +++ b/srcs/layouts/hang_dubeolsik_kr.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/hebr_1_il.xml b/srcs/layouts/hebr_1_il.xml new file mode 100644 index 0000000..bbf5e56 --- /dev/null +++ b/srcs/layouts/hebr_1_il.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/hebr_2_il.xml b/srcs/layouts/hebr_2_il.xml new file mode 100644 index 0000000..090bef8 --- /dev/null +++ b/srcs/layouts/hebr_2_il.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/latn_azerty_fr.xml b/srcs/layouts/latn_azerty_fr.xml new file mode 100644 index 0000000..cf8b185 --- /dev/null +++ b/srcs/layouts/latn_azerty_fr.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/latn_bepo_fr.xml b/srcs/layouts/latn_bepo_fr.xml new file mode 100644 index 0000000..941c3ee --- /dev/null +++ b/srcs/layouts/latn_bepo_fr.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/latn_bone.xml b/srcs/layouts/latn_bone.xml new file mode 100644 index 0000000..f9ce147 --- /dev/null +++ b/srcs/layouts/latn_bone.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/latn_colemak.xml b/srcs/layouts/latn_colemak.xml new file mode 100644 index 0000000..1a73fbb --- /dev/null +++ b/srcs/layouts/latn_colemak.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/latn_dvorak.xml b/srcs/layouts/latn_dvorak.xml new file mode 100644 index 0000000..cff4c4c --- /dev/null +++ b/srcs/layouts/latn_dvorak.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/latn_neo2.xml b/srcs/layouts/latn_neo2.xml new file mode 100644 index 0000000..5c364cc --- /dev/null +++ b/srcs/layouts/latn_neo2.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/latn_qwerty_br.xml b/srcs/layouts/latn_qwerty_br.xml new file mode 100644 index 0000000..e4829ae --- /dev/null +++ b/srcs/layouts/latn_qwerty_br.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/latn_qwerty_cz.xml b/srcs/layouts/latn_qwerty_cz.xml new file mode 100644 index 0000000..8d4207c --- /dev/null +++ b/srcs/layouts/latn_qwerty_cz.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/latn_qwerty_es.xml b/srcs/layouts/latn_qwerty_es.xml new file mode 100644 index 0000000..cb3c2cc --- /dev/null +++ b/srcs/layouts/latn_qwerty_es.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/latn_qwerty_hu.xml b/srcs/layouts/latn_qwerty_hu.xml new file mode 100644 index 0000000..1caf242 --- /dev/null +++ b/srcs/layouts/latn_qwerty_hu.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/latn_qwerty_lv.xml b/srcs/layouts/latn_qwerty_lv.xml new file mode 100644 index 0000000..a373eb8 --- /dev/null +++ b/srcs/layouts/latn_qwerty_lv.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/latn_qwerty_no.xml b/srcs/layouts/latn_qwerty_no.xml new file mode 100644 index 0000000..b86ea34 --- /dev/null +++ b/srcs/layouts/latn_qwerty_no.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/latn_qwerty_pl.xml b/srcs/layouts/latn_qwerty_pl.xml new file mode 100644 index 0000000..9a5a3ed --- /dev/null +++ b/srcs/layouts/latn_qwerty_pl.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/latn_qwerty_ro.xml b/srcs/layouts/latn_qwerty_ro.xml new file mode 100644 index 0000000..fdc4232 --- /dev/null +++ b/srcs/layouts/latn_qwerty_ro.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/latn_qwerty_se.xml b/srcs/layouts/latn_qwerty_se.xml new file mode 100644 index 0000000..bf3bb7d --- /dev/null +++ b/srcs/layouts/latn_qwerty_se.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/latn_qwerty_tr.xml b/srcs/layouts/latn_qwerty_tr.xml new file mode 100644 index 0000000..229a6d8 --- /dev/null +++ b/srcs/layouts/latn_qwerty_tr.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/latn_qwerty_us.xml b/srcs/layouts/latn_qwerty_us.xml new file mode 100644 index 0000000..0d394ac --- /dev/null +++ b/srcs/layouts/latn_qwerty_us.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/latn_qwerty_vi.xml b/srcs/layouts/latn_qwerty_vi.xml new file mode 100644 index 0000000..b042b1d --- /dev/null +++ b/srcs/layouts/latn_qwerty_vi.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/latn_qwertz.xml b/srcs/layouts/latn_qwertz.xml new file mode 100644 index 0000000..34929f5 --- /dev/null +++ b/srcs/layouts/latn_qwertz.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/latn_qwertz_cz.xml b/srcs/layouts/latn_qwertz_cz.xml new file mode 100644 index 0000000..e3bbae9 --- /dev/null +++ b/srcs/layouts/latn_qwertz_cz.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/latn_qwertz_cz_multifunctional.xml b/srcs/layouts/latn_qwertz_cz_multifunctional.xml new file mode 100644 index 0000000..9fc8dab --- /dev/null +++ b/srcs/layouts/latn_qwertz_cz_multifunctional.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/latn_qwertz_de.xml b/srcs/layouts/latn_qwertz_de.xml new file mode 100644 index 0000000..122375b --- /dev/null +++ b/srcs/layouts/latn_qwertz_de.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/latn_qwertz_fr_ch.xml b/srcs/layouts/latn_qwertz_fr_ch.xml new file mode 100644 index 0000000..b3e4cce --- /dev/null +++ b/srcs/layouts/latn_qwertz_fr_ch.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/latn_qwertz_hu.xml b/srcs/layouts/latn_qwertz_hu.xml new file mode 100644 index 0000000..61ebf24 --- /dev/null +++ b/srcs/layouts/latn_qwertz_hu.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/latn_qwertz_sk.xml b/srcs/layouts/latn_qwertz_sk.xml new file mode 100644 index 0000000..5227370 --- /dev/null +++ b/srcs/layouts/latn_qwertz_sk.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srcs/layouts/urdu_phonetic_ur.xml b/srcs/layouts/urdu_phonetic_ur.xml new file mode 100644 index 0000000..a1fd561 --- /dev/null +++ b/srcs/layouts/urdu_phonetic_ur.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3