最近看了不少帖子,讲如何替换字体,结果自己试了半天,不是出现方框,就是中文粗细不均匀。经过自己的尝试,终于大功告成!

 

优点:

  • 对local.conf和字体修改小——有备份,可恢复;
  • 解决了中文粗细不均匀的问题;
  • 不影响英文、日文、繁体中文、韩文等的显示。

 

废话少说,图以后再上。。。

上图啦!

 

Kindle Touch 中文字体完美替换实践【粗细均匀】_ 字体

Kindle Touch 中文字体完美替换实践【粗细均匀】_ 字体_02

 

前提:

  1. (必要前提)越狱。(本文略)

  2. (必要前提)安装PuTTY或WinSCP。(本文略)

  3. (必要前提)安装usbnetwork。(本文略)

  4. (可选)备份工作,如下:

注意:我的程序中已进行了相关备份,但若为了防止其他意外发生,请在操作前自行将以下几个文件做好备份:

  • /etc/fonts/local.conf
  • /usr/java/lib/fonts/MHeiM18030_E.ttf,
  • /usr/java/lib/fonts/MHeiM18030_E_Bold.ttf

 

正式开始:

[1] 将附件解压在自己的kindle touch根目录下某一目录,如fonts目录;

[2] 在该目录内拷贝进去自己喜欢的字体;

[3] 修改两个脚本:install_font.sh和restore_font.sh,根据自己的情况将下边×××部分修改:包括路径字体文件名。(例如,我将粗体修改为方正兰亭黑,正文修改为方正雅宋,均是GBK字体哦!)

[4] 将FONT_DIR后修改为你的字体所在文件夹名。(例如,我放在了fonts目录下)

[5] kindle上启动usbnetwork(Laucher下启动,或在地址栏内输入“;un”然后回车);

[6] 从PuTTY以root登录kindle touch,执行如下命令:(注意:路径要输入正确!就是fonts的地方)

  1. /mnt/us/fonts/install_font.sh 

[7] 等待kindle重启完成后,执行exit,完成!

 

脚本:

install_font.sh:

  1. #!/bin/sh 
  2.  
  3. # echo commands 
  4. ECHO_FLAG=0 
  5.  
  6. ## User's fonts directory and files 
  7. ## CHANGE *** HERE *** to modify your fonts.  ## 
  8. FONT_DIR=fonts  # your font file directory 
  9. FONT_REGULAR=FZYaSong_M_GBK.ttf 
  10. FONT_BOLD=FZLanTingHei-B-GBK.ttf 
  11.  
  12. # Chinese font files 
  13. CHINESE_FONT_REGULAR=MHeiM18030_E.ttf 
  14. CHINESE_FONT_BOLD=MHeiM18030_E_Bold.ttf 
  15.  
  16. FULL_FONT_DIR=/mnt/us/$FONT_DIR 
  17. if [ $ECHO_FLAG ] ; then 
  18.     echo -e "[1/4] Re-mounting your Kindle to r/w." 
  19. fi 
  20. mntroot rw  
  21.  
  22. # Change local.conf 
  23. CONF_FILE=local.conf 
  24. if [ $ECHO_FLAG ] ; then 
  25.     echo "[2/4] Changing $CONF_FILE." 
  26. fi 
  27. cd /etc/fonts 
  28. if [ ! -e $CONF_FILE.ori ] ; then 
  29.     mv $CONF_FILE $CONF_FILE.ori 
  30. else 
  31.     rm $CONF_FILE -f 
  32. fi 
  33. cp $FULL_FONT_DIR/$CONF_FILE . 
  34.  
  35. Replace user's fonts 
  36. if [ $ECHO_FLAG ] ; then 
  37.         echo "[3/4] Safely replacing Kindle's fonts file." 
  38. fi 
  39. cd /usr/java/lib/fonts 
  40. if [ ! -e $CHINESE_FONT_REGULAR.ori ] ; then 
  41.     mv $CHINESE_FONT_REGULAR $CHINESE_FONT_REGULAR.ori 
  42. else 
  43.     rm $CHINESE_FONT_REGULAR -f 
  44. fi 
  45. if [ ! -e $CHINESE_FONT_BOLD.ori ] ; then 
  46.     mv $CHINESE_FONT_BOLD $CHINESE_FONT_BOLD.ori 
  47. else 
  48.     rm $CHINESE_FONT_BOLD -f 
  49. fi 
  50. ln -s $FULL_FONT_DIR/$FONT_REGULAR $CHINESE_FONT_REGULAR 
  51. ln -s $FULL_FONT_DIR/$FONT_BOLD $CHINESE_FONT_BOLD 
  52.  
  53. # Restart Kindle 
  54. if [ $ECHO_FLAG ] ; then 
  55.         echo -e "[4/4] Remounting and rebooting your Kindle." 
  56. fi 
  57. mntroot ro 
  58. killall cvm 
  59.  
  60. echo -e "\n\t\tFinished. Have Fun! \n" 

