EPUBで遊ぶ!

個人で電子書籍出版してみたい

  • Home
  • 紹介

Calibreを使って文書をEPUBにしてみる

Author: betterdays

前回のエントリーではBlog記事をSigilを使ってEPUB化してみましたが、Calibreという便利そうなソフトがあることが発覚。

Calibre
http://calibre-ebook.com/

電子ブックの統合管理ソフトでして、メインの機能はたくさんある電子書籍ファイルを整理して、手持ちの電子ブックリーダーデバイスに転送するソフト。最新版はメニューの一部が日本語対応しており、Sigilと違って取っつきやすいです。電子書籍版のiTunesみたいな役割です。管理のほかにも、ニュースサイトのfeedをとってきて電子書籍に変換するなど、優れものの機能が盛りだくさん。

電子書籍ファイル形式の変換機能も充実しており、たとえば一般的な文書ファイルをEPUBなどの電子書籍フォーマットに変換することもできます。HTMLやPDF、テキスト(.txt)やリッチテキスト(.rtf)、オープンドキュメント(.odt)などをEPUBに変換もできちゃったりして、これがあれば楽に作れるかも! ということで試してみました。

私は自宅のPCにOfficeが入っていないので、Windows 7版のワードパッドでodtファイルを作ることにしました。Calibreが読み込める形式のファイルならいいので、OfficeのWordだろうとMacのテキストエディットだろうとOpenoffice.orgドキュメントだろうと、なんでもいいでしょう。くわしくはCalibreの対応フォーマットを調べてみてください。あんまり凝った書式を使うと対応できない予感がするので、太字とか文字に色つけるとか、その程度にしておいた方がいいと思います。

作った保存し、そのファイルをCalibreの左上のボタン「書籍を追加」から読み込みます。普通に、ライブラリの中に入るはず。

このままだと著者情報などが不明のままなので、「メタ情報を編集」ボタンで、タイトルや作者名を入れておきます。

つづいて、「電子書籍に変換」ボタンを押して、変換します。Input formatが「ODT」、Output formatが「EPUB」になっていることを確認して、OKを押します。どうもこの変換画面ではいろんな設定ができるようなのですが、まだ私がEPUBのことをそこまで理解していないのでよくわからない……。そのうちわかるといいなぁ。

とまあ、こうしてできあがったEPUBファイルですが、前回のエントリーでも苦労したとおり、このままではAdobe Digital EditionsやStanzaで読めません。また、拡張子を「.zip」に変えて、中にある「.xhtml」「.ncx」「.opf」という拡張子のファイルを修正します。

「.xhtml」「.ncx」の二種類は、冒頭付近にある<html xmlns=という部分の最後が、

xml:lang=”ja” lang=”ja”

となるように書き換えておきましょう。xml:lang=”en”などとなっていたら、enの二文字をjaに変えること。ちなみに、odt形式をCalibreを経由してEPUBに変換すると、なぜか行末などに「ツ?」(※実際にはツは半角、?は変な漢字)といったゴミが出るので、これはlang=”ja”を書き足すついでにとっておくといいと思います。半角の「ツ」で検索して一気に削除!

「.opf」ファイルは、<dc:language>UND</dc:language>となっているところを<dc:language>ja</dc:language>と書き換えます。(意味はわからないけどこうしたらうまくいった)

そしてZIPファイルの中に戻して、拡張子を「.epub」に戻せばできあがり。

うーん、思ったほど簡単ではなかったなぁ。やはり、海外製のツールを使っている時点で、いろいろと大変です。早く、日本語などのアジア圏の文字にもしっかり対応した編集ツールが出てきてくれればいいのに。

でもまあ、このへんも、Webの黎明期っぽいですよね。海外製のHTMLエディタを使って文字化け起こしたりとか。あの頃はブラウザの文字コード判別もうまくいかないことが多くて、「美乳」と書くと文字コード判別がうまくいく、なんて変な裏技もあったなぁ。

