ナビゲーション文書と目次の使い分けについて検討する―EPUB3をiBooksで読むとき

EPUB3にはナビゲーション文書が必須である。これはHTML5のnav要素を使って作成し、電子書籍リーダのナビゲーション用のパネルに表示するものである。EPUB2のときはNCX形式で作っていたものの後継であり、論理目次という言い方をすることもある。ここでは、EPUB3のnav形式のファイルを「ナビゲーション文書」という[1]。

一方、本文の見出しを取り出してリストにして並べ、リストの各項目から本文の当該見出しへのリンクを張ったXHTML5文書を作成して、この文書をEPUB3の本文内容文書のひとつとして扱うこともできる。これを「目次文書」という。目次文書はEPUB3リーダからみたら本文の一部であるが、読者からみたら目次の役割を果たす。このようなものを視覚的な目次という言い方もできるかもしれない[2]。

ナビゲーション文書はXHTML5形式であり、書籍本文の文書と同じようにspineに登録すれば、「目次」として使うこともできる。つまりナビゲーション文書は目次文書としても使うことができる。そうではなく、目次文書をナビゲーション文書と別に用意することもできる。

そこで、ナビゲーション文書と目次文書の関係について、次の点について調べてまとめてみた。

1.実際のEPUB電子書籍におけるナビゲーション文書と目次文書の使い分けはどうなっている?
2.ナビゲーション文書を目次文書としても使うとすると、ルビや縦中横などのマークアップやCSS指定は使えるのか?
3.ナビゲーション文書に、ルビや縦中横を指定したとき、EPUBリーダではどのように表示されるか?

1.ナビゲーション文書と目次文書の使い分けの実態は?

ナビゲーション文書と目次文書をどのように使い分けたら良いだろうか? ナビゲーション文書と目次を兼用するのが良いのか、それとも違うものにするのが良いのか。これを考えるため、先日開店したiBookstoreで販売されているEPUB版電子書籍のサンプルをダウンロードして調べてみた。今回調べたのは、リフロー型本文縦書きのフィクションとビジネス/マネーに分類されている25種類の電子書籍である。結果は次の通りとなった。

出版社によってナビゲーション文書と目次文書の使い分けがまったくばらばらになっていることがわかる。

(1) ナビゲーション文書が縦組みの書籍は16種、横組みの書籍は9種。

(2) ナビゲーション文書と目次文書の両方があるもの14種、目次文書がない(ナビゲーション文書のみの)もの11種。

(3) 両方がある14種中で、その項目が同じもの4種、異なるもの10種であった。現状では、ナビゲーション文書を目次文書に兼用しているものがあるとしても少数ということになる。

異なるものはナビゲーション文書は書籍の骨格だけ表現し、目次文書でより詳しい項目を表現している。例えばここで調べた中では講談社の電子書籍はnavでは表紙、目次、奥付けといった本の骨格のみを現しており、目次文書の方に詳しい項目を示している。

(4) ナビゲーション文書から目次文書へのリンクの状況は次の表の通りである。

リンク有 リンク無し
同じ 0 4
異なる 6 4

図1 ナビゲーション文書に目次文書へのリンクがある

ここで問題なのは、次の図のようにナビゲーション文書に骨格だけを表現しているにも関わらず、ナビゲーション文書から目次文書へのリンクがないものが4種類あること。このような文書では、本文の途中を読んでいるとき、別の項目に移動しようとするとまず目次文書を探して、目次文書から他の見出しに移動するなどの順序になるので、移動が面倒になる。これは改善する方が良いだろう。

図2 ナビゲーション文書に目次文書へのリンクがない

2.ナビゲーション文書に許されるマークアップやCSS指定は?

仮にナビゲーション文書を目次文書として兼用で使うことを考えるとき、ナビゲーション文書にルビや縦中横その他の指定をすることができるだろうか?

EPUB3.0の仕様をみるとナビゲーション文書には、本文のXHTML5と比べて使える要素やその出現順序に制約があるが、リンクのアンカー(a)要素の内容にはXHTML5の任意のフレーズ内容を含めることができるので目次で表現したいことはできそうである。

実際に、アンカー(a)要素の内容に、ルビ(<ruby>被ルビ文字<rp>(</rp><rt>よみ</rt><rp>)</rp></ruby>)、縦中横(<span class="tcy">XX</span>)、強調(<strong>***</strong>、<em>***</em>)、圏点(<strong class="emark">強調+圏点</strong>)、画像(<img alt="***" src="images/XXX.jpg"/>)を指定して、EPUBCheck3.0で検証してみたが、特にエラーにはならなかった。

3.ナビゲーション文書と目次文書はリーダでどのように表示されるか?

ナビゲーション文書のアンカーの内容にマークアップしたとき、それがEPUBリーダのナビゲーション用のパネルでどのように扱われるか。ナビゲーション文書に2.項の指定をした文書をiBooks3.1のナビゲーション用パネルで表示した結果と、目次文書として表示した結果を比較すると次の結果となった。

マークアップ iBooks3.1 a
専用目次 本文(spine)
縦書き
縦中横 ×
ルビ
強調(Strong) ×
圏点 ×
斜体(em) ×
イメージ(img) ×

図3 ナビゲーション文書の表示

図4 目次文書の表示

ここではナビゲーション文書と目次文書は同じものである。ナビゲーション文書としてみると縦書きとルビしか有効でないが、目次文書として表示するときは本文扱いになり、マークアップとレイアウト指定がすべて有効になる。

アラビア数字に縦中横を指定すると目次文書では指定どおり縦中横になるが、ナビゲーション文書では縦中横が解除されて1文字ずつ正立している。

ナビゲーション文書では1桁または3桁以上のアラビア数字は1文字ずつ正立するものが多い。しかし、横倒しになるものもあり基準が不明である。なお、これらは目次文書ではすべて横倒しになる。

[1] EPUB3のナビゲーション文書が準拠すべき規則は、2.2 EPUB Navigation Documentsにある。簡単なメモはこちら:EPUB ナビゲーション文書の仕様について メモ
[2] EPUBのナビゲーションを理解しよう