先に知っておきたいこと
EPUBは、ZIP形式のコンテナ
W3Cの解説では、EPUBは、識別のための情報を付けたZIPファイルだと説明されています。EPUB 3.3の仕様は、このZIPの形式を、OCF(Open Container Format)として定めています。拡張子は.epubです。
解凍して見るのは、仕組みを知るため
多くのツール(Calibre、Sigil、Wordからの変換など)は、この構成を自動で作ります。自分でファイルを作る必要は、通常ありません。仕組みを知っておくと、エラーが出たときや、中身を直したいときに役立ちます。
EPUBの基本構成
構成の例です。フォルダの名前は、あくまで例です。
book.epub
├── mimetype
├── META-INF/
│ └── container.xml
└── OEBPS/
├── content.opf (パッケージ文書)
├── nav.xhtml (ナビゲーション文書)
├── chapter1.xhtml (本文)
├── chapter2.xhtml
├── styles/
│ └── style.css
└── images/
└── fig1.png
各ファイルの役割
mimetype
ファイルの中身は、EPUBであることを示すapplication/epub+zipという1行です。EPUB 3.3の仕様では、ルートにあるmimetypeというファイル名が予約されています。アーカイブの最初のファイルで、圧縮せずに保存することが定められています。
META-INF/container.xml
リーダーが、パッケージ文書を探す手がかりにするファイルです。仕様では、META-INFディレクトリの中に置く、コンテナ文書です。ここにrootfile要素があり、full-path属性で、パッケージ文書の場所を、media-type属性で、その種類(application/oebps-package+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>
パッケージ文書(.opf)
本の情報、含まれるファイルの一覧、読む順番を書いたファイルです。拡張子は.opfが一般的です(メディアタイプの登録にも記載があります)。次の3つで構成されます。
- metadata: 題名・言語・識別子などの本の情報
- manifest: 本に含まれるファイルの一覧
- spine: 本文を読む順番
書き方は、content.opfの書き方|タグと属性の意味を整理で扱います。
ナビゲーション文書
目次などの案内を書いたファイルです。EPUB 3.3の仕様では、EPUBの出版物には、ナビゲーション文書が必ず含まれ、XHTMLで書きます。書き方は、nav.xhtmlとepub:typeの解説|目次と構造の意味づけで扱います。
本文(XHTML)
各章の本文です。拡張子は.xhtmlが一般的です。仕様では、拡張子は指定されていません。章ごとにファイルを分けるのが一般的です。
CSS・画像・フォント
見た目を決めるCSS、挿絵などの画像、埋め込むフォントです。パッケージ文書のmanifestに、一覧として登録します。仕様は、出版物のリソースは、META-INFの中身とmimetypeを除いて、manifestに載せることを定めています。
フォルダの名前は決まっていない
この例では、本文などを入れるフォルダをOEBPSとしていますが、仕様がこの名前を指定しているわけではありません。リーダーは、container.xmlのfull-pathが指す場所から、パッケージ文書を探します。そのため、名前はOEBPSでも別の名前でも、container.xmlと合っていれば構いません。
古い要素
EPUB 2の頃の要素のうち、次は仕様で「旧来の機能(legacy)」とされています。
- NCX(
toc.ncx): 目次用のファイル。EPUB 3.3では、必須ではなくなっています - guide要素: パッケージ文書の中の、案内用の要素
ただし、KDPのヘルプには、Kindleの目次の条件として、NCXまたはEPUB 3のnavが挙げられています(EPUB変換で崩れる原因と対策6つ|注意点まとめを参照)。KDPで出すEPUBは、KDPのガイドラインも確認してください。
結論:6つの役割で覚える
| ファイル・フォルダ | 役割 |
|---|---|
| mimetype | EPUBであることを示す。最初に、圧縮せずに置く |
| META-INF/container.xml | パッケージ文書の場所を示す |
| パッケージ文書(.opf) | 本の情報・ファイル一覧・読む順番 |
| ナビゲーション文書 | 目次などの案内 |
| 本文(.xhtml) | 各章の内容 |
| CSS・画像・フォント | 見た目と素材。manifestに登録する |
よくある質問
EPUBを自分で組み立てる必要はありますか?
通常は、ありません。WordやHTMLなどから変換すると、この構成が自動で作られます。変換の方法は、EPUBに変換する方法まとめ|元ファイル別の選び方を参照してください。
中身を直接直したいときは?
EPUBの編集ソフトを使う方法があります。CalibreとSigilでEPUBを作る流れ|変換から仕上げまでを参照してください。
組み立てたEPUBが正しいか、確認するには?
EPUBCheckで、仕様に合っているかを調べられます。確認の項目は、高品質なEPUBを作るチェックリスト|変換前から公開前までにまとめています。