EPUBファイルをWebで配布する


テスト的な意味もかねて、山下卓ちゃんの代表作ライトノベル「BLOODLINK 獣と神と人」のEPUB版を公開した。こちらのサイト「小学七年生」からダウンロードできる。今回はEPUB公開にあたっての覚え書き。

EPUBの作成にはSigilを使った。他にもいくつか試してみたけど、現状ではいちばん使い勝手がいいみたいだ。ただしEPUBの日本語仕様が確定していないため、まだ簡単にはいかない。リーダー側の日本語に対する仕様やCSSの実装および解釈もさまざまなので、EPUBにオープンなフォーマットとしての汎用性を期待しても、現状では裏切られるだけだろう。今回はiPhoneおよびiPadのiBooksをターゲットに作成したが、PC上のEPUBリーダーなどでは文字化けやCSSの解釈に問題が出てレイアウトが崩れるケースもあった。

EPUBの作成方法については詳しくは触れないが、基本的にテキスト段階できちんと成形しておき、章単位に分割してSigilへ読み込む。宣言部分に「lang=”ja”」で言語設定をして、CSSを外部ファイルにリンクさせる。CSSの記述は何を書いてもリーダー側で無視されたりつじつまが合わなくなったりするので、センタリング程度の最低限にしておいた方が良さそうだ。iPadにはヒラギノ明朝が入っているが、デフォルトのiBooksではヒラギノ角ゴシックで表示されてしまうので、font-familyに HiraMinProN-W3 を指定しておく。通常の「Hiragino Mincho Pro」では認識されないので注意。

書き出したEPUBをWebにアップするわけだが、WordPressなどでは.epubの拡張子をメディアとして認識してくれないので、wp-includes内の functions.phpに.epubを追加する。

wp_ext2typeのdocument あたりに「, ‘epub’」 を
get_allowed_mime_types のリストの最後に「’epub’ => ‘application/epub+zip’,」を追加しておいた。

これでWordPressのメディアアップローダーが使えるようになるはず。

この状態でEPUBファイルをアップロードすると、IEなどでダウンロードしたときにzipファイルとして認識してしまい、拡張子が書き換わってしまうことがある。ダウンロード後に拡張子を書き直せば済むのだが、サーバ側にファイルタイプとContent-Dispositionを追加しておけば.epubのまま右クリックでファイル保存が出来るようになる。

サーバの上位ディレクトリの.htaccessに、以下を追加しておけばよい。

<Files*.epub>
ForceType application/epub+zip
Header set Content-Disposition attachment
</Files>

これで自分のWebサイトからEPUBの配布が可能となる。EPUB自体はまだまだこれからのフォーマットだけど、いろいろと試してみることでわかってくる部分も多いから、興味のある人はやってみるといいだろう。

今回のEPUB作成&公開については、Twitter上で @wakufactory さんや @miyabet さんから貴重なアドバイスをいただいた。また @enok00 さんにも相談に乗ってもらいました。皆さんに感謝します。

カテゴリー: DTP & Web パーマリンク

コメントを残す