中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-20 11:40
中国DOS联盟论坛 » DOS汉化世界 & 中文系统 (中文化室) » 让非汉字系统显示汉字!5.20新版 精华I 查看 81,456 回复 373
256 发表于 2007-03-25 09:00 ·  中国 海南 儋州 电信
初级用户
★★
积分 199
发帖 101
注册 2007-03-13 01:44
19年会员
UID 81536
状态 离线
奇怪了,生成后对比了一下
http://www.cn-dos.net/forum/attachment.php?aid=950&checkid=de74b&download=1
和这个的不同
257 发表于 2007-03-25 12:07 ·  中国 海南 儋州 电信
初级用户
★★
积分 199
发帖 101
注册 2007-03-13 01:44
19年会员
UID 81536
状态 离线
生成GBK 的HZK后我对比了一下这里提供的HZK16。GBK,发现不同,
故传到无忧(这里只能上传100K)那边,你下载看看是怎么回事?

为防止大家用到有问题的汉字库,特加上密码。压缩包密码是:benshi
下载地址: 第259楼
http://bbs.wuyou.com/viewthread.php?tid=100870&pid=1008822&page=26&extra=page%3D1
258 发表于 2007-03-25 14:48 ·  中国 江苏 苏州 电信
银牌会员
★★★
积分 2,227
发帖 790
注册 2005-01-27 00:00
21年会员
UID 35703
性别 男
状态 离线
我查了UCWIN带的HZK16.GBK,发现它不是按照公式
“(ch1-0x81)*190+(ch2-0x40)-(ch2/128)”来计算的!
那是生成GBK码本的汉字顺序,不是字库中的排列顺序。
GBK字库是分区存放的!它为了兼容GB2312的HZK16,先原序存放1~94区,
然后另分3个区域存放扩充部分,详情见下面的列表:

  GBK字符集范围
 相当于
“GB区位码” 分区   高位 || 低位  
—————————————————————————————
1~94区   ●GB汉字: A1~FE || A1~FE
— — — — — — — — — — — — — — —
95~126区  ●扩充汉字: 81~A0 || A1~FE
127~159区  ●扩充汉字: 81~A0 || 40~A0
159+~254+区●扩充汉字: A1~FE || 40~A0
—————————————————————————————
我观察下来好像就是这个顺序。不过,你再核对一下,确认无误后才能开始调整你的程序。
我困了,要睡了~~~
my major is english----my love is dos----my teacher is the buddha----my friends--how about U
259 发表于 2007-03-25 22:49 ·  中国 广东 广州 番禺区 广州海之光通讯技术有限公司
新手上路
积分 18
发帖 8
注册 2006-11-12 05:57
19年会员
UID 70297
性别 男
状态 离线
牛人牛贴!
260 发表于 2007-03-26 02:17 ·  中国 海南 儋州 电信
初级用户
★★
积分 199
发帖 101
注册 2007-03-13 01:44
19年会员
UID 81536
状态 离线
Originally posted by 本是 at 01:48 AM:
我查了UCWIN带的HZK16.GBK,发现它不是按照公式

那是生成GBK码本的汉字顺序,不是字库中的排列顺序。
GBK字 ...


头大,懒得去研究了,搞这么麻烦到时读取也麻烦!干脆就用
“(ch1-0x81)*190+(ch2-0x40)-(ch2/128)”来定位算了,

给字库起个新名字:GBK顺序字库,以前的则为兼容字库。
261 发表于 2007-03-26 02:27 ·  中国 海南 儋州 电信
初级用户
★★
积分 199
发帖 101
注册 2007-03-13 01:44
19年会员
UID 81536
状态 离线
你试试用上述代码来读取我生成的那个GBK字库看看成功没?
262 发表于 2007-03-26 02:36 ·  中国 福建 泉州 晋江市 电信
初级用户
积分 97
发帖 40
注册 2006-11-01 13:59
19年会员
UID 69168
性别 男
状态 离线
Originally posted by download at 2007-3-25 12:52 AM:
不开源,捆绑N个流氓插件,再加收注册费每台机50元 ^_^



