|
本是
银牌会员
积分 2201
发帖 789
注册 2005-1-27
状态 离线
|
『楼 主』:
让非汉字系统显示汉字!模载作坊V.com 2.01版
让非汉字系统显示汉字!模载作坊V.com 2.01版
更新到2.01版:增加/O恢复原始文本; /=增加生成.COM文件!(见16楼附件http://www.cn-dos.net/forum/atta ... b598&download=1)
我在使用中发现一个BUG,即/p命令行上出现英文如“V /p english中文”会出问题,已在1.01新版中更正!(见11楼附件http://www.cn-dos.net/forum/atta ... 9f69&download=1)
【新新名词】
模载作坊:“模载”生成软件
模载: VGA字模CG重载
CG: 字符生成器
器: 内存
新内码: 单字节内码,只能编码128个汉字
(为保证正常英文显示,模载限用64个)
【简要介绍】
模载作坊V.com是VtMagiK.com家族身材苗条的新成员,
为方便VT技术初学者学习使用而重新编写代码的全新作品,
可以作为VtMagiK的简体中文GB码的基本功能版使用。
而且, 从新内码文本及旧内码不重复汉字列表文本中
恢复出旧内码文本(即原始文本), 这是VT系列软件中首先
推出的, 连VtMagiK.com也尚未实现此功能!
EGA/VGA 的点阵字符集存放在显示卡的位平面2(即显示RAM)上,用户可以通过EGA/
VGA 提供的接口,修改点阵字符集信息,来装载(不改变当前屏幕上的显示信息)和使用
自己喜欢的字体。然后,在文本视频模式下就可以显示新字形了。这就是“不加载汉字
系统就能显示汉字”技术,它速度快,与英文一样,而且不消耗内存。可用于DOS提
示符下代替汉字系统以实现汉字字形显示,甚至用于MS-DOS系统的中文启动。
注意: MS-DOS的[MENU]系统菜单无法在选择之前显示汉字菜单项!所以,请借助第
三方工具如ConMenu.SYS或ConfigP.mnu或BOOT.SYS或BOOTCON.SYS等。
这可以说是很高效的技术,但生成“无汉字系统显示汉字的程序”的程序,一般是
靠BT32.EXE,但它体积大,使用麻烦——要自己对照着ASCII码表输入扩展ASCII码字符。
因此本人制作了一个体积小巧(新版约2K)的生成器V.COM,能:
1.自动生成 字模载入程序.COM/.SYS(用于命令行/启动配置CONFIG.SYS!)
2.自动生成 新内码文本.NEW (不再需要BT32.EXE那样手工输入!)
甚至:
3.恢复原始文本.OLD (只是要有.NEW和.HZ文件!)
V.COM是一款汉字字模提取和载入程序,以便在VGA屏幕文本状态下显示可载入替换
的字符集 (目前限于替换扩展ASCII码字符,最多只能同屏显示64个不同汉字; 但替换
字模的次数是没有限制的, 即要显示不同内容, 只要载入不同的字模, 同屏限64,总数
却是无限!).
这也就是通常所说的"不启动汉字系统显示汉字"技术,而且本程序还能让汉字显示
得和启动了汉字系统后显示的汉字一模一样(即无缝--没有中间的断裂)!新版本还能
自动生成对应于原字符串或文本文件的新内码文件,从此不用再像用BT32.EXE 那么麻
烦地手工输入!(其实就是当年,我也没有那么木——用ALT+3位小键盘数字输入半个汉
字,我是在西文屏显状态,首先载入字模,此时已能看到汉字字形,再在 MS-DOS的编辑器
EDIT.COM中Shift+箭头选择复制粘贴,先建词组,再凭记忆逐步替换, 实在记不住,就切
换到汉字屏显状态,看清后,再切换西文屏显态,直到全部完成. 因为太大、太麻烦, 所
以我才想到要用汇编重写代码,从汉字库取字模而不是屏幕, 并在willsort版主的建议
下实现了自动替换.)
更为方便的是好还可以让你不用生成文件再显示,可以通过在V的命令行上使用汉
字直接显示相关的字形,只要有汉字库,就可以脱离汉字系统显示汉字了。而且,只要
V.com与字库同在一个目录,就可以在其它目录跨国调用!
现在,还实现了恢复原始文件的贴心功能,只要生成模载的时候用V /h mytext.txt
生成不重复汉字列表文件,以后有从同一文件文件生成的.NEW和.HZ,就能无忧地还原你
的原始文件.
【初步上手】
请在C:\>后输入命令,按回车执行!
把V.com拷到有HZK16的目录(你可以在其它如汉字系统目录调用V.com),
然后开始实验。
〖实验1〗——汉字DOS下看中文帮助
如果已经启动汉字DOS,否则跳过!
C:\>v
你将看到如下内容(正好满一屏):
---------------------------------------------------------------
V.COM 模载作坊 2.01版 (c)2008.11 本是/罗明安 OmAhHung
用法: (默认: 目录同HZK16,V.COM可它处调用; 简体GB码;
.NEW新内码=C0,80;C1,81;..;FF,BF; 有缝)
V /P 汉字串 生成VTK.COM/.NEW
V /I 生成VTK.COM/.NEW(输入)
V /T my1.txt 生成MY1.COM/.NEW
↑
// 显示新内码文本, 不生成文件
V /S my1.com 字模转.SYS以便"DEVICE="驱动
V /H my1.txt 生成汉字列表MY1.HZ
V /O my1.new (+my1.hz)恢复旧内码文本MY1.OLD
V /8 设置无缝模式(8x16)
V /9 设置有缝模式(9x16)
V /3 恢复系统字模&视频模式3
V /0 恢复系统字模,不清屏
↑
/= 生成8/9/3/0.COM/.SYS(以便"DEVICE="驱动)
[More> 请上http://www.cn-dos.net/forum搜"VTMAGI"或"本是"!]
---------------------------------------------------------------
〖实验2〗——非汉字DOS屏显状态下看中文帮助
如果没有启动汉字DOS,否则跳过!
C:\>v>vhelp
C:\>v //t vhelp
〖实验3〗——生成新内码模载(.com)及文本(.new)文件
C:\>v /t vhelp
在非汉字DOS屏显状态下,继续——
C:\>vhelp
C:\>type vhelp.new
此时,你就能看到中文字形了!
〖实验4〗——假设你想知道文件中汉字数量是否超64个汉字(正常情况)
C:\>v /h vhelp
不会有任何显示,但已生成不重复汉字列表文件vhelp.hz(最长128字节),
内容(可打type vhelp.new并回车)如下:
模载作坊版本是罗明安用法默认目录同可它处调简体码新内有缝汉字串生成输入显示文不件
转以便驱动列表恢复旧设置无式系统视频清屏请上搜或
〖实验5〗——假设你想知道文件中汉字数量是否超64个汉字(出错情况)
请将此文件“--------------------”之间的帮助版本存为文件vh。
C:\>v /h vh
会显示如下:
或>64
模载作坊版本是罗明安用法默认目录同可它处调简体码新内有缝汉字串生成输入↑显示文不
件转以便驱动列表恢复旧设置无式系统视频清屏请上搜或
第1行表示“或”字开始不重复汉字列表总数多于64个汉字。
后2行是到“或”字出错前所处理过的汉字。
〖实验6〗——在CONFIG.SYS中使用(请配合使用相关工具如echo.sys或conMenu.sys
或configP.mnu等)
假设已经编辑好config.sys。
C:\>v /t config.sys
C:\>ren config.sys *.old
C:\>ren config.com ??????r.*
C:\>v /s configr.com
C:\>ren configr.new config.sys
然后将config.sys、configr.sys及其它相关工具到启动盘根目录,重新启动,并检验。
〖实验7〗——汉字DOS下现场输入汉字生成模载等文件
C:\>v /p This is现场输入汉字生成模载等文件.>vtk.txt
将生成vtk.txt、vtk.com和vtk.new。
〖实验8〗——编写预先输入汉字的批处理文件,生成时不论是否在汉字DOS屏显状态,
vpbat.bat内容如下:
v /p This is现场输入汉字生成模载等文件.>vtk.txt
执行批处理,结果同实验7。
[举一反三]实验6和7中,如果想不生成文件而只想看看效果,可以将/p改成//p,
并在输入完汉字后,按Ctrl F7(或其它组合键) 切换到西文屏显状态,再执行。
〖实验9〗——进入程序后再输入汉字
C:\>v /i
This is现场输入汉字生成模载等文件.
将生成vtk.txt、vtk.com和vtk.new。
进入程序后再输入汉字最多可达254个字符,但要保证不重复汉字数量不>64。
〖实验10〗——编写预先输入汉字的批处理文件,生成时不论是否在汉字DOS屏显状态,
oneline.txt为上面这一行的内容(只能有1行,不超过254个字符),执行命令:
C:\>v /i <oneline.txt
将生成vtk.com和vtk.new。
[举一反三]实验9和10中,如果想不生成文件而只想看看效果,可以将/i改成//i,
并在输入完汉字后,按Ctrl F7(或其它组合键) 切换到西文屏显状态,再执行。
〖实验11〗——生成.com命令文件以便在命令行运行;生成.sys设备驱动文件让
CONFIG.SYS以"DEVICE=x.SYS"调用:
C:\>v /=8
C:\>v /=9
C:\>v /=3
C:\>v /=0
将分别生成8.sys/.com、9.sys/.com、3.sys/.com、0.sys/.com,作用是设置汉字无缝
模式、设置汉字有缝模式、重置视频模式并清屏重置字模、仅恢复系统字模并不清屏。
8、9可在模载之前或之后都可(注意: 可能引起液晶屏报错:频率宽度不足。为达最大
兼容,最好放弃美观、不设8、9)。
[举一反三]实验11中,用/代替/=,即可在DOS提示符下直接执行有关命令。
〖实验12〗——从新内码文本及旧内码不重复汉字列表文本中恢复出原始旧内码文本:
C:\>V /O vhelp.new
如果当前目录有VHelp.HZ和VHelp.NEW就能成功恢复.OLD.
如果没有.HZ,请V /H vhelp后再试.
上述12个实验配合帮助信息,应该能够轻松学会“非汉字系统显示汉字”技术!!!
【版本历史】
1.00 2008.11.7 开始发行.
1.01 2008.11.12 更正命令行"V /p eng汉字"出错BUG.
2.00 2008.11.18 增加/O命令,从新内码文本及.HZ文件恢复旧内码文本;
增强/=0/3/8/9命令,增加生成.COM文件.
2.01 2008.11.19 更正"V /p"、"V /i"生成0字节.NEW文件BUG.
【相关链接】
让非汉字系统显示汉字!VtMagiK 6.10 GBK版 (VtGbk 3.00 GBK版)
http://www.cn-dos.net/forum/viewthread.php?tid=43866&fpage=1
让非汉字系统显示汉字!5.20新版
http://www.cn-dos.net/forum/viewthread.php?tid=17591&fpage=2
【相关工具】
ConMenu.sys: http://www.cn-dos.net/forum/atta ... 8584&download=1
ConfigP.mnu: http://www.cn-dos.net/forum/atta ... 35f9&download=1
【相关字库】
WINDOWS下面生成的不同字体风格的HZK16和GBK16:
http://www.cn-dos.net/forum/viewthread.php?tid=18934&fpage=1
宋仿黑楷幼圆: http://www.cn-dos.net/forum/atta ... 2848&download=1
粗细繁隶: http://www.cn-dos.net/forum/atta ... 5b6b&download=1 (X类XZL,L隶书效果较差;CXV
是DOS汉字系统原配)
GBK16SFHK.PART01.RAR: http://www.cn-dos.net/forum/atta ... ded7&download=1
GBK16SFHK.PART02.RAR: http://www.cn-dos.net/forum/atta ... ded7&download=1
GBK16SFHK.PART03.RAR: http://www.cn-dos.net/forum/atta ... ded7&download=1
GBK16SFHK.PART04.RAR: http://www.cn-dos.net/forum/atta ... ded7&download=1
GBK16SFHK.PART05.RAR: http://www.cn-dos.net/forum/atta ... ded7&download=1
【附件说明】
V.COM 模载作坊主程序
Vreadme.txt 本说明文件
VH 不重复汉字超过64个(V /H vh出错演示用)
oneline.txt 单行文本文件(10.bat和10-.bat调用)
ConfigP.mnu YAYA的CONFIG.SYS并行菜单驱动程序
ConfigP.txt YAYA的CONFIG.SYS并行菜单驱动程序说明
Config.sys YAYA的并行菜单驱动例2的CONFIG.SYS
01~~12.bat 配套实验1到实验11的批处理程序(xx-.bat表示对xx.bat的举一反三)
[ Last edited by 本是 on 2008-11-20 at 01:15 ]
附件
1: V100.RAR (2008-11-7 15:01, 5.17 K, 下载附件所需积分 1 点
,下载次数: 90)
|
my major is english----my love is dos----my teacher is the buddha----my friends--how about U |
|
2008-11-7 15:01 |
|
|
Michael
钻石会员
积分 10046
发帖 3039
注册 2002-11-11
状态 离线
|
『第
2 楼』:
支持一下,有点生不逢时的感觉。
[ Last edited by Michael on 2008-11-7 at 21:27 ]
|
简单就是美 |
|
2008-11-7 21:26 |
|
|
hyt3d
新手上路
积分 10
发帖 5
注册 2007-9-19
状态 离线
|
|
2008-11-8 20:20 |
|
|
VAF
中级用户
积分 242
发帖 134
注册 2006-12-11
状态 离线
|
|
2008-11-9 03:53 |
|
|
gmy
版主
操作系统爱好者
积分 1113
发帖 392
注册 2002-11-11
状态 离线
|
『第
5 楼』:
本是确实本事,佩服佩服!
请教一个简单问题:
某BAT:
tw.exe (加载天汇汉字系统)
echo 我们都是中国人
tw /q (退出天汇汉字系统,恢复到英文状态)
pause
如何将含有tw.exe的两行替换成v.com ?
也就是说,能否像汉字系统一样,不生成.NEW,直接显示未知汉字内容(我们都是中国人)?
[ Last edited by gmy on 2008-11-11 at 10:39 ]
|
DOS之家 http://doshome.com 站长 葛明阳 |
|
2008-11-11 10:32 |
|
|
xiaoyunwang
高级用户
积分 939
发帖 374
注册 2007-10-17 来自 湖南张家界
状态 离线
|
『第
6 楼』:
楼上的 gmy 站长,如果能够将你的 "一键 GHOST" 借助本是的这好东西改装成无需汉字系统支持的中文 GUI 界面,可以避免一些兼容性问题,将会更受欢迎!
(嘿嘿,小建议,你的作品已经很不错了)
|
生命源头 → www.shengmingyt.cn |
|
2008-11-11 11:26 |
|
|
本是
银牌会员
积分 2201
发帖 789
注册 2005-1-27
状态 离线
|
『第
7 楼』:
Quote: | Originally posted by gmy at 2008-11-11 10:32:
本是确实本事,佩服佩服!
请教一个简单问题:
某BAT:
tw.exe (加载天汇汉字系统)
echo 我们都是中国人
tw /q (退出天汇汉字系统,恢复 ... |
|
某BAT将变成:
v //p 我们都是中国人
pause
只要保证v.com和hzk16是放在同一目录(具体位置任意)就OK了!
|
my major is english----my love is dos----my teacher is the buddha----my friends--how about U |
|
2008-11-11 15:43 |
|
|
cfgs
初级用户
积分 152
发帖 17
注册 2003-2-12
状态 离线
|
『第
8 楼』:
如果可以应用于32位环境就更好。
|
|
2008-11-11 18:19 |
|
|
xiaoyunwang
高级用户
积分 939
发帖 374
注册 2007-10-17 来自 湖南张家界
状态 离线
|
『第
9 楼』:
Quote: | Originally posted by 本是 at 2008-11-7 03:01 PM:
让非汉字系统显示汉字!模载作坊V.com 1.00版
【新新名词】
模载作坊:“模载”生成软件
模载: VGA字模CG重载
C ... |
|
我使用了 vtmagic 5.20 新版后,运行某些英文 GUI 软件其边框紊乱,使用 vtmagic /r80 后,虽然某些 GUI 英文软件边框紊乱情况没有了,但光标始终要从第一行开始, cls 清屏无效的,于是我只有对这些 GUI 英文软件运行前先 mode co80 处理代替 vtmagic /r80 了,不知道 V.COM 相比 Vtmagic.com 更有什么优点和改进之处?
[ Last edited by xiaoyunwang on 2008-11-11 at 19:56 ]
|
生命源头 → www.shengmingyt.cn |
|
2008-11-11 19:54 |
|
|
本是
银牌会员
积分 2201
发帖 789
注册 2005-1-27
状态 离线
|
『第
10 楼』:
Quote: | Originally posted by xiaoyunwang at 2008-11-11 19:54:
我使用了 vtmagic 5.20 新版后,运行某些英文 GUI 软件其边框紊乱,使用 vtmagic /r80 后,虽然某些 GUI 英文软件边框紊乱情况没有了,但光标始终要从第 ... |
|
vtmagic.com的/r80命令在软件的帮助信息上有“多命令排队执行的复杂命令行”示范,其中有一行是:
“/r80 恢复系统字模及显示模式3,但保留屏幕内容(西文字形)”
/r80是保留屏幕内容的清屏,/r8是正常清屏,CLS对这两个命令具有继承性,直到重新设置视频模式。
V.com是VTmagi?.com的易用简化重写版,命令多,但每个命令的参数很少。易用、短小!
|
my major is english----my love is dos----my teacher is the buddha----my friends--how about U |
|
2008-11-12 00:39 |
|
|
本是
银牌会员
积分 2201
发帖 789
注册 2005-1-27
状态 离线
|
『第
11 楼』:
[更新]模载作坊1.01
我在使用中发现一个BUG,即/p命令行上出现英文如“V /p english中文”会出问题,已在1.01新版中更正!
另更新Vreadme.txt,增加“附件说明”如下:
【附件说明】
V.COM 模载作坊主程序
Vreadme.txt 本说明文件
VH 不重复汉字超过64个(V /H vh出错演示用)
oneline.txt 单行文本文件(10.bat和10-.bat调用)
ConfigP.mnu YAYA的CONFIG.SYS并行菜单驱动程序
ConfigP.txt YAYA的CONFIG.SYS并行菜单驱动程序说明
Config.sys YAYA的并行菜单驱动例2的CONFIG.SYS
01~~11.bat 配套实验1到实验11的批处理程序(xx-.bat表示对xx.bat的举一反三)
附件
1: V101.RAR (2008-11-12 00:47, 10.9 K, 下载附件所需积分 1 点
,下载次数: 58)
|
my major is english----my love is dos----my teacher is the buddha----my friends--how about U |
|
2008-11-12 00:47 |
|
|
gmy
版主
操作系统爱好者
积分 1113
发帖 392
注册 2002-11-11
状态 离线
|
『第
12 楼』:
建议增加两个功能
例如 现有 1.bat 和 2.bat 两个含有汉字的批处理文件。
1、让 参数 /t 支持通配符:
例如:v /t *.bat
2、增加 /r 参数:与 /t 不同的是,直接更新,且保留原始文件。
编程思路:备份1.bat到bak子目录下,生成临时文件1.tmp(相当于1.new),将1.tmp 替换掉原有文件(1.bat),自动删除1.tmp。
例如:v /r *.bat 的效果是:
1.bat 和 2.bat 已经被更新,原始文件保存在bak子目录下 (以后可以考虑备份文件夹自定义路径 如,增加 /p drv:\bak 或相对路径 ..\bak )
[ Last edited by gmy on 2008-11-14 at 12:20 ]
|
DOS之家 http://doshome.com 站长 葛明阳 |
|
2008-11-14 12:16 |
|
|
本是
银牌会员
积分 2201
发帖 789
注册 2005-1-27
状态 离线
|
『第
13 楼』:
Quote: | Originally posted by gmy at 2008-11-14 12:16:
例如 现有 1.bat 和 2.bat 两个含有汉字的批处理文件。
通配符与更新 ... |
|
说实话,这两个参数可以用批处理语句来实现,比如
1. 通配符:
可以直接在DOS提示符下:
for %i in (*.bat) do v /t %i
小儿科的提示:在.BAT中%要变%%。
2. 直接更新:
编个.BAT如下:
if not exist BAK\nul md BAK
for %%i in (*.bat) do copy %%i BAK
for %%i in (*.bat) do v /t %%i
del *.bat
ren *.new *.bat
NT命令行下的批处理语句我没学过,请会的自己编。
提示:用通配符的操作一定要小心,不要把有用的东东也一并删了或覆盖了!
最好一个任务建一个目录,处理完了再备份/拷贝到它处,删除该目录。这样保险些!
|
my major is english----my love is dos----my teacher is the buddha----my friends--how about U |
|
2008-11-14 13:25 |
|
|
gmy
版主
操作系统爱好者
积分 1113
发帖 392
注册 2002-11-11
状态 离线
|
『第
14 楼』:
再建议一个参数
OK,真是的,可能早上没吃饭,大脑不够用,提了些小儿科的问题。
最近想用 V 全面代替 TW,等我遇到问题再问吧。
|
DOS之家 http://doshome.com 站长 葛明阳 |
|
2008-11-14 14:54 |
|
|
cd617
新手上路
积分 2
发帖 1
注册 2008-11-17
状态 离线
|
|
2008-11-17 13:40 |
|