mirror of
https://github.com/curioustorvald/Terrarum-sans-bitmap.git
synced 2026-06-09 23:44:04 +09:00
devanagari narrower vowels
This commit is contained in:
BIN
assets/devanagari_variable.tga
LFS
BIN
assets/devanagari_variable.tga
LFS
Binary file not shown.
@@ -116,7 +116,7 @@ data class GlyphProps(
|
|||||||
if (stackWhere == STACK_BEFORE_N_AFTER)
|
if (stackWhere == STACK_BEFORE_N_AFTER)
|
||||||
2
|
2
|
||||||
else if (directiveOpcode in 0b10000_000..0b10000_111)
|
else if (directiveOpcode in 0b10000_000..0b10000_111)
|
||||||
directiveOpcode and 7
|
7
|
||||||
else 0
|
else 0
|
||||||
|
|
||||||
fun isPragma(pragma: String) = when (pragma) {
|
fun isPragma(pragma: String) = when (pragma) {
|
||||||
|
|||||||
@@ -1213,11 +1213,11 @@ class TerrarumSansBitmap(
|
|||||||
seq.add(c)
|
seq.add(c)
|
||||||
changeRaStatus(1)
|
changeRaStatus(1)
|
||||||
}
|
}
|
||||||
else if ((yankedDevanagariRaStatus[1] == 1 || yankedDevanagariRaStatus[1] == 3) && devanagariVerbs.contains(c)) {
|
else if ((yankedDevanagariRaStatus[1] == 1 || yankedDevanagariRaStatus[1] == 3) && devanagariVowels.contains(c)) {
|
||||||
seq.add(c)
|
seq.add(c)
|
||||||
changeRaStatus(3)
|
changeRaStatus(3)
|
||||||
}
|
}
|
||||||
// else if (yankedDevanagariRaStatus == 3 && !devanagariVerbs.contains(c)) {
|
// else if (yankedDevanagariRaStatus == 3 && !devanagariVowels.contains(c)) {
|
||||||
else if (yankedDevanagariRaStatus[1] > 0 && yankedCharacters.peek().second == DEVANAGARI_RA) { // termination or illegal state for Devanagari RA
|
else if (yankedDevanagariRaStatus[1] > 0 && yankedCharacters.peek().second == DEVANAGARI_RA) { // termination or illegal state for Devanagari RA
|
||||||
yankedCharacters.pop()
|
yankedCharacters.pop()
|
||||||
seq.add(DEVANAGARI_RA_SUPER)
|
seq.add(DEVANAGARI_RA_SUPER)
|
||||||
@@ -1289,9 +1289,9 @@ class TerrarumSansBitmap(
|
|||||||
i = 0
|
i = 0
|
||||||
while (i <= seq.lastIndex) {
|
while (i <= seq.lastIndex) {
|
||||||
if (i > 0 && (glyphProps[seq[i]] ?: nullProp).alignWhere == GlyphProps.ALIGN_BEFORE) {
|
if (i > 0 && (glyphProps[seq[i]] ?: nullProp).alignWhere == GlyphProps.ALIGN_BEFORE) {
|
||||||
val verb = seq[i]
|
val vowel = seq[i]
|
||||||
// dbgprn("Verb realign: index $i, ${verb.charInfo()}")
|
// dbgprn("Vowel realign: index $i, ${vowel.charInfo()}")
|
||||||
if (isDevanagari(verb)) {
|
if (isDevanagari(vowel)) {
|
||||||
// scan for the consonant cluster backwards
|
// scan for the consonant cluster backwards
|
||||||
// [not ligature glyphs] h h h h h c l r
|
// [not ligature glyphs] h h h h h c l r
|
||||||
var scanCounter = 1
|
var scanCounter = 1
|
||||||
@@ -1303,10 +1303,10 @@ class TerrarumSansBitmap(
|
|||||||
scanCounter += 1
|
scanCounter += 1
|
||||||
else
|
else
|
||||||
break
|
break
|
||||||
} // scanCounter points at the terminator. the left-verb must be placed at (i - scanCounter + 1)
|
} // scanCounter points at the terminator. the left-vowel must be placed at (i - scanCounter + 1)
|
||||||
|
|
||||||
seq.removeAt(i)
|
seq.removeAt(i)
|
||||||
seq.add(i - scanCounter + 1, verb)
|
seq.add(i - scanCounter + 1, vowel)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
val t = seq[i - 1]
|
val t = seq[i - 1]
|
||||||
@@ -1781,7 +1781,7 @@ class TerrarumSansBitmap(
|
|||||||
private val TAMIL_SHRII = 0xF00EE
|
private val TAMIL_SHRII = 0xF00EE
|
||||||
|
|
||||||
private val devanagariConsonants = ((0x0915..0x0939) + (0x0958..0x095F) + (0x0978..0x097F) + (0xF0105..0xF01FF)).toHashSet()
|
private val devanagariConsonants = ((0x0915..0x0939) + (0x0958..0x095F) + (0x0978..0x097F) + (0xF0105..0xF01FF)).toHashSet()
|
||||||
private val devanagariVerbs = ((0x093A..0x093C) + (0x093E..0x094C) + (0x094E..0x094F)).toHashSet()
|
private val devanagariVowels = ((0x093A..0x093C) + (0x093E..0x094C) + (0x094E..0x094F)).toHashSet()
|
||||||
|
|
||||||
private val devanagariBaseConsonants = 0x0915..0x0939
|
private val devanagariBaseConsonants = 0x0915..0x0939
|
||||||
private val devanagariBaseConsonantsWithNukta = 0x0958..0x095F
|
private val devanagariBaseConsonantsWithNukta = 0x0958..0x095F
|
||||||
|
|||||||
BIN
testing.PNG
BIN
testing.PNG
Binary file not shown.
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 29 KiB |
@@ -14,4 +14,5 @@
|
|||||||
स्वतन्त्र << N.T.RA ligature
|
स्वतन्त्र << N.T.RA ligature
|
||||||
सर्वप्रथम << RAsup must be above VA, not P.RA
|
सर्वप्रथम << RAsup must be above VA, not P.RA
|
||||||
|
|
||||||
भारतीय अक्षर जटिल हैं क्ष्फ क्षफ
|
भारतीय अक्षर जटिल हैं क्ष्फ क्षफ अऺ
|
||||||
|
ऄअआऑऒओऔ ॲॳॴॵॶॷ
|
||||||
Binary file not shown.
Reference in New Issue
Block a user