本帖最后由 笨蛋狐狸 于 2011-3-25 10:00 编辑
* Q7 f3 q$ I- y' Z$ x: Z2 c6 f0 s& G3 ~5 U! {' c% _6 p, W* _) O
感谢007找到了这个工具,答应写一篇教程还是要说话算话:)这个工具非常简单易用,而且功能还真是强大,实乃居家汉化之必备武器。下面简单介绍一下使用方法,不当之处请大家指出。
$ |2 A! l' I" E6 d. w- W+ M- @. C
( r8 U% @- j1 N. }7 k' e7 o先放一份工具:
/ T5 i5 g7 {* B/ O
+ `, L2 S" o! M! W* T: _一、识别游戏字库是否KanjiFont
6 P+ A9 L) [7 S6 o6 C
- Z8 f7 Z6 |; R" |' ?7 C) ] 俗话说再好的东西也要用对地方,我们如何识别一个游戏的字库是否能够用这个工具生成呢?就是看原游戏字库索引的格式。KanjiFontBuilder支持生成如下两种格式的索引:
& b) h' V3 D$ [+ z+ q/ [0 s0 d# J8 a+ ]! G- _, V
1、xml格式
1 N1 |9 W6 Y4 o 顾名思义,字库索引文件形如*.xml,打开后格式如下- <!--Sexy-Kanji Font AutoGenerated by Kanji Font Builder (JPoag)-->
5 L9 t5 n8 ?: v - <KanjiFont name="Arial" style="Regular" size="24" kerning="0" ascent="21" descent="5" height="28" line_spacing="27">
4 y5 b. b! M5 V! |3 O - <ImagePlanes count="1">
% `! L" I0 B2 U4 s9 J& q" D( Z - <Plane id="0" path="Arial24_page0.png" />: l) f* q5 V! L$ W
- </ImagePlanes>+ U: Q3 ?0 u. ?6 P
- <FontTable>
Z W `5 l7 C- E) f& N$ C - <Char code=" " graphic_id="0" sx1="2" sy1="2" sx2="9.992188" sy2="30" advance="7" x_offset="0" y_offset="0" />
7 U! Z( t) f2 E" Q- K( _; I0 e$ ]1 l - <Char code="!" graphic_id="0" sx1="11.99219" sy1="2" sx2="18.66016" sy2="30" advance="2" x_offset="0" ! M, e1 _" [, l. }: Q' m
- ...) w8 R9 S( A) Y8 Z a' X6 g
复制代码 注意第一行中出现的“Sexy-Kanji Font AutoGenerated by Kanji Font Builder ”是辨识重点;
9 ^" C- s+ V. x5 L: `" D0 [4 }$ P7 ~0 G& w2 u1 @" y( o
2、kfnt格式
- T4 m; A" m# [ 字库索引文件形如*.kfnt,格式如下:- %ktext 1 3 1223 O8 ?. M7 U; x# D" g
- 10 2 2 2 85 0 83 0 0 0; P5 o3 f2 ]8 |; w* a6 o; |& P* r
- 13 4 2 4 85 0 83 0 0 0, f) B( A5 R4 C: |* ?: q' P
- 32 6 2 29 85 20 83 0 0 0
6 B7 l. X, n! X3 [ - 33 31 2 51 85 6 83 0 0 0
复制代码 首行的%kext字样是辨识重点。其他数值从左至右分别代表code,sx1,sy1,sx2,...(参数意义待完善): H* V4 E% l' [: X$ ?
(写到这里,阿7师父,你梦寐以求的“中间格式”,可以用这个来生成?)
8 O& E+ n ]) t! S J6 `+ c3 w, Q6 C3 ?
二、工具的使用$ [2 v7 z g/ G- Z4 T5 Z" U( J
$ G$ x4 S0 ~7 \ 以下按照生成一个中文字库的大致流程简单介绍一下该工具的使用:) \' k8 ]% \0 D4 q h0 }
* M3 @0 ]+ L. K: t) ~
1、文本导入
: j) k; z, B) T. G9 l% b. M% _- d9 H
! k7 Q. P4 |1 _! \- L/ P 如图,在character标签页面选择“Import from file”,在弹出窗口中选择要导入的文本就行了,我试验了txt和xml两种格式可直接导入,word导入是乱码(其它的没试,标准文本格式应该都是可以的)。软件会对文本实现自动去重排序,非重复有序文本显示在左边的窗口,可以继续编辑增删字符;(特别强调一下,对文本去重排序这个功能非常实用,不知道大家有没有用过tt?那个只支持ANSI格式的文本,这个完全实现了tt的功能,支持的格式还很多。)
# M- _2 e5 g" r; x7 b% @. A/ m0 h d3 D- Z
7 m) k$ `3 T0 B3 y
软件也同时提供了常用的缺省字符集,单击“CharMap”按钮即可选择;/ V. x$ T- ~1 n* v$ P/ R
' a& O+ r9 |# A# T T' i h! ~+ c
. [7 v& Y# i8 S; h6 r2、字体设置
9 {7 B' R4 ^) t: B) _& c+ }9 M! n$ Y' `) ]% }7 Z1 A
如图,对字体的定义均在Font标签页,第一排是字体、字形(加粗、倾斜)和大小,一看就明白;Option里面可设置字体颜色、背景颜色(缺省透明),Text Hinting里面是一些抗锯齿等参数,一般不用改,Texture Size里面设置字库图片大小,只有512、256和128共选择(KanjiBuilder生成的图片都是正方形);layout里面的spacing、Kerning和Padding都是字距的设置,具体效果自己试试就知道了。2 t5 V9 _) g X3 P4 V$ s F0 U5 O
$ |) o s+ K5 s. t1 @' C7 H: {1 }, ?* m* f+ L1 K# l
' N2 b# W6 L, a* F- u
每做一个修改右边的窗口都可以实时看到效果,非常方便,一个字库索引最多支持8张图片,就是Page1-8,但是一般来说够用了,1000多个24大小的字最多也就是4张图的样子。& B/ h* F/ ~1 m+ s! Z5 |% V- B* i
8 d8 E. e; P5 T8 W" O3、输出设置
7 m% q+ D" f( ^+ S D8 |- ]1 |+ X) }7 p
如图,输出设置均在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),还有文件名,全部设置为跟原游戏一样就行。
$ u$ K/ G4 \+ y. u. D下面Loading Code可以看代码。
9 X6 r% u+ r" F/ i. @; A4 v! a% Y" E/ h9 i) d# ?
! k- Z5 ~* Y5 k2 x* P2 w最后,点击“Build Font”按钮就可以完成字库的生成了。
~9 m! ^% e5 h# z# a5 _5 v1 r. V |