由于汉化内容很复杂,在这个帖子里只讨论和主菜单汉化有关的内容。 1 y1 B5 d+ D3 g% H
主菜单使用一个独立的tga图片作为字库,所以要汉化主菜单只要把tga图片里字母的样子修改掉就可以了。 7 }% d: L1 t! V) X7 q9 }- z
( J9 _3 _; {+ U8 Y# M- ?1 B前期准备 8 O" J1 S! k: L
1.找一个和主菜单的字体风格相同的中文TTF字体。 : k2 e5 x: u! o/ D& U; s8 ?
2.对英文主菜单的字体的高度和宽度进行研究,寻找出适合的中文字体的高度和宽度。
' M* R( t) B7 X. [4 i' z2 X$ s3.在字幕文件中找出主菜单字幕ID和字幕文本。
* V E9 y4 A7 P, t4.翻译字幕文本。
& X& }9 X& b# Y" ~5 l3 \9 l5.统计译文中不重复的中文字的个数。 - F |- u/ r: c/ ^; Q
. `3 `5 E1 ?: j" D$ f+ v k
字体文件初始化 + `; X3 y0 q; [9 \7 D( r
tga文件有2个配置xml文件,其中一个记录了每个字母在图片中的x,y坐标,宽度,高度,以及显示时的x,y方向上的修正量。配置文件的每一条记录,其实相当于给tga图片中的每个字母画上了一个看不见的
$ Q+ y) I( H: i4 t/ I/ h小方框。 $ ?( Q, l& s4 z3 s3 ~& y1 A3 H
. n. y ^: h# y* c在前期准备中我们取得了译文中不重复的中文字的个数,以及预先设定了适合的中文字体的高度和体宽度。接下去 y% u+ ^+ n0 h+ i b; k# @9 m0 y y
1.修改配置文件,使配置文件和我们设定的中文相符合。 $ x2 l+ P! A* a" M3 o7 ` F
2.修改tga图片,把中文写到图片上。
' }0 P! j7 V, a4 M( s, X+ j
# j9 E$ t; m z, I8 z B要做到上面2件事还是挺复杂的,下面详细说明。 6 l% Z1 u& F4 ^" m0 O
字体的参数修改以后,一行所能容纳的字符个数就和原来的不同了。 3 |" o4 S' n- d( t+ J: l0 n& y
如果一张512X512的tga图片不能容纳所有的中文字符的话,还可以扩大图片的尺寸,cegui好像还支持1024X1024的尺寸,如果还不行,可以适当修改译文,减少不重复的中文字符的个数。不过,主菜单的字幕应该不多,以上这些情况应该不会很严重。 # _% B; }) O8 R+ a! G8 [8 M
* o5 N+ d& M- }& x
如何把中文字符写到tga图片上去呢?
" ^( R) n3 }" S3 G5 D$ V6 M
. N% H' K9 N& {5 p& C7 s* x1 L
: h$ G J, e2 Z/ q- W# h待续
% f$ r/ q* f5 J! r& l
) k6 R7 z# X! B( u& [$ O( L1 K7 [* t0 x! X. i8 D3 m# D* X7 @
|