2013-01-24 70 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