16 February 2013

Kindle 3で青空文庫のmobi(電子書籍)を表示

Kindle 3に青空文庫のデータをmobi(電子書籍)形式に変換したものを表示する。

■ 変換に使うソフト
AozoraEpub3 - 青空文庫ePub3変換 AozoraEpub3-1.1.0b27.zip
Amazon KindleGen KindleGen v2.7 for Linux 2.6 i386

Windows, Linux どちらでも動作可能です。

■ Linux上で出来上がったファイルを確認する epubビューア
Calible

こちらも、Windows, Linux どちらでも動作可能です。

■ 青空文庫のzipファイルを電子書籍に変換する

AozoraEpub3を解凍し、AozoraEpub3.iniprofiles/*にユーザ書きこみ権限を与える。

kindlegenの実行ファイルをAozoraEpub3ディレクトリにコピーする。

AozoraEpub3ディレクトリでjava -jar AozoraEpub3.jarを実行する。

20130216-aozoraepub3-scr1.jpg

拡張子を.mobiに設定すれば、.zip → .epub → .mobi と自動的にチェーン変換される。

青空文庫の .zip をダイアログ下部のテキストボックスにドラッグ・アンド・ドロップすると自動的に変換が始まり、目次一覧が表示される。

20130216-aozoraepub3-scr2.jpg

赤で囲んだ部分が矛盾した内容だったり、一部欠落している場合は変換に失敗している。また、この表示が正常であっても変換が失敗している可能性があるので

電子書籍を表示し、最終ページの奥付まで表示できるか
目次で正しくジャンプできるか

を必ず確認すること。 およそ7割くらいの確率で変換に失敗しているようです…

■ フォントの変更

Kindle 3はゴシック(Sans-Serif)表示のため、デフォルトで明朝体が指定されているAozoraEpub3の設定を書き換える。

AozoraEpub3/template/OPS/css/horizontal_font.css

@charset "utf-8";
@namespace "http://www.w3.org/1999/xhtml";

/** 横書きフォント */
body {
font-family: sans-serif;
}

.gtc, .b {
font-family: sans-serif;
}

.b, .gtc { font-weight: bold; }
.i { font-style: italic; }


■ 行間隔の変更

Kindleの行間隔設定でmediumの時に広すぎると感じる場合は、次の行間隔設定を見直す。デフォルトは1.75なので、これを1.25に変更している。

AozoraEpub3/template/OPS/css/horizontal_text.css

body {
margin: 0;
padding: 0;
display: block;
color: #000;
border: none;
font-size: 1em;
line-height: 1.25;
vertical-align: baseline;
}

■ ルビの文字サイズ変更

Kindleではフォントサイズを小さくすると見辛くなるため、変更の必要は無い。あえて変更したい場合は、次のようにスタイルシートを変更する。

AozoraEpub3/template/OPS/css/horizontal.css

@charset "utf-8";
@namespace "http://www.w3.org/1999/xhtml";

/* 横書き基本部分 */
p {
text-align: justify;
margin: 0;
}
:link { color: #00C; background: transparent; }
:visited { color: #609; background: transparent; }
a:active { color: #C00; background: transparent; }
a:link img, a:visited img { border-style: none; }

rt {
font-size: 40%;
}


■ Kindleでの表示例

20130216-kindle-settings.jpg
Kindleの表示設定ダイアログ

Line Spacingはmiddleの設定とする。


20130216-kindle-height175.jpg
Kindle表示例(line-height:1.75)


20130216-kindle-height125.jpg
Kindle表示例(line-height:1.25)


■ Calibreでの表示例

20130216-calibre-height175.jpg
Calibre表示例(line-height:1.75)


20130216-calibre-height125.jpg
Calibre表示例(line-height:1.25)

epub作成時に、上の例で説明したようにフォント名を具体的に指定するのではなく、sans-serifとしておくことで、Calibre側の設定ダイアログでフォントを変更可能。あるいは、Calibreの設定でユーザースタイルシートを設定することで無理やり表示をカスタマイズすることも出来る。

(Calibreの電子書籍を表示している画面上で右クリックして"inspect"を実行することで、HTMLの解析が可能だ)