Koreader - Kindle 上的开源阅读器


AGPLv3
Linux
C/C++

软件简介

我们希望在我们的阅读设备上能够享受这些自由:

  1. 数字内容不被局限于特定厂商的专有系统的自由。

  2. 用户可以获得阅读器软件运行细节,保障数字内容不被非法窥探的自由。

  3. 用户修改阅读器软件外观和功能的自由。

Koreader 正是让我们获得这些自由的一个尝试。Koreader 在 GPLv3 协议下发布,支持开放文档格式
PDF、DJVU、EPUB,个人文档转化为这些开放格式后不会因为特定厂商的消失而使文档失效;任何有兴趣了解 Koreader
运行细节的人都可以拿来研究并修改、添加自己想要的功能。

Koreader 项目来源于
Kindlepdfviewer,并重写了
Kindlepdfviewer
界面层的大部分代码,使模块化程度更高。理论上 Koreader 能够运行在所有基于 Linux 的阅读设备上。如果你想要移植 Koreader
到其他阅读器上的话,请参考项目的 Wiki 页面:如何移植
Koreader 到其他系统。

Feature List

机型支持:

Kindle Touch、Kindle PaperWhite (K3,DXG,K4 的支持还在完善中)

格式支持:

PDF, DJVU, EPUB, HTML, MOBI, TXT, ZIP, CBZ, FB2, RTF, XPS, CHM, DOC

功能支持:

见参考[4]。

Architecture

Koreader 底层的文档解析和渲染使用了优秀而且成熟的开源实现:

  • PDF 文档的解析渲染使用小巧快速、低内存占用的 MuPDF

  • DJVU 文档的解析渲染使用了 DJVU 格式的开源实现 DjVuLibre

  • EPUB 和其他标记文档使用 CoolReader 的渲染引擎 CREngine

  • 使用 K2pdfopt 来优化 PDF/DJVU 文档在小屏幕设备上的排版。效果见这里

  • 其他开源库如 luafilesystem, popen_nonshell 以及 freetype 等等。

Koreader 界面层和逻辑层使用嵌入式脚本语言 Lua
编写,运行时通过 LuaJIT
即时编译为机器码来提升运行效率。KOReader
自带一套超轻量级的GUI框架,可直接运行在支持桢缓存(FrameBuffer)设备的阅读器上,也可以通过
SDL 获得跨平台的运行支持。
****Koreader
自带一个设备模拟器,方便开发者在桌面系统进行开发。有关开发的详情请参考项目
Wiki
README

介绍内容来自 LinuxToy