标题: 三国志系列码表与字库分析
性别:男-离线 van

平曲侯泸川军节度使

Rank: 13Rank: 13Rank: 13Rank: 13
柱国(正二品) 工神
组别 节度使
级别 军师将军
好贴 3
功绩 475
帖子 984
编号 25461
注册 2004-11-24


发表于 2004-11-26 23:50 资料 主页 文集 短消息 看全部作者
三国志从3代开始自带字库,而且不断的增加字的数量,也修改过很少一部分的字形,其实它的码序与big5是基本一致的.到5代,big5字基本全了.虽然这些都是dos时代的技术,但是从9代来看,自己带字库对提升显示效果还是很有帮助的,特别是要支持多内码的时候.像magicwin的字库就远不如9代的好,而且9代还对字用了反走样(其实就是使用了16色且包含透明色的调色板),效果看上去很不错
下面简单介绍一下三3~5的字符编码
我想big5码大家都应该比较熟悉了,两字节编码.第一个字节范围是a1~fe,第二个字节范围是40~7f,a1~fe.不过三国志里没有直接使用big5编码,但是它的编码顺序是基本相同的.它的第一个字节从92开始,到b0有间断,第二个字节分成很多段,分别是48~56,65~90,97~121,128~254,一共使用了188个码位
下面的对应是从第一个汉字开始的
转换代码如下
For j = 0 To 7 Step 2
If t(j) = 0 Or t(j) = 32 Then Exit For
tt = t(j + 1)
If t(j) < 176 Then
p = 1 - 188 + (188 * (t(j) - &H92)) * 2
Else
p = 11619 + (188 * (t(j) - 176)) * 2
End If
If tt > 47 Then tt = tt - 48
If t(j + 1) > 64 Then tt = tt - 7
If t(j + 1) > 96 Then tt = tt - 6
If t(j + 1) > 127 Then tt = tt - 5
p = p + tt + tt
Get #2, p, t(j)
Get #2, p + 1, t(j + 1)
Next j
其中#2是码表文件.这里有一个我处理过的码表,改变了某些编码的次序.不过限于时间,只保证人名的对应关系是正确

顺带说一下三国的字库.
它是14*16而不是一般的16*16.格式就是magicwin的那种啦,一位一个像素.
字库文件的名称是ziku.16p.
三九的是f_font.s9,开头就是big5码列表。
至于三十和三九差不多,只不过像素是倒序存放的


精华帖
顶部
性别:男-离线 van

平曲侯泸川军节度使

Rank: 13Rank: 13Rank: 13Rank: 13
柱国(正二品) 工神
组别 节度使
级别 军师将军
好贴 3
功绩 475
帖子 984
编号 25461
注册 2004-11-24


发表于 2004-11-28 14:10 资料 主页 文集 短消息 看全部作者
主程序里,现在当然是用Big5编码了


精华帖
顶部
性别:男-离线 van

平曲侯泸川军节度使

Rank: 13Rank: 13Rank: 13Rank: 13
柱国(正二品) 工神
组别 节度使
级别 军师将军
好贴 3
功绩 475
帖子 984
编号 25461
注册 2004-11-24


发表于 2004-11-28 20:59 资料 主页 文集 短消息 看全部作者
big5码是肯定的,至于三9里武将姓名是如何存放的,我没什么印象了
精华帖
顶部
性别:男-离线 van

平曲侯泸川军节度使

Rank: 13Rank: 13Rank: 13Rank: 13
柱国(正二品) 工神
组别 节度使
级别 军师将军
好贴 3
功绩 475
帖子 984
编号 25461
注册 2004-11-24


发表于 2004-12-1 23:28 资料 主页 文集 短消息 看全部作者
是我记错了,在m_msg.s9里面的,你解压之后就可以看到人物名字了
精华帖
顶部
性别:男-离线 van

平曲侯泸川军节度使

Rank: 13Rank: 13Rank: 13Rank: 13
柱国(正二品) 工神
组别 节度使
级别 军师将军
好贴 3
功绩 475
帖子 984
编号 25461
注册 2004-11-24


发表于 2004-12-1 23:30 资料 主页 文集 短消息 看全部作者
你可以参考友盟的帖子
http://www.e3ol.com/bbs/dispbbs.asp?Boardi...did=62&ID=15972
不过里面的附件已经失效了
精华帖
顶部
性别:男-离线 van

平曲侯泸川军节度使

Rank: 13Rank: 13Rank: 13Rank: 13
柱国(正二品) 工神
组别 节度使
级别 军师将军
好贴 3
功绩 475
帖子 984
编号 25461
注册 2004-11-24


发表于 2004-12-1 23:54 资料 主页 文集 短消息 看全部作者
对了,其实San9普通版也不过是用safedisc2 cleaner自动脱壳的。你也可以用它对pk版试试看
精华帖
顶部
性别:男-离线 van

平曲侯泸川军节度使

Rank: 13Rank: 13Rank: 13Rank: 13
柱国(正二品) 工神
组别 节度使
级别 军师将军
好贴 3
功绩 475
帖子 984
编号 25461
注册 2004-11-24


发表于 2004-12-2 13:08 资料 主页 文集 短消息 看全部作者
解压以后的三9Msg文件,可以直接替换原来的文件


附件: M_Msg.rar (2004-12-2 13:08, 173.13 K)
该附件被下载次数 321
精华帖
顶部
性别:男-离线 van

平曲侯泸川军节度使

Rank: 13Rank: 13Rank: 13Rank: 13
柱国(正二品) 工神
组别 节度使
级别 军师将军
好贴 3
功绩 475
帖子 984
编号 25461
注册 2004-11-24


发表于 2004-12-2 13:36 资料 主页 文集 短消息 看全部作者
具体的压缩算法可以参考
http://www.xycq.net/forum/index.php?showtopic=34612
精华帖
顶部

正在浏览此帖的会员 - 共 1 人在线




当前时区 GMT+8, 现在时间是 2024-10-4 15:29
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.011705 second(s), 10 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP