Sony Reader PRS-T1英語版をAndroid化する話

Sony Reader PRS-T1英語版のAndroidハックの手法が公開されていたのでご紹介。

ネタ元: THE ELECTRONIC BOOK(ロシア語サイト):PRS-T1 Android rooting (packages)
 上記のGoogle Translateによる翻訳

関連フォーラム: mobileread(英語サイト)のフォーラム:PRS-T1 Rooted: Installation packages

必要なもの
・Minimal Root Set
 AndroidアプリとしてはAWDLauncherEx, SuperUser, Dropbox, AnySoftKeyboard, CoolReader, ColorDict3, Terminal, RootExplorer, Gallery3D, ColorPicker, PackageInstaller, Calculator などが含まれています。
・Rescue Set
 元に戻すために使うそうです。

手順
1. Minimal Root Setを展開
2. Sony Readerをデータ転送モードでPCに接続
3. PC側でflash_reader.batを実行
4. 「Agree」する
5. 待つ
6. 15~20分待てば使えるようになる

また、Sony Readerをadb接続するにはadb接続用のドライバのinfファイル「android_winusb.inf」に対して、「USB\VID_054C&PID_05C2&MI_01」用の登録を追加すれば良いそうです。

なお、実機を持っていたり、しばらく購入予定はないので、あくまで紹介、です。

中国のebookフォーマット umd

ronzi A3にプレインストールされているiReaderではどういうフォーマットがサポートされているか調べてみた。

iReader公式にはちょっとバージョンが古いものに関しての情報はある。
それによると・・・
textと、HTML集合体であるCHM、そして中国製フォーマットUMDに対応しているとのこと。

じゃあ、UMDってのは、どうやって作るのか?
umd-builder
ebookPK
手机Umd文件格式浅析 (たぶん、書式についての解説)

なお、UMDは、どうやら、中国携帯で結構サポートしているらしいフォーマットの模様。
おそらくはxmdf的な感じの位置づけっぽい

Eee Note EA800でpdfを見た場合の奇妙な動作と、最近の動向

毎度お世話になっている海外掲示板
vinillum さんの報告によると、一度epubを開いた後、pdfを開くと、フォントの処理が変わるとか・・・

いま、ちょうど、キャンペーン中の、オーライリーにてjQueryクックブックを買って実験
最初に読んでみると・・・

一度、epubファイルを開いてから、再度開いてみると・・・

確かに大きく違う

その他、最近の掲示板動向

mp035さんがテストアプリ公開
それに対して、pbarrette さんがメニューへの表示の仕方をアドバイス

そして、pbarretteさんがなんかアプリ作ってる?
つか、freenote.orgにてアプリ公開中ですか。
開発の仕方も公開中。

で、最近の書き込みのあたりを見ると、qtで動くスケッチプログラムを見つけたようです、Quillというやつだそうで。
動いてくれるといんですが・・・

BookLive for Androidをインストールしてみた

BookLive for AndroidをQVGA端末のX10 mini proで使うとどうなるのかな?とインストールしてみた。

インストールだけで18MBも喰われた。
他にもアプリがあるので、LOW SPACE警告が・・・
アプリをいくつか消して、16MBの空きを確保

・・・


初期設定に失敗しました。

logcatでログを確認してみると・・・

I/ActivityManager( 1208): Start proc jp.booklive.reader for activity jp.booklive.reader/.main.MainActivity: pid=25650 uid=10110 gids={3003, 1015}
I/dalvikvm(25650): Debugger thread not active, ignoring DDM send (t=0x41504e4d l=38)
I/dalvikvm(25650): Debugger thread not active, ignoring DDM send (t=0x41504e4d l=40)
D/dalvikvm(25650): GC freed 1732 objects / 291960 bytes in 275ms
I/System.out(25650): java.library.path: /system/lib
D/dalvikvm(25650): Trying to load lib /data/data/jp.booklive.reader/lib/libbooklive.so 0x457741f0
D/dalvikvm(25650): Added shared lib /data/data/jp.booklive.reader/lib/libbooklive.so 0x457741f0
D/JNI_OnLoad(25650): JNI_VERSION_1_4
D/dalvikvm(25650): GC freed 3752 objects / 262296 bytes in 75ms
I/ActivityManager( 1208): Displayed activity jp.booklive.reader/.main.MainActivity: 1520 ms (total 1520 ms)
D/WifiService( 1208): ACTION_BATTERY_CHANGED pluggedType: 2
D/DeviceMonitor( 4650): com.sonyericsson.devicemonitor.StatusBroadcastReceiver: onReceiver android.intent.action.BATTERY_CHANGED
D/WifiService( 1208): ACTION_BATTERY_CHANGED pluggedType: 2
D/DeviceMonitor( 4650): com.sonyericsson.devicemonitor.StatusBroadcastReceiver: onReceiver android.intent.action.BATTERY_CHANGED
W/System.err(25650): java.io.IOException: No space left on device
W/System.err(25650):    at org.apache.harmony.luni.platform.OSFileSystem.writeImpl(Native Method)
W/System.err(25650):    at org.apache.harmony.luni.platform.OSFileSystem.write(OSFileSystem.java:178)
W/System.err(25650):    at java.io.FileOutputStream.write(FileOutputStream.java:297)
W/System.err(25650):    at jp.booklive.reader.util.ZipUtil.extractZipFromAssets(ZipUtil.java:125)
W/System.err(25650):    at jp.booklive.reader.main.MainActivity.run(MainActivity.java:366)
W/System.err(25650):    at java.lang.Thread.run(Thread.java:1096)
E/BookLiveReader(25650): MainActivity.java(369) run:fail to extract zip..., so delete font directory.

