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

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

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

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

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

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

CEGUI是一个开放源码的开发游戏界面的库,如果你在游戏里发现CEGUIBase_d.dll之类以CEGUI开头的DLL的话,这个游戏的界面就是CEGUI做的,游戏字幕的输出自然也是用它。 % a4 ^$ I  |% j/ t; K& ?! V; ~

/ E' x: ^9 `7 m% a! B; Q& tCEGUI有0.4.1,0.5.X,0.6.X等几个版本,从0.5.X开始就对中文完美支持了。
5 E, o# v: T* \" p问题是0.4.1这个版本,对中文的支持不太完美,说是不能换页之类的。 5 z* b9 d8 M9 g" X6 [5 L% M2 m: H' c
现阶段,不少AVG游戏中还是用CEGUI0.4.1这个版本,比如安徒生童话这个AVG游戏.   x: ^' I5 ]9 q4 Y3 L
因为FONT字体定义文件的格式不同,所以可以判断出是0.4.1这个版本 - K" c, Y8 H9 T, K2 q; S3 X" H

. t( P% |& W4 i/ P' c! `解决方法
6 {8 {, ]2 p* e. a6 _
关于解决方法,我查了不少资料,大致有2个
& ~0 S7 c. Z. P1 y1。改造0.4.1的DLL文件,参照0.5.X的代码,把关键地方进行修改。 ' z$ m# F0 b3 r+ @' _5 t
  这个方法较难,暂不讨论。
1 I3 g) o6 ]5 I3 T6 _9 @" O3 C
2。0.4.1的字体定义文件还是为中文留了一条路的。 4 h$ a7 ]; y* d. U0 s
  可以用GlyphSet这个属性只生成要用到的字体的图片。 , X' n3 h- t/ q9 _% M2 q+ |1 t
  中文汉字有6000多个,但是在一个AVG里用到的中文可能只有1000多个。 + k, q. a' n! y  m& l& m$ s
  把这些中文汉字定义到GlyphSet这个属性,也许就能正常显示了。 8 [& a$ E( z% k' q" m, ?3 _
  这个方法尚未做实际测试,效果未知。 ! N/ E5 ]$ g+ l3 F) U
. }- y* O1 b' x9 [
相关资料
3 L6 U% B  a6 X. T- M( \- D# N# j
2 F2 d# d( m" k7 oCEGUI0.4.1字体定义文件说明 : F* h0 G2 j+ Y- G0 X( A& h
http://www.cegui.org.uk/wiki/index.php/Font_files & Y/ N2 e, G5 K& z
2 X3 V, `" b! j1 E
CEGUI0.5.X关于字体定义文件的变更点

1 t5 L2 n$ Z7 o/ k# g原文
2 z& _6 H. @+ Q( `, B% jhttp://www.cegui.org.uk/wiki/index.php/Release_Notes_0.5.X
6 i7 \. U3 e5 L2 w
* }9 f0 b, q+ x+ ~8 M' p" V
A FontDemo sample which shows several properties of the new Font class. 0 u% G1 j1 u& u8 ^7 X
The above changes resulted in some slight changes to the format of the XML .font files: 1 D( r8 _7 p5 m. A  Q

% g5 H( U: C6 S" NGlyphSet, GlyphRange, Glyph sections of the Font are gone + ?/ }0 r/ j! }# P. r5 A5 x' v  l) S
The possible values of the Type attribute are now: 1 u4 @. P5 u, I
FreeType (instead of Dynamic) ; {3 n8 L+ K, `9 ~  |/ |4 Q
Pixmap (instead of Static) - `: n% m$ m) z! M
The FirstCodepoint and LastCodepoint attributes of the Font section were removed
9 T$ g; D# f2 K2 cAfter you change your .font files as mentioned above, they should work without problems. ' i6 t& m/ F4 @  B/ g) X7 J
0 k* T; _% }9 e9 v' b7 ~' o
下面这篇文章应该是针对CEGUI0.4.1这个版本来说的。 ' N/ B! c4 y" k7 W& y4 L
  X/ P; t3 N# y+ j
如何让CEGUI显示出中文 : J6 g" T3 B$ g2 a* o1 n
原文
) ]- w/ N, w+ i! P1 I7 ]http://blog.csdn.net/khzide/archive/2005/09/07/473765.aspx
/ x5 q  F8 G$ K( w( N+ \9 W- o3 S* @! j* Z0 x# }
CEGUI(Crazy Eddie's GUI System ) 是一个免费并开放源码的图形(GUI API库),写于C++, 并且面向对象。你可以用它来创建游戏中的GUI部分,而不用再自已动手去实现。 1 {' n# V3 l5 u* A2 t

5 E  I! J. `6 f5 p- y  i管方网站:http://www.cegui.org.uk/ 上面有很多有用的信息,如果你要详细了解它的话,可以常去这上面逛逛。
1 a! l& P7 ~# h. [
4 P& t, F6 ]  c& j发现有好多战友与我一样,一开始用它的时候不知道如何显示出中文,只是听说很easy,但却自已试不出来。我走了一些弯路,希望别人不要再跟我一样了。其实它实现起来真是是很easy. CEGUI是基于utf8格式的,所以可以显示出中文,但需要注意的是这里面烦是设及到汉字的地方都要保存成(utf8)格式,或者在程序中动态转换成utf8字符串也行。至于如何保存在utf8格式,有很多哟,可以用EditPlus, uedit32, 更酷的一个就是vs.net了。哈哈,可惜它太大了,携带起来不方便。
% d, d& r" y: C! U4 t, M
1 D% o, ]0 x1 y4 o% n( p1.你要指定一种中文字体文件(*.ttf) 例如我选用的simhei.ttf, 这可以在window目录中的font文件夹中找到一些。 这就是CEGUI中我们要用到的中文字体来源。 , n6 d+ b7 X( A: i! i. M

; N- G9 l: r4 H/ v. F3 K2. 需要定义一个 (.font)文件, 这个文件其实是CEGUI用于生成字符映射图片的一个索引文件(xml格式),在<Font> 节下面定义一个子项<GlyphSet> 并指定其属生 Glyphs="所有需要用到的中文字符集" CEGUI会根据它而生成最终字符映射图片,如果你这里没有将用到的汉字全部列出,没关系,大不了就是CEGUI不会显示出你的字符或者显示成乱码^-^,系统不会崩的。 # q* j# j1 N9 ]) _, r$ R8 ^& m

$ P6 w: d- b9 H" ]3.字个(.font)文件一定要保存成(utf8)格式,这是很重要的哟。
6 \8 |8 @/ j0 H' y) F
) P$ d6 N" g+ E  m$ X4.如果你的程序中用到了汉字,那么这个文件最好也要保存成(utf8)格式,当然你也可以去进行ascii<->utf8的转换,都一样的。
% z7 a7 p) c  D5 V! w/ O  y/ G

8 O) U3 T5 H, A$ d这就完事了,怎么样,很简单吧。至于如何去载入字体文件,如何使用CEGUI,就不关吾的事了。相信你即然看了这遍文件,那些也一定会了吧。 9 D% {6 O( r( P, j5 }

1 a  P' C, j" z& X$ p& ?, K   4 r: P( ~" `- ~$ E2 h+ }

: |0 S0 B0 i6 r8 f: m) r. }* f0 Z" u4 E- x
1 ^9 o, D7 I3 m, _. ^; X* h- X

( _+ m/ H2 \8 R
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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