由于汉化内容很复杂,在这个帖子里只讨论和主菜单汉化有关的内容。
g |, Q1 O2 R' _主菜单使用一个独立的tga图片作为字库,所以要汉化主菜单只要把tga图片里字母的样子修改掉就可以了。 $ ]1 y6 Q7 K4 S# E& e9 B
4 b1 _$ A w3 P6 E9 D$ w前期准备 - H& K, b& N9 x7 t* ^4 A1 y8 _
1.找一个和主菜单的字体风格相同的中文TTF字体。
0 }" G- A! F- @+ H% r0 T7 I. ]+ J2.对英文主菜单的字体的高度和宽度进行研究,寻找出适合的中文字体的高度和宽度。
/ ^. D1 k7 g2 b8 A. f3.在字幕文件中找出主菜单字幕ID和字幕文本。
8 c0 r4 Q) H7 U3 G4.翻译字幕文本。 3 D- n; i) P1 `8 E$ L1 {8 ~( j0 g
5.统计译文中不重复的中文字的个数。 # N3 L2 Z# p6 Z. |! ^3 B8 G( \6 b/ m
- t! Z* f0 T) B字体文件初始化 7 I3 D) H! Q" ?/ E, C0 b e2 M, R5 r
tga文件有2个配置xml文件,其中一个记录了每个字母在图片中的x,y坐标,宽度,高度,以及显示时的x,y方向上的修正量。配置文件的每一条记录,其实相当于给tga图片中的每个字母画上了一个看不见的
, ?8 A( k* O0 g# T小方框。 ! d9 [: L4 u) |3 j
: l6 q% }& H; D0 ]$ H) G, ~
在前期准备中我们取得了译文中不重复的中文字的个数,以及预先设定了适合的中文字体的高度和体宽度。接下去
% F j6 I7 U* ?- E/ L2 s! X1.修改配置文件,使配置文件和我们设定的中文相符合。 . J& B } M+ F4 P; q2 O5 D
2.修改tga图片,把中文写到图片上。
% @5 z" w6 J) d( Y* B; l4 @: Q+ P: D
1 D" b0 U5 a( g! z) V要做到上面2件事还是挺复杂的,下面详细说明。 : Q4 W' u) v# m6 b# t) O' j
字体的参数修改以后,一行所能容纳的字符个数就和原来的不同了。 : f. p. @9 U& T G
如果一张512X512的tga图片不能容纳所有的中文字符的话,还可以扩大图片的尺寸,cegui好像还支持1024X1024的尺寸,如果还不行,可以适当修改译文,减少不重复的中文字符的个数。不过,主菜单的字幕应该不多,以上这些情况应该不会很严重。 , _( C) B( o$ a' Z, N
! @- N" @% E$ C% O. {) A如何把中文字符写到tga图片上去呢?
8 |& Q3 w7 n3 s) W/ B
% c) r3 Q1 n: B. f' p; C7 n) ~( L
待续
. L/ b' l" q- s" R( e5 M a- L: E' O# @8 J3 M; ^
' q' D+ H* v0 e( p |