Saturday, March 31, 2012

◉ 古いMacで電子書籍のePubファイルを扱う(その2)ePubファイルを操作して日本語の文字化けを修正。


日頃、古いMacBook(Mac OS X 10.4)から新しいMacBook Air(Mac OS X 10.7)まで、4台のMacを使って作業をしている。

この中で、MacBook(Mac OS X 10.4)を使う必要がある作業をしていたとき、急ぎのオーダーが入り、「特定の環境で日本語が文字化けするePubファイルを修正する」、ということがあった。

Mac OS X 10.3(10.3.9以降)でも、ePubを閲覧するだけなら、「iText Express」という無料のテキストエディタが軽くて、文字化けも無く利用できるが、オーダーしてきた相手先の環境が判らないので、安易に勧める訳にもいかない。

とりあえず文字化けを再現しなければならない。送ってもらったePubファイルを文字化けがよく起きる「Adobe Digital Editions.app(Adobe AIRアプリ)」にドロップしてみた。幸いにも?と言って良いのか見事に文字化けした。

これを修正する(使用したのは、Mac OS X 10.4)

まず、前回の「◉ 古いMacで電子書籍のePubファイルを扱う(その1)」の要領で、ePubファイルを念のため複製、拡張子「.epub」を「.zip」に変えて解凍する。

 でき上がったフォルダを開き、[ OEBPS ]→[ Text ]の中の「Section0001.xhtml」(ファイル名はいろいろ)をhtmlエディタなどで開く。

 htmlタグに「 xml:lang="ja" lang="ja" 」(xmlとlangの前に半角スペース)を追加、保存する。

このフォルダ全体をもう一度、ePubファイルに変換

例は、「test777」という名前のフォルダをユーザーホームの直下に置いた場合。
(「test777」の部分は適宜置き換えて)

[アプリケーション]→[ユーティリティ]から「ターミナル.app」を起動させる。
(ちなみに[ユーティリティ]フォルダをFinderから一発で開くには、commnd + shift + U

test777」のディレクトリ(フォルダ)に移動。
以下のコマンドを入れて、[ return ]キーを押す(以下同様に)。
cd test777

 「mimetype」ファイルを圧縮率0でzipに。
zip -0 -X ../test777.epub mimetype

 全体をzipに。
zip -r ../test777.epub * -x mimetype

 ユーザーホームの直下にePubファイル「test777.epub」ができ上がる。

「.DS_Store」ファイルを削除
これで、文字化けなく見ることができる。このままでもかまわないと思うが、Windowsユーザーに渡すことも考えて、Mac特有の「.DS_Store」ファイルを削除する。

.DS_Store」ファイルとは、Finderが管理するために、ファイルやフォルダを開いた際の位置やサイズなどの情報をmetaデータとして記録している不可視ファイル(隠しファイル)で、Windowsでは、まったく意味をなさないゴミのようなもの。

 zipファイルの中身を参照。ずらずらと構成ファイルのディレクトリとファイル名が表示される。下の画像内の赤いアンダーラインが「.DS_Store」ファイル。4つある。
unzip -l ../test777.epub

 すべての「.DS_Store」ファイルを削除。
zip -d ../test777.epub *.DS_Store

これで、「.DS_Store」ファイルはなくなる。

 なくなったかどうかの確認は、再度ターミナルから中身を参照。
unzip -l ../test777.epub>


この記事内に登場したソフト

iText Express:無料

Adobe Digital Editions.app:無料 Adobe AIRのアプリ


HomeAny source

No comments:

Post a Comment