restore_font.sh:

  1. #!/bin/sh 
  2.  
  3. # echo commands 
  4. ECHO_FLAG=0 
  5.  
  6. ## User's fonts directory and files 
  7. ## CHANGE *** HERE *** to modify your fonts.  ## 
  8. FONT_DIR=fonts  # your font file directory 
  9. FONT_REGULAR=FZYaSong_M_GBK.ttf 
  10. FONT_BOLD=FZLanTingHei-B-GBK.ttf 
  11.  
  12. # Chinese font files 
  13. CHINESE_FONT_REGULAR=MHeiM18030_E.ttf 
  14. CHINESE_FONT_BOLD=MHeiM18030_E_Bold.ttf 
  15.  
  16. FULL_FONT_DIR=/mnt/us/$FONT_DIR 
  17. if [ $ECHO_FLAG ] ; then 
  18.     echo -e "[1/4] Re-mounting your Kindle to r/w." 
  19. fi 
  20. mntroot rw  
  21.  
  22. # Change local.conf 
  23. CONF_FILE=local.conf 
  24. if [ $ECHO_FLAG ] ; then 
  25.     echo "[2/4] Restoring $CONF_FILE." 
  26. fi 
  27. cd /etc/fonts 
  28. if [ -e $CONF_FILE.ori ] ; then 
  29.     rm $CONF_FILE -f 
  30.     mv $CONF_FILE.ori $CONF_FILE 
  31. fi 
  32.  
  33. # Restoring Kindle's fonts 
  34. if [ $ECHO_FLAG ] ; then 
  35.         echo "[3/4] Safely restoring Kindle's fonts file." 
  36. fi 
  37. cd /usr/java/lib/fonts 
  38. if [ -e $CHINESE_FONT_REGULAR.ori ] ; then 
  39.     rm $CHINESE_FONT_REGULAR -f 
  40.     mv $CHINESE_FONT_REGULAR.ori $CHINESE_FONT_REGULAR 
  41. fi 
  42. if [ -e $CHINESE_FONT_REGULAR.ori ] ; then 
  43.     rm $CHINESE_FONT_BOLD -f 
  44.     mv $CHINESE_FONT_BOLD.ori $CHINESE_FONT_BOLD 
  45. fi 
  46.      
  47. # Restart Kindle 
  48. if [ $ECHO_FLAG ] ; then 
  49.         echo -e "[4/4] Remounting and rebooting your Kindle." 
  50. fi 
  51. mntroot ro 
  52. killall cvm 
  53.  
  54. echo -e "\n\t\tRestored. Have Fun! \n" 

 

参考文献:

[1] http://www.4ucode.com/Study/Topic/1049546

[2] http://www.idndx.com/posts/knowing-kindle-touch-font-mechanism-and-get-the-best-way-to-replace-chinese-fonts.html