几条水平和垂直线(也称为字形度量)将帮助您进行字体设计。您可以通过度量选项对话框激活它们。
注意:还有全局字体度量设置。要更改这些字体度量,请在字体菜单上单击属性,然后单击度量选项卡。
左边距、右边距、进宽度、上边距、下边距和进高度
在字形面板中有两条垂直线(通常字形轮廓位于这些线之间)代表左边距和右边距。默认情况下会显示这些线,但您可以通过绘图工具栏上的显示度量按钮隐藏它们。可以通过将左边距和右边距拖动到所需位置来更改它们。您还可以通过字形属性面板调整边距。空白应均匀分布在字形的左边距和右边距之间,除非字体专门设计用于草书字体中连接字符的连字。
非间距组合标记
这些标记可用于构造复合字形。完成复合字形可以对此提供帮助。然后它们通常也在 OpenType 设计器的标记到基础、标记到连字和标记到标记查找中使用。此类 OpenType 布局功能可以自动生成。
通常,非间距组合标记应具有零进宽度。有一个例外,即在等宽字体中,所有可见字形必须具有相同的进宽度。
表格数字
表格数字(即数字 0 - 9)都应具有相同的进宽度。
您可以提供简单的表达式来计算字形度量。支持这些函数(以及加、减、乘和除):
| min( X , Y ) | 返回两个输入参数 X 和 Y 中较小的值。 |
| max( X , Y ) | 返回两个输入参数 X 和 Y 中较大的值。 |
| abs( X ) | 返回参数 X 的绝对值。 |
| round ( X ) | 返回四舍五入到最接近整数的 X 值。如果 X 恰好位于两个整数之间,结果始终是偶数。 |
| lsb(glyphname,master) | 返回名为 glyphname 的字形的左边距值。如果不提供 glyphname,则假定为当前字形。 |
| rsb(glyphname,master) | 返回名为 glyphname 的字形的右边距值。如果不提供 glyphname,则假定为当前字形。 |
| aw(glyphname,master) | 返回名为 glyphname 的字形的进宽度值。如果不提供 glyphname,则假定为当前字形。 |
| tsb(glyphname,master) | 返回名为 glyphname 的字形的上边距值。如果不提供 glyphname,则假定为当前字形。 |
| bsb(glyphname,master) | 返回名为 glyphname 的字形的下边距值。如果不提供 glyphname,则假定为当前字形。 |
| ah(glyphname,master) | 返回名为 glyphname 的字形的进高度值。如果不提供 glyphname,则假定为当前字形。 |
| bl(glyphname,master) | 返回名为 glyphname 的字形的边界框左值。如果不提供 glyphname,则假定为当前字形。 |
| br(glyphname,master) | 返回名为 glyphname 的字形的边界框右值。如果不提供 glyphname,则假定为当前字形。 |
| bw(glyphname,master) | 返回名为 glyphname 的字形的边界框宽度值。如果不提供 glyphname,则假定为当前字形。 |
| bt(glyphname,master) | 返回名为 glyphname 的字形的边界框顶值。如果不提供 glyphname,则假定为当前字形。 |
| bb(glyphname,master) | 返回名为 glyphname 的字形的边界框底值。如果不提供 glyphname,则假定为当前字形。 |
| bh(glyphname,master) | 返回名为 glyphname 的字形的边界框高度值。如果不提供 glyphname,则假定为当前字形。 |
| base(glyphname,master) | 它将提供一个值,用于同步指定字形的特定度量(边距、aw 或 ah)。如果不提供 glyphname,则对于空字形和简单字形假定为当前字形,对于复合字形假定为第一个字形成员。这对于具有超出基础字形边界的重音的复合字形特别有用。该函数不需要字形名称,这使其更加方便。 |
| comp(glyphname,master) | 适用于复合字形。它将提供一个值,用于同步指定字形成员的特定度量(边距、aw 或 ah)。表达式需要字形名称。 |
| glyphname | 要链接字形度量,您可以使用名为 glyphname 的字形的边距的较短表示法。如果在 LSB 的表达式中使用,它将处理 lsb(glyphname),如果与 RSB 一起使用,它将处理 rsb(glyphname),如果与 AW 一起使用,它将处理 aw(glyphname)。这也适用于 TSB、BSB 和 AH。 |
| snap(snapname) | 此函数只能与 TSB 和 BSB 一起使用。Snapname 可以是 typoascender、typodescender、xheight、capheight、baseline 或 origin。 |
字形名称
为避免冲突,如果字形名称包含连字符、逗号、parenleft 或 parenright 等歧义字符,请将字形名称放在双引号之间。
母版
这是可变字体中母版的名称。此参数是可选的。如果可能,请避免使用它,因为它会使事情变得相当复杂。
数字
您可以使用数字(对分数使用小数点)和这些函数以及以下运算符:+ - * / 并使用括号来定义简单的表达式。以下是一些说明表达式潜力的示例:
min(18.75*aw(agrave), 800)/36+lsb(tonosmod-grek)
lsb(a)/3 + bw(i) + 25 - (17.3-3)*3
无效表达式
如果表达式无效,将使用最后已知值,并在编辑框右侧显示感叹号图标。
固定值
如果您提供固定值表达式(等号后跟一个值),它将保持该值,即使您移动或调整字形轮廓大小。
链接字形度量
只需在字形"m"的 LSB 表达式字段中输入"n",如果您想保持字形"m"和"n"的左边距相同。
字形名称冲突
如果在表达式中使用了字形名称,并且它包含特定字符(例如空格字符或也用作运算符的字符),可能会导致问题。主要是连字符,它既用于为字形名称提供脚本,也用作减去值的运算符。在这种情况下,请将字形名称放在双引号之间。

丢弃表达式
如果 LSB、RSB 和 AW 都有表达式,则 RSB 或 AW 中的一个将被视为无效并被丢弃。同样,对于 TSB、BSB 和 AH 的表达式,BSB 或 AH 的表达式将被丢弃。
自动附加
对于启用了自动附加的字形,度量根据复合字形成员自动计算。有时这些度量几乎完美,但仍需要调整。在这种情况下,您可以使用表达式从计算值中添加或减去,方法是在表达式开头使用等号,后跟加号或减号:
+=10 将向计算值添加额外的 10 个单位。
-=aw(zero) 将减去名为 zero 的字形的进宽度。
取消表达式
要停止使用表达式,只需输入数字符号 #,它将返回到最后已知值。当您启用自动附加、在字形编辑面板中拖动边距线或执行自动度量或完成复合字形时,表达式也将被取消。
默认边距的快捷方式
在字形编辑面板中按 ; 键设置默认边距。
递归表达式
递归表达式是使用依赖于自身的函数的表达式。例如这种组合:
字形 A 的 LSB = lsb(B) + 10
字形 B 的 LSB = lsb(A) + 25
避免递归表达式,因为此类计算值可能会意外变化。
注意:FontCreator 在计算水平书写的度量时会考虑斜体角度或倾斜轴位置。它还会向度量添加插入符号偏移,如果设置正确,这将改善这些度量的视觉布局。
注意:在具有基于 TrueType 轮廓的字体中,复合字形可能会使用特定标志,称为使用此字形的度量标志。如果设置,这将强制左边距和右边距线的位置与字形成员的位置匹配。FontCreator 将在适当时自动设置此标志。
另请参阅:
英文原文:https://www.high-logic.com/fontcreator/manual16/glyphmetrics.html