base on A win32 txt file reader # Reader
A win32 txt/epub/online file reader
最新release版本: `v2.0.0.4`
版本描述 | 下载地址
------------- | -------------
正式版x64 | [Reader_v2.0.0.4_x64.7z](https://github.com/binbyu/Reader/releases/download/v2.0.0.4/Reader_v2.0.0.4_x64.7z)
正式版win32 | [Reader_v2.0.0.4.7z](https://github.com/binbyu/Reader/releases/download/v2.0.0.4/Reader_v2.0.0.4.7z)
无网络版 | [Reader_v2.0.0.4_networkless.7z](https://github.com/binbyu/Reader/releases/download/v2.0.0.4/Reader_v2.0.0.4_networkless.7z)
调试版 | [Reader_v2.0.0.4_debug.7z](https://github.com/binbyu/Reader/releases/download/v2.0.0.4/Reader_v2.0.0.4_debug.7z)
<br/>
<br/>
```
Reader 是我个人开发的一款绿色、开源、免费的阅读器软件,主要用于小说阅读。
为广大网络文学爱好者提供一种方便、快捷舒适的阅读体验。
同时为广大软件开发者、爱好者提供学习参考。所有版权归作者所有。
一直以来感谢大家对Reader的喜爱与支持,同时也感谢大家对Reader的推广与宣传。
本软件虽然简单,但也花费了我不少时间和精力。
1. 如果需要分享或者推广,请注明软件出处。
2. 本软件严禁用于非法用途。
3. 本软件严禁用于商业用途,如有违反保留追究法律责任的权力。
```
<br/>
<br/>
<br/>
## v2.0.0.4 2023/09/03 bug修复
1. 修复热键注册失败后,程序卡死问题
## v2.0.0.0 2022/05/11 功能更新
1. 修复上一个版本gzip的书源网站解析失败的问题
2. 修复设置Reader为默认打开方式时,无法打开新的文本问题
3. 新增“显示设置”,为所有文本排版布局相关设置。
4. 新增“取色器”,可以使用取色器直接设置背景颜色。在“显示设置”内。
5. 新增“段距”配置。在“显示设置”内。
6. 新增“压缩空行”配置。在“显示设置”内。
7. 新增“章节字体”配置。可以单独设置章节标题字体。在“显示设置”内。
8. 新增“章前分页”配置。每个章节在新一页显示。在“显示设置”内。
9. 修复部分epub文件,章节丢失问题。
10. 新增windows 64位版本,该版本不支持windows xp及以下系统。
11. 为了支持新增功能,重新编写了翻页算法,改动较大。如遇到问题请发我邮箱
[email protected]
## v1.10.1.0 2022/02/25 功能更新
1. 新增书源配置规则,支持文本过滤
1.1 用于去除在线小说文本中的广告和无用字符串
1.2 “无”:不需要过滤文本
1.3 “关键字”:匹配固定文本并删除
1.4 “正则表达式”:用于文本不固定场景,删除匹配正则表达式的文本
1.5 由于在线小说会进行本地缓存,修改后只对未下载章节文本生效。或者请重新搜索并打开软件
2. 删除书源配置规则“书籍状态解析”
3. 新增手动获取在线小说最新章节功能
3.1 用于手动获取连载小说更新
3.2 使用方法:打开需要更新的在线小说,按F5键
4. 新增书源导入时书源merge(合并)功能
4.1 用于书源导入时保留本地书源配置
<br/>
<br/>
<br/>
## v1.10.0.0 2021/12/10 功能更新
1. 新增书源配置规则,支持章节分页
1.1 请下载新书源bs.json进行导入更新
2. 进一步压缩软件大小
2.1 带网络版目前版本大小为:1.63 MB,比上一个版本小了1M
2.2 使用miniz代替zlib
2.3 使用wolfssl代替openssl
3. 更新书源配置文档
3.1 [bs.md](doc/bs.md)
4. 修复一些bug
<br/>
<br/>
<br/>
## v1.10.0.0 2021/12/10 功能更新
1. 新增书源配置规则,支持章节分页
1.1 请下载新书源bs.json进行导入更新
2. 进一步压缩软件大小
2.1 带网络版目前版本大小为:1.63 MB,比上一个版本小了1M
2.2 使用miniz代替zlib
2.3 使用wolfssl代替openssl
3. 更新书源配置文档
3.1 [bs.md](doc/bs.md)
4. 修复一些bug
<br/>
<br/>
<br/>
## v1.9.3.0 2021/08/04 功能更新
1. 新增部分书源配置规则,可以支持更多的书源网站
1.1 请下载新书源bs.json进行导入更新
2. 修改软件默认字体为Segoe UI
3. 新增“字符间距”配置
3.1 在“基本设置”内
4. 新增删除阅读列表内单本书籍功能
4.1 在菜单“文件”,鼠标右键单击需要删除的书籍
5. 修复自定义颜色无法保存的问题
6. 修复在线小说无法添加书签的问题
7. 修复一些bug
<br/>
<br/>
<br/>
## v1.9.2.2 2021/03/15 bug修复
1. 新增对"在线小说"文本进行自动格式化排版
1.1 优化后"在线小说"文本排版更优
2. 修复"顶点小说"书源无法打开小说问题
3. 新增微信公众号,可以及时获取版本更新,和更多使用技巧
3.1 有需要的书友可以关注
3.2 关注方式:菜单 > 帮助 > 关于
<br/>
<br/>
<br/>
## v1.9.2.0 2021/03/07 功能更新
1. 在线书源支持https(使用openssl)
1.1 增加ssl后,软件大小膨胀到了2.7MB
1.2 github issue里面反馈的书源,都已经配置到了bs.json内
1.3 由于书源网站一直在变,无法保证书源配置一直可用。
如果有书源更新时,我会尽量及时更新到
https://github.com/binbyu/Reader/blob/main/bs.json
2. 在线书源支持页面编码自动识别(修复gbk编码方式的问题)
3. release包内新增Reader_no_network.exe,该版本为无网络版本
<br/>
<br/>
<br/>
## v1.9.1.0 2021/02/03 功能更新
1. 更新在线书源配置
1.1 修改书源配置规则
1.2 支持GET和POST,暂时不支持ssl(即https)
1.3 修复原在线书源已经失效的问题
1.4 由于书源网站一直在变,无法保证书源配置一直可用。
如果有书源更新时,我会尽量及时更新到
https://github.com/binbyu/Reader/blob/main/bs.json
2. 新增首行缩进功能
3. 修复page up/down按键不能设置为快捷键的问题
<br/>
<br/>
<br/>
## v1.9.0.0 2020/12/25 功能更新
1. 新增在线阅读功能
1.1 使用方法,【设置】>【在线小说】内搜索小说并打开
1.2 使用前需要先进行书源配置
1.3 书源配置位置:【设置】>【在线小说】>【书源管理】
1.4 书源配置方式详见:【设置】>【在线小说】>【书源管理】>【配置说明】
1.5 如果快速切换章节,可能会出现打开或者获取章节内容失败的情况。
遇到时,请多重试几次。一般可以解决。
如果实在不行,请使用浏览器访问书源网站
按Ctrl+F5强制刷新浏览器,搜索并打开小说。直到正常获取网页内容后,再次使用软件。
1.6 所有小说书籍版权归小说作者所有。
所有书源归第三方书源网站所有。
本软件获取的内容均为书源网站公开信息,不会对该网站进行大量和快速请求、不会进行暴力破解、无病毒入侵。
2. 增加【恢复默认设置】确认框,防止误操作
3. 增加英文文档单词自动换行功能
3.1 需要手动启用,【基本设置】勾选【Word wrap】
4. 其他bug修复。
5. 1.9版本初次发布,可能会引入一些bug。
<br/>
<br/>
<br/>
## v1.8.2.0 2020/9/4 bug修复
1. 修复软件最小化状态关闭时,会导致软件无法再次打开的bug
2. 增加标题栏显示章节名称
3. 增加目录字体跟随文本字体设置
3.1 菜单【基本设置】
4. 关于杀毒软件报毒问题:
我暂时没有好的处理方法。
我只能保证软件没有病毒。
<br/>
<br/>
<br/>
## v1.8.1.0 2020/8/20 功能更新
1. 修改编辑模式,现支持档页文本修改
退出编辑模式时可以选择保存和取消
2. 新增【高级设置】:
可以自定义目录解析方式。
支持正则表达式:正则表达式样例:`第.*章\s+.*`
切换小说后不要忘记还原为默认解析方式
正则表达式解析速度低于默认解析方式
3. 修复1.8版本xp系统下面目录显示异常问题
<br/>
<br/>
<br/>
## v1.8.0.0 2020/8/6 功能更新
1. 修改菜单栏为中文
2. 适配高清显示器
2.1 解决原来在高清显示器上面会出现模糊的问题
2.2 由于开发环境有限(没有高清显示器),可能会有一些遗漏场景和bug
3. 新增快捷键、热键自定义功能
3.1 菜单栏 > 设置 > 按键设置:可以自定义
4. 新增编辑模式
4.1 暂时不支持修改操作,仅用于文本拷贝
4.2 默认快捷键:Ctrl + E
5. 原鼠标双击快速隐藏窗口功能,新增开关设置
5.1 菜单栏 > 设置 > 基本设置 > 左右键同时按下隐藏窗口:勾选/去勾选
6. 自动翻页,新增【翻页】与【滚动】两种模式
6.1 菜单栏 > 设置 > 基本设置 > 自动翻页模式:翻页/滚动
7. 修复一些已知bug
<br/>
<br/>
<br/>
## v1.7.0.0 2020/3/17 功能更新
1. 增加鼠标左右键同时点击时,快速隐藏窗口
1.1 注意:隐藏后需要使用热键才能再次显示窗口
2. 增加简单的书签功能
2.1 Ctrl + M:添加书签
2.2 菜单栏 > Mark:为书签列表
2.3 在书签列表上面鼠标右击,可以删除书签
3. 增加最小化托盘功能
3.1 默认不开启此功能
3.2 开启方式:菜单栏 > setting > config > 窗口设置 > 勾选“最小化托盘”
3.3 如果勾选,点标题栏“X”,不会直接退出程序,而是最小化托盘
4. 增加隐藏任务栏图标功能(此功能暂不支持windows xp及以下系统)
4.1 默认不开启此功能
4.2 开启方式:菜单栏 > setting > config > 窗口设置 > 勾选“隐藏任务栏图标”
4.3 勾选此功能,会强制勾选“最小化托盘”,方便用户点击打开窗口
5. 支持窗口背景全透明,而字体不透明功能。
5.1 注意:此功能暂时只能在“隐藏边框 或者 全屏模式”下支持
5.2 新增 Ctrl + Shift + 鼠标滚动:直接设置最高/最低透明度。方便快速背景全透明
5.2.1 向上滚动:透明度直接最低(alpha = 0xff)
5.2.2 向下滚动:透明度直接最高(alpha = 0x01),基本全透明
5.3 绘图效率相比有边框时有所下降
<br/>
<br/>
<br/>
## v1.6.0.0 2020/2/11 bug修复
1. 修复部分用户电脑再次打开软件时crash bug
2. 增加版本更新推送功能
2.1 如果使用代理上网,需要配置网络代理:菜单help > proxy
2.2 由于没有自己的服务器,这里只能使用github中转获取真实下载地址
<br/>
<br/>
<br/>
## v1.5.3.0 2020/1/16 bug修复
1. 修复v1.5.0.0版本引入的,Ctrl+F搜索框无焦点bug(搜索框无法使用和关闭)
2. 修复小说目录部分章节丢失bug
<br/>
<br/>
<br/>
## v1.5.0.0 2020/1/9 功能更新
1. 支持epub电子书
1.1 软件里面只是对epub进行解码。
1.2 解码后的文本,按照txt的方式显示。额外多了一个封面图片渲染。
1.3 软件内不支持html渲染,如果要增加,需要引入webkit,软件会变得很大很臃肿。
1.4 此次更新使用了开源库:zlib和libxml2
2. 修改目录为 TreeView
2.1 支持 鼠标滚轮操作
2.2 支持 打开时定位到当前章节
<br/>
<br/>
<br/>
## v1.4.0.0 2020/1/2 功能更新
1. 增加全屏显示功能
1.1 F11:全屏/退出全屏
1.2 Esc: 退出全屏
2. 增加背景图片设置功能
2.1 setting > image 里面可以设置
3. 增加窗口透明度调节功能
3.1 调节方式:Ctrl + “鼠标滚轮”
4. 增加自动翻页功能
4.1 快捷键:“空格键” 开始/停止自动翻页
4.2 setting > setting > config > 自动翻页时间间隔,可以配置,默认为3000ms
<br/>
<br/>
<br/>
## v1.3.1.0 2019/12/23 功能更新
适配网友windows pad,无法使用鼠标右键的场景,新增鼠标左键点击左右侧翻页
1. 翻页模式一:(setting > config > 鼠标左右键点击翻页)
1.1. 鼠标左键单击:下一页
1.2. 鼠标右键单击:上一页
1.3. 详见readme.txt使用说明
2. 翻页模式二:(setting > config > 鼠标左键点击左右侧翻页)
2.1. 鼠标左键点击界面右侧:下一页
2.2. 鼠标左键点击界面左侧:上一页
2.3. 详见readme.txt使用说明
3. release版本使用MT模式编译。避免出现vs运行时库依赖问题
<br/>
<br/>
<br/>
## v1.3.0.0 2019/12/13 功能更新
1. 新增逐行翻页
1.1 为了支持逐行翻页,重新编写了翻页算法
1.2 按键 ↓:下N行 (N: setting > config > 文本滚动速度,默认为1)
1.3 按键 ↑:上N行
1.4 鼠标向下滚动:下N行
1.5 鼠标向上滚动:上N行
1.6 取消原鼠标滚动直接翻页
2. 新增进度百分比跳转功能
2.1 快捷键:Ctrl + G
3. 新增readme.txt,使用说明文档
3.1 readme.txt会放在release包内,请参考
<br/>
<br/>
<br/>
## v1.2.0.0 2019/11/05 功能更新
1. 新增热键支持
1.1 Alt + T :窗口置顶/取消置顶
1.2 Alt + H :窗口隐藏/显示
1.3 支持热键修改:setting > config
1.4 热键支持两键组合 和 三键组合
1.5 如果发现默认按键(1.1)无效,说明该热键已经被占用,请参照1.3修改热键
2. 新增章节快速跳转
2.1 ctrl + → :跳转到下一章节
2.1 ctrl + ← :跳转到上一章节
3. 支持文件拖拽打开
3.1 仅支持单个txt文件操作
4. 修改再次打开程序会出现两个view的bug
<br/>
<br/>
<br/>
## v1.1.0.0 2019/09/17 功能更新
1. 新增设置项:setting > config
1.1 行距间隙:显示行高 = 字体默认高度 + ”行距间隙“
1.2 内部边框:文本与边框之间的距离
1.3 翻页方式:
1.3.1 鼠标点击:鼠标左键单击:下一页, 鼠标右键单击:上一页
1.3.2 鼠标滚动:向上滚动:上一页, 向下滚动:下一页
2. 取消原鼠标左键双击打开文件功能
3. 取消原鼠标右键双击隐藏/显示,改为快捷键F12
4. 取消原鼠标按住拖动窗口功能,改为在“隐藏边框”模式时,鼠标左键按住窗口上部区域进行拖动。
<br/>
<br/>
<br/>
## v1.0.0.3 2019/09/17 bug修复
1. 修改行距bug
<br/>
<br/>
<br/>
## v1.0.0.2 2019/01/02 更新
1. 增加鼠标翻页支持:
1.1 使用方法:鼠标滚动事件(向上滚动:上一页, 向下滚动:下一页)
<br/>
<br/>
<br/>
## v1.0.0.0 首次提交
软件介绍: 这是一款使用VS2010开发的一款win32 txt小说阅读器。
主要功能和特点如下:
1. 支持BOM-UTF8/UTF8/UTF16/BOM-UNICODE LE or BE/UNICODE/GB2312/ANSI等txt文本格式
2. 支持字体设置
3. 支持背景颜色设置
4. 支持窗口大小任意调整
5. 支持关键字查找,并跳转进度(Ctrl+F)
6. 自动解析生成txt小说章节目录,可跳转到指定章节
7. 自动保存每本小说阅读进度,多本小说切换互不影响
8. 支持右键双击隐藏窗体边框,再次右键双击恢复
<br/>
", Assign "at most 3 tags" to the expected json: {"id":"1900","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"