由于汉化内容很复杂,在这个帖子里只讨论和主菜单汉化有关的内容。
4 E( x; B5 ~- |9 r主菜单使用一个独立的tga图片作为字库,所以要汉化主菜单只要把tga图片里字母的样子修改掉就可以了。
$ N9 d8 e% t$ F7 ^+ }# d# ~# [0 p v7 P, b
前期准备 ' E, w6 q5 \( \4 Y! N+ D
1.找一个和主菜单的字体风格相同的中文TTF字体。
- K2 {+ }8 b- D- `, h4 {- R" U2.对英文主菜单的字体的高度和宽度进行研究,寻找出适合的中文字体的高度和宽度。 : u7 `& j: _% x! ?: W1 C7 k6 Y% I
3.在字幕文件中找出主菜单字幕ID和字幕文本。
" W* t8 J8 {* D* e2 c/ T( G4.翻译字幕文本。 8 x7 r R9 y- R' f
5.统计译文中不重复的中文字的个数。
" w3 t+ p# ] @
% {& u4 q$ v: _( e2 r. T- C字体文件初始化
' F: x1 U% R& f0 q! ctga文件有2个配置xml文件,其中一个记录了每个字母在图片中的x,y坐标,宽度,高度,以及显示时的x,y方向上的修正量。配置文件的每一条记录,其实相当于给tga图片中的每个字母画上了一个看不见的
' ~- P2 g, R3 ], K/ x小方框。
" S z! q: Z* b8 Y
3 `& U; i& K9 y' q在前期准备中我们取得了译文中不重复的中文字的个数,以及预先设定了适合的中文字体的高度和体宽度。接下去 m- `$ v9 e9 p5 t/ e
1.修改配置文件,使配置文件和我们设定的中文相符合。 7 `0 R, i0 j; D! T' S) V% q3 R( ]5 x
2.修改tga图片,把中文写到图片上。 0 x/ ^9 }1 M H+ V# Z2 y, m E
' t5 S# ~# m6 R D3 O/ u/ N要做到上面2件事还是挺复杂的,下面详细说明。 4 x& J* u* N5 D- k$ x8 H
字体的参数修改以后,一行所能容纳的字符个数就和原来的不同了。 " N9 g% b3 c1 u0 g, y
如果一张512X512的tga图片不能容纳所有的中文字符的话,还可以扩大图片的尺寸,cegui好像还支持1024X1024的尺寸,如果还不行,可以适当修改译文,减少不重复的中文字符的个数。不过,主菜单的字幕应该不多,以上这些情况应该不会很严重。 7 j; ] h: o* h, ^/ I$ \
6 {! b* K+ v5 H' b, H
如何把中文字符写到tga图片上去呢? ' @6 D1 h* B( C& R5 q
* o, l* l' J. @+ r/ {1 l
! {5 ?" ^$ I, k待续( J- @! p" f! h) P" }1 m
# M: d: b& l$ C$ E& T, c
8 @! b# w$ w e8 s |