vine-users ML アーカイブ



[vine-users:077371] Re: CUPS lp コマンドの "-o page-left=xx" が効かない

  • From: 長南洋一 <cyoichi@xxxxxxxxxxxxxxx>
  • Subject: [vine-users:077371] Re: CUPS lp コマンドの "-o page-left=xx" が効かない
  • Date: Sun, 29 Jul 2007 23:37:57 +0900 (JST)
長南です。

当たっているかどうかはわかりませんが、ふと思いついたので。

芳賀さんのメールより [vine-users:077349]
>
> USB接続の PX-V630 (ドライバは、avasys.jp からダウンロードした
> "pips-pxv630-Redhat9-3.0-CLGE.tgz" を使用)へ、以下のコマンド
> を使用して、プレーンテキストファイルを印刷しました。
>   $ lp -o page-left=30 .bashrc
>   request id is px-v630-89 (1 file(s))
> 印刷自体は正常に、かつ問題無く行われます。しかし左マージン
> が8mmしか確保できません。
> 一方
>   $ mpage -1 -m60l40r25bt .bashrc > a.ps
>   $ lp a.ps
> とすると、希望どおりの左マージンが確保できます。
> 
> "-o page-left=30" がどうして効かないかについて、アドバイスを
> いただけませんでしょうか。

1 inch が 72 points、30 points だと 10.5 mm ぐらいですか。
8 mm という結果は、オプションの効果があったのかどうか、微妙だと
思います。しかし、-o page-left=30 が実際に働いていないとして、
その理由を考えてみると−−

/etc/cups/mime.convs でテキストファイルの処理の部分を見ると、
こうなっています。

  application/x-cshell    application/postscript  33      cjktexttops
  application/x-perl      application/postscript  33      cjktexttops
  application/x-shell     application/postscript  33      cjktexttops
  text/plain              application/postscript  33      cjktexttops
  text/html               application/postscript  33      cjktexttops

つまり、日本語テキストも PS 形式に変換してくれるようになっている
わけです。そして、/usr/lib/cups/filter/cjktexttops を見ると、
mpage を使って、こんなふうに処理している。

  LC_ALL=ja_JP mpage -b$PAPERSIZE -1 -o -f -m18lr36bt -P- "$INPUT"

mpage へ -o page-left=30 が渡っているようには見えません。

ところで、Vine 3.2 の /etc/cups/mime.convs では、テキスト処理の
部分はこんな具合でした(日本語のテキストは扱えなかった)。

  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 が渡るのは、すなわち有効なのは、
texttops なのではないでしょうか。ただの思いつきですけれど。

-- 
長南洋一