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

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

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

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

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

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

CEGUI是一个开放源码的开发游戏界面的库,如果你在游戏里发现CEGUIBase_d.dll之类以CEGUI开头的DLL的话,这个游戏的界面就是CEGUI做的,游戏字幕的输出自然也是用它。
; I) o8 O! N! Y# ^* D- S, B5 G# t4 Z0 {* |4 C) }% Y
CEGUI有0.4.1,0.5.X,0.6.X等几个版本,从0.5.X开始就对中文完美支持了。
5 _* W! Z$ ~9 M5 \4 }问题是0.4.1这个版本,对中文的支持不太完美,说是不能换页之类的。
9 h& @) k2 E! O4 S' E; t+ C' y& }现阶段,不少AVG游戏中还是用CEGUI0.4.1这个版本,比如安徒生童话这个AVG游戏.
3 V2 c* b2 s, l& x因为FONT字体定义文件的格式不同,所以可以判断出是0.4.1这个版本
+ o% K' e6 \0 s" ]

7 D8 m6 N" f. C+ a6 R! X' }3 B4 x& C解决方法
7 m- |( y! M. x, e# V
关于解决方法,我查了不少资料,大致有2个
# k+ ]9 x' I! C; v3 [! z9 z. P% k1。改造0.4.1的DLL文件,参照0.5.X的代码,把关键地方进行修改。
- b$ q& j: `) K* [) m, v! d- A  这个方法较难,暂不讨论。
, C) R" ?2 |  G9 R% Y. U" I7 }2 D, A' C
2。0.4.1的字体定义文件还是为中文留了一条路的。 / s0 K2 _* X' _4 Q' Z# O  `0 c
  可以用GlyphSet这个属性只生成要用到的字体的图片。
7 a0 Y9 P7 o: g  中文汉字有6000多个,但是在一个AVG里用到的中文可能只有1000多个。
( B8 X! }! \# o! V  把这些中文汉字定义到GlyphSet这个属性,也许就能正常显示了。 $ }8 r3 o2 s: h- u, C& a' Z8 v
  这个方法尚未做实际测试,效果未知。
! _( \1 g0 q. F( y9 z4 p) |$ f( y. {' Q% a8 R/ O& K4 F' H& f) i
相关资料 9 S5 e/ O4 ?$ F3 g; o' @
+ H8 O$ F8 j1 u0 V
CEGUI0.4.1字体定义文件说明
! }/ n2 |1 Q3 S9 t9 J% ihttp://www.cegui.org.uk/wiki/index.php/Font_files
0 E- _/ F( W& t) ]' ^: J; e& }3 T+ f2 j/ V' C6 P) u, Y
CEGUI0.5.X关于字体定义文件的变更点

9 V; i. [. n5 Q6 O* Z4 @% P原文 4 D. d" e$ D& m* y6 L- z! t  f
http://www.cegui.org.uk/wiki/index.php/Release_Notes_0.5.X

" S& f; s1 z2 V$ T8 h9 e- w, s2 L( a* R
A FontDemo sample which shows several properties of the new Font class.   @. G7 R  t. {
The above changes resulted in some slight changes to the format of the XML .font files: 1 u: O. ?4 o7 P: H; F
- b8 ^7 \3 ~6 f$ O1 J- O
GlyphSet, GlyphRange, Glyph sections of the Font are gone 4 U5 J2 z0 {9 V9 F# ~
The possible values of the Type attribute are now: # c, e! N6 V7 W; m9 |
FreeType (instead of Dynamic) - y! T1 m( \1 m' o5 {5 `/ ]
Pixmap (instead of Static) 1 o- M' K. q7 v5 n2 _
The FirstCodepoint and LastCodepoint attributes of the Font section were removed ! l. E7 R1 x, ?" i
After you change your .font files as mentioned above, they should work without problems.
$ m& j$ W8 `7 W7 i" M 0 B# G& B. Z/ A! Y
下面这篇文章应该是针对CEGUI0.4.1这个版本来说的。
- r6 |1 r) ^: r/ }
% C: Y1 a! o. L如何让CEGUI显示出中文 ! Z% @$ l1 {! v0 j8 B* U; l
原文
& j3 G8 d% [$ L! yhttp://blog.csdn.net/khzide/archive/2005/09/07/473765.aspx % T7 q; s; O/ U

, V* d) {  f( rCEGUI(Crazy Eddie's GUI System ) 是一个免费并开放源码的图形(GUI API库),写于C++, 并且面向对象。你可以用它来创建游戏中的GUI部分,而不用再自已动手去实现。 ' D/ y; k) X: r

5 V# @7 @$ _$ Q管方网站:http://www.cegui.org.uk/ 上面有很多有用的信息,如果你要详细了解它的话,可以常去这上面逛逛。
. t" @, \0 @( B5 G# |
0 r. g, v/ }1 j/ q- P* F发现有好多战友与我一样,一开始用它的时候不知道如何显示出中文,只是听说很easy,但却自已试不出来。我走了一些弯路,希望别人不要再跟我一样了。其实它实现起来真是是很easy. CEGUI是基于utf8格式的,所以可以显示出中文,但需要注意的是这里面烦是设及到汉字的地方都要保存成(utf8)格式,或者在程序中动态转换成utf8字符串也行。至于如何保存在utf8格式,有很多哟,可以用EditPlus, uedit32, 更酷的一个就是vs.net了。哈哈,可惜它太大了,携带起来不方便。
% p# D( Q! ~4 g& P
9 d/ J# `& A6 w5 D$ n$ M1.你要指定一种中文字体文件(*.ttf) 例如我选用的simhei.ttf, 这可以在window目录中的font文件夹中找到一些。 这就是CEGUI中我们要用到的中文字体来源。
! j; G# U8 ?3 P7 b& N0 ^! l8 Z8 N
2. 需要定义一个 (.font)文件, 这个文件其实是CEGUI用于生成字符映射图片的一个索引文件(xml格式),在<Font> 节下面定义一个子项<GlyphSet> 并指定其属生 Glyphs="所有需要用到的中文字符集" CEGUI会根据它而生成最终字符映射图片,如果你这里没有将用到的汉字全部列出,没关系,大不了就是CEGUI不会显示出你的字符或者显示成乱码^-^,系统不会崩的。
2 _7 I6 M# p0 t' }6 `* l5 N% N7 C% r. M1 A( Q7 Z: f
3.字个(.font)文件一定要保存成(utf8)格式,这是很重要的哟。
; ]. f3 q9 e7 r# \2 G
) v; V! ?' v6 b$ P. h+ @4.如果你的程序中用到了汉字,那么这个文件最好也要保存成(utf8)格式,当然你也可以去进行ascii<->utf8的转换,都一样的。
  x$ z9 W+ Y8 C; O0 S% y
+ Q# P( @+ {# ]% f1 l% F' N6 {* n( T$ T5 r4 A; `! p; `
这就完事了,怎么样,很简单吧。至于如何去载入字体文件,如何使用CEGUI,就不关吾的事了。相信你即然看了这遍文件,那些也一定会了吧。
$ }2 N: U' t, b# h4 e0 w
* p' s; N; ]( A  H$ i3 H) e  
# }! w( Y2 V3 O  E1 M( B7 T" w* |+ \' |* T( T
0 t+ @2 N; W" F

7 ^) w  U: i+ W0 l' w; r' R. y& [$ i5 y3 a
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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