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

【大型图片字库AVG汉化第1弹】ANKH 主菜单图片字库的制作

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

【大型图片字库AVG汉化第1弹】ANKH 主菜单图片字库的制作

跳转到指定楼层
楼主
发表于 2009-6-6 14:43 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

【大型图片字库AVG汉化第1弹】ANKH 主菜单图片字库的制作

这些天我一直在想一种比较简便的制作任意字体大小图片字库的方法。
* P5 _; j* s9 V注意,是任意字体大小,不是任意图片大小。
8 m5 f: d$ s1 F1 E' y  U) F# U下面简单说一下方法。
/ c, K  ~& f8 G( i, `  m
, \* D+ F: z: T! t+ G. `! o首先我们用一个制作点阵字库的工具制作一个点阵字库,字体的高度和宽度可以任意设定,不过我们一般来说设为相等的。 & N$ [# X! Z* y
具体的高度和宽度我们可以参考原来的字体,找一个差不多的高度和宽度就可以了. : g. `2 J+ `+ k
接下去我们可以这么做
6 g! ?3 S; g9 D& h3 N' [9 A: f6 Y4 @
1.用任意点阵字库制作工具制作字库
% n# f: ], |* M5 f) a
  由于是工具根据TTF字库制作出来的点阵字体,所以字体的大小一致是有保证的。 + t( n9 G( A1 s' m& K8 b
任意点阵字库制作工具如下 1 D/ X% ~/ d4 W# v
https://www.chinaavg.com/read.php?tid=17138
& h. j" y: A4 K% b; ?7 b任意点阵字库查看工具如下 . |- }3 Z2 z5 \' t
https://www.chinaavg.com/read.php?tid=16610
5 b9 X1 L& w6 ^, @+ X- c2 ?% N+ {! F% M
2.准备好我们需要的汉字 . L' C2 C3 k  \: M) Y
  用工具制作出来的字库是包含了所有的汉字,所以我们需要先把我们需要汉化的字幕翻译好,整理出其中不重复的汉字。 / W7 c) U4 K1 ]$ C/ e

. P* _, l* E; G6 S! m3.在tga中写入我们需要的汉字
( v  a) _2 v/ z' G) D- A
  有了我们需要的不重复的汉字列表,还有一个全汉字版的点阵字库,我们就可以进行汉字抽出和变换工作了。 * Y* Q2 J# \) R# B8 Y: t
  首先我们要解释一下这个任意点阵字库制作工具生成的字库的格式,这个工具是采用字节对齐方式来生成字库的。
9 Z  j3 e; A3 w/ [# [  什么叫字节对齐? 8 ~% j3 j: {4 w) \( s
  比方说,一个字节有8个bit,可以表示8个点的状态,那么16X16的点阵字库一行像素需要16位也就是2个字节来表示。一个汉字就需要32个字节来表示。那么如果我们的汉字是17X17的呢?1行用2个字节就不够了,1行最后那个点虽然只需要用一个位来表示,但是也占用了一个字节, 0 t3 T: r3 U! {  |% Z

4 s3 g6 N9 H8 A+ G2 r& o6 R7 Q- l这就叫字节对齐。所以17X17的汉字需要17X3=51个字节来表示。 7 {* c+ m# q9 }
  . U7 P- F3 x. x' w
  好,理解了这些。我们可以找到一个汉字在字库中的字模并且取出字模了。 3 j) q, `$ e! D% r. u
  光取出字模还不够,我们还要把它变换为我们需要的tga图片字库文件。
2 w1 ~5 j: g( p4 U: y+ I( k  字模是用一个字节中的一个bit来表示一个点(我忘了是用0还是1来表示有点了,假设是1)。
* u4 a  x, E: T; c- e5 e6 `5 p  而tga图片是用FF FF FF FF 来表示一个有色点,FF FF FF 00来表示一个透明点。 3 M- _( P0 ?$ T; M& G% J; R
  我们要做的是把字模中的1转换为tga图片中的有色点,把字模中的0转换为tga图片中的透明点。 & ?2 E5 ?( b) e/ \3 f* e: W2 o

* i2 y% `7 T8 h; V( ?/ OGB索引代码如下
$ ]5 x0 H0 P4 L7 q% q* C# }idx = ((idx % 256) - 0xa1)* 94  + ((idx / 256) - 0xa1);
( `+ |' j! A6 B; @0 ~0 r
" P5 v; @" e/ y2 q9 Z, X+ N4.XML . X9 Y: `9 x0 k
  把字库tga文件生成好以后还要生成配套的XML文件。 0 a- o* _+ e; X; i
  这个应该比较好理解,我就不多作解释了。
( R9 @! Q7 N, J1 }' G  根据字体的高度和宽度以及在tga中的位置来生成就行了。
5 @, H4 |0 Z; S' v  ~
& J- `! i( w# L0 o3 L9 b------------------------------------------
0 p, V7 t; [+ S; P8 s2009.6.7 更新6 w5 S' g, l7 u- c
我再补充一下,我们还需要做2件事。
7 I# ]& L+ n6 c0 q& q, k% T6 c* w' C
1.生成码表5 C' L/ \4 ]* [2 x8 I
  码表就是中文字符和xml中定义的ascii码的对应表。具体的格式可以自由定义,只要我们自己编的程序能够识别就行了。
! [! Q- B8 V: l) k1 ^" V2.转换生成菜单字幕文件6 @+ U; Z+ D- U5 `. k, C7 [; w; z
   菜单字幕文件的原始内容是一个ID对应一个英文字符串
6 i: d* P2 [: O0 c3 Y% l& o9 q' h   我们要先把它转换成一个ID对应一个中文字符串,然后到码表中寻找每个中文字符对应的ASCII码,再把它写回到菜单字幕文件文件中即告完成主菜单的全部汉化工作。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

28#
发表于 2009-8-25 05:20 | 只看该作者
全中文字库  这个我是从祖玛官方中文字库取来的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

27#
 楼主| 发表于 2009-6-15 11:39 | 只看该作者
请见更新+ o6 D- b9 _, v( {% J% ^
https://www.chinaavg.com/read.php?tid=17405
回复 支持 反对

使用道具 举报

26#
 楼主| 发表于 2009-6-15 11:18 | 只看该作者
引用第23楼肥牛于2009-06-15 08:51发表的  :
& U! I2 {' Z% `6 l/ Z0 O% F我出差回来了,看了上面大家的回复,好像有更方便的解决办法了?我想知道这个工具还需要做吗?
0 L  t" V% U. u) m  V
工具还是要做的,不过我又有了新的想法。
6 B) N6 ~8 ~& g4 m可以进一步简化,也许2维码可以不用了,只用条形码。
' r, G# I1 F6 a6 Z3 L5 ^4 u1 u: \我等会更新。
回复 支持 反对

使用道具 举报

25#
发表于 2009-6-15 10:30 | 只看该作者
当然需要做工具啊~
3 G2 t- V( s  O: `* ~" S目前没有熟悉cegui的人才,加上游戏菜单部分没有开源,这方面实现比较困难
回复 支持 反对

使用道具 举报

24#
发表于 2009-6-15 08:51 | 只看该作者
我出差回来了,看了上面大家的回复,好像有更方便的解决办法了?我想知道这个工具还需要做吗?
回复 支持 反对

使用道具 举报

23#
 楼主| 发表于 2009-6-9 19:00 | 只看该作者
谢谢!
回复 支持 反对

使用道具 举报

22#
发表于 2009-6-9 12:46 | 只看该作者
http://www.cppblog.com/d3d/archive/2007/10/05/33558.html8 q# `/ i3 ~; d0 T' G# c
2 G/ L5 r) Q3 i4 i8 }
这个也是显示中文的方法。。。
% v9 Q5 l2 s6 ~" C
' o- ]3 ~7 S' ?6 R先作为参考吧~~
回复 支持 反对

使用道具 举报

21#
 楼主| 发表于 2009-6-9 11:49 | 只看该作者
引用第19楼soring123于2009-06-09 11:35发表的  :
& o4 M+ b6 @4 C  U# Uhttp://blog.csdn.net/bluekane/archive/2009/01/09/3738581.aspx% M, ^* i$ M1 q& R
有用吗?

* j# \9 ]' d6 V5 b怎么说呢,可以作为参考。3 u: ~! k+ s2 z4 N
CEGUI虽然是开源的,但是游戏的主exe文件并不开源,所以我感觉仅修改CEGUI的部分无法实现汉化。这只是我目前的想法,以后有新思路也说不定。  B. S# e' H0 f& E& J& a# c8 X
参考资料是越多越好,多谢了!
回复 支持 反对

使用道具 举报

20#
发表于 2009-6-9 11:35 | 只看该作者
http://blog.csdn.net/bluekane/archive/2009/01/09/3738581.aspx) N, d' c7 F  S% \" b; I7 H7 G
有用吗?
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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