本帖最后由 笨蛋狐狸 于 2011-3-25 10:00 编辑 , y. P, M4 k& j- @
7 R' ]& ^3 d8 f. K: H8 q 感谢007找到了这个工具,答应写一篇教程还是要说话算话:)这个工具非常简单易用,而且功能还真是强大,实乃居家汉化之必备武器。下面简单介绍一下使用方法,不当之处请大家指出。
8 t3 Q# G6 f; L9 w
. s- p; {0 M; L3 z3 H先放一份工具:% F6 E5 @* C2 W( \- }/ k J- E9 d
* O: ?8 `( Y8 J! Q' k一、识别游戏字库是否KanjiFont
4 l {- l* j. g# d4 l: w9 n! M1 d6 H8 {) b% s x# n' M5 } z
俗话说再好的东西也要用对地方,我们如何识别一个游戏的字库是否能够用这个工具生成呢?就是看原游戏字库索引的格式。KanjiFontBuilder支持生成如下两种格式的索引:
2 `1 |* V A% \: I1 T6 F9 ~2 m& w
# P8 g$ U# K( C/ ]4 B5 `1、xml格式$ N. X- N4 f$ S" i) S
顾名思义,字库索引文件形如*.xml,打开后格式如下- <!--Sexy-Kanji Font AutoGenerated by Kanji Font Builder (JPoag)-->2 }* }$ o" f3 j+ V# L
- <KanjiFont name="Arial" style="Regular" size="24" kerning="0" ascent="21" descent="5" height="28" line_spacing="27">/ ~; u2 u, Q) `0 p+ S. \, E
- <ImagePlanes count="1">: S# |3 W2 d) {
- <Plane id="0" path="Arial24_page0.png" />
$ j) l' i; I4 H - </ImagePlanes>% n% y1 L$ d8 u+ E: s0 i1 O
- <FontTable>3 N# l; S7 s5 u( \3 H1 z! @: [
- <Char code=" " graphic_id="0" sx1="2" sy1="2" sx2="9.992188" sy2="30" advance="7" x_offset="0" y_offset="0" />( z0 I" l/ E9 }% Y0 G% z
- <Char code="!" graphic_id="0" sx1="11.99219" sy1="2" sx2="18.66016" sy2="30" advance="2" x_offset="0" / E" @$ }* e* ]
- ...6 q- p8 V! x- r' C# k
复制代码 注意第一行中出现的“Sexy-Kanji Font AutoGenerated by Kanji Font Builder ”是辨识重点;; }& K1 X: l. t$ V% F$ \- |2 Q
# J3 R4 Q/ F6 s) c- k, h* c @0 e2、kfnt格式
2 J, j5 ]& j, J/ M% D r9 v2 T2 T$ | 字库索引文件形如*.kfnt,格式如下:- %ktext 1 3 122. L" l* S* n4 s/ J( O/ G% p& X* z
- 10 2 2 2 85 0 83 0 0 0( Z8 d0 i3 f4 K
- 13 4 2 4 85 0 83 0 0 03 K6 w5 L* k( W# S1 _" t M$ B
- 32 6 2 29 85 20 83 0 0 0* G% o n5 G, j
- 33 31 2 51 85 6 83 0 0 0
复制代码 首行的%kext字样是辨识重点。其他数值从左至右分别代表code,sx1,sy1,sx2,...(参数意义待完善)) V1 }* [# m. f! ? A' j# u+ o2 F, \( X
(写到这里,阿7师父,你梦寐以求的“中间格式”,可以用这个来生成?)- p; y" D5 m+ y8 D
# d' y! c( }$ Y. t9 J& L二、工具的使用$ i& O& ?! Q j3 {8 ^; ]
w4 O& Q- U" V& e 以下按照生成一个中文字库的大致流程简单介绍一下该工具的使用:1 T5 |! q0 F# N* m% e
) d& F3 v8 ~' z5 F* v+ D
1、文本导入! ?. m [4 N0 t: H( |+ ^
. P# n2 z7 R* ^, S4 ]
% @3 m. M& ], p 如图,在character标签页面选择“Import from file”,在弹出窗口中选择要导入的文本就行了,我试验了txt和xml两种格式可直接导入,word导入是乱码(其它的没试,标准文本格式应该都是可以的)。软件会对文本实现自动去重排序,非重复有序文本显示在左边的窗口,可以继续编辑增删字符;(特别强调一下,对文本去重排序这个功能非常实用,不知道大家有没有用过tt?那个只支持ANSI格式的文本,这个完全实现了tt的功能,支持的格式还很多。)
/ I0 H6 d) G, Z3 Y# Y, d3 q/ I6 g$ K f6 ^
; \. A8 u2 q% Z) T1 X软件也同时提供了常用的缺省字符集,单击“CharMap”按钮即可选择;7 d' Q( b* |7 x% Z8 r! q4 |1 \
T9 J w. x. s( f0 E+ w( V
) @8 r3 b7 d# j$ z& ^2、字体设置6 ?& h& Z7 T d# G
8 Y- X6 O. h: q6 K
如图,对字体的定义均在Font标签页,第一排是字体、字形(加粗、倾斜)和大小,一看就明白;Option里面可设置字体颜色、背景颜色(缺省透明),Text Hinting里面是一些抗锯齿等参数,一般不用改,Texture Size里面设置字库图片大小,只有512、256和128共选择(KanjiBuilder生成的图片都是正方形);layout里面的spacing、Kerning和Padding都是字距的设置,具体效果自己试试就知道了。
3 s9 D, }/ T% L& e- ]; c" ~1 z! f! E" u' j7 v9 i
6 a- i" f) P+ H; J3 z4 c
0 s" O' S* c2 c' H' h每做一个修改右边的窗口都可以实时看到效果,非常方便,一个字库索引最多支持8张图片,就是Page1-8,但是一般来说够用了,1000多个24大小的字最多也就是4张图的样子。
. ~- E- S8 ?2 o+ H* S
4 y. c) |: c7 }1 p9 N3、输出设置2 u$ o3 B; J y/ J3 K/ x. {$ T
. K" W2 {/ a* s1 N) c4 W4 n
如图,输出设置均在Output标签页。因为在Font页面对字体的任何修改(包括大小)都会使Output所有参数回到缺省,所以建议字形设置好后最后再设置输出。输出路径不说了,Image选中表示生成字库图片,Format格式、File Name(s)文件名均参照游戏原有字库图片修改,支持PNG、BMP、JPEG、TIFF和GIF格式输出;Descriptor选中表示生成字库描述,或者说定义,支持两种格式(xml和kfnt),5种编码(ANSI/utf-8/utf-16/utf-16_LE/utf-16_BE),还有文件名,全部设置为跟原游戏一样就行。) B v: m& m# M4 E3 G9 K3 e
下面Loading Code可以看代码。( k3 ~1 [* w" f9 D
# \0 L8 W4 W8 T
7 a5 f. R+ Y3 J/ f' P最后,点击“Build Font”按钮就可以完成字库的生成了。
, a7 y6 f {- P% S( c |