‘2019/05’ カテゴリーのアーカイブ

EPUBCheck4.2でのエラーについて

2019/05/22

 先日発表がありましたEPUBの公式データチェッカー、EPUBCheck4.2なのですが、試用してみたところ、これまでのバージョンでは出なかったエラーが表示されてしまいました。具体的には以下のようなエラーです。

ERROR(NAV-011): ./Desktop/test.epub/item/navigation-documents.xhtml(19,73): ‘toc’ nav must be in reading order; link target ‘item/xhtml/p-001.xhtml#toc-2C4CB0422A16-4C9E-B148-05A28E0A49C9’ is before the previous link’s target in spine order.

 従来のバージョンでは出ていなかったエラーが新バージョンでは出るようになったということなので、どういうことなのかちょっと策定に関わった方などに聞いてみたのですが、どうやら以下のような話のようです。

  1. もともとEPUBの仕様としては論理目次(電書協ガイド仕様の場合はnavigation-documents.xhtml)のリンクの表示順はOPFのSPINEの順番と同じでなければならないという決まりがあった
  2. ただ、これまでのEpubCheckにはそれをチェックする仕組みがなく、論理目次のリンクの表示順を自由に変えてもエラーにはならなかった
  3. 今回のアップデートで厳密にそこをチェックするようになり、エラーになるようになってしまった

 確かに規格を厳密に解釈すればエラー扱いになるのかも知れませんが、これに沿ってチェックをすると現在既に市場で流通しているEPUBファイルがかなりの確率でエラー扱いになりそうなのでちょっと困ったなという印象です。EPUB3.0.1に関してはエラー扱いにしないなどの形でもう少し既に大量に流通しているものへの後方互換性を考慮して欲しかったというのが正直なところです。

 とは言え新規に作るものはこのルールに従って作れば良いわけなのでそこまで問題はないはず。過去に作ったものへの対応は今後ファイル受け入れストア側の対応状況を見ながら考えたいと思っています。現場に大きな負担がかからない形で収束すれば良いのですが。

OPFのSPINEブロック

OPFのSPINEブロック

 なお、OPFについて少し解説しておきますと、これはそのEPUBの書誌情報や収録されているファイル等を記述するパッケージとしてのEPUBのコアになるファイルで、その中のSPINEブロックというのは「EPUB内に複数収録されているXHTMLファイルを見せる順番を決める」ことがメインの目的になるものです。ビューア上でEPUBを見ていくとここに書かれている順番通りに内容が表示されます(その他、ページめくり方向の規定や見開き時にページをどちらに配置するかの指定もここ)。今回はここの記述の順番とビューアの目次機能から呼び出す方の目次(論理目次)の記述順が同じでないとエラーになるようになった、という話になります。

(2019.5.22)

プロフィール
Jun Tajima

こちらにて、電子書籍&Web制作を担当しています。
このブログは、EPUB3をはじめとした電子書籍制作担当オペレータからの、「電子書籍の制作時にたとえばこんな問題が出てきていますよ」的な「現地レポート」です。少しでも早い段階で快適な電子書籍閲覧・制作環境が整うことを願って、現場からの声を発信していこうと目論んでおります。

当ブログ内の記事・資料は、私の所属しております組織の許諾を得て掲載していますが、内容は私個人の見解に基づくものであり、所属する組織の見解を代表するものではありません。また、本ブログの情報・ツールを利用したことにより、直接的あるいは間接的に損害や債務が発生した場合でも、私および私の所属する組織は一切の責任を負いかねます。