リソース・リソースファイルとは

 X window system におけるリソースとは、GUI プログラムの見栄えを決めるもので、 文字列の内容、文字列を表示するフォント、部品の高さや幅などを表します。

 詳しくは書籍を参考にしていただきたいのですが、このリソースというものを使う と、例えばボタンの大きさを変えたり、英語版プログラムをメニューだけ日本語化す るということができます。
 リソースの中には何も指定されていないので既定値がそのまま使われるもの、 プログラムの中で明示的に指定するもの、別ファイルに記述しておき実行時にそれを 読み込んで使用するもの、の 3 つがあり、最後の別ファイルのことをリソースファイ ルと呼び、我々が再コンパイルすることなしに触ることができるのはこの最後のもの になります(厳密には最初のものもリソースファイルに追加すれば変更可能です)。

 例えばフォントの設定は以下のようにして行ないます。
 デフォルト状態では Netscape はメニューなどの表示をする時に 例えば -*-helvetica-medium-r-normal-*-*-120-*-*-*-*-iso8859-* というフォント などの指定で見つかるフォントしか使用しません。漢字のフォントは ISO8859 では なくて JIS X 0201(いわゆる半角文字)や JIS X 0208(ひらがなや普通の漢字)、 JIS X 0212(補助漢字) ですので、このフォント指定では漢字を表示できません。 そこでリソースを使って漢字などのフォントを指定してやります。 例えば

*fontList: \ -adobe-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1;\ -misc-fixed-medium-r-normal--14-*-*-*-*-*-jisx0201.1976-0;\ -misc-fixed-medium-r-normal--14-*-*-*-*-*-jisx0208.1983-0;\ -misc-fixed-medium-r-normal--14-*-*-*-*-*-jisx0212.1990-0:

のようになります。

 またメニューの内容に関しては、

*menuBar.fileMenu.labelString: ファイル

のようなリソースを設定してやればメニューやウィンドウのタイトルバーなども日本 語化することができます。

 リソースファイルは起動時にいくつかの場所で探されます。環境にもよりますが、 X11R6 の場合は、だいたい

  1. $HOME/LANG
  2. $HOME
  3. /usr/X11R6/lib/X11/$LANG/app-defaults
  4. /usr/X11R6/lib/X11/app-defaults

の順に検索されます。ただしこの検索場所は XFILESEARCHPATH, XAPPLRESDIR 環境変 数によって変更可能です。詳しくは man X を参照してください。

 一番簡単なのはホームディレクトリに Netscape という名前で置くことです。 ただしこの場合はメニューも日本語化している場合、LANG 環境変数が 日本語 に なっていないと、メニューの漢字が表示されなくなって全くメニュー操作ができなく なってしまうかもしれませんので、ホームディレクトリに $LANG(例えば FreeBSD な ら ja_JP.EUC, Solaris 2.x なら ja) というディレクトリを作り、その中に Netscape というファイル名で置くのがおすすめです。ただしこの方法ではユーザの数 だけファイルをコピーしてやらないといけません。

もっと真っ当な方法は、/usr/X11R6/lib/X11/ja_JP.EUC/app-defaults というディ レクトリに Netscape というファイル名で置く方法です。この方法でしたらユーザが それぞれホームディレクトリにファイルを持つ必要はなくなります。ただし違うバー ジョンの Netscape を共存させることはできません。

上に挙げた 2 つのディレクトリ以外でも、XFILESEARCHPATH 環境変数に直接ファ イル名を指定したり、/dir/where/you/like/%L/%N%S:%D などと指定しておけば、好 きなディレクトリに置いておくことができます。ただし環境変数の内容は Netscape から呼び出されるプログラム(xanim やら xdvi やら gv やら)にも継承されるので、

setenv MOZILLA_HOME /usr/local/netscape-v405
setenv XFILESEARCHPATH ${MOZILLA_HOME}/%N:/usr/X11R6/lib/X11/%T/%N%S

などと私はしています。%N などの記号の意味については XtResolvePathname(3Xt) を参照してください(実は私もよく理解してないので変なことしてるかもしれません)。

目次へ戻る



mistral@imasy.or.jp SARUMARU Yoshihiko
最終更新: 1999年06月06日23時19分