本帖最后由 笨蛋狐狸 于 2011-3-25 10:00 编辑 7 g4 Y5 L5 h' [! b, B/ @" g, T
' T: O0 [6 r1 {; b 感谢007找到了这个工具,答应写一篇教程还是要说话算话:)这个工具非常简单易用,而且功能还真是强大,实乃居家汉化之必备武器。下面简单介绍一下使用方法,不当之处请大家指出。
V1 Q+ @4 L; D7 C2 W8 E, I
0 C$ A3 I ^7 E1 @4 H0 K先放一份工具:
% N5 c4 x% W( T* C5 [; I
, h5 X0 f4 L6 n0 w一、识别游戏字库是否KanjiFont" ^& l2 a3 }' J
" c$ Z# k8 E$ x- g/ b" I) u: M
俗话说再好的东西也要用对地方,我们如何识别一个游戏的字库是否能够用这个工具生成呢?就是看原游戏字库索引的格式。KanjiFontBuilder支持生成如下两种格式的索引:
3 D/ b! B# F2 _- R7 I* n
6 v9 D; v5 J4 H- L/ m# I# r1、xml格式
6 J% n0 o: b- i 顾名思义,字库索引文件形如*.xml,打开后格式如下- <!--Sexy-Kanji Font AutoGenerated by Kanji Font Builder (JPoag)--> l3 F) }9 v/ { ]$ z t% Y( ^
- <KanjiFont name="Arial" style="Regular" size="24" kerning="0" ascent="21" descent="5" height="28" line_spacing="27">! i, C9 ~1 g0 X& N
- <ImagePlanes count="1">/ d/ Q% U1 l! i) o, w. e4 N8 k/ Y
- <Plane id="0" path="Arial24_page0.png" />5 k$ J( o' r# N9 B6 h% f2 w; b
- </ImagePlanes>
" ?6 \4 Y; s) W) T* f9 j; ? - <FontTable>' ?9 o$ Y' q) [& {
- <Char code=" " graphic_id="0" sx1="2" sy1="2" sx2="9.992188" sy2="30" advance="7" x_offset="0" y_offset="0" />
0 K0 Y B U9 u- z3 ` - <Char code="!" graphic_id="0" sx1="11.99219" sy1="2" sx2="18.66016" sy2="30" advance="2" x_offset="0"
% n6 z; z/ d! A! r4 | - ...& ^+ v3 x D# |; ^) b; r% z
复制代码 注意第一行中出现的“Sexy-Kanji Font AutoGenerated by Kanji Font Builder ”是辨识重点;+ n) v3 X4 N5 |- |* e$ }( U
) {+ u1 W7 s( n1 K% O$ ^ M
2、kfnt格式7 r Q/ a/ K y8 M2 e8 G
字库索引文件形如*.kfnt,格式如下:- %ktext 1 3 122$ M6 Z9 y5 p) S, Z) }* q4 ^0 h
- 10 2 2 2 85 0 83 0 0 0
, s8 I W$ e' ? - 13 4 2 4 85 0 83 0 0 0
/ {2 E3 }3 g7 I. Z" i - 32 6 2 29 85 20 83 0 0 0
0 U1 M4 P' ]' F, g$ T - 33 31 2 51 85 6 83 0 0 0
复制代码 首行的%kext字样是辨识重点。其他数值从左至右分别代表code,sx1,sy1,sx2,...(参数意义待完善)
% R) ~* f4 c% ]' ?- F4 Z" G(写到这里,阿7师父,你梦寐以求的“中间格式”,可以用这个来生成?)
5 G4 A. {+ y$ ~9 x# Q, X# l, I
% {1 O$ M( j. j% n6 M9 q二、工具的使用
0 [6 }5 l( T& i8 s, l- `+ y : j) N" x( j6 p# Y. L/ S
以下按照生成一个中文字库的大致流程简单介绍一下该工具的使用:* [2 c3 E$ n; Y9 U
3 v4 C, \4 H. g2 P
1、文本导入% w+ E$ H2 | b- ]) Z% I
) G8 s( D) @( J9 E; ?- \- D' f o( O" Z/ }
如图,在character标签页面选择“Import from file”,在弹出窗口中选择要导入的文本就行了,我试验了txt和xml两种格式可直接导入,word导入是乱码(其它的没试,标准文本格式应该都是可以的)。软件会对文本实现自动去重排序,非重复有序文本显示在左边的窗口,可以继续编辑增删字符;(特别强调一下,对文本去重排序这个功能非常实用,不知道大家有没有用过tt?那个只支持ANSI格式的文本,这个完全实现了tt的功能,支持的格式还很多。)$ t5 |( z) Y, j1 Z
4 y, E( A# v; Q( T' o
* R9 h* v6 P1 Y! B5 t6 X* e软件也同时提供了常用的缺省字符集,单击“CharMap”按钮即可选择;4 m* Z, p# ^( U' c# W5 W
* ?8 k! \: r3 _, S+ Z, g2 ~- }' T: ]+ A9 x1 v8 o1 l
2、字体设置
7 ?9 Y0 D# D; u5 n& o" I5 W: b% Z& f; R7 |/ H1 w2 e
如图,对字体的定义均在Font标签页,第一排是字体、字形(加粗、倾斜)和大小,一看就明白;Option里面可设置字体颜色、背景颜色(缺省透明),Text Hinting里面是一些抗锯齿等参数,一般不用改,Texture Size里面设置字库图片大小,只有512、256和128共选择(KanjiBuilder生成的图片都是正方形);layout里面的spacing、Kerning和Padding都是字距的设置,具体效果自己试试就知道了。
( U" j9 u6 w4 M. {' N% X5 W" f8 S4 Y0 A i
. Z- x% U5 U) h& G$ b6 S' g: u. G8 k- M/ s
每做一个修改右边的窗口都可以实时看到效果,非常方便,一个字库索引最多支持8张图片,就是Page1-8,但是一般来说够用了,1000多个24大小的字最多也就是4张图的样子。; [2 D2 R) ~! U5 b2 e5 \
8 U: z0 l( d; f3、输出设置: }6 e8 h( U' H4 G. P& ?1 F' T
2 e* m) p; p: \ 如图,输出设置均在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),还有文件名,全部设置为跟原游戏一样就行。
~ a+ \- r4 \下面Loading Code可以看代码。
! ^3 O& [* s% r) i7 ^4 a3 E5 U2 v; k0 w/ a' C
2 n3 {8 @. C! R3 A T k. J& p, p最后,点击“Build Font”按钮就可以完成字库的生成了。. e2 r5 c8 P3 j& f( @
|