字形度量:微调 xAdvance、xOffset 和 yOffset
通过调整全局和单个字形的度量(如 xAdvance、xOffset 和 yOffset),优化位图字体中的字符间距和位置。
SnowB BMF 可以在全局和单个字形两个层面调整字体度量,控制字符间距和定位。
全局字形度量
Section titled “全局字形度量”全局度量影响所有字形,统一调整整体布局。设置在左侧边栏。

- xAdvance:每个字符占多少水平空间,也就是字形渲染后光标往前走多远。
- xOffset:所有字形水平移动。正值向右,负值向左。
- yOffset:所有字形垂直移动。正值向下,负值向上。
单位都是像素,默认 0。
单个字形度量
Section titled “单个字形度量”某个字符的间距不对,可以单独覆盖它的全局度量。
- 在工作区切到预览 (Preview) 模式。
- 预览文本里输入要调的字符。
- 在预览区域点击那个字符,选中它。
- 底部弹出该字形的调整面板。

选中字形后可以改这几个属性:
- xAdvance:这个字符的前进宽度。
- xOffset:这个字形的水平偏移。
- yOffset:这个字形的垂直偏移。
单个调整优先级高于全局设置。
全局调整适用于:
Section titled “全局调整适用于:”- 统一改变整个字体的间距。
- 调基线对齐。
- 补偿不同平台的渲染差异。
单个调整适用于:
Section titled “单个调整适用于:”- 修正某些字符的间距,比如 “W” 或 “I”。
- 重新摆放标点符号和特殊符号。
- 手动创建字偶距对。
- 让不同字符的视觉重量更均衡。
- 先调全局:全局调整定好整体基线。
- 再调个别:单个调整修补特例。
- 多用不同文本测试:别只看一组样本。
- 关注目标平台:各平台渲染文本的方式不一样。