SigilのEPUB2をEPUB3に変換

» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
EPUB3にメールアドレス埋め込み

EPUB3でDRMはどうするの?という昨日の記事(「EPUB電子書籍のDRM」 http://t2aki.doncha.net/?id=1358226885 )の続き。
…たぶん、役に立たないので、ネタ程度の扱いでよろしく。
ソーシャルDRMというのか、電子書籍に買ってくれたひとのメールアドレスなりを埋め込んでおく、というやりかたがある。それをEPUB3にも入れてみよう、ということでごそごそお試し中。
EPUB3はzipで解凍するとただのテキストファイル、HTMLファイルなのでメールアドレスを埋め込んだところで簡単に削除できる。ここを少し面倒くさくしておく必要がある。「いちいち開いて編集して、また梱包しなおしてやるより買った方が早い」というのがポイント。
ウチのページ、 「EPUB3::かんたん電子書籍作成」 では、見出しごとのファイルに分割する(EPUB3リーダーによっては一度に読み込めるファイルサイズに制限がある、という記事をどこかで見たので)
・数が多くて面倒くさくする。
短編小説はともかく、そこそこボリュームがあったり、ショートショート集だと、ファイルもそれなりに分割されて数が多くなる。そのファイルひとつひとつにメールアドレスを埋め込む。
・ぱっと見わかりにくくする。
メールアドレスは文字数値参照に変換しておく。
EPUB3は縦横混在可能。kindleのKF8でも縦書きの中に横書きの文字を入れることができる。サンプルはKDPの「ヘルプ」→「パブリッシングガイド」→「日本語サポート補足資料」にある
あとはこれ以外に、昨日の記事に書いたように content プロパティにもメールアドレスを埋め込み、さらに書誌情報 content.opf にも埋め込む。少しでも「面倒くさく思える」ように。
もちろん、こんな程度のもので、B2Bには使えない。
けど。試し読み版のような扱いのものなら、この程度の仕掛けで頒布してもいいかもしれない。かなあ。
(公開中のページに仕込むにはちょっと影響範囲が大きいので、別立てで作ってみるか)
[01/16 15:14:24] 追記。
メールアドレスだけじゃなくて、本文のテキストをすべて文字数値参照にしてしまう、というのもある種、暗号化だな(ほんまか)
[01/16 16:52:54] 追記。
本文テキストをすべて文字数値参照に変換して、改行や、インデントの余計な空白を全部削除(ストリップ)したら、中身は一見判別不能。かなり面倒くさくなった(もちろん、知識のある人間が見れば一発だし変換すれば戻せる、けど)
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
短縮URLのAPI

というほど、ごたいそうなものじゃないんだけど。
twitterでよく見かける妙なURL。どうやら長いURLを短かくして使えるようにしている。文字数の制限が140文字なので、長いURLを貼り付けるのはもったいない。てことで、URLの短縮サービスなんだろうな。いくつか同じようなサービスがあるんだけど、どれがいいのかわからず、なんとなくメジャーっぽいので tinyURL というのを使ってみた。
http://tinyurl.com/api-create.php?url=
パラメータにurlエンコードしたURLを渡してやれば、素気ないテキストだけで短縮されたURLが返ってくる。今どき定番のxmlですらない。仕事がらみで、とりあえず便利に使わせていただくことにしてスクリプトに組みこんでみた。
でも、本当のURLを隠蔽することにもなるのはどうなんだろう。隠蔽が目的、というはまた別の話。せっかく希望するURLを取得したのに、それをわざわざ隠すのはちょっと抵抗がある。ウチのような長いURLだけど、欲くて取った名前だし、どうせ露出するならこの名前で出したい、のでウチには導入を見送り。仕事がらみの方だって、本当なら本当のURLを出した方がいいんだけどねぇ。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
ケータイ用サイト

今日は朝から東京歯科大学水道橋病院。もう歯はガタガタだ。座して入れ歯を待つのみ。とほほ。
で、読書SNSって、ケータイからも本棚を検索できるようになっている。このスクリプトは、本体とは別の設計になってるので、そのまま使えばいいや。…なんて安直に思ってたわたしがバカだった。ログインのチェックのところで、こいつも本体としっかり同じことやってるんだった。
今回のリニューアルでは、ディレクトリ構成をちょっといじってログインの設定を変更して、アクセスの集中対策を施してみた。ケータイ用のスクリプトも当然そこを合わせないといけなかったのだ。そのまま使うということは今のサイトの状態も維持しておく必要がある。それはどう考えても無駄だし、危険。
とりあえず。ケータイはSJISなのでちょっと混乱したけど、リニューアルサイトに合わせて移植できた、かも。
use utf8で、utfフラグさえついてれば、文字コードが違うもの同士で比較ができる、ってことに気づいてなかった。
if(文字:SJIS == 文字:utf8){てのがイケる}
って、何のためのutfフラグなんだよ、今さら。
後は、せっせとバグ取りして、スタイルシートのIE対応して、今月末にはリニューアル公開だ、な。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
原因特定が難しい、かな

ウチの王、昨日あたりは食欲もあって少し元気になって目に力が戻ってきたように見える…んだけど、ヨメの話だと腎不全は治らないし予断を許さない状態に変わりないと。ううう。
サーバーからデータを取ってきてブロック要素にhtmlを流し込んで表示させる。てなことやってるんだけど、JavaScriptがよくわからんので、個々のやってることは単純。JavaScriptで、あのデータが欲しいと、サーバーのperlに伝えれば、perlがpostgresqlからデータを取ってhtmlにまで加工して返すので、それを特定のブロック要素にinnerTextで流し込むだけ。
ただ、perl、JavaScript、スタイルシートが絡むので、perlの出すhtmlが変なのかJavaScriptから渡したパラメータがおかしいのかスタイルシートがおかしいのか
、意図したものが出てこない場合の原因特定が面倒だ。
さらにおまけに、サーバー側ではmod_perl2のキャッシュ、ブラウザ側はJavaScriptのキャッシュで、apacheの再起動やらブラウザの再読み込みやらの必要もある。
alert、printを埋め込みまくり、tail httpd-error.logしまくり…。このあたりの効率を考えないと遅々として進まない。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
五十音順ソート

五十音順でソートしたいと。いや 趣味は読書SNS で、せめて著者ぐらいは五十音順で並べたい、とずっと思いつつ、だった。JIS順てなにそれ機械の都合、なんだよなあ。
とはいえ、perlにしろpostgresqlにしろ、ひらがなカタカナアルファベットの「よみ」をつけないと五十音順は無理。
基本的にメンテフリーのつもりなので、わたしが登録される本を一冊ずつ見て「よみ」をつけて回るのは無理だし不可能。
基本的に入力項目は極力少なくしたいので、入力してくれるユーザー側に「よみ」の入力を促すのは却下。
とにかく「気楽さが最優先のSNS」だ。
で、せっかくサーバーのスペックも多少上がったことだし、kakasiを使うことにした。
kakasi -JH -KH
なんだけど、utf8に対応してないっぽい。…もしや、と思って検索したらCPANにText::Kakasiモジュールがあったので、インストール。ありがたいことにperlのEncodeを使ってutf8で使える。
さっそく「よみ」のテーブルを作ってごにょごにょ。そのままでも変換はかなり優秀だ。とはいえ「よみ」の修正もできるように管理画面にもあれこれ。
今までのメモリ512Mだとすぐにスワップ…ていうか常になにかしらスワップしてる状態だったけど、今度のメモリ2Gはスワップする気配すらない。無理してメモリ積んだだけのことはあったなあ。しみじみ。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」