FreeBSDの場合、デフォルトではコンソールの代わりに仮想端末(ttyv0
)が使用されるため、一般ユーザでXを立ち上げると、ktermを「-C
」オプションで開いてもコンソール・メッセージは表示されなくなってしまう(Xを終了したときには、画面上に表示される)。
これではエラー・メッセージなどがリアルタイムに見られなくて不便なので、表示させるためには、/etc/fbtab
というファイルを作り、そこに以下のように書いておけばよい。
/dev/ttyv0 0600 /dev/console
なお、/etc/ttys
を書き換えて、console
からログインするという方法もある。
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すれば、<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サーバから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の場合は、環境変数LANG、LC_ALLをja_JP.EUC
にしても文字化けしてしまう。念のためソースをnative2ascii
でUNICODEに変換しても同じだった。
結局、ドキュメントにはないようだが、コンパイルの際に、
% javac -encoding EUCJIS hogehoge.java
とオプションを付ければ、表示できるようになる。
なお、appletviewer
は、なぜか「SIGSEGV 11* segmentation violation
」となり起動しない。
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」には国際化パッチが公開されているが、それを当てただけでは国際化はできなくて、Makefile
に「-lxpg4
」オプションをつけてコンパイルし、初期設定ファイルを書き換える必要がある。
具体的には、以下のように行う。
fvwm-2.0.46.tar.gz
などのソースファイルを入手して展開。fvwm-users-jp-kits.97Oct04.tar.gz
に含まれているpatch/PATCH.i18n-jp
などの適当なパッチを当てる。Makefile
に、
を追加してmakeし、インストール。
EXTRA_LIBRARIES = -lxpg4
ja-k12font-1.0.tgz
等)などの適当なフォントをインストールし、それを必要に応じて~/.fvwm2rc
のWindowFont、IconFont、*FvwmButtonsFontなどに指定。例えば、
WindowFont "-*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*,-*-fixed-medium-r-*-*-12-*-*-*-*-*-*-*"
~/.fvwm2rc
の中の日本語にしたい部分を書き換えて、日本語EUCで保存。以上によって、ウィンドウのタイトルバーなどに日本語を表示させることができる。
なお、/usr/X11R6/lib/X11/config/host.def
に、
#define ExtraLibraries -lxpg4
と書いておけば、xmkmfで作られるMakefile
には、上記のオプションが付くようになる。
2.2.6-RELEASEのpackagesには、ja-tcsh-6.07.02
が用意されているが、これをインストールしただけでは、エラーメッセージなどでの日本語は表示できない。
表示させるためには、以下のようにする。
ja_JP.EUC
を指定。~/.cshrc
(または、~/.tcshrc
)で、変数dspkanjiをeuc
に指定。kterm
は日本語EUCで起動。「Photshopキラー」とも呼ばれるThe GIMP(GNU Image Manipulation Program)だが、packagesにあるgimp-1.0.0
はLANGがja_JP.EUC
だと起動できなかったので、コンパイルし直した。
基本的に『Linux/FreeBSDによる実用日本語環境構築入門』(フレンドリー&トップマネジメントサービス著、ローカス、1998)を参考にしたが、同書のコマンド例は2.2.5-RELEASEにおけるbashなので、2.2.7-RELEASEにおけるtcshの場合は以下のようにする。
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"
% ./configure --enable-xim --with-locale=ja_JP.EUC
% make
% su
# make install
# ldconfig -m /usr/local/lib
packagesから、ライブラリaalib-1.2
、jpeg-6a
、mpeg_lib-1.2.1
、png-1.0.2
、tiff-3.4
をインストールし、またzlib-1.1.3
のソースを入手してインストールしておく。
gimp-1.0.0.tar.gz
を展開する。
上記のようにtiff-3.4
をpackagesからインストールした場合は、GIMPのconfigure
が検出してくれないので、以下のようにしたあと、make、make installする。
% setenv CPPFLAGS "-I/usr/include -I/usr/local/include/tiff34"
% setenv LDFLAGS "-L/usr/local/lib -lxpg4"
% ./configure --enable-shared --disable-debug -disable-static
日本語入力にvftext(vftext.c.gz
)というプラグインを使う場合は、事前にVFlibをpackagesからインストールしておき、インストールの際にインクルード・ディレクトリを明示する必要がある。
# ln -s /usr/local/lib/glib/include/glibconfig.h /usr/local/include/glibconfig.h
# gcc -L/usr/lib -lxpg4 -DHAVE_CONFIG_H -g -Wall -c -I/usr/local/include vftext.c
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
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 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
--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
ちなみに、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
% su
# cp libcompface.so.1.0 /usr/local/lib
# ldconfig -m /usr/local/lib
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行目をコメントアウトすれば、コンパイルできる(どちらにせよ、まだ日本語は使えないが)。