All Projects → koreader → Koreader Base

koreader / Koreader Base

Licence: agpl-3.0
Base framework offering a Lua scriptable environment for creating document readers

Programming Languages

lua
6591 projects

Projects that are alternatives of or similar to Koreader Base

Koreader
An ebook reader application supporting PDF, DjVu, EPUB, FB2 and many more formats, running on Cervantes, Kindle, Kobo, PocketBook and Android devices
Stars: ✭ 9,467 (+11587.65%)
Mutual labels:  pdf, epub, luajit
Plato
Document reader
Stars: ✭ 473 (+483.95%)
Mutual labels:  pdf, epub
Picolove
PICO-8 Reimplementation in Love2D
Stars: ✭ 467 (+476.54%)
Mutual labels:  emulator, luajit
Ethereum Development With Go Book
📖 A little book on Ethereum Development with Go (golang)
Stars: ✭ 754 (+830.86%)
Mutual labels:  pdf, epub
Lightnovel Crawler
Download and generate e-books from online sources.
Stars: ✭ 344 (+324.69%)
Mutual labels:  pdf, epub
Crowbook
Converts books written in Markdown to HTML, LaTeX/PDF and EPUB
Stars: ✭ 399 (+392.59%)
Mutual labels:  pdf, epub
Easybook
Book publishing as easy as it should be (built with Symfony components)
Stars: ✭ 744 (+818.52%)
Mutual labels:  pdf, epub
Redux Offline Docs
Redux documentation in PDF, ePub and MOBI formats for offline reading.
Stars: ✭ 292 (+260.49%)
Mutual labels:  pdf, epub
Readteractive
Tool for writing and generating interactive books.
Stars: ✭ 23 (-71.6%)
Mutual labels:  pdf, epub
Netkiller.github.io
Netkiller Free ebook - 免费电子书
Stars: ✭ 861 (+962.96%)
Mutual labels:  epub, ubuntu
Mangareader To Ebook
download mangareader and make epub
Stars: ✭ 12 (-85.19%)
Mutual labels:  pdf, epub
Anese
Another NES Emulator - written for fun & learning - first implementation of wideNES
Stars: ✭ 323 (+298.77%)
Mutual labels:  sdl, emulator
Percollate
A command-line tool to turn web pages into beautiful, readable PDF, EPUB, or HTML docs.
Stars: ✭ 3,535 (+4264.2%)
Mutual labels:  pdf, epub
Ocrmypdf
OCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched
Stars: ✭ 5,549 (+6750.62%)
Mutual labels:  pdf, tesseract
Ruby Hacking Guide.github.com
Ruby Hacking Guide Translation
Stars: ✭ 305 (+276.54%)
Mutual labels:  pdf, epub
Koodo Reader
A modern ebook manager and reader with sync and backup capacities for Windows, macOS, Linux and Web
Stars: ✭ 2,938 (+3527.16%)
Mutual labels:  pdf, epub
Amiberry
Optimized Amiga emulator for the Raspberry Pi and other ARM boards
Stars: ✭ 270 (+233.33%)
Mutual labels:  sdl, emulator
Starter Book
A book starter to kickstart your writing journey 🎉
Stars: ✭ 277 (+241.98%)
Mutual labels:  pdf, epub
Booktype
Booktype is a free, open source platform that produces beautiful, engaging books formatted for print, Amazon, iBooks and almost any ereader within minutes.
Stars: ✭ 810 (+900%)
Mutual labels:  pdf, epub
Elixirbooks
List of Elixir books
Stars: ✭ 1,021 (+1160.49%)
Mutual labels:  pdf, epub

koreader-base CircleCI

This is the base framework for creating document readers like KOReader, an e-ink device oriented reader application for various document formats.

It uses the MuPDF library (see http://mupdf.com/), djvulibre library, CREngine library, libk2pdfopt library and it is scripted using Lua (see http://www.lua.org/). To gain good speed at that, it uses the LuaJIT compiler.

It all started as the KindlePDFviewer application, which has since been greatly enhanced and now reflects this in having a new name, KOReader.

The code is distributed under the GNU AGPL v3 license (read the COPYING file).

Building

Follow these steps:

  • automatically fetch thirdparty sources with Makefile:

    • make sure you have patch, wget, unzip, git and svn installed
    • run make fetchthirdparty.
  • run make TARGET=kindlepw2 For Kindle models >= Paperwhite 2.

  • run make TARGET=kindle For Kindle models >= Kindle 4 < Paperwhite 2.

  • run make TARGET=kindle-legacy for Kindle DXG/2/3 devices.

  • or run make TARGET=kobo for Kobo devices.

  • or run make TARGET=pocketbook for PocketBook devices.

  • or run make TARGET=cervantes for BQ Cervantes devices.

  • or run make TARGET=android for Android devices.

  • or run make TARGET=win32 for Windows.

  • or run make TARGET=generic-arm for generic ARM devices.

  • or run make TARGET=ubuntu-touch for Ubuntu Touch.

  • or run make TARGET=appimage for the desktop AppImage.

  • or run make TARGET=debian, debian-armel or debian-armhf for a Debian package.

  • or run make KODEBUG=1 to build with debugging symbols.

  • or run make for the emulator on Linux.

Use ccache

Ccache can speed up recompilation by caching previous compilations and detecting when the same compilation is being repeated. In other words, it will decrease build time when the sources have already been built. Ccache support has been added to KOReader's build system. Before using it, you will need to install a ccache in your system.

  • in Ubuntu use:sudo apt-get install ccache
  • in Fedora use:sudo yum install ccache
  • install from source:
  • to disable ccache, use export USE_NO_CCACHE=1 before make.
  • for more detail about ccache. visit:

http://ccache.samba.org

Device emulation

The code also features a device emulation. You need SDL headers and library for this. It allows to develop on a standard PC and saves precious development time. It might also create a suboptimal desktop PDF viewer, depending on your view.

If you are using Fedora Core Linux, run yum install SDL2 SDL2-devel. If you are using Debian or Ubuntu, install the libsdl2-dev package.

By default, the build system builds in "emulation mode", so following is all you need to build the emulator:

make

The emulator uses 800x600 as the default resolution. It can be changed at runtime by changing the following environment variables:

EMULATE_READER_W=746 EMULATE_READER_H=1024

The emulator uses a default DPI of 160. This can also be changed with an environment variable:

EMULATE_READER_DPI=300

KOReader supports "viewports", i.e. displaying only in a rectangular excerpt of the screen. This is useful on devices where the framebuffer is larger than the area that is actually visible. In order to simulate such a viewport using the emulator, specify a specially crafted environment variable:

EMULATE_READER_VIEWPORT="{x=50,w=600,y=10,h=680}"

You can also simulate e-ink refresh with the emulator. When active, only refreshed areas of the screen are actually updated and you also get a visual inverse flash feedback. In order to activate that mode, set an environment variable to the number of milliseconds you want the flash to endure:

EMULATE_READER_FLASH=100
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].