由于汉化内容很复杂,在这个帖子里只讨论和主菜单汉化有关的内容。 1 ^& V4 C: U9 ~( G# H! l9 h+ |
主菜单使用一个独立的tga图片作为字库,所以要汉化主菜单只要把tga图片里字母的样子修改掉就可以了。
i, @- F% p$ D) S# L$ o8 Q( l# J2 h- U9 \! N, y4 }: }
前期准备
1 _/ R$ }7 C9 G9 \4 y, @# m" Z1.找一个和主菜单的字体风格相同的中文TTF字体。 % M# D @9 W( Q
2.对英文主菜单的字体的高度和宽度进行研究,寻找出适合的中文字体的高度和宽度。 " E7 Y8 ]8 a+ D- R1 V
3.在字幕文件中找出主菜单字幕ID和字幕文本。
3 x: P2 t2 p1 L L- r1 C4.翻译字幕文本。
$ w2 _& G8 H0 |" E5.统计译文中不重复的中文字的个数。
4 L# h( m; d* [! @1 r
7 k( q/ G- H) Q6 N+ v9 \) u( n. B% X0 b字体文件初始化 % U6 y: U- }- A0 `* @' p: y
tga文件有2个配置xml文件,其中一个记录了每个字母在图片中的x,y坐标,宽度,高度,以及显示时的x,y方向上的修正量。配置文件的每一条记录,其实相当于给tga图片中的每个字母画上了一个看不见的 # d" ~4 W8 y" Y" A9 u
小方框。 5 V/ }2 w) Z" A/ C( c, a3 N: M8 ^
# _7 Q0 T5 c$ n8 ^1 i+ U
在前期准备中我们取得了译文中不重复的中文字的个数,以及预先设定了适合的中文字体的高度和体宽度。接下去
9 L# b) N+ N& G& S! I ]6 H' ?1.修改配置文件,使配置文件和我们设定的中文相符合。 ) t* A5 Y, F, B+ W q1 Y! O+ ~
2.修改tga图片,把中文写到图片上。
, V& h$ K4 q2 ]. S$ E+ I' Z. n* z- W: W$ W' l: N! Q$ ?
要做到上面2件事还是挺复杂的,下面详细说明。 4 w" G. I+ `7 O, f: H$ d0 B) q
字体的参数修改以后,一行所能容纳的字符个数就和原来的不同了。
! }1 L8 k+ y( `0 V4 T2 Q* z1 x' E: p如果一张512X512的tga图片不能容纳所有的中文字符的话,还可以扩大图片的尺寸,cegui好像还支持1024X1024的尺寸,如果还不行,可以适当修改译文,减少不重复的中文字符的个数。不过,主菜单的字幕应该不多,以上这些情况应该不会很严重。
# t& j) t3 a+ c4 U0 ?! D. o8 M2 F2 Z. [8 m b8 z* e: |
如何把中文字符写到tga图片上去呢? 7 Q; p+ Z' Y9 Q
, P$ _) P( Y+ g* Y0 ~0 c1 @( j! C
# D6 g: s, x: p9 d: K4 b# @
待续% i h% j) P& a% \4 V; u. `3 [. f
# ~+ W. T. J7 P; `
: B: \% ?' P2 s7 N* j |