This repository is a fork of hezi/koreader-ios, the iOS / iPadOS port of koreader/koreader. It tracks that port and layers a few personal tweaks on top — see What this fork changes below.
Extra reading fonts. Nine free (SIL OFL) families bundled and ready to select in the reader, each shipped as proper Regular / Bold / Italic / Bold Italic cuts so bold and italic style-linking works in the crengine renderer:
- Serif: Literata, Bitter, Source Serif 4, Vollkorn, Lora
- Sans-serif: Atkinson Hyperlegible, Inter, Open Sans, Libre Franklin
resources/fonts/was converted from a submodule to a tracked directory so these ship with the repo. Proprietary fonts (e.g. Amazon's Bookerly) are not redistributed here — drop your own copy intoresources/fonts/bookerly/and rebuild; it is auto-discovered.SimpleUI plugin, bundled and enabled by default — a distraction-free home screen, customisable bottom navigation bar, top status bar, and a reworked library title bar (doctorhetfield-cmd/simpleui.koplugin, MIT). Configure it under Menu → Tools → SimpleUI.
Behaviour fixes in
frontend/device/sdl/device.luaandreader.lua:
- Removed the automatic hardware-keyboard detection that caused typed characters to leak into the cover gallery / file browser.
- Fixed the Quickstart guide that kept reopening on every launch.
Everything else — the iOS app bundle, iCloud Drive folder picker, monolibtic build, LuaJIT bytecode precompilation — comes from the upstream port, unchanged.
brew install autoconf automake bash binutils cmake coreutils findutils \ gettext gnu-getopt libtool make meson nasm ninja pkgconf sdl3 \ util-linux xcodegen export PATH="$(brew --prefix)/opt/findutils/libexec/gnubin:$(brew --prefix)/opt/gnu-getopt/bin:$(brew --prefix)/opt/make/libexec/gnubin:$(brew --prefix)/opt/util-linux/bin:${PATH}" make TARGET=ios xcodeproj open KOReader.xcodeproj # set your signing Team, then ⌘R on a connected deviceFull prerequisites and troubleshooting live in
doc/Building_iOS.md. The native base submodule is hezi/koreader-base-ios.
Download • User guide • Wiki • Developer docs
-
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.
Please follow the model specific steps for your device:
Android • Cervantes • Kindle • Kobo • Linux • Pocketbook • reMarkable
Setting up a build environment • Collaborating with Git • Building targets • Porting • Developer docs
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.
