由于汉化内容很复杂,在这个帖子里只讨论和主菜单汉化有关的内容。 & F" R2 ~3 I. o! z3 f7 z2 @
主菜单使用一个独立的tga图片作为字库,所以要汉化主菜单只要把tga图片里字母的样子修改掉就可以了。
) `8 q5 P% M8 w0 r% M4 l0 T4 P( ?+ L d0 ^/ l: a% ]
前期准备
) }, Q e# Q) W: @1 b" l1.找一个和主菜单的字体风格相同的中文TTF字体。 1 d9 M. g6 ~$ L' S: i
2.对英文主菜单的字体的高度和宽度进行研究,寻找出适合的中文字体的高度和宽度。 * {$ p0 `* B1 B# u( p
3.在字幕文件中找出主菜单字幕ID和字幕文本。
4 ^1 J' \$ R" {# J5 U* C/ [$ ]+ p4.翻译字幕文本。
1 h; R9 F% B+ H, D- G; O% L3 u5.统计译文中不重复的中文字的个数。
& n% N) J+ P3 _
5 r5 A/ r5 d) l4 T- u1 W$ P0 f f字体文件初始化 . `# g% c) Z" F8 g
tga文件有2个配置xml文件,其中一个记录了每个字母在图片中的x,y坐标,宽度,高度,以及显示时的x,y方向上的修正量。配置文件的每一条记录,其实相当于给tga图片中的每个字母画上了一个看不见的
' s! N" \6 w, S# l1 r小方框。 $ C0 w) p$ y* o' M/ f- R" t* Y
) q; K; N- e- f$ x/ G5 y, i }
在前期准备中我们取得了译文中不重复的中文字的个数,以及预先设定了适合的中文字体的高度和体宽度。接下去
Y+ @" i4 J" h6 J1.修改配置文件,使配置文件和我们设定的中文相符合。
* g+ M" y, h. N8 g' i2.修改tga图片,把中文写到图片上。 3 a5 \& m/ e. C! W X G
( r! Y, @2 v0 K) r+ i& \
要做到上面2件事还是挺复杂的,下面详细说明。
: ^$ t$ g$ v a0 \2 J. T' {& {" V7 z字体的参数修改以后,一行所能容纳的字符个数就和原来的不同了。 + a" u G( f" J
如果一张512X512的tga图片不能容纳所有的中文字符的话,还可以扩大图片的尺寸,cegui好像还支持1024X1024的尺寸,如果还不行,可以适当修改译文,减少不重复的中文字符的个数。不过,主菜单的字幕应该不多,以上这些情况应该不会很严重。
4 u |' I8 [0 B% L+ k B
B' ?# r+ r9 g* d: b4 N, \如何把中文字符写到tga图片上去呢?
/ H3 M8 r4 C7 i- z" U$ l1 }4 n: V5 Y+ L
: b9 U" t7 f( A
待续
3 f z2 r' X x3 w& \9 g
3 D( @# x+ G% u, f2 Q) E4 r) U% [, ?- v y& e9 h2 m! t
|