<p><b>TrueType</b>是由美國蘋果公司和微軟公司共同開發的一種電腦輪廓字型（曲線描邊字）類型標準。這種類型字型檔案的副檔名是<code>.ttf</code>，類型代碼是<code>tfil</code>。
</p><p>早在1980年代末，蘋果公司為了對抗Adobe公司的Type 1PostScript字型，設計開發了TrueType。之後微軟加入了開發，Windows作業系統的字型格式基本上都統一成TrueType，而在蘋果的Mac OS卻成了PostScript和TrueType對立的局面。TrueType後來也被Linux等系統使用，成為標準字型。TrueType的主要強項在於它能給開發者提供關於字型顯示、不同字體大小的像素級顯示等的進階控制。
</p><p>在後來開發的OpenType類型字型中，可以選擇PostScript或TrueType作為記述方式。
</p>


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

<h2><span id=".E5.A4.96.E9.83.A8.E9.93.BE.E6.8E.A5"></span><span id="外部链接">外部連結</span></h2>
<ul><li>TrueType規格 (微軟)（頁面存檔備份，存於網際網路檔案館）<span title="英語">（英文）</span></li>
<li>TrueType規格 (蘋果)（頁面存檔備份，存於網際網路檔案館）<span title="英語">（英文）</span></li>
<li>TrueType字型（頁面存檔備份，存於網際網路檔案館）<span title="英語">（英文）</span></li></ul><h2><span id=".E5.8F.82.E8.A7.81"></span><span id="参见">參見</span></h2>
<ul><li>字型</li>
<li>PostScript</li>
<li>OpenType</li>
<li>萬國碼，UTF-8，Unicode fonts。</li>
<li>Uniscribe（Windows multilingual text rendering engine）</li>
<li>Apple Type Services for Unicode Imaging（New Macintosh multilingual text rendering engine）</li>
<li>WorldScript（Old Macintosh multilingual text rendering engine）</li></ul><!-- 
NewPP limit report
Parsed by mw1427
Cached time: 20230505225927
Cache expiry: 1814400
Reduced expiry: false
Complications: [show‐toc]
CPU time usage: 0.247 seconds
Real time usage: 0.296 seconds
Preprocessor visited node count: 729/1000000
Post‐expand include size: 207186/2097152 bytes
Template argument size: 824/2097152 bytes
Highest expansion depth: 13/100
Expensive parser function count: 4/500
Unstrip recursion depth: 0/20
Unstrip post‐expand size: 0/5000000 bytes
Lua time usage: 0.085/10.000 seconds
Lua memory usage: 5500157/52428800 bytes
Number of Wikibase entities loaded: 0/400
--><!--
Transclusion expansion time report (%,ms,calls,template)
100.00%  167.744      1 -total
 39.40%   66.083      1 Template:TA
 31.18%   52.301      1 Template:Update
 29.34%   49.209      2 Template:Ambox
 20.17%   33.840      1 Template:Infobox_file_format
 18.36%   30.799      1 Template:Infobox
  6.65%   11.150      1 Template:Le
  2.94%    4.940      3 Template:En
  2.76%    4.625      1 Template:Unreferenced
  2.41%    4.036      2 Template:Template_error
-->
**TrueType** 是由美國蘋果公司和微軟公司共同開發的一種電腦輪廓字型（曲線描邊字）類型標準。這種類型字型檔案的副檔名是 `.ttf`，類型代碼是 `tfil`。

早在 1980 年代末，蘋果公司為了對抗 Adobe 公司的 Type 1PostScript 字型，設計開發了 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 OSSystem 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 系統的 AAT（Apple Advanced Typography）中。然而蘋果以外的字型開發者卻很少建立 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，Unicode fonts。
* 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）
.ttc