前言

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

基本准备

知识准备

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

 ,不会了再去学呗

软件和环境准备

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

。准备好以上这些你就可以开始了!

FontCreator修改字重及斜体

准备

首先总要准备好你自己喜欢的字体吧

 建议备份好一份字体并将要修改的字体文件以英文命名,新建一个文件夹目录存放修改后的字体,下面我以Myuppy字体修改中文三字重做为演示,ttf文件(字体要全)来自网络。这是最开始要有的文件。

下图展示了最后我们需要的文件,这个是一个月前我给kenzo的Nos8.1做的字体模块,我自己觉得还算能看

fonts.xml是安卓字体配置文件,显示的效果由它控制,后面会再说到。下面让我们开始吧

导出字体

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

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

然后保存,导出需要几秒钟,后面遇到的导出操作一样的,只是要注意改名和后缀,不再赘述。

导出英文正常体

 一定要做!!!

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

在下图左侧看到Unicode分类,我把其中带有CJK的子分类全部删除(Ctrl+A,Del),根据我的经验,数量大于1000的子分类都能删,正常使用没问题(除非你正好需要那些字符

 )。删除需要一定时间,请耐心等待。然后导出Roboto-Regular.ttf作为英文正常体。

最后关闭FC的窗口

导出多字重体和斜体

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

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

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

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

源字体族字形转换参数导出字体族NotoSansSC-Regular.otfBold (2,2) PNotoSansSC-Bold.otf

NotoSansSC-Regular.otfThin (2,2) PNotoSansSC-Light.otf

Roboto-Regular.ttfThin (3,3) PRoboto-Thin.ttf

Roboto-Regular.ttfThin (2,2) PRoboto-Light.ttf

Roboto-Regular.ttfBold (1,1) PRoboto-Medium.ttf

Roboto-Regular.ttfBold (2,2) PRoboto-Bold.ttf

Roboto-Regular.ttfBold (3,3) PRoboto-Black.ttf

Roboto-Regular.ttfItalic 10.00 deg PRoboto-Italic.ttf

Roboto-Thin.ttfItalic 10.00 deg PRoboto-ThinItalic.ttf

Roboto-Light.ttfItalic 10.00 deg PRoboto-LightItalic.ttf

Roboto-Medium.ttfItalic 10.00 deg PRoboto-MediumItalic.ttf

Roboto-Bold.ttfItalic 10.00 deg PRoboto-BoldItalic.ttf

Roboto-Black.ttfItalic 10.00 deg PRoboto-BlackItalic.ttf

完成上表后文件夹目录下应该如下图,我估计着能完成的童鞋不多,我自己做这一步也是十分耗时间的,不过好消息是我们快要大功告成啦!!

配置font.xml文件

还记得最开始提到的font.xml么?如果你有认真看过宁静之雨的微信教程文章,你应该知道这是干嘛的

 没错,这是用来控制安卓字体显示效果的,我们修改了那么多字体文件,最后要通过它来调用。该文件位于 /system/etc 目录下,请你备份好并提取出一份,然后按照下面的方式仿写。这里我用的是kenzo的Nos8.1提取出来的文件,打开文件查找 NotoSansCJK-Regular.ttc ,在此之前模仿文件格式加入以下代码:

NotoSansSC-Light.otf

NotoSansSC-Regular.otf

NotoSansSC-Bold.otf

NotoSansSC-Light.otf

NotoSansSC-Regular.otf

NotoSansSC-Bold.otf

1

2

3

4

5

6

7

8

9

10

11

12

NotoSansSC-Light.otf

NotoSansSC-Regular.otf

NotoSansSC-Bold.otf

NotoSansSC-Light.otf

NotoSansSC-Regular.otf

NotoSansSC-Bold.otf

保存后退出,将其复制到之前制作字体的文件夹,并将 Myuppy.ttf 直接改为 NotoSansCJK-Regular.ttc ,打包压缩文件夹发到手机,接下来我们直接在手机上操作。

打包Magisk字体模块

现在我们离成功就差一点点了

 让我们打开 NeoTerm或Termux,安装好Git和Python环境,进入家目录(程序的data目录下):

cd ~

1

cd~

git clone https://github.com/packyan/Magisk-Font-Changer

cd Magisk-Font-Changer

1

2

gitclonehttps://github.com/packyan/Magisk-Font-Changer

cdMagisk-Font-Changer

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

python magisk_font_changer.py

1

pythonmagisk_font_changer.py

运行完成后删除 magisk_font_changer.py ,将工程目录下的所有文件(夹)全选压缩至 Myuppy-v5-Magisk-LoveForMayu.zip ,最后后在Magisk刷入,大功告成!!

结语

从高中以来一直使用这个字体,真的很喜欢Myuppy!!

