本帖最后由 笨蛋狐狸 于 2011-3-25 10:00 编辑 Z% e8 x( Z6 F: x) n
; {$ _6 @, ?. _0 r$ u2 H$ H; Z+ g
感谢007找到了这个工具,答应写一篇教程还是要说话算话:)这个工具非常简单易用,而且功能还真是强大,实乃居家汉化之必备武器。下面简单介绍一下使用方法,不当之处请大家指出。
. P3 G. N1 F/ }+ O" ~
) o0 u4 ?) V4 k, ^% Q+ Y- ^! `先放一份工具:8 } }# ?% l& a! Z2 m/ o4 T" I
4 @! c- ?$ o- Y6 [* k7 S
一、识别游戏字库是否KanjiFont
' q' w2 N0 s/ m& h7 Z
+ `0 K" `0 i; A4 {3 H, L% P0 J9 V 俗话说再好的东西也要用对地方,我们如何识别一个游戏的字库是否能够用这个工具生成呢?就是看原游戏字库索引的格式。KanjiFontBuilder支持生成如下两种格式的索引:" \& [3 r* P) O& ^) A; j6 ?2 p
( t4 x4 e* Z( J+ N0 ~! C; o$ Z1、xml格式
8 v3 y6 ]1 ]- @9 ^, N! \2 }& [3 I% ? 顾名思义,字库索引文件形如*.xml,打开后格式如下- <!--Sexy-Kanji Font AutoGenerated by Kanji Font Builder (JPoag)-->
( | \1 U/ k3 N( X - <KanjiFont name="Arial" style="Regular" size="24" kerning="0" ascent="21" descent="5" height="28" line_spacing="27">
% b8 y/ o& U. t) a6 o1 v5 O - <ImagePlanes count="1">- }, |8 A- F9 ?- i6 e
- <Plane id="0" path="Arial24_page0.png" />/ P. q- w' Y$ i \9 _/ Y# Y1 J/ T Q
- </ImagePlanes>& H6 g7 ~ n# q' p7 g$ ]
- <FontTable>; H' F2 B4 N8 ?. w; K- O+ t1 i
- <Char code=" " graphic_id="0" sx1="2" sy1="2" sx2="9.992188" sy2="30" advance="7" x_offset="0" y_offset="0" />. \3 f2 w9 b* m- N4 l+ R4 ^0 |/ b
- <Char code="!" graphic_id="0" sx1="11.99219" sy1="2" sx2="18.66016" sy2="30" advance="2" x_offset="0"
; x4 f( F9 V2 W6 ^0 v' p" F' H - .../ q! z2 N/ T% j8 R) L
复制代码 注意第一行中出现的“Sexy-Kanji Font AutoGenerated by Kanji Font Builder ”是辨识重点;: \9 M* Z6 V' r/ R- T- r
/ M8 T$ @: z4 w4 E C
2、kfnt格式
8 C; g9 f; Z2 B, n0 k 字库索引文件形如*.kfnt,格式如下:- %ktext 1 3 122. U, l- a0 t c# |
- 10 2 2 2 85 0 83 0 0 0
; V+ i! n7 C. O# s4 } - 13 4 2 4 85 0 83 0 0 05 f8 W4 c) x2 I) ^+ b' }! O% J
- 32 6 2 29 85 20 83 0 0 0" d' M7 D) u& X
- 33 31 2 51 85 6 83 0 0 0
复制代码 首行的%kext字样是辨识重点。其他数值从左至右分别代表code,sx1,sy1,sx2,...(参数意义待完善)
: f. W3 @3 k& Y% J( E(写到这里,阿7师父,你梦寐以求的“中间格式”,可以用这个来生成?)" S" b4 H( }( z: n, D6 M9 s9 i
6 P4 Y) X" V# M' r! J' u9 O
二、工具的使用" y, j+ R( m. F" s" Y
/ L6 ^/ x& Y! j4 X& f% k 以下按照生成一个中文字库的大致流程简单介绍一下该工具的使用:9 K: L1 \/ j1 Y
1 {7 O `# f n+ a: P1、文本导入$ s) M. r8 a2 ^ j$ Z$ \$ b/ c
$ M/ H/ U$ k( Z$ i2 }% U
- }) g5 p8 q/ d$ ~: c0 c 如图,在character标签页面选择“Import from file”,在弹出窗口中选择要导入的文本就行了,我试验了txt和xml两种格式可直接导入,word导入是乱码(其它的没试,标准文本格式应该都是可以的)。软件会对文本实现自动去重排序,非重复有序文本显示在左边的窗口,可以继续编辑增删字符;(特别强调一下,对文本去重排序这个功能非常实用,不知道大家有没有用过tt?那个只支持ANSI格式的文本,这个完全实现了tt的功能,支持的格式还很多。)
9 ^; B% _1 p0 ]6 b6 C# j) t* \: _, Z# d( k
! y" }2 V7 [# ^# K
软件也同时提供了常用的缺省字符集,单击“CharMap”按钮即可选择;$ C* H& c2 T: T$ Z
% D+ P, u$ _8 I: b% v G$ E- D& P" J* P' {1 z
2、字体设置
+ a. e: X/ B" M" L- B" ]: y1 l# o; J R. _
如图,对字体的定义均在Font标签页,第一排是字体、字形(加粗、倾斜)和大小,一看就明白;Option里面可设置字体颜色、背景颜色(缺省透明),Text Hinting里面是一些抗锯齿等参数,一般不用改,Texture Size里面设置字库图片大小,只有512、256和128共选择(KanjiBuilder生成的图片都是正方形);layout里面的spacing、Kerning和Padding都是字距的设置,具体效果自己试试就知道了。& _2 p1 r( c6 T+ n2 ?
8 Q& g* R$ Q) |0 A7 S9 b
5 z: X) i/ o3 [* \0 t( Y4 ~* t" ~- Z9 t7 I1 k X! c7 h' T) q1 F
每做一个修改右边的窗口都可以实时看到效果,非常方便,一个字库索引最多支持8张图片,就是Page1-8,但是一般来说够用了,1000多个24大小的字最多也就是4张图的样子。
4 v T! p" p8 T
8 J8 C8 P2 @# C3、输出设置
1 u1 e5 {; z* q* \
H$ m1 |) X; 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),还有文件名,全部设置为跟原游戏一样就行。
4 h: a% }' x2 N# `9 q- _; |$ P下面Loading Code可以看代码。
. u9 o1 n6 b1 m+ E5 \; C$ S6 z% Y& P6 A" T
3 w! u% K* F2 ?最后,点击“Build Font”按钮就可以完成字库的生成了。5 H$ R( ~5 {% d. F$ ]
|