FreeBSD QandA 375

FreeBSD QandA

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 まで お知らせください。