字体
位置:data\A000\font
没有公开的方法编辑字体,小团体倒是有可以做到的,建议直接用最新版国服好弟弟的字体
研究了下解压后数据流,DDS是塞在svo里的,svo塞在解压后数据里,所以要完全实现打包还要研究svo(SEGA怎么这么喜欢一个文件是几个文件的合体)
AI真好用.jpg
AI的分析文档:RFZ 字体解包分析
python rfz_unpack.py <input.rfz> [out_dir]
想要自制字体,使用Bitmap Font Generator,导出时设置长宽均为2048,Bit depth选32,Preset选White text with alpha,Font descriptor用Text或XML都行,反正需要指定。Texture选dds,Compression选None。
Info
生成的fnt里,base(调整字体整体上下位置)和lineHeight(行距调整)的值可能需要修改,否则会出现字体偏下,显示不全的问题。显示不全也可能是字体大小?不太清楚
做好的DDS再用DirectXTex的texconv转为B4G4R4A4_UNORM,指令如下。
(不转也行,不过解包器好像强制B4G4R4A4_UNORM,不转的话拿来解包可能会解不了DDS)
texconv.exe SEGAHUMMING_32pt_3.dds -ft dds -f B4G4R4A4_UNORM -o output -m 1
完成后,把fnt与DDS放在一起,用bmfont_to_rfz.py即可。
python bmfont_to_rfz.py <fnt> --format {text|xml} [--dds-dir DIR]
[--name S] [--comment S] [--point N] [--glyph-margin N]
[--font-base S] [--avts-version N] [--dump-dir DIR] [-o out.rfz]
示例:
python bmfont_to_rfz.py SEGAHUMMING_32pt_text.fnt --format text -o RFO_SEGAKAKUGOTHIC_DB_32pt.rfz --name "TT-UD新ゴ 簡体字 Gb4 M" --comment "TT-UD新ゴ 簡体字 Gb4 M 32pt"
Warning
因为代码限制,字体最多22766个字,超了游戏直接崩溃,详细请看Extra里的文档