man ページは日本語でなくてもいいんですけど、Cygwin の標準パッケージで man をインストールすると、日本語 man ページの設定は施されているのに、同時にインストールされる groff は日本語に対応していないという悲しい現実…。
/etc/man.conf:
JNROFF /usr/bin/groff -Tnippon -mandocj
こんな風に↑ちゃんと設定されているのに
$ man man
/usr/bin/groff: can't find `DESC' file
/usr/bin/groff:fatal error: invalid device `nippon'
ダサいよね
(^^;;;仕方ないので日本語に対応した groff をインストールすることに。今回は Debian のパッチを使いましたが、どれを使っても基本的には同じでしょう。
使ったパッチ: groff_1.18.1.1-21.diff.gz
オリジナルのgroffに上のパッチを当てて
$ ./configure --enable-multibyte
$ make LIBS=-liconv
$ make install
と実行すれば groff のインストールは完了。
次に
/etc/man.conf を
/usr/local/etc/man.conf としてコピーし、コピー先のファイル内で指定されている
groff,
nroff,
eqn,
tbl,
col,
refer,
pic のパスを全て
/usr/local/bin/... に変更。
そして
JNROFF を次のように変更。
(旧) JNROFF /usr/bin/groff -Tnippon -mandocj
(新) JNROFF /usr/local/bin/nkf -e | /usr/local/bin/nroff -c -mandocj 2>/dev/null
それから
PAGER は
lv に変更しておいた方が良さそう。
(旧) PAGER /usr/bin/less -isrR
(新) PAGER /usr/bin/lv -Iej
後は
/usr/local/bin/man として以下のようなスクリプトを置いて、PATH で
/usr/local/bin を優先させれば作業完了。
#!/bin/sh
case x$LANG in
xja*)
LANG=ja_JP.eucJP
export LANG
FLAG="-C /usr/local/etc/man.conf"
;;
*)
;;
esac
exec /usr/bin/man $FLAG $*
posted by yamaga at 21:35|
Comment(0)
|
TrackBack(0)
|
Cygwin
|
|