Kindleストアで販売する電子書籍の目次や移動メニューの作成方法。特に、ランドマークの扱いの後退について。

アマゾンのKindleストアで販売する電子書籍(KF8形式、拡張子はmobi)を作るには、アマゾンが配布しているKindleGenという変換ソフトを使ってEPUBからmobiに変換します。KindleGenはEPUB以外の入力も受付ますが、EPUBが一般的です。

最新のKindleGen2.9を使うならば、変換元とするEPUBの作り方には二種類あります。

(1) EPUB2をベースに、Kindle独自の機能を追加した独自EPUBを準備する。
(2) EPUB3仕様に完全準拠のEPUBを準備する。

KindeGenは2013年2月18日に比較的大きなバージョンアップを行い、KindleGen2.8となりました[1]。KindleGen2.7以前は(1)のEPUBを用意する必要がありましたが、KindleGen2.8以降は(1)と(2)のいづれかのEPUBを入力形式として扱えます。KindleGen2.8から2.9のバージョンアップは小さな機能追加であり、入力EPUB形式については変わっていません。

以下、本ブログのテーマは、(2)の方法でEPUB3を作成するときを対象にします。そして、その目次がKindleGenとKindleのリーダーでどのように扱われるかに関して、最近の状況を整理するものです。

EPUBにおける目次の種類

紙の書籍では目次のレイアウト形式や製本時の配置は確立しています。しかし、EPUBでは目次のレイアウトや配置は確立していません。

現在、EPUBリーダーで使える目次機能には、主に次の種類があります。

(a) EPUBの本文コンテンツと同じ扱いのXHTML形式ファイルで目次を用意し、本文の一部として配置する。
(b) EPUB専用のナビゲーション用の目次という機能を使って目次を作成する。
(c) さらにEPUB3のランドマークという機能で、表紙、目次、まえがき、本文、などのような書籍の構造の骨組みをあらわす。

(b)、(c)はEPUB2の頃からの歴史的な機能をEPUB3でナビゲーション文書仕様として設定し直したものです。[2]

この(a)~(c)の目次機能の実際の使い方については、版元やEPUBリーダーによってばらばらになっています。このことは過去に何回か本ブログで説明しています。たとえば、「EPUBのナビゲーション目次とランドマークの使い方の再検討が必要。」を参照してください。[3]

KindlePreviewerでの表示

アマゾンはmobiファイルの内容をPC上で表示確認するツール「KindlePreviewer」を配布しています。これはKindleGenで作成したmobi形式の電子ファイルを販売前にチェックするためのツールです。KindlePreviewer2.9でmobi形式を表示するとき、(a)~(c)の目次を確認するメニューがあります。次の図は3種類の目次をKindlePreviewerで表示したところです。

KinPre-toc
(a) KindlePreviewerの本文目次画面

KinPre-ncx
(b) KindlePreviewerのナビゲーション目次画面

KinPre-ido
(c) KindlePreviewerの移動メニュー
KindlePreviewerの移動メニューは、もともと設定されている項目と、ランドマークに指定した項目を合成して構築されます。

CAS-UBでの3つの目次の生成設定方法

CAS-UBではV2.2以降、(a)ナビゲーション目次、(b)本文目次、(b)ランドマークの3種類を自動生成する機能を用意しました。これについては、「EPUB目次自動作成機能を大幅に強化! CAS-UB V2.2 を正式版としました。」を参照してください。[4]

CAS-UBでEPUBを生成する際に、編集画面で「生成」→EPUB3「一般」で、EPUB3に(a)~(c)を含めるかどうか、含める場合どのような内容にするかを設定できます。次の図は「一般」メニューの一部で、朱枠が目次関連の設定項目を示しています。

landmark1
図 CAS-UB V2.2のEPUB生成「一般」設定

これらの設定を変更してから「保存」し、EPUB3を出力すると指定した目次をもつEPUBを作ることができます。

次回はCAS-UBで設定したこれらの目次が、最近のKindle電子書籍リーダーでどのように扱われているかを説明します。(続く「CAS-UB上級テクニック: Kindleストアで販売する電子書籍の目次や移動メニューの作成方法。」)

