本帖最后由 笨蛋狐狸 于 2011-3-25 10:00 编辑 , A- p! K5 s8 s( G) W# q
& U! b# y7 G& g9 h! y& d7 d& _
感谢007找到了这个工具,答应写一篇教程还是要说话算话:)这个工具非常简单易用,而且功能还真是强大,实乃居家汉化之必备武器。下面简单介绍一下使用方法,不当之处请大家指出。3 b/ S7 }& K ?: ~ C% k
6 @( ?' Q" c8 F先放一份工具:
: }( z7 n: i7 T2 h! X
0 S6 q# d, ]4 `& R' |一、识别游戏字库是否KanjiFont
) ]1 H( g7 \) O! a) i: w% k
% {" J$ t3 J! v, n 俗话说再好的东西也要用对地方,我们如何识别一个游戏的字库是否能够用这个工具生成呢?就是看原游戏字库索引的格式。KanjiFontBuilder支持生成如下两种格式的索引:* N/ N6 X: Y7 J
9 d" U; x5 o% p4 ^. C# Z" b5 ?1、xml格式
) E% I6 u' i2 Y8 m6 A2 Q$ J- o) k& b 顾名思义,字库索引文件形如*.xml,打开后格式如下- <!--Sexy-Kanji Font AutoGenerated by Kanji Font Builder (JPoag)-->+ P: O& d, e0 t/ d/ t, O
- <KanjiFont name="Arial" style="Regular" size="24" kerning="0" ascent="21" descent="5" height="28" line_spacing="27">
e) |* |# e _- [ - <ImagePlanes count="1">
2 d# {' Y- W& ]7 i1 {5 T( R - <Plane id="0" path="Arial24_page0.png" />, X, y( }- d4 T1 K( |: \6 X
- </ImagePlanes>
) q& \. K8 \! k - <FontTable># p; H% s/ z9 e) d a9 h- d- U
- <Char code=" " graphic_id="0" sx1="2" sy1="2" sx2="9.992188" sy2="30" advance="7" x_offset="0" y_offset="0" />
, J5 ~) m: t0 z1 R; w4 e - <Char code="!" graphic_id="0" sx1="11.99219" sy1="2" sx2="18.66016" sy2="30" advance="2" x_offset="0" , p, d h, A/ @% c# m
- ...
0 \7 _: k3 L" v6 v: F
复制代码 注意第一行中出现的“Sexy-Kanji Font AutoGenerated by Kanji Font Builder ”是辨识重点;
' L1 Y9 P& l7 A* I3 W; \- U' H* w$ o* b, b8 e
2、kfnt格式" _9 t: ?; [$ a4 h K, S/ Q9 W
字库索引文件形如*.kfnt,格式如下:- %ktext 1 3 122
' q6 z$ O" l' D" g- _& h+ v I( S - 10 2 2 2 85 0 83 0 0 02 j; z' e+ [* L0 I" }" p& g
- 13 4 2 4 85 0 83 0 0 0+ v3 K- ~" ~/ R& _
- 32 6 2 29 85 20 83 0 0 0
+ V3 r5 ], f; |* z5 e3 y% J: s - 33 31 2 51 85 6 83 0 0 0
复制代码 首行的%kext字样是辨识重点。其他数值从左至右分别代表code,sx1,sy1,sx2,...(参数意义待完善). q: a+ L0 [7 i3 C5 C
(写到这里,阿7师父,你梦寐以求的“中间格式”,可以用这个来生成?)+ r+ o8 `2 Q. t+ @0 `' ~$ k+ R
2 V# D7 Z1 j* P3 N/ i. {* V k
二、工具的使用
, n% B v7 q* N! {" h* b8 X! |8 M . K( L6 K- v' R' o
以下按照生成一个中文字库的大致流程简单介绍一下该工具的使用:2 |; l8 S- R3 \1 e& R: R; c# ~! d
! d( O7 } ~. v! _4 y1、文本导入
7 P( n* P1 w. W* g. I
9 i$ m) }: \) r) ]/ x% K8 D! n6 Q2 w3 E; f- [/ F
如图,在character标签页面选择“Import from file”,在弹出窗口中选择要导入的文本就行了,我试验了txt和xml两种格式可直接导入,word导入是乱码(其它的没试,标准文本格式应该都是可以的)。软件会对文本实现自动去重排序,非重复有序文本显示在左边的窗口,可以继续编辑增删字符;(特别强调一下,对文本去重排序这个功能非常实用,不知道大家有没有用过tt?那个只支持ANSI格式的文本,这个完全实现了tt的功能,支持的格式还很多。)+ |+ C7 F8 u% d" _1 i" Y7 E: c* t
. i! a- p/ h, I/ \1 k, N+ V5 s$ ~. n4 h4 T! A
软件也同时提供了常用的缺省字符集,单击“CharMap”按钮即可选择;( x( J# _# \$ P' {6 G
, }2 L% B+ O# b0 V+ t
" Z. D0 w t6 D
2、字体设置6 h k! [, Y. c) q% V
7 n5 M& r$ T t& {' @" M7 m' [7 B如图,对字体的定义均在Font标签页,第一排是字体、字形(加粗、倾斜)和大小,一看就明白;Option里面可设置字体颜色、背景颜色(缺省透明),Text Hinting里面是一些抗锯齿等参数,一般不用改,Texture Size里面设置字库图片大小,只有512、256和128共选择(KanjiBuilder生成的图片都是正方形);layout里面的spacing、Kerning和Padding都是字距的设置,具体效果自己试试就知道了。; w& n# O3 v, j/ w2 X
. s3 s! i7 |6 m% a6 n% S
( }" i1 C; p% Z
( U9 o7 I( [. c3 ], H0 S3 A每做一个修改右边的窗口都可以实时看到效果,非常方便,一个字库索引最多支持8张图片,就是Page1-8,但是一般来说够用了,1000多个24大小的字最多也就是4张图的样子。
" q4 y6 j0 [. k) s, ? s! h, i1 ~6 z
2 R% G9 q8 H: J4 n, \( R; U# U% f3、输出设置
/ o! v0 I4 c% r7 R6 L+ y
! g s' \$ Z( _, i* o! x% I9 r! b1 A 如图,输出设置均在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),还有文件名,全部设置为跟原游戏一样就行。& S# x0 K5 W* B$ I: t2 |
下面Loading Code可以看代码。$ E, u. v0 H. p$ ^. @
+ U5 H0 ` I! k* T4 v4 P; T* r: S" W8 p
/ a1 l& C7 T" o7 @最后,点击“Build Font”按钮就可以完成字库的生成了。
4 B: j4 V! c1 b! L n$ p |