目标
本文将实现:
1. 环境配置
2. 安装FontTools
3. 创建字符文件
4. 压缩字体
准备工作
你需要:
1. 一个字体文件(.ttf)
2. 一台电脑或手机termux
tips:此教程的表述主要以Windows为主,命令win、linux通用,用绿色粗体 标识的可以根据实际情况更改检查环境
Win+R输入cmd回车
输入 python --version 或 python3 --version
如果显示python x.x.x说明已经有啦
如果没有显示这个:Windows用户请到Python官网下载,安装时记得勾选add python to path;linux用户应该不用我教了叭(安装FontTools
在cmd输入 pip install fonttools brotli 如果安装了多个python:pip3 install fonttools brotli
输入 pyftsubset --help 如果显示帮助表示安装成功
创建字符文件
创建一个 txt 文件,并在里面输入你网页会用到的字符,例如:查看
tips:你也可以通过 Unicode 范围生成字符
以常用汉字 4E00-9FFF 为例,输入
python -c "import sys; sys.stdout = open(sys.stdout.fileno(), mode='w', encoding='utf-8', buffering=1); print(''.join(chr(i) for i in range(0x4E00,0x9FFF+1)))" > D:\word.txt即可生成到 D 盘下的 word.txt
去除文件中的 BOM、空格、换行并转换为 UTF-8 格式
Windows 用户
python -c "t=open('你的原 txt 文件路径','r',encoding='utf-8-sig').read();t=''.join(sorted(set(t.replace(' ','').replace('\n','').replace('\r',''))));open('D:/word_1.txt','w',encoding='utf-8').write(t)"Linux 用户
python3 -c "import sys; t=open('你的原 txt 文件路径','r',encoding='utf-8-sig').read(); t=''.join(sorted(set(t.replace(' ','').replace('\n','').replace('\r','')))); open('word_1.txt','w',encoding='utf-8').write(t)"压缩字体
终端执行
pyftsubset 你的 ttf 字体路径 --text-file=你的 txt 字符文件路径 --output-file=D:/output.ttf(生成的文件在 D 盘下)压缩成 woff2 字体
终端执行
pyftsubset 你的 ttf 字体路径 --text-file=你的 txt 字符文件路径 --flavor=woff2 --output-file=D:/output.woff2 --layout-features='*'(生成的文件在 D 盘下)教程就到这里了哦~(˶˃ ᵕ ˂˶) .ᐟ.ᐟ
留言