2012-07-02 36 views
2

在Web應用程序中,我必須顯示一個特殊的Unicode字符,即BLACK DIAMOND (U+25C6)(有關更多詳細信息,請參閱here)。下面是一個示例:在IE6中以不同尺寸呈現的Unicode字符

爲頁面定義的字體是Arial,大小爲13px。

令人驚訝的是,該字符在IE6與其他瀏覽器(FF,Chrome,...)中呈現出更大的尺寸。

是否有任何這種奇怪的行爲的原因,以及有什麼解決方案來避免這種情況?

回答

2

這是因爲您指定的字體缺少指定的字符。因此,瀏覽器會查找適合該字符的字體,以便它仍然可以顯示該字體。不同的瀏覽器會選擇不同的字體,所以你會看到它們每個都有點不同。

一般而言,您可以做的事情並不多,可以避免這種情況,因爲缺少的字體在網絡上非常常見,因此您不能真正依賴任何字體出現在用戶的機器上。您可以嘗試減輕它,雖然:

  1. 你可以把U + 25C6在真實風格的使用具有的性格不同,但特定的字體跨度(以及與您的主要字體效果很好)。
  2. 與上面相同,但分發包含字形的網絡字體(現在似乎是一個合理的選擇)。這樣你可以更好地控制顯示內容。
  3. 遠離指定備用字體,如Arial Unicode MS。根本不要使用它們。
  4. 如果你只是在U + 25C6的外觀之後,並不在乎它是否以文本形式實際存在,你可以使用圖片或CSS hack
+0

你說得對。我認爲BLACK DIAMOND是在Arial中定義的,但事實並非如此,只定義了BLACK DIAMOND SUIT(看起來幾乎相同,我沒有花時間閱讀角色地圖第一次的角色描述,只看到了鑽石,並認爲它在那裏...)。 – tigrou

+0

哦,確實,使用另一個相似的字符,當然也適用;) – Joey

+0

我最終使用瞭解決方案1.我使用黑色鑽石顯示頁面上的里程碑,並使用黑色鑽石套裝,因爲這看起來很尷尬:D – tigrou