2011年1月30日日曜日

Kindle の日本語化

昨年の7月に Amazon Kindle DX Graphite版を購入してから早半年以上。この間いろいろな本や資料をPDF化して Kindle に入れて持ち歩いて読んでいるが、大変便利である。また、3Gも付いているので、ケータイの電池が切れたときにこれでGmail にアクセスして、ローマ字ではあるが、メールを送って連絡をするなどという荒業もでき、Kindleに対する満足感はかなり高まった。

しかし、日本語フォントを埋め込んだPDFは読めるとはいえ、ファイル名が日本語だったり、Gmailでの日本語メールは当然フォントが対応していないので読むことはできない。新しい6インチのKindle は日本語が標準で表示できるが、6インチであるためPDFを表示するには画面が小さい。日本語が表示できないということだけが、やや不満であった。

購入後しばらくして、いろいろとネットを検索してみると、日本語化するためのハックが存在するということを知った。しかし、失敗すると文鎮化してしまうということ、なかなか時間が取れなかったことから、素のままで使っていたが、ついに昨日、日本語化に挑戦してみた。

結果は、意外にというか多くの先達の情報を頼りにあっけなく成功してしまった。再起動後日本語のファイル名が表示されたのを見て、思わずオーッ!と唸ってしまったほど、感動した。また、Gmailにアクセスしても、ちゃんと日本語が表示されてる。このような仕組みを作ってくださった方々に感謝である。

さて、今回の日本語化にあたり、以下のサイトを参考にした。
1. 「壊れゆくデータ:Kindle DX Graphite (2.5.5) 日本語ハック 成功」
とても詳しく手順が書いてある。
2. Kindle Font Hack for all 2.x and 3.x Kindles
ハックのオリジナルページ。必要なファイルをダウンロードする。

日本語化に当たっては、上の二つのサイトに書かれたとおりにしたが、まったく同じようにはできなかった部分もあるので、以下にまとめてみようと思う。

アップーデートした環境
 機種: Amazon Kindle DX Graphite  ソフトウェアバージョン: 2.5.5
  (シリアルは背面に書いていないのでMenu > Settings から確認すると B009なにがしであった。)


【1】 Jailbreak を適用する
1. 上記2のサイトから kindle-jailbreak-0.4N.zip をパソコンにダウンロードし展開する。

2. 展開するとフォルダ内にupdate_jailbreak_0.4.N.~_install.bin という数種類のファイルができる。

3. USBでKindle を接続し、update_jailbreak_0.4.N_dxg_install.bin をKindle のルートフォルダにコピーする。
  (ここで言う Kindle のルートフォルダとは、USBでつないだときに Kindle が Fドライブだとするとそこを開いたときのフォルダ。documents フォルダが見えている。)

4. Kindle のUSB接続を安全に解除してケーブルをはずす。

5. Home > Menu > Settings > Menu > Update Your Kindle を選択する。もし、Update Your Kindle が灰色で選択できない場合は、ただしい update ファイルをルートフォルダに置いていない可能性がある。

6. Update するか聞いてくるので、OKを押す。すると、アップデートが始まる。

しかし、私の場合は、ここでエラーが出て途中で終わってしまい、自動的に再起動。ファイルが見つからないとかいうエラーが出た気がする。ひょっとすると、install.bin ではなく、 uninstall.bin を間違って入れていたのかもしれない。再起動後接続しなおしてルートフォルダを見るとbinファイルはなかった。もう一度 update_jailbreak_0.4.N_dxg_install.binを入れなおして updateすると、今度はうまく行く。

7. Update がうまく行くと左下に U0006 というメッセージが表示される。これが出るとうまく行っている証拠らしい。

【2】日本語フォントを用意する
 フォントハックに入っているフォントは日本語が含まれていない。そこで、日本語の含まれたフォントを用意する必要がある。
 上記サイト1では、Osaka フォントを利用しており、Osakaフォントをダウンロードするリンクがある。しかし、私が試した時点では、すでにリンク先はなくなっていたので、ファイル名 osaka.unicode.ttf.bz2 で ググって Osakaフォントをダウンロードした。この圧縮ファイル中には、osaka.ttf というのが一つだけ入っている。
 Kindle では、Mono, Sans, Serif という3種類のフォントが必要なようで、それぞれに Regular, Bold, Italic, BoldItalic と4種類、合計12個の ttf ファイルを用意しなければ、すべての表示で日本語は表示されないようである。

