複製鏈接
請複製以下鏈接發送給好友

矢量字體

鎖定
矢量字體(Vector font)中每一個字形是通過數學曲線來描述的,它包含了字形邊界上的關鍵點,連線的導數信息等,字體的渲染引擎通過讀取這些數學矢量,然後進行一定的數學運算來進行渲染。這類字體的優點是字體實際尺寸可以任意縮放而不變形、變色。矢量字體主要包括 Type1 、 TrueType、OpenType等幾類。
又叫Outline font,通常使用貝塞爾曲線,繪圖指令和數學公式進行繪製。這樣可以在對字體進行任意縮放的時候保持字體邊緣依然光滑,字體色素不會丟失。
中文名
矢量字體
外文名
Vector font
分    類
Type1、TrueType、OpenType
優    點
字體實際尺寸可以任意縮放而不變形、變色
別    稱
Outline font
繪製方式
貝塞爾曲線,繪圖指令和數學公式

矢量字體字體分類

主流的矢量字體格式有3種:Type1,TrueType和OpenType,這三種格式都是與平台無關的。
Type1全稱PostScript Type1,是1985年由Adobe公司提出的一套矢量字體標準,由於這個標準是基於PostScript Description Language(PDL),而PDL又是高端打印機首選的打印描述語言,所以Type1迅速流行起來。但是Type1是非開放字體,Adobe對使用Type1的公司徵收高額的使用費。
TrueType是1991年由Apple公司與Microsoft公司聯合提出另一套矢量字標準。
Type1使用三次貝塞爾曲線來描述字形,TrueType則使用二次貝塞爾曲線來描述字形。所以Type1的字體比TrueType字體更加精確美觀。一個誤解是,Type1字體比TrueType字體佔用空間多。這是因為同樣描述一個圓形,二次貝塞爾曲線只需要8個關鍵點和7段二次曲線;而三次貝塞爾曲線則需要12個關鍵點和11段三次曲線。然而實際情況是一般來説 Type1比TrueType要小10%左右。這是因為對於稍微複雜的字形,為了保持平滑,TrueType必須使用更多的關鍵點。由於現代大部分打印機都是使用PDL作為打印描述語言,所以Type1字體打印的時候不會產生形變,速度快;而TrueType則需要翻譯成PDL,由於曲線方程的變化,還會產生一定的形變,不如Type1美觀。

矢量字體優勢比較

矢量字體有許多種類,其中的一種———由TrueType 字庫產生的字體,這裏簡稱成TrueType 字體,也是Windows 常用的字體,它是一種基於輪廓技術的字體,字體信息是用直線段,二次貝塞爾曲線來描述的,這使得他們比其它矢量的字體更容易處理,保證了屏幕與打印輸出的一致性;同時,可以隨意縮放、旋轉而不必擔心會出現鋸齒,這也是矢量字體相對於點陣字體無可比擬的優越性。 [1] 
這麼説來,Type1應該比TrueType更具有優勢,為什麼如今的計算機上TrueType反而比Type1使用更廣泛呢?
這是因為第一:Type1由於字體方程的複雜,所以在屏幕上渲染的時候,花費的時間多,解決方案是大部分Type1字體嵌入了點陣字體,這樣渲染快,但是邊緣不光滑,比較難看。很多ps文檔和ps轉換的pdf文檔都是這樣,在計算機上瀏覽的時候字體很難看,但是打印出來很美觀。TrueType則渲染比較快,可以平滑的顯示在屏幕上,看上去很美觀。
第二個原因是Type1的高額使用費,使得Type1沒有被所有的操作系統所支持。Windows家族只有OS/2和windows 2000及之後的版本從操作系統級別開始支持Type1。由於這個問題,Adobe只好在其所有的產品中嵌入Adobe Type Manager(ATM)作為渲染引擎。
OpenType則是Type1與TrueType之爭的最終產物。1995年,Adobe公司和Microsoft公司開始聯手開發一種兼容Type1和TrueType,並且真正支持Unicode的字體,後來在發佈的時候,正式命名為OpenType。OpenType可以嵌入Type1和TrueType,這樣就兼有了二者的特點,無論是在屏幕上察看還是打印,質量都非常優秀。可以説OpenType是一個三贏的結局,無論是Adobe、Microsoft還是最終用户,都從OpenType中得到了好處。Windows家族從Windows 2000開始,正式支持OpenType。打開系統的字體目錄(一般是C:\Windows\Fonts\或C:\Winnt\Fonts),可以看到:一個紅色A的圖標的是點陣字體,兩個重疊的T的圖標是TrueType字體,一個O的圖標就是OpenType字體。

矢量字體灰度圖

利用從節目單中獲得字體、大小等信息,就可以利用FreeType 庫生成矢量字體的灰度圖. FreeType
  庫提供了許多API 函數,這裏繪出用FreeType 的API 繪製字符的流程圖。

矢量字體擴展名

矢量字體擴展名ttf點陣字體的擴展名是fon.
參考資料