• This repository has been archived on 22/Sep/2020
  • Stars
    star
    494
  • Rank 85,930 (Top 2 %)
  • Language
    Lua
  • License
    GNU General Publi...
  • Created over 12 years ago
  • Updated over 10 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

(DEPRECATED, please use KOReader instead) A PDF (plus DJVU, ePub, TXT, CHM, FB2, HTML...) viewer made for e-ink framebuffer devices, using muPDF, djvulibre, crengine

KindlePDFViewer

This is a document viewer application, created for usage on the Kindle e-ink reader. It is currently restricted to 4bpp inverse grayscale displays. For PDF files it is using the muPDF library (see http://mupdf.com/), for DjVu files djvulibre library and for ebooks (fb2, mobi, ePub, etc) crengine. It can also read JPEG images using libjpeg library. The user interface is scripted using Lua (see http://www.lua.org/).

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

  • 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-base application

Running

In real eink devices

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.

In emulator

You need to first compile koreader-base in emulation mode.

  • If you have built kindlepdfviewer in real mode before, you need to clean it up:
make clean && make cleanthirdparty
  • Then compile with emulation mode flag:
EMULATE_READER=1 make
  • You may want to see README.md in koreader-base for more information.

Next run make bootstrapemu to setup basic runtime environment needed by emulation mode. A new emu directory will be created.

Last, run the emulator with following command:

cd emu && reader.lua -d ./

You can also specify size of emulator's screen via environment variables. For more information, please refer to koreader-base's README.

More Repositories

1

koreader

An ebook reader application supporting PDF, DjVu, EPUB, FB2 and many more formats, running on Cervantes, Kindle, Kobo, PocketBook and Android devices
Lua
14,890
star
2

kpvbooklet

KPVBooklet is a Kindle booklet for starting koreader/kindlepdfviewer and updating last access and percentage finished information in Kindle content catalog entry of the opened document.
Java
205
star
3

koreader-sync-server

self hostable synchronization service for koreader devices
Lua
135
star
4

koreader-base

Base framework offering a Lua scriptable environment for creating document readers
Lua
120
star
5

android-luajit-launcher

Android NativeActivity based launcher for LuaJIT, implementing the main loop within Lua land via FFI
Kotlin
118
star
6

libk2pdfopt

k2pdfopt library for koreader, based on http://willus.com/k2pdfopt
C
83
star
7

crengine

This is the KOReader CREngine fork. It cross-pollinates with the official CoolReader repository at https://github.com/buggins/coolreader, in case you were looking for that one.
C++
65
star
8

koxtoolchain

Build script for various toolchains used by KOReader
Shell
49
star
9

contrib

Collection of non-official plugins designed for KOReader
Lua
26
star
10

virdevenv

virtual dev environment for koreader
Shell
14
star
11

KoboUSBMS

Small helper to handle USBMS on Kobo in KOReader
C
14
star
12

ffi-cdecl

Automated C declaration extraction for FFI interfaces
Lua
11
star
13

sdcv

console version of StarDict formerly used by koreader; fork of https://github.com/Dushistov/sdcv
Makefile
10
star
14

koreader-misc

helper scripts and tools used/created by the dev team.
Python
8
star
15

lj-wpaclient

wpa_supplicant client library for LuaJIT
Lua
8
star
16

koreader-fonts

Fonts for use in KOReader
6
star
17

evernote-sdk-lua

Unofficial Evernote SDK for Lua
Lua
6
star
18

koreader-translations

KOReader localization.
5
star
19

android-send2ebook

**deprecated** send2ebook lets you send articles found on your android device to your ereader
Java
5
star
20

stardict-dictionaries

Script to quickly convert zip files to .tar.lz
Shell
2
star
21

doc

github page repo for hosting KOReader's documentation (write only)
HTML
1
star
22

test-data

Test suit for various document formats
1
star
23

koreader.github.io

Landing page for KOReader project
HTML
1
star