こんにちま!
というには久しぶりすぎるような気がしますが、皆様こんにちま! にゃるらコト岡村 直樹(27)です。 ここ数ヶ月、Nyadgets! を URL を変えたりしたまま放置とかしてました。マジすまんこ。
で、そのお蔭様というかなんと言うか、更新放置で、無事アクセス数が減りつづけております。 本当は全然良くないんだけれども。ま、放置してしまったモノはしゃーないので、 これからぼちぼちと更新を再開したいと思っております。いや本当に。エイプリールフールとかではないですからね。っていうかもう昼だし。
ま、そんな話は良いとしてですね(ぉぃ)、本日は、
- Kindle Paperwhite (初代) の Official Firmware 5.4.4.2 で、フォントを本当に変えてみた!
という話を書きたいと思います。
つーことで、本編、始めます。
1. 参考にしたページと作業環境
ぶっちゃけ参考にした以下の通り:
Kindle Voyage: 日本語フォント変更(筑紫明朝入れ替え Linux 版): ドイツ語の本読んでみ・・ http://www16.atwiki.jp/kindlematome/pages/39.htmlkindlematome @ ウィキ - 使用フォントを変更する(2013)
で、作業環境は、
- Kindle 本体: Kindle Paperwhite (初代) Official Firmware 5.4.4.2 (non-Jailbreak)
- Kindle へのファイルコピーなどに使用した PC : OSX Yosemite on Macbook Air mid 2011
- Kindle のシステムファイルの修正に使用した環境: Ubuntu 14.04 docker container on CoreOS
という感じです。はい。
まあ、三番目がちょっとフツーではない感じですが、正直、 今回のハックのためだけに Linux なり Windows なりを用意するのが面倒だったため、 今回の一部作業を、最近個人的用途(主に IRC Bouncer 関係)のために構築してあった CoreOS ホスト上の Ubuntu 14.04 のコンテナで行いました。
そのため、どっちかっていうと今回のハックの作業方法は、Linux とか OSX とかの、 主に黒い画面に親しみが有るヒト向けになってしまっています。が、その辺りは気にしない方向でお願いします。 :^)
2. 実際に行なった手順
1. まず、Kindle PaperView (初代) の Firmware を最新の 5.4.4.2 にする
この辺りの作業方法は、
http://www.amazon.co.jp/gp/help/customer/display.html/?nodeId=201064850Amazon.co.jp ヘルプ: Kindle Paperwhite ソフトウェアアップデート
を参考にしますた。
2. 次に、おもむろに Kindle を PC (僕の場合 Macbook Air) と接続し、Kindle から ja.font を取り出す
これはまあ僕の場合だと、OSX で隠しフォルダを表示するのがめんどいとかなんとかで、Terminal.app
を使い、
$ cp /Volumes/Kindle/system/fonts/ja.font ~/Download/
という感じでコピーしました。
で、次。
3. そして、Kindle から取り出した ja.font を CoreOS に scp し、作業用の Ubutnu 14.04 docker container にマウントする
はい、ここからどう考えても一般向けでは無くなってきましたが、ここでの作業は、大体、
# とりあえず作業用のディレクトリを CoreOS 上に作る $ ssh core<CoreOS IP> mkdir -p /home/core/tmp # 次に Kindle からコピーしてきたファイルを CoreOS に転送 $ scp ~/Download/ja.font core@<CoreOS IP>:/home/core/tmp/ # あと、今回入れ替えに使うフォントファイルも転送 # なお、KoboMaru.ttf は <http://www49.atwiki.jp/kobotouch/pages/20.html> 経由で入手可能 $ scp ~/Download/KoboMaru.ttf core@<CoreOS IP>:/home/core/tmp/ # CoreOS にログイン $ ssh core@<CoreOS IP> # 作業用の Ubuntu 14:04 の Docker Container を立ち上げる $ docker run --name kindle_work -ti -v ~/tmp:/root ubuntu:14.04 /bin/bash
という感じになります。はい。
で、次。
4. そして Ubuntu 14.04 Docker Container に作業に必要なソフトウェアをインストールし、 Kindle のシステムファイルをハックする
この辺りの作業は、僕が参考にした、
Kindle Voyage: 日本語フォント変更(筑紫明朝入れ替え Linux 版): ドイツ語の本読んでみ・・
辺りの作業そのままなのですが、手順としては、先程の Ubuntu 14.04 docker container 上で、
# cd /root # apt-get update # apt-get install cramfsprogs # cramfsck -x kvfont ja.font # cp KoboMaru.ttf kvfont//kvfont/fonts/TsukuMinPr5-Medium.ttf # mkcramfs kvfont ja.font.new
という感じで中身をいじった ja.font.new
ファイルを作成、そして生成した ja.font.new
ファイルと、
元の ja.font
ファイルのファイルサイズの差分を計算し、
# dd if=/dev/zero of=dummy.data bs=1024 count=<差分>
という感じのコマンドでダミーデータを作成、そして
# cat ja.font.new dummy.data > ja.mod.font
というコマンドで二つのファイルをくっつけます。
で、最後に、くっつけ終った ja.mod.font
ファイルを これまた scp
で OSX の方に持ってきて、
タイムスタンプを元の ja.font
ファイルと合せます。なおその際のコマンドは
# OSX の Terminal.app で $ scp core@<CoreOS IP>:/home/core/tmp/ja.mod.font ~/Download/ $ ls -lT /Volumes/Kindle/system/fonts/ja.font $ touch -t <YYYYMMDDhhmm.ss> ~/Download/ja.mod.font
という感じです。
で、最後。
5. 最後の仕上げ。 Kindle に ハックしたシステムファイルをコピーして再起動!
で、僕はココで手順を間違えてちょっとだけハマってたんですが、 この時の手順は、
- まず Kindle を機内モードにする
- 次に適当に本を開いてフォントに 筑紫明朝 を選択する
- そしてその後で Kindle を PC に接続
その後次の様なコマンドでハックしたシステムファイルをコピー
$ cp -a ~/Download/ja.mod.font /Volumes/Kindle/system/fonts/ja.font
コピーが無事終ったら、Kindle を再起動
- そして後にフォント選択で 筑紫明朝 を選択すると、先にハックして入れ替えたフォントになる
- なお、この際に 日本語フォントのアップデート などをすると、ハックが元に戻ってしまうので注意
という感じで作業を進めないと
という状態に成ります。
で、もしこのループになってしまった場合には、ハックしたフォントファイルを元に戻し、 再起動なりをしてやると多分元に戻ります。
なお、この辺りの手順というか注意事項は、
http://www16.atwiki.jp/kindlematome/pages/39.htmlkindlematome @ ウィキ - 使用フォントを変更する(2013)
を参考にしてくささい。
3. という感じで以上です
そして今の僕の Kindle の表示はこんな感じ:
正直言うと、今回のハックより、今回のハック記事を書くほうが疲れたんですが、 まあその辺りは AquaSKK がまだ手に馴染んでないのが原因じゃないかなーと思いまふ。
で、そんな感じで Kindle をハックしてみたよって話だったんですが、 まーこれ普通に開発者じゃない方にとってはちんぷんかんぷんな手順書だと思うので、 もし Windows をお持ちの方であれば、
http://www16.atwiki.jp/kindlematome/pages/39.htmlkindlematome @ ウィキ - 使用フォントを変更する(2013)
を参考にやったほうが、手っ取り速いし、解り易いかと思います。
あと最後になってしまいましたが、この手のシステムファイルをいじる類のハックは、 最悪、 Kindle が文鎮に成る可能性があるので、その辺りのリスクを各自が負える範囲内で行なってください。 っていうか、決して安くない Kindle が文鎮化しても、僕は責任を負えませんから。
まーその辺りよく考えた上で作業を行なうコトを、僕はオススメします ;^)
というコトで、久しぶりの Nyadgets! の記事でした。
ちなみにこの記事、
を使って書いているのですが、
nesQuick/atom-wordcount · GitHub
で文字数数えてみたら、この行の時点で 5000 文字超えてるので、 まーご苦労さんなこった、と自分のコトながら、ちょっと呆れてますです。はい。原稿用紙何枚やねんっていう。
あと最後にもう一度だけ言っておきますが、この手のデバイスのシステムをいじって云々する類のハックは、 最悪自分のデバイスが文鎮に成るリスクが有りますし、あと壊すとマズいモノで行なうと、後で泣きを見る破目になるので、 その辺りは各自の覚悟の上で行なってください。マジでお願いします。
というコトで、本日は以上です。お疲れ様でした。まる