Mono_Bold.ttf
Mono_BoldItalic.ttf
Mono_Italic.ttf
Mono_Regular.ttf
Sans_Bold.ttf
Sans_BoldItalic.ttf
Sans_Italic.ttf
Sans_Regular.ttf
Serif_Bold.ttf
Serif_BoldItalic.ttf
Serif_Italic.ttf
Serif_Regular.ttf

 上記サイト1では、この osaka.ttf(unicode) をコピーし、上記のそれぞれのファイルにリネームしてインストールしている。osaka.tff は標準フォントなので、ボールドやイタリックなどのところであっても普通書体で表示されることになる。
 初めは、同じように試してみたが、日本語は確かにきれいに読みやすく出るものの、英文字も Osakaフォントの持つものに変わってしまい、なんだか読みにくい。日本語はOsaka フォントで、英文は英文らしい英語フォントが使えないものかと思案しいろいろと試してみたが、たすきに短し、帯に長し、という具合で満足いくものにならない。
 英語で情報を探してみると、中国語を表示するにはどうしたらよいかというサイトに行き当たり、Droid San Fallback というフォントがあることが分かった。Unicodeフォントなので、中国語が入っていれば日本語も入っているだろうと思い、これを使うことにした。
 これは、上記サイト2からダウンロードできるとあったのだが、Droid Sans というフォントはあるものの、Droid Sans Fallback ではない。Droid Sans は、CJK(中日韓)の文字は入っていない。しかし、上記サイト2は、wikiで書かれている。wikiには履歴機能があり、そこから過去のページを探して Droid Sans Fallback をダウンロードした。結果的に、日本語も英語も満足いく書体で表示することができた。

1.このフォントは、DroidSansFallback1.rar, DroidSansFallback2.rar の2つのファイルに分かれており、両方を適当なフォルダにダウンロードする。
2.この二つのファイルを展開すると上のフォント一覧であげた名前のファイルが展開される。

【3】フォントハックを適用する
1. 上記サイト2から kindle-fonts-4.2.N-k2 をパソコンにダウンロードし展開する。

2. Kindle を USBで接続する。

3. 展開したフォルダ内の update_fonts_4.2.N_dxg_install.bin を Kindle のルートフォルダにコピーする。結果として、documents と フォルダと同じ場所にこの bin ファイルが存在することになる。

4. 次に、展開したフォルダ内にある src フォルダの中の linkfonts というフォルダを Kindle のルートフォルダにコピーする。結果として、 documents フォルダと bin ファイルと同じ場所に linkfonts が存在することになる。

5. 次に Kindle にコピーした linkfonts フォルダ内の fonts フォルダに【2】の手順で用意したフォント12個を上書きコピーする。

6.Kindleの USB接続を安全に解除し、ケーブルをはずしてから、Home > Menu > Settings > Menu > Update Your Kindle を選択し、updateを実行する。(再起動後に間違っても Reset to Factory Defaults を選択しない。文鎮化してしまうらしい。)

(以上の行程は、Font Hack のオリジナルページでは、画像つきで分かり易いので、そちらも参考にされると良い。)

再起動するとフォントが適用されて、日本語が表示されるようになる、という次第である。

ちなみに、Droid San Fallback は CJK文字を持つUnicode なので、ファイル名がハングルや中国語のPDFもちゃんと表示された。

【4】フォントの変更と注意点
 インストールしたフォントは、適宜別のフォントに変えることができる。その場合は、Kindle の linkfonts の fonts フォルダ内に置き換えたいフォントを入れ、linkfonts フォルダないの autoboot ファイルをコピーし、reboot と名前を変える。Kindle のUSB接続を解除すると、15秒後に自動的に再起動され、新しいフォントが適用されるようである。
 再起動は、Home > Menu > Settings > Restart からも可能であるが、その下にある Reset to Factory Defaults を選択し実行してしまうと、文鎮化してしまうそうである。linkfonts フォルダが消え去り、フォントがなくなることで再起動を繰り返してしまうようになるそうである。くれぐれもご注意を。
 reboot ファイルを使えば、そのようなことはないだろうが、anti-bunchin hack なるものもあるようで、これを使うと起動時にフォントがあるかをチェックしてくれ、文鎮化から救ってくれるようであるが、これは試していない。また、2.5.5 のGraphite にも使えるのかは不明である。