TrueTypeは、 1980年代後半にAppleがPostScriptで使用されるAdobeのType 1フォントに対抗するために開発したアウトラインフォント規格です。クラシックMac OS、macOS、およびMicrosoft Windowsオペレーティングシステムで最も一般的なフォント形式となっています。
TrueTypeの最大の強みは、フォント開発者がさまざまなフォントサイズにおいて、特定のピクセル単位まで、フォントの表示方法を高度に制御できる点にありました。しかし、今日では多様なレンダリング技術が用いられているため、TrueTypeフォントでもピクセルレベルの制御はもはや確実ではありません。
TrueTypeは開発中、当初はコードネームBass、後にRoyalとして知られていました。[ 2 ]このシステムは開発され、1991年5月のMac System 7の発売とともにTrueTypeとしてリリースされました。初期のTrueTypeアウトラインフォントは、 Times Roman、Helvetica、Courierの4ウェイトファミリー[ 3 ]と、πフォント「Symbol」で、Apple LaserWriterのオリジナルのPostScriptフォントを再現しました。Appleはまた、以前のMacintosh Systemバージョン(Geneva、Monaco、New Yorkを含む)のグラフィカルユーザーインターフェイスで使用されていたビットマップフォントの一部を、スケーラブルなTrueTypeアウトラインフォントに置き換えました。古いシステムとの互換性のために、Appleはこれらのフォント、TrueType拡張機能、およびSystem 6用のTrueType対応バージョンのFont/DA Moverを出荷しました。Laserwriter IIとの互換性のために、AppleはITC BookmanやITC ChanceryなどのフォントをTrueType形式で開発しました。
これらのフォントはすべて、画面とプリンタ上のあらゆるサイズに拡大縮小できるようになったため、Macintosh System 7 はビットマップ フォントなしで動作する最初の OS となった。初期の TrueType システム (まだ Apple の QuickDraw グラフィックス サブシステムの一部であった ) は、今日のように Type 1 フォントを画面上にレンダリングしなかった。当時、多くのユーザーは、まだ独自仕様であった Adobe の Type 1 フォントにすでにかなりの金額を投資していた。フォント フォーマットをオープンにするという Apple の戦略の一環として、Adobe はライセンス取得者以外には非公開にしたいと考えていたため、Apple は TrueType をMicrosoftにライセンス供与した。TrueType と Microsoft へのライセンス供与が発表されたとき、 Adobe の共同創業者で当時 CEO だったJohn Warnock は、熱のこもったスピーチで、Apple と Microsoft はインチキ商品を売っていると主張し、Type 1 フォーマットは誰でも使用できると発表
一方、AppleはTrueTypeと引き換えに、Microsoftが所有するPostScript互換のページ記述言語であるTrueImageのライセンスを取得しました。Appleはこの言語をレーザープリンターで使用できます。しかし、後にAppleとAdobeの間で契約が締結され、AdobeがPostScriptプリンターボードにTrueTypeインタープリタを搭載することを約束したため、実際にはApple製品にTrueTypeは搭載されませんでした。AppleはプリンターでのPostScriptの使用に関してAdobeとの契約を更新し、その結果、Adobeへのロイヤリティ支払額が削減されました。Adobeは、AppleのLaserWriterプリンターと直接競合できるプリンターコントローラーのライセンス供与を開始していました。
TrueTypeが開発されていることを知ったAdobeは、その対応策の一つとして、画面上でアンチエイリアス処理された出力のためにType 1フォントをスケーリングするAdobe Type Managerソフトウェアを開発しました。ATMは当初、オペレーティングシステムに無料で付属するのではなく有料でしたが、デスクトップパブリッシングに携わる人々にとって事実上の標準となりました。アンチエイリアス処理されたレンダリング、Adobeアプリケーションの小さな文字を読みやすくするためのズーム機能、そして当時オープンだったPostScript Type 1フォントフォーマットが組み合わさることで、フォントデザインと新聞や雑誌のデスクトップパブリッシングが爆発的に発展するきっかけとなりました。
Appleは1994年にTrueType GXをリリースし、 QuickDraw GXの一部を構成するsfntにテーブルを追加することでTrueTypeを拡張しました。これにより、主に2つの分野で強力な拡張機能が提供されました。1つ目はフォント軸(現在ではバリエーションとして知られています)で、例えばフォントをライトからボールド、またはナローからエクステンデッドへとスムーズに調整できる機能です。これはAdobeの「マルチプルマスター」テクノロジーに対抗するものでした。2つ目はラインレイアウトマネージャで、特定の文字シーケンスをコーディングすることで、特定の状況下で異なるデザインに切り替えることができます。例えば、 「fi」、「ffi」、「ct」などの合字を提供しながら、スペルチェッカーやテキスト検索に必要な文字のバックストアを維持するのに役立ちます。しかし、TrueType GXフォントを作成するためのユーザーフレンドリーなツールが不足していたため、GXフォントはごく少数しか存在しませんでした。
TrueType GXの技術の多く(バリエーションや置換機能など)は、macOSのAAT( Apple Advanced Typography)として受け継がれています。Apple以外のフォント開発者でAATフォントを作成しようとする人はほとんどいません。その代わりに、OpenTypeが主要なsfntフォーマットとなり、フォントバリエーション技術はすべて、現在ではOpenType Variationsの事実上の標準となっています。
広く普及させるために、Apple は TrueType を Microsoft に無償でライセンス供与しました。[ 4 ] Microsoft は TrueType をWindows 3.1オペレーティング環境に追加しました。契約業者のMonotype Imagingと提携して、Microsoft は当時 PostScript 機器にバンドルされていたコア フォントと互換性のある高品質の TrueType フォント セットの作成に多大な労力を費やしました。これには、今日でも Windows の標準となっているフォント、Times New Roman (Times Roman と互換性あり)、Arial (Helvetica と互換性あり)、Courier New (Courier と互換性あり) が含まれます。この文脈では、「互換性あり」は 2 つの意味を持ちます。美的レベルでは、フォントの外観が似ていることを意味します。機能レベルでは、フォントの文字幅が同じであることを意味します。これにより、あるフォントで組版されたドキュメントを、リフローなしで別のフォントに変更することができます。
MicrosoftとMonotypeの技術者は、TrueTypeのヒンティング技術を使用して、これらのフォントが低解像度での判読不能という問題に悩まされないようにしました。この問題は、以前は画面表示にビットマップフォントを使用せざるを得ない原因となっていました。その後の技術進歩により、まずアンチエイリアシングが導入されました。これは、わずかなぼやけを犠牲にしてフォントのエッジを滑らかにする技術です。そして最近では、サブピクセルレンダリング(Microsoftの実装はClearTypeという名前です)が導入されました。これは、 LCDベースのディスプレイのピクセル構造を利用して、テキストの見かけ上の解像度を高める技術です。MicrosoftはClearTypeを大々的に宣伝し、テキストのサブピクセルレンダリング技術は現在、すべてのプラットフォームで広く使用されています。
マイクロソフトは、 1994年にTrueType Openという名称の「スマートフォント」技術も開発しました。これは、 Adobe Type 1のグリフアウトラインのサポートを統合した1996年にOpenTypeに改名されました。OpenTypeは現在、Apple TrueTypeおよびApple TrueType GXと全く同じ機能を備えています。
TrueTypeは、従来のMac OS、Mac OS X、およびMicrosoft Windowsにおいて、長らく最も一般的なフォント形式でした。ただし、Mac OS XとMicrosoft Windowsは、AdobeのType 1形式とTrueTypeのOpenType拡張機能もネイティブでサポートしています( Mac OS X 10.0およびWindows 2000以降)。新しいオペレーティングシステムに付属するフォントの中にはOpenType形式のものもありますが、無料または安価なサードパーティ製フォントのほとんどは、通常のTrueType形式を使用しています。
解像度の向上と画面レンダリングの新しい手法により、TrueType フォントの詳細なヒント処理の必要性は低下しました。macOS における Apple のレンダリング手法は、TrueType フォントのほぼすべてのヒントを無視しますが、Microsoft の ClearType は多くのヒントを無視し、Microsoft によれば、「ヒントが軽く処理された」フォントで最も効果を発揮します。
David Turner氏によるFreeTypeプロジェクトは、TrueType標準(およびFreeType 2に含まれるその他のフォント標準)の独立した実装を作成しました。FreeTypeは多くのLinuxディストリビューションに含まれています。
2010 年 5 月まで、FreeType 1 には潜在的な特許侵害がありました。これは、TrueTypeヒンティング仮想マシンの一部が Apple によって特許取得されていたためですが、この事実は TrueType 規格には記載されていませんでした。(ISOなどの主要な標準化団体が発行する規格に貢献する特許権者は、特許の範囲を開示する必要がありますが、TrueType はそのような規格ではありませんでした。)[ 5 ] FreeType 2 には、特許技術を回避するためのオプションの自動ヒンターが含まれていましたが、これらの特許は現在失効しているため、FreeType 2.4 ではこれらの機能がデフォルトで有効になっています。[ 6 ]

