中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
English/Chinese Fix Translation
作者:
标题: DOS下的中文文本阅读器 上一主题 | 下一主题
happybasic
中级用户





积分 298
发帖 118
注册 2006-3-1
状态 离线
『楼 主』:  DOS下的中文文本阅读器 [已使用 LLM 解释]

XReader是一个DOS下的中文文本阅读器, 支持在DOS下不需要中文系统
阅读汉字文本文件,支持文本色彩设定~

没事写着完的,适后于做中文化的帮助文件。

下载更新于17楼...

Last edited by happybasic on 2008-12-16 at 21:44 ]
LLM 解释

技术实现分析与历史背景补充

XReader 作为 DOS 下的中文文本阅读器,其核心功能“无需中文系统显示汉字”的实现依赖于内置字库(而非依赖 DOS 中文系统的软字库或硬件字库),这是 1990 年代末至 2000 年代 DOS 小工具的常见设计思路。具体机制如下:

  1. 字符编码处理:需假设文本文件采用特定编码(如 GB2312 或 Big5),程序直接解析编码值作为内置字库的索引;
  2. 直接显存操作:通过写入 VGA/EGA 显存(如 0xB8000 段)实现汉字显示,跳过 DOS 的标准输出(INT 21h AH=09h 等),因此无需依赖 UCDOS、CCDOS 等中文系统的中断钩子或内存驻留模块;
  3. 色彩设定:利用 VGA 显存的属性字节(每个字符占 2 字节,高字节为前景/背景色)实现色彩控制。

功能演进与同类工具对比

  • mouse 支持:通过调用 DOS 鼠标驱动(如 Microsoft Mouse Driver)的 INT 33h 中断实现,这是 DOS 程序添加鼠标交互的标准方式;
  • $DATE/$TIME 变量替换:需在读取文本时扫描特定标记,通过 DOS 系统调用(INT 21h AH=2Ah 获取日期、AH=2Ch 获取时间)动态插入当前时间;
  • 同类工具参考
    • minchengan 提到的 CL.EXE 是早期 DOS 中文阅读器(如 1990 年代的 CL386.EXE),同样依赖内置字库;
    • johnsonlam 提到的 exer171(文字转执行档工具)与 XReader 定位不同,但均反映了 DOS 时代“将资源内置以减少依赖”的设计倾向。

历史语境与限制

  1. “无需中文系统”的局限性:仅指不依赖第三方中文系统的内存驻留模块,但程序自身仍需处理编码和字库,若文本编码与内置字库不匹配(如程序内置 GB2312 却读取 Big5 文件)会显示乱码;
  2. 字体大小问题:15 楼用户提到的“中英文字体大小不一”是 DOS 中文显示的普遍现象——汉字通常为 16×16 点阵,英文为 8×16 点阵,需通过程序调整排版(如强制汉字占 2 个英文宽度)才能对齐;
  3. 源码共享的常见性:9 楼用户请求源码是 DOS 技术社区的常见需求,因为内置字库的实现(如字库压缩、点阵读取)是中文工具的核心技术细节。

误解澄清

  • 5 楼用户提到“上个世纪就用过类似的东东”并非夸张:DOS 中文阅读器的成熟形态(如 CCATTYPECN)早在 1990 年代中期已出现,XReader 是 2000 年代对这类工具的功能扩展(如鼠标支持、变量替换)。




欢迎光临happyBASIC小站:http://yxbasic.51.net
2007-3-25 09:11
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
rzg1972
中级用户





积分 250
发帖 103
注册 2006-1-7
状态 离线
『第 2 楼』:   使用 LLM 解释/回答一下

怎么没文件?


2007-3-25 22:00
查看资料  发短消息  网志   编辑帖子  回复  引用回复
happybasic
中级用户





积分 298
发帖 118
注册 2006-3-1
状态 离线
『第 3 楼』:   使用 LLM 解释/回答一下

补充下载地址:

http://zhenlove.com.cn/cndos/fileup/files/XReader.rar




欢迎光临happyBASIC小站:http://yxbasic.51.net
2007-3-28 12:21
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
BWSkyer
中级用户

我是DOS学者


积分 367
发帖 180
注册 2006-5-14
来自 重庆
状态 离线
『第 4 楼』:   使用 LLM 解释/回答一下

可以支持mouse吗?现在还没有来得及试验!


2007-3-28 12:24
查看资料  发送邮件  访问主页  发短消息  网志  OICQ (309843581)  编辑帖子  回复  引用回复
download
初级用户





积分 199
发帖 101
注册 2007-3-13
状态 离线
『第 5 楼』:   使用 LLM 解释/回答一下

实话说吧,我在上个世纪就用过类似的东东了……没什么新意。


2007-3-28 12:43
查看资料  发短消息  网志   编辑帖子  回复  引用回复
happybasic
中级用户





积分 298
发帖 118
注册 2006-3-1
状态 离线
『第 6 楼』:   使用 LLM 解释/回答一下

呵呵,实在是没有新意。

~~上个世纪? 40~50年代还是90年代末啊?




欢迎光临happyBASIC小站:http://yxbasic.51.net
2007-6-18 19:09
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
minchengan
中级用户





积分 376
发帖 164
注册 2006-12-5
状态 离线
『第 7 楼』:  有一个程序叫CL.EXE 使用 LLM 解释/回答一下

CL也有这个功能。


2007-6-18 22:44
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
happybasic
中级用户





积分 298
发帖 118
注册 2006-3-1
状态 离线
『第 8 楼』:   使用 LLM 解释/回答一下

没事更新了一下,加入了$DATE 与 $TIME, 用于在文本中显示当前的日期与时间

下载地址:
http://zhenlove.com.cn/cndos/fileup/files/XReader101.rar




欢迎光临happyBASIC小站:http://yxbasic.51.net
2007-6-27 17:58
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
rzg1972
中级用户





积分 250
发帖 103
注册 2006-1-7
状态 离线
『第 9 楼』:   使用 LLM 解释/回答一下

谢谢!能共享源码吗?


2007-6-27 23:20
查看资料  发短消息  网志   编辑帖子  回复  引用回复
happybasic
中级用户





积分 298
发帖 118
注册 2006-3-1
状态 离线
『第 10 楼』:   使用 LLM 解释/回答一下

Originally posted by BWSkyer at 2007-3-28 12:24:
可以支持mouse吗?现在还没有来得及试验!


刚刚加入了mouse支持,以及清屏换页命令。
下载地址:http://ys-c.ys168.com/?XReader.rar_67eo1bisp0biso1bs1bktq7bs0bs0b5btrm7btmhu14z97f14z




欢迎光临happyBASIC小站:http://yxbasic.51.net
2007-6-30 20:37
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
happybasic
中级用户





积分 298
发帖 118
注册 2006-3-1
状态 离线
『第 11 楼』:   使用 LLM 解释/回答一下

有空修改了一下:

修复在WINDOWS下无法显示光笔的问题。




欢迎光临happyBASIC小站:http://yxbasic.51.net
2008-10-22 14:44
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
happybasic
中级用户





积分 298
发帖 118
注册 2006-3-1
状态 离线
『第 12 楼』:   使用 LLM 解释/回答一下

加入单击鼠标左键自动翻页的功能。


   此帖被 +6 点积分     点击查看详情   
评分人:【 雨露 分数: +6  时间:2008-11-17 13:56




欢迎光临happyBASIC小站:http://yxbasic.51.net
2008-11-1 15:57
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
ko20010214
版主




积分 7296
发帖 1628
注册 2002-10-16
状态 离线
『第 13 楼』:   使用 LLM 解释/回答一下

這個還要漢字庫的支持啊。




ko20010214
=================================
大功告成,打个Kiss!
ko20010214@MSN.com
神州优雅Q300C
Intel CeleronM 370处理器 | 256MbDDR内存
40G硬盘 | USB2.0 | IEEE 1394
13.3 ' WXGA 宽屏(16:10) | COMBO光驱
10/100M网卡 | 四合一读卡器
2008-11-17 13:09
查看资料  发送邮件  发短消息  网志  OICQ (16959102)  编辑帖子  回复  引用回复
ko20010214
版主




积分 7296
发帖 1628
注册 2002-10-16
状态 离线
『第 14 楼』:   使用 LLM 解释/回答一下

我有個不需要漢字庫支持的,80K左右。別人寫的。




ko20010214
=================================
大功告成,打个Kiss!
ko20010214@MSN.com
神州优雅Q300C
Intel CeleronM 370处理器 | 256MbDDR内存
40G硬盘 | USB2.0 | IEEE 1394
13.3 ' WXGA 宽屏(16:10) | COMBO光驱
10/100M网卡 | 四合一读卡器
2008-11-17 13:14
查看资料  发送邮件  发短消息  网志  OICQ (16959102)  编辑帖子  回复  引用回复
雨露
管理员

DOS非常爱好者


积分 6215
发帖 2601
注册 2006-1-20
状态 离线
『第 15 楼』:   使用 LLM 解释/回答一下

如果文本中有中文和英文,由于中英文字体大小不一,显得有些难看!




2008-11-17 13:57
查看资料  发短消息  网志  OICQ (156647374)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: