跳转至

字体

位置:data\A000\font

没有公开的方法编辑字体,小团体倒是有可以做到的,建议直接用最新版国服好弟弟的字体

研究了下解压后数据流,DDS是塞在svo里的,svo塞在解压后数据里,所以要完全实现打包还要研究svo(SEGA怎么这么喜欢一个文件是几个文件的合体)

AI真好用.jpg

AI的分析文档:RFZ 字体解包分析

解包:rfz_unpack.py

python rfz_unpack.py <input.rfz> [out_dir]

想要自制字体,使用Bitmap Font Generator,导出时设置长宽均为2048Bit depth32PresetWhite text with alphaFont descriptorTextXML都行,反正需要指定。TextureddsCompressionNone

Info

生成的fnt里,base(调整字体整体上下位置)和lineHeight(行距调整)的值可能需要修改,否则会出现字体偏下,显示不全的问题。显示不全也可能是字体大小?不太清楚

做好的DDS再用DirectXTextexconv转为B4G4R4A4_UNORM,指令如下。

(不转也行,不过解包器好像强制B4G4R4A4_UNORM,不转的话拿来解包可能会解不了DDS

texconv.exe SEGAHUMMING_32pt_3.dds -ft dds -f B4G4R4A4_UNORM -o output -m 1

完成后,把fntDDS放在一起,用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里的文档

评论