「iBooksオンリー」なEPUBについて考える

海上忍
2011-01-19 12:58:23
  • このエントリーをはてなブックマークに追加

 この連載でもたびたび言及しているIDPFのLiza Daly氏が、自身のブログで「Appleによる独自のEPUB拡張」を報告しています。今回もAdobe Digital Publishing Suiteについて取り上げるつもりでしたが、急きょ予定を変更し、このEPUBの独自拡張について解説してみます。

レイアウト固定でリフローできないEPUB

 前提条件として、EPUBというフォーマットは「リフロー」が原則です。CSSのpage-break-after/beforeを使うなどしてページ区切りを設けることは可能ですが、基本的にページの概念はなく、制作側がレイアウトを厳密にコントロールすることはできません。これを許せば、文字サイズの調整や画面の回転といったEPUBの長所が損なわれてしまいます。

 しかし最新版のiBooksには、EPUBを固定レイアウトで表示するための拡張が施されているようです。残念ながら日本のiBook Storeでは入手できませんが、Daly氏の報告によれば、米国のiBook Storeで販売されている子供向け絵本のいくつかに独自の拡張であることを示すファイルが含まれているそうです。

 そのファイルが、EPUB内のMETA-INFフォルダに収録された「com.apple.ibooks.display-options.xml」です。なお、日本のiBook Storeで入手した数十冊のEPUBを、iPhoneのディスク上をブラウジングできるツール「iPhone Explorer」で調べてみましたが、このファイルを見つけることはできませんでした。Daly氏が指摘するとおり、子供向け絵本のようにリフロー向きではないEPUBタイトルに含まれるものと推測されます。

iPhone Explorerを使えば、iPhone上のEPUBファイル内部をブラウジングできる(画面はMac OS X版) iPhone Explorerを使えば、iPhone上のEPUBファイル内部をブラウジングできる(画面はMac OS X版) ※クリックすると拡大します

 XHTMLの内容にも独自のメタ情報が埋めこまれています。Daly氏の報告によれば、META要素のnameプロパティを使い、「<meta name="viewport" content="width=1000, height=1000"></meta>」の要領でページの幅と高さを指定し、CSSでもbody要素で同様の定義を行うようです。

 ところで、AppleはiBook Storeへ出品するための指針として「iBookstore Asset Guide」を用意しています。このドキュメントは制作者向けで、Appleと契約を交わさないかぎり目を通せないため未確認ですが、そこには見開き2ページに設定する方法も記載されているとのこと。独自拡張の是非はともかく、どのように作業するかを検証してみたいところです。

再びJavaScriptが使えるように

 以前、iBooksでJavaScriptを使ったインタラクティブ性あるEPUBを作成するテストを行いましたが(関連記事)、その後iBooksのアップデートによりJavaScriptは無効化されていました。EPUBに追加したポップアップ表示用のコードは無駄になるか……と考えていましたが、さにあらず。JavaScriptの実行が妨げられていたわけではなく、ポップアップを並べる際に必要な位置情報の取得が許されなかったことが原因のようです。

 試しに、Daly氏のウェブサイトで公開中のEPUBをダウンロードしiPadで開いてみると、無事JavaScriptでコーディングされたポップアップが表示されました。

 なお、EPUBに加えた変更は、固定レイアウト用の設定ファイル(META-INF/com.apple.ibooks.display-options.xml)を追加したことと、本文(index.html)とスタイルファイル(style.css)にそれぞれ1〜2行を追加したことだけです。独自拡張とのいわば"抱き合わせ"でなければ使えない機能ではありますが、吹き出しは注釈など活用する場面も多いだけに、悩ましい部分といえます。

index.html

<meta name="viewport" content="width=600, height=800"></meta>
<head>
 ・
 ・
style.css

body {
    width: 600px;
    height: 800px;
 ・
 ・

 このように、固定レイアウトは(少なくともEPUB 2.0.1では)独自拡張ではあるものの、絵本や写真集などリフロー向きとはいえないコンテンツを制作者の意図通り表示するための「現実解」という側面を持っています。

 しかし、Daly氏も警告していますが、ページに収まりきらなかったテキストはカットされてしまうため、制作者は全ページを文字どおり手作業でレイアウトしていかなければなりません。しかも固定レイアウトのページとリフロー可能なページは同じEPUBファイルに収録できないので、事実上iBooksのためだけに制作するEPUBとなります。EPUBの可搬性をとるかiBook Storeの販売力をとるか、今後制作サイドは厄介な判断を迫られることになるかもしれません。

見開き2ページ(固定)の変則的レイアウトで、JavaScriptを使った吹き出しを表示できた 見開き2ページ(固定)の変則的レイアウトで、JavaScriptを使った吹き出しを表示できた ※クリックすると拡大します
このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]