首页 > 其他分享 >给Kindle4更换字体

给Kindle4更换字体

时间:2023-05-05 14:11:46浏览次数:36  
标签:CJK mnt Kindle4 base 字体 Kindle 更换 mmc

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

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

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

1) 获得序列号

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

2) 获得root密码

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

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

将Kindle通过usb连接至PC,将要替换的中文字体文件复制到Kindle的documents文件夹下,如_CJK.ttf_ 和_CJK_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上推了几本书之后,广告推送貌似正常了……

标签:CJK,mnt,Kindle4,base,字体,Kindle,更换,mmc
From: https://www.cnblogs.com/xiaoyao404/p/17373952.html

相关文章

  • Django如何更换默认的数据库?
    问题:Django默认的sqlite3不好用。如何更换呢?解决:第一步:配置文件在setting中--更改databaseDATABASES={#'default':{#'ENGINE':'django.db.backends.sqlite3',#'NAME':BASE_DIR/'db.sqlite3',#......
  • vue学习 第九天(2) css高级技巧. ---- 精灵图 / 字体图片 / CSS三角
    学习目标:1)精灵图2)字体图标3)CSS三角4)CSS用户界面样式5)vertical-align属性应用6)溢出的文字省略号显示7)常见的布局技巧 1、精灵图1)需要精灵图的原因  (减少网页多张小图片的多次服务器请求)网页中有很多小的背景图,过多的图片。......
  • centos7 更换yum源
    1.先备份系统自带的yum源mv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup2.下载国内yum源配置文件到/etc/yum.repos.d/wget-O/etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo3.如遇:正在解析主机mirrors.al......
  • kali更换源
    1、进入vim模式sudosuvim/etc/apt/sources.list2、国内源#官方源#debhttp://http.kali.org/kalikali-rollingmainnon-freecontrib#deb-srchttp://http.kali.org/kalikali-rollingmainnon-freecontrib#根据需要自己选一个,中科大的还可以#中科大debhttp:/......
  • C++-改变终端(cout/printf)输出不同颜色的字体-Linux
    C++-改变终端(cout/printf)输出不同颜色的字体-Linuxhttps://blog.csdn.net/qq_41972382/article/details/90311102不同颜色的输出主要依据格式ESC[*m,ESC的八进制为\033,*可以是多个属性的组合,用,隔开。printf#include<iostream>usingnamespacestd;intmain(){print......
  • plt 中文字体可视化
    PythonMatplotlib图片/坐标轴标题的设置和字体修改matplotlibfontdict字体设置......
  • [Termux]更换Termux源 安装Debian容器并 设置Debian镜像源且 安装code-server(附安卓/
    前言Termux开发者称已经不会在GooglePlay上更新该应用了,要么在Github下载要么去F-Driod下载,为了方便下载,本文已经给出下载链接...GitHub下载链接:https://github.com/termux/termux-app/releases/download/v0.118.0/termux-app_v0.118.0+github-debug_universal.apk(GitHub......
  • mac更换homebrew
    在mac系统中,使用homebrew可以很方便的管理包。按照官网的说明执行以下命令时总是报错: /usr/bin/ruby-e"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)"应该是这个资源访问有问题,那么我们可以尝试使用国内的镜像。给大家推荐一个中科院的镜......
  • python-doc替换docx表格字段后,设置替换后字段的字体、字号、对齐方式
    python-doc替换docx表格字段后,设置替换后字段的字体、字号、对齐方式fromdocximportDocument#打开docx文档doc=Document(r'E:\hhj\202304\图片excel\example.docx')#遍历文档中的所有表格fortableindoc.tables:#遍历表格中的每个单元格forcellinta......
  • 前端项目使用vw视口单位进行适配时字体大小的解决方案
    使用视口单位vw来实现响应式排版。1vw等同于视口宽度的百分之一,即如果你用vw来设定字体大小的话,字体的大小将总是随视口的大小进行改变。问题在于,当做上面的事情的时候,因为文本总是随着视口的大小改变大小,用户失去了放缩任何使用vw单位的文本的能力。所以你永远都不要只用viewpo......