電子書籍EPUBコンバーターを作るよ

前回記事で書いたように、私の用途に合ったEPUB作成ソフト/サービスというのはなさそうでした。

なので、やっぱり作ってみようと思います。電子書籍を出版したい!!から始まって、まさかEPUBコンバータを作るところから始まるとは思わなかった。鉄腕DASHの「そば食いてえ」「じゃあ蕎麦植えるか」って流れと似たようなもんかもしれないですね。

要求仕様と設計方針

  1. Microsoft Word 2007以降形式(docx形式、OpenXML形式)のファイルをEPUB3にコンバートできる
  2. 書式情報はそれなりに継承する
  3. 吐き出されたEPUB3データはEPUB Validatorをパスする
  4. 縦書きに対応する
  5. リフロー形式に対応させる(固定ページ形式はとりあえず保留)
  6. 画像の貼り付けに対応する
  7. 機能を絞ってシンプルに作る
  8. 機能追加の余地を十分に残す
  9. ローカルで動作する
  10. 一応オープンソースにする

目指すゴール

Wordで文章を書き、画像を貼り付け、本ソフトでコンバートすればそれなりに見栄えのするEPUBデータが出来上がる。新しく何かを覚える必要は無い。最低限Wordの使い方を知っていれば、手間をかけずにそれなりのものを作れる。

目指さないゴール

  1. 高度なエディタ機能。たとえばWYSIWYGエディタ。
  2. または独自書式のテキストデータからの変換。
  3. ハードコピーをEPUB形式に変換。(既に別の良いソリューションがある)

こんなもん作って意味があるのか?

SigilとEPUB 3と悩める僕ら」という記事を拝見しまして、むむむっ、と考え込んでしまいました。 当該記事の作者さんは「でんでんコンバーター」というEPUB作成サービスをすでに展開されてます。それはSigilがvalidなEPUBデータを吐かないことが動機となっているようです。それに対し、「OS XでSigilをビルドする」という記事において

FLOSSなEPUBエディタが活発じゃないからということでフェードアウトしていくニュースを読むのはとても悲しい(中略)いったいぜんたい何のために私たちはオープンソースソフトウェアを使っているのかという話になるわけですよ

という旨の記述をされている方もいます。私の読解力が正しければ、「オープンソースなんだからダメだと思ったら思った人がぜひ改善してほしい。そうやって良くするために我々はオープンソースソフトウェアを使ってるんじゃないのか」ということが主旨であると思います。 これに対してでんでんコンバーターの作者さんは、

プログラミング初心者の僕にとって、Sigilの改修はお手上げでした。代わりにでんでんコンバーターを作ることくらいしかできなかった。でも高橋さんの言うような積み重ねによってSigilを救える可能性もあるかもしれない。

 

と、述べています。 これは難しいところだと思います。どちらの記述にも深く同意します。私も初めはSigilを改造したいと思っていたのですが、QtやC++などはほぼ未経験です。でも自分の得意な環境でコーディングできるなら自分で一から作ってみたい。プログラミングのスキルがあるひとだったらそう思うのも自然と言えると思います。

そういうことを踏まえたうえで、さらに私がまた別の選択肢を追加してよいのか、作って公開することに何か意味があるのか、さらに言えばそれは完成度の怪しい妙なソフトだ。いいのか。これで。と自問自答しました。結果、少なくとも「自分で使いやすいツールが出来上がる」「EPUBフォーマットの勉強になる」という、至極利己的な観点で作成する意味があるという結論に至りました。それでこの記事を書きました。ユーザーには使わないという選択肢もあるのですから。

とりあえず、ブログのネタになりそう、程度の気持ちで今はコードを書いています。