81 lines
2.2 KiB
Kotlin
81 lines
2.2 KiB
Kotlin
#!/usr/bin/kscript
|
|
|
|
@file:Import("dsl.kt")
|
|
|
|
glyphs { // in font encoding and alphabetical order
|
|
// bare vowels
|
|
glyph(vowel, "i", outer)
|
|
glyph(vowel, "e", outer, slashed)
|
|
glyph(vowel, "a", slashed)
|
|
glyph(vowel, "o", `inner`, slashed)
|
|
glyph(vowel, "u", `inner`)
|
|
glyph(vowel, "y", both)
|
|
|
|
// consonant clusters (note: both core can be written with a dot in most cases)
|
|
glyph(cluster, "θ", left, top)
|
|
glyph(cluster, "∫", left, middle)
|
|
glyph(cluster, "x", left, bottom)
|
|
glyph(cluster, "n", center, middle)
|
|
glyph(cluster, "p", right, top)
|
|
glyph(cluster, "t", right, middle)
|
|
glyph(cluster, "k", right, bottom)
|
|
glyph(cluster, "θl", left, top, tall)
|
|
glyph(cluster, "∫l", left, middle, tall)
|
|
glyph(cluster, "xl", left, bottom, tall)
|
|
glyph(cluster, "nl", center, middle, tall)
|
|
glyph(cluster, "pl", right, top, tall)
|
|
glyph(cluster, "tl", right, middle, tall)
|
|
glyph(cluster, "kl", right, bottom, tall)
|
|
glyph(cluster, "θr", left, top, wide)
|
|
glyph(cluster, "∫r", left, middle, wide)
|
|
glyph(cluster, "xr", left, bottom, wide)
|
|
glyph(cluster, "nr", center, middle, wide)
|
|
glyph(cluster, "pr", right, top, wide)
|
|
glyph(cluster, "tr", right, middle, wide)
|
|
glyph(cluster, "kr", right, bottom, wide)
|
|
glyph(cluster, "sθ", left, top, both)
|
|
glyph(cluster, "s∫", left, middle, both)
|
|
glyph(cluster, "sx", left, bottom, both)
|
|
glyph(cluster, "sn", center, middle, both)
|
|
glyph(cluster, "sp", right, top, both)
|
|
glyph(cluster, "st", right, middle, both)
|
|
glyph(cluster, "sk", right, bottom, both)
|
|
|
|
syllables()
|
|
|
|
glyph(punctuation, "«", left)
|
|
glyph(punctuation, ".")
|
|
glyph(punctuation, "»", right)
|
|
|
|
glyph(numeric, "0", circle)
|
|
glyph(numeric, "1", dash)
|
|
glyph(numeric, "2", vee)
|
|
glyph(numeric, "3", hump)
|
|
glyph(numeric, "4", dash, hump)
|
|
glyph(numeric, "5", vee, hump)
|
|
glyph(numeric, ".", dump)
|
|
}
|
|
|
|
dialect("jukashenikan") {
|
|
replace("x", "ç")
|
|
replace("p", "j")
|
|
// ...
|
|
}
|
|
|
|
dialect("gazhenigan") {
|
|
replace("k", "g")
|
|
replace("∫", "ʒ")
|
|
replace("s", "z")
|
|
replace("θ", "ð")
|
|
replace("t", "d")
|
|
// ...
|
|
}
|
|
|
|
romanization {
|
|
// TODO
|
|
}
|
|
|
|
dictionary {
|
|
// TODO
|
|
}
|