0

我正在使用只支持大多数拉丁字符的网络字体。但是,该网站是多语言的,俄语是其中一种语言。您可能知道,俄语由西里尔字符组成,然后显示在辅助字体系列中。我发现 Verdana + font-weight:bold 是一个不错的选择。

但是,font-weight bold 只需要与 Verdana 相关,所以我不能把它写到普通的 CSS 中,因为 webfont 不应该显示为粗体。这里有一些无效的尝试:

CSS:

@font-face {
  font-family: "some Webfont";
  src:url('xyz.eot')
}


/* The font-weight won't work here */
@font-face {
  font-family: "Verdana-Bld";
  src:
    local('Verdana');
  font-weight:bold;
}



/* Doesn't work in IE9 at all */
@font-face {
  font-family: "Verdana-Bld";
  src:
    local('Verdana Bold');
}

/* Doesn't work in IE9 at all */
@font-face {
  font-family: "Verdana-Bld";
  src:
    local('Verdana Bold');
}

.container {
  font-family:"some Webfont", "Verdana-Bld";
}

所以 font-face 可能不是这里的解决方案,Verdana Bold 似乎是一个好方法,但是,在像这样的普通 CSS 中使用它时它不起作用:

.container {
  font-family:"some Webfont", "Verdana Bold";
}

我不明白,当使用@font-face 时,它​​会找到并呈现该字体,但在用作字体系列时却没有?

4

2 回答 2

1

Verdana Bold 实际上只是 Verdana 字体家族的一种字体,应该通过设置来使用font-family: Verdana; font-weight: bold。在某些情况下,可以像使用字体系列一样使用字体,方法是将其名称声明为 的值font-family,但这取决于浏览器并且也取决于字体;对于 Verdana Bold,这个技巧似乎不起作用。如您所见,更复杂的使用技巧@font-face适用于某些浏览器,但不是全部;这甚至取决于您使用的字体名称(例如,“完整字体名称”Verdana Bold与 PostScript 字体名称Verdana-Bold)。

因此需要一种不同的方法:尝试找到一种涵盖所有所需字符的字体。例如,在Google web fonts中,您可以将“Script”设置为“Cyrillic”以查找支持俄语字母的字体。这种字体通常也支持拉丁字母。

于 2013-01-24T11:26:36.000 回答
0

所以 font-face 中的 font-weight 并没有设置 font-weight ,而是一种过滤器,供浏览器决定它是否是要使用的正确字体。因此,当浏览器查看要显示的字体时,它将选择您设置 font-weight: bold 的字体,只要您当前的文本是粗体,并且在任何其他情况下都会采用另一个字体。

我认为实际上可以使一种字体为粗体,另一种为常规字体,只要您可以直接在 font-face 中调用它。(所以如果你可以有类似的东西local('Verdana Bold')。那么只需摆脱 font-face:bold 它应该可以正常工作。

于 2013-01-24T10:52:42.273 回答