[ index ]
2012-12-12 Java SE 7 Update10がリリースされました。
Windows 7 (64bit版)に、Java SE Development Kit 7 をインストールする手順です。
2012-09-06 JavaFXデモ、ドキュメントのインストールを追記
2012-08-24 フォント設定を追記
2012-08-21 Update 6に合わせて修正
Java開発環境であるJava SE Development Kit(通称JDK)のインストールには、いくつか注意点があります。
まず、JDK 7では、以前のバージョンとはインストールの構成が変わり、デモ・サンプルが別ファイルとして提供されるようになり、また、JavaFXのインストーラが実行されるようになりました。
次に、Windows Vista以降では、UACと呼ばれる保護機構が働き、Program Filesディレクトリにマシン共通のファイルを置くには手順を踏む必要があります。
そして、JDK 7の新しいUpdateをインストールするとき、インストール場所を前のUpdateのディレクトリとは別の場所にしてしまうと、JDKを使用するツールの設定を変更して回る必要が生じます。
この文書は、これらの注意点を加味した著者の普段実施しているインストール手順を示すものです。また、最後に環境設定用バッチファイルを用意しています。コマンドプロンプトにて複数バージョンのJDKを使い分ける用途に作成したものです。
Oracle社のWebサイトから、次の3つのファイルを入手します。
Oracle社のWebサイト上のJava SE関連ページは次のURLです。
Java SEダウンロードページを開きます。
Java SE 7のJDKの[DOWNLOAD]リンクを辿ります。
Windows x64(Windows OS 64bit版)用のJDKをダウンロードします。
上述JDKインストーラ・ファイルのダウンロードと同じページに、デモとサンプルがあります。
Windows x64(Windows OS 64bit版)用のJDKデモおよびサンプル・ファイルをダウンロードします。
上述JDKインストーラ・ファイルのダウンロードと同じページに、デモとサンプルがあります。
Windows用のJavaFXデモおよびサンプル・ファイルをダウンロードします。
Java SEダウンロードページを開きます。
Java SE 7 Documentationの[DOWNLOAD]リンクを辿ります。
現時点では英語版のファイルしかありませんので、これをダウンロードします。
上述JDKドキュメント・ファイルのダウンロードと同じページに、JavaFXドキュメントがあります。
JavaFXドキュメントをダウンロードします。
JDK 7u6の場合、次の5つのファイルがダウンロードできたことを確認します。
jdk-7u10-windows-x64.exe jdk-7u10-windows-x64-demos.zip jdk-7u6-apidocs.zip javafx_samples-2_2_4-windows.zip javafx-2_2_0-apidocs.zip
入手したファイルをインストールします。
まず、入手したJDKインストーラ・ファイルjdk-7u10-windows-x64.exeを実行すると、インストーラが起動します。
注)次以降の画面キャプチャはjdk-7u6のものですが手順は一緒です。手順が変わるupdateがリリースされたら更新する予定
補足)JDK 7 Update6以降のバージョンから、JavaFXがバンドルインストールではなくJDK自体に含まれるようになりました。JavaFX関係のファイルがJDKと同じディレクトリに入ります。
[次へ]ボタンを押します。
JDKのインストールディレクトリは、末端のディレクトリ名が、JDK 7のUpdate数を含んだものとなっています。これは、同じマシンに複数のUpdateをインストールして使い分ける用途であれば必要ですが、通常同じJDK 7であればUpdateは最新のものを1つだけ入れておくことが多いので、設定変更のインパクトが少ないようUpdate番号を含まないディレクトリ名にしておきます。
[変更]ボタンを押します。
ディレクトリ名を、jdk1.7.0に変更します(末尾の_06を削除)。
[OK]ボタンを押します。
インストール先が変更されたことを確認し、[次へ]ボタンを押します。
JDKのインストールが開始されるので、しばらく待ちます。
JDK(Java SE Development Kit)をインストールすると、同時にJRE(Java)もインストールします。インストーラがJREのインストール先を聞いてきます。ここは、デフォルトのままで問題ないので、変更はしません。
メモ) JREを入れたくない場合、ここでキャンセルする手もあります。例えば、プレビュー版のJDK 8を入れてみたいが、システムのデフォルトJavaバージョンはJava SE 7のままにしたいときなどです。
[次へ]ボタンを押します。
JREのインストールが開始するので、しばらく待ちます。
インストール完了のメッセージが表示されます。
[閉じる]ボタンを押します。
※ Java SE Development Kit 7 Update 5までは、この先にJavaFX SDKのセットアップがありましたが、Update 6からはインストーラは1つになり、Java FX SDKの別途インストールは行われません。また、インストール先も1つとなっています。
これでJDKのインストールが完了しました。
インストールされたコンポーネント(Windowsのインストーラ単位)は次の2つです。(Windowsのコントロールパネルからアンインストールを選択して表示される内容)
Java SE Development Kit 7 Update 10 (64-bit) Java 7 Update 10 (64-bit)
インストール場所は次になります。
C:\Program Files +--- Java | +--- jdk1.7.0 | +--- jre7
Java FX関係のコマンドやjarファイルも一緒にこのディレクトリ下にインストールされています。
入手したファイルjdk-7u10-windows-x64-demos.zipを解凍し、JDKインストールディレクトリに置きます。
(置く場所は任意ですが、筆者はJDKと一緒に置いています。)
具体的な手順を以降に示します。
ファイルをエクスプローラ上でダブルクリックします。すると、jdk1.7.0_10フォルダが表れます。このフォルダをダブルクリックすると、demoフォルダおよびsampleフォルダが表れます。この2つのフォルダをエクスプローラ上で複数選択し、JDKインストールディレクトリであるC:\Program Files\Java\jdk1.7.0 にドラッグ&ドロップします。
すると、次のダイアログが表示されます。
C:\Progra Files以下は、保護されたディレクトリなので、確認が必要になります。
[続行]ボタンを押します。
次のディレクトリ構成となります。
C:\Program Files +--- Java +--- jdk1.7.0 +--- demo +--- sample
動作確認がてら、デモプログラムを1つ実行してみます。エクスプローラで、次のファイルをダブルクリックします。
デモプログラムが起動(次の画面)すれば、JDKのインストール含めて正常です。
一旦ユーザーのホームディレクトリ以下などに展開し、展開された中のdemoおよびsampleフォルダをエクスプローラで上述と同様コピーします。
直接C:\Program Filesの下に展開しようとすると、UACの働きによって、エラーになってしまったり、C:\Users\<ログイン名>\AppData\Local\VirtualStore\Program Files\Java\jdk1.7.0\jdk1.7.0_10 に生成されてしまったりといった問題が生じることがあります。
入手したファイルjdk-7u6-apidocs.zipを解凍し、JDKインストールディレクトリに置きます。
(置く場所は任意ですが、筆者はJDKと一緒に置いています。)
ファイルをエクスプローラ上でダブルクリックします。すると、docフォルダが表れます。これを、エクスプローラ上で、JDKインストールディレクトリであるC:\Program Files\Java\jdk1.7.0 にドラッグ&ドロップします。
すると、次のダイアログが表示されます。
C:\Progra Files以下は、保護されたディレクトリなので、確認が必要になります。
[続行]ボタンを押します。
次のディレクトリ構成となります。
C:\Program Files +--- Java +--- jdk1.7.0 +--- docs +--- index.html +--- api : +--- index.html : :
C:\Program Files\Java\jdk1.7.0\docs\index.html をブラウザで開くとJavaドキュメントのトップページが表示されます。ブックマークなどしておくとよいでしょう。
一旦ユーザーのホームディレクトリ以下などに展開し、展開された中のdocフォルダをエクスプローラで上述と同様コピーします。
直接C:\Program Filesの下に展開しようとすると、UACの働きによって、エラーになってしまったり、C:\Users\<ログイン名>\AppData\Local\VirtualStore\Program Files\Java\jdk1.7.0\docs に生成されてしまったりといった問題が生じることがあります。
入手したファイルjavafx_samples-2_2_4-windows.zipを解凍し、JDKインストールディレクトリに置きます。
(置く場所は任意ですが、筆者はJDKと一緒に置いています。)
次のディレクトリ構成となります。
C:\Program Files +--- Java +--- jdk1.7.0 +--- javafx-samples-2.2.4 +--- src +--- web-files +--- BrickBreaker.html +--- BrickBreaker.jar +--- BrickBreaker.jnlp +--- Ensemble.html +--- Ensemble.jar +--- Ensemble.jnlp :
動作確認がてら、デモプログラムを1つ実行してみます。エクスプローラで、次のファイルをダブルクリックします。
デモプログラムが起動(次の画面)すれば、JDKのインストール含めて正常です。
このEnsembleデモは、JavaFXの機能を一通りデモするプログラムなので、是非いろいろいじってみてください。
JDKインストールディレクトリの下に、javafx-docsディレクトリを新規作成し、ここに入手したファイルjavafx-2_2_0-apidocs.zipを解凍して置きます。
(置く場所は任意ですが、筆者はJDKと一緒に置いています。)
次のディレクトリ構成となります。
C:\Program Files +--- Java +--- jdk1.7.0 +--- javafx-docs +--- api +--- javafx +--- netscape +--- resources +--- allclasses-frame.html :
Windows上でJDKを使うにあたって実施する環境設定について記述します。
Java関係のツールは、JDKのインストールされているディレクトリを環境変数JAVA_HOMEで参照するものがあります。
そこで、次の2つの環境変数を定義します。
環境変数名 | 設定内容 | 設定例 |
---|---|---|
JAVA_HOME |
JDKのインストールディレクトリ |
C:\Program Files\Java\jdk1.7.0 |
PATH |
JDKのコマンドがあるディレクトリ(bin) |
C:\Program Files\Java\jdk1.7.0\bin |
環境設定にはいくつか方法があります。あらかじめユーザーまたはシステムの環境変数PATHにJDKを追加する方法もありますが、複数のJDKバージョン(JDK 6 32bit版、JDK 6 64bit版、JDK 7 32bit版、JDK 7 64bit版、JDK 8 32bit版、JDK 8 64bit版、JDK 8 lambda 32bit版、JDK 8 lambda 64bit版、・・・)を併用する場合、毎回変更するのは非常に手間です。
そのような場合は、バッチファイルで環境設定を切り替えるようにしておくとよいかと思います。
インストールされているJDKをレジストリから検索し、そのパスを環境変数JAVA_HOMEおよびPATHに設定するバッチファイルです。コマンドラインオプションで、32bit版JDKを使用するかどうか、JDKのバージョン番号を指定することが可能です。
バージョン番号 | リリース日 | ダウンロードリンク | 備考 |
0.1 | 2012/06/17 |
setjdk.bat |
|
setjdk.batを、環境変数PATHの通った場所におきます。例えば、あらかじめ %HOMEPATH%\bin を作成し環境変数PATHに追加し、そこにsetjdk.batを置くなどです。
書式は次のとおりです。
setjdk [32] <JDKバージョン番号>
WindowsにインストールしたデフォルトのJDKを使用する場合
C:\Users\torutk> setjdk "JDK version not specified, so using CurrentVersion=1.7" C:\Program Files\Java\jdk1.7.0 C:\Users\torutk> javac -version javac 1.7.0_10 C:\Users\torutk>
32bit版のJDK 7を使用する場合
C:\Users\torutk> setjdk 32 1.7 C:\Program Files (x86)\Java\jdk1.7.0 C:\Users\torutk> javac -version javac 1.7.0_10 C:\Users\torutk>
ヘルプ(/?)オプションの指定
C:\Users\torutk> setjdk /? "Usage: setjdk [32] <jdk version>" " 32 - Setting 32bit JDK" "Installed JDK in registory" HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\1.7 HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\1.7.0_06 検索の完了: 該当 2 件 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Development Kit\1.7 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Development Kit\1.7.0_06 検索の完了: 該当 2 件 C:\Users\torutk>
Javaプログラムは、クロスプラットフォームで使用されることを想定しています。GUIを持つJavaプログラムでは、フォント種類の指定を特定プラットフォームに限定される物理フォント名(例えばMS ゴシック)で指定することはあまり推奨されず、代わりに論理フォント名(例えばMonospaced)で指定します。
Javaの実行環境では、Javaプログラムが指定する論理フォント名を、実際に実行するプラットフォームで利用可能な物理フォントに対応付けています。この対応付けの設定は、JDKまたはJREの次の設定ファイルに記述されています。
Javaの実行環境は、実際にはこのfontconfig.properties.srcファイルを読むのではなく、このファイルに基づき生成されたfontconfig.bfcファイルを読み込みます。fontconfig.bfcはバイナリ形式です。しかし、fontconfig.bfcの生成方法は分かりません(明示的には公開されていないようです)。
しかし、フォント設定を変更したい場合、fontconfig.properties.srcと同じ書式でfontconfig.propertiesという名前のファイルを用意しておけば、fontconfig.bfcよりも優先して読み込まれるので、ここではfontconfig.properties.srcを修正してfontconfig.propertiesを作成します。
フォント設定ファイルに関するoracleの公式ドキュメントは次です。
日本語環境でのWindows用JDK・JREのデフォルトのフォント設定(fontconfig.properties.src)は次のようになっています。
論理フォント名 | 英字フォント | 日本語フォント | 備考 |
---|---|---|---|
serif |
Times New Roman |
MS 明朝 | ひげ付き書体、日本語ははね付き(明朝) |
sansserif |
Arial |
MS ゴシック | ひげなし書体、日本語はゴシック |
monospaced |
Courier New |
MS ゴシック | 等幅、英字も日本語フォントが適用される |
dialog |
Arial |
MS ゴシック | |
dialoginput |
Courier New |
MS ゴシック |
fontconfig.properties.srcから、論理フォントSerifに対応する英字・日本語物理フォントの記述を抜粋したものが、以下です。(bold, italic, bold italicの指定は省略)
serif.plain.alphabetic=Times New Roman serif.plain.japanese=MS Mincho
論理フォントSerifが指定されたとき、日本語ロケール(windows-31j)でのフォント優先度は
sequence.serif.windows-31j=alphabetic,japanese,dingbats,symbol
とalphabeticが優先となっています。この場合、英文字(ASCII文字)はTimes New Romanが使われ、日本語文字はMS Mincho(MS 明朝)が使われます。なお、フォント名はMS Minchoと英語で指定しています。
このように、日本語ロケール(Windows-31J)において、通常は英数字等のASCII文字については英字フォントが使用され、日本語(非ASCII)文字については日本語フォントが使用されます。しかし、論理フォントがmonospacedの場合は例外で、英字フォントも日本語フォントとなります。
この優先度はfontconfig.properties.src中の次の記述によります。
sequence.monospaced.windows-31j=japanese,alphabetic,dingbats,symbol
論理フォントserifの設定と違って、japaneseが優先されているため、ASCII文字についてもjapaneseであるMS ゴシックが使用されます。これは、おそらく使用する物理フォントが異なると、例えば欧文フォントの半角2文字分の幅と和文フォントの全角1文字の幅とが一致しないという問題が生じるためと思います。
フォントファイル名の指定は次のようになっています。
filename.Times_New_Roman=TIMES.TTF filename.MS_Mincho=MSMINCHO.TTC
物理フォント名Time New Romanに対してTIMES.TTFフォントファイルが、MS Minchoに対してMSMINCHO.TTCが使われています。フォント名に含まれる空白文字がここの設定記述ではアンダースコアに置き換わっています。
現在の Javaの実装の制約で、フォント名にアンダースコアが入っていると困ったことになります(指定不可)。例えば、MeiryoKe_Consoleという物理フォントを使用したいので、フォントファイル名指定でfilename.MeiryoKe_Console=meiryoKe602r1.ttcと記述してみたが、適用されないという問題があります。この問題については、はてな日記2009-05-03に書いています。
fontconfig.properties.srcの定義で日本語フォントに使用される「MS 明朝」や「MS ゴシック」は、ビットマップフォントを組み込んだアウトライン(TrueType)フォントで、ふつうに使うサイズ(12ポ イントや14ポイントあたり)の表示ではビットマップが使われます。ビットマップはClearType(アンチエイリアス)されないので、「ぎざぎざ」し ます。
Windows Vista以降で搭載されるメイリオフォントや、フリーのフォント(IPAフォントなど)を使うと、ビットマップフォントの組み込みがないので、ふつうに使うサイズにおいてもアンチエイリアスを利用できますが、デフォルト・フォント設定を変更する必要があります。
そこで、fontconfig.properties.srcをもとに、日本語で使用するフォントをMS ゴシック/MS 明朝ではなく、どのサイズでもアンチエイリアスされるフォント(メイリオ等)に置き換えます。置き換えたファイルを、fontconfig.propertiesの名前にします。
まず、論理フォント monospaced を、アンチエイリアスがかかるフォントに変更します。
monospacedは等幅フォントを使うのが一般的です。Windows 7にはアンチエイリアスのかかる日本語の等幅フォントが標準で搭載されていないので、一工夫が必要です。
英字フォントについては、Consolasフォントを、日本語フォントについてはMeiryo UIフォントを使用します。
メモ) メイリオやMeiryo UIフォントは、日本語は等幅ですが英数字等はプロポーショナル(可変幅)となっています。そのため、monospaced(等幅の意)をメイリオにするだけでは具合が悪いことになります。Meiryo
UIは、日本語部分も漢字とひらがな・片仮名で幅を変えており、等幅性はなくなっています。ただし、メイリオは行間が他のフォントに比べ広くなっており、エディタ等に使うと表示行数が減ってしまいます。そこで、今回は欧文文字を等幅で、和文文字は非等幅で設定しています。
変更内容をdiff -u形式で次に示します。
$ diff -u fontconfig.properties.src fontconfig.properties.monospaced_consolas_m eiryoui --- fontconfig.properties.src 2012-08-22 09:36:16.390511000 +0900 +++ fontconfig.properties.monospaced_consolas_meiryoui 2012-08-22 09:31:19.411524800 +0900 @@ -99,32 +99,32 @@ sansserif.bolditalic.japanese=MS Gothic sansserif.bolditalic.korean=Gulim -monospaced.plain.alphabetic=Courier New +monospaced.plain.alphabetic=Consolas monospaced.plain.chinese-ms950=MingLiU monospaced.plain.chinese-ms950-extb=MingLiU-ExtB monospaced.plain.hebrew=Courier New -monospaced.plain.japanese=MS Gothic +monospaced.plain.japanese=Meiryo UI monospaced.plain.korean=GulimChe -monospaced.bold.alphabetic=Courier New Bold +monospaced.bold.alphabetic=Consolas Bold monospaced.bold.chinese-ms950=PMingLiU monospaced.bold.chinese-ms950-extb=PMingLiU-ExtB monospaced.bold.hebrew=Courier New Bold -monospaced.bold.japanese=MS Gothic +monospaced.bold.japanese=Meiryo UI Bold monospaced.bold.korean=GulimChe -monospaced.italic.alphabetic=Courier New Italic +monospaced.italic.alphabetic=Consolas Italic monospaced.italic.chinese-ms950=PMingLiU monospaced.italic.chinese-ms950-extb=PMingLiU-ExtB monospaced.italic.hebrew=Courier New -monospaced.italic.japanese=MS Gothic +monospaced.italic.japanese=Meiryo UI Italic monospaced.italic.korean=GulimChe -monospaced.bolditalic.alphabetic=Courier New Bold Italic +monospaced.bolditalic.alphabetic=Consolas Bold Italic monospaced.bolditalic.chinese-ms950=PMingLiU monospaced.bolditalic.chinese-ms950-extb=PMingLiU-ExtB monospaced.bolditalic.hebrew=Courier New Bold -monospaced.bolditalic.japanese=MS Gothic +monospaced.bolditalic.japanese=Meiryo UI Bold Italic monospaced.bolditalic.korean=GulimChe dialog.plain.alphabetic=Arial @@ -224,7 +224,7 @@ sequence.serif.windows-31j=alphabetic,japanese,dingbats,symbol sequence.sansserif.windows-31j=alphabetic,japanese,dingbats,symbol -sequence.monospaced.windows-31j=japanese,alphabetic,dingbats,symbol +sequence.monospaced.windows-31j=alphabetic,japanese,dingbats,symbol sequence.dialog.windows-31j=alphabetic,japanese,dingbats,symbol sequence.dialoginput.windows-31j=alphabetic,japanese,dingbats,symbol @@ -260,6 +260,11 @@ filename.Arial_Italic=ARIALI.TTF filename.Arial_Bold_Italic=ARIALBI.TTF +filename.Consolas=CONSOLA.TTF +filename.Consolas_Bold=CONSOLAB.TTF +filename.Consolas_Italic=CONSOLAI.TTF +filename.Consolas_Bold_Italic=CONSOLAZ.TTF + filename.Courier_New=COUR.TTF filename.Courier_New_Bold=COURBD.TTF filename.Courier_New_Italic=COURI.TTF @@ -288,6 +293,11 @@ filename.MS_Gothic=MSGOTHIC.TTC filename.MS_PGothic=MSGOTHIC.TTC +filename.Meiryo_UI=MEIRYO.TTC +filename.Meiryo_UI_Bold=MEIRYOB.TTC +filename.Meiryo_UI_Italic=MEIRYO.TTC +filename.Meiryo_UI_Bold_Italic=MEIRYOB.TTC + filename.Gulim=gulim.TTC filename.Batang=batang.TTC filename.GulimChe=gulim.TTC
論理フォントのsansserif、dialog、dialoginputで日本語フォントに指定される「MS ゴシック」を、「Meiryo UI」に変更します。
フォントの設定(1)で作成した内容からの変更点をdiff -u形式で次に示します。
$ diff -u fontconfig.properties.monospaced_consolas_meiryoui fontconfig.propert ies.consolas_meiryoui --- fontconfig.properties.monospaced_consolas_meiryoui 2012-08-22 09:31:19.411524800 +0900 +++ fontconfig.properties.consolas_meiryoui 2012-08-22 17:42:57.816228600 +0900 @@ -82,21 +82,21 @@ sansserif.bold.chinese-ms950=PMingLiU sansserif.bold.chinese-ms950-extb=PMingLiU-ExtB sansserif.bold.hebrew=David Bold -sansserif.bold.japanese=MS Gothic +sansserif.bold.japanese=Meiryo UI sansserif.bold.korean=Gulim sansserif.italic.alphabetic=Arial Italic sansserif.italic.chinese-ms950=PMingLiU sansserif.italic.chinese-ms950-extb=PMingLiU-ExtB sansserif.italic.hebrew=David -sansserif.italic.japanese=MS Gothic +sansserif.italic.japanese=Meiryo UI Italic sansserif.italic.korean=Gulim sansserif.bolditalic.alphabetic=Arial Bold Italic sansserif.bolditalic.chinese-ms950=PMingLiU sansserif.bolditalic.chinese-ms950-extb=PMingLiU-ExtB sansserif.bolditalic.hebrew=David Bold -sansserif.bolditalic.japanese=MS Gothic +sansserif.bolditalic.japanese=Meiryo UI Bold Italic sansserif.bolditalic.korean=Gulim monospaced.plain.alphabetic=Consolas @@ -131,56 +131,56 @@ dialog.plain.chinese-ms950=MingLiU dialog.plain.chinese-ms950-extb=MingLiU-ExtB dialog.plain.hebrew=David -dialog.plain.japanese=MS Gothic +dialog.plain.japanese=Meiryo UI dialog.plain.korean=Gulim dialog.bold.alphabetic=Arial Bold dialog.bold.chinese-ms950=PMingLiU dialog.bold.chinese-ms950-extb=PMingLiU-ExtB dialog.bold.hebrew=David Bold -dialog.bold.japanese=MS Gothic +dialog.bold.japanese=Meiryo UI Bold dialog.bold.korean=Gulim dialog.italic.alphabetic=Arial Italic dialog.italic.chinese-ms950=PMingLiU dialog.italic.chinese-ms950-extb=PMingLiU-ExtB dialog.italic.hebrew=David -dialog.italic.japanese=MS Gothic +dialog.italic.japanese=Meiryo UI Italic dialog.italic.korean=Gulim dialog.bolditalic.alphabetic=Arial Bold Italic dialog.bolditalic.chinese-ms950=PMingLiU dialog.bolditalic.chinese-ms950-extb=PMingLiU-ExtB dialog.bolditalic.hebrew=David Bold -dialog.bolditalic.japanese=MS Gothic +dialog.bolditalic.japanese=Meiryo UI Bold Italic dialog.bolditalic.korean=Gulim dialoginput.plain.alphabetic=Courier New dialoginput.plain.chinese-ms950=MingLiU dialoginput.plain.chinese-ms950-extb=MingLiU-ExtB dialoginput.plain.hebrew=David -dialoginput.plain.japanese=MS Gothic +dialoginput.plain.japanese=Meiryo UI dialoginput.plain.korean=Gulim dialoginput.bold.alphabetic=Courier New Bold dialoginput.bold.chinese-ms950=PMingLiU dialoginput.bold.chinese-ms950-extb=PMingLiU-ExtB dialoginput.bold.hebrew=David Bold -dialoginput.bold.japanese=MS Gothic +dialoginput.bold.japanese=Meiryo UI Bold dialoginput.bold.korean=Gulim dialoginput.italic.alphabetic=Courier New Italic dialoginput.italic.chinese-ms950=PMingLiU dialoginput.italic.chinese-ms950-extb=PMingLiU-ExtB dialoginput.italic.hebrew=David -dialoginput.italic.japanese=MS Gothic +dialoginput.italic.japanese=Meiryo UI Italic dialoginput.italic.korean=Gulim dialoginput.bolditalic.alphabetic=Courier New Bold Italic dialoginput.bolditalic.chinese-ms950=PMingLiU dialoginput.bolditalic.chinese-ms950-extb=PMingLiU-ExtB dialoginput.bolditalic.hebrew=David Bold -dialoginput.bolditalic.japanese=MS Gothic +dialoginput.bolditalic.japanese=Meiryo UI Bold Italic dialoginput.bolditalic.korean=Gulim # Search Sequences
論理フォント名serifに割り当てられている日本語の物理フォントは「MS 明朝」です。Windows 7日本語版に、埋め込みビットマップを使用しない明朝系TrueTypeフォントはありません。そこで、フリーなフォントのIPAex明朝を使用します。
※ ほかにも、出島明朝、Microsoft Officeに含まれるHG明朝E(13ポイント以上でアンチエイリアス)などがあるようです。
フォントの設定(2)で作成した内容からの変更点をdiff -u形式で次に示します。
$ diff -u fontconfig.properties.consolas_meiryoui fontconfig.properties.consola s_meiryoui_ipaexmincho --- fontconfig.properties.consolas_meiryoui 2012-08-22 17:42:57.816228600 +0900 +++ fontconfig.properties.consolas_meiryoui_ipaexmincho 2012-08-22 18:18:20.570643200 +0900 @@ -47,28 +47,28 @@ serif.plain.chinese-ms950=MingLiU serif.plain.chinese-ms950-extb=MingLiU-ExtB serif.plain.hebrew=David -serif.plain.japanese=MS Mincho +serif.plain.japanese=IPAexMincho serif.plain.korean=Batang serif.bold.alphabetic=Times New Roman Bold serif.bold.chinese-ms950=PMingLiU serif.bold.chinese-ms950-extb=PMingLiU-ExtB serif.bold.hebrew=David Bold -serif.bold.japanese=MS Mincho +serif.bold.japanese=IPAexMincho serif.bold.korean=Batang serif.italic.alphabetic=Times New Roman Italic serif.italic.chinese-ms950=PMingLiU serif.italic.chinese-ms950-extb=PMingLiU-ExtB serif.italic.hebrew=David -serif.italic.japanese=MS Mincho +serif.italic.japanese=IPAexMincho serif.italic.korean=Batang serif.bolditalic.alphabetic=Times New Roman Bold Italic serif.bolditalic.chinese-ms950=PMingLiU serif.bolditalic.chinese-ms950-extb=PMingLiU-ExtB serif.bolditalic.hebrew=David Bold -serif.bolditalic.japanese=MS Mincho +serif.bolditalic.japanese=IPAexMincho serif.bolditalic.korean=Batang sansserif.plain.alphabetic=Arial @@ -298,6 +298,8 @@ filename.Meiryo_UI_Italic=MEIRYO.TTC filename.Meiryo_UI_Bold_Italic=MEIRYOB.TTC +filename.IPAexMincho=IPAEXM.TTF + filename.Gulim=gulim.TTC filename.Batang=batang.TTC filename.GulimChe=gulim.TTC
No. | 修正内容 | ファイル |
---|---|---|
1 | monospacedをConsolas+Meiryo UIに修正 | fontconfig.properties.monospaced_consolas_meiryoui |
2 | 1.に加えMS ゴシックをMeiryo UIに修正 | fontconfig.properties.consolas_meiryoui |
3 | 2.に加えMS 明朝をIPAex明朝に修正 | fontconfig.properties.consolas_meiryoui_ipaexmincho |
この設定をしたとしても、Javaプログラムによっては表示するフォントがぎざぎざ(MS ゴシックやMS 明朝)になっていることがあります(例えば、NetBeans IED)。
これは、Javaプログラムが表示するフォントを論理フォントではなく物理フォントで指定している場合です。Javaで物理フォントを指定するのはあまり良しとされていませんが、なかにはそういうプログラムもあります。
例えば、JavaプログラムがWindows Look and Feelを指定している場合です。Windows Look and Feelを使用すると、その内部で文字フォントを論理フォントではなく物理フォント(MS ゴシック)で指定しているためです。これは、Windows OS側の問題で、いまだにWindows OS標準の画面(コントロールパネルから各種設定ダイアログを呼び出したときなど)が、いまだにメイリオでデザインされたものとMS ゴシック(MS UI ゴシック)でデザインされたものが混在し、視覚的一貫性が崩れていることが原因です。
NetBeans IDEの場合、ルックアンドフィールをコマンドラインオプションで変更することができるので、Nimbus等に変更するのも一つの回避策です。