a2ps から ps2pdf まで
ソースを全文印刷してレポートに添付という、嫌がらせ的レポートを印刷するとき、流石に notepad じゃ味気ないので a2ps くらいして「がんばったぞ」感を演出しようとするものの、日本語文字化けで残念な感じ。なぜか、研究室のサーバー群に日本語対応版 a2ps が入っていたので事なきを得たが、自前で用意しときましょうというはなし。ホントは、印刷のきれいな xyzzy 辺りを使えばいいんだけど。たくさんはまって、たくさん時間を無駄にした。
どうせ普段 windows なので、Cygwin に入れる。いろいろ探して、結局ハングアップの日々に行き着く。ここの方法をそのまま実行すると、どうにかこうにかうまくいく。とりあえず、全部引用。
Cygwin のインストーラで gettext-devel と file をインストールする。 Cygwin のインストーラで a2ps-4.13-1 のソースをインストールする。これによって、/usr/src/ に a2ps-4.13.tar.gz, a2ps-4.13-1.patch, a2ps-4.13-1.sh の 3ファイルがコピーされる。 a2ps に Cygwin 用のパッチを当てる。
$ cd /usr/src $ ./a2ps-4.13-1.sh prep $ patch -p0 < a2ps-4.13-ja_nls.patch $ patch -p0 < a2ps-4.13-kt.patch $ ./a2ps-4.13-1.sh conf $ ./a2ps-4.13-1.sh build $ strip a2ps-4.13/src/a2ps.exe $ strip a2ps-4.13/contrib/fixnt.exe $ cd a2ps-4.13 $ make install
ビルドはこれでおわり。コンパイルに時間がかかる。
gsview はデフォルトでは日本語がでない。失敗してるのかと思った。例のサイトから引用。
GSView で、 Options ---> Advanced Configure Ghostscript Options: 編集ボックスに -dWINKANJI と記述しておく
AFPL の gs は -dWINKANJI をつけると、日本語を WINAPI 経由で表示してくれるそうだ。
ps2pdf も -dWINKANJI を渡すと、日本語を含んだ ps を変換できる。たぶん、日本語フォントの埋め込みを行わないんだろうな。あの辺はどうなってるのか、よくわからん。
で、テキストから PDF 生成まではこんな感じ。ps2pdf のデフォルト用紙サイズが Letter っぽいので、用紙サイズを指定しないとはみ出る。あと、インクジェット印刷用に、マージンを大きく取るときは、a2ps で -M A4dj にする、というのは以前書いた。
$ a2ps -M A4 -o aiueo.ps aiueo.txt $ ps2pdf -dWINKANJI -sPAPERSIZE=a4 aiueo.ps
めんどくさいね。そういえば、生成された PDF には作成者のアカウント名が入るんだよね。どの段階のかはしらないけど。これが、blind review のときにもにゃもにゃというはなしが・・・。