New file.
authormorioka <morioka>
Sat, 4 Jul 1998 11:28:15 +0000 (11:28 +0000)
committermorioka <morioka>
Sat, 4 Jul 1998 11:28:15 +0000 (11:28 +0000)
mime-en.sgml [new file with mode: 0644]

diff --git a/mime-en.sgml b/mime-en.sgml
new file mode 100644 (file)
index 0000000..264996e
--- /dev/null
@@ -0,0 +1,1265 @@
+<!doctype sinfo system>
+<head>
+<title>FLIM 1.8 Manual about MIME Features
+<author>MORIOKA Tomohiko <mail>morioka@jaist.ac.jp</mail>
+<date>1998/07/01
+
+<toc>
+</head>
+
+<body>
+
+<abstract>
+<p>
+This file documents MIME features of FLIM, a Internet message
+parsing/encoding library for GNU Emacs.
+</abstract>
+
+
+<h1> What is FLIM?
+<node> Introduction
+<p>
+FLIM is a library to provide basic features about message
+representation or encoding.
+
+
+<h1> How to use MIME features
+<node> How to use
+<p>
+Please eval following to use MIME features provided by FLIM:
+
+<lisp>
+(require 'mime)
+</lisp>
+
+
+<h1> Message and Entity
+<node> Entity
+<p>
+According to <dref>RFC 2045</dref>, `The term ``entity'', refers
+specifically to the MIME-defined header fields and contents of either
+a message or one of the parts in the body of a multipart entity.'  In
+this document, the term <concept>entity</concept> indicates all of
+header fields and body.
+<p>
+The definition of RFC 2045 indicates that a MIME message is a tree.
+An message is a tree, each node is an entity, like following figure.
+Namely MIME extends message to tree structure.
+<p>
+FLIM uses <concept>mime-entity</concept> structure to represent
+information of entity.  In this document, it is called simply
+`mime-entity'.
+<p>
+\e$BA0=R$N$h$&$K!"\e(Bmessage \e$BCf$N3F\e(B entity \e$B$OLZ$N@a$KEv$?$j$^$9$,!"$3$NLZ$K$O\e(B
+\e$B?<$5$HF1$8?<$5$NCf$N=gHV$K=>$C$FHV9f$,IU$1$k$3$H$,$G$-$^$9!#B($A!"\e(B
+<verb>
+
+                              \e$B(#(!(!(!($\e(B
+                              \e$B("\e(B  nil \e$B("\e(B
+                              \e$B(&(!(((!(%\e(B
+              \e$B(#(!(!(!(!(!(!(!(!(!(+(!(!(!(!(!(!(!(!(!($\e(B
+            \e$B(#(*($\e(B              \e$B(#(*($\e(B              \e$B(#(*($\e(B
+            \e$B("#0("\e(B              \e$B("#1("\e(B              \e$B("#2("\e(B
+            \e$B(&(((%\e(B              \e$B(&(((%\e(B              \e$B(&(((%\e(B
+              \e$B("\e(B        \e$B(#(!(!(!(!(+(!(!(!(!($\e(B        \e$B("\e(B
+          \e$B(#(!(*(!($(#(!(*(!($(#(!(*(!($(#(!(*(!($(#(!(*(!($\e(B
+          \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
+          \e$B(&(!(!(!(%(&(!(!(!(%(&(!(!(!(%(&(!(!(!(%(&(!(!(!(%\e(B
+
+</verb>
+<p>
+<noindent>\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
+\e$B$r\e(B <concept>entity-number</concept> \e$B$H8F$S$^$9!#\e(Bentity-number \e$B$O\e(B S \e$B<0$H\e(B
+\e$B$7$F$O\e(B <code>(1 2 3)</code> \e$B$N$h$&$J@0?t$N%j%9%H$H$7$FI=8=$5$l$^$9!#\e(B
+<p>
+mime-entity \e$B$G$O!"$3$l$HF1MM$N\e(B <concept>node-id</concept> \e$B$rMQ$$$^$9!#\e(B
+node-id \e$B$O$A$g$&$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 node-id \e$B$O\e(B <code>(3 2 1)</code> \e$B$G$9!#\e(B
+<p>
+\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
+\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
+local \e$BJQ?t\e(B <code>mime-message-structure</code> \e$B$K3JG<$9$k$3$H$K$7$^$9!#\e(B
+\e$B$=$7$F!"\e(Bentity-number \e$B$d\e(B node-id \e$B$rMQ$$$k$3$H$G\e(B 
+<code>mime-message-structure</code> \e$B$K$*$1$k\e(B entity \e$B$NAjBPE*$J0LCV4X78$r\e(B
+\e$B07$&$3$H$,$G$-$^$9!#\e(B
+
+
+<h2> Functions to create mime-entity
+<node> Entity creation
+<p>
+<defun name="mime-open-entity">
+         <opts> type location
+<p>
+Open an entity and return it.
+<p>
+<var>type</var> is representation-type. <cf node="mm-backend">
+<p>
+<var>location</var> is location of entity.  Specification of it is
+depended on representation-type.
+</defun>
+
+<defun name="mime-parse-message">
+         <opts> default-ctl node-id
+<p>
+Parse current buffer as message, and return the result as mime-entity.
+</defun>
+
+<defun name="mime-parse-buffer">
+         <opts> buffer
+<p>
+Parse <var>buffer</var> as message, and set the result to buffer local
+variable <code>mime-message-structure</code> of <var>buffer</var> as
+mime-entity.
+<p>
+If <var>buffer</var> is omitted, current buffer is used.
+</defun>
+
+
+<h2> Features about message tree
+<node> Entity hierarchy
+<p>
+<defvar name="mime-message-structure">
+<p>
+Buffer local variable to store mime-entity structure of message.
+</defvar>
+
+<defun name="mime-entity-children">
+         <args> entity
+<p>
+Return list of entities included in the <var>entity</var>.
+</defun>
+
+<defun name="mime-entity-parent">
+         <args> entity <opts> message
+<p>
+Return parent entity of the <var>entity</var>.
+<p>
+If <var>message</var> is specified, it is regarded as root instead of
+<code>mime-message-structure</code>.
+</defun>
+
+<defun name="mime-root-entity-p">
+         <args> entity
+<p>
+Return non-<code>nil</code> if <var>entity</var> is root entity
+(message).
+</defun>
+
+<defun name="mime-entity-node-id">
+         <args> entity
+<p>
+Return node-id of <var>entity</var>.
+</defun>
+
+<defun name="mime-entity-number">
+         <args> entity
+<p>
+Return entity-number of <var>entity</var>.
+</defun>
+
+<defun name="mime-find-entity-from-number">
+           <args> entity-number <opts> message
+<p>
+Return entity from <var>entity-number</var> in <var>message</var>.
+<p>
+If <var>message</var> is not specified,
+<code>mime-message-structure</code> is used.
+</defun>
+
+<defun name="mime-find-entity-from-node-id">
+           <args> entity-node-id <opts> message
+<p>
+Return entity from <var>entity-node-id</var> in <var>message</var>.
+<p>
+If <var>message</var> is not specified,
+<code>mime-message-structure</code> is used.
+</defun>
+
+
+<h2> Functions about attributes of mime-entity
+<node> Entity Attributes
+<p>
+<defun name="mime-entity-content-type">
+           <args> entity
+<p>
+Return content-type of <var>entity</var>.
+<cf node="mime-content-type">
+</defun>
+
+<defun name="mime-entity-content-disposition">
+           <args> entity
+<p>
+Return content-disposition of <var>entity</var>. <cf
+node="mime-content-disposition">
+</defun>
+
+<defun name="mime-entity-filename">
+           <args> entity
+<p>
+Return file name of <var>entity</var>.
+</defun>
+
+<defun name="mime-entity-encoding">
+           <args> entity
+<p>
+Return content-transfer-encoding of <var>entity</var>.
+<cf node="Content-Transfer-Encoding">
+</defun>
+
+<defun name="mime-entity-cooked-p">
+           <args> entity
+<p>
+Return non-nil if contents of <var>entity</var> has been already
+code-converted.
+</defun>
+
+
+<h2> Information of entity header
+<node> Entity-header
+<p>
+<defun name="mime-fetch-field">
+           <args> field-name <opts> entity
+<p>
+Return field-body of <var>field-name</var> field in header of
+<var>entity</var>.
+<p>
+The results is network representation.
+<p>
+If <var>entity</var> is omitted, <code>mime-message-structure</code>
+is used as default value.
+<p>
+If <var>field-name</var> field is not found, this function returns
+<code>nil</code>.
+</defun>
+
+<defun name="mime-read-field">
+           <args> field-name <opts> entity
+<p>
+Parse <var>field-name</var> field in header of <var>entity</var>, and
+return the result.
+<p>
+Format of result is depended on kind of field.  For non-structured
+field, this function returns string.  For structured field, it returns
+list corresponding with structure of the field.
+<p>
+Strings in the result will be converted to internal representation of
+Emacs.
+<p>
+If <var>entity</var> is omitted, <code>mime-message-structure</code>
+is used as default value.
+<p>
+If <var>field-name</var> field is not found, this function returns
+<code>nil</code>.
+</defun>
+
+<defun name="mime-insert-decoded-header">
+           <args> entity <opts> invisible-fields visible-fields
+<p>
+Insert before point a decoded contents of header of <var>entity</var>.
+<p>
+<var>invisible-fields</var> is list of regexps to match field-name to
+hide.  <var>visible-fields</var> is list of regexps to match
+field-name to hide.
+<p>
+If a field-name is matched with some elements of
+<var>invisible-fields</var> and matched with none of
+<var>visible-fields</var>, this function don't insert the field.
+</defun>
+
+
+<h2> Contents of Entity
+<node> Entity-content
+<p>
+<defun name="mime-entity-content">
+           <args> entity
+<p>
+Return content of <var>entity</var> as byte sequence.
+</defun>
+
+<defun name="mime-write-entity-content">
+           <args> entity filename
+<p>
+Write content of <var>entity</var> into <var>filename</var>.
+</defun>
+
+<defun name="mime-write-entity">
+           <args> entity filename
+<p>
+Write representation of <var>entity</var> into <var>filename</var>.
+</defun>
+
+<defun name="mime-write-entity-body">
+           <args> entity filename
+<p>
+Write body of <var>entity</var> into <var>filename</var>.
+</defun>
+
+
+<h2> Entity as buffer representation
+<node> Entity buffer
+<p>
+<defun name="mime-entity-buffer">
+           <args> entity
+<p>
+Return buffer, which contains <var>entity</var>.
+</defun>
+
+<defun name="mime-entity-point-min">
+           <args> entity
+<p>
+Return the start point of <var>entity</var> in the buffer which
+contains <var>entity</var>.
+</defun>
+
+<defun name="mime-entity-point-max">
+           <args> entity
+<p>
+Return the end point of <var>entity</var> in the buffer which
+contains <var>entity</var>.
+</defun>
+
+<defun name="mime-entity-header-start">
+           <args> entity
+<p>
+Return the start point of header of <var>entity</var> in the buffer
+which contains <var>entity</var>.
+</defun>
+
+<defun name="mime-entity-header-end">
+           <args> entity
+<p>
+Return the end point of header of <var>entity</var> in the buffer
+which contains <var>entity</var>.
+</defun>
+
+<defun name="mime-entity-body-start">
+           <args> entity
+<p>
+Return the start point of body of <var>entity</var> in the buffer
+which contains <var>entity</var>.
+</defun>
+
+<defun name="mime-entity-body-end">
+           <args> entity
+<p>
+Return the end point of body of <var>entity</var> in the buffer which
+contains <var>entity</var>.
+</defun>
+
+
+<h2> Entity representations and implementations
+<node> mm-backend
+<p>
+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
+\e$B$5$^$6$^$J$b$N$,MxMQ$G$-$k$h$&$K@_7W$5$l$F$$$^$9!#\e(B
+<p>
+\e$B$3$3$G!"\e(Bentity \e$B$,$I$&$$$&<oN`$NI=8=$r9T$C$F$$$k$+$r<($9$N$,\e(B
+<concept>representation-type</concept> \e$B$G!"\e(Bentity \e$B$r@8@.$9$k;~$K$O$3$l$r\e(B
+\e$B;XDj$7$^$9!#\e(B<cf node="Entity Creation">
+<p>
+\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
+\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 \e$B$rCN$C$F$*$j!"$=$N\e(B representation-type \e$B$K1~$8$F<B:]\e(B
+\e$B$N=hM}$r9T$&4X?t$r8F$S=P$7$^$9!#$3$N$h$&$J4X?t$r\e(B <concept>entity \e$B=hM}\e(B
+method</concept> \e$B$H8F$S$^$9!#$^$?!"\e(Brepresentation-type \e$BKh$K$3$N$h$&$J4X\e(B
+\e$B?t$r$^$H$a$?$b$N$r\e(B <concept>mm-backend</concept> \e$B$H8F$S$^$9!#\e(B
+<p>
+mm-backend \e$B$O\e(B representation-type \e$B$NL>A0$N@hF,$K\e(B <code>mm</code> \e$B$H$$$&\e(B
+\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
+representation-type \e$B$NL>A0$N@hF,$K\e(B <code>mm</code> \e$B$rIU$1$?$b$N$K$J$C$F\e(B
+\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
+\e$B;~$K<+F0E*$K\e(B require \e$B$5$l$^$9!#\e(B
+
+
+<h3> Message-passing for entity
+<node> Request for entity
+<p>
+<defun name="mime-entity-send">
+             <args> entity message <rest> args
+<p>
+<var>entity</var> \e$B$K\e(B <var>message</var> \e$B$rAw$k!#\e(B
+<p>
+<var>args</var> \e$B$O\e(B <var>message</var> \e$B$N0z?t$G$"$k!#\e(B
+</defun>
+
+
+<h3> How to make mm-backend
+<node> mm-backend module
+<p>
+\e$B!J$9$_$^$;$s!#$=$N$&$A=q$-$^$9\e(B (^_^;\e$B!K\e(B
+<p>
+\e$B!J$H$j$"$($:!"\e(Bmm*.el \e$B$r;29M$K$7$F$/$@$5$$!K\e(B
+
+
+<h1> Information of Content-Type field
+<node> Content-Type
+<p>
+<concept>Content-Type field</concept> is a field to indicate kind of
+contents or data format, such as <dref>media-type</dref> and MIME
+charset.  It is defined in <dref>RFC 2045</dref>.
+
+<memo>
+<p>
+Historically, Content-Type field was proposed in RFC 1049.  In it,
+Content-Type did not distinguish type and subtype, and there are no
+mechanism to represent kind of character code like MIME charset.
+</memo>
+
+<p>
+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
+\e$B3JG<$9$k9=B$BN\e(B <concept>mime-content-type</concept> \e$B$rDs6!$7$^$9!#\e(B
+
+
+<h2> Format of Content-Type field
+<node> Content-Type field
+<p>
+Content-Type \e$BMs$N7A<0$O0J2<$N$h$&$KDj5A$5$l$F$$$^$9!'\e(B
+
+<quote>
+``Content-Type'' ``:'' <concept>type</concept> ``/''
+<concept>subtype</concept> *( ``;'' <concept>parameter</concept> )
+</quote>
+<p>
+\e$BNc$($P!"\e(B
+
+<quote>
+<verb>
+Content-Type: image/jpeg
+</verb>
+</quote>
+
+<noindent>
+\e$B$d\e(B
+
+<quote>
+<verb>
+Content-Type: text/plain; charset=iso-2022-jp
+</verb>
+</quote>
+
+<noindent>
+\e$B$J$I$N$h$&$KMQ$$$i$l$^$9!#\e(B
+<p>
+\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
+\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
+`text/plain' \e$B$O\e(B media-type \e$B$N#1$D$G$9!#\e(B
+
+<memo>
+<p>
+Content-Type \e$BMs$N$J$$\e(B entity \e$B$O\e(B
+
+<quote>
+<verb>
+Content-Type: text/plain; charset=us-ascii
+</verb>
+</quote>
+
+<noindent>
+\e$B$H$7$F2r<a$5$l$k!#\e(B<cf node="us-ascii">
+</memo>
+
+
+<h2> mime-content-type structure
+<node> mime-content-type
+<p>
+<define type="Structure" name="mime-content-type">
+<p>
+Content-Type \e$BMs$N>pJs$r3JG<$9$k$?$a$N9=B$BN!#\e(B
+<p>
+\e$B$3$N9=B$BN$r;2>H$9$k$K$O\e(B <code>mime-content-type-\e$BMWAGL>\e(B</code> \e$B$H$$$&L>\e(B
+\e$BA0$N;2>H4X?t$rMQ$$$k!#\e(B
+<p>
+\e$B$3$N9=B$BN$NMWAG$O0J2<$NDL$j$G$"$k!'\e(B
+
+<vl>
+<dt>primary-type<dd>media-type \e$B$N<g7?\e(B (symbol).
+</dd>
+<dt>subtype<dd>media-type \e$B$NI{7?\e(B (symbol).
+</dd>
+<dt>parameters<dd>Content-Type \e$BMs$N\e(B parameter (\e$BO"A[\e(B list).
+</dd>
+</vl>
+</define>
+
+<defun name="make-mime-content-type">
+         <args> type subtype
+         <opts> parameters
+<p>content-type \e$B$N@8@.;R!#\e(B
+</defun>
+
+<defun name="mime-content-type-parameter">
+<args> content-type parameter
+<p>
+<var>content-type</var> \e$B$N\e(B <var>parameter</var> \e$B$NCM$rJV$9!#\e(B
+</defun>
+
+
+<h2> Content-Type \e$BMs$N2r@O4o\e(B
+<node> Content-Type parser
+<p>
+<defun name="mime-parse-Content-Type">
+         <args> string
+<p>
+<var>string</var> \e$B$r\e(B content-type \e$B$H$7$F2r@O$7$?7k2L$rJV$9!#\e(B
+</defun>
+
+<defun name="mime-read-Content-Type">
+<p>
+\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
+<p>
+Content-Type \e$BMs$,B8:_$7$J$$>l9g$O\e(B nil \e$B$rJV$9!#\e(B
+</defun>
+
+
+<h2> Content-Type \e$B$K4X$9$kM-MQ$J4X?t\e(B
+<node> Content-Type utility
+<p>
+<defun name="mime-type/subtype-string">
+         <args> type <opts> subtype
+<p>
+<var>type</var> \e$B$H\e(B <var>subtype</var> \e$B$+$i\e(B type/subtype \e$B7A<0$NJ8;zNs$rJV\e(B
+\e$B$9!#\e(B
+</defun>
+
+
+<h1> Content-Disposition \e$BMs$N>pJs\e(B
+<node> Content-Disposition
+<p>
+<concept>Content-Disposition \e$BMs\e(B</concept> \e$B$O\e(B entity \e$B$NI=<($d\e(B file \e$BL>$J$I\e(B
+\e$B$NB0@-$K$J$I$K4X$9$k>pJs$r5-=R$9$k$?$a$N$b$N$G$9!#\e(B
+
+<rfc number="2183" type="Standards Track"
+             author="S. Dorner, K. Moore and R. Troost"
+             title="Communicating Presentation Information in
+             Internet Messages: The Content-Disposition Header"
+             date="August 1997">
+<p>
+FLIM \e$B$O\e(B Content-Disposition \e$BMs$r9=J82r@O$9$k4X?t$H\e(B Content-Disposition 
+\e$BMs$N2r@O7k2L$r3JG<$9$k9=B$BN\e(B 
+<concept>mime-content-disposition</concept> \e$B$rDs6!$7$^$9!#\e(B
+
+
+<h2> mime-content-disposition \e$B9=B$BN\e(B
+<node> mime-content-disposition
+<p>
+<define type="Structure" name="mime-content-disposition">
+<p>
+Content-Disposition \e$BMs$N2r@O7k2L$r<}$a$k$?$a$N9=B$BN!#\e(B
+<p>
+\e$B$3$N9=B$BN$r;2>H$9$k$K$O\e(B <code>mime-content-disposition-\e$BMWAGL>\e(B</code> \e$B$H\e(B
+\e$B$$$&L>A0$N;2>H4X?t$rMQ$$$k!#\e(B
+<p>
+\e$B$3$N9=B$BN$NMWAG$O0J2<$NDL$j$G$"$k!'\e(B
+
+<vl>
+<dt>disposition-type<dd>disposition-type (symbol).
+</dd>
+<dt>parameters<dd>Content-Disposition \e$BMs$N\e(B parameter (\e$BO"A[\e(B list).
+</dd>
+</vl>
+</define>
+
+<defun name="mime-content-disposition-parameter">
+<args> content-disposition parameter
+<p>
+<var>content-disposition</var> \e$B$N\e(B <var>parameter</var> \e$B$NCM$rJV$9!#\e(B
+</defun>
+
+<defun name="mime-content-disposition-filename">
+<args> content-disposition
+<p>
+<var>content-disposition</var> \e$B$N\e(B filename \e$B$NCM$rJV$9!#\e(B
+</defun>
+
+
+<h2> Content-Disposition \e$BMs$N2r@O4o\e(B
+<node> Content-Disposition parser
+<p>
+<defun name="mime-parse-Content-Disposition">
+           <args> string
+<p>
+<var>string</var> \e$B$r\e(B content-disposition \e$B$H$7$F2r@O$7$?7k2L$rJV$9!#\e(B
+</defun>
+
+<defun name="mime-read-Content-Disposition">
+<p>
+\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
+<p>
+Content-Disposition \e$BMs$,B8:_$7$J$$>l9g$O\e(B nil \e$B$rJV$9!#\e(B
+</defun>
+
+
+<h1> \e$BId9f2=K!\e(B
+<node> Content-Transfer-Encoding
+<p>
+<concept>Content-Transfer-Encoding \e$BMs\e(B</concept> \e$B$O\e(B entity \e$B$NId9f2=K!$r5-\e(B
+\e$B=R$9$k$?$a$N$b$N$G$9!#\e(B
+<p>
+FLIM \e$B$G$O\e(B Content-Transfer-Encoding \e$BMs$r9=J82r@O$9$k4X?t$rDs6!$7$^$9!#$3\e(B
+\e$B$l$i$N4X?t$O\e(B Content-Transfer-Encoding \e$BMs$N>pJs$OJ8;zNs$GI=8=$7$^$9!#\e(B
+<p>
+\e$B$^$?!"\e(BContent-Transfer-Encoding \e$B$K4p$E$$$FId9f2=!&I|9f2=$r9T$&4X?t$bDs\e(B
+\e$B6!$5$l$^$9!#\e(B
+
+
+<h2> Content-Transfer-Encoding \e$BMs$N2r@O4o\e(B
+<node> Content-Transfer-Encoding parser
+<p>
+<defun name="mime-parse-Content-Transfer-Encoding">
+         <args> string
+<p>
+<var>string</var> \e$B$r\e(B content-transfer-encoding \e$B$H$7$F2r@O$7$?7k2L$rJV$9!#\e(B
+</defun>
+
+<defun name="mime-read-Content-Transfer-Encoding">
+         <opts>default-encoding
+<p>
+\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
+\e$BJV$9!#\e(B
+<p>
+Content-Transfer-Encoding \e$BMs$,B8:_$7$J$$>l9g$O\e(B
+<var>default-encoding</var> \e$B$rJV$9!#\e(B
+</defun>
+
+
+<h2> \e$BNN0h$NId9f2=!&I|9f2=\e(B
+<node> Region encoder/decoder
+<p>
+<defun name="mime-encode-region">
+           <args> start end encoding
+<p>
+Encode region <var>start</var> to <var>end</var> of current buffer
+using <var>encoding</var>.
+</defun>
+
+<defun name="mime-decode-region">
+           <args> start end encoding
+<p>
+Decode region <var>start</var> to <var>end</var> of current buffer
+using <var>encoding</var>.
+</defun>
+
+<defvar name="mime-encoding-method-alist">
+<p>
+Alist of encoding vs. corresponding method to encode region.
+<p>
+Each element looks like <code>(STRING . FUNCTION)</code> or
+<code>(STRING . nil)</code>.  <var>string</var> is
+content-transfer-encoding.  <code>function</code> is region encoder
+and <code>nil</code> means not to encode.
+</defvar>
+
+<defvar name="mime-decoding-method-alist">
+<p>
+Alist of encoding vs. corresponding method to decode region.
+<p>
+Each element looks like <code>(STRING . FUNCTION)</code> or
+<code>(STRING . nil)</code>.  <var>string</var> is
+content-transfer-encoding.  <code>function</code> is region decoder
+and <code>nil</code> means not to decode.
+</defvar>
+
+
+<h2> \e$BJ8;zNs$NId9f2=!&I|9f2=\e(B
+<node> String encoder/decoder
+<p>
+<defun name="mime-decode-string">
+             <args> string encoding
+<p>
+<var>string</var> \e$B$r\e(B <var>encoding</var> \e$B$H$7$FI|9f$7$?7k2L$rJV$7$^$9!#\e(B
+</defun>
+
+<defvar name="mime-string-decoding-method-alist">
+<p>
+Alist of encoding vs. corresponding method to decode string.
+<p>
+Each element looks like <code>(STRING . FUNCTION)</code>.
+STRING is content-transfer-encoding.
+FUNCTION is string decoder.
+</defvar>
+
+
+<h2> File \e$B$NId9f2=!&I|9f2=\e(B
+<node> File encoder/decoder
+<p>
+<defun name="mime-insert-encoded-file">
+           <args> filename encoding
+<p>
+Insert file <var>FILENAME</var> encoded by <var>ENCODING</var> format.
+</defun>
+
+<defun name="mime-write-decoded-region">
+             <args> start end filename encoding
+<p>
+Decode and write current region encoded by <var>encoding</var> into
+<var>filename</var>.
+<p>
+<var>start</var> and <var>end</var> are buffer positions.
+</defun>
+
+<defvar name="mime-file-encoding-method-alist">
+<p>
+Alist of encoding vs. corresponding method to insert encoded file.
+<p>
+Each element looks like <code>(STRING . FUNCTION)</code>.  STRING is
+content-transfer-encoding.  FUNCTION is function to insert encoded
+file.
+</defvar>
+
+<defvar name="mime-file-decoding-method-alist">
+<p>
+Alist of encoding vs. corresponding method to write decoded region to
+file.
+<p>
+Each element looks like <code>(STRING . FUNCTION)</code>.  STRING is
+content-transfer-encoding.  FUNCTION is function to write decoded
+region to file.
+</defvar>
+
+
+<h1> Header \e$B$N\e(B network \e$BI=8=\e(B
+<node> encoded-word
+<p>
+encoded-word \e$B$O\e(B header \e$B$GHs\e(B <dref>ASCII</dref> \e$BJ8;z$rI=8=$9$k$?$a$N7A\e(B
+\e$B<0$G!"\e(B<concept>RFC 2047</concept> \e$B$GDj5A$5$l$F$$$^$9!#\e(B
+<p>
+<rfc number="2047" type="Standards Track" author="K. Moore"
+             title="MIME (Multipurpose Internet Mail Extensions) Part
+             Three: Message Header Extensions for Non-ASCII Text"
+             date="November 1996" obsolete="1521,1522,1590">
+<p>
+\e$B$^$?!"9T57$N0-$$$3$H$@$H8@$($^$9$,!"\e(Bencoded-word \e$B$rMQ$$$:$KHs\e(B 
+<dref>ASCII</dref> \e$BJ8;z$r\e(B header \e$B$KF~$l$?5-;v$bB8:_$7$^$9!#\e(B
+<p>
+FLIM \e$B$O$3$l$i$rId9f2=!&I|9f2=$9$k5!G=$rDs6!$7$^$9!#\e(B
+
+
+<h2> Header \e$B$NId9f2=!&I|9f2=\e(B
+<node> Header encoder/decoder
+<p>
+<defun name="eword-encode-header">
+             <opts> code-conversion separator
+<p>
+Decode MIME encoded-words in header fields.
+<p>
+If <var>code-conversion</var> is <code>nil</code>, it decodes only
+encoded-words.  If it is mime-charset, it decodes non-ASCII bit
+patterns as the mime-charset.  Otherwise it decodes non-ASCII bit
+patterns as the default-mime-charset.
+<p>
+If <var>separator</var> is not nil, it is used as header separator.
+</defun>
+
+<defun name="eword-encode-header">
+             <opts> code-conversion
+<p>
+Encode header fields to network representation, such as MIME
+encoded-word.
+<p>
+It refer variable <code>eword-field-encoding-method-alist</code>.
+</defun>
+
+
+<h1> \e$B0lHL@_Dj\e(B
+<node> custom
+<p>
+<define type="group" name="mime">
+<p>
+MIME \e$B4XO"5!G=$K4X$9$k\e(B group.
+<p>
+<code>mail</code> \e$B$H\e(B <code>news</code> \e$B$KB0$9$k!#\e(B
+</define>
+
+<defvar name="default-mime-charset">
+<p>
+\e$BE,@Z$J\e(B <dref>MIME charset</dref> \e$B$,8+$D$+$i$J$+$C$?>l9g$KMQ$$$i$l$k\e(B
+MIME charset.
+<p>
+\e$BK\Mh$O\e(B APEL \e$B$NJQ?t$G$"$k!#\e(B
+</defvar>
+
+<defvar name="mime-temp-directory">
+<p>
+MIME \e$B5!G=$K4X$9$k<BAu$,0l;~E*$K;HMQ$9$k\e(B file \e$B$r:n@.$9$k\e(B directory.
+<p>
+\e$B4D6-JQ?t\e(B <code>MIME_TMP_DIR</code>, <code>TM_TMP_DIR</code>,
+<code>TMPDIR</code>, <code>TMP</code> \e$B$b$7$/$O\e(B <code>TEMP</code> \e$B$,@_Dj\e(B
+\e$B$5$l$F$$$?>l9g!"$=$l$r=i4|CM$H$7$FMQ$$$k!#2?$b@_Dj$5$l$F$$$J$$>l9g!"\e(B
+<code>"/tmp/"</code> \e$B$rMQ$$$k!#\e(B
+</defvar>
+
+
+<h1> Appendix
+<node> Appendix
+
+<h2> Glossary
+<node> Glossary
+
+<h3> 7bit
+<node> 7bit
+<p>
+<concept>7bit</concept> means any integer between 0 .. 127.
+<p>
+Any data represented by 7bit integers is called <concept>7bit
+data</concept>.
+<p>
+Textual string consisted of Control characters between 0 .. 31 and
+127, and space represented by 32, and graphic characters between 33
+.. 236 are called <concept>7bit (textual) string</concept>.
+<p>
+Conventional Internet <a node="MTA">MTA</a> can translate 7bit data,
+so it is no need to translate by <a
+node="Quoted-Printable">Quoted-Printable</a> or <a
+node="Base64">Base64</a> for 7bit data.
+<p>
+However if there are too long lines, it can not translate by 7bit MTA
+even if it is 7bit data.  <dref>RFC 821</dref> and <dref>RFC
+2045</dref> require lines in 7bit data must be less than 998 bytes.
+So if a ``7bit data'' has a line more than 999 bytes, it is regarded
+as <dref>binary</dref>.  For example, Postscript file should be
+encoded by Quoted-Printable.
+
+
+<h3> 8bit
+<node> 8bit
+<p>
+<concept>8bit</concept> means any integer between 0 .. 255.
+<p>
+Any data represented by 8bit integers is called <concept>8bit
+data</concept>.
+<p>
+Textual string consisted of Control characters between 0 .. 31, 127,
+and 128 .. 159, and space represented by 32, and graphic characters
+between 33 .. 236 and 160 .. 255 are called <concept>8bit (textual)
+string</concept>.
+<p>
+For example, <dref>iso-8859-1</dref> or <dref>euc-kr</dref> are
+coded-character-set represented by 8bit textual string.
+<p>
+Traditional Internet <a node="MTA">MTA</a> can translate only
+<dref>7bit</dref> data, so if a 8bit data will be translated such MTA,
+it must be encoded by <dref>Quoted-Printable</dref> or
+<dref>Base64</dref>.
+<p>
+However 8bit MTA are increasing today.
+<p>
+However if there are too long lines, it can not translate by 8bit MTA
+even if it is 8bit data.  <dref>RFC 2045</dref> require lines in 8bit
+data must be less than 998 bytes.  So if a ``8bit data'' has a line
+more than 999 bytes, it is regarded as <dref>binary</dref>, so it must
+be encoded by Base64 or Quoted-Printable.
+
+
+<h3> ASCII
+<node> ASCII
+<p>
+<concept>ASCII</concept> is a 94-character set contains primary latin
+characters (A-Z, a-z), numbers and some characters.  It is a standard
+of the United States of America.  It is a variant of <a node="ISO
+646">ISO 646</a>.
+
+<standard abbrev="ASCII" title-en="Coded Character Set -- 7-Bit
+             American Standard Code for Information Interchange"
+             number="ANSI X3.4" year="1986">
+
+
+<h3> Base64
+<node> Base64
+<p>
+<concept>Base64</concept> is a transfer encoding method of
+<dref>MIME</dref> defined in <dref>RFC 2045</dref>.
+<p>
+The encoding process represents 24-bit groups of input bits as output
+strings of 4 encoded characters.  Encoded characters represent integer
+0 .. 63 or <concept>pad</concept>.  Base64 data must be 4 * n bytes,
+so pad is used to adjust size.
+<p>
+These 65 characters are subset of all versions of ISO 646, including
+US-ASCII, and all versions of EBCDIC.  So it is safe even if it is
+translated by non-Internet gateways.
+
+
+<h3> binary
+<node> binary
+<p>
+Any byte stream is called <concept>binary</concept>.
+<p>
+It does not require structureof lines.  It differs from from <a
+node="8bit">8bit</a>.
+<p>
+In addition, if line structured data contain too long line (more than
+998 bytes), it is regarded as binary.
+
+
+<h3> Coded character set, Character code
+<node> coded character set
+<p>
+A set of unambiguous rules that establishes a character set and the
+one-to-one relationship between the characters of the set and their
+bit combinations.
+
+
+<h3> media-type
+<node> media-type
+<p>
+<concept>media-type</concept> specifies the nature of the data in the
+body of <dref>MIME</dref> <dref>entity</dref>.  It consists of
+<concept>type</concept> and <concept>subtype</concept>.  It is defined
+in <dref>RFC 2046</dref>.
+<p>
+Currently there are following standard primary-types:
+
+<ul>
+<li><concept>text</concept>
+</li>
+<li><concept>image</concept>
+</li>
+<li><concept>audio</concept>
+</li>
+<li><concept>video</concept>
+</li>
+<li><concept>application</concept>
+</li>
+<li><a node="multipart"><concept>multipart</concept></a>
+</li>
+<li><concept>message</concept>
+</ul>
+
+<p>
+And there are various subtypes, for example, application/octet-stream,
+audio/basic, image/jpeg, <dref>multipart/mixed</dref>,
+<dref>text/plain</dref>, video/mpeg...
+
+<p>
+You can refer registered media types at <a
+href="ftp://ftp.isi.edu/in-notes/iana/assignments/media-types">MEDIA
+TYPES</a>.
+<p>
+In addition, you can use private type or subtype using
+<concept>x-token</concept>, which as the prefix `x-'.  However you can
+not use them in public.
+<p>
+<cf node="Content-Type field">
+
+
+<h3> message
+<node> message
+<p>
+In this document, it means mail defined in <dref>RFC 822</dref> and
+news message defined in <dref>RFC 1036</dref>.
+
+
+<h3> MIME
+<node> MIME
+<p>
+MIME stands for <concept>Multipurpose Internet Mail
+Extensions</concept>, it is an extension for <dref>RFC 822</dref>.
+<p>
+According to RFC 2045:
+<p>
+STD 11, RFC 822, defines a message representation protocol specifying
+considerable detail about US-ASCII message headers, and leaves the
+message content, or message body, as flat US-ASCII text.  This set of
+documents, collectively called the Multipurpose Internet Mail
+Extensions, or MIME, redefines the format of messages to allow for
+
+<ol>
+<li>textual message bodies in character sets other than US-ASCII,
+</li>
+<li>an extensible set of different formats for non-textual message
+bodies,
+</li>
+<li>multi-part message bodies, and
+</li>
+<li>textual header information in character sets other than US-ASCII.
+</ol>
+
+<p>
+It is defined in <dref>RFC 2045</dref>, <dref>RFC 2046</dref>, <a
+node="encoded-word">RFC 2047</a>, <dref>RFC 2048</dref> and <dref>RFC
+2049</dref>.
+
+
+<h3> MIME charset
+<node> MIME charset
+<p>
+<a node="coded character set">Coded character set</a> used in
+<dref>Content-Type field</dref> or charset parameter of <a
+node="encoded-word">encoded-word</a>.
+<p>
+It is defined in <dref>RFC 2045</dref>.
+<p>
+<dref>iso-2022-jp</dref> or <dref>euc-kr</dref> are kinds of it.  (In
+this document, MIME charsets are written by small letters to
+distinguish <dref>graphic character set</dref>.  For example, ISO
+8859-1 is a graphic character set, and iso-8859-1 is a MIME charset)
+
+
+<h3> MTA
+<node> MTA
+<p>
+<concept>Message Transfer Agent</concept>.  It means mail transfer
+programs (ex. sendmail) and news servers.
+<p>
+<cf node="MUA">
+
+
+<h3> MUA
+<node> MUA
+<p>
+<concept>Message User Agent</concept>.  It means mail readers and news
+readers.
+<p>
+<cf node="MTA">
+
+
+<h3> Quoted-Printable
+<node> Quoted-Printable
+<p>
+<concept>Quoted-Printable</concept> is a transfer encoding method of
+<dref>MIME</dref> defined in <dref>RFC 2045</dref>.
+<p>
+If the data being encoded are mostly US-ASCII text, the encoded form
+of the data remains largely recognizable by humans.
+<p>
+<cf node="Base64">
+
+
+<h3> RFC 822
+<node> RFC 822
+<p>
+A RFC defines format of Internet mail message, mainly <concept>message
+header</concept>.
+
+<memo>
+<p>
+news message is based on RFC 822, so <concept>Internet
+message</concept> may be more suitable than <concept>Internet
+mail</concept> .
+</memo>
+
+<rfc number="822" type="STD 11" author="D. Crocker" title="Standard
+             for the Format of ARPA Internet Text Messages"
+             date="August 1982">
+
+
+<h3> RFC 1036
+<node> RFC 1036
+<p>
+A RFC defines format of USENET message.  It is a subset of <dref>RFC
+822</dref>.  It is not Internet standard, but a lot of netnews
+excepting Usenet uses it.
+
+<rfc name="USENET" number="1036" author="M. Horton and R. Adams"
+             title="Standard for Interchange of USENET Messages"
+             date="December 1987" obsolete="850">
+
+
+<h3> RFC 2045
+<node> RFC 2045
+<p>
+<rfc number="2045" type="Standards Track" author="N. Freed and
+             N. Borenstein" title="Multipurpose Internet Mail
+             Extensions (MIME) Part One: Format of Internet Message
+             Bodies" date="November 1996" obsolete="1521, 1522,
+             1590">
+
+
+<h3> RFC 2046
+<node> RFC 2046
+<p>
+<rfc number="2046" type="Standards Track" author="N. Freed and
+             N. Borenstein" title="Multipurpose Internet Mail
+                 Extensions (MIME) Part Two: Media Types"
+                 date="November 1996" obsolete="1521, 1522, 1590">
+
+
+<h3> RFC 2048
+<node> RFC 2048
+<p>
+<rfc number="2048" type="Standards Track" author="N. Freed, J. Klensin
+             and J. Postel" title="Multipurpose Internet Mail
+             Extensions (MIME) Part Four: Registration Procedures"
+             date="November 1996" obsolete="1521, 1522, 1590">
+
+
+<h3> RFC 2049
+<node> RFC 2049
+<p>
+<rfc number="2049" type="Standards Track" author="N. Freed and
+             N. Borenstein" title="Multipurpose Internet Mail
+             Extensions (MIME) Part Five: Conformance Criteria and
+             Examples" date="November 1996" obsolete="1521, 1522,
+             1590">
+
+
+<h3> plain text
+<node> plain text
+<p>
+A textual data represented by only <dref>coded character set</dref>.
+It does not have information about font or typesetting.
+<cf node="text/plain">
+
+
+<h3> us-ascii
+<node> us-ascii
+<p>
+A <a node="MIME charset">MIME charset</a> for primary Latin script
+mainly written by English or other languages.
+<p>
+It is a 7bit <dref>coded character set</dref> based on <dref>ISO
+2022</dref>, it contains only
+<dref>ASCII</dref> and <dref>code extension</dref> is not allowed.
+<p>
+It is standard coded character set of Internet mail.  If MIME charset
+is not specified, <concept>us-ascii</concept> is used as default.
+<p>
+In addition, <concept>ASCII</concept> of <dref>RFC 822</dref> should
+be interpreted as us-ascii.
+
+
+<h2> How to report bugs
+<node> Bug report
+<p>
+If you write bug-reports and/or suggestions for improvement, please
+send them to the tm Mailing List:
+
+<ul>
+<li> Japanese <mail>bug-tm-ja@chamonix.jaist.ac.jp</mail>
+<li> English <mail>bug-tm-en@chamonix.jaist.ac.jp</mail>
+</ul>
+
+<p>
+Notice that, we do not welcome bug reports about too old version.
+Bugs in old version might be fixed.  So please try latest version at
+first.
+<p>
+You should write <concept>good bug report</concept>.  If you write
+only ``FLIM does not work'', we can not find such situations.  At
+least, you should write name, type, variants and version of OS, emacs,
+APEL, FLIM, SEMI and MUA, and setting.  In addition, if error occurs,
+to send backtrace is very important. <cf file="emacs" node="Bugs">
+<p>
+Bug may not appear only your environment, but also in a lot of
+environment (otherwise it might not bug).  Therefor if you send mail
+to author directly, we must write a lot of mails.  So please send mail
+to address for tm bugs instead of author.
+
+<p>
+Via the tm ML, you can report FLIM bugs, obtain the latest release of
+FLIM, and discuss future enhancements to FLIM.  To join the tm ML,
+send empty e-mail to:
+
+<ul>
+<li> Japanese <mail>tm-ja-help@chamonix.jaist.ac.jp</mail>
+<li> English  <mail>tm-en-help@chamonix.jaist.ac.jp</mail>
+</ul>
+
+
+<h2> CVS based development
+<node> CVS
+<p>
+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
+\e$B?7$N\e(B FLIM \e$B$rF~<j$9$k$3$H$,$G$-$^$9!'\e(B
+
+<verb>
+(0) cvs login
+
+    % cvs -d :pserver:anonymous@chamonix.jaist.ac.jp:/hare/cvs/root \
+       login
+
+    CVS password: [CR] # NULL string
+
+(1) checkout
+
+    % cvs -d :pserver:anonymous@chamonix.jaist.ac.jp:/hare/cvs/root \
+       checkout [-r TAG] flim
+</verb>
+
+<p>
+CVS \e$B$rMQ$$$?3+H/$K;22C$7$?$$J}$O\e(B
+
+<ul>
+<li> <mail>cvs@chamonix.jaist.ac.jp</mail>
+</ul>
+
+<noindent>
+\e$B$^$G!"\e(Baccount \e$BL>$H\e(B UNIX \e$B$N\e(B passwd \e$B$HF1$87A<0$N\e(B crypt \e$B2=$5$l$?\e(B password
+\e$B$r1h$($F8fO"Mm$/$@$5$$!#\e(B
+
+
+<h2> History of FLIM
+<node> History
+<p>
+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</file>
+\e$B$K5/8;$7$^$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 \e$B@lMQ$N\e(B encoded-word \e$B$NI|9f2=%W%m%0%i%`$G$7$?!#\e(B
+<p>
+\e$B$=$N8e!"<i2,\e(B \e$BCNI'\e(B \e$B$O\e(B <file>mime.el</file> \e$B$r85$K\e(B
+<file>tiny-mime.el</file> \e$B$H$$$&%W%m%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$NId9f2=!&I|9f2=%W%m%0%i%`$G$7$?!#\e(B
+<file>tiny-mime.el</file> \e$B$O\e(B B-encoding \e$B$@$1$G$J$/\e(B Q-encoding \e$B$b\e(B
+support \e$B$7!"$^$?!"\e(BMULE \e$B$G07$&$3$H$,$G$-$k$5$^$6$^$J\e(B <dref>MIME
+charset</dref> \e$B$rF1;~$K;H$&$3$H$,$G$-$^$7$?!#$3$N;~!"\e(BNemacs \e$B$H\e(B Mule \e$B$N\e(B
+\e$BAPJ}$r\e(B support \e$B$9$k$?$a$KMQ$$$i$l$?%F%/%K%C%/$O8e$K\e(B emu package \e$B$K$^$H\e(B
+\e$B$a$i$l$^$9!#\e(B
+<p>
+\e$B$3$N:"!"<i2,\e(B \e$BCNI'\e(B \e$B$O\e(B <file>tiny-mime.el</file> \e$B$r$5$^$6$^$J\e(B MUA \e$B$G;H$&\e(B
+\e$B$?$a$N@_Dj=8$bG[I[$7$F$$$^$7$?$,!"$=$l$i$O8e$K\e(B
+<file>tiny-mime.el</file> \e$B$H$H$b$K#1$D$N\e(B package \e$B$K$^$H$a$i$l!"\e(Btm \e$B$H$$\e(B
+\e$B$&L>A0$GG[I[$5$l$^$9!#\e(B
+<p>
+\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
+<file>tm-body.el</file> \e$B$r=q$-$^$9!#$3$l$O!"$9$0$K\e(B
+<file>tm-view.el</file> \e$B$H$$$&L>A0$KJQ$o$j$^$7$?$,!"$d$,$F!"$3$l$,\e(B
+<file>tiny-mime.el</file> \e$B$KBe$o$C$F!"\e(Btm \e$B$NCf3K$H$J$j$^$9!#\e(B
+<p>
+<file>tm-view.el</file> \e$B$OEvA3!"\e(BContent-Transfer-Encoding \e$B$r07$&I,MW$,\e(B
+\e$B$"$j$^$9!#$3$NL\E*$N$?$a$K!"\e(BMEL \e$B$,@0Hw$5$l$O$8$a$^$7$?!#\e(BBase64 \e$B$K4X$7\e(B
+\e$B$F$O\e(B <file>tiny-mime.el</file> \e$B$N\e(B code \e$B$,0\$5$l!"$^$?!"?7$?$K\e(B
+Quoted-Printable \e$B$N\e(B code \e$B$,DI2C$5$l$^$7$?!#$3$l$i$,\e(B
+<file>mel-b.el</file> \e$B$H\e(B <file>mel-q.el</file> \e$B$K$J$j$^$7$?!#\e(B
+<p>
+\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</file> \e$B$,\e(B
+\e$BDI2C$5$l!"$=$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</file> \e$B$,DI2C$5$l$^$7$?!#\e(B
+<p>
+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</file> \e$B$N:F<BAu$,9T\e(B
+\e$B$o$l!"$3$N2aDx$G!"\e(BSTD 11 \e$B$N\e(B parser \e$B$,=q$+$l$^$7$?!#$3$l$O!"8=:_$N\e(B 
+<file>std11.el</file> \e$B$KEv$?$j$^$9!#$^$?!"$3$N2aDx$G\e(B 
+<file>tiny-mime.el</file> \e$B$OI|9f2=$r9T$&\e(B <file>tm-ew-d.el</file> \e$B$HId\e(B
+\e$B9f2=$r9T$&\e(B <file>tm-ew-e.el</file> \e$B$KJ,$1$i$l$^$7$?!#$3$NN><T$,8=:_$N\e(B 
+<file>eword-decode.el</file> \e$B$H\e(B <file>eword-encode.el</file> \e$B$N@hAD$K\e(B
+\e$BEv$?$j$^$9!#\e(B
+<p>
+\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(B
+tm \e$B$O\e(B APEL, MEL, SEMI, EMH, RMAIL-MIME, Gnus-MIME \e$B$J$I$KJ,$1$i$l$^$7$?!#\e(B
+\e$B$3$N$&$A$N\e(B MEL \e$B$,\e(B FLIM \e$B$ND>@\$N@hAD$KEv$?$j$^$9!#\e(B
+<p>
+\e$B8e$K!"\e(BAPEL \e$B$+$i\e(B <file>std11.el</file> \e$B$,0\$5$l!"$^$?!"\e(B
+<file>mailcap.el</file>, <file>eword-decode.el</file> \e$B$*$h$S\e(B 
+<file>eword-encode.el</file> \e$B$,\e(B SEMI \e$B$+$i0\$5$l!"\e(Bpackage \e$B$NL>A0$,\e(B FLIM
+\e$B$H$J$j$^$9!#\e(B
+<p>
+\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
+FLIM \e$B$N;^$G$"$k\e(B ``FLIM-FLAM'' \e$B$H$J$C$F$$$^$9!#\e(B
+
+
+<h1> Concept Index
+<node> Concept Index
+
+<cindex>
+
+
+<h1> Function Index
+<node> Function Index
+
+<findex>
+
+
+<h1> Variable Index
+<node> Variable Index
+
+<vindex>
+
+</body>