EPUB3書籍を作ってみた

テキストファイル群を1つのEPUB3としてまとめる手法を調査し、実際に作成してみた。

作成したEPUB書籍を読む対象はKobo glo/Kobo Touchと、Android端末である。

なんやかんやあった末、作成できたわけですが、一番参考にしたのは、日本電子書籍出版社協会発行の「電書協EPUB 3 制作ガイド」に含まれるpdfとサンプルepub(book-template.epub)でした。

今回はテキストファイルのepub化なので、リフロー型とよばれる形式になるので、そのサンプルepubであるbook-template.epubを元に作成していきました。
book-template.epubをunzipで解体し、その内容を流用していき、不明な点があったら、それについてグーグルで探してみる、という感じでやるのが、わかりやすかったです。
不明な点についてはイースト株式会社の「EPUB日本語文書作成チュートリアル」を見ればだいたいおっけーでした。

実際に作ってみた後は、「epubcheckツール」を使って論理的な整合性チェックを実施。
上記のURLだとソースコードしか入手できないように見えますが、「https://github.com/IDPF/epubcheck/releasesの方にあるzipファイルからepubcheck.jarを入手できます。

epubcheck.jarの実行は、「java -jar epubcheck.jar EPUBファイル名」という感じでコマンドライン指定で行います。
詳しいオプションについては「Running from Commandline」を参照のこと。

以下は作成した際に引っかかった点。

・Kobo touch/gloの仕様上拡張子「.epub」では日本語フォントをデフォルト選択してくれない
拡張子「.kepub.epub」にすると表示してくれる。
最初は、stylesheetでフォント指定をすれば拡張子.epubでも表示できるんじゃないかとがんばってみたけど、書籍を選択した状態で処理が非常に重くなり、結局表示できない、という状態になってしまった。
同じモノでも、.kepub.epubにすると、すぐに表示できる。
なんでも、.epubと.kepub.epubの場合で、EPUBを解釈するエンジンが違うんだとか・・・

・「mimetype」ファイルに改行が入っていたらepubcheckに引っかかった

・navigation documentで<li>~</li>とやったら、「<a>」か「<span>」を入れないと不正、とかepubcheckで言われてしまった

・standard.opfでファイル更新日のmetaタグ dcterms:modifiedを入れなかったら、epubcheckで引っかかった。

・epubファイルの作成はepubのルートディレクトリにて以下を実行
zip -0 -q -X ../$title.epub mimetype
zip -r -q ../$title.epub * -x mimetype

・navigation documentと目次の違いがいまいち理解できていない
電書協と角川のサンプルだと、navigation documentへは「表紙」「目次」「本文の開始」「奥付」ぐらいの登録しかなく、実際の章立てに関わる目次は「目次ページ」内で記載する、という雰囲気になっている。
が・・・そういった構造で作ってみると、EPUBビューアの目次表示機能で、目次として認識してくれない。
このため、navigation documentにも目次を記載した。
ついでに、縦書きビューワの目次にも対応させるために、ncx形式の目次も追加した。


今後の参考

KADOKAWA-EPUB 制作仕様
角川書店系列のepub仕様書。
サンプルepubもある。
KindleとかiBookを考えた場合の処理について参考になった。

iBooks Asset Guide 5.1 Revision 2
AppleのiBooks用のepub仕様書。


いま不明な点。

spineアイテム数が84個あるepubを、epubcheck 4.0にかけると、以下の警告が出るという点。

$ java -jar epubcheck.jar ファイル名.epub
Validating against EPUB version 3.0 - custom validation
WARNING(OPF-020): n5884z.epub/item/standard.opf(-1,-1): Excessive number of spine items.
Validating using EPUB version 3.0 rules.

Check finished with warnings

epubcheck completed
$ export LANG=ja_JP.utf8
$ java -jar epubcheck.jar ファイル名.epub
Validating against EPUB version 3.0 - custom validation
WARNING(OPF-020): n5884z.epub/item/standard.opf(-1,-1): spineアイテムの数が多す ぎます.
EPUB version 3.0 のルールを使って検証します.

警告が検出されました

epubcheck completed
$

消したり増やしたりで確認してみたところ、itemrefが50個以上で警告がでた。
spineアイテム数の制限に関する記述を発見できていない。

“EPUB3書籍を作ってみた” への1件の返信

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください