彷徨えるフジワラ

年がら年中さまよってます

Gihyo Digital Publishing の書籍を Kindle で

先日、技術評論社 (Gihyo Digital Publishing) から電子書籍を出版したのだが、同じ電子書籍なのだから、どうせなら Kinlde 4G でも読みたいところ。

とは言え、次期フォーマットHTML5 方向に舵を切るとの話はあっても、Kindle が直接 EPUB 形式をサポートする見込みは当分無さそう。

しかし、そこはそれ。Amazon.com は、各種データ形式 (EPUB 含む) から、現行 Kindle が解釈可能な mobi 形式に変換するための KindleGen なるツールを用意している。

KindleGen に至る経路は以下の通り。直接リンクだと、ページ移動等で辿れなくなるので、手順表記で。

  1. トップページ
  2. ページ下部 "Make Money with Us" 項目の "Independently Publish with Us"
  3. "Kindle Books" 枠の "Learn More" ないしは、左側の "KINDLE BOOKS" ⇒ "Getting Started & FAQs" の "Kindle Publishing Guide"
  4. 左側の "Prepare Your Book" 分類の "Tools and Resources"
  5. KindleGen のダウンロードリンクのあるページに到達

アーカイブをダウンロード&展開したら、そこに含まれる kindlegen.exe コマンドを単独実行すれば、ヘルプが表示される。

要するに:

$ kindlegen 変換元ファイル -o 変換先ファイル

という感じで実行すれば良い。

で、自分の書籍の出版待ちだった期間に、アカウント登録だけで入手できる『Cプログラミング入門』を試しに変換してみたところ、あっさり変換に成功!

まぁ、テーブル表記とかコード/実行例とかの、デザイン/配色等に凝っているあたりの再現性はイマイチではあるけれど、Kindle for PC でも、物理デバイスKindle 4G でも、問題なく閲覧できる状態に。

段落区切りの視認性の点からは、"Solaris Internals" と同様に横持ちで閲覧するのが良さそう。

こうなると、当然自分の書籍も Kindle で閲覧したくなるのが人情と言うもの。

出版直後に早速 KindleGen で変換してみると.... エラーで変換できない ... orz

nfo(prcgen): Added metadata dc:Title        "???????????????????"
Info(prcgen): Added metadata dc:Creator      "????"
Info(prcgen): Added metadata dc:Publisher    "?????????"
Error(prcgen): Language not recognized in metadata. The dc:Language field is mandatory. Aborting.

メタデータファイルの言語設定が漏れてるってことか?

本来であれば、EPUB ファイルのアーカイブを展開してメタデータファイルを直接書き換えるぜ!と、いつもの暴走スイッチが入るところなのだけれど、流石に執筆〜校正で繰り返し何度も読んだ自分の本だと、イマイチ頑張る気力が沸いてこない(^ ^;;;)

とりえあえず、担当編集に「変換出来なかった」旨を伝えるだけ伝えておいたら、今日になって『Gihyo Digital PublishingのEPUBをmobiに変換してKindleで読む』なる記事公開の知らせが!

あー、calibre を使うのかぁ。

僕も最初は calibre 使おうかとも思ったのだけど、KindleGen で変換できたから、ま、いーか?と思っちゃったんだよねぇ。

とりあえず、件の記事の手順に従って変換作業をしてみることに....

うぉー!ちゃんと変換できてる!しかも結構読み易い感じ!

段落間の間隔具合とか、KindleGen よりも calibre の方が変換結果は良いなぁ。っていうか、calibre 変換の奴なら、横持ちしなくても大丈夫そうな印象が。

一般書籍の組版では、行の間隔は二分四分空き、つまり隙間が二分(= 0.5)四分(= 0.25)の合計 0.75 文字分になるらしいとのことだったので、calibre での行高さ設定を、解説記事の 200% から 175% にしてみたのだけれど、確かに 200% の方が良かったかも?

あとは、サンプルコード/実行例と地の文との区切り(特にサンプルコード/実行例の終わり)が、もうちょっとはっきりしていれば、完璧だな。水平線 (<hr/> 相当) とかの区切り記号を差し込めれば、最高なんだけどなぁ。

そうそう、mobi 形式でもテーブルがちゃんと使えるっぽいので、Kindle 版の "Solaris Internals" で表が画像だったのは、出版側の手間とかの都合だったんだなぁ。

いや、何にしても、全然良い感じですよ? > GDP EPUB 本@Kindle