いったい何MB必要とするねん。
つか、SDカード使えよ!!!!

そんなわけで、こんな大食らいの人を住まわすことができないので、アンインストールとなりました。

他に、アメコミ系が読めるComixologyComicsと、Amazon Kindle縦書きビューアが入っている状況ではねぇ・・・

個人的にはXMDFが読めるやつが他に欲しいところなんだけど・・・
30冊ちょい持ってるから・・・

EA800の登録フォント一覧

ASUS Eee Note EA800で使用するフォントは、「/usr/local/Trolltech/QtEmbedded-4.6.2-arm/lib/fonts/」にある模様。
なので、リストをとってみたところ、後述のようなフォントがあった。

デフォルトで使用するフォントの指定は「/eTablet/etc/setting/sys.config」のfontセクションだと思われるが、そこでは「DejaVu Sans」となっている。
でも、日本語の内容を表示させた時の見た目としては、Androidでよく見かける中華フォント(俗称)っぽいんだけどなぁ・・・と思っていたんですが、「DroidSansFallback.ttf」なんてものを発見。
これはまさしくAndroidの中華フォント(俗称)。ライセンス的に収録できて、なおかつ、ファイルサイズ的に有利な多言語対応フォントですから、採用されてるっぽいです。

-rw-r--r--    1 root     root       466696 Nov  1 14:10 DejaVuSans-Bold.ttf
-rw-r--r--    1 root     root       441736 Nov  1 14:10 DejaVuSans-BoldOblique.ttf
-rw-r--r--    1 root     root       434576 Nov  1 14:10 DejaVuSans-Oblique.ttf
-rw-r--r--    1 root     root       622020 Nov  1 14:10 DejaVuSans.ttf
-rw-r--r--    1 root     root       229460 Nov  1 14:10 DejaVuSansMono-Bold.ttf
-rw-r--r--    1 root     root       177780 Nov  1 14:10 DejaVuSansMono-BoldOblique.ttf
-rw-r--r--    1 root     root       184896 Nov  1 14:10 DejaVuSansMono-Oblique.ttf
-rw-r--r--    1 root     root       237788 Nov  1 14:10 DejaVuSansMono.ttf
-rw-r--r--    1 root     root       201516 Nov  1 14:10 DejaVuSerif-Bold.ttf
-rw-r--r--    1 root     root       180948 Nov  1 14:10 DejaVuSerif-BoldOblique.ttf
-rw-r--r--    1 root     root       179872 Nov  1 14:10 DejaVuSerif-Oblique.ttf
-rw-r--r--    1 root     root       210416 Nov  1 14:10 DejaVuSerif.ttf
-rw-r--r--    1 root     root      3081908 Nov  1 14:10 DroidSansFallback.ttf
-rw-r--r--    1 root     root          915 Nov  1 14:10 README
-rw-r--r--    1 root     root        75363 Nov  1 14:10 UTBI____.pfa
-rw-r--r--    1 root     root        72834 Nov  1 14:10 UTB_____.pfa
-rw-r--r--    1 root     root        74892 Nov  1 14:10 UTI_____.pfa
-rw-r--r--    1 root     root        72354 Nov  1 14:10 UTRG____.pfa
-rw-r--r--    1 root     root        65932 Nov  1 14:10 Vera.ttf
-rw-r--r--    1 root     root        63208 Nov  1 14:10 VeraBI.ttf
-rw-r--r--    1 root     root        58716 Nov  1 14:10 VeraBd.ttf
-rw-r--r--    1 root     root        63684 Nov  1 14:10 VeraIt.ttf
-rw-r--r--    1 root     root        55032 Nov  1 14:10 VeraMoBI.ttf
-rw-r--r--    1 root     root        49052 Nov  1 14:10 VeraMoBd.ttf
-rw-r--r--    1 root     root        54508 Nov  1 14:10 VeraMoIt.ttf
-rw-r--r--    1 root     root        49224 Nov  1 14:10 VeraMono.ttf
-rw-r--r--    1 root     root        60280 Nov  1 14:10 VeraSe.ttf
-rw-r--r--    1 root     root        58736 Nov  1 14:10 VeraSeBd.ttf
-rw-r--r--    1 root     root        40766 Nov  1 14:10 c0419bt_.pfb
-rw-r--r--    1 root     root        39511 Nov  1 14:10 c0582bt_.pfb
-rw-r--r--    1 root     root        40008 Nov  1 14:10 c0583bt_.pfb
-rw-r--r--    1 root     root        39871 Nov  1 14:10 c0611bt_.pfb
-rw-r--r--    1 root     root        33799 Nov  1 14:10 c0632bt_.pfb
-rw-r--r--    1 root     root        35229 Nov  1 14:10 c0633bt_.pfb
-rw-r--r--    1 root     root        34869 Nov  1 14:10 c0648bt_.pfb
-rw-r--r--    1 root     root        35118 Nov  1 14:10 c0649bt_.pfb
-rw-r--r--    1 root     root       126064 Nov  1 14:10 cour.pfa
-rw-r--r--    1 root     root       126868 Nov  1 14:10 courb.pfa
-rw-r--r--    1 root     root       125201 Nov  1 14:10 courbi.pfa
-rw-r--r--    1 root     root       122124 Nov  1 14:10 couri.pfa
-rw-r--r--    1 root     root        54914 Nov  1 14:10 cursor.pfa
-rw-r--r--    1 root     root         3109 Nov  1 14:10 fixed_120_50.qpf
-rw-r--r--    1 root     root         2567 Nov  1 14:10 fixed_70_50.qpf
-rw-r--r--    1 root     root       263331 Nov  1 14:10 japanese_230_50.qpf
-rw-r--r--    1 root     root        77488 Nov  1 14:10 l047013t.pfa
-rw-r--r--    1 root     root        78101 Nov  1 14:10 l047016t.pfa
-rw-r--r--    1 root     root        77941 Nov  1 14:10 l047033t.pfa
-rw-r--r--    1 root     root        78500 Nov  1 14:10 l047036t.pfa
-rw-r--r--    1 root     root        70121 Nov  1 14:10 l048013t.pfa
-rw-r--r--    1 root     root        72496 Nov  1 14:10 l048016t.pfa
-rw-r--r--    1 root     root        72332 Nov  1 14:10 l048033t.pfa
-rw-r--r--    1 root     root        71902 Nov  1 14:10 l048036t.pfa
-rw-r--r--    1 root     root        93860 Nov  1 14:10 l049013t.pfa
-rw-r--r--    1 root     root        92799 Nov  1 14:10 l049016t.pfa
-rw-r--r--    1 root     root       102798 Nov  1 14:10 l049033t.pfa
-rw-r--r--    1 root     root        94877 Nov  1 14:10 l049036t.pfa
-rw-r--r--    1 root     root         1602 Nov  1 14:10 micro_40_50.qpf
-rw-r--r--    1 root     root      1215089 Nov  1 14:10 unifont_160_50.qpf

そんなわけで、フォント変更したい人へのヒント
・/usrパーテーションはreadonlyなので、read/write可にしなければいけない
・/usr/local/Trolltech/QtEmbedded-4.6.2-arm/lib/fonts/にttfファイルをおけばいい
・sys.configを書き換えればフォントを書き換えられるかと「モトヤLベルマリ3等幅」としてみたがうまくいかなかった
・Android的にDroidSansJapanese.ttfでもおけばいいかな?と期待したが、うまく行かず、DroidSansFallback.ttfを置き換えた
・成功したらdvt_checkスクリプトのファイル名を変更しておかないと、毎回電源on時に実行されるので注意

変更前のサンプル

モトヤLベルマリ3等幅に変更したサンプル

ちなみに以下にあげた文字が中華フォントを使う際に違和感を覚えるものです。

液状「化」
後「悔」
雲「海」
常軌を「逸」した
「羅」列
「突」然
「終」末
「空」中

これ以外だと「今」とか「~」とかがあります。