中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-05 08:02
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS汉化世界 & 中文系统 (中文化室) » 让非汉字系统显示汉字!5.20新版
可打印版本  85,890 / 373
第31楼 本是 发表于 2005-11-27 22:43
银牌会员 发帖 790 积分 2,227
Re willsort:
  这一阶段,我在网络上对VGA字形及CONFIG.SYS工具作了广泛搜寻、在VPC上也作了无数实验,现在先对VTF代码顺序及字模数据的存放顺序,作如下总结:
  1。代码顺序:理论上和实践上,我已实现①一次性装载连续或乱序代码的字模数据(部分或全部ASCII码)乱序代码的字模数据(全部ASCII码)、②二次性装载左右两半字模分别连续代码的字模数据(部分或全部ASCII码)、③n*2次性装载顺序或乱序代码的字模数据(部分或全部ASCII码)。在DOS命令行上这些都可以轻松实现,但作为设备驱动,问题就很多--①②可以,③却不行,本来③法是可以最方便地实现各种顺序的代码的统一方法,尤其是对驱动&执行二合为一的程序(我的目标)而言。
  2。字模数据的存放顺序:正常汉字系统字库中字模数据的存放顺序设为1,2,3,4,...,31,32,VTF字模中要拆开成左右两半各占一个ASCII字符位/代码位,字模数据分成1,3,5,...,29,31和2,4,6,...,30,32。字模总体存放顺序有①按ASCII字符集顺序连续存放、②分左半字模顺序区加右半字模顺序区存放、③hz1左半字模右半字模加hz2左半字模右半字模加……加hzn左半字模右半字模顺序(汉字内码/代码乱序)存放。其中③序利于汉字代码乱序法编程和程序中字模数据的二次利用。
  3。如果不太考虑文件体积的话,可以一次装载整个256个字符集字模,这样可以兼容各种代码顺序和实现统一的存放顺序,也可以实现驱动&执行二合为一的程序(我的目标)。

  关于自动替换的思考,另贴再叙。
第32楼 本是 发表于 2005-11-27 23:16
银牌会员 发帖 790 积分 2,227
Re willsort:
  关于自动替换的思考:
1。存在汉字与西文制表符的识别问题。
2。存在某汉字串是否需要替换的问题。
3。存在字串替换与字模替换同步进行并作不重复字字串的对比记录问题,否则日后不方便反替换、二次开发和改进。
4。装载起始ASCII码及多字模合并对替换也是致命的威胁。
第33楼 moogge 发表于 2005-11-28 21:10
新手上路 发帖 9 积分 17
真是些强人啊
第34楼 本是 发表于 2005-11-29 11:13
银牌会员 发帖 790 积分 2,227
先给个不重复汉字列表文件生成器,MKHZ.COM myfile.txt,生成myfile.HZ。然后用VTHZMK.COM myfile.HZ生成VTF字模载入程序。

[ Last edited by 本是 on 2005-12-6 at 17:00 ]
第35楼 本是 发表于 2005-11-29 17:37
银牌会员 发帖 790 积分 2,227
多字体、多修饰的VTF汉字字模载入及显示一体化DEMO
多字体、多修饰的VTF汉字字模载入及显示一体化DEMO,显示信息为:
不用汉字系统显示汉字汉字汉字反相横纵扩下划线

不用汉字系统显示--UCDOS简体字库
汉字--XZL简体风格
汉字--粗体字库
汉字--繁体字库
反相--相应风格
横--横扩
纵--纵扩
扩--横纵扩
下划线--相应风格

希望能用程序自动生成!

[ Last edited by 本是 on 2005-12-1 at 00:09 ]

附件
VGAHZ.RAR (2.1 KiB)
vgahz.JPG (4.47 KiB)
第36楼 willsort 发表于 2005-11-29 22:50
元老会员 发帖 1,512 积分 4,432
Re 本是:

简单的测试后,MKHZ和VGAHZ都没有什么问题。

只是测试 MKHZ 时走了一些弯路。我不知道 vthzmk 何时增加了 VTHZMK.COM myfile.HZ 的文件支持?我使用的 10-31 22:33 的1281字节版本未发现此功能。于是试图使用 VTHZMK.COM<myfile.HZ ,程序显示帮助后自动结束;试图使用 type myfile.hz | vthzmk ,却发现因为没有回车而无法终止程序;最后用 edit 编辑后才终于通过。然后使用 vthz 和 type vthz.txt 正常,但是仍然没有显示出原来的 myfile.txt ,又需要手动编辑 vthz.txt 了。

