jgroff for Cygwin インストールメモ


0. はじめに

Cygwin 標準の groff は日本語に対応していない為、そのままでは
日本語 man を表示できない。

Cygwin JE の日本語版 groff と man をインストールするだけで解決するが、
ここではいまでぃ氏作製の jgroff を別の場所にインストールして
元の groff と共存させる方法を紹介する。


1. 環境

OSWindows Xp
Cygwin1.5.24-2
man1.6e (Cygwin 版)
groff1.18.1-2 (Cygwin 版)
jgroff1.18.1-6 (いまでぃ氏作製)
lv4.51 (Cygwin 版)

2. jgroff の入手

いまでぃ氏 のサイトから jgroff をダウンロード。

Cygwin jgroff


3. インストール

3.1 展開

元の groff と共存させる事が目的なので、アーカイブの展開時に
上書きしないように注意する。

3.2 インストール

展開したファイルのうち、実行に必須なのは bin/ と usr/share/groff/ のみ。
それらを既存のシステムと衝突しない場所にコピーする。
jgroff の man、info、doc が必要な人はお好みで適当な場所にコピーする。

# mkdir /usr/local/jgroff
# 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

2007/09/28 作成