🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: fj.editor.xemacs
7 messages
7 total messages Started by Atushi Shinmura Fri, 08 Jun 2001 01:27
XEmacs からのプリント
#318
Author: Atushi Shinmura
Date: Fri, 08 Jun 2001 01:27
46 lines
2822 bytes
新村です。お世話になります。

XEmacs から直接印刷をしたいのですが、ascii 文字はちゃんと印刷されるので
すけど、日本語が、ことごとく化けてます。(日本語フォントが使えていないよ
うな)

.emacs は2種類試してみました。

---------patern1
;;printer setting
(setq-default lpr-command "lpr")
(setq-default lpr-switches '("-Plp0"))
(setq ps-lpr-command "lpr")
(setq ps-lpr-switches '("-Plp0"))
(setq ps-paper-type 'ps-a4)
(setq ps-print-header nil)
(setq ps-print-header-frame nil)
(setq ps-font-size 8)
(setq ps-print-color-p nil)
(setq ps-wrap-line nil)

--------patern2
;;printer setting
(setq-default lpr-switches '("-Plp0"))

;;lisp for prn
(setq print-command-format "a2ps -p -ns -nh -nt |lpr -Plp0")
        (defun print-region (begin end)
          (interactive "r")
          (shell-command-on-region begin end print-command-format))
        (defun print-buffer ()
          (interactive)
          (print-region (point-min) (point-max)))
          (setq print-function (function print-buffer))
-------

結局、変りませんでした。どうすれば、日本語を出力できるのでしょうか?よろ
しくお願い致します。

環境は、XEmacs-21.1.12 
プリンタはローカル接続で、Epson LP-8300F Ghost Script経由
RedHat7.0J 相当 MLD-5 Kernel2.4.0-test8
です。

---
Atushi Shinmura
Re: XEmacs からのプリント
#319
Author: Seiichi Namba
Date: Fri, 08 Jun 2001 02:25
85 lines
3975 bytes
The following message is a courtesy copy of an article
that has been posted to fj.editor.xemacs as well.

難波です。プロバイダのサーバの様子がおかしいので Cc: も付けときます。

xemacs topic には口を狭まない、と書いたばかりなんですが、参考になれば。

GGB03631@nifty.ne.jp (Atushi Shinmura) さん writes:

> ---------patern1
> ;;printer setting
> (setq-default lpr-command "lpr")
> (setq-default lpr-switches '("-Plp0"))
> (setq ps-lpr-command "lpr")
> (setq ps-lpr-switches '("-Plp0"))
> (setq ps-paper-type 'ps-a4)
> (setq ps-print-header nil)
> (setq ps-print-header-frame nil)
> (setq ps-font-size 8)
> (setq ps-print-color-p nil)
> (setq ps-wrap-line nil)

こっちは、xemacs 特有だと思うのでよく判らないところがありますが、

> --------patern2
> ;;printer setting
> (setq-default lpr-switches '("-Plp0"))
> 
> ;;lisp for prn
> (setq print-command-format "a2ps -p -ns -nh -nt |lpr -Plp0")
>         (defun print-region (begin end)
>           (interactive "r")
>           (shell-command-on-region begin end print-command-format))
>         (defun print-buffer ()
>           (interactive)
>           (print-region (point-min) (point-max)))
>           (setq print-function (function print-buffer))
> -------

いずれのケースも process-coding-system まわりの問題に帰結するように
思われます。

もう少し問題を単純化して1つづつ調べたらどうでしょうか。

xemacs を使っていない私でも判りそうな pattern2 の方で話をしますが、まず、

$ < infile.txt a2ps -p -ns -nh -nt |lpr -Plp0

は既にうまく動いていますよね。

また、日本語の書いてあるバッファで、

(shell-command-on-region (point-min) (point-max) "kcc -c") ;; kcc があれば
(shell-command-on-region (point-min) (point-max) "coco -q") ;; coco があれば
(shell-command-on-region (point-min) (point-max) "cat >/tmp/junk")

などとした結果はどうでしょう(3つめのものは、/tmp/junk を find-file
したり cat したりして中身を調べる)。

その前に M-x describe-coding-system RET (そういうのがあれば) で
process-coding-system (そういう名前だったとして) の値を調べる、という
のもあるか。



$ < infile.txt a2ps -p -ns -nh -nt |lpr -Plp0

がうまくいっていて、上の2つめのテストで何らかの日本語らしきコードが
出ていっているのであれば、最もテキトーな workaround としては

(setq print-command-format "nkf | a2ps -p -ns -nh -nt |lpr -Plp0")

などとしてしまう、とか…。

そういえば、もっと細かい話をすれば、
(gs 経由の場合は大丈夫のような気はしますが)
a2ps が utashiro@iij.ad.jp さんの perl バージョンだったとすれば、

;;      $jisconvert = 1;

に関する設定も関係あるんでしょうかねえ。

-- 
難波清一@東京西東京市 (http://www.asahi-net.or.jp/~pi9s-nnb/)
NAMBA Seiichi <sn@asahi-net.email.ne.jp>
Re: XEmacs からのプリント
#320
Author: SATO Tatsuya
Date: Fri, 08 Jun 2001 03:47
19 lines
1843 bytes
佐藤@SEGと申します。

GGB03631@nifty.ne.jp (Atushi Shinmura) writes:
> 
> XEmacs から直接印刷をしたいのですが、ascii 文字はちゃんと印刷されるので
> すけど、日本語が、ことごとく化けてます。(日本語フォントが使えていないよ
> うな)

XEmacs でなく Emacs しか使っていないのではずしているかも
知れませんが、 ps-print-buffer コマンドでの印刷では

(setq ps-multibyte-buffer 'non-latin-printer)

を設定しています。

-- 
****  佐藤達也  *******************************************
社用: statuya @ seg.co.jp ;  私用: tattsan @ bu.iij4u.or.jp
***********************************************************
Re: XEmacs からのプリント
#324
Author: Atushi Shinmura
Date: Fri, 08 Jun 2001 10:08
38 lines
2952 bytes
新村です。フォロー有難うございます。早速に、

>>> 08 Jun 2001 11:25:36 +0900 の刻に 「Namba」、すなわち
>>> sn@asahi-net.email.ne.jp(Seiichi Namba) 氏曰く

> --------pattern2
> ;;printer setting
> (setq-default lpr-switches '("-Plp0"))
> 
> ;;lisp for prn
> (setq print-command-format "a2ps -p -ns -nh -nt |lpr -Plp0")
>         (defun print-region (begin end)
>           (interactive "r")
>           (shell-command-on-region begin end print-command-format))
>         (defun print-buffer ()
>           (interactive)
>           (print-region (point-min) (point-max)))
>           (setq print-function (function print-buffer))
> -------

Namba> $ < infile.txt a2ps -p -ns -nh -nt |lpr -Plp0
Namba> は既にうまく動いていますよね。

はい。大丈夫です。それに、どうしたことか、pattern2の方で、M-x
print-buffer とすることで、当初の目的どおり印刷できました。何故に今まで
ダメだったのだろう??

便乗で済みませんが、ファイルメニューの「バッファを印刷」「バッファを清書
印刷」とprintボタンに関数 print-bufferを登録したいのですけど、
XEmacs-20.4当時と違って、該当の場所(登録する相手先や方法)がわからずに
戸惑ってます。

メニューとボタンの3個所の一気登録ってできませんでしょうか?

無理言って申し訳ありません。よろしくお願い致します。
 
---
Atushi Shinmura
Re: XEmacs からのプリント
#325
Author: Atushi Shinmura
Date: Fri, 08 Jun 2001 10:24
13 lines
1955 bytes
新村です。フォロー有難うございます。

>>> 08 Jun 2001 12:47:51 +0900 の刻に 「IMAI」、すなわち
>>> statuya@seg.co.jp(SATO Tatsuya) 氏曰く


SATO> (setq ps-multibyte-buffer 'non-latin-printer)

先のリプライに書きましたが、一応目的は達することができました。PSプリンタ
でないものですから、面倒なこと^^; 有難うございます。

---
Atushi Shinmura
Re: XEmacs からのプリント
#249
Author: Seiichi Namba
Date: Thu, 14 Jun 2001 08:11
44 lines
2795 bytes
難波です。

GGB03631@nifty.ne.jp (Atushi Shinmura) さん writes:

> 便乗で済みませんが、ファイルメニューの「バッファを印刷」「バッファを清書
> 印刷」とprintボタンに関数 print-bufferを登録したいのですけど、
> XEmacs-20.4当時と違って、該当の場所(登録する相手先や方法)がわからずに
> 戸惑ってます。

いずれもキーマップだと思うので、基本的には define-key/define-key-after 
で行けるように思うんですが、(他も多数違いがあるようだが)xemacs の 
GUI は全く判らないので他の方にお任せします。

(xemacs の) elisp の info を調べるか、$lisp の下を
find -type f | grep el$ | xargs grep save-buffer
とでもすれば、登録をやってる個所はみつかるのではないですかね。

また、define-key-after なり、define-key をdescribe-function すれば説明
が出るんじゃないかしら。

define-key-after の場合は、その after と指定する対象のアイテムが
無ければ失敗するので、そのアイテムがなくなってる、とかそういう
問題ですかね。

あるいは easymenu (とかそういうのが xemacs にもあったとして)を使って
いる場合はその仕様が変更になったとか。

いずれにしても、前から設定に使ってた関数を describe-function で確認、
はまずやるべきでしょうね。

> メニューとボタンの3個所の一気登録ってできませんでしょうか?

そういう需要は稀だと思うので、無いんじゃないですかね。


ちなみに、emacs-21 の場合はツールバーのボタンに関しては
tool-bar.el というのがあって、
tool-bar-add-item(icon def key &rest props)
という関数が使えるようです。その最後のところは

(define-key-after tool-bar-map (vector key)
        `(menu-item ,(symbol-name key) ,def :image ,image ,@props))

などと書いてあります。
Re: XEmacs からのプリント
#251
Author: Atushi Shinmura
Date: Thu, 14 Jun 2001 12:40
20 lines
2505 bytes
新村です。

遅くなって申し訳ありません。

>>> 14 Jun 2001 17:11:56 +0900 の刻に 「Namba」、すなわち
>>> sn@asahi-net.email.ne.jp(Seiichi Namba) 氏曰く

Namba> (xemacs の) elisp の info を調べるか、$lisp の下を
Namba> find -type f | grep el$ | xargs grep save-buffer
Namba> とでもすれば、登録をやってる個所はみつかるのではないですかね。

ええ。らしきものは見つかったのですが、人によって、メニューとボタンの3個所のどれを使ってくれるかわからないもので、メニューバーに「Print」を追加しました。結局、「バッファを印刷する」と同じことなんですけど。(実際、メニューには、そう表示されますし)

 (add-menu-button '("Print") ["Print Buffer" print-buffer])
だけで済みました。Mewからも、Gnusからも、きちんと印刷できてます。

お騒がせ致しました。

---
Atushi Shinmura
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads