StarryCat
Astronomy
喵喵的灿烂星空
使用FontCreator将ttf字体制作多字重字体并打包为Magisk字体模块
使用FontCreator将ttf字体制作多字重字体并打包为Magisk字体模块
目录
[隐藏]

1.前言

当初刚上AndroidO的时候,感觉换字体比以前麻烦了很多,后来知道Magisk这个神器后,原来换字体也不是那么麻烦嘛,但我自己喜欢的字体Myuppy并没有人制作Magisk模块,于是我开始学做字体模块,下面的文字记录我制作的过程。宁静之雨大大的微信文章给我很大启发,在此感谢宁静之雨,此篇博文写给自己做记录,也希望能帮助到需要的人。 https://starrycat.me/wp-content/plugins/WP-Alu2Button/static/img/icon_cool.gif


2.基本准备

2.1.知识准备

这里我默认你已经了解到Magisk安装使用并明确它的风险,我们所制作的字体包是Magisk的一个模块,可以在Magisk里刷入。现在我们的着眼点在于安卓字体的修改,所以你应该对此有所了解,这部分的内容我也是在微信公众号 宁静之雨 看的,在这里我不会再说了,你需要了解多字重的含义、安卓的字体文件*.ttf,*.ttc,*otf以及字体配置文件font.xml。请务必了解这些内容,这样能让你明确下面制作过程各步骤的目的,不过不看也可以 https://starrycat.me/wp-content/plugins/WP-Alu2Button/static/img/icon_neutral.gif ,不会了再去学呗 https://starrycat.me/wp-content/plugins/WP-Alu2Button/static/img/icon_cool.gif

2.2.软件和环境准备

修改字体字重和斜体需要用到字体设计软件,这里用的是FontCreator,宁静之雨的授权版本:百度盘 密码:hgb9,我的使用环境为Win10。打包为Magisk模块使用的是GitHub的一个开源Python程序Magisk-Font-Changer,所以你需要准备好Python环境,我在手机上用NeoTerm完成打包,你也可以用Termux,如果你会自行打包当我没说 https://starrycat.me/wp-content/plugins/WP-Alu2Button/static/img/icon_mad.gif 。准备好以上这些你就可以开始了!

3.FontCreator修改字重及斜体

3.1.准备

首先总要准备好你自己喜欢的字体吧 https://starrycat.me/wp-content/plugins/WP-Alu2Button/static/img/icon_cry.gif 建议备份好一份字体并将要修改的字体文件以英文命名,新建一个文件夹目录存放修改后的字体,下面我以Myuppy字体修改中文三字重做为演示,ttf文件(字体要全)来自网络。这是最开始要有的文件。

https://starrycat.me/wp-content/uploads/2018/08/03_002.png

下图展示了最后我们需要的文件,这个是一个月前我给kenzo的Nos8.1做的字体模块,我自己觉得还算能看 https://starrycat.me/wp-content/plugins/WP-Alu2Button/static/img/icon_redface.gif

https://starrycat.me/wp-content/uploads/2018/08/03_004.png

fonts.xml是安卓字体配置文件,显示的效果由它控制,后面会再说到。下面让我们开始吧 https://starrycat.me/wp-content/plugins/WP-Alu2Button/static/img/icon_arrow.gif

3.2.导出字体

双击打开ttf字体,大概需要几秒钟,打开后能预览到字体,如下图:

https://starrycat.me/wp-content/uploads/2018/08/03_005.png

让我们直接导出NotoSansSC-Regular.otf

https://starrycat.me/wp-content/uploads/2018/08/03_006.pnghttps://starrycat.me/wp-content/uploads/2018/08/03_007.png

https://starrycat.me/wp-content/uploads/2018/08/03_008.png

然后保存,导出需要几秒钟,后面遇到的导出操作不再赘述。

3.3.导出英文正常体

一定要做!!!
从补全的ttf字体中删掉大部分中日韩字体可以让我们最后的Magisk字体模块大大减少,也能大大减少修改字体的时间

