KoreaderKindle 上的開源閱讀器
開源閱讀器 Koreader 項(xiàng)目來源于 Kindlepdfviewer,并重寫了 Kindlepdfviewer 界面層的大部分代碼,使模塊化程度更高。理論上 Koreader 能夠運(yùn)行在所有基于 Linux 的閱讀設(shè)備上。如果你想要移植 Koreader 到其他閱讀器上的話,請(qǐng)參考項(xiàng)目的 Wiki 頁面:如何移植 Koreader 到其他系統(tǒng)。
我們希望在我們的閱讀設(shè)備上能夠享受這些自由:
-
數(shù)字內(nèi)容不被局限于特定廠商的專有系統(tǒng)的自由。
-
用戶可以獲得閱讀器軟件運(yùn)行細(xì)節(jié),保障數(shù)字內(nèi)容不被非法窺探的自由。
-
用戶修改閱讀器軟件外觀和功能的自由。
Koreader 正是讓我們獲得這些自由的一個(gè)嘗試。Koreader 在 GPLv3 協(xié)議下發(fā)布,支持開放文檔格式 PDF、DJVU、EPUB,個(gè)人文檔轉(zhuǎn)化為這些開放格式后不會(huì)因?yàn)樘囟◤S商的消失而使文檔失效;任何有興趣了解 Koreader 運(yùn)行細(xì)節(jié)的人都可以拿來研究并修改、添加自己想要的功能。
Feature List
機(jī)型支持:
Kindle Touch、Kindle PaperWhite (K3,DXG,K4 的支持還在完善中)
格式支持:
PDF, DJVU, EPUB, HTML, MOBI, TXT, ZIP, CBZ, FB2, RTF, XPS, CHM, DOC
功能支持:
見參考[4]。
Architecture
Koreader 底層的文檔解析和渲染使用了優(yōu)秀而且成熟的開源實(shí)現(xiàn):
-
PDF 文檔的解析渲染使用小巧快速、低內(nèi)存占用的 MuPDF。
-
DJVU 文檔的解析渲染使用了 DJVU 格式的開源實(shí)現(xiàn) DjVuLibre。
-
EPUB 和其他標(biāo)記文檔使用 CoolReader 的渲染引擎 CREngine。
-
其他開源庫如 luafilesystem, popen_nonshell 以及 freetype 等等。
Koreader 界面層和邏輯層使用嵌入式腳本語言 Lua 編寫,運(yùn)行時(shí)通過 LuaJIT 即時(shí)編譯為機(jī)器碼來提升運(yùn)行效率。KOReader 自帶一套超輕量級(jí)的GUI框架,可直接運(yùn)行在支持楨緩存(FrameBuffer)設(shè)備的閱讀器上,也可以通過 SDL 獲得跨平臺(tái)的運(yùn)行支持。 Koreader 自帶一個(gè)設(shè)備模擬器,方便開發(fā)者在桌面系統(tǒng)進(jìn)行開發(fā)。有關(guān)開發(fā)的詳情請(qǐng)參考項(xiàng)目 Wiki 和 README。
介紹內(nèi)容來自 LinuxToy