嗯,鼓掌,中国未来的比而盖次
263 发表于 2007-03-26 04:20 ·  中国 海南 儋州 电信
初级用户
★★
积分 199
发帖 101
注册 2007-03-13 01:44
19年会员
UID 81536
状态 离线
Originally posted by 本是 at 01:48 AM:
我查了UCWIN带的HZK16.GBK,发现它不是按照公式
“(ch1-0x81)*190+(ch2-0x40)-(ch2/128)”来计算的!
那是生成GBK码本的汉字顺序,不是字库中的排列顺序。
GBK字 ...


前面的兼容区似乎是94/96个汉字每区,而不是190,这样排起来还真麻烦
264 发表于 2007-03-26 04:22 ·  中国 海南 儋州 电信
初级用户
★★
积分 199
发帖 101
注册 2007-03-13 01:44
19年会员
UID 81536
状态 离线
Originally posted by qingyangecho at 01:36 PM:



嗯,鼓掌,中国未来的比而盖次


比尔没什么好羡慕的,劳累过多,
近况看起来比实际岁数老太多
还是继续当我的处男实在一些……
265 发表于 2007-03-26 05:22 ·  中国 江苏 苏州 电信
银牌会员
★★★
积分 2,227
发帖 790
注册 2005-01-27 00:00
21年会员
UID 35703
性别 男
状态 离线
Originally posted by download at 2007-3-26 02:27:
你试试用上述代码来读取我生成的那个GBK字库看看成功没?


我已经用字库显示程序浏览过,与GBK.TXT中的顺序
(公式“(ch1-0x81)*190+(ch2-0x40)-(ch2/128)”)是一致的。
但是,每个汉字的字模顺序是可载入VGA文本字模的格式,
即左右各16字节的单字节式,不是普通汉字库的双字节式!!!

所以,这样生成的字库不是通用字库!
建议:调整为单个汉字为双字节格式,整个字库为通用汉字库格式。
my major is english----my love is dos----my teacher is the buddha----my friends--how about U
266 发表于 2007-03-26 06:17 ·  中国 河南 洛阳 联通
高级用户
★★
积分 544
发帖 164
注册 2004-10-17 12:00
21年会员
UID 32648
性别 男
状态 离线
看来用在BCDW是不是有希望了?

实在是不懂,路过!
我的留言簿

http://hnlyzhd.ys168.com 我的网络盘
267 发表于 2007-03-26 06:29 ·  中国 江苏 苏州 电信
银牌会员
★★★
积分 2,227
发帖 790
注册 2005-01-27 00:00
21年会员
UID 35703
性别 男
状态 离线
Originally posted by 本是 at 2007-3-26 05:22:
建议:调整为...整个字库为通用汉字库格式。


通用HZK16.GBK库
以32字节为单位的记录号计算方法如下
(假设汉字高位在ch1,低位在ch2中):
if ch1>A0h then
if ch2>A0h then '1-94:A1~FE || A1~FE
rec=(ch1-A1h)*94+(ch2-A1h)
else '159-254:A1~FE || 40~A0
rec=94*94+31*94+31*96+(ch1-A1h)*96+(ch2-40h)-(ch2/128)
endif
else
if ch2>A0h then '95-126:81~A0 || A1~FE
rec=94*94+(ch1-81h)*94+(ch2-A1h)
else '127-159:81~A0 || 40~A0
rec=94*94+31*94+(ch1-81h)*96+(ch2-40h)-(ch2/128)
endif
endif

[ Last edited by 本是 on 2007-3-26 at 09:03 AM ]
my major is english----my love is dos----my teacher is the buddha----my friends--how about U
268 发表于 2007-03-26 09:46 ·  中国 海南 儋州 电信
初级用户
★★
积分 199
发帖 101
注册 2007-03-13 01:44
19年会员
UID 81536
状态 离线
红色部份应该是
ch2\128
269 发表于 2007-03-26 09:49 ·  中国 江苏 苏州 电信
银牌会员
★★★
积分 2,227
发帖 790
注册 2005-01-27 00:00
21年会员
UID 35703
性别 男
状态 离线
U R right.
my major is english----my love is dos----my teacher is the buddha----my friends--how about U
270 发表于 2007-03-26 11:46 ·  中国 海南 儋州 电信
初级用户
★★
积分 199
发帖 101
注册 2007-03-13 01:44
19年会员
UID 81536
状态 离线
公式不对,有重码。
论坛跳转: