「Java 実行環境のフォント」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(同期)
(Add Chinese translation)
タグ: visualeditor-switched
(2人の利用者による、間の3版が非表示)
2行目: 2行目:
 
[[en:Java Runtime Environment fonts]]
 
[[en:Java Runtime Environment fonts]]
 
[[ru:Java Runtime Environment fonts]]
 
[[ru:Java Runtime Environment fonts]]
  +
[[zh-hans:Java Runtime Environment fonts]]
 
{{Related articles start}}
 
{{Related articles start}}
 
{{Related|フォント}}
 
{{Related|フォント}}
13行目: 14行目:
   
 
==アンチエイリアス==
 
==アンチエイリアス==
フォントの[[Wikipedia:Antialiased_font|アンチエイリアス]]は Linux の Oracle Java 1.6 で利用可能です。システム全体の設定でアンチエイリアスを使うには、次の行を {{ic|/etc/environment}} に追加してください:
+
フォントの[[Wikipedia:Antialiased_font|アンチエイリアス]]は Linux の Oracle Java 1.6 及び OpenJDK で利用可能です。システム全体の設定でアンチエイリアスを使うには、次の行を {{ic|/etc/environment}} に追加してください:
   
 
export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=''setting'''
 
export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=''setting'''
19行目: 20行目:
 
{{Ic|''setting''}} は以下の7つの値のどれか一つに置き換えて下さい:
 
{{Ic|''setting''}} は以下の7つの値のどれか一つに置き換えて下さい:
   
  +
{| class="wikitable"
:*{{Ic|off}} または {{Ic|false}} または {{Ic|default}} – アンチエイリアスなし
 
  +
! 設定
:*{{Ic|on}} – 完全なアンチエイリアス
 
  +
! 説明
:*{{Ic|gasp}} – フォントに埋め込まれたヒント情報を使う
 
  +
|-
:*{{Ic|lcd}} または {{Ic|lcd_hrgb}} – 多数派の LCD モニターにあわせてアンチエイリアスを調整する
 
  +
| {{Ic|off}}, {{Ic|false}}, {{Ic|default}}
:*{{Ic|lcd_hbgr}} – もうひとつの LCD モニター設定
 
  +
| アンチエイリアスなし
:*{{Ic|lcd_vrgb}} – もうひとつの LCD モニター設定
 
  +
|-
:*{{Ic|lcd_vbgr}} – もうひとつの LCD モニター設定
 
  +
| {{Ic|on}}
  +
| 完全なアンチエイリアス
  +
|-
  +
| {{Ic|gasp}}
  +
| フォントに埋め込まれたヒント情報を使う
  +
|-
  +
| {{Ic|lcd}}, {{Ic|lcd_hrgb}}
  +
| 多数派の LCD モニターにあわせてアンチエイリアスを調整する
  +
|-
  +
| {{Ic|lcd_hbgr}}, {{Ic|lcd_vrgb}}, {{Ic|lcd_vbgr}}
  +
| もうひとつの LCD モニター設定
  +
|}
   
 
多くの場合 {{Ic|gasp}} と {{Ic|lcd}} の設定が上手く機能します。
 
多くの場合 {{Ic|gasp}} と {{Ic|lcd}} の設定が上手く機能します。
   
  +
任意で GTK のルックアンドフィールを使うには、代わりに下の行を .bashrc に追加してください。
{{Note|'''TrueType''' フォントにはポイントサイズに合わせてどうフォントを表示するかデザイナーによって決められたグリッド調整およびスキャン変換手続き (''GASP'') テーブルが含まれています。サイズによっては完全にアンチエイリアスをかけられたり、場合によってはヒンティングを適用したり、あるいはビットマップフォントとして表示するようになったりします。特定のポイントサイズではそれらを組み合わせて使われることもあります。}}
 
 
任意で GTK のルックアンドフィールを使うには、代わりに下の行を .bashrc に追加してください。上述の Java オプションやこのオプションは Java で GUI を描写している Jdownloader などのアプリケーションでしか意味がありません。Java をバックエンドでしか利用していないアプリケーション、Openoffice.org や Matlab などでは表示が変わりません。
 
   
 
