mirror of
https://github.com/curioustorvald/Terrarum-sans-bitmap.git
synced 2026-03-14 23:16:08 +09:00
impl of georgian mtavruli
This commit is contained in:
@@ -34,7 +34,7 @@ How multilingual? Real multilingual!
|
|||||||
Victor jagt zwölf Boxkämpfer quer über den großen Sylter Deich
|
Victor jagt zwölf Boxkämpfer quer über den großen Sylter Deich
|
||||||
ζαφείρι δέξου πάγκαλο, βαθων ψυχης το σημα
|
ζαφείρι δέξου πάγκαλο, βαθων ψυχης το σημα
|
||||||
ΔΙΑΦΥΛΆΞΤΕ ΓΕΝΙΚΆ ΤΗ ΖΩΉ ΣΑΣ ΑΠΌ ΒΑΘΕΙΆ ΨΥΧΙΚΆ ΤΡΑΎΜΑΤΑ
|
ΔΙΑΦΥΛΆΞΤΕ ΓΕΝΙΚΆ ΤΗ ΖΩΉ ΣΑΣ ΑΠΌ ΒΑΘΕΙΆ ΨΥΧΙΚΆ ΤΡΑΎΜΑΤΑ
|
||||||
სწრაფი ყავისფერი მელა გადაახტა ზარმაც ძაღლს
|
სწრაფი ყავისფერი მელა გადაახტა ზარმაც ძაღლს ᲘᲜᲢᲔᲚ ᲞᲔᲜᲢᲘᲣᲛᲘ ᲛᲘᲙᲠᲝᲞᲠᲝᲪᲔᲡᲝᲠᲘ
|
||||||
ऋषियों को सताने वाले दुष्ट राक्षसों के राजा रावण का सर्वनाश करने वाले विष्णुवतार भगवान श्रीराम अयोध्या के महाराज दशरथ के
|
ऋषियों को सताने वाले दुष्ट राक्षसों के राजा रावण का सर्वनाश करने वाले विष्णुवतार भगवान श्रीराम अयोध्या के महाराज दशरथ के
|
||||||
Kæmi ný öxi hér, ykist þjófum nú bæði víl og ádrepa
|
Kæmi ný öxi hér, ykist þjófum nú bæði víl og ádrepa
|
||||||
Ꝺꝼuaꞅcail Íoꞅa Úꞃṁac na hÓiᵹe Beannaiꞇe póꞃ Éaḃa aᵹus Áꝺaiṁ
|
Ꝺꝼuaꞅcail Íoꞅa Úꞃṁac na hÓiᵹe Beannaiꞇe póꞃ Éaḃa aᵹus Áꝺaiṁ
|
||||||
@@ -90,9 +90,9 @@ How multilingual? Real multilingual!
|
|||||||
Unicode References:
|
Unicode References:
|
||||||
|
|
||||||
Basic Latin Latin-1 Latin Extension A Latin Extionsion B IPA Extension Greek Cyrillic
|
Basic Latin Latin-1 Latin Extension A Latin Extionsion B IPA Extension Greek Cyrillic
|
||||||
Cyrillic Supplement Armenian Devanagari Thai Georgian Runic Cherokee General Punctuations
|
Cyrillic Supplement Armenian Devanagari Thai Georgian Runic Cherokee Georgian Extended
|
||||||
CJK Symbols Kana Kana Phonetic Extension CJK Unihan Extension A CJK Unihan Hangul Syllables
|
General Punctuations CJK Symbols Kana Kana Phonetic Extension CJK Unihan Extension A CJK Unihan
|
||||||
Fullwidth Forms Kana Supplement
|
Hangul Syllables Fullwidth Forms Kana Supplement
|
||||||
|
|
||||||
GitHub’s issue page is open! You can report any errors, or leave suggestions.
|
GitHub’s issue page is open! You can report any errors, or leave suggestions.
|
||||||
You can help this font to be more versatile. (for more languages, more frameworks) Clone this repo, make
|
You can help this font to be more versatile. (for more languages, more frameworks) Clone this repo, make
|
||||||
|
|||||||
Binary file not shown.
BIN
demo.PNG
BIN
demo.PNG
Binary file not shown.
|
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 116 KiB |
@@ -138,6 +138,7 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
|
|||||||
private fun isCherokee(c: Int) = c in codeRange[SHEET_TSALAGI_VARW]
|
private fun isCherokee(c: Int) = c in codeRange[SHEET_TSALAGI_VARW]
|
||||||
private fun isInsular(c: Int) = c == 0x1D79 || c in 0xA779..0xA787
|
private fun isInsular(c: Int) = c == 0x1D79 || c in 0xA779..0xA787
|
||||||
private fun isNagariBengali(c: Int) = c in codeRange[SHEET_NAGARI_BENGALI_VARW]
|
private fun isNagariBengali(c: Int) = c in codeRange[SHEET_NAGARI_BENGALI_VARW]
|
||||||
|
private fun isKartvelianCaps(c: Int) = c in codeRange[SHEET_KARTULI_CAPS_VARW]
|
||||||
|
|
||||||
|
|
||||||
private fun extAindexX(c: Int) = (c - 0x100) % 16
|
private fun extAindexX(c: Int) = (c - 0x100) % 16
|
||||||
@@ -202,6 +203,9 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
|
|||||||
private fun nagariIndexX(c: Int) = (c - 0x900) % 16
|
private fun nagariIndexX(c: Int) = (c - 0x900) % 16
|
||||||
private fun nagariIndexY(c: Int) = (c - 0x900) / 16
|
private fun nagariIndexY(c: Int) = (c - 0x900) / 16
|
||||||
|
|
||||||
|
private fun kartvelianCapsIndexX(c: Int) = (c - 0x1C90) % 16
|
||||||
|
private fun kartvelianCapsIndexY(c: Int) = (c - 0x1C90) / 16
|
||||||
|
|
||||||
|
|
||||||
private fun getColour(codePoint: Int): Color { // input: 0x10ARGB, out: RGBA8888
|
private fun getColour(codePoint: Int): Color { // input: 0x10ARGB, out: RGBA8888
|
||||||
if (colourBuffer.containsKey(codePoint))
|
if (colourBuffer.containsKey(codePoint))
|
||||||
@@ -241,7 +245,8 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
|
|||||||
SHEET_SERBIAN_VARW,
|
SHEET_SERBIAN_VARW,
|
||||||
SHEET_TSALAGI_VARW,
|
SHEET_TSALAGI_VARW,
|
||||||
SHEET_INSUAR_VARW,
|
SHEET_INSUAR_VARW,
|
||||||
SHEET_NAGARI_BENGALI_VARW
|
SHEET_NAGARI_BENGALI_VARW,
|
||||||
|
SHEET_KARTULI_CAPS_VARW
|
||||||
)
|
)
|
||||||
|
|
||||||
private val fontParentDir = if (fontDir.endsWith('/') || fontDir.endsWith('\\')) fontDir else "$fontDir/"
|
private val fontParentDir = if (fontDir.endsWith('/') || fontDir.endsWith('\\')) fontDir else "$fontDir/"
|
||||||
@@ -268,7 +273,8 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
|
|||||||
"cyrilic_serbian_variable.tga",
|
"cyrilic_serbian_variable.tga",
|
||||||
"tsalagi_variable.tga",
|
"tsalagi_variable.tga",
|
||||||
"insular_variable.tga",
|
"insular_variable.tga",
|
||||||
"devanagari_bengali_variable.tga"
|
"devanagari_bengali_variable.tga",
|
||||||
|
"kartuli_allcaps_variable.tga"
|
||||||
)
|
)
|
||||||
private val codeRange = arrayOf( // MUST BE MATCHING WITH SHEET INDICES!!
|
private val codeRange = arrayOf( // MUST BE MATCHING WITH SHEET INDICES!!
|
||||||
0..0xFF,
|
0..0xFF,
|
||||||
@@ -293,7 +299,8 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
|
|||||||
0xF00060..0xF000BF, // assign them to PUA
|
0xF00060..0xF000BF, // assign them to PUA
|
||||||
0x13A0..0x13F5,
|
0x13A0..0x13F5,
|
||||||
0xA770..0xA787,
|
0xA770..0xA787,
|
||||||
0x900..0x9FF
|
0x900..0x9FF,
|
||||||
|
0x1C90..0x1CBF
|
||||||
)
|
)
|
||||||
private val glyphProps: HashMap<Int, GlyphProps> = HashMap()
|
private val glyphProps: HashMap<Int, GlyphProps> = HashMap()
|
||||||
private val sheets: Array<TextureRegionPack>
|
private val sheets: Array<TextureRegionPack>
|
||||||
@@ -711,6 +718,8 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
|
|||||||
return SHEET_INSUAR_VARW
|
return SHEET_INSUAR_VARW
|
||||||
else if (isNagariBengali(c))
|
else if (isNagariBengali(c))
|
||||||
return SHEET_NAGARI_BENGALI_VARW
|
return SHEET_NAGARI_BENGALI_VARW
|
||||||
|
else if (isKartvelianCaps(c))
|
||||||
|
return SHEET_KARTULI_CAPS_VARW
|
||||||
else
|
else
|
||||||
return SHEET_UNKNOWN
|
return SHEET_UNKNOWN
|
||||||
// fixed width
|
// fixed width
|
||||||
@@ -800,6 +809,10 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
|
|||||||
sheetX = nagariIndexX(ch)
|
sheetX = nagariIndexX(ch)
|
||||||
sheetY = nagariIndexY(ch)
|
sheetY = nagariIndexY(ch)
|
||||||
}
|
}
|
||||||
|
SHEET_KARTULI_CAPS_VARW -> {
|
||||||
|
sheetX = kartvelianCapsIndexX(ch)
|
||||||
|
sheetY = kartvelianCapsIndexY(ch)
|
||||||
|
}
|
||||||
else -> {
|
else -> {
|
||||||
sheetX = ch % 16
|
sheetX = ch % 16
|
||||||
sheetY = ch / 16
|
sheetY = ch / 16
|
||||||
@@ -1005,6 +1018,7 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
|
|||||||
internal val SHEET_TSALAGI_VARW = 20
|
internal val SHEET_TSALAGI_VARW = 20
|
||||||
internal val SHEET_INSUAR_VARW = 21
|
internal val SHEET_INSUAR_VARW = 21
|
||||||
internal val SHEET_NAGARI_BENGALI_VARW=22
|
internal val SHEET_NAGARI_BENGALI_VARW=22
|
||||||
|
internal val SHEET_KARTULI_CAPS_VARW = 23
|
||||||
|
|
||||||
internal val SHEET_UNKNOWN = 254
|
internal val SHEET_UNKNOWN = 254
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user