字体系列属性 - 如何处理非标准字体?

时间:2017-07-17 14:37:46

标签: xsl-fo

当我使用像Tahoma这样的字体时,我可以指定font-family="Tahoma" font-weight="bold",我的输出使用字体的粗体变体。

现在我有一个名为Geogrotesque的字体,其变体名为'semibold'。 这是一个名为Geogrotesque-Semibold的独立字体文件。此变体的字体粗细为600。

我无法将此字体显示在输出中。 font-family="Geogrotesque" font-weight="600"输出为Bold(font-weight = 700),font-family="Geogrotesque-Semibold"给出'找不到字体'错误。

我正在使用Antennahouse。 W3.org不知道字体名称如何与字体文件中的标识符相对应。 有更多字体的名称似乎不适合font-family / weight / style模式。浏览我的Windows / Fonts文件夹,我找到了包含Condensed和Narrow等修饰符的字体。 我如何使用这些字体?

2 个答案:

答案 0 :(得分:1)

尝试font-weight="500"

来自https://www.w3.org/TR/xsl11/#font-weight

  

如果同时有一张标有“中”的脸,另一张标有“书”,“常规”,“罗马”或“正常”,则“中”通常会分配给“' 500'

     

标有" Bold"的字体通常会对应重量值' 700'

     

如果系列中的权重少于9,则填充"空洞的默认算法"如下。如果' 500'如果未分配,则会为其分配与' 400'相同的字体。如果有任何值' 600' 700',' 800'或' 900'保持未分配状态,如果有任何

,它们将被分配到与下一个较暗分配关键字相同的面部

所以' Semibold'可能已被分配' 500'和' 600'显然,被分配给下一个较暗的指定关键字,即'粗体'。

或者,尝试font-weight="darker"(当继承的字体权重为normal时,即)。然后AH Formatter应该使用semibold,如果找到了它。

或者,在AH Formatter字体配置文件中添加别名。见https://www.antennahouse.com/product/ahf64/ahf-font.html#font-configration-file。如,

<font-alias file="Geogrotesque-Semibold.ttf">
  <alias family-name="Geogrotesque" weight="500"/>
</font-alias>

对于&#39; Condensed&#39;和&#39; Narrow&#39;等,使用font-stretch属性,.e.g。,font-stretch="condensed"。见https://www.w3.org/TR/xsl11/#font-stretch

答案 1 :(得分:0)

在FontForge中,您可以看到为字体分配了哪种字体粗细。

在Element-&gt; Font Info中,转到OS / 2选项卡。 Weight类下拉列表包含以下列表:

100薄
200额外光 300灯
400常规
500中等
600半粗体
700大胆
800额外的大胆
900黑色