。。。。不过我只在手机上用

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

python ttf font weight_使用FontCreator将ttf字体制作多字重字体并打包为Magisk字体模块...相关推荐

  1. python ttf font weight_解决 font-weight 无效的问题

    近期调页面时有几个 font-weight 需要修改,无论怎么调整字体粗细都没有变化,深入研究后总结下文 初探 本地写个例子,代码如下 This is a paragraph This is a pa ...

  2. python中font的用法_使用Python库判断字符是否在字体里

    在TrueFont字体里,使用Unicode来标记字符,但是Unicode是一个非常庞大的集合,所以考虑到适用性,一些字体只会选取Unicode的某一类字符设计字体,比如英文字体通常没有汉字,汉鼎简中 ...

  3. vue使用ttf字体包压缩 字蛛 font-spider

    1.可以先建一个文件夹 里面包括 2.1>.css文件夹->index.css     2>.font(里面放的是ttf字体包)  3>.index.html 引入 4> ...

  4. python中font模块详解

    目录 系统方法 pygame.font.init() pygame.font.quit() pygame.font.get_init() pygame.font.get_default_font() ...

  5. python默认字体大小_如何设置PIL加载的默认字体的大小,使其适合我的8x8矩阵?...

    我正在8x8矩阵显示器上显示文本,并且我没有一个方便使用我的BeagleBone的.ttf文件.如何设置PIL加载的默认字体的大小,使其适合我的8x8矩阵? 根据示例here,我应该能够说font = ...

  6. python默认字体大小_python – 如何设置PIL加载的默认字体的大小,使其适合我的8×8矩阵?...

    我正在努力在8×8矩阵显示器上显示文本,而且我没有在我的BeagleBone上知道的.ttf文件. 根据示例here,我应该能够说font = ImageFont.load_default()而不是加 ...

  7. python英文词云代码_手把手教你制作 中英文 词云 | python demo

     以前做词云的时候网上看的python做词云的坑都很多,耗了很多时间才高清楚wordcloud制作词云的精髓和脉络,整理如下. 相关文章 准备Mac环境下直接pip install wordclou ...

  8. python中excel制作成绩报表_python制作简单excel统计报表2之操作excel的模块openpyxl简单用法...

    python制作简单excel统计报表2之操作excel的模块openpyxl简单用法 # coding=utf-8 from openpyxl import Workbook, load_workb ...

  9. Python使用matplotlib可视化多个不同颜色的折线图、通过FontProperties为可视化图像配置中文字体可视化、并指定字体大小

    Python使用matplotlib可视化多个不同颜色的折线图.通过FontProperties为可视化图像配置中文字体可视化.并指定字体大小 目录

  10. 免费的位图字体制作工具Bitmap Font Generator使用教程

    转载请保留原地址 http://www.cocos2dres.com/post/87.html 谢谢!! 首先 下载安装windows下免费的位图字体制作工具Bitmap Font Generator ...

最新文章

  1. 【超详细】思科实验模拟器EVE的安装与使用,附下载链接
  2. HDU - 4280 Island Transport(最大流)
  3. CentOS 7 防火墙,端口开启命令
  4. 下个十年的 C 位:物联网趋势大剧透
  5. 一个搜集大量网页特效的网站
  6. linux入门常识(三)
  7. php 0补全,PHP给数字或字符串补零0或自动补全其他符号
  8. 外汇交易系统(自动化/程序化/量化/EA)
  9. 百度常用搜索语法 超详解
  10. 博途的多步过程控制, 寄存器寻址
  11. 正向代理与反向代理详解
  12. 如何自己编写一个交通仿真软件(一)火种。
  13. 在Android中绘制圆角矩形图片
  14. matlab 三维 作图 坐标轴_matlab三维画图
  15. ios第三方支付流程
  16. JAVA学习代码——验证手机号码是否正确
  17. 【香水】区分迪奥小姐Miss Dior中样式相似的几款香水
  18. 阿里云对腾讯企业邮箱设置域名解析
  19. 熵,哈夫曼编码,二进制
  20. 关于搜索引擎及其开发

热门文章

  1. MPS | 聊聊功率因数校正那些事儿
  2. 声势浩大发展云服务的金蝶,如今“破茧”了吗
  3. 线下化妆品零售店如何做私域获客?
  4. java项目-第91期基于ssm的蛋糕商城系统
  5. u盘中病毒文件夹变成.exe解决
  6. 后盾网 html语言视频教程,后盾网HTML5视频教程-
  7. semi-frequent
  8. 天南星科系统发育及全基因组复制事件的研究取得新进展
  9. #9733;用辩证数学解答“缸中之脑”
  10. 多实例安装mysql数据库