cyrillic ext d

This commit is contained in:
minjaesong
2026-03-19 16:18:21 +09:00
parent 6c65cfc0a1
commit fb935ab28f
8 changed files with 20 additions and 5 deletions

View File

@@ -80,6 +80,7 @@ SHEET_LATIN_EXTF_VARW = 46
SHEET_LATIN_EXTG_VARW = 47
SHEET_OGHAM_VARW = 48
SHEET_COPTIC_VARW = 49
SHEET_CYRILIC_EXTD_VARW = 50
SHEET_UNKNOWN = 254
@@ -134,6 +135,7 @@ FILE_LIST = [
"latinExtG_variable.tga",
"ogham_variable.tga",
"coptic_variable.tga",
"cyrilic_extD_variable.tga",
]
CODE_RANGE = [
@@ -187,6 +189,7 @@ CODE_RANGE = [
list(range(0x1DF00, 0x1E000)), # 47: Latin Ext G
list(range(0x1680, 0x16A0)), # 48: Ogham
list(range(0x2C80, 0x2D00)), # 49: Coptic
list(range(0x1E030, 0x1E090)), # 50: Cyrillic Ext D
]
CODE_RANGE_HANGUL_COMPAT = range(0x3130, 0x3190)
@@ -571,5 +574,6 @@ def index_y(sheet_index, c):
SHEET_LATIN_EXTG_VARW: lambda: (c - 0x1DF00) // 16,
SHEET_OGHAM_VARW: lambda: (c - 0x1680) // 16,
SHEET_COPTIC_VARW: lambda: (c - 0x2C80) // 16,
SHEET_CYRILIC_EXTD_VARW: lambda: (c - 0x1E030) // 16,
SHEET_HANGUL: lambda: 0,
}.get(sheet_index, lambda: c // 16)()

BIN
demo.PNG

Binary file not shown.

Before

Width:  |  Height:  |  Size: 177 KiB

After

Width:  |  Height:  |  Size: 177 KiB

View File

@@ -130,7 +130,7 @@ How multilingual? Real multilingual!
Currency Symbols
Cyrillic
Cyrillic Supplement
Cyrillic Extended-A/B/C
Cyrillic Extended-A/B/C/D
Devanagari
Enclosed Alphanumeric Supplement
General Punctuations

Binary file not shown.

View File

@@ -883,6 +883,7 @@ class TerrarumSansBitmap(
SHEET_LATIN_EXTG_VARW -> latinExtGIndexY(ch)
SHEET_OGHAM_VARW -> oghamIndexY(ch)
SHEET_COPTIC_VARW -> copticIndexY(ch)
SHEET_CYRILIC_EXTD_VARW -> cyrilicExtDIndexY(ch)
else -> ch / 16
}
@@ -2616,6 +2617,7 @@ class TerrarumSansBitmap(
internal const val SHEET_LATIN_EXTG_VARW = 47
internal const val SHEET_OGHAM_VARW = 48
internal const val SHEET_COPTIC_VARW = 49
internal const val SHEET_CYRILIC_EXTD_VARW = 50
internal const val SHEET_UNKNOWN = 254
@@ -2688,6 +2690,7 @@ class TerrarumSansBitmap(
"latinExtG_variable.tga",
"ogham_variable.tga",
"coptic_variable.tga",
"cyrilic_extD_variable.tga",
)
internal val codeRange = arrayOf( // MUST BE MATCHING WITH SHEET INDICES!!
0..0xFF, // SHEET_ASCII_VARW
@@ -2740,6 +2743,7 @@ class TerrarumSansBitmap(
0x1DF00..0x1DFFF, // SHEET_LATIN_EXTG_VARW
0x1680..0x169F, // SHEET_OGHAM_VARW
0x2C80..0x2CFF, // SHEET_COPTIC_VARW
0x1E030..0x1E08F, // SHEET_CYRILIC_EXTD_VARW
)
private val codeRangeHangulCompat = 0x3130..0x318F
@@ -3100,6 +3104,7 @@ class TerrarumSansBitmap(
private fun latinExtGIndexY(c: CodePoint) = (c - 0x1DF00) / 16
private fun oghamIndexY(c: CodePoint) = (c - 0x1680) / 16
private fun copticIndexY(c: CodePoint) = (c - 0x2C80) / 16
private fun cyrilicExtDIndexY(c: CodePoint) = (c - 0x1E030) / 16
val charsetOverrideDefault = Character.toChars(CHARSET_OVERRIDE_DEFAULT).toSurrogatedString()
val charsetOverrideBulgarian = Character.toChars(CHARSET_OVERRIDE_BG_BG).toSurrogatedString()

Binary file not shown.

Binary file not shown.

Binary file not shown.