EPUBファイルをアップロードすると、その中身の自動的に文字コードを判定して、その言語に適したxhtmlに修正してくれるツールとかあると便利そうですね。誰か作ってくれないものかな……。(他力本願)

20100208.epub(Windows7のワードパッドとCalibreで作ったもの)

2月 8th, 2010  |  Posted in 未分類  |  No Comments »

Blog記事をEPUBにする安直な方法

Author: betterdays

このBlogでは、すべてのエントリーをEPUBファイルにしていくわけですが、どうやって作るのかといいますと。

非常に安直にして、だけどちょっと面倒くさい方法です。

用意するソフトは、電子書籍作成ソフトのSigilと、ZIPファイルの中身をいじれるソフト。Windows VistaまたはWindows 7なら、エクスプローラーがすでにZIPファイルの中身を見たり一部のファイルだけを出し入れしたりする機能を持っていますのでそれを使ってしまいましょう。

まず、普通にBlog記事を書きます。このBlogはWordPressというBlogツールで作っているので、普通にWordPressの新規投稿画面から行っています。

で、できあがった記事をいったん下書き保存した上で、プレビューします。

そして、そのプレビュー中のファイルのHTMLソースを見ます。ソースのうち、記事本体に当たる部分をコピーします。

つづいて、Sigilを起動し、メニューから「View → Code View」にします。

なにやらいろいろ書いてありますが、書き換えるのは下の方にある<body>~</body>の間です。

この<body>~</body>の部分に、先ほどBlogのプレビュー記事のHTMLソースからコピーしてきたものを貼り付けます。

つづいて、メニューの「Tools → Meta Editor」で、タイトル、著者(Auther)、言語を指定します。日本語の電子書籍なら、選ぶのはJapaneseです。

あとはセーブです。メニューの「Files → Save as」で、epub形式を指定して保存します。ファイル名は英数字だけでつけた方が無難のような気がします。

これでepub形式のファイルができたわけですが、StanzaやAdobe Digital Editionsといった一部の電子書籍リーダーソフトでは、日本語で書かれた電子書籍だということがわからないらしく、文字化けしてしまいます。そこで、文字化けしないように、一工夫を加えます。

まず、このepubファイルの拡張子をZIPに変えます。

ZIPファイルの中身を見たり出し入れしたりできるソフト(エクスプローラーなど)でこのZIPファイルを開き、OEBPSフォルダー → textフォルダーと開いたところにあるcontent001.xhtmlをテキストエディターで開きます。UTF-8という文字コードが扱えるテキストエディターが望ましいので、私はサクラエディタというソフトを使っています。

上から9行目くらいにある<html xmlns=”http://www.w3.org/1999/xhtml”>という行を、以下のように書き換えます。

<html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”ja” lang=”ja”>

これで保存し、もとのZIPファイルのもとあった場所に上書きします。

そして、このZIPファイルの拡張子をepubに戻します。これで、StanzaやAdobe Digital Editionsといった電子書籍リーダーで日本語が表示できるようになります!

もし、ZIPファイルの中をいじくる過程で面倒になったら、いったん解答して、横浜工文社さんのこちらのサイトを参考に、圧縮し直してみましょう。コマンドラインを使うので一見複雑ですが、一度やってしまえばそんなに難しくもありませんので。

さてはて、こうして苦労して作った電子書籍ファイルですが、

ぶっちゃけ、あんまり見栄えが良くありません。。。。

↑前回のこのBlogのエントリーを表示したものですが、明らかにBlogで見た方が見栄えがいいです。これから、こうして作ったepubファイルの見た目を、かっこよくしていくことがこのBlogの目的になります(まだ方法はよくわかっていない……)。

とまあ、長々と説明した割にすっきりしない終わり方ですが。私が伝えたかったのは、とにかく、Blogを書く感覚で、簡単なホームページを作る感覚で、世界標準形式の電子書籍が作れてしまうということです。いずれは、まるでWordで文書を作るみたいに手軽に電子書籍を作れるようになるでしょうけど。でも、黎明期の今のうちに、手探り感覚で作っていくのもおもしろいはず。これからもっと、楽しんでいきたいと思います!

