由于汉化内容很复杂,在这个帖子里只讨论和主菜单汉化有关的内容。
0 x& \+ q+ x$ q" J主菜单使用一个独立的tga图片作为字库,所以要汉化主菜单只要把tga图片里字母的样子修改掉就可以了。
5 H; B2 K% A& S7 j0 e( @6 ~' I6 [4 @5 N$ |% L7 L
前期准备
* G1 F& ], U+ C8 P( \0 u1.找一个和主菜单的字体风格相同的中文TTF字体。 % b$ Z: i4 j2 ^0 G+ N1 h+ A
2.对英文主菜单的字体的高度和宽度进行研究,寻找出适合的中文字体的高度和宽度。 ) M5 I, Q# m# X) X$ V# e2 e! ~$ k
3.在字幕文件中找出主菜单字幕ID和字幕文本。 ! @' @7 X( C a+ `# V1 G3 t% s
4.翻译字幕文本。 1 X, K, X+ M. e/ V. T
5.统计译文中不重复的中文字的个数。 " y8 v* A+ T5 b3 y
8 C! H8 N, E0 n/ `8 p7 I' y字体文件初始化
* F" P/ A c }2 u' k! V) btga文件有2个配置xml文件,其中一个记录了每个字母在图片中的x,y坐标,宽度,高度,以及显示时的x,y方向上的修正量。配置文件的每一条记录,其实相当于给tga图片中的每个字母画上了一个看不见的
5 j' }; V) o2 ^7 D# r小方框。 # F1 e) h! L0 B- K8 t& k D* v
) s y; @* M3 j; [! w7 }0 z在前期准备中我们取得了译文中不重复的中文字的个数,以及预先设定了适合的中文字体的高度和体宽度。接下去
0 Z3 ^2 y# h7 v1.修改配置文件,使配置文件和我们设定的中文相符合。 : z1 S& F, n+ Q0 S
2.修改tga图片,把中文写到图片上。
5 @+ e7 c, }- r6 X0 N$ J8 o4 e8 j: N' j& I' X& H3 Y
要做到上面2件事还是挺复杂的,下面详细说明。
8 |4 x6 A+ v* r字体的参数修改以后,一行所能容纳的字符个数就和原来的不同了。
1 l# d# Y5 e- @: @! G) z) m1 l7 n. K f( q如果一张512X512的tga图片不能容纳所有的中文字符的话,还可以扩大图片的尺寸,cegui好像还支持1024X1024的尺寸,如果还不行,可以适当修改译文,减少不重复的中文字符的个数。不过,主菜单的字幕应该不多,以上这些情况应该不会很严重。
( q+ Z: u0 H+ R) `' W" r8 g/ F( P$ D( m; N& V
如何把中文字符写到tga图片上去呢? $ @) |$ L& {6 M' n0 t
' h; s' O& d4 l n
) Q" u" E$ Q; O! }( p# N/ q6 F待续
/ }( e0 ]: o# U. P
0 D8 D/ P0 } R* C, s# V3 F
' |) I, ^$ x3 j |