View Single Post
Old 01-26-2020, 04:30 PM   #10
j.p.s
Grand Sorcerer
j.p.s ought to be getting tired of karma fortunes by now.j.p.s ought to be getting tired of karma fortunes by now.j.p.s ought to be getting tired of karma fortunes by now.j.p.s ought to be getting tired of karma fortunes by now.j.p.s ought to be getting tired of karma fortunes by now.j.p.s ought to be getting tired of karma fortunes by now.j.p.s ought to be getting tired of karma fortunes by now.j.p.s ought to be getting tired of karma fortunes by now.j.p.s ought to be getting tired of karma fortunes by now.j.p.s ought to be getting tired of karma fortunes by now.j.p.s ought to be getting tired of karma fortunes by now.
 
Posts: 5,810
Karma: 103362673
Join Date: Apr 2011
Device: pb360
Quote:
Originally Posted by KevinH View Post
Yes, the "bad" ones definitely look bad and the "fix" ones look much better. I am surprised as to why this happens as in older mobi 6 and mokbi 7 internally links are filepos info (file offsets) and in newer mobi8 they encode a base 32 file offset into a character based "id-like" equivalent. Both file offsets should be quite precise and not lead to what you are seeing.

Is it just moving in the wrong direction to get the exact link text? Are the "bad" and "fix" targets in any way close together?

That is very strange.

KevinH
I'm gradually learning more as I look at more books and get more experience.

I'm starting to think publishers are using custom apnx generators or modify apnx files for some reason. Sometimes there are no page targets present at all. When there are targets, I haven't been able to figure out whether the errors are systematic.

The simplest apnx pageMap is something like "pageMap":"(1,a,1)". Slightly more complicated would be a leading number greater than 1 designating the number of 0 values at the beginning of the page list. The pageMap for Ready Player One and quite a few other books is like "pageMap":"(11,a,1),(386,c,|)". I think the last tuple is used to designate the end of page numbers.

The pageMap in the apnx file for a book several chapters with odd last page numbers or other blank pages, might look like "pageMap":"(1,a,1),(11,a,12),(12,a,14),(167,a,170) ,(266,a,270),(268,a,273)" which is from the repaired Ready Player One apnx file (which has some blank odd pages). The empty pages are accommodated in the simple apnx files by using the same offset as for the previous page in the Page List table at the end of the apnx file.

The amazon (or publisher?) supplied apnx file for A Brief History of Everyone Who Ever Lived has the simple "pageMap":"(17,a,1),(377,c,|)", even though the book has blank pages and roman numeral labeled pages, which do have roman numeral labeled link targets. The repaird apnx for A Brief History of Everyone Who Ever Lived is "pageMap":"(1,r,5),(11,a,1),(23,a,14),(222,a,214), (394,r,1),(396,a,402),(397,r,4)". It seems to be common for many of the books with simple pageMaps and roman numeral pages that do not show as such to be responsible for the empty Page List table entries at the top of the table.
j.p.s is online now   Reply With Quote