做功課
是這樣的,某天在 IRC 上看到某長輩發言 “j5g: Hmm….有點想買 Kindle DX”,小宇宙就有了光,開始上網搜尋 Kindle 相關資訊,經過 Amazon, Wikipedia, Mobile01, MobileRead 無情的生火之後,終於爆炸了啦啦啦!首先是 Kindle DX 的規格:
- 顯示:9.7 吋 E-Ink®, 825×1200 畫素,150 ppi, 16 級灰階,大小約比 A4 小一點
- 重量:536 克,適合坐著閱讀
- 記憶空間:4G
- 連線: MicroUSB
- 網路: 3G 上網
- CPU: Freescale 532 MHz, ARM11 (猜測)
- 作業系統: Linux 2.6.10*
嗯.. 作業系統是 Linux!有門!趕緊再搜尋一下,的確已經有許許多多成功 Hack Kindle 的案例,其容易的程度,說他是 Hackable Device 也不為過。
開箱
折騰了兩週,訂購的 Kindle DXG 終於在生日當天送達!小小開箱慶祝一下:
開箱之後就是充電,開始把各種不同的文件丟進去測試。這個版本的 Firmware (2.5.5) 對於 PDF 的支援其實已經不錯了,會自動裁掉多餘的留白,內嵌字型也都正常顯示,是一開始閱讀中文的方案之一。測試各種檔案之後發現只有一種不太適合放上來看,就是字很多的雙欄格式論文,因為顯示全頁會顯的字太小,偏偏 150 ppi 的解析度看不太清楚,若是放大瀏覽的話,雙欄論文的走向會需要來回拖拉,而拖拉正是目前 E-Ink® 的弱點…
除此之外,在 Kindle 上面閱讀是非常好的體驗,E-Ink® 的特性可以讓人真的進入閱讀的情境之中,內建的 Text-To-Speech 質量非常好,就有如真人在幫你朗讀一樣,新版的 Firmware 還新增了 Collection 的功能,解決 Kindle 以前一直為人詬病的無法分類電子書的問題,Kindle 3 的新 3.0 Firmware 還有直接支援多國語言,內建 Webkit 瀏覽器等。
中文
最早是把中文檔案做成 PDF 後再放進去瀏覽,但是 PDF 沒有章節不能做註解不能改變字型大小,就是有那麼一點不方便,如果可以直接看中文電子書多好?一不做二不休參考 MobileRead 論壇上的 Font Hack,先 JB 後安裝字型,之後就可以開始看中文電子書了!
不過因為系統一次只用一種字型,沒有 Fontconfig 的取代機制,所以若是把字型全部直接換為 Droid Sans Fallback,那所有的 Sans, Serif, Mono 通通變得一樣醜… 這時把 FontForge 拿出來,寫個 Script 把原本的 Kindle 字型和 Droid Sans Fallback 合併,就可以保留美觀的英文字跟還可以的中文。
# merge-fonts.pe
# Usage:
# Put the Chinese fonts under ch/ and original fonts under en/
# Run: fontforge -script merge-fonts.pe
#
# Pre-operation for some non-standard Chinese font file
Open("ch/Droid_Sans_Fallback.ttf")
SelectAll()
ScaleToEm(1024)
Generate("temp.ttf", "", 0x14)
Close()
# Open English font and merge to the Chinese font
Open("en/Helvetica_LT_65_Medium.ttf")
SelectAll()
ScaleToEm(1024)
MergeFonts("temp.ttf")
Generate("Sans_Regular.ttf", "", 0x14)
Close()
# Add more fonts below
不過這樣處理過的字型是不能散佈的,自己使用就好囉 😉
現在可以到古騰堡計劃下載電子書,或是把好讀網的 PDB 格式利用 Calibre 轉成 Mobi 檔案給 Kindle 用。當然若是有出版商販賣 .epub 格式或是其他可以轉檔的電子書,也都可以在 Kindle 上面瀏覽了 🙂
閱讀之餘
如最前面所說,Kindle 可以不只是電子書,還是台 Hackable 的玩意。諸如用 RS232 連線,安裝自己的程式甚至是 Ubuntu 都有人做過了,哪一天 Amazon 真的不再提供軟體升級的時候,我知道我的 Kindle 還是可以繼續帶來不一樣的樂趣 🙂
從 Amazon 取得 Kindle 的 GPL 源始碼,搭配 Firmware Update 的檔案內容,可以發現 Kindle 是相當傳統的 Linux 環境加上 Java 寫的系統程式,因此只要拿到 shell 之後 (無論是透過為裝的 Firmware Update 或是直接拉線開 serial port,或是開 USB Network),就可以作很多有趣的事 🙂
0 ./gplrelease/
368 ./gplrelease/alsa-lib-1.0.13_patch.tar.gz
544 ./gplrelease/alsa-utils-1.0.13_patch.tar.gz
946 ./gplrelease/e2fsprogs-1.38_patch.tar.gz
1529 ./gplrelease/procps-3.2.7_patch.tar.gz
2131 ./gplrelease/module-init-tools-3.2.2_patch.tar.gz
3996 ./gplrelease/base-files-3.0.14.ipk
20480 ./gplrelease/fuse-2.7.1_link.tar
41295 ./gplrelease/picocom-1.4.tar.gz
44398 ./gplrelease/hotplug-2004_09_20.tar.gz
46222 ./gplrelease/base-passwd_3.5.9.tar.gz
55813 ./gplrelease/dosfstools-2.11.tar.bz2
72842 ./gplrelease/powertop-1.10.tar.gz
80630 ./gplrelease/bonnie++-1.03c.tgz
99009 ./gplrelease/sysvinit-2.86.tar.gz
169182 ./gplrelease/module-init-tools-3.2.2.tar.bz2
173558 ./gplrelease/iptables-1.3.3.tar.bz2
194250 ./gplrelease/udev-112.tar.bz2
222558 ./gplrelease/bootchart-0.9.tar.bz2
280041 ./gplrelease/mtd-utils-1.0.0.tar.gz
280938 ./gplrelease/lrzsz-0.12.20.tar.gz
281965 ./gplrelease/procps-3.2.7.tar.gz
345794 ./gplrelease/libol-0.3.18.tar.gz
375416 ./gplrelease/ifupdown_0.6.8.tar.gz
426692 ./gplrelease/lzo-1.08.tar.gz
506312 ./gplrelease/fuse-2.7.1.tar.gz
607442 ./gplrelease/taglib-1.5.tar.bz2
649399 ./gplrelease/klibc-1.5.tar.bz2
709862 ./gplrelease/alsa-lib-1.0.13.tar.bz2
712166 ./gplrelease/syslog-ng-1.6.11.tar.gz
961662 ./gplrelease/readline-4.3.tar.gz
980874 ./gplrelease/alsa-utils-1.0.13.tar.bz2
1195099 ./gplrelease/gst-plugins-base-0.10.6.tar.bz2
1370907 ./gplrelease/util-linux-2.12r.tar.bz2
1735498 ./gplrelease/busybox-1.7.2.tar.bz2
1849092 ./gplrelease/gst-plugins-base-0.10.17.tar.bz2
2167909 ./gplrelease/gstreamer-0.10.17.tar.bz2
2902738 ./gplrelease/glib-2.12.9.tar.bz2
3621193 ./gplrelease/e2fsprogs-1.38.tar.gz
6969637 ./gplrelease/uboot-1.3.0-rc3.tar.bz2
13080365 ./gplrelease/binutils-2.17.50.0.5.tar.bz2
15321839 ./gplrelease/glibc-2.5.tar.bz2
39707720 ./gplrelease/gcc-4.1.2.tar.bz2
47285020 ./gplrelease/linux-2.6.22-lab126.tar.bz2
Happy Hacking!
Update
有網友提到有個名為“多看”的自製系統,可以安裝在 Kindle 上和原本系統共存。此自製系統整明了要以 Kindle 硬體為底打造自己的電子書系統是可行的,還支援了中文輸入、直接閱讀 ePub 等,社群討論也很踴躍。但是 此系統內許多元件來自 GPL/LGPL 授權的自由軟體,卻沒有提供相關的原始碼,此為不正確的示範,希望該團隊不要再自欺欺人…
版权说明:
Copyright 2010 DuoKan & www.duokan.com. All Rights Resevered
版权所有 DuoKan & www.duokan.com。
本软件由 DuoKan Dev Team 开发。
多看软件系统未经许可不得商业贩卖。作者对有商业贩卖行为的单位和个人保留追究其法
律责任的权利。
等到哪天被追究才後悔莫及呀…