You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
Qingping Hou 2495d2c862 include dbg instead for settings for DEBUG in font.lua 11 years ago
extensions/kpdf update to direct referencing of scripts. 11 years ago
frontend include dbg instead for settings for DEBUG in font.lua 11 years ago
koreader-base@79bff5f6ab updated submodule koreader-base to latest HEAD 11 years ago
launchpad Reimplement kpdf.sh changes from PR#348 after the PR#352 merge, and fix 12 years ago
resources add home icon 11 years ago
test test file for djvu format 12 years ago
.gitignore more minor cleanup 11 years ago
.gitmodules Step #3 factoring out the frontend code 11 years ago
COPYING initial project, basic reader working 13 years ago
Makefile update reader name in customupdate to koreader 11 years ago
README.md fix in README 11 years ago
kpdf.sh dismiss chrome bar before launching the reader 11 years ago
picviewer.lua Initial commit of picviewer. 12 years ago
reader.lua Some adaptions needed after refactoring 11 years ago
wtest.lua add callback to touchmenu bar icon 11 years ago

README.md

Koreader

This is a document viewer application, created for usage on the Kindle e-ink reader. It currently supports Kindle 5 (Touch) and Kindle Paperwhite. The devices need to be jailbroken in order to install the application. Also, a kind of external launcher is needed.

Koreader started as the KindlePDFViewer application, but it supports much more formats than PDF now. Among them are DJVU, FB2, EPUB, TXT, CBZ, HTML.

Koreader is a frontend written in Lua and uses the API presented by the Koreader-base framework. Koreader implements a GUI and is currently targeted at Touch-based devices - for the classic user interface for button-driven e-ink devices (like the Kindle 2, Kindle DX, Kindle 3, Kindle 4) see the KindlePDFviewer legacy project or - especially for the Kindle 4 - have a look at its fork Librerator.

The application is licensed under the GPLv3 (see COPYING file).

Building

Follow these steps:

  • fetch thirdparty sources

    • manually fetch all the thirdparty sources:

      • init and update submodule koreader-base
      • within koreader-base:
        • install muPDF sources into subfolder "mupdf"
        • install muPDF third-party sources (see muPDF homepage) into a new subfolder "mupdf/thirdparty"
        • install libDjvuLibre sources into subfolder "djvulibre"
        • install CREngine sources into subfolder "kpvcrlib/crengine"
        • install LuaJit sources into subfolder "luajit-2.0"
        • install popen_noshell sources into subfolder "popen-noshell"
        • install libk2pdfopt sources into subfolder "libk2pdfopt"
    • automatically fetch thirdparty sources with Makefile:

      • make sure you have patch, wget, unzip, git and svn installed
      • run make fetchthirdparty.
  • adapt Makefile to your needs - have a look at Makefile.defs in koreader-base

  • run make thirdparty. This will build MuPDF (plus the libraries it depends on), libDjvuLibre, CREngine, libk2pdfopt and Lua.

  • run make. This will build the koreader application

Running

The user interface is scripted in Lua. See "reader.lua". It uses the Linux feature to run scripts by using a corresponding line at its start.

So you might just call that script. Note that the script and the koreader-base binary currently must be in the same directory.

You would then just call reader.lua, giving the document file path, or any directory path, as its first argument. Run reader.lua without arguments to see usage notes. The reader.lua script can also show a file chooser: it will do this when you call it with a directory (instead of a file) as first argument.