2011-12-09 46 views
3

我在php中使用imagettftext生成圖像。是否有支持所有utf-8字符的真正字體?支持php的所有utf-8字符的字體imagettftext

+1

UTF-8是Unicode代碼點(字符)的編碼。所以我不確定你的問題是什麼。 Unicode中有10萬多個代碼點。 –

+0

我使用imagettftext在php中生成圖像。它不顯示我嘗試過的字體中的所有utf-8字符。我如何生成支持任何utf-8字符的圖像? –

+1

好的,再說一遍,UTF-8只是一個代表Unicode字符的編碼。我不知道是否有任何支持每一個Unicode代碼點的字體。 –

回答

9

正如布賴恩·尼爾在他的評論指出,UTF-8只是幾個編碼標準,可以表示在Unicode字符的每個字符集,目前包含超過10萬項之一。

所以你實際上是要求一個真正的字體,支持當前在這個星球上使用的所有100k + unicode字符(它是一個移動的目標,隨着集合的不斷擴展和調整)。

所以我猜字面答案是否定的,你應該檢查你的前提條件(在你的用例中可能遇到什麼字符子集),然後搜索一個合適的多用途字體。

但是,有人試圖提供涵蓋大量unicode空間的字體 - search for 'Pan-Unicode Fonts'以獲得概述。


(U + 2615 - '熱飲';)

+1

經過一段時間,我發現了Arial Unicode.ttf,它幾乎涵蓋了所有主要語言,西里爾文,阿拉伯文,中文等。 –

+0

@TomKincaid對於「低保真度」,您可以使用[UniFoundry的字體](http:///unifoundry.com/unifont.html),它的印刷質量很低但覆蓋了超過65000個Unicode代碼點。 – Boldewyn

+0

值得注意的是:歷史設計考慮因素會阻止任何超過1個'unsigned short'字符的字體 - 65,535個不同的字形。例如,一些代碼點可能共享一個字形 - 拉丁語資本「A」和希臘資本「阿爾法」,但這就是您可以通過人爲擴展範圍所做的一切。 – usr2564301