FreeBSD 4.X で ja_JP.UTF-8 を使う
その他のアプリケーション

私が使っているものだけですが、 Unicode/UTF-8 を意識してインストールしたものと エンコーディングが動作に関連しそうなものを列挙します。 また、GNOME や KDE は 特に意識しなくても UTF-8 環境で正常に動作しています。

lv

ページャです。less を置き換えます。


jman

マニュアルファイルをフォーマットするときのロケールが ja_JP.eucJP で なくてはならないため、そのまま使おうとすると文字化けします。 以下のような alias を切って使っています。

alias man 'env PAGER="lv -Ou8" LC_ALL=ja_JP.eucJP jman'
(csh/tcshの場合)

文字化したフォーマット済みマニュアルを作成してしまったときは、 以下のように消しておきます。

# rm -f /usr/share/man/ja/cat?/* /usr/local/man/ja/cat?/* 

iconv, libiconv

多言語環境では必須です。


w3m-m17n(-img)

UTF-8 に対応した w3m です。w3m-img を置き換えました。


Tcl/Tk

いままで日本語を使う人はずっと 8.0.5jp を使っていたのですが、 このバージョンは事実上 euc-jp ロケール専用でした。(内部では junet, shift_jis が使えましたが。) しかしながら、最新の 8.4 は日本語での使用にも十分に耐えるようになっています。


ng

ng 1.5βをベースに libiconv でかなりテキトーに UTF-8 対応してみました。 ちょっとバギーですが、Mac OS X などでも使えるようになったので、 置いておきます。

.ng で (set-kanji-input-code 'nil) (set-kanji-display-code 'nil) にすると、 LC_CTYPE を見ます。

UTF-8 対応といっても、入出力を UTF-8 に対応しただけで、 内部コードは EUC-JP のままです。すなわち EUC-JP に変換できない文字をふくむ UTF-8 ファイルの編集はできません。 また、補助漢字関係のコードも少し修正してみましたが、 まだまだ全然まともに動きません。 本格的に直すのであれば内部表現から作り直した方がいいでしょう。


なぜか Mac OS X ですが、こんなかんじ。


nkf 2

2.0 で UTF-8 対応になりました。-w オプションで出力を UTF-8 にします。


kinput2

ja-kinput2-canna-3.1, ja-Canna-3.7p3 の組み合わせで使っていますが、 正常に動作しています。 JIS X 0212 対応パッチ も動作します。


Window Maker

Xft 対応になった 0.91.0 が正常に動作しています。


syslogd

FreeBSD 4.x の syslogd は 8ビット目の立ったコードのうち、 ISO-2022 準拠のコード以外の文字をエスケープしてしまいます。 このため、 UTF-8 や Shift_JIS の文字列を含むエラーメッセージを 送っても文字化けします。

gconfd などがローカライズされたエラーメッセージを syslog に 出力することがあるので、気になる人は以下のパッチをあてて syslogd を 作りなおしておくといいでしょう。

--- usr.sbin/syslogd/syslogd.c~	Sun Jan 23 20:46:05 2005
+++ usr.sbin/syslogd/syslogd.c	Sat Feb  4 11:52:21 2006
@@ -678,11 +678,6 @@
 
 	while ((c = (unsigned char)*p++) != '\0' &&
 	    q < &line[sizeof(line) - 4]) {
-		if ((c & 0x80) && c < 0xA0) {
-			c &= 0x7F;
-			*q++ = 'M';
-			*q++ = '-';
-		}
 		if (isascii(c) && iscntrl(c)) {
 			if (c == '\n') {
 				*q++ = ' ';

$Date: 2006/02/04 08:43:01 $