Java 実行環境のフォント

提供: ArchWiki
ナビゲーションに移動 検索に移動

関連記事

ユーザーによってはデフォルトの Java フォントや Java アプリケーションのフォントの表示モードが気に入らないという人もいるでしょう。Oracle Java Runtime Environment (JRE) のフォント表示を改善する方法は複数存在します。これらの方法は別々に使うこともできますが、多くの場合まとめて使うことでより良い結果が得られるでしょう。

TrueType フォントは Java で一番良くサポートされているフォーマットです。

アンチエイリアス

フォントの アンチエイリアス は Linux の Oracle Java 1.6 及び OpenJDK で利用可能です。

xsettings デーモンの実行

Java は、xsettings を通じてシステムのデフォルトを取得しようとします。GNOME では何もする必要はありません。gnome-settings-daemon はすでに実行されています。それ以外の場合は、Xsettingsd が簡単な代替手段です。

自動的に取得された設定を上書きする

xsettingsデーモンを実行したくない場合、またはフォントがまだ醜く見える場合は、アンチエイリアスを設定するシステムプロパティもあります。システム全体でこれを行うには、/etc/environment に以下の行を追加します:

_JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=setting'

setting は以下の7つの値のどれか一つに置き換えて下さい:

設定 説明
off, false, default アンチエイリアスなし
on 完全なアンチエイリアス
gasp フォントに埋め込まれたヒント情報を使う
lcd, lcd_hrgb 多数派の LCD モニターにあわせてアンチエイリアスを調整する
lcd_hbgr, lcd_vrgb, lcd_vbgr もうひとつの LCD モニター設定

gasplcd の設定は多くの場合に適切に機能します。

オプションで GTK のルックアンドフィールを使用するには、代わりに次の行を追加します。

_JAVA_OPTIONS='-Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel' 
ノート:
  • 上述の Java オプションやこのオプションは Java で GUI を描写している Jdownloader などのアプリケーションでしか意味がありません。Java をバックエンドでしか利用していない Openoffice.org や Matlab などのアプリケーションでは表示が変わりません。
  • TrueType フォントにはポイントサイズに合わせてどうフォントを表示するかデザイナーによって決められたグリッド調整およびスキャン変換手続き (GASP) テーブルが含まれています。サイズによっては完全にアンチエイリアスをかけられたり、場合によってはヒンティングを適用したり、あるいはビットマップフォントとして表示するようになったりします。特定のポイントサイズではそれらを組み合わせて使われることもあります。

コマンドラインで実行ファイルの前に変数を指定して新しい設定を試して下さい:

_JAVA_OPTIONS=options executable

変更を適用するには再ログインする必要があります。

フォント選択

TrueType フォント

Java アプリケーションによっては特定の TrueType フォントを使用するよう選択できたりしますが、こういったアプリケーションは使用したいフォントのディレクトリパスを指定できるようになっています。TrueType フォントは /usr/share/fonts/TTF ディレクトリにインストールされます。次の行を /etc/environment に追加してフォントを有効にしてください。

JAVA_FONTS=/usr/share/fonts/TTF

変更を適用するには再ログインする必要があります。

文字化けの修正

フォントファイルを /usr/lib/jvm/java-8-openjdk/jre/lib/fonts/fallback/ に配置します。必要に応じて作成します。

実際に使用している JRE の /usr/lib/jvm/java-8-openjdk$JAVA_HOME に置き換えてください。Oracle Java 9 以降、この機能は削除されていることに注意してください。Oracle はlib の変更を促すためにバグとみなし、設定ファイルを conf に移動し、フォールバック機能を "mis-feature" と呼びました。この動作を提供する具体的な関数は sun.awt.FontConfiguration.getInstalledFallbackFontsFonts で、OpenJDK にはまだあるようです。

これにより、Java は常にこのディレクトリ内のフォントをフォールバックシーケンスに追加して、文字の形状 (グリフ) を検索します。この方法では、アプリケーションがどのようなフォントを要求したとしても、必要に応じてこれらの追加フォントが不足しているグリフを提供します。

参照