Factorize (options handling, target setup, …), add explicit Android targets (`android-arm`, `android-arm64`, etc…). build: - support `--no-build` / `-b`: only run setup phase check: simplify implementation (re-use `.ci/check.sh`) cov & test: - forward to makefile rules (no need to guess install directory) - support `--no-build` / `-b`: use existing build log: - drop the target argument (since only Android is supported anyway) prompt & wbuilder: - forward to makefile rules (no need to guess install directory) - support `--no-build` / `-b`: use existing build release: - support `--no-build` / `-b`: use existing build run: - forward to makefile rules (no need to guess install directory) - correctly support relative arguments, and whitespace in arguments - drop support for catchsegv: Glibc 2.35 (2022) dropped catchsegv and associated `libSegFault.so` shared library - drop support for nemiver debugger: project is dead, last release was 8 years ago, repo is archived, and package has been dropped from newer Debian / Ubuntu releases - support running an APK passed as argument when using `android` target - rename short `-d`, `-h`, and `-w` options to `-D`, `-H` and `-W` respectively (to avoid conflicts with standard options) - drop support for `-p` / `--graph` argument: code moved to a dedicated wrapper script (`tools/graph_memory.sh`) that can be used with the new `-w` / `--wrap` argument: `./kodev run -w tools/graph_memory.sh …` - drop `--tui` argument when using GDB: said TUI does not cohabit well with KOReader console outputs (and cgdb is better fancy TUI anyway)
KOReader is a document viewer primarily aimed at e-ink readers.
Download • User guide • Wiki • Developer docs
Main features
-
portable: runs on embedded devices (Cervantes, Kindle, Kobo, PocketBook, reMarkable), Android and Linux computers. Developers can run a KOReader emulator in Linux and MacOS.
-
multi-format documents: supports fixed page formats (PDF, DjVu, CBT, CBZ) and reflowable e-book formats (EPUB, FB2, Mobi, DOC, RTF, HTML, CHM, TXT). Scanned PDF/DjVu documents can also be reflowed with the built-in K2pdfopt library. ZIP files are also supported for some formats.
-
full-featured reading: multi-lingual user interface with a highly customizable reader view and many typesetting options. You can set arbitrary page margins, override line spacing and choose external fonts and styles. It has multi-lingual hyphenation dictionaries bundled into the application.
-
integrated with calibre (search metadata, receive ebooks wirelessly, browse library via OPDS), Wallabag, Wikipedia, Google Translate and other content providers.
-
optimized for e-ink devices: custom UI without animation, with paginated menus, adjustable text contrast, and easy zoom to fit content or page in paged media.
-
extensible: via plugins
-
fast: on some older devices, it has been measured to have less than half the page-turn delay as the built in reading software.
-
and much more: look up words with StarDict dictionaries / Wikipedia, add your own online OPDS catalogs and RSS feeds, over-the-air software updates, an FTP client, an SSH server, …
Please check the user guide and the wiki to discover more features and to help us document them.
Screenshots
Installation
Please follow the model specific steps for your device:
Android • Cervantes • Kindle • Kobo • Linux • Pocketbook • reMarkable
Development
Setting up a build environment • Collaborating with Git • Building targets • Porting • Developer docs
Support
KOReader is developed and supported by volunteers all around the world. There are many ways you can help:
- fix bugs and implement new features
- translate the program into your language or improve an existing translation
- document lesser-known features on the wiki
- help others with your knowledge on the forum
Right now we only support liberapay donations.
