| ファイル名拡張子 |
.ttf、.ttc |
|---|---|
| タイプコード | 0100、「ttcf」 |
| 開発者 | りんご |
| フォーマットの種類 | フォントファイル |
| 延長 | TrueType、PostScriptフォント |
| Webサイト | https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6AATIntro.html |
Apple Advanced Typography ( AAT ) は、Apple社の高度なフォントレンダリング用コンピュータ テクノロジであり、国際化とタイポグラファー向けの複雑な機能をサポートし、1990 年代半ばの Apple 社のあまり使用されなかったQuickDraw GXフォント テクノロジの後継です。
これは、Adobe と Microsoft によって開発されたOpenTypeフォント形式やGraphiteに類似したスマートフォント機能を備えた、TrueTypeアウトライン フォント標準の拡張機能のセットです。Adobe の「マルチ マスター」フォント形式の概念が組み込まれており、特性の軸を定義し、各軸に沿ってグリフを個別に変形できます。AAT フォント機能は、基になる入力テキストを変更せず、グリフ変換中の文字の表現にのみ影響します。
特徴

AAT の重要な機能は次のとおりです。
AATフォント機能は、Mac OS 8.5以降およびmacOSのすべてのバージョンでサポートされています。クロスプラットフォームのICUライブラリは、左から右に書くスクリプトの基本的なAATサポートを提供しました。[1] HarfBuzzバージョン2では、AATシェーピングサポートが追加されました。これは、Chrome / Chromiumバージョン72およびLibreOfficeバージョン6.3がクロスプラットフォームでmacOS AATフォントをレンダリングするためにCoreTextの代わりに使用する技術のオープンソース実装です。[2]
OS X YosemiteおよびiOS 8以降、AAT は言語固有のシェーピングをサポートしています。つまり、グリフが表現される人間の言語に応じてグリフの処理方法を変更します。このサポートは、Core Textの言語タグを使用することで利用できます。[3]同時に、「kerx」および「ankr」テーブルを介したアンカーポイントを介して 2 つのグリフの相対的な配置のための規定が追加されました。[4]
macOS の AAT と OpenType
Mac OS X 10.5 Leopard以降では、OpenTypeが部分的にサポートされています。2011 年現在、サポートは西洋文字とアラビア文字に限定されています。フォントに AAT テーブルがある場合は、それがタイポグラフィに使用されます。フォントに AAT テーブルがなく、OpenType テーブルがある場合は、システムがサポートする範囲で使用されます。
つまり、西洋や中東のスクリプト用の OpenType フォントの多くは、Mac OS X 10.5 で変更せずに使用できますが、タイ語やデーヴァナーガリーなどの南アジアのスクリプトは使用できません。これらのスクリプトでは、適切なレイアウトのために AAT テーブルが必要です。
AATレイアウト
AAT では、テキスト レイアウトを行う前に、テキスト全体をグリフに変換する必要があります。テキストに対する操作は、すべてグリフ レイヤー内で行われます。
AAT レイアウト プロセスで使用されるコア テーブルは、「morx」テーブルです。このテーブルは一連のチェーンに分割され、各チェーンはさらにサブテーブルに分割されます。チェーンとサブテーブルは順番に処理されます。各サブテーブルが検出されると、レイアウト エンジンはサブテーブル内のフラグを、通常はユーザー設定から取得される制御フラグと比較します。これにより、サブテーブルが処理されるかどうかが決定されます。
フォントで利用可能な機能のセットは、「feat」テーブルを介してユーザーがアクセスできるようになります。このテーブルは、エンド ユーザーに機能を説明するために使用できるローカライズ可能な文字列へのポインターと、機能が選択された場合にテキスト エンジンに送信する適切なフラグを提供します。機能をユーザーに非表示にするには、「feat」テーブルにエントリを含めないようにする簡単な方法があります。たとえば、Apple はこのアプローチを使用して、必要な合字をサポートしています。
サブテーブルは、非文脈的グリフ置換、文脈的グリフ置換、グリフ再配置、グリフ挿入、合字形成を実行することができる。[5]文脈的アクションは周囲のテキストに敏感である。例えば、単語の末尾を 除くどこでもs を中間の sに自動的に変換するために使用できる。
非文脈的グリフ置換用の「morx」サブテーブルは、置換されるグリフとその代替グリフ間の単純なマッピング テーブルです。その他はすべて有限状態マシンの使用を伴います。
有限状態マシンを処理するために、グリフはクラスに編成されます。クラスは小さく、1 つのグリフのみ (合字の形成など) を含む場合もあれば、数十以上のグリフを含む場合もあります。明示的なクラスのいずれにも含まれないグリフには、特別なクラスが自動的に定義されます。特別なクラスは、グリフ ストリームの末尾やグリフ ストリームから削除されたグリフにも使用できます。
レイアウト エンジンは、テキストの開始状態から始めて、グリフごとにテキストを解析します。現在の状態と遭遇したグリフのクラスに応じて、新しい状態に切り替わり、適切なアクションが実行される場合があります。このプロセスは、グリフ ストリームがなくなるまで続行されます。
有限状態マシンを使用すると、「morx」テーブルを比較的小さくし、比較的速く処理できます。また、かなりの柔軟性も得られます。ただし、Apple のフォント ツールでは、生の状態テーブル情報を使用して「morx」テーブルを生成する必要があるため、作成とデバッグが困難になる場合があります。フォント デザイナーは、「morx」サブテーブルが目的の効果を得るために正しく順序付けされていることを確認する責任もあります。
AAT は文字ではなくグリフのみで動作するため、適切な表示を生成するために必要なレイアウト情報はすべてフォント自体の中にあります。これにより、OS からの特別なサポートを必要とせずに、新しいスクリプトにフォントを追加できます。サードパーティは、Apple によって正式にサポートされていないスクリプトのフォントを作成することができ、それらは macOS で動作します。一方、これは、特定のスクリプトのすべてのフォントが、独自の「morx」テーブルにスクリプトのシェーピング情報の独自のコピーを必要とすることも意味します。
その他のAATテーブル(または標準TrueTypeテーブルに対するAAT固有の拡張機能)では、状況に応じたカーニング、ジャスティフィケーション、合字分割が可能です。AATはバリエーションフォントもサポートしており、[6]フォントの形状は、ユーザーが指定したスケール値に応じて変化します。バリエーションフォントは、エンドポイントが定義され、中央の値が有効であるAdobeの廃止されたマルチマスターフォントに似ています。これにより、ユーザーはユーザーインターフェイスのスライダーをドラッグして、グリフを高くしたり低くしたり、太くしたり細くしたり、セリフのサイズを大きくしたり小さくしたりすることができます。これらはすべて互いに独立しています。グリフの基本的な形状を大幅に変更することもできます。[7] OpenTypeが2016年9月にフォントバリエーションを導入するまで、OpenTypeにはこのようなものはありませんでした。
他のAATテーブルもポイントサイズに依存した効果を持つことがあります。[6]たとえば、12ポイントでは水平線と垂直線の幅は同じになりますが、300ポイントでは線幅の変動がかなり大きくなる可能性があります。
実際には、"morx" テーブルで利用できる機能以外のテクノロジの機能を使用している AAT フォントはほとんどありません。Zapfino 、Hoefler Text、およびSkia は、 macOS に同梱されているフォントで、AAT のさまざまな機能を示しています。
インド系文字のAAT
インド系文字の場合、必要な機能はグリフの並べ替えと置換だけです。AAT はこれら両方をサポートしています。前述のように、インド系文字の OpenType フォントを macOS で正しく機能させるには、AAT テーブルを追加する必要があります。ただし、これは OpenType のシステム サポートに依存するソフトウェアにのみ適用されます。独自の OpenType 実装を提供するプログラムは、OpenType フォントを使用してインド系文字を適切にレンダリングします。(ただし、AAT テーブルを含むインド系フォントは正しくレンダリングされない可能性があります。)
Mac OS X 10.5 には、デーバナーガリー文字、グルムキー文字、グジャラート文字、タイ語、チベット語、タミル語のフォントが同梱されていました。その他のインド系文字のフォントは、macOS と iOS の以降のバージョンに含まれており、サードパーティからも入手可能です。
参照
- アップルのタイポグラフィ
- MS Windows および Linux 上のGraphite (SIL)テクノロジー
- 文字の特徴のリスト
- ゼテックス
参考文献
- ^ 「レイアウト エンジン - ICU ユーザー ガイド」。
- ^ 「オープンソースのテキストシェーピングを進化させるHarfBuzz 2.0がリリースされました」。Phoronix 。 2018年10月19日。
- ^ 「言語タグテーブル」。Apple Inc.
- ^ 「アンカーポイントテーブル」。Apple Inc.
- ^ 「Apple Advanced Typography Fonts について」Apple Inc.
- ^ ab 「TrueType リファレンスマニュアル - 'fvar' テーブル」。Apple Inc. 2014 年 6 月 4 日時点のオリジナルよりアーカイブ。
- ^ 「TrueType リファレンスマニュアル - 'gvar' テーブル」。Apple Inc. 2014 年 6 月 4 日時点のオリジナルよりアーカイブ。
外部リンク
- Appleの開発者向けドキュメント「Apple Advanced Typography Fonts」について
- 「フォントツール」。2010年1月14日時点のオリジナルよりアーカイブ。- フォントを操作するためのコマンドラインツールのセット
- 「Mac OS X による高度なタイポグラフィ」(PDF) 。2005 年 10 月 4 日のオリジナル(PDF)からアーカイブ。(PDF形式)
- AATテーブルの例
- Fontforge ドキュメント
- ペルシア語フォントで使用されるAATに関する議論
