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

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

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

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

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

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

CEGUI是一个开放源码的开发游戏界面的库,如果你在游戏里发现CEGUIBase_d.dll之类以CEGUI开头的DLL的话,这个游戏的界面就是CEGUI做的,游戏字幕的输出自然也是用它。
$ H' l4 c- m) B3 h8 ~+ D, A& _0 L+ y. L+ }
CEGUI有0.4.1,0.5.X,0.6.X等几个版本,从0.5.X开始就对中文完美支持了。   M! f5 G9 {5 P+ k9 t, R2 w
问题是0.4.1这个版本,对中文的支持不太完美,说是不能换页之类的。 + Q% k& N& K& x+ ?5 c% u: G
现阶段,不少AVG游戏中还是用CEGUI0.4.1这个版本,比如安徒生童话这个AVG游戏. , V5 V1 y" ~& [( r0 z
因为FONT字体定义文件的格式不同,所以可以判断出是0.4.1这个版本
% u: _& X: [1 d! }2 d+ H. F% k6 F

5 d0 X2 w( j% T# N! U: i- U解决方法 ; A$ B0 S: |+ }, _+ t# c0 @! ?
关于解决方法,我查了不少资料,大致有2个
  d9 X9 d5 ?+ }/ I9 Q1。改造0.4.1的DLL文件,参照0.5.X的代码,把关键地方进行修改。 % t. P9 U$ }7 u) ~
  这个方法较难,暂不讨论。
