Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Mew & Emacs での印刷

421 views
Skip to first unread message

kotobuki

unread,
Sep 2, 2002, 12:01:46 PM9/2/02
to linux...@linux.or.jp
こんばんわ、ことぶき@印度 です。

ヘッダーの通り、Emacs 21.2 上で Mew を使用しております。
A4用紙にプリントする際、用紙サイズより長大な文字列が印刷
されず、しり切れとんぼになってしまい困っています。
Mew 、Emacs各々、用紙サイズの範囲内で自動的に折り返しさせ
るには、どの様に設定すればよいのでしょう?

.emcas.el の現状設定は下記です。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; プリンタ出力設定
;;; Plamo Linux の設定ファイルからコピー
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(setq ps-multibyte-buffer 'non-latin-printer)
;;; プリンタ出力のコマンドを定義
(setq ps-lpr-command "lpr")
(setq ps-printer-name-option "-P ")
;; printer name
(setq ps-printer-name "lp")

(add-hook 'ps-print-hook
'(lambda ()
(setq ps-font-info-database
(append
'((Japanese ; the family key
(fonts (normal . "Ryumin-Light")
(bold . "GothicBBB-Bold")
(italic . "GothicBBB-Bold")
(bold-italic . "Ryumin-Light"))
(size . 10.0)
(line-height . 10.27)
(space-width . 5.99993)
(avg-char-width . 5.99993)))
ps-font-info-database))
(setq ps-multibyte-buffer 'non-latin-printer)
(setq ps-paper-type 'a4)
(setq ps-print-control-characters nil)
(setq ps-font-family 'Japanese)
(setq ps-font-size '(10 . 10))
(setq ps-print-only-one-header t) ))


.mew.el の現状設定は下記です。
;; 印刷コマンド設定
(setq mew-print-command-format "mpage -2 -P")
(defun mew-print-region (begin end)
(interactive "r")
(shell-command-on-region begin end mew-print-command-format))

(defun mew-print-buffer ()
(interactive)
(mew-print-region (point-min) (point-max)))
(setq mew-print-function (function mew-print-buffer))

--
kiyoshige KOTOBUKI
Umiam Site in India
Hotel Polo Towers Room No. 104
Oakland road, Polo Graunds, Shillong 793001, Meghalaya, India
Phone : +91(0364)22-2341/2342
e-mail : FZE0...@nifty.com

R.Takashi ISHIOKA

unread,
Sep 2, 2002, 8:56:05 PM9/2/02
to linux...@linux.or.jp
>> On Tue, 3 Sep 2002 01:01:46 +0900, kotobuki (ことぶき) <FZE0...@nifty.com> said:


kotobuki> (setq mew-print-command-format "mpage -2 -P")
kotobuki> (defun mew-print-region (begin end)
kotobuki> (interactive "r")
kotobuki> (shell-command-on-region begin end mew-print-command-format))


ここをみると mpage をつかっています.
man mpage すると...
-f Toggles folding lines longer than page width
(default off) .

これでどーです?
--
(ishi)

kotobuki

unread,
Sep 3, 2002, 1:35:43 PM9/3/02
to linux...@linux.or.jp
こんばんわ、ことぶき@印度です。

"R.Takashi ISHIOKA" <ish...@dad.eec.toshiba.co.jp> wrote:
Date: Tue, 3 Sep 2002 09:56:05 +0900

いつもお世話になります。
(setq mew-print-command-format "mpage -f -2 -P")
にして ok になりました。ありがとうございました。
(mpageがコマンドだと思ってませんでした)

実はもうひとつ、 Emacs21 の印刷がうまくいかなくて。。。
vine2.5環境で Emacs21 に切替えた際に Emacs20.7 用のデフォルト
の .emacs.el を流用したら印刷できませんでした。

.emacs.el のデフォルトの設定部分
;;;印刷設定
;(setq-default lpr-switches '("-Pepson"))
(setq-default lpr-switches '("-2P"))
(setq-default lpr-command "mpage")

で、Plamo の設定から印刷関係をコピーし、デフォルトの印刷関係
の2行をコメントにして、とりあえず印刷できるようになったのです
が、Plamo からコピーしたのは Postscript 用だとつい先程気がつき
まして、結局、デフォルトの設定をコメントアウトしたことで印刷で
きるようになったようです。
info をみながら
(setq lpr-add-switches '("-w60"))
等と、いくつか適当に設定してみたのですが自動改行をしてくれませ
ん。
Emacs21の設定についても(どなたか)教示いただければさいわいです。

R.Takashi ISHIOKA

unread,
Sep 3, 2002, 9:42:32 PM9/3/02
to linux...@linux.or.jp
いしおかです.

>> On Wed, 4 Sep 2002 02:35:43 +0900, kotobuki (ことぶき) <FZE0...@nifty.com> said:

kotobuki> .emacs.el のデフォルトの設定部分
kotobuki> ;;;印刷設定
kotobuki> ;(setq-default lpr-switches '("-Pepson"))
kotobuki> (setq-default lpr-switches '("-2P"))
kotobuki> (setq-default lpr-command "mpage")


わたしのだと...
(setq lpr-command "lpr")
(setq ps-printer-name "dc400b")
(setq ps-multibyte-buffer 'non-latin-printer)

これで M-x ps-print-buffer-with-face とか,
C-u M-x ps-print-buffer-with-face とか(これはファイルに出力)
とかしていますね.

kotobuki> (setq lpr-add-switches '("-w60"))

-W 60 だとおもいます.

lpr-add-swithces は -T とか -J しか見ていないような気がしないでもない
ので...

(setq-default lpr-add-switches nil)
(setq-default lpr-switches '("-2P" "-W 60"))

かな.
前者を nil にしているのは lpr を対象とした -J が mpage では動かない気
がするから.

% mpage -2 -f -W 60 < ~/.emacs > hoge.ps
% gv hoge.ps

とかして みてみるといいかしらん.

--
(ishi)

kotobuki

unread,
Sep 4, 2002, 2:50:26 PM9/4/02
to linux...@linux.or.jp
こんばんわ、ことぶき@印度です。

"R.Takashi ISHIOKA" <ish...@dad.eec.toshiba.co.jp> wrote:
Date: Wed, 4 Sep 2002 10:42:32 +0900

> いしおかです.
>
たびたびお世話になります。

<snip>


> (setq-default lpr-add-switches nil)
> (setq-default lpr-switches '("-2P" "-W 60"))
>

期待した60文字での折り返しはしませんでした。

> かな.
> 前者を nil にしているのは lpr を対象とした -J が mpage では動かない気
> がするから.
>
> % mpage -2 -f -W 60 < ~/.emacs > hoge.ps
> % gv hoge.ps
>
> とかして みてみるといいかしらん.
>

はい、こちらでは期待通りの結果でした。取り合えずこちらの方法
で印刷する事にします。
Emacs21の設定は又、後日調べる事にします。

R.Takashi ISHIOKA

unread,
Sep 4, 2002, 8:36:53 PM9/4/02
to linux...@linux.or.jp
>> On Thu, 5 Sep 2002 03:50:26 +0900, kotobuki (ことぶき) <FZE0...@nifty.com> said:

>> (setq-default lpr-add-switches nil)
>> (setq-default lpr-switches '("-2P" "-W 60"))
>>

kotobuki> 期待した60文字での折り返しはしませんでした。

あれ... "-f" が抜けていた...
--
(ishi)

kotobuki

unread,
Sep 6, 2002, 10:20:38 AM9/6/02
to linux...@linux.or.jp
こんにちわ、ことぶき@印度です。

"R.Takashi ISHIOKA" <ish...@dad.eec.toshiba.co.jp> wrote:
Date: Thu, 5 Sep 2002 09:36:53 +0900

下記の設定にしてみました。
(setq lpr-command "lpr")
(setq ps-printer-name "lp")
(setq ps-multibyte-buffer 'non-latin-printer)
(setq-default lpr-add-switches nil)
(setq-default lpr-switches '("-f" "-2P" "-w 60"))

因みに
プリンターは Canon BJC-80v を使用、フィルターは Canon BJ-35v系
をセットしてあります。この時、プリンター名が lp となっていたの
で (setq ps-printer-name "lp") としました。
テストに、100桁程の数字を2行書き込んだ test.txt を作成して使用
しました。

"-W 60"とすると、ミニバッファにスプールされたと表示されるものの
プリンターはさっぱり動きませんでした。
"-w 60"とすると取り合えず印刷はされます。
M-x ps-print-buffer-with-faces だとタイトルが文字化けし、エラー
表示が印刷されてプリンターが止まってしまいます。
M-x printer-buffer だと印刷はしてくれるものの、オプションの -f
-2P, -w 60 が効いていません。用紙サイズを外れた文字列は印刷され
ませんでした。印刷スタイルは pr(1) の5行のヘッダーが付いて来ます

;(setq-default lpr-switches '("-f" "-2P" "-w 60"))
(setq lpr-headers-switches '("-f" "-2P" "-w 60"))
とか試してみたのですが、ヘッダーが付いて来ないだけでした。
Emacs21 の info も見たのですが、Hardcopy あたりしか見当たりません
で、今のところお手上げです。

Teruo KATOH

unread,
Sep 6, 2002, 11:31:27 AM9/6/02
to linux...@linux.or.jp
加藤@八王子です。

At 23:20 02/09/06 +0900, you wrote:
>こんにちわ、ことぶき@印度です。
>
>下記の設定にしてみました。


>
>"-W 60"とすると、ミニバッファにスプールされたと表示されるものの
>プリンターはさっぱり動きませんでした。
>"-w 60"とすると取り合えず印刷はされます。
>M-x ps-print-buffer-with-faces だとタイトルが文字化けし、エラー
>表示が印刷されてプリンターが止まってしまいます。
>M-x printer-buffer だと印刷はしてくれるものの、オプションの -f
>-2P, -w 60 が効いていません。用紙サイズを外れた文字列は印刷され
>ませんでした。印刷スタイルは pr(1) の5行のヘッダーが付いて来ます

>default lpr-switches '("-f" "-2P" "-w 60"))


>(setq lpr-headers-switches '("-f" "-2P" "-w 60"))
>とか試してみたのですが、ヘッダーが付いて来ないだけでした。

それぞれのパラメータの意味が判っているのでしょうか
でないと、時間(と紙)の無駄になるだけです。

「すでにあるコマンドは使い尽くす」UNIXの発想からすれば、Emacs自体が
印刷コマンドを持っているのではなく、バッファの内容を他のコマンドに
渡しているだけだと思うのですが・・・? それなら、

>Emacs21 の info も見たのですが、Hardcopy あたりしか見当たりません

いくらEmacsのhelp/infoを見ても、これらのパラメータの意味は判りません。

>(setq lpr-command "lpr")
ここで、印刷コマンドを"lpr"に設定して、

>(setq ps-printer-name "lp")
印刷に試用するプリンタ名を"lp"に設定して、

>(setq ps-multibyte-buffer 'non-latin-printer)
>(setq-default lpr-add-switches nil)

lprにスイッチ(オプションというかパラメータ)を追加することを宣言して、

>(setq-default lpr-switches '("-f" "-2P" "-w 60"))

そのスイッチが、-f -2P -w 60、なんでしょうね。

そう考えると、これらのスイッチの意味を探すのは、Emacs-infoではなく、
コマンドlprになります。まず、これらのスイッチを使用して、コマンドlprで
正常に(期待通りに)印刷できるかどうか、確認してみて下さい。

その他に、printcapも確認のこと。

kotobuki , ことぶき

unread,
Sep 7, 2002, 1:36:33 PM9/7/02
to
こんばんわ、ことぶき@印度です。

Teruo KATOH <t-k...@po.iijnet.or.jp> wrote:
Date: Sat, 7 Sep 2002 00:31:27 +0900

<snip>
> それぞれのパラメータの意味が判っているのでしょうか
> でないと、時間(と紙)の無駄になるだけです。
>
御意。今はプリンターのカートリッジが心配だったりします。
もちろん、このメールを読んで下さる方の時間も。

<snip>


>
> >(setq-default lpr-switches '("-f" "-2P" "-w 60"))
> そのスイッチが、-f -2P -w 60、なんでしょうね。
>

この "-f" "-2P" "-W 60" は mpage の"多すぎる"スイッチだと理解
しています。で、"私は使いたいんだ"と思っています。

それはともかくとして
lpr lpd pr mpage の man も見ながら試しているのですが、コマンド
の受け渡し方というか、相関関係が良く判っていません。

(setq-default lpr-switches '("-f" "-2P" "-w 60"))

として何の効果も表われないと云う事はちゃんと設定が受け渡されて
いないと思います。
Emacs20.7 の設定だと

;;;印刷設定


;(setq-default lpr-switches '("-Pepson"))

(setq-default lpr-switches '("-2P"))

(setq-default lpr-command "mpage")

というのがありましたので、どこかで mpage を使うことを設定しなけ
ればいけないのかなあ?と言うことで Emacs21 の info をチェックして
いるのですが今のところ良く判りません。

> そう考えると、これらのスイッチの意味を探すのは、Emacs-infoではなく、
> コマンドlprになります。まず、これらのスイッチを使用して、コマンドlprで
> 正常に(期待通りに)印刷できるかどうか、確認してみて下さい。
>
> その他に、printcapも確認のこと。
>

はい。

R.Takashi ISHIOKA

unread,
Sep 8, 2002, 9:02:06 PM9/8/02
to linux...@linux.or.jp
いしおかです. いつのまに... lpr にっ.

>> On Sun, 8 Sep 2002 02:36:33 +0900, kotobuki (ことぶき) <FZE0...@nifty.com> said:

kotobuki> ;;;印刷設定
kotobuki> ;(setq-default lpr-switches '("-Pepson"))
kotobuki> (setq-default lpr-switches '("-2P"))
kotobuki> (setq-default lpr-command "mpage")

ここで, lpr-switches を "-2P" "-W 60" "-f" にすればいいようにおもった
のですが...

lpr-command に mpage が セットされているので, emacs は印刷する時に次の
ようにします. ( lpr-switches を付加した上で... )

1. mpage -2P -W 60 -f < "バッファの内容を"
2. mpage は 適当に加工して PostScript として出力します.
このとき -P がついているので printer に送ります(lpr を呼び出す).
3. で, 何も指定がないので lp に 送ります.
4. lp には多分何かフィルタが設定されていて, PostScript -> BJ の形式へ
の変換を行なった上で, 実際のプリンタポートに送りつけます.


なんで, lpr-command に mpage をset してみてくださいな.
で... 実際にやる前に...

/tmp/fakempage というファイルを次のような内容で作って, lpr-command に
セットして試してみて下さい.

#!/bin/sh

echo $* > /tmp/fakempage.log
exit 0

つくったら
% chmod 755 /tmp/fakempage


.emacs に,
(setq-default lpr-command "/tmp/fakempage")
(setq-default lpr-add-switches nil)
(setq-default lpr-switches '("-2P" "-f" "-W 60"))

をかいて... emacs 起動.

なんかばっふぁにかいてみて...
M-x lpr-buffer

/tmp/fakempage.log
を見てみる...

例)
/tmp/fakempage -2P -f -W 60

最終的にこういうのを呼び出してるのがわかります.
--
(ishi)

kotobuki

unread,
Sep 9, 2002, 9:12:50 AM9/9/02
to linux...@linux.or.jp
こんばんわ、ことぶき@印度です。

"R.Takashi ISHIOKA" <ish...@dad.eec.toshiba.co.jp> wrote:
Date: Mon, 9 Sep 2002 10:02:06 +0900

> いしおかです. いつのまに... lpr にっ.
>
あ、Mew とは別に Emacs の印刷も判らなかったもので。。。

丁寧に教えていただきありがとうございます。

で、昨夜 lpr.el を見てて下記の様に

(setq lpr-command "lpr")
(setq printer-name "lp")
(setq lpr-page-header-program "mpage")
(setq lpr-header-switches nil)
(setq lpr-page-header-switches '("-f" "-2P" "-p" "-W 60"))

としました。
デフォルトでは lpr-page-header-program に "pr" が設定されて
いるようです。pr でも良いのかも知れませんが、せっかく mpage
というヒントをいただきましたので、それを "mpage" にしました
これで、目的通り印刷できるようです。

M-x ps-print-buffer でちゃんと印刷できない件は ps-print.el
を見てみたいと思います。
また、教えていただいた方法もやってみたいと思います。
--
;; 明日はカルカッタ、明後日はバンコック、明明後日は府中

kotobuki

unread,
Sep 15, 2002, 9:42:24 AM9/15/02
to linux...@linux.or.jp
ことぶき@春日部です。

"R.Takashi ISHIOKA" <ish...@dad.eec.toshiba.co.jp> wrote:
Date: Mon, 9 Sep 2002 10:02:06 +0900

<snip>


> /tmp/fakempage というファイルを次のような内容で作って, lpr-command に
> セットして試してみて下さい.
>

<snip>
やってみました。
結果、/tmp/fakempage.log というファイルはできたのですがファイルサイズが
0 byteで中身がありませんでした。
minibuffer には Spooling with options -2P -f -W 60 ...done とでますが
実際にはスイッチが渡されていないと言うことですよね。
とりあえず報告まで
--
kiyoshige KOTOBUKI
e-mail : FZE0...@nifty.com

0 new messages