diff --git a/OTFbuild/font_builder.py b/OTFbuild/font_builder.py index 441b282..36b9e09 100644 --- a/OTFbuild/font_builder.py +++ b/OTFbuild/font_builder.py @@ -28,7 +28,7 @@ from keming_machine import generate_kerning_pairs from opentype_features import generate_features, glyph_name import sheet_config as SC -FONT_VERSION = "1.15" +FONT_VERSION = "1.16" # Codepoints that get cmap entries (user-visible) # PUA forms used internally by GSUB get glyphs but NO cmap entries diff --git a/OTFbuild/sheet_config.py b/OTFbuild/sheet_config.py index 54e3095..2c40867 100644 --- a/OTFbuild/sheet_config.py +++ b/OTFbuild/sheet_config.py @@ -79,6 +79,7 @@ SHEET_LATIN_EXTE_VARW = 45 SHEET_LATIN_EXTF_VARW = 46 SHEET_LATIN_EXTG_VARW = 47 SHEET_OGHAM_VARW = 48 +SHEET_COPTIC_VARW = 49 SHEET_UNKNOWN = 254 @@ -132,6 +133,7 @@ FILE_LIST = [ "latinExtF_variable.tga", "latinExtG_variable.tga", "ogham_variable.tga", + "coptic_variable.tga", ] CODE_RANGE = [ @@ -184,6 +186,7 @@ CODE_RANGE = [ list(range(0x10780, 0x107C0)), # 46: Latin Ext F list(range(0x1DF00, 0x1E000)), # 47: Latin Ext G list(range(0x1680, 0x16A0)), # 48: Ogham + list(range(0x2C80, 0x2D00)), # 49: Coptic ] CODE_RANGE_HANGUL_COMPAT = range(0x3130, 0x3190) @@ -567,5 +570,6 @@ def index_y(sheet_index, c): SHEET_LATIN_EXTF_VARW: lambda: (c - 0x10780) // 16, SHEET_LATIN_EXTG_VARW: lambda: (c - 0x1DF00) // 16, SHEET_OGHAM_VARW: lambda: (c - 0x1680) // 16, + SHEET_COPTIC_VARW: lambda: (c - 0x2C80) // 16, SHEET_HANGUL: lambda: 0, }.get(sheet_index, lambda: c // 16)() diff --git a/demo.PNG b/demo.PNG index 9045c8d..299c6bc 100644 Binary files a/demo.PNG and b/demo.PNG differ diff --git a/demotext_unaligned.txt b/demotext_unaligned.txt index 5d8ba7d..e8d4af3 100755 --- a/demotext_unaligned.txt +++ b/demotext_unaligned.txt @@ -26,6 +26,7 @@ How multilingual? Real multilingual! 􏻬󿿁Под южно дърво, цъфтящо в синьо, бягаше малко пухкаво зайче󿿀􀀀 􏻬ᎠᏍᎦᏯᎡᎦᎢᎾᎨᎢᎣᏍᏓᎤᎩᏍᏗᎥᎴᏓᎯᎲᎢᏔᎵᏕᎦᏟᏗᏖᎸᎳᏗᏗᎧᎵᎢᏘᎴᎩ ᏙᏱᏗᏜᏫᏗᏣᏚᎦᏫᏛᏄᏓᎦᏝᏃᎠᎾᏗᎭᏞᎦᎯᎦᏘᏓᏠᎨᏏᏕᏡᎬᏢᏓᏥᏩᏝᎡᎢᎪᎢ ᎠᎦᏂᏗᎮᎢᎫᎩᎬᏩᎴᎢᎠᏆᏅᏛᎫᏊᎾᎥᎠᏁᏙᎲᏐᏈᎵᎤᎩᎸᏓᏭᎷᏤᎢᏏᏉᏯᏌᏊ ᎤᏂᏋᎢᏡᎬᎢᎰᏩᎬᏤᎵᏍᏗᏱᎩᎱᎱᎤᎩᎴᎢᏦᎢᎠᏂᏧᏣᏨᎦᏥᎪᎥᏌᏊᎤᎶᏒᎢᎢᏡᎬᎢ ᎹᎦᎺᎵᏥᎻᎼᏏᎽᏗᏩᏂᎦᏘᎾᎿᎠᏁᎬᎢᏅᎩᎾᏂᎡᎢᏌᎶᎵᏎᎷᎠᏑᏍᏗᏪᎩ ᎠᎴ ᏬᏗᏲᏭᎾᏓᏍᏓᏴᏁᎢᎤᎦᏅᏮᏰᎵᏳᏂᎨᎢ􀀀 􏻬Ѳеѡфа́нъ и҆ Алеѯі́й, ѕѣлѡ̀ возлюби́вше ѱалти́рь, воспѣ́ша при свѣ́тѣ ѕвѣ́здъ, помазꙋ́юще сщ҃е́нное мѵ́ро; серафими мн̑оꙮ҆читїи̑, ꙗ҆́кѡ ѻ҆́гнь, ѡ҆крꙋжа́хꙋ прⷭ҇то́лъ Бж҃їй, и҆ всѧ̀ землѧ̀ и҆спо́лнисѧ свѣ́та, ꙗ҆́кѡ ѕмі́й попра́нъ є҆́сть􀀀 +􏻬ⲡⲓⲝⲉⲛⲟⲥ ⲅⲁⲣ ⲁϥϫⲉⲙ ⲟⲩⲫⲱⲥ ϧⲉⲛ ⲡⲓⲍⲏⲗⲟⲥ ⲛⲧⲉ ϯⲯⲩⲭⲏ· ⲁϥϣⲱⲡⲓ ⲇⲉ ⲕⲁⲧⲁ ⲡⲓⲑⲉⲗⲏⲙⲁ· ⲁϥϭⲓ ⲛϩⲱⲃ ⲛⲓⲃⲉⲛ ⲟⲩⲟϩ ⲁϥϯⲙⲟⲧ􀀀 􏻬Příliš žluťoučký kůň úpěl ďábelské ódy􀀀 􏻬Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen Walther spillede på xylofon􀀀 􏻬PACK MY BOX WITH FIVE DOZEN LIQUOR JUGS􀀀 @@ -125,6 +126,7 @@ How multilingual? Real multilingual! ⁃ CJK Unified Ideographs Extension A􏿆¹²·¹􀀀 ⁃ Combining Diacritical Marks ⁃ Control Pictures +⁃ Coptic ⁃ Currency Symbols ⁃ Cyrillic ⁃ Cyrillic Supplement diff --git a/src/assets/coptic_variable.tga b/src/assets/coptic_variable.tga new file mode 100644 index 0000000..3789f07 --- /dev/null +++ b/src/assets/coptic_variable.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2dac06c68e1f179a56f61561bd7ad69b6ae79ede50e116ffdf30cac389c63525 +size 163858 diff --git a/src/assets/cyrilic_bulgarian_variable.tga b/src/assets/cyrilic_bulgarian_variable.tga index 1cf4a14..e32cadc 100755 --- a/src/assets/cyrilic_bulgarian_variable.tga +++ b/src/assets/cyrilic_bulgarian_variable.tga @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e6d5079e76b4e8acd64da5bc47186e470e6955e1b42f5c9ee2fe055c741a1fb7 +oid sha256:97e016f29af22935ca859441dc1f9cbaa5bce891cba51972c804e0d1b6b8b1f6 size 122898 diff --git a/src/assets/cyrilic_variable.tga b/src/assets/cyrilic_variable.tga index e6a7a44..d701e1f 100755 --- a/src/assets/cyrilic_variable.tga +++ b/src/assets/cyrilic_variable.tga @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c7dc2dbf71a4e8a81f11290294d6379863e8b9e79073e99d35f51e2fe5f26ee4 +oid sha256:69cba59d4b01726ba07c136b977ba8d85c22fcf82bd48b3c7110598329089d65 size 389138 diff --git a/src/assets/diacritical_marks_variable.tga b/src/assets/diacritical_marks_variable.tga index 0446632..678bc7f 100755 --- a/src/assets/diacritical_marks_variable.tga +++ b/src/assets/diacritical_marks_variable.tga @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3aefd6744c3e878b9aae1ff70adad718deb896874bf7a3782215f5da7ce47ff6 +oid sha256:a0ec77c0fd824d686d5b864cbf0077640a55a673f7a4cfadac2c0443aacfb38f size 143378 diff --git a/src/assets/greek_variable.tga b/src/assets/greek_variable.tga index 163d2ee..7310a2e 100755 --- a/src/assets/greek_variable.tga +++ b/src/assets/greek_variable.tga @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9f1e9fc39188c45ffb9e612eaaf5bcd9b7d1f6320dfb5ca3b20e723748f0428e +oid sha256:7cc41b76991d2a3a0620f5f8e5d78d064fee498b39f514bf1144dce2d6546950 size 184338 diff --git a/src/net/torvald/terrarumsansbitmap/gdx/TerrarumSansBitmap.kt b/src/net/torvald/terrarumsansbitmap/gdx/TerrarumSansBitmap.kt index 54b98cb..8ed8421 100755 --- a/src/net/torvald/terrarumsansbitmap/gdx/TerrarumSansBitmap.kt +++ b/src/net/torvald/terrarumsansbitmap/gdx/TerrarumSansBitmap.kt @@ -882,6 +882,7 @@ class TerrarumSansBitmap( SHEET_LATIN_EXTF_VARW -> latinExtFIndexY(ch) SHEET_LATIN_EXTG_VARW -> latinExtGIndexY(ch) SHEET_OGHAM_VARW -> oghamIndexY(ch) + SHEET_COPTIC_VARW -> copticIndexY(ch) else -> ch / 16 } @@ -2614,6 +2615,7 @@ class TerrarumSansBitmap( internal const val SHEET_LATIN_EXTF_VARW = 46 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_UNKNOWN = 254 @@ -2685,6 +2687,7 @@ class TerrarumSansBitmap( "latinExtF_variable.tga", "latinExtG_variable.tga", "ogham_variable.tga", + "coptic_variable.tga", ) internal val codeRange = arrayOf( // MUST BE MATCHING WITH SHEET INDICES!! 0..0xFF, // SHEET_ASCII_VARW @@ -2736,6 +2739,7 @@ class TerrarumSansBitmap( 0x10780..0x107BF, // SHEET_LATIN_EXTF_VARW 0x1DF00..0x1DFFF, // SHEET_LATIN_EXTG_VARW 0x1680..0x169F, // SHEET_OGHAM_VARW + 0x2C80..0x2CFF, // SHEET_COPTIC_VARW ) private val codeRangeHangulCompat = 0x3130..0x318F @@ -3095,6 +3099,7 @@ class TerrarumSansBitmap( private fun latinExtFIndexY(c: CodePoint) = (c - 0x10780) / 16 private fun latinExtGIndexY(c: CodePoint) = (c - 0x1DF00) / 16 private fun oghamIndexY(c: CodePoint) = (c - 0x1680) / 16 + private fun copticIndexY(c: CodePoint) = (c - 0x2C80) / 16 val charsetOverrideDefault = Character.toChars(CHARSET_OVERRIDE_DEFAULT).toSurrogatedString() val charsetOverrideBulgarian = Character.toChars(CHARSET_OVERRIDE_BG_BG).toSurrogatedString() diff --git a/work_files/coptic_variable.kra b/work_files/coptic_variable.kra new file mode 100644 index 0000000..4644605 --- /dev/null +++ b/work_files/coptic_variable.kra @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f410e0567dcd76ce25d4f823a8c0d32ff249dc2b0d40cfe69233812f4361511 +size 51717 diff --git a/work_files/cyrilic_bulgarian_variable.psd b/work_files/cyrilic_bulgarian_variable.psd index fea0099..a31eb66 100644 --- a/work_files/cyrilic_bulgarian_variable.psd +++ b/work_files/cyrilic_bulgarian_variable.psd @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:801dd965ae07b23b782a92062fef5bce1a3902cdd2a3b4d65113dfbeff811b2c -size 115026 +oid sha256:b3ecf48896675ac189cec03e4b942cbaffc83c3f00e92b4f067125b76faf1031 +size 115019 diff --git a/work_files/cyrilic_variable.psd b/work_files/cyrilic_variable.psd index 2329adc..e0c1219 100644 --- a/work_files/cyrilic_variable.psd +++ b/work_files/cyrilic_variable.psd @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ecc52281ecc896027a21c045f6e4b321b55a46688f145257bd64d3f5f9fceb42 -size 445138 +oid sha256:202bea4772ab1ac1208fc18dd7aacdfa49ea44e4676e2f97519c729461a5fd24 +size 445192 diff --git a/work_files/diacritical_marks_variable.psd b/work_files/diacritical_marks_variable.psd index b691f36..adaea5a 100644 --- a/work_files/diacritical_marks_variable.psd +++ b/work_files/diacritical_marks_variable.psd @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:075f8294328a4559adb54537f707241fb87c4c865fb19dde848d4da2e24d6b9c -size 132446 +oid sha256:708eead7b7c9885ffae4edebf5ef7d91f5f97669367042ef80db73b2cb9042d5 +size 134797 diff --git a/work_files/greek_variable.psd b/work_files/greek_variable.psd index 76df846..1ad4cee 100644 --- a/work_files/greek_variable.psd +++ b/work_files/greek_variable.psd @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:eaf4fc10936668836708e6350a590682b7b97543d0d3319c50da2165b2ee39cb -size 211085 +oid sha256:a3d333d47d6e771d005a7466d9fbaa37954fcbcf5cba7f739ede3560974dadc2 +size 211066