“三十年河东,三十年河西”是一句民间谚语,它的来源是:从前黄河河道不固定,经常会改道(历史上无数次发生)。某个地方原来在河的东面,若干年后,因黄河水流改道,这个地方会变为在河的西面。这句话比喻人事的盛衰兴替,变化无常,有时候会向反面转变,难以预料。又道是“世事无常,瞬息万变”,也有人说“在这个世上,最不缺少的就是变化”。对于正在经历这种不断变化的或者处于变化旋涡中的人,也许变化过后是雨后彩虹,也许迎接的是更大的暴风雨,前途未知,但我们应该相信这句话,“一般特别勤奋的人,运气都不会太差的”。让我们保持平常心,拥抱变化,“车到山前必有路”,“塞翁失马,焉知非福”,一切变化都会有其解决方案,也许看似很糟糕的事情在多年之后回头看时,却可能是一件好事也说不定。

最近对FBReader的阅读引擎支持的功能进行了总结,便于进行修改或扩展,对刚从事阅读引擎工作相关工作的同学可能会有一些学习和借鉴作用,这里分享出来给大家。

FBReader阅读引擎支持的功能很多,总结如下所示。

1、支持并测试过的格式有txt,epub,doc,html,pdf(需要下载插件支持);

代码看到的应该有css,doc,fb2,html,xhtml, oeb,pdb ,rtf ,txt,需要装插件的格式有CBR和CBZ,DjVu,PDF等这些。

2、夜间模式和白天模式的切换;

3、书签功能

(1)、添加书签;

(2)、打开书签;

(3)、编辑书签:能够单独编辑某个标签的文字内容,选中的样式,进行删除。

(4)、可能同时查看所有图书的书签;

(5)、对所有图书的书签进行关键字搜索;

4、支持脚注。

脚注内容显示有当前读书的进度,格式以”当前页/总页“这样的方式显示;当前时间;剩余点亮百分比。

5、全文内容查找。

针对输入的关键字进行全文内容查找。

6、侧边亮度调节功能。

可以上下滑动当前页的最左侧来调节屏幕的亮度。

7、书籍分享

通过系统安装的应用可以分享书籍

8、屏幕方向

可以按系统,感知设备方向,竖直,水平,竖直反置,水平反置等6种方式来设置阅读界面的屏幕方向。

9、书籍信息

(1)、可以查看书名,书籍对应的语言,书籍所在路径或位置。

(2)、还可以对书籍的信息进行编辑,包括书名,作者,标签,语言(书籍对应的语言)

,编码(可以设置不同的编码,手动修改后会导致文件乱码)。

(3)、重新加载功能,可以恢复书籍的默认信息,将编辑保存的信息恢复成默认值。

10、快速翻看

可以通过操作滚动条快速切换到某一页,显示格式为“当前页/总页”。

11、插件安装功能

支持符合FBReader要求的插件进行集成和安装,包括有书架,语音朗读,PDF格式,DjVu格式,CBR和CBZ格式

12、设置语言

设置当前界面的语言。

13、文件夹设定。

包括设置在哪搜索book,在哪存储下载的book,上哪找字体,在哪存储临时文件等都可以设置和选择目录。

14、同步。

主要是和后台同步一些信息。包括帮助文档,是否允许同步,如果允许,可以设置是否上传文件到服务器,同步当前book的位置到后台,改变当前阅读的book,同步bookmark到后台。

15、呈现方式

(1)、界面语言。可以设置界面菜单多国语言。

(2)、屏幕方向。可以按系统,感知设备方向,竖直,水平,竖直反置,水平反置等6种方式来设置 。

(3)、双列视图。水平方向手持设备时使用双列显示文字 ,还是始终将文字一列显示 。

(4)、屏幕亮度调整。是否允许通过在屏幕左侧上下滑动手指来调整屏幕亮度,或者禁用屏幕亮度调整。

(5)、禁止屏幕睡眠。四个选项可以选择其一:总是,当电量大于百分之25 ,当电量大于百分之50 ,从不。

(6)、显示状态栏 。阅读模式下显示状态栏,或者阅读模式下隐藏状态栏。

(7)、阅读时禁用系统按键发亮 。禁用设备系统按键发亮 (对某些设备无效) ,或者不要尝试禁用系统按键发亮。

16、文字

(1)、字体属性。可以设置是否允许抗锯齿 ,是否允许间距微调 ,是否允许色彩抖动 ,是否允许字体微调等4个选项。

(2)、字体。可以设置字体,包括预置的和拷贝到/mnt/sdcard/Fonts目录下的。

(3)、字体大小。可以设置字体大小,是个区间值。

(4)、字型。包括是正常 ,还是加粗 ,倾斜 ,还是加粗并倾斜 。

(5)、行间距。区间值0.5-3.0,这个我们可以重置感兴趣的值。

(6)、对齐。对齐方式包括左 ,右 ,居中 ,对齐 四种。

(7)、自动断字。是否允许自动断字 。

(8)、更多样式。

**************以下这个是重点*********

可以对多种样式进行设置,这些样式包括34种,具体如下,

(1)、连续段落

(2)、EPub Paragraph

(3)、书名

(4)、章节标题

(5)、副标题

(6)、标题 1

(7)、标题 2

(8)、标题 3

(9)、标题 4

(10)、标题 5

(11)、标题 6

(12)、摘要

(13)、题词

(14)、作者

(15)、诗标题

(16)、节

(17)、韵文

(18)、举例

(19)、内部超链接

(20)、外部链接

(21)、脚注

(22)、倾斜

(23)、重点

(24)、加粗

(25)、固定

(26)、定义

(27)、定义描述

(28)、预置格式文本

(29)、编码

(30)、删除线

(31)、上标

(32)、下标

(33)、图像

(34)、日期

可以分别对以上34种样式进行14种设置值的修改,这14种设置值包括,

(1)、字体

(2)、字体大小

(3)、加粗

(4)、倾斜

(5)、Text decoration

(6)、允许断字

(7)、对齐

(8)、行间距

(9)、段前距

(10)、段后距

(11)、左缩进

(12)、右缩进

(13)、首行缩进

(14)、Vertical alignment.

其中段前距 ,段后距 ,左缩进,右缩进,首行缩进,Vertical alignment 支持的格式有类似,20px, 10pt, 0.8em, 1ex, 120%,5种格式。

17、Pop-ups

设置弹出框的属性,包括文字大小,多长时间间隔等。

18、CSS

设置包括

Font family字体。Use font family defined in CSS 或者忽略。

字体大小。使用CSS中定义的字体大小 或者忽略。

文字排列 。使用CSS中定义的文字排列 或者忽略。

Margins边距 。Apply margins defined in CSS 或者忽略。

19、颜色&墙纸

可以设置背景的颜色或者预置图片文件,或者自定义的图片。

还可以设置,普通文字 ,链接文字 ,已访问过的链接文字 ,Search results ,搜索结果背景 ,Footer (old style) ,Footer background ,Footer text ,Footer line ,选择背景色 ,选择的文本 等的背景颜色。

20、边距

可以设置左边距 ,右边距 ,顶边距 ,底边距 ,列间距 。

21、滚动条

(1)、滚动条设置 。包括隐藏 ,垂直滚动 ,垂直进度方式 ,水平页脚方式 ,Horizontal footer (old style) 等方式。

(2)、页脚高度 。

(3)、Footer (old style) colour。页脚样式

(4)、Footer background colour。 页脚背景色。

(5)、Footer text colour。页脚文本色

(6)、Footer line colour。 页脚间隔行颜色

(7)、显示内容目录标志 。在页脚栏显示内容目录标志 或者不在页脚栏显示内容目录标志 。

(8)、Maximum number of TOC marks to display。

(9)、Show reading progress 。

(10)、显示时间 。页脚处显示时间 或者不在页脚处显示时间

(11)、显示电量百分比 。在页脚显示电量百分比 或者不在。

(12)、字体。设置页脚字体。

22、翻阅操作

(1)、触滑屏幕翻阅 。包括,手指拍触屏幕翻页 ,手指触滑翻页 和触滑或者拍触以翻页 可以选择。

(2)、连续拍触动作设定。连续拍触屏幕两次显示对话框/菜单 或者忽略连续拍触动作

(3)、音量键滚动 。

(4)、用音量键来翻动 。

(5)、动画效果 。包括,无动画效果的滚屏 ,翻卷动画 ,滑动动画 ,Slide animation (old style) ,移动动画 等5种,

(6)、动画速度

(7)、横屏翻阅 。

23、Dictionary & translator字典和翻译

(1)、Look up single word in

(2)、Translate phrases via

(3)、导航键访问词句设定

(4)、长按动作设定

24、图像设定

(1)、长按动作设定。包括,长按不做任何事 ,长按选择图像 和长按打开图像 。

(2)、图像适合屏幕。包括无 ,只有封面 和所有 。

(3)、图像显示时的背景颜色

(4)、Match background intensity 。Adjust image colour to background 或者Do not adjust image colour 。

以上是FBReader引擎支持的所有功能,还有一些感觉不属于引擎功能范围的,如取消菜单设置,每日小提示设置,关于等相关的功能没有做整理。

