From baa16d742baea0496b67ac6ab125a3ee163e15a4 Mon Sep 17 00:00:00 2001 From: Jules Aguillon Date: Sat, 7 Dec 2024 22:29:15 +0100 Subject: [PATCH] Add support for Kannada Add language support for Kannada, including a layout and numerals. --- check_layout.output | 4 ++++ res/values/layouts.xml | 3 +++ res/xml/method.xml | 1 + srcs/juloo.keyboard2/KeyModifier.java | 22 ++++++++++++++++++++ srcs/layouts/kann_kannada.xml | 30 +++++++++++++++++++++++++++ 5 files changed, 60 insertions(+) create mode 100644 srcs/layouts/kann_kannada.xml diff --git a/check_layout.output b/check_layout.output index 6123226..c74a163 100644 --- a/check_layout.output +++ b/check_layout.output @@ -78,6 +78,10 @@ Layout includes some ASCII punctuation but not all, missing: (, ), <, >, [, ], { # hebr_2_il Layout includes some ASCII punctuation but not all, missing: (, ), <, >, [, ], {, } 1 warnings +# kann_kannada +Layout includes some ASCII punctuation but not all, missing: #, $, %, (, ), *, +, /, <, =, >, [, \, ], ^, `, {, |, }, ~ +Layout doesn't define some important keys, missing: loc esc, loc tab +2 warnings # latn_azerty_be 0 warnings # latn_azerty_fr diff --git a/res/values/layouts.xml b/res/values/layouts.xml index 17783eb..13fe0b9 100644 --- a/res/values/layouts.xml +++ b/res/values/layouts.xml @@ -33,6 +33,7 @@ hang_dubeolsik_kr hebr_1_il hebr_2_il + kann_kannada latn_azerty_be latn_azerty_fr latn_bepo_fr @@ -103,6 +104,7 @@ 두벌식 (Korean) Hebrew 1 Hebrew 2 + ಕನ್ನಡ AZERTY (Belgian) AZERTY (Français) BEPO (Français) @@ -173,6 +175,7 @@ @xml/hang_dubeolsik_kr @xml/hebr_1_il @xml/hebr_2_il + @xml/kann_kannada @xml/latn_azerty_be @xml/latn_azerty_fr @xml/latn_bepo_fr diff --git a/res/xml/method.xml b/res/xml/method.xml index 41612e0..f0be0a9 100644 --- a/res/xml/method.xml +++ b/res/xml/method.xml @@ -25,6 +25,7 @@ + diff --git a/srcs/juloo.keyboard2/KeyModifier.java b/srcs/juloo.keyboard2/KeyModifier.java index 138c060..34590a2 100644 --- a/srcs/juloo.keyboard2/KeyModifier.java +++ b/srcs/juloo.keyboard2/KeyModifier.java @@ -115,6 +115,7 @@ public final class KeyModifier case "devanagari": return map_char_numpad_devanagari; case "persian": return map_char_numpad_persian; case "gujarati": return map_char_numpad_gujarati; + case "kannada": return map_char_numpad_kannada; default: return map_char_none; } } @@ -475,6 +476,27 @@ public final class KeyModifier } }; + private static final Map_char map_char_numpad_kannada = + new Map_char() { + public String apply(char c) + { + switch (c) + { + case '0': return "೦"; + case '1': return "೧"; + case '2': return "೨"; + case '3': return "೩"; + case '4': return "೪"; + case '5': return "೫"; + case '6': return "೬"; + case '7': return "೭"; + case '8': return "೮"; + case '9': return "೯"; + default: return null; + } + } + }; + /** Compose the precomposed initial with the medial [kv]. */ private static KeyValue combine_hangul_initial(KeyValue kv, int precomposed) { diff --git a/srcs/layouts/kann_kannada.xml b/srcs/layouts/kann_kannada.xml new file mode 100644 index 0000000..07f04d8 --- /dev/null +++ b/srcs/layouts/kann_kannada.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +