サポートされているフォントのセットは、Javaプラットフォームの実装によって異なります。 ここで使用されている用語については、Fontクラスの説明を参照してください。
JREは、TrueTypeフォントとPostScript Type 1フォントをサポートしています。
物理フォントは、Java実行環境で認識されている場所にインストールされている必要があります。 JREでは、JRE内のlib/fontsディレクトリと、ホスト・オペレーティング・システムで定義されている通常のフォント格納先が検索されます。 両方の場所に同じ名前のフォントが存在する場合は、lib/fontsディレクトリのフォントが使用されます。
サポートされているフォント技術を使用している物理フォントであれば、JRE内のlib/fontsディレクトリにインストールするか、ホスト・オペレーティング・システムでサポートされている方法でインストールすることができます。 SolarisまたはLinuxでユーザー別のフォントを追加する場合に推奨される格納先は$HOME/.fontsディレクトリで、これはプラットフォームのlibfontconfigによって検索され、JDKで使用されます。
論理フォント名は、実装に依存した方法で物理フォントにマッピングされます。 一般に、1つの論理フォント名は、広範囲の文字をカバーするために複数の物理フォント名に割り当てられます。 JREでは、フォント構成ファイルを使用してマッピングを定義します。
物理フォントをJRE内のlib/fonts/fallbackディレクトリにインストールすることで、Java 2Dレンダリングで使用する論理フォントの代替フォントとして限られた数のサポートされているTrueTypeおよびType 1物理フォントを追加できます。 ただし、このメカニズムには次の制限があります。
JDKとJREには、「Lucida」デザイン・ファミリの物理フォントがいくつかバンドルされています。 これらのフォントは、Javaプラットフォームのほかの実装でも使用できるようライセンス付与されています。 これらのフォントは物理フォントですが、Java SE Runtimeに付属しているため、ホスト・オペレーティング・システムには依存しません。 これらのフォントを使用すると、さまざまなプラットフォームや実装、広範囲な言語にわたって一貫したLook & Feelと操作性が得られるという利点があります。
タイプ・ファミリとしては、"Lucida Sans"、"Lucida Sans Typewriter"、および "Lucida Bright"の3つがあります。 各ファミリに、プレーン、ボールド、イタリック、および太字イタリックのスタイルがあります。 これらのフォントすべてがJava SEのすべての実装に存在するわけではありません。 たとえば、Windows版JREのデフォルトのダウンロード・バンドルには、Lucida Sansプレーン・フォントのみが含まれています(ただし、アプリケーション開発者は、アプリケーションとともに再配布するJava実行環境にすべてのLucidaフォントを含めることもできます)。
次の表に、各フォント・ファミリが対応しているUnicode文字ブロックを示します。
|
Unicodeブロック |
Lucida Sans |
Lucida Sans Typewriter |
Lucida Bright |
|---|---|---|---|
|
基本ラテン |
はい |
はい |
はい |
|
ラテン1補助 |
はい |
はい |
はい |
|
ラテン拡張A |
はい |
はい |
はい |
|
ラテン拡張B |
一部 |
一部 |
一部 |
|
IPA拡張 |
一部 |
いいえ |
いいえ |
|
スペース調整文字 |
一部 |
一部 |
一部 |
|
結合分音記号 |
一部 |
いいえ |
一部 |
|
ギリシャ語 |
はい |
はい |
はい |
|
キリル |
一部 |
一部 |
一部 |
|
ヘブライ語 |
はい |
はい |
いいえ |
|
アラビア語 |
一部 |
一部 |
一部 |
|
デーバナーガリー |
はい |
いいえ |
いいえ |
|
タイ語 |
はい |
はい |
いいえ |
|
一般句読点 |
一部 |
一部 |
一部 |
|
上付き文字と下付き文字 |
一部 |
一部 |
一部 |
|
通貨記号 |
一部 |
一部 |
一部 |
|
文字様記号 |
一部 |
一部 |
一部 |
|
数字の形 |
一部 |
一部 |
いいえ |
|
矢印 |
一部 |
一部 |
一部 |
|
数学記号 |
はい |
一部 |
はい |
|
囲み英数字 |
一部 |
いいえ |
いいえ |
|
罫線素片 |
一部 |
一部 |
いいえ |
|
ブロック要素 |
一部 |
一部 |
いいえ |
|
幾何学模様 |
一部 |
一部 |
一部 |
|
その他の記号 |
一部 |
一部 |
いいえ |
|
装飾記号 |
はい |
いいえ |
いいえ |
|
アルファベット表示形 |
一部 |
一部 |
いいえ |
|
アラビア表示形A |
一部 |
一部 |
一部 |
|
アラビア表示形B |
はい |
はい |
はい |
JREで通常完全にサポートされている書記体系のうち、中国語(簡体字)、中国語(繁体字)、日本語、および韓国語はLucidaフォントでサポートされません。 (JDK 8とJRE 8でサポートされているロケールに関するセクションを参照)。
フォントは、Java SE Runtime Environmentのlib/fontsディレクトリに、次のようなファイルとしてインストールされています(すべてインストールされているとはかぎりません)。
LucidaSansDemiBold.ttf LucidaSansRegular.ttf LucidaTypewriterBold.ttf LucidaTypewriterRegular.ttf LucidaBrightDemiBold.ttf LucidaBrightDemiItalic.ttf LucidaBrightItalic.ttf LucidaBrightRegular.ttf