From de5968d04a39b1d1ad72358b67c5bf17dd1df02b Mon Sep 17 00:00:00 2001
From: npnpatidar <7de6dkm1@duck.com>
Date: Mon, 13 Jan 2025 01:30:47 +0530
Subject: [PATCH] Add Hindi Phonetic layout (#1278)
---
.../main/assets/layouts/hindi_phonetic.json | 554 ++++++++++++++++++
app/src/main/assets/locale_key_texts/hi.txt | 2 +-
app/src/main/res/values/strings.xml | 3 +
app/src/main/res/xml/method.xml | 10 +
4 files changed, 568 insertions(+), 1 deletion(-)
create mode 100644 app/src/main/assets/layouts/hindi_phonetic.json
diff --git a/app/src/main/assets/layouts/hindi_phonetic.json b/app/src/main/assets/layouts/hindi_phonetic.json
new file mode 100644
index 00000000..0a919329
--- /dev/null
+++ b/app/src/main/assets/layouts/hindi_phonetic.json
@@ -0,0 +1,554 @@
+[
+ [
+ {
+ "$": "shift_state_selector",
+ "manualOrLocked": {
+ "label": "ठ"
+ },
+ "default": {
+ "label": "ट"
+ }
+ },
+ {
+ "$": "shift_state_selector",
+ "manualOrLocked": {
+ "label": "ढ"
+ },
+ "default": {
+ "label": "ड",
+ "popup": {
+ "main": {
+ "label": "ड़"
+ },
+ "relevant": [
+ {
+ "label": "ढ़"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "$": "shift_state_selector",
+ "manualOrLocked": {
+ "label": "ै"
+ },
+ "default": {
+ "label": "े",
+ "popup": {
+ "main": {
+ "label": "ए"
+ },
+ "relevant": [
+ {
+ "label": "ऍ"
+ },
+ {
+ "label": "ऐ"
+ },
+ {
+ "code": 2374,
+ "label": " ॆ"
+ },
+ {
+ "code": 2389,
+ "label": " ॕ"
+ },
+ {
+ "code": 2382,
+ "label": " ॎ"
+ },
+ {
+ "label": "ऎ"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "$": "shift_state_selector",
+ "manualOrLocked": {
+ "label": "ृ"
+ },
+ "default": {
+ "label": "र",
+ "popup": {
+ "main": {
+ "label": "ऋ"
+ },
+ "relevant": [
+ {
+ "label": "ॠ"
+ },
+ {
+ "label": "ॄ"
+ },
+ {
+ "label": "ऱ"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "$": "shift_state_selector",
+ "manualOrLocked": {
+ "label": "थ"
+ },
+ "default": {
+ "label": "त",
+ "popup": {
+ "main": {
+ "label": "त्र"
+ }
+ }
+ }
+ },
+ {
+ "$": "shift_state_selector",
+ "manualOrLocked": {
+ "label": "य़"
+ },
+ "default": {
+ "label": "य",
+ "popup": {
+ "main": {
+ "label": "ॺ"
+ }
+ }
+ }
+ },
+ {
+ "$": "shift_state_selector",
+ "manualOrLocked": {
+ "label": "ू"
+ },
+ "default": {
+ "label": "ु",
+ "popup": {
+ "main": {
+ "label": "उ"
+ },
+ "relevant": [
+ {
+ "label": "ऊ"
+ },
+ {
+ "label": "ॷ"
+ },
+ {
+ "code": 2390,
+ "label": " ॖ"
+ },
+ {
+ "label": "ॶ"
+ },
+ {
+ "code": 2391,
+ "label": " ॗ"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "$": "shift_state_selector",
+ "manualOrLocked": {
+ "label": "ी"
+ },
+ "default": {
+ "label": "ि",
+ "popup": {
+ "main": {
+ "label": "इ"
+ },
+ "relevant": [
+ {
+ "label": "ई"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "$": "shift_state_selector",
+ "manualOrLocked": {
+ "label": "ौ"
+ },
+ "default": {
+ "label": "ो",
+ "popup": {
+ "main": {
+ "label": "ओ"
+ },
+ "relevant": [
+ {
+ "label": "औ"
+ },
+ {
+ "label": "ऑ"
+ },
+ {
+ "code": 2383,
+ "label": " ॏ"
+ },
+ {
+ "label": "ॵ"
+ },
+ {
+ "label": "ॐ"
+ },
+ {
+ "label": "ॉ"
+ },
+ {
+ "label": "ॳ"
+ },
+ {
+ "label": "ॴ"
+ },
+ {
+ "code": 2362,
+ "label": " ऺ"
+ },
+ {
+ "code": 2363,
+ "label": " ऻ"
+ },
+ {
+ "label": "ऒ"
+ },
+ {
+ "code": 2378,
+ "label": " ॊ"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "$": "shift_state_selector",
+ "manualOrLocked": {
+ "label": "फ़"
+ },
+ "default": {
+ "label": "प"
+ }
+ }
+ ],
+ [
+ {
+ "$": "shift_state_selector",
+ "manualOrLocked": {
+ "label": "अ"
+ },
+ "default": {
+ "label": "ा",
+ "popup": {
+ "main": {
+ "label": "आ"
+ },
+ "relevant": [
+ {
+ "label": "ॅ"
+ },
+ {
+ "label": "ॲ"
+ },
+ {
+ "label": "ऄ"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "$": "shift_state_selector",
+ "manualOrLocked": {
+ "label": "श"
+ },
+ "default": {
+ "label": "स",
+ "popup": {
+ "main": {
+ "label": "श्र"
+ },
+ "relevant": [
+ {
+ "label": "ष"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "$": "shift_state_selector",
+ "manualOrLocked": {
+ "label": "ध"
+ },
+ "default": {
+ "label": "द",
+ "popup": {
+ "main": {
+ "label": "ड़"
+ },
+ "relevant": [
+ {
+ "label": "ॾ"
+ },
+ {
+ "label": "ढ़"
+ },
+ {
+ "label": "ॸ"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "$": "shift_state_selector",
+ "manualOrLocked": {
+ "code": 2364,
+ "label": " ़"
+ },
+ "default": {
+ "label": "फ",
+ "popup": {
+ "main": {
+ "label": "फ़"
+ }
+ }
+ }
+ },
+ {
+ "$": "shift_state_selector",
+ "manualOrLocked": {
+ "label": "घ"
+ },
+ "default": {
+ "label": "ग",
+ "popup": {
+ "main": {
+ "label": "ग़"
+ },
+ "relevant": [
+ {
+ "label": "ॻ"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "$": "shift_state_selector",
+ "manualOrLocked": {
+ "label": "ः"
+ },
+ "default": {
+ "label": "ह"
+ }
+ },
+ {
+ "$": "shift_state_selector",
+ "manualOrLocked": {
+ "label": "झ"
+ },
+ "default": {
+ "label": "ज",
+ "popup": {
+ "main": {
+ "label": "ज़"
+ },
+ "relevant": [
+ {
+ "label": "ॼ"
+ },
+ {
+ "label": "ॹ"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "$": "shift_state_selector",
+ "manualOrLocked": {
+ "label": "ख"
+ },
+ "default": {
+ "label": "क",
+ "popup": {
+ "main": {
+ "label": "क़"
+ },
+ "relevant": [
+ {
+ "label": "ख़"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "$": "shift_state_selector",
+ "manualOrLocked": {
+ "label": "ळ"
+ },
+ "default": {
+ "label": "ल",
+ "popup": {
+ "relevant": [
+ {
+ "label": "ऴ"
+ },
+ {
+ "label": "ॣ"
+ },
+ {
+ "label": "ऌ"
+ },
+ {
+ "label": "ॡ"
+ },
+ {
+ "label": "ॢ"
+ }
+ ]
+ }
+ }
+ }
+ ],
+ [
+ {
+ "$": "shift_state_selector",
+ "manualOrLocked": {
+ "label": "ज़",
+ "labelFlags": 128
+ },
+ "default": {
+ "label": "ज्ञ",
+ "labelFlags": 128
+ }
+ },
+ {
+ "$": "shift_state_selector",
+ "manualOrLocked": {
+ "label": "ष"
+ },
+ "default": {
+ "label": "क्ष",
+ "labelFlags": 128
+ }
+ },
+ {
+ "$": "shift_state_selector",
+ "manualOrLocked": {
+ "label": "छ"
+ },
+ "default": {
+ "label": "च",
+ "popup": {
+ "relevant": [
+ {
+ "$": "auto_text_key",
+ "code": 2385,
+ "label": " ॑"
+ },
+ {
+ "$": "auto_text_key",
+ "code": 2386,
+ "label": " ॒"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "$": "shift_state_selector",
+ "manualOrLocked": {
+ "label": "्"
+ },
+ "default": {
+ "label": "व",
+ "popup": {
+ "relevant": [
+ {
+ "$": "auto_text_key",
+ "code": 2387,
+ "label": " ॓"
+ },
+ {
+ "$": "auto_text_key",
+ "code": 2388,
+ "label": " ॔"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "$": "shift_state_selector",
+ "manualOrLocked": {
+ "label": "भ"
+ },
+ "default": {
+ "label": "ब",
+ "popup": {
+ "relevant": [
+ {
+ "label": "ॿ"
+ },
+ {
+ "label": "ऽ"
+ },
+ {
+ "label": "॰"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "$": "shift_state_selector",
+ "manualOrLocked": {
+ "label": "ण"
+ },
+ "default": {
+ "label": "न",
+ "popup": {
+ "main": {
+ "label": "ङ"
+ },
+ "relevant": [
+ {
+ "label": "ऩ"
+ },
+ {
+ "label": "ञ"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "$": "shift_state_selector",
+ "manualOrLocked": {
+ "label": "ं"
+ },
+ "default": {
+ "label": "म",
+ "popup": {
+ "main": {
+ "label": "ँ"
+ },
+ "relevant": [
+ {
+ "label": "ऀ"
+ }
+ ]
+ }
+ }
+ }
+ ]
+]
diff --git a/app/src/main/assets/locale_key_texts/hi.txt b/app/src/main/assets/locale_key_texts/hi.txt
index 90094695..e6947823 100644
--- a/app/src/main/assets/locale_key_texts/hi.txt
+++ b/app/src/main/assets/locale_key_texts/hi.txt
@@ -37,7 +37,7 @@
ल ऌ ॡ
य य़
़ ॽ ॰ ऽ
-punctuation !autoColumnOrder!9 \, . ? ! # ) ( / ; ' @ : - " + \% &
+punctuation !autoColumnOrder!9 \, . ॥ ? ! !icon/zwnj_key| !icon/zwj_key| # @ ( ) / ; : - + \%
औ ौ
ऐ ै
आ ा
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 7f3a0c3f..dd59cd6e 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -362,6 +362,9 @@
%s (Compact)
+
+ %s (Phonetic)
%s (Sebeolsik 390)
diff --git a/app/src/main/res/xml/method.xml b/app/src/main/res/xml/method.xml
index 9dd9d429..3241ec6a 100644
--- a/app/src/main/res/xml/method.xml
+++ b/app/src/main/res/xml/method.xml
@@ -48,6 +48,7 @@
gu: Gujarati/gujarati
hi: Hindi/hindi
hi: Hindi/hindi_compact
+ hi: Hindi/hindi_phonetic
hi_ZZ: Hinglish/qwerty # This is a preliminary keyboard layout.
hr: Croatian/qwertz
hu: Hungarian/qwertz
@@ -471,6 +472,15 @@
android:imeSubtypeMode="keyboard"
android:imeSubtypeExtraValue="KeyboardLayoutSet=hindi_compact,NoShiftKey,EmojiCapable"
android:isAsciiCapable="false"
+ />
+