古い話題

Xでのコンソール・メッセージの表示

FreeBSDの場合、デフォルトではコンソールの代わりに仮想端末(ttyv0)が使用されるため、一般ユーザでXを立ち上げると、ktermを「-C」オプションで開いてもコンソール・メッセージは表示されなくなってしまう(Xを終了したときには、画面上に表示される)。

これではエラー・メッセージなどがリアルタイムに見られなくて不便なので、表示させるためには、/etc/fbtabというファイルを作り、そこに以下のように書いておけばよい。

/dev/ttyv0 0600 /dev/console

なお、/etc/ttysを書き換えて、consoleからログインするという方法もある。

Netscape Communicatorの日本語フォントの調整

ビットマップフォントのエイリアスによる方法

packagesやportsでインストールすれば、自動的に10ドットのnaga10フォントや12ドットの要町フォントがインストールされ、XFree86標準の14、16、24ドットフォントと合わせた仮想的なフォント名のエイリアスが作られて5種類のサイズが使えるようになったが、14ドット(130[単位:1/10ポイント])フォントを標準サイズにした場合、<h2>と<h3>は同じ16ドット・サイズになってしまう。

そこで<h2>と<h3>を区別させるために、packagesから20ドット・フォントのja-kappa20-0.2をインストールすると、今度は、<h1>と<h2>が同じ20ドットになってしまう。

実はCommunicatorは、標準に指定したサイズが<font size=3>(<h4>相当)となり、そのポイント・サイズの、60%、80%、100%、120%、140%、160%、180%のフォントを使い、それがなければ近いサイズのフォントを使うようになっている。なので、適当な大きさのフォントをインストールし、それを、Communicatorが想定するサイズとしてエイリアスすればよい。

この場合は、/usr/X11R6/lib/X11/fonts/misc/fonts.aliasに、以下のように5行追加して、xset fp rehash<Return>すれば、<h1>に24ドット、<h2>に20ドットが使われるようになる。

-netscape-fixed-medium-r-normal--20-182-75-75-c-100-jisx0201.1976-0 -kappa-fixed-medium-r-normal--20-190-75-75-c-100-jisx0201.1976-0

-netscape-fixed-medium-r-normal--20-182-75-75-c-200-jisx0208.1990-0 -kappa-mincho-medium-r-normal--20-190-75-75-c-200-jisx0208.1990-0

-netscape-fixed-medium-r-normal--24-208-75-75-c-120-jisx0201.1976-0 -sony-fixed-medium-r-normal--24-170-100-100-c-120-jisx0201.1976-0

-netscape-fixed-medium-r-normal--24-208-75-75-c-240-jisx0208.1983-0 -jis-fixed-medium-r-normal--24-230-75-75-c-240-jisx0208.1983-0

-netscape-fixed-medium-r-normal--24-208-75-75-c-240-jisx0212.1990-0 -wadalab-mincho-medium-r-normal--24-231-75-75-c-240-jisx0212.1990-30

なお、このままでは、<font size=6>と<font size=7>は同じサイズになる。<font size=7>をもっと大きくするためには、例えば、24ドットよりも少し大きいフォントをインストールして234[1/10ポイント]でエイリアスするとか、18ポイントなどのフォントをインストールして18、20、24ドットフォントを適当にエイリアスすればよいということになる。

ちなみに、4.04から4.05に上げたら、スタイルシート(CSS)のfont-sizeではlargeなども効かなくなり、CSS対応はますますおかしくなった。

X-TTによる方法

上記の方法は、XサーバからTrueTypeフォントを直接使うX-TrueTypeの開発によって、過去のものとなった。

もっとも、X-TTでTrueTypeフォントをいじっていて改めて思ったのは、アウトラインフォントは拡大縮小できたり変形できたりする点はいいものの、フォントの美しさについては、やはりビットマップフォントには及ばないという気がする。XFree86についてるk14フォント(14ドットで、75dpiで13ポイント・フォント)は、村井純グループの橘さんが実質的に一人で作ったものらしいが、このフォントは今さらながら美しいと思ってしまった。そこで、TrueTypeを使いながらもビットマップフォントがあればそれを優先させて表示させる方法はないかと調べてみたところ、同じ名前のフォントならスケーラブルなものよりビットマップが優先されるという記事(X-V XserverでのVFlibフォントとBitmapフォントの複合利用)を見つけたので試してみたが、これだとイタリックやボールドを表示できなくなるので、結局アウトラインを使った方がいいようだ(まあ、日本語文字のサイズごとに美しいフォントを作るのはたいへんな作業だから、そういう意味で写研やモリサワの存在価値もあるわけだが)。

jdk1.1.5.V98-2-25によるappletでの日本語表示

FreeBSD用のjdk1.1.5.V98-2-25.tar.gzでは、System.out.printlnによって端末に出力する場合はソースに日本語EUCで文字を入力して普通にコンパイルしても表示できるが、drawStringによるappletの場合は、環境変数LANGLC_ALLja_JP.EUCにしても文字化けしてしまう。念のためソースをnative2asciiでUNICODEに変換しても同じだった。

結局、ドキュメントにはないようだが、コンパイルの際に、

% javac -encoding EUCJIS hogehoge.java<Return>

とオプションを付ければ、表示できるようになる。

なお、appletviewerは、なぜか「SIGSEGV 11* segmentation violation」となり起動しない。

XEmacs 21.0.67のインストール

XEmacs version 21.0.67では、./configureのオプションは、20.4のときと同じでよかったが、インストール後、起動するとLispコードを吐いて落ちてしまう。

ドキュメントを調べてみると、./configureによって、gccのヴァージョンにふさわしいgccオプションが付けられていないためのようだった。FreeBSD 3.2-RELEASEの標準のgccはversion 2.7.2.1だが、packagesからgcc-2.8.1をインストールし、それを使ってコンパイルしたらうまくいった。

なお、version 21からは標準設定では/usr/local/lib/xemacs/site-lisp/は参照されなくなった。追加のLispファイルは標準設定では/usr/local/lib/xemacs/site-packages/以下に置く必要がある。

また、環境変数LANGは日本語用にはjaが前提にされているので、ja_JP.EUCで使う場合は、/usr/local/lib/xemacs/mule-packages/etc/app-defaults/ln -s ja ja_JP.EUCすると、メニューなどに日本語が出るようになる。

FVWM2の国際化

ウィンドウ・マネージャ「FVWM2」には国際化パッチが公開されているが、それを当てただけでは国際化はできなくて、Makefileに「-lxpg4」オプションをつけてコンパイルし、初期設定ファイルを書き換える必要がある。

具体的には、以下のように行う。

以上によって、ウィンドウのタイトルバーなどに日本語を表示させることができる。

なお、/usr/X11R6/lib/X11/config/host.defに、

#define ExtraLibraries -lxpg4

と書いておけば、xmkmfで作られるMakefileには、上記のオプションが付くようになる。

tcshの日本語化

2.2.6-RELEASEのpackagesには、ja-tcsh-6.07.02が用意されているが、これをインストールしただけでは、エラーメッセージなどでの日本語は表示できない。

表示させるためには、以下のようにする。

The GIMPのインストール

「Photshopキラー」とも呼ばれるThe GIMP(GNU Image Manipulation Program)だが、packagesにあるgimp-1.0.0LANGja_JP.EUCだと起動できなかったので、コンパイルし直した。

基本的に『Linux/FreeBSDによる実用日本語環境構築入門』(フレンドリー&トップマネジメントサービス著、ローカス、1998)を参考にしたが、同書のコマンド例は2.2.5-RELEASEにおけるbashなので、2.2.7-RELEASEにおけるtcshの場合は以下のようにする。

gtk+のインストール

gtk+-1.0.4.tar.gzを展開し、その直下にgtkconv-1.0.4.1.tar.gzを展開して、gtkconv-1.0.4/gtkconv.patchのパッチを当てる。

ただし、同書のCD-ROMのものにはバグがあるので、gdk/gdkconv.cの最終行に「}」を追加して、以下のようにする。

% setenv LDFLAGS "-L/usr/lib -lxpg4"<Return>
% ./configure --enable-xim --with-locale=ja_JP.EUC<Return>
% make<Return>
% su<Return>
# make install<Return>
# ldconfig -m /usr/local/lib<Return>

GIMPのインストール

packagesから、ライブラリaalib-1.2jpeg-6ampeg_lib-1.2.1png-1.0.2tiff-3.4をインストールし、またzlib-1.1.3のソースを入手してインストールしておく。

gimp-1.0.0.tar.gzを展開する。

上記のようにtiff-3.4をpackagesからインストールした場合は、GIMPのconfigureが検出してくれないので、以下のようにしたあと、makemake installする。

% setenv CPPFLAGS "-I/usr/include -I/usr/local/include/tiff34"<Return>
% setenv LDFLAGS "-L/usr/local/lib -lxpg4"<Return>
% ./configure --enable-shared --disable-debug -disable-static<Return>

vftextのインストール

日本語入力にvftext(vftext.c.gz)というプラグインを使う場合は、事前にVFlibをpackagesからインストールしておき、インストールの際にインクルード・ディレクトリを明示する必要がある。

# ln -s /usr/local/lib/glib/include/glibconfig.h /usr/local/include/glibconfig.h<Return>
# gcc -L/usr/lib -lxpg4 -DHAVE_CONFIG_H -g -Wall -c -I/usr/local/include vftext.c<Return>
gcc: -lxpg4: linker input file unused since linking not done
# /usr/local/src/gimp-1.0.0/libtool --mode=link gcc -g -Wall -o vftext vftext.o -L/usr/local/lib -L/usr/X11/lib /usr/local/lib/libgimp.la -lgtk -lgdk -lglib -lX11 -lXext -lm -lc -lVFlib<Return>
mkdir .libs
LD_LIBRARY_PATH="/usr/local/lib/.libs:$LD_LIBRARY_PATH" gcc -g -Wall -o .libs/vftext vftext.o -L/usr/local/lib -L/usr/X11/lib -R/usr/local/lib -lgimp -L/usr/local/lib -lxpg4 -lgtk -lgdk -lglib -lX11 -lXext -lm -lc -lVFlib
creating vftext
#

.libs/vftext‾/.gimp/plug-ins/にコピーし、‾/.gimp/gimprcを編集して‾/.gimp/vftext.confを指定しそのファイル作成し、そこに使いたい日本語フォントを指定する。

XEmacs 20.4のインストール

XEmacs version 20.4でCannaサーバを直接使う場合、makeの前に行う./configureのオプションは、以下のようにすればよい。

% ./configure --with-mule --with-canna ¥
'--site-includes=/usr/local/include /usr/local/include/canna' ¥
--site-libraries=/usr/local/lib ¥
--with-xfs --with-pop<Return>

--site-includesや、--site-librariesは、ヘッダやライブラリについてXのディレクトリ以外をも取り込みたい場合に、それを指定する。

--with-xfsで日本語メニューの表示、--with-popでmovemailのPOPサポートになる。

--with-xpm--with-jpeg--with-pngなどの画像関連は、事前にプログラムがインストールされていればConfigureが自動検出するので指定は不要。

なお、Kinput2やvjeなどのXIMも使い、音のサポートを追加する場合は、以下のようにする。

% ./configure --with-mule --with-canna ¥
'--site-includes=/usr/local/include /usr/local/include/canna' ¥
--site-libraries=/usr/local/lib ¥
--with-xim=xlib --with-xfs --with-sound --with-pop<Return>

ちなみに、2.2.7-RELEASEからは、packagesで各種のかな漢字変換サーバ用のバイナリが提供されるようになったが、XIMは使えないようだ。

また、2.2.8-RELEASEのCanna用packageを使ってみたところ、手元の環境ではlibcompface.so.1.0がないと起動できなかった。これはpackagesやportsには含まれていないようなので、compface.tar.gzを入手してインストールする必要がある。なお、標準のMakefileではlibcomface.aしかつくられないので、普通にインストールした後、以下のようにすればよい。

% gcc -shared -o libcompface.so.1.0 arith.o file.o compress.o gen.o uncompface.o<Return>
% su<Return>
# cp libcompface.so.1.0 /usr/local/lib<Return>
# ldconfig -m /usr/local/lib<Return>

Amaya Version 1.4のインストール

W3Cの検証用ブラウザ/エディタのAmaya Version 1.4をコンパイルすると、

/bin/sh ../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../../../libwww/Library/src -I../.. -I/usr/local/include -DW3C_ICONS=¥"/usr/local/share/w3c-libwww¥" -O -Wall -c ../../../../libwww/Library/src/HTMemLog.c
gcc -DHAVE_CONFIG_H -I. -I../../../../libwww/Library/src -I../.. -I/usr/local/include -DW3C_ICONS=¥"/usr/local/share/w3c-libwww¥" -O -Wall -Wp,-MD,.deps/HTMemLog.p -c ../../../../libwww/Library/src/HTMemLog.c
../../../../libwww/Library/src/HTMemLog.c: In function `HTMemLog_open':
../../../../libwww/Library/src/HTMemLog.c:55: `O_SYNC' undeclared (first use this function)
../../../../libwww/Library/src/HTMemLog.c:55: (Each undeclared identifier is reported only once
../../../../libwww/Library/src/HTMemLog.c:55: for each function it appears in.)
gmake[3]: *** [HTMemLog.lo] Error 1
gmake[3]: Leaving directory `/usr/home/harunaga/src/Thot/obj/libwww/Library/src'
gmake[2]: *** [libwww.a] Error 2
gmake[2]: Leaving directory `/usr/home/harunaga/src/Thot/obj'
gmake[1]: *** [../libwww.a] Error 2
gmake[1]: Leaving directory `/usr/home/harunaga/src/Thot/obj/amaya'

となって失敗してしまうが、とりあえず、libwww/Library/src/HTMemLog.cの55行目と56行目をコメントアウトすれば、コンパイルできる(どちらにせよ、まだ日本語は使えないが)。


FreeBSD目次 | トップページ