diff --git a/content/zh-cn/posts/通过取子集的方式压缩霞鹜文楷字体.md b/content/zh-cn/posts/通过取子集的方式压缩霞鹜文楷字体.md new file mode 100644 index 0000000..5c8b8c9 --- /dev/null +++ b/content/zh-cn/posts/通过取子集的方式压缩霞鹜文楷字体.md @@ -0,0 +1,50 @@ +--- +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 +