このエントリーのEPUBファイル(20100205.epub)

2月 5th, 2010  |  Posted in EPUB形式  |  1 Comment »

WordPressにEPUBファイルをアップロードする方法

Author: betterdays

私がこのブログを立ち上げるに当たって、いきなり一つの壁にぶち当たりました。

EPUBファイルをアップロードできるBlogサービスが少ないってことです。

このブログは、すべてのエントリーをEPUB形式でも公開するというのをテーマに据えたので、EPUBファイルを、できれば容量など気にせずアップロードできることが必須条件でした。ところがどっこい、ほとんどのBlogサービスは画像・動画・音声のみのサポートだったり、1ファイルあたりの容量が小さかったりと、なかなか「これだ!」というのがなかったのです。

仕方ないので、レンタルサーバーにWordPressというBlog構築ソフトをインストールしました。自分のサーバーなら、そんな制限もないから安心だぜ! ……と思っていたら。

WordPressで、なぜかEPUBファイルははじかれる。セキュリティ関連のエラーが。むむむむむ。

というわけでFAQを調べてみたら、WordPressには拡張子とMIMETYPEをチェックするプロセスがあることがわかりました(MIMETYPEとは、それぞれのファイルが「私は何者であるか」を説明しているもののようです。詳しくないので正確なところはわかりません)。このFAQによると、「wp-includes」フォルダー内の「functions.php」 というファイル内の wp_check_filetype と wp_ext2type という二つの関数を書き換えれば良いとのこと。よし、チャレンジだ!

……wp_check_filetype関数には、拡張子やMIMETYPEに係わってそうな記述がないんですけど。困った。

wp_ext2typeはすぐに見つかりました。以下のような感じです。

