凤舞清歌silversky.blog.chinaunix.net

花间一壶酒,独酌无相亲

  • 博客访问: 109439
  • 博文数量: 40
  • 博客积分: 747
  • 博客等级: 上士
  • 技术积分: 855
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-05 00:04
个人简介

执酒对饮桃花翩,醉踏歌剑挽流年。

文章分类

全部博文(40)

文章存档

2014年(5)

2013年(3)

2012年(19)

2011年(13)

微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

订阅
Kindle Touch 5.1.0 更换字体 2012-04-21 14:47:19

分类: LINUX

从同学那儿买来 KT 也有段时间了,升级到 5.1.0 后,一直用的是自带字体。
其实自带字体的效果看起来倒也不错,就是左上角的标题栏有些问题,不过影响也不大。
原机字体效果如图:


由于默认的字体是黑体一类,属于 sans-serif 无衬线字体,据说这种字体长时间阅读的话,会觉得很累。所以昨天心血来潮,想要加个 serif 衬线字体。
在网上游荡一番后,决定使用方正准雅宋 FZYaSong-M-GBK 和方正特雅宋 FZYaSong-H-GBK 两种字体

放张效果图看一下,其中正常的中文字体是方正准雅宋,加粗的中文字体是方正特雅宋,英文字体还是原机自带的:


下面是具体的字体替换过程 。
1. 首先越狱,这个网上资料就很多了,摘抄一下:
  1. 下载 KT 5.1.0 的破解文件后解压;
  2. 数据线连接 Kindle 然后复制 data.tar.gz 文件到电脑识别出来的 Kindle USB 磁盘的根目录;
  3. 创建一个空白文件 ENABLE_DIAGS (注意:不要有后缀名!比如,不是 ENABLE_DIAGS.txt 文件),然后同样放到 Kindle USB 的磁盘根目录;
  4. 创建一个空目录 diagnostic_logs 放到 Kindle 的磁盘根目录;
  5. 创建一个空文件 device_info.xml 放到刚才创建的目录 diagnostic_logs 里去;
  6. 安全移除 Kindle 和电脑的连接,然后重启 (Menu -> Settings -> Menu -> Restart);
  7. 开机后自动进入工程模式,选择 “D) Exit, Reboot or Disable Diags” (触摸点击选择相应选项);
  8. 选择 “R) Reboot System” 然后 “Q) To continue”;
  9. 此时会看到越狱的画面,然后自动重启后重新回到工程模式,再次选择 “D) Exit, Reboot or Disable Diags”;
  10. 选择 “D) Disable Diagnostics” 然后 “Q) To continue”;
  11. 现在 Kindle 已经成功越狱了,可以安全地删除 diagnostic_logs 目录了。
2. 然后安装 simple usbnet,使得可以通过 ssh 连接到 Kindle:
  1. 下载 simple_usbnet.zip 文件解压;
  2. 将 Kindle 连接到电脑,然后将【update_simple_usbnet_1.1_install.bin】文件复制到 Kindle 根目录下;
  3. 断开 Kindle 和电脑的连接,在主界面依次点击 Menu -> Settings -> Menu -> Update Your Kindle;
  4. 等待重启完成后,在主界面上方的搜索栏里输入(注意:字母前面有个分号) ;un 虚拟键盘上回车;
  5. 接下来接着在搜索栏里输入 ;un password 新密码,虚拟键盘上回车;
  6. 将 Kindle 连接到电脑,此时可以发现多了一个 usb0 网卡(我的操作系统为 Archlinux)
    1. $ ip link
  7. * 如果插上数据线后,Kindle 以U盘模式连接了,需要断开连线按照步骤4 运行一次 ;un 再连机。反之,如果最后操作都完成了,需要重新回到U盘模式,再重复步骤4 一次即可。
  8. 为新增的 usb0 网卡设置 IP 地址
    1. $ sudo ip link set dev usb0 up
    2. $ sudo ip addr add 192.168.15.1/24 dev usb0
  9. 此时可以通过数据线进行 ssh 登录了(密码即为刚才设置的 新密码)
    1. $ ssh root@192.168.15.244
3. 下面对字体进行配置
其实所谓替换字体,最主要的便是对字体配置文件的修改。对于 Kindle,该文件为 /etc/fonts/local.conf
修改好配置文件后,只需将其直接覆盖 Kindle 的原文件即可。
关于该配置文件的详细说明,会在后面的文章介绍。这里是我的配置文件。

具体操作如下——
1) 通过 ssh 登录 Kindle 后:
  1. # mntroot rw #将根分区以读写模式重新挂载
2) 将字体文件复制到 Kindle 中 (此步骤需要在电脑上重新打开一个终端运行,而不是在登录到 Kindle 的 ssh 中):
  1. $ scp FZYaSong_M_GBK.ttf FZYaSong_H_GBK.ttf root@192.168.15.244:/usr/java/lib/fonts
3) 将配置好后的 local.conf 复制到 Kindle 中 (说明同上):
  1. $ scp local.conf root@192.168.15.244:/etc/fonts
4) 刷新字体缓存:
  1. # cd /usr/java/lib/fonts #进入到系统存放字体的目录
  2. # mkfontdir #为当前目录建立字体索引
  3. # fc-cache -fv #重建字体缓存,耐心等待其执行完成。这一步很重要,否则 fontconfig 会找不到新加入的字体
  4. # mntroot ro #将根分区重新挂载为只读模式
  5. # killall cvm #重新加载Kindle Freamework,使字体设置生效
这样,便可以看到修改后的字体效果了。
4. 后续
按照该文后面的第二条评论所言:
  1. 每次 KT 重新启动时,启动脚本会将 /opt/var/cache/fontconfig/* 复制到 /var/cache/fontconfig/,使字体缓存失效。可在做好备份的基础上,将 /var/cache/fontconfig/ 中的同名文件复制到 /opt/var/cache/fontconfig/,这样 KT 重启也不必更新字体缓存了。
这个问题就困扰了我很长时间。之前我不知道可以通过
  1. # killall cvm
命令来应用字体设置,以为只有重启后才能生效。然而当我重启后,发现字体居然还是原样!搞了好几次,一直都没有成功。
我一度以为是自己的文件配置问题,为此还查看了网上许多别人的配置文件,却发现并没有什么太大的异样。
这个问题着实让我郁闷了许久,搞得丧气不已,后来总算在文章的评论中看到了症结所在!

操作如下:
  1. # cd /opt/var/cache/fontconfig/ # 进入到目录
  2. # ls # 查看当前目录有哪些文件,我的只有一个文件,假设其文件名为 file
  3. # cp file file.bak # 备份该文件
  4. # cp /var/cache/fontconfig/file . # 复制新的字体缓存文件,其中 file 应该为上面看到的那个文件名
这样,即使重启 KT ,字体也不会变回原样了。
5. 最终效果图
主界面字体:

=========
regular 字体,方正准雅宋:

=========
condensed 字体,原机的中文显示字体 HeiseiMaruGoth_JIS0213_E (其实该字体是日文字体):

=========
sans-serif 字体,原机自带的中文字体 MHeiGB18030C-Medium_E (这个才是真正的中文字体):


6. 说明
关于左上角标题的字体不一的问题,我还没有找到相关资料。
据我观察,左上角的标题字体的前半部分为 HeiseiMaruGoth_JIS0213_E 字体,后半部分较细的为 code2000 字体。
不知道为什么这一处会混合了两种字体,目前也没有找到其对应的配置文件,所以只好先由着它了,待以后解决(该问题已经解决,见这里),不过所幸这个问题影响也不是很大。

-------------
参考资料:
阅读(4714) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册