4 サポートされるフォント
様々なOSプラットフォームが様々なフォント技術を使用して実装されているフォントを提供している場合があります。クロス・プラットフォームでの使用をサポートするため、Java SE APIは、アプリケーションが任意のJava SE実装を使用して安全に使用できる5つの論理フォント・ファミリを定義しています。これらのファミリの名前は、Fontクラスの説明に明示されています。
また、直接名前で使用されるプラットフォーム・フォントを、Java SE実装で公開している場合があります。これらのフォントは物理フォントと呼ばれます。
ここで使用されている用語の詳細は、Fontクラスの説明を参照してください。
物理フォントのサポート
JDKは、TrueTypeフォント、OpenTypeフォントおよびPostScript Type 1フォントをサポートしています。
物理フォントは、Java実行環境で認識されている場所にインストールされている必要があります。JDKでは、ホストのオペレーティング・システムで定義されている標準のフォント格納場所にフォントが格納されます。
ホスト・オペレーティング・システムによってサポートされている方法で物理フォントをインストールすると、サポートされているフォント技術を使用する物理フォントを追加できます。Linuxでユーザー別のフォントを追加する場合に推奨される格納先は$HOME/.fonts
ディレクトリで、これはプラットフォームのlibfontconfig
によって検索され、JDKで使用されます。
論理フォントのサポート
通常、1つの論理フォントは、1つのフォントで対応できるよりも広範囲のコード・ポイントをカバーするために、複数の物理フォントにマップされます。論理フォントは、実装に依存した方法で物理フォントにマップされるので、プラットフォームやリリースごとに異なる可能性があります。
一部の実装では、フォント構成ファイルを使用してマッピングを処理します(「フォント構成ファイル」を参照)。
- Windows向けの現行リリースでは、常にフォント構成ファイルが使用されます。
- macOS実装では、フォント構成ファイルは常に無視されます。
- Linux向けのリリースでは、OSバージョンと完全に一致した場合にのみフォント構成ファイルが使用され、それ以外、フォント構成ファイルは無視され、プラットフォームAPIを使用して論理フォントが移入されます。