本帖最后由 笨蛋狐狸 于 2011-3-25 10:00 编辑 2 o2 k3 p1 k& x1 t1 ?* Z/ h4 k$ i
+ d6 {0 l& Y& ^$ f9 B- r
感谢007找到了这个工具,答应写一篇教程还是要说话算话:)这个工具非常简单易用,而且功能还真是强大,实乃居家汉化之必备武器。下面简单介绍一下使用方法,不当之处请大家指出。
/ A+ `/ G% F, y( x/ j$ S& F
U( } B' j9 S. ^先放一份工具:
$ w. ^5 G! p2 r0 O# F, N6 Z4 B2 d1 l5 i+ m
一、识别游戏字库是否KanjiFont1 |* Y) g0 o8 o
8 y x" n' G3 U1 E4 }% G 俗话说再好的东西也要用对地方,我们如何识别一个游戏的字库是否能够用这个工具生成呢?就是看原游戏字库索引的格式。KanjiFontBuilder支持生成如下两种格式的索引:- d" y. |! x$ e, M/ Y& d
& X1 W3 ]6 c5 E: E) Y
1、xml格式
. y' }1 q9 f, M 顾名思义,字库索引文件形如*.xml,打开后格式如下- <!--Sexy-Kanji Font AutoGenerated by Kanji Font Builder (JPoag)-->( F3 U+ H9 y/ C* h% S4 Q3 P
- <KanjiFont name="Arial" style="Regular" size="24" kerning="0" ascent="21" descent="5" height="28" line_spacing="27">
, d1 m, H$ T4 F# {$ D+ | - <ImagePlanes count="1">" h5 p0 P. r+ j9 W( Y" U! s
- <Plane id="0" path="Arial24_page0.png" />
! M; Q; c& ?# f) R* q1 Y) r - </ImagePlanes>* U0 n& U$ l s1 m% a
- <FontTable>
4 R& D3 |0 l, \8 R1 k - <Char code=" " graphic_id="0" sx1="2" sy1="2" sx2="9.992188" sy2="30" advance="7" x_offset="0" y_offset="0" />
( X1 P- {) F( ]' y/ N# E - <Char code="!" graphic_id="0" sx1="11.99219" sy1="2" sx2="18.66016" sy2="30" advance="2" x_offset="0" 2 a$ J8 N3 T$ ?+ ^
- ...; n2 `; _/ a5 v! K4 ?, d* P
复制代码 注意第一行中出现的“Sexy-Kanji Font AutoGenerated by Kanji Font Builder ”是辨识重点;
1 c4 c: A9 K" K4 B9 j0 D& W( ~
. {( @, J' p# ^' \& V. Q' N2、kfnt格式
, [4 u' b( x9 b* N 字库索引文件形如*.kfnt,格式如下:- %ktext 1 3 122
$ a7 Z( y) b. |' j! P( N* Q - 10 2 2 2 85 0 83 0 0 0! ?( n) v- L0 E8 @7 G. m
- 13 4 2 4 85 0 83 0 0 0
6 O+ D6 I& o( p1 G+ W! V" E: a - 32 6 2 29 85 20 83 0 0 0
/ r9 v5 S' c5 K/ O$ N; [2 a - 33 31 2 51 85 6 83 0 0 0
复制代码 首行的%kext字样是辨识重点。其他数值从左至右分别代表code,sx1,sy1,sx2,...(参数意义待完善)2 ]: J. I& u0 U Z
(写到这里,阿7师父,你梦寐以求的“中间格式”,可以用这个来生成?)
3 i: u* e% n9 X
: s/ Q6 E4 _5 m9 D2 y$ z: L二、工具的使用7 N& O) z, v1 O
0 X- l+ R: h) N: @6 C 以下按照生成一个中文字库的大致流程简单介绍一下该工具的使用:
5 l# e# q9 o. _3 l% k/ s1 b) f- u: d. a; ]) Z
1、文本导入 f2 k; w- k2 k8 o, T3 K4 H
( A/ Q/ r' C* F4 k. d
* Y4 J* _% W U7 D 如图,在character标签页面选择“Import from file”,在弹出窗口中选择要导入的文本就行了,我试验了txt和xml两种格式可直接导入,word导入是乱码(其它的没试,标准文本格式应该都是可以的)。软件会对文本实现自动去重排序,非重复有序文本显示在左边的窗口,可以继续编辑增删字符;(特别强调一下,对文本去重排序这个功能非常实用,不知道大家有没有用过tt?那个只支持ANSI格式的文本,这个完全实现了tt的功能,支持的格式还很多。)* ~# I. Y! P4 ^* ~
3 _/ [. j3 d" {2 e3 W1 q1 l% X# i( J" Y' N2 f- t
软件也同时提供了常用的缺省字符集,单击“CharMap”按钮即可选择;$ w, b& R2 v! X0 }
- m( R" m: f0 L ]2 X1 M; w( ^9 S. |* h1 {8 n3 j
2、字体设置
8 J8 L2 B8 O8 M; O# b
) c6 k \. t' g' e$ Q- {& k如图,对字体的定义均在Font标签页,第一排是字体、字形(加粗、倾斜)和大小,一看就明白;Option里面可设置字体颜色、背景颜色(缺省透明),Text Hinting里面是一些抗锯齿等参数,一般不用改,Texture Size里面设置字库图片大小,只有512、256和128共选择(KanjiBuilder生成的图片都是正方形);layout里面的spacing、Kerning和Padding都是字距的设置,具体效果自己试试就知道了。% F3 C; V. h( a
" m4 a3 F# D1 g- s' J1 M, Q* W! h7 l! T6 z, \4 [$ o
- W( p {9 K' L+ I% P
每做一个修改右边的窗口都可以实时看到效果,非常方便,一个字库索引最多支持8张图片,就是Page1-8,但是一般来说够用了,1000多个24大小的字最多也就是4张图的样子。
4 J" K: Z, C7 g3 E( e. R$ c3 S" l; ^0 N) f3 B# r. o/ C1 m
3、输出设置& g/ B3 c2 ~3 W
; x( m9 i( t+ k( A( s 如图,输出设置均在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),还有文件名,全部设置为跟原游戏一样就行。0 m: i0 ` A0 Y
下面Loading Code可以看代码。 v3 j# M! w0 `. U4 d' B4 |
@. j% @" Z7 o( ~& {' d+ H
/ z4 \( c+ H1 ]7 ~最后,点击“Build Font”按钮就可以完成字库的生成了。
2 a _7 y! N5 O: f- q9 n2 {7 r |