[网友投稿] 多看未root下增加罕见生僻字及替换系统字体
本文系网友“不老山”的投稿,曾投稿文章《为 Kindle 增加支持罕见/生僻字及替换系统字体》。
前面探索过 Kindle 阅读器增加罕见生僻字及替换原生系统字体过程,最近我又探索了多看阅读安卓 APP 及小米多看电纸书阅读器的原生字体运行原理及替换过程,下面略写一二。
多看阅读安卓 APP 测试的版本号:7.23.22 和 7.25.13
小米多看电纸书阅读器测试的固件号:MiReaderPro 1.1.15
一
Windows/Fonts/ 中自带宋体扩展字库 simsunb.ttf,家族名为 SimSun-ExtB,用 FontCreator 打开自己喜欢的一套字库和这套扩展字库,因为大小和粗细不一样,要对扩展字库扩大加粗,另外,合并后字库不能多于 65535 个,所以只能选部分内容,但也能选到 8 成左右罕见生僻字了。
补充:如果两套字库内容有重复,手工调整太麻烦,可以用另一个软件 FontForge 合并,它会自动删减掉第 2 个字库中的重复字。我用 FontForge 合并后,两套字库文字大小总不一致,费了很久时间。后来先用 FontCreator 对 2 套字库的文字大小和粗细调到相似,再用 FontForge 把两套字库保存成 sfd,再合并 sfd 文件才成功。另外 FontForge 软件还能查看和修改完整字库元素信息。见下图,注意新字库的元素家族名。
这里只留下关键信息,其它已擦除,只有第一行中文家族名“STFZ”后面会被引用到,多看不认英语只认中文家族名,这里只为举例,各位可用 FontForge 自定义(甚至也可用 STSong)。这样就得到一个新字库了。
二
多看阅读 APP 和阅读器运行机制略有不同,下面分开说明。
1、多看阅读安卓 APP
设置-切换字体,勾选“默认(使用书中指定字体)”,然后上图方框中的三个字体是有对应关系的,全部下载,用 ES 文件管理器或 MT 管理器进入
/sdcard/Android/data/com.duokan.reader/files/DuoKan/Resource/Font/
如果找不到根目录 /sdcard,就找后面加粗目录,现在可看到刚下载文件分别是:
- “DK-KAITI”映射“方正楷体_GBK.ttf”
- “DK-FANGSONG”对应“方正仿宋_GBK.ttf”
- “DK-SONGTI”和“DK-XIHEITI”对应“方正悠宋_GBK.ttf”
安卓 APP 软件我现在只找到了这四种原生字体映射关系。
用第一步生成的新字库改名成上述你想替换的文件名并覆盖替换,就会替换掉原内置的字库,比如,我把新字库改名成“方正悠宋_GBK.ttf”然后替换后重启,这时电子书中就可用下面方法引用到新字库:
- CSS 定义如
body{font-family:"STFZ";}
或body{font-family:"DK-SONGTI";}
- HTML 标签如
<font face="STFZ">内容文字……</font>
或<font face="DK-SONGTI">内容文字……</font>
也可用上述方法替换 DK-KAITI 和 DK-FANGSONG 字库
2、小米多看阅读电纸书阅读器
阅读器运行机制跟 APP 类似但也有差别。
首先,设置-关于-手指连续点击“WLAN MAC地址”就能进入应用管理,这时可用浏览器下载安装 ES 文件管理器或 MT 管理器。
现在用文件管理器看到目录和对应关系都与 APP 不同。
“/sdcard/DuoKan/Resource/Font/
”,找不到根目录/sdcard 就找后面加粗目录,里面文件映射关系:
- “DK-KAITI”对应“方正楷体_GBK.ttf”
- “DK-HEITI”对应“fzlth_gbk.ttf”
- “DK-XIAOBIAOSONG”对应“方正小标宋_GBK.ttf”
- “DK-XIHEITI”对应“方正兰亭刊黑_GBK.ttf”
- “DK-FANGSONG”对应“方正仿宋_GBK.ttf”
要注意的是“DK-SONGTI”映射的字体不在应用目录下,我猜可能在 /data/ 目录中,也就是说,“DK-SONGTI”应该要 root 才能替换,各大神可证伪。
“/sdcard/MiReader/Resource/Font/system.ttf
”,这个是找不到字体使用的字库,经验证,如果内容文字在内置库找不到就会找 system.ttf,还找不到,就会找 /system/fonts/NotoSansCJK-Regular.ttc
,再找不到就会留白。
建议新字库改名成 system.ttf 并替换,这样电子书中未定义字体、找不到字体或指定字体“STFZ”的文字全部会用 system.ttf 显示。
也可针对某一具体字体进行替换,替换过程与 APP 替换相同,替换后电子书同样可用下面方法引用到新字库:
- CSS 定义如
body{font-family:"STFZ";}
或body{font-family:"被替换的内置字体名";}
- HTML标签如
<font face="STFZ">内容文字……</font>
或<font face="被替换的内置字体名">内容文字……</font>
上面就是我对多看 APP 和阅读器字体运行原理作的探索,这些步骤不用 root 就能实现,有需要就自取!
© 「书伴」原创文章,转载请注明出处及原文链接:https://bookfere.com/post/1061.html
延伸阅读
- [网友投稿]《效率脑科学》读书笔记:如何处理自己的情绪?
- [重要通知] 亚马逊强制升级老 Kindle 设备固件
- [每周一书] 理性批判《中国文化的深层结构》
- 亚马逊中国 2019 年度 Kindle 电子书畅销排行榜单
- 罗斯高:农村儿童的发展怎样影响未来中国
- 第二代 Kindle Paperwhite 对比第一代的区别
- [每周一书]《复杂》诞生于秩序与混沌边缘的科学
- [每周一书] 《全球通史:从史前到21世纪》
- [2024.09.13] Kindle Oasis 3 固件升级至 5.16.21.0.2
- Kindle Oasis 被亚马逊官网抹掉所有痕迹或再成绝唱
- 亚马逊 Kindle 个人文档服务已原生支持推送 EPUB 格式
- [每周一书]《规模》用宏观思维看世界变化
- [2015.08.11] Kindle 阅读器系列产品固件升级
- [2019.07.10] Kindle 阅读器固件升级至 5.12.1
- [2019.05.31] Kindle 阅读器固件升级至 5.11.2
有意思
这个修改后的字库哪里能下载呢