由于汉化内容很复杂,在这个帖子里只讨论和主菜单汉化有关的内容。 $ ?5 [/ E4 E) `, s4 v% P
主菜单使用一个独立的tga图片作为字库,所以要汉化主菜单只要把tga图片里字母的样子修改掉就可以了。
, N5 f5 p3 ?; @+ o; [ g4 X h( L, O! r" c& E7 }
前期准备 ; e) \ j& [ Q
1.找一个和主菜单的字体风格相同的中文TTF字体。 8 F% J2 ~2 _* R4 O
2.对英文主菜单的字体的高度和宽度进行研究,寻找出适合的中文字体的高度和宽度。 # I4 f5 V4 T' I. b
3.在字幕文件中找出主菜单字幕ID和字幕文本。 ( F5 l) V" J6 n4 f0 H: i* o
4.翻译字幕文本。 , A3 l+ U) w0 D1 g& d( V G
5.统计译文中不重复的中文字的个数。 2 j5 Z6 l% z4 H
& O6 ]0 F. p b4 J& o字体文件初始化
; j4 J7 T2 ]3 g+ B n, A- Ntga文件有2个配置xml文件,其中一个记录了每个字母在图片中的x,y坐标,宽度,高度,以及显示时的x,y方向上的修正量。配置文件的每一条记录,其实相当于给tga图片中的每个字母画上了一个看不见的 . j: H4 a# e& I% y p! T( o
小方框。
3 q* h0 g! K* }/ _+ N# b% h g- i, ?6 M& ~/ M* F* g
在前期准备中我们取得了译文中不重复的中文字的个数,以及预先设定了适合的中文字体的高度和体宽度。接下去
8 l+ R6 b- h. V# C5 w, O) f3 [, n& s1.修改配置文件,使配置文件和我们设定的中文相符合。 v- O4 b" F- h0 k1 s- R
2.修改tga图片,把中文写到图片上。
7 E& E m& i' E W+ U! }' R* X& x- i# x: o7 O
要做到上面2件事还是挺复杂的,下面详细说明。
; z* ?* B3 A5 e d$ G字体的参数修改以后,一行所能容纳的字符个数就和原来的不同了。 . R1 y+ V5 L9 }7 B3 j
如果一张512X512的tga图片不能容纳所有的中文字符的话,还可以扩大图片的尺寸,cegui好像还支持1024X1024的尺寸,如果还不行,可以适当修改译文,减少不重复的中文字符的个数。不过,主菜单的字幕应该不多,以上这些情况应该不会很严重。
8 d/ |6 U- n1 O! ]/ f5 ^: \/ O, \3 N: B3 ?+ F
如何把中文字符写到tga图片上去呢?
) Q7 d B @# W& j% o$ o8 m# V) j3 y! {; Y0 y: ?& ~
: W" X- M/ Q# x
待续5 M: v% J/ K' C Z- S$ v9 i5 F
9 d+ w) {* e7 q; g: h7 `
: g2 O( I- s# ]9 T8 j1 ~9 {# r% f |