Kindle Touch 是原生支持中文的,所以直接显示中文,没有多大问题,但是仔细看的话,会发现,其显示中文的字体是无衬线的,啥叫无衬线呢,微软雅黑和黑体就是无衬线的,学过前端或者印刷或者平面等的同学都会知道,吴衬线字体,其实不适合作为正文的字体的,因为长时间看无衬线字体,会很疲劳,因此。另一个问题就是,有些字体,大小不一,颜色深浅不一,看着不是很舒服,于是,既然越狱了,就干脆改了字体。

注意,一下步骤,需要先将系统越狱,以及安装 usbnetwork,并可以用 ssh 链接到 kindle,具体方法可见我 之前的一片文章《Kindle 折腾起步,越狱及备份》 。

本文方法参考了以下几位前辈的文章:Dnxnwindirtixtab

因为 Kindle Touch 实际上是基于 Linux ,加上 Java 虚拟机,以及一些框架构成的,所以,其字体配置其实就是 Linux 系统下的 Fontconfig 文件,也就是位于 /etc/fonts/ 下的 local.conf 配置文件。

如果您对 Linux 不熟悉的话,可以看下这个文档 “Fontconfig配置详解” ,当然,如果您不愿意去费这力气,继续往下按照我的步骤就是。

这是 local.conf 中关于字体的一段

<alias>
    <family>serif</family>
    <prefer>
    <family>Caecilia Regular</family> #英文字体
    <family>Kindle Symbol</family> #KT中用到的小图标字体
    <family>HeiseiMaruGoth_JIS0213_E</family> #日文字体
    <family>HangulGothicMTC-Medium_E</family> #韩文字体
    <family>MHeiGB18030C-Medium_E</family> #简体中文字体
    <family>MHeiC-Medium-Big5HKSCS_E</family> #正体中文字体
    <family>Code2000</family> #同样是英文字体,备用
    </prefer>
</alias>

这是 serif 也就是衬线字体的配置部分,纵观整个 local.conf ,其实 serif ,sans-serif 的差别只有英文字体部分,而中文字体,只有一个 “MHeiGB18030C-Medium_E” ,而大家知道,日文中,也会有汉语字符,那些个深浅不一的字,就是先从“HeiseiMaruGoth_JIS0213_E”这个日文字体中找到了那个字,所以产生了这种情况,我们要做的,就是在这个字体之前,插入我们自定义的字体。
方法大致如下:


mntroot rw
ln -s /mnt/us/fonts/99-leigh.conf /etc/fonts/conf.d/
cd /usr/share/fonts
mkdir leigh
cd leigh
ln -s /mnt/us/fonts/*.ttf .
mkfontscale
mkfontdir
fc-cache -v -f
mntroot ro
killall cvm
exit

你可以下载我的字体配置文件:下载地址 Update: 根据大家反馈,网盘换至华为网盘。@2012.08.07

下面是回复默认的方法,同样需要 ssh 登录~


mntroot rw
rm -f /etc/fonts/conf.d/99-leigh.conf
cd /usr/share/fonts
rm -rf leigh
fc-cache -v -f
mntroot ro
killall cvm
exit

我的配置大致如下:
定义 serif :字体为 方正雅宋;
定义 sans-serif :字体为 华文细黑(常态),微软雅黑(粗体)//原以为华文细黑是 sans-serif,结果貌似在kindle上看起来是 serif ,不管了,反正耶不用 sans-serif 看书,实在有需要或者有完美主义的朋友可以自己改成雅黑之类的
condensed 则使用了微软正黑,如果繁体字的书,可以用这个字体看,也许效果会好一点。
monospace 则是用了 ixtab 包里的 Bitstream Vera Sans Mono 字体,效果还不错。

截图如下:
目录页,因为有定义粗体字,所以不会出现 dnxn 的现象

下面是中文效果,这个字体因该是 雅宋 字体。

下面是英文显示,因该是和原生没有区别的,因为我们是在日文字体之前插入我们的自定义字体,而没有覆盖掉英文的字体设置。

下面是新闻页的展示: