torutkのブログ

ソフトウェア・エンジニアのブログ

Windows 7上でのNetBeans 7.0見栄え調整

先日、NetBeans 7.0がリリースされました。さっそくWindows 7上にインストールしましたが、例によってフォントがMS UIゴシックになっているので、アンチエイリアスフォントに馴染んだ目には、ビットマップフォントのジャギーが辛く映ります。

以前、NetBeans 6.9.1をWindows上でNimbus Look and Feelで - torutkのブログ で、NetBeansのルック・アンド・フィールをNimbusLookAndFeelに変え、NetBeansを動かすJavaVMのフォント設定で論理フォント(SansSerif)から物理フォントの対応をデフォルトのMS GothicからMeiryo UIに変更することで、NetBeansの大部分をアンチエイリアスフォントにできることを確認しました。

ただし、この方法ではJDKのフォント設定を変えるため、複数バージョンのJDKを使っていたり、こまめにJDKのアップデートをインストールする際、毎回設定ファイルを変える必要があり、ちょっと面倒です。(といってもソースエディタのフォントを追及するとJDKのフォント設定を変更せざるを得ないのですが)

今回、別なニーズもあって、WindowsLookAndFeelのままなんとかフォントを変更できないか調査していたところ、JGoodiesのWindowsLookAndFeelを使って実現することができました。

NetBeansのルック・アンド・フィールの設定、JDKのフォント設定については、画面キャプチャを含め、以下に詳しく記述しています。

なお、以下に、簡単にJGoodies looksの提供するWindowsLookAndFeelを使うまでの方法を紹介します。

JGoodies looksの入手とNetBeans設定

JGoodiesのライブラリ・ダウンロードページから、JGoodies Looks (zipアーカイブファイル)をダウンロードし、任意の場所に展開します。ここでは、C:\java の下に展開したとします。

次に、NetBeansの設定ファイル(netbeans.conf)にjgoodies looksライブラリのクラスパスとルック・アンド・フィールの指定を記述します。

netbeans_default_options="-J-client -J-Xss2m -J-Xms32m
 -J-XX:PermSize=32m -J-XX:MaxPermSize=384m -J-Dsun.java2d.noddraw=true
 --cp:a C:\java\jgoodies-looks-2.4.1\jgoodies-looks-2.4.1.jar;
C:\java\jgoodies-looks-2.4.1\lib\jgoodies-common-1.2.0.jar
 --laf com.jgoodies.looks.windows.WindowsLookAndFeel"
  • 実際には改行なしで一行で記述します。

Windows 7では、この状態で、JDKのフォント設定を変更しなくてもメイリオ系フォントが使われるようになります。
Windows XPでは、システムフォントがメイリオではなくMS ゴシック(MS UI Gothic)と思われるので、その場合は、上述のnetbeans_default_optionsに、Javaシステムプロパティでフォントを指定するとよいと思われます。

-J-DWindows.controlFont=\"Meiryo UI-plain-11\"
 -J-DWindows.menuFont=\"Meiryo UI-plain-12\"

ソースエディタのフォントだけMS ゴシックのまま残っているので、これはNetBeansのメニューからアンチエイリアス等幅フォントを指定する必要があります(メイリオは英数文字がプロポーショナルになるので不適かと)。

Windowsでプログラミング向きフォントを紹介しているブログがありました。

おまけ、gdipp

以前、Windowsのフォントレンダリングが汚いということで独自にgdi++というGDIへのフォントレンダリングがありましたが、これはその後継(別途開発)されたフォントレンダリングです。Windows Vista/7 64bitにも対応しているので、ひょっとして、と思って入れてみましたが、SwingはGDIのAPIを使わずフォントを描いているので、残念ながら効果はありませんでした。
これを入れると、OSのダイアログでMSゴシックなものも、きれいになります(アンチエイリアスな目には、ですが)。

gdippプロジェクトサイト

紹介記事