本帖最后由 笨蛋狐狸 于 2011-3-25 10:00 编辑 ; Y5 ^1 [! e5 |
) n) H Z' O9 \: t" y% {8 D N 感谢007找到了这个工具,答应写一篇教程还是要说话算话:)这个工具非常简单易用,而且功能还真是强大,实乃居家汉化之必备武器。下面简单介绍一下使用方法,不当之处请大家指出。
( I* K# s$ A r) ^6 `
# _) i6 R: B$ K/ S7 Q( |9 m先放一份工具:; A P+ T ~1 _+ H) g
' y1 {3 p3 U9 t一、识别游戏字库是否KanjiFont
8 Q- s* W0 X0 y4 h
3 Y& `6 ^- R# Q, G2 L 俗话说再好的东西也要用对地方,我们如何识别一个游戏的字库是否能够用这个工具生成呢?就是看原游戏字库索引的格式。KanjiFontBuilder支持生成如下两种格式的索引:- ~1 ~9 B6 B/ s4 m5 P
" r0 s: S+ I# \/ [1、xml格式
& j8 C- h' e4 V# C# b* Y+ o, i; e0 F5 |& J 顾名思义,字库索引文件形如*.xml,打开后格式如下- <!--Sexy-Kanji Font AutoGenerated by Kanji Font Builder (JPoag)-->
3 Z! I$ `' |3 U$ s. ^ - <KanjiFont name="Arial" style="Regular" size="24" kerning="0" ascent="21" descent="5" height="28" line_spacing="27">
1 p: q I8 x4 C5 ~; K& n - <ImagePlanes count="1">) {( P9 i4 @+ X+ W
- <Plane id="0" path="Arial24_page0.png" />, s* u+ x3 Y# w
- </ImagePlanes>3 Y) l- r3 J( o1 `" z0 i
- <FontTable>
, ]) B" W: ]9 a8 T - <Char code=" " graphic_id="0" sx1="2" sy1="2" sx2="9.992188" sy2="30" advance="7" x_offset="0" y_offset="0" />
& Q3 l& S, F! Y4 B0 F - <Char code="!" graphic_id="0" sx1="11.99219" sy1="2" sx2="18.66016" sy2="30" advance="2" x_offset="0" - g1 U! c4 f. B9 i: C1 b$ q' |" }
- ...! `9 Y* ~* Z* |' O& l
复制代码 注意第一行中出现的“Sexy-Kanji Font AutoGenerated by Kanji Font Builder ”是辨识重点;( L5 }, p, N1 z8 P1 M
& Z3 @/ e2 T/ D1 V" s4 s/ A8 |
2、kfnt格式
. _* W2 {, X8 u 字库索引文件形如*.kfnt,格式如下:- %ktext 1 3 122
# D6 c) Z; P& C0 V* O: k( q, _ - 10 2 2 2 85 0 83 0 0 08 x. i8 Y3 k* K9 X- y4 O& {; I3 A# B0 `
- 13 4 2 4 85 0 83 0 0 08 O, J3 _5 c7 I! T
- 32 6 2 29 85 20 83 0 0 0
0 ^5 |: F1 [+ H# v h) k - 33 31 2 51 85 6 83 0 0 0
复制代码 首行的%kext字样是辨识重点。其他数值从左至右分别代表code,sx1,sy1,sx2,...(参数意义待完善)
: P7 @6 T: R# V5 s; G2 T$ v* v2 g(写到这里,阿7师父,你梦寐以求的“中间格式”,可以用这个来生成?)3 o4 c A' e) v3 B9 d) w7 t9 `
3 y5 j: ^& X# B% ~! R$ u
二、工具的使用
% S1 q6 R, }+ s & \" p: B% ?( b0 X8 a2 r- l6 M
以下按照生成一个中文字库的大致流程简单介绍一下该工具的使用:
3 J- A4 R3 W O1 O+ `& V6 {5 H) d ], e5 X- y
1、文本导入# V! D7 g9 a. r5 H& G: u- r7 S
1 N! O5 `( @9 B( P; I7 @ q' w6 o' p, j# J5 w0 r a
如图,在character标签页面选择“Import from file”,在弹出窗口中选择要导入的文本就行了,我试验了txt和xml两种格式可直接导入,word导入是乱码(其它的没试,标准文本格式应该都是可以的)。软件会对文本实现自动去重排序,非重复有序文本显示在左边的窗口,可以继续编辑增删字符;(特别强调一下,对文本去重排序这个功能非常实用,不知道大家有没有用过tt?那个只支持ANSI格式的文本,这个完全实现了tt的功能,支持的格式还很多。)
; s' K- V3 v |
7 G: q1 l: R, t0 O/ Y0 X4 l4 Q/ O: i- N! n; J: e
软件也同时提供了常用的缺省字符集,单击“CharMap”按钮即可选择;
- G6 M5 p+ ?& h6 w. \2 h+ X% p. N- [8 A: e- e- n2 m( f' z; x
( k' P1 ^/ S4 o3 v) J9 C- l" ?2、字体设置
4 o! k: D' C6 P7 w# Q8 ~( E# W, l! h* e$ l* h3 B% R6 s9 y3 x5 r
如图,对字体的定义均在Font标签页,第一排是字体、字形(加粗、倾斜)和大小,一看就明白;Option里面可设置字体颜色、背景颜色(缺省透明),Text Hinting里面是一些抗锯齿等参数,一般不用改,Texture Size里面设置字库图片大小,只有512、256和128共选择(KanjiBuilder生成的图片都是正方形);layout里面的spacing、Kerning和Padding都是字距的设置,具体效果自己试试就知道了。
1 f" W2 z3 i5 r9 n# Z7 |% k+ g6 Y; G# @" b+ O
5 V* }+ f4 ^! ~! [
0 i' K& a% q K
每做一个修改右边的窗口都可以实时看到效果,非常方便,一个字库索引最多支持8张图片,就是Page1-8,但是一般来说够用了,1000多个24大小的字最多也就是4张图的样子。
# G# X5 d6 ~- e+ k4 X/ R- H- ?3 r2 G# b8 E& r9 Q
3、输出设置% q6 x/ {$ n. z% ^7 ]9 y) d6 M
4 y9 Q5 `- C0 f8 \
如图,输出设置均在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),还有文件名,全部设置为跟原游戏一样就行。, P5 \+ R5 R7 s( A# x# m
下面Loading Code可以看代码。7 Q' ~* @% Y q5 C# z7 w3 f: W
- d" z' M ~' B) s
4 I0 C+ f9 u, l4 j" u: I, k: f
最后,点击“Build Font”按钮就可以完成字库的生成了。# q5 ^ T7 T( q3 c C
|