1
0
Fork 0
* Added Hindi language

	* Removed the hardcoded special characters from language validation. Now reading them from the .yml

	* improved method of hiding the letters on 0 and 1, when needed

	* virtual keypad adjustments

	* improved the single-letter validation during build time

	* improved Devanagari validation script

	* improved sorting when filters are on
This commit is contained in:
sspanak 2024-12-01 18:47:41 +02:00 committed by Dimo Karaivanov
parent 622a954633
commit f8e6668281
18 changed files with 1305176 additions and 103 deletions

View file

@ -65,12 +65,26 @@ function containsMultipleMatraNasalizations(word) {
.test(word);
}
function containsModifierMatra(word) {
return /[\u{900}-\u{903}\u{94d}][\u{93E}-\u{944}\u{947}\u{948}\u{94B}\u{94C}\u{962}\u{963}]/u.test(word);
}
function containsTooManyRepeatedLetters(word) {
return /(.)\1{2,}/.test(word);
}
function containsForeignLetters(word) {
return /[\u{944}ऑऍऎऒॠ]+[\u{900}-\u{903}\u{94d}\u{93E}-\u{944}\u{947}\u{948}\u{94B}\u{94C}\u{962}\u{963}]?/u.test(word);
}
function fixNuqta(word) {
return word.replaceAll('ऴ', '\u{933}\u{93c}');
}
/**
* isValid
*
@ -83,13 +97,15 @@ function isValid(word) {
&& !containsInvalidZWJ(word)
&& !containsMultipleNasalizations(word)
&& !containsMultipleMatraNasalizations(word)
&& !containsModifierMatra(word)
&& !containsTooManyRepeatedLetters(word)
&& !containsForeignLetters(word)
}
function work({ file }) {
Array.from(getWordsFromFile(file)).forEach(w => {
if (isValid(w)) print(w);
if (isValid(w)) print(fixNuqta(w));
});
}