中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS汉化世界 & 中文系统 (中文化室) » 让非汉字系统显示汉字!5.20新版
« [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] »
作者:
标题: 让非汉字系统显示汉字!5.20新版 上一主题 | 下一主题
download
初级用户





积分 199
发帖 101
注册 2007-3-13
状态 离线
『第 256 楼』:  

奇怪了,生成后对比了一下
http://www.cn-dos.net/forum/atta ... e74b&download=1
和这个的不同

2007-3-25 09:00
查看资料  发短消息 网志   编辑帖子  回复  引用回复
download
初级用户





积分 199
发帖 101
注册 2007-3-13
状态 离线
『第 257 楼』:  

生成GBK 的HZK后我对比了一下这里提供的HZK16。GBK,发现不同,
故传到无忧(这里只能上传100K)那边,你下载看看是怎么回事?

为防止大家用到有问题的汉字库,特加上密码。压缩包密码是:benshi
下载地址: 第259楼
http://bbs.wuyou.com/viewthread. ... &extra=page%3D1

2007-3-25 12:07
查看资料  发短消息 网志   编辑帖子  回复  引用回复
本是
银牌会员





积分 2201
发帖 789
注册 2005-1-27
状态 离线
『第 258 楼』:  

我查了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
2007-3-25 14:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jb88
新手上路





积分 18
发帖 8
注册 2006-11-12
状态 离线
『第 259 楼』:  

牛人牛贴!

2007-3-25 22:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
download
初级用户





积分 199
发帖 101
注册 2007-3-13
状态 离线
『第 260 楼』:  



  Quote:
Originally posted by 本是 at  01:48 AM:
我查了UCWIN带的HZK16.GBK,发现它不是按照公式

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

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

给字库起个新名字:GBK顺序字库,以前的则为兼容字库。

2007-3-26 02:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
download
初级用户





积分 199
发帖 101
注册 2007-3-13
状态 离线
『第 261 楼』:  

你试试用上述代码来读取我生成的那个GBK字库看看成功没?

2007-3-26 02:27
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qingyangecho
初级用户





积分 97
发帖 40
注册 2006-11-1
状态 离线
『第 262 楼』:  



  Quote:
Originally posted by download at 2007-3-25 12:52 AM:
不开源,捆绑N个流氓插件,再加收注册费每台机50元 ^_^

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

2007-3-26 02:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复
download
初级用户





积分 199
发帖 101
注册 2007-3-13
状态 离线
『第 263 楼』:  



  Quote:
Originally posted by 本是 at  01:48 AM:
我查了UCWIN带的HZK16.GBK,发现它不是按照公式
“(ch1-0x81)*190+(ch2-0x40)-(ch2/128)”来计算的!
那是生成GBK码本的汉字顺序,不是字库中的排列顺序。
GBK字 ...

前面的兼容区似乎是94/96个汉字每区,而不是190,这样排起来还真麻烦

2007-3-26 04:20
查看资料  发短消息 网志   编辑帖子  回复  引用回复
download
初级用户





积分 199
发帖 101
注册 2007-3-13
状态 离线
『第 264 楼』:  



  Quote:
Originally posted by qingyangecho at  01:36 PM:



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

比尔没什么好羡慕的,劳累过多,
近况看起来比实际岁数老太多
还是继续当我的处男实在一些……

2007-3-26 04:22
查看资料  发短消息 网志   编辑帖子  回复  引用回复
本是
银牌会员





积分 2201
发帖 789
注册 2005-1-27
状态 离线
『第 265 楼』:  



  Quote:
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
2007-3-26 05:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hnlyzhd
高级用户




积分 544
发帖 164
注册 2004-10-17
状态 离线
『第 266 楼』:  

看来用在BCDW是不是有希望了?

实在是不懂,路过!



    我的留言簿

http://hnlyzhd.ys168.com            我的网络盘
2007-3-26 06:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
本是
银牌会员





积分 2201
发帖 789
注册 2005-1-27
状态 离线
『第 267 楼』:  



  Quote:
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
2007-3-26 06:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
download
初级用户





积分 199
发帖 101
注册 2007-3-13
状态 离线
『第 268 楼』:  

红色部份应该是
ch2\128

2007-3-26 09:46
查看资料  发短消息 网志   编辑帖子  回复  引用回复
本是
银牌会员





积分 2201
发帖 789
注册 2005-1-27
状态 离线
『第 269 楼』:  

U R right.



my major is english----my love is dos----my teacher is the buddha----my friends--how about U
2007-3-26 09:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
download
初级用户





积分 199
发帖 101
注册 2007-3-13
状态 离线
『第 270 楼』:  

公式不对,有重码。

2007-3-26 11:46
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: