blog/content/zh-cn/posts/通过取子集的方式压缩霞鹜文楷字体.md

51 lines
1.1 KiB
Markdown
Raw Normal View History

---
title: "通过取子集的方式压缩霞鹜文楷字体"
slug: "yasuoziti"
date: 2024-08-24T00:00:00.000Z
categories:
- 分享
tags:
- 字体
---
## 使用python
这里使用到的是Python 的库:`fonttools`
使用最新版 `Python` 的 pip 命令安装即可在 Shell 中使用:
```shell
pip install fonttools
```
常用汉字大约有3500字
中文常用字库项目https://github.com/DavidSheh/CommonChineseCharacter
## 取子集
使用以下命令即可对字体文件取子集
```
fonttools subset "$input_file" --text-file="$text_file" --output-file="$output_file"
```
其中
`$input_file`:输入的字体文件。
`$text_file`:定义保留字符的纯文本文件路径。
`$output_file`:输出的字体文件路径。
取完子集完成之后字体从11M压缩到1.7M左右
## 压缩
安装模块`brotli`
```shell
pip install brotli
```
使用命令
```shell
fonttools ttLib.woff2 compress "$input_file" -o "$output_file"
```
其中
`$input_file`:输入的字体文件。
`$output_file`:输出的字体文件路径。
再次压缩为 woff2 字体格式 大约840kb