From dca8ed7392832648cfec0db43695518af0a993bc Mon Sep 17 00:00:00 2001 From: minjaesong Date: Sat, 28 Jul 2018 04:52:42 +0900 Subject: [PATCH] A wild Cherokee language appeared! --- .idea/workspace.xml | 51 +++++++++--------- FontTestGDX/demotext.txt | 15 +++++- FontTestGDX/lib/TerrarumSansBitmap.jar | Bin 57453 -> 57778 bytes FontTestGDX/src/FontTestGDX.kt | 4 ++ PUA_allocation_chart.xlsx | Bin 0 -> 14400 bytes assets/LatinExtB_variable.tga | Bin 266284 -> 266284 bytes assets/tsalagi_variable.tga | Bin 0 -> 122924 bytes assets/unipunct_variable.tga | Bin 122924 -> 122924 bytes .../terrarumsansbitmap/gdx/GameFontBase.kt | 20 +++++-- 9 files changed, 61 insertions(+), 29 deletions(-) create mode 100644 PUA_allocation_chart.xlsx create mode 100644 assets/tsalagi_variable.tga diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 711d939..d87ff97 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -8,7 +8,10 @@ + + + @@ -29,8 +32,8 @@ - - + + @@ -48,11 +51,11 @@ - + - - + + @@ -63,17 +66,17 @@ - - + + - + - - + + @@ -127,6 +130,7 @@ fun getSh codeRange isHangul + .141 @@ -145,9 +149,9 @@ @@ -422,7 +426,6 @@ - @@ -688,27 +691,27 @@ - + - - + + + + + - - + + - + - - - - - + + diff --git a/FontTestGDX/demotext.txt b/FontTestGDX/demotext.txt index daeb713..ec2da16 100644 --- a/FontTestGDX/demotext.txt +++ b/FontTestGDX/demotext.txt @@ -26,6 +26,9 @@ How multilingual? Real multilingual! Գրիչս վայր դրի, վեր կացա և պատրաստվում էի, որ քնեմ, երբ հանկարծ դռանս զանգակը հնչեց Zəfər, jaketini də papağını da götür, bu axşam hava çox soyuq olacaq 󿿹Под южно дърво, цъфтящо в синьо, бягаше малко пухкаво зайче󿿸 + ᎠᏍᎦᏯᎡᎦᎢᎾᎨᎢᎣᏍᏓᎤᎩᏍᏗᎥᎴᏓᎯᎲᎢᏔᎵᏕᎦᏟᏗᏖᎸᎳᏗᏗᎧᎵᎢᏘᎴᎩ ᏙᏱᏗᏜᏫᏗᏣᏚᎦᏫᏛᏄᏓᎦᏝᏃᎠᎾᏗᎭᏞᎦᎯᎦᏘᏓᏠᎨᏏᏕᏡᎬᏢᏓᏥᏩᏝᎡᎢᎪᎢ + ᎠᎦᏂᏗᎮᎢᎫᎩᎬᏩᎴᎢᎠᏆᏅᏛᎫᏊᎾᎥᎠᏁᏙᎲᏐᏈᎵᎤᎩᎸᏓᏭᎷᏤᎢᏏᏉᏯᏌᏊ ᎤᏂᏋᎢᏡᎬᎢᎰᏩᎬᏤᎵᏍᏗᏱᎩᎱᎱᎤᎩᎴᎢᏦᎢᎠᏂᏧᏣᏨᎦᏥᎪᎥᏌᏊᎤᎶᏒᎢᎢᏡᎬᎢ + ᎹᎦᎺᎵᏥᎻᎼᏏᎽᏗᏩᏂᎦᏘᎾᎿᎠᏁᎬᎢᏅᎩᎾᏂᎡᎢᏌᎶᎵᏎᎷᎠᏑᏍᏗᏪᎩ ᎠᎴ ᏬᏗᏲᏭᎾᏓᏍᏓᏴᏁᎢᎤᎦᏅᏮᏰᎵᏳᏂᎨᎢ Příliš žluťoučký kůň úpěl ďábelské ódy Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen Walther spillede på xylofon Victor jagt zwölf Boxkämpfer quer über den großen Sylter Deich @@ -73,9 +76,17 @@ Colour-code that supports 65535 opaque or semi-transparent colours via 4 bit ARG Control characters to support Bulgarian and Serbian letter shapes on the fly + Press  to pay respects—or is it , or … + +Custom symbols for video games + + Can you distinguish following dashes: - – — - – — – - ――――――――――― 48–63 48-63 + +For all those dash-pedants, we have en-dash, em-dash, and even horizontal bars! + Unicode References: Basic Latin Latin-1 Latin Extension A Latin Extionsion B IPA Extension Greek Cyrillic Cyrillic Supplement - Armenian Thai Georgian Runic General Punctuations CJK Symbols Kana CJK Unihan Extension A CJK Unihan - Hangul Syllables Fullwidth Forms + Armenian Thai Georgian Runic Cherokee General Punctuations CJK Symbols Kana CJK Unihan Extension A + CJK Unihan Hangul Syllables Fullwidth Forms diff --git a/FontTestGDX/lib/TerrarumSansBitmap.jar b/FontTestGDX/lib/TerrarumSansBitmap.jar index 8fafe34142f2e6decd22041aed88eb0ffd33e3d4..8e8d5300c1f378f4d4cb3abf744ce8fcb0b9858b 100644 GIT binary patch delta 27929 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ℜ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 diff --git a/FontTestGDX/src/FontTestGDX.kt b/FontTestGDX/src/FontTestGDX.kt index a0a3771..c7748ed 100644 --- a/FontTestGDX/src/FontTestGDX.kt +++ b/FontTestGDX/src/FontTestGDX.kt @@ -135,6 +135,10 @@ class FontTestGDX : Game() { println(font.charsetOverrideSerbian) println(font.noColorCode) println(font.toColorCode(0xFFFF)) + + println(0xE026.toChar()) + println(0xE078.toChar()) + println(0xE073.toChar()) } override fun getScreen(): Screen? { diff --git a/PUA_allocation_chart.xlsx b/PUA_allocation_chart.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..9fc9005ad6de11837842d434f25fe48ca664422c GIT binary patch literal 14400 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 literal 0 HcmV?d00001 diff --git a/assets/LatinExtB_variable.tga b/assets/LatinExtB_variable.tga index 7cd6d7eac2c856b6b7e455dfbb15c77bf1ed25d7..06c048ce01e4a85c943aac8562cd2d506c6cf1fc 100644 GIT binary patch delta 895 zcmah{JxCl;5a!L3AVFb60v>n^hgfXjHe7MV1@~YJiz^m#UD7OASfp^_$}8@`DoQ|z znZSr-;lLt=x1gXgLJX0)c=mhBP(`nR&+%JZ?$xes*@=H{X2U^m|snXRRKn z>;|*b@955Y7(T46>sJic2te*=gPv= z$*o29OVz++t@fW1Et>uW^K|wb9Ex^eRkjATw)EuT9sB~azo-V;f1riw(|}iQ!C@T= zzk+YJVPx#-&Q>UVp*xs7o5JL+zv)hLUS-f%+;zBAi326N+Xe?u3T4dRl<$3Tz?XF2 z;EVKGt%dPrK+&~o3j+_+eGB&?P&%i!#4$>))QZ6vv5cZ~ z-Jp|GRiUH+EaU@mwtn7>H_m^uGMehsD7)jAO8i>H$6N6 delta 1062 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 YqV55>a&&94NI-lxQP*+0&;v#(0Fx`89RL6T delta 397 zcmZ2;fPKvY_J%EtH&dqHbY!%de%FyvWV%5rBhTdA`w9?VK`NsJkSDQyZZP8?#*Mlx zOvJLL19db^pBu#J03uqp->qUS;hLxm7D9-FC9x9Afw~xh>cR9z-2;puV~EiRw-dLq z8+AVjA#ed3nwITAn>ZLZ=We!OhRYm)y2Am@9bgwhBq!<~fGfvpH>xbeXA^ZDrwct` GlmY;UyONjy diff --git a/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt b/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt index 8308dde..3997a7c 100644 --- a/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt +++ b/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt @@ -134,6 +134,7 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo private fun isCharsetOverrideHigh(c: Char) = c.toInt() in 0xDFF8..0xDFFF // only works with JVM (which uses UTF-16 internally) private fun isCharsetOverrideLow(c: Char) = c.toInt() == 0xDBBF // only works with JVM (which uses UTF-16 internally) private fun isBulgarian(c: Char) = c.toInt() in 0x400..0x45F + private fun isCherokee(c: Char) = c.toInt() in codeRange[SHEET_TSALAGI_VARW] private fun extAindexX(c: Char) = (c.toInt() - 0x100) % 16 @@ -184,6 +185,9 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo private fun latinExtAddX(c: Char) = (c.toInt() - 0x1E00) % 16 private fun latinExtAddY(c: Char) = (c.toInt() - 0x1E00) / 16 + private fun cherokeeIndexX(c: Char) = (c.toInt() - 0x13A0) % 16 + private fun cherokeeIndexY(c: Char) = (c.toInt() - 0x13A0) / 16 + private fun getColour(charHigh: Char, charLow: Char): Color { // input: 0x10ARGB, out: RGBA8888 val codePoint = Character.toCodePoint(charHigh, charLow) @@ -221,7 +225,8 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo SHEET_IPA_VARW, SHEET_LATIN_EXT_ADD_VARW, SHEET_BULGARIAN_VARW, - SHEET_SERBIAN_VARW + SHEET_SERBIAN_VARW, + SHEET_TSALAGI_VARW ) private val fontParentDir = if (fontDir.endsWith('/') || fontDir.endsWith('\\')) fontDir else "$fontDir/" @@ -245,7 +250,8 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo "latinExt_additional_variable.tga", "puae000-e0ff.tga", "cyrilic_bulgarian_variable.tga", - "cyrilic_serbian_variable.tga" + "cyrilic_serbian_variable.tga", + "tsalagi_variable.tga" ) private val codeRange = arrayOf( // MUST BE MATCHING WITH SHEET INDICES!! 0..0xFF, @@ -267,7 +273,8 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo 0x1E00..0x1EFF, 0xE000..0xE0FF, 0xF00000..0xF0005F, // assign them to PUA - 0xF00060..0xF000BF // assign them to PUA + 0xF00060..0xF000BF, // assign them to PUA + 0x13A0..0x13F5 ) private val glyphWidths: HashMap = HashMap() // if the value is negative, it's diacritics private val sheets: Array @@ -646,6 +653,8 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo return SHEET_RUNIC else if (isLatinExtAdd(c)) return SHEET_LATIN_EXT_ADD_VARW + else if (isCherokee(c)) + return SHEET_TSALAGI_VARW else return SHEET_UNKNOWN // fixed width @@ -723,6 +732,10 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo sheetX = cyrilicIndexX(ch) sheetY = cyrilicIndexY(ch) } + SHEET_TSALAGI_VARW -> { + sheetX = cherokeeIndexX(ch) + sheetY = cherokeeIndexY(ch) + } else -> { sheetX = ch.toInt() % 16 sheetY = ch.toInt() / 16 @@ -823,6 +836,7 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo internal val SHEET_CUSTOM_SYM = 17 internal val SHEET_BULGARIAN_VARW = 18 internal val SHEET_SERBIAN_VARW = 19 + internal val SHEET_TSALAGI_VARW = 20 internal val SHEET_UNKNOWN = 254