本帖最后由 笨蛋狐狸 于 2011-3-25 10:00 编辑
. @, |8 p" H" ]; R' ~' m8 B7 k' D1 j" v& o0 Z% u+ K5 x$ N' i% f
感谢007找到了这个工具,答应写一篇教程还是要说话算话:)这个工具非常简单易用,而且功能还真是强大,实乃居家汉化之必备武器。下面简单介绍一下使用方法,不当之处请大家指出。' F$ ]+ F+ S& T" r/ F
5 g8 }3 b3 ^* B! \9 }/ z
先放一份工具:3 f; [6 m/ J. V* S
8 s# @4 W6 a) u6 \ i' ^' ~" h一、识别游戏字库是否KanjiFont
9 z8 j2 G' T7 I: l2 K( F$ v% n+ r! F+ m
俗话说再好的东西也要用对地方,我们如何识别一个游戏的字库是否能够用这个工具生成呢?就是看原游戏字库索引的格式。KanjiFontBuilder支持生成如下两种格式的索引:. g! K+ v3 G+ u3 n; S( u: ~; l, I, K! V
+ S4 X' f" J" q4 q1、xml格式% E- w8 D' `+ r6 m, h
顾名思义,字库索引文件形如*.xml,打开后格式如下- <!--Sexy-Kanji Font AutoGenerated by Kanji Font Builder (JPoag)-->
2 w1 l" l: @% s" F+ @2 K4 L/ Q3 h6 F - <KanjiFont name="Arial" style="Regular" size="24" kerning="0" ascent="21" descent="5" height="28" line_spacing="27">
9 X5 }: X1 n( n8 Q7 C - <ImagePlanes count="1">+ h1 z5 h# v) T- G3 s( H. W
- <Plane id="0" path="Arial24_page0.png" />1 G; P! b, j7 l) ^- m
- </ImagePlanes>* ^* J' @% t- x q F
- <FontTable>! c% d2 @2 t$ J L, l& U3 m4 G; Q
- <Char code=" " graphic_id="0" sx1="2" sy1="2" sx2="9.992188" sy2="30" advance="7" x_offset="0" y_offset="0" />
; G1 |% s' A7 ^% Z* Q- O - <Char code="!" graphic_id="0" sx1="11.99219" sy1="2" sx2="18.66016" sy2="30" advance="2" x_offset="0" & A* L$ b! @; L* r8 t, N# R ~4 i
- ...- ?9 T2 R f2 @
复制代码 注意第一行中出现的“Sexy-Kanji Font AutoGenerated by Kanji Font Builder ”是辨识重点;4 b7 l' V! u; @7 u
+ l, G1 C* z/ j: _4 y2 s' G
2、kfnt格式' l. Y5 m6 i4 D# t* X+ O/ C8 u; q& L6 ?
字库索引文件形如*.kfnt,格式如下:- %ktext 1 3 122
4 p9 F, m/ H( l% U - 10 2 2 2 85 0 83 0 0 0 W6 g( `- R$ p+ h$ l8 ~" Y$ M* ]/ Z
- 13 4 2 4 85 0 83 0 0 0
% _' _. V& _" W' \ - 32 6 2 29 85 20 83 0 0 0, K5 k( Q+ ^; j4 O& c6 K. t8 y
- 33 31 2 51 85 6 83 0 0 0
复制代码 首行的%kext字样是辨识重点。其他数值从左至右分别代表code,sx1,sy1,sx2,...(参数意义待完善): s$ V7 Y7 q) _; C4 V1 p: _
(写到这里,阿7师父,你梦寐以求的“中间格式”,可以用这个来生成?)
1 ?, \8 O9 G. R$ a5 m P0 e- h
" H! m- j: c6 Y: F二、工具的使用& ]+ }; V: j! u% m% [
) F8 i8 P: {8 Y
以下按照生成一个中文字库的大致流程简单介绍一下该工具的使用:0 z5 B; z7 r) h7 ]5 c1 b
2 r$ A1 c( K! o; W1、文本导入
# Q& K+ _ ?' v
9 q @& o" b: V+ Q6 w- h! z2 U" V, d5 a' d" N% L
如图,在character标签页面选择“Import from file”,在弹出窗口中选择要导入的文本就行了,我试验了txt和xml两种格式可直接导入,word导入是乱码(其它的没试,标准文本格式应该都是可以的)。软件会对文本实现自动去重排序,非重复有序文本显示在左边的窗口,可以继续编辑增删字符;(特别强调一下,对文本去重排序这个功能非常实用,不知道大家有没有用过tt?那个只支持ANSI格式的文本,这个完全实现了tt的功能,支持的格式还很多。)
/ Q+ E! p/ D" O# B* R: `
. H8 q y& j* z' q, k) l8 V7 T+ B! q7 Z0 q( h) \2 ]2 j( z3 q2 |
软件也同时提供了常用的缺省字符集,单击“CharMap”按钮即可选择;
6 w9 T3 t8 O( F% S& ]& n ^2 s, R4 F
8 C: d& X0 X/ v: R z! x* T6 `% ^; O4 t; x% }
2、字体设置
7 Q7 s# a$ T7 Q8 I4 T/ z0 \7 R: b/ I- d# f/ { W) g# P
如图,对字体的定义均在Font标签页,第一排是字体、字形(加粗、倾斜)和大小,一看就明白;Option里面可设置字体颜色、背景颜色(缺省透明),Text Hinting里面是一些抗锯齿等参数,一般不用改,Texture Size里面设置字库图片大小,只有512、256和128共选择(KanjiBuilder生成的图片都是正方形);layout里面的spacing、Kerning和Padding都是字距的设置,具体效果自己试试就知道了。
! R. g* D, T# l' {$ i, H! V7 U; ~7 h4 \" b+ P/ _& w
. X+ E) N( m# t8 p9 a& c
/ O' q: F: _* b, k每做一个修改右边的窗口都可以实时看到效果,非常方便,一个字库索引最多支持8张图片,就是Page1-8,但是一般来说够用了,1000多个24大小的字最多也就是4张图的样子。
+ l9 ]- A! f. o& _9 V' D; I# T: H+ q1 p) q
3、输出设置1 y3 Q8 v' s/ q' W1 b/ L n! m5 X
. p/ |& M' B$ q% t. z 如图,输出设置均在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),还有文件名,全部设置为跟原游戏一样就行。
, Q% k8 j/ {/ G下面Loading Code可以看代码。. W$ D: P$ V$ y6 ] W3 E' S
- x8 K5 N/ _! u5 n- ^
7 c/ s+ o, j: S1 e! }) g( u最后,点击“Build Font”按钮就可以完成字库的生成了。) F8 y1 R+ P8 d( _
|