Skip to content

matanki-saito/BMFont

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 

Repository files navigation

BMFont改

This is a tool for creating fonts for CK2 and EU4 which introduced multi-byte DLL. It was made by forking BMFont.

spec

simple file name

If the data can fit in one image file, the page size will not be included in the file name.

aaa_0.dds ----> aaa.dds

change fnt file format

  • fix "info"
  • remove "unicode"
  • remove "outline"
  • fix "common"
  • remove "page id" line
  • fix char[n]
  • remove chnl number
  • remove page number
  • remove "chars count" line

YMD character

Since it is necessary to display it with one byte, I assigned these.

code point original mean change mean assined character
0xE Shift out day 日(0x65E5)
0xF Shift in year 年(0x5E74)
0x7 Bel month 月(0x6708)

wave dash issue

Translate 0x301C(wave dash) to 0xFF5E(FULLWIDTH TILDE). See 波ダッシュ#Windowsにおいて起きる問題.

CP1252 Mapping

The fonts of EU4 and CK2 use CP1252.

code point(unicode) character name maped code point(cp1252)
0x20AC EURO SIGN 0x80
0x201A SINGLE LOW-9 QUOTATION MARK 0x82
0x0192 ƒ LATIN SMALL LETTER F WITH HOOK 0x83
0x201E DOUBLE LOW-9 QUOTATION MARK 0x84
0x2026 HORIZONTAL ELLIPSIS 0x85
0x2020 DAGGER 0x86
0x2021 DOUBLE DAGGER 0x87
0x20C6 ^ MODIFIER LETTER CIRCUMFLEX ACCENT 0x88
0x2030 PER MILLE SIGN 0x89
0x0160 Š LATIN CAPITAL LETTER S WITH CARON 0x8A
0x2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK 0x8B
0x0152 ΠLATIN CAPITAL LIGATURE OE 0x8C
0x017D Ž LATIN CAPITAL LETTER Z WITH CARON 0x8E
0x2018 LEFT SINGLE QUOTATION MARK 0x91
0x2019 RIGHT SINGLE QUOTATION MARK 0x92
0x201C LEFT DOUBLE QUOTATION MARK 0x93
0x201D RIGHT DOUBLE QUOTATION MARK 0x94
0x2022 BULLET 0x95
0x2013 EN DASH 0x96
0x2014 EM DASH 0x97
0x02DC ˜ SMALL TILDE 0x98
0x2122 TRADE MARK SIGN 0x99
0x0161 š LATIN SMALL LETTER S WITH CARON 0x9A
0x203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK 0x9B
0x0153 œ LATIN SMALL LIGATURE OE 0x9C
0x017E ž LATIN SMALL LETTER Z WITH CARON 0x9E
0x0178 Ÿ LATIN CAPITAL LETTER Y WITH DIAERESIS 0x9F

Prohibited characters area

It can not be used from 0x100 to 0xA00 character. The reason is that there are other data in that range of heap memory. Therefore, it shift to the private area(0xE000).