2012-03-13 79 views
2

我在我的css上使用font-face,並且遇到問題,即使用字體家族的src創建的希伯來字符由設計人員創建,並創建另一個字體,範圍爲英文字符,因爲它們在同一個容器上的希伯來字符旁邊很大。對不同語言的特定unicode範圍(css 3屬性)的字體不同大小

這裏是我的CSS代碼:

任何字符:

@font-face { 
    font-family: 'MetaliRegular'; 
    src: url('../css/mmetaliregularwebfont.eot'); 
    src: url('../css/metaliregularwebfont.eot?#iefix') format('embedded-opentype'), 
     url('../css/metaliregularwebfont.woff') format('woff'), 
     url('../css/metaliregularwebfont.ttf') format('truetype'), 
     url('../css/metaliregularwebfont.svg#MetaliRegular') format('svg'); 
    font-weight: normal; 
    font-style: normal; 
} 

,爲英語字符的例外,

@font-face { 
    font-family: 'MetaliRegular'; 
    src: local("Arial"); 
    unicode-range: U+0041-007A; 
} 

你可以看到它們具有相同的字體-家庭。

我得到他們在不同的字體,但字符的大小之間的差異是巨大的。

對此有何幫助?

謝謝,

葉蘭

+0

[font-size-adjust'](http://www.w3.org/TR/css3-fonts/#font-size-adjust-prop)會有幫助嗎? – 2012-03-13 12:57:53

+0

不,對不起,我以前試過,它不會改變字體大小之間的差異.. 無論如何感謝。 – 2012-03-13 14:03:48

回答

2

它一般最好使用一個單一的字體對所有語言如果可能的話,例如爲希伯來文和拉丁文字母。原因之一是尺寸問題:在不同的字體中,字符具有不同的尺寸(對於相同的字體尺寸),並且這容易在字體混合時導致差異。例如,在Arial Unicode MS中,希伯來字母與同一字體中沒有上升或下降(拉丁字母x,a,s等)的拉丁字母大致相同;在Times New Roman中,他們有點高。

如果你真的必須混合字體,你需要嘗試找到匹配的字體。如果不知道MetaliRegular字體的特徵,我可以建議您嘗試找到與之匹配的Web字體,以便與拉丁字母一起使用。

+0

謝謝你的回答。 據我所知,這是應該在字體文件上繪製自己的東西..順便說一下,即使是「Arial」字體在希伯來文和英文字體之間也有很大的區別...... – 2012-03-13 14:05:00