freetype

freetype

FreeType庫是一個完全免費(開源)的、高質量的且可移植的字型引擎,它提供統一的接口來訪問多種字型格式檔案,包括TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF等。

簡介

支持單色點陣圖、反走樣點陣圖的渲染。FreeType庫是高度模組化的程式庫,雖然它是使用ANSI C開發,但是採用面向對象的思想,因此,FreeType的用戶可以靈活地對它進行裁剪。

特性

下面是 FreeType 2 提供的特性的一個不完全列表:

1. FreeType 2 為訪問字型檔提供了一套統一的、獨立於字型檔類型的、簡單而易用的API。另外,一些特別類型的API可以用來訪問字型檔里的特殊數據。

2. 與大多數同類的字型檔不同,FreeType 2 生來就支持類似TrueType 或者 Type 1的可縮放字型類型,並且可以將字型的大綱數據(控制項介紹/提示)返回給各戶應用程式。

3. FreeType 2 的設計是基於模組的,這些模組可以在編譯時被靜態連結到庫中或者在運行時根據需要載入。模組可以用來支持特殊的字型格式,或者甚至是新的符號圖像類型!

4. FreeType 2 特意使用嵌入式系統編寫,這意味著它不使用靜態可寫數據(也就是說,它可以直接從ROM中運行),這樣客戶程式就可以只為他們自己提供記憶體管理和輸入/輸出流的實現。

5. 客戶程式自己的輸入/輸出流可以使你輕易地使用相同的API讀取基於ROM或被壓縮的或遠程的字型檔。多個流實現可以並行的被一個FreeType 2 實例使用。

6. 你可以只編譯那些你的嵌入式工程或環境需要的模組,從而有效的減小FreeType 2 的代碼大小。

7. FreeType 2 默認支持下面的字型類型:

TrueType 字型(集合)

Type 1 字型

CID-keyed Type 1 字型

CFF 字型

OpenType fonts (包括 TrueType 和 變體CFF )

SFNT-based bitmap 字型

X11 PCF 字型

Windows FNT 字型

BDF 字型 (包括反走樣類型的)

PFR 字型

Type 42 字型 (有限支持)

8. 通過一個給定的字形輪廓,FreeType 2 有能力產生一個高質量的單色點陣圖或一幅使用年256階灰度的不走樣的像素圖。這比Windows 9x/98/NT/2000 或 FreeType 1使用的5階灰度像素圖要好得多。

9. FreeType 2 支持 TrueType 和 OpenType 規格定義的全部字元映射。同時,它也完全有能力自動合成Type 1 使用的那種Unicode字元表,這種表要求必須把一個那種令人頭痛的供轉換編碼時使用的結束符放置在標的末尾——這在Type 1 使用的那種格式中是很常見的(當然,如果你需要,那種原始的編碼方式也是可用的)。

10. FreeType 2 的核心API提供了對訪問字形名或調整數據中字元間距這樣的高級信息的函式支持。

11. 一個完整且有效率的TrueType位元組碼解釋器。這個引擎可以用很小的點產生極好的輸出。由於TrueType規格極其令人費解且十分含糊,這個組件想要成功完成輸出是極其困難的。但無論如何,我們現在已經能使Windows的顯示質量達到Mac的水平。

12. 對於那些不需要或不希望為TrueType字型使用位元組碼解釋器的人,我們開發了我們自己的自動提示模組。這種模組過去也曾被一些可縮放的字型使用過。

13. FreeType 2 可以產生一些相似的字型引擎無法產生的信息,例如字距調整的位距、字元名、垂直度量之類的。由於它模組化的設計,可以很方便地通過可選的API更改FreeType庫來提供另外的針對特定字型類型的信息。(例如,一個可選的API用來檢索TrueType 和 OpenType 字型的SFNT表。

14. 自從2.0.1版發布開始,FreeType 2 開始提供它自己的超高速快取子系統。可以利用它快取可變實例或字形圖像,使它們擁有更高的效率。

相關詞條

相關搜尋

熱門詞條

聯絡我們