latin extended-c

This commit is contained in:
minjaesong
2018-09-10 21:31:00 +09:00
parent b3bfe6035f
commit 0bafde9914
15 changed files with 32 additions and 9 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 KiB

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 320 KiB

After

Width:  |  Height:  |  Size: 320 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 380 KiB

After

Width:  |  Height:  |  Size: 380 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 320 KiB

After

Width:  |  Height:  |  Size: 320 KiB

BIN
demo.PNG

Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 KiB

After

Width:  |  Height:  |  Size: 138 KiB

View File

@@ -105,11 +105,11 @@ How multilingual? Real multilingual!
􏃯Unicode References:􀀀
Basic Latin Latin-1 Latin Extension A Latin Extionsion B IPA Extension Greek Cyrillic
Basic Latin Latin-1 Supplement Latin Extended-A Latin Extended-B IPA Extension Greek Cyrillic
Cyrillic Supplement Armenian Devanagari Bengali Thai Georgian Hangul Jamo Cherokee Runic
Georgian Extended Greek Extended General Punctuations Superscripts and Subscripts CJK Symbols Kana
Kana Phonetic Extension CJK Unihan Extension A CJK Unihan Hangul Jamo Extended-A Hangul Syllables
Hangul Jamo Extended-B Fullwidth Forms Kana Supplement
Georgian Extended Greek Extended General Punctuations Superscripts and Subscripts CJK Symbols
Latin Extended-C Kana Kana Phonetic Extension CJK Unihan Extension A CJK Unihan
Hangul Jamo Extended-A Hangul Syllables Hangul Jamo Extended-B Fullwidth Forms Kana Supplement
GitHubs issue page is open! You can report any 􏽕errors􀀀, or leave 􏽕suggestions􀀀.
You can help this font to be more versatile. (for more languages, more frameworks) 􏽕Clone􀀀 this repo, make

View File

@@ -194,6 +194,7 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
private fun isKartvelianCaps(c: Int) = c in codeRange[SHEET_KARTULI_CAPS_VARW]
private fun isDiacriticalMarks(c: Int) = c in codeRange[SHEET_DIACRITICAL_MARKS_VARW]
private fun isPolytonicGreek(c: Int) = c in codeRange[SHEET_GREEK_POLY_VARW]
private fun isExtC(c: Int) = c in codeRange[SHEET_EXTC_VARW]
private fun isCaps(c: Int) = Character.isUpperCase(c) || isKartvelianCaps(c)
@@ -269,7 +270,10 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
private fun polytonicGreekIndexX(c: Int) = (c - 0x1F00) % 16
private fun polytonicGreekIndexY(c: Int) = (c - 0x1F00) / 16
private val lowHeightLetters = "acegijmnopqrsuvwxyzɱɳʙɾɽʒʂʐʋɹɻɥɟɡɢʛȵɲŋɴʀɕʑçʝxɣχʁʜʍɰʟɨʉɯuʊøɘɵɤəɛœɜɞʌɔæɐɶɑɒɚɝɩɪʅʈʏʞ".toSortedSet()
private fun extCIndexX(c: Int) = (c - 0x2C60) % 16
private fun extCIndexY(c: Int) = (c - 0x2C60) / 16
private val lowHeightLetters = "acegijmnopqrsuvwxyzɱɳʙɾɽʒʂʐʋɹɻɥɟɡɢʛȵɲŋɴʀɕʑçʝxɣχʁʜʍɰʟɨʉɯuʊøɘɵɤəɛœɜɞʌɔæɐɶɑɒɚɝɩɪʅʈʏʞⱥⱦⱱⱳⱴⱶⱷⱸⱺⱻ".toSortedSet()
/**
* lowercase AND the height is equal to x-height (e.g. lowercase B, D, F, H, K, L, ... does not count
*/
@@ -317,7 +321,8 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
SHEET_NAGARI_BENGALI_VARW,
SHEET_KARTULI_CAPS_VARW,
SHEET_DIACRITICAL_MARKS_VARW,
SHEET_GREEK_POLY_VARW
SHEET_GREEK_POLY_VARW,
SHEET_EXTC_VARW
)
private val autoShiftDownOnLowercase = arrayOf(
SHEET_DIACRITICAL_MARKS_VARW
@@ -350,7 +355,8 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
"devanagari_bengali_variable.tga",
"kartuli_allcaps_variable.tga",
"diacritical_marks_variable.tga",
"greek_polytonic_xyswap_variable.tga"
"greek_polytonic_xyswap_variable.tga",
"latinExtC_variable.tga"
)
private val codeRange = arrayOf( // MUST BE MATCHING WITH SHEET INDICES!!
0..0xFF,
@@ -378,7 +384,8 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
0x900..0x9FF,
0x1C90..0x1CBF,
0x300..0x36F,
0x1F00..0x1FFF
0x1F00..0x1FFF,
0x2C60..0x2C7F
)
private val glyphProps: HashMap<Int, GlyphProps> = HashMap()
private val sheets: Array<TextureRegionPack>
@@ -822,6 +829,8 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
return SHEET_DIACRITICAL_MARKS_VARW
else if (isPolytonicGreek(c))
return SHEET_GREEK_POLY_VARW
else if (isExtC(c))
return SHEET_EXTC_VARW
else
return SHEET_UNKNOWN
// fixed width
@@ -923,6 +932,10 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
sheetX = polytonicGreekIndexX(ch)
sheetY = polytonicGreekIndexY(ch)
}
SHEET_EXTC_VARW -> {
sheetX = extCIndexX(ch)
sheetY = extCIndexY(ch)
}
else -> {
sheetX = ch % 16
sheetY = ch / 16
@@ -1332,6 +1345,7 @@ class GameFontBase(fontDir: String, val noShadow: Boolean = false, val flipY: Bo
internal val SHEET_KARTULI_CAPS_VARW = 23
internal val SHEET_DIACRITICAL_MARKS_VARW = 24
internal val SHEET_GREEK_POLY_VARW = 25
internal val SHEET_EXTC_VARW = 26
internal val SHEET_UNKNOWN = 254

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -1 +1,10 @@
ᄋힳᆫ ꥼᆢᇹ
re ʘ, ʇ, ʗ, and ʖ, al
ɓ ɗ ɠ
ɐ ɔ ə ɟ ɥ ɯ ɹ ʇ ʌ ʍ ʎ
Vʷ[kʰuˣt̪s̟] and Vʷ[kʰʉˣt͜ʃ].
ʡ̆
Labiodental flap [ⱱ] U+2C71
acegijmnopqrsuvwxyzɱɳʙɾɽʒʂʐʋɹɻɥɟɡɢʛȵɲŋɴʀɕʑçʝxɣχʁʜʍɰʟɨʉɯuʊøɘɵɤəɛœɜɞʌɔæɐɶɑɒɚɝɩɪʅʈʏʞⱥⱦⱱⱳⱴⱶⱷⱸⱺⱻ