Meloman19 / PersonaEditor

Persona 3/4/5 File Editor: Text, Graphics, Containers.
MIT License
62 stars 23 forks source link

Add P3P & P4G Traditional Chinese FNT&FNTMAP support #32

Open EditorKos opened 1 year ago

EditorKos commented 1 year ago

Currently I'm trying to make a certain P3P mod into Traditional Chinese. Since there's no such fntmap files for P3P & P4G .fnt in the tool yet, using PersonaEditor to show bmd texts from .bf files will result in no corresponding encoding, causing Mojibake. Thankfully P3P has the same font mapping table with P4G, so I decided to create both ones to help anyone have the same problem. Maybe @Meloman19 can update the release with these.

Font_CHT.zip

For now if anyone wants to use it, put the FNT and FNTMAP files all in "font" folder.

DGshoe commented 1 year ago

If I may ask, how did you build those files? I'm trying to modify the release with the added glyphs from the update earlier this year, but I haven't been able to

QZGao commented 1 year ago

Use PersonaEditor to extract FONT0.PNG from FONT0.FNT, and then you can create a TSV text file (UTF-8) with the mappings of every characters on the picture, in the format of 16 characters each line (separated by Tab):

\u0000  \u0001  \u0002  \u0003  \u0004  \u0005  \u0006  \u0007  \u0008  \u0009  \u000a  \u000b  \u000c  \u000d  \u000e  \u000f
\u0010  \u0011  \u0012  \u0013  \u0014  \u0015  \u0016  \u0017  \u0018  \u0019  \u001a  \u001b  \u001c  \u001d  \u001e  \u001f
\u0020  !   "   #   $   %   &   '   (   )   *   +   ,   -   .   /
0   1   2   3   4   5   6   7   8   9   :   ;   <   =   >   ?
@   A   B   C   D   E   F   G   H   I   J   K   L   M   N   O
P   Q   R   S   T   U   V   W   X   Y   Z   [   \   ]   ^   _
`   a   b   c   d   e   f   g   h   i   j   k   l   m   n   o
p   q   r   s   t   u   v   w   x   y   z   {   |   }   ~   ぁ
(etc.)

Which can then be used on AtlusScriptTools etc. You can also find a FNTMAP editor in the PersonaEditor (Tools -> Char Set) where you can type in the characters manually to create a FNTMAP based on the FNT you have, but typing them one by one can be a hassle if without automation tools to help you do so.