热门问题
时间线
聊天
视角
FreeType
用於將文字繪製到點陣圖與其他字型相關操作的軟體開發函式庫 来自维基百科,自由的百科全书
Remove ads
FreeType是一個用C語言實現的一個字體光柵化函式庫。它可以用來將字符柵格化並映射成點陣圖以及提供其他字體相關業務的支持。
![]() | 此條目可參照英語維基百科相應條目來擴充。 |
FreeType並不提供API以執行更高級的功能,如文字佈局或圖形處理(例如彩色文本渲染、「空洞化」等)。然而,它提供了一個簡單、易用並統一的接口來訪問字型文件的內容,從而極大地簡化了這些任務。它支持各種字體格式,包括TrueType、Type 1、以及OpenType。
FreeType在兩個自由軟件許可證的授權下發佈:GNU通用公共許可證或者以及一個類BSD許可證。因此這個函式庫能夠使用於任何類型的項目中,無論其是否是專有軟件。同時也包括正在使用的主要自由桌面系統軟件。
Remove ads
功能
Adobe的新型SING字型包格式於FreeType 2.2中加入。[9]TrueType字體"head"表格當中的Bit 1於FreeType 2.2中得到支持。[9]對SFNT cmap 13表格格式的支持於2.3.10中加入。[10]對帶有SFNT封裝的OpenType Collection及CFF字體的支持於2.4.11版加入。[6]
- PostScript
- 針對AFM文件的追蹤性字距調整於FreeType 2.2中加入。[9]
歷史
FreeType於1996年由大衛·特納(David Turner)創造,用以渲染TrueType字體,包括一個處理TrueType字節碼的解析器。最初以Pascal語言編寫,1997年由羅伯特·威廉(Robert Wilhelm)移植到C語言。隨後維納爾·倫貝爾(Werner Lemberg)加入開發組並維護Freetype至今。[3][11][12]
FreeType 1只支持TrueType字體格式,但包含了一個擴展來支持OpenType文本排版功能。
FreeType 2.0版於2000年發布,帶來完全重寫的代碼以使之模塊化。FreeType 2帶來對更多字體格式的支持,並且演化出被開發者稱為「更精簡且更強大」的源代碼。[13]FreeType 2不與FreeType 1兼容,但開發者聲稱從FreeType 1轉移到FreeType 2表現出的難度很小。[13]然而由於文本布局處理不是FreeType 2的目標,FreeType 1的OpenType文本布局功能在FreeType 2中被移除。FreeType 1的OpenType文本布局功能的進一步演化形式用在了Pango文本布局庫。HarfBuzz項目進一步發展出有着完全重寫的內容的所需特性作為獨立的庫,帶有比Pango的許可證略為嚴格的授權。[14]
1999年Freetype項目被蘋果公司通知FreeType侵犯TrueType字體微調相關專利。之後Freetype被默認停用或者圍繞專利相關技術開發。因此像FreeBSD或Linux之類的一些開放源代碼項目包含禁用或者閹割字體微調的FreeType以避開蘋果持有的軟件專利。[15]
2010年5月起,所有與字體微調相關的有衝突的軟件專利被解除,[15]允許FreeType的TrueType字體微調引擎開放源代碼使用。許多禁用該引擎的系統提供選項來讓用戶啟用。Fedora中,freetype-freeworld從專有的yum資源庫轉移到自由資源庫[16]
2013年Adobe給FreeType項目捐贈了一個CFF(Compact Font Format,PostScript字體)渲染引擎,在2.5版被加入並默認啟用。[17][18]
用戶
- Android
- FreeType在Android用作字體渲染引擎。[19]
- 蘋果公司
- 蘋果在iOS[19]和macOS[20]中使用FreeType,僅次於Apple Advanced Typography。
- Java
- 2007年,Sun公司在OpenJDK這個Java開發工具包中將專有的字型柵格化引擎變更為FreeType。[21]
- PlayStation
- 索尼於PlayStation 3[22]、PlayStation 4[23]及PlayStation Vita[24]的控制台中搭載FreeType。

在被多數自由桌上型系統軟體使用的同時,FreeType也被現代電子遊戲[26][27]及用於Wii的Opera用作柵格化引擎。[28]gdipp[29]及MacType[30]專案把Windows系統的字型柵格化引擎以FreeType取代。
參見
參考資料
外部連結
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads