vine-users ML アーカイブ



[vine-users:055934] Re: Emacs 21.2 で清書印刷ができない

  • From: Toshiyasu KOJIMA (小島登志泰) <t_kojima@xxxxxxxxxxxxx>
  • Subject: [vine-users:055934] Re: Emacs 21.2 で清書印刷ができない
  • Date: Tue, 19 Nov 2002 04:42:33 +0900
>>>> In the message of [vine-users: No.055923],
>>>> "菊池" = KIKUCHI Junichi <maxi@xxxxxxxxxxxxx> wrote:

菊池> こちらでは、何も聞かれず ps ファイルが作成されました。
菊池> gv で確認すると、
[...]
菊池> でした。ヘッダーも文字化けしています。

むむ、このエラーはGhostscriptが悪いような気もする... Vineのgsは
5.5でしたっけ? 6.51で確認すると、化けることは化けるけれどもエラー
は吐かないのです。
# 言いがかりだったらごめん。> Ghostscript
# Postscriptはdocumentが膨大すぎてよくわからんのだ。

一応確認のために、実験-2で作ったpsファイルの最後のほうに、

/HeaderLinesRight [
  [ /h0 /pagenumberstring load ]
  [ /h1 (11\222\267\356 19 2002) ]
] def

こんな命令があると思うので、どうなってるか教えてくれませんか?

Emacs20.7で作ると、同じファイルは、

/HeaderLinesRight [
  [ /h0 /pagenumberstring load ]
  [ /h1 (Nov 19 2002) ]
] def

みたいになるはずです。文字化けの原因はこれなのですが、出力ファイ
ルについて両者の違いは、これくらいしか見あたりませんね。
# 実は、psファイルをeuc-jp-unixで開くと冒頭に
# %%CreationDate: 03:09:57 11\356 19 2002
# という部分(\356は一文字)があるけど、表示には関係ないので無視。

原因は、組み込み関数format-time-stringの出力が変ったことにあるの
で、Emacs自体を改造しないとこれは変りません。

(format-time-string "%b %d %Y")

をEmacs20.7とEmacs21とXEmacsで評価してみれば違いが分かります。
何と、Emacs21はlocaleを見てくれちゃうわけです。;-)

LANG=CでEmacsを起動し、
(setq ps-multibyte-buffer 'non-latin-printer)
を評価してやればまともに動作すると思いますが、面倒ですよねぇ... 
とりあえず、これを.emacsに書き加えて試してみてください。

(defun ps-time-stamp-yyyy-mm-dd-workaround ()
  "Return date as \"2001-6-18\". It won't be required with gs6.5."
  (format-time-string "%G-%m-%d"))
(setq ps-right-header
      (list "/pagenumberstring load"
	    'ps-time-stamp-yyyy-mm-dd-workaround))
(setq ps-multibyte-buffer 'non-latin-printer)

これでもgsが文句言うようなら... ま、その時考えましょ。:-)

P.S.
菊池> # 今日は XEmacs21.1.14 ですが、実験は Emacs21.2 で行なっています。

FLIM/1.14.4 (=?ISO-8859-1?Q?Kashiharajing=FE-mae?=)
になっとります。ひょっとして、ネットワーク越し?
-- 
toshi