[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

mew-mime-content-type for DDTP (Re: DDTPの文字コードについて)



いのうえ@京都です。
半可通で申し訳ありませんでした m(__)m

>>>>  At Tue, 6 May 2003 00:51:36 +0900 [ML Count: 03124],
>>>>  Tatsuya Kinoshita さん <tats@xxxxxxxxxxxxxx> wrote:

| それだとEmacsenを終了せずにMewを再起動すると、同じ項目が増えていっ
| てしまいます。次のようにしてはどうでしょうか。
| 
| (add-to-list 'mew-mime-content-type
|            '("Application/Debian-Dt" "\\.ddtp$"
|              mew-b64 mew-prog-octet-stream mew-icon-application/octet-stream))

フォローありがとうございます。勉強になりました。

勉強ついでに (あるいは失地回復を期して? ^^;),この件でもう
ちょっとがんばってみました。

上記の設定には,CT: Application/Debian-Dt なパートが mew からは
BINARY に見えてしまうという問題があります。また上記設定をして
いない状態でも,日本語を表示するためには C-c C-l RET で文字セット
を検知させ直すことが必要かと思います (というのが勘違いだったら
以下は恥の上塗りかも ;_;)。

そこで,以下のようにしてみました:

(defun mew-mime-application/debian-dt (cache begin end &optional params)
;; almost the same as mew-mime-text/plain-ext, except that this function
;; ignores "charset" parameter at all, which is presumably appended by pdesc.
  (when (> end begin)
    (set-buffer (mew-buffer-message))
    (mew-elet
     (mew-erase-buffer)
     (insert
      (save-excursion (set-buffer cache) (buffer-substring begin end)))
;     ;; If the "charset" parameter exists, this text is already decoded.
;     (unless (or mew-decode-broken
;                (mew-charset-to-cs (mew-syntax-get-param params "charset")))
;       (mew-cs-decode-region (point-min) (point-max) mew-cs-autoconv))
     ;; ignore any existing "charset" parameter
     (mew-cs-decode-region (point-min) (point-max) mew-cs-autoconv)
     (when mew-insert-final-newline
       (save-excursion
         (goto-char (point-max))
         (if (not (bolp)) (insert "\n"))))
     ;; Page breaks
     (when mew-break-pages
       (goto-char (point-min))
       (mew-message-narrow-to-page))
     (mew-summary-display-postscript 'nohook))))
(defvar mew-prog-ddt 'mew-mime-application/debian-dt)
(add-to-list 'mew-mime-content-type
             '("Application/Debian-Dt" "\\.ddtp$"
               mew-b64 mew-prog-ddt mew-icon-text))

ad hoc すぎて site-start.d なんかには使えないと思いますが,いちおう:

  1. CT: Application/Debian-Dt な日本語パートを一発で表示
  2. (language-env で default が euc-jp になっていることを前提に)
     添付時は euc-jp でエンコード

いずれもうまくいけそうです。


--
井上 博之 / INOUE Hiroyuki
E-Mail: dombly@xxxxxxxxxxxxxxxx
PGP Fingerprint: CAF3 05AB B2C6 0869 2876  1F68 3C49 F871 BC66 3D8D
...................................................................
:Clinton Steve Case Firewalls Vickie Weaver undercover David John
:Oates BATF infowar csystems Arnett CISU USCOI advisors cybercash
:(Cf. http://www.gnu.org/manual/emacs/html_chapter/emacs_29.html#SEC372)