フォントの概要


目次

物理フォントと論理フォント
font.properties ファイル
物理フォントの格納場所
フォントの追加

物理フォントと論理フォント

フォントには、物理フォントと論理フォントの 2 種類があります。物理フォントは、TrueType、PostScript Type 1 などで構成される実際のフォントライブラリです。物理フォントには、Time、Helvetica、Courier 以外に、国際フォントなど多くのフォントがあります。詳細は、「物理フォント」を参照してください。

論理フォントは、Serif、Sans-serif、Monospace、Dialog、および DialogInput で構成されており、バージョン 1.0 の Java プラットフォームから使用できるようになりました。これらの論理フォントは、システムにインストールされる実際のフォントライブラリではありません。論理フォントは、Java Runtime によって認識されるフォントの種類の名前で、インストール済みの物理フォントにマッピングする必要があります。Java Runtime では、この 5 種類の論理フォント以外に、プレーン、太字、斜体、および太字斜体の 4 つの論理フォントスタイルを認識します。

font.properties ファイル

論理フォント (およびスタイル) と物理フォントのマッピングは、font.properties ファイルによって行われます。font.properties ファイルは、Java 2 SDK の jre/lib ディレクトリまたは Java 2 Runtime Environment の lib ディレクトリにあります。利用できる物理フォントはオペレーティングシステムおよびロケールによって異なります。このため、SDK Environment および Runtime Environment には、さまざまなロケールおよびオペレーティングシステムのバージョン (Solaris オペレーティングシステムの場合) に対応する font.properties ファイルが用意されています。

アプリケーションまたはアプレットから Serif、Monospace などの論理名を使ってフォントが呼び出されると、論理名にマッピングされている物理フォントが実行環境の font.properties ファイルから検索され、その物理フォントが読み込まれてから使われます。たとえば、Solaris 2.6/7 または Microsoft Windows の font.properties ファイルでは、Serif 論理フォントは Times New Roman 物理フォントにマッピングされます。つまり、次の 2 つのコンストラクタによって作成されるフォントは同じです。


new Font("Serif", Font.PLAIN, 12)  // Logical font name is mapped 
                                   // to Times New Roman by 
                                   // font.properties file

new Font("Times New Roman", Font.PLAIN, 12) // Physical font is 
                                            // invoked directly; 
                                            // no need for mapping
Font コンストラクタの最初の文字列パラメータには、論理フォントの種類または物理フォントのファミリ名を指定できます。利用可能なフォントファミリ名は、java.awt.Graphdics Environment クラスの getAvailableFontFamilyNames メソッドを使って取得できます。

物理フォントの格納場所

物理フォントファイルは、オペレーティングシステムの標準のフォント格納先、または Java 2 SDK の jre/lib/fonts ライブラリ (または Java 2 Runtime Environment の lib/fonts ディレクトリ) にインストールできます。オペレーティングシステムの標準の格納先または lib/font ディレクトリに格納されているフォントは、Java Runtime のフォントパスに指定されており、アプリケーションまたはアプレットで使用できます。

フォントの追加

次の TrueType フォントは、Java 2 SDK の jre/lib/fonts ディレクトリにインストールされています。
LucidaBrightDemiBold.ttf
LucidaBrightDemiItalic.ttf
LucidaBrightItalic.ttf
LucidaBrightRegular.ttf
LucidaSansDemiBold.ttf
LucidaSansDemiOblique.ttf
LucidaSansOblique.ttf
LucidaSansRegular.ttf
LucidaTypewriterBold.ttf
LucidaTypewriterBoldOblique.ttf
LucidaTypewriterOblique.ttf
LucidaTypewriterRegular.ttf
上記のフォントのほとんどは、Microsoft Windows および Solaris オペレーティングシステムにあらかじめインストールされています。その他のフォントも簡単に追加できます。追加したフォントは、オペレーティングシステムによって標準のフォント格納先に格納されます。 たとえば、Win32 システム用のアジア系言語のフォントは、Microsoft の Web サイトおよび Windows NT 4.0 インストール CD-ROM から入手できます。 これらのフォントは、Win32 オペレーティングシステムの標準のフォント格納先にインストールされます。これで、アジア系言語のフォントが Java Runtime で使用できるようになります。

また、インストールしたフォントを SDK の jre/lib/fonts ディレクトリ (または Runtime Environment の lib/fonts ディレクトリ) のフォントディレクトリに格納することもできます。これらのディレクトリに格納されたフォントも、Java Runtime によって検出されます。jre/lib/fonts ディレクトリに格納する場合は、Unicode で符号化された TrueType フォントでなければなりません。

新しいフォントを追加した後で、font.properties ファイルを編集する必要はありません。新しいフォントは、そのフォントファミリ名を使って直接呼び出すことができます。font.properties ファイルの編集が必要になるのは、論理フォントの 1 つ (Serif、Sans-serif、Monospace、Dialog、および DialogInput) を新しいフォントにマッピングする場合、またはロケール固有のマッピングを行う場合のみです。font.proprerties ファイルの編集については、「font.properties ファイルの編集」を参照してください。


Copyright © 2000 Sun Microsystems, Inc. All Rights Reserved.

Sun
Java ソフトウェア