本帖最后由 笨蛋狐狸 于 2011-3-25 10:00 编辑 . S# k- t! K& e7 P
; d4 N+ N7 e! j2 d5 H, ?
感谢007找到了这个工具,答应写一篇教程还是要说话算话:)这个工具非常简单易用,而且功能还真是强大,实乃居家汉化之必备武器。下面简单介绍一下使用方法,不当之处请大家指出。
- a5 V2 |- K* i, n- y- D! N7 Z2 Y/ j1 N+ J i; }
先放一份工具:
; {. @0 ^2 M; M% T/ a
+ ?6 i2 p8 E. x3 }一、识别游戏字库是否KanjiFont
\! v, ]* Z3 ?
7 _: Z" o$ n% j) @, Y1 j) p w8 n 俗话说再好的东西也要用对地方,我们如何识别一个游戏的字库是否能够用这个工具生成呢?就是看原游戏字库索引的格式。KanjiFontBuilder支持生成如下两种格式的索引:
2 r: K$ h) ]- L! f5 d
1 A$ p6 v" l1 q- c; o/ j" U9 X5 E1、xml格式2 D) u7 c n& V1 X- F9 A
顾名思义,字库索引文件形如*.xml,打开后格式如下- <!--Sexy-Kanji Font AutoGenerated by Kanji Font Builder (JPoag)-->9 G& m1 \/ ?1 j; j5 }6 {7 S5 w5 h2 d# P
- <KanjiFont name="Arial" style="Regular" size="24" kerning="0" ascent="21" descent="5" height="28" line_spacing="27">
, x/ z& C. Z% n. e2 V+ a+ J6 M- \# c' ` - <ImagePlanes count="1">
1 v6 o7 R" E* T - <Plane id="0" path="Arial24_page0.png" />) `+ ^9 f; r/ w, \- u" U
- </ImagePlanes>4 t, V/ r/ d$ u: d7 |! g$ @
- <FontTable>/ ]) |$ T8 w2 X
- <Char code=" " graphic_id="0" sx1="2" sy1="2" sx2="9.992188" sy2="30" advance="7" x_offset="0" y_offset="0" />
8 J3 V/ q$ B) L - <Char code="!" graphic_id="0" sx1="11.99219" sy1="2" sx2="18.66016" sy2="30" advance="2" x_offset="0" % n+ [6 l* x2 g5 `$ ]& w
- ...6 k! q6 R( W! G% _' c6 c- p7 t
复制代码 注意第一行中出现的“Sexy-Kanji Font AutoGenerated by Kanji Font Builder ”是辨识重点;
, b7 `( l1 b& R* @
w$ y. Z9 P& Z" z, P2、kfnt格式) }" d4 w2 P( u+ F& ?1 Y+ n
字库索引文件形如*.kfnt,格式如下:- %ktext 1 3 1221 u9 a. n0 E) P: u& [
- 10 2 2 2 85 0 83 0 0 01 v: I2 z' ?% V6 u+ }0 ]5 a3 Y
- 13 4 2 4 85 0 83 0 0 0
4 J g# o# b8 D- ~+ k# U9 f8 Q( O$ D - 32 6 2 29 85 20 83 0 0 0" B3 g) T- K- W8 j }" i. k
- 33 31 2 51 85 6 83 0 0 0
复制代码 首行的%kext字样是辨识重点。其他数值从左至右分别代表code,sx1,sy1,sx2,...(参数意义待完善)
3 r+ S: i7 d! |& J3 L8 P% a, ^1 Q(写到这里,阿7师父,你梦寐以求的“中间格式”,可以用这个来生成?)( _' t2 y2 T, e. D" r x l) `, |
2 C: s8 X/ R! b4 c" q# Y二、工具的使用9 }: c2 ^& N' c- D M
5 G ?: t$ Y$ A 以下按照生成一个中文字库的大致流程简单介绍一下该工具的使用:6 {/ X J+ {- [( N1 N
h. M0 |7 P+ _8 I9 |8 O( H
1、文本导入
+ D$ `1 M8 G! A2 ~. M5 @, b8 a2 A+ `+ d
( u o- X: C- m8 v- q7 [
如图,在character标签页面选择“Import from file”,在弹出窗口中选择要导入的文本就行了,我试验了txt和xml两种格式可直接导入,word导入是乱码(其它的没试,标准文本格式应该都是可以的)。软件会对文本实现自动去重排序,非重复有序文本显示在左边的窗口,可以继续编辑增删字符;(特别强调一下,对文本去重排序这个功能非常实用,不知道大家有没有用过tt?那个只支持ANSI格式的文本,这个完全实现了tt的功能,支持的格式还很多。)3 u4 D+ F1 ?1 W/ N5 E7 Y0 s
: T0 R# j) y2 o9 E' I$ n* M: G! T
1 @5 V9 X6 u: Y/ }$ r软件也同时提供了常用的缺省字符集,单击“CharMap”按钮即可选择;0 m7 r t# V% A$ B' x" }* y& ]
; Z4 b+ q# D- V/ H" n
- r4 C7 E; V1 Z( M2、字体设置
" ?. f6 T" T8 [' M! E: }& X# i! P s+ a$ q9 g7 A7 C3 T; l ?/ X
如图,对字体的定义均在Font标签页,第一排是字体、字形(加粗、倾斜)和大小,一看就明白;Option里面可设置字体颜色、背景颜色(缺省透明),Text Hinting里面是一些抗锯齿等参数,一般不用改,Texture Size里面设置字库图片大小,只有512、256和128共选择(KanjiBuilder生成的图片都是正方形);layout里面的spacing、Kerning和Padding都是字距的设置,具体效果自己试试就知道了。
i3 C4 i" ?: b
E% i7 i, }, Z) |; a
0 @" ~. h. t$ J/ G* H3 X: D! w; f' b3 V$ g; x/ y. e
每做一个修改右边的窗口都可以实时看到效果,非常方便,一个字库索引最多支持8张图片,就是Page1-8,但是一般来说够用了,1000多个24大小的字最多也就是4张图的样子。
1 p K( x$ x+ ?" p5 E
9 n& t! F: F M5 d! r3、输出设置
( D) ?; O5 _) Q# _
2 T2 x" Q3 P2 c* D; l 如图,输出设置均在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),还有文件名,全部设置为跟原游戏一样就行。
' w$ ?9 p: C: x8 a0 B3 U下面Loading Code可以看代码。
F4 e* b7 t% Q/ h
! @: z, g$ p# O/ a; d0 `+ F2 M" W0 [9 `7 @1 U* w0 [* I
最后,点击“Build Font”按钮就可以完成字库的生成了。$ L7 S Z x) B8 J# Y
|