1 \documentstyle[a4j]{jreport}
6 \date{\verb$Id: tm-jp.tex,v 5.5 1994/10/20 01:42:29 morioka Exp $}
15 tm ¤Ï GNU Emacs ¤Ç MIME ¤ò³Ú¤·¤à¤¿¤á¤Î package ¤Ç¤¹¡£tm ¤ò»È¤¦¤È¡¢
18 \item mime/viewer-mode ¤ò»È¤Ã¤¿ MIME message ¤Î±ÜÍ÷¡¦ºÆÀ¸
19 \item ¿¸À¸ì header ¤Î encode/decode
20 \item mh-e, GNUS, RMAIL ¤Ç¤Î MIME µ¡Ç½¤Î¶¯²½
23 \noindent ¤¬¹Ô¤Ê¤¨¤Þ¤¹¡£
28 tm ¤Ï°Ê²¼¤Î module ¤«¤é¤Ê¤ê¤Þ¤¹¡£
31 \item {\bf tiny-mime} : MIME header encoder/decoder
32 \item {\bf tm-view} : MIME viewer
33 \item {\bf tm-misc} : tm-MUA ¤Î¶¦ÄÌ module
34 \item {\bf tm-MUAs} : MUA ¤Î MIME µ¡Ç½¶¯²½ module
36 \item {\bf tm-mh-e} : mh-e ÍѤΠtm-MUA
37 \item {\bf tm-gnus} : GNUS ÍѤΠtm-MUA
38 \item {\bf tm-rmail} : RMAIL ÍѤΠtm-MUA
39 \item {\bf tm-vm} : vm ÍѤΠtm-MUA
41 \item {\bf tm-setup} tm-MUA ¤ÎÀßÄê module
42 \item {\bf mime-setup} MIME ´Ø·¸¤ÎÀßÄê module
46 \chapter{Emacs version Ê̤ε¡Ç½¤ª¤è¤ÓÀ©¸Â}
48 \section{Emacs (original)}
50 Original ¤Î Emacs ¤Ç¤Ï¡¢US-ASCII ¤È ISO-8859-1 ¤¬»È¤¨¤Þ¤¹¡£
53 \section{NEmacs, NEpoch}
55 NEmacs ¤Ç¤Ï¡¢ISO-2022-JP ¤ª¤è¤Ó US-ASCII ¤¬»È¤¨¤Þ¤¹¡£
60 ISO-2022-JP, ISO-2022-JP-2, US-ASCII, ISO-8859-1..9, ISO-2022-CN,
61 ISO-2022-KR, EUC-KR ¤Ê¤É¤Î¿¸À¸ì header ¤¬»È¤¨¤Þ¤¹¡£¤Þ¤¿¡¢´Ø¿ô
62 mime/set-charset-and-encoding ¤ÇÄɲá¦Êѹ¹¤¬¤Ç¤¤Þ¤¹¡£
65 \chapter{Install ¤ÈÀßÄê}
69 Install ¤Ï¼¡¤Î¼ê½ç¤Ç¹Ô¤Ê¤¤¤Þ¤¹¡£
72 \item Makefile ¤Î bindir ¤ò¼«Ê¬¤Î´Ä¶¤Ë¹ç¤ï¤»¤Æ½ñ¤´¹¤¨¤ë¡£
73 \item methods/ °Ê²¼¤Ë¤¢¤ë method script ¤ò \ref{sec:method} Àá¤ò»²¾È¤·
74 ¤Æ¡¢¼«Ê¬¤Î´Ä¶¤Ë¹ç¤¦¤è¤¦¤Ë½ñ¤´¹¤¨¤ë¡£
76 \item make install ¤¹¤ë¡£
77 \item *.el ¤ò Emacs ¤ÎÊÑ¿ô load-path ¤Ç»ØÄꤵ¤ì¤¿ directory ¤Ë copy ¤¹¤ë¡£
82 \item tm-mh-e3.el ¤ò byte-compile ¤¹¤ë¾ì¹ç¤Ï¡¢mh-e version 3.* ¤ò load
83 ¤·¤¿¾õÂ֤ǹԤʤäƲ¼¤µ¤¤¡£
84 \item tm-gnus3.el ¤ò byte-compile ¤¹¤ë¾ì¹ç¤Ï¡¢GNUS 3 ¤¬ load ¤µ¤ì¤¿¾õ
86 \item tl-18.el ¤ò byte-compile ¤¹¤ë¾ì¹ç¤Ï¡¢Emacs 18 ¤Ç¹Ô¤Ê¤Ã¤Æ²¼¤µ¤¤¡£
87 \item tl-orig.el ¤ò byte-compile ¤¹¤ë¾ì¹ç¤Ï¡¢original Emacs ¤Ç¹Ô¤Ê¤Ã¤Æ
89 \item tl-nemacs.el ¤ò byte-compile ¤¹¤ë¾ì¹ç¤Ï¡¢NEmacs ¤Ç¹Ô¤Ê¤Ã¤Æ²¼¤µ¤¤¡£
90 \item tl-mule.el ¤ò byte-compile ¤¹¤ë¾ì¹ç¤Ï¡¢Mule ¤Ç¹Ô¤Ê¤Ã¤Æ²¼¤µ¤¤¡£
91 \item Emacs 19 ¤Ç byte-compile ¤·¤¿ module ¤Ï Emacs 18 ¤Ç¤ÏÆ°¤¤Þ¤»¤ó¡£
97 ¤³¤Î package ¤Ë¤Ï mime-setup.el ¤È tm-setup.el ¤È¤¤¤¦´Ê°×ÀßÄê file ¤¬
98 Éí°¤·¤Æ¤¤¤Þ¤¹¡£mime-setup.el ¤Ç¤Ï encoding ¤â´Þ¤á¤¿ÀßÄê¤ò¹Ô¤Ê¤¤¡¢
99 tm-setup ¤Ç¤Ï tm-MUA ¤Ë´Ø¤¹¤ëÀßÄê¤Î¤ß¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£
101 \subsection{mime-setup}
107 \noindent ¤È¤¹¤ë¤È MIME ¤Ë´Ø¤¹¤ë³Æ¼ïÀßÄê¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£mime-setup ¤Ï
108 tm-setup ¤òÆɤó¤Ç¤¤¤ë¤Î¤Ç¡¢mime-setup ¤ò»È¤¦¾ì¹ç¡¢tm-setup ¤ò load ¤¹
111 mime-setup ¤Ç¤Ï signature ¤Î¼«Æ°ÀÚÂؤ¨ tool ¤âÉí°¤·¤Æ¤¤¤Þ¤¹¡£
112 message header ¤Î field ¤Ë¹ç¤ï¤»¤Æ signature ¤Î¼«Æ°ÀÚÂؤò¹Ô¤Ê¤¤¤¿¤¤¾ì
113 ¹ç¤Ï .emacs ¤Ë°Ê²¼¤Î¤è¤¦¤Ê¤â¤Î¤òÆþ¤ì¤Æ²¼¤µ¤¤¡£¡Ê¾Ü¤·¤¯¤Ï signature.el
114 ¤ÎÀâÌÀ½ñ¤ò»²¾È¤·¤Æ²¼¤µ¤¤¡Ë
117 (setq signature-file-alist
118 '((("Newsgroups" . "jokes") . "~/.signature-jokes")
119 (("Newsgroups" . ("zxr" "nzr")) . "~/.signature-sun")
120 (("To" . ("ishimaru" "z-suzuki")) . "~/.signature-sun")
121 (("To" . "tea") . "~/.signature-jokes")
122 (("To" . ("sim" "oku" "takuo")) . "~/.signature-formal")
126 mime-setup ¤ò»È¤¦¾ì¹ç¤Ï¡¢mime.el ¤¬É¬ÍפǤ¹¡£¤Þ¤¿¡¢SuperCite ¤ò»È¤¦¾ì
127 ¹ç¤Ï¡¢SuperCite ¤âɬÍפǤ¹¡£
130 \subsection{tm-setup}
132 tm-setup ¤Ï tm-MUA ¤ÎÀßÄê¤Î¤ß¤ò¹Ô¤Ê¤¦ module ¤Ç¤¹¡£mime-setup ¤ò load
133 ¤·¤Æ¤¤¤ë¾ì¹ç¡¢¤³¤ì¤òÍÛ¤Ë load ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¤¬¡¢mime-setup ¤ò»È
134 ¤¤¤¿¤¯¤Ê¤¤¾ì¹ç¡¢°Ê²¼¤Î¤è¤¦¤Ë¤³¤ì¤ò load ¤·¤Æ²¼¤µ¤¤¡£
143 vm ¤ò»È¤¦¾ì¹ç¤Ï .vm ¤« .emacs ¤Ë
149 \noindent ¤òÆþ¤ì¤Æ²¼¤µ¤¤¡£
152 \subsection{ÀßÄê file ¤ò»È¤ï¤Ê¤¤¾ì¹ç}
154 tm-setup.el ¤ò»²¹Í¤Ë¤·¤Æ²¼¤µ¤¤¡£
157 \subsection{MH ¤ÎÀßÄê}
159 ¤Þ¤¿¡¢MH ¤¬ MH-6.8JP2 ¤Î¾ì¹ç¡¢.mh\_profile ¤Ë
162 scan: -form scan.mime
164 repl: -form replcomps.mime
168 \noindent ¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£¤Þ¤¿¡¢¤½¤ì°Ê³°¤Î MH ¤Î½èÍý¤Ï Emacs ¤Î¦
169 ¤Ç¼è¤ê»ÅÀÚ¤ë¤Î¤Ç¡¢MH ¤ÎÀßÄê¤Ï¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
174 ``tm-MUA'' ¤È¤¤¤¦¤Î¤Ï¡¢mh-e, GNUS, RMAIL ¤Ê¤É¤Î MUA ¤Î¤¿¤á¤Î MIME µ¡Ç½
175 ¶¯²½ module ¤ÎÁí¾Î¤Ç¤¹¡£
180 \item {\bf tm-mh-e} : mh-e ÍѤΠtm-MUA
181 \item {\bf tm-gnus} : GNUS ÍѤΠtm-MUA
182 \item {\bf tm-rmail} : RMAIL ÍѤΠtm-MUA
183 \item {\bf tm-vm} : VM ÍѤΠtm-MUA
186 \noindent ¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¾Ï¤Ç¤Ï¤³¤ì¤é¤Î module ¤Ë´Ø¤·¤ÆÀâÌÀ¤·¤Þ¤¹¡£
189 \section{Summary mode}
191 tm-MUA ¤ò»È¤¦¤È¡¢¸µ¤Î MUA ¤Î Summary mode ¤ËÂФ·¤Æ°Ê²¼¤Îµ¡Ç½¤¬Äɲ䵤ì
196 \begin{tabular}{|l|l|}\hline
198 M-t & MIME header ¤Î decode ¤Ë´Ø¤¹¤ë toggle \\
199 v & ËÜʸ¤ËÆþ¤ê¡¢mime/view-mode ¤Ë°Ü¤ë \\ \hline
205 \section{mime/viewer-mode}
206 \label{sec:mime/viewer-mode}
208 tm-MUA ¤ò»È¤¦¤È¡¢Summary mode ¤Ç {\bf v} ¡Êvm ¤Ç¤Ï {\bf Z}¡Ë¤ò²¡¤¹¤³¤È
209 ¤Ë¤è¤Ã¤Æ¡¢mime/viewer-mode ¤È¤¤¤¦ MIME message ¤ò±ÜÍ÷¤¹¤ë¤¿¤á¤Î mode
210 ¤ËÆþ¤ê¤Þ¤¹¡£mime/viewer-mode ¤Ë¤Ï°Ê²¼¤Îµ¡Ç½¤¬¤¢¤ê¤Þ¤¹¡£
214 \begin{tabular}{|l|l|}\hline
216 u & ¾å¤Î content ¤ËÌá¤ë \\
217 & message ¤Î°ìÈÖ¾å¤Î content ¤Ç¤³¤ì¤ò¹Ô¤Ê¤¦¤È Summary mode
219 p & Á°¤Î content ¤Ë°ÜÆ°¤¹¤ë \\
220 n & ¼¡¤Î content ¤Ë°ÜÆ°¤¹¤ë \\
221 SPC & scroll up ¤¹¤ë \\
222 M-SPC & scroll down ¤¹¤ë \\
223 DEL & scroll down ¤¹¤ë \\
224 RET & ¼¡¤Î¹Ô¤Ë°ÜÆ°¤¹¤ë \\
225 M-RET & Á°¤Î¹Ô¤Ë°ÜÆ°¤¹¤ë \\
226 v & content ¤òºÆÀ¸¤¹¤ë (*2) \\
227 e & content ¤«¤é file ¤ò¼è¤ê½Ð¤¹ (*2) \\
228 C-c C-p & content ¤ò°õºþ¤¹¤ë (*2) \\ \hline
235 \newcounter{asteriskcount}
236 \noindent{\bf ¡ÎÃí°Õ¡Ï}
238 {\list{(*\arabic{asteriskcount})}{\usecounter{asteriskcount}\leftmargin=8ex}
239 \item tm-mh-e, tm-gnus, tm-rmail ¤Ê¤É¤Ç tm-view ¤ÎÀßÄê¤ò¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢
240 Summary mode ¤Ë¤ÏÌá¤ê¤Þ¤»¤ó¡£
241 \item ¼ÂºÝ¤ÎÆ°ºî¤ÏÂбþ¤¹¤ë method ¤Ë°Í¤ê¤Þ¤¹¡£
245 \section{tm-gnus ¤Î customize}
247 \subsection{article ¤ò save ¤¹¤ë»þ decoding ¤·¤Ê¤¤}
249 article ¤ò save ¤¹¤ë»þ¡¢Êݸ¤µ¤ì¤ë message ¤Ï¤½¤Î»þɽ¼¨¤µ¤ì¤Æ¤¤¤ë¤è¤¦
250 ¤Ë¡¢¤½¤Î»þ¤Î MIME header decoding mode ¤Ë±þ¤¸¤Æ save ¤µ¤ì¤Þ¤¹¡£
252 ¤·¤«¤·¡¢article ¤ò save ¤¹¤ë»þ¡¢¾ï¤Ë¡¢MIME header decoding ¤ò¹Ô¤Ê¤ï¤Ê
253 ¤¤¡¢À¸¤Î message ¤ÇÊݸ¤·¤¿¤¤¾ì¹ç¤Ï¡¢ÊÑ¿ô
254 tm-gnus/set-mime-header-decoding-mode ¤ÎÃͤò nil ¤Ë¤·¤Æ¡¢MIME header
255 decoding ¤ò¹Ô¤Ê¤ï¤Ê¤¤ mode ¤Ë¤·¤Æ¡¢article save ´Ø¿ô¤ò¼Â¹Ô¤¹¤ë¤è¤¦¤ËÀß
258 Save ¤Î¼Â¹Ô¸å¡¢MIME header decoding mode ¤òÁ°¤Î¾õÂÖ¤ËÌᤷ¤¿¤¤¾ì¹ç¤Ï¡¢
259 °Ê²¼¤Î¤è¤¦¤Ë¡¢°ì»þÊÑ¿ô¤Ë MIME header decoding mode ¤òÊݸ¤·¤Æ¤ª¤±¤Ð OK
263 (let ((mm mime/header-decoding-mode))
264 (tm-gnus/set-mime-header-decoding-mode nil)
266 (tm-gnus/set-mime-header-decoding-mode mm)
270 °Ê²¼¤Ë¡¢mh-e ¤Î folder ¤Ë save ¤¹¤ë¾ì¹ç¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£
273 (add-hook 'gnus-Startup-hook
276 (setq gnus-default-article-saver
280 (let ((mm mime/header-decoding-mode))
281 (tm-gnus/set-mime-header-decoding-mode nil)
282 (gnus-Subject-save-in-folder)
283 (tm-gnus/set-mime-header-decoding-mode mm)
285 (add-hook 'gnus-startup-hook
288 (setq gnus-default-article-saver
292 (let ((mm mime/header-decoding-mode))
293 (tm-gnus/set-mime-header-decoding-mode nil)
294 (gnus-summary-save-in-folder)
295 (tm-gnus/set-mime-header-decoding-mode mm)
299 \subsection{reply ¤¹¤ë»þ Subject ¤Î encoding Ë¡¤ò reply ¸µ¤Ë¹ç¤ï¤»¤ë}
301 Reply ¤¹¤ë»þ¡¢reply ¸µ¤Î Subject ¤Ë ASCII °Ê³°¤Îʸ»ú½¸¹ç¤ÎÆþ¤Ã¤Æ¤¤¤ë
302 ¾ì¹ç¡¢reply ¸µ¤¬ MIME encode ¤µ¤ì¤Æ¤¤¤¿¤é encode ¤·¡¢¤½¤¦¤Ç¤Ê¤«¤Ã¤¿¤é
303 À¸¤ÇÆþ¤ì¤¿¤¤¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤ËÀßÄꤷ¤Þ¤¹¡£
306 (add-hook 'gnus-article-prepare-hook
309 (if (mime/exist-encoded-word-in-subject)
310 (setq mime/no-encoding-header-fields '("X-Nsubject"))
311 (setq mime/no-encoding-header-fields '("X-Nsubject" "Subject"))
318 tm-view ¤Ï MIME message ¤ò±ÜÍ÷¤¹¤ë¤¿¤á¤Îµ¡Ç½¤òÄ󶡤¹¤ë module ¤Ç¤¹¡£
319 tm-view ¤Ï mime/viewer-mode ¤È¤¤¤¦ mode ¤òÄ󶡤·¤Þ¤¹¡£
321 mime/viewer-mode ¤Îµ¡Ç½¤Ë´Ø¤·¤Æ¤Ï¡¢\ref{sec:mime/viewer-mode} Àá¤ò»²¾È
324 \section{content ¤Î decode ¾ò·ï¤ÎÀßÄê}
326 ÊÑ¿ô mime/content-decoding-condition ¤Ï decode »þ¤Î method ¤ò»ØÄꤹ¤ë
327 ¤¿¤á¤ÎÊÑ¿ô¤Ç¡¢tm-view 4 ¤ÎÊÑ¿ô mime/content-decoding-method-alist ¤ËÁê
330 ÊÑ¿ô mime/content-decoding-method-alist ¤Ç¤Ï¡¢Ã±¤Ë
331 content-type/subtype ¤ËÂФ¹¤ë method ¤ò»ØÄꤹ¤ë¤³¤È¤·¤«¤Ç¤¤Þ¤»¤ó¤Ç¤·
332 ¤¿¤¬¡¢ÊÑ¿ô mime/content-decoding-condition ¤Ç¤Ï decode »þ¤ÎÀ©Ìó¾ò·ï¤ò
335 ÊÑ¿ô mime/content-decoding-condition ¤Ï¡¢
338 (¾ò·ï_1 \;\; ¾ò·ï_2 \;\; ...)
341 \noindent ¤È¤¤¤¦·Á¤ò¤·¤¿ list ¤Ç¡¢³Æ¾ò·ï¤Ï
344 ((field-type_1 \; . \; value_1) \;\;
345 (field-type_2 \; . \; value_2) \;\; ...)
348 \noindent ¤È¤¤¤¦·Á¤ÎÏ¢ÁÛ list ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
350 Î㤨¤Ð¡¢text/plain ¤Î»þ¡¢tm-plain ¤òµ¯Æ°¤¹¤ë»þ¡¢
353 ((type . "text/plain")
354 (method "tm-plain" nil 'file 'type 'encoding 'mode 'name))
357 \noindent ¤È¤¤¤¦¾ò·ï¤ò½ñ¤¤Þ¤¹¡£¸«¤Æ¤ÎÄ̤ꡢ³°Éô method ¤Î°ú¿ô¤¬½ñ¤±¤ë
358 ¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£¾Ü¤·¤¯¤Ï \ref{sec:method-arguments} Àá¤Ç½Ò¤Ù¤Þ¤¹¡£
360 ¤³¤Î¾ò·ï¤Ï text/plain ¤Ç¤¢¤ë content ¤Ê¤éÁ´¤Æ¤Î decoding-mode ¤Ç͸ú¤Ç
364 ((type . "text/plain")
365 (method "tm-plain" nil 'file 'type 'encoding 'mode 'name)
369 \noindent ¤Ê¤é¡¢play mode °Ê³°¤Ç¤Ï͸ú¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
374 ((method "metamail" t "-m" "tm" "-x" "-d" "-z" "-e" 'file)
378 \noindent ¤Ê¤é¡¢Á´¤Æ¤Î content-type ¤Î play mode ¤Ç͸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
380 ¤³¤¦¤·¤Æ³Æ¾ò·ï¤òÁ°¤«¤é¸«¤Æ¹Ô¤¡¢ºÇ½é¤Ë͸ú¤Ë¤Ê¤Ã¤¿¾ò·ï¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
383 \subsection{method ¤Î°ú¿ô¤Î»ØÄê¤Î»ÅÊý}
384 \label{sec:method-arguments}
386 ¾ò·ï¤Î method field ¤Ï
389 (method \; . \; SYMBOL)
395 (method \; ʸ»úÎó \; FLAG \; °ú¿ô_1 \; °ú¿ô_2 \; ...)
398 \noindent ¤È¤¤¤¦·Á¤ò¤·¤Æ¤¤¤Þ¤¹¡£
400 method field ¤ÎÃͤ¬ symbol ¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢ÆâÉô method ¤È¤·¤Æµ¯Æ°¤µ¤ì¤Þ
403 method field ¤ÎÃͤ¬ list ¤Ç¤¢¤ë¾ì¹ç¡¢³°Éô method ¤È¤·¤Æµ¯Æ°¤µ¤ì¤Þ¤¹¡£
408 ʸ»úÎó&:&³°Éô method ¤Î̾Á° \\
409 FLAG&:& t ¤Ê¤é content header ¤â³°Éô method ¤ËÅϤ¹¡£
410 nil ¤Ê¤é content body ¤Î¤ß¤òÅϤ¹¡£\\
411 °ú¿ôÎó&:&³°Éô method ¤Î°ú¿ô
415 \noindent ¤È²ò¼á¤µ¤ì¤Þ¤¹¡£
417 ¤Þ¤¿¡¢³°Éô method ¤Î°ú¿ô¤Ï¼¡¤Î¤è¤¦¤Ê·Á¼°¤Ç½ñ¤¤Þ¤¹¡£
421 ʸ»úÎó&:&¤½¤Îʸ»úÎó¤òÅϤ¹ \\
422 'SYMBOL&:&SYMBOL ¤ò key ¤È¤·¤¿ÃͤòÅϤ¹\\
423 'ʸ»úÎó&:&ʸ»úÎó¤ò key ¤È¤·¤¿ÃͤòÅϤ¹
427 'SYMBOL ¤Ç»ØÄê¤Ç¤¤ë¤â¤Î¤Ë¤Ï¡¢
431 'file&:&content ¤òÅϤ¹¤¿¤á¤Î file ̾ \\
432 'type&:&content-type/sub-type ̾ \\
433 'encoding&:&content-transfer-encoding \\
434 'mode&:&decoding mode \\
435 'name&:&file ¤ËÍ¾ì¹ç¤Î file ̾
439 \noindent ¤Ê¤É¤¬¤¢¤ê¡¢'ʸ»úÎó ¤Ç¤Ï Content-Type field ¤Î parameter ¤Î
445 ½é´üÃͤϰʲ¼¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
448 (defvar mime/content-decoding-condition
449 '(((type . "text/plain")
450 (method "tm-plain" nil 'file 'type 'encoding 'mode 'name))
451 ((type . "text/x-latex")
452 (method "tm-latex" nil 'file 'type 'encoding 'mode 'name))
453 ((type . "audio/basic")
454 (method "tm-au" nil 'file 'type 'encoding 'mode 'name))
455 ((type . "image/gif")
456 (method "tm-image" nil 'file 'type 'encoding 'mode 'name))
457 ((type . "image/jpeg")
458 (method "tm-image" nil 'file 'type 'encoding 'mode 'name))
459 ((type . "image/tiff")
460 (method "tm-image" nil 'file 'type 'encoding 'mode 'name))
461 ((type . "image/x-tiff")
462 (method "tm-image" nil 'file 'type 'encoding 'mode 'name))
463 ((type . "image/x-xbm")
464 (method "tm-image" nil 'file 'type 'encoding 'mode 'name))
465 ((type . "image/x-pic")
466 (method "tm-image" nil 'file 'type 'encoding 'mode 'name))
467 ((type . "video/mpeg")`
468 (method "tm-mpeg" nil 'file 'type 'encoding 'mode 'name))
469 ((type . "application/octet-stream")
470 (method "tm-file" nil 'file 'type 'encoding 'mode 'name))
471 ((type . "message/partial")
472 (method . mime/decode-message/partial-region))
473 ((method "metamail" t
474 "-m" "tm" "-x" "-d" "-z" "-e" 'file)(mode . "play"))
478 Î㤨¤Ð¡¢¡ÖÁ´Éô metamail »È¤¦¤ó¤ä¡×¤È¤¤¤¦¾ì¹ç¡¢
481 (setq mime/content-decoding-condition
483 ((method "metamail" t "-m" "tm" "-x" "-d" "-z" "-e" 'file))
487 \noindent ¤È¤¹¤ì¤Ð OK ¤Ç¤¹¡£
489 ¹©Éפ¹¤ì¤Ð¡¢¤«¤Ê¤êÊ£»¨¤Ê¾ò·ï¤¬½ñ¤±¤ë¤Ç¤·¤ç¤¦¡£
492 \section{method script}
495 ³Æ method ¤Ï shell script ¤Ç½ñ¤¤Þ¤¹¡£tm-verw.el ¤«¤éÅϤµ¤ì¤ë°ú¿ô¤Ï¡¢
496 ÊÑ¿ô mime/content-decoding-condition ¤Ç»ØÄê¤Ç¤¤Þ¤¹¤¬¡¢É¸½àŪ¤Ê°ú¿ôÎó
501 \begin{tabular}{|c|l|} \hline
502 °ú¿ô & \multicolumn{1}{|c|}{ ÃÍ }\\ \hline
503 \$1 & decode Á°¤Î file ̾ \\
504 \$2 & Content-Type (type/sub-type) \\
506 \{7bit / quoted-printable / base64 / 8bit / binary / ...\}\\
507 \$4 & decoding-mode \{play / extract / print\} \\
508 \$5 & file ̾ \\ \hline
513 ¤Þ¤¿¡¢message/partial ¤À¤±¤Ï tm-view.el ¼«¿È¤ÇÉü¸µ¤·¤Þ¤¹¡£
518 mime/viewer-mode ¤ËÆþ¤ë¤È¡¢³Æ content ¤Ï preview buffer ¤Ë
526 \noindent ¤Î¤è¤¦¤Ë²Ã¹©¤µ¤ì¤Æɽ¼¨¤µ¤ì¤Þ¤¹¡£tm-view ¤Ç¤Ï content ¤òɽ¼¨
530 \item content subject
535 \noindent ¤È¤¤¤¦£³¤Ä¤ÎÉôʬ¤Ëʬ¤±¤Æ°·¤ï¤ì¤Þ¤¹¡£
538 \subsection{content subject}
540 content subject ¤Ï preview buffer ¤Ç content ¤ÎÀèƬ¤òɽ¤¹¤¿¤á¤ÎÉôʬ¤Ç¡¢
547 \noindent ¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£cid ¤Ï message ¤ÎÃæ¤Ç¤Î content ¤Î°ÌÃÖ
548 ¤òɽ¤¹¤â¤Î¤Ç¡¢ÀáÈÖ¹æ¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¹¡£Âê̾¤Ï¡¢Subject ¤ä
549 Content-Description ¤Ê¤É¤Ë½ñ¤«¤ì¤¿Ê¸»úÎ󤫤éºî¤é¤ì¤Þ¤¹¡£·¿¤Ï
550 Content-Type ¤Ë½ñ¤«¤ì¤¿ type/subtype ¤Î¤³¤È¤Ç¤¹¡£
552 ¤³¤Î content subject ¤Îɽ¼¨¤ÏÊÑ¿ô mime/make-content-subject-function
553 ¤Ë¤è¤Ã¤ÆÀßÄê¤Ç¤¤Þ¤¹¡£´ûÄêÃͤϡ¢
556 (defvar mime/make-content-subject-function
558 (lambda (cid subj ctype)
560 (format "[%s %s (%s)]\n"
564 (format "%s" (+ num 1))
572 \noindent ¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢Î㤨¤Ð¡¢
575 (setq mime/make-content-subject-function
577 (lambda (cid subj ctype)
578 (if (not (member (car ctype) mime/default-showing-Content-Type-list))
580 (format "[%s %s (%s)]\n"
584 (format "%s" (+ num 1))
592 \noindent ¤È¤¹¤ì¤Ð±£¤µ¤ì¤¿ content ¤À¤± content subject ¤òɽ¼¨¤¹¤ë¤è¤¦
596 \subsection{content header}
598 content header ¤Ï preview buffer ¤Ç content header ¤òɽ¼¨¤¹¤ë¤¿¤á¤ÎÉô
599 ʬ¤Ç¤¹¡£É¸½à¤Ç¤Ï¶õ¹Ô¤Ë¤Ê¤ê¤Þ¤¹¡£
601 ¤³¤Î content header ¤Îɽ¼¨¤ÏÊÑ¿ô mime/make-content-header-filter ¤Ë¤è¤Ã
602 ¤ÆÀßÄê¤Ç¤¤Þ¤¹¡£´ûÄêÃͤϡ¢
605 (defvar mime/make-content-header-filter
609 (delete-region (goto-char (point-min))
610 (or (and (re-search-forward "^$" nil t)
618 \noindent ¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢content header ¤ò body ¤È¤Î¶¤Î¶õ¹Ô¤Þ¤Çºï½ü¤¹
619 ¤ë¤È¤¤¤¦É÷¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£Î㤨¤Ð¡¢
622 (setq mime/make-content-header-filter
628 \noindent ¤È¤¹¤ì¤Ð¡¢Á´¤Æ¤Î content header field ¤òɽ¼¨¤Ç¤¤Þ¤¹¡£
631 \subsection{content body}
633 preview buffer ¤Ë content body ¤òɽ¼¨¤¹¤ëºÝ¡¢content-type Ëè¤Ë
640 \noindent ¤È¤¤¤¦½èÍý¤¬¹Ô¤Ê¤ï¤ì¤Þ¤¹¡£
642 ±£ÊäÏÈó text part ¤ò±£¤¹¤¿¤á¤Î½èÍý¤Ç¡¢ÊÑ¿ô
643 mime/default-showing-Content-Type-list ¤ËÀßÄꤵ¤ì¤¿ content-type °Ê³°
644 ¤Î content ¤¬±£Ê䵤ì¤Þ¤¹¡£¤³¤ÎÊÑ¿ô¤Î´ûÄêÃͤϡ¢
647 (defvar mime/default-showing-Content-Type-list
648 '("text/plain" "text/richtext" "text/enriched" "text/x-latex" nil))
651 \noindent ¤Ç¡¢text/plain, text/richtext, text/enriched, text/x-latex,
652 µÚ¤Ó¡¢Èó MIME content ¤Î¤ß¤¬É½¼¨¤µ¤ì¡¢¤½¤ì°Ê³°¤Ï¡¢±£Ê䵤ì¤Þ¤¹¡£
654 ±£Ê䵤ì¤Ê¤«¤Ã¤¿ content ¤ËÂФ·¤Æ¡¢²Ã¹©½èÍý¤¬¹Ô¤Ê¤ï¤ì¤Þ¤¹¡£¤½¤Î
655 content ¤Î content-type ¤ò key ¤Ë¤·¤ÆÊÑ¿ô mime/content-filter-alist ¤ò
656 °ú¤¡¢¤½¤ÎÃÍÉô¤Ë½ñ¤«¤ì¤¿´Ø¿ô¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
658 ÊÑ¿ô mime/content-filter-alist ¤Î´ûÄêÃÍ¤Ï nil ¤Ç¤¹¤¬¡¢tm-rich.el ¤ò
662 (aput 'mime/content-filter-alist
663 "text/enriched" (function mime/decode-text/enriched-body))
666 \noindent ¤Î¤è¤¦¤Ë text/enriched ¤ËÂФ¹¤ë²Ã¹©½èÍý¤¬ÀßÄꤵ¤ì¤Þ¤¹¡£
671 Éí°¤Î BASE64 decoder ¤Ç¤¢¤ë decode-b.c ¤Ï¤¤¤¤²Ã¸º¤Êºî¤ê¤Ê¤Î¤Ç¡¢Æ°¤«¤Ê
672 ¤«¤Ã¤¿¤é¡¢Ã»¤¤¥×¥í¥°¥é¥à¤Ê¤Î¤Ç¡¢°Õ¤òµâ¤ó¤Ç½¤Àµ¤·¤Æ²¼¤µ¤¤¡£
675 ¤Þ¤¿¡¢metamail Éí°¤Î mmencode ¤ò»È¤Ã¤Æ decode ¤·¤Æ¤âÎɤ¤¤Ç¤·¤ç¤¦¡£
677 ¤Þ¤¿¡¢Quoted-Printable ¤Î decoder ¤ÏÉí°¤·¤Þ¤»¤ó¤Î¤Ç¡¢mmencode ¤ò»È¤Ã
683 tiny-mime ¤Ï Mule, NEmacs, NEpoch ¾å¤ÇÆ°ºî¤¹¤ë MIME header ¤Î
684 encoder/decoder ¤Ç¤¹¡£tiny-mime ¤Ï¡¢ÀΡ¢¤¨¤Ê¤ß ¤Ä¤°¤È¤â ¤µ¤ó¤¬
685 fj.editor.emacs ¤ËÅê¹Æ¤µ¤ì¤¿ ISO-2022-JP MIME header decoder ¤ò¸µ¤Ë¤·
688 ¸½ºß¤Ç¤Ï¡¢Åö»þ¤Î¤â¤Î¤ËÈæ¤Ù¡¢
691 \item decoding »þ¤Ë¤ª¤±¤ë unfolding µ¡Ç½¤ÎÄɲÃ
692 \item ISO-2022-JP ¤Ë²Ã¤¨¡¢ISO-2022-KR, ISO-8859-*, US-ASCII ¤Ê¤É¤Î¿¸À
693 ¸ì header ¤Î encode/decode µ¡Ç½¤ÎÄɲÃ
694 \item Q-encoding ¤ÎÄɲÃ
695 \item RFC 1522 ¤Ø¤ÎÂбþ
698 \noindent ¤È¤¤¤Ã¤¿µ¡Ç½¶¯²½¤¬¹Ô¤Ê¤ï¤ì¤Æ¤¤¤Þ¤¹¡£
700 tiny-mime ¤Ï tm ¤Ë¤ª¤±¤ë MIME header encoder/decoder ¤Ç¤¢¤ê¡¢tm-view,
701 tm-MUA ¤¬¤³¤ì¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£
704 \section{mime/decode-message-header}
706 {\tt mime/decode-message-header} ¤Ï MIME header ¤ò decode ¤¹¤ë¤¿¤á¤ÎÌ¿
707 Îá¤Ç¤¹¡£tiny-mime ¤¬ load ¤µ¤ì¤Æ¤¤¤ë¾õÂ֤ǡ¢decode ¤·¤¿¤¤ buffer ¤Î¾å
710 {\list{}{\leftmargin=8ex}\item[]
712 M-x {\tt mime/decode-message-header}
715 \noindent ¤ò¼Â¹Ô¤¹¤ë¤È¡¢¤½¤Î buffer ¾å¤Î MIME header ¤¬ decode ¤µ¤ì¤Þ
718 tm-MUA ¤ä tm-view ¤Ï¤³¤ÎÌ¿Îá¤ò¸Æ¤ó¤Ç¤¤¤ë¤Î¤Ç¡¢¤³¤ì¤é¤òÍøÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢
719 Íۤˤ³¤ÎÌ¿Îá¤ò¼Â¹Ô¤¹¤ëɬÍפÏ̵¤¤¤Ç¤·¤ç¤¦¡£
722 \section{mime/decode-region}
726 {\list{}{\leftmargin=8ex}\item[]
728 M-x {\tt mime/decode-region}
731 \noindent ¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¡¢°úÍÑ¤Ê¤É¤Ç buffer ¤Ë»Ä¤Ã¤¿ MIME header ¤ò
735 \chapter{¥Ð¥°Êó¹ð¤Î»ÅÊý}
737 tm ¤Î¥Ð¥°¤ò¸«¤Ä¤±¤¿¤é fj.editor.emacs ¤Ë post ¤¹¤ë¤«¡¢tm ML
738 $<$tm@chamonix.jaist.ac.jp$>$ ¤Ë mail ¤òÁ÷¤Ã¤Æ²¼¤µ¤¤¡£
740 tm ML ¤Ç¤Ï tm ¤Î¥Ð¥°¾ðÊó¤Î¸ò´¹¤äºÇ¿·ÈǤÎÇÛÉÛ¡¢tm ¤Î²þÎɤ˴ؤ¹¤ëµÄÏÀ¤ò
741 ¹Ô¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£tm ML ¤Ë»²²Ã¤·¤¿¤¤Êý¤Ï
744 tm-admin@chamonix.jaist.ac.jp
747 \noindent ¤Þ¤Ç mail ¤òÁ÷¤Ã¤Æ²¼¤µ¤¤¡£ÅÐÏ¿¤Ï¼êÆ°¤Ç¤¹¤Î¤Ç¡¢¤Ç¤¤ì¤Ð¡¢¼«Á³
748 ¸À¸ì¤Ç½ñ¤¤¤Æ²¼¤µ¤¤¡£(\verb+^+\_\verb+^+)