字形度量

几条水平和垂直线(也称为字形度量)将帮助您进行字体设计。您可以通过度量选项对话框激活它们。

注意:还有全局字体度量设置。要更改这些字体度量,请在字体菜单上单击属性,然后单击度量选项卡。

左边距、右边距、进宽度、上边距、下边距和进高度

在字形面板中有两条垂直线(通常字形轮廓位于这些线之间)代表左边距和右边距。默认情况下会显示这些线,但您可以通过绘图工具栏上的显示度量按钮隐藏它们。可以通过将左边距和右边距拖动到所需位置来更改它们。您还可以通过字形属性面板调整边距。空白应均匀分布在字形的左边距和右边距之间,除非字体专门设计用于草书字体中连接字符的连字。

非间距组合标记

这些标记可用于构造复合字形。完成复合字形可以对此提供帮助。然后它们通常也在 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