私はまたひとつ勘違いをしていたようです…以前 M+ と IPA フォントを JDS や GNOME のデスクトップのフォントに設定して GTK ルックアンドフィールで NetBeans で起動したらアンチエイリアスが有効にならない、swing.aatext=true をつけるとアンチエイリアスが有効になると書きました。私はてっきりアンチエイリアスがデフォルトで有効にならないのは 1.5 では正しい動作で Mustang からはデフォルトで有効になるはず、と思いこんでいました。

Mustang で試したら aatext=true でも有効にならないのでなんでかな〜と以下のようなバグを登録したら


「1.5 でもデフォルトで有効にならないのが問題でしょう」ということで以下のように担当エンジニアの方が Synopsis と対象バージョンを 1.5 に変えてくれました。


なるほどそういうことだったんですね。1.5 で swing.aatext=true を付けるのは正しい動作ではなく、回避策だったようです。

では Mustang での回避策は?? バグを評価してくれたエンジニアの方がバグレポートにも書いてくれたのですが

Java 2D FAQ:

に書いてある

awt.useSystemAAFontSettings
  • "false" corresponds to disabling font smoothing on the desktop.
  • "on" corresponds to Gnome Best shapes/Best contrast (no equivalent Windows desktop setting)
  • "gasp" corresponds to Windows "Standard" font smoothing [see note (*) below] (no equivalent Gnome desktop setting)
  • "lcd" corresponds to Gnome's "subpixel smoothing" and Windows "ClearType"
を使えばいいのですね。全然知りませんでした…まとめると、

1.5
% netbeans --laf com.sun.java.swing.plaf.gtk.GTKLookAndFeel -J-Dswing.aatext=true

Mustang
% netbeans --laf com.sun.java.swing.plaf.gtk.GTKLookAndFeel -J-Dawt.useSystemAAFontSettings=on

でしょうか。-J-Dswing.aatext=true も -J-Dawt.useSystemAAFontSettings=on も回避策ということです。
Comments:

Post a Comment:
Comments are closed for this entry.

This blog copyright 2009 by katakai