在下图左侧看到Unicode分类,我把其中带有CJK的子分类全部删除(Ctrl+A,Del),根据我的经验,数量大于1000的子分类都能删,正常使用没问题(除非你正好需要那些字符 https://starrycat.me/wp-content/plugins/WP-Alu2Button/static/img/icon_biggrin.gif )。删除需要一定时间,请耐心等待。然后导出Roboto-Regular.ttf作为英文正常体。

https://starrycat.me/wp-content/uploads/2018/08/03_009.pnghttps://starrycat.me/wp-content/uploads/2018/08/03_010.png

最后关闭FC的窗口 https://starrycat.me/wp-content/plugins/WP-Alu2Button/static/img/icon_question.gif

3.4.导出多字重体和斜体

到目前为止,你的文件夹下应该有三个字体文件了,如下:

https://starrycat.me/wp-content/uploads/2018/08/03_011.png

这里的步骤你可以参考这篇文章:爱美化。但这里有些步骤需要注意。

打开NotoSansSC-Regular.otf,接下来让我们将字体加粗和加细(中文不用单独做斜体)。字形转换会花很多时间,所以我们只选分类里带CJK的子分类进行转换,其中一个20000字符的子分类我花了三分钟。注意每次都要记得全选子分类的字符(如果没全选,现在我只知道关掉重新来了),然后工具——字形转换

https://starrycat.me/wp-content/uploads/2018/08/03_012.pnghttps://starrycat.me/wp-content/uploads/2018/08/03_016.png

改完字形后导出NotoSansSC-Bold.otf,这就是中文粗体的效果了。建议数值不要太大,要不字会崩掉。

https://starrycat.me/wp-content/uploads/2018/08/03_024.png

下面制作细体和斜体的步骤类似,可以参考下表,源字体族是你要打开的字体,字形转换参数是你对字体的操作(这里都是只有一个脚本,防止出错),字体族名称大部分可在font.xml文件中复制,最后导出字体族:

https://starrycat.me/wp-content/uploads/2018/08/03_036.png

完成上表后文件夹目录下应该如下图,我估计着能完成的童鞋不多,我自己做这一步也是十分耗时间的,不过好消息是我们快要大功告成啦!! https://starrycat.me/wp-content/plugins/WP-Alu2Button/static/img/icon_wink.gif

https://starrycat.me/wp-content/uploads/2018/08/03_030.png

3.5.配置font.xml文件

还记得最开始提到的font.xml么?如果你有认真看过宁静之雨的微信教程文章,你应该知道这是干嘛的 https://starrycat.me/wp-content/plugins/WP-Alu2Button/static/img/icon_mrgreen.gif 没错,这是用来控制安卓字体显示效果的,我们修改了那么多字体文件,最后要通过它来调用。该文件位于 /system/etc 目录下,请你备份好并提取出一份,然后按照下面的方式仿写。这里我用的是kenzo的Nos8.1提取出来的文件,打开文件查找 NotoSansCJK-Regular.ttc ,在此之前模仿文件格式加入以下代码:

保存后退出,将其复制到之前制作字体的文件夹,并将 Myuppy.ttf 直接改为 NotoSansCJK-Regular.ttc ,打包压缩文件夹发到手机,接下来我们直接在手机上操作。 https://starrycat.me/wp-content/plugins/WP-Alu2Button/static/img/icon_redface.gif

4.打包Magisk字体模块

现在我们离成功就差一点点了 https://starrycat.me/wp-content/plugins/WP-Alu2Button/static/img/icon_wink.gif 让我们打开 NeoTermTermux,安装好Git和Python环境,进入家目录:

将 Magisk-Font-Changer 项目Git下来:

解压电脑上传来的压缩包,将 *.ttf, *.ttc, *.otf 全部复制到 ./system/fonts ,将 font.xml复制到 ./system/etc ,然后运行:

运行完成后删除 magisk_font_changer.py ,将工程目录下的全选压缩至 Myuppy-v5-Magisk-LoveForMayu.zip ,最后后在Magisk刷入,大功告成!! https://starrycat.me/wp-content/plugins/WP-Alu2Button/static/img/icon_wink.gif

https://starrycat.me/wp-content/uploads/2018/08/Screenshot_Magisk-Manager_20180817-215017-1-576x1024.pnghttps://starrycat.me/wp-content/uploads/2018/08/Screenshot_Magisk-Manager_20180817-220325-1-576x1024.png

https://starrycat.me/wp-content/uploads/2018/08/Screenshot_知乎_20180817-220746-576x1024.pnghttps://starrycat.me/wp-content/uploads/2018/08/Screenshot_酷安_20180817-220258-576x1024.png

5.结语

从高中以来一直使用这个字体,真的很喜欢Myuppy!! https://starrycat.me/wp-content/plugins/WP-Alu2Button/static/img/icon_redface.gif 。。。。不过我只在手机上用 https://starrycat.me/wp-content/plugins/WP-Alu2Button/static/img/icon_idea.gif

最后附上蓝奏云字体模块下载: Myuppy  密码: mayu

赞赏
首页      技术笔记      使用FontCreator将ttf字体制作多字重字体并打包为Magisk字体模块

发表评论

textsms
account_circle
email

  • https://secure.gravatar.com/avatar/dfdc8936bf232efcaa5fea43bd25265a?s=80&d=mm&r=g
    mic

    从酷安过来的,我也最爱myuppy

    3月前回复
    • https://secure.gravatar.com/avatar/7be8fc79db0f903475ead9baf3a805c7?s=80&d=mm&r=g
      starrycat博主

      @mic: 现在很少人喜欢这个字体了,花了蛮多时间做Myuppy的多字重。

      3月前回复
  • https://secure.gravatar.com/avatar/a9c843517b743ea01fb76caf8a8ed520?s=80&d=mm&r=g
    Zz

    可以帮我做个字体模块吗?

    1月前回复
    • https://secure.gravatar.com/avatar/7be8fc79db0f903475ead9baf3a805c7?s=80&d=mm&r=g
      starrycat博主

      @Zz: 要花点时间,所以不免费做,文章挺详细的了,最好自己做,不会的再问我吧。

      3周前回复

喵喵的灿烂星空

使用FontCreator将ttf字体制作多字重字体并打包为Magisk字体模块
前言 当初刚上AndroidO的时候,感觉换字体比以前麻烦了很多,后来知道Magisk这个神器后,原来换字体也不是那么麻烦嘛,但我自己喜欢的字体Myuppy并没有人制作Magisk模块,于是我开始学做…
扫描二维码继续阅读
2018-08-17