diff --git a/OTFbuild/sheet_config.py b/OTFbuild/sheet_config.py index c35673e..e21e709 100644 --- a/OTFbuild/sheet_config.py +++ b/OTFbuild/sheet_config.py @@ -74,6 +74,7 @@ SHEET_CONTROL_PICTURES_VARW = 40 SHEET_LEGACY_COMPUTING_VARW = 41 SHEET_CYRILIC_EXTB_VARW = 42 SHEET_CYRILIC_EXTA_VARW = 43 +SHEET_CYRILIC_EXTC_VARW = 44 SHEET_UNKNOWN = 254 @@ -122,6 +123,7 @@ FILE_LIST = [ "symbols_for_legacy_computing_variable.tga", "cyrilic_extB_variable.tga", "cyrilic_extA_variable.tga", + "cyrilic_extC_variable.tga", ] CODE_RANGE = [ @@ -169,6 +171,7 @@ CODE_RANGE = [ list(range(0x1FB00, 0x1FC00)), # 41: Legacy Computing list(range(0xA640, 0xA6A0)), # 42: Cyrillic Ext B list(range(0x2DE0, 0x2E00)), # 43: Cyrillic Ext A + list(range(0x1C80, 0x1C8F)), # 43: Cyrillic Ext C ] CODE_RANGE_HANGUL_COMPAT = range(0x3130, 0x3190) @@ -547,5 +550,6 @@ def index_y(sheet_index, c): SHEET_LEGACY_COMPUTING_VARW: lambda: (c - 0x1FB00) // 16, SHEET_CYRILIC_EXTB_VARW: lambda: (c - 0xA640) // 16, SHEET_CYRILIC_EXTA_VARW: lambda: (c - 0x2DE0) // 16, + SHEET_CYRILIC_EXTC_VARW: lambda: (c - 0x1C80) // 16, SHEET_HANGUL: lambda: 0, }.get(sheet_index, lambda: c // 16)() diff --git a/demo.PNG b/demo.PNG index 2477146..52a6834 100644 Binary files a/demo.PNG and b/demo.PNG differ diff --git a/demotext_unaligned.txt b/demotext_unaligned.txt index 7684643..8e771f5 100755 --- a/demotext_unaligned.txt +++ b/demotext_unaligned.txt @@ -127,8 +127,7 @@ How multilingual? Real multilingual! ⁃ Currency Symbols ⁃ Cyrillic ⁃ Cyrillic Supplement -⁃ Cyrillic Extended-A -⁃ Cyrillic Extended-B +⁃ Cyrillic Extended-A/B/C ⁃ Devanagari ⁃ Enclosed Alphanumeric Supplement ⁃ General Punctuations diff --git a/src/assets/cyrilic_extB_variable.tga b/src/assets/cyrilic_extB_variable.tga index 3ffca9e..a02f816 100644 --- a/src/assets/cyrilic_extB_variable.tga +++ b/src/assets/cyrilic_extB_variable.tga @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3f05f970173f7c2c830e7567a21fe18691f31205565296c429ecb60f0344e7f6 +oid sha256:4755fd5ae329c3a73f4c87b95c0159276e09373b6be2f1a3fbef2aec731d5e76 size 122898 diff --git a/src/assets/cyrilic_extC_variable.tga b/src/assets/cyrilic_extC_variable.tga new file mode 100644 index 0000000..1186267 --- /dev/null +++ b/src/assets/cyrilic_extC_variable.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:888d0f6c4de9874cc493d037b8724e7f25218f1b17d6b4b0a99bbbf3952ba30a +size 20498 diff --git a/src/net/torvald/terrarumsansbitmap/gdx/TerrarumSansBitmap.kt b/src/net/torvald/terrarumsansbitmap/gdx/TerrarumSansBitmap.kt index ba32f84..281c783 100755 --- a/src/net/torvald/terrarumsansbitmap/gdx/TerrarumSansBitmap.kt +++ b/src/net/torvald/terrarumsansbitmap/gdx/TerrarumSansBitmap.kt @@ -890,6 +890,7 @@ class TerrarumSansBitmap( SHEET_LEGACY_COMPUTING_VARW -> legacyComputingIndexY(ch) SHEET_CYRILIC_EXTB_VARW -> cyrilicExtBIndexY(ch) SHEET_CYRILIC_EXTA_VARW -> cyrilicExtAIndexY(ch) + SHEET_CYRILIC_EXTC_VARW -> cyrilicExtCIndexY(ch) else -> ch / 16 } @@ -2615,6 +2616,7 @@ class TerrarumSansBitmap( internal const val SHEET_LEGACY_COMPUTING_VARW = 41 internal const val SHEET_CYRILIC_EXTB_VARW = 42 internal const val SHEET_CYRILIC_EXTA_VARW = 43 + internal const val SHEET_CYRILIC_EXTC_VARW = 44 internal const val SHEET_UNKNOWN = 254 @@ -2727,6 +2729,7 @@ class TerrarumSansBitmap( 0x1FB00..0x1FBFF, // SHEET_LEGACY_COMPUTING_VARW 0xA640..0xA69F, // SHEET_CYRILIC_EXTB_VARW 0x2DE0..0x2DFF, // SHEET_CYRILIC_EXTA_VARW + 0x1C80..0x1C8F, // SHEET_CYRILIC_EXTC_VARW ) private val codeRangeHangulCompat = 0x3130..0x318F @@ -3079,6 +3082,7 @@ class TerrarumSansBitmap( private fun legacyComputingIndexY(c: CodePoint) = (c - 0x1FB00) / 16 private fun cyrilicExtBIndexY(c: CodePoint) = (c - 0xA640) / 16 private fun cyrilicExtAIndexY(c: CodePoint) = (c - 0x2DE0) / 16 + private fun cyrilicExtCIndexY(c: CodePoint) = (c - 0x1C80) / 16 val charsetOverrideDefault = Character.toChars(CHARSET_OVERRIDE_DEFAULT).toSurrogatedString() val charsetOverrideBulgarian = Character.toChars(CHARSET_OVERRIDE_BG_BG).toSurrogatedString() diff --git a/work_files/cyrilic_extB_variable.kra b/work_files/cyrilic_extB_variable.kra index e3e418d..b89fd7f 100644 --- a/work_files/cyrilic_extB_variable.kra +++ b/work_files/cyrilic_extB_variable.kra @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5517e2520430cda3026b47df735d1068ec3bc2e3a0f625902200e76394d2c957 -size 60185 +oid sha256:eb6b2b248f480a6921d0ad57597d565b3edc27b6a71e8673b70740c5441cbe42 +size 60189 diff --git a/work_files/cyrilic_extC_variable.kra b/work_files/cyrilic_extC_variable.kra new file mode 100644 index 0000000..9263f0a --- /dev/null +++ b/work_files/cyrilic_extC_variable.kra @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8512f6ca9230847ecc9adb7dbd22ad245e33c290c5460fc95dc41b4f59081cdd +size 42728