買った小説がまたStanzaで文字化けしたので、どうにか読む方法を探してみました。
ePubのファイルです。
ちなみに化けたのは「L.A.Heat」。最初Stanzaで化けたので、Adobe Digital Editionsというアプリであけてみたら、あく。でもこれだとデスクトップで読まないとならないので、どうにかStanza(というかiPodTouch)に入れる方法がないかと試行錯誤。
まず、Adobe Digital Editionsで開けたファイルを「プリント」から「PDF」を選んで「PDFで保存」してみた。
おー、できたじゃないか。
とか思ったのも一瞬、全ページ画像で書き出されてるぜ。200MB近い。
めげずにそれをiPhoneアプリの「GoodReader」で読み込んでみた。
‥‥さすがに表示がのろいし(GoodReaderはPDF表示においてはiPhone最強のアプリなんですが)、やっぱ字が小さくて、Touchを横倒しにしてもスクロールしないと無理。
最悪これで読むかあ、と思いつつ、OCRアプリを探しに行く。
Macなので、あんまりOCRアプリはないんだけど、英語ならフリーで「Penteract」というものがある。
PDFをAutomatorでページごとにばらしてJPG保存して、OCRしようかと計画。
結論からいくと、それはためす前にとりやめになりました。
思い出したのだ。
ePubって、XHTMLファイルの集合体なのですよ。
XHTMLってのは「HTMLのちょっとえらいやつ」みたいなもんでして、実はePubは複数のXHTMLファイルをフォルダにまとめて、zip保存して、「.zip」の拡張子を「.epub」に変えたもの。
こないだ自分でePubを作ろうと思ってごたごたした時に(結局Stanzaで章分けがうまく認識できなくて保留中ですが)、そのへんを勉強して、すっかり忘れてました。
なんだ、中をのぞいて何がおかしいのか見てみればいいじゃん。
そんなわけでまず「L.A.Heat」のePubファイルの拡張子を「.zip」に変えてから、zip解凍アプリで解凍する。と、フォルダが出てくる。
その中の画像以外の構成ファイルをエディタで開け、ファイルの1行目で指定されている文字コードが「UTF-8」なのを確認。んで、ファイルの文字コードがUTF-8じゃないものを全部UTF-8にする。(UTF-8でなきゃ駄目ということはなく、指定の文字コードとファイルの文字コードを合わせるのが肝心)
それでまたzipにしてePubにして、Stanza読んでみたけど、駄目。
次は、同じように中を開けて、テキストエディタで開けたファイルの改行コードが「CR/LF」のものを「LF」に変えて保存。
それからフォルダ全体をzipにして、拡張子を「.epub」に変え、Stanzaで開ける。
開いた!!!
文字コードと改行コードのどちらが問題だったのかは(あるいは両方が)、そこまで検証してないのでわかりませんが、ePubに関してはそうやって中をのぞいてあれこれいじることができます。
オリジナルファイルを上書きしないように注意しつつ、何かトラブルがあった時には試してみるといいかと思います。








