* ReaderFooter: * Honor the global twelve_hour_clock setting, instead of duplicating a local one. (Re #6969) * os.date is a thin wrapper around strftime, so we might be able to get away with some not-quite-standard extensions... These are *definitely* supported on Linux, but are *NOT* the glibc extension (that'd be e.g., %-I), so, hopefully, they're somewhat portable... They are also supported on BSD/macOS. They are *not* supported by the MS UCRT. That means MinGW-w64, too. This *appears* to be supported on current Bionic (it might even support said glibc format altering extensions). * And of course, Windows is terrible, so, make this terribly ugly to not break it there... * Turns out BSD also supports the dash trim format extension, so, leave the trimming to the libc, and handle the special-casing in a way that doesn't create stupid locals. * Random unrelated cleanup ^^. (https://gitter.im/koreader/koreader?at=5fd24be492aa1c4ef5d11f31) * Update the testsuite (Because the default used to be 24h clock). Changed the default to 24h clock ;p. * Explain why we don't try to fix it in Lua
KOReader is a document viewer primarily aimed at e-ink readers.
Download • 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, CHM, TXT). Scanned PDF/DjVu documents can also be reflowed with the built-in K2pdfopt library.
-
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), Evernote (export hightlights), 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
-
and much more: look up words with StarDict dictionaries / Wikipedia, add your own online OPDS catalogs and RSS feeds, share ebooks with other KOReader devices wirelessly, online over-the-air software updates, an FTP client, an SSH server, …
Please check 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, but you can also create a bounty to motivate others to work on a specific bug or feature request.
