From 6fc558962f429f77b75a2795daadfa7528caedbf Mon Sep 17 00:00:00 2001 From: Helium314 Date: Thu, 30 Nov 2023 21:47:11 +0100 Subject: [PATCH] add remaining layouts --- app/src/main/assets/language_key_texts/bn.txt | 89 ++++++++ .../main/assets/language_key_texts/bn_bd.txt | 10 - .../main/assets/language_key_texts/bn_in.txt | 2 - app/src/main/assets/language_key_texts/hi.txt | 64 ++++++ app/src/main/assets/language_key_texts/km.txt | 36 ++++ app/src/main/assets/language_key_texts/kn.txt | 32 +++ app/src/main/assets/language_key_texts/lo.txt | 12 ++ app/src/main/assets/language_key_texts/ml.txt | 34 +++ app/src/main/assets/language_key_texts/mr.txt | 29 +++ app/src/main/assets/language_key_texts/ne.txt | 17 ++ app/src/main/assets/language_key_texts/si.txt | 9 + app/src/main/assets/language_key_texts/te.txt | 33 +++ app/src/main/assets/language_key_texts/th.txt | 3 + app/src/main/assets/language_key_texts/tr.txt | 8 + app/src/main/assets/layouts/bengali.txt | 34 +++ .../main/assets/layouts/bengali_akkhor.json | 132 ++++++++++++ .../main/assets/layouts/bengali_unijoy.json | 112 ++++++++++ app/src/main/assets/layouts/hindi.json | 132 ++++++++++++ app/src/main/assets/layouts/hindi_compact.txt | 34 +++ app/src/main/assets/layouts/kannada.txt | 35 ++++ app/src/main/assets/layouts/khmer.json | 194 ++++++++++++++++++ app/src/main/assets/layouts/lao.json | 194 ++++++++++++++++++ app/src/main/assets/layouts/malayalam.txt | 34 +++ app/src/main/assets/layouts/marathi.txt | 34 +++ .../main/assets/layouts/nepali_romanized.json | 128 ++++++++++++ .../assets/layouts/nepali_traditional.json | 132 ++++++++++++ app/src/main/assets/layouts/sinhala.json | 132 ++++++++++++ app/src/main/assets/layouts/telugu.txt | 34 +++ app/src/main/assets/layouts/thai.json | 190 +++++++++++++++++ .../keyboard/internal/KeyboardBuilder.kt | 5 + .../keyboard_parser/SimpleKeyboardParser.kt | 2 +- .../settings/PreferencesSettingsFragment.java | 2 +- 32 files changed, 1924 insertions(+), 14 deletions(-) create mode 100644 app/src/main/assets/language_key_texts/bn.txt delete mode 100644 app/src/main/assets/language_key_texts/bn_bd.txt delete mode 100644 app/src/main/assets/language_key_texts/bn_in.txt create mode 100644 app/src/main/assets/layouts/bengali.txt create mode 100644 app/src/main/assets/layouts/bengali_akkhor.json create mode 100644 app/src/main/assets/layouts/bengali_unijoy.json create mode 100644 app/src/main/assets/layouts/hindi.json create mode 100644 app/src/main/assets/layouts/hindi_compact.txt create mode 100644 app/src/main/assets/layouts/kannada.txt create mode 100644 app/src/main/assets/layouts/khmer.json create mode 100644 app/src/main/assets/layouts/lao.json create mode 100644 app/src/main/assets/layouts/malayalam.txt create mode 100644 app/src/main/assets/layouts/marathi.txt create mode 100644 app/src/main/assets/layouts/nepali_romanized.json create mode 100644 app/src/main/assets/layouts/nepali_traditional.json create mode 100644 app/src/main/assets/layouts/sinhala.json create mode 100644 app/src/main/assets/layouts/telugu.txt create mode 100644 app/src/main/assets/layouts/thai.json diff --git a/app/src/main/assets/language_key_texts/bn.txt b/app/src/main/assets/language_key_texts/bn.txt new file mode 100644 index 00000000..e93f6902 --- /dev/null +++ b/app/src/main/assets/language_key_texts/bn.txt @@ -0,0 +1,89 @@ +[morekeys] +ৌ ঔ +ৈ ঐ +্র য +ো ও +ে এ +র ল র +ন ণ +স ষ +ম শ +ঙ ং +য য় +ড ঢ +প ফ +ট ঠ +চ ছ +হ ঞ +গ ঘ +ড় ঢ় +ূ ঊ +ী ঈ +ঁ ় ৺ ঽ ৗ ঌ ৡ ৠ ৱ ৢ ৣ ৄ ৰ +্ ঁ +ৃ ঋ +ু উ +ি ই +া আ অ +ব ভ +ক খ +দ ধ +punctuation !autoColumnOrder!8 \, ॥ ? ! !icon/zwnj_key|\u200C !icon/zwj_key|\u200D # @ ( ) / ; : - + \% +ঔ ৌ +ঐ ৈ +আ া +ঈ ী +ঊ ূ +জ ঝ জ্ঞ +ড ড় +ও ো +এ ে +অ ্ +ই ি +উ ু +র ৃ ঋ ত্র +ত ৎ থ ত্ত +ঁ ঃ ং +ঢ ঢ় +ঞ ঙ ঞ্জ +ষ ক্ষ +স শ +য় য +। ॥ +ড় ় +ট ৳ ট্ট ট্ব ট্ম +ঞ ঞ্চ ঞ্ছ ঞ্জ +ৌ চ ৗ +ফ ফ্ট ফ্য ফ্র ফ্ল +ঋ ঌ ৡ ৴ ৵ ৶ ৢ ৣ +ধ ধ্ব ধ্য ধ্র +থ থ্য থ্র +র র‍্য +ত ৎ ত্ত ত্ন ত্ব ত্ম +প প্ত প্ন প্প প্য প্র প্ল প্স +শ শ্চ শ্ছ শ্ত শ্ন শ্ব শ্ম শ্র শ্ল +ড ড্ড +হ ঽ হ্ণ হ্ন হ্ব হ্ম হ্র হ্ল +স স্ব স্ত স্ট স্ক স্প +দ দ্দ দ্ধ দ্ব দ্ভ দ্ম দ্য দ্র +গ গ্ধ গ্র গ্ল গ্ন +জ জ্ঞ জ্জ জ্য জ্ব জ্র +ক ক্ষ ক্ক ক্ট ক্ত ক্র ক্স ক্ল +ল ল্ক ল্গ ল্ট ল্ড ল্ত ল্দ ল্ধ ল্প ল্ফ ল্ব ল্ম ল্ল +ঙ ঙ্ক ঙ্খ ঙ্গ +ণ ণ্ট ণ্ড ণ্ণ +য ্য +ষ ষ্ক ষ্ট ষ্ঠ ষ্ণ ষ্প ষ্ফ ষ্ম +চ চ্চ চ্ছ +ভ ভ্য ভ্র ভ্ল +ব ্ব ব্র ব্জ ব্দ ব্ধ ব্ব ব্ল ৱ ৰ +ন ন্ত ন্থ ন্ট ন্দ ন্ধ ন্ড ন্ন ন্ব ন্ম ন্স +ম ম্ন ম্প ম্ব ম্ভ ম্ম ম্র ম্ল + +[labels] +alphabet: কখগ +symbol: ?১২৩ +period: । + +[number_row] +১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ diff --git a/app/src/main/assets/language_key_texts/bn_bd.txt b/app/src/main/assets/language_key_texts/bn_bd.txt deleted file mode 100644 index e97229e0..00000000 --- a/app/src/main/assets/language_key_texts/bn_bd.txt +++ /dev/null @@ -1,10 +0,0 @@ -[morekeys] -punctuation !autoColumnOrder!8 \, ॥ ? ! !icon/zwnj_key|\u200C !icon/zwj_key|\u200D # @ ( ) / ; : - + \% - -[labels] -alphabet: কখগ -symbol: ?১২৩ -period: । - -[number_row] -১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ diff --git a/app/src/main/assets/language_key_texts/bn_in.txt b/app/src/main/assets/language_key_texts/bn_in.txt deleted file mode 100644 index 0c3c1fc3..00000000 --- a/app/src/main/assets/language_key_texts/bn_in.txt +++ /dev/null @@ -1,2 +0,0 @@ -[labels] -alphabet: কখগ diff --git a/app/src/main/assets/language_key_texts/hi.txt b/app/src/main/assets/language_key_texts/hi.txt index 1f29ba07..3d30dde4 100644 --- a/app/src/main/assets/language_key_texts/hi.txt +++ b/app/src/main/assets/language_key_texts/hi.txt @@ -1,5 +1,69 @@ [morekeys] +औ ऒं +ऐ ऐं +आ आं आँ +ई ईं +ऊ ऊं ऊँ +ध क्ष श्र +ौ ौं % +ै ैं % +ा ां ाँ % +ी ीं % +ू ूं ूँ % +ब ब॒ % +ग ज्ञ ग़ ग॒ % +ज ज॒ ज्ञ ज़ % +ड ड॒ ड़ +ओ ओं ऑ ऒ +ए एं एँ ऍ ऎ +अ अं अँ +इ इं इँ +उ उं उँ +फ फ़ +ऱ ्र र् +ख ख़ +ो ों ॉ ॊ +े ें +ि िं +ु ुं ुँ +र ऋ ऱ ॠ +क क़ +त त्र +ँ ॅ +ळ ऴ +ृ ॄ +म ॐ +न ञ ङ ऩ +ल ऌ ॡ +य य़ +़ ॽ ॰ ऽ punctuation !autoColumnOrder!9 \, . ? ! # ) ( / ; ' @ : - " + \% & +औ ौ % +ऐ ै % +आ ा % +ई ी % +ऊ ू % +ब भ % +ग घ % +द ध % +ज झ ज्ञ % +ड ढ +ओ ो +ए े +अ ् +इ ि +उ ु +प फ +र ऋ ृ +क ख +त थ त्र +च छ +ट ठ +् ॅ ऍ +ं ः ँ ़ +म ॐ +न ण ञ ङ +स श ष श्र [labels] alphabet: कखग diff --git a/app/src/main/assets/language_key_texts/km.txt b/app/src/main/assets/language_key_texts/km.txt index 6483f72e..16b35de8 100644 --- a/app/src/main/assets/language_key_texts/km.txt +++ b/app/src/main/assets/language_key_texts/km.txt @@ -1,2 +1,38 @@ +[morekeys] +! !icon/zwj_key|‍ +ៗ !icon/zwnj_key|‌ +" ៑ +៛ $ € +% ៖ +៍ ៙ +័ ៚ +៏ * +( { « +) } » +៌ × +១ ៱ +២ ៲ +៣ ៳ +៤ ៴ +៥ ៵ +៦ ៶ +៧ ៷ +៨ ៸ +៩ ៹ +០ ៰ +ឥ ឦ +ឲ ឱ +ឈ ៜ +ឺ ៝ +ឬ ឫ +ឪ ឧ ឱ ឳ ឩ ឨ +ះ ៈ +គ ឝ +ឮ ឭ ឰ +ព ឞ + +Process finished with exit code 0 + + [labels] alphabet: កខគ diff --git a/app/src/main/assets/language_key_texts/kn.txt b/app/src/main/assets/language_key_texts/kn.txt index 6c1917b7..c9628515 100644 --- a/app/src/main/assets/language_key_texts/kn.txt +++ b/app/src/main/assets/language_key_texts/kn.txt @@ -1,2 +1,34 @@ +[morekeys] +ೌ ಔ ೧ % +ೈ ಐ ೨ % +ಾ ಆ ೩ % +ೀ ಈ ೪ % +ೂ ಊ ೫ % +ಬ ಭ ೬ % +ಹ ಙ ೭ % +ಗ ಘ ೮ % +ದ ಧ ೯ % +ಜ ಝ ೦ % +ಡ ಢ +ೋ ಓ +ೇ ಏ +್ ಅ +ಿ ಇ +ು ಉ +ಪ ಫ +ರ ಱ ೃ +ಕ ಖ +ತ ಥ +ಚ ಛ +ಟ ಠ +ೆ ಒ +ಂ ಎ +ನ ಣ +ಲ ಳ +ಸ ಶ +ಋ ್ರ +ಷ ಕ್ಷ +ಯ ಜ್ಞ + [labels] alphabet: ಅಆಇ diff --git a/app/src/main/assets/language_key_texts/lo.txt b/app/src/main/assets/language_key_texts/lo.txt index c0b4f3ff..e6ba6f6c 100644 --- a/app/src/main/assets/language_key_texts/lo.txt +++ b/app/src/main/assets/language_key_texts/lo.txt @@ -1,2 +1,14 @@ +[morekeys] +ຢ ໑ +ຟ ໒ +ໂ ໓ +ຖ ໔ +ຄ ໕ +ຕ ໖ +ຈ ໗ +ຂ ໘ +ຊ ໙ +ໄ ໐ + [labels] alphabet: ກຂຄ diff --git a/app/src/main/assets/language_key_texts/ml.txt b/app/src/main/assets/language_key_texts/ml.txt index f42497d3..fbd4762d 100644 --- a/app/src/main/assets/language_key_texts/ml.txt +++ b/app/src/main/assets/language_key_texts/ml.txt @@ -1,2 +1,36 @@ +[morekeys] +് അ % +ാ ആ % +ി ഇ % +ീ ഈ % +ു ഉ % +ൂ ഊ % +ൃ ഋ % +െ എ ഐ ൈ % +േ ഏ % +ൊ ഒ % +ോ ഓ ഔ ൗ +ക ഖ +ഗ ഘ +ങ ഞ +ച ഛ +ജ ഝ +ട ഠ +ഡ ഢ +ണ ൺ +ത ഥ +ദ ധ +ന ൻ +പ ഫ +ബ ഭ +മ ം +യ ്യ +ര ്ര ർ റ +ല ൽ +വ ്വ +ശ ഷ സ +ഹ ഃ +ള ൾ ഴ + [labels] alphabet: അ diff --git a/app/src/main/assets/language_key_texts/mr.txt b/app/src/main/assets/language_key_texts/mr.txt index 97ad650a..29b9995c 100644 --- a/app/src/main/assets/language_key_texts/mr.txt +++ b/app/src/main/assets/language_key_texts/mr.txt @@ -1,3 +1,32 @@ +[morekeys] +ौ औ % +ै ऐ % +ा आ % +ी ई % +ू ऊ % +ब भ % +ग घ % +द ध % +ज झ ज्ञ % +ड ढ +ो ओ +े ए +् अ +ि इ +ु उ +प फ +र ऱ ऋ ृ +क ख +त थ त्र +च छ +ट ठ +ॉ ऑ +ॅ ऍ +ं ः ँ +न ण ञ ङ +ल ळ +स श ष श्र + [labels] alphabet: कखग symbol: ?१२३ diff --git a/app/src/main/assets/language_key_texts/ne.txt b/app/src/main/assets/language_key_texts/ne.txt index 35840177..6c6f09ce 100644 --- a/app/src/main/assets/language_key_texts/ne.txt +++ b/app/src/main/assets/language_key_texts/ne.txt @@ -1,5 +1,22 @@ [morekeys] +ट ़ +् ऽ punctuation !autoColumnOrder!9 . \, ? ! # ) ( / ; ' @ : - " + \% & +त्त ञ ज्ञ ॥ +ड्ढ ई +ऐ घ +द्व द्ध +ट्ट छ +ठ्ठ ट +ऊ ठ +क्ष ड +इ ढ +ए ण +ृ ओ +इ औ +ै श्र +े ः ऽ +र रु [labels] alphabet: कखग diff --git a/app/src/main/assets/language_key_texts/si.txt b/app/src/main/assets/language_key_texts/si.txt index 948272f4..5967763f 100644 --- a/app/src/main/assets/language_key_texts/si.txt +++ b/app/src/main/assets/language_key_texts/si.txt @@ -1,2 +1,11 @@ +[morekeys] +ඥ ෴ +ද ඳ +ඤ ෴ +ං ඃ +ජ ඦ +ඩ ඬ +ග ඟ + [labels] alphabet: අ ආ diff --git a/app/src/main/assets/language_key_texts/te.txt b/app/src/main/assets/language_key_texts/te.txt index 07fcb002..3e5fee82 100644 --- a/app/src/main/assets/language_key_texts/te.txt +++ b/app/src/main/assets/language_key_texts/te.txt @@ -1,2 +1,35 @@ +[morekeys] +ౌ ఔ % +ై ఐ % +ా ఆ % +ీ ఈ % +ూ ఊ % +బ భ % +హ ః % +గ ఘ % +ద ధ % +జ ఝ % +డ ఢ +ో ఓ +ే ఏ +్ అ +ి ఇ +ు ఉ +ప ఫ +ర ఱ ్ర +క ఖ +త థ +చ ఛ +ట ఠ +ొ ఒ +ె ఎ +మ ం ఁ +న ణ ఙ ఞ +ల ళ +స శ +ఋ ృ +ష క్ష +య జ్ఞ + [labels] alphabet: అఆఇ diff --git a/app/src/main/assets/language_key_texts/th.txt b/app/src/main/assets/language_key_texts/th.txt index 6ebee3ee..676dc6ab 100644 --- a/app/src/main/assets/language_key_texts/th.txt +++ b/app/src/main/assets/language_key_texts/th.txt @@ -1,2 +1,5 @@ [labels] alphabet: กขค + +[number_row] +๑ ๒ ๓ ๔ ๕ ๖ ๗ ๘ ๙ ๐ diff --git a/app/src/main/assets/language_key_texts/tr.txt b/app/src/main/assets/language_key_texts/tr.txt index d8f9fb69..3932090b 100644 --- a/app/src/main/assets/language_key_texts/tr.txt +++ b/app/src/main/assets/language_key_texts/tr.txt @@ -10,3 +10,11 @@ n ň ñ c ç ć č y ý z ž + +[extra_keys] +1: ğ +1: ü +2: ş +2: î +3: ö +3: ç diff --git a/app/src/main/assets/layouts/bengali.txt b/app/src/main/assets/layouts/bengali.txt new file mode 100644 index 00000000..ce45e36c --- /dev/null +++ b/app/src/main/assets/layouts/bengali.txt @@ -0,0 +1,34 @@ +ঔ +ঐ +আ +ঈ +ঊ +ব +হ +গ +দ +জ +ড + +ও +এ +অ +ই +উ +প +র +ক +ত +চ +ট + +ঁ +ঢ +ম +ন +ঞ +ল +ষ +স +য় +। diff --git a/app/src/main/assets/layouts/bengali_akkhor.json b/app/src/main/assets/layouts/bengali_akkhor.json new file mode 100644 index 00000000..c976a896 --- /dev/null +++ b/app/src/main/assets/layouts/bengali_akkhor.json @@ -0,0 +1,132 @@ +[ + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ঢ" }, + "default": { "label": "ধ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ঠ" }, + "default": { "label": "থ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ৈ" }, + "default": { "label": "ে" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ড়" }, + "default": { "label": "র" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ট" }, + "default": { "label": "ত" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ঞ" }, + "default": { "label": "য়" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ূ" }, + "default": { "label": "ু" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ী" }, + "default": { "label": "ি" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ৌ" }, + "default": { "label": "ো" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ফ" }, + "default": { "label": "প" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ঋ" }, + "default": { "label": "আ" } + } + ], + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "অ" }, + "default": { "label": "া" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "শ" }, + "default": { "label": "স" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ড" }, + "default": { "label": "দ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ঢ়" }, + "default": { "label": "ৃ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ঘ" }, + "default": { "label": "গ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "হ" }, + "default": { "label": "্" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ঝ" }, + "default": { "label": "জ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "খ" }, + "default": { "label": "ক" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ৎ" }, + "default": { "label": "ল" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ঈ" }, + "default": { "label": "ই" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ঊ" }, + "default": { "label": "উ" } + } + ], + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "।" }, + "default": { "label": "য" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ঙ" }, + "default": { "label": "ষ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ছ" }, + "default": { "label": "চ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ঃ" }, + "default": { "label": "ভ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ঁ" }, + "default": { "label": "ব" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ণ" }, + "default": { "label": "ন" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ং" }, + "default": { "label": "ম" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ঐ" }, + "default": { "label": "এ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ঔ" }, + "default": { "label": "ও" } + } + ] +] diff --git a/app/src/main/assets/layouts/bengali_unijoy.json b/app/src/main/assets/layouts/bengali_unijoy.json new file mode 100644 index 00000000..e5237ec7 --- /dev/null +++ b/app/src/main/assets/layouts/bengali_unijoy.json @@ -0,0 +1,112 @@ +[ + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ং" }, + "default": { "label": "ঙ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "য়" }, + "default": { "label": "য" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ঢ" }, + "default": { "label": "ড" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ফ" }, + "default": { "label": "প" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ঠ" }, + "default": { "label": "ট" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ছ" }, + "default": { "label": "চ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ঝ" }, + "default": { "label": "জ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ঞ" }, + "default": { "label": "হ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ঘ" }, + "default": { "label": "গ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ঢ়" }, + "default": { "label": "ড়" } + } + ], + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ঃ" }, + "default": { "label": "ৃ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ূ" }, + "default": { "label": "ু" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ী" }, + "default": { "label": "ি" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "অ" }, + "default": { "label": "া" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ঁ" }, + "default": { "label": "্" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ভ" }, + "default": { "label": "ব" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "খ" }, + "default": { "label": "ক" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "থ" }, + "default": { "label": "ত" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ধ" }, + "default": { "label": "দ" } + } + ], + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "য" }, + "default": { "label": "্" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ৌ" }, + "default": { "label": "ো" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ৈ" }, + "default": { "label": "ে" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ল" }, + "default": { "label": "র" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ণ" }, + "default": { "label": "ন" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ষ" }, + "default": { "label": "স" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "শ" }, + "default": { "label": "ম" } + } + ] +] diff --git a/app/src/main/assets/layouts/hindi.json b/app/src/main/assets/layouts/hindi.json new file mode 100644 index 00000000..6cbf9265 --- /dev/null +++ b/app/src/main/assets/layouts/hindi.json @@ -0,0 +1,132 @@ +[ + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "औ" }, + "default": { "label": "ौ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ऐ" }, + "default": { "label": "ै" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "आ" }, + "default": { "label": "ा" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ई" }, + "default": { "label": "ी" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ऊ" }, + "default": { "label": "ू" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "भ" }, + "default": { "label": "ब" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ः" }, + "default": { "label": "ह" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "घ" }, + "default": { "label": "ग" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ध" }, + "default": { "label": "द" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "झ" }, + "default": { "label": "ज" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ढ" }, + "default": { "label": "ड" } + } + ], + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ओ" }, + "default": { "label": "ो" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ए" }, + "default": { "label": "े" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "अ" }, + "default": { "label": "्" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "इ" }, + "default": { "label": "ि" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "उ" }, + "default": { "label": "ु" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "फ" }, + "default": { "label": "प" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ऱ" }, + "default": { "label": "र" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ख" }, + "default": { "label": "क" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "थ" }, + "default": { "label": "त" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "छ" }, + "default": { "label": "च" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ठ" }, + "default": { "label": "ट" } + } + ], + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ऑ" }, + "default": { "label": "ॉ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ँ" }, + "default": { "label": "ं" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ण" }, + "default": { "label": "म" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ऩ" }, + "default": { "label": "न" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ळ" }, + "default": { "label": "व" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "श" }, + "default": { "label": "ल" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ष" }, + "default": { "label": "स" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ृ" }, + "default": { "label": "य" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ञ" }, + "default": { "label": "़" } + } + ] +] diff --git a/app/src/main/assets/layouts/hindi_compact.txt b/app/src/main/assets/layouts/hindi_compact.txt new file mode 100644 index 00000000..33d418e7 --- /dev/null +++ b/app/src/main/assets/layouts/hindi_compact.txt @@ -0,0 +1,34 @@ +औ +ऐ +आ +ई +ऊ +ब +ह +ग +द +ज +ड + +ओ +ए +अ +इ +उ +प +र +क +त +च +ट + +ऑ +् +ं +म +न +व +ल +स +य +क्ष diff --git a/app/src/main/assets/layouts/kannada.txt b/app/src/main/assets/layouts/kannada.txt new file mode 100644 index 00000000..ed487951 --- /dev/null +++ b/app/src/main/assets/layouts/kannada.txt @@ -0,0 +1,35 @@ +ೌ +ೈ +ಾ +ೀ +ೂ +ಬ +ಹ +ಗ +ದ +ಜ +ಡ + +ೋ +ೇ +್ +ಿ +ು +ಪ +ರ +ಕ +ತ +ಚ +ಟ + +ೆ +ಂ +ಮ +ನ +ವ +ಲ +ಸ +ಋ +ಷ +ಯ + diff --git a/app/src/main/assets/layouts/khmer.json b/app/src/main/assets/layouts/khmer.json new file mode 100644 index 00000000..40b8a05d --- /dev/null +++ b/app/src/main/assets/layouts/khmer.json @@ -0,0 +1,194 @@ +[ + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "!" }, + "default": { "label": "១" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ៗ" }, + "default": { "label": "២" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "\"" }, + "default": { "label": "៣" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "៛" }, + "default": { "label": "៤" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "%" }, + "default": { "label": "៥" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "៍" }, + "default": { "label": "៦" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "័" }, + "default": { "label": "៧" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "៏" }, + "default": { "label": "៨" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "(" }, + "default": { "label": "៩" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": ")" }, + "default": { "label": "០" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "៌" }, + "default": { "label": "ឥ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "៎" }, + "default": { "label": "ឲ" } + } + ], + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ឈ" }, + "default": { "label": "ឆ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ឺ" }, + "default": { "label": "ឹ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ែ" }, + "default": { "label": "េ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ឬ" }, + "default": { "label": "រ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ទ" }, + "default": { "label": "ត" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ួ" }, + "default": { "label": "យ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ូ" }, + "default": { "label": "ុ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ី" }, + "default": { "label": "ិ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ៅ" }, + "default": { "label": "ោ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ភ" }, + "default": { "label": "ផ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ឿ" }, + "default": { "label": "ៀ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ឰ" }, + "default": { "label": "ឪ" } + } + ], + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ាំ" }, + "default": { "label": "ា" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ៃ" }, + "default": { "label": "ស" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ឌ" }, + "default": { "label": "ដ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ធ" }, + "default": { "label": "ថ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "អ" }, + "default": { "label": "ង" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ះ" }, + "default": { "label": "ហ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ញ" }, + "default": { "label": "្" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "គ" }, + "default": { "label": "ក" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ឡ" }, + "default": { "label": "ល" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ោះ" }, + "default": { "label": "ើ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "៉" }, + "default": { "label": "់" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ឯ" }, + "default": { "label": "ឮ" } + } + ], + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ឍ" }, + "default": { "label": "ឋ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ឃ" }, + "default": { "label": "ខ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ជ" }, + "default": { "label": "ច" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "េះ" }, + "default": { "label": "វ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ព" }, + "default": { "label": "ប" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ណ" }, + "default": { "label": "ន" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ំ" }, + "default": { "label": "ម" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ុះ" }, + "default": { "label": "ុំ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "៕" }, + "default": { "label": "។" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "\?" }, + "default": { "label": "៊" } + } + ] +] diff --git a/app/src/main/assets/layouts/lao.json b/app/src/main/assets/layouts/lao.json new file mode 100644 index 00000000..79403b82 --- /dev/null +++ b/app/src/main/assets/layouts/lao.json @@ -0,0 +1,194 @@ +[ + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "໑" }, + "default": { "label": "ຢ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "໒" }, + "default": { "label": "ຟ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "໓" }, + "default": { "label": "ໂ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "໔" }, + "default": { "label": "ຖ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "໌" }, + "default": { "label": "ຸ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ຼ" }, + "default": { "label": "ູ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "໕" }, + "default": { "label": "ຄ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "໖" }, + "default": { "label": "ຕ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "໗" }, + "default": { "label": "ຈ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "໘" }, + "default": { "label": "ຂ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "໙" }, + "default": { "label": "ຊ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ໍ່" }, + "default": { "label": "ໍ" } + } + ], + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ົ້" }, + "default": { "label": "ົ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "໐" }, + "default": { "label": "ໄ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ຳ້" }, + "default": { "label": "ຳ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "_" }, + "default": { "label": "ພ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "+" }, + "default": { "label": "ະ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ິ້" }, + "default": { "label": "ິ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ີ້" }, + "default": { "label": "ີ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ຣ" }, + "default": { "label": "ຮ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ໜ" }, + "default": { "label": "ນ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ຽ" }, + "default": { "label": "ຍ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ຫຼ" }, + "default": { "label": "ບ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "”" }, + "default": { "label": "ລ" } + } + ], + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ັ້" }, + "default": { "label": "ັ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": ";" }, + "default": { "label": "ຫ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "." }, + "default": { "label": "ກ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "," }, + "default": { "label": "ດ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": ":" }, + "default": { "label": "ເ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "໊" }, + "default": { "label": "້" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "໋" }, + "default": { "label": "່" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "!" }, + "default": { "label": "າ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "\?" }, + "default": { "label": "ສ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "%" }, + "default": { "label": "ວ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "=" }, + "default": { "label": "ງ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "“" }, + "default": { "label": "“" } + } + ], + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "₭" }, + "default": { "label": "ຜ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "(" }, + "default": { "label": "ປ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ຯ" }, + "default": { "label": "ແ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "\@" }, + "default": { "label": "ອ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ຶ້" }, + "default": { "label": "ຶ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ື້" }, + "default": { "label": "ື" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ໆ" }, + "default": { "label": "ທ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ໝ" }, + "default": { "label": "ມ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "$" }, + "default": { "label": "ໃ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": ")" }, + "default": { "label": "ຝ" } + } + ] +] diff --git a/app/src/main/assets/layouts/malayalam.txt b/app/src/main/assets/layouts/malayalam.txt new file mode 100644 index 00000000..3e967057 --- /dev/null +++ b/app/src/main/assets/layouts/malayalam.txt @@ -0,0 +1,34 @@ +് +ാ +ി +ീ +ു +ൂ +ൃ +െ +േ +ൊ +ോ + +ക +ഗ +ങ +ച +ജ +ട +ഡ +ണ +ത +ദ +ന + +പ +ബ +മ +യ +ര +ല +വ +ശ +ഹ +ള diff --git a/app/src/main/assets/layouts/marathi.txt b/app/src/main/assets/layouts/marathi.txt new file mode 100644 index 00000000..e758c9a8 --- /dev/null +++ b/app/src/main/assets/layouts/marathi.txt @@ -0,0 +1,34 @@ +ौ +ै +ा +ी +ू +ब +ह +ग +द +ज +ड + +ो +े +् +ि +ु +प +र +क +त +च +ट + +ॉ +ॅ +ं +म +न +व +ल +स +य +क्ष diff --git a/app/src/main/assets/layouts/nepali_romanized.json b/app/src/main/assets/layouts/nepali_romanized.json new file mode 100644 index 00000000..955b7d30 --- /dev/null +++ b/app/src/main/assets/layouts/nepali_romanized.json @@ -0,0 +1,128 @@ +[ + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ठ" }, + "default": { "label": "ट" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "औ" }, + "default": { "label": "ौ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ै" }, + "default": { "label": "े" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ृ" }, + "default": { "label": "र" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "थ" }, + "default": { "label": "त" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ञ" }, + "default": { "label": "य" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ू" }, + "default": { "label": "ु" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ी" }, + "default": { "label": "ि" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ओ" }, + "default": { "label": "ो" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "फ" }, + "default": { "label": "प" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ई" }, + "default": { "label": "इ" } + } + ], + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "आ" }, + "default": { "label": "ा" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "श" }, + "default": { "label": "स" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ध" }, + "default": { "label": "द" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ऊ" }, + "default": { "label": "उ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "घ" }, + "default": { "label": "ग" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "अ" }, + "default": { "label": "ह" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "झ" }, + "default": { "label": "ज" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ख" }, + "default": { "label": "क" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "॥" }, + "default": { "label": "ल" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ऐ" }, + "default": { "label": "ए" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ः" }, + "default": { "label": "ॐ" } + } + ], + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ऋ" }, + "default": { "label": "ष" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ढ" }, + "default": { "label": "ड" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "छ" }, + "default": { "label": "च" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ँ" }, + "default": { "label": "व" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "भ" }, + "default": { "label": "ब" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ण" }, + "default": { "label": "न" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ं" }, + "default": { "label": "म" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ङ" }, + "default": { "label": "्" } + } + ] +] diff --git a/app/src/main/assets/layouts/nepali_traditional.json b/app/src/main/assets/layouts/nepali_traditional.json new file mode 100644 index 00000000..35f5f86c --- /dev/null +++ b/app/src/main/assets/layouts/nepali_traditional.json @@ -0,0 +1,132 @@ +[ + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "त्त" }, + "default": { "label": "ट" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ड्ढ" }, + "default": { "label": "ध" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ऐ" }, + "default": { "label": "भ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "द्व" }, + "default": { "label": "च" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ट्ट" }, + "default": { "label": "त" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ठ्ठ" }, + "default": { "label": "थ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ऊ" }, + "default": { "label": "ग" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "क्ष" }, + "default": { "label": "ष" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "इ" }, + "default": { "label": "य" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ए" }, + "default": { "label": "उ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ृ" }, + "default": { "label": "इ" } + } + ], + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "आ" }, + "default": { "label": "ब" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ङ्" }, + "default": { "label": "क" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ड्ड" }, + "default": { "label": "म" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ँ" }, + "default": { "label": "ा" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "द्द" }, + "default": { "label": "न" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "झ" }, + "default": { "label": "ज" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ो" }, + "default": { "label": "व" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "फ" }, + "default": { "label": "प" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ी" }, + "default": { "label": "ि" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ट्ठ" }, + "default": { "label": "स" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ू" }, + "default": { "label": "ु" } + } + ], + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "क्" }, + "default": { "label": "श" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ह्म" }, + "default": { "label": "ह" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ऋ" }, + "default": { "label": "अ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ॐ" }, + "default": { "label": "ख" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ौ" }, + "default": { "label": "द" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "द्य" }, + "default": { "label": "ल" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ं" }, + "default": { "label": "े" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ङ" }, + "default": { "label": "्" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ै" }, + "default": { "label": "र" } + } + ] +] diff --git a/app/src/main/assets/layouts/sinhala.json b/app/src/main/assets/layouts/sinhala.json new file mode 100644 index 00000000..83a16b4a --- /dev/null +++ b/app/src/main/assets/layouts/sinhala.json @@ -0,0 +1,132 @@ +[ + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ූ" }, + "default": { "label": "ු" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "උ" }, + "default": { "label": "අ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ෑ" }, + "default": { "label": "ැ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ඍ" }, + "default": { "label": "ර" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ඔ" }, + "default": { "label": "එ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ශ" }, + "default": { "label": "හ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ඹ" }, + "default": { "label": "ම" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ෂ" }, + "default": { "label": "ස" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ධ" }, + "default": { "label": "ද" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ඡ" }, + "default": { "label": "ච" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ඥ" }, + "default": { "label": "ඤ" } + } + ], + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ෟ" }, + "default": { "label": "්" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ී" }, + "default": { "label": "ි" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ෘ" }, + "default": { "label": "ා" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ෆ" }, + "default": { "label": "ෙ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ඨ" }, + "default": { "label": "ට" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "්‍ය" }, + "default": { "label": "ය" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ළු" }, + "default": { "label": "ව" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ණ" }, + "default": { "label": "න" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ඛ" }, + "default": { "label": "ක" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ථ" }, + "default": { "label": "ත" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "්‍ර" }, + "default": { "label": "ඏ" } + } + ], + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ඞ" }, + "default": { "label": "ං" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ඣ" }, + "default": { "label": "ජ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ඪ" }, + "default": { "label": "ඩ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ඊ" }, + "default": { "label": "ඉ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "භ" }, + "default": { "label": "බ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ඵ" }, + "default": { "label": "ප" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ළ" }, + "default": { "label": "ල" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ඝ" }, + "default": { "label": "ග" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ර්‍" }, + "default": { "label": "ෳ" } + } + ] +] diff --git a/app/src/main/assets/layouts/telugu.txt b/app/src/main/assets/layouts/telugu.txt new file mode 100644 index 00000000..64523060 --- /dev/null +++ b/app/src/main/assets/layouts/telugu.txt @@ -0,0 +1,34 @@ +ౌ +ై +ా +ీ +ూ +బ +హ +గ +ద +జ +డ + +ో +ే +్ +ి +ు +ప +ర +క +త +చ +ట + +ొ +ె +మ +న +వ +ల +స +ఋ +ష +య diff --git a/app/src/main/assets/layouts/thai.json b/app/src/main/assets/layouts/thai.json new file mode 100644 index 00000000..69fd17ee --- /dev/null +++ b/app/src/main/assets/layouts/thai.json @@ -0,0 +1,190 @@ +[ + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "+" }, + "default": { "label": "ๅ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "๑" }, + "default": { "label": "/" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "๒" }, + "default": { "label": "_" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "๓" }, + "default": { "label": "ภ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "๔" }, + "default": { "label": "ถ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": " ู|ู" }, + "default": { "label": " ุ|ุ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "฿" }, + "default": { "label": " ึ|ึ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "๕" }, + "default": { "label": "ค" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "๖" }, + "default": { "label": "ต" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "๗" }, + "default": { "label": "จ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "๘" }, + "default": { "label": "ข" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "๙" }, + "default": { "label": "ช" } + } + ], + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "๐" }, + "default": { "label": "ๆ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "\"" }, + "default": { "label": "ไ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ฎ" }, + "default": { "label": "ำ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ฑ" }, + "default": { "label": "พ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ธ" }, + "default": { "label": "ะ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": " ํ|ํ" }, + "default": { "label": " ั|ั" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": " ๊|๊" }, + "default": { "label": " ี|ี" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ณ" }, + "default": { "label": "ร" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ฯ" }, + "default": { "label": "น" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ญ" }, + "default": { "label": "ย" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ฐ" }, + "default": { "label": "บ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "," }, + "default": { "label": "ล" } + } + ], + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ฤ" }, + "default": { "label": "ฟ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ฆ" }, + "default": { "label": "ห" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ฏ" }, + "default": { "label": "ก" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "โ" }, + "default": { "label": "ด" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ฌ" }, + "default": { "label": "เ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": " ็|็" }, + "default": { "label": " ้|้" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": " ๋|๋" }, + "default": { "label": " ่|่" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ษ" }, + "default": { "label": "า" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ศ" }, + "default": { "label": "ส" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ซ" }, + "default": { "label": "ว" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "." }, + "default": { "label": "ง" } + } + ], + [ + { "$": "shift_state_selector", + "manualOrLocked": { "label": "(" }, + "default": { "label": "ผ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": ")" }, + "default": { "label": "ป" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ฉ" }, + "default": { "label": "แ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ฮ" }, + "default": { "label": "อ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": " ฺ|ฺ" }, + "default": { "label": " ิ|ิ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": " ์|์" }, + "default": { "label": " ื|ื" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "\?" }, + "default": { "label": "ท" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ฒ" }, + "default": { "label": "ม" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ฬ" }, + "default": { "label": "ใ" } + }, + { "$": "shift_state_selector", + "manualOrLocked": { "label": "ฦ" }, + "default": { "label": "ฝ" } + } + ] +] diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyboardBuilder.kt b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyboardBuilder.kt index 165fc391..68532437 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyboardBuilder.kt +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/KeyboardBuilder.kt @@ -64,9 +64,14 @@ open class KeyboardBuilder(protected val mContext: Context, // todo: further plan // migrate other languages/layouts to this style + // missing layouts: nepali_romanized, nepali_traditional + // add a few individual key label flags: khmer, lao, thai, hindi_compact, marathi, nepali (both) + // that has nine letters in first row -> needs 0 extra (check layout) + // moreKeys for bangla and hindi layouts are completely mixed up -> maybe need to use layoutMoreKeys... but that's not nice // integrated number rows should be removed / ignored when migrating, row will be added differently // test the zwnj key // test whether the layouts really are the same (screenshots for everything added, compare old and new parser) + // first try creating the keyParams with both parsers, and compare results, print differences // some keyboard_layout_set have supportedScript that is enum synced with script id in ScriptUtils // that's one more reason for using language tags... // but currently it's still read from xml outside the keyboard parser, so that's fine for now diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/keyboard_parser/SimpleKeyboardParser.kt b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/keyboard_parser/SimpleKeyboardParser.kt index 0c5b35db..8c591e2a 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/keyboard_parser/SimpleKeyboardParser.kt +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/keyboard_parser/SimpleKeyboardParser.kt @@ -15,7 +15,7 @@ import org.dslul.openboard.inputmethod.latin.common.splitOnWhitespace * merged with defaults. */ class SimpleKeyboardParser(private val params: KeyboardParams, private val context: Context) : KeyboardParser(params, context) { - private val addExtraKeys = + private val addExtraKeys = // todo (after removing old parser): add turkish layout that maps to qwerty, but enables extra keys params.mId.isAlphabetKeyboard && params.mId.locale.language != "eo" && params.mId.mSubtype.keyboardLayoutSetName in listOf("nordic", "spanish", "german", "swiss", "serbian_qwertz") diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/PreferencesSettingsFragment.java b/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/PreferencesSettingsFragment.java index 5b3f7c3c..47ccbf03 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/PreferencesSettingsFragment.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/PreferencesSettingsFragment.java @@ -95,7 +95,7 @@ public final class PreferencesSettingsFragment extends SubScreenFragment { final Preference pref = findPreference(Settings.PREF_LOCALIZED_NUMBER_ROW); if (pref == null) return; // locales that have a number row defined (not good to have it hardcoded, but reading a bunch of files may be noticeably slow) - final String[] numberRowLocales = new String[] { "ar", "bn", "fa", "hi", "mr", "ne", "ur" }; + final String[] numberRowLocales = new String[] { "ar", "bn", "fa", "hi", "mr", "ne", "ur", "th" }; for (final InputMethodSubtype subtype : SubtypeSettingsKt.getEnabledSubtypes(getSharedPreferences(), true)) { if (ArraysKt.any(numberRowLocales, (l) -> l.equals(subtype.getLocale().substring(0, 2)))) { pref.setVisible(true);