PageByPage: An application to view & edit plain text file.
作者:马健 邮箱:stronghorse_mj@hotmail.com 主页:老马的原创空间
FAQ 使用说明 一、软件安装/删除 二、软件使用
1、阅读模式
2、编辑模式
3、公共操作 附录A 鸣谢 附录B 版本更新记录
Q:PageByPage是什么? A:这是一个专门针对文本版小说的阅读器兼编辑器,具有下列特点:
-
提供分页阅读模式,模拟实体书籍的显示界面与翻页动画,能够设置桌面、封面、页面的图案或颜色,能够设置字体、字号、文字颜色、行距、下划线等。
- 提供文字编辑模式,包括常用编辑功能,如多级undo/redo、剪切、复制、粘贴、删除、查找、替换等。
- 分页阅读是既支持横排显示,也支持竖排显示。竖排时阅读顺序是从右往左。
- 能够通过自动恢复、书签等功能记忆阅读位置,一次看不完下次接着看。
- 能够按照一定的查询条件搜索全文,生成章节列表,便于跳转、定位。
- 提供书库管理、老板键等常用功能。
Q:已经有MyReader等阅读器,为什么还要开发PageByPage?
A:秒开,我只想要秒开。如果非要加一个限制,我希望10 MB以内的文件都能秒开。
我经常从网上下载小说,下载后一般先打开,拖着滚动条前后看一下,如果不合口味就直接删除,以免浪费硬盘和时间。MyReader、记事本等打开大文件太慢了,其他阅读器也有各种各样的问题,所以就综合百家之长,搞了这么一个东东。
PageByPage说白了就是个大杂烩,参考了很多其他软件,如翻页效果就参考了DesktopAuthor等,其实在SpecEffect里还有一些动画效果,不过我觉得爆炸、马赛克、百叶窗等
花里胡哨的效果和看书实在不搭调,所以就没搬过来。
Q:PageByPage有什么限制?
A:有下列限制:
- 章节列表最多4096项,每项30个字符,多了没有。
- 内部处理很多情况下都是针对简体中文,因此只适合阅读简体中文,也不会发行除简体中文之外的其他语言版本。
- 支持ANSI、Unicode、utf-8编码的文本文件。Unicode编码的文件必须以FE FF或FF
FE开头;utf-8文件以EF BB BF开头,也可以没有文件头。在不以EF BB
BF开头的情况下,自动识别是否是utf-8编码的方法是从Windows 2000的记事本学来的,所以识别的准确性与它差不多。
- 仅支持双字节Unicode字符,不支持3字节扩展Unicode字符。再说一次,我看的是小说,不是《康熙字典》。
- 文本文件长度在20 MB以内应该没有问题,再大就不好说了。现在我也没有见过超过20 MB的小说。
Q:为什么不支持全屏模式?
A:全屏会引起显示区域的变化,需要重新分页,来回切换时很难保证阅读位置一致。
Q:为什么不支持自动排版?
A:从做TextForever的经验看,我相信适用于所有书籍的自动排版功能是不存在的,总要人工干预一下才行。所以我看书的流程是:先用PageByPage快速看一下值得不值得看下去,看不下去的自然就删掉,看得下去的就用TextForever重新排一下,然后复制到MP4、手机等设备中,因地制宜用不同的设备或电脑看。因为这些手持设备中的浏览器不一定有排版功能,所以手动排版是免不了的,这种情况下PageByPage也就没有必要再多此一举。
Q:为什么不支持多窗口?为什么不提供背景音乐播放功能?为什么不支持各种各样的电子书格式?为什么没有这样、那样的功能?
A:太麻烦,而且对我来说无用,我坚信“简单就好”。
Q:软件启动的时候为什么会感觉有延迟?
A:为了加快分页速度,软件启动的时候会查询整个字体文件,记录每个字符的宽度,这需要一点时间。
另外由于竖排、横排查询字符宽度使用的是完全不同的方法,因此如果选择了竖排显示,启动时的延迟会小一点。
Q:不同编码的文本文件,存盘后是什么编码?
A:Unicode、Unicode big
endian、utf-8编码的文件存盘后,仍然保持原编码。ANSI编码的文件在存盘前会先在内存中自动检查一下,如果存在不能用ANSI表示的字符,则转换成Unicode存盘,否则仍然按ANSI编码存盘。
Q:我觉得工具条按钮太小,按钮排布不合理,怎么办?
A:选择“查看->自定义工具栏...”菜单。
一、软件安装/删除
本软件安装非常简单:创建一个文件夹,将下载下来的ZIP包解压到该文件夹即可。
本软件的删除也很简单:直接删除从ZIP包中解压出来的所有文件及运行过程中生成的文件即可。
ZIP包中包括下列文件:
- PageByPage.exe。这是软件的主程序。
- PageByPage.htm。本帮助文件。
如果您下载到的ZIP包中还包括其它文件,毫无疑问不是我放进去的,有广告或木马之嫌疑,请立即删除。
另外程序运行过程中还会生成以下文件:
-
PageByPage.ini。这个是参数保存文件,第一次运行后生成。退出PageByPage,删除此文件,再重启PageByPage,即可恢复缺省参数。
- PageByPage.bmk。这个是书签文件,如果选了“加入书签”,就会生成此文件。
-
PageByPage.chp。章节列表的查询关键字表。在章节列表界面中点了“设置”后就会生成此文件。删除此文件后重启PageByPage,就会恢复缺省关键字表。
-
PageByPage.blb。书库文件,如果在“书库管理”中增加了文件夹,就会生成此文件。
二、软件使用
1、阅读模式
第一次运行本软件,启动后就进入阅读模式。在此界面中,按页显示书籍内容,通过鼠标点击、快捷键、滚动条、跳页等功能改变阅读位置。如果想对阅读内容进行编辑,可以切换至编辑模式。
可以用以下方式打开文件:
- 点击“文件->打开”菜单或工具条上的“打开”按钮,或按快捷键Ctrl+O。
- 在没有打开任何书籍的情况下,在阅读区双击鼠标左键。
- 从资源管理器拖拽文件过来。
- 按Ctrl+W或Ctrl+H,打开文件列表,从中选择文件。
- 在命令行参数中指定需要打开的文件。
打开后的翻页方式:
- 用菜单、工具条按钮、快捷键。
- 鼠标左键单击,如果单击的是窗口左侧,则向前翻,否则向后翻。如果是竖排显示,则相反。
- 拖动窗口右侧的滚动条。
- 拨动鼠标滚轮,拨一格翻一页。
打开文件后的快捷键列表:
快捷键 |
功能 |
Ctrl+E |
切换至编辑模式 |
Home |
跳至文件头 |
End |
跳至文件尾 |
↓、→、PgDn、空格 |
下一页 |
↑、←、PgUp、BackSpace |
上一页 |
Ctrl+→ |
前进 |
Ctrl+← |
后退 |
Ctrl+T |
显示设置 |
阅读模式对常用功能提供右键快捷菜单,可以通过单击鼠标右键,或按键盘上的快捷菜单键调出快捷菜单。
阅读模式中的显示效果通过“查看->显示设置”(快捷键Ctrl+T)或工具条上的“显示设置”按钮进行设置:
大项 |
小项 |
含义 |
页面布局 |
显示模式 |
自适应单双页:书页铺满整个显示区,如果显示区宽度大于高度,则双页显示,否则单页显示。
单页显示:强制按单页显示,页宽用“单页模式下书籍宽度”设定,多余的部分用“桌面图案”或“颜色”填充。 |
桌面图案 |
只有在单页模式,或编辑模式下才会显示桌面,即在阅读区中,书籍之外的空间。 |
颜色 |
只有在“桌面图案”选“无”时,才能选择桌面颜色,以代替桌面图案。 |
单页模式下书籍宽度 |
在单页模式或编辑模式下,书籍的像素宽度。缺省情况下会按照当前屏幕分辨率自动变化,手工设置后则保持不变。 |
封面 |
内置图案 |
封面就是书页外的那一圈,选择不同的图案模拟不同的材质, |
颜色 |
只有在封面图案为“无”时,才允许选择封面颜色,以代替封面图案。 |
页面 |
内置图案 |
页面背景图案 |
颜色 |
只有在页面背景图案为“无”时,才允许选择页面颜色。 |
预设颜色方案 |
系统内部事先定义的一些颜色组合,包括页面颜色、文字颜色。 |
中缝 |
只有在双页显示时,才会有中缝。 |
文字 |
字体 |
文字显示字体。 |
颜色 |
文字显示颜色。 |
大小 |
文字显示的字号。 |
高度 |
文字显示行的高度(相对于字号的百分比),用于控制行间距。如选择150%,则表示实际显示行的高度是字号的150%,多出来的50%其实是行间距。为了保证下划线的显示位置,在行间距不足3个像素时,会自动保持3个像素的最小间距。 |
加粗 |
显示文字是否需要加粗。 |
显示下划线 |
是否需要显示下划线。 |
下划线颜色 |
显示下划线时的颜色。 |
翻页 |
动画 |
翻页时的动画。仅在向前翻一页、向后翻一页时才会显示动画,如果直接翻到文件头或文件尾,或用滚动条、鼠标滚轮翻页时,均无动画。 |
在阅读模式下,通过“编辑->编辑模式”、工具条按钮“编辑模式”、快捷键Ctrl+E、右键快捷菜单中的“编辑模式”均可进入编辑模式。在单页模式下,阅读模式的第一行就是进入编辑模式后的第一行,而在双页模式下,进去后看到的究竟是左侧页面的第一行还是右侧页面的第一行,是靠当前鼠标位置决定的:如果鼠标在显示区的左侧,则以左侧页面为准,否则以右侧页面为准。
所以虽然有多种方式进入编辑模式,但最准确的还是快捷键或右键菜单。另外本软件具有模式记忆功能,即软件退出时如果处于阅读模式,下次进入时就还是阅读模式,否则就是编辑模式。
2、编辑模式
进入编辑模式后,可以使用常用的编辑功能对文字进行编辑,包括剪切、复制、粘贴、删除、查找、替换等。这些功能可以用菜单、工具条按钮、快捷键,也可以用右键菜单调用。
与编辑模式不同,在用双击鼠标左键打开文件时,必须双击编辑框之外的区域才起作用,在编辑框内双击鼠标左键是选词。
另外需要注意的是:为了保证快捷键的兼容性,在编辑模式下空格键是“下一页”,Shift+空格才是插入空格。
编辑模式下的常用快捷键:
快捷键 |
功能 |
Ctrl+E |
结束编辑模式,进入阅读模式 |
空格 |
下一页 |
Shift+空格 |
插入空格 |
PgDn |
下一页 |
PgUp |
上一页 |
Home |
光标移动到行首 |
End |
光标移动到行尾 |
Ctrl+Home |
光标移动到文件首 |
Ctrl+End |
光标移动到文件尾 |
箭头键 |
上下左右移动光标 |
Ctrl+Z |
插销上一次操作,最多可以插销100次 |
Ctrl+Y |
重复上一次操作,最多可以重做100次 |
Ctrl+X |
剪切 |
Ctrl+C |
复制 |
Ctrl+V |
粘贴 |
Del |
删除 |
Ctrl+A |
全选 |
Ctrl+F |
查找 |
F3 |
查找下一个 |
Ctrl+R |
替换 |
鼠标滚轮 |
滚动一行 |
本软件的查找、替换功能是从MFC的CRichEditView源代码复制过来的,但做了一些改进:
- 允许进行“方向”选择。
- 被替换的内容允许“撤销”,但受100次限制。
另外翻页、翻行、鼠标滚轮、滚动条也在原始RichEdit控件基础上进行了校准。
编辑模式下也可以调用“显示设置”,但相当于阅读模式的单页显示,因此桌面图案/颜色、单页显示宽度等都起作用,但“文字”框内的高度、下划线选项不起作用。
3、公共操作
不论是阅读模式还是编辑模式,都有一些功能是通用的功能,包括书签、书库管理、章节列表等。
通用功能对应的快捷键包括:
快捷键 |
功能 |
Esc |
传说中的“老板键”,也称“老板来了”,按下后主窗口缩成屏幕右下角的小图标,鼠标点击小图标则恢复主窗口。 |
Ctrl+O |
打开文件 |
Ctrl+S |
保存文件,只有在编辑模式下并且对文件进行修改后才有效 |
Ctrl+P |
打开章节列表 |
Ctrl+B |
加入书签 |
Ctrl+G |
书签管理 |
Ctrl+W |
打开文件列表,便于从中选择打开文件 |
Ctrl+H |
打开缺省书架,便于从中选择打开文件 |
F1 |
打开本帮助文件 |
书签的作用:
如果选择了“自动恢复”,每次启动本软件时都会自动打开上次退出时正在阅读的文件,并自动定位到上次退出时的位置。但是这个功能只能记忆一本书的位置,如果需要记忆多本书的位置,就需要先“加入书签”,在需要打开的时候再点“整理书签”,从中双击需要打开的书签。
从“文件”菜单下选择最近打开过的书籍,则自动定位到文件头。
章节列表的作用:
在阅读的时候,有时希望能够快速跳到某个章节,网上流传甚广的“多模式电子书”也以此为卖点之一。为了满足此项需求,本软件提供章节列表功能,通过正则表达式对全文进行搜索,抽取出章节列表,点击即可跳到选定的章节位置。
打开章节列表后,点“设置”按钮可以对搜索表达式进行配置。配置界面中各项的含义:
-
关键字前允许出现的字符数:在关键字前允许出现的无关字符数。有时候在“第×章”之前会出现“VIP章节”或书名等字符,这些字符需要被过滤掉。但此值也不宜过大,否则可能会把书中的正常内容误判为关键字。如果此值为0,则只过滤行首的空白符,包括全角/半角空格、制表符等。
-
关键字后需带分隔符(半/全角空格、制表符、换行符):按照一般排版习惯,在关键字后都会带分隔符,用此选项可以保证匹配精度。但也不排除某些懒人排版的时候会不带分隔符,所以做成可以配置。
- 关键字:用于标示章节的关键字。关键字中如果含“×”,则进一步转换成正则表达式匹配符。
匹配符选项:
- 半角数字(0~9):扩展成“0123456789”
- 全角数字(0~9):扩展成“0123456789”
- 中文数字(一~九):扩展成“零一二三四五六七八九十百千”
- 中文大写数字(零~玖):扩展成“零壹贰叁肆伍陆柒捌玖拾佰仟”
关键字越多、匹配项越多,速度越慢,所以在不需要的时候,可以从关键字列表中去掉某些关键字前面的勾号,使其不参与匹配。
如果在阅读模式中点击“刷新”,则在“位置”栏显示的是章节标题对应的页码,否则是百分比。注意在改变显示区域大小造成重新分页的情况下,章节列表不会自动刷新,只有在手工点击“刷新”按钮后才会刷新。
书库的作用:
一般人都习惯把自己看的电子书存放在固定的文件夹下,或按照某些分类条件设置子文件夹。本软件把不同的文件夹看作不同的书架,其中有一个是缺省书架,可以用最快速的方式打开,便于从中选择自己想看的书。
与书库相关的功能包括:
-
文件列表:在窗口左侧打开文件列表,其实就是一个文件选择对话框,从中选择自己想打开的文件,用鼠标右键菜单也可以完成基本的文件操作功能。每次启动后第一次打开文件列表均定位到“桌面”。
- 文件定位:打开文件列表,进入当前正在阅读的文件所在的文件夹,选中当前文件。
- 书库管理:将常去的文件夹组织成书库,设置一个缺省书架。
- 缺省书架:如果在“书库管理”中设置了缺省书架,则打开文件列表并进入之,否则只是单纯地打开文件列表。
书库相关功能其实是在UnicornViewer
v0.26中以早期ComicsViewer的“文件列表”功能为基础搞出来的,现在已经扩散到了ComicsViewer、MyReader及PageByPage等软件中。
本软件的图像解码采用了Davide Pizzolato的CxImage。
本软件的文字分页算法参考了瑞星微公司RK27XX系列芯片的SDK开发包中的电子书源代码,毕竟我用过两款分别基于RK2706B、RK2708的MP4看电子书。
阅读模式界面和功能参考了alreader2、Cool Reader2、DesktopAuthor等优秀软件。
在此对以上各位表示感谢!
Version 1.11
功能增强:竖排显示时,括号、引号、书名号、省略号、破折号等也按照竖排显示。
错误修正:文字高度比较小时,竖排显示会造成下划线覆盖到文字上。
Version 1.10
新增功能:增加“竖排显示”选项。选择竖排显示后,阅读顺序是从右到左,鼠标单击翻页也与横排显示相反。
Version 1.09
功能增强:在搜索章节列表时,自动忽略前导空格,即“章节查询设置”对话框中,“关键字前允许出现的字符数”选项的数值不含前导空格,包括半角空格、全角空格、制表符。
功能增强:在更改章节列表的设置后,自动刷新章节列表,省掉一次鼠标点击。
功能增强:文字大小最大放宽至100点。
功能增强:支持不是以EF BB BF开头的utf-8文件。
Version 1.08
功能增强:在打开章节列表时,如果正在浏览书籍,则自动刷新章节列表,省掉一次鼠标点击。
Version 1.07
新增功能:增加“自定义工具栏”功能,可以对工具栏按钮、文字、图标等进行调整,方便使用大屏幕的用户。
功能增强:新增了一些桌面、纸张的内置图案。
功能增强:换了一套真彩工具栏图标,支持大、中、小三种尺寸。
功能增强:在章节列表中,支持用“两”代替“二”的写法。
Version 1.06
功能增强:优化存盘速度。
功能修正:Unicode/Unicode big endian/utf-8编码的文件存盘后,仍然保持原编码,而不是全部转换成ANSI编码。
Version 1.05
功能增强:在章节列表中,自动过滤重复行。
错误修正:在“查找”时,“向上”选项不起作用。
Version 1.04
新增功能:可以设置章节列表的字号。
新增功能:章节列表自动显示当前阅读位置所在的章节。
新增功能:“跳至指定页”能用于编辑模式,按百分比跳。
功能增强:能够记忆章节列表的位置。
功能增强:在阅读模式下,状态条上除显示页码外,还显示百分比。
错误修正:用“跳至指定页”跳页后,状态条没有及时更新。
Version 1.03
新增功能:在章节列表中显示页码(阅读模式)或百分比(编辑模式)。
错误修正:从资源管理器右键菜单打开会出错。
Version 1.02
错误修正:某些右键菜单项与主菜单不一致。
Version 1.01
功能修正:在阅读模式中,只有在还没有打开任何书籍的情况下,双击鼠标左键才会弹出“打开”对话框。以免在正常阅读时,因为鼠标点击翻页太快造成误操作。
Version 1.00 1. 提供阅读功能。 2. 提供编辑功能。
3.
提供章节列表功能。 4. 提供书库管理功能。 5. 提供书签、老板键等功能。
|