* sasl.texi: Texinfo markup fixes. From Jesper Harder
[elisp/flim.git] / mime-ja.texi
1 \input texinfo.tex
2 @c Generated automatically from mime-ja.sgml by sinfo 3.7.
3 @setfilename mime-ja.info
4 @settitle{FLIM 1.14 MIME \e$B5!G=@bL@=q\e(B}
5 @titlepage
6 @title FLIM 1.14 MIME \e$B5!G=@bL@=q\e(B
7 @author \e$B<i2,\e(B \e$BCNI'\e(B <morioka@@jaist.ac.jp>
8 @subtitle 1999-01-27
9 @end titlepage
10 @node Top, Introduction, (dir), (dir)
11 @top FLIM 1.14 MIME \e$B5!G=@bL@=q\e(B
12
13 @ifinfo
14
15 This file documents MIME features of FLIM, a fundamental library to
16 process Internet Messages for GNU Emacsen.@refill
17
18 GNU Emacsen \e$BMQ$N\e(B Internet Message \e$B=hM}$N$?$a$N4pAC\e(B library \e$B$G$"$k\e(B FLIM 
19 \e$B$N\e(B MIME \e$B5!G=$K4X$7$F@bL@$7$^$9!#\e(B
20 @end ifinfo
21
22 @menu
23 * Introduction::                FLIM \e$B$C$F2?!)\e(B
24 * How to use::                  FLIM \e$B$N\e(B MIME \e$B5!G=$N;H$$J}\e(B
25 * Entity::                      Message \e$B$H\e(B Entity
26 * Content-Type::                Content-Type \e$BMs$N>pJs\e(B
27 * Content-Disposition::         Content-Disposition \e$BMs$N>pJs\e(B
28 * Content-Transfer-Encoding::   \e$BId9f2=K!\e(B
29 * encoded-word::                Header \e$B$N\e(B network \e$BI=8=\e(B
30 * custom::                      \e$B0lHL@_Dj\e(B
31 * Appendix::                    \e$BIUO?\e(B
32 * Concept Index::               \e$B35G0:w0z\e(B
33 * Function Index::              \e$B4X?t:w0z\e(B
34 * Variable Index::              \e$BJQ?t:w0z\e(B
35 @end menu
36
37 @node Introduction, How to use, Top, Top
38 @chapter FLIM \e$B$C$F2?!)\e(B
39
40 FLIM \e$B$O\e(B Internet Message \e$B$NI=8=$dId9f2=$K4X$9$k4pACE*$J5!G=$rDs6!$9$k\e(B
41 \e$B$?$a$N\e(B library \e$B$G$9!#\e(B
42
43
44 @node How to use, Entity, Introduction, Top
45 @chapter FLIM \e$B$N\e(B MIME \e$B5!G=$N;H$$J}\e(B
46
47 FLIM \e$B$NDs6!$9$k\e(B MIME \e$B5!G=$r;H$&$?$a$K$O\e(B
48
49 @lisp
50 (require 'mime)
51 @end lisp
52
53 @noindent
54 \e$B$rI>2A$7$F$/$@$5$$!#\e(B
55
56
57 @node Entity, Content-Type, How to use, Top
58 @chapter Message \e$B$H\e(B Entity
59 @cindex mime-entity
60 @cindex entity
61
62 RFC 2045 (@ref{RFC 2045}) \e$B$K$h$l$P!"!V\e(BEntity \e$B$H$$$&8l$O!"\e(Bmessage, \e$B$b$7$/\e(B
63 \e$B$O!"\e(Bmultipart entity \e$B$N\e(B body \e$BCf$N#1$D$NItJ,$N!"\e(BMIME \e$B$GDj5A$5$l$?\e(B header
64 field \e$B$HFbMF$r;X$9!W$H$J$C$F$$$^$9!#$3$3$G$O!"\e(BMIME \e$B$GDj5A$5$l$?\e(B header
65 field \e$B0J30$NA4$F$N\e(B header \e$B$H\e(B body \e$B$r;X$98l$H$7$F\e(B @strong{entity}\e$B$rMQ$$$k\e(B
66 \e$B$3$H$K$7$^$9!#\e(B@refill
67
68 RFC 2045 \e$B$NDj5A$O!"\e(BMIME message \e$B$,\e(B entity \e$B$r@a$H$9$kLZ9=B$$G$"$k$3$H$r<(\e(B
69 \e$B$7$F$$$^$9!#$D$^$j!"\e(BMIME \e$B$O\e(B message \e$B$rLZ9=B$$K3HD%$7$?Lu$G$9!#\e(B@refill
70
71 FLIM \e$B$O\e(B entity \e$B$N>pJs$rI=8=$9$k$?$a$K\e(B@strong{mime-entity} \e$B9=\e(B
72 \e$BB$BN$rMQ$$$^$9!#0J2<$G$OC1$K\e(B mime-entity \e$B$H8F$V$3$H$K$7$^$9!#\e(B
73
74
75 @menu
76 * Entity creation::             Entity \e$B$N@8@.\e(B
77 * Entity hierarchy::            Entity \e$B3,AX\e(B
78 * Entity Search::               Entity \e$B$N8!:w\e(B
79 * Entity Attributes::           Entity \e$B$NB0@-\e(B
80 * Entity-header::               Entity header \e$B$N>pJs\e(B
81 * entity formatting::           Entity \e$B$NJ8;zI=8=\e(B
82 * Entity-content::              Entity \e$B$NFbMF\e(B
83 * Entity-network-representation::  Entity \e$B$N%M%C%H%o!<%/I=8=\e(B
84 * Entity buffer::               Entity \e$B$N\e(B buffer \e$B$K$h$kI=8=\e(B
85 * mm-backend::                  Entity \e$B$NI=8=$H<B8=\e(B
86 @end menu
87
88 @node Entity creation, Entity hierarchy, Entity, Entity
89 @section Entity \e$B$N@8@.\e(B
90
91 @defun mime-open-entity type location
92
93 Entity \e$B$r3+$$$F!"$=$l$rJV$7$^$9!#\e(B@refill
94
95 @var{type} \e$B$O\e(B representation-type \e$B$G$9!#\e(B(cf. @ref{mm-backend}) @refill
96
97 @var{location} \e$B$O\e(B entity \e$B$N0LCV$G$9!#;XDjJ}K!$O\e(B
98 representation-type \e$B$K0M$C$FJQ$o$j$^$9!#\e(B
99 @end defun
100
101
102 @defun mime-parse-buffer &optional  buffer type
103
104 @var{buffer} \e$B$r\e(B message \e$B$H$7$F9=J82r@O$7!"$=$N7k2L$N\e(B mime-entity \e$B$r\e(B 
105 @var{buffer} \e$B$N\e(B@code{mime-message-structure} \e$B$K3JG<$9$k!#\e(B@refill
106
107 @var{buffer} \e$B$,>JN,$5$l$?>l9g!"8=:_$N\e(B buffer \e$B$r9=J82r@O$9$k!#\e(B@refill
108
109 @var{type} \e$B$,;XDj$5$l$?>l9g!"$=$NCM$r@8@.$5$l$k\e(B mime-entity \e$B$NI=>]7?$H$7\e(B
110 \e$B$FMQ$$$k!#>JN,$5$l$?>l9g$O\e(B @var{buffer} \e$B$H$J$k!#\e(B(cf. @ref{mm-backend})
111 @end defun
112
113
114
115 @node Entity hierarchy, Entity Search, Entity creation, Entity
116 @section Entity \e$B3,AX\e(B
117 @cindex node-id
118 @cindex entity-number
119 @cindex message
120 @cindex root-entity
121
122 MIME message \e$B$O\e(B entity \e$B$rC10L$H$9$kLZ9=B$$K$J$C$F$$$^$9!#\e(B@refill
123
124 \e$B$3$NLZ$K$*$$$F:,$H$J$k@a$O\e(B message \e$BA4BN$rI=$9\e(B entity \e$B$G$9!#$3$3$G$O!"$3\e(B
125 \e$B$l$r\e(B @strong{root-entity} \e$B$b$7$/$O\e(B@strong{message} \e$B$H8F$S$^$9!#\e(B@refill
126
127 root-entity \e$B0J30$N\e(B entity \e$B$O?F$r;}$A$^$9!#$^$?!"\e(Bentity \e$B$O;R6!$r;}$D$+$b\e(B
128 \e$BCN$l$^$;$s!#$3$N?F;R4X78$r9M$($k$3$H$G\e(B entity \e$B$NAjBP4X78$r07$&$3$H$,$G$-\e(B
129 \e$B$^$9!#\e(B@refill
130
131 \e$B0lJ}!"\e(Bentity \e$B$N\e(B message \e$B$K$*$1$k0LCV$r9M$($k$3$H$b$G$-$^$9!#\e(B@refill
132
133 entity \e$B$O$3$NLZ$K$*$1$k@a$H$J$j$^$9$,!"$3$NLZ$K$O?<$5$HF1$8?<$5$NCf$N\e(B
134 \e$B=gHV$K=>$C$FHV9f$,IU$1$k$3$H$,$G$-$^$9!#B($A!"\e(B
135 @example
136
137                               \e$B(#(!(!(!($\e(B
138                               \e$B("\e(B  nil \e$B("\e(B
139                               \e$B(&(!(((!(%\e(B
140               \e$B(#(!(!(!(!(!(!(!(!(!(+(!(!(!(!(!(!(!(!(!($\e(B
141             \e$B(#(*($\e(B              \e$B(#(*($\e(B              \e$B(#(*($\e(B
142             \e$B("#0("\e(B              \e$B("#1("\e(B              \e$B("#2("\e(B
143             \e$B(&(((%\e(B              \e$B(&(((%\e(B              \e$B(&(((%\e(B
144               \e$B("\e(B        \e$B(#(!(!(!(!(+(!(!(!(!($\e(B        \e$B("\e(B
145           \e$B(#(!(*(!($(#(!(*(!($(#(!(*(!($(#(!(*(!($(#(!(*(!($\e(B
146           \e$B("\e(B \e$B#0\e(B.\e$B#0("("\e(B \e$B#1\e(B.\e$B#0("("\e(B \e$B#1\e(B.\e$B#1("("\e(B \e$B#1\e(B.\e$B#2("("\e(B \e$B#2\e(B.\e$B#0("\e(B
147           \e$B(&(!(!(!(%(&(!(!(!(%(&(!(!(!(%(&(!(!(!(%(&(!(!(!(%\e(B
148 @end example
149
150 @noindent
151 \e$B$N$h$&$K?<$5\e(B n \e$B$N@a$K$OD9$5\e(B n \e$B$N@0?tNs$N@aHV9f$,?6$l$^$9!#$3$l\e(B
152 \e$B$r\e(B @strong{entity-number} \e$B$H8F$S$^$9!#\e(Bentity-number \e$B$O\e(B S \e$B<0$H\e(B
153 \e$B$7$F$O\e(B @code{(1 2 3)} \e$B$N$h$&$J@0?t$N%j%9%H$H$7$FI=8=$5$l$^$9!#\e(B
154
155 mime-entity \e$B$G$O!"$3$l$HF1MM$N\e(B @strong{node-id} \e$B$rMQ$$$^$9!#\e(Bnode-id \e$B$O$A$g\e(B
156 \e$B$&$I\e(B entity-number \e$B$r5U$K$7$?%j%9%H$G!"\e(Bentity-number 1.2.3 \e$B$KBP1~$9$k\e(B 
157 node-id \e$B$O\e(B @code{(3 2 1)} \e$B$G$9!#\e(B@refill
158
159 \e$BA0=R$N$h$&$K!"\e(BMIME message \e$B$O\e(B entity \e$B$rC10L$H$7$?LZ9=B$$K$J$C$F$$$k$N$G!"\e(B
160 \e$B$3$N:,$G$"$k\e(B message \e$BA4BN$b\e(B mime-entity \e$B$GI=8=$9$k$3$H$,$G$-!"\e(Bbuffer
161 local \e$BJQ?t\e(B @code{mime-message-structure} \e$B$K3JG<$9$k$3$H$K$7$^$9!#\e(B@refill
162
163 @code{mime-message-structure} \e$B$r5/E@$K\e(B entity-number \e$B$d\e(B node-id 
164 \e$B$G<($5$l$k\e(B entity \e$B$r<h$j=P$9$3$H$,$G$-$^$9!#\e(B
165
166 @defvar mime-message-structure
167
168 \e$B8=:_$N\e(B buffer \e$B$K$*$1$k\e(B message \e$BA4BN$N\e(B mime-entity \e$B9=B$BN$r3JG<$9$k\e(Bbuffer
169 local \e$BJQ?t!#\e(B
170 @end defvar
171
172
173 @defun mime-entity-children entity
174
175 @var{entity} \e$B$K4^$^$l$k\e(B entity \e$B$N\e(B list \e$B$rJV$9!#\e(B
176 @end defun
177
178
179 @defun mime-entity-parent entity  &optional  message
180
181 @var{entity} \e$B$N?F$N\e(B entity \e$B$rJV$9!#\e(B@refill
182
183 @var{message} \e$B$,;XDj$5$l$?>l9g!"$3$l$r:,$H8+Jo$9!#\e(B
184 @end defun
185
186
187 @defun mime-root-entity-p entity
188
189 @var{entity} \e$B$,:,!JB($A!"\e(Bmessage \e$BA4BN!K$G$"$k>l9g$K!"Hs\e(B-@code{nil} \e$B$rJV\e(B
190 \e$B$9!#\e(B
191 @end defun
192
193
194 @defun mime-entity-node-id entity
195
196 @var{entity} \e$B$N\e(B node-id \e$B$rJV$9!#\e(B
197 @end defun
198
199
200 @defun mime-entity-number entity
201
202 @var{entity} \e$B$N\e(B entity-number \e$B$rJV$9!#\e(B
203 @end defun
204
205
206
207 @node Entity Search, Entity Attributes, Entity hierarchy, Entity
208 @section Entity \e$B$N8!:w\e(B
209
210 @defun mime-find-entity-from-number entity-number  &optional  message
211
212 @var{message} \e$B$+$i!"\e(B@var{enity-number} \e$B$N\e(B entity \e$B$rJV$7$^$9!#\e(B@refill
213
214 @var{message} \e$B$,;XDj$5$l$F$$$J$$>l9g$O!"\e(B
215 @code{mime-message-structrue} \e$B$,;H$o$l$^$9!#\e(B
216 @end defun
217
218
219 @defun mime-find-entity-from-node-id entity-node-id  &optional  message
220
221 @var{message} \e$B$+$i!"\e(B@var{entity-node-id} \e$B$N\e(B entity \e$B$rJV$7$^$9!#\e(B@refill
222
223 @var{message} \e$B$,;XDj$5$l$F$$$J$$>l9g$O!"\e(B
224 @code{mime-message-structure} \e$B$,;H$o$l$^$9!#\e(B
225 @end defun
226
227
228 @defun mime-find-entity-from-content-id cid  &optional  message
229
230 @var{message} \e$B$+$i!"\e(B@var{cid} \e$B$N\e(B entity \e$B$rJV$7$^$9!#\e(B@refill
231
232 @var{message} \e$B$,;XDj$5$l$F$$$J$$>l9g$O!"\e(B
233 @code{mime-message-structure} \e$B$,;H$o$l$^$9!#\e(B
234 @end defun
235
236
237
238 @node Entity Attributes, Entity-header, Entity Search, Entity
239 @section Entity \e$B$NB0@-\e(B
240
241 @defun mime-entity-content-type entity
242
243 @var{entity} \e$B$N\e(B content-type \e$B$rJV$9!#\e(B(cf. @ref{mime-content-type})
244 @end defun
245
246
247 @defun mime-entity-content-disposition entity
248
249 @var{entity} \e$B$N\e(B content-disposition \e$B$rJV$9!#\e(B
250 (cf. @ref{mime-content-disposition})
251 @end defun
252
253
254 @defun mime-entity-filename entity
255
256 @var{entity} \e$B$N\e(B file \e$BL>$rJV$9!#\e(B
257 @end defun
258
259
260 @defun mime-entity-encoding entity  &optional  default-encoding
261
262 @var{entity} \e$B$N\e(B content-transfer-encoding \e$B$rJV$9!#\e(B
263 (cf. @ref{Content-Transfer-Encoding}) @refill
264
265 \e$B$b$7!"\e(B@var{entity} \e$B$K\e(B Content-Transfer-Encoding \e$BMs$,B8:_$7$J$$>l9g$O!"\e(B
266 @var{default-encoding} \e$B$rJV$9!#$3$l$,;XDj$5$l$J$$>l9g$O!"\e(B@code{"7bit"} 
267 \e$B$rMQ$$$k!#\e(B
268 @end defun
269
270
271 @defun mime-entity-cooked-p entity
272
273 @var{entity} \e$B$NFbMF$,4{$K%3!<%IJQ49$5$l$F$$$k>l9g$O\e(B nil \e$B$GL5$$CM\e(B
274 \e$B$rJV$9!#\e(B
275 @end defun
276
277
278
279 @node Entity-header, entity formatting, Entity Attributes, Entity
280 @section Entity header \e$B$N>pJs\e(B
281
282 @defun mime-fetch-field field-name  &optional  entity
283
284 @var{entity} \e$B$N\e(B header \e$BCf$N\e(B @var{field-name} \e$BMs$N\e(B body \e$B$rJV$9!#\e(B@refill
285
286 \e$B7k2L$NJ8;zNs$O\e(B network \e$BI=8=$N$^$^$G$"$k!#\e(B@refill
287
288 @var{entity} \e$B$,>JN,$5$l$?>l9g$O!"\e(B@code{mime-message-structure} \e$B$NCM$rMQ\e(B
289 \e$B$$$k!#\e(B@refill
290
291 @var{field-name} \e$BMs$,B8:_$7$J$$>l9g$O\e(B @code{nil} \e$B$rJV$9!#\e(B
292 @end defun
293
294
295 @defun mime-read-field field-name  &optional  entity
296
297 @var{entity} \e$B$N\e(B header \e$BCf$N\e(B @var{field-name} \e$BMs$r9=J82r@O$7$?7k2L$rJV$9!#\e(B
298 @refill
299
300 \e$B7k2L$N7A<0$OMsKh$K0[$J$k!#Hs9=B$2=Ms$N>l9g$OJ8;zNs$rJV$7!"9=B$2=Ms$N>l9g\e(B
301 \e$B$O$=$N7A<0$K=>$C$?\e(B list \e$B$rJV$9!#\e(B@refill
302
303 \e$B7k2LCf$NJ8;zNs$O\e(B Emacs \e$B$NFbItI=8=$KJQ49$5$l$k!#\e(B@refill
304
305 @var{entity} \e$B$,>JN,$5$l$?>l9g$O!"\e(B@code{mime-message-structure} \e$B$NCM$rMQ\e(B
306 \e$B$$$k!#\e(B@refill
307
308 @var{field-name} \e$BMs$,B8:_$7$J$$>l9g$O\e(B nil \e$B$rJV$9!#\e(B
309 @end defun
310
311
312
313 @node entity formatting, Entity-content, Entity-header, Entity
314 @section Entity \e$B$NJ8;zI=8=\e(B
315
316 @defun mime-insert-header entity  &optional  invisible-fields visible-fields
317
318 \e$B8=:_0LCV$K\e(B @var{entity} \e$B$NI|9f$7$?\e(B header \e$B$rA^F~$9$k!#\e(B@refill
319
320 @var{invisible-fields} \e$B$H\e(B @var{visible-fields} \e$B$O@55,I=8=$N\e(Blist \e$B$G!"$=$l\e(B
321 \e$B$>$l!"I=<($7$?$/$J$$\e(B field \e$BL>$HI=<($7$?$$MsL>$rI=8=$7$?$b$N$G$"$k!#\e(B
322 @refill
323
324 @var{invisible-fields} \e$B$NMWAG$N$I$l$+$K\e(B match \e$B$7!"$+$D!"\e(B
325 @var{visible-fields} \e$B$NMWAG$N$I$l$K$b\e(B match \e$B$7$J$$Ms$OI=<($5$l$J$$!#\e(B
326 @refill
327
328 encoded-word (@ref{encoded-word}) \e$B$OI|9f$5$l$k!#!X@8$NHs\e(B us-ascii \e$BJ8;z!Y\e(B
329 \e$B$O\e(B @code{default-mime-charset} \e$B$H$7$F2r<a$5$l$k!#\e(B
330 @end defun
331
332
333 @defun mime-insert-text-content entity
334
335 point \e$B$NA0$K\e(B @var{entity} \e$B$r\e(B text entity \e$B$H$7$FA^F~$7$^$9!#\e(B@refill
336
337 @var{entity} \e$B$NFbMF$O\e(B @ref{MIME charset} \e$B$H$7$FI|9f2=$5$l\e(B
338 \e$B$^$9!#\e(B@var{entity} \e$B$N\e(B Content-Type field \e$B$K\e(B charset paramter \e$B$,L5\e(B
339 \e$B$$$H!"\e(B@code{default-mime-charset} \e$B$,=i4|CM$H$7$F;H$o$l$^$9!#\e(B
340 @end defun
341
342
343 @defvar default-mime-charset
344
345 \e$BE,@Z$J\e(B MIME charset (@ref{MIME charset}) \e$B$,8+$D$+$i$J$+$C$?>l9g$KMQ$$$i\e(B
346 \e$B$l$k\e(BMIME charset.@refill
347
348 \e$BK\Mh$O\e(B APEL \e$B$NJQ?t$G$"$k!#\e(B
349 @end defvar
350
351
352
353 @node Entity-content, Entity-network-representation, entity formatting, Entity
354 @section Entity \e$B$NFbMF\e(B
355
356 @defun mime-entity-content entity
357
358 @var{entity} \e$B$NFbMF$N\e(B byte \e$BNs$rJV$9!#\e(B
359 @end defun
360
361
362 @defun mime-insert-entity-content entity
363
364 point \e$B$N0LCV$K\e(B @var{entity} \e$B$NFbMF$rA^F~$7$^$9!#\e(B
365 @end defun
366
367
368 @defun mime-write-entity-content entity filename
369
370 @var{entity} \e$B$NFbMF$r\e(B @var{filename} \e$B$K=q$-9~$_$^$9!#\e(B
371 @end defun
372
373
374
375 @node Entity-network-representation, Entity buffer, Entity-content, Entity
376 @section Entity \e$B$N%M%C%H%o!<%/I=8=\e(B
377
378 @defun mime-insert-entity entity
379
380 @var{entity} \e$B$N\e(B header \e$B$H\e(B body \e$B$r\e(B point \e$B$N$H$3$m$KA^F~$7$^$9!#\e(B
381 @end defun
382
383
384 @defun mime-write-entity entity filename
385
386 @var{entity} \e$B$NI=8=$r\e(B @var{filename} \e$B$K=q$-9~$_$^$9!#\e(B
387 @end defun
388
389
390 @defun mime-write-entity-body entity filename
391
392 @var{entity} \e$B$N\e(B body \e$B$r\e(B @var{filename} \e$B$K=q$-9~$_$^$9!#\e(B
393 @end defun
394
395
396
397 @node Entity buffer, mm-backend, Entity-network-representation, Entity
398 @section Entity \e$B$N\e(B buffer \e$B$K$h$kI=8=\e(B
399
400 @defun mime-entity-buffer entity
401
402 @var{entity} \e$B$,B8:_$9$k\e(B buffer \e$B$rJV$9!#\e(B
403 @end defun
404
405
406 @defun mime-entity-point-min entity
407
408 @var{entity} \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(B@var{entity} \e$B$,@j$a$kNN0h$N@hF,\e(B
409 \e$B0LCV$rJV$9!#\e(B
410 @end defun
411
412
413 @defun mime-entity-point-max entity
414
415 @var{entity} \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(B@var{entity} \e$B$,@j$a$kNN0h$NKvHx\e(B
416 \e$B0LCV$rJV$9!#\e(B
417 @end defun
418
419
420 @defun mime-entity-header-start entity
421
422 @var{entity} \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(Bheader \e$B$,@j$a$kNN0h$N@hF,0LCV$r\e(B
423 \e$BJV$9!#\e(B
424 @end defun
425
426
427 @defun mime-entity-header-end entity
428
429 @var{entity} \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(Bheader \e$B$,@j$a$kNN0h$NKvHx0LCV$r\e(B
430 \e$BJV$9!#\e(B
431 @end defun
432
433
434 @defun mime-entity-body-start entity
435
436 @var{entity} \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(Bbody \e$B$,@j$a$kNN0h$N@hF,0LCV$rJV\e(B
437 \e$B$9!#\e(B
438 @end defun
439
440
441 @defun mime-entity-body-end entity
442
443 @var{entity} \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(Bbody \e$B$,@j$a$kNN0h$NKvHx0LCV$rJV\e(B
444 \e$B$9!#\e(B
445 @end defun
446
447
448
449 @node mm-backend,  , Entity buffer, Entity
450 @section Entity \e$B$NI=8=$H<B8=\e(B
451 @cindex mm-backend
452 @cindex entity \e$B=hM}\e(B method
453 @cindex representation-type
454
455 Entity \e$B$OCj>]2=$5$l$?%G!<%?I=8=$G!"<B:]$N%G!<%?I=8=$H$7$F$OMQES$K1~$8$F\e(B
456 \e$B$5$^$6$^$J$b$N$,MxMQ$G$-$k$h$&$K@_7W$5$l$F$$$^$9!#\e(B@refill
457
458 \e$B$3$3$G!"\e(Bentity \e$B$,$I$&$$$&<oN`$NI=8=$r9T$C$F$$$k$+$r<($9$N$,\e(B
459 @strong{representation-type} \e$B$G!"\e(Bentity \e$B$r@8@.$9$k;~$K$O$3$l$r;XDj$7$^$9!#\e(B
460 (cf. @ref{Entity Creation}) @refill
461
462 \e$BA0@a$^$G$K=R$Y$FMh$?\e(B entity \e$B$KBP$9$k=hM}$O!"\e(Bentity \e$B$KBP$7$F$=$N=hM}$r0M\e(B
463 \e$BMj$9$k$3$H$K$h$C$F<B8=$5$l$F$$$^$9!#\e(BEntity \e$B$O<+J,$N\e(B representation-type 
464 \e$B$rCN$C$F$*$j!"$=$N\e(B representation-type \e$B$K1~$8$F<B:]$N=hM}$r9T$&4X?t$r8F\e(B
465 \e$B$S=P$7$^$9!#$3$N$h$&$J4X?t$r\e(B @strong{entity \e$B=hM}\e(Bmethod} \e$B$H8F$S$^$9!#$^$?!"\e(B
466 representation-type \e$BKh$K$3$N$h$&$J4X?t$r$^$H$a$?$b$N$r\e(B 
467 @strong{mm-backend} \e$B$H8F$S$^$9!#\e(B@refill
468
469 mm-backend \e$B$O\e(B representation-type \e$B$NL>A0$N@hF,$K\e(B @code{mm} \e$B$H$$$&\e(B
470 \e$B@\F,<-$rIU$1$?4X?tL>$+$i$J$k\e(B module \e$B$G!"$=$N\e(B module \e$BL>$OF1MM$K\e(B
471 representation-type \e$B$NL>A0$N@hF,$K\e(B @code{mm} \e$B$rIU$1$?$b$N$K$J$C$F\e(B
472 \e$B$$$^$9!#$3$N\e(B module \e$B$O\e(B representation-type \e$B$N\e(B entity \e$B$,:G=i$K@8@.$5$l$k\e(B
473 \e$B;~$K<+F0E*$K\e(B require \e$B$5$l$^$9!#\e(B
474
475
476 @menu
477 * Request for entity::          Entity \e$B$X$NJX$j\e(B
478 * mm-backend module::           mm-backend \e$B$N:n$jJ}\e(B
479 @end menu
480
481 @node Request for entity, mm-backend module, mm-backend, mm-backend
482 @subsection Entity \e$B$X$NJX$j\e(B
483
484 @defun mime-entity-send entity message  &rest  args
485
486 @var{entity} \e$B$K\e(B @var{message} \e$B$rAw$k!#\e(B@refill
487
488 @var{args} \e$B$O\e(B @var{message} \e$B$N0z?t$G$"$k!#\e(B
489 @end defun
490
491
492
493 @node mm-backend module,  , Request for entity, mm-backend
494 @subsection mm-backend \e$B$N:n$jJ}\e(B
495
496 @defmac mm-define-backend type &optional  parents
497
498 @var{type} \e$B$r\e(B mm-backend \e$B$H$7$FDj5A$7$^$9!#\e(B@refill
499
500 @var{PARENTS} \e$B$,;XDj$5$l$F$$$k>l9g$O!"\e(B@var{type} \e$B$O\e(B prents
501 \e$B$r7Q>5$7$^$9!#$=$l$>$l$N\e(B parent \e$B$O\e(B representation-type \e$B$G$"$kI,MW$,$"\e(B
502 \e$B$j$^$9!#\e(B
503
504 \e$BNc\e(B:@refill
505
506 @lisp
507 (mm-define-backend chao (generic))
508 @end lisp
509 @end defmac
510
511
512 @defmac mm-define-method name args  &rest  body
513
514 @var{name} \e$B$r\e(B (nth 1 (car @var{args})) backend \e$B$N\e(B method \e$B4X\e(B
515 \e$B?t$H$7$FDj5A$7$^$9!#\e(B@refill
516
517 @var{args} \e$B$O\e(B lambda \e$B$N0z?t%j%9%H$N$h$&$J$b$N$G$9$,!"\e(B(car
518 @var{args}) \e$B$O;XDj$5$l$?\e(B parameter \e$B$G$"$kI,MW$,$"$j$^$9!#\e(B(car
519 (car @var{args})) \e$B$OJQ?t$NL>A0$G!"\e(B(nth 1 (car @var{args}))
520 \e$B$O\e(B backend \e$B$NL>A0\e(B (representation-type) \e$B$G$9!#\e(B@refill
521
522 \e$BNc\e(B:@refill
523
524 @lisp
525 (mm-define-method entity-cooked-p ((entity chao)) nil)
526 @end lisp
527 @end defmac
528
529
530
531 @node Content-Type, Content-Disposition, Entity, Top
532 @chapter Content-Type \e$BMs$N>pJs\e(B
533 @cindex mime-content-type
534 @cindex Content-Type \e$BMs\e(B
535
536 @strong{Content-Type \e$BMs\e(B} \e$B$O\e(B media-type (@ref{media-type}) \e$B$d\e(B MIME
537 charset \e$B$H$$$C$?\e(B entity (@ref{entity}) \e$B$NFbMF$N<oN`$dI=8=7A<0$J$I$r5-=R\e(B
538 \e$B$9$k$?$a$N$b$N$G!"\e(BRFC 2045 (@ref{RFC 2045}) \e$B$GDj5A$5$l$F$$$^$9!#\e(B
539
540 @noindent
541 @strong{[Memo]}
542 @quotation
543
544 \e$BNr;KE*$K$O\e(B RFC 1049 \e$B$G\e(B Content-Type \e$BMs$,Ds0F$5$l$F$$$k!#C"$7!"\e(BMIME \e$B$N\e(B
545 media-type \e$B$N$h$&$J\e(B type \e$B$H\e(B subtype \e$B$N6hJL$O$J$/!"\e(BMIME charset \e$B$N$h$&$J\e(B
546 \e$BJ8;zId9f$N<oN`$rI=8=$9$k$3$H$b$G$-$J$$!#\e(B
547 @end quotation
548
549
550 FLIM \e$B$O\e(B Content-Type \e$BMs$r9=J82r@O$9$k4X?t$H\e(B Content-Type \e$BMs$N2r@O7k2L$r\e(B
551 \e$B3JG<$9$k9=B$BN\e(B @strong{mime-content-type} \e$B$rDs6!$7$^$9!#\e(B
552
553
554 @menu
555 * Content-Type field::          Content-Type \e$BMs$N7A<0\e(B
556 * mime-content-type::           mime-content-type \e$B9=B$BN\e(B
557 * Content-Type parser::         Content-Type \e$BMs$N2r@O4o\e(B
558 * Content-Type utility::        Content-Type \e$B$K4X$9$kM-MQ$J4X?t\e(B
559 @end menu
560
561 @node Content-Type field, mime-content-type, Content-Type, Content-Type
562 @section Content-Type \e$BMs$N7A<0\e(B
563 @cindex parameter
564 @cindex subtype
565 @cindex type
566
567 Content-Type \e$BMs$N7A<0$O0J2<$N$h$&$KDj5A$5$l$F$$$^$9!'\e(B
568
569 @quotation
570 ``Content-Type'' ``:'' @strong{type} ``/''
571 @strong{subtype} *( ``;'' @strong{parameter} )
572 @end quotation
573
574 \e$BNc$($P!"\e(B
575
576 @quotation
577 @example
578 Content-Type: image/jpeg
579 @end example
580 @end quotation
581
582 @noindent
583 \e$B$d\e(B
584
585 @quotation
586 @example
587 Content-Type: text/plain; charset=iso-2022-jp
588 @end example
589 @end quotation
590
591 @noindent
592 \e$B$J$I$N$h$&$KMQ$$$i$l$^$9!#\e(B
593
594 \e$B$3$3$G!"\e(B`type' \e$B$H\e(B `subtype' \e$B$O\e(B entity \e$B$N7A<0$r<($9$b$N$G!"N><T$rAm>N$7\e(B
595 \e$B$F!"\e(B`media-type' \e$B$H8F$V$3$H$K$7$^$9!#>e5-$NNc$K$*$1$k\e(B `image/jpeg' \e$B$d\e(B
596 `text/plain' \e$B$O\e(B media-type \e$B$N#1$D$G$9!#\e(B
597
598 @noindent
599 @strong{[Memo]}
600 @quotation
601
602 Content-Type \e$BMs$N$J$$\e(B entity \e$B$O\e(B
603
604 @quotation
605 @example
606 Content-Type: text/plain; charset=us-ascii
607 @end example
608 @end quotation
609
610 @noindent
611 \e$B$H$7$F2r<a$5$l$k!#\e(B(cf. @ref{us-ascii})
612 @end quotation
613
614
615
616 @node mime-content-type, Content-Type parser, Content-Type field, Content-Type
617 @section mime-content-type \e$B9=B$BN\e(B
618
619 @deffn{Structure} mime-content-type
620
621 Content-Type \e$BMs$N>pJs$r3JG<$9$k$?$a$N9=B$BN!#\e(B@refill
622
623 \e$B$3$N9=B$BN$r;2>H$9$k$K$O\e(B @code{mime-content-type-\e$BMWAGL>\e(B} \e$B$H$$$&L>A0$N;2\e(B
624 \e$B>H4X?t$rMQ$$$k!#\e(B@refill
625
626 \e$B$3$N9=B$BN$NMWAG$O0J2<$NDL$j$G$"$k!'\e(B
627
628 @table @var
629 @item primary-type
630 media-type \e$B$N<g7?\e(B (symbol).
631
632 @item subtype
633 media-type \e$B$NI{7?\e(B (symbol).
634
635 @item parameters
636 Content-Type \e$BMs$N\e(B parameter (\e$BO"A[\e(B list).
637
638 @end table
639 @end deffn
640
641
642 @defun make-mime-content-type type subtype
643            &optional  parameters
644
645 content-type \e$B$N@8@.;R!#\e(B
646 @end defun
647
648
649 @defun mime-content-type-parameter content-type parameter
650
651 @var{content-type} \e$B$N\e(B @var{parameter} \e$B$NCM$rJV$9!#\e(B
652 @end defun
653
654
655
656 @node Content-Type parser, Content-Type utility, mime-content-type, Content-Type
657 @section Content-Type \e$BMs$N2r@O4o\e(B
658
659 @defun mime-parse-Content-Type string
660
661 @var{string} \e$B$r\e(B content-type \e$B$H$7$F2r@O$7$?7k2L$rJV$9!#\e(B
662 @end defun
663
664
665 @defun mime-read-Content-Type
666
667 \e$B8=:_$N\e(B buffer \e$B$N\e(B Content-Type \e$BMs$rFI$_<h$j!"2r@O$7$?7k2L$rJV$9!#\e(B@refill
668
669 Content-Type \e$BMs$,B8:_$7$J$$>l9g$O\e(B nil \e$B$rJV$9!#\e(B
670 @end defun
671
672
673
674 @node Content-Type utility,  , Content-Type parser, Content-Type
675 @section Content-Type \e$B$K4X$9$kM-MQ$J4X?t\e(B
676
677 @defun mime-type/subtype-string type  &optional  subtype
678
679 @var{type} \e$B$H\e(B @var{subtype} \e$B$+$i\e(B type/subtype \e$B7A<0$NJ8;zNs$rJV$9!#\e(B
680 @end defun
681
682
683
684 @node Content-Disposition, Content-Transfer-Encoding, Content-Type, Top
685 @chapter Content-Disposition \e$BMs$N>pJs\e(B
686 @cindex mime-content-disposition
687 @cindex RFC 2183
688 @cindex Standards Track
689 @cindex Content-Disposition \e$BMs\e(B
690
691 @strong{Content-Disposition \e$BMs\e(B} \e$B$O\e(B entity \e$B$NI=<($d\e(B file \e$BL>$J$I\e(B
692 \e$B$NB0@-$K$J$I$K4X$9$k>pJs$r5-=R$9$k$?$a$N$b$N$G$9!#\e(B
693
694
695 @noindent
696 [RFC 2183]
697 @quotation
698 S. Dorner, K. Moore and R. Troost, ``Communicating Presentation
699 Information in Internet Messages: The Content-Disposition Header'',
700 August 1997, Standards Track.
701 @end quotation
702
703 FLIM \e$B$O\e(B Content-Disposition \e$BMs$r9=J82r@O$9$k4X?t$H\e(B Content-Disposition 
704 \e$BMs$N2r@O7k2L$r3JG<$9$k9=B$BN\e(B 
705 @strong{mime-content-disposition} \e$B$rDs6!$7$^$9!#\e(B
706
707
708 @menu
709 * mime-content-disposition::    mime-content-disposition \e$B9=B$BN\e(B
710 * Content-Disposition parser::  Content-Disposition \e$BMs$N2r@O4o\e(B
711 @end menu
712
713 @node mime-content-disposition, Content-Disposition parser, Content-Disposition, Content-Disposition
714 @section mime-content-disposition \e$B9=B$BN\e(B
715
716 @deffn{Structure} mime-content-disposition
717
718 Content-Disposition \e$BMs$N2r@O7k2L$r<}$a$k$?$a$N9=B$BN!#\e(B@refill
719
720 \e$B$3$N9=B$BN$r;2>H$9$k$K$O\e(B @code{mime-content-disposition-\e$BMWAGL>\e(B} \e$B$H$$$&L>\e(B
721 \e$BA0$N;2>H4X?t$rMQ$$$k!#\e(B@refill
722
723 \e$B$3$N9=B$BN$NMWAG$O0J2<$NDL$j$G$"$k!'\e(B
724
725 @table @var
726 @item disposition-type
727 disposition-type (symbol).
728
729 @item parameters
730 Content-Disposition \e$BMs$N\e(B parameter (\e$BO"A[\e(B list).
731
732 @end table
733 @end deffn
734
735
736 @defun mime-content-disposition-parameter content-disposition parameter
737
738 @var{content-disposition} \e$B$N\e(B @var{parameter} \e$B$NCM$rJV$9!#\e(B
739 @end defun
740
741
742 @defun mime-content-disposition-filename content-disposition
743
744 @var{content-disposition} \e$B$N\e(B filename \e$B$NCM$rJV$9!#\e(B
745 @end defun
746
747
748
749 @node Content-Disposition parser,  , mime-content-disposition, Content-Disposition
750 @section Content-Disposition \e$BMs$N2r@O4o\e(B
751
752 @defun mime-parse-Content-Disposition string
753
754 @var{string} \e$B$r\e(B content-disposition \e$B$H$7$F2r@O$7$?7k2L$rJV$9!#\e(B
755 @end defun
756
757
758 @defun mime-read-Content-Disposition
759
760 \e$B8=:_$N\e(B buffer \e$B$N\e(B Content-Disposition \e$BMs$rFI$_<h$j!"2r@O$7$?7k2L$rJV$9!#\e(B
761 @refill
762
763 Content-Disposition \e$BMs$,B8:_$7$J$$>l9g$O\e(B nil \e$B$rJV$9!#\e(B
764 @end defun
765
766
767
768 @node Content-Transfer-Encoding, encoded-word, Content-Disposition, Top
769 @chapter \e$BId9f2=K!\e(B
770 @cindex Content-Transfer-Encoding \e$BMs\e(B
771
772 @strong{Content-Transfer-Encoding \e$BMs\e(B} \e$B$O\e(B entity \e$B$NId9f2=K!$r5-=R$9$k$?$a\e(B
773 \e$B$N$b$N$G$9!#\e(B@refill
774
775 FLIM \e$B$G$O\e(B Content-Transfer-Encoding \e$BMs$r9=J82r@O$9$k4X?t$rDs6!$7$^$9!#$3\e(B
776 \e$B$l$i$N4X?t$O\e(B Content-Transfer-Encoding \e$BMs$N>pJs$OJ8;zNs$GI=8=$7$^$9!#\e(B
777 @refill
778
779 \e$B$^$?!"\e(BContent-Transfer-Encoding \e$B$K4p$E$$$FId9f2=!&I|9f2=$r9T$&4X?t$bDs\e(B
780 \e$B6!$5$l$^$9!#\e(B
781
782
783 @menu
784 * Content-Transfer-Encoding parser::  Content-Transfer-Encoding \e$BMs$N2r@O4o\e(B
785 * encoder/decoder::             \e$BId9f2=!&I|9f2=\e(B
786 * Encoding information::        Other utilities
787 * mel-backend::                 How to write encoder/decoder module
788 * generic function for mel-backend::  How to add encoding/decoding service
789 @end menu
790
791 @node Content-Transfer-Encoding parser, encoder/decoder, Content-Transfer-Encoding, Content-Transfer-Encoding
792 @section Content-Transfer-Encoding \e$BMs$N2r@O4o\e(B
793
794 @defun mime-parse-Content-Transfer-Encoding string
795
796 @var{string} \e$B$r\e(B content-transfer-encoding \e$B$H$7$F2r@O$7$?7k2L$rJV$9!#\e(B
797 @end defun
798
799
800 @defun mime-read-Content-Transfer-Encoding &optional default-encoding
801
802 \e$B8=:_$N\e(B buffer \e$B$N\e(B Content-Transfer-Encoding \e$BMs$rFI$_<h$j!"2r@O$7$?7k2L$r\e(B
803 \e$BJV$9!#\e(B@refill
804
805 Content-Transfer-Encoding \e$BMs$,B8:_$7$J$$>l9g$O\e(B@var{default-encoding} \e$B$r\e(B
806 \e$BJV$9!#\e(B
807 @end defun
808
809
810
811 @node encoder/decoder, Encoding information, Content-Transfer-Encoding parser, Content-Transfer-Encoding
812 @section \e$BId9f2=!&I|9f2=\e(B
813
814 @defun mime-encode-region start end encoding
815
816 \e$B8=:_$N\e(B buffer \e$B$N\e(B @var{start} \e$B$+$i\e(B @var{end} \e$B$^$G$N\e(B region \e$B$r\e(B
817 @var{encoding} \e$B$r;H$C$FId9f2=$7$^$9!#\e(B
818 @end defun
819
820
821 @defun mime-decode-region start end encoding
822
823 \e$B8=:_$N\e(B buffer \e$B$N\e(B @var{start} \e$B$+$i\e(B @var{end} \e$B$^$G$N\e(B region \e$B$r\e(B
824 @var{encoding} \e$B$r;H$C$FI|9f2=$7$^$9!#\e(B
825 @end defun
826
827
828
829 @defun mime-decode-string string encoding
830
831 @var{string} \e$B$r\e(B @var{encoding} \e$B$H$7$FI|9f$7$?7k2L$rJV$9!#\e(B
832 @end defun
833
834
835
836 @defun mime-insert-encoded-file filename encoding
837
838 @var{ENCODING} format \e$B$GId9f2=$5$l$?\e(B file @var{FILENAME} \e$B$r\e(B
839 \e$BA^F~$9$k!#\e(B
840 @end defun
841
842
843 @defun mime-write-decoded-region start end filename encoding
844
845 @var{encoding} \e$B$GId9f2=$5$l$?8=:_$N\e(B region \e$B$rI|9f2=$7$F\e(B
846 @var{filename}\e$B$K=q$-9~$_$^$9!#\e(B
847
848 <var>start<var> \e$B$H\e(B @var{end} \e$B$O\e(B buffer \e$B$N0LCV$G$9!#\e(B
849 @end defun
850
851
852
853 @node Encoding information, mel-backend, encoder/decoder, Content-Transfer-Encoding
854 @section Other utilities
855
856 @defun mime-encoding-list &optional  SERVICE
857
858 Content-Transfer-Encoding \e$B$N\e(B list \e$B$rJV$7$^$9!#\e(B@refill
859
860 @var{service} \e$B$,;XDj$5$l$F$$$k$H!"$=$l$KBP$9$k\e(B
861 Content-Transfer-Encoding \e$B$rJV$7$^$9!#\e(B
862 @end defun
863
864
865 @defun mime-encoding-alist &optional  SERVICE
866
867 \e$BJd40$N$?$a$N\e(B Content-Transfer-Encoding \e$B$NI=$rJV$7$^$9!#\e(B@refill
868
869 @var{service} \e$B$,;XDj$5$l$F$$$k>l9g$O$=$l$KBP$9$k\e(B
870 Content-Transfer-Encoding \e$B$N\e(B list \e$B$rJV$7$^$9!#\e(B
871 @end defun
872
873
874
875 @node mel-backend, generic function for mel-backend, Encoding information, Content-Transfer-Encoding
876 @section How to write encoder/decoder module
877
878 @defmac mel-define-method name args  &rest  body
879
880 @var{name} \e$B$r\e(B (nth 1 (car (last @var{args}))) backend \e$B$N\e(B
881 method \e$B4X?t$H$7$FDj5A$7$^$9!#\e(B
882
883 @var{args} \e$B$O\e(B lambda \e$B$N0z?t\e(B list \e$B$H;w$F$$$^$9$,!"\e(B(car (last
884 @var{args})) \e$B$O;XDj$5$l$?\e(B parameter \e$B$G$"$kI,MW$,$"$j$^$9!#\e(B(car
885 (car (last @var{args}))) \e$B$OJQ?t$NL>A0$G!"\e(B(nth 1 (car (last
886 @var{args}))) \e$B$O\e(B backend \e$B$NL>A0\e(B (encoding) \e$B$G$9!#\e(B@refill
887
888 \e$BNc\e(B:@refill
889
890 @lisp
891 (mel-define-method mime-write-decoded-region (start end filename
892                                                     (nil "base64"))
893   "Decode and write current region encoded by base64 into FILENAME.
894 START and END are buffer positions."
895   (interactive
896    (list (region-beginning) (region-end)
897          (read-file-name "Write decoded region to file: ")))
898   (let ((str (buffer-substring start end)))
899     (with-temp-buffer
900       (insert (decode-base64-string str))
901       (write-region-as-binary (point-min) (point-max) filename)
902       )))
903 @end lisp
904 @end defmac
905
906
907 @defmac mel-define-method-function spec function
908
909 @var{spec} \e$B$N4X?tDj5A$r\e(B @var{function} \e$B$K@_Dj$7$^$9!#\e(B@refill
910
911 @var{spec} \e$B$N:G=i$NMWAG$O\e(B service \e$B$G$9!#\e(B@refill
912
913 @var{args} \e$B$N;D$j$O\e(B lambda \e$B$N0z?t\e(B list \e$B;w$F$$$^$9$,!"\e(B(car (last
914 @var{args})) \e$B$O;XDj$5$l$?\e(B parameter \e$B$G$"$kI,MW$,$"$j$^$9!#\e(B(car
915 (car (last @var{args}))) \e$B$OJQ?t$NL>A0$G!"\e(B(nth 1 (car (last
916 @var{args}))) \e$B$O\e(B backend \e$B$NL>A0\e(B (encoding) \e$B$G$9!#\e(B@refill
917
918 \e$BNc\e(B:@refill
919
920 @lisp
921 (mel-define-method-function (mime-encode-string string (nil "base64"))
922                             'encode-base64-string)
923 @end lisp
924 @end defmac
925
926
927
928 @node generic function for mel-backend,  , mel-backend, Content-Transfer-Encoding
929 @section \e$BId9f2=\e(B/\e$BI|9f2=\e(B service \e$B$rDI2C$9$kJ}K!\e(B
930
931 @defmac mel-define-service name &optional  args doc-string
932
933 @var{name} \e$B$r\e(B Content-Transfer-Encoding \e$B$N\e(B service \e$B$H$7$FDj5A$7$^\e(B
934 \e$B$9!#\e(B@refill
935
936 @var{args} \e$B$,;XDj$5$l$F$$$k$H!"\e(B@var{name} \e$B$O\e(B service \e$B$N\e(B
937 generic function \e$B$H$7$FDj5A$5$l$^$9!#\e(B@refill
938
939 \e$BNc\e(B:@refill
940
941 @lisp
942 (mel-define-service encoded-text-encode-string (string encoding)
943   "Encode STRING as encoded-text using ENCODING.
944 ENCODING must be string.")
945 @end lisp
946 @end defmac
947
948
949
950 @node encoded-word, custom, Content-Transfer-Encoding, Top
951 @chapter Header \e$B$N\e(B network \e$BI=8=\e(B
952 @cindex RFC 2047
953 @cindex Standards Track
954 @cindex RFC 2047
955
956 encoded-word \e$B$O\e(B header \e$B$GHs\e(B ASCII (@ref{ASCII}) \e$BJ8;z$rI=8=$9$k$?$a$N7A<0\e(B
957 \e$B$G!"\e(B@strong{RFC 2047} \e$B$GDj5A$5$l$F$$$^$9!#\e(B@refill
958
959
960 @noindent
961 [RFC 2047]
962 @quotation
963 K. Moore, ``MIME (Multipurpose Internet Mail Extensions) Part Three:
964 Message Header Extensions for Non-ASCII Text'', November 1996, Standards
965 Track (obsolete RFC 1521,1522,1590).
966 @end quotation
967
968 \e$B$^$?!"9T57$N0-$$$3$H$@$H8@$($^$9$,!"\e(Bencoded-word \e$B$rMQ$$$:$KHs\e(B ASCII
969 (@ref{ASCII}) \e$BJ8;z$r\e(B header \e$B$KF~$l$?5-;v$bB8:_$7$^$9!#\e(B@refill
970
971 FLIM \e$B$O$3$l$i$rId9f2=!&I|9f2=$9$k5!G=$rDs6!$7$^$9!#\e(B
972
973
974 @menu
975 * Header encoder/decoder::      Header \e$B$NId9f2=!&I|9f2=\e(B
976 @end menu
977
978 @node Header encoder/decoder,  , encoded-word, encoded-word
979 @section Header \e$B$NId9f2=!&I|9f2=\e(B
980
981 @defun eword-decode-header &optional  code-conversion separator
982
983 Header \e$BCf$N\e(B encoded-word \e$B$rI|9f$9$k!#\e(B@refill
984
985 \e$B$b$7\e(B @var{code-conversion} \e$B$,\e(B @code{nil} \e$B$J$i!"\e(Bencoded-word \e$B$@$1$,I|9f$5\e(B
986 \e$B$l$k!#$b$7!"\e(B@var{code-conversion} \e$B$,\e(B MIME charset (@ref{MIME charset}) 
987 \e$B$J$i!"Hs\e(B ASCII bit patterns \e$B$O$=$N\e(B MIME charset \e$B$H$7$FI|9f$5$l$k!#$3$l0J\e(B
988 \e$B30$N>l9g!"Hs\e(B ASCII bit patterns \e$B$O\e(B@code{default-mime-charset}. \e$B$H$7$FI|\e(B
989 \e$B9f$5$l$k!#\e(B(cf. @ref{entity formatting}) @refill
990
991 \e$B$b$7\e(B @var{separator} \e$B$,\e(B @code{nil} \e$B$G$J$1$l$P!"$=$NCM$,\e(Bheader separator 
992 \e$B$H$7$FMQ$$$i$l$k!#\e(B
993 @end defun
994
995
996 @defun eword-encode-header &optional  code-conversion
997
998 Header \e$B$r\e(B network \e$BI=8=$KId9f2=$9$k!#\e(B@refill
999
1000 \e$B3F\e(B field \e$B$O\e(B @code{mime-field-encoding-method-alist} \e$B$G;XDj$5$l$?J}<0$G\e(B
1001 \e$BId9f2=$5$l$k!#\e(B
1002 @end defun
1003
1004
1005 @defvar mime-field-encoding-method-alist
1006
1007 Field \e$B$rId9f2=$9$kJ}K!$r;XDj$9$kO"A[\e(B list\e$B!#3F\e(B element \e$B$O\e(B (FIELD
1008 . METHOD) \e$B$NMM$K$J$C$F$$$k!#\e(B@refill
1009
1010 METHOD \e$B$,\e(B @code{mime} \e$B$G$"$l$P!"\e(BFIELD \e$B$O\e(B MIME format \e$B$KId9f2=$5\e(B
1011 \e$B$l$k\e(B (encoded-word)\e$B!#\e(B
1012
1013 METHOD \e$B$,\e(B @code{nil} \e$B$G$"$l$P!"\e(BFIELD \e$B$OId9f2=$5$l$J$$!#\e(B
1014
1015 METHOD \e$B$,\e(B MIME charset \e$B$G$"$l$P!"\e(BFIELD \e$B$O%M%C%H%o!<%/%3!<%I$KJQ49$7$J\e(B
1016 \e$B$1$l$P$J$i$J$$$H$-$K\e(B charset \e$B$KId9f2=$5$l$k!#\e(B@refill
1017
1018 \e$B$=$&$G$J$1$l$P!"\e(BFIELD \e$B$O%M%C%H%o!<%/%3!<%I$KJQ49$7$J$1$l$P$J$i$J$$$H$-\e(B
1019 \e$B$K\e(B \e$BJQ?t\e(B @code{default-mime-charset} \e$B$GId9f2=$5$l$k\e(B
1020 @end defvar
1021
1022
1023
1024 @node custom, Appendix, encoded-word, Top
1025 @chapter \e$B0lHL@_Dj\e(B
1026
1027 @deffn{group} mime
1028
1029 MIME \e$B4XO"5!G=$K4X$9$k\e(B group.@refill
1030
1031 @code{mail} \e$B$H\e(B @code{news} \e$B$KB0$9$k!#\e(B
1032 @end deffn
1033
1034
1035 @node Appendix, Concept Index, custom, Top
1036 @chapter \e$BIUO?\e(B
1037
1038
1039 @menu
1040 * Glossary::                    \e$BMQ8l\e(B
1041 * Bug report::                  bug \e$BJs9p$N;EJ}\e(B
1042 * CVS::                         CVS \e$B$K$h$k3+H/\e(B
1043 * History::                     \e$BNr;K\e(B
1044 @end menu
1045
1046 @node Glossary, Bug report, Appendix, Appendix
1047 @section \e$BMQ8l\e(B
1048
1049
1050 @menu
1051 * 7bit::                        
1052 * 8bit::                        
1053 * ASCII::                       
1054 * Base64::                      
1055 * binary::                      
1056 * Coded character set::         Coded character set\e$B!JId9f2=J8;z=89g!K\e(B, Character code\e$B!JJ8;zId9f!K\e(B
1057 * media-type::                  
1058 * message::                     
1059 * MIME::                        
1060 * MIME charset::                
1061 * MTA::                         
1062 * MUA::                         
1063 * Quoted-Printable::            
1064 * RFC 822::                     
1065 * RFC 1036::                    
1066 * RFC 2045::                    
1067 * RFC 2046::                    
1068 * RFC 2048::                    
1069 * RFC 2049::                    
1070 * plain text::                  
1071 * us-ascii::                    
1072 @end menu
1073
1074 @node 7bit, 8bit, Glossary, Glossary
1075 @subsection 7bit
1076
1077 \e$B$3$3$G$O\e(B 0 \e$B$+$i\e(B 127 \e$B$N@0?t$r;X$9!#\e(B@refill
1078
1079\e$B$+$i\e(B 127 \e$B$N@0?t$NNs$GI=8=$G$-$k$h$&$J\e(B data \e$B$r\e(B ``7bit \e$B$N\e(B data'' \e$B$H8F$V!#\e(B
1080 @refill
1081
1082 \e$B$^$?!"\e(B0 \e$B$+$i\e(B 31 \e$B$*$h$S\e(B 127 \e$B$GI=8=$5$l$k@)8fJ8;z$H\e(B 32 \e$B$GI=8=$5$l$k6uGr$H\e(B 
1083 33 \e$B$+$i\e(B 126 \e$B$GI=8=$5$l$k?^7AJ8;z$+$i$J$kJ8;zNs$N$3$H$r\e(B ``7bit \e$B$NJ8;zNs\e(B'' 
1084 \e$B$H8F$V!J$3$l$O\e(B ISO 2022 (@ref{ISO 2022}) \e$B$N!V\e(B7 \e$BC10L7O!W$HF1MM!K!#\e(B
1085
1086 \e$BEAE}E*$J\e(B Internet \e$B$N\e(B MTA (@ref{MTA}) \e$B$O\e(B 7bit \e$B$N\e(B data \e$B$rE>Aw$G$-$k$N$G!"\e(B
1087 7bit \e$B$N\e(B data \e$B$O\e(B Quoted-Printable (@ref{Quoted-Printable}) \e$B$d\e(B Base64
1088 (@ref{Base64}) \e$B$H$$$C$?JQ49$r9T$o$J$/$F$b$=$N$^$^E>Aw$G$-$k!#\e(B@refill
1089
1090 \e$B$7$+$7!"\e(B7bit \e$B$G$"$l$P$I$s$J\e(B data \e$B$G$bNI$$$H$O$$$($J$$!#$J$<$J$i!"#19T$N\e(B
1091 \e$BD9$5$,$"$^$j$KD9$$$H!"\e(BMTA \e$B$O$=$N\e(B message \e$B$rE>Aw$9$k$3$H$,$G$-$J$$$+$i$G\e(B
1092 \e$B$"$k!#$A$J$_$K!"\e(BRFC 821 (@ref{RFC 821}) \e$B$O#19T$O2~9TJ8;z$r=|$$$F\e(B 998
1093 byte \e$B0JFb$G$"$k$3$H$r5a$a$F$$$k!#$h$C$F!"$3$l0J>e$N9T$,4^$^$l$k2DG=@-$N\e(B
1094 \e$B$"$k\e(B data, \e$BNc$($P!"\e(BPostscript \e$B$N\e(B data \e$B$J$I$O\e(B Quoted-Printable \e$BEy$G\e(B 
1095 encode\e$B$9$kI,MQ$,$"$k!#\e(B
1096
1097
1098 @node 8bit, ASCII, 7bit, Glossary
1099 @subsection 8bit
1100 @cindex binary
1101
1102 \e$B$3$3$G$O\e(B 0 \e$B$+$i\e(B 255 \e$B$N@0?t$r;X$9!#\e(B@refill
1103
1104\e$B$+$i\e(B 255 \e$B$N@0?t$NNs$GI=8=$G$-$k$h$&$J\e(B data \e$B$r\e(B ``8bit \e$B$N\e(B data'' \e$B$H8F$V!#\e(B
1105 @refill
1106
1107 \e$B$^$?!"\e(B0 \e$B$+$i\e(B 31, 127 \e$B$*$h$S\e(B 128 \e$B$+$i\e(B 159 \e$B$GI=8=$5$l$k@)8fJ8;z$H\e(B 32 \e$B$GI=\e(B
1108 \e$B8=$5$l$k6uGr$H\e(B 33 \e$B$+$i\e(B 126 \e$B$H\e(B 160 \e$B$+$i\e(B 255 \e$B$GI=8=$5$l$k?^7AJ8;z$+$i$J$k\e(B
1109 \e$BJ8;zNs$N$3$H$r\e(B ``8bit \e$B$NJ8;zNs\e(B'' \e$B$H8F$V!J$3$l$O\e(B ISO 2022 (@ref{ISO 2022}) \e$B$N!V\e(B8 \e$BC10L7O!W$HF1MM!K!#\e(B@refill
1110
1111 iso-8859-1 (@ref{iso-8859-1}) \e$B$d\e(B euc-kr (@ref{euc-kr}) \e$B$H$$$C$?Id9f2=J8\e(B
1112 \e$B;z=89g$O\e(B 8bit \e$B$NJ8;zNs$G$"$k!#\e(B@refill
1113
1114 \e$BEAE}E*$J\e(B Internet \e$B$N\e(B MTA (@ref{MTA}) \e$B$O\e(B 7bit (@ref{7bit}) \e$B$N\e(B data \e$B$7$+E>\e(B
1115 \e$BAw$G$-$J$$$N$G!"$=$&$7$?\e(B MTA \e$B$r7PM3$9$k>l9g!"\e(BQuoted-Printable
1116 (@ref{Quoted-Printable}) \e$B$d\e(B Base64 (@ref{Base64}) \e$B$H$$$C$?JQ49$r9T$o$J$/\e(B
1117 \e$B$F$O$J$i$J$$!#\e(B@refill
1118
1119 \e$B$7$+$7!":G6a$G$O\e(B 8bit \e$B$NJ8;zNs$r$=$N$^$^DL$9$3$H$,$G$-$k\e(B MTA \e$B$bEP>l$7$F\e(B
1120 \e$B$-$?$N$G!"$=$N$^$^Aw$k$3$H$,$G$-$k>l9g$bA}$($F$-$?!#\e(B@refill
1121
1122 \e$B$7$+$7!"\e(B8bit \e$B$G$"$l$P$I$s$J\e(B data \e$B$G$bNI$$$H$O$$$($J$$!#$J$<$J$i!"#19T$N\e(B
1123 \e$BD9$5$,$"$^$j$KD9$$$H!"\e(BMTA \e$B$O$=$N\e(B message \e$B$rE>Aw$9$k$3$H$,$G$-$J$$$+$i$G\e(B
1124 \e$B$"$k!#$A$J$_$K!"\e(BRFC 821 (@ref{RFC 821}) \e$B$O#19T$O2~9TJ8;z$r=|$$$F\e(B 998
1125 byte \e$B0JFb$G$"$k$3$H$r5a$a$F$$$k!#$h$C$F!"$3$l0J>e$N9T$,4^$^$l$k2DG=@-$N\e(B
1126 \e$B$"$k\e(B data, \e$BNc$($P!"\e(BPostscript \e$B$N\e(B data \e$B$J$I$O\e(B Quoted-Printable \e$BEy$G\e(B 
1127 encode\e$B$9$kI,MQ$,$"$k!#\e(B@refill
1128
1129 \e$B$^$?!"$3$&$7$?M}M3$+$i!"#19T$,\e(B 999 byte \e$B0J>e$N9T$,B8:_$9$k2DG=@-$N$"$k\e(B
1130 data \e$B$O\e(B @strong{binary} (@ref{binary}) \e$B$H8F$V$3$H$K$9$k!#\e(B@refill
1131
1132 \e$B$A$J$_$K!"\e(B7bit \e$B$GI=8=$G$-$k\e(B data \e$B$O\e(B 8bit \e$B$G$bI=8=$G$-$k!#$h$C$F!"\e(B
1133 ``8bit'' \e$B$H8@$C$?>l9g!"#19T$,\e(B 998 byte \e$B0J2<$NG$0U$N\e(B data \e$B$r;X$9$3$H$,\e(B
1134 \e$B$"$k!#\e(B
1135
1136
1137 @node ASCII, Base64, 8bit, Glossary
1138 @subsection ASCII
1139 @cindex ANSI X3.4:1986
1140 @cindex ASCII
1141
1142 \e$B%"%a%j%+O"K.$G;H$o$l$kJ8;z$rId9f2=$7$?Id9f2=J8;z=89g\e(B (@ref{\e$BId9f2=J8;z=8\e(B \e$B9g\e(B})\e$B!#\e(BA-Z, a-z \e$B$N\e(B Latin \e$BJ8;z$H?t;z!"4v$D$+$N5-9f$+$i$J$k!#\e(BISO 646 \e$B$N0l$D\e(B
1143 \e$B$G!"8=:_$O9q:]4p=`HG\e(B (IRV) \e$B$K$J$C$F$$$k!#\e(B
1144
1145
1146 @noindent
1147 [ASCII]
1148 @quotation
1149 ``Coded Character Set -- 7-Bit American Standard Code for Information
1150 Interchange'', ANSI X3.4:1986.
1151 @end quotation
1152
1153
1154
1155 @node Base64, binary, ASCII, Glossary
1156 @subsection Base64
1157 @cindex pad
1158
1159 RFC 2045 (@ref{RFC 2045}) \e$B$GDj5A$5$l$F$$$k\e(B MIME (@ref{MIME}) \e$B$K$*$1$k\e(B 
1160 binary data (@ref{binary}) \e$B$N\e(B network \e$B$G$NJQ49K!$N#1$D!#\e(B@refill
1161
1162 \e$B!X\e(B64 \e$B?J?t!Y$H$$$&0UL#$G!"\e(B3 byte \e$B$N\e(B data \e$B$r\e(B 0 \e$B$+$i\e(B 63 \e$B$N?t$rI=$9\e(B ASCII
1163 (@ref{ASCII}) 4 \e$BJ8;z$KJQ49$9$kJ}K!!#!J$b$7!"\e(B4 \e$BJ8;z$K$J$i$J$1$l$P\e(B 
1164 @strong{pad} \e$B$H8F$P$l$k5M$aJ*$r$7$FD9$5$rD4@0$9$k!K\e(B@refill
1165
1166 \e$B$3$N\e(B 65 \e$B<oN`$NJ8;z$O\e(B ASCII \e$B$H\e(B EBCDIC \e$B$N6&DLItJ,$+$iA*$P$l$F$*$j!"\e(B
1167 Internet \e$B0J30$N\e(B network \e$B$r7PM3$9$k>l9g$G$b0BA4$KE>Aw$G$-$k$h$&$K@_7W$5\e(B
1168 \e$B$l$F$$$k!#\e(B
1169
1170
1171 @node binary, Coded character set, Base64, Glossary
1172 @subsection binary
1173 @cindex binary data
1174 @cindex binary
1175
1176 \e$BG$0U$N\e(B byte \e$BNs$r\e(B @strong{binary} \e$B$H8F$V!#\e(B@refill
1177
1178 8bit (@ref{8bit}) \e$B$H0[$J$k$N$O\e(B data \e$B$K9T$N9=B$$r2>Dj$7$J$$$3$H$G$"$k!#\e(B
1179
1180 \e$B$^$?!"9T$N9=B$$,$"$C$F$b!"\e(B999 byte \e$B0J>e$+$i$J$k9T$,$"$k>l9g$b\e(B binary \e$B$H\e(B
1181 \e$B8F$V$3$H$K$9$k!#\e(B@refill
1182
1183 \e$B$A$J$_$K!"\e(B7bit (@ref{7bit}) \e$B$d\e(B 8bit \e$B$GI=8=$G$-$k\e(B data \e$B$O\e(B binary \e$B$G$bI=8=\e(B
1184 \e$B$G$-$k!#$h$C$F!"\e(B@strong{binary data} \e$B$H8@$C$?>l9g!"G$0U$N\e(B data \e$B$r;X$9$3\e(B
1185 \e$B$H$,$"$k!#\e(B
1186
1187
1188 @node Coded character set, media-type, binary, Glossary
1189 @subsection Coded character set\e$B!JId9f2=J8;z=89g!K\e(B, Character code\e$B!JJ8;zId9f!K\e(B
1190
1191 \e$BJ8;z$H\e(B byte \e$BNs$H#1BP#1$KBP1~IU$1$k[#Kf$G$J$$5,B'$N=89g!#\e(B
1192
1193
1194 @node media-type, message, Coded character set, Glossary
1195 @subsection media-type
1196 @cindex x-token
1197 @cindex primary-type/subtype
1198 @cindex message
1199 @cindex multipart
1200 @cindex application
1201 @cindex video
1202 @cindex audio
1203 @cindex image
1204 @cindex text
1205 @cindex subtype
1206 @cindex primary-type
1207
1208 MIME (@ref{MIME}) \e$B$K$*$1$k\e(B entity (@ref{entity}) \e$B$N<oN`!#\e(B
1209 @strong{primary-type} \e$B$H\e(B @strong{subtype} \e$B$+$i$J$k!#\e(BRFC 2046 (@ref{RFC 2046}) \e$B$GDj5A$5$l$F$$$k!#\e(B@refill
1210
1211 primary-type \e$B$OI8=`$G$O\e(B
1212
1213 @itemize @bullet
1214 @item
1215 @strong{text}
1216 @item
1217 @strong{image}
1218 @item
1219 @strong{audio}
1220 @item
1221 @strong{video}
1222 @item
1223 @strong{application}
1224 @item
1225 @strong{multipart} (@ref{multipart})
1226 @item
1227 @strong{message}
1228 @end itemize
1229
1230 @noindent
1231 \e$B$,Dj5A$5$l!"$=$l$>$l$K$O\e(B application/octet-stream, audio/basic,
1232 image/jpeg, multipart/mixed (@ref{multipart/mixed}), text/plain
1233 (@ref{text/plain}), video/mpeg \e$B$J$I$N$5$^$6$^$J\e(B subtype \e$B$,Dj5A$5$l$F$$$k!#\e(B
1234
1235 @noindent
1236 @strong{[\e$BCm0U\e(B]}
1237 @quotation
1238
1239 \e$B$3$3$G$O!"\e(Btext/plain \e$B$J$I$N\e(B type/subtype \e$B$NAH$r$7$P$7$P\e(B 
1240 @strong{primary-type/subtype} \e$B$H=q$/!#\e(B
1241 @end quotation
1242
1243
1244 media-type \e$B$O!"\e(BRFC 2046 \e$B$GDj5A$5$l$F$$$k$b$N$K2C$($F!"EPO?$9$k$3$H$b$G$-\e(B
1245 \e$B$k!#8=:_!"EPO?$5$l$F$$$k$b$N$O\e(B MEDIA TYPES
1246 (ftp://ftp.isi.edu/in-notes/iana/assignments/media-types) \e$B$G;2>H$G$-$k!#\e(B
1247
1248 \e$B$^$?!"\e(Btype \e$B$b$7$/$O\e(B subtype \e$B$K!"A0$K\e(B `x-' \e$B$rIU$1$?\e(B @strong{x-token} \e$B$rMQ\e(B
1249 \e$B$$$k$3$H$K$h$j!"EPO?$5$l$F$$$J$$$b$N$r;dE*$KMQ$$$k$3$H$b$G$-$k!#$7$+$7!"\e(B
1250 \e$BEvA3$N$3$H$J$,$i!"$3$&$7$?;dE*$J\e(B media-type \e$B$ONJ2r$rF@$?<T$N4V$G$7$+2r<a\e(B
1251 \e$B$G$-$J$$$N$GMxMQ$K$OCm0U$9$k$3$H!#\e(B@refill
1252
1253 (cf. @ref{Content-Type})
1254
1255
1256
1257 @node message, MIME, media-type, Glossary
1258 @subsection message
1259
1260 \e$B$3$3$G$O\e(B mail \e$B$H\e(B news \e$B5-;v$NAm>N$H$7$FMQ$$$k!#\e(B
1261
1262
1263 @node MIME, MIME charset, message, Glossary
1264 @subsection MIME
1265 @cindex Multipurpose Internet Mail Extensions
1266
1267 @strong{Multipurpose Internet Mail Extensions} \e$B$NN,$G!"\e(BInternet \e$B$N\e(B mail 
1268 \e$B$d\e(B news \e$B$G\e(B us-ascii plain text (@ref{us-ascii}) \e$B0J30$NJ8;z$r;H$&$?$a$N\e(B 
1269 RFC 822 (@ref{RFC 822}) \e$B$KBP$9$k3HD%!#\e(B@refill
1270
1271 RFC 2045 \e$B$OKAF,$G<!$N$h$&$K=R$Y$F$$$k!'\e(B@refill
1272
1273 STD 11, RFC 822 \e$B$O!"\e(BUS-ASCII message header \e$B$K4X$7$FHs>o$K>\:Y$K5,Dj$7\e(B
1274 \e$B$?\e(B message \e$BI=8=\e(B protocol \e$B$rDj5A$7$F$$$k!#$7$+$7!"$=$l$OC1$K\e(B flat \e$B$J\e(B 
1275 US-ASCII text \e$B$N$_$KN1$^$j!"\e(Bmessage \e$B$NFbMF$d\e(B message body \e$B$K4X$9$k5,Dj\e(B
1276 \e$B$O$J$5$l$F$$$J$$!#\e(BMultipurpose Internet Mail Extensions, \e$B$"$k$$$O\e(B MIME 
1277 \e$B$HAm>N$5$l$k!"$3$N0lO"$NJ8=q$O!"0J2<$N;v$r2DG=$H$9$k$?$a$K\e(B message \e$B$N\e(B
1278 \e$B7A<0$r:FDj5A$7$?!'\e(B
1279
1280 @enumerate
1281 @item
1282 \e$BJ8=q\e(B message body \e$B$K$*$1$k\e(B US-ASCII \e$B0J30$NJ8;z=89g\e(B
1283 @item
1284 \e$BHsJ8=q\e(B message body
1285 @item
1286 \e$BJ#?t$NItJ,$+$i$J$k\e(B message body
1287 @item
1288 US-ASCII \e$B0J30$NJ8;z=89g$+$i$J$kJ8=q\e(B header \e$B>pJs\e(B
1289 @end enumerate
1290
1291
1292 RFC 2045 (@ref{RFC 2045}), RFC 2046 (@ref{RFC 2046}), RFC 2047
1293 (@ref{encoded-word}), RFC 2048 (@ref{RFC 2048}), RFC 2049 (@ref{RFC 2049}) \e$B$GDj5A$5$l$F$$$k!#\e(B
1294
1295
1296 @node MIME charset, MTA, MIME, Glossary
1297 @subsection MIME charset
1298
1299 Content-Type (@ref{Content-Type}) \e$BMs$d\e(B encoded-word (@ref{encoded-word}) 
1300 \e$B$N\e(B charset parameter \e$B$GMQ$$$i$l$kEPO?$5$l$?Id9f2=J8;z=89g\e(B(@ref{Coded character set})\e$B!#\e(B@refill
1301
1302 RFC 2045 (@ref{RFC 2045}) \e$B$GDj5A$5$l$F$$$k!#\e(B@refill
1303
1304 iso-2022-jp \e$B$d\e(B euc-kr \e$B$O$=$N#1$D!#\e(B
1305
1306
1307 @node MTA, MUA, MIME charset, Glossary
1308 @subsection MTA
1309 @cindex Message Transfer Agent
1310
1311 @strong{Message Transfer Agent} \e$B$NN,$G!"\e(Bqmail \e$B$d\e(B sendmail \e$B$J$I$N\e(B mail \e$BG[\e(B
1312 \e$BAw\e(B program \e$B$H\e(B inn \e$B$J$I$N\e(B news server \e$B$NAm>N!#\e(B@refill
1313
1314 (cf. @ref{MUA})
1315
1316
1317
1318 @node MUA, Quoted-Printable, MTA, Glossary
1319 @subsection MUA
1320 @cindex Message User Agent
1321
1322 @strong{Message User Agent} \e$B$NN,$G!"\e(Bmail reader \e$B$H\e(B news reader \e$B$NAm>N!#\e(B
1323 @refill
1324
1325 (cf. @ref{MTA})
1326
1327
1328
1329 @node Quoted-Printable, RFC 822, MUA, Glossary
1330 @subsection Quoted-Printable
1331
1332 RFC 2045 (@ref{RFC 2045}) \e$B$GDj5A$5$l$F$$$k\e(B MIME (@ref{MIME}) \e$B$K$*$1$k\e(B 
1333 binary data (@ref{binary data}) \e$B$N\e(B network \e$B$G$NJQ49K!$N#1$D!#\e(B@refill
1334
1335 `=' \e$B$d@)8fJ8;z$d\e(B 128 \e$B0J>e$NJ8;z$J$I$O\e(B `=AF' \e$B$N$h$&$K\e(B `=' \e$B$N8e$KB3$/\e(B 16 
1336 \e$B?J?t$GI=8=$9$k!#$3$N$?$a!"\e(BASCII (@ref{ASCII}) \e$BJ8;zCf?4$N\e(B data \e$B$G$O\e(B 
1337 Base64 (@ref{Base64}) \e$B$KHf$Y$k$H2DFI@-$,9b$/$J$k2DG=@-$,$"$k!#\e(B@refill
1338
1339 \e$B$7$+$7$J$,$i!"\e(BEBCDIC \e$B$K$OB8:_$7$J$$J8;z$rMxMQ$9$k>l9g!"\e(BEBCDIC \e$B$rMxMQ$7\e(B
1340 \e$B$F$$$k\e(B network \e$B$G$O0BA4$KE>Aw$9$k$3$H$,$G$-$:!"\e(BBase64 \e$B$KHf$Y$F0BA4@-$O\e(B
1341 \e$BDc$$!#\e(B
1342
1343
1344 @node RFC 822, RFC 1036, Quoted-Printable, Glossary
1345 @subsection RFC 822
1346 @cindex RFC 822
1347 @cindex STD 11
1348 @cindex Internet message
1349 @cindex Internet mail
1350 @cindex message header
1351
1352 Internet mail \e$B$N<g$K\e(B @strong{message header} \e$B$K4X$9$k7A<0$K\e(B
1353 \e$B4X$9$kI8=`$rDj$a$F$$$k\e(B RFC.
1354
1355 @noindent
1356 @strong{[Memo]}
1357 @quotation
1358
1359 news message \e$B$b$3$l$K=`$8$F$$$k$N$G!"\e(B@strong{Internet mail} \e$B$H=q$/$h$j$b!"\e(B
1360 @strong{Internet message} \e$B$H=q$$$?J}$,NI$$$+$b$7$l$J$$!#\e(B
1361 @end quotation
1362
1363
1364
1365 @noindent
1366 [RFC 822]
1367 @quotation
1368 D. Crocker, ``Standard for the Format of ARPA Internet Text Messages'',
1369 August 1982, STD 11.
1370 @end quotation
1371
1372
1373
1374 @node RFC 1036, RFC 2045, RFC 822, Glossary
1375 @subsection RFC 1036
1376 @cindex RFC 1036
1377 @cindex USENET
1378
1379 USENET \e$B$G$N\e(B message \e$B$N7A<0$rDj$a$?\e(B RFC.  RFC 822 (@ref{RFC 822}) \e$B$N\e(B 
1380 subset \e$B$K$J$C$F$$$k!#\e(BInternet \e$B$NI8=`$G$O$J$$$,!"\e(BUSENET \e$B0J30$N\e(B netnews \e$B$G\e(B
1381 \e$B$b$3$l$K=`$8$F$$$k$b$N$,B?$$!#\e(B
1382
1383
1384 @noindent
1385 [USENET: RFC 1036]
1386 @quotation
1387 M. Horton and R. Adams, ``Standard for Interchange of USENET Messages'',
1388 December 1987, (obsolete RFC 850).
1389 @end quotation
1390
1391
1392
1393 @node RFC 2045, RFC 2046, RFC 1036, Glossary
1394 @subsection RFC 2045
1395 @cindex RFC 2045
1396 @cindex Standards Track
1397
1398
1399 @noindent
1400 [RFC 2045]
1401 @quotation
1402 N. Freed and N. Borenstein, ``Multipurpose Internet Mail Extensions
1403 (MIME) Part One: Format of Internet Message Bodies'', November 1996,
1404 Standards Track (obsolete RFC 1521, 1522, 1590).
1405 @end quotation
1406
1407
1408
1409 @node RFC 2046, RFC 2048, RFC 2045, Glossary
1410 @subsection RFC 2046
1411 @cindex RFC 2046
1412 @cindex Standards Track
1413
1414
1415 @noindent
1416 [RFC 2046]
1417 @quotation
1418 N. Freed and N. Borenstein, ``Multipurpose Internet Mail Extensions
1419 (MIME) Part Two: Media Types'', November 1996, Standards Track (obsolete
1420 RFC 1521, 1522, 1590).
1421 @end quotation
1422
1423
1424
1425 @node RFC 2048, RFC 2049, RFC 2046, Glossary
1426 @subsection RFC 2048
1427 @cindex RFC 2048
1428 @cindex Standards Track
1429
1430
1431 @noindent
1432 [RFC 2048]
1433 @quotation
1434 N. Freed, J. Klensin and J. Postel, ``Multipurpose Internet Mail
1435 Extensions (MIME) Part Four: Registration Procedures'', November 1996,
1436 Standards Track (obsolete RFC 1521, 1522, 1590).
1437 @end quotation
1438
1439
1440
1441 @node RFC 2049, plain text, RFC 2048, Glossary
1442 @subsection RFC 2049
1443 @cindex RFC 2049
1444 @cindex Standards Track
1445
1446
1447 @noindent
1448 [RFC 2049]
1449 @quotation
1450 N. Freed and N. Borenstein, ``Multipurpose Internet Mail Extensions
1451 (MIME) Part Five: Conformance Criteria and Examples'', November 1996,
1452 Standards Track (obsolete RFC 1521, 1522, 1590).
1453 @end quotation
1454
1455
1456
1457 @node plain text, us-ascii, RFC 2049, Glossary
1458 @subsection plain text
1459
1460 \e$B=qBN$dAHHG$K4X$9$k>pJs$r;}$?$J$$J8;zId9f\e(B(@ref{Coded character set})\e$B$N$_\e(B
1461 \e$B$GI=8=$5$l$k\e(B text \e$B>pJs!#\e(B(cf. @ref{text/plain})
1462
1463
1464
1465 @node us-ascii,  , plain text, Glossary
1466 @subsection us-ascii
1467 @cindex ASCII
1468 @cindex us-ascii
1469
1470 \e$B%"%a%j%+O"K.$J$I$G;H$o$l$k1Q8l$J$I$rI=8=$9$k$?$a$N\e(B MIME charset
1471 (@ref{MIME charset}) \e$B$N#1$D!#\e(B@refill
1472
1473 ASCII (@ref{ASCII}) \e$B$N$_$+$i$J$j\e(B ISO 2022 \e$B$K$h$kId9f3HD%$O5v$5$l$J$$!#\e(B
1474
1475 Internet message \e$B$K$*$1$kI8=`$NId9f2=J8;z=89g\e(B(@ref{Coded character set}) 
1476 \e$B$G$"$j!"L@<(E*$K\e(B MIME charset \e$B$,<($5$l$J$$>l9g$O86B'$H$7$F\e(B 
1477 @strong{us-ascii} \e$B$,;H$o$l$k!#\e(B@refill
1478
1479 \e$B$^$?!"\e(BRFC 822 (@ref{RFC 822}) \e$B$K$*$1$k\e(B @strong{ASCII} \e$B$O\e(B us-ascii \e$B$G$"$k!#\e(B
1480
1481
1482 @node Bug report, CVS, Glossary, Appendix
1483 @section bug \e$BJs9p$N;EJ}\e(B
1484
1485 FLIM \e$B$N%P%0$r8+$D$1$?$i!"0J2<$N\e(B address \e$B$K\e(B mail \e$B$rAw$C$F$/$@$5$$!'\e(B
1486
1487 @itemize @bullet
1488 @item
1489  \e$B1Q8l\e(B <emacs-mime-en@@m17n.org>
1490 @item
1491  \e$BF|K\8l\e(B <emacs-mime-ja@@m17n.org>
1492 @end itemize
1493
1494
1495 \e$BC"$7!"$"$^$j$K$b8E$$HG$K4X$9$kJs9p$O4?7^$5$l$^$;$s!#8E$$HG$N\e(B bug \e$B$O!"?7\e(B
1496 \e$B$7$$HG$G$O<#$C$F$$$k$+$b$7$l$^$;$s!#$^$:!":G?7HG$G3NG'$7$F$_$^$7$g$&!#\e(B
1497 @refill
1498
1499 \e$B$=$l$+$i!"E,@Z$JJs9p$r$7$^$7$g$&!#C1$K!V$&$^$/F0$+$J$$!W$H8@$o$l$F$b$I$&\e(B
1500 \e$B$$$&>u67$J$N$+$O$5$C$Q$jH=$j$^$;$s!#:GDc8B!"\e(BOS, emacs, APEL, FLIM, SEMI, 
1501 \e$B;H$C$F$$$k\e(B MUA \e$B$N<oN`$*$h$SHG!"@_Dj$r=q$/I,MW$,$"$j$^$9!#$^$?!"\e(Berror \e$B$,\e(B
1502 \e$B5/$C$F$$$k>l9g$O\e(B backtrace \e$B$rAw$k$3$H$b=EMW$G$9!#\e(B(cf. @ref{(emacs)Bugs})
1503
1504 \e$B$^$?!"\e(Bbug \e$B$OBgDqJ#?t$N?M$,Ax6x$9$k$b$N$G$9!J$=$&$G$J$1$l$P!"\e(Bbug \e$B$G$O$J\e(B
1505 \e$B$$2DG=@-$,$"$j$^$9!K!#$@$+$i!":n<T$KD>@\\e(B mail \e$B$rAw$k$H:n<T$OF1$8\e(B mail
1506 \e$B$r2?DL$b=q$/1)L\$K$J$j$^$9!#$@$+$i!"I,$:\e(B bug \e$BJs9p$O>e5-$N\e(B address \e$B$KAw$C\e(B
1507 \e$B$F$/$@$5$$!#\e(B
1508
1509 EMACS-MIME ML \e$B$G$O\e(B FLIM \e$B$N%P%0>pJs$N8r49$d:G?7HG$NG[I[!"\e(BFLIM \e$B$N2~NI$K\e(B
1510 \e$B4X$9$k5DO@$r9T$J$C$F$$$^$9!#\e(BEMACS-MIME ML \e$B$K;22C$7$?$$J}$O\e(B
1511
1512 @itemize @bullet
1513 @item
1514  \e$B1Q8l\e(B <emacs-mime-en-ctl@@m17n.org>
1515 @item
1516  \e$BF|K\8l\e(B <emacs-mime-ja-ctl@@m17n.org>
1517 @end itemize
1518
1519 @noindent
1520 \e$B$K6u$N\e(B mail \e$B$rAw$C$F2<$5$$!#\e(B
1521
1522
1523 @node CVS, History, Bug report, Appendix
1524 @section CVS \e$B$K$h$k3+H/\e(B
1525
1526 FLIM \e$B$N\e(B file \e$B$O\e(B CVS \e$B$r;H$C$F4IM}$5$l$F$$$^$9!#$3$N$?$a!"0J2<$NJ}K!$G:G\e(B
1527 \e$B?7$N\e(B FLIM \e$B$rF~<j$9$k$3$H$,$G$-$^$9!'\e(B
1528
1529 @example
1530 (0) cvs login
1531
1532     % cvs -d :pserver:anonymous@@cvs.m17n.org:/cvs/root login
1533
1534     CVS password: [CR] # NULL string
1535
1536 (1) checkout
1537
1538     % cvs -d :pserver:anonymous@@cvs.m17n.org:/cvs/root checkout
1539         checkout [-r TAG] flim
1540 @end example
1541
1542
1543 CVS \e$B$rMQ$$$?3+H/$K;22C$7$?$$J}$O\e(B
1544
1545 @itemize @bullet
1546 @item
1547  <cvs@@cvs.m17n.org>
1548 @end itemize
1549
1550 @noindent
1551 \e$B$^$G!"%"%+%&%s%HL>$H\e(B ssh \e$B$N8x3+80$rAw$C$F$/$@$5$$!#\e(Bssh \e$B7PM3$G$O!"\e(B
1552 cvsroot \e$B$O\e(B :ext:cvs@@cvs.m17n.org:/cvs/root \e$B$H$J$j$^$9!#\e(B
1553
1554
1555 @node History,  , CVS, Appendix
1556 @section \e$BNr;K\e(B
1557
1558 FLIM \e$B$N\e(B code \e$B$N:G8E$NItJ,$O\e(B \e$B1]JB\e(B \e$B;LCR\e(B \e$B;a$,=q$$$?\e(B @file{mime.el} \e$B$K5/8;$7\e(B
1559 \e$B$^$9!#$3$N>.$5$J\e(B program \e$B$O\e(B Nemacs \e$B$GF0:n$9$k\e(B iso-2022-jp \e$B$N\e(B B-encoding 
1560 \e$B@lMQ$N\e(B encoded-word \e$B$NI|9f2=%W%m%0%i%`$G$7$?!#\e(B@refill
1561
1562 \e$B$=$N8e!"<i2,\e(B \e$BCNI'\e(B \e$B$O\e(B @file{mime.el} \e$B$r85$K\e(B@file{tiny-mime.el} \e$B$H$$$&%W%m\e(B
1563 \e$B%0%i%`$r=q$-$^$9!#$3$l$O!"\e(BNemacs \e$B$H\e(B Mule \e$B$GF0:n$9$k\e(B encoded-word \e$B$NId9f\e(B
1564 \e$B2=!&I|9f2=%W%m%0%i%`$G$7$?!#\e(B@file{tiny-mime.el} \e$B$O\e(B B-encoding \e$B$@$1$G$J$/\e(B 
1565 Q-encoding \e$B$b\e(Bsupport \e$B$7!"$^$?!"\e(BMULE \e$B$G07$&$3$H$,$G$-$k$5$^$6$^$J\e(B MIME
1566 charset (@ref{MIME charset}) \e$B$rF1;~$K;H$&$3$H$,$G$-$^$7$?!#$3$N;~!"\e(B
1567 Nemacs \e$B$H\e(B Mule \e$B$NAPJ}$r\e(B support \e$B$9$k$?$a$KMQ$$$i$l$?%F%/%K%C%/$O8e$K\e(B emu
1568 package \e$B$K$^$H$a$i$l$^$9!#\e(B@refill
1569
1570 \e$B$3$N:"!"<i2,\e(B \e$BCNI'\e(B \e$B$O\e(B @file{tiny-mime.el} \e$B$r$5$^$6$^$J\e(B MUA \e$B$G;H$&$?$a$N@_\e(B
1571 \e$BDj=8$bG[I[$7$F$$$^$7$?$,!"$=$l$i$O8e$K\e(B@file{tiny-mime.el} \e$B$H$H$b$K#1$D$N\e(B 
1572 package \e$B$K$^$H$a$i$l!"\e(Btm \e$B$H$$$&L>A0$GG[I[$5$l$^$9!#\e(B@refill
1573
1574 \e$B<i2,\e(B \e$BCNI'\e(B \e$B$O$d$,$F!"\e(BMIME message \e$B$r1\Mw$9$k$?$a$N%W%m%0%i%`$G$"$k\e(B
1575 @file{tm-body.el} \e$B$r=q$-$^$9!#$3$l$O!"$9$0$K\e(B@file{tm-view.el} \e$B$H$$$&L>A0\e(B
1576 \e$B$KJQ$o$j$^$7$?$,!"$d$,$F!"$3$l$,\e(B@file{tiny-mime.el} \e$B$KBe$o$C$F!"\e(Btm \e$B$NCf\e(B
1577 \e$B3K$H$J$j$^$9!#\e(B@refill
1578
1579 @file{tm-view.el} \e$B$OEvA3!"\e(BContent-Transfer-Encoding \e$B$r07$&I,MW$,$"$j$^$9!#\e(B
1580 \e$B$3$NL\E*$N$?$a$K!"\e(BMEL \e$B$,@0Hw$5$l$O$8$a$^$7$?!#\e(BBase64 \e$B$K4X$7$F$O\e(B 
1581 @file{tiny-mime.el} \e$B$N\e(B code \e$B$,0\$5$l!"$^$?!"?7$?$K\e(BQuoted-Printable \e$B$N\e(B 
1582 code \e$B$,DI2C$5$l$^$7$?!#$3$l$i$,\e(B@file{mel-b.el} \e$B$H\e(B @file{mel-q.el} \e$B$K$J$j\e(B
1583 \e$B$^$7$?!#\e(B@refill
1584
1585 \e$B$^$?!"8e$K!"<i2,\e(B \e$BCNI'\e(B \e$B$K$h$C$F\e(B uuencode \e$BMQ$N\e(B @file{mel-u.el} \e$B$,DI2C$5$l!"\e(B
1586 \e$B$=$N8e$K!">.NS\e(B \e$B=$J?\e(B \e$B;a$K$h$C$F\e(B x-gzip64 \e$BMQ$N\e(B@file{mel-g.el} \e$B$,DI2C$5$l$^\e(B
1587 \e$B$7$?!#\e(B@refill
1588
1589 tm \e$B$G$O8e$K!"<i2,\e(B \e$BCNI'\e(B \e$B$K$h$C$F\e(B @file{tiny-mime.el} \e$B$N:F<BAu$,9T$o$l!"$3\e(B
1590 \e$B$N2aDx$G!"\e(BSTD 11 \e$B$N\e(B parser \e$B$,=q$+$l$^$7$?!#$3$l$O!"8=:_$N\e(B 
1591 @file{std11.el} \e$B$KEv$?$j$^$9!#$^$?!"$3$N2aDx$G\e(B @file{tiny-mime.el} \e$B$OI|\e(B
1592 \e$B9f2=$r9T$&\e(B @file{tm-ew-d.el} \e$B$HId9f2=$r9T$&\e(B @file{tm-ew-e.el} \e$B$KJ,$1$i$l\e(B
1593 \e$B$^$7$?!#$3$NN><T$,8=:_$N\e(B @file{eword-decode.el} \e$B$H\e(B 
1594 @file{eword-encode.el} \e$B$N@hAD$KEv$?$j$^$9!#\e(B@refill
1595
1596 \e$B8e$K!"<i2,\e(B \e$BCNI'\e(B \e$B$i$K$h$C$F\e(B tm \e$B$NA4LL=q$-49$(:n6H$,9T$o$l!"$3$N2aDx$G!"\e(Btm 
1597 \e$B$O\e(B APEL, MEL, SEMI, EMH, RMAIL-MIME, Gnus-MIME \e$B$J$I$KJ,$1$i$l$^$7$?!#$3\e(B
1598 \e$B$N$&$A$N\e(B MEL \e$B$,\e(B FLIM \e$B$ND>@\$N@hAD$KEv$?$j$^$9!#\e(B@refill
1599
1600 \e$B8e$K!"\e(BAPEL \e$B$+$i\e(B @file{std11.el} \e$B$,0\$5$l!"$^$?!"\e(B@file{mailcap.el},
1601 @file{eword-decode.el} \e$B$*$h$S\e(B @file{eword-encode.el} \e$B$,\e(B SEMI \e$B$+$i0\$5$l!"\e(B
1602 package \e$B$NL>A0$,\e(B FLIM \e$B$H$J$j$^$9!#\e(B@refill
1603
1604 \e$B$3$ND>A0$+$iEDCf\e(B \e$BE/\e(B \e$B;a$,$h$j\e(B RFC \e$B$KCi<B$J<BAu$r=q$-;O$a!"$3$l$O!"8=:_!"\e(B
1605 FLIM \e$B$N;^$G$"$k\e(B ``FLIM-FLAM'' \e$B$H$J$C$F$$$^$9!#\e(B
1606
1607
1608 @node Concept Index, Function Index, Appendix, Top
1609 @chapter \e$B35G0:w0z\e(B
1610
1611 @printindex cp
1612
1613 @node Function Index, Variable Index, Concept Index, Top
1614 @chapter \e$B4X?t:w0z\e(B
1615
1616 @printindex fn
1617
1618 @node Variable Index,  , Function Index, Top
1619 @chapter \e$BJQ?t:w0z\e(B
1620
1621 @printindex vr
1622 @bye