本帖最后由 笨蛋狐狸 于 2011-3-25 10:00 编辑 ( k+ |% O B, ]) e" d
Z3 T' |( G- b0 n5 \% w* T7 { 感谢007找到了这个工具,答应写一篇教程还是要说话算话:)这个工具非常简单易用,而且功能还真是强大,实乃居家汉化之必备武器。下面简单介绍一下使用方法,不当之处请大家指出。4 [: e! n' P- r. O
& c, h' T# l! ?+ {; S$ p* O先放一份工具:! o0 m+ D+ M; m4 Z; L" F& W t7 P: b
) `: v0 L' m7 t$ q1 J" f一、识别游戏字库是否KanjiFont$ L# ?/ w6 J$ ?0 [/ X s2 P. `
, |3 s2 J7 g0 p. `; P& q
俗话说再好的东西也要用对地方,我们如何识别一个游戏的字库是否能够用这个工具生成呢?就是看原游戏字库索引的格式。KanjiFontBuilder支持生成如下两种格式的索引:
3 ~* r: t' S: t2 \3 _5 S+ d1 W' }( K# ?4 @
1、xml格式7 t2 V# C# _& P8 U8 X
顾名思义,字库索引文件形如*.xml,打开后格式如下- <!--Sexy-Kanji Font AutoGenerated by Kanji Font Builder (JPoag)--> M0 z1 w9 q) I+ E4 V( E( f
- <KanjiFont name="Arial" style="Regular" size="24" kerning="0" ascent="21" descent="5" height="28" line_spacing="27">9 Y8 T D' Q5 V) ?+ d' }
- <ImagePlanes count="1">
: `$ H, X5 C' S2 G5 l - <Plane id="0" path="Arial24_page0.png" />4 t( s+ H& o0 c
- </ImagePlanes>* K3 \; g. ^9 R% A$ n& R
- <FontTable> ]. J1 K% T3 Q+ K4 @& J
- <Char code=" " graphic_id="0" sx1="2" sy1="2" sx2="9.992188" sy2="30" advance="7" x_offset="0" y_offset="0" />( R6 G3 I% L1 Y( w5 E
- <Char code="!" graphic_id="0" sx1="11.99219" sy1="2" sx2="18.66016" sy2="30" advance="2" x_offset="0" 8 S; Y! r. l1 v. Q& i& n/ L* n
- ...
. L; f2 D# o2 X6 g W+ {6 U( d& l
复制代码 注意第一行中出现的“Sexy-Kanji Font AutoGenerated by Kanji Font Builder ”是辨识重点;
$ }6 V! p! w9 |. n! G! G/ t4 n5 C" N" ?8 l& B# k6 `) l
2、kfnt格式& O( D" E" u0 S
字库索引文件形如*.kfnt,格式如下:- %ktext 1 3 122" p/ v$ |9 I+ ~' P- I
- 10 2 2 2 85 0 83 0 0 0
, `$ A$ e) u6 z: X5 a - 13 4 2 4 85 0 83 0 0 0+ B& ]3 S& E o
- 32 6 2 29 85 20 83 0 0 0
. A% j: O; ^5 E* a, Z- C* | - 33 31 2 51 85 6 83 0 0 0
复制代码 首行的%kext字样是辨识重点。其他数值从左至右分别代表code,sx1,sy1,sx2,...(参数意义待完善)
9 ~! h% U, k$ g9 s9 K(写到这里,阿7师父,你梦寐以求的“中间格式”,可以用这个来生成?)1 n' n$ s( B' `- i- N
4 m1 X, s+ U1 M, z" U: `" F二、工具的使用
: W9 U6 t6 _* m9 t' m% ^0 F
' }7 i' c/ m$ R4 B# r' X1 X 以下按照生成一个中文字库的大致流程简单介绍一下该工具的使用:$ @8 H9 K& i5 }
8 t b7 q! E; {% x" Z+ p6 A1、文本导入
3 \' y ]$ X) l5 m2 A' c( q/ j2 T" }3 _9 J- z
+ M9 R/ r5 M! {$ b0 S# T 如图,在character标签页面选择“Import from file”,在弹出窗口中选择要导入的文本就行了,我试验了txt和xml两种格式可直接导入,word导入是乱码(其它的没试,标准文本格式应该都是可以的)。软件会对文本实现自动去重排序,非重复有序文本显示在左边的窗口,可以继续编辑增删字符;(特别强调一下,对文本去重排序这个功能非常实用,不知道大家有没有用过tt?那个只支持ANSI格式的文本,这个完全实现了tt的功能,支持的格式还很多。)
% y6 t9 L8 [- O6 T8 }2 y' w6 z* z. P! o6 p
! w" l5 D- h' i9 I' j0 i( v6 _+ G( t
软件也同时提供了常用的缺省字符集,单击“CharMap”按钮即可选择;7 z2 ?- C" G9 P4 H
! j+ A( i2 {9 ?# J r1 M- |5 }
8 Z" j6 @% i5 n, d. g9 V' }" M& B2、字体设置
3 `: i, R6 ?; u/ ]# ^2 |+ S4 L# A' M) K# Y' v+ d
如图,对字体的定义均在Font标签页,第一排是字体、字形(加粗、倾斜)和大小,一看就明白;Option里面可设置字体颜色、背景颜色(缺省透明),Text Hinting里面是一些抗锯齿等参数,一般不用改,Texture Size里面设置字库图片大小,只有512、256和128共选择(KanjiBuilder生成的图片都是正方形);layout里面的spacing、Kerning和Padding都是字距的设置,具体效果自己试试就知道了。
; o+ Q0 f* q/ B1 a$ F( N9 Y0 o; i+ M; t- g3 n- \8 G+ v- v
0 f" _$ x# G3 L0 o, o) z7 [
+ P# ]5 E$ Z4 z$ @ z `! v* h每做一个修改右边的窗口都可以实时看到效果,非常方便,一个字库索引最多支持8张图片,就是Page1-8,但是一般来说够用了,1000多个24大小的字最多也就是4张图的样子。
/ s* C6 \! m2 x- n
( E: t3 S, c9 W) q3、输出设置
0 x( n7 |( L, T' M
J+ n% ~ p6 Z% Z8 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),还有文件名,全部设置为跟原游戏一样就行。7 H3 G5 b. P, m! P; L; t& c
下面Loading Code可以看代码。/ x; I; q* r: [+ P+ O5 \$ ]
/ f- z+ u/ U# b. V" @$ a! b6 I# P: ~$ {8 j
最后,点击“Build Font”按钮就可以完成字库的生成了。$ ?; R& E5 I, J. \* Z' {" A& r- @
|