Home

Awesome

梦源字体系列梦源字体系列

下载与安装

请前往发布页面下载最新版本的压缩包,解压后即可得到 TTF/TTC 字体文件。当前页面的“Code”按钮仅包含代码和源文件,不包含字体。

协议

本字体以 SIL Open Font License 发布,可免费用于商业用途。字体文件可二次修改。转载请注明原作者。

特性

可变版思源字体使精细的字重调节成为了可能。然而,可变字体因轮廓重叠、渲染故障、软件兼容性等原因给实际使用造成了阻碍。本项目将可变版思源字体的大量中间字重实例化为传统单字重字体,合并了重叠的曲线轮廓,在保证最大兼容性的前提下,提供更加细腻、丰富的字重选择。此外,本项目修复了思源系列广泛存在的 Adobe 行高过大问题。本系列字体的其他功能(如字形、竖排、kerning、多语言、异体字、曲线精度等)与思源系列保持完全一致,未做任何修改。

技术规格

字重

本项目以可变版思源黑体思源宋体为母版,对其字重轴 wght 进行插值运算,提取中间字重。插值算法经过了如下考量:

  1. 暴露给最终用户的 wght 轴经 Adobe 添加的 avar 表人工干预,导致字重随 wght 非线性增大(参见 issue #6)。插值算法需排除 avar 表的干扰;
  2. 加粗时,黑体和宋体的黑度变化不同:黑体的横竖笔画同时变粗,而宋体只有竖笔画变粗,因此在人眼看来,黑体的加粗速度要高于宋体,且其细体字重比粗体对粗度的变化更为敏感。简单的线性插值适用于宋体,但如果直接用在黑体上,就会导致细体字重被粗体“挤压”。

插值算法

  1. 绕开思源可变源文件中的 avar 表,确保插值算法不受人工预设值干扰;
  2. 梦源宋体采用线性插值(linear interpolation):从最细端 250 开始,粗度每步增加常数 25 ,直到最粗端 900,得到 250-275-300-...900 共计 27 字重;
  3. 梦源黑体采用二次多项式插值(quadratic interpolation):从最细端 250 开始,粗度每步增加 19.4 + f ^ 2;其中,系数 f 的起始值为 1,每一步增大 0.1;以此类推,直到最粗端 900,得到 250-270.4-291.01-...-900 共计 27 字重。

因为插值算法绕过了思源可变内置的 avar 表,所以本项目采用的 wght 值与思源可变字体没有任何关联,也没有与思源在数值上完美对应的字重。在实际使用中,可对比思源字体找出梦源字体最接近的字重。

字重展示字重展示

编译

如需在本地编译该系列字体,请参考以下指南。

硬盘空间

脚本将在运行过程中产生大量临时文件。临时文件加最终的 ZIP 压缩包共计约 30 GB 总硬盘空间。临时文件将在运行结束时自动删除。

平台依赖

本项目支持 Windows Linux 子系统(WSL)、Linux x86-64(带有 Wine)与 macOS 平台。请先确保以下依赖已安装:

执行脚本

更多信息

如需获取 Adobe 思源系列字体的设计、使用以及其他信息,请访问以下官方 GitHub 仓库: