View Single Post
Old 06-23-2014, 01:41 PM   #20
KevinH
Sigil Developer
KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.
 
Posts: 7,676
Karma: 5433388
Join Date: Nov 2009
Device: many
Hi Kovid,

Only indirectly. Since real Kindles get only one version (Mobi 8 or Old Mobi) and not both upon download, the PAGE section is stripped out to become the actual APNX file after very slight modifications to add the palm database name and the asin.

To prove this theory, I used the actual APNX file from a recent purchase of the book Blood Rites by Jim Butcher, that I had downloaded to my Kindle for Mac (ie. an azw3 file and its associated apnx) and when I unpacked it the apnx offsets pointed EXACTLY to the <a id="page-X"></a> tags in the assembled text (raw text after inserting the fragments into their skeletons in the right place but before changing any links or anything else like that).

I then used kindlegen on the unpacked mobi (epub) and it recreated the exact same offsets in its PAGE sections in the mobi 8 part of the file.

So the original epub had either a pagelist in the ncx or a page-map.xml in it that referenced those id tags to mark the start of that page.

I also compared it to my hard copy of that exact same page and again they matched exactly.

So the PAGE sections created by Kindlegen are used to make the associated apnx file (with only addition of the proper metadata) and they will point exactly to the id tags used in the epub in either the pagelist of the ncx or the page-map.xml if either of those are used

Obviously, if they are just made-up offsets, none of this would have worked.

So you can think of the Kindlegen generated PAGE sections as keeping all of the relevant page information if and only if the input epub had either a page-map.xml (the Adobe standard) or pagelist info in the ncx. Otherwise kindlegen won't bother to create the PAGE section.

An apnx file on the other hand could be either just a set of page sized offsets or an exact page information taken from a PAGE section. There is no way to tell unless you look for the id= tags that marked the original pages in the epub it all was created from.


KevinH

Quote:
Originally Posted by kovidgoyal View Post
@KevinH: Do any actual Kindles make us of the PAGE section in AZW3 files?

Last edited by KevinH; 06-23-2014 at 02:16 PM.
KevinH is offline   Reply With Quote