epubを作成して電子書籍プラットフォームに並べる時、Kindleだけにするか、KindleとiBookstoreの両方に並べるのかは悩ましい。ダウンロード数はKindleの方が多いという話はよく耳にするが、比率するとどのくらいの比率なのかはわからない。両者はランキングはわかってもダウンロード実数は公開されていないからである。
KDPセレクトにしてKindle単体する方法と、印税率は低くてもKDPセレクトにせずiBookstoreと併用する方法があるが、どちらにメリットがあるだろうか。印税率だけを考えるとKDPセレクトだけの方がいいような気もするが、バブリティ的な意味も踏まえると、両方で出す方が長い目ではメリットがありそうだ。価格はKindleを高めにしておけばいい。最初はKindleとiBookstoreでやって、軌道に乗った他のプラットフォームにも配信すればいい。もちろん初めの第一歩はKindleセレクトだけという選択肢もある。
さてInDesignでepubを作成すると、epub3で書き出してもiBookstoreに最適化されたepub3にはならない。Kindleの場合はページ構成やレイアウト構成を整理するためにSigilで編集するにしても、そのままでもファイルとしては使えるのである。KindleではInDesignから書き出したまま、Kindle Previewerで変換しても使えないことはないのである。
ところが、iBookstore用のepubは簡単な変換ツールがないのである。アップルがなぜ、Kindle Previewerのような変換ツールを出さないのかはよくわからない。おそらく、epubのコーディングぐらい簡単なことをできない人は参加しなくてもいいと思っているか、世の中の人はすべてhtmlやcssが読めると考えているのだろう。したがって、iBookstoreに申請するにはepubを解凍して、中身のファイルを直接書き換える必要がある。
書き換えなければならないのは
content.opf
すべてのxhtmlファイルの冒頭
カバーページのxhtml
ぐらいである。書き換える場所を間違えなければそれほど難しくない。content.opfは書き換えるテキストをあらかじめ用意しておければそのまま入れ替えるだけ。<metadata>は書誌情報の書き換えが必要になるが、それくらいで丸ごと置き換れば済む。あとは<spine>で「toc="ncx"」を削除するくらいか。
*編集してエラーのでなくなったcontent.opf。
xhtmlファイルのヘッダはSigilで開くと書き換えられるので、複数行でのマルチファイル置換が必要になる。このあたりの方法は固定レイアウトで行った方法と同じなので、OEBPS内のTextフォルダを選択して一括してxhtmlファイルのヘッダ部を置換する。
カバーページは<spine>のカバーページのxhtml指定に「linear="no"」を指定するという解説があって試してみたが、これをするとそのカバーページが非表示になる。ここでは最初の1ページ目に画像のカーバーページが表示されないのである。本棚に表示されるサムネイル画像は<metadata>で<meta name="cover" content="cover_image.png" />で指定する。ここで指定した画像ファイルが本棚に表示されるようである。
ファイルは「toc.ncx」を削除する。iBookはepub3なので、epub2互換の「toc.ncx」は不要だ。目次ファイルは「toc.xhtml」が書き出されるのでそれを使う。削除したファイルはcontent.opfのリストにあるので、それも削除する。
iBookstoreではスタイルシートを含めて書き出しても、指定したフォントがそのまま反映されない。フォントのウエイトは反映しても、フォントの種類は明朝体かゴシック体のみになる。これは基本的にフォントをiBook側で指定するためだ。ヒラギノ明朝とヒラギノ角ゴのW3とW6の両方を表示させたいときは、META-INF内にファイルを追加しなければならない。
*「com.apple.ibooks.display-options.xml」を追加しないでiBooksで表示。見出しはヒラギノ角ゴで指定しているが反映されていない。
この追加するファイル名が「com.apple.ibooks.display-options.xml」というのだから、意味が分からない。ここで
<option name="specified-fonts">true</option>
とすると、スタイルシートで指定したままで表示されるのだ。なお埋め込みフォントを使う場合もこのファイル設定が必要らしい。xhtml内でCITE要素で囲む必要がないそうだ。
◆iBooks用のEPUBで埋め込みフォントを使う
http://imagedrive.tumblr.com/post/7251542317/using-embedded-fonts-in-epub-for-ibooks
まあ意味はわかりやすいかもしれない。ファイル名で目的がわかる。しかし固定レイアウトのページ装飾は<metadata>で指定しているわけだ。この指定も<metadata>のプロパティで指定できるのではないかと思うがどうなのだろうか。content.opfより先に読み込まさなければならないというような理由があって、META-INF内で指定しているのかもしれない。
*「com.apple.ibooks.display-options.xml」の追加で再現されたヒラギノ角ゴ。フォントは「オリジナル」と表示される。
解凍したepubはもう一度epubに固める必要がある。また固めた後、epubcheckで検証してログファイルが空白だったら、iBookstoreに申請できる。epubに固める方法とepubcheckする方法はAutomatorのワークフローの作り方などがネットで検索すれば簡単に見つけることができるだろう。
実際のところ最初はうまくいかなかったが、epubcheckのエラー内容を見ながら手を入れるべき所を探した。編集したあとepubにしepubcheckする。フォルダを複製して、もう一度エラー内容を見ながらコードを編集して。epubcheckのエラーを潰していく。20回くらいはコードを書き直したが、思ったより早くできた。固定レイアウトの差し替えのときはその3倍以上はepubcheckした記憶がある。
編集のステップは6つか7つくらい。Kindleよりは少し手間だが、慣れればそんなには難しくないだろう。InDesignから書き出したepub3をiBookstore用のepub3に編集する方法は、少なくとも固定レイアウトのepub3を作成するより簡単だった。



