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

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

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

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

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

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

CEGUI是一个开放源码的开发游戏界面的库,如果你在游戏里发现CEGUIBase_d.dll之类以CEGUI开头的DLL的话,这个游戏的界面就是CEGUI做的,游戏字幕的输出自然也是用它。 * v; A3 T* x# U* g$ W& L# a$ D6 l

# y6 h1 U$ x  y9 j" r3 {2 WCEGUI有0.4.1,0.5.X,0.6.X等几个版本,从0.5.X开始就对中文完美支持了。 3 b3 j; a. X# F3 x2 V
问题是0.4.1这个版本,对中文的支持不太完美,说是不能换页之类的。 9 o1 q  M6 Q% P% Y" d
现阶段,不少AVG游戏中还是用CEGUI0.4.1这个版本,比如安徒生童话这个AVG游戏. 0 f. A! ]3 L2 k! \
因为FONT字体定义文件的格式不同,所以可以判断出是0.4.1这个版本 ) W; X( l: E/ W# ?* I, P9 L

5 j2 U# c6 B. A2 i+ H5 K解决方法 , k  H* I( `; b  f! ]* \; _
关于解决方法,我查了不少资料,大致有2个 " [2 z8 p/ r2 O
1。改造0.4.1的DLL文件,参照0.5.X的代码,把关键地方进行修改。 4 [8 U8 v4 N7 _, z
  这个方法较难,暂不讨论。 . p' \4 T0 C2 b5 X

# @4 E# z1 N+ l3 s! b- c: G2。0.4.1的字体定义文件还是为中文留了一条路的。
9 y: H- P( y  I% k1 ^  可以用GlyphSet这个属性只生成要用到的字体的图片。
$ J" O- ^6 E! `! d5 k  中文汉字有6000多个,但是在一个AVG里用到的中文可能只有1000多个。
  t, P2 A& I6 h3 |2 N8 h2 z  把这些中文汉字定义到GlyphSet这个属性,也许就能正常显示了。
# C; g9 X; k) ?; l$ [  这个方法尚未做实际测试,效果未知。 # _- V, T" M. o( v, ]( u

) G" L" g0 H- X% A0 A' V, i相关资料 8 o6 c' _( J; r- I0 t
* T" ~( [/ @5 E" P4 C
CEGUI0.4.1字体定义文件说明 ' V: m& G: x' v. P' |# ~: a
http://www.cegui.org.uk/wiki/index.php/Font_files , F% E9 `/ s9 e3 J7 n" b

4 j4 Q4 z3 L) A; k6 q' E& E  R: CCEGUI0.5.X关于字体定义文件的变更点

; ~2 @" y* Y" Z: q5 i. P6 N原文
: x2 d7 U2 E/ K$ f7 lhttp://www.cegui.org.uk/wiki/index.php/Release_Notes_0.5.X
4 M3 e1 Q8 Q6 v' B/ q& l8 h) c
0 D; _1 D& c6 Z! X' k, B
A FontDemo sample which shows several properties of the new Font class.   D& t2 `3 t3 f" _
The above changes resulted in some slight changes to the format of the XML .font files:
$ b* f. @3 v& g9 @9 S- F: M- q
% b* N. L( T0 kGlyphSet, GlyphRange, Glyph sections of the Font are gone 7 B) W) e7 m" n* Y
The possible values of the Type attribute are now:
/ w2 h. V+ ~( ?* }; [  PFreeType (instead of Dynamic) ( H8 ?9 }6 Z: P6 y. v% D
Pixmap (instead of Static) 3 H. H0 z/ K; ~( X
The FirstCodepoint and LastCodepoint attributes of the Font section were removed
7 h( a6 k& k1 n+ z7 I- Y& U. k7 hAfter you change your .font files as mentioned above, they should work without problems.
. a6 l4 }( n* ^6 v! B7 S1 ~  h/ C
6 A; \: I3 j) {5 P6 R' N2 [下面这篇文章应该是针对CEGUI0.4.1这个版本来说的。
$ j8 u% `3 V$ d, R; a4 N0 ^  m9 m  V% q( L! Z. s' }
如何让CEGUI显示出中文 ( l4 z1 N0 S& |5 ~4 O1 l: f
原文
  j& b/ m" e$ ~' I' Uhttp://blog.csdn.net/khzide/archive/2005/09/07/473765.aspx
! l2 [# K# E# Z7 e& p2 R) U; z6 t; S. f8 ~# Y, B9 h2 f
CEGUI(Crazy Eddie's GUI System ) 是一个免费并开放源码的图形(GUI API库),写于C++, 并且面向对象。你可以用它来创建游戏中的GUI部分,而不用再自已动手去实现。 3 l1 D- ]. e( F
- J8 v. u6 @: ]" Y, L
管方网站:http://www.cegui.org.uk/ 上面有很多有用的信息,如果你要详细了解它的话,可以常去这上面逛逛。
7 e/ L1 |( o4 m1 D# x4 j5 d, |8 U4 D/ a8 y  ?2 Z/ A/ Z
发现有好多战友与我一样,一开始用它的时候不知道如何显示出中文,只是听说很easy,但却自已试不出来。我走了一些弯路,希望别人不要再跟我一样了。其实它实现起来真是是很easy. CEGUI是基于utf8格式的,所以可以显示出中文,但需要注意的是这里面烦是设及到汉字的地方都要保存成(utf8)格式,或者在程序中动态转换成utf8字符串也行。至于如何保存在utf8格式,有很多哟,可以用EditPlus, uedit32, 更酷的一个就是vs.net了。哈哈,可惜它太大了,携带起来不方便。 ( W: R- }% H# {  z2 E
1 ]& @: U* [* [
1.你要指定一种中文字体文件(*.ttf) 例如我选用的simhei.ttf, 这可以在window目录中的font文件夹中找到一些。 这就是CEGUI中我们要用到的中文字体来源。
$ N9 M7 e- [: l2 q9 i% P. O) ]
: |5 \# f" M+ s$ b" J2. 需要定义一个 (.font)文件, 这个文件其实是CEGUI用于生成字符映射图片的一个索引文件(xml格式),在<Font> 节下面定义一个子项<GlyphSet> 并指定其属生 Glyphs="所有需要用到的中文字符集" CEGUI会根据它而生成最终字符映射图片,如果你这里没有将用到的汉字全部列出,没关系,大不了就是CEGUI不会显示出你的字符或者显示成乱码^-^,系统不会崩的。
+ v3 |# n9 W% d% c1 f# w- c3 r; c0 ~
6 @) `+ h3 z9 F3.字个(.font)文件一定要保存成(utf8)格式,这是很重要的哟。 ; _% f7 e3 d# m, e
/ u6 ], p2 J7 K( C% S/ b! E
4.如果你的程序中用到了汉字,那么这个文件最好也要保存成(utf8)格式,当然你也可以去进行ascii<->utf8的转换,都一样的。
& M+ q$ ?8 U+ `! e$ }7 K) J  }
8 O0 l0 w1 L2 \" ^
$ c: P/ P& |9 {这就完事了,怎么样,很简单吧。至于如何去载入字体文件,如何使用CEGUI,就不关吾的事了。相信你即然看了这遍文件,那些也一定会了吧。 ; W# @0 n: j- g' h
( [2 G* B: d: Y" {% `! x
  
6 R+ j: J* w% v, m( D1 G/ Z# x0 V, G* P5 f" Q
! A2 v1 ~0 A) p: ~+ \
' {- P7 j8 n. s0 ~, q* i* I, y0 B9 F

1 N* E1 h' N: M5 G* f
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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