Pages

7 posts / 0 new
Last post

Hello,

I have a DAISY XML, where I have manually put <pagenum> entities, so that the blind user can have a common reference with a sighted one when reading a book. Converting to EPUB (using the Pipeline), this becomes <span class="page-normal"...> etc.

I tried to view this epub from several viewers (including Calibre and iPhone's one). In these applications, there is another notion of paging that is not related to my mark-up, but to what is shown on the device (more or less).

Is there any way, or any other viewer that can allow the user to navigate to specific "page-normal" entities? The only way I have found up to now is to include a string like "page" in front of the page number in the "page-normal" (e.g. "page-34"), so that the user can use the common search for "page-34". But this adds an extra effort to the person doing the conversion, and I am pretty sure that since there is the mark-up there should be another way of doing it.

Thank you

I know you know what you're doing, but bear with me as I try to parse apart your question...

First, are you using the new pipeline 2 program to convert to EPUB 3 or the old pipeline EPUB Creator to create an EPUB 2? There's not enough markup in your question for me to guess exactly, but I'm suspecting the latter. If you have a follow-up question, it would help to know which you're using and what you're creating.

In either case, though, page navigation is typically not done by the text of the page number in EPUB, but goes through the page list in either the NCX (EPUB 2) or the Navigation Document (EPUB 3). These page lists function as the lookup for the reading system, so if the user plugs in that they want to go to page "45", the reading system looks up page 45 in the page list, finds the correct synchronization point and jumps the reader to it.

Readers don't typically text search for page numbers, because you'll inevitably find various matches that have nothing to do with the page, and the EPUB reading system may only have limited text search capabilities. It's also not the case that the page number itself will be visually displayed; it may be an invisible anchor point, in part so that the text does not get read as part of the main narrative (EPUB 2 lacks the "pagenum" semantics that EPUB 3 now has to enable reading systems to automatically skip the page numbers without having to make workarounds to hide the text).

And, yes, the pagination in any reading system viewport will typically not match the print, and devices do provide their own electronic representation of progress which may or may not be expressed as "pages".

If the device does not provide navigation to the print page via the page list, which it sounds like you've encountered, you, and the reader, are stuck in a bit of a hard place. I would suggest this is a prime example of a case to find a better reading system that does what you need. Including hacks that may then negatively impact reading systems that do provide the proper functionality is rarely a good course of action.

Let me know if I've made any wrong assumptions about your needs here, though.

Hello Matt,

That was very helpful indeed. To give you some more hints:

1. I am using Pipeline 1, I do not mind to use Pipeline 2 though.

2. In the NCX I looked into to <PageList> entity, which is what I was expecting. However, at least at Calibre and iPhone ePub viewer, the is not any option to "go to page 45".

Is there any other ePub viewer that you can recommend?
My target is to compile a set of student books in EPUB (and DAISY, I do not mind about versions, the latest the better) to be used by blind students. I am following DAISY guidelines to decorate source DOC's.

Thank you

EPUB 2 support was a bit of a mess. Support for the NCX was typically limited to heading navigation, and page list support rarely materialized. Adobe also had a similar page-map feature to do basically the same thing. Page number support is far better when you stick to the DAISY format.

If you're looking for support in EPUB 2, you're going to have to look at the more dedicated accessibility reading systems. I believe Humanware supports NCX pageList navigation in their readers. Plextor is working on EPUB support last I heard, so I would expect their readers to also support page navigation when they are released.

But targeting back to EPUB 2 at this point doesn't make a lot of sense. You'd be better off producing DAISY 3 until EPUB 3 support is more mature and readers begin upgrading. Accessibility support is more mature in DAISY 3, so you won't have to navigate what mainstream device supports what.

There's a lot of work going on right now to add accessibility features to Readium (text to speech in-browser, media overlays, etc.), so I'm hoping to see page list nav support develop as part of that process. But with all things EPUB 3 right now, check back in a week! :)

I think the best way is to convert the <pagenum> directives in DAISY to anchor points (<a name>) in HTML so you can jump directly to that page.
Note however that this may confuse a little since the page size is different for each reader and thus when you say page 45 which refers to the printed version, it might well be page 60 on that specific reader or page 55 on a different reader.

I think the best way is to convert the <pagenum> directives in DAISY to anchor points (<a name>) in HTML so you can jump directly to that page.
Note however that this may confuse a little since the page size is different for each reader and thus when you say page 45 which refers to the printed version, it might well be page 60 on that specific reader or page 55 on a different reader.

Note though that the name attribute is not available in HTML5, and the specification indicates that an a tag with @href represents a link and without represents where a link would have been. Using the element for anchor points is not good practice, and is invalid since a is not an empty element. (It's also invalid in EPUB 2s using XHTML 1.1, but I've seen many examples that used the tags anyway.)

For accessibility purposes, there are two currently proposed methods for embedding page references.

1) An empty element using @title to allow the page to be announced: <span epub:type="pagebreak" id="page24" title="24"/>

2) Embedding the page number as text: <span epub:type="pagebreak" id="page24">24</span>

The first option is the least intrusive, but requires the reading system to announce the title. It also remove the possibility of using an alternate pronunciation if the page is composed of letters and numbers, for example.

The second requires the reading system to provide the option to hide page breaks identified by the epub:type attribute to be really effective for all readers, since most people won't welcome the visible numbering. You can't use "display: none" in a style sheet, since that would remove the ability to jump to the location (although technically a reading system would still be able to announce the page since it's specially identified by the epub:type attribute).

Also, page numbering is typically used in mixed print/digital environments like schools. The reader normally won't be confused if the pagination in their reading system doesn't match the print page they are being asked to turn to. The page numbers also allow the student to be able to accurately reference quotes and other information in papers and avoid the problem you're noting.

Hope this helps.

Secondary menu