オープンソースの電子書籍管理ソフト「Calibre」を使いこなそう!

第5回Calibreで青空文庫を入手&変換する

ぼくも知らなかったのですが、Gihyo Digital Publishingと言う技術評論社の電子出版サイトがオープンしましたね。このサイトでは、DRM無しのEPUBでもダウンロードができる本もあるのがありがたいです。

早速、無料コンテンツの『Cプログラミング入門』をダウンロードしてみました。CalibreでMOBIファイルに変換してKindleに転送したところ、ほぼきちんと読めています。すばらしいですね。このようなEPUB等での電子出版が日本でも、もっと流行るといいのにと思います。

Calibreで青空文庫を変換する

さて、今回はCalibreを使って青空文庫や他の英文書籍ストアから書籍を入手し、コンバートして見ましょう。

ご存知の方も多いとは思いますが、青空文庫について一応説明しておくと、日本語の著作権切れの文章を、ボランティアで電子化し配布しているサイトです。今回はこのサイトから書籍を取得してCalibreに入れ、変換してKindleに転送するわけですが、実はKindle向けには青空文庫を読みやすい縦書きPDF化してくるれるサービス青空キンドルと言うサービスがすでにあります。その上、青空文庫のXHTMLフォーマットの物を単純にCalibreに入れただけでもそこそこ読める状態にはなります。そのため、ここではCalibreの変換機能のちょっと高度な使い方の例として、青空文庫のXHTMLフォーマットの文章を変換してみます。

まずCalibreに、適当な青空文庫からダウンロードした文章のXHTMLファイルを、⁠書籍を追加」ボタンで追加してください。この時点では追加されたXHTMLファイルが内容を変えずにzipアーカイブ化されてCalibreに登録されます(準EPUBといった扱いでしょうか⁠⁠。

次に変換機能を使ってMOBIに変換します。Calibreの変換機能には色々なオプションが指定できます。XHTMLファイルを追加した時点ではファイルの内容はそのままですが、ここで変換機能のオプションを指定し読みやすいように設定していきます。

書籍フォーマット変換ダイアログ。⁠検索&置換」部分
書籍フォーマット変換ダイアログ。「検

「本の変換」ボタンを押して変換ダイアログを表示しましょう。最初に、書籍の書誌情報編集のオプションが表示されます。Calibreのヴァージョン等によっては、タイトルがおかしい(タイトル+著者名になってしまう)場合があるのですが、もしその場合には、ここでタイトルを修正しておいてください。

「改丁」「改ページ」の表記を実際の改ページに

ここから本格的に文章(XHTMLファイル)を変える設定をしていきます。最初に、⁠改丁」⁠改ページ」の表記を実際の改ページに変換しましょう。変換ダイアログの「検索&置換」の部分を開いてください。

ここでは正規表現を使った検索+置換の設定が行えます。3つの検索+置換テキストのフィールド組みがありますが、その一番上「最初の表現」に以下の正規表現を入れます。

<span *class=['"]notes['"]\w*>[#改(丁|ページ)]</span>

これで「改丁」⁠改ページ」の表記にマッチします。そして「変換するテキスト」の部分に以下のテキストを入れます。

<span style="page-break-before: always"> </span>

これにより、変換時にHTML(CSS)でページブレイクが入ります。

ルビの削除

次に、この検索+置換機能を使って、ルビを取ってしまいます。と言うのも、ルビつきのままにしてもKindleではルビとして表示されず、⁠漢字(かんじ⁠⁠」と言うように括弧書きで表示されるため、見づらくなるのです。これを避けるために、ここではルビを全部取ってしまうことにします(もちろんこのままが良い時には、単純にこの設定をしなければOKです⁠⁠。

以下を検索の部分に入れて、置換テキストの部分には何も入れないでください。これでルビが取れて漢字だけになるはずです。

</?ruby>|</?rb>|<rp>[^<]+</rp>|<rt>[^<]+</rt>

不必要なマークアップの削除

その他、青空文庫のXHTMLファイルには[#ページの左右中央]などのフォーマット指示のマークアップが色々と入っています。それらが目障りな場合にはすべて取ってしまうこともできます。検索の部分に次のテキストを入れてください(置換テキストには何も入れません⁠⁠。

<span class="notes">[#.*]</span>

チャプター構造の自動検出

次にチャプター構造の自動検出を設定します。自動検出されたチャプターから目次が(デフォルトでは最後に)作成されます。Kindleで読んでいると下のプログレス・インジケーターの所に点がいくつかあるのが見えます。これはチャプター先頭の場所を表していて、読むときの目安になりますし、実際に左右キーでチャプターを飛ばしたり、前に戻ったりすることもできます。

Kindleのインジケータに表示されたチャプター
Kindleのインジケータに表示されたチャプター

Calibreにチャプター構造の自動検出をさせるには、変換ダイアログの「構造の検出」「目次」の部分で設定を行います。まず「構造の検出」にある「章の判別」に以下のXPATH表記を入れてください。

//*[(name()='h3' or name()='h4' or name()='h5') and re:test(@class, 'o-midashi|naka-midashi|ko-midashi', 'i')]

次に「目次」のページへ行き「レベル1目次」⁠レベル2目次」⁠レベル3目次」に、それぞれ以下のXPATH表記を入れてください。

//h:h3[re:test(@class, "o-midashi", "i")]
//h:h4[re:test(@class, "naka-midashi", "i")]
//h:h5[re:test(@class, "ko-midashi", "i")]

これで、すべての準備が完了しました。⁠OK」ボタンを押して変換を実行すると、整形された青空文庫のMOBIファイルができあがります。

TIPS:表紙や説明文などをダウンロードして設定する

青空文庫などの書籍のコンバート時に、一緒に表紙などをつけたいこともあります。そのような時に役立つのは、Calibreで書籍の情報をAmazonなどのネットストア等で検索して、表紙や書籍の紹介文などの書誌情報(メタデータ)取得する機能です。

書籍を選択して「書誌編集」ボタンを押すと、書誌編集ダイアログが現れます。このダイアログの中に、⁠表紙をダウンロード」「書誌情報をダウンロード」などのボタンがあります。ここから表紙や書誌情報を検索して選ぶことで、それらを設定することができます(⁠⁠書誌情報をダウンロード」は表紙のダウンロードも行うことに注意してください⁠⁠。

残念なことに日本語に対応しているのがGoogle(Google Books?)しかないため、あまり検索が上手く行っているとは言いがたい状態です。実を言えば、今、筆者自身がAmazon Japan対応にしようと模索中です。大体上手く動作しているので、近いうちに本体に入れてもらえるようリクエストできると思っています。乞うご期待。

書誌情報をダウンロード
書誌情報をダウンロード

TIPS:英語の本を検索&購入する

Calibreのツールバーにある、⁠書籍を取得」ボタンに気がついた方もいるかもしれません。この機能を使うと多数の電子書籍ストアを串刺し検索することができます。残念ながら日本のストアにはまったく対応していないため、現在使っても主に英語のストアとなってしまいますが、串刺しで検索して価格やDRMの有り無し、対応フォーマットなどを一覧できるので、一番安いストアを見つけたい時などには非常に便利です。

「書籍を取得」ダイアログで"JQuery Mobile"を検索してみた所
「書籍を取得」ダイアログで

おすすめ記事

記事・ニュース一覧