FBReader阅读引擎支持的功能的更多相关文章

  1. Atitti 存储引擎支持的国内点与特性attilax总结

    Atitti 存储引擎支持的国内点与特性attilax总结 存储引擎处理的事情: · 并发性:某些应用程序比其他应用程序具有很多的颗粒级锁定要求(如行级锁定). · 事务支持:并非所有的应用程序都需要 ...

  2. 手机支持USB功能、驱动文件对应关系

    手机支持USB功能: 1.UMS(USB MASS Stronge) : 连接PC作为存储盘使用 2.ADB : 用于调试 3.MTP :连接PC作为存储盘使用(win XP需要安装WMP10 以上 ...

  3. WCF系统内置绑定列表与系统绑定所支持的功能

      WCF系统内置绑定列表 绑定 配置元素 说明 传输协议 编码格式 BasicHttpBinding <basicHttpBnding> 一个绑定,适用于与符合 WS-Basic Pro ...

  4. 驰骋开源的asp.net工作流程引擎java工作流 2015 正文 驰骋工作流引擎ccflow6的功能列表

    关键词: 驰骋工作流引擎   ccflow的功能列表   工作流功能列表  表单引擎功能列表 我们工作流引擎ccflow6重构之后对功能做了一些调整,要想快速了解ccbpm的功能,可以以下面列表为准 ...

  5. 检测浏览器是否支持cookie功能

    <script> if(navigator.cookieEnabled) { document.write("你的浏览器支持cookie功能!"); } else{ d ...

  6. 如果您的浏览器不支持javascript功能

    如果您的浏览器不支持javascript功能或被禁止使用,那么在访问许多网站(包括此网站)时,某些功能将不可用.我们建议您打开javascript功能以获得最佳的浏览效果.以下是打开它的可能原因和方法 ...

  7. MyISAM、InnoDB、Memory这3个常用引擎支持的索引类型

    表格对比了MyISAM.InnoDB.Memory这3个常用引擎支持的索引类型: 索引 MyISAM引擎 InnoDB引擎 Memory引擎 B-Tree索引 支持 支持 支持 HASH索引 不支持 ...

  8. Flutter 多引擎支持 PlatformView 以及线程合并解决方案

    作者:字节移动技术-李皓骅 摘要 本文介绍了 Flutter 多引擎下,使用 PlatformView 场景时不能绕开的一个线程合并问题,以及它最终的解决方案.最终 Pull Request 已经 m ...

  9. Chrome 已经原生支持截图功能,还可以给节点截图!

    昨天 Chrome62 稳定版释出,除了常规修复各种安全问题外,还增加很多功能上的支持,比如说今天要介绍的强大的截图功能. 直接截图 打开开发者工具页面,选择左上角的元素选择按钮(Inspect) W ...

随机推荐

  1. 咫尺论坛|即速应用-微信小程序社区

    咫尺论坛|即速应用-微信小程序社区 是一个集微信和支付宝小程序行业资讯.开发资源.技术交流于一身的大型小程序开发论坛,成立伊始便迅速聚集了一大批小程序开发爱好者,短时间内成为了国内领先的小程序开发者社 ...

  2. python写unix口令破解器

    看了python绝技做出来的unix口令破解器 首先需要crypt. python并不自带!! windows下pip安装失败= = 后来直接去kali敲了 附件:jiami.txt #假设是unix ...

  3. sqlmap完成简单的sql注入

    扫描目标站点,是否存在注入 --users获取用户名 --dump --tables探测表和数据库信息 跑出来的字段 admin --dump -T admin -C admin,password暴库 ...

  4. c# for 和 foreach 的区别

    foreach 能够进行foreach的类型结构,都必须实现IEnumerable接口. IEnumerable接口,有一个GetEnumerator的方法,返回一个实现IEnumerator接口的对 ...

  5. 对python-rrdtool模块的浅研究。

    一,python-rrdtool模块安装. 切记!!! 这个rrdtool模块,在windows环境下安装太费劲,就是因为没安装上所以现在改成了在ubuntu环境下开发,原来没有体会过,现在可真是体会 ...

  6. 属性getter和setter

    我们知道,对象属性是由名字.值和一组特性(attribute)构成的.在ECMAScript5 中,属性值可以用一个或两个方法替代,这两个方法就是getter和setter.由getter和sette ...

  7. 【Jsp/Servlet】获取客户端使用的ip

    一般使用jsp的时候大多数时间都可以使用request.getRemoteAddr() 来获取ip,但是这个前提是未经过反向代理等操作的原始地址,所以,需要在反向代理等操作之后还要获取客户端的ip变得 ...

  8. 如何查看dede版本信息

    dedecms版本信息 更新日期 it 分类: dedecms 打开 /include/common.inc.php 查找 $cfg_version 可以看到版本号 /打开 data/admin/ve ...

  9. Hive 多分隔符的使用 (转载)

    方法一)通过org.apache.hadoop.hive.contrib.serde2.RegexSerDe格式的serde. 1) 建表语句 #指定以^|~作为分隔符 CREATE TABlE ta ...

  10. Vue.js的坑

    参考网址:http://cn.vuejs.org/v2/guide/components.html 1.camelCase vs. kebab-case HTML 特性不区分大小写.当使用非字符串模版 ...