All Projects → readium → Readium Sdk

readium / Readium Sdk

Licence: bsd-3-clause
A C++ ePub renderer SDK

Programming Languages

c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to Readium Sdk

bookery
Manage all your ebooks and send them to your reader
Stars: ✭ 35 (-90.03%)
Mutual labels:  epub
Narou
Narou.rb - 小説家になろうのダウンローダ&縦書き整形&管理アプリ。Kindle(などの電子書籍端末)でなろうを読む場合に超便利です!
Stars: ✭ 256 (-27.07%)
Mutual labels:  epub
Unix As Ide
The ebook version of Tom Ryder's series on the Unix programming environment
Stars: ✭ 315 (-10.26%)
Mutual labels:  epub
ebook-converter
Commandline tool for converting between several e-books formats, based on Calibre project.
Stars: ✭ 21 (-94.02%)
Mutual labels:  epub
lightnovel epub
🍭 epub generator for (light)novels (轻) 小说 epub 生成器,支持站点:轻之国度、轻小说文库
Stars: ✭ 89 (-74.64%)
Mutual labels:  epub
Starter Book
A book starter to kickstart your writing journey 🎉
Stars: ✭ 277 (-21.08%)
Mutual labels:  epub
bookworm
The Universally Accessible document Reader
Stars: ✭ 50 (-85.75%)
Mutual labels:  epub
Vivliostyle.js
📖 The power of CSS typesetting, right at your fingertips.
Stars: ✭ 328 (-6.55%)
Mutual labels:  epub
Duareader
电子书阅读器,支持txt,e-pub(图文混排),纯swift编写,支持OC混编。 An e-book reader that supports TXT and e-pub formats. This project is written in swift and supports hybrid compilation with objective OC
Stars: ✭ 258 (-26.5%)
Mutual labels:  epub
Ruby Hacking Guide.github.com
Ruby Hacking Guide Translation
Stars: ✭ 305 (-13.11%)
Mutual labels:  epub
fiction-dl
A content downloader, capable of retrieving works of (fan)fiction from the web and saving them in a few common file formats.
Stars: ✭ 22 (-93.73%)
Mutual labels:  epub
bookr-mod-vita
A book reader for the Vita and Switch. Still a work in progress.
Stars: ✭ 51 (-85.47%)
Mutual labels:  epub
Readium Js
EPUB processing engine written in Javascript
Stars: ✭ 287 (-18.23%)
Mutual labels:  epub
kthoom
Comic Book Reader in the Browser
Stars: ✭ 97 (-72.36%)
Mutual labels:  epub
Thorium Reader
A cross platform desktop reading app, based on the Readium Desktop toolkit
Stars: ✭ 319 (-9.12%)
Mutual labels:  epub
epub-package.dart
A dart package to parse EPUB files
Stars: ✭ 21 (-94.02%)
Mutual labels:  epub
Easybook
Java/Android多站点小说爬虫库,并发搜索,epub/txt下载,在线书源等,已实现小说app
Stars: ✭ 262 (-25.36%)
Mutual labels:  epub
Lightnovel Crawler
Download and generate e-books from online sources.
Stars: ✭ 344 (-1.99%)
Mutual labels:  epub
Percollate
A command-line tool to turn web pages into beautiful, readable PDF, EPUB, or HTML docs.
Stars: ✭ 3,535 (+907.12%)
Mutual labels:  epub
Redux Offline Docs
Redux documentation in PDF, ePub and MOBI formats for offline reading.
Stars: ✭ 292 (-16.81%)
Mutual labels:  epub

Readium SDK

Copyright (c) 2012–2014 The Readium Foundation and contributors.

Release Notes

Version 0.14 includes support for building a shared or static library for Android devices using the Android NDK r8e. See the Platform Support section for more information.

About

The Readium SDK is an ePub reader SDK of similar scope and capability to Adobe's Reader Mobile SDK (RMSDK). As such, it is designed to implement an ePub3- compliant Reading System, although its initial form will concentrate solely on the core ePub3 specification and fixed-layout metadata, expanding later to cover associated standards such as Page Templates.

The project's aim is to develop a productized, high-performance, cross-platform rendering engine for EPUB 3 content, optimized for use in native applications (mobile/tablet and secondarily desktop systems). Simplistic test applications for Android, iOS, OS X and Windows are part of the SDK, along with unit tests. The SDK is designed to be extensible in various areas, including in support for pluggable encryption and digital signature modules which might be used to implement a form of DRM.

Licensing info

Licensing information can be found in the file license.txt in the root of the repo, as well as in the source code itself.

Platform Support

At present, the project compiles for OS X and iOS using the version of Clang in Xcode 4.6 and the LLVM C++ standard library, libc++.

On Android, the project is build using GCC 4.7 and release 8e of the Android NDK. See Platform/Android/README.markdown for more information.

Build support for Windows using Visual Studio 2012 is due in release 0.5.

Headers And Libraries

The SDK is built into a single library on all platforms. Headers are placed into an include folder by the build process for each platform, located within the appropriate Platform subfolder. For instance, OS X and iOS headers are within Platform/Apple/include, Windows headers are within Platform/Windows/include.

This folder is designed to be passed directly to the compiler using the -I argument or similar.

Architecture

The SDK consists of three major components, corresponding roughly to Model, View, and Controller. The majority of the ePub3 data handling takes place inside the Model component, which provides parsing and generation of ePub-related data structures. The View component is a browser engine; this engine may be a customized form of WebKit developed as part of this project, but any CSS3-compliant browser engine may be used. The Controller component is a small interface between the data and renderer components; this part is ultimately what Reading System vendors will extend to create their own reading system.

The project is written in cross-platform C++ and JavaScript code, and is designed to be combined with platform-specific glue code and a modern browser rendering engine to instantiate an ePub3-compliant rendering engine within a platform-native Reading System application. The SDK constitutes a capable, high-performance ePub engine, not an overall application (other than per platform test applications).

The general architecture is that the browser engine (headlessly) handles content rendering with some features like pagination being implemented in Readium SDK JavaScript code that has been “injected” into the browser context. The C++ code handles tasks/features that can’t be efficiently performed in JS, such as incrementally fetching (and, as necessary, decrypting/de-obfuscating) resources from an .epub ZIP package. Certain UX affordances are supported within the browser context (e.g. text highlighting) but application-level UX affordances would generally be done in the reading system application via platform-specific code (e.g. Java on Android, Obj-C on iOS). Integration glue is provided in the Readium SDK to facilitate this, and usage illustrated by the test applications (which however are not product-level reading systems). Handling of XML Encryption and Digital Signature files is provided to simplify implementation of DRM or content protection/validation that is compatible with the ePub3 specification.

The Readium SDK is designed to potentially work with multiple browser engines but the #1 priority for initial development is WebKit, including platform-bundled instantiations (e.g. via UIWebView on iOS). #2 priority browser engine will be Trident/IE10 (needed for apps to be able to support screen readers on Windows).

Build status

Android

  • master - Build Status
  • develop - Build Status

iOS

  • master - Build Status
  • develop - Build Status

Mac OS X

  • master - Build Status
  • develop - Build Status

Windows 32

  • master - Build Status
  • develop - Build Status

Windows 64

  • master - Build Status
  • develop - Build Status

WinRT 32

  • master - Build Status
  • develop - Build Status

WinRT 64

  • master - Build Status
  • develop - Build Status

WinRT ARM

  • master - Build Status
  • develop - Build Status
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].