1
0
Fork 0
* added Korean language

* fokin context no more messing up everything in the InputModes

* no more unnecessary textField and inputType passing in the InputModes

* a single source of truth for the InputMode kind

* ModePredictive -> ModeWords

* no more db queries to increase the priority of emojis and special chars

* Korean virtual keypad

* more consistent displaying of the ABC string

* sorted out the labels of 1-key and 0-key in numeric modes

* documentation update
This commit is contained in:
Dimo Karaivanov 2024-11-28 13:20:49 +02:00 committed by GitHub
parent f3c701fd55
commit 5a108dcda9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
107 changed files with 13010 additions and 609 deletions

View file

@ -17,7 +17,7 @@ class Wrapper {
static def wordToDigitSequence(Locale locale, String word, HashMap<String, String> sounds, boolean isTranscribed) {
String sequence = ""
def sequence = new StringBuilder()
final String normalizedWord = isTranscribed ? word : word.toUpperCase(locale)
String currentSound = ""
@ -32,7 +32,7 @@ class Wrapper {
// charAt(i) returns "ΐ" as three separate characters, but they must be treated as one.
if (
locale.getLanguage() == "el"
&& (nextCharType == Character.NON_SPACING_MARK || nextCharType == Character.ENCLOSING_MARK || nextCharType == Character.COMBINING_SPACING_MARK)
&& (nextCharType == Character.NON_SPACING_MARK || nextCharType == Character.ENCLOSING_MARK || nextCharType == Character.COMBINING_SPACING_MARK)
) {
continue
}
@ -41,7 +41,7 @@ class Wrapper {
if (!sounds.containsKey(currentSound)) {
throw new IllegalArgumentException("Sound or layout entry '${currentSound}' does not belong to the language sound list: ${sounds}.")
} else {
sequence += sounds.get(currentSound)
sequence << sounds.get(currentSound)
currentSound = ""
}
}
@ -51,7 +51,7 @@ class Wrapper {
throw new IllegalArgumentException("The word does not contain any valid sounds.")
}
return sequence
return sequence.toString()
}