Java 実行環境のフォント

提供: ArchWiki
2016年9月30日 (金) 23:09時点におけるKusakata (トーク | 投稿記録)による版 (同期)
ナビゲーションに移動 検索に移動

関連記事

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

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

アンチエイリアス

フォントのアンチエイリアスは Linux の Oracle Java 1.6 で利用可能です。システム全体の設定でアンチエイリアスを使うには、次の行を /etc/environment に追加してください:

export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=setting'

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

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

多くの場合 gasplcd の設定が上手く機能します。

ノート: TrueType フォントにはポイントサイズに合わせてどうフォントを表示するかデザイナーによって決められたグリッド調整およびスキャン変換手続き (GASP) テーブルが含まれています。サイズによっては完全にアンチエイリアスをかけられたり、場合によってはヒンティングを適用したり、あるいはビットマップフォントとして表示するようになったりします。特定のポイントサイズではそれらを組み合わせて使われることもあります。

任意で GTK のルックアンドフィールを使うには、代わりに下の行を .bashrc に追加してください。上述の Java オプションやこのオプションは Java で GUI を描写している Jdownloader などのアプリケーションでしか意味がありません。Java をバックエンドでしか利用していないアプリケーション、Openoffice.org や Matlab などでは表示が変わりません。

_JAVA_OPTIONS='-Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel' 

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

Java アプリケーションの新しいインスタンスを開いて変更をテストしましょう。

フォントのヒンティング

一部の Java アプリケーションにはヒンティングのシステム設定が反映されません。Java アプリを起動する前に、以下の環境変数のどれかを使ってみてください:

export FT2_SUBPIXEL_HINTING=0  # Classic mode
export FT2_SUBPIXEL_HINTING=1  # Infinality mode
export FT2_SUBPIXEL_HINTING=2  # Default mode

例えば、0 の場合 FreeType は太字でないフォントを使うようになります。

OpenJDK パッチ

Java のオプションを使って強制的にアンチエイリアスをかけても、ネイティブアプリケーションのアンチエイリアスよりかは品質で劣ります。AUR にある OpenJDK のパッチを使うことで改善することができます:

パッチを適用したバージョンでは fontconfig と freetype の Infinality パッチを上手く混ぜ合わせています。標準の fontconfig API を使用しているため fontconfig-infinalityAUR に依存はしていません。

フォント選択

TrueType フォント

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

JAVA_FONTS=/usr/share/fonts/TTF

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

文字化けの修正 (JRE8)

以下のディレクトリにフォントファイルを配置してください。ディレクトリが存在しない場合は作成してください。

/usr/lib/jvm/java-8-openjdk/jre/lib/fonts/fallback/