2013-01-24 47 views
0

我正在使用仅支持大多数拉丁字符的webfont。但是,网站是多语言的,俄语是其中的一种语言。正如您可能知道的那样,俄语由西里尔文字符组成,然后以二级字体系列显示。我发现Verdana + font-weight:bold是一个很好的选择。仅当Webfont不支持字符时才使用字体粗体

但是,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"; 
} 

所以字体面很可能不是这里的解决方案,宋体粗体似乎是一个很好的方式,但是,在使用时它不工作正常CSS是这样的:

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

我不明白这一点,使用@字体面时,发现并呈现该字体,但在使用没有FONT-FAMILY?

回答

0

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

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

+0

我把一种特定的字体作为一种字体家族滥用,这种工作在Firefox中,但不是在任何地方。与此同时,我们找到了针对项目的解决方案。下一次,设计师只需要记住一些用于多语言设计的东西。 – user828591

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”以查找支持俄文字母的字体。这些字体通常也支持拉丁字母。

+0

感谢您澄清事物,这是我们的设计师在选择字体时没有考虑西里尔字符的错误。尽管我们在CMS中使用了一些有点硬编码的解决方案,但对于这个项目来说这不是问题。 – user828591