EPUBは、拡張子「.epub」を使用する電子書籍ファイル形式です。この用語はelectronic publicationの略で、ePUBと表記されることもあります。EPUBは多くの電子書籍リーダーでサポートされており、ほとんどのスマートフォン、タブレット、コンピューターで互換性のあるソフトウェアが利用可能です。EPUBは、国際デジタル出版フォーラム(IDPF)が発行した技術標準です。2007年9月にIDPFの公式標準となり、以前のOpen eBook(OEB)標準に取って代わりました。[ 2 ]
書籍業界研究グループは、コンテンツのパッケージ化に最適なフォーマットとしてEPUB 3を支持しており、世界の書籍出版業界は単一の標準に結集すべきだと述べている。[ 3 ]技術的には、EPUB形式のファイルは、コンテンツを含むXHTMLファイルと画像およびその他のサポートファイルで構成されるZIPアーカイブファイルである。EPUBは、ベンダーに依存しないXMLベースの電子書籍フォーマットの中で最も広くサポートされているものであり、ほぼすべてのハードウェアリーダーと多くのソフトウェアリーダーおよびモバイルアプリでサポートされている。[ 4 ]
Open eBook Publication Structureの後継であるEPUB 2.0 は 2007 年 10 月に承認され[ 5 ] 、メンテナンス アップデート (2.0.1) は 2010 年 9 月に承認されました[ 6 ]。
EPUB 3.0 仕様は 2011 年 10 月に発効し、2014 年 6 月にマイナー メンテナンス アップデート (3.0.1) で置き換えられました。[ 7 ]新しい主要な機能には、コミックブックなどの正確なレイアウトまたは特殊なフォーマット (固定レイアウト ドキュメント) のサポート、[ 8 ]およびMathML のサポートが含まれます。現在の EPUB のバージョンは 3.2 で、 2019 年 5 月 8 日に発効しました。 [ 9 ] (text of) フォーマット仕様は再編成[ 10 ]およびクリーンアップを受けました。フォーマットはリモート ホスト リソースと新しいフォント フォーマット ( WOFF 2.0およびSFNT ) [ 11 ]をサポートし、より純粋なHTMLおよびCSSを使用します。[ 12 ]
2016年5月、IDPFメンバーはWorld Wide Web Consortium(W3C)との合併を承認した[ 13 ]。「出版業界とコアWebテクノロジーを完全に整合させるため」である[ 14 ] 。
EPUB 2.0は2007年10月に承認され、仕様の誤りを明確化および修正することを目的としたメンテナンスアップデート(2.0.1)が2010年9月に承認されました。[ 6 ] EPUBバージョン2.0.1は3つの仕様で構成されています。
.epub。[ 16 ]EPUBは内部的に、コンテンツ文書のテキストと構造を表現するためにXHTMLまたはDTBook ( DAISYコンソーシアムが提供するXML標準)を使用し、レイアウトと書式設定にはCSSのサブセットを使用します。XMLは、文書マニフェスト、目次、およびEPUBメタデータの作成に使用されます。最後に、これらのファイルはパッケージ形式としてzipファイルにまとめられます。
EPUB ファイルは、バージョン 2.0.1 以降、XHTML 1.1 (または DTBook) を使用して書籍のコンテンツを構築します。これは、XHTML のサブセットを使用していた以前のバージョン ( OEBPS 1.2 以前) とは異なります。ただし、特定の要素にはいくつかの制限があります。EPUBの XHTML ドキュメントのMIME タイプapplication/xhtml+xmlは です。[ 15 ] [ a ]
スタイル設定とレイアウトは、 OPS スタイル シートと呼ばれる CSS 2.0 のサブセットを使用して行われます。この特殊な構文では、読み取りシステムが CSS プロパティの一部のみをサポートし、いくつかのカスタム プロパティを追加する必要があります。カスタム プロパティには、oeb-page-head, oeb-page-foot,およびが含まれます。フォントの埋め込みは、プロパティを使用するか、フォント ファイルを OPF のマニフェストに含めることによってoeb-column-number実現できます(下記参照)。EPUB の CSS ドキュメントのMIME タイプは です。[ 15 ] [ b ]@font-facetext/css
EPUBでは、 PNG、JPEG、GIF、SVG画像がMIMEタイプ でサポートされていることも要求されていますimage/png, image/jpeg, image/gif, image/svg+xml。他のメディアタイプも許可されていますが、作成者はサポートされているタイプを使用した代替表現を含める必要があります。[ 15 ]必要なすべてのMIMEタイプの表については、仕様のセクション1.3.7を参照してください。
Unicodeは必須であり、コンテンツ制作者はUTF-8またはUTF-16エンコーディングのいずれかを使用する必要があります。[ 15 ]これは、国際的な書籍や多言語書籍をサポートするためです。ただし、読書システムはすべてのUnicode文字を表示するために必要なフォントを提供する必要はありませんが、完全に表示できない文字については少なくともプレースホルダーを表示する必要があります。[ 15 ]
EPUB用のXHTMLファイルの骨組みの例は次のようになります。
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> < html xmlns = "http://www.w3.org/1999/xhtml" xml:lang = "en" > < head > < meta http-equiv = "Content-Type" content = "application/xhtml+xml; charset=utf-8" /> < title > Pride and Prejudice </ title > < link rel = "stylesheet" href = "css/main.css" type = "text/css" /> </ head > < body > ... </body> </html>OPF仕様の目的は、「OPS出版物のさまざまなコンポーネントが結び付けられるメカニズムを定義し、電子出版物に追加の構造と意味を提供する」ことである。[ 16 ].opfこれは、拡張子とを持つ2つのXMLファイルによって実現される.ncx。
OPF ファイル(従来は という名前)content.opfには、EPUB ブックのメタデータ、ファイル マニフェスト、および線形読み取り順序が格納されています。このファイルには、ルート要素と、、、 のpackage4 つの子要素があります。さらに、ノードには 属性が必要です。.opf ファイルの MIME タイプは です。[ 16 ]metadatamanifestspineguidepackageunique-identifierapplication/oebps-package+xml
要素metadataには、特定の EPUB ファイルのすべてのメタデータ情報が含まれます。 3 つのメタデータ タグが必要です (ただし、他にも多くのタグが利用可能です): title、language、identifier。titleには書籍のタイトルが含まれ、にはRFC 3066形式またはその後継形式 (新しいRFC 4646languageなど) で書籍の内容の言語が含まれ、 には書籍の一意の識別子 ( ISBNやURLなど) が含まれます。の属性は、要素の 属性と等しくなければなりません。[ 16 ] [ c ]identifieridentifieridunique-identifierpackage
要素manifestには、パッケージに含まれるすべてのファイルがリストされます。各ファイルはitem要素で表され、属性id、、を持ちますhref。media-typeすべての XHTML (コンテンツ ドキュメント)、スタイル シート、画像またはその他のメディア、埋め込みフォント、および NCX ファイルはここにリストする必要があります。ファイル自体.opf、、container.xmlおよびmimetypeファイルのみを含める必要はありません。[ 16 ]
要素spineは、すべての XHTML コンテンツ ドキュメントを線形の読み取り順序でリストします。また、リンクまたは目次からアクセスできるコンテンツ ドキュメントもすべてリストする必要があります。tocの属性には、マニフェストに記載されている NCX ファイルのspineを含める必要があります。各要素の は、それぞれのコンテンツ ドキュメントの に設定されます。 [ 16 ]iditemrefidrefid
このguide要素は、書籍の基本的な構造要素を識別するためのオプションの要素です。各要素には、、、のreference属性があります。で参照されるファイルはマニフェストにリストされている必要があり、要素識別子(例:)を持つことができます。 [ 16 ] [ d ]typetitlehrefhref#figures
OPFファイルの例:
<?xml version="1.0"?> <package version= "2.0" xmlns= "http://www.idpf.org/2007/opf" unique-identifier= "BookId" ><metadata xmlns:dc= "http://purl.org/dc/elements/1.1/" xmlns:opf= "http://www.idpf.org/2007/opf" > <dc:title> Pride and Prejudice </dc:title> <dc:language> en </dc: language > <dc:identifier id= "BookId" opf:scheme= "ISBN" > 123456789X </dc:identifier> <dc:creator opf:file-as= "Austen, Jane" opf:role= "aut" > Jane Austen </dc:creator> </metadata><manifest> <item id= "chapter1" href= "chapter1.xhtml" media-type= "application/xhtml+xml" /> <item id= "appendix" href= "appendix.xhtml" media-type= "application/xhtml+xml" /> <item id= "stylesheet" href= "style.css" media-type= "text/css" /> <item id= "ch1-pic" href= "ch1-pic.png" media-type= "image/png" /> <item id= "myfont" href= "css/myfont.otf" media-type= "application/x-font-opentype" /> <item id= "ncx" href= "toc.ncx" media-type= "application/x-dtbncx+xml" /> </manifest><spine toc= "ncx" > <itemref idref= "chapter1" /> <itemref idref= "appendix" /> </spine><guide> <reference type= "loi" title= "図版一覧" href= "appendix.xhtml#figures" /> </guide></package>NCXファイル(N avigation Control file for X ML)は、従来は と呼ばれ、 EPUBファイルのtoc.ncx階層的な目次を含んでいます。NCXの仕様はデジタル音声ブック(DTB)向けに開発され、 DAISYコンソーシアムによって維持管理されており、EPUB仕様の一部ではありません。NCXファイルのMIMEタイプは ですapplication/x-dtbncx+xml。
docTitleここで注目すべきは、、、docAuthorおよび要素の値は、meta name="dtb:uid"OPF ファイル内の対応する値と一致する必要があるということです。また、meta name="dtb:depth"要素は要素の深さに等しくなりますnavMap。navPoint要素はネストして階層的な目次を作成できます。navLabelのコンテンツは、.ncx を使用する読み取りシステムによって生成される目次に表示されるテキストです。navPointのcontent要素は、マニフェストにリストされているコンテンツ ドキュメントを指し、要素識別子 (例: #section1) を含めることもできます。[ 16 ] [ 18 ]
EPUBで使用されるNCX仕様の特定の例外の説明は、仕様のセクション2.4.1にあります。[ 19 ] NCXの完全な仕様は、デジタル音声ブックの仕様に記載されています。[ 18 ]
.ncxファイルの例:
<?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 version= "2005-1" xml:lang= "en" xmlns= "http://www.daisy.org/z3986/2005/ncx/" ><head> <!-- 以下の4つのメタデータ項目は、OPS 2.0の緩和された制約に準拠するものを含め、すべてのNCX文書に必須です --><meta name= "dtb:uid" content= "123456789X" /> <!-- .opf と同じ --> <meta name= "dtb:depth" content= "1" /> <!-- 1 以上 --> <meta name= "dtb:totalPageCount" content= "0" /> <!-- 0 である必要があります --> <meta name= "dtb:maxPageNumber" content= "0" /> <!-- 0 である必要があります --> </head><docTitle> <text>高慢と偏見</text> </docTitle><docAuthor> <text>ジェーン・オースティン</text> </docAuthor><navMap> <navPoint class= "chapter" id= "chapter1" playOrder= "1" > <navLabel><text>第1章</text></navLabel> <content src= "chapter1.xhtml" /> </navPoint> </navMap></ncx>EPUBファイルは、OPS/OPF規格に準拠したファイルのグループであり、ZIPファイルにラップされています。[ 20 ] OCFは、ZIP内でこれらのファイルをどのように整理するかを規定し、含める必要のある2つの追加ファイルを定義しています。
ファイルmimetypeは、文字列を含むASCIIテキスト文書である必要がありますapplication/epub+zip。また、圧縮されておらず、暗号化されておらず、ZIPアーカイブの最初のファイルである必要があります。このファイルは、拡張子だけよりも、アプリケーションがファイルのMIMEタイプを識別するためのより信頼性の高い方法を提供.epubします。[ 17 ]
また、という名前のフォルダが存在しMETA-INF、その中に必要なファイルが含まれている必要がありますcontainer.xml。この XML ファイルは、書籍の内容を定義するファイルを指します。これは OPF ファイルですが、追加の代替rootfile要素も許可されています。[ 17 ]
mimetypeとを除いてMETA-INF/container.xml、その他のファイル (OPF、NCX、XHTML、CSS、画像ファイル) は、従来 という名前のディレクトリに配置されますOEBPS。
ファイル構造の例:
--ZIPコンテナ-- MIMEタイプ メタ情報/ container.xml OEBPS/ content.opf chapter1.xhtml ch1-pic.png css/ style.css myfont.otf
上記のファイル構造を前提とした、コンテナXMLの例:
<?xml version="1.0" encoding="UTF-8" ?> <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" /> </rootfiles> </container>EPUB 3.0 推奨仕様は 2011 年 10 月 11 日に承認されました。2014 年 6 月 26 日に、EPUB 3.0.1 が EPUB 3.0 のマイナー メンテナンス アップデートとして承認されました。EPUB 3.0 は以前のリリース 2.0.1 に取って代わります。[ e ]
EPUB 3 は、4 つの仕様から構成されています。[ 21 ]
EPUB 3.0フォーマットは、以下の批判に対処することを目的として開発されました。
2014年6月26日、IDPFはEPUB 3.0.1を最終推奨仕様として公開した。[ 24 ]
2014年11月、EPUB 3.0はISO / IECによりISO/IEC TS 30135(パート1~7)として発行された。[ 25 ]
2020年1月、EPUB 3.0.1はISO / IECによりISO/IEC 23736(パート1~6)として発行されました。[ 26 ]
EPUB 3.2は2018年に発表され[ 27 ]、最終仕様は2019年にリリースされました[ 28 ]。注目すべき変更点は、CSSの特殊なサブセットが削除され、epubプレフィックスのないプロパティの使用が可能になったことです。HTMLおよびSVG標準への参照も、固定バージョンではなく「利用可能な最新バージョン」に更新されました[ 29 ] 。
W3Cは2023年5月25日にバージョン3.3を発表しました。[ 30 ]変更点には、より厳格なセキュリティとプライバシー基準、 WebPおよびOpusメディアフォーマットの採用などが含まれます。[ 31 ]
この形式と多くの読者は、以下の点を支持しています。
EPUBファイルにはオプションでDRMを追加レイヤーとして含めることができますが、仕様では必須ではありません。[ 36 ]また、仕様では特定のDRMシステムを指定していないため、出版社は好みのDRM方式を選択できます。ただし、将来のEPUBバージョン(特にOCF)ではDRMのフォーマットが指定される可能性があります。 [ 17 ]
EPUB仕様は特定のDRM方式を強制または推奨していません。これは、デバイス上のさまざまなDRMシステムのサポートレベルや、購入した電子書籍の移植性に影響を与える可能性があります。結果として、このようなDRMの非互換性は、DRMシステムに沿ってEPUB形式を分割し、単一の標準形式の利点を損ない、消費者を混乱させる可能性があります。[ 37 ] [ 38 ] [ 39 ] [ 40 ] [ 41 ] [ 42 ]
DRM付きEPUBファイルには、ZIPコンテナのルートレベルのディレクトリrights.xml内にという名前のファイルが含まれている必要があります。 [ 17 ]META-INF
EPUBは、HTMLなどの公開規格に基づいており、実装にライセンスが不要なため、電子データ交換において広く利用されているフォーマットです。EPUBは、 AndroidのGoogle PlayブックスやiOSおよびmacOSのApple Booksといったソフトウェアリーダー、そしてAmazonのKindle電子書籍リーダーなどのハードウェアで幅広くサポートされています。
EPUB形式は、Apple独自のiBook形式の基盤となるフレームワークであり、Apple Booksアプリのコードに依存して機能する。[ 43 ] 2022年、AmazonのSend to Kindleサービスは、独自のKindleファイル形式のサポートを廃止し、EPUBを採用した。[ 44 ] [ 45 ]
パブリックドメインやオープンライセンスのコンテンツを扱う人気のEPUB制作者には、プロジェクト・グーテンベルク、スタンダード・イーブックス、パブメッド・セントラル、SciELOなどがある。
EPUB では、リーダーがHTML5、JavaScript、CSS、SVGフォーマットをサポートする必要があり、EPUB リーダーは Web ブラウザと同じテクノロジーを使用します。このようなフォーマットは、その複雑さと柔軟性から、Web ビーコン、CSRF、XSHMなどのさまざまなタイプのセキュリティ問題やプライバシー侵害行為に関連付けられています。このような脆弱性は、 EPUB ファイル上でWeb トラッキングやクロスデバイス トラッキングを実装するために使用できます。 [ 46 ] [ 47 ] [ 48 ]セキュリティ研究者は、ローカル ファイルやその他のユーザー データがアップロードされる攻撃も特定しました。[ 49 ] [ 50 ]
「EPUB 3.1概要」文書にはセキュリティ警告が記載されています。[ 51 ]
著者は、EPUB出版物におけるスクリプトの使用は、Webブラウザ内でのスクリプト使用とは異なるセキュリティ上の考慮事項を生じさせる可能性があることを認識しておく必要があります。例えば、一般的な同一オリジンポリシーは、ユーザーのローカルシステムにダウンロードされたコンテンツには適用されません。したがって、スクリプトの使用はコンテナの制約されたコンテキストに限定することを強く推奨します。
EPUBファイルは、実質的にウェブサイトを含むアーカイブです。HTMLファイル、画像、CSSスタイルシート、その他のアセットが含まれています。メタデータも含まれています。EPUB 3.3が最新バージョンです。HTML5を使用することで、ウェブブラウザのウェブサイトと同様に、出版物にビデオ、オーディオ、インタラクティブ機能を含めることができます。[ 33 ]
EPUB形式の出版物は単一のファイルとして配信されます。このファイルは、相互に関連するリソースのセットを含む暗号化されていない圧縮アーカイブです。[ 52 ]
OCF(Open Container Format)抽象コンテナは、コンテナの内容のファイルシステムモデルを定義します。このファイルシステムモデルは、コンテナ内のすべての内容に対して単一の共通ルートディレクトリを使用します。出版物のすべての(リモートではない)リソースは、コンテナのルートディレクトリを先頭とするディレクトリツリーに配置されますが、EPUBではこのための特定のファイルシステム構造は規定されていません。ファイルシステムモデルには、コンテナのルートディレクトリの直下の子ディレクトリであるMETA-INFという必須ディレクトリが含まれています。META-INFにはcontainer.xmlが格納されます。
アーカイブ内の最初のファイルは、MIMEタイプファイルでなければなりません。非ZIPユーティリティがMIMEタイプを読み取れるように、暗号化も圧縮もされていない必要があります。MIMEタイプファイルは、文字列を含むASCIIapplication/epub+zipファイルでなければなりません。このファイルは、.epub拡張子だけよりも、アプリケーションがファイルのMIMEタイプを識別するためのより信頼性の高い方法を提供します。[ 52 ]
ファイル構造の例:
--ZIPコンテナ-- MIMEタイプ メタ情報/ container.xml OEBPS/ content.opf chapter1.xhtml ch1-pic.png css/ style.css myfont.otf toc.ncx
container.xml を含む META-INF ディレクトリが必要です。このファイルは、書籍の内容を定義するファイル、つまり OPF ファイルを指していますが、追加の代替rootfile要素も許可されています。[ 52 ] MIME タイプと META-INF/container.xml 以外のファイル (OPF、NCX、XHTML、CSS、画像ファイル) は、従来 OEBPS という名前のディレクトリに配置されます。container.xml の例を以下に示します。
<?xml version="1.0" encoding="UTF-8" ?> <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" /> </rootfiles> </container>ePUBコンテナには以下が含まれている必要があります。[ 53 ]
ePUBコンテナには以下が含まれる可能性があります。
コンテンツ文書には、HTML 5 コンテンツ、ナビゲーション文書、SVG 文書、スクリプト コンテンツ文書、固定レイアウト文書が含まれます。コンテンツには、 CSS および PLS 文書も含まれます。ナビゲーション文書は、EPUB 2 で使用されている NCX 文法に取って代わります。
音声ナレーションが同期された書籍は、メディアオーバーレイ文書を使用して、録音済みの音声ナレーションのタイミングと、それがEPUBコンテンツ文書のマークアップとどのように関連しているかを記述することにより、EPUB 3で作成されます。メディアオーバーレイのファイル形式は、SMILのサブセットとして定義されています。[ 55 ]
EPUBリーダーソフトウェアは、主要なコンピューティングプラットフォームすべてに対応しており、デスクトッププラットフォームではAdobe Digital Editionsやcalibre 、AndroidおよびiOSではGoogle Play BooksやAldiko、macOSおよびiOSではApple Booksなどが利用可能です。また、EPUBファイルを作成するためのクロスプラットフォーム対応の編集ソフトウェアもあり、オープンソースプログラムのcalibreやSigilなどが挙げられます。
ほとんどの最新のウェブブラウザはEPUBリーダープラグインもサポートしています。Microsoft Edgeブラウザは2019年9月までEPUBリーダー機能を内蔵していました。[ 56 ]
以下のソフトウェアはEPUBファイルを読み込んで表示できます。
以下のソフトウェアでEPUBファイルを作成できます。
typeに記載されています。{{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)