2009-11-22 66 views
7

我需要決定是否將網頁GUI中的幾何符號(例如箭頭和三角形用於按鈕,菜單等)呈現爲Unicode符號(更簡單且與顏色無關)或GIF/PNG文件(很多麻煩,我想避免)。Web標準字體中的Unicode支持

但是,我看到客戶無法顯示聲明爲Unicode字符的高級標點符號(Example)。

有沒有人知道從哪個版本開始,操作系統/服務包/應用程序附帶Unicode版本的標準字體?例如,自1999年以來,Microsoft的Arial unicode隨Office一起提供,但是我沒有安裝辦公軟件,而且我的Arial至少還有一些Unicode範圍。

另外,Mac OS和Linux的情況如何?

有人能指點我一些綜合資源 - 報告,列表,概述嗎?

+0

您可以使用例如。 http://www.fileformat.info/info/unicode/block/geometric_shapes/utf8test.htm – bzlm 2009-11-22 12:12:45

回答

10

字體(*)的「Unicode版本」並不是真的如此。 「Arial Unicode」是一個誤導性的名稱:它與普通的「Arial」沒有本質區別,它只是有更多的字符。它對於到目前爲止定義的成千上萬個字符中的每一個字符都不包含可用的字形,而且實際上沒有一個OS標準字體可以使用。

重要的問題僅僅是您要使用的字符是否具有通常部署的操作系統的默認字體中的字形。您需要查看您希望單獨使用的特定字符的字體支持。

你提到的U + 0360 Combining Double Tilde字符並不是真正的'高級標點符號',它是一個用於語音工作的好奇且很少使用的變音符號。所以對它的字體支持很差並不奇怪。另一方面,Stack Overflow可以避免使用U + 25CF黑色圓圈(●),因爲很多字體都有。 Geometric Shapes塊中的一些其他字符,例如U + 25B2 Black Up-pointing Triangle(▲)也很常見。

fileformat.info有一個支持每個字符的常用字體列表,因此您可以在此處檢查以瞭解符號的廣泛支持情況以及您識別的默認OS字體是否存在,然後將其用作替代圖像。例如,U+25CF有很多字體,但U+0360沒有得到很好的支持:沒有默認的Windows安裝字體,而'Libertine'字體則顯示錯誤。

(*:OK,有一種類似於Unicode字體的東西,因爲字體的內部字符查找表可能以Unicode或其他字符集命名,但這並沒有實際區別,因爲應用程序將始終將其作爲Unicode編址;操作系統會在查找時透明地進行轉換。)

+1

*「Arial Unicode」是一個誤導性的名稱:它與普通的「Arial」沒有本質區別,它只是有更多的字符。* - 它沒有腳本渲染支持,它爲大多數腳本提供了字形,沒有字距支持並且自從Unicode 2以來沒有更新過。它也是Office字體,因此實際上不包含在Windows中。 – Joey 2010-09-21 16:01:52

+0

同意,這是一個非常糟糕的字體,應該真的消失。 – bobince 2010-09-21 16:12:53

1

一些隨機觀察:

  • 在OS X中的Unicode支持是完美的,至少對你的需求。
  • 在Windows上,情況似乎取決於瀏覽器。我沒有使用許多神祕的角色,但我做的很少(主要是標點符號)在Firefox中顯示得很好。像往常一樣,唯一的問題是在Internet Explorer中。
  • 如果你對你的客戶有一些控制權,你可以分發一些good free fonts
  • 即使web fonts也可以工作。
  • Unicode字符的一個缺點是它們通常非常難看。過大,過小,有錯位置等
+0

「Unicode字符的一個缺點是它們通常很難看」 - 這裏「Unicode字符」是什麼意思?你指的是晦澀/神祕的角色,符號,象形文字等嗎? – bzlm 2009-11-22 12:16:12

+0

對不起,是的。例如圓圈數字(➊➋),形狀(▲•☐)或箭頭(→⇒➜)。在某些字體中,這些字符的重量,高度和其他參數不一致。 – zoul 2009-11-22 14:02:33

+1

這種情況經常發生,因爲瀏覽器在不同的字體之間切換,找到一個包含您之後特定字符的字體。 – bobince 2009-11-22 14:32:28

2
+0

不要忘記,字體本身的支持是不夠的。渲染引擎也必須有支持。我同意合併角色不是一個好的測試案例。 – bzlm 2009-11-22 12:14:46