雪佛兰·雷 | 我如何使用 Rust 创建 175 种字体

主要观点: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工具上传字体资产等。
阅读 78
0 条评论