FreeBSD QandA 375
Q. 印刷をしたら、ハンドブックでいう「階段効果」が現れてしまいました。
プリンタの設定は変更できず、エスケープシーケンスもマニュアルがない
のでわかりません。日本語版ハンドブックの訳注にある「LF を CR+LF に
置き換える cat コマンド を作る方法」を教えて下さい。
A. 以下のような 2 行だけのシェルスクリプトを作成します。
#!/bin/sh
sed 's/$/\^M/' $*
ここで ^M は実際の CR を表す制御文字ですから、vi では Ctrl キーを
押しながら v を押した後に Ctrl キーを押しながら m を押して下さい。
Emacs(Mule) では Ctrl キーを押しながら q を押した後に Ctrl キーを
押しながら m を押して下さい。
例えば これを /usr/local/libexec/lf2crlf という名前で保存し、
# chmod +x /usr/local/libexec/lf2crlf
として実行できるようにします。
こうして LF を CR+LF に変換する cat コマンドができましたから、
/etc/printcap に if=/usr/local/libexec/lf2crlf という項目を加えてやれ
ば階段効果を解消することができます。ghostscript を使ってPostScript プ
リンタとして使いたい時には、ハンドブック「非 PostScript プリンタで
PostScript をシミュレートする」で紹介されているフィルタの cat を
/usr/local/libexec/lf2crlf に置き換えてやれば良いです。
間違い・追加情報を見付けた場合は、
修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで
お知らせください。