Coder Social home page Coder Social logo

bluefireproductions / public-android-cloudshelf-reader-sdk Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 65.63 MB

Cloudshelf Reader SDK for iOS is an EPUB 3 reading platform from Bluefire Productions, the creator of Bluefire Reader. Based on the Readium Open Source project, the Cloudshelf Reader SDK is a full-featured ebook reading platform that makes reading EPUB 3 content a great experience. Cloudshelf Reader SDK allows you to read, navigate, bookmark, highlight text, take notes and more. Cloudshelf Reader supports EPUB 3, the accessible, open web standards based document format that can contain video, audio and interactive multimedia content in either reflow-able or fixed layouts.

Java 2.12% CSS 0.11% JavaScript 97.68% Shell 0.07% HTML 0.01%

public-android-cloudshelf-reader-sdk's People

Contributors

jdempcy avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

public-android-cloudshelf-reader-sdk's Issues

First screen of EPUB blank

This happens with certain covers. We only have one test case so far. In this case (kaninen.epub) we are able to fix it by reducing the max-width from 98% to 96% in the CSS.

How to fix
Open android_asset/readium-shared-js/builds/single-bundle/readium-shared-js_all.js and search for "98%" — you will want to change this value to 96%, for max-width:

$('img', _$epubHtml).each(function(){
     $elem = $(this);
     // if we set max-width/max-height to 100% columnizing engine chops images embedded in the text
     // (but not if we set it to 99-98%) go figure.
     // TODO: CSS min-w/h is content-box, not border-box (does not take into account padding + border)? => images may still overrun?
     $elem.css('max-width', '98%');
     $elem.css('max-height', '98%');
     $elem.css('height', 'auto');
     $elem.css('width', 'auto');
 });

Cloudshelf: Font spacing incorrect in "Reasons to Love EPUB"

Micah reported that the "Reasons to Love" book has the wrong font spacing. He showed me and sure enough, the text is all continuous as if it has negative letter-spacing.

I believe this is an SDK issue as it is in the reader view.

I am unable to reproduce this issue on any of the devices or emulators I've tested with.

CFI comparison: address is not correctly interpreted when it doesn't contain character part.

Bookmark is marked on two different pages. In our opinion, address is not correctly interpreted when it doesn't contain character part.
Also this kind of address is common to have.
Here is example:

page 106
// our comparison criteria
11:00:07 old Bookmark location idref: chapter007 cfi: /4/2/18 isBetween => true,
idref: chapter007 cfi: /4/2/12,/1:195,/1:196
idref: chapter007 cfi: /4/2/18,/1:603,/1:604

// new comparing function
11:00:07 ERROR: Bookmark location idref: chapter007 cfi: /4/2/18 isBetween => true,
idref: chapter007 cfi: /4/2/12,/1:195,/1:196
idref: chapter007 cfi: /4/2/18,/1:603,/1:604

page 107
// our comparison criteria
11:00:11 old Bookmark location idref: chapter007 cfi: /4/2/18 isBetween => false,
idref: chapter007 cfi: /4/2/18,/1:605,/1:606
idref: chapter007 cfi: /4/2/24,/1:147,/1:148

// new comparing function
11:00:11 ERROR: Bookmark location idref: chapter007 cfi: /4/2/18 isBetween => true,
idref: chapter007 cfi: /4/2/18,/1:605,/1:606
idref: chapter007 cfi: /4/2/24,/1:147,/1:148

In our comparison code 'cfi: /4/2/18' is treated as 'cfi: /4/2/18,/0:1' and it results are proper for marking bookmarked page.

getItemForLocation returns null for some items

getItemForLocation returns null for some locations in some books (i.e.: { cfi = '/4/40/2,/1:0,/1:1'; idref = 'chap36' })
The similiar API method is in iOS libarary, but it returns the valid BCLPageItem - { cfi: /4/30 idref: chap36 title: 221 }

Title Bar Menu for ' Info' remains after being selected

DESCRIPTION:

After selecting Locations menu and then selecting 'Info' the title bar continues to display 'Info' even after leaving the Info tab.

EXPECTED RESULTS:

After leaving the Info tab, 'Book Info' should not be displayed on the title bar.

REPRO STEPS:

Open Clouldshelf
Open The Iliad.
Open the Locations Menu
Select Info.
Notice that on the Menu Bar, Book Info is displayed.
Dismiss the window.
Note that Book Info is still displayed.
PRECONDITIONS:

Nexus 7 Android 6.x
Cloudshelf commit d940ad09530d89e6f3410b8aa30835bedc56b84b

A huge difference between page numbers after swipe

For some books we experienced the following issue:
pageIndex return values with huge difference even if we swipe page-by-page in this code:
if (readerView.getPageList() != null) { BCLPageListItem pageListItem = readerView.getPageList().getItemForLocation(bclLocation); if (pageListItem != null) { pageIndex = pageListItem.getOrderListIndex(); } }

In this case, we are getting the following sequence of values of the pageIndex: ...->17->30->50->80->...

Cloudshelf: 404 error reported (no repro steps)

Micah reported seeing 404: File not found after clicking to open The Iliad. This is in Android Cloudshelf as installed from the app store. It is not clear whether this is Cloudshelf-specific or part of the SDK, but I suspect it may be related to the SDK as it is in the reader view.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.