book-reader/README.md

4.2 KiB
Raw Blame History

Episteme Reader Icon  Episteme Reader

A modern, offlinefirst, privacyfocused document & ebook reader for Android, built with Kotlin and Jetpack Compose.

Get it on F-Droid Get it on Google Play   Get it on Obtainium


Episteme Reader Preview

Overview

Episteme Reader is an offline-first reader for documents and ebooks on Android. It focuses on a clean and customizable reading experience.

Note: This is the Open Source (OSS) edition of Episteme Reader. The Google Play version is built from this core and may include additional proprietary features.

Features

Supported Formats

  • Documents: PDF, DOCX
  • Ebooks: EPUB, MOBI, AZW3, FB2
  • Comics: CBZ, CBR, CB7
  • Text: MD, TXT, HTML

Reading Experience

  • Themes (PDF & EPUB): Light, Dark, Sepia, OLED, Auto (system) and custom
  • PDF Modes: Vertical scroll and paginated view
  • EPUB Modes: WebView-based vertical scrolling and custom paginated engine
  • Custom Fonts: Import user-provided fonts (.ttf, .otf)
  • Typography: Adjustable font size, line spacing, and margins

Annotations (PDF)

  • Ink Annotations: Pen, Highlighter, Eraser
  • Text Annotations: Place notes anywhere, with system or custom fonts

Library & OPDS

  • Library: Built-in organization and quick access to your files
  • OPDS Support: Browse, search, and add books from OPDS 1.x/2.0 catalogs, with optional authentication

Accessibility & Utilities

  • Text-to-Speech (TTS): Read documents aloud using the system TTS engine
  • Offlinefirst: Core features work fully offline; no analytics or tracking

Architecture

  • UI: 100% Jetpack Compose (Material 3)
  • Pattern: MVVM with Unidirectional Data Flow
  • Database: Room (SQLite) for metadata and annotations
  • PDF Engine: pdfium-android (Native PDFium bindings)
  • EPUB Engine: WebView for vertical mode; custom renderer for paginated mode
  • MOBI/AZW3: Custom JNI bindings to libmobi
  • OPDS: Lightweight feed parsing and downloading (on-device)

Building from Source

  1. Clone the repository:

    git clone https://github.com/Aryan-Raj3112/episteme.git
    cd episteme
    
  2. Build:

    • Open in Android Studio and run the ossDebug variant, or
    • Build from the command line:
      ./gradlew assembleOssDebug
      

    The APK will be generated at:

    app/build/outputs/apk/oss/debug/Episteme-oss-v{version}-oss-debug.apk
    

Open Source Libraries

Powered by the Android OSS ecosystem:

  • Core & UI: AndroidX, Jetpack Compose, Kotlinx Serialization
  • Document Engines: PdfiumAndroidKt (PDF), libmobi (MOBI/AZW3), Google WOFF2 (fonts)
  • Parsers: Jsoup (HTML/EPUB), Flexmark (Markdown)
  • Media & Image Loading: Coil, Media3 (ExoPlayer)
  • Utilities: Room (Database), Timber (Logging)

Contributors

License

Licensed under the GNU Affero General Public License v3.0 (AGPL3.0). See the LICENSE file.

Support the Project

Help make Episteme Reader even better.