由于汉化内容很复杂,在这个帖子里只讨论和主菜单汉化有关的内容。 2 y4 `" W3 r0 k" x1 C+ q
主菜单使用一个独立的tga图片作为字库,所以要汉化主菜单只要把tga图片里字母的样子修改掉就可以了。
# G v* h4 d+ I, ~, `: `
! x0 P6 e1 _: r. V8 z前期准备 1 {2 x4 D; ~- Y( j! m
1.找一个和主菜单的字体风格相同的中文TTF字体。
/ K( |' d) K# P/ I% p& D2.对英文主菜单的字体的高度和宽度进行研究,寻找出适合的中文字体的高度和宽度。
2 X" d2 A- E4 ]! T5 h3.在字幕文件中找出主菜单字幕ID和字幕文本。 3 n7 |, t& R' ?- H# |
4.翻译字幕文本。 6 S; ~. S1 y0 D8 E6 J3 _9 L! M
5.统计译文中不重复的中文字的个数。
/ f# ^% q8 @3 e( g: Q, k9 |: p, V% @
字体文件初始化
e) }/ g4 z% x! gtga文件有2个配置xml文件,其中一个记录了每个字母在图片中的x,y坐标,宽度,高度,以及显示时的x,y方向上的修正量。配置文件的每一条记录,其实相当于给tga图片中的每个字母画上了一个看不见的
2 i+ |; E$ U9 L6 \7 y: e0 R8 `1 u小方框。
. O: O6 z O. T$ t6 Z
7 S( {7 u! S- y( w9 G- J在前期准备中我们取得了译文中不重复的中文字的个数,以及预先设定了适合的中文字体的高度和体宽度。接下去 + t4 u' M4 H1 |9 p8 y
1.修改配置文件,使配置文件和我们设定的中文相符合。
7 B& @; S) {! x3 }% x2.修改tga图片,把中文写到图片上。 % R8 n" P" H* {; J w
/ \! K. I* b4 B2 ~5 z7 p3 v要做到上面2件事还是挺复杂的,下面详细说明。
: T: q' N6 e- f字体的参数修改以后,一行所能容纳的字符个数就和原来的不同了。
' k8 U( D# F1 G6 R# A# _" ]如果一张512X512的tga图片不能容纳所有的中文字符的话,还可以扩大图片的尺寸,cegui好像还支持1024X1024的尺寸,如果还不行,可以适当修改译文,减少不重复的中文字符的个数。不过,主菜单的字幕应该不多,以上这些情况应该不会很严重。
8 G* b: ~ D0 a9 A8 p5 e3 Q
& k1 _& y& X5 M如何把中文字符写到tga图片上去呢? % f$ h- S) D5 C7 o9 R2 Q
/ G N( V! Q6 J- U3 u) B5 E
+ l: |. M" ~. A; E待续
5 ?9 ~- s; S! V5 B
" Y8 I) O. P$ e& U3 L1 r% @7 ?2 m4 e' g- H8 d) n- f
|