FreeType

出自Local Chinese Wikipedia
跳至導覽 跳至搜尋

Template:NoteTA

  1. REDIRECT Template:Expand language

腳本錯誤:沒有「Infobox」這個模塊。腳本錯誤:沒有「Check for unknown parameters」這個模塊。

FreeType是一個用C語言實現的一個字體光柵化函式庫。它可以用來將字符柵格化並映射成點陣圖以及提供其他字體相關業務的支持。

FreeType並不提供API以執行更高級的功能,如文字佈局或圖形處理(例如彩色文本渲染、「空洞化」等)。然而,它提供了一個簡單、易用並統一的接口來訪問字型文件的內容,從而極大地簡化了這些任務。它支持各種字體格式,包括TrueTypeType 1、以及OpenType

FreeType在兩個自由軟件許可證的授權下發佈:GNU通用公共許可證或者以及一個類BSD許可證。因此這個函式庫能夠使用於任何類型的項目中,無論其是否是專有軟件。同時也包括正在使用的主要自由桌面系統軟件。

功能[編輯]

字體微調[編輯]

TrueType
TrueType 字節碼直譯器於2.4.0版默認啟用,[1]TrueType次像素微調支持於2.4.11版實現。[2]
PostScript
Dave Arnold的新的CFF解析及微調引擎於2.4.12版加入,[3]2.5.0.1版默認啟用。
Auto-hinter
Auto-hinter於FreeType 2.1.10中以auto-fitter取代。[4]新的用於中日韓字體的算法於FreeType 2.2中加入,基於Akito Hirai的補丁。[5]

文件格式[編輯]

Adobe的新型SING字型包格式於FreeType 2.2中加入。[5]TrueType字體"head"表格當中的Bit 1於FreeType 2.2中得到支持。[5]對SFNT cmap 13表格格式的支持於2.3.10中加入。[6]對帶有SFNT封裝的OpenType Collection及CFF字體的支持於2.4.11版加入。[2]

PostScript
針對AFM文件的追蹤性字距調整於FreeType 2.2中加入。[5]

歷史[編輯]

FreeType於1996年由大衛·特納(David Turner)創造,用以渲染TrueType字體,包括一個處理TrueType字節碼的解析器。最初以Pascal語言編寫,1997年由羅伯特·威廉(Robert Wilhelm)移植到C語言。隨後維納爾·倫貝爾(Werner Lemberg)加入開發組並維護Freetype至今。[7][8][9]

FreeType 1只支持TrueType字體格式,但包含了一個擴展來支持OpenType文本排版功能。

大規模重寫的2.0[編輯]

FreeType 2.0版於2000年發佈,帶來完全重寫的代碼以使之模塊化。FreeType 2帶來對更多字體格式的支持,並且演化出被開發者稱為「更精簡且更強大」的原始碼。[10]FreeType 2不與FreeType 1兼容,但開發者聲稱從FreeType 1轉移到FreeType 2表現出的難度很小。[10]然而由於文本佈局處理不是FreeType 2的目標,FreeType 1的OpenType文本佈局功能在FreeType 2中被移除。FreeType 1的OpenType文本佈局功能的進一步演化形式用在了Pango文本佈局庫。HarfBuzz項目進一步發展出有着完全重寫的內容的所需特性作為獨立的庫,帶有比Pango的許可證略為嚴格的授權。[11]

專利衝突[編輯]

1999年Freetype項目被蘋果公司通知FreeType腳本錯誤:沒有「ilh」這個模塊。TrueType字體微調相關專利。之後Freetype被默認停用或者圍繞專利相關技術開發。因此像FreeBSDLinux之類的一些開放原始碼項目包含禁用或者閹割字體微調的FreeType以避開蘋果持有的軟件專利[12]

2010年5月起,所有與字體微調相關的有衝突的軟件專利被解除,[12]允許FreeType的TrueType字體微調引擎開放原始碼使用。許多禁用該引擎的系統提供選項來讓用戶啟用。Fedora中,freetype-freeworld從專有的yum資源庫轉移到自由資源庫[13]

CFF引擎捐贈[編輯]

2013年Adobe給FreeType項目捐贈了一個CFF(Compact Font Format,PostScript字體)渲染引擎,在2.5版被加入並默認啟用。[14][15]

用戶[編輯]

Android
FreeType在Android用作字體渲染引擎。[16]
蘋果公司
蘋果在iOS[16]macOS[17]中使用FreeType,僅次於腳本錯誤:沒有「ilh」這個模塊。
Java
2007年,Sun公司在OpenJDK這個Java開發工具包中將專有的字型柵格化引擎變更為FreeType。[18]
PlayStation
索尼於PlayStation 3[19]PlayStation 4[20]PlayStation Vita[21]的控制台中搭載FreeType。
ReactOS
FreeType用作ReactOS的字體渲染程序。[22]

其他[編輯]

MacType控制面板窗口
MacType控制面板窗口

在被多數自由桌上型系統軟件使用的同時,FreeType也被現代電子遊戲[23][24]及用於WiiOpera用作柵格化引擎。[25]gdipp[26]MacType[27]專案把Windows系統的字型柵格化引擎以FreeType取代。

參見[編輯]

腳本錯誤:沒有「Portal」這個模塊。

參考資料[編輯]

  1. Template:Cite web
  2. 2.0 2.1 Template:Cite web
  3. Template:Cite web
  4. Template:Cite web
  5. 5.0 5.1 5.2 5.3 Template:Cite web
  6. Template:Cite web
  7. 引用錯誤:無效的 <ref> 標籤,未定義名稱為 history 的參考文獻內容文字。
  8. Template:Cite web
  9. Template:Cite web
  10. 10.0 10.1 Template:Cite web
  11. Template:Cite web
  12. 12.0 12.1 Template:Cite web
  13. Template:Cite web
  14. Template:Cite web
  15. Template:Cite web
  16. 16.0 16.1 Template:Cite web
  17. Template:Cite web
  18. Template:Cite web
  19. Template:Cite web
  20. Template:Cite web
  21. Template:Cite web
  22. Template:Cite web
  23. 遊戲公司遺跡娛樂在他們的遊戲Dawn of War及Company of Heroes當中使用FreeType,以其在載入屏幕方面視為可靠。
  24. FreeType也被用於《A Treehouse of My Own》及《Julie Saves The Eagles》之類的PC版Template:Le遊戲。
  25. Wii上的Opera 9控制台使用FreeType,可以通過能以下列途徑在Wii中搜尋到的Third-party information頁面找到:Internet Channel > Operations Guide > About > Opera 9 for Wii — Third-party information
  26. Template:Cite web
  27. Template:Cite web

外部連結[編輯]

Template:Free and open-source typography