![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-05 06:48 |
共 48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS汉化世界 & 中文系统 (中文化室) » 让非汉字系统显示汉字!5.20新版 |
| 可打印版本 85,880 / 373 |
| 第1楼 本是 | 发表于 2005-11-03 23:40 |
| 银牌会员 发帖 790 积分 2,227 | |
|
让非汉字系统显示汉字!5.20新版 让非汉字系统显示汉字!5.20新版
=============================================== 最新版本VTmagic.COM 5.20新版在333楼(http://www.cn-dos.net/forum/viewthread.php?tid=17591&fpage=0&highlight=&page=23) =============================================== 〖简要介绍〗 EGA/VGA的点阵字符集存放在显示卡的位平面2(即显示RAM)上,用户可以通过EGA/ VGA提供的接口,修改点阵字符集信息,来装载(不改变当前屏幕上的显示信息)和使用 自己喜欢的字体。然后,在文本视频模式下就可以显示新字形了。这就是“不加载汉字 系统就能显示汉字”技术,它速度快,与英文一样,而且不消耗内存。可用于DOS提 示符下代替汉字系统以实现汉字字形显示,甚至用于MS-DOS系统的中文启动。 注意:MS-DOS的系统菜单无法在选择之前显示汉字菜单项!所以,请借助第 三方工具如ConMenu.SYS或ConfigP.mnu或BOOT.SYS或BOOTCON.SYS等 。 这可以说是很高效的技术,但生成“无汉字系统显示汉字的程序”的程序,一般是 靠BT.EXE,但它体积太大,使用起来很麻烦--要自己对照着ASCII码表输入扩展ASCII 码字符。因此本人制作了一个体积小巧(新版约10K)的生成器VTmagic.COM,能自动生成 1.不启动汉字系统显示汉字的程序.EXE(通用于DOS提示行及CONFIG.SYS文件!) 2.新内码文本.NEW (不再需要像用 BT.EXE那样手工输入!) VTmagic.COM是一款汉字字模提取和载入程序,以便在VGA屏幕文本状态下显示可载 入替换的字符集(目前限于替换扩展ASCII码字符,最多只能同屏显示64个不同汉字). 这也就是通常所说的"不启动汉字系统显示汉字"技术,而且本程序还能让汉字显示得和 启动了汉字系统后显示的汉字一模一样(即无缝--没有中间的断裂)!新版本还能自动 生成对应于原字符串或文本文件的新内码文件,从此不用再像用BT.EXE那样手工输入! 省去了多少麻烦。 〖特别鸣谢〗 感谢willsort版主创意不断的建议! 感谢YAYA等高手提供的CONFIG.SYS工具! 感谢众网友不断反馈的BUGS和意见! 〖新手上路〗 1.在DOS命令提示符下, 通过VTmagic.com显示VT汉字 (显示汉字时需要HZK16) EDIT myText.txt || 编辑文件 VTmagic /T myText.txt || 载入字模并显示文件 2.在DOS命令提示符下, 通过myText.exe代替HZK16 (显示汉字时不再需要HZK16) EDIT myText.txt || 编辑文件 VTmagic /t myText.txt || 生成载入字模的EXE和新内码汉字NEW文件 EDIT myText.txt || 查看文件 3.在CONFIG.SYS中, 通过DEVICE=CONFIG.EXE代替 (显示汉字时不再需要HZK16) EDIT config.sys || 编辑文件 VTmagic /t config.sys || 生成载入字模的EXE和新内码汉字NEW文件 REN config.sys *.sy0 || 原内码汉字文件保留 REN config.new *.sys || 使用新内码汉字文件,请拷config.sys/config.exe || /conmenu.sys入启动盘根目录 〖〗〖〗注意:下面的CONFIG.SYS必须用VTmagic.com处理后才能用于启动盘!!!〖〗〖〗 使用BootCon.sys的CONFIG.SYS例: DEVICE=HIMEM.SYS || 此段为前块 DOS=HIGH,UMB || || DEVICE=VTHZ.EXE || 加载汉字字模 || DEVICE=BOOTCON.SYS || 进入BOOTCON控制范围 || REM BC = || 块结束标志 || REM BC = || || REM BC = || || LASTDRIVE=M || 后块 || REM BC = || 退出BOOTCON控制范围 使用Boot.sys的CONFIG.SYS例: DEVICE=c:\bin\BOOT.SYS DEVICE=TOP DEVICE=TOP Select one of the following choices by DEVICE=TOP pressing the corresponding digit key, or by DEVICE=TOP moving the arrow with the Cursor-Up, Cursor- DEVICE=TOP Down, Home and End keys and pressing Enter DEVICE=TOP (or Cursor-Right): DEVICE=TOP DEVICE=BOOT.1 no RAM disk DEVICE=BOOT.SET boot=no_vdisk DEVICE=BOOT.2 64K RAM disk DEVICE=c:\dos\VDISK.SYS size=64 sector=512 dir=64 DEVICE=BOOT.SET boot=vdisk DEVICE=BOOT.3 128K RAM disk DEVICE=c:\dos\VDISK.SYS size=128 sector=512 dir=64 DEVICE=BOOT.SET boot=vdisk DEVICE=BOOT.END AUTOEXEC.BAT c:\bin\BOOT SET IF ERRORLEVEL 10 GOTO not_installed GOTO %boot% :vdisk COPY c:\COMMAND.COM d: SET COMSPEC=d:\COMMAND.COM GOTO done :no_vdisk ECHO Sorry, there is no RAM disk GOTO done :not_installed ECHO BOOT.SYS is not installed! :done PATH c:\dos;c:\bin 使用ConMenu.sys的CONFIG.SYS例: device=config.exe device=ConMenu.sys rem color=1e rem default=e,30 rem caption= 中文 MSDOS 7.1 启动盘 rem caption============================= rem endnote=按↑↓或相应字母选择菜单项 rem endnote=在单选菜单按回车确定 rem cm0= A rem cm0= B rem cm0= C devicehigh=vide-cdd.sys /d:ide-cd dos=high,umb,auto fcbshigh=4,0 fileshigh=30 buffershigh=30,0 lastdrivehigh=32 stackshigh=9,256 rem cm0= 使用ConfigP.mnu的CONFIG.SYS例: device=config.exe device=ConfigP.Mnu /s rem 0NestMenu= rem color=17,c rem time=30,剩余时间 rem caption= rem caption= rem caption= rem caption=3, 中文 MSDOS_7.1 启动盘 rem caption=4,================================================ rem endnote=2,按↑↓键或相应字母键选择项目,按空格键设定项目 rem endnote=2,按→键向后连续选择,按←键顺序返回,按回车退出菜单 rem item=1=选择启动模式 默认加载 umbpci rem item=2=选择光驱 默认加载 vide-cdd rem 1RadioMenu= rem caption= rem caption= rem caption= rem caption=5, 选择启动模式 (单选) rem caption=4,================================================ rem DefaultItem=0,2,7=加载 umbpci rem item=0,1,7=加载 emm386 rem item==最小加载 rem 2CheckMenu= rem caption= rem caption= rem caption= rem caption=5, 选择光驱 (复选) rem caption=4,================================================ rem DefaultItem=3,6=加载 vide-cdd rem item=4,6=加载 aspicd rem item=5,6=加载 usbcd rem block=0 device=himem.sys rem block=1 device=emm386.exe noems rem block=2 device=umbpci.sys rem block=3 devicehigh=vide-cdd.sys /d:ide-cd rem block=4 devicehigh=aspicd.sys /d:scsi-cd rem block=5 device=usbcd.sys /d:usb-cd rem block=6 set cm=cdrom rem block=7 dos=high,umb,auto rem block=end fcbshigh=4,0 fileshigh=30 buffershigh=30,0 lastdrivehigh=32 stackshigh=9,256 device=ConfigP.Mnu /u 〖相关工具〗 ConMenu.sys http://www.cn-dos.net/forum/attachment.php?aid=998&checkid=48584&download=1 ConfigP.mnu http://www.cn-dos.net/forum/attachment.php?aid=1158&checkid=635f9&download=1 Boot.sys http://www.cn-dos.net/forum/attachment.php?aid=721&checkid=cc463&download=1 http://www.cn-dos.net/forum/attachment.php?aid=722&checkid=ddd3e&download=1 BootCon.sys http://www.cn-dos.net/forum/attachment.php?aid=164&checkid=f65b6&download=1 〖相关图贴〗 多体汉字库贴 http://www.cn-dos.net/forum/viewthread.php?tid=18934&fpage=5&sid=JTXM1Y 多风格字形图 http://www.cn-dos.net/forum/attachment.php?aid=698&checkid=02ae6&download=1 http://www.cn-dos.net/forum/attachment.php?aid=838&checkid=3210d&download=1 最新帮助截图 http://www.cn-dos.net/forum/attachment.php?aid=2202&checkid=d6a90&download=1 〖相关其它〗 http://www.cn-dos.net/forum/viewthread.php?tid=6916&fpage=1 http://www.cn-dos.net/forum/viewthread.php?tid=17591&fpage=1 http://www.cn-dos.net/forum/viewthread.php?tid=17708&fpage=1 http://www.cn-dos.net/forum/viewthread.php?tid=17983&fpage=1 http://www.cn-dos.net/forum/viewthread.php?tid=7374&fpage=2 [ Last edited by 本是 on 2007-10-27 at 03:27 PM ] |
|
| 第2楼 JonePeng | 发表于 2005-11-04 11:27 |
| 金牌会员 发帖 1,883 积分 4,562 来自 广东广州 | |
|
强!我给你加分!
|
|
| 第3楼 Kinglion | 发表于 2005-11-04 16:10 |
| 铂金会员 发帖 1,924 积分 5,798 来自 金獅電腦軟體工作室 | |
|
不错不错,支持!
|
|
| 第4楼 yaya | 发表于 2005-11-04 16:43 |
| 银牌会员 发帖 353 积分 1,009 | |
|
很好!支持!
|
|
| 第5楼 yzz163 | 发表于 2005-11-04 17:28 |
| 中级用户 发帖 96 积分 335 | |
|
怎么下不了???
452字节 可粘源码吗? |
|
| 第6楼 本是 | 发表于 2005-11-04 22:31 |
| 银牌会员 发帖 790 积分 2,227 | |
Originally posted by yzz163 at 2005-11-4 17:28: 1.肯定可以下载。直接点击不行,试试鼠标右击用网际快车。 2.要ASM源码,可以先解压缩,再用SR反汇编。里面牵涉不少技术细节,不注明技术,有了反汇编源码也还是看不懂的。当然如果有人要改进代码,推出更好的版本,我也可以考虑公开源码。看看其他人有什么意见吧! |
|
| 第7楼 本是 | 发表于 2005-11-04 22:33 |
| 银牌会员 发帖 790 积分 2,227 | |
|
谢谢JonePeng给我加分!关键不在给了几分,而是在于得到了承认!
|
|
| 第8楼 baoxin1968 | 发表于 2005-11-05 00:05 |
| 初级用户 发帖 26 积分 173 | |
|
谢谢!我用了这个软件生成了vthz.com和vthz.txt文件,但是不知怎样调用?我将这两个文件都copy 到启动盘中,在config.sys中加入
DEVICE=WRAPPER.SYS A:\vthz.com DEVICE=BOOTCON.SYS 但是 REM BC = 如何输入? 是输入汉字还是ascii码?如果是ascii码怎样输入?请本是大师点拨! |
|
| 第9楼 chujiafu | 发表于 2005-11-05 10:10 |
| 银牌会员 发帖 595 积分 1,339 来自 安徽 宿州 | |
|
请楼主具体说一下是怎样用的?
|
|
| 第10楼 yao741 | 发表于 2005-11-05 11:44 |
| 初级用户 发帖 75 积分 128 来自 黄河北道,天子渡 | |
|
超好东东,感谢分享。
|
|
| 第11楼 本是 | 发表于 2005-11-05 12:58 |
| 银牌会员 发帖 790 积分 2,227 | |
Originally posted by baoxin1968 at 2005-11-5 00:05: |
|
| 第12楼 willsort | 发表于 2005-11-05 15:32 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re 本是:
本程序还没有试用,对以下细节尚不清楚: 1、文本内容不重复是否是必须的要求?也即程序是否有过滤重复字的功能? 2、HZK16的路径是VTHZMK.COM所在路径,当前路径还是固定的根路径? 3、无缝汉字是利用了表格字符的无缝特性,还是是修改了显示中断? 目前我所想到的改进方向有以下几点: 1、支持文本文件,即根据已有的文本文件来生成字模载入程序VTHZ.COM,同时生成根据原文本内容重新编码的文本文件,省去用户自己提取不重复字并粘贴制作字词句的麻烦。 2、支持直接显示命令行参数中的汉字,即将提取和载入字模功能合二为一,在命令行参数或中接受GB码的中文内容,然后分别提取其子模载入至扩展ASCII字符中,并将其在屏幕上显示出来。直接省略了生成VTHZ.COM并调用它的麻烦。 3、支持命令行参数中设置 HZK16 的所在路径。 4、支持占用标准ASCII码集的字符来显示汉字,这样最大显示汉字可到128个,对于大多数的应用应该是足够了。 5、支持字符字模的恢复,这样可以不用重启来显示原ASCII字符了,也避免了利用中文CONFIG菜单启动后无法显示原扩展ASCII集字符。 [ Last edited by willsort on 2005-11-5 at 15:49 ] |
|
| 第13楼 本是 | 发表于 2005-11-05 15:42 |
| 银牌会员 发帖 790 积分 2,227 | |
|
Re willsort:
1。程序是没有过滤重复字的功能,文本内容不重复不是必须的要求,但是出于效率,最好不处理重复汉字。“支持文本文件”是个好建议,我会考虑。 2。HZK16的路径是固定的根路径,但已留下足够空间以便DEBUG修改。命令行处理HZK16的路径问题,是出于让程序简化而未加入的功能,事先我也想到过,可以考虑加上。 3。无缝汉字是修改了E/VGA寄存器的值而实现的。 4。VTHZMK.COM中已经“将提取和载入字模功能合二为一,在命令行参数或中接受GB码的中文内容,然后分别提取其子模载入至扩展ASCII字符中,并将其在屏幕上显示出来。”但有一个前提,就是只有在“看不出汉字字形的非汉字屏幕状态”下才可能实现VGA文本屏字模替换而得到显示!!!否则需要按Ctrl F7切换。 5。“支持占用标准ASCII码集的字符来显示汉字”是可以,但屏幕上的原有英文信息会混乱,当然如果先清屏也行。我的想法是可能要考虑在命令行上加开头指定起始替换字符。 6。“字符字模的恢复”太简单了,只要取显示模式并用它重新置模式就行了,我现在就做一个上传。9字节就够了。记住改扩展名为.COM! [ Last edited by 本是 on 2005-11-5 at 16:07 ] 附件 NCCLS.RAR (9 bytes) |
|
| 第14楼 willsort | 发表于 2005-11-05 16:47 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re 本是:
很抱歉!在你回复的同时,又对12楼的内容进行了编辑,增加了一些内容,对因此而引起的不便致歉! 刚才进行了简单试用。在使用 “vthzmk 你好” 后,出现了界面信息,其后确实显示了所占用的扩展ASCII字符,但是此时它们的字模并未更改;运行生成的vthz.com后,原字符显示为“你好”;再 type 生成的 vthz.txt ,除了显示“你好”以外,其后尚有一串未更改字模的扩展ASCII字符;查看 vthz.txt 发现其大小为 128 字节。 对改进方向2我再做补充,它一般应用于批处理(或者可能的CONFIG中),在编写这个批处理时,我们可能会使用类似 “vthzmk /display:你好” 或者 “type menu.txt | vthzmk /display” 或者 “vthzmk /display < menu.txt”的用法,然后在运行这个批处理时是无汉字系统支持的,此时它应该类似于 echo 或 type 一样在屏幕上输出命令行参数或者字符管道中的文字。也就是说,vthzmk 可能需要增加一个参数,将命令行中参数或者字符管道中的的GB码文字直接以汉字形式显示于屏幕上,它能自动完成提取字模、载入到被占用字符、显示占用后字符这三项功能,而不会显示软件版本和帮助信息,不生成 vthz.com 和 vthz.txt,并且不会清屏。 关于“字符字模的恢复”,我希望将它作为 vthzmk 和 vthz 的一个功能;所以,在我的构思中,这个程序会有以下参数: 1、d/display:修改字模后直接显示命令行参数或管道中的汉字; 2、m/make:生成字模载入/恢复程序,以及新的显示文本; 3、r/restore:恢复字符的原字模; 4、c/charset:设置将被占用的扩展字符集起始ASCII码(十进制表示),默认为128; 5、f/fontfile:设置字模文件路径,包括文件名,默认为当前路径下的hzk16; [ Last edited by willsort on 2005-11-5 at 18:53 ] |
|
| 第15楼 willsort | 发表于 2005-11-05 20:06 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re 本是:
根据你“重新置模式”的提示,我想起以前使用bt.exe时,便是使用mode co80来恢复字模的,所以又进行了一些测试。 1、vthz修改字模后使用mode co80,字模被恢复; 2、vthz修改字模后使用mode co40,字模被恢复,显示模式被更改; 3、mode co40更改模式后使用vthz,字模被更改; 4、mode co40下vthz修改字模后使用mode co40,字模被恢复; 5、mode co40下vthz修改字模后使用mode co80,字模和显示模式均被恢复; 尽管如此,我仍建议保留 /restore 参数,因为 mode co80 并不会保存原本的显示模式。 再提一个改进建议,那是我对4.com就希望加入的功能,即根据中文环境是否存在自动切换汉字显示方式。中文系统识别早已经有了不少比较成熟的方案,只是不知对现在修改过多次的流行中文系统的识别能力怎样。 如果要支持文本文件,那“过滤重复字”就十分必要了。可能需要创建一个字符对照表,无序表大概就可以了,毕竟最多只有256个字符,比较次数不会大于256+256次,效率不会低很多的,代码相对比有序表也要简单很多。 另外,你提到了几个hzk16之外的其他字模信息文件,不知道你的程序是否支持这些文件的字模提取,或者是否可以在短期内作出这项改进? [ Last edited by willsort on 2005-11-5 at 22:25 ] |
|
| 1 2 3 4 … 25 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |