TrueType
此條目需要更新。 (2018年7月2日) |
此條目沒有列出任何參考或來源。 (2015年4月21日) |
TrueType是由美國蘋果公司和微軟公司共同開發的一種電腦輪廓字型(曲線描邊字)類型標準。這種類型字型檔案的副檔名是.ttf
,類型代碼是tfil
。
副檔名 | |
---|---|
網路媒體型式 | font/ttf |
類型代碼 | tfil |
統一類型標識 | public.truetype-ttf-font |
開發者 | 蘋果公司 |
格式類型 | 字型檔案 |
早在1980年代末,蘋果公司為了對抗Adobe公司的Type 1 PostScript字型,設計開發了TrueType。之後微軟加入了開發,Windows作業系統的字型格式基本上都統一成TrueType,而在蘋果的Mac OS卻成了PostScript和TrueType對立的局面。TrueType後來也被Linux等系統使用,成為標準字型。TrueType的主要強項在於它能給開發者提供關於字型顯示、不同字體大小的像素級顯示等的進階控制。
在後來開發的OpenType類型字型中,可以選擇PostScript或TrueType作為記述方式。
歷史
編輯蘋果
編輯在麥金塔中,字型原先是儲存為手工調整的點陣字型檔案,為每個字型、特殊大小分別指定一個個的像素位置。如果用戶要看另一個大小的字型,字型管理器(Font Manager)找到最接近匹配,應用基本比例演算法來顯示。當比例放大到大字號的時候,效果就非常糟糕——因為字型是點陣式的,字形就被放大成馬賽克式的鋸齒。
與之相對的,印表機的字型,如著名的Apple LaserWriter是基於PostScript Type 1輪廓,可以出色地輸出任何大小的文字。輪廓字型通過一套描繪曲線的算式來建立每個字元或「字形」。使用算式,電腦可以繪製出一個「輪廓」形狀,然後再「填充」進顏色(例如:黑色)從而列印出字元。這些算式可以按照比例進行縮放到任意大小,而與顯示器和印表機的解像度無關。無論是列印到膠片,還是顯示在螢幕上都具有同樣的質素。該技術曾經是一個重要的發明,並由Adobe公司創始人開發推行,稱為PostScript。但另一個難點是Type 1字型是加密過的,Adobe通過發售格式認證得到了相當可觀的收入,所以他們也不想向蘋果免費轉讓這個軟件。
而蘋果的Sampo Kaasila決客製化作一個全新的格式,代號為「Bass」。這個系統隨後被開發出來,稱為TrueType,並在1991年5月隨Mac OS System 7發表。這些字型均含有4種字型的套裝,包括Times Roman, Helvetica, Courier等大量字型,代替了原麥金塔系統中原有的點陣字型。為了能保證和老系統的相容,蘋果還發佈了一個TrueType擴充,和一個System Software 6使用的Font/DA Mover。
可是TrueType字型在實際的出版業界反應並不好。當時的狀況是,用戶已經花了大筆資金購買了Type 1字型,沒有必要進行更換,而且他們仍然要使用Adobe Type Manager (ATM)。而且另外一個問題是,TrueType格式的字型數量甚少,不值得他們更新。
為了對抗Adobe,蘋果將TrueType認證給了微軟,並換來了TrueImage——微軟開發的PostScript印表機控制語言,蘋果計劃使用在他們的激光印表機上。不過這個列印語言最終沒有在任何蘋果的產品上實際使用。
儘管ATM並不是隨作業系統附,而需要另外購買,但是它已經成為桌面出版業界的實際標準。當TrueType發佈的時候,Adobe的John Warnock發表聲明,聲稱蘋果和微軟在兜售「騙人的萬靈油」,並隨後發佈了可供任何人使用的Type 1格式作為出版標準。這給TrueType更大的壓力。蘋果於是更新了Adobe的協定,在其印表機上使用PostScript。
蘋果在1994年發表了TrueType GX拓展了TrueType,也是QuickDraw GX智能字型技術的一部分。這是在兩個主要領域的重要拓展:首先在字型軸線(morphing變形),比如允許字型從細到粗、或從窄到寬平滑調整,與Adobe的「multiple master」技術對抗。第二就是自動替換,當字元組合為事先設計好的變體設計時可以進行自動替換,最常見的就是合字組合:「fi」「ffi」「ct」等等。但是,由於缺乏用戶友好的開發工具來建立TrueType GX字型,使得GX fonts字型寥寥。TrueType GX中的多數技術,包括morphing變形和替換,現在都被囊括到Mac OS X系統的蘋果進階文字排版技術(Apple Advanced Typography,AAT)中。然而蘋果以外的字型開發者卻很少建立AAT字型,而都轉向支援OpenType。
微軟
編輯1991年微軟把TrueType加入Windows 3.1作業系統。在與Monotype公司合作下,微軟花了大力氣製作了一批高質素TrueType字型,並使其可以與當時PostScript裝置捆綁的核心字型相容。其中包括了目前Windows系統的一些著名字型:Times New Roman體(與Times Roman相容)、Arial體(與Helvetica體相容)和Courier New體(與Courier體相容)。
請注意,所謂「相容」意味着兩層含義:第一,相容字型外觀非常相似;第二,也是很重要的,字型含有同樣的字元寬度,以便可以用來替代相同文件的內容而不需要重新排版調整。對於字型名稱的變化,除了Arial和Helvetica體;導致有人認為產生一個問題:每當一個特定的Windows字型命名之後,必須決定一個與其相當的蘋果或PostScript字型,反之亦然。儘管如此,雖然字型中字元輪廓數據本身不一樣,風格和字型被做的很相似,導致一般用戶很難區別開來。
微軟和Monotype的技術人員使用TrueType的「提示技術」(hinting technology)來解決字型在低解像度的顯示模糊問題。原先的技術是在小字號時改用點陣字型。後來的技術改進首先引入了抗鋸齒效果,可以平滑字型邊緣;現在常用的是「次像素補償」(微軟使用這個技術,並稱為ClearType),使用液晶顯示器像素結構,以提高實際能顯示的解像度。微軟大力推廣這些技術,並擴充到各種平台。
微軟還開發了一個叫「智能字型」的技術,在1994年稱為TrueType Open,然後在與Adobe Type 1技術合併後改名為OpenType。
TrueType Collections (TTC)允許將多個字型合併為一個檔案,為選擇的字型僅使用一些字型的不同字形建立替換間距儲存。最初只在中文、日文和韓國語版的Windows系統中使用,之後在Windows 2000支援所有區域。
TrueType現狀
編輯Macintosh和Windows
編輯在目前的Mac OS X和Windows XP系統中,TrueType是最常見的字型格式。雖然二者都包含對Adobe的Type 1格式和OpenType拓展的本地支援。可是現在很多字型已經改用OpenType格式,但是大多數免費廉價的第三方字型仍使用純TrueType格式。
目前的趨勢是,對螢幕補償的追求減少了對拓展TrueType提示技術(font hinting)的重要性。蘋果Mac OS X的補償技術幾乎忽略了所有TrueType字體中的所有提示資料,而微軟的ClearType也忽略了很多提示資料,並與「略加提示」的字體配合使用最佳。
Linux及其他平台
編輯文泉驛計劃提供了很好的TrueType中文字元支援,而且開源提供,被很多Linux版本支援。 David Turner的FreeType專案期望建立一個獨立執行的TrueType標準(如同Freetype 2其他字型標準)。FreeType包含很多Linux提供者。
在FreeType中有一些專利問題因為一部分TrueType字型提示虛擬機器是蘋果的專利保護的,並沒有在TrueType標準中提及。FreeType 2包括一個自動提示器可以分析字形形狀,並自動生成提示,從而跳過這些受專利保護的技術。[1](頁面存檔備份,存於互聯網檔案館) 免費/廉價字型往往沒有提示數據,或者任意生成,自動提示器基本上改進了這類字型的外觀,但它同時降低了那些原先提示好的專業字型外觀,但是對於非西文字型的效果不是很好,因此很多人還是傾向於使用專利保護的提示技術。
技術資訊
編輯輪廓
編輯TrueType字型中的字元(或字形)輪廓由直線和二次貝塞爾曲線(bézier)片段構成。這些構建在數學上比平面設計界PostScript使用的三次貝塞爾曲線(也被Type 1字型所使用)更容易處理。儘管如此,對於多數形狀,二次要比三次貝塞爾曲線需要更多的點來描述。這個差異也意味着它不能將Type 1無失真地轉換為TrueType格式,可是你可以無失真地將TrueType轉換為Type 1。
提示語言
編輯TrueType系統包含一個虛擬機在字體內部執行程式,處理字形的"提示"(hints)。這些定義輪廓的控制點最主要目的是在字型顯示時減少模糊現象。每個字形的提示程式能算出顯示字形的像素大小,以及顯示環境中其他次要參數。
雖然和普通程式中的接受輸入和產品輸出一同,TrueType提示語言的確具備一些程式語言的特性:條件分支(IF聲明),控制循環一個時間的演算法(FOR- 和WHILE-型聲明),變數(雖然這些只是主記憶體中分給字體的一個區域中的簡單編號的槽),並將代碼封裝到函數中。特別結構delta hints是最低級的控制,用來移動一個控制點或一個像素大小。
好的TrueType字形程式技術需要在一個字體中盡可能的使用一次參數定義(例如:字元頸寬、大寫字母高度、x字高)。這意味着盡量避免delta結構。這可以幫助字體開發者做一些重要修改(例如:要統一將字元主高改到1-2像素寬的時候)。
製作一個良好提示的TrueType字型需要大量的工作。1990年代以來,大量的添加字體提示的程式被開發出來給用戶使用;但是,很多TrueType字型只有一些很不完善的提示,或者只有根據字型編輯器自動提示,導致各種不同結果。
參考文獻
編輯外部連結
編輯- TrueType規格 (微軟)(頁面存檔備份,存於互聯網檔案館)(英文)
- TrueType規格 (蘋果)(頁面存檔備份,存於互聯網檔案館)(英文)
- TrueType字型(頁面存檔備份,存於互聯網檔案館)(英文)
參見
編輯- 字型
- PostScript
- OpenType
- 統一碼,UTF-8,統一碼字型。
- Uniscribe(Windows multilingual text rendering engine)
- Apple Type Services for Unicode Imaging(New Macintosh multilingual text rendering engine)
- WorldScript(Old Macintosh multilingual text rendering engine)