mirror of
https://github.com/curioustorvald/Terrarum-sans-bitmap.git
synced 2026-03-16 16:06:06 +09:00
yet another devanagari improvements regarding superscript RA and vowel I
This commit is contained in:
Binary file not shown.
BIN
assets/devanagari_variable.tga
LFS
BIN
assets/devanagari_variable.tga
LFS
Binary file not shown.
BIN
demo.PNG
BIN
demo.PNG
Binary file not shown.
|
Before Width: | Height: | Size: 152 KiB After Width: | Height: | Size: 152 KiB |
@@ -1290,6 +1290,7 @@ class TerrarumSansBitmap(
|
|||||||
|
|
||||||
val yankedCharacters = Stack<Pair<Int, CodePoint>>() // Stack of <Position, CodePoint>; codepoint use -1 if not applicable
|
val yankedCharacters = Stack<Pair<Int, CodePoint>>() // Stack of <Position, CodePoint>; codepoint use -1 if not applicable
|
||||||
var yankedDevanagariRaStatus = intArrayOf(0,0) // 0: none, 1: consonants, 2: virama, 3: vowel for this syllable
|
var yankedDevanagariRaStatus = intArrayOf(0,0) // 0: none, 1: consonants, 2: virama, 3: vowel for this syllable
|
||||||
|
var sawLeftI = false
|
||||||
fun changeRaStatus(n: Int) {
|
fun changeRaStatus(n: Int) {
|
||||||
yankedDevanagariRaStatus[0] = yankedDevanagariRaStatus[1]
|
yankedDevanagariRaStatus[0] = yankedDevanagariRaStatus[1]
|
||||||
yankedDevanagariRaStatus[1] = n
|
yankedDevanagariRaStatus[1] = n
|
||||||
@@ -1297,13 +1298,15 @@ class TerrarumSansBitmap(
|
|||||||
fun resetRaStatus() {
|
fun resetRaStatus() {
|
||||||
yankedDevanagariRaStatus[0] = 0
|
yankedDevanagariRaStatus[0] = 0
|
||||||
yankedDevanagariRaStatus[1] = 0
|
yankedDevanagariRaStatus[1] = 0
|
||||||
|
|
||||||
|
sawLeftI = false
|
||||||
}
|
}
|
||||||
|
|
||||||
fun emptyOutYanked() {
|
fun emptyOutYanked() {
|
||||||
while (!yankedCharacters.empty()) {
|
while (!yankedCharacters.empty()) {
|
||||||
val poppedChar = yankedCharacters.pop()
|
val poppedChar = yankedCharacters.pop()
|
||||||
if (poppedChar.second == DEVANAGARI_RA)
|
if (poppedChar.second == DEVANAGARI_RA)
|
||||||
if (seq4.last() in devanagariSuperscripts)
|
if (seq4.last() in devanagariSuperscripts || sawLeftI)
|
||||||
seq4.add(DEVANAGARI_RA_SUPER_COMPLEX)
|
seq4.add(DEVANAGARI_RA_SUPER_COMPLEX)
|
||||||
else
|
else
|
||||||
seq4.add(DEVANAGARI_RA_SUPER)
|
seq4.add(DEVANAGARI_RA_SUPER)
|
||||||
@@ -1337,7 +1340,7 @@ class TerrarumSansBitmap(
|
|||||||
seq4.add(c)
|
seq4.add(c)
|
||||||
changeRaStatus(1)
|
changeRaStatus(1)
|
||||||
}
|
}
|
||||||
else if (yankedDevanagariRaStatus[1] in listOf(1,3) && devanariConsonantsHalfs.contains(c)) {
|
else if (yankedDevanagariRaStatus[1] in listOf(1,3,5) && devanariConsonantsHalfs.contains(c)) {
|
||||||
dbgprnLig(" Consonants Half Form (${yankedDevanagariRaStatus[1]} -> 3)")
|
dbgprnLig(" Consonants Half Form (${yankedDevanagariRaStatus[1]} -> 3)")
|
||||||
seq4.add(c)
|
seq4.add(c)
|
||||||
changeRaStatus(3)
|
changeRaStatus(3)
|
||||||
@@ -1350,7 +1353,7 @@ class TerrarumSansBitmap(
|
|||||||
if (yankedDevanagariRaStatus[1] > 0) {
|
if (yankedDevanagariRaStatus[1] > 0) {
|
||||||
dbgprnLig(" Popping out RAsup (2)")
|
dbgprnLig(" Popping out RAsup (2)")
|
||||||
yankedCharacters.pop()
|
yankedCharacters.pop()
|
||||||
if (seq4.last() in devanagariSuperscripts)
|
if (seq4.last() in devanagariSuperscripts || sawLeftI)
|
||||||
seq4.add(DEVANAGARI_RA_SUPER_COMPLEX)
|
seq4.add(DEVANAGARI_RA_SUPER_COMPLEX)
|
||||||
else
|
else
|
||||||
seq4.add(DEVANAGARI_RA_SUPER)
|
seq4.add(DEVANAGARI_RA_SUPER)
|
||||||
@@ -1364,6 +1367,7 @@ class TerrarumSansBitmap(
|
|||||||
}
|
}
|
||||||
else if ((yankedDevanagariRaStatus[1] in 1..3) && devanagariVowels.contains(c)) {
|
else if ((yankedDevanagariRaStatus[1] in 1..3) && devanagariVowels.contains(c)) {
|
||||||
dbgprnLig(" Left Vowels (${yankedDevanagariRaStatus[1]} -> 5)")
|
dbgprnLig(" Left Vowels (${yankedDevanagariRaStatus[1]} -> 5)")
|
||||||
|
sawLeftI = true
|
||||||
seq4.add(c)
|
seq4.add(c)
|
||||||
changeRaStatus(5)
|
changeRaStatus(5)
|
||||||
}
|
}
|
||||||
@@ -1376,7 +1380,7 @@ class TerrarumSansBitmap(
|
|||||||
else if (yankedDevanagariRaStatus[1] > 0) {
|
else if (yankedDevanagariRaStatus[1] > 0) {
|
||||||
dbgprnLig(" Popping out RAsup")
|
dbgprnLig(" Popping out RAsup")
|
||||||
yankedCharacters.pop()
|
yankedCharacters.pop()
|
||||||
if (seq4.last() in devanagariSuperscripts)
|
if (seq4.last() in devanagariSuperscripts || sawLeftI)
|
||||||
seq4.add(DEVANAGARI_RA_SUPER_COMPLEX)
|
seq4.add(DEVANAGARI_RA_SUPER_COMPLEX)
|
||||||
else
|
else
|
||||||
seq4.add(DEVANAGARI_RA_SUPER)
|
seq4.add(DEVANAGARI_RA_SUPER)
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user