; o+ O/ Y5 [" `: I* G; c" t' P; W
# Y' J4 e) V. n% j1 x5 ?2。0.4.1的字体定义文件还是为中文留了一条路的。
1 ?) D7 L4 Z$ w% u  可以用GlyphSet这个属性只生成要用到的字体的图片。
+ G) L2 [, U. p3 Z  中文汉字有6000多个,但是在一个AVG里用到的中文可能只有1000多个。 5 E; J" I) `" ~# p2 U7 ^
  把这些中文汉字定义到GlyphSet这个属性,也许就能正常显示了。 3 R( N$ I1 f$ l# x8 P% q
  这个方法尚未做实际测试,效果未知。
& J% v5 s* h4 P% P/ v) k  j% |+ A5 y( t/ ^& |' F2 E4 ?
相关资料
! ^+ L8 }, l5 n: m9 d2 F) ~/ j# |3 W8 e8 |' a  Q1 L0 h3 r4 s& i2 F6 x% V: ]
CEGUI0.4.1字体定义文件说明
. y0 v" E% K& ]http://www.cegui.org.uk/wiki/index.php/Font_files   i1 X' \2 S  t3 l
- t" X/ ^# `0 y  A. a* E' q' r
CEGUI0.5.X关于字体定义文件的变更点
! E3 {. Q! I5 j' h+ P* q8 [- l
原文
5 o0 i- K/ s' q& x# B9 `8 ?http://www.cegui.org.uk/wiki/index.php/Release_Notes_0.5.X

6 J) k" I5 o, Q* j2 S5 g9 b+ N2 E: U( f  m/ l. D# T3 s
A FontDemo sample which shows several properties of the new Font class.
( q# Y5 h& R) E2 ?  I# dThe above changes resulted in some slight changes to the format of the XML .font files:
: w3 M" H& @  j" m
1 O$ m" f6 N5 r- p+ |GlyphSet, GlyphRange, Glyph sections of the Font are gone 7 L3 Q2 {; A3 e' e) z
The possible values of the Type attribute are now: ( O& T1 {3 Q8 v7 h
FreeType (instead of Dynamic) # m! W3 Z" z4 j8 C8 C) ~
Pixmap (instead of Static) ! I1 g1 j& }! t$ a, d! `0 N
The FirstCodepoint and LastCodepoint attributes of the Font section were removed
0 f1 G0 b6 C( ~After you change your .font files as mentioned above, they should work without problems. 5 Z, N/ n  j1 e5 W
# H  |3 C" B9 r- K* i! i0 y- M
下面这篇文章应该是针对CEGUI0.4.1这个版本来说的。
+ v. U+ i  |9 _5 H5 N3 |! A6 c2 Y& z5 r: D; {; z2 C
如何让CEGUI显示出中文
4 }8 \: \0 \2 U' y
原文 ' e$ M" u8 v' ~6 x
http://blog.csdn.net/khzide/archive/2005/09/07/473765.aspx " v  h. d% d6 l( c

0 W! F! {/ b' [- uCEGUI(Crazy Eddie's GUI System ) 是一个免费并开放源码的图形(GUI API库),写于C++, 并且面向对象。你可以用它来创建游戏中的GUI部分,而不用再自已动手去实现。 * R/ T0 M7 j1 w+ s, L$ Z7 {
1 j, T3 p& q+ |9 j
管方网站:http://www.cegui.org.uk/ 上面有很多有用的信息,如果你要详细了解它的话,可以常去这上面逛逛。
9 C" b+ g( U- j+ E* ]* q- }+ b. Z. F3 F1 C
" Q1 a. r/ d& s7 l6 |发现有好多战友与我一样,一开始用它的时候不知道如何显示出中文,只是听说很easy,但却自已试不出来。我走了一些弯路,希望别人不要再跟我一样了。其实它实现起来真是是很easy. CEGUI是基于utf8格式的,所以可以显示出中文,但需要注意的是这里面烦是设及到汉字的地方都要保存成(utf8)格式,或者在程序中动态转换成utf8字符串也行。至于如何保存在utf8格式,有很多哟,可以用EditPlus, uedit32, 更酷的一个就是vs.net了。哈哈,可惜它太大了,携带起来不方便。 7 N) d& T4 e4 J: A+ A+ c1 f- p

' O; J9 s/ z! I' o- x1.你要指定一种中文字体文件(*.ttf) 例如我选用的simhei.ttf, 这可以在window目录中的font文件夹中找到一些。 这就是CEGUI中我们要用到的中文字体来源。
) [1 r" G8 s; n4 f5 p+ @: O9 P! M
( q. O# ]7 e2 B! E2. 需要定义一个 (.font)文件, 这个文件其实是CEGUI用于生成字符映射图片的一个索引文件(xml格式),在<Font> 节下面定义一个子项<GlyphSet> 并指定其属生 Glyphs="所有需要用到的中文字符集" CEGUI会根据它而生成最终字符映射图片,如果你这里没有将用到的汉字全部列出,没关系,大不了就是CEGUI不会显示出你的字符或者显示成乱码^-^,系统不会崩的。
. R8 [9 O0 V+ }" c/ [" H3 ^  O
6 E8 R" |: H& U6 O" F2 U3.字个(.font)文件一定要保存成(utf8)格式,这是很重要的哟。
$ o9 |# @2 s0 t- L  [3 s: R* z3 a$ n  F1 |0 O
4.如果你的程序中用到了汉字,那么这个文件最好也要保存成(utf8)格式,当然你也可以去进行ascii<->utf8的转换,都一样的。 - X3 Q2 C8 R/ h6 q9 ]  q; m
( H, I. M# s  Q7 Q) H; f/ f9 `" q
; A/ B4 p: _& @
这就完事了,怎么样,很简单吧。至于如何去载入字体文件,如何使用CEGUI,就不关吾的事了。相信你即然看了这遍文件,那些也一定会了吧。
1 `, E' t  C- m6 z% Z7 k
+ \1 [" |" |4 N7 I4 T   2 W* s* X% \3 O, Y4 ]9 b

2 p8 k! _1 n- T# J1 R, P5 P
7 B- ?- O7 l2 g& k, L: b5 V
3 g2 m) g. b& {/ ^8 G
/ f1 j; e( Q8 X. C
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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