Linuxでソフトウェア開発環境をなるべく最新バージョンで揃えようと思うと、Fedora の最新版(今ならFedora 17)を使うのが簡単です。最近なら仮想化でわざわざデュアルブート環境を用意する必要もないので導入が簡単になっています。
Fedora 17には、GCC 4.7.0、OpenJDK 1.7.0(Java SE 7)、Tomcat 7.0.27、JBOSS AS 7.1.1(Java EE 6)といった環境が入っています。
Open JDK 1.7.0
Fedora 17では、環境変数を設定しなくてもjavaコマンドが実行できます。まず、Javaのバージョンを見ると、
$ java -version java version "1.7.0_03-icedtea" OpenJDK Runtime Environment (fedora-2.2.1.fc17.8-x86_64) OpenJDK 64-Bit Server VM (build 23.0-b21, mixed mode)
となっています。
Open JDKで日本語文字が豆腐になる
しかし、GUI(Swing)プログラムを実行すると、日本語文字が豆腐(□)になってしまいました。
Open JDKでは有名な問題のようです。
参考記事
- http://d.hatena.ne.jp/nattou_curry_2/20091128/1259427112
- https://bugzilla.redhat.com/show_bug.cgi?id=582455
最初の記事を参考に、Open JDK 1.7.0での対処をしていきます。
Javaのインストールディレクトリを探します。今回はalternativesで調べます。
$ alternatives --config java 1 プログラムがあり 'java' を提供します。 選択 コマンド ----------------------------------------------- *+ 1 /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:
ちなみに、JDKとJREで2か所設定する必要があるかを調べると、/usr/lib/jvmの下には
となって、実体は1つでした。
font設定ファイル
のディレクトリには、fontconfig関係ファイルが多数存在します。
$ cd /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/lib $ ls fontconfig* fontconfig.Fedora.bfc fontconfig.Fedora.properties.src fontconfig.Ubuntu.bfc fontconfig.Ubuntu.properties.src fontconfig.SuSE.bfc fontconfig.SuSE.properties.src fontconfig.bfc fontconfig.properties.src
Fedora 17では、fontconfig.Fedora.* が使用されています。そこで、fontconfig.Fedora.bfcを削除し*1、fontconfig.Fedora.properties.srcをfontconfig.Fedora.propertiesにコピーして修正します。
まず、fontconfig.Fedora.properties.src から日本語関係を抜粋したものが次です。
dialog.plain.japanese-x0208=Sazanami Gothic dialog.bold.japanese-x0208=Sazanami Gothic dialog.italic.japanese-x0208=Sazanami Gothic dialog.bolditalic.japanese-x0208=Sazanami Gothic sansserif.plain.japanese-x0208=Sazanami Gothic sansserif.bold.japanese-x0208=Sazanami Gothic sansserif.italic.japanese-x0208=Sazanami Gothic sansserif.bolditalic.japanese-x0208=Sazanami Gothic serif.plain.japanese-x0208=Sazanami Mincho serif.bold.japanese-x0208=Sazanami Mincho serif.italic.japanese-x0208=Sazanami Mincho serif.bolditalic.japanese-x0208=Sazanami Mincho monospaced.plain.japanese-x0208=Sazanami Gothic monospaced.bold.japanese-x0208=Sazanami Gothic monospaced.italic.japanese-x0208=Sazanami Gothic monospaced.bolditalic.japanese-x0208=Sazanami Gothic dialoginput.plain.japanese-x0208=Sazanami Gothic dialoginput.bold.japanese-x0208=Sazanami Gothic dialoginput.italic.japanese-x0208=Sazanami Gothic dialoginput.bolditalic.japanese-x0208=Sazanami Gothic sequence.allfonts.x-euc-jp-linux=japanese-x0208,latin-1 sequence.fallback=chinese-big5,chinese-gb18030,japanese-x0208,korean,bengali,gujarati,hindi,oriya,punjabi,malayalam,tamil,telugu,sinhala filename.Sazanami_Gothic=/usr/share/fonts/sazanami-fonts-gothic/sazanami-gothic.ttf filename.Sazanami_Mincho=/usr/share/fonts/sazanami-fonts-mincho/sazanami-mincho.ttf
各種論理フォントの日本語で使用する物理フォント名がSazanami {Gothic|Mincho}になっており、このフォントファイルが/usr/share/fonts/sazanami-fonts-{gothic,mincho}/sazanami-{gothic,mincho}.ttfとなる設定ですが、Fedora 17にはデフォルトではsazanamiフォントはインストールされていません。
そこで、さざなみ明朝・ゴシックフォントをインストールします。
# yum install sazanami* :
で、インストール先は
- /usr/share/fonts/sazanami/gothic/sazanami-gothic.ttf
- /usr/share/fonts/sazanami/mincho/sazanami-mincho.ttf
となります。
次にフォント設定ファイルを修正します。
# mv fontconfig.Fedora.bfc fontconfig.Fedra.bfc.orig # cp fontconfig.Fedora.properties.src fontconfig.Fedora.properties # vi fontconfig.Fedora.properties
フォントのパスの部分を変更します。
filename.Sazanami_Gothic=/usr/share/fonts/sazanami/gothic/sazanami-gothic.ttf filename.Sazanami_Mincho=/usr/share/fonts/sazanami/mincho/sazanami-mincho.ttf
さざなみフォントはいまいちなので、VLゴシックにしてみます。
まじめに設定ファイルを書くと修正箇所が多いので、フォント名だけ変更します。
filename.Sazanami_Gothic=/usr/share/fonts/vlgothic/VL-Gothic-Regular.ttf