diff --git a/OTFbuild/sheet_config.py b/OTFbuild/sheet_config.py index 2c40867..f56d0bb 100644 --- a/OTFbuild/sheet_config.py +++ b/OTFbuild/sheet_config.py @@ -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)() diff --git a/demo.PNG b/demo.PNG index 36277fa..cb38ddf 100644 Binary files a/demo.PNG and b/demo.PNG differ diff --git a/demotext_unaligned.txt b/demotext_unaligned.txt index c484a26..e91f44c 100755 --- a/demotext_unaligned.txt +++ b/demotext_unaligned.txt @@ -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 diff --git a/src/assets/cyrilic_extD_variable.tga b/src/assets/cyrilic_extD_variable.tga new file mode 100644 index 0000000..a00f918 --- /dev/null +++ b/src/assets/cyrilic_extD_variable.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:852b46922b8813212238e9cb3b21ce751f6e7e0171f35a665e30333142b217c0 +size 122898 diff --git a/src/net/torvald/terrarumsansbitmap/gdx/TerrarumSansBitmap.kt b/src/net/torvald/terrarumsansbitmap/gdx/TerrarumSansBitmap.kt index 8ed8421..a80d239 100755 --- a/src/net/torvald/terrarumsansbitmap/gdx/TerrarumSansBitmap.kt +++ b/src/net/torvald/terrarumsansbitmap/gdx/TerrarumSansBitmap.kt @@ -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() diff --git a/work_files/cyrilic_extB_variable.kra b/work_files/cyrilic_extB_variable.kra index 8c24b1d..450692b 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:2887232599d756daf371144311b5a30dc3a624a77e5aeb2ad1553ea38a9ef9e3 -size 58593 +oid sha256:77e24daa1ff12d7ad2dbbbd3b6fb8f1e5f700a17a8219c49c3706936b5bae500 +size 58707 diff --git a/work_files/cyrilic_extD_variable.kra b/work_files/cyrilic_extD_variable.kra new file mode 100644 index 0000000..930a5e2 --- /dev/null +++ b/work_files/cyrilic_extD_variable.kra @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7a1cc239ca8f7c5b6977d556aa6c526fd5713fa816ae3a6003e14f957994958 +size 45393 diff --git a/work_files/maths1_extrawide_variable.kra b/work_files/maths1_extrawide_variable.kra index 90ffcce..e6581e5 100644 --- a/work_files/maths1_extrawide_variable.kra +++ b/work_files/maths1_extrawide_variable.kra @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:91d5329cd1e5cbe72dea9d18ba998d7a22bef2c0177c4b4f01801c70e2defcd6 -size 73843 +oid sha256:7cd07e6efd7098989ae181c8b190a70ef717f0d8576a07c845050a93d8c17d72 +size 94381