FreeType

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

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

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

 功能 
 字体微调 
TrueType TrueType 字节码直译器于2.4.0版默认启用，TrueType次像素微调支持于2.4.11版实现。
PostScript Dave Arnold的新的CFF解析及微调引擎于2.4.12版加入，2.5.0.1版默认启用。
Auto-hinter Auto-hinter于FreeType 2.1.10中以auto-fitter取代。新的用于中日韩字体的算法于FreeType 2.2中加入，基于Akito Hirai的补丁。

 文件格式 
Adobe的新型SING字型包格式于FreeType 2.2中加入。TrueType字体"head"表格当中的Bit 1于FreeType 2.2中得到支持。对SFNT cmap 13表格格式的支持于2.3.10中加入。对带有SFNT封装的OpenType Collection及CFF字体的支持于2.4.11版加入。
PostScript 针对AFM文件的追踪性字距调整于FreeType 2.2中加入。

 历史 
FreeType于1996年由大卫·特纳（David Turner）创造，用以渲染TrueType字体，包括一个处理TrueType字节码的解析器。最初以Pascal语言编写，1997年由罗伯特·威廉（Robert Wilhelm）移植到C语言。随后维纳尔·伦贝尔（Werner Lemberg）加入开发组并维护Freetype至今。

FreeType 1只支持TrueType字体格式，但包含了一个扩展来支持OpenType文本排版功能。

 大规模重写的2.0 
FreeType 2.0版于2000年发布，带来完全重写的代码以使之模块化。FreeType 2带来对更多字体格式的支持，并且演化出被开发者称为“更精简且更强大”的源代码。FreeType 2不与FreeType 1兼容，但开发者声称从FreeType 1转移到FreeType 2表现出的难度很小。然而由于文本布局处理不是FreeType 2的目标，FreeType 1的OpenType文本布局功能在FreeType 2中被移除。FreeType 1的OpenType文本布局功能的进一步演化形式用在了Pango文本布局库。HarfBuzz项目进一步发展出有着完全重写的内容的所需特性作为独立的库，带有比Pango的许可证略为严格的授权。

 专利冲突 
1999年Freetype项目被苹果公司通知FreeTypeTrueType字体微调相关专利。之后Freetype被默认停用或者围绕专利相关技术开发。因此像FreeBSD或Linux之类的一些开放源代码项目包含禁用或者阉割字体微调的FreeType以避开苹果持有的软件专利。

2010年5月起，所有与字体微调相关的有冲突的软件专利被解除，允许FreeType的TrueType字体微调引擎开放源代码使用。许多禁用该引擎的系统提供选项来让用户启用。Fedora中，freetype-freeworld从专有的yum资源库转移到自由资源库

 CFF引擎捐赠 
2013年Adobe给FreeType项目捐赠了一个CFF（Compact Font Format，PostScript字体）渲染引擎，在2.5版被加入并默认启用。

 用户 
Android FreeType在Android用作字体渲染引擎。
苹果公司 苹果在iOS和macOS中使用FreeType，仅次于。
Java 2007年，Sun公司在OpenJDK這個Java開發工具包中將專有的字型柵格化引擎變更為FreeType。
PlayStation 索尼于PlayStation 3、PlayStation 4及PlayStation Vita的控制台中搭载FreeType。

ReactOS FreeType用作ReactOS的字體渲染程序。

 其他 
在被多數自由桌上型系統軟體使用的同時，FreeType也被現代電子遊戲遊戲公司遺迹娛樂在他們的遊戲Dawn of War及Company of Heroes當中使用FreeType，以其在載入屏幕方面視為可靠。FreeType也被用於《A Treehouse of My Own》及《Julie Saves The Eagles》之類的PC版遊戲。及用於Wii的Opera用作柵格化引擎。Wii上的Opera 9控制台使用FreeType，可以通過能以下列途徑在Wii中搜尋到的Third-party information頁面找到：Internet Channel > Operations Guide > About > Opera 9 for Wii — Third-party informationgdipp及MacType專案把Windows系統的字型柵格化引擎以FreeType取代。

 参见 

 HarfBuzz，用于Unicode文本塑形的库
 Pango，多语种文本渲染引擎
 FontForge，字体编辑软件
 AltNETType，FreeType的C#移植版本

 參考資料 

 外部連結 
 FreeType首頁
 關於Freetype的文章

Category:數碼字體排印
Category:C函式庫
Category:自由排版软件
Category:字体格式