1.2 リリース以降の Java 2 SDK ソフトウェアから、lib/fonts
サブディレクトリに TrueType フォントのセットが組み込まれました。1.2 リリースより前には、JDK ソフトウェアはホストプラットフォームのフォントに依存していました。Monospace のような論理フォントは、font.properties
ファイル内のホストプラットフォームフォントにマッピングされています。論理フォントと区別するため、このドキュメントでは TrueType フォントを「物理フォント」と呼びます。
SDK の物理フォントには、次の長所があります。
すべてのプラットフォームで同じフォントを使うので、どのプラットフォームでもアプリケーションの外観が同じになります。これによりクロスプラットフォーム環境での、テスト、配備、サポートが簡単になります。
さまざまなスクリプトから文字を使用する場合に、フォントを切り替える必要がありません。たとえば、Lucida Sans Regular フォントを使うテキストコンポーネント内で、ヘブライ語、アラビア語、ドイツ語、英語の文字を表示することができます。こららの言語の文字は、すべて SDK の Lucida Sans Regular フォントとして組み込まれています(現在のリリースでは、物理フォントのアジア系文字セットはサポートされていない)。
Java 2 プラットフォームのすべての物理フォントで、ユーロ通貨記号をサポートします。
GraphicsEnvironment.getAvailableFontFamilyNames
利用できるフォントファミリ名の配列を返します。SDK によって提供されるフォントファミリ、およびホストプラットフォームによって提供されるフォントファミリを返します。
GraphicsEnvironment.getAllFonts
その環境での物理フォントの配列を返します。返すフォントには、ホストプラットフォームによって提供されるフォントと SDK の物理フォントが含まれます。
Font
コンストラクタを使って作成できます。たとえば、次のコンストラクタは、Lucida Sans Regular フォントの Font
インスタンスを作成します。
次の例は、Lucida Sans Typewriter Oblique フォントのFont f = new Font("Lucida Sans", font.PLAIN, 12)
Font
インスタンスを作成します。
Font f = new Font("Lucida Sans Typewriter", font.ITALIC, 18)
Java 2 プラットフォームの物理フォントは、Java 2 SDK の jre/lib/fonts
フォルダ、および Java 2 Runtime Environment の lib/fonts
ディレクトリに格納されています。TrueType フォントをこのディレクトリに追加して、プログラムで使用することができます。TrueType フォントは、Unicode で符号化されていなければなりません。