TrueTypeフォントの文字(またはグリフ)の輪郭は、直線セグメントと二次ベジェ曲線で構成されています。これらの曲線は、 Type 1フォントを含むPostScript中心のグラフィックデザインの世界で使用される三次ベジェ曲線よりも数学的に単純で処理が高速です。ただし、ほとんどの形状は、三次曲線よりも二次曲線で記述するために多くの点を必要とします。この違いは、 Type 1をTrueType形式にロスレスで変換することができないことを意味しますが、実際にはTrueTypeからType 1へのロスレス変換は多くの場合可能です。[ 7 ]
TrueTypeシステムには、フォント内部でプログラムを実行する仮想マシンが含まれており、グリフの「ヒント」(TrueTypeでは「命令」と呼ばれる)を処理します。これらの命令は、アウトラインを定義する制御点を歪ませることで、ラスタライザーがグリフ上に不要な特徴を少なく生成するようにします。各グリフの命令セットは、グリフが表示されるサイズ(ピクセル単位)だけでなく、表示環境のその他の重要度の低い要素も考慮に入れています。
TrueType命令言語は、プログラミングで一般的に理解されているような入力の受け取りと出力の生成はできませんが、プログラミング言語の他の前提条件、すなわち条件分岐(IF文)、任意の回数のループ(FOR文とWHILE文)、変数(ただし、これらはフォントによって予約されたメモリ領域内の番号付きスロットに過ぎません)、およびコードの関数へのカプセル化を提供します。デルタ命令と呼ばれる特殊な命令は、最も低レベルの制御であり、制御点をわずか1ピクセル単位で移動させます。
効果的なTrueTypeグリフプログラミング技術の特徴は、フォント全体で一度だけ定義された変数(例えば、ステム幅、大文字の高さ、xハイトなど)をできる限り活用することです。つまり、デルタ命令をできるだけ避けるということです。これにより、フォント開発者は、開発のほとんどの段階で大きな変更(例えば、フォント全体のメインステムの幅が1ピクセルから2ピクセルに変わる箇所など)を行うことができます。
フォントに指示を追加するプログラムの使いやすさが向上したとはいえ、非常に適切な指示を備えたTrueTypeフォントを作成するには、依然としてかなりの労力が必要です。そのため、多くのTrueTypeフォントは基本的な指示しか持たないか、フォントエディタによって自動的に適用されるため、結果の品質はまちまちです。
TrueType フォーマットでは、最も基本的なタイプのデジタル著作権管理 、つまり、フォント ファイルをPDFファイルや Web サイトなどに埋め込むことを著者が許可するかどうかを指定する埋め込み可能なフラグ フィールドが利用できます。フォント ファイルにアクセスできる人は誰でもこのフィールドを直接変更でき、変更を容易にする簡単なツールも存在します (もちろん、このフィールドを変更してもフォント ライセンスは変更されず、追加の法的権利も付与されません)。[ 8 ] [ 9 ]これらのツールは、著作権問題の可能性をめぐって論争の対象となっています。[ 10 ] [ 11 ]
Apple は、独自の拡張機能を実装して、 Apple Color Emojiの絵文字フォント用のカラー .ttf ファイルを許可しています。
基本フォントは、ヘッダーで指定された複数のテーブルで構成されます。テーブル名は最大4文字までです。
拡張子.ttfは、通常の TrueType フォントまたは TrueType アウトラインを持つ OpenType フォントを示します。Windows のエンド ユーザー定義文字エディター (EUDCEDIT.EXE) は、EUDC.TTE という名前の TrueType フォントを作成します。[ 12 ] PostScript アウトラインを持つ OpenType フォントには、.otf 拡張子が必要です。原則として、TrueType アウトラインを持つ OpenType フォントにも .otf 拡張子を付けることができますが、実際にはほとんど行われていません。
従来のMac OSおよびmacOSでは、OpenTypeはデータフォークフォントと呼ばれるいくつかのフォーマットの1つであり、従来のMacのリソースフォークを欠いているためである。
TrueType Collection (TTC) は、TrueType フォーマットの拡張機能で、複数のフォントを 1 つのファイルにまとめることができ、共通するグリフが多いフォントのコレクションにおいて大幅な容量削減を実現します。当初は Windows の中国語版、日本語版、韓国語版で利用可能となり、Windows 2000 以降ではすべての地域でサポートされました。クラシック Mac OS では、Mac OS 8.5から TTC がサポートされるようになりました。
TrueTypeコレクションファイルは、ttcfコレクション内のフォントにアクセスできるように、含まれる各フォントの個別のヘッダーを指すテーブルから始まります。コレクション内のフォントは同じグリフアウトラインテーブルを共有しますが、各フォントは、テーブルcmap、テーブルname、locaテーブルを介して、独自の方法でアウトライン内のサブセットを参照できます。コレクションファイルにはファイル名拡張子が付きます.ttc。従来のMac OSおよびmacOSでは、TTCのファイルタイプはですttcf。
TrueTypeのスーツケース形式は、従来のMac OSとmacOSで使用されます。この形式には、Apple固有の追加情報が含まれています。
TTCと同様に、1つのファイル内に複数のフォントを記述できます。ただし、TTCとは異なり、それらのフォントは同じフォントファミリーに属している必要はありません。
Suitcase には、resource-fork 形式と data-fork形式があります。resource-fork バージョンは、オリジナルの suitcase 形式です。resource fork の内容を data fork に配置する data-fork 専用の suitcase は、macOS で初めてサポートされました。data-fork 専用形式でパックされた suitcase の拡張子はdfontです。
PostScript言語では、TrueTypeのアウトラインは、名前キー付きフォントの場合はタイプ42、CIDキー付きフォントの場合はタイプ11として、PostScriptラッパーを使用して処理されます。