![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-26 09:00 |
共 47,812 主题排行 / 349,910 发帖 / 今日 0 篇 / 48,264 会员排行 |
| DOS汉化世界 & 中文系统 (中文化室) » UCDOS 5.0 版本以上曲线字库汉字显示程序源代码 |
| 可打印版本 4,098 / 4 |
| 第1楼 lhsong | 发表于 2009-02-05 22:14 |
| 初级用户 发帖 12 积分 47 | |
|
UCDOS 5.0 版本以上曲线字库汉字显示程序源代码 若字库为5.0版,应去掉下面一段代码
希望大家能够喜欢!!!!!!! |
|
| 第2楼 lidawei | 发表于 2009-02-18 12:49 |
| 新手上路 发帖 3 积分 6 | |
|
感谢lhsong的无私奉献 近日心血来潮,看起了UCDOS的rdfnt.com,虽然DOS的知识已荒废多年,当年的资料也因束之高阁而基本上无法查阅(好象当年手头也没UCDOS的什么资料,现在想找UCDOS系统调用规范之类的东西,google几天都找不到),还是凭兴趣看了好几日,主要看了点阵字库,PS只看了控制码转为坐标部分。虽未看完,但还是再次感叹汇编程序的精致,30来K的程序,其中还有10多K是工作存储区、4-5K是各字库参数定义,指令部分估计也就10多K,如此一小段程序即可完成包括点阵、矢量、PS字库的检索、匹配、解码、变换等操作,真是令人佩服。
偶见楼主的文章,想谈谈一点自己的看法。 文章开头部分有
的说明,按我的理解,汉字数据的偏移不应是减去0x10000000,此偏移应该实际只有24bit即3字节,第4字节定义的不是偏移,而是此汉字数据的附加格式。从int 7eh进入rdfnt的获得汉字点阵功能后不远处的一个过程有如下的操作: mov ax,es: 刚才读入的6字节 PS或矢量数据的偏移低字 mov dx,es: PS或矢量数据的偏移高字 mov cx,es: 长度 jcxz ... or zk_type,dh mov dh,0 清0数据指针的最高字节,剩下3字节 ... call read_hz 移动文件指针,dx,ax=偏移,读文件,读cx字节于ds:di中 可见其4字节的最高字节不是用于寻址的,而是定义信息。rdfnt除了可读点阵字库、解码PS字库外,尚可解码矢量字库,对于不同的PS、矢量字库,有可能某些字库该字节不是0x10(未各字库逐个汉字检查过,无法证实),如果都减去此一固定值,有可能会出错。 有一篇文章叫“UCDOS的曲线轮廓字库的分析”,里面也说到ucdos6中偏移应减去0x10000000的事,不知楼主这里的减去0x10000000是否源自该处? |
|
| 第3楼 lhsong | 发表于 2009-02-21 21:16 |
| 初级用户 发帖 12 积分 47 | |
|
谢谢楼上的指点,
“0x10000000”值确实是来自“UCDOS的曲线轮廓字库的分析”一文,不过,我察看了5.0字库和6.0字库,确实是在6.0曲线字库的第四个字节增加了定义,但不知其实际用途。 还希望高手能给予指点。 |
|
| 第4楼 oookkk2008 | 发表于 2009-04-17 01:53 |
| 新手上路 发帖 2 积分 5 | |
|
好,学习了,谢谢
|
|
| 第5楼 chenyucheng | 发表于 2023-08-01 10:16 |
| 初级用户 发帖 70 积分 152 来自 浙江省台州市 | |
|
这是什么啊 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |