CSS 规范(以及其他一些规范)规定,在选择字体时,可以使用从 100 到 900 以 100 为增量的数字描述符来描述字体粗细,其中 400 保留用于“常规”粗细,700 保留用于“粗体” "(本文包含一个映射示例)。
这些数字是否仅按惯例分配,或者是否存在某种(至少理论上的)数字关系,例如,字干粗细和前进宽度控制字体“应该”接收的数字描述符(无论该关系是否在任何特定的字体)?
CSS 规范(以及其他一些规范)规定,在选择字体时,可以使用从 100 到 900 以 100 为增量的数字描述符来描述字体粗细,其中 400 保留用于“常规”粗细,700 保留用于“粗体” "(本文包含一个映射示例)。
这些数字是否仅按惯例分配,或者是否存在某种(至少理论上的)数字关系,例如,字干粗细和前进宽度控制字体“应该”接收的数字描述符(无论该关系是否在任何特定的字体)?
CSS 字体粗细受Linotype 编号系统的影响。正如您从 wiki 中了解到的那样,数字中的每个数字都描述了字体的不同特征,从这一点上 CSS 部分采用了 Lynotype ... 100 到 900 系统适用于某些字体,但不适用于其他字体,因此您应该始终在 CSS 代码中使用特定值之前,请提前检查这一点。
Linotype 之所以通过Panose系统进入 CSS,部分原因是出于许可问题。请参阅http://en.wikipedia.org/wiki/PANOSE。Panose 数字用于 TrueType、OpenType 和 SVG 字体,包含重量、比例、对比度等信息。
Panose 重量数字与 Linotype/CSS 或多或少是相同的系统。从非常浅到超黑。请参阅下面的报价。
Fontforge 可以计算 Panose 数。http://fontforge.org/fontinfo.html#Panose
所以 Fontforge 使用某种(至少理论上的)数值关系来计算重量。
更新
...重量的计算是最容易计算的。
有用于测量重量的特定字母: CapH 是大写 H 的高度。 WStemE 是大写 E 的词干宽度。
WeightRatio = CapH / WStem(E)2_0 = 任何(不要使用。)
2_1 = 不适合(不要使用)
2_2 - 非常轻.....................WeightRat ≥ 35(35 或更大)
2-3-Light.......................18 ≤ WeightRat < 35 (18 或更大,小于 35)
2_4 Thin....... ....................10 ≤ WeightRat < 18
2_5-Book ....................7.5 ≤ WeightRat < 10
2_6-Medium ....................5.5 ≤ WeightRat < 7.5
2_7-Demi.......................4.5 ≤ WeightRat < 5.5
2_8-粗体.......................3.5 ≤ WeightRat < 4.5
2_9-Heavy................. .2.5 ≤ WeightRat < 3.5
2_A-黑色.......................2.0 ≤ WeightRat < 2.5
2_B-特黑...................... ......WeightRat < 2