0. はじめに
Cygwin 標準の groff は日本語に対応していない為、そのままでは
日本語 man を表示できない。
Cygwin JE の日本語版 groff と man をインストールするだけで解決するが、
ここではいまでぃ氏作製の jgroff
を別の場所にインストールして
元の groff と共存させる方法を紹介する。
1. 環境
OS | Windows Xp |
Cygwin | 1.5.24-2 |
man | 1.6e (Cygwin 版) |
groff | 1.18.1-2 (Cygwin 版) |
jgroff | 1.18.1-6 (いまでぃ氏作製) |
lv | 4.51 (Cygwin 版) |
2. jgroff の入手
いまでぃ氏 のサイトから jgroff をダウンロード。
Cygwin jgroff
3. インストール
3.1 展開
元の groff と共存させる事が目的なので、アーカイブの展開時に
上書きしないように注意する。
3.2 インストール
展開したファイルのうち、実行に必須なのは bin/ と usr/share/groff/ のみ。
それらを既存のシステムと衝突しない場所にコピーする。
jgroff の man、info、doc が必要な人はお好みで適当な場所にコピーする。
# cp -a ./bin /usr/local/jgroff
# cp -a ./usr/share/groff /usr/local/share/jgroff
4. ラッパースクリプトの作成
4.1 jman
いくつかの環境変数を設定する事で Cygwin 版 man + jgroff の組み合わせでも
日本語の man を読むことが出来る。
なお、出力に色情報 (エスケープシークエンス) が含まれるので、
それをきちんと処理できるページャが必要になる。
3.2 とは異なるパスにインストールした人は適宜読み替える事。
#! /bin/sh jgroff_path='/usr/local/share/jgroff' GROFF_BIN_PATH='/usr/local/jgroff/bin' GROFF_TMAC_PATH="$jgroff_path/1.18/tmac:$jgroff_path/site-tmac" GROFF_FONT_PATH="$jgroff_path/1.18/font" MANPAGER='lv -Os -c' # 出力文字コードは各自の環境に合わせる事 export GROFF_BIN_PATH GROFF_TMAC_PATH GROFF_FONT_PATH MANPAGER exec /usr/bin/man "$@" |
4.2 man
元の man を英語専用で使う為に locale を変更して実行する。
本来なら LC_ALL だけ変更すれば良いと思うのだが、
上手くいかないので関係しそうな変数を全部変更する。
#! /bin/sh LANG=C LC_CTYPE=C LC_MESSAGES=C LC_ALL=C export LANG LC_CTYPE LC_MESSAGES LC_ALL exec /usr/bin/man "$@" |
4.3 jgroff
4.1 と同じ設定で jgroff 単独で使う事も可能。
#! /bin/sh jgroff_path='/usr/local/share/jgroff' GROFF_BIN_PATH='/usr/local/jgroff/bin' GROFF_TMAC_PATH="$jgroff_path/1.18/tmac:$jgroff_path/site-tmac" GROFF_FONT_PATH="$jgroff_path/1.18/font" export GROFF_BIN_PATH GROFF_TMAC_PATH GROFF_FONT_PATH exec "$GROFF_BIN_PATH/groff" "$@" |
5. リファレンス
いまでぃのホームページgroff、lv の man