diff --git a/assets/devanagari_internal_extrawide_variable.tga b/assets/devanagari_internal_extrawide_variable.tga index d76bd85..c1803de 100644 --- a/assets/devanagari_internal_extrawide_variable.tga +++ b/assets/devanagari_internal_extrawide_variable.tga @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:452c0f7b0f2a5a9f1cdc9ac8276a6d8249ff848175ed5469c45d4a600890d12c +oid sha256:13aa530350aa829f5042aa7852a0265908df9719ed92e67ad016a594f9230195 size 81938 diff --git a/assets/devanagari_variable.tga b/assets/devanagari_variable.tga index 70e2ede..55aa4ee 100644 --- a/assets/devanagari_variable.tga +++ b/assets/devanagari_variable.tga @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:475c5b0244add306176d6084957769201a956566af8cac9c0466261eedba4b1d +oid sha256:1b8a54b4e149d7a42091adb8861470d2d63fc0eb8659224b012df56380a445ec size 1474578 diff --git a/demo.PNG b/demo.PNG index ea67431..912b817 100644 Binary files a/demo.PNG and b/demo.PNG differ diff --git a/src/net/torvald/terrarumsansbitmap/gdx/TerrarumSansBitmap.kt b/src/net/torvald/terrarumsansbitmap/gdx/TerrarumSansBitmap.kt index 50ee74f..ec891ed 100755 --- a/src/net/torvald/terrarumsansbitmap/gdx/TerrarumSansBitmap.kt +++ b/src/net/torvald/terrarumsansbitmap/gdx/TerrarumSansBitmap.kt @@ -1290,6 +1290,7 @@ class TerrarumSansBitmap( val yankedCharacters = Stack>() // Stack of ; codepoint use -1 if not applicable var yankedDevanagariRaStatus = intArrayOf(0,0) // 0: none, 1: consonants, 2: virama, 3: vowel for this syllable + var sawLeftI = false fun changeRaStatus(n: Int) { yankedDevanagariRaStatus[0] = yankedDevanagariRaStatus[1] yankedDevanagariRaStatus[1] = n @@ -1297,13 +1298,15 @@ class TerrarumSansBitmap( fun resetRaStatus() { yankedDevanagariRaStatus[0] = 0 yankedDevanagariRaStatus[1] = 0 + + sawLeftI = false } fun emptyOutYanked() { while (!yankedCharacters.empty()) { val poppedChar = yankedCharacters.pop() if (poppedChar.second == DEVANAGARI_RA) - if (seq4.last() in devanagariSuperscripts) + if (seq4.last() in devanagariSuperscripts || sawLeftI) seq4.add(DEVANAGARI_RA_SUPER_COMPLEX) else seq4.add(DEVANAGARI_RA_SUPER) @@ -1337,7 +1340,7 @@ class TerrarumSansBitmap( seq4.add(c) 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)") seq4.add(c) changeRaStatus(3) @@ -1350,7 +1353,7 @@ class TerrarumSansBitmap( if (yankedDevanagariRaStatus[1] > 0) { dbgprnLig(" Popping out RAsup (2)") yankedCharacters.pop() - if (seq4.last() in devanagariSuperscripts) + if (seq4.last() in devanagariSuperscripts || sawLeftI) seq4.add(DEVANAGARI_RA_SUPER_COMPLEX) else seq4.add(DEVANAGARI_RA_SUPER) @@ -1364,6 +1367,7 @@ class TerrarumSansBitmap( } else if ((yankedDevanagariRaStatus[1] in 1..3) && devanagariVowels.contains(c)) { dbgprnLig(" Left Vowels (${yankedDevanagariRaStatus[1]} -> 5)") + sawLeftI = true seq4.add(c) changeRaStatus(5) } @@ -1376,7 +1380,7 @@ class TerrarumSansBitmap( else if (yankedDevanagariRaStatus[1] > 0) { dbgprnLig(" Popping out RAsup") yankedCharacters.pop() - if (seq4.last() in devanagariSuperscripts) + if (seq4.last() in devanagariSuperscripts || sawLeftI) seq4.add(DEVANAGARI_RA_SUPER_COMPLEX) else seq4.add(DEVANAGARI_RA_SUPER) diff --git a/work_files/devanagari_internal_extrawide_variable.psd b/work_files/devanagari_internal_extrawide_variable.psd index e0dccde..0a9f5cc 100644 --- a/work_files/devanagari_internal_extrawide_variable.psd +++ b/work_files/devanagari_internal_extrawide_variable.psd @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cb14bd1e32be2191f19306daa7669183981e9651a1d2732ef5dba374f5fa42b6 -size 83425 +oid sha256:20abeced6850387dee8746f76b643da0126347d522eff034b2ff03d25d8a900c +size 87007 diff --git a/work_files/devanagari_variable.psd b/work_files/devanagari_variable.psd index d3f6338..b1a7bb2 100644 --- a/work_files/devanagari_variable.psd +++ b/work_files/devanagari_variable.psd @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:eb18b3a8aea76e386d7996f9f6b01a2f1843a30c86c9489213dacead049445c4 -size 1453007 +oid sha256:e0417e8eb01eb71871a9295a868f9b86cb7df9e455302c13ddd5b283cea5a5f8 +size 1453031