EPUBからmobiへの変換

いまKindleで読めるデータを配布しようと思ったら、PDFデータかmobiデータを作りますが、リフローデータを作りたい場合はmobiがよい、となります。

次世代のアマゾン用書籍フォーマットKF8(mobi8)も出たのでリッチな表現も可能ですが(http://kindlegen.s3.amazonaws.com/AmazonKindlePublishingGuidelines.pdf)、それはKindle Fireでないと見られません。

mobiファイルは、WordやRFT、HTMLやEPUBから変換して作成できます。Amazon Kindle Direct Publishing(KDP)か、Amazonで配布しているKindleGen(コマンドラインで操作)を使って変換することで作成できます。KDPはWordかHTML推奨で、KindleGenはHTML, XHTML, XML (OPF/IDPF format), または EPUBから変換ができます。

Windowsの場合は古いmobipocket creatorという作成アプリもありますが、アップデートされていないので最新版のデータにはならないと思います。

KindleGen2(2012年1月リリース)では、KF8対応のデータが作成可能になりました。これを使えば、KF8 対応とKF8未対応向けのデータを同時に作成可能です。どうなっているのかとコンパイルされたmobiファイルをMobi_unpackで開いてみると、「mobi7」「mobi8」という2つのフォルダが用意されていました(Mobi_unpackを使うとkindlegensrc.zipに最初にアップしたときの元データが圧縮されて現れるようです)。mobi7フォルダの中には、KF8 より前の下位バージョン向けに変換されたデータが入っていて、mobi8フォルダには、KF8 向けのデータが入っています。
しかも、手元にあるEPUBから作ったmobiデータを開いたら、mobi8フォルダにはEPUBファイルがまるごと収まっていました(ほとんど内容に変更点はなくても変換後のXHTMLファイルやCSSが別途入っているのだけど)。カオス。。

一方mobi7フォルダのほうはEPUBからだとかなり変換が必要です。表現力はEPUB2>mobi7です。
CSSも外部ファイルが参照できるようですが、すべてのタグが外部CSSに対応しているわけでもないようです。たとえば、tableはKindle2から使えるようなのですが、HTMLソース内に書く table border=” ” 以外の指定は何も使えないようです…。

アイテムを中央揃えにするのには

<p class=”centered”><img alt=”Store menu” src=”GraphicsC5/C5Screen-Storemenu.gif” width=”301″ height=”401″ /></p>

<style>
.centered{
      text-align:center;
    }    
</style> 

定義リストのような箇所も、

<p><b>Kindle Storefront</b> – takes you to the Kindle Storefront.</p>
といった感じでつくります。olとulは使えます。表現力については、以下など参考になりそう

http://www.kindlegurus.com/content-basic.htm

むしろタグ一覧があればいいのに…意外と公式が見つかりません。比較的わかりやすいページは以下。むしろ非常にシンプルな作りがいいんでしょうね。

http://idsystem.cz/kindle/index.htm
http://idsystem.cz/kindle/format_xmpl.htm

それからKindleGenの変換で困ったのは、行頭字下げがデフォルトで3文字下げ(英文でよくある段落最初に1タブ下げる)などになってしまうことですが。上記サイトを参照すると

  p {
text-indent:0em;
} 

などとあらかじめ指定しておけばよいよう。

mobi7に限って言えば、レイアウト変換の忠実度ではKindleGenよりもCalibreのほうがよいのですが、トラブルが起きたときはどう対処すればよいというサードパーティの宿命があるのと、KF8には未対応です(2012年3月10日現在)。

 日本では、まだKindleユーザーは少ないと思います。

  • Kindleが米国Amazonからの購入となり、送料がかなりかかる
  • Kindleに直接本をダウンロード購入できる「Store」に接続しても英語の本しか購入できない
  • Kindleを買わなくても同様のサービスはAmazon.appを入れればiPhone/ iPad/ Androidで利用できる
  • 日本語フォントが入ったの自体がまだ最近(Kindle3以降)
  • 最新版のKindle Fire(KF8対応)は日本へはまだ送ってもらえないみたい
日本の本の対応がKF8以降のみになるかどうかも(そもそも日本の本が?というのも不明ですが)気になりますね。mobi7まで、1段組のテキストと画像、たまにリストと表が入るレベルのものを作るのであればなんとかなりそうですが、それ以上は難しいし、e-inkデバイスにはそもそもリッチなモノは不向き(画像を並べたマンガも正式対応ではなかったかと)。
でもAndroid搭載のカラー端末だったら別にKindleでなくていいじゃん?という気もしてしまう…。アプリ入れればいいし、読み物ならばスマホで十分だよーと思うと思うですよね。。(逆にタブレットならAndroidなら余計なんか端末縛り意味あるの?という感じ)