janlay’s blog

悠悠人生路,翩翩少年情

方便地更换 Kindle 4 中文字体

入手 Kindle 4 之后,一直觉得用着还算顺手,就懒得折腾。除了不支持 epub 格式的电子书, 我觉得目前 Kindle 已经很不错了。听音乐、上网这些功能,个人以为,对电子阅读器来说有些画蛇添足。

但是再好的消费品也有折腾的空间(或者说乐趣),不是吗?嗯,那就先从字体开刀吧。

理顺编码问题

之前我已经注意到 Kindle 显示中文的问题:有些文档汉字显示差强人意,表现在拐角虚化而且线条粗细不一,有点像普通屏上的小号细圆体显示效果;而有的文档则显示还算好看的那种字体(内置的某种黑体)。

这是因为 Kindle 默认编码不是中文(据说是日文?)。解决方法很简单也有点繁琐:在书本列表页面调出键盘,依次输入以下三行命令:

1
2
3
;debugOn
~changeLocale zh-CN.utf8
;debugOff

每行结束时输入回车符,完成后无需重启设备即可生效。

通过上面的设置,可以让 Kindle 对所有中文电子书显示内置的字体,它已经可以满足大多数人的视觉要求了。

但是有没有想过,尝试一下其他中文字体在 Kindle 上的显示效果呢?这里就人推荐用雅宋体。

网上已经有很多介绍如何给 Kindle 更换字体的文章,大多通过放置调试文件,然后重启 Kindle 进入调试,开启 USBnet 然后通过 SSH 登录进入修改的套路。这个流程过于繁琐,非常不利于折腾。下面介绍一下如何在不登录 SSH 的情况下更换 Kindle 4 字体的方法。

准备字体

首先,准备好要替换的中文字体。如果没有相应的黑体(Bold)版本,可以把 foo.ttf 复制一份为 foo-Bold.ttf

然后,连接 Kindle 到电脑,并在 Kindle 上创建 font 目录,将刚才准备好的字体放进去。

SSH 登录

第一次替换字体时,你仍然需要登录 SSH 进入 Kindle 系统,具体方法请看前面的链接。

写入符号连接

登录后,首先要挂载 Kindle 的系统分区:

1
[root@[192_168_15_244] root]# mount /dev/mmcblk0p1 /mnt/base-mmc

然后,创建字体文件的符号连接:

1
2
[root@[192_168_15_244] root]# ln -s /mnt/base-us/font/current.ttf /mnt/base-mmc/usr/java/lib/fonts/current.ttf
[root@[192_168_15_244] root]# ln -s /mnt/base-us/font/current-Bold.ttf  /mnt/base-mmc/usr/java/lib/fonts/current-Bold.ttf

最后,修改字体配置文件:

1
[root@[192_168_15_244] root]# vi /mnt/base-mmc/usr/java/lib/font.properties

打开 font.properties 文件后,搜索 hans, 将连续的四行修改为:

1
2
3
4
hans.0=current.ttf
hans.plain=current.ttf
hans.1=current-Bold.ttf
hans.bold=current-Bold.ttf

保存退出 vi 后,就可以退出 SSH, 重启查看新字体的显示效果了。

后续更换字体

以后,再换字体就非常方便了。只需把 Kindle 连接到电脑,复制字体文件到 font 目录,并确保新字体文件包括 current.ttfcurrent-Bold.ttf. 然后重启设备即可生效。

Comments