由于汉化内容很复杂,在这个帖子里只讨论和主菜单汉化有关的内容。 # m# f+ J, _; |
主菜单使用一个独立的tga图片作为字库,所以要汉化主菜单只要把tga图片里字母的样子修改掉就可以了。
% @" `! F. Q9 H# `& W# N' A. M" _- A% j: i! j; O3 B L
前期准备 5 f5 R; X9 S) ]$ c: \# U, B: s
1.找一个和主菜单的字体风格相同的中文TTF字体。
: K6 t0 \- z9 B& y5 R1 v& S2.对英文主菜单的字体的高度和宽度进行研究,寻找出适合的中文字体的高度和宽度。 / F" \" q4 x- V0 Q) ?7 K
3.在字幕文件中找出主菜单字幕ID和字幕文本。 6 @# I# b5 A+ k: ^% |
4.翻译字幕文本。
( [6 I) Q& g9 b5.统计译文中不重复的中文字的个数。
o( r! o& U, p6 L& o* q1 T" { z
6 U5 u a) T9 ^6 e8 f! I字体文件初始化 7 ^6 M7 B9 X6 u! f3 Z1 N
tga文件有2个配置xml文件,其中一个记录了每个字母在图片中的x,y坐标,宽度,高度,以及显示时的x,y方向上的修正量。配置文件的每一条记录,其实相当于给tga图片中的每个字母画上了一个看不见的
" a/ b; S" y* F* L/ e, b1 L小方框。 4 O9 I) i6 }1 ]4 r% d5 O! Z3 y
( ~; U& Q( f. W& e; A在前期准备中我们取得了译文中不重复的中文字的个数,以及预先设定了适合的中文字体的高度和体宽度。接下去
3 w# k+ I9 L$ l" i" `' _7 i1.修改配置文件,使配置文件和我们设定的中文相符合。
$ o1 D8 r1 o+ L4 g" f( V- ^3 g2.修改tga图片,把中文写到图片上。
; b7 C1 B/ r0 u" F$ @
0 P8 G \4 x9 Q2 S要做到上面2件事还是挺复杂的,下面详细说明。
3 j% R$ J: z4 x s字体的参数修改以后,一行所能容纳的字符个数就和原来的不同了。
8 N6 h9 b$ e2 D; @9 v如果一张512X512的tga图片不能容纳所有的中文字符的话,还可以扩大图片的尺寸,cegui好像还支持1024X1024的尺寸,如果还不行,可以适当修改译文,减少不重复的中文字符的个数。不过,主菜单的字幕应该不多,以上这些情况应该不会很严重。 # \; @$ H7 m% X" }4 G
5 U& i& ^& G; a2 W* y; {
如何把中文字符写到tga图片上去呢? ; \1 O$ y! o' Q
2 p4 ?3 |4 [- c* i0 A
1 l7 W* K2 \$ k8 @# p
待续
! T; Y1 P" i: ~1 S' D& ]+ O
& D' Q1 Z" D' N2 u W4 N, }: Y2 H3 Z9 L: ~
|