前の記事で、ちょっとした思い違いをしていました。
これ、やはり、はじめの思惑通り「はじめにePubファイルをひとつ作って、それをパブーとキンドルで使えばラク」なようです。
パブーで使うというのは、パブーで自動生成されるePubファイルを自作のものに置き換えるということ。自動生成されるものは横書きなので、それを縦書きのものに置き換える場合など。(注:この機能を使うにはお金がかかります)
ePubをキンドル形式(mobi)に変換する前に、ePubにちょっとだけ手を加える必要があります。なので、本当にmobiファイルだけが必要なら、いきなりそっちを作ったほうが手間が省けると思います。
ePubとキンドル形式(mobi)をくらべてみる
ePubもmobiも、電子書籍データのファイル形式です。mobiはキンドル独自のファイル形式、ePubはアップルのiBookストアやGoogleBooksなどでも使われる汎用性のあるファイル形式。PDFも汎用性がありますが、レイアウトが固定されていて、小さな画面では読みづらいのが残念なところ(拡大しながら読むのはけっこう面倒)。電子書籍のファイル形式はほかにもたくさんあるようです。
ePubとmobiを作るために必要なファイルをくらべてみます。
ePubは
『EPUB 3 スタンダード・デザインガイド』
キンドルについてはKindle ダイレクト・パブリッシング:ヘルプにある
「Kindleパブリッシング・ガイドライン(PDF)」
「パブリッシングガイド日本語サポート(PDF)」
を参考にしました。各ファイルのコードの書き方はこの記事では触れませんので、必要な場合はこれらを参考にしてください。
それから、記事の内容について、大きな間違いはないと思いますが、正確性の保証はできません。どぞ、ご了承のほどお願いします。
ePubに必要なファイル
.epubファイルはじつは.zipファイルの拡張子を変えたもの。だから「ePubファイルを選択して右クリック→名前を変更→拡張子をzipにする→解凍」すると、中身はこんな感じになっています。
OEBPSフォルダ(フォルダの名前は慣例的にこうつけられることが多いそうです)に本の中身が入っています。
opfファイル(拡張子は.opf)というのは本の情報をまとめたファイル。タイトルや著者などのデータのほかに、すべてのファイルの場所、コンテンツの並び順などが書いてあります。
目次のために必要なファイルは、ePubのバージョンによって違います。最新の、縦書きにも対応しているePub3は「.xhtml」ファイル、ePub2は「.ncx」ファイル。「.xtml」ファイルには決まったタグを入れる必要があります。
表紙のためには、画像ファイルと、その画像を表示させるためのページ(.xhtmlファイル)が必要です。
あとは、本文のためにxhtmlファイル、必要に応じて画像ファイル、cssファイルを揃えます。
これらをzip圧縮して、拡張子を.zipから.epubに変更すればePubファイルのできあがり。(mimetypeファイルは非圧縮のまま含める必要があるので、そういうことができる圧縮ツールを使うようにと説明されています。が、私がWindows7環境でやってみた限りでは、「mimetype」「MTA-INF」「OEBPS」の三つを選択して右クリック→送る→圧縮、でうまくいきました。)
mobiに必要なファイル
ePubのOEBPSフォルダと大きな違いはありませんが…
opfファイルは、ePubのopfファイル仕様に従って記述しますが、表紙ともくじ関係の書き方がePubと少しだけ違います。
目次のためには、「.ncx」ファイルと「.html」ファイルが必要です。ここがePubと違うところ。htmlファイルは「目次ページ」として表示されるので各ページにきちんとリンクを貼る必要がありますが、書式にきまりはありません。
表紙のためには、画像ファイルだけでオッケー。
あとは本文のためにhtmlファイル、必要に応じて画像ファイル、cssファイルを揃えます。ePubファイルにも流用するのであればhtmlではなくxhtmlで書く必要があります。
専用のツール(KindleGenかKindleプレビューア)でファイルをmobiに変換します。プレビューアの場合、opfファイルを直接開くとmobiファイルが作成されてプレビューが表示されます。
ツールはKindle ダイレクト・パブリッシング:ヘルプからダウンロードできます。
ePubを元データに使わない方がいいと思い違いをした経緯
はい。どんな思い違いだったのかというと、「ePubを元データにするとiPhoneやiPadで開けない」という悲しいもの。
実際そんなことはないようですが(よね?)、私はiPhoneとかを持っていないので、キンドルプレビューアというツールだけを頼って変換ファイルの表示のされかたをチェックしたためにそう思ってしまいました。これ、実際とは違うこともあるのね。
ちなみにこれがプレビューアの画面。私のデスクトップ情報はさらっと消させていただきました。
ePubをこれでmobiに変換すると、Kindle PaperwhiteやKindle Fireでは表示されるのに、iPhoneやiPadでは「本はこのデバイスモードではサポートされていません。表示にフォールバックします。:Kindle Paperwhite」というメッセージが出て表示されないのです。
えー。iPhoneでも表示されたいよ、あの小さい画面かわいいよ。
で、どうすればiPhoneでも開けるようになるのか色々試してみたところ、
- xhtmlはだめだけどhtmlは開ける
- mobi用opfファイル(?)の古い書式のやつ(ネット徘徊して見つけた2年くらい前のやつ)だと開ける
- cssで縦書きを指定するとだめだけど横書きなら開ける
という結果に。
ようするに、htmlと、古いopfファイルで、横書きで本のデータを作ればいい?
ということは、xhtmlで書かなきゃいけないePubは元データに使わないほうがいい?
しかし、悩んだ時間は骨折り損だった。めでたし、めでたし。
古い書式のopfファイルと、ePubのopfファイル、いったいどこが問題になっているんだろうと見比べて、あることに気がつきました。言語の指定が、新しいのは「ja」、古いのは「en-us」。
もしかして、もしかして、もしかして。
古いopfファイルのen-usをjaに変えてみると、iPhoneで表示できないモードになる。
新しいopfファイルのjaをen-usに変えただけで、iPhoneで表示できるモードになる。縦書き指定は無視されるもののiPhoneで表示できる。ええーっ!
つまり、iPhoneで縦書きにならないことを我慢すれば、縦書きePubが使えるのね。
そしてそのわずか数時間後。「2012年12月にはiPhoneでも美しい縦書き表示に対応されているらしかった」という内容のブログ記事を発見しました。
うあー。なんてこった。縦書きもとっくにオッケーだったのか。てことは「ja」でいいってことだよね。てことは、縦書きePubで何の問題もないということ。
私の悩んでいた時間は無駄な時間だった!!
そうだよ、ここは日本だよ。ああ、日本語ばんざい!
最後に私にとどめを刺したのは、キンドルストアのこの美しい画像。

みごとに、
ぜんぶ、
縦書きじゃん!!
…はじめにここ見ておればよかった。(笑)





コメント