|
|
|
Java 2 プラットフォームでは、すべての実装でのサポートが求められる 5 つの論理フォント名 (Serif、SansSerif、Monospaced、Dialog、DialogInput) が定義されています。 論理フォント名は、実装に依存した方法で、物理フォントにマップされます。
Sun の Java 2 Runtime Environment では、論理フォント名から物理フォントへのマッピングに font.properties ファイルが使用されます。 ホストオペレーティングシステムのバージョンおよびロケールに基づき、異なるマッピングをサポートする複数のファイルが存在します。 ファイルの位置は、J2RE のインストール先の lib ディレクトリです。 ユーザは font.properties ファイルを変更したり新規に作成したりすることで、独自のシステム設定に応じてマッピングを調整できます。 ただし、この操作により J2RE が変更されますが、Sun は変更後の J2RE をサポートしないことに留意してください。
font.properties ファイルは実装に依存しています。 Java 2 プラットフォームの実装すべてでこのファイルが使用されるわけではありません。また、その内容と形式は実行環境およびリリースにより異なります。 このドキュメントでは、Sun の Java 2 Runtime Environment バージョン 1.4.0 で使用される形式について説明します。
font.properties ファイルは、Properties
クラスで指定されるプロパティファイルであり、このクラスによってロードされます。 適切なファイルを検索するには、次の情報を指定する必要があります。
NT
、95
、98
、2000
、Me
、XP
Redhat
、Turbo
、SuSE
ランタイムでは、次のファイルのうち、最初に見つかったものが使用されます。
JavaHome/lib/font.properties.
Language_
Country_
Encoding.
OSVersion JavaHome/lib/font.properties.
Language_
Country_
Encoding.
OS JavaHome/lib/font.properties.
Language_
Country_
Encoding.
Version JavaHome/lib/font.properties.
Language_
Country_
Encoding JavaHome/lib/font.properties.
Language_
Country.
OSVersion JavaHome/lib/font.properties.
Language_
Country.
OS JavaHome/lib/font.properties.
Language_
Country.
Version JavaHome/lib/font.properties.
Language_
Country JavaHome/lib/font.properties.
Language_
Encoding.
OSVersion JavaHome/lib/font.properties.
Language_
Encoding.
OS JavaHome/lib/font.properties.
Language_
Encoding.
Version JavaHome/lib/font.properties.
Language_
Encoding JavaHome/lib/font.properties.
Language.
OSVersion JavaHome/lib/font.properties.
Language.
OS JavaHome/lib/font.properties.
Language.
Version JavaHome/lib/font.properties.
Language JavaHome/lib/font.properties.
Encoding.
OSVersion JavaHome/lib/font.properties.
Encoding.
OS JavaHome/lib/font.properties.
Encoding.
Version JavaHome/lib/font.properties.
Encoding JavaHome/lib/font.properties.
OSVersion JavaHome/lib/font.properties.
OS JavaHome/lib/font.properties.
Version JavaHome/lib/font.properties
font.properties ファイル全体で、さまざまな名前が使用されます。
serif
、sansserif
、monospaced
、dialog
、および dialoginput
のいずれか。 font.properties ファイルでは、これらの名前はすべて小文字で表される
一部の既存の font.properties ファイルでは、helvetica
や zapfdingbats
など、上記以外の名前も論理フォント名として使用されています。 これらの論理フォント名を使用することは推奨されません。論理フォント名は、将来のリリースではサポートされなくなります。
plain
、bold
、italic
、および bolditalic
のいずれか。 この場合も、すべて小文字で表される
Courier New
や 「¥uad74¥ub9bc
のようなフォントフェース名
-monotype-times new roman-regular-r---*-%d-*-*-p-*-iso8859-1
」のような xlfd 名。「%d
」はフォントサイズを示し、実際のフォントサイズが実行時に挿入される
ANSI_CHARSET
、DEFAULT_CHARSET
、SYMBOL_CHARSET
、SHIFTJIS_CHARSET
、GB2312_CHARSET
、HANGEUL_CHARSET
、CHINESEBIG5_CHARSET
、OEM_CHARSET
、JOHAB_CHARSET
、HEBREW_CHARSET
、ARABIC_CHARSET
、GREEK_CHARSET
、TURKISH_CHARSET
、VIETNAMESE_CHARSET
、THAI_CHARSET
、EASTEUROPE_CHARSET
、RUSSIAN_CHARSET
、MAC_CHARSET
、BALTIC_CHARSET
コンポーネントフォントのマッピングのプロパティは、特定の論理フォントとスタイルの文字をレンダリングするときに使用される物理フォントを表します。 通常は、論理フォントとスタイルの各組み合わせに対してコンポーネントフォントのエントリが複数あり、Unicode 文字を広範囲にカバーしています。 エントリは、コンポーネントインデックスによって識別されます。 文字をレンダリングするとき、ランタイムは、コンポーネントインデックスで定義された順にコンポーネントフォントを検査します。この文字のレンダリングが可能で、除外されていないコンポーネントフォントのうち、最初に見つかったものが使用されます。
キーの形式は次のとおりです。
ComponentFontMappingKey: LogicalFontName.
StyleName.
ComponentIndex LogicalFontName.ComponentIndex
StyleName を省略した場合は、plain
と見なされます。 1 つの論理フォントの中では、plain
というスタイル名は、すべてのエントリに対して指定するか、すべてのエントリに対して省略するかのどちらかに統一してください。 ComponentIndex は、同じ論理フォントとスタイルに関する一連のエントリの中で、コンポーネントフォントのエントリを識別します。 論理フォントとスタイルに n 個のエントリがある場合、インデックスの範囲は 0 から n-1 までとなります。 同一の論理フォントに対しては、異なるスタイルの間でも同一のコンポーネントインデックスを使用してください。ほかの一部のプロパティで、論理フォント名とコンポーネントインデックスだけを参照している場合があるからです。
値の形式はプラットフォームによって異なります。 Solaris および Linux の場合、値はプラットフォームのフォント名です。 Windows の場合、値は次のような形式になります。
PlatformFontName
,
WindowsCharsetName
Windows 文字セット名は、このフォントで使用される主要な文字セットを識別します。 この情報を使って、Java 2 Runtime Envionment では、ピア AWT テキストコンポーネントで使用するコンポーネントフォントが選択され、Windows では、指定されたフォントが見つからない場合に、代理のフォントが選択されます。
コンポーネントフォントの文字エンコーディングのプロパティは、コンポーネントフォントに AWT がアクセスするときに使用される文字エンコーディングを示します。 このプロパティは、Unicode を使用してアクセスできないコンポーネントフォントにだけ必要です。最近の TrueType フォントには、通常は Unicode を使ってアクセスできるため、このプロパティは必要ありません。
キーの形式は次のとおりです。
fontcharset.
LogicalFontName.ComponentIndex
値は、文字コンバータの完全修飾クラス名です。 このリリースでは、文字コンバータへのアクセスに古い sun.io インタフェースを使用しているため、Java 2 Runtime Environment に用意されている文字エンコーディングのみ使用できます。 公式にサポートされている文字エンコーディングのクラス名の形式は次のとおりです。
sun.io.CharToByte
CanonicalName
将来のリリースでは、新しい java.nio.charset API を使用して文字コンバータにアクセスするため、サードパーティの文字コンバータも使用できるようになります。
除外範囲のプロパティは、特定のコンポーネントフォントによるレンダリングの対象から除外する Unicode 文字の範囲を指定します。 このプロパティは、(パフォーマンス上の理由などで) 多数の文字をサポートしているフォントを早い検索順位に置く必要があるが、そのフォントがサポートしている文字の一部を別のフォントで描画する必要がある場合に使用します。
キーの形式は次のとおりです。
exclusion.
LogicalFontName.ComponentIndex
値の形式は次のとおりです。
ExclusionRangeValue: Range Range,
ExclusionRangeValue Range: Char-
Char Char: HexDigit HexDigit HexDigit HexDigit
Char は、Unicode 文字を 16 進数として表現したものです。
フォント名の別名を使用することは推奨されません。フォント名の別名は、将来のリリースではサポートされなくなります。
キーの形式は次のとおりです。
alias.
LogicalFontName
値の形式は次のとおりです。
LogicalFontName
欠落しているグリフ文字を定義することは推奨されません。欠落しているグリフ文字の定義は、将来のリリースではサポートされなくなります。
キーの形式は次のとおりです。
default.char
値の形式は次のとおりです。
Char
フォントファイル名のプロパティは、font.properties ファイルで使用される物理フォントを格納しているファイルの名前を指定します。 ファイル名をすべて指定しておくと、実行システムですべてのフォントファイルを開いてフォントを検索する必要がなくなるため、起動時間を短縮できます。
キーの形式は次のとおりです。
filename.
PlatformFontName
プラットフォームフォント名に含まれている空白文字は、下線 ("_") に置き換える必要があります。
値は、フォントを格納しているファイルの単純名です。 実行環境は、まず自身の lib/fonts
ディレクトリでこのファイルを検索し、次に Windows のフォントディレクトリで検索します。
テキスト入力の文字セットを定義することは推奨されません。テキスト入力の文字セットの定義は、将来のリリースではサポートされなくなります。
キーの形式は次のとおりです。
textinputcharset
値の形式は次のとおりです。
WindowsCharsetName
java.awt.TextComponent
などのピアコンポーネントの場合、Java 実行環境では X に XFontSet 情報を提供する必要があります。 X フォントセットのプロパティは、論理フォントとスタイルの各組み合わせから X フォントセットへのマッピングを指定します。 また、デフォルトの X フォントセットを定義する必要があります。
キーの形式は次のとおりです。
fontset.LogicalFontName.StyleName fontset.default
値の形式は次のとおりです。
FontSetValue: PlatformFontName PlatformFontName , FontSetValue
Copyright © 2002 Sun Microsystems, Inc. All Rights Reserved. コメントの送付先: java-intl@java.sun.com |
|