设为首页收藏本站官方微博

【汉化资料】关于CEGUI研究的阶段性成果

[复制链接]
查看: 2433|回复: 0
打印 上一主题 下一主题

【汉化资料】关于CEGUI研究的阶段性成果

跳转到指定楼层
楼主
发表于 2008-11-17 12:10 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

【汉化资料】关于CEGUI研究的阶段性成果

CEGUI是一个开放源码的开发游戏界面的库,如果你在游戏里发现CEGUIBase_d.dll之类以CEGUI开头的DLL的话,这个游戏的界面就是CEGUI做的,游戏字幕的输出自然也是用它。
9 I6 h' O1 q/ V+ o7 r3 |' p3 V' C* j
CEGUI有0.4.1,0.5.X,0.6.X等几个版本,从0.5.X开始就对中文完美支持了。
; [& [7 O% i5 a) d, [( ~$ O问题是0.4.1这个版本,对中文的支持不太完美,说是不能换页之类的。
5 t# B9 |  G) W3 d5 ^$ Y- l8 i3 r现阶段,不少AVG游戏中还是用CEGUI0.4.1这个版本,比如安徒生童话这个AVG游戏. ; ?) O5 h  O4 ~2 Q0 L
因为FONT字体定义文件的格式不同,所以可以判断出是0.4.1这个版本
1 ]& X3 d* W  h3 u9 e  C! J
% D$ ^% j. t( Q% x; {
解决方法
  n' j# w  s* s0 u: w
关于解决方法,我查了不少资料,大致有2个 0 C. g- [7 d3 A+ O/ o7 `
1。改造0.4.1的DLL文件,参照0.5.X的代码,把关键地方进行修改。 # R: z: P* I& }+ N
  这个方法较难,暂不讨论。 ) a! V7 N" U: W0 M- s. \" r

) l$ H* ~( N) j0 q' |2。0.4.1的字体定义文件还是为中文留了一条路的。
) R" e$ ~* J2 j% q5 \2 M+ V  可以用GlyphSet这个属性只生成要用到的字体的图片。
  u7 E2 Z) V& E% o9 r+ |  中文汉字有6000多个,但是在一个AVG里用到的中文可能只有1000多个。 ; l! j9 ?/ i- b9 d" m
  把这些中文汉字定义到GlyphSet这个属性,也许就能正常显示了。 . f' z) m0 N% d& N5 u! t. N; Q
  这个方法尚未做实际测试,效果未知。 , H' A1 ?* m" ]$ J5 Y

- @+ f- b6 L/ d( ]. o  ~! U% N. w* q相关资料
! u6 L# C5 m& S& V; k8 K+ t( G. J2 q# u. E+ D$ {
CEGUI0.4.1字体定义文件说明
! P/ D1 O) K/ q  z' [( Ahttp://www.cegui.org.uk/wiki/index.php/Font_files
0 Q% v$ }7 u$ i" q% \0 T6 ^# q1 N; Q  \% F# A& f8 m9 A
CEGUI0.5.X关于字体定义文件的变更点

0 f2 s' `1 ^) ?9 M6 S0 B原文
- m# v, ]2 _: k3 ^http://www.cegui.org.uk/wiki/index.php/Release_Notes_0.5.X
& P& v2 l) a* t4 T& S! x& w

. v, l: ?/ s* n: C& N5 m+ F$ M" iA FontDemo sample which shows several properties of the new Font class.
9 g( r3 y; A  o5 L# n' i9 NThe above changes resulted in some slight changes to the format of the XML .font files: " [6 W! X2 t4 A4 n5 |
: o* b1 i* ]3 s  k. I1 T, g
GlyphSet, GlyphRange, Glyph sections of the Font are gone
1 K  J' k; _; k; b4 FThe possible values of the Type attribute are now: : q5 s. c! C8 w
FreeType (instead of Dynamic)
7 r1 z# _  h1 O. u5 @# CPixmap (instead of Static)
; i% `; ?1 w/ E4 _" z$ vThe FirstCodepoint and LastCodepoint attributes of the Font section were removed
1 Z7 D4 l1 f7 q. D" W& fAfter you change your .font files as mentioned above, they should work without problems.
  t' ^) d+ e7 i8 N) J3 M : S' ^: ?& f% c1 M! i* ]3 R5 N
下面这篇文章应该是针对CEGUI0.4.1这个版本来说的。 ; V0 Y3 x- ~% I  c! l" {

  Y4 f5 \4 D+ d* S( \" X如何让CEGUI显示出中文
- G/ V/ S! n; Z, o
原文
: o- z9 r! t- G  L. ?$ Dhttp://blog.csdn.net/khzide/archive/2005/09/07/473765.aspx
) D  `0 g9 a$ x5 r) T" m) H" f; a# ?6 l8 e0 V$ C
CEGUI(Crazy Eddie's GUI System ) 是一个免费并开放源码的图形(GUI API库),写于C++, 并且面向对象。你可以用它来创建游戏中的GUI部分,而不用再自已动手去实现。 9 ?( y+ {5 `4 q. W
* j9 J9 ?, G3 O# G' q4 x4 y
管方网站:http://www.cegui.org.uk/ 上面有很多有用的信息,如果你要详细了解它的话,可以常去这上面逛逛。 * c' H8 F! \0 g) v. `/ `1 N

- X* N. B3 G6 D) d6 v发现有好多战友与我一样,一开始用它的时候不知道如何显示出中文,只是听说很easy,但却自已试不出来。我走了一些弯路,希望别人不要再跟我一样了。其实它实现起来真是是很easy. CEGUI是基于utf8格式的,所以可以显示出中文,但需要注意的是这里面烦是设及到汉字的地方都要保存成(utf8)格式,或者在程序中动态转换成utf8字符串也行。至于如何保存在utf8格式,有很多哟,可以用EditPlus, uedit32, 更酷的一个就是vs.net了。哈哈,可惜它太大了,携带起来不方便。 0 `) u& D# H8 R" B

% t- D- o* n7 Q' a7 }$ q7 W1.你要指定一种中文字体文件(*.ttf) 例如我选用的simhei.ttf, 这可以在window目录中的font文件夹中找到一些。 这就是CEGUI中我们要用到的中文字体来源。
3 D1 }+ b; ]3 i# n! A- {- W( [& m* V" m+ J
2. 需要定义一个 (.font)文件, 这个文件其实是CEGUI用于生成字符映射图片的一个索引文件(xml格式),在<Font> 节下面定义一个子项<GlyphSet> 并指定其属生 Glyphs="所有需要用到的中文字符集" CEGUI会根据它而生成最终字符映射图片,如果你这里没有将用到的汉字全部列出,没关系,大不了就是CEGUI不会显示出你的字符或者显示成乱码^-^,系统不会崩的。
. a1 Q1 t; w; h( r1 U' A% A' j# b8 J
3.字个(.font)文件一定要保存成(utf8)格式,这是很重要的哟。
0 C5 u+ n- X- Y4 c& C' |& Y  {
/ {- @- ^' w: I9 x7 S2 s" `, |* W4.如果你的程序中用到了汉字,那么这个文件最好也要保存成(utf8)格式,当然你也可以去进行ascii<->utf8的转换,都一样的。 0 }( c, h. ~- F1 G: u4 b/ _! h3 n1 i

) a$ r/ t; f" V1 W! h& D
$ |* P1 F% E2 y9 q7 |% ~. }这就完事了,怎么样,很简单吧。至于如何去载入字体文件,如何使用CEGUI,就不关吾的事了。相信你即然看了这遍文件,那些也一定会了吧。 * q' E+ W$ u. M* }8 q
- I9 z  f4 h; O* y) Z5 |& _1 u: g% a
  
1 ]: c6 D. D9 j/ u$ g. Z9 I5 N3 v# M+ G% e
: ?( E* j% k& }

- t1 ~1 j' Q' V/ `- w
/ Z; a0 I0 ^" b2 [$ P6 p* D
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

冒险解谜游戏中文网 ChinaAVG

官方微博官方微信号小黑屋 微信玩家群  

(C) ChinaAVG 2004 - 2019 All Right Reserved. Powered by Discuz! X3.2
辽ICP备11008827号 | 桂公网安备 45010702000051号

冒险,与你同在。 冒险解谜游戏中文网ChinaAVG诞生于2004年9月9日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

快速回复 返回顶部 返回列表