青空文庫をEPUB3電子書籍に変換

青空文庫の『罪と罰』(ドストエフスキー/米川正夫 訳)をepub3の電子書籍にした。
以前も何回かやってるんだけど、今回、割りと真面目にスクリプトを作ったのでメモしておこう、というエントリ。
青空文庫の資産は膨大だし、なんといっても青空記法が最強だろう。
それに、青空文庫の本を制作する姿勢は見ていて背筋が伸びるほどちゃんとしている。
底本の誤植の指摘、ルビや圏点はもちろん、字下げや地付きといったレイアウトについても底本を忠実に再現している。
「青空文庫」
わたしはmarkdownというかその手のなんちゃら記法には否定的で、そんなものを学習するヒマがあったらhtmlを読み書きできるようにしたほうが早い、と思っている。
それでも青空文庫の青空記法だけは別格で、全角文字で指示を入れる・可読性の優れた書き方、おそらく入力ボランティアさんにとても優しい。全角文字というのがポイントで、これによってプログラム的なタグやなんかとバッティングする心配がない。
これでほぼ表現すべきことを網羅、対応してるんだから改めてびっくりさせられる。
今回作ったのは。
・青空文庫で公開されている本のテキスト版、zipファイルをダウンロード
・ダウンロードしたzipファイルを所定のディレクトリに保存
・書誌情報(タイトルと著者名)を記載したファイルを作成
・カバー画像を作成して所定のフォルダに保存
以上で、あとはスクリプトを叩けば電子書籍の出来上がり、というもの。
そして、今回一番手こずったのが、JIS第3水準、第4水準の漢字の扱い。
青空文庫のテキストファイルは歴史的経緯もあって文字コードがShiftJIS。青空文庫が始まった時期的に当時としては最適だったんだけど、今から始めるならutf8だったろうなあ。
ということでシフトJISで扱えない漢字、第3水準、第4水準の漢字については
[#「木+吶のつくり」、第3水準1-85-54]
などと、青空記法で記載されている。
最初、コード変換なんて計算させればいいんだろう、ぐらいに考えてたら甘かった。
グーグル先生にお願いしてもそんなお手軽な方法は教えてくれない。
どうやらベタでコードと漢字のハッシュを作って対応するしかないっぽい。切り替えて検索方法を変えて探して見つけたサイト
JIS第3水準漢字一覧表【全1259字】(JIS X 0213:2004)
https://www13.plala.or.jp/bigdata/jis_3.html
JIS第4水準漢字一覧表【全2436字】(JIS X 0213:2004)
https://www13.plala.or.jp/bigdata/jis_4.html
(※どちらもhttpsではなくてhttpでアクセスしてください)
こちらに「テキストでコピーできる一覧表」があった。
こちらにも書かれてるように「使いやすい一覧表が無く、コピペできないPDFとかしか無かった」のはほんとその通りで、こちらのページには大感謝、だった。ありがとうございます。
これをスクリプトに仕込んでハッシュに読み込んで、青空文庫のJIS3、JIS4に対応することができた。
これさえクリアしてしまえば、EPUB3ファイルを作成するについては使いまわしの部品の組み合わせだけ。おかげで、青空文庫から電子書籍化が簡単になった。
手作業が必要なのは「タイトル・著者名を記載したテキストファイルを作成する」のと「カバー画像を作成する」の2つだけ。カバー画像はこだわらなければ真っ白の画像でもかまわない。
とはいえ、せっかくだし「本」「書籍」っぽくしたよなあ、という欲も出るんで、カバー画像を作るのに時間が一番かかる。
今どきはAIにイラストを発注することができるので、『罪と罰』のカバー画像もAIにお願いした。
年寄りの趣味として本作りは悪くない趣味じゃないかなぁ。
で、こんなネタで終わらせると申し訳ないので、上記サイトからいただいた漢字テーブルを貼り付けておきます。全部で3817行あります。未定義のところは「〓」を入れてます。
・jis3で始まるのは水準3。jis4で始まるのは水準4
・続く「-」で繋がってるのは面-区-点
・「,」の後ろが該当する漢字
※ネタ元のサイトはヒエログリフなんかもあって、めっちゃ充実しているんでぜひ飛んでみてみてください。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
読書だ

今年早々に、読書SNSのリニューアル公開できたもんだから、ここんとこけっこうイケてるペースで読書中、だ。いや、本棚に登録するのがやっぱり面白いし。
今、平日は片道1時間弱、電車の中。それもだいたい始発終点なので、狙って座れる即席書斎。だいたい二日で1冊のペース。
1月は。
宮部みゆき「火車」、恩田陸「蒲公英草紙」、マイク・レズニック「第二の接触」、藤沢周平「孤剣」、マイク・レズニック「パラダイス」、藤沢周平「凶刃」、古処誠二「ルール」、石持浅海「月の扉」、スティーブン・キング「ハイスクール・パニック」
2月に入って、
スティーブン・キング「バトルランナー」、宮部みゆき「魔術はささやく」
で、手持ちの文庫が尽きた。というか1冊ものがない、かな。探せば出てくるはずだけど、目につくところにある未読本は、中島らも「ガダラの豚」3冊、スティーブン・キング「ドリーム・キャッチャー」4冊、マイケル・ムアコック「ルーンの杖秘録」4冊。長いよあな、弱ったなあ、と思いつつ、「ルーンの杖秘録」にとりかかる。実はけっこう不安だったんだけど、ツカミはOKだ。ブラス伯爵がかっちょええ。…って、これ、城での描写とか記憶にあるようなないような。もしかすると大学時代に読んでるかも知れないというデジャヴに怯えつつ。覚えてないから、いいか。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
IE7はいいんだけどねえ。

IE7にしてからFireFoxとの表示の違いがあまり気にならなくなった。…のはいいんだけど、今度はそれ以前のIEがけしからん。
今さらなんだろうけど。
IE4〜6は「_padding」とか「_margin」なんていうプロパティ名でもいい、という仰天な仕様というかなんというか。widthを指定してmarginやpadding、borderを指定すると解釈の違いでズレがでていたようなところも、プロパティ名を「_」で始めて書いてふぁっきんIEにだけ食わせればなんとか気にならない程度におさまる。
編集をやってたんで、少なくとも約20年は1mm以下の版ズレだのインクのドットだのをルーペで覗いてきた。印刷物というのはそういうものだ。
でもネットは違う。読者が見たい物を読者の見たいようにできるのがおもしろいところだ。自分の目の前のディスプレイでだけで見るものを強要するのはまた別。
すべての色を混ぜると黒になる印刷物と、すべての色を混ぜると白くなるディスプレイでは思想、発想が違う。
…というのが今回の真相。
せっかくcssとか構造化とか「おもしろい」ってのに、テーブルで、ってなんじゃらほいでおじゃるよ。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
環境をねじ曲げるのは堕落かしらん

サーバーのセッティングだ、打ち合わせだといちんち。ここんとこの気温の上下と同じく右往左往なもんで効率が悪くていかん。
んなもんで、昨日の続きの写メールもとっちらかりながら、だ。
.qmail に | hohoho.pl などと書いておけば標準入力がスクリプトに渡ることはわかった。
問題はどうやってapache配下のページに書き込むか、だ。.qmailで受け取るユーザーはただのユーザーだし、書き込みたいディレクトリのパーミッションを大股開きするわけにはいかんし、setuidなんてのも感心しないらしいし。諦めかけていたところに思いついたのが sudo 。さっそくportでインストールして visudo で設定してみた
user ALL=(www) NOPASSWD: ALL
んでもって、.qmail-user に
| sudo -u www hohoho.pl
とやれば書きこめる、はずだったのだが。書き込めてない。/var/log/messageにもエラーはなく/var/log/maillogもsuccessしてる。状況証拠は犯人はスクリプトだと言っているのだ。なんでやねん。と思いつつ、ぐーぐる様に物証を求めて検索の旅だ。…メールとして配信するのと、パイプで標準出力に出すのとでは、ヘッダ部分などが微妙に違うらしい。
なんの細工もなく受け取ったものをそのままファイルに書き込むスクリプトを試したところ、スクリプトでチェックに使ってるヘッダがなかった。そりゃ書き込まんわ。
あっさり書いたけど、ここにいたるまで、あれこれしながらいちんちがかり。おまけに途中チェックしてるときにデータを飛ばしてしまった。画像までは消してないので手作業で修復できないこともないけど…。
DHCPで、DDNSというインチキな環境なのでおおっぴらにするわけにはいかんけど、これで写メール投稿がラクちんになったなぁ。
ttp://holeinthewall.jp/~butch/cgi-bin/ktview.cgi
今までのように、環境に合わせてちまちまCGIを書いてたのとはまったく違って、うまく動かなきゃ動く環境にしてしまえ、という乱暴なやりくちに体が慣れるのもどうかと思わないでもないこともない。今回もまともにスクリプトなんて書いてなくて、メールサーバーの設定をしただけだもんなぁ。
[02/10 08:38:15]
qmailの メモ
https://program.station.ez-net.jp/special/network/mail/qmail.program.asp
↑ここが|処理について簡潔にまとめてあって助かった
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
鬼神エオメル!

とりあえず市役所だろうと、ちゃちゃっと起きて市民税課窓口にいってみた。確定申告の用紙を配ってたし窓口のおねえさんおばさんが丁寧に対応中だった。2月16日からの期間内であれば、市役所に申告の臨時窓口?ができるそうな。確か三鷹の税務署は駅から近いんでそっちでもいいっちゃいいんだけど、地元駅前の市役所で間に合うに越したことはない。
パンフレット(説明書)と用紙をもらってそのまま相方んちに移動。
「王の帰還」ディレクターズカット最高!血がたぎりっぱなし。原作ではほとんど記述のないらしいエオメルがかっちょええ…つか、鬼神のような表情でキャラ立っちゃったよ。どこもカットしちゃいけないシーンばかりぢゃん。冒頭のサルマンのシーンなんかは、ストーリーにもかかわるところだし。
仕事がらみで、韓国のケータイうんぬんというのもあるはずなんだけど、間に入ってるコーディネーターのレスポンスが悪くていかん。ホントにやる気なら、打診・スケジュール確保のサイクルを短く・一気にしないといけないのに、今の感じでは無理。これで進行するつもりなら、出版、というか作家対応について無知すぎるなぁ。ありもののグラフをお手軽に流用するのとはわけが違う。作家さんってのは、たとえば今日連絡したら何日からの予定はあいてるけど、明日連絡したらもうあいてないことなどざらにある、ということを知らないようだ。
縮小する一方のアダルトコミック市場とはまったく違うジャンルの市場に人材を流し込めれば面白い展開があるに違いないんだけど。共通語がないので面倒きわまりないかもなぁ。
しかし、風邪っぽい身体のだるさはどうにかならんもんか。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
そうだ澤乃井、行こう

あたりの痛みが抜けないなぁ。動いたり深呼吸をしたりすると、背中から胃に向かって熱い鉄柱を突っ込まれるような痛みだ。
これって 背中に激痛 でココを検索すると出てくる痛みとまったく同じだわ。もしかして風邪うんぬんではなくて、酒の飲みすぎで胃がやられてるのかもしれないな。今日からポポンの他に蛇羅尼助丸をしばらく常用してみよう。
…あ。土曜に食べた20辛が異様に辛く感じたのは、店のせいじゃなくて、わたしの胃の調子のせいだったのかも。
今日、会社の上司から澤乃井の「しぼりたて」720mlをもらってしまった。昨日わたしが羽村取水堰に行った頃、上司は御嶽渓谷に行って、ついでに澤乃井に寄ったとのこと(昨日御嶽に誘われてたんだけど、わたしはわたしでどうせならチャリで遠出と考えてたんで、丁重にお断りした次第)
須藤ますみのおさんぽ大王を読んで以来、わたしもぜひ一度 澤乃井 に行ってみたいと思ってるんだよなぁ。最近日本酒がマイブームだし。風景も含めて贅沢に日本酒を飲みに行くかしらん。渓谷にのぞむ個室は2〜10人という設定。JR青梅線、奥多摩行きの澤井駅まで行ってやろうじゃないかという有志がいたらぜひ連絡をっ!予算は料理6500円+飲み代+運賃だっ(ほんまかっ)詳しくは上記澤乃井のHP参照。豆腐尽くし、てのも美味そうだしなぁ。ここは時間制なので、たかが2時間になんだかんだで一万円超を払ってもイイという大人の集会になる、と思う。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」