由于汉化内容很复杂,在这个帖子里只讨论和主菜单汉化有关的内容。
}/ K* o4 {( ^* W主菜单使用一个独立的tga图片作为字库,所以要汉化主菜单只要把tga图片里字母的样子修改掉就可以了。
( }' H+ z; h! c2 Y. n- \; N1 V6 \
前期准备 : T3 Q; x# \: R3 j
1.找一个和主菜单的字体风格相同的中文TTF字体。 0 P1 Q. d7 G/ y" z- W4 w, n) l
2.对英文主菜单的字体的高度和宽度进行研究,寻找出适合的中文字体的高度和宽度。 $ b i4 X) [$ E
3.在字幕文件中找出主菜单字幕ID和字幕文本。
, m) }6 \% q5 ]8 O; }4.翻译字幕文本。 5 [. }* r2 _: q! B `
5.统计译文中不重复的中文字的个数。
: B% T z; F# U# w( P& D) F
5 ^( r, q5 B, }2 D! l! y字体文件初始化 9 n0 i' H* ` C) J1 s
tga文件有2个配置xml文件,其中一个记录了每个字母在图片中的x,y坐标,宽度,高度,以及显示时的x,y方向上的修正量。配置文件的每一条记录,其实相当于给tga图片中的每个字母画上了一个看不见的 ! l' }' f2 M3 `6 ?( \
小方框。 3 {8 D! }; t1 L2 D
$ {& G5 Z2 }" A( a在前期准备中我们取得了译文中不重复的中文字的个数,以及预先设定了适合的中文字体的高度和体宽度。接下去 3 _5 N. J7 l( ], M# p
1.修改配置文件,使配置文件和我们设定的中文相符合。
, [9 k2 {- f& O# e2.修改tga图片,把中文写到图片上。 1 b' e' W8 W! U d, Y3 X
! L8 |/ i) g0 n4 o7 w
要做到上面2件事还是挺复杂的,下面详细说明。
" D6 u! d- l. }6 C0 s9 \字体的参数修改以后,一行所能容纳的字符个数就和原来的不同了。
$ ?; O% o" h0 V$ S/ k如果一张512X512的tga图片不能容纳所有的中文字符的话,还可以扩大图片的尺寸,cegui好像还支持1024X1024的尺寸,如果还不行,可以适当修改译文,减少不重复的中文字符的个数。不过,主菜单的字幕应该不多,以上这些情况应该不会很严重。 . w9 ]7 b. |0 m ^. D! U2 D
6 B3 C( r0 X$ l2 f如何把中文字符写到tga图片上去呢?
- c; ]3 ~) @( j4 [/ g2 x
& r1 J7 h; F2 w v) G9 I& k0 R! s. Z( v8 F- d \& X5 s
待续4 ?* C; c4 _" N7 ~) q2 i
, n" O6 [% m. K3 }# V" b t' m- m& H
|