本帖最后由 笨蛋狐狸 于 2011-3-25 10:00 编辑 4 r, ~$ o+ B" C9 {" K- i7 l
* A0 ^3 j0 }( v9 |9 Q$ p3 ^7 q 感谢007找到了这个工具,答应写一篇教程还是要说话算话:)这个工具非常简单易用,而且功能还真是强大,实乃居家汉化之必备武器。下面简单介绍一下使用方法,不当之处请大家指出。
; a" V; Y8 B0 O: s# n- z d5 z' s4 I6 @+ O
5 w+ n# b6 t# n$ O6 L/ [( I: r先放一份工具:: {1 I, I, b, P2 z _7 j B
% y7 Z8 \) z4 b3 [5 y一、识别游戏字库是否KanjiFont
; x" d" S9 W/ v* a- J- w
' z" Q* ]: n1 x7 [% [8 t 俗话说再好的东西也要用对地方,我们如何识别一个游戏的字库是否能够用这个工具生成呢?就是看原游戏字库索引的格式。KanjiFontBuilder支持生成如下两种格式的索引:
% w5 ^( v, e" L- H8 ~7 x* p! U2 }8 R. v$ A
1、xml格式
. s% X+ A* T7 W0 ~7 o. K s 顾名思义,字库索引文件形如*.xml,打开后格式如下- <!--Sexy-Kanji Font AutoGenerated by Kanji Font Builder (JPoag)-->
4 O/ |% u$ ^" R2 \- }# I. f5 {# f - <KanjiFont name="Arial" style="Regular" size="24" kerning="0" ascent="21" descent="5" height="28" line_spacing="27">
# P# S! P# n. r w - <ImagePlanes count="1">: X1 f+ L& S" Q$ U
- <Plane id="0" path="Arial24_page0.png" />
$ }) ` m& m R* h m3 B6 h! i - </ImagePlanes>) ^8 v) r* M4 z0 c2 f2 ?2 i) Z7 c. Q
- <FontTable>2 R' e, p% z0 s0 t3 A
- <Char code=" " graphic_id="0" sx1="2" sy1="2" sx2="9.992188" sy2="30" advance="7" x_offset="0" y_offset="0" />7 A+ r9 l5 v) W5 I: x& J: [
- <Char code="!" graphic_id="0" sx1="11.99219" sy1="2" sx2="18.66016" sy2="30" advance="2" x_offset="0" - j v$ s9 t1 U( R# y( W4 o
- ...
, e6 n, R; R" w( v
复制代码 注意第一行中出现的“Sexy-Kanji Font AutoGenerated by Kanji Font Builder ”是辨识重点;5 T1 v( z1 y4 K/ {+ |) B- j, r5 W
. S. }) b5 M8 M& ]4 O1 u2、kfnt格式: E' c- i- M" }/ Q# N7 `
字库索引文件形如*.kfnt,格式如下:- %ktext 1 3 122/ B! ]) s5 }; m
- 10 2 2 2 85 0 83 0 0 0: D+ l" |" F1 K" {0 L5 A
- 13 4 2 4 85 0 83 0 0 0: f+ G, G' l0 M5 ^3 Y' c
- 32 6 2 29 85 20 83 0 0 0
7 ~* W: z: }1 T+ M - 33 31 2 51 85 6 83 0 0 0
复制代码 首行的%kext字样是辨识重点。其他数值从左至右分别代表code,sx1,sy1,sx2,...(参数意义待完善)
B$ ]' W! m( k2 i8 @8 H- u(写到这里,阿7师父,你梦寐以求的“中间格式”,可以用这个来生成?)* `. }" f6 U) b$ V* p% O
: P( D0 l+ H/ D" P$ J) h二、工具的使用 G3 ?: i' Y) |
V8 U' D p% ]
以下按照生成一个中文字库的大致流程简单介绍一下该工具的使用:
% g$ I: U# ~6 A7 `' d" I7 U) T7 Q' _1 Y( y& s; ]8 J: _3 Y4 Y% C
1、文本导入
. p2 l* O& u5 `) X% y+ m+ b Z3 Q8 O! G
' m$ f( K8 A1 e& ]3 s2 |+ n+ u 如图,在character标签页面选择“Import from file”,在弹出窗口中选择要导入的文本就行了,我试验了txt和xml两种格式可直接导入,word导入是乱码(其它的没试,标准文本格式应该都是可以的)。软件会对文本实现自动去重排序,非重复有序文本显示在左边的窗口,可以继续编辑增删字符;(特别强调一下,对文本去重排序这个功能非常实用,不知道大家有没有用过tt?那个只支持ANSI格式的文本,这个完全实现了tt的功能,支持的格式还很多。)1 H- p3 ^& V3 q3 b1 y" D- d
2 e+ A/ U+ H0 e$ W
4 A0 ]# h7 I6 e) W. E" W
软件也同时提供了常用的缺省字符集,单击“CharMap”按钮即可选择;
9 T' x2 f& B1 V8 T
* A P6 M, b9 W6 x- J% h; ^' X5 v+ V! |' u( x- K; T- A7 U
2、字体设置* F+ ?- o4 d; W! A( ?
- W9 C1 G9 L4 P( l如图,对字体的定义均在Font标签页,第一排是字体、字形(加粗、倾斜)和大小,一看就明白;Option里面可设置字体颜色、背景颜色(缺省透明),Text Hinting里面是一些抗锯齿等参数,一般不用改,Texture Size里面设置字库图片大小,只有512、256和128共选择(KanjiBuilder生成的图片都是正方形);layout里面的spacing、Kerning和Padding都是字距的设置,具体效果自己试试就知道了。& ?) k: M6 v% e0 C. V1 b/ t
" H% ]5 Y4 U6 _' H0 Y
4 a. G, i( {7 Q$ [5 u$ Z( V
+ m6 r6 r4 @# {# D8 N, d
每做一个修改右边的窗口都可以实时看到效果,非常方便,一个字库索引最多支持8张图片,就是Page1-8,但是一般来说够用了,1000多个24大小的字最多也就是4张图的样子。
" v( R; i O. _2 e0 y: _7 N& H8 T; d) _" D
3、输出设置2 T$ I) _4 b( w" C. n8 ~
( o" L/ ^$ i& Q8 e6 _8 b. S$ z 如图,输出设置均在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),还有文件名,全部设置为跟原游戏一样就行。, K6 g. }! a/ e& w1 @
下面Loading Code可以看代码。
9 a3 W5 U' V4 B
1 f# H8 e/ B9 n6 `7 @7 |6 Y3 B
2 x/ J/ b# V; _$ R7 j最后,点击“Build Font”按钮就可以完成字库的生成了。
8 n3 j" e/ O% ]. @ |