本帖最后由 笨蛋狐狸 于 2011-3-25 10:00 编辑
; E+ w; {$ t# l, D/ W7 \: V- _4 {7 s0 D: z5 z
感谢007找到了这个工具,答应写一篇教程还是要说话算话:)这个工具非常简单易用,而且功能还真是强大,实乃居家汉化之必备武器。下面简单介绍一下使用方法,不当之处请大家指出。# y5 v6 s. \1 g2 D8 @- z2 D7 ^
, \6 c t5 f- m0 V先放一份工具:, V+ P" q0 Z$ C( y. x, G. B
6 s, s0 D- b6 A* [# `一、识别游戏字库是否KanjiFont1 C0 C6 q/ V+ N# A/ x, t; Z8 k
! `- n. V- v9 ^8 {) v0 y0 P7 h
俗话说再好的东西也要用对地方,我们如何识别一个游戏的字库是否能够用这个工具生成呢?就是看原游戏字库索引的格式。KanjiFontBuilder支持生成如下两种格式的索引:$ z8 Y1 k! W2 h2 s/ E# h- ]+ L
. b5 i, T: F( G7 O# Q) L9 [1 {" Q
1、xml格式
# f* x, X9 z- ^) g; z6 V: b1 d/ h 顾名思义,字库索引文件形如*.xml,打开后格式如下- <!--Sexy-Kanji Font AutoGenerated by Kanji Font Builder (JPoag)--># V/ L2 b+ S- T/ e
- <KanjiFont name="Arial" style="Regular" size="24" kerning="0" ascent="21" descent="5" height="28" line_spacing="27">5 r$ j U1 Q( V& U
- <ImagePlanes count="1">
( H7 V" j9 R& v' X% } - <Plane id="0" path="Arial24_page0.png" />5 I$ G& Y" ~: \ ~3 F2 \" J
- </ImagePlanes>
; n" u* O: q1 p: o: O - <FontTable>
$ h* h8 X* L+ E+ W+ D& U: N - <Char code=" " graphic_id="0" sx1="2" sy1="2" sx2="9.992188" sy2="30" advance="7" x_offset="0" y_offset="0" />- A$ p @0 v5 s
- <Char code="!" graphic_id="0" sx1="11.99219" sy1="2" sx2="18.66016" sy2="30" advance="2" x_offset="0"
1 g: `. e! n, b4 A3 D- N9 K - ...) O; B0 M1 U8 }7 P, \7 `8 x
复制代码 注意第一行中出现的“Sexy-Kanji Font AutoGenerated by Kanji Font Builder ”是辨识重点;/ O- X4 h+ v+ N( B% K% S7 f
d9 r; y: W' j% T2、kfnt格式. l' h3 D/ X: I+ Z
字库索引文件形如*.kfnt,格式如下:- %ktext 1 3 122
b9 E) _5 `& H5 L. `8 N6 E - 10 2 2 2 85 0 83 0 0 0
4 H4 p. Q u3 ? - 13 4 2 4 85 0 83 0 0 07 l% ]1 M+ q" V; S" P' Q% L! L
- 32 6 2 29 85 20 83 0 0 0# N* R0 E3 n! T3 I
- 33 31 2 51 85 6 83 0 0 0
复制代码 首行的%kext字样是辨识重点。其他数值从左至右分别代表code,sx1,sy1,sx2,...(参数意义待完善)
( D, u2 _" A* G; c) F; H(写到这里,阿7师父,你梦寐以求的“中间格式”,可以用这个来生成?)* x8 |) V( _3 d) }9 p! [
& \8 o8 `, X3 i% N t) c7 g: A二、工具的使用
. N. M' _# N! G2 a6 y) d9 X3 z
# n- c, Z, S5 K7 P. q: Q8 c* R. d 以下按照生成一个中文字库的大致流程简单介绍一下该工具的使用:; @9 Z( C6 Y0 s6 X: I
9 L+ l- `/ V7 ?
1、文本导入- o# G" U& x# K, g5 }# {! S
4 X0 r# g) T# ?# Y5 ~
/ O. \% d. U0 a0 }; H/ E
如图,在character标签页面选择“Import from file”,在弹出窗口中选择要导入的文本就行了,我试验了txt和xml两种格式可直接导入,word导入是乱码(其它的没试,标准文本格式应该都是可以的)。软件会对文本实现自动去重排序,非重复有序文本显示在左边的窗口,可以继续编辑增删字符;(特别强调一下,对文本去重排序这个功能非常实用,不知道大家有没有用过tt?那个只支持ANSI格式的文本,这个完全实现了tt的功能,支持的格式还很多。)
7 f9 b9 x9 M7 h1 e. g; t: U
. d) Z- q) s% ]9 Q6 W. F* ?
7 `! m# \' B% Q软件也同时提供了常用的缺省字符集,单击“CharMap”按钮即可选择;
" ~% e9 t- e3 g v, E% O' O/ B6 h- {3 ~
3 t1 p' u; U) W/ U. z5 K2、字体设置8 n# `- B1 H# g, s. r' d
, L( z1 i ]! W0 {+ {如图,对字体的定义均在Font标签页,第一排是字体、字形(加粗、倾斜)和大小,一看就明白;Option里面可设置字体颜色、背景颜色(缺省透明),Text Hinting里面是一些抗锯齿等参数,一般不用改,Texture Size里面设置字库图片大小,只有512、256和128共选择(KanjiBuilder生成的图片都是正方形);layout里面的spacing、Kerning和Padding都是字距的设置,具体效果自己试试就知道了。. f% Q2 w4 ]$ f9 t8 M5 g
1 U9 r x* Z: ?
: j/ F: t. ?3 |3 [, N2 u6 _
, k+ P. {2 U9 T4 J9 b. Y
每做一个修改右边的窗口都可以实时看到效果,非常方便,一个字库索引最多支持8张图片,就是Page1-8,但是一般来说够用了,1000多个24大小的字最多也就是4张图的样子。
8 U% C8 k$ M6 d) p# R& e9 K4 ^) P- V3 j" ^4 H; i
3、输出设置6 N- `, a( p5 Q$ F0 t$ p* W
% @: N- _. ?/ V& J
如图,输出设置均在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),还有文件名,全部设置为跟原游戏一样就行。
, e; C1 \0 {2 C, x! R" P下面Loading Code可以看代码。( G/ e' _$ g: w+ M
+ |, j) v; N5 U9 l U' B! w5 f7 ^$ E6 w" p/ `# y$ I C; |+ M! C" t+ Z
最后,点击“Build Font”按钮就可以完成字库的生成了。
1 y) O2 r9 c, R6 J |