function wp_ext2type( $ext ) {
$ext2type = apply_filters(‘ext2type’, array(
‘audio’ => array(‘aac’,'ac3′,’aif’,'aiff’,'mp1′,’mp2′,’mp3′,’m3a’,'m4a’,'m4b’,'ogg’,'ram’,'wav’,'wma’),
‘video’ => array(‘asf’,'avi’,'divx’,'dv’,'mov’,'mpg’,'mpeg’,'mp4′,’mpv’,'ogm’,'qt’,'rm’,'vob’,'wmv’, ‘m4v’),
‘document’ => array(‘doc’,'docx’,'pages’,'odt’,'rtf’,'pdf’,’epub’),
※※※以下略※※※

‘document’の列の最後に、‘epub’を加えました。とりあえずは第一段階クリアです。

とりあえず、wp_check_filetype関数を見てみると……。

function wp_check_filetype( $filename, $mimes = null ) {
if ( empty($mimes) )
$mimes = get_allowed_mime_types();
※※※以下略※※※

どうやら、get_allowed_mime_typesという関数を参照しているっぽい。というわけで、探してみると、現在編集中の「wp-includes」フォルダ内の「functions.php」の中にありました。

function get_allowed_mime_types() {
static $mimes = false;

if ( !$mimes ) {
// Accepted MIME types are set here as PCRE unless provided.
$mimes = apply_filters( ‘upload_mimes’, array(
‘jpg|jpeg|jpe’ => ‘image/jpeg’,
‘gif’ => ‘image/gif’,
‘png’ => ‘image/png’,
※※※長いので中略※※※
‘odb’ => ‘application/vnd.oasis.opendocument.database’,
‘odf’ => ‘application/vnd.oasis.opendocument.formula’,
‘epub’ => ‘application/epub+zip’,
) );
}

return $mimes;
}

拡張子と => が並んでいるところの最後に ‘epub’ => ‘application/epub+zip’, を加えました。

これで現在編集中の「functions.php」をセーブして、改めてWordPressの管理画面から「メディア → 新規追加」でepubファイルをアップロードしてみると……。

できた!! やったー!!

というわけで、最新版のWordPressでは、変な拡張子のファイルをアップロードする際には、日本語版の公式FAQに掲載されているとおりだとちょっとうまくいかない、wp_check_filetype関数じゃなくてget_allowed_mime_types関数の中をいじるのだ、ということがわかりました。最新版で変わっていたのですね。

というわけで、本来ならEPUBファイルを作る方法をご紹介するはずのこのブログ、いきなり脱線してしまいました。し、しかし、これで次からはEPUBファイルを個人で作っていく話になるはず!

このエントリーのEPUBファイル

2月 3rd, 2010  |  Posted in 配信  |  No Comments »

電子書籍って自分で作れるのか!

Author: betterdays

Amazon KindleやApple iPadなどの登場により、にわかに盛り上がってきた電子書籍市場。既存の出版社はどう出るか、AmazonやAppleが出版業界の覇権を握るのかなど、多くの人が関心を持っているようです。

私自身も、業界動向を見守っているわけなんですが。それ以上に、興味のあることが。

EPUBというフォーマットそのものです。

EPUBとはGoogleやAppleが採用している電子書籍のフォーマットなのですが、これはオープンなフォーマットです。というか、これはZIP形式の圧縮ファイルでして、拡張子をZIPに変えると、ごく普通の解凍ソフトで中身がみられます。

そして、中にあるのは、単なるHTMLファイル。しかも、まるでWeb草創期にたくさんみたような、えらくシンプルなHTMLファイルです。これに構造を定義するファイルなどがセットになっているだけ。ものによってはフォントや画像なども一緒に入っていたりしますが、基本的にはすべてテキストエディタで開けるファイルなんです。

なんというシンプル設計。

これってつまり、誰でも、ただの一個人であっても、EPUBファイルが作れるってことです。

これは、すごいことです! これから普及が期待される電子書籍は、すべからく個人が作成できるってこと。いままで、出版社の独占的な地位だった、書籍を出版して世界規模の流通に載せるということが、たった一人の無名の個人でもできるってことです。

インターネットが出てきたときも、Blogが出てきたと時も、同じようなことは言われていましたが、メーカーが作って流通させるものとほぼ同じ、洗練された形式のものが個人でも作れるというのは大変な革命ではないでしょうか。私は、初めてインターネットと出会ったときと同じくらいの興奮を感じています。

まあ、技術者でもなんでもない私が技術の説明をするのもなんなので、詳しくは、こちらの横浜工文社さんのサイトが参考になるのでお読みいただければ!

http://www.kobu.com/docs/epub/index.htm

このBlogでは、私のような技術者でもなんでもない人間が、EPUBフォーマットを使っていろいろ遊んでみることを目標としています。すべてのエントリーは、EPUBフォーマットでも公開していきます。

最初のうちはシンプルきわまりないものでBlogのほうがマシだ、なんてことになりそうですが、HTMLを覚えていくような感じで少しずつ覚えて、将来は立派な電子書籍出版を目指したいと考えています。

どうぞよろしくお願いします!

http://betterdays.jp/playepub.epub
↑この記事をEPUBにしたものです。

2月 2nd, 2010  |  Posted in 未分類  |  No Comments »

  • Categories

    • EPUB形式 (1)
    • 未分類 (2)
    • 配信 (1)
  • 2012年5月
    日 月 火 水 木 金 土
    « 2月    
     12345
    6789101112
    13141516171819
    20212223242526
    2728293031  
  • Archives

    • 2010年2月
  • ブログロール

    • Development Blog
    • Documentation
    • Plugins
    • Suggest Ideas
    • Support Forum
    • Themes
    • WordPress Planet
  • Meta

    • ログイン
    • Valid XHTML
    • XFN
    • WordPress

Copyright © 2012 - EPUBで遊ぶ! | Entries (RSS) | Comments (RSS)

WordPress theme designed by web design