给Kindle4更换字体

By
尝鲜试用

kindle4用了也有段时间了,起先用多看系统,不得不说这个系统很多功能是很让人振奋的,比如pdf重排,自定义壁纸之类的。但是经过一段时间的使用之后,开始觉得没必要了,英文也不是那么吃力,而且原版的功能要好很多,比如省电,还有翻页速度和黑屏之类的,毕竟是原生的。而且像之前某前辈说的,太早选择多看会错过很多原系统的好。

但是有个问题还是让人不得不介意的:字体。原生支持中文,但是显示效果和英文比起来差太多了,粗细不均,大小还有差别,而且那种字体看着很吃力~~

所以本着少折腾的原则(不可信),我开始找换字体的教程,终于在这里找到了:Kindle 4 更换中文字体,感谢原作者的辛苦翻译。我修改的过程如下:

1) 获得序列号

在Kindle的盒子屁股上有你的设备序列号(形如:B00114XXXXXXXXXX

2) 获得root密码

我的系统是4.0.1,按照原文的办法找了半天密码,最后发现root 密码为原文说的4.0的 “mario”(不含引号)。

3) 复制字体,进入调试模式

将Kindle通过usb连接至PC,将要替换的中文字体文件复制到Kindle的documents文件夹下,如CJK.ttfCJK_Bold.ttf(前者是普通字体,后者是粗体)。我用的是方正雅宋,比较像一直用的课本字体(让我能静下来正经阅读)。

然后,为了进入调试模式,需要在kindle根目录下创建一个名为“ENABLE_DIAGS”的空文件。重启设备(Settings -> Menu -> Restart)

4) 调试模式下开启USBnet

重启后,设备会自动进入调试模式,将Kindle连上USB线,在菜单中依次选择 Misc individual diagnostics -> Utilities -> Enable USBnet,最后并根据提示按方向键右键确认(FW RIGHT)

5) 安装驱动

在Windows(7)下,系统可能不能识别调试模式下的Kindle,你需要在设备管理器(device manager)中选中新的未知设备(其默认被识别在网络适配器[Network Adapter]条目下),右键选择更新驱动程序,然后选择手动查找的方式,在列表中选择网络适配器(Network adapter),厂商选择Microsoft Coporation ,选择设备为“Remote NDIS based internet sharing device”(这里可能有出入,也可能在中Microsoft Inc)。

6) 设置网络连接

在网络连接面板中,会出现一个新的网络连接(对应于上一步安装的设备),设置该连接IP为:192.168.15.1,子网掩码为:255.255.255.0 ,其它保持默认。

7) SSH登录

现在就可以通过SSH登录了,在Putty中连接到192.168.15.244(这是Kindle的默认地址) ,输入用户名为 root ,密码为 2) 中所得(mario) 。

不出意外的话,现在已经以root身份成功登录kindle,下面的步骤是替换中文字体。

8 ) 挂载驱动器

在PC的SSH终端上输入以下命令挂载驱动器:

mount /dev/mmcblk0p1 /mnt/base-mmc

9) 复制字体

我们先前复制的字体存储在(/mnt/base-us/documents/)路径下,Kindle系统字体存储在(/mnt/base-mmc/usr/java/lib/fonts/),输入以下命令将要替换的字体复制到系统字体文件夹下:

cp /mnt/base-us/documents/CJK.ttf /mnt/base-mmc/usr/java/lib/fonts/
cp /mnt/base-us/documents/CJK_Bold.ttf /mnt/base-mmc/usr/java/lib/fonts/

10) 修改系统默认字体设置

在修改前,先对系统文件进行备份,有备无患:

cp /mnt/base-mmc/usr/java/lib/font.properties /mnt/base-mmc/usr/java/lib/font.properties.bak

然后,执行:

vi /mnt/base-mmc/usr/java/lib/font.properties

找到如下行:

hans.0=MHeiM18030_E.ttf
hans.plain=MHeiM18030_E.ttf
hans.1=MHeiM18030_E_Bold.ttf
hans.bold=MHeiM18030_E_Bold.ttf

将其修改为(按 i 键进入编辑模式):

hans.0=CJK.ttf
hans.plain=CJK.ttf
hans.1=CJK_Bold.ttf
hans.bold=CJK_Bold.ttf

保存退出(按ESC,输入 :wq)。

Update:经过以上步骤的修改后,语言为中文的书籍就能够正常显示了,但对于未设置语言的书籍(可以用PC上的calibre进行设置),以及Kindle主界面中的书籍标题,仍然没有更新到新的字体。我观察发现,问题在于Kindle会优先使用日文来渲染汉字,所以会存在日文汉字、正体中文、简体中文交叉显示的情况。在下文步骤 12)中已经提供了一个较好的解决方法。因此,一个不太好的办法就是将日文及正体中文均改为使用简体汉字字体来渲染,这样便能解决上述问题,而代价就是不能正常显示日文及正体中文。下面是修改的方法,当然我们期待的是Amazon能够更完美的支持简体中文显示(如果不在意上述问题,完全可以忽略下面的修改)。需要修改的地方如下:

11) 退出调试模式

在Kindle上退回到调试模式主菜单,并选择“Exit, Reboot or Disable Diags’”->”’Disable Diagnostics”,并按照提示按左键确认(FW Left )退出。稍等片刻,设备将重启并回到正常模式。

Update:

12) 修改区位字符编码

根据peikkk在留言中的提示,按照以下方法,不用修改日文及正体中文的字体设置,就能够很好的解决书籍标题及未设定语言的书籍的字体显示问题,再次感谢。

当Kindle回到正常模式后,在主界面中按键盘键调出虚拟键盘,输入:

;debugOn –>确认键
~changelocale zh-CN.utf8 –>确认键
;debugOff –>确认键

重新启动Kindle
可以很好的让目录和未指定语言的书显示所指定的简体字体。
而不用再 去改动 日韩和繁体字的 font配置文件了

不出意外,字体已经替换成功了。感谢原作者~~【Kindle 4 更换中文字体】

关于广告推送的问题,有人说替换字体之后不给推广告了,我这边用@free.kindle.com往k4上推了几本书之后,广告推送貌似正常了……

Comments: 61

  1. 呃。。。太高级了

    2012年03月25日
  2. Kindle 是什么东东

    2012年03月26日
  3. 还是用我的苹果,其实也挺好

    2012年03月27日
  4. 不会玩!

    2012年03月27日
  5. 没时间折腾。。。 :wink:

    2012年03月27日
    • @Don 换个字体挺好~

      @venmax 2012年04月02日
    • @axiu 发个截图看看呢,自带的就可以了吧 :wink:

      2012年04月03日
    • @Don 这个看自己爱好了,我是比较喜欢像印刷品的字体~如果原生的能习惯就不用换了

      @venmax 2012年04月03日
  6. 原来修酱入了 k4 啊,看书爽吧,哈
    不过 k4 的改字体可比 k3 麻烦多了 :???:

    2012年04月18日
  7. 还没用过这种电子阅读

    2012年04月23日
  8. 有点小麻烦,不过用Kindle4看书看了大概2个多月了,感觉中文字体还可以啊,没那么毛刺。

    2012年07月09日
  9. :?: 我菜鸟,刚到手就想把字体换了,结果到地7步不知道怎么做了,不知道那个SSH登陆是怎么回事啊,可以说的详细一些吗?

    2012年08月08日
  10. 谢谢。

    2012年08月09日
  11. 朋友,你好,看了你的教程深受启发。但是有一点不明之处。我到了第七步就卡住了。putty里面连接那个IP死活不行。一直显示refused。ping那个IP是通的

    2012年08月27日
  12. 我的email是mrangry1968@gmail.com 可否帮帮我 谢谢。

    2012年08月27日
    • @wss 抱歉没能帮上你的忙

      @venmax 2012年08月27日
  13. 你好!!我想问下。。。我进行到SHH登陆的时候进行不下去 想退出显示device_info.xml not found。。。。怎么办???

    2012年09月28日
    • @koi kindle版本升级了,新版的不知道怎么搞了~~

      @venmax 2012年09月29日
  14. 我刚买的k5

    2012年11月29日
  15. 好复杂哦,还是好好看书吧

    2013年02月19日

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

:razz: