本帖最后由 笨蛋狐狸 于 2011-3-25 10:00 编辑 % H0 X) I# K1 t" G3 k7 M
$ Q& x3 K9 C# v, u: ^7 n6 A2 K
感谢007找到了这个工具,答应写一篇教程还是要说话算话:)这个工具非常简单易用,而且功能还真是强大,实乃居家汉化之必备武器。下面简单介绍一下使用方法,不当之处请大家指出。
+ @# g8 e0 S5 t( T A# q' N7 d! }6 b' X$ M4 x& q5 j0 o, |
先放一份工具:0 W+ ~+ l z; N
( ^) \. v+ _, S; c一、识别游戏字库是否KanjiFont2 X1 m. N8 r5 {, ~7 @. ], b, {
2 }+ A8 p0 ?. g% O0 g 俗话说再好的东西也要用对地方,我们如何识别一个游戏的字库是否能够用这个工具生成呢?就是看原游戏字库索引的格式。KanjiFontBuilder支持生成如下两种格式的索引:
' x9 j9 L$ x3 O; P1 B3 V: B+ n$ f, |
1、xml格式/ U9 A* x8 j& h2 X' Y+ ~/ f' E# V
顾名思义,字库索引文件形如*.xml,打开后格式如下- <!--Sexy-Kanji Font AutoGenerated by Kanji Font Builder (JPoag)-->
7 ^" O' ]" u0 N# { - <KanjiFont name="Arial" style="Regular" size="24" kerning="0" ascent="21" descent="5" height="28" line_spacing="27">
0 p N' M0 r7 I; Y - <ImagePlanes count="1">$ [- Z9 g/ n8 h7 ]4 f2 I2 d
- <Plane id="0" path="Arial24_page0.png" />
, a. n9 O% ] h! [1 l - </ImagePlanes>! h7 e; j' g1 s9 W7 z! \
- <FontTable>% A/ j4 X0 E5 l$ k8 v0 o& P& ~: c7 p
- <Char code=" " graphic_id="0" sx1="2" sy1="2" sx2="9.992188" sy2="30" advance="7" x_offset="0" y_offset="0" />
0 R1 v# n6 m' C0 v' r - <Char code="!" graphic_id="0" sx1="11.99219" sy1="2" sx2="18.66016" sy2="30" advance="2" x_offset="0" % @7 G8 ~" z" M* K( G" }# b
- ...' o) U8 G, X, r$ n: B
复制代码 注意第一行中出现的“Sexy-Kanji Font AutoGenerated by Kanji Font Builder ”是辨识重点;4 k; f6 B' e# [1 l8 h3 R* w/ h7 ?
6 ?3 A U% H9 ], m+ y3 l6 |; z2、kfnt格式
3 D) O0 l9 f& w8 S, Q 字库索引文件形如*.kfnt,格式如下:- %ktext 1 3 122
2 @8 t) l8 Q3 p0 v - 10 2 2 2 85 0 83 0 0 05 }" l& D v8 A; L# q0 S" j, r4 H
- 13 4 2 4 85 0 83 0 0 06 m& j& f7 I [6 f, F7 N
- 32 6 2 29 85 20 83 0 0 0- L# X# q; y/ U6 M6 Z5 d( _
- 33 31 2 51 85 6 83 0 0 0
复制代码 首行的%kext字样是辨识重点。其他数值从左至右分别代表code,sx1,sy1,sx2,...(参数意义待完善)
4 d2 T8 N, c; s3 I3 b ~* q(写到这里,阿7师父,你梦寐以求的“中间格式”,可以用这个来生成?)
' {7 F* B- y" p. V: n$ P
" _7 b1 ]% a. p; v' f4 {二、工具的使用1 l- _; T, W6 ]" e. r% c& I# J/ b
6 e) A. o3 M3 K( X V, }
以下按照生成一个中文字库的大致流程简单介绍一下该工具的使用:
0 N& B) p% F% {1 {. u! S& e
0 p P" u z o6 G( M% i1、文本导入
. b8 u7 q5 |) w
1 W2 K! \# P0 v+ ]' o( Q9 q' a1 y7 V) B) R# i
如图,在character标签页面选择“Import from file”,在弹出窗口中选择要导入的文本就行了,我试验了txt和xml两种格式可直接导入,word导入是乱码(其它的没试,标准文本格式应该都是可以的)。软件会对文本实现自动去重排序,非重复有序文本显示在左边的窗口,可以继续编辑增删字符;(特别强调一下,对文本去重排序这个功能非常实用,不知道大家有没有用过tt?那个只支持ANSI格式的文本,这个完全实现了tt的功能,支持的格式还很多。)1 }$ N8 o- c7 ?: U0 [8 z
7 c; `' l2 G. k F& G: v: q7 i& O+ G E! b, F1 Y
软件也同时提供了常用的缺省字符集,单击“CharMap”按钮即可选择;/ Q" H$ [1 f4 [, \* ?1 Y$ j
[: k7 n) P, W, ]" o1 [
! D% q E4 E9 [, n& A( A
2、字体设置, V+ i, m) O# n- e* ]
. A6 g2 x: ?* o如图,对字体的定义均在Font标签页,第一排是字体、字形(加粗、倾斜)和大小,一看就明白;Option里面可设置字体颜色、背景颜色(缺省透明),Text Hinting里面是一些抗锯齿等参数,一般不用改,Texture Size里面设置字库图片大小,只有512、256和128共选择(KanjiBuilder生成的图片都是正方形);layout里面的spacing、Kerning和Padding都是字距的设置,具体效果自己试试就知道了。 }! m: I, w$ U) ?
2 ]( p; S9 V9 f* l1 A, e- i' v8 Z; a+ N
. ?$ `; f {1 u/ w6 ?
每做一个修改右边的窗口都可以实时看到效果,非常方便,一个字库索引最多支持8张图片,就是Page1-8,但是一般来说够用了,1000多个24大小的字最多也就是4张图的样子。" O6 r4 a0 q$ Z W9 j& L7 S+ f
2 j6 N& J4 m2 C, h4 \8 w
3、输出设置
, ~7 x, x4 ? \( [. }0 q4 g! O$ a; M6 ^$ I& t
如图,输出设置均在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),还有文件名,全部设置为跟原游戏一样就行。$ O/ V0 S* L4 k* [) X8 A
下面Loading Code可以看代码。% a2 u+ U, ?0 Q! l; ~% J
; }9 k& O7 c: M( K# ~/ F) f/ r. m; e* k
最后,点击“Build Font”按钮就可以完成字库的生成了。+ b' \ U; L4 d) `4 \/ C I, B
|