[1] KindleGen リリースノート
[2] 2.2.4 EPUB Navigation Document Definition
[3] EPUBのナビゲーション目次とランドマークの使い方の再検討が必要。
[4] EPUB目次自動作成機能を大幅に強化! CAS-UB V2.2 を正式版としました。

EPUB目次自動作成機能を大幅に強化! CAS-UB V2.2 を正式版としました。

11月28日にCAS-UB V2.2を正式版としました。バージョンアップで強化したポイントの一つがEPUB目次の自動生成機能です。

EPUBの目次関連機能には、次の3つがあります。

1.ナビゲーション目次 
2.本文目次
3.ランドマーク

EPUB3に上の3つの目次を用意して、たとえば、Readiumで表示しますと次の図1、図2のようになります。

スライド3
図1 ナビゲーション目次と本文目次を表示

スライド4
図2 ランドマークを表示。ランドマークで本扉を選択

1.ナビゲーション目次について

  • EPUB3の正式な目次(必須)です。
  • ナビゲーション目次の表示方法はEPUBリーダー依存になります。多くのEPUBリーダーは専用のパネルに表示します。
  • ナビゲーション目次にレイアウトを指定したとき、その表示はEPUBリーダー依存です。多くのリーダーは横書きのみですが、例えばiBooksは縦組みでも表示できます。多くのリーダーではナビゲーション目次にはルビや文字の装飾はできません。このようにナビゲーション目次の表示は、EPUBリーダーによって、まったくばらばらです。
  • CAS-UBは、記事のタイトルおよび記事の見出しを集めてナビゲーション目次の内容を作ります。この内容を論理目次と呼びます。(ナビゲーション目次は入れ物であり、論理目次はその内容という考え方です。)
  • 論理目次に、どのレベルの見出しまで含めるかを、「生成」-「一般」のメニュー、記事のタイトルのみ~レベル5の見出しまでの範囲で指定できます。
  • このとき、見出しと目次に、番号を自動的に付与することができます。番号の形式は、「生成」-「その他」で指定します。
  • ナビゲーション目次の内容として、論理目次の代わりに、ランドマーク(後述)を割り当てることもできます。

2.本文目次について

  • 通常の記事と同じ扱いの目次です。
  • レイアウト機能は、本文と同等になりますので、縦組み、ルビ、縦中横、文字の飾りなどは本文同様の指定ができます。EPUB3リーダーであれば、縦組み、ルビなど表示可能でしょう。
  • CAS-UBのV2.2では、本文目次を自動生成する機能を新規に追加しました。本文目次を作るかどうか、また、目次にどのレベルの見出しまで含めるか、などは論理目次の生成と同様です。
  • 本文目次は手作りできます。その場合、「記事の種類」に「ユーザー作成目次」を指定します。但し、手作りの目次(「ユーザー作成目次」を指定した記事)がある場合は、本文目次を「作成する」にしても、実際には作成しないで、手作りの目次を優先します。

3.ランドマークについて

  • ランドマークに設定する項目は決まっていませんが、『EPUB3 Best Practices』(EPUB3の仕様策定者が書いた解説本)によりますと、本の大きな構成部分をあらわすことになっています。
  • ランドマークを表示できるEPUB3リーダーは、Readium位です。あまり多くありません。
  • CAS-UBでは、ランドマークには、カバー(表紙)、本扉(オープニング)、目次(本文目次)、参考文献、索引を指定します。但し、該当する記事が存在しない場合は、指定しません。

1~3によって、EPUB3で指定することのできる目次機能を自動的に作る機能の使いこなしができるようになりました。

あとは、ページリスト・・・。PDFの生成結果とリンクするページ番号を自動的に入れることができると良いのですが、AH Formatterに生成結果のページ番号を出力する機能があったかナ? 忘れてしまいました。 なければ作ってもらうということですが・・・ 

ナビゲーション文書と目次の使い分けについて検討する―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のナビゲーションを理解しよう