由于汉化内容很复杂,在这个帖子里只讨论和主菜单汉化有关的内容。
$ h4 I3 l: g+ e主菜单使用一个独立的tga图片作为字库,所以要汉化主菜单只要把tga图片里字母的样子修改掉就可以了。 * c1 V; h" h% {
5 i. ^* E$ b. J+ u1 m* K9 N/ q前期准备
7 A* X6 D8 `$ a. F: f1.找一个和主菜单的字体风格相同的中文TTF字体。
. p5 {1 A& P3 m/ A2.对英文主菜单的字体的高度和宽度进行研究,寻找出适合的中文字体的高度和宽度。
0 G1 j0 Q5 x' c) Y3.在字幕文件中找出主菜单字幕ID和字幕文本。 # P) G5 C3 ] n, x! g0 N
4.翻译字幕文本。 & K/ U0 M" y$ d- I7 V
5.统计译文中不重复的中文字的个数。
# W6 {4 g% h/ c9 j/ q" H& d3 f4 p! F( t
字体文件初始化
- S( x7 ]4 a7 ^* e, D7 ]/ Wtga文件有2个配置xml文件,其中一个记录了每个字母在图片中的x,y坐标,宽度,高度,以及显示时的x,y方向上的修正量。配置文件的每一条记录,其实相当于给tga图片中的每个字母画上了一个看不见的 7 G/ u! j( b* p
小方框。
5 @' ~' D( j' s5 Y) B0 x
- i9 [* v" U4 H! S2 x7 I在前期准备中我们取得了译文中不重复的中文字的个数,以及预先设定了适合的中文字体的高度和体宽度。接下去
1 P; b0 D7 K# @3 |1.修改配置文件,使配置文件和我们设定的中文相符合。 7 n; {4 C- @9 a/ v" R0 \
2.修改tga图片,把中文写到图片上。 8 W6 I4 D- z v7 N7 X0 O
" ]& C/ i9 A9 A7 W& N9 A要做到上面2件事还是挺复杂的,下面详细说明。 + |/ M8 T' S4 y {, g
字体的参数修改以后,一行所能容纳的字符个数就和原来的不同了。
* p U3 @8 s6 s) B) U6 Q如果一张512X512的tga图片不能容纳所有的中文字符的话,还可以扩大图片的尺寸,cegui好像还支持1024X1024的尺寸,如果还不行,可以适当修改译文,减少不重复的中文字符的个数。不过,主菜单的字幕应该不多,以上这些情况应该不会很严重。
+ B' y- [4 X6 R( p% Q* a' ? @8 l0 t" A
如何把中文字符写到tga图片上去呢?
& M! a1 H6 \9 M- Q) L
# o5 ^5 L5 \! E/ n2 X' T, s6 Z' L
/ f: N# t1 ~: m( I3 f待续9 g% B1 T8 V, y$ e- X* ^6 ?
% S X, e, A8 G+ \) @ _0 B, w
# m5 ?8 B) g8 B0 N+ o1 [, I
|