コンテンツにスキップ

フォントと文字体系のサポートマトリックス

どの文字体系をレンダリングできるかは、2 つのフォントクラスによって決まります。標準 14 フォント(Helvetica、Times、Courier)がカバーするのは WinAnsiEncoding のレパートリーだけです。登録済みの埋め込み TrueType または OpenType フォントは、そのフォントの文字マップと現在のシェーピングパスの両方が対象をカバーしている場合に限り、文字体系をレンダリングします。Unicode 全体を単独でレンダリングできるフォントクラスはありません。

文字体系標準 14 フォント登録済みの埋め込みフォント
西欧ラテン文字Yes — WinAnsiEncoding(Windows-1252)の完全なレパートリーYes
WinAnsi を超えるラテン文字のアクセント記号、ギリシャ文字、キリル文字Noフォントの文字マップがカバーする範囲
中国語、日本語、韓国語(CJK)Noフォントの文字マップがカバーする範囲
アラビア語、ペルシア語、ウルドゥー語No文脈依存シェーピングにより、文字マップがアラビア語 Presentation Forms-B ブロックをカバーする範囲
ヘブライ語No視覚的順序に並べ替え。シェーピングなし
タイ語およびその他の複雑な文字体系No文字マップがカバーする範囲。高度なシェーピングは限定的

標準 14 ファミリー(Helvetica、Times、Courier)は、WinAnsiEncoding(Windows コードページ 1252)の完全なレパートリーをレンダリングします。具体的には、西欧言語のアクセント付きラテン文字、ユーロ記号、および一般的なタイポグラフィ用句読点(en ダッシュと em ダッシュ、曲線の引用符、ビュレット、省略記号、商標記号を含む)です(ISO 32000-2 Annex D.2)。それ以外の文字体系はレンダリングしません。このレパートリー外の文字には、埋め込みフォントを登録してください。SymbolZapfDingbats は、メトリック互換の代替がない 2 つの標準 14 書体です。いずれかが必要な場合は、埋め込み可能なフォントを登録してください。

標準フォントのワークフローについては、フォントと配置でテキストを構成するを参照してください。

登録済みの TrueType または OpenType フォントは、選択したフォントの文字マップと現在のシェーピングパスの両方がカバーする範囲でのみ Unicode をレンダリングします。フォントを登録しただけでは、すべてのコードポイントにグリフが保証されるわけではありません。

  • カバレッジは文字マップに従います。 エンジンは、埋め込みフォントがコードポイントをグリフにマッピングしている場合に限り、そのコードポイントを描画します。特定の文字体系向けに作られたフォントは、別の文字体系をレンダリングしません。
  • ラテン文字、ギリシャ文字、キリル文字、CJK は、フォントがそれらをカバーしていれば、文字マップから 1 コードポイントにつき 1 グリフで直接レンダリングされます。
  • アラビア語 ではさらに、文脈依存シェーピング(語頭形、語中形、語末形、独立形に加えて Lam-Alef リガチャ)と、文字マップがアラビア語 Presentation Forms-B ブロックをカバーするフォントが必要です。OpenType Glyph Substitution(GSUB)のみに依存するフォント、および HarfBuzz シェーピングパスは、将来の課題です。
  • 右から左の文字体系(アラビア語、ヘブライ語、ペルシア語、ウルドゥー語)は、Unicode Standard Annex(UAX)#9 の Unicode 双方向アルゴリズムによって視覚的順序に並べ替えられます。ヘブライ語は並べ替えられますがシェーピングはされず、これはこの文字体系にとって正しい動作です。

アラビア語の実践例と現在の右から左の制限については、右から左に記述するアラビア語 HTML をレンダリングするを参照してください。