_JAVA_OPTIONS='-Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel' ''
 
_JAVA_OPTIONS='-Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel' ''
   
  +
{{Note|
変更を適用するには再ログインする必要があります。
 
  +
* 上述の Java オプションやこのオプションは Java で GUI を描写している Jdownloader などのアプリケーションでしか意味がありません。Java をバックエンドでしか利用していない Openoffice.org や Matlab などのアプリケーションでは表示が変わりません。
  +
* '''TrueType''' フォントにはポイントサイズに合わせてどうフォントを表示するかデザイナーによって決められたグリッド調整およびスキャン変換手続き (''GASP'') テーブルが含まれています。サイズによっては完全にアンチエイリアスをかけられたり、場合によってはヒンティングを適用したり、あるいはビットマップフォントとして表示するようになったりします。特定のポイントサイズではそれらを組み合わせて使われることもあります。}}
   
  +
コマンドラインで実行ファイルの前に変数を指定して新しい設定を試してみましょう:
Java アプリケーションの新しいインスタンスを開いて変更をテストしましょう。
 
  +
  +
_JAVA_OPTIONS=''options'' ''executable''
  +
  +
変更を適用するには再ログインする必要があります。
   
 
=== フォントのヒンティング ===
 
=== フォントのヒンティング ===
53行目: 70行目:
 
Java のオプションを使って強制的にアンチエイリアスをかけても、ネイティブアプリケーションのアンチエイリアスよりかは品質で劣ります。[[AUR]] にある OpenJDK のパッチを使うことで改善することができます:
 
Java のオプションを使って強制的にアンチエイリアスをかけても、ネイティブアプリケーションのアンチエイリアスよりかは品質で劣ります。[[AUR]] にある OpenJDK のパッチを使うことで改善することができます:
 
* パッチ適用済み ({{ic|1=--enable-infinality=yes}}) の '''OpenJDK7''' は {{AUR|jre7-openjdk-infinality}} でインストールできます。
 
* パッチ適用済み ({{ic|1=--enable-infinality=yes}}) の '''OpenJDK7''' は {{AUR|jre7-openjdk-infinality}} でインストールできます。
* パッチ適用済みの '''OpenJDK8''' は {{AUR|jre8-openjdk-infinality}} でインストールできます ([[非公式ユーザーリポジトリ#infinality-bundle|Infinality 非公式リポジトリ]]からインストールすることも可能です)
+
* パッチ適用済みの '''OpenJDK8''' は {{AUR|jre8-openjdk-infinality}} でインストールできます。
 
パッチを適用したバージョンでは fontconfig と freetype の [[Infinality]] パッチを上手く混ぜ合わせています。標準の {{Pkg|fontconfig}} API を使用しているため {{AUR|fontconfig-infinality}} に依存はしていません。
 
パッチを適用したバージョンでは fontconfig と freetype の [[Infinality]] パッチを上手く混ぜ合わせています。標準の {{Pkg|fontconfig}} API を使用しているため {{AUR|fontconfig-infinality}} に依存はしていません。
   

2019年3月8日 (金) 11:26時点における版

関連記事

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

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

アンチエイリアス

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

export _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 のルックアンドフィールを使うには、代わりに下の行を .bashrc に追加してください。

_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

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

フォントのヒンティング

一部の 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 のパッチを使うことで改善することができます:

  • パッチ適用済み (--enable-infinality=yes) の OpenJDK7jre7-openjdk-infinalityAUR でインストールできます。
  • パッチ適用済みの OpenJDK8jre8-openjdk-infinalityAUR でインストールできます。

パッチを適用したバージョンでは 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/