另外我也赞同兄分步骤、分模块的开发方法,单独考虑各步骤、各模块时,尽量排除其它模块的干扰,采用最标准、最简单的实现,然后进行模块组合就简单了。首先排除待转换文本中的重复字同时生成简化后的文本代码表(MKHZ),然后检查代码表中是否存在同胞汉字以决定待替换ASCII字符的选择方式,再后根据文本代码表生成待替换ASCII字符代码表,再后根据替换代码表批量载入替换新字模或生成字模载入程序,最后根据文本代码表和替换代码表的对照表生成新的显示文本。

当然,其中的细节问题,恕我爱莫能助了,在此祝愿你的项目不断取得新的进展!

[ Last edited by willsort on 2005-11-30 at 10:47 ]
第37楼 Wengier 发表于 2005-11-30 05:14
系统支持 发帖 10,521 积分 27,736
Originally posted by willsort at 2005-11-29 10:50 PM:
Re 本是:

简单的测试后,MKHZ和VGAHZ都没有什么问题。

只是测试 MKHZ 时走了一些弯路。我不知道 vthzmk 何时增加了 VTHZMK.COM myfile.HZ 的文件支持?我使用的 10-31 22:33 的1281字节版本未发现此功能。于是试图使用 VTHZMK.COM<myfile.HZ ,程序显示帮助后自动结束 ...


我也正想问这个问题,估计他可能尚未上传更新的VTHZMK文件。
第38楼 本是 发表于 2005-12-01 17:10
银牌会员 发帖 790 积分 2,227
VTF软件包初步完工!
Re ALL:

  VTF软件包初步完工!  DEMO.BAT中有各个.COM的用法,请参考。
  DEMO.BAT本身要带命令行文件名运行,否则显示帮助信息。命令行文件名中不能含有西文句点.,如果有,请用西文空格替换!!!--仅指在命令行上
原软件包中有--
In the original package, you have--
716 DEMO.BAT  供试验的批处理文件,同时也作为实验用的文本文件
32 HASDOT.COM 测试命令行文件名是否含有.,有则返回46作errorlevel
627 MKHZ.COM  由文本文件生成.HZ不重复汉字列表文件
1,278 NEWHZ.COM 根据新旧汉字内码进行自动替换,生成.NEW文件
515 PACKING.LST 文件列表
1,281 VTHZMK.COM VTF程序生成器--主程序
------------------------
4,449 bytes 6 File(s)

打入 DEMO demo bat后, 自动生成4个新文件,并自动替换自动分页显示。
此时文件共有--
Type DEMO demo bat, you'll get--
716 DEMO.BAT
126 DEMO.HZ 不重复汉字列表文件:汉字系统下显示汉字字形
716 DEMO.NEW 新内码汉字文本文件:对应于原内码文本文件DEMO.BAT
32 HASDOT.COM
627 MKHZ.COM
1,278 NEWHZ.COM
515 PACKING.LST
2,052 VTHZ.COM 字模载入程序:工作于VGA文本屏/汉字系统非汉字显示状态
128 VTHZ.TXT 新内码不重复汉字列表文件:运行VTHZ.COM后,会显示汉字字形
1,281 VTHZMK.COM
------------------------
7,471 bytes 10 File(s)

用户运行只需要VTHZ.COM和*.NEW文件--都可根据需要进行重命名。

[ Last edited by 本是 on 2005-12-1 at 21:06 ]

附件
VTFDEMO.RAR (4.24 KiB)
PACKING.txt (1.01 KiB)
第39楼 ywzhuss 发表于 2005-12-02 07:12
中级用户 发帖 108 积分 396
累呀,不过精神值得肯定。
第40楼 willsort 发表于 2005-12-02 13:07
元老会员 发帖 1,512 积分 4,432
Re 本是:

等待了一日,究是没有人再公布测试结果,我担心我的测试结果会影响许多人对这个程序的第一印象;而在我看来,VTF 是个创意和技术都很值得赞赏的原创软件,而且正在不断地发展和成熟起来;而我的测试环境和测试结果都是局部和片面的,况且我的报告从来都是省略正常的结果,详尽说明非正常的结果。

