From 099e5678f7fbafc79468578611a8267b35c407ad Mon Sep 17 00:00:00 2001 From: Md Rasel Hossain <77199897+iamrasel@users.noreply.github.com> Date: Sat, 24 Dec 2022 16:34:48 +0600 Subject: [PATCH] Add Bengali keyboard layout (#2077) * Bengali keyboard layout * Fix some popup keys - Bengali layout --- .../extension.json | 12 ++ .../org.florisboard.layouts/extension.json | 12 ++ .../layouts/characters/bengali_bd.json | 112 +++++++++++++ .../layouts/numericAdvanced/bengali.json | 48 ++++++ .../extension.json | 12 ++ .../popupMappings/bn-BD.json | 154 ++++++++++++++++++ 6 files changed, 350 insertions(+) create mode 100644 app/src/main/assets/ime/keyboard/org.florisboard.layouts/layouts/characters/bengali_bd.json create mode 100644 app/src/main/assets/ime/keyboard/org.florisboard.layouts/layouts/numericAdvanced/bengali.json create mode 100644 app/src/main/assets/ime/keyboard/org.florisboard.localization/popupMappings/bn-BD.json diff --git a/app/src/main/assets/ime/keyboard/org.florisboard.currencysets/extension.json b/app/src/main/assets/ime/keyboard/org.florisboard.currencysets/extension.json index a69c6531..0914b2f6 100644 --- a/app/src/main/assets/ime/keyboard/org.florisboard.currencysets/extension.json +++ b/app/src/main/assets/ime/keyboard/org.florisboard.currencysets/extension.json @@ -32,6 +32,18 @@ { "code": 163, "label": "£" }, { "code": 165, "label": "¥" } ] + }, + { + "id": "bangladeshi_taka", + "label": "Bangladeshi taka (৳)", + "slots": [ + { "code": 2547, "label": "৳" }, + { "code": 36, "label": "$" }, + { "code": 8364, "label": "€" }, + { "code": 162, "label": "¢" }, + { "code": 163, "label": "£" }, + { "code": 165, "label": "¥" } + ] }, { "id": "bitcoin", diff --git a/app/src/main/assets/ime/keyboard/org.florisboard.layouts/extension.json b/app/src/main/assets/ime/keyboard/org.florisboard.layouts/extension.json index 595ec046..e1531698 100644 --- a/app/src/main/assets/ime/keyboard/org.florisboard.layouts/extension.json +++ b/app/src/main/assets/ime/keyboard/org.florisboard.layouts/extension.json @@ -42,6 +42,12 @@ "label": "AZERTY", "authors": [ "patrickgold" ], "direction": "ltr" + }, + { + "id": "bengali_bd", + "label": "বাংলা", + "authors": [ "iamrasel" ], + "direction": "ltr" }, { "id": "bepo", @@ -500,6 +506,12 @@ "label": "Western Arabic (PC)", "authors": [ "patrickgold" ], "direction": "ltr" + }, + { + "id": "bengali", + "label": "Bengali", + "authors": [ "iamrasel" ], + "direction": "ltr" } ], "numericRow": [ diff --git a/app/src/main/assets/ime/keyboard/org.florisboard.layouts/layouts/characters/bengali_bd.json b/app/src/main/assets/ime/keyboard/org.florisboard.layouts/layouts/characters/bengali_bd.json new file mode 100644 index 00000000..a7f91fcf --- /dev/null +++ b/app/src/main/assets/ime/keyboard/org.florisboard.layouts/layouts/characters/bengali_bd.json @@ -0,0 +1,112 @@ +[ + [ + { "$": "case_selector", + "lower": { "code": 2457, "label": "ঙ" }, + "upper": { "code": 2434, "label": "ং" } + }, + { "$": "case_selector", + "lower": { "code": 2479, "label": "য" }, + "upper": { "code": 2527, "label": "য়" } + }, + { "$": "case_selector", + "lower": { "code": 2465, "label": "ড" }, + "upper": { "code": 2466, "label": "ঢ" } + }, + { "$": "case_selector", + "lower": { "code": 2474, "label": "প" }, + "upper": { "code": 2475, "label": "ফ" } + }, + { "$": "case_selector", + "lower": { "code": 2463, "label": "ট" }, + "upper": { "code": 2464, "label": "ঠ" } + }, + { "$": "case_selector", + "lower": { "code": 2458, "label": "চ" }, + "upper": { "code": 2459, "label": "ছ" } + }, + { "$": "case_selector", + "lower": { "code": 2460, "label": "জ" }, + "upper": { "code": 2461, "label": "ঝ" } + }, + { "$": "case_selector", + "lower": { "code": 2489, "label": "হ" }, + "upper": { "code": 2462, "label": "ঞ" } + }, + { "$": "case_selector", + "lower": { "code": 2455, "label": "গ" }, + "upper": { "code": 2456, "label": "ঘ" } + }, + { "$": "case_selector", + "lower": { "code": 2524, "label": "ড়" }, + "upper": { "code": 2525, "label": "ঢ়" } + } + ], + [ + { "$": "case_selector", + "lower": { "code": 2499, "label": "ৃ" }, + "upper": { "$": "multi_text_key", "codePoints": [2480, 2509], "label": "র্" } + }, + { "$": "case_selector", + "lower": { "code": 2497, "label": "ু" }, + "upper": { "code": 2498, "label": "ূ" } + }, + { "$": "case_selector", + "lower": { "code": 2495, "label": "ি" }, + "upper": { "code": 2496, "label": "ী" } + }, + { "$": "case_selector", + "lower": { "code": 2494, "label": "া" }, + "upper": { "code": 2437, "label": "অ" } + }, + { "$": "case_selector", + "lower": { "code": 2509, "label": "্" }, + "upper": { "code": 2433, "label": "ঁ" } + }, + { "$": "case_selector", + "lower": { "code": 2476, "label": "ব" }, + "upper": { "code": 2477, "label": "ভ" } + }, + { "$": "case_selector", + "lower": { "code": 2453, "label": "ক" }, + "upper": { "code": 2454, "label": "খ" } + }, + { "$": "case_selector", + "lower": { "code": 2468, "label": "ত" }, + "upper": { "code": 2469, "label": "থ" } + }, + { "$": "case_selector", + "lower": { "code": 2470, "label": "দ" }, + "upper": { "code": 2471, "label": "ধ" } + } + ], + [ + { "$": "case_selector", + "lower": { "$": "multi_text_key", "codePoints": [2509, 2480], "label": "্র" }, + "upper": { "$": "multi_text_key", "codePoints": [2509, 2479], "label": "্য" } + }, + { "$": "case_selector", + "lower": { "code": 2507, "label": "ো" }, + "upper": { "code": 2508, "label": "ৌ" } + }, + { "$": "case_selector", + "lower": { "code": 2503, "label": "ে" }, + "upper": { "code": 2504, "label": "ৈ" } + }, + { "$": "case_selector", + "lower": { "code": 2480, "label": "র" }, + "upper": { "code": 2482, "label": "ল" } + }, + { "$": "case_selector", + "lower": { "code": 2472, "label": "ন" }, + "upper": { "code": 2467, "label": "ণ" } + }, + { "$": "case_selector", + "lower": { "code": 2488, "label": "স" }, + "upper": { "code": 2487, "label": "ষ" } + }, + { "$": "case_selector", + "lower": { "code": 2478, "label": "ম" }, + "upper": { "code": 2486, "label": "শ" } + } + ] +] \ No newline at end of file diff --git a/app/src/main/assets/ime/keyboard/org.florisboard.layouts/layouts/numericAdvanced/bengali.json b/app/src/main/assets/ime/keyboard/org.florisboard.layouts/layouts/numericAdvanced/bengali.json new file mode 100644 index 00000000..ccc37bb9 --- /dev/null +++ b/app/src/main/assets/ime/keyboard/org.florisboard.layouts/layouts/numericAdvanced/bengali.json @@ -0,0 +1,48 @@ +[ + [ + { "code": 43, "label": "+", "popup": { + "relevant": [ + { "code": 45, "label": "-" }, + { "code": 215, "label": "×" }, + { "code": 247, "label": "÷" } + ] + } }, + { "code": 2535, "label": "১", "type": "numeric" }, + { "code": 2536, "label": "২", "type": "numeric" }, + { "code": 2537, "label": "৩", "type": "numeric" }, + { "code": 37, "label": "%" } + ], + [ + { "code": 40, "label": "(", "popup": { + "relevant": [ + { "code": 91, "label": "[" }, + { "code": 123, "label": "{" } + ] + } }, + { "code": 2538, "label": "৪", "type": "numeric" }, + { "code": 2539, "label": "৫", "type": "numeric" }, + { "code": 2540, "label": "৬", "type": "numeric" }, + { "code": 32, "label": "space" } + ], + [ + { "code": 41, "label": ")", "popup": { + "relevant": [ + { "code": 93, "label": "]" }, + { "code": 125, "label": "}" } + ] + } }, + { "code": 2541, "label": "৭", "type": "numeric" }, + { "code": 2542, "label": "৮", "type": "numeric" }, + { "code": 2543, "label": "৯", "type": "numeric" }, + { "code": -7, "label": "delete", "type": "enter_editing" } + ], + [ + { "code": -201, "label": "view_characters", "type": "system_gui" }, + { "code": 44, "label": "," }, + { "code": -202, "label": "view_symbols", "type": "system_gui" }, + { "code": 2534, "label": "০", "type": "numeric" }, + { "code": 61, "label": "=" }, + { "code": 46, "label": "." }, + { "code": 10, "label": "enter", "groupId": 3, "type": "enter_editing" } + ] +] \ No newline at end of file diff --git a/app/src/main/assets/ime/keyboard/org.florisboard.localization/extension.json b/app/src/main/assets/ime/keyboard/org.florisboard.localization/extension.json index 69011111..1704b08c 100644 --- a/app/src/main/assets/ime/keyboard/org.florisboard.localization/extension.json +++ b/app/src/main/assets/ime/keyboard/org.florisboard.localization/extension.json @@ -28,6 +28,7 @@ { "id": "default", "authors": [ "patrickgold" ] }, { "id": "ar", "authors": [ "HeiWiper" ] }, { "id": "bg", "authors": [ "iorvethe" ] }, + { "id": "bn-BD", "authors": [ "iamrasel" ] }, { "id": "ca", "authors": [ "mikelloc" ] }, { "id": "ckb", "authors": [ "GoRaN" ] }, { "id": "cs", "authors": [ "stefan-misik" ] }, @@ -644,6 +645,17 @@ "preferred": { "characters": "org.florisboard.layouts:urdu_phonetic" } + }, + { + "languageTag": "bn-BD", + "composer": "org.florisboard.composers:appender", + "currencySet": "org.florisboard.currencysets:bangladeshi_taka", + "popupMapping": "org.florisboard.localization:bn-BD", + "preferred": { + "characters": "org.florisboard.layouts:bengali_bd", + "numericRow": "org.florisboard.layouts:bengali", + "numericAdvanced": "org.florisboard.layouts:bengali" + } } ] } diff --git a/app/src/main/assets/ime/keyboard/org.florisboard.localization/popupMappings/bn-BD.json b/app/src/main/assets/ime/keyboard/org.florisboard.localization/popupMappings/bn-BD.json new file mode 100644 index 00000000..9db6c33a --- /dev/null +++ b/app/src/main/assets/ime/keyboard/org.florisboard.localization/popupMappings/bn-BD.json @@ -0,0 +1,154 @@ +{ + "all": { + "ঙ": { + "main": { "$": "auto_text_key", "code": 2434, "label": "ং" } + }, + "য": { + "main": { "$": "auto_text_key", "code": 2527, "label": "য়" } + }, + "ড": { + "main": { "$": "auto_text_key", "code": 2466, "label": "ঢ" } + }, + "প": { + "main": { "$": "auto_text_key", "code": 2475, "label": "ফ" } + }, + "ট": { + "main": { "$": "auto_text_key", "code": 2464, "label": "ঠ" } + }, + "চ": { + "main": { "$": "auto_text_key", "code": 2459, "label": "ছ" } + }, + "জ": { + "main": { "$": "auto_text_key", "code": 2461, "label": "ঝ" } + }, + "হ": { + "main": { "$": "auto_text_key", "code": 2462, "label": "ঞ" } + }, + "গ": { + "main": { "$": "auto_text_key", "code": 2456, "label": "ঘ" } + }, + "ড়": { + "main": { "$": "auto_text_key", "code": 2525, "label": "ঢ়" } + }, + "ৃ": { + "main": { "$": "auto_text_key", "code": 2443, "label": "ঋ" }, + "relevant": [ + { "$": "auto_text_key", "code": 2500, "label": "ৄ" }, + { "$": "auto_text_key", "code": 2528, "label": "ৠ" }, + { "$": "auto_text_key", "code": 2529, "label": "ৡ" }, + { "$": "auto_text_key", "code": 2530, "label": "ৢ" }, + { "$": "auto_text_key", "code": 2531, "label": "ৣ" } + ] + }, + "ু": { + "main": { "$": "auto_text_key", "code": 2441, "label": "উ" } + }, + "ি": { + "main": { "$": "auto_text_key", "code": 2439, "label": "ই" } + }, + "া": { + "main": { "$": "auto_text_key", "code": 2438, "label": "আ" }, + "relevant": [ + { "$": "auto_text_key", "code": 2437, "label": "অ" } + ] + }, + "্": { + "main": { "$": "auto_text_key", "code": 2433, "label": "ঁ" } + }, + "ব": { + "main": { "$": "auto_text_key", "code": 2477, "label": "ভ" } + }, + "ক": { + "main": { "$": "auto_text_key", "code": 2454, "label": "খ" } + }, + "ত": { + "main": { "$": "auto_text_key", "code": 2469, "label": "থ" }, + "relevant": [ + { "$": "auto_text_key", "code": 2510, "label": "ৎ" } + ] + }, + "দ": { + "main": { "$": "auto_text_key", "code": 2471, "label": "ধ" } + }, + "ো": { + "main": { "$": "auto_text_key", "code": 2451, "label": "ও" } + }, + "ে": { + "main": { "$": "auto_text_key", "code": 2447, "label": "এ" } + }, + "র": { + "main": { "$": "auto_text_key", "code": 2482, "label": "ল" }, + "relevant": [ + { "code": -255, "label": "র‌্য" } + ] + }, + "ন": { + "main": { "$": "auto_text_key", "code": 2467, "label": "ণ" } + }, + "স": { + "main": { "$": "auto_text_key", "code": 2487, "label": "ষ" } + }, + "ম": { + "main": { "$": "auto_text_key", "code": 2486, "label": "শ" } + }, + "ূ": { + "main": { "$": "auto_text_key", "code": 2442, "label": "ঊ" } + }, + "ী": { + "main": { "$": "auto_text_key", "code": 2440, "label": "ঈ" } + }, + "ঁ": { + "relevant": [ + { "$": "auto_text_key", "code": 2493, "label": "ঽ" }, + { "$": "auto_text_key", "code": 2544, "label": "ৰ" }, + { "$": "auto_text_key", "code": 2545, "label": "ৱ" }, + { "$": "auto_text_key", "code": 2492, "label": "়" }, + { "$": "auto_text_key", "code": 2554, "label": "৺" }, + { "$": "auto_text_key", "code": 2519, "label": "ৗ" } + ] + }, + "ৌ": { + "main": { "$": "auto_text_key", "code": 2452, "label": "ঔ" } + }, + "ৈ": { + "main": { "$": "auto_text_key", "code": 2448, "label": "ঐ" } + }, + "~right": { + "main": { "code": 2404, "label": "।" }, + "relevant": [ + { "code": 38, "label": "&" }, + { "code": 37, "label": "%" }, + { "code": 43, "label": "+" }, + { "code": 34, "label": "\"" }, + { "code": 45, "label": "-" }, + { "code": 2435, "label": "ঃ" }, + { "code": 39, "label": "'" }, + { "code": 64, "label": "@" }, + { "code": 59, "label": ";" }, + { "code": 47, "label": "/" }, + { "$": "layout_direction_selector", + "ltr": { "code": 40, "label": "(" }, + "rtl": { "code": 41, "label": "(" } + }, + { "$": "layout_direction_selector", + "ltr": { "code": 41, "label": ")" }, + "rtl": { "code": 40, "label": ")" } + }, + { "code": 35, "label": "#" }, + { "code": 33, "label": "!" }, + { "code": 63, "label": "?" } + ] + } + }, + "uri": { + "~right": { + "main": { "code": -255, "label": ".com" }, + "relevant": [ + { "code": -255, "label": ".org" }, + { "code": -255, "label": ".com.bd" }, + { "code": -255, "label": ".bd" }, + { "code": -255, "label": ".net" } + ] + } + } +}