|
happybasic
中级用户
  
积分 298
发帖 118
注册 2006-3-1
状态 离线
|
『楼 主』:
矢量汉字显示实例[源码]
[已使用 LLM 解释]
因为我的小站现在要做成纯正的:以QB软件开发,源码发布,以及教学为主;
VB源码发布,以及教学为辅
的一个小站,所以把这个源码贴到这里来,供大家参考。
Because my small site is now going to be made into a pure one: with QB software development, source code release, and teaching as the main focus; VB source code release and teaching as the auxiliary. So I post this source code here for everyone to refer to.
LLM 解释
技术背景与代码前提
该矢量汉字显示实例的核心依赖是PS格式曲线汉字库(如 hzk???.ps),而非DOS时代更常见的点阵字库(如UCDOS的 .hzk)。根据跟帖用户“本是”的分析,源码中通过 findfirst("*.ps", &ff, FA_ARCH) 扫描当前目录下的PS字库文件,若缺少该字库则无法显示汉字——这是虚拟机环境下(Post #8)无输出的直接原因。
格式与资源说明
-
PS字库的特殊性:
此处的“PS”并非标准PostScript字体,而是当年中文软件圈流传的一种曲线汉字库格式(可能与早期金山、科印等汉卡/排版系统的非标准矢量字库有关),与UCDOS、CCDOS等主流点阵字库不兼容。该格式的公开文档极少,属于历史上的“民间流通格式”,依赖特定工具或逆向分析才能复用。
-
资源依赖的补充:
原作者提供的 KTDOT.rar 是该字库的配套资源,但需注意:
- 此类历史字库可能涉及版权问题,合法使用需优先选择开源替代方案(如FreeType支持的TrueType字体,或通过DOS下的开源矢量渲染库间接实现);
- 若需验证功能,可尝试寻找DOS下的开源曲线字库驱动(如基于FreeType 1.x的DOS移植版),或通过DOSBox挂载字库文件模拟运行。
历史语境下的合理性
该实例在2007年的价值在于:
- 填补了DOS下“矢量汉字显示”的技术空白(当时多数DOS中文软件仍依赖点阵字库,放大后会模糊);
- 展示了非标准资源(PS字库)的调用逻辑,对理解DOS下文件操作、图形渲染有参考意义。
但局限性也很明显:依赖冷门格式导致可复现性低,且源码未附带字库解析的核心逻辑(如贝塞尔曲线渲染、汉字编码映射),需结合字库格式的逆向分析才能完整理解。
后续讨论的补充
跟帖中“zyl910”提出的“PS格式资料缺失”问题,反映了当年中文技术圈的普遍困境:非标准格式多依赖民间流通的“经验性文档”或逆向工程,缺乏官方规范,这也是此类技术难以传承的主要原因。
附件
1: showhz.rar (2007-2-6 02:22, 41.63 KiB, 下载附件所需积分 1 点
,下载次数: 616)
|

欢迎光临happyBASIC小站:http://yxbasic.51.net |
|
2007-2-6 02:22 |
|
|
happybasic
中级用户
  
积分 298
发帖 118
注册 2006-3-1
状态 离线
|
|
2007-3-28 12:26 |
|
|
wwwlgh
初级用户
 
积分 92
发帖 41
注册 2005-12-23
状态 离线
|
|
2007-3-28 22:36 |
|
|
download
初级用户
 
积分 199
发帖 101
注册 2007-3-13
状态 离线
|
『第 4 楼』:
使用 LLM 解释/回答一下
不顶,顶了你又不送美女……
Not topping, if I top you, you won't send beautiful women...
|
|
2007-3-29 00:34 |
|
|
estar
中级用户
  
积分 346
发帖 103
注册 2004-4-6
状态 离线
|
|
2007-3-29 03:26 |
|
|
zank
新手上路

积分 2
发帖 1
注册 2007-4-6
状态 离线
|
|
2007-4-6 08:32 |
|
|
ksquest
初级用户
 
积分 56
发帖 22
注册 2007-4-3
状态 离线
|
|
2007-4-6 10:50 |
|
|
ksquest
初级用户
 
积分 56
发帖 22
注册 2007-4-3
状态 离线
|
『第 8 楼』:
使用 LLM 解释/回答一下
为什么在虚拟机中的MS-DOS7.1运行完没看见有汉字出现?
Why doesn't Chinese characters appear after running MS-DOS 7.1 in a virtual machine?
|
|
2007-4-7 08:30 |
|
|
happybasic
中级用户
  
积分 298
发帖 118
注册 2006-3-1
状态 离线
|
|
2007-4-7 21:08 |
|
|
本是
银牌会员
    
积分 2221
发帖 789
注册 2005-1-27
状态 离线
|
『第 10 楼』:
使用 LLM 解释/回答一下
Originally posted by ksquest at 2007-4-7 08:30:
为什么在虚拟机中的MS-DOS7.1运行完没看见有汉字出现?
源码中有一行是:
b=findfirst("*.ps",&ff,FA_ARCH);
说明它需要 在当前目录中有hzk???.ps曲线(不是矢量hzksl??)汉字库才能显示曲线汉字。
Originally posted by ksquest at 2007-4-7 08:30:
Why doesn't any Chinese character appear after running MS-DOS 7.1 in the virtual machine?
There is a line in the source code:
b=findfirst("*.ps",&ff,FA_ARCH);
It indicates that it needs to have the hzk??? (not vector hzksl??) Chinese character library in the current directory to display the vector Chinese characters.
|

my major is english----my love is dos----my teacher is the buddha----my friends--how about U |
|
2007-4-7 21:48 |
|
|
ksquest
初级用户
 
积分 56
发帖 22
注册 2007-4-3
状态 离线
|
『第 11 楼』:
使用 LLM 解释/回答一下
那么,happybasic大哥,你把那个文件也一起发出来啊!谢谢了!
Then, Brother happybasic, you also send that file out together! Thanks!
|
|
2007-4-7 22:02 |
|
|
happybasic
中级用户
  
积分 298
发帖 118
注册 2006-3-1
状态 离线
|
|
2007-4-8 00:43 |
|
|
happybasic
中级用户
  
积分 298
发帖 118
注册 2006-3-1
状态 离线
|
『第 13 楼』:
使用 LLM 解释/回答一下
Originally posted by 本是 at 2007-4-7 21:48:
源码中有一行是:
b=findfirst("*.ps",&ff,FA_ARCH);
说明它需要在当前目录中有hzk???.ps曲线(不是矢量hzksl??)汉字库才能显示曲线汉字。
呵呵,这位兄弟要是有"本是兄"一半细心就不必发问了。。。
ps: To 本是,俺也在苏州。。。
Originally posted by Benshi at 2007-4-7 21:48:
There is a line in the source code:
b=findfirst("*.ps",&ff,FA_ARCH);
It means that it needs the hzk??? .ps curve (not vector hzksl??) Chinese character library in the current directory to display curve Chinese characters.
Hehe, if this brother had half as much care as Brother "Benshi", he wouldn't need to ask questions...
ps: To Benshi, I'm also in Suzhou...
|

欢迎光临happyBASIC小站:http://yxbasic.51.net |
|
2007-4-8 00:48 |
|
|
ksquest
初级用户
 
积分 56
发帖 22
注册 2007-4-3
状态 离线
|
『第 14 楼』:
使用 LLM 解释/回答一下
我就是因为不是很懂C,所以才发问的。另:本人也在苏州地区,幸会。
还有happybasic兄,你的小站一打开就要求下一个ActiveX,给人一种不安全的感觉。据卡巴检测为一个广告程序!
I just asked because I don't understand C very much. Also: I'm also in the Suzhou area, nice to meet you.
And brother happybasic, as soon as I open your website, it asks to download an ActiveX, which gives a sense of insecurity. According to Kaspersky detection, it's an ad program!
|
|
2007-4-8 02:02 |
|
|
happybasic
中级用户
  
积分 298
发帖 118
注册 2006-3-1
状态 离线
|
『第 15 楼』:
使用 LLM 解释/回答一下
那个51.net的空间,不是我加的,应该是服务商放的。
我联系看看服务商是怎么回事吧~~~
That 51.net space wasn't added by me. It should be placed by the service provider. I'll contact and see what's going on with the service provider.
|

欢迎光临happyBASIC小站:http://yxbasic.51.net |
|
2007-4-8 03:28 |
|