Linux上のJAVAで日本語を表示させるのは難しいらしくみんな悩んでますね。って言っても僕も相当悩んでしまったんですが・・・。これは正しく、font.properties.ja(_JP[...])を書き換えてやれば済むんですが、繁雑ですね。
そこで、簡単な見本と共に説明を追記します。参考にしてください。
| 見本 | 説明 |
| font.properties.ja_JP | Kondara-Mary(2.0)FTP版に入ってたfontをそのまま利用したもの |
| font.properties.ja_JP | IBM社のJDKと共に配付されていた、TimesNewRomanを利用したもの |
| font.properties.ja_JP | Macの見やすいOsakaフォントをWinで使おうプロジェクトが作成しているOsakaを、UNICODEに変更し足りない文字をTimesNewRomanで補ったfontを利用したもの |
ここでは、JAVA2であることを前提としています。jdk1.1.xでも大丈夫だと思いますが。
では、順を追って説明します。
といった流れになります。
jdkかjreがインストールされてない場合は、Sun Microsystemsか、IBMからダウンロードしてください。(IBMのは、リンクからとんで、画面右下のDownloadをクリック。さらにフォントがあるのでこれもいただいちゃってくださいね。♥)。詳しくは、ここあたりを参照して下さい。(PATHの設定も忘れずに)。
インストールされたディレクトリの下、./lib/にfont.properties.jaがありますね。そこに、上の好きな見本をダウンロードしてfont.properties.ja_JPとして保存してください。
デモがインストールされているはずですので、demo/applets/SymbolTest/に移動して、
appletviewer example1.htmlを実行しましょう。この時に、
を確認して下さい。ここで、8分音符(♪)が出てたら失敗です。
まず、font.properties.ja_JPの見本を見てください。これの構成は、
で、まず、xfontselコマンドを使ったり、xlsfonts | grep jisx0208.1983 | grep 0-0-0として、表示される、"-misc-unknown-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0"みたいな奴の本体をインストールされたディレクトリの下、./lib/fonts/にコピー(または、シンボリックリンク)します。恐らくほとんどの人は、wadalab-gothic.ttf,watanabe-mincho.ttfのどちらかはフォントがインストールされているでしょうから、それを使いましょう。ない場合は、すぐにダウンロード出来ます。
そして、コピー(または、シンボリックリンク)を終えたら、インストールされたディレクトリの下、./lib/fonts/に移動して、rootで、
cp fonts.dir fonts.dir.backupttmkfdir > fonts.scalemkfontdirを実行します。ユーザに戻って、
cat fonts.dir | grep jisx0208.1983 | grep 0-0-0を実行します。
ここで表示される、"-alias-kochi_gothic-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0"みたいな奴を、font.properties.ja_JPの"-misc-unknown-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0"と差し替えて、"-alias-kochi_gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0"のように変更します(8箇所)。(よく見比べて!) ※但し、mkfontdirではかなりの確率でjisx0208.1983-0を生成出来ないようです。その場合、fonts.dirを手作業で修正します。同じフォントのjisx0201.1976-0をコピーし、jisx0201.1976-0をjisx0208.1983-0と書き換えて下さい。
これでテストして、成功したらsansserif,monospaced,dialog,dialoginputも同様にして作れるでしょう。ただし、sansserifを設定するなら、alias.sansserifの行を消しましょう。他のも同様。あと、timesroman,helvetica,courierは、jdk1.1との互換性のためだけにありますので、設定せずに、aliasしときましょう。
なお、serifは、明朝体のような字体(グリフ)。sansserifは、ゴシック体(呉竹体)のような字体(グリフ)。monospacedは、等幅。dialogは、メニューやダイアログボックス用。dialoginputは、ダイアログボックスなどへの入力用。 ※xfontselコマンドを使ったり、xlsfonts | grep jisx0208.1983 | grep 0-0-0として、表示されないフォントを指定すると、FileDialogなどの、一部のAPIで文字化けが発生します。これは、AWTがXの利用できるフォントを使用するためです。
インストールされるディレクトリは、標準では、Sunなら、/usr/java/jdk(バージョン)/になり、IBMなら、/opt/IBMJava2-13/になります。