長南です。 芳賀さんのメールより [vine-users:077372] > > ということは、cjktexttops フィルターからの出力が PostScript に > なっているから、lp コマンドで "-o page-left=xx" オプションを > 指定しても無視されるということでしょうか。 大体そういうことだと思います。より詳しく言うと、"-o page-left=xx" オプションは、プレーンテキストを PS 形式に変換するときに、texttops フィルターによって利用される。 今日、Vine 4.1 の /etc/cups/mime.convs の cjktexttops を texttops に書き換えてみました。こんなふうに(Vine 3.2 と同じに)したわけです。 application/x-cshell application/postscript 33 texttops application/x-perl application/postscript 33 texttops application/x-shell application/postscript 33 texttops text/plain application/postscript 33 texttops text/html application/postscript 33 texttops これで、lp -o page-left=30 .bashrc と lp -o page-left=60 .bashrc を 実行したところ、左マージンがきちんと変化しました。 CUPS にもともと付属する texttops は page-left などのオプションを 受け取って利用する。ただし、日本語テキストの処理ができない。 Vine 特製の cjktexttops は日本語テキストも適切に処理してくれるが、 page-left などのオプションを理解しない、ということだと思います。 > ただ、妙なのは、"lp" コマンドの "-o" オプションの使われ方です。 > メールをいただいてから、以下のコマンドを試してみました。 > $ lp -o page-left=60 -o page-border=double .bashrc > これは 「左マージンを 60pt 確保し、用紙の周囲に2本の枠線を印刷 > する」 オプションです。すると以下の結果になりました。 > (1) 2本の枠線が、用紙の左端から 2.1cm ほど離れた位置から印刷 > されました。 > (2) .bashrc 内のテキスト自体は、用紙の左端から 8mm ほど離れた > 位置から印刷されました。 これがおもしろいですね。手元の適当な PS ファイルで試してみました。 lp -o page-border=single -o page-left=30 math_example.ps lp -o page-border=single -o page-left=60 math_example.ps 本文部分には影響がなく、左枠線の位置がそれらしく変わっています。 options.html の説明によると、page-left などは、「プレーン・テキスト のファイルを印刷するときにだけ使われる」とのことですが、実際には もうすこし複雑なようです。すなわち、 page-left など単独では、 プレーンテキストにしか効果がないが、page-border と一緒に使うと −−PostScript データの本体に影響を与えることはないものの−− それによって page-boder(枠線)の位置を変更できる。options.html が ちょっと説明不足なのではないでしょうか。画像ファイルで確かめることは やっていませんけれど。 -- 長南洋一