主要观点:2023 年 12 月发布 175 像素字体巨包及 42 个字体家族包,用 Rust 编写工具链生成、测试和部署字体,本文介绍整个过程。
关键信息:
- 之前有两批字体包,第一批 2016 年,第二批 2018 年,第二批质量提升且推广更努力,曾用于多款独立游戏。
- 巨包目标:100 种字体、更多语言支持(支持 EFIGS 语言)、风格多样(每个字体有多种风格)、自动计算大部分字距调整(kerning)、提升质量控制和部署维护效率。
- 为实现目标,作者学习字体设计、收集参考照片,编写 Rust 字体工具
pifo
,包括创建字体表、轮廓化字形、计算字距调整等步骤,还介绍了字体的导出格式(TrueType、Tile Sheets、Packed Atlases)和质量测试、部署过程。
重要细节: - 字体表的 TOML 配置及各表格在 TTF 文件中的作用。
- 轮廓化字形过程中像素收集、聚类、创建边缘列表、链接边缘、去除非角点等步骤的代码实现及原理。
- 手动和自动字距调整的方法及相关代码。
- 不同导出格式(Tile Sheets、Packed Atlases)的数据结构和序列化方式。
- 质量测试通过生成大量样本图像来提升字体质量。
- 部署过程中创建 itch.io 项目、使用
butler
工具上传字体资产等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。