vtfdemo 包下载后,使用命令行 demo demo bat 进行了简单的测试,大部分步骤正常,只是仍然在 vthzmk 出了问题。如我在 36 楼提到的问题一样,在我的虚拟机MSDOS7.10的测试环境中,vthzmk < demo.hz 仍然只是显示了帮助信息后直接退出,并且没有显示 InputHZ 的提示,在 demo 的过程中,vthz.com 虽然被创建,但是只有0字节;而单独命令行中使用 vthzmk < demo.hz ,不会创建 vthz.com 。使用我上述的 edit demo.hz 后 type demo.hz | vthzmk 正常通过以后的所有步骤。

不知大家还有谁测试过?是否可以公布出与我不同的测试结果。
第41楼 pizigao 发表于 2005-12-02 14:31
银牌会员 发帖 292 积分 1,063
先来了解一下~楼主辛苦!
第42楼 本是 发表于 2005-12-02 21:19
银牌会员 发帖 790 积分 2,227
Re willsort:

  如果使用38楼的MKHZ.COM,情况应该不一样。新MKHZ自动给.HZ加了换行回车,再VTHZMK <xxxx.HZ,我自己用多个不同文本文件试过多次,结果如愿。也许版主用的还是旧的MKHZ。VTHZMK也请用软件包内的,否则可能产生不同的“新”内码之间的冲突。(也许我发布过不同的VTHZMK.COM!

  下面有时间,首先、做一个由.COM生成.SYS的小程序;第二、我会合成一个完整程序,完善命令行或DEBUG式的运行环境;第三、加进字体风格和修饰;第四、.COM、.SYS合一成为驱动、运行双料程序.EXE(如同EMM386.EXE一般)。

  谢谢大家鼓励!欢迎各种意见和建议!!

[ Last edited by 本是 on 2005-12-2 at 21:27 ]
第43楼 willsort 发表于 2005-12-04 22:50
元老会员 发帖 1,512 积分 4,432
Re willsort:

新 MKHZ 所加的回车我后来注意到了,但是遗憾的是,我仍然无法通过 vthzmk < demo.hz 的测试,即仍然无法将其中的汉字传递给 vthzmk 。只能使用 type demo.hz | vthzmk 的方法。

后来又发现,这种方法的运行结果,只是替换了62个汉字的字模,即只显示到“请用空格代”,而 type vthz.txt 也确实发现后面有两个不可识别字。

而在诸多的测试中,我多次碰到即使 type demo.hz | vthzmk 也无法替换字模的问题,即出现了 InputHZ 的显示,其后也确实显示一串字符,只是并非转换后的半字字模,而是原来的扩展ASCII字模,而随后也未显示正确的转换结果,即类似 c0 80 c1 81 的字符串。
第44楼 本是 发表于 2005-12-05 12:16
银牌会员 发帖 790 积分 2,227
Originally posted by willsort at 2005-12-4 22:50:...但是...

  首先谢谢版主的及时测试,所说的问题及其他更多的BUGS,我也在非常方便的DEBUG类调试工具INSIGHT中查出不少,已一一纠正。
  目前,一体化版本已经完成,接受命令行参数传递的串、用户输入的串、文本文件{不再需要重定向符号了!}(三种串都可以包含重复汉字和英文字符{但未考虑西文制表符的识别},重复汉字和英文字符的过滤由程序进行),最后自动生成相关文件及原文本文件的新内码替换文件。
  正在添加不生成文件而仅作新内码串显示功能、完善出错信息提示、进行最后测试等工作......

!!新版程序近日即将出炉!!
!!欢迎大家多提意见建议!!

[ Last edited by 本是 on 2005-12-5 at 12:21 ]
第45楼 本是 发表于 2005-12-05 18:09
银牌会员 发帖 790 积分 2,227
单文件一体版VTHZMK.COM成功推出!欢迎测试。
单文件一体版VTHZMK.COM成功推出!欢迎测试。

附件
VTHZMK.RAR (2.86 KiB)
vthzmk.GIF (12.55 KiB)
上一页  1 2 3 4 5 625  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023