画像を配置するepub3の固定レイアウト
epubはバージョンが3になったとき、固定レイアウトの電子書籍に対応しました。それまではテキストをリフローして表示する形態のみでしたが、レイアウトをそのまま配置して表示することができるようになっています。
それまで固定レイアウトという言葉はほとんど使われていませんでした。固定レイアウトの最右翼はPDFでしょう。しかしepubではPDFは採用せず、固定レイアウトに画像ファイルを採用しました。epubのXHTMLの1ページに画像を貼り込んで最初からレイアウトされた電子書籍を作成します。画像ファイルはJPEGもしくはPNG形式を使います。
iBooksではPDFを表示できますが、見開きで表示する機能は用意されていません(通常のPDFビューワーではたいてい見開き表示できます)。コミックの閲覧で見開き表示できないのは致命的かもしれません。epubの固定レイアウトでは見開きを想定した表示になっており、コミックの閲覧では読みやすく設計されています。
レイアウトデータに画像を使う場合、レイアウト内のテキストデータを検索することはできませんが、すでにレイアウトされたものを書籍をepub3の固定レイアウトに変換するのは簡単です。epub3の仕様に合わせて画像ファイルを貼り込んでいけばいいからです。
epub3の固定レイアウトは主にコミックのepub化を主なターゲットにしています。電子書籍もコミックの方が売れやすいのが現実ですから、リフローでは扱いにくいコミックにも対応しなければepubは普及しません。
iBooksにはiBooksに合わせた指定が必要だ
epubの仕様は決められていますが、実際の動作はビューワーによって異なります。epubの中身はHTMLであり、WebブラウザにHTMLとCSSの対応に違いがあるように、ビューワーによって実装される仕様は異なっています。そのためepubの作成方法はビューワーに合わせて個別に解説するほうがわかりやすいでしょう。
ここではAppleのiBooksで扱うためのepub3の固定レイアウトについて解説します。iBookstoreにepub電子書籍を申請するには、epubcheckというツールを使います。epubcheckでエラーが出た場合、そのepubファイルは申請できません。epub3の仕様に含まれていて指定可能な要素でも、epubcheckではエラーになるものがあります。たとえばページの位置を指定するプロバティに
properties="rendition:page-spread-center(right or left)"
という指定があります。ページを見開き表示したときにページの位置を指定します。しかしiBooksではこのプロバティは使えません。epubcheckでエラーとなり
Undefined property: page-spead-center
と指摘されます。renditionプロパティはspine内でページ毎に見開き時の配置方法は指定できないのです。
また、epub3の仕様にはなくiBooks独自の指定もあります。metadata内に記述する
<meta property="ibooks:binding">false</meta>
のタグがそれです。iBooksでは固定レイアウトを表示するとき、本の体裁を追加して表示します。ページをめくったときの小口やのど部分に装飾と陰影が追加されます。それをオフにするタグがこれです。デフォルトでは「ibooks:binding」はtureになっています。このタグを追加しなければ本の装飾イメージを非表示にすることはできません。ただしepub2ではこのメタタグは無視されます。
Sigilでファイルを編集しエディタでepubの中身を編集する
さて固定レイアウトのepub3の作成は難しいかというと、少しハードルが高いといわざるをえません。プログラムやスクリプトを書くよりは簡単ですが、それでもHTMLは読めなければどうしようもありません。したがって、epubの構造が分かっていて、それぞれのタグやプロバティを読めれば、固定レイアウトの作成はそれほど難しくはありません。ただしはすべてのページをエディタなどで書き出すのはかなり面倒です。
そこである程度はepub作成ツールを使い、あとからepubを展開して必要なコードを書き換えることでタグやプロパティが読めなくてもepub3の固定レイアウトを作成する方法を考えました。epub作成ツールはいろいろありますが、そのままiBooksの固定レイアウトを書き出せるものは見当たりません。どのツールを使っても、epubを展開して中身のファイルを編集する必要があります。
ここではもっとも手軽に使えるSigilを使います。Sigilはフリーソフトですが、epub2でしか書き出せません。XHTMLファイルでepub3を宣言しても、保存するとepub2に戻ってクリーン化されます。
しかし画像ファイルを取り込み、XHTMLファイルに合わせてmanifestやspineの指定はできますから、画像ファイルの取り込みとXHTMLファイルの構成だけをSigilで行います。Sigilでは保存したepub2は解凍展開してepub3にするためにそれぞれのファイルを編集します。編集が必要なのはepub内の
container.xml
content.opf
すべてのXHTMLファイル
となります。目次はnavファイルの追加して、そこに指定します。
もっとも厄介なのは「content.opf」ですが、編集する部分だけ分かっていればそれほど難しくありません。
本書ではiBooksのepub3固定レイアウトをもっとも簡単に作成方法を解説します。手順に従ってepubを編集すると、そのままiBookstoreに申請可能な固定レイアウトのepub3が完成します。すでに作成されたepubテンプレートをSigilで開いて画像を差し替えて、解凍したepubファイルをエディタで編集するだけです。epub3の固定レイアウトをより理解する上でも必ずお役に立ちます。
|