本帖最后由 笨蛋狐狸 于 2011-3-25 10:00 编辑 " B6 t& l, P h |0 ~5 y8 \1 x
7 m% J; b9 B0 I4 ]
感谢007找到了这个工具,答应写一篇教程还是要说话算话:)这个工具非常简单易用,而且功能还真是强大,实乃居家汉化之必备武器。下面简单介绍一下使用方法,不当之处请大家指出。. i b( X+ B0 m
+ p3 ?2 Y' ~+ x5 I) _+ B: G先放一份工具:
( M6 V2 v1 @# v) O
. s7 L8 S' ]+ }, E/ b一、识别游戏字库是否KanjiFont
, v( L* ^+ Y. X3 Z& a* N
0 u w4 x& Z, B: {; ]) X5 | 俗话说再好的东西也要用对地方,我们如何识别一个游戏的字库是否能够用这个工具生成呢?就是看原游戏字库索引的格式。KanjiFontBuilder支持生成如下两种格式的索引:3 d, ?% Z( x( f& L
% Z3 Q$ n5 u7 b; S8 ~0 b0 \
1、xml格式' f$ \+ O; @' @9 C8 u& a
顾名思义,字库索引文件形如*.xml,打开后格式如下- <!--Sexy-Kanji Font AutoGenerated by Kanji Font Builder (JPoag)-->
/ Q4 l+ [6 p5 f/ {" } - <KanjiFont name="Arial" style="Regular" size="24" kerning="0" ascent="21" descent="5" height="28" line_spacing="27">% b+ k5 c% H0 `- e! ?0 u$ [
- <ImagePlanes count="1">0 E$ Y0 X6 }1 ^4 `
- <Plane id="0" path="Arial24_page0.png" />$ K* O2 w" ?; c5 F
- </ImagePlanes>9 T1 j7 s) j+ M; Q. c% l! {) {
- <FontTable>0 S9 t! r8 C+ h+ _$ F( e( s, G5 c% V
- <Char code=" " graphic_id="0" sx1="2" sy1="2" sx2="9.992188" sy2="30" advance="7" x_offset="0" y_offset="0" />" W: H1 {9 _, C+ Y9 q$ }, t7 n& O: E
- <Char code="!" graphic_id="0" sx1="11.99219" sy1="2" sx2="18.66016" sy2="30" advance="2" x_offset="0"
/ w' B- B; B5 z - ...
2 }( H( J- ?) c% X
复制代码 注意第一行中出现的“Sexy-Kanji Font AutoGenerated by Kanji Font Builder ”是辨识重点;! J0 O$ K; d4 t d. M7 Y8 a0 Z
4 C! q8 ~2 y5 H3 L, t" X1 v# Q
2、kfnt格式
- e" { v6 e9 A; }) k 字库索引文件形如*.kfnt,格式如下:- %ktext 1 3 122
! w. k i3 C$ h, @$ [ - 10 2 2 2 85 0 83 0 0 0
, Y2 [# q. U1 R ~& P - 13 4 2 4 85 0 83 0 0 0% _/ n4 Y) J0 I! y% I
- 32 6 2 29 85 20 83 0 0 07 S [* ]6 |2 v1 _) S
- 33 31 2 51 85 6 83 0 0 0
复制代码 首行的%kext字样是辨识重点。其他数值从左至右分别代表code,sx1,sy1,sx2,...(参数意义待完善)
0 M+ Q2 v+ e0 ^* \& a(写到这里,阿7师父,你梦寐以求的“中间格式”,可以用这个来生成?)* I( T$ V% [, }$ K8 i& ?8 B( K* E* f
$ s1 w) m! ]" i
二、工具的使用9 |; i% U. Z8 Q- A9 G5 n* S
/ _) f! ^9 }) O9 z. ^* w
以下按照生成一个中文字库的大致流程简单介绍一下该工具的使用:- a# I; |. `" g5 Z& S# c0 T/ _! Y I
_' ~. K; J6 O5 ]1 A \1、文本导入6 Y5 f _$ ~; \- s2 Y
. z/ D! s* O) t& h, \; v: M+ B* n
/ }1 L; f- ~% R9 r 如图,在character标签页面选择“Import from file”,在弹出窗口中选择要导入的文本就行了,我试验了txt和xml两种格式可直接导入,word导入是乱码(其它的没试,标准文本格式应该都是可以的)。软件会对文本实现自动去重排序,非重复有序文本显示在左边的窗口,可以继续编辑增删字符;(特别强调一下,对文本去重排序这个功能非常实用,不知道大家有没有用过tt?那个只支持ANSI格式的文本,这个完全实现了tt的功能,支持的格式还很多。)1 z' l: C7 ^, Y- j( @
n" A! [1 D/ B
! l2 T7 d0 f4 P- L软件也同时提供了常用的缺省字符集,单击“CharMap”按钮即可选择;5 }. R3 |# F: j l+ y5 x F
: L9 N q; X* S2 `: [ m+ t
?) O1 k+ {! R% r2、字体设置
3 o; H! w) x7 o8 X G# q( Y3 U7 }! a7 V/ Y; y) U) H
如图,对字体的定义均在Font标签页,第一排是字体、字形(加粗、倾斜)和大小,一看就明白;Option里面可设置字体颜色、背景颜色(缺省透明),Text Hinting里面是一些抗锯齿等参数,一般不用改,Texture Size里面设置字库图片大小,只有512、256和128共选择(KanjiBuilder生成的图片都是正方形);layout里面的spacing、Kerning和Padding都是字距的设置,具体效果自己试试就知道了。
8 y' `4 Q3 a# l n& g/ ?
9 [* e* m" l# R" q5 Q6 I* o" c# P5 Q! d2 y* B1 e
* g/ U; x/ X7 z) q. N每做一个修改右边的窗口都可以实时看到效果,非常方便,一个字库索引最多支持8张图片,就是Page1-8,但是一般来说够用了,1000多个24大小的字最多也就是4张图的样子。9 B0 L8 T% d; ]# @& |/ u+ K/ m% G
6 V$ @& x4 L: C2 w3 v3、输出设置
" D/ Y7 t A# I7 o
+ W; m% ]1 J- t# P1 k! g0 s) ~# i 如图,输出设置均在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),还有文件名,全部设置为跟原游戏一样就行。
" T* E0 B2 M6 Z" _+ }1 w* b' O( B+ W下面Loading Code可以看代码。$ Q* P. `# K; d9 z8 o
2 {6 U1 l) M; J1 @/ m; ]0 M+ u; B8 S6 ?8 J7 K) s* F
最后,点击“Build Font”按钮就可以完成字库的生成了。( `& C: f0 S, u, c4 H
|