IfcFontWeight

IfcFontWeight类型定义字体的权重。值包括:

●normal
●bold
●100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900

注意根据级联样式表1级的定义

值“100”到“900”构成一个有序序列,其中每个数字表示的权重至少与前一个数字一样暗。关键字“normal”与“400”同义,“bold”与“700”同义。除“normal”和“bold”之外的关键字经常与字体名称混淆,因此选择了数字刻度作为9值列表。

字体(字体数据)通常有一个或多个属性,其值是描述字体“权重”的名称。这些重量名称没有公认的普遍意义。它们的主要作用是在一个字体家族中区分不同黑暗的面孔。字体系列的用法千差万别;例如,您可能认为粗体的字体可能会被描述为常规字体、罗马字体、书本字体、中等字体、半粗体或半粗体、粗体或黑色,这取决于字体的“正常”面在设计中的黑色程度。因为没有标准的名称用法,CSS1中的weight属性值是以数字比例给出的,其中值“400”(或“normal”)对应于该族的“normal”文本面。与该面相关联的权重名称通常为Book、Regular、Roman、Normal或有时为Medium。

将一个族中的其他权重与数值权重值关联起来,只是为了保持该族中黑暗的顺序。但是,以下启发式方法说明了在典型情况下如何完成分配:

如果字体系列已经使用九个值的数字刻度(例如OpenType),则应直接映射字体权重。

如果有一个面标记为“Medium”和一个标记为“Book”、“Regular”、“Roman”或“Normal”,则介质通常指定为“500”。

标记为“粗体”的字体通常与权重值“700”相对应。

如果族中的权重少于9,则填充“洞”的默认算法如下所示。如果“500”未赋值,它将被指定与“400”相同的字体。如果值“600”、“700”、“800”或“900”中的任何一个未赋值,则它们将被指定给与下一个指定的颜色较深的关键字(如果有)相同的面,否则将指定给下一个较亮的关键字。如果“300”、“200”或“100”中的任何一个未分配,则将其分配给下一个较浅的指定关键字(如果有),否则将分配给下一个较暗的关键字。

下面两个例子说明了这个过程。假设“Example1”族中有四个权重,从最亮到最暗:常规、中等、粗体、重。假设“Example2”家族中有六个权重:Book、Medium、Bold、Heavy、Black、ExtraBlack。请注意,在第二个示例中,如何决定不将“Example2ExtraBlack”分配给任何对象。

Available faces       | Assignments   | Filling the holes
----------------------+---------------+-------------------
"Example1 Regular" | 400 | 100, 200, 300
"Example1 Medium" | 500 |
"Example1 Bold" | 700 | 600
"Example1 Heavy" | 800 | 900
Available faces       | Assignments   | Filling the holes
----------------------+---------------+-------------------
"Example2 Book" | 400 | 100, 200, 300
"Example2 Medium" | 500 |
"Example2 Bold" | 700 | 600
"Example2 Heavy" | 800 |
"Example2 Black" | 900 |
"Example2 ExtraBlack" | (none) |

注释类型采用CSS-1中定义的字体粗细。

IFC2x2 中增加的新类型。

Formal Propositions

RuleDescription
WR1  
 

EXPRESS Specification

TYPE IfcFontWeight = STRING;
 WHERE
  WR1 : SELF IN ['normal','small-caps','100','200','300','400','500','600','700','800','900']
END_TYPE;
原文地址:https://www.cnblogs.com/herd/p/14153770.html