kindleの情報がたまってきたのでまとめ

投稿者: | 2010年1月11日

kindleを使う方に関してのまとめは
【Kindle】 Amazon Kindle FAQ – 購入前情報からJailbreakまで 【まとめ】
が詳しくておすすめです。

ここは内部を手動でいじる時などに使う情報をまとめるというか羅列するだけなので、
update*.binの内部で何をしているのか等までは気にしない人には不要な記事です。
主に自分用TODOと備忘録。常に追加予定。
内容の対象はVersion2.3。

注:
もしここの情報を元に手動で内容をいじる場合、シリアルコンソール接続、anti-brick,anti-bunchinのうち
どれか一つは使えるようにした状態で行うこと。
間違えるとすぐ文鎮になって復活できなくなる可能性があります。

ハック関連

個人で内部をいじるためにはアップデータを作るという面倒なことをする必要は無い。
コンソールなりUSB経由のネットワークなりで接続して直接書き換えした方が早い。

うちで公開用に使っているのはusbnetwork23-0.10.tar.gzに入っているkindle_update_tool.py
をKindle DX国際版対応に改造した物。(DX国際版対応kindle_update_tool.py)
使うには、pythonとopensslが必要。
各機種用のバイナリの違いは、アップデータのヘッダ情報が違うのみで中身は同じ物。
違いは先頭から12byte目だけで、
Kindle2 US版 “02”
Kindle2 国際版 “03”
Kindle DX “04”
Kindle DX 国際版 “05”
となっている。

フォント関係

デフォルトでは本文,メニュー,等幅用のフォントがある。
初期状態ではCaecilia,Helvetica,KindleBlackbox+記号用フォント(Kindle_MonospacedSymbol,KindleSymbol)
それぞれに標準,ボールド,イタリック,ボールドイタリック。
の12+2書体が入っている。

フォントの場所は
/usr/java/lib/fonts
設定は
/usr/java/lib/fonts/font.properties

フォント入れ替えで日本語対応のためには、Unicode対応フォントが必要。Unicode対応フォントでない場合、英文字フォントがすべて豆腐、というかひどい状態になる。
フォントの入れ替えを行った場合は、本体の再起動を行わないとキャッシュが残っているので表示に反映されない。

Kindle Software Update Version 2.3に対応したUnicode Font Hack
にて日本語フォント導入はっくが公開されており、うちでも使わせてもらっていたが、一度フォントを元に戻したときに英文の表示がずいぶん違うことが判明。
フォント自体が存在しないためかイタリック体もボールドもすべて同じ書体へのシンボリックリンクを作っているので英文表示が結構変わってしまう。

書体をすべてカスタマイズ可能にするためUFHの本家を見ると、
Unicode Fonts Hack for Kindle 2.3に全部変更可能なものがある。
ついでにUnicode対応フォントで4書体そろっていて日本語の見栄えが良いものを探していたら、Y.Oz VoxにてYOzEフォントというのを発見。これと入れ替えたい。

フォントサイズがでかすぎてインストール時のファイルの展開領域があふれるので、カスタムインストーラだけでのインストールは不可能。とりあえず別な物を入れてから、ファイルの入れ替えで対応する。

>自分
フォントを入れ替えて再配布可能にするには一応ライセンスの確認をすること。
インストール場所の考慮とエラー発生時の復旧方法の検討。
完了

ブラウザ設定

ブラウザのフォントやその他の設定ファイル
/opt/amazon/ebook/config/netfront.ini
ダウンロード可能形式は167行目付近で定義されている物のみ。

ブックマークファイル本体(中身がバイナリで連結されているので手動でいじるのは難しそう)
/var/local/java/prefs/browser/bookmarks

ブラウザのデフォルト設定ファイル
/opt/amazon/ebook/config/browser_prefs
上のブックマークファイルがない場合はこのファイルの中にあるデフォルト設定で生成される。

diagモード

/mnt/us/ENABLE_DIAGS
を作って本体を再起動するとdiagモード(デバイスチェックモード)に入れる。
適当にいじると、出荷時に工場で調整した設定値がおかしくなる可能性があるので、
見る場合には注意してみること。

本体スリープ関係

/etc/powerd.conf
スリープ設定と、バッテリのチェック時間とか満充電を何%にするか、充電可能温度の設定等はここで設定されている。

役に立ちそうなのは、
2行目のt1_timeoutがスクリーンセーバーが表示されるまでの時間。デフォルトは600[s]
5行目のt2_timeoutが、スクリーンセーバー表示後にサスペンドが実行されるまでの時間。デフォルト60[s]
17行目のno_suspendを”1″にすると、自動サスペンドされなくなる。デフォルトは”0″

スクリーンセーバーとサスペンドは別に動作しているようで、no_suspendを”1″にしてもスクリーンセーバーには入る。
どうも基本動作は、
 1.しばらく操作せずt1_timeoutの時間が経過してタイムアウトするとスクリーンセーバー画面に入る
 2.スクリーンセーバー画面になったあとt2_timeoutの指定時間が過ぎるとサスペンドする
という作りになっているもよう。

t1_timeoutを”0″に設定したら即スクリーンセーバー画面に移行したので、スクリーンセーバーなしで(現在の画像を表示したままで)サスペンドだけ実行する方法はまだ不明。

コメントを残す

メールアドレスが公開されることはありません。