Kindle Format 8を調べてみた

Kindle日本版がスタートし、それに伴って自費出版サービスのKindle Direct Publishing(KDP)の日本版も始まりました。
ゆくゆくはKDPも使ってみたいので、電子書籍のファイルフォーマットである「Kindle Format 8」について調べてみました。

Kindle Format 8(以下KF8と略)は、Kindle用電子書籍の新しいフォーマットです。
Kindle FireがKF8対応の最初のデバイスで、Kindle PaperwhiteもKF8に対応しています。

KF8は、HTML5とCSS3のサブセットで文書を作り、目次等のメタデータを加えて、電子書籍を完成させる仕組みです。
EPUB3と似た仕組みになっています。
細かな仕様は、「Kindle Publishing Guidelines」に記載されています。

Amazonから、KF8関係のツールとして、「KindleGen」と「Kindle Previewer」が提供されています。
KindleGenは、HTML/XHTML/EPUBの文書を変換して、KF8形式のファイルを出力するコマンドラインツールです。
また、Kindle Previewerは、KF8形式のファイルを、Kindle FireやKindle Paperwhite等で見たときのイメージを、PC上でプレビューできるツールです。
Kindle PreviewerでHTML/XHTML/EPUBを開いて、KF8に変換した上でプレビューすることもできます。

試しに、Kindle Previewerを使って、日本語を含むEPUBファイルを開いてみました。
すると、Kindle Paperwhiteモードではファイルを見ることができましたが、Kindle Fireモードに切り替えようとすると、「本はこのデバイスではサポートされていません」とメッセージが出て、Kindle Paperwhiteモードになってしまいました。
調べてみたところ、KF8ファイル内のメタ情報(opfファイル)で、dc:language要素の値が「ja」になっていると、上記のような動作になるようです。
KF8ファイルの拡張子を「.zip」に変え、そのZipファイルを展開した後で、opfファイルのdc:language要素の値を「en」に書き換えてKindle Previewerで再度変換すると、Kindle Fireモードでも変換後のファイルを見ることができました。

KF8はEPUB3と仕組みが似ていて、またWebページと作り方がほぼ同じです。
今後は、EPUB出力に対応した各種のソフトで、KF8出力への対応が行われるのではないかと思います。