-*-tiny-mime manual-*-
tiny-mime manual

tm における MIME header の encoder/decoder である tiny-mime について説明します。

tiny-mime とは

tiny-mime は tm における MIME header (RFC 1522) の encoder/decoder です。

オリジナルは、昔、えなみ つぐとも さんが fj.editor.emacs に投稿された MIME message header の decoder です。

現在では、当時のものに比べ、unfolding 機能や、Mule における多言語文字列のサポート、B-encoding に加え Q-encoding のサポートなどの拡張がなされています。

tiny-mime のサポートする charset

original GNU Emacs 18

動作は保証しません。しかしながら、US-ASCII の範囲では動作すると思われます。（あまり意味がないかも知れませんが）

NEmacs, NEpoch

ISO-2022-JP, US-ASCII の encoding/decoding をサポートします。

また、ISO-8859-*であっても、encoded-text に含まれる文字列が実際には ASCII で表せる範囲なら表示します。

original GNU Emacs 19

US-ASCII および ISO-8859-1 の encoding/decoding をサポートします。

Mule

ISO-2022-JP, US-ASCII, ISO-8859-1..9, ISO-2022-CN, ISO-2022-KR, EUC-KR などの encoding/decoding をサポートします。また、関数 mime/set-charset-and-encoding で追加・変更ができます。 (see Customize-for-charset)

tiny-mime の簡単な使い方

decode

tiny-mime.el を load して、decode したい buffer 上で、

             M-x mime/decode-message-header

を実行します。

また、decode したい region を

     	M-x mime/decode-region

で decode することができます。引用などで body-part に残った encoded-word を decode するのに便利でしょう。

encode

tiny-mime.el を load して、encode したい buffer 上で、

     	M-x mime/encode-message-header

を実行します。

tiny-mime の変数

Variable mime/no-encoding-header-fields

tiny-mime.el で encode しない message header の field を指定します。

default では X-Nsubject が指定されています。

例： X-Nsubject と Subject を encode しないようにする。

     (setq mime/no-encoding-header-fields '("X-Nsubject" "Subject"))

［注意］ mime.el と併用する場合、tiny-mime.el が encode しなくても、 mime.el が encode するので、mime.el の message header encoder が働かないようにに設定します。

Variable mime/use-X-Nsubject

この変数の値が t の場合、message header を encode する時、encode した結果、Subject に encoded-word が含まれる場合、Subject を decode したものを入れた X-Nsubject を作成します。

default では nil が指定されています。

［注意］Mule で ISO-2022-JP に含まれるもの以外の文字集合を使う場合は、これを指定しない方が賢明です。

カスタマイズ

charset の追加・変更

Mule では、関数 mime/set-charset-and-encoding で、charset の追加・変更ができます。

Function mime/set-charset-and-encoding LC CS CHARSET ENCODING

LC
     charset に対応する leading-char を指定する。

CS
     charset に対応する coding-system を指定する。1 octet 文字集合で coding-system を作らない場合は、nil を指定する。

CHARSET
     MIME の charset.

ENCODING
     encode する際の encoding.