EPUB:Sidnumrering

Från Täpp-Anders
Version från den 15 februari 2016 kl. 08.48 av Anders (diskussion | bidrag)
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök

Det finns ingen sidnumrering i EPUB egentligen eftersom det är ett sidlöst format. EPUB-formatet består av en zip-fil som i sin tur innehåller ett antal filer där några är metadata och innehåller specificerare för de andra filerna, vissa innehåller style sheets CSS en del andra innehåller själva texten som HTML.

Det är kutym att dela upp böcker i kapitel och göra varje kapitel till en egen HTML-fil. Det finns en rekommendation att hålla kapitelfilerna relativt korta, blir de för stora kan läsare med litet minne får problem med dem.

Böcker utan kapitel delas upp i lämpliga avdelningar ändå. Däremot är det inte någon bra idé att ha för många sådana filer eftersom läsarna som regel inte öppnar nästa fil förrän du är klar med den förra. Det innebär alltså att de inte kontinuerligt rör sig mellan filerna utan när en ny fil laddas och komprimeras upp försvinner den gamla. Detta gör att det kan bli en liten extra tidsåtgång när ny fil öppnas och om den förra filen slutar högst upp på en sida på själva läsplattan blir det en del vitt utrymme innan nästa fil visas på nästa sida.

Den rekommenderade maximala storleken okomprimerat i en och samma fil är 250 kbyte.

Så eftersom en EPUB inne innehåller några naturliga eller entydiga sidmarkeringar, hur gör man då? Svaret är att man följer Adobe som hittade på en standard för detta när EPUB-formatet var nytt. Man tittar på kapitelfilens komprimerade storlek i bytes, delar med 1024 och avrundar uppåt.

En fil som är komprimerat 114 byte är en sida, om den är 1024 byte är den en sida, om den är 1025 byte är den två sidor. Sidantalet tas sedan och appliceras jämt på filens innehåll när den är okomprimerad, inklusive all HTML-kod som kan finnas i den. Däremot undantas DRM-kod så att samma bok med och utan DRM skall åtminstone i teorin få samma sidantal.

Låt oss nu säga att vi har en HTML-fil som typiskt är 200 kb, den komprimeras och blir ca 100 kb. Då får den ett sidantal som är 100 sidor. Dessa 100 sidor appliceras sedan på den okomprimerade filen som var 200 kb och det innebär 2 kb per sida. Några procent går bort som HTML-kod så det gör inte någon jätteskillnad egentligen.

Ett annat exempel: Komprimerade filen är 1025 bytes stor, vilket betyder två sidor. Den okomprimerade filen är 2425 byte stor och förderlas jämt. Sida 1 får då 1212 tecken, sida 2 får 1213 tecken.

I snitt får en roman ungefär en sida per 2000 bokstäver. Det betyder ungefär var 350:e ord plus/minus ett "antal" men det stämmer åtminstone hyggligt med vanliga böcker.