mirror of
https://github.com/curioustorvald/Terrarum-sans-bitmap.git
synced 2026-03-07 11:51:50 +09:00
support for symbols for legacy computing (unicode 17)
This commit is contained in:
@@ -71,6 +71,7 @@ SHEET_CODESTYLE_ASCII_VARW = 37
|
|||||||
SHEET_ALPHABETIC_PRESENTATION_FORMS = 38
|
SHEET_ALPHABETIC_PRESENTATION_FORMS = 38
|
||||||
SHEET_HENTAIGANA_VARW = 39
|
SHEET_HENTAIGANA_VARW = 39
|
||||||
SHEET_CONTROL_PICTURES_VARW = 40
|
SHEET_CONTROL_PICTURES_VARW = 40
|
||||||
|
SHEET_LEGACY_COMPUTING_VARW = 41
|
||||||
|
|
||||||
SHEET_UNKNOWN = 254
|
SHEET_UNKNOWN = 254
|
||||||
|
|
||||||
@@ -116,6 +117,7 @@ FILE_LIST = [
|
|||||||
"alphabetic_presentation_forms_extrawide_variable.tga",
|
"alphabetic_presentation_forms_extrawide_variable.tga",
|
||||||
"hentaigana_variable.tga",
|
"hentaigana_variable.tga",
|
||||||
"control_pictures_variable.tga",
|
"control_pictures_variable.tga",
|
||||||
|
"symbols_for_legacy_computing_variable.tga",
|
||||||
]
|
]
|
||||||
|
|
||||||
CODE_RANGE = [
|
CODE_RANGE = [
|
||||||
@@ -160,6 +162,7 @@ CODE_RANGE = [
|
|||||||
list(range(0xFB00, 0xFB18)), # 38: Alphabetic Presentation
|
list(range(0xFB00, 0xFB18)), # 38: Alphabetic Presentation
|
||||||
list(range(0x1B000, 0x1B170)), # 39: Hentaigana
|
list(range(0x1B000, 0x1B170)), # 39: Hentaigana
|
||||||
list(range(0x2400, 0x2440)), # 40: Control Pictures
|
list(range(0x2400, 0x2440)), # 40: Control Pictures
|
||||||
|
list(range(0x1FB00, 0x1FC00)), # 41: Legacy Computing
|
||||||
]
|
]
|
||||||
|
|
||||||
CODE_RANGE_HANGUL_COMPAT = range(0x3130, 0x3190)
|
CODE_RANGE_HANGUL_COMPAT = range(0x3130, 0x3190)
|
||||||
@@ -535,5 +538,6 @@ def index_y(sheet_index, c):
|
|||||||
SHEET_ALPHABETIC_PRESENTATION_FORMS: lambda: (c - 0xFB00) // 16,
|
SHEET_ALPHABETIC_PRESENTATION_FORMS: lambda: (c - 0xFB00) // 16,
|
||||||
SHEET_HENTAIGANA_VARW: lambda: (c - 0x1B000) // 16,
|
SHEET_HENTAIGANA_VARW: lambda: (c - 0x1B000) // 16,
|
||||||
SHEET_CONTROL_PICTURES_VARW: lambda: (c - 0x2400) // 16,
|
SHEET_CONTROL_PICTURES_VARW: lambda: (c - 0x2400) // 16,
|
||||||
|
SHEET_LEGACY_COMPUTING_VARW: lambda: (c - 0x1FB00) // 16,
|
||||||
SHEET_HANGUL: lambda: 0,
|
SHEET_HANGUL: lambda: 0,
|
||||||
}.get(sheet_index, lambda: c // 16)()
|
}.get(sheet_index, lambda: c // 16)()
|
||||||
|
|||||||
BIN
demo.PNG
BIN
demo.PNG
Binary file not shown.
|
Before Width: | Height: | Size: 168 KiB After Width: | Height: | Size: 168 KiB |
@@ -112,12 +112,13 @@ How multilingual? Real multilingual!
|
|||||||
⁃ Latin Extended-A/B/C/D
|
⁃ Latin Extended-A/B/C/D
|
||||||
⁃ Armenian
|
⁃ Armenian
|
||||||
⁃ Bengaliᶠⁱ
|
⁃ Bengaliᶠⁱ
|
||||||
⁃ Braile Patterns
|
⁃ Braille Patterns
|
||||||
⁃ Cherokee⁷
|
⁃ Cherokee⁷
|
||||||
⁃ CJK Symbols and Punctuation
|
⁃ CJK Symbols and Punctuation
|
||||||
⁃ CJK Unified Ideographs⁶
|
⁃ CJK Unified Ideographs⁶
|
||||||
⁃ CJK Unified Ideographs Extension A¹²·¹
|
⁃ CJK Unified Ideographs Extension A¹²·¹
|
||||||
⁃ Combining Diacritical Marks
|
⁃ Combining Diacritical Marks
|
||||||
|
⁃ Control Pictures
|
||||||
⁃ Currency Symbols
|
⁃ Currency Symbols
|
||||||
⁃ Cyrillicᴭ
|
⁃ Cyrillicᴭ
|
||||||
⁃ Cyrillic Supplementᴭ
|
⁃ Cyrillic Supplementᴭ
|
||||||
@@ -148,6 +149,7 @@ How multilingual? Real multilingual!
|
|||||||
⁃ Sundanese
|
⁃ Sundanese
|
||||||
⁃ Sundanese Supplement
|
⁃ Sundanese Supplement
|
||||||
⁃ Superscripts and Subscripts
|
⁃ Superscripts and Subscripts
|
||||||
|
⁃ Symbols for Legacy Computing
|
||||||
⁃ Tamil
|
⁃ Tamil
|
||||||
⁃ Thai
|
⁃ Thai
|
||||||
|
|
||||||
|
|||||||
BIN
src/assets/symbols_for_legacy_computing_variable.tga
LFS
Normal file
BIN
src/assets/symbols_for_legacy_computing_variable.tga
LFS
Normal file
Binary file not shown.
@@ -887,6 +887,7 @@ class TerrarumSansBitmap(
|
|||||||
SHEET_ALPHABETIC_PRESENTATION_FORMS -> alphabeticPresentationFormsY(ch)
|
SHEET_ALPHABETIC_PRESENTATION_FORMS -> alphabeticPresentationFormsY(ch)
|
||||||
SHEET_HENTAIGANA_VARW -> hentaiganaIndexY(ch)
|
SHEET_HENTAIGANA_VARW -> hentaiganaIndexY(ch)
|
||||||
SHEET_CONTROL_PICTURES_VARW -> controlPicturesIndexY(ch)
|
SHEET_CONTROL_PICTURES_VARW -> controlPicturesIndexY(ch)
|
||||||
|
SHEET_LEGACY_COMPUTING_VARW -> legacyComputingIndexY(ch)
|
||||||
else -> ch / 16
|
else -> ch / 16
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2602,6 +2603,7 @@ class TerrarumSansBitmap(
|
|||||||
internal const val SHEET_ALPHABETIC_PRESENTATION_FORMS = 38
|
internal const val SHEET_ALPHABETIC_PRESENTATION_FORMS = 38
|
||||||
internal const val SHEET_HENTAIGANA_VARW = 39
|
internal const val SHEET_HENTAIGANA_VARW = 39
|
||||||
internal const val SHEET_CONTROL_PICTURES_VARW = 40
|
internal const val SHEET_CONTROL_PICTURES_VARW = 40
|
||||||
|
internal const val SHEET_LEGACY_COMPUTING_VARW = 41
|
||||||
|
|
||||||
internal const val SHEET_UNKNOWN = 254
|
internal const val SHEET_UNKNOWN = 254
|
||||||
|
|
||||||
@@ -2669,6 +2671,7 @@ class TerrarumSansBitmap(
|
|||||||
"alphabetic_presentation_forms_extrawide_variable.tga",
|
"alphabetic_presentation_forms_extrawide_variable.tga",
|
||||||
"hentaigana_variable.tga",
|
"hentaigana_variable.tga",
|
||||||
"control_pictures_variable.tga",
|
"control_pictures_variable.tga",
|
||||||
|
"symbols_for_legacy_computing_variable.tga",
|
||||||
)
|
)
|
||||||
internal val codeRange = arrayOf( // MUST BE MATCHING WITH SHEET INDICES!!
|
internal val codeRange = arrayOf( // MUST BE MATCHING WITH SHEET INDICES!!
|
||||||
0..0xFF, // SHEET_ASCII_VARW
|
0..0xFF, // SHEET_ASCII_VARW
|
||||||
@@ -2712,6 +2715,7 @@ class TerrarumSansBitmap(
|
|||||||
0xFB00..0xFB17, // SHEET_ALPHABETIC_PRESENTATION_FORMS
|
0xFB00..0xFB17, // SHEET_ALPHABETIC_PRESENTATION_FORMS
|
||||||
0x1B000..0x1B16F, // SHEET_HENTAIGANA_VARW
|
0x1B000..0x1B16F, // SHEET_HENTAIGANA_VARW
|
||||||
0x2400..0x243F, // SHEET_CONTROL_PICTURES_VARW
|
0x2400..0x243F, // SHEET_CONTROL_PICTURES_VARW
|
||||||
|
0x1FB00..0x1FBFF, // SHEET_LEGACY_COMPUTING_VARW
|
||||||
)
|
)
|
||||||
private val codeRangeHangulCompat = 0x3130..0x318F
|
private val codeRangeHangulCompat = 0x3130..0x318F
|
||||||
|
|
||||||
@@ -3061,6 +3065,7 @@ class TerrarumSansBitmap(
|
|||||||
private fun alphabeticPresentationFormsY(c: CodePoint) = (c - 0xFB00) / 16
|
private fun alphabeticPresentationFormsY(c: CodePoint) = (c - 0xFB00) / 16
|
||||||
private fun hentaiganaIndexY(c: CodePoint) = (c - 0x1B000) / 16
|
private fun hentaiganaIndexY(c: CodePoint) = (c - 0x1B000) / 16
|
||||||
private fun controlPicturesIndexY(c: CodePoint) = (c - 0x2400) / 16
|
private fun controlPicturesIndexY(c: CodePoint) = (c - 0x2400) / 16
|
||||||
|
private fun legacyComputingIndexY(c: CodePoint) = (c - 0x1FB00) / 16
|
||||||
|
|
||||||
val charsetOverrideDefault = Character.toChars(CHARSET_OVERRIDE_DEFAULT).toSurrogatedString()
|
val charsetOverrideDefault = Character.toChars(CHARSET_OVERRIDE_DEFAULT).toSurrogatedString()
|
||||||
val charsetOverrideBulgarian = Character.toChars(CHARSET_OVERRIDE_BG_BG).toSurrogatedString()
|
val charsetOverrideBulgarian = Character.toChars(CHARSET_OVERRIDE_BG_BG).toSurrogatedString()
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user