|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|