中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 关于CJK-GB.F16和HZK16字库 上一主题 | 下一主题
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『楼 主』:  关于CJK-GB.F16和HZK16字库

AW97(CJKDOS)所带的GBK字库文件CJK-GB.F16和UCDOS/CCDOS97所支持的HZK16(指莫老师所转换成的GBK字库的HZK16,而不是原来的GB2312的HZK16文件)字库文件有一个很大的相似点,那就是体积完全相同,都是766,080字节,虽然内容不同。我刚才试着交换了一下,即用GBK的HZK16放到AW97中,而将CJK-GB.F16放到UCDOS中,结果得到了一个有趣的结果。

交换后,UCDOS和AW97都能正常启动,而且都能显示汉字!然而,再看一眼即知,屏幕上显示的文字虽然都是汉字,根本组不成句子。也就是说,显示出的汉字不对,显然发生了错位。以UCDOS为例,虽然屏幕上出现了大量的GBK汉字(如繁体字),但事实上UCDOS仍然不支持GB2312以外的汉字。

我的结论是HZK16和CJK-GB.F16的格式相同,但编码似乎不同。那应该如何解决呢?



Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2003-5-31 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
wyl
中级用户




积分 282
发帖 56
注册 2002-12-12
状态 离线
『第 2 楼』:  

是啊,如何解决呢?AW97不能在DOS窗口下运行,只能放弃了。

2003-5-31 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
LanE
银牌会员




积分 1833
发帖 648
注册 2002-11-8
状态 离线
『第 3 楼』:  

可能是结构不同吧,GB2312部分应该是相同的,然后在后面可能用了不同的排列方式,但因为包含的字相同,只是顺序变了一下,所以大小相同

2003-6-2 00:00
查看资料  发送邮件  发短消息 网志  OICQ (9367907)  编辑帖子  回复  引用回复
mys
元老会员




积分 5170
发帖 1637
注册 2002-10-16
来自 广东佛山
状态 离线
『第 4 楼』:  

这是点阵信息的排列问题,每个汉字都是16*16点阵结构,每点用一Bit表示,则每个汉字占32字节,但有的汉字库是从上向下取信息的,即第1行、第2行……第16行。但有的汉字汉字库采用从左到右的方法,即第1列、第2列……16列。所以不同汉字系统的字库不一定能通用的。
大家可以试试把PDOS95的字库和UCDOS/CCDOS的字库互换,你看到的汉字便会面目全非,这是因为它们的汉字库取点阵信息的方法不同。



我的网志
http://hzmys.blog.163.com/
我的网盘
firststep.qjwm.com
fsmys.ys168.com
ssmys.ys168.com
www.brsbox.com/fsmys
www.brsbox.com/ssmys
www.brsbox.com/ccdos
2003-6-4 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (2664429)  编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『第 5 楼』:  

能不能编写编写一个字库转换程序呢?我想把GB2312和BIG5字库拿到AW97中使用。



Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2003-6-4 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
doholyou
初级用户




积分 103
发帖 4
注册 2003-12-31
状态 离线
『第 6 楼』:  

我觉得是gb和big5的编码不同造成的,16*16点阵读法是一样的,可用读字库及建小型字库的
方法分别转换。

2003-12-31 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
mys
元老会员




积分 5170
发帖 1637
注册 2002-10-16
来自 广东佛山
状态 离线
『第 7 楼』:  

编写转换程序应该是可行的。把每个字的点阵结构读出来,然后转换就是了,但是这并没有什么用。关键不是字库结构而是汉字系统根据内码对字库进行的处理。
比如16*16点阵字库,则第1行(列)用两个字节表示,(一个字节表示8个点,0为没点1为有点),然后乘以16行(列),即32个字字,把它变成点阵数据,然后再转成另一种字库结构方式就可以了。



我的网志
http://hzmys.blog.163.com/
我的网盘
firststep.qjwm.com
fsmys.ys168.com
ssmys.ys168.com
www.brsbox.com/fsmys
www.brsbox.com/ssmys
www.brsbox.com/ccdos
2004-1-1 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (2664429)  编辑帖子  回复  引用回复
doshill
初级用户




积分 166
发帖 26
注册 2004-7-22
状态 离线
『第 8 楼』:  



  Quote:
以下是引用mys在2003-6-4 07:31:29的发言:
这是点阵信息的排列问题,每个汉字都是16*16点阵结构,每点用一Bit表示,则每个汉字占32字节,但有的汉字库是从上向下取信息的,即第1行、第2行……第16行。但有的汉字汉字库采用从左到右的方法,即第1列、第2列……16列。所以不同汉字系统的字库不一定能通用的。
大家可以试试把PDOS95的字库和UCDOS/CCDOS的字库互换,你看到的汉字便会面目全非,这是因为它们的汉字库取点阵信息的方法不同。

PDOS95里那个CHS16.FON和UCDOS的HZK16一样,都是按行排列的,可以互换。
貌似UCDOS的24点阵是按列排列的

2004-8-1 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fanjing9
初级用户




积分 104
发帖 2
注册 2004-8-5
状态 离线
『第 9 楼』:  

莫老师所转换成的GBK字库的HZK16那里有啊,我急需啊!![em06]

2004-8-5 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wchong
银牌会员




积分 1186
发帖 510
注册 2004-7-30
状态 离线
『第 10 楼』:  

站长的贴真长知识,我怎么没有注意到呢!

2004-8-5 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
MYS
元老会员




积分 5170
发帖 1637
注册 2002-10-16
来自 广东佛山
状态 离线
『第 11 楼』:  

我所拥有的16点阵字库取自UCWIN GOLD,可以直接替换UCDOS/CCDOS97的HZK16,只是无法显示GBK汉字而已。这是系统本身存在限制。



我的网志
http://hzmys.blog.163.com/
我的网盘
firststep.qjwm.com
fsmys.ys168.com
ssmys.ys168.com
www.brsbox.com/fsmys
www.brsbox.com/ssmys
www.brsbox.com/ccdos
2004-8-9 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (2664429)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: