Přípona souboru | .epub |
---|---|
Typ internetového média | application/epub+zip |
Magické číslo | PK 0x03 0x04 |
Tvůrce | International Digital Publishing Forum (IDPF) |
První verze | září 2009 |
Poslední verze | 3.2[1] (15. května 2019) |
Předchůdce | Open e-book |
Typ formátu | e-book Souborový formát |
Obsažen uvnitř | OEBPS Container Format (OCF; Zip) |
Rozšiřuje formát | Open eBook, XHTML, CSS, DTBook |
Standard(y) | ISO/IEC TS 30135 |
Otevřený formát | ano |
Website | http://www.idpf.org/epub |
EPUB (electronic publication) je standard vytvořený pro e-booky dle standardu organizace International Digital Publishing Forum (IDPF). Přípona souboru je .epub
, ve skutečnosti se jedná o komprimovaný ZIP soubor se specifickou adresářovou a souborovou strukturou. Zip byl zvolen jako kontejner pro svou širokou podporu a známou specifikaci. EPUB je navržen k distribuci a výměně textových dat jako jsou digitální publikace a dokumenty. Definuje způsob prezentace obálek, strukturovaný a sémanticky rozšířený webový obsah - včetně HTML5, CSS, SVG, obrázky a další zdroje pro distribuci ve formátu tzv. „single-souboru“. Obsah je zapsán pomocí XML a HTML5 tagů. Jako formát pro elektronickou publikaci splňuje tzv. reflowable, to znamená, že čtenář si může přizpůsobit rozvržení textu pro konkrétní čtecí zařízení.
Práce na novém formátu pro elektronické publikace byly dokončeny v září 2007, který nahrazoval do té doby používaný Open e-book (.opf
) z roku 1999.
V září 2010 vyšla aktualizace 2.0.1. Specifikace ePUB 3.0 IDPF vydalo v říjnu 2011. O 3 roky později ji nahradila menší aktualizace 3.0.1, tedy v červnu 2014. Verze ePUB 3 přinesla i pevné rozvržení či formátovaní pro komiksy a matematiku (MathML). Poslední verze vešla v platnost 5. ledna 2017 na verzi 3.1. Došlo reorganizaci specifikace formátu a pročistění kódu (HTML a CSS), podporuje vzdálené zdroje i nové formáty písma (WOFF 2.0, SFNT).
V květnu 2016 IDPF přešlo pod W3C za účelem "plně sladit vydavatelský průmysl a základní webové technologie".
Epub se v začátcích stal neoficiálním českým formátem pro elektronickou knihu (ve světě se šířil pomaleji). Existovaly i kritiky na tento formát. Např. volitelné nastavení DRM, či náročnost ve čtecích zařízeních, které musí nejdříve EPUB rozbalit a zkompilovat než je možné ho číst - tento problém do jisté míry odstraňoval formát MOBI používaný v Amazon Kindle, který je v podstatě zkompilovaným e-book formátem, nicméně v roce 2022 Amazon formát MOBI opustil a naopak začal preferovat EPUB.[2]
EPUB 3.1 specifikace byla schválena v lednu 2017. EPUB 3.1 nahrazuje předchozí verzi 3.0.1. Ta 3.0 a ta předchozí 2.0.1. Podrobný popis rozdílů mezi 3.0 a 2.0.1 lze nalézt na internetových stránkách IDPF. EPUB 3 se skládá ze šesti specifikací:
Ukázka adresářové struktury:
mimetype META-INF/ container.xml OEBPS/ content.opf toc.ncx kniha, díl, kapitola.html obrázek.png images/ soubory lze i nořit.jpg css/ style.css vlastní písmo.otf
mimetype je textový soubor bez přípony, který obsahuje pouze deklaraci MIME a to:
application/epub+zip
Je pro všechny EPUBy jednotný.
container.xml slouží jako seznam všech OPF souborů v EPUBu. Podle standardu ovšem zařízení může všechny OPF kromě prvního ignorovat. Zápis je pomocí XML syntaxe:
<?xml version="1.0"?>
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
<rootfiles>
<rootfile full-path="OEBPS/content.opf"
media-type="application/oebps-package+xml" />
<rootfile full-path="OEBPS/další OPF.opf"
media-type="application/oebps-package+xml" />
</rootfiles>
</container>
toc.ncx soubor je zásadní pro orientaci v publikaci. NCX není nic jiného, než obsah knihy, řazení kapitol, napsaný ve XML syntaxi pomocí hypertextového odkazu. Ty se zde dělí na dva typy. Odkazuje se buď na celý soubor kniha.html, nebo i na jeho části. Pokud se odkazuje na části textu v souboru, musí být v souboru nastaven na příslušném místě odkaz, který bude souhlasit se zápisem v NCX souboru. Ukázka kódu pro řazení jednotlivých souborů:
<navPoint id="cokoliv" playOrder="pořadové číslo">
<navLabel><text>zobrazovaný název</text></navLabel>
<content src="příslušný soubor.html" />
</navPoint>
Ukázka kódu pro řazení uvnitř souboru (POZOR, odkaz musí souhlasit s odkazem v HTML souboru):
<navPoint id="cokoliv" playOrder="pořadové číslo">
<navLabel><text>zobrazovaný název</text></navLabel>
<content src="příslušný soubor.html#značka např.D1-CH3" />
</navPoint>
Celý soubor NCX by mohl vypadat přibližně potom takto:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ncx PUBLIC "-//NISO//DTD ncx 2005-1//EN"
"http://www.daisy.org/z3986/2005/ncx-2005-1.dtd">
<ncx xmlns="http://www.daisy.org/z3986/2005/ncx/"
version="2005-1" xml:lang="en-US">
<head>
<meta name="dtb:uid" content="uid"/>
<meta name="dtb:depth" content="1"/>
<meta name="dtb:totalPageCount" content="0"/>
<meta name="dtb:maxPageNumber" content="0"/>
</head>
<docTitle><text>NÁZEV KNIHY</text></docTitle>
<docAuthor><text>autor</text></docAuthor>
<navMap>
<navPoint id="titulní strana" playOrder="1">
<navLabel><text>název knihy</text></navLabel>
<content src="book.html#start"/>
</navPoint>
<navPoint id="předmluva" playOrder="2">
<navlabel><text>předmluva</text></navLabel>
<content src="book.html#preface"/>
</navPoint>
<navPoint id="obsah" playOrder="3">
<navlabel><text>Obsah</text></navLabel>
<content src="obsah.html"/>
</navPoint>
<navPoint id="navpoint-1" playOrder="4">
<navLabel><text>Kapitola 1:aneb jak to začalo</text></navLabel>
<content src="book.html#S1"/>
</navPoint>
<navPoint id="navpoint-2" playOrder="5">
<navLabel><text>Kapitola 2</text></navLabel>
<content src="book.html#S2"/>
</navPoint>
<navPoint id="navpoint-3" playOrder="6">
<navLabel><text>Kapitola 3: aneb jak to dopadlo</text></navLabel>
<content src="book.html#S3"/>
</navPoint>
</navMap>
</ncx>
Samotná kniha je potom psaná v HTML. Formátování obstarávají tagy či externí soubor CSS. Od verze 3.0 jsou podporovány i značky z HTML5.
ePUB je čitelný na rozšířených systémech i hardwarových čtečkách. Programy pro čtení je spousta např.: Amazon Kindle, Google Play Books (Android a iOS) a Apple iBooks, MoonReader, CoolReader, ... Editaci lze provádět v Calibre, Sigil, LaTeX, Genebook, ...