\input texinfo.tex
@setfilename tm-en.info
@settitle tm 7.100 Manual (English Version)
@direntry
* Tm-En::              MIME package for GNU Emacs
@end direntry
@titlepage
@title tm 7.100 Manual (English Version)
@author MORIOKA Tomohiko <morioka@@jaist.ac.jp>
@subtitle 1996/12/25
@end titlepage
@node Top, Introduction, (dir), (dir)
@top tm 7.100 Manual (English Version)

@ifinfo

This file documents tm, a MIME package for GNU Emacs.
@end ifinfo

@menu
* Introduction::                What is tm?
* Setting::                     
* Bug report::                  How to report bug and about mailing list of tm
* Acknowledgments::             
* Concept Index::               
* Variable Index::              
@end menu

@node Introduction, Setting, Top, Top
@chapter What is tm?

The tm package is a set of modules to enjoy MIME on GNU Emacs.  Using
tm, you can@refill

@itemize @bullet
@item
 playback or view the MIME messages using tm-view
@item
 compose MIME message using tm-edit
@item
 use the enhanced MIME features with mh-e, GNUS, Gnus, RMAIL and VM
@end itemize

@noindent
and more.

Please read following about each topics:

@itemize @bullet
@item
tm-MUA for Gnus (@ref{(gnus-mime-en)})
@item
tm-MUA for GNUS (@ref{(tm-gnus-en)})
@item
tm-MUA for mh-e (@ref{(tm-mh-e-en)})
@item
tm-MUA for VM (@ref{(tm-vm-en)})
@item
mime/viewer-mode (@ref{(tm-view-en)})
@item
mime/editor-mode (@ref{(tm-edit-en)})
@end itemize



@menu
* Glossary::                    
@end menu

@node Glossary,  , Introduction, Introduction
@section Glossary


@menu
* 7bit::                        
* 8bit::                        
* 94-character set::            
* 96-character set::            
* 94x94-character set::         
* ASCII::                       
* Base64::                      
* binary::                      
* cn-gb::                       cn-gb, gb2312
* cn-big5::                     cn-big5, big5
* CNS 11643::                   CNS 11643-1992
* coded character set::         Coded character set, Character code
* code extension::              Code extension
* Content-Disposition::         Content-Disposition field
* Content-Type field::          
* Emacs::                       
* encoded-word::                
* encapsulation::               
* entity::                      Entity
* euc-kr::                      
* FTP::                         FTP 
* GB 2312::                     GB 2312-1980
* GB 8565.2::                   GB 8565.2-1988
* graphic character set::       Graphic Character Set
* hz-gb2312::                   
* ISO 2022::                    
* iso-2022-cn::                 
* iso-2022-cn-ext::             
* iso-2022-jp::                 
* iso-2022-jp-2::               
* iso-2022-kr::                 
* ISO 646::                     
* ISO 8859-1::                  
* iso-8859-1::                  
* ISO 8859-2::                  
* iso-8859-2::                  
* ISO 8859-3::                  
* ISO 8859-4::                  
* ISO 8859-5::                  
* iso-8859-5::                  
* ISO 8859-6::                  
* ISO 8859-7::                  
* iso-8859-7::                  
* ISO 8859-8::                  
* ISO 8859-9::                  
* ISO-IR-165::                  ISO-IR-165, CCITT Extended GB 
* JIS X0201::                   
* JIS C6226::                   JIS C6226-1978
* JIS X0208::                   
* JIS X0212::                   JIS X0212-1990
* koi8-r::                      
* KS C5601::                    KS C5601-1987
* media type::                  
* message::                     
* message/rfc822::              
* method::                      
* MIME::                        
* MIME charset::                
* MTA::                         
* MUA::                         
* MULE::                        
* multipart::                   Multipart
* multipart/alternative::       
* multipart/digest::            
* multipart/encrypted::         
* multipart/mixed::             
* multipart/parallel::          
* multipart/signed::            
* PGP::                         
* PGP-kazu::                    
* PGP/MIME::                    
* Quoted-Printable::            
* RFC 821::                     
* RFC 822::                     
* RFC 934::                     
* RFC 1036::                    
* RFC 1153::                    
* RFC 1557::                    
* RFC 1922::                    
* RFC 2045::                    
* RFC 2046::                    
* RFC 2048::                    
* RFC 2049::                    
* plain text::                  
* Security multipart::          
* text/enriched::               
* text/plain::                  
* tm-kernel::                   tm-kernel, tm
* tm-MUA::                      
* us-ascii::                    
@end menu

@node 7bit, 8bit, Glossary, Glossary
@subsection 7bit
@cindex 7bit (textual) string
@cindex 7bit data
@cindex 7bit

@strong{7bit} means any integer between 0 .. 127.@refill

Any data represented by 7bit integers is called @strong{7bit data}.@refill

Textual string consisted of Control characters between 0 .. 31 and 127,
and space represented by 32, and graphic characters between 33 .. 236
are called @strong{7bit (textual) string}.@refill

Traditional Internet MTA (@ref{MTA}) can translate 7bit data, so it is
no need to translate by Quoted-Printable (@ref{Quoted-Printable}) or
Base64 (@ref{Base64}) for 7bit data.@refill

However if there are too long lines, it can not translate by 7bit MTA
even if it is 7bit data.  RFC 821 (@ref{RFC 821}) and RFC 2045 (@ref{RFC 2045}) 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 binary
(@ref{binary}).  For example, Postscript file should be encoded by
Quoted-Printable.


@node 8bit, 94-character set, 7bit, Glossary
@subsection 8bit
@cindex 8bit (textual) string
@cindex 8bit data
@cindex 8bit

@strong{8bit} means any integer between 0 .. 255.@refill

Any data represented by 8bit integers is called @strong{8bit data}.@refill

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 @strong{8bit (textual) string}.@refill

For example, iso-8859-1 (@ref{iso-8859-1}) or euc-kr (@ref{euc-kr}) are
coded-character-set represented by 8bit textual string.@refill

Traditional Internet MTA (@ref{MTA}) can translate only 7bit
(@ref{7bit}) data, so if a 8bit data will be translated such MTA, it
must be encoded by Quoted-Printable (@ref{Quoted-Printable}) or Base64
(@ref{Base64}).@refill

However 8bit MTA are increasing today.@refill

However if there are too long lines, it can not translate by 8bit MTA
even if it is 8bit data.  RFC 2045 (@ref{RFC 2045}) 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 binary (@ref{binary}), so it must
be encoded by Base64 or Quoted-Printable.


@node 94-character set, 96-character set, 8bit, Glossary
@subsection 94-character set
@cindex 94-character set

@strong{94-character set} is a kind of 1 byte graphic character set
(@ref{graphic character set}), each characters are in positions 02/01
(33) to 07/14 (126) or 10/01 (161) to 15/14 (254).  (ex. ASCII
(@ref{ASCII}), JIS X0201-Latin)


@node 96-character set, 94x94-character set, 94-character set, Glossary
@subsection 96-character set
@cindex 96-character set

@strong{96-character set} is a kind of 1 byte graphic character set
(@ref{graphic character set}), each characters are in positions 02/00
(32) to 07/15 (126) or 10/00 (160) to 15/15 (255). (ex. ISO 8859)


@node 94x94-character set, ASCII, 96-character set, Glossary
@subsection 94x94-character set
@cindex 94x94-character set

@strong{94x94-character set} is a kind of 2 byte graphic character set
(@ref{graphic character set}), each bytes are in positions 02/01 (33) to
07/14 (126) or 10/01 (161) to 15/14 (254).  (ex. JIS X0208 (@ref{JIS X0208}), GB 2312 (@ref{GB 2312}))


@node ASCII, Base64, 94x94-character set, Glossary
@subsection ASCII
@cindex ANSI X3.4:1986
@cindex ASCII
@cindex ASCII

@strong{ASCII} is a 94-character set (@ref{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 ISO 646
(@ref{ISO 646}).


@noindent
[ASCII]
@quotation
``Coded Character Set -- 7-Bit American Standard Code for Information
Interchange'', ANSI X3.4:1986.
@end quotation



@node Base64, binary, ASCII, Glossary
@subsection Base64
@cindex pad
@cindex Base64

@strong{Base64} is a transfer encoding method of MIME (@ref{MIME})
defined in RFC 2045 (@ref{RFC 2045}).@refill

The encoding process represents 24-bit groups of input bits as output
strings of 4 encoded characters.  Encoded characters represent integer 0
.. 63 or @strong{pad}.  Base64 data must be 4 * n bytes, so pad is used
to adjust size.@refill

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.


@node binary, cn-gb, Base64, Glossary
@subsection binary
@cindex binary

Any byte stream is called @strong{binary}.@refill

It does not require structureof lines.  It differs from from 8bit
(@ref{8bit}).@refill

In addition, if line structured data contain too long line (more than
998 bytes), it is regarded as binary.


@node cn-gb, cn-big5, binary, Glossary
@subsection cn-gb, gb2312

A MIME charset (@ref{MIME charset}) for simplified Chinese mainly used
in the Chinese mainland.@refill

It is a 8bit (@ref{8bit}) coded character set (@ref{coded character set}) based on ISO 2022 (@ref{ISO 2022}).  It extends ASCII
(@ref{ASCII}) to combine GB 2312 (@ref{GB 2312}).@refill

It is defined in RFC 1922 (@ref{RFC 1922}).


@node cn-big5, CNS 11643, cn-gb, Glossary
@subsection cn-big5, big5
@cindex BIG5

A MIME charset (@ref{MIME charset}) for traditional Chinese mainly used
in Taiwan and Hon Kong.@refill

It is a 8bit (@ref{8bit}) coded character set (@ref{coded character set}) not based on ISO 2022 (@ref{ISO 2022}).  It is a de-fact
standard.@refill

It is defined in RFC 1922 (@ref{RFC 1922}).@refill

cf. 
@noindent
[BIG5]
@quotation
Institute for Information Industry, ``Chinese Coded Character Set in
Computer'', March 1984.
@end quotation

It corresponds to CNS 11643 (@ref{CNS 11643}).


@node CNS 11643, coded character set, cn-big5, Glossary
@subsection CNS 11643-1992
@cindex CNS        11643:1992
@cindex CNS 11643-1992

Graphic character sets (@ref{graphic character set}) for Chinese mainly
written by traditional Chinese mainly used in Taiwan and Hong Kong.  It
is a standard of Taiwan.  Currently there are seven 94x94-character set
(@ref{94x94-character set}).@refill

Final byte of ISO 2022 (@ref{ISO 2022}) are following:

@table @samp
@item plane 1
04/07 (`G')

@item plane 2
04/08 (`H')

@item plane 3
04/09 (`I')

@item plane 4
04/10 (`J')

@item plane 5
04/11 (`K')

@item plane 6
04/12 (`L')

@item plane 7
04/13 (`M')

@end table



@noindent
[CNS 11643-1992]
@quotation
``Standard Interchange Code for Generally-Used Chinese Characters'', CNS
11643:1992.
@end quotation



@node coded character set, code extension, CNS 11643, Glossary
@subsection Coded character set, Character code

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.


@node code extension, Content-Disposition, coded character set, Glossary
@subsection Code extension

The techniques for the encoding of characters that are not included in
the character set of a given code. (ex. ISO 2022 (@ref{ISO 2022}))


@node Content-Disposition, Content-Type field, code extension, Glossary
@subsection Content-Disposition field
@cindex RFC 1806
@cindex Experimental

A field to specify presentation of entity or file name.  It is an
extension for MIME (@ref{MIME}).@refill


@noindent
[RFC 1806]
@quotation
E R. Troost and S. Dorner, ``Communicating Presentation Information in
Internet Messages: The Content-Disposition Header'', June 1995,
Experimental.
@end quotation



@node Content-Type field, Emacs, Content-Disposition, Glossary
@subsection Content-Type field
@cindex parameter
@cindex subtype
@cindex type

Header field to represent information about body, such as media type
(@ref{media type}), MIME charset (@ref{MIME charset}).  It is defined in
RFC 2045 (@ref{RFC 2045}).

@noindent
@strong{[Memo]}
@quotation

Historically, Content-Type field was proposed in RFC 1049.  In it,
Content-Type did not distinguish type and subtype.  However MIME parser
may be able to accept RFC 1049 based Content-Type as unknown type.
@end quotation


Content-Type field is defined as following:

@quotation
``Content-Type'' ``:'' @strong{type} ``/''
@strong{subtype} *( ``;'' @strong{parameter} )
@end quotation


For example:

@quotation
@example
Content-Type: image/jpeg
@end example
@end quotation


@quotation
@example
Content-Type: text/plain; charset=iso-2022-jp
@end example
@end quotation


@noindent
@strong{[Memo]}
@quotation

A part does not have content-type field is regarded as

@quotation
@example
Content-Type: text/plain; charset=us-ascii
@end example
@end quotation

@noindent
(cf. @ref{us-ascii})


And a part has unknown type/subtype is regarded as

@quotation
@example
Content-Type: application/octet-stream
@end example
@end quotation

@end quotation



@node Emacs, encoded-word, Content-Type field, Glossary
@subsection Emacs

In this document, `Emacs' means GNU Emacs released by FSF, and `emacs'
means any variants of GNU Emacs.


@node encoded-word, encapsulation, Emacs, Glossary
@subsection encoded-word
@cindex RFC 2047
@cindex Standards Track
@cindex RFC 2047

Representation non ASCII (@ref{ASCII}) characters in header.  It is
defined in @strong{RFC 2047}.@refill


@noindent
[RFC 2047]
@quotation
K. Moore, ``MIME (Multipurpose Internet Mail Extensions) Part Three:
Message Header Extensions for Non-ASCII Text'', November 1996, Standards
Track (obsolete RFC 1521,1522,1590).
@end quotation



@node encapsulation, entity, encoded-word, Glossary
@subsection encapsulation

Method to insert whole Internet message (@ref{RFC 822}) into another
Internet message.@refill

For example, it is used to forward a message.@refill

(cf. @ref{message/rfc822})



@node entity, euc-kr, encapsulation, Glossary
@subsection Entity

Header fields and contents of a message or one of the parts in the body
of a multipart (@ref{multipart}) entity.

@noindent
@strong{[Memo]}
@quotation

In this document, `entity' might be called ``part''.
@end quotation



@node euc-kr, FTP, entity, Glossary
@subsection euc-kr
@cindex KS C 5861:1992
@cindex euc-kr

A MIME charset (@ref{MIME charset}) for Korean.@refill

It is a 8bit (@ref{8bit}) coded character set (@ref{coded character set}) based on ISO 2022 (@ref{ISO 2022}).  It extends ASCII
(@ref{ASCII}) to combine KS C5601 (@ref{KS C5601}).@refill

It is defined in RFC 1557 (@ref{RFC 1557}).@refill

cf. 
@noindent
[euc-kr]
@quotation
Korea Industrial Standards Association, ``Hangul Unix Environment'', KS
C 5861:1992.
@end quotation



@node FTP, GB 2312, euc-kr, Glossary
@subsection FTP 
@cindex RFC 959
@cindex STD 9
@cindex FTP


@noindent
[FTP: RFC 959]
@quotation
Postel, J. and J. Reynolds, ``File Transfer Protocol'', October 1985,
STD 9.
@end quotation



@node GB 2312, GB 8565.2, FTP, Glossary
@subsection GB 2312-1980
@cindex GB 2312:1980
@cindex GB 2312

A 94x94-character set (@ref{94x94-character set}) for Chinese mainly
written by simplified Chinese mainly used in the Chinese mainland.  It
is a standard of China.@refill

Final byte of ISO 2022 (@ref{ISO 2022}) is 04/01 (`A').


@noindent
[GB 2312]
@quotation
``Code of Chinese Graphic Character Set for Information Interchange -
Primary Set'', GB 2312:1980.
@end quotation



@node GB 8565.2, graphic character set, GB 2312, Glossary
@subsection GB 8565.2-1988
@cindex GB 8565.2:1988
@cindex GB 8565.2

A 94x94-character set (@ref{94x94-character set}) for Chinese as
supplement to GB 2312 (@ref{GB 2312}).  It is a standard of China.


@noindent
[GB 8565.2]
@quotation
``Information Processing - Coded Character Sets for Text Communication -
Part 2: Graphic Characters used with Primary Set'', GB 8565.2:1988.
@end quotation



@node graphic character set, hz-gb2312, GB 8565.2, Glossary
@subsection Graphic Character Set

Coded character set (@ref{coded character set}) for graphic characters.


@node hz-gb2312, ISO 2022, graphic character set, Glossary
@subsection hz-gb2312
@cindex RFC 1843
@cindex Informational
@cindex RFC 1842
@cindex Informational

A MIME charset (@ref{MIME charset}) for simplified Chinese mainly used
in the Chinese mainland.@refill

It extends ASCII (@ref{ASCII}) to combine GB 2312 (@ref{GB 2312}), its
technique is like iso-2022-jp (@ref{iso-2022-jp}), but it is designed to
be ASCII printable to use special form for ESC sequence to designate GB
2312 to G0.@refill

It is defined in RFC 1842 and 1843.


@noindent
[RFC 1842]
@quotation
Y. Wei, Y. Zhang, J. Li, J. Ding and Y. Jiang, ``ASCII Printable
Characters-Based Chinese Character Encoding for Internet Messages'',
August 1995, Informational.
@end quotation


@noindent
[RFC 1843]
@quotation
F. Lee, ``HZ - A Data Format for Exchanging Files of Arbitrarily Mixed
Chinese and ASCII characters'', August 1995, Informational.
@end quotation



@node ISO 2022, iso-2022-cn, hz-gb2312, Glossary
@subsection ISO 2022
@cindex ISO/IEC 2022:1994
@cindex ISO 2022

It is a standard for character code structure and code extension
(@ref{code extension}) technique.


@noindent
[ISO 2022]
@quotation
International Organization for Standardization (ISO), ``Information
Processing: ISO 7-bit and 8-bit coded character sets: Code extension
techniques'', ISO/IEC 2022:1994.
@end quotation



@node iso-2022-cn, iso-2022-cn-ext, ISO 2022, Glossary
@subsection iso-2022-cn

A MIME charset (@ref{MIME charset}) for Chinese.@refill

It is a 7bit (@ref{7bit}) coded character set (@ref{coded character set}) based on ISO 2022 (@ref{ISO 2022}).  It extends ASCII
(@ref{ASCII}) to combine GB 2312 (@ref{GB 2312}) and/or CNS 11643 plain
1, plain 2 (@ref{CNS 11643}).@refill

It is defined in RFC 1922 (@ref{RFC 1922}).


@node iso-2022-cn-ext, iso-2022-jp, iso-2022-cn, Glossary
@subsection iso-2022-cn-ext

A MIME charset (@ref{MIME charset}) for Chinese.@refill

It is a 7bit (@ref{7bit}) coded character set (@ref{coded character set}) based on ISO 2022 (@ref{ISO 2022}).  It extends ASCII
(@ref{ASCII}) to combine GB 2312 (@ref{GB 2312}), CNS 11643 plain 1 .. 7
(@ref{CNS 11643}), ISO-IR-165 (@ref{ISO-IR-165}) and other Chinese
graphic character sets.@refill

It is defined in RFC 1922 (@ref{RFC 1922}).@refill

@noindent
@strong{[Memo]}
@quotation
MULE 2.3 and current XEmacs/mule can not use it correctly.

Emacs/mule can use it.
@end quotation



@node iso-2022-jp, iso-2022-jp-2, iso-2022-cn-ext, Glossary
@subsection iso-2022-jp
@cindex RFC 1468
@cindex iso-2022-jp

A MIME charset (@ref{MIME charset}) for Japanese.@refill

It is a 7bit (@ref{7bit}) coded character set (@ref{coded character set}) based on old ISO 2022 (@ref{ISO 2022}).  It switches ASCII
(@ref{ASCII}), JIS X0201-Latin, JIS X0208-1978 (@ref{JIS C6226}) and JIS
X0208-1983 (@ref{JIS X0208}).@refill

It is defined in RFC 1468.@refill

@noindent
@strong{[Memo]}
@quotation
JIS X0208-1997? will define it in annex as non-ISO 2022 (@ref{ISO 2022})
encoding.
@end quotation



@noindent
[iso-2022-jp: RFC 1468]
@quotation
Murai J., M. Crispin, and E. van der Poel, ``Japanese Character Encoding
for Internet Messages'', June 1993.
@end quotation



@node iso-2022-jp-2, iso-2022-kr, iso-2022-jp, Glossary
@subsection iso-2022-jp-2
@cindex RFC 1554
@cindex Informational
@cindex iso-2022-jp-2

A MIME charset (@ref{MIME charset}), which is a multilingual extension
of iso-2022-jp (@ref{iso-2022-jp}).@refill

It is defined in RFC 1554.


@noindent
[iso-2022-jp-2: RFC 1554]
@quotation
Ohta M. and Handa K., ``ISO-2022-JP-2: Multilingual Extension of
ISO-2022-JP'', December 1993, Informational.
@end quotation



@node iso-2022-kr, ISO 646, iso-2022-jp-2, Glossary
@subsection iso-2022-kr

A MIME charset (@ref{MIME charset}) for Korean language (Hangul
script).@refill

It is based on ISO 2022 (@ref{ISO 2022}) code extension (@ref{code extension}) technique to extend ASCII (@ref{ASCII}) to use KS C5601
(@ref{KS C5601}) as 7bit (@ref{7bit}) text.@refill

It is defined in RFC 1557 (@ref{RFC 1557}).


@node ISO 646, ISO 8859-1, iso-2022-kr, Glossary
@subsection ISO 646
@cindex ISO/IEC 646:1991
@cindex ISO 646


@noindent
[ISO 646]
@quotation
International Organization for Standardization (ISO), ``Information
technology: ISO 7-bit coded character set for information interchange'',
ISO/IEC 646:1991.
@end quotation



@node ISO 8859-1, iso-8859-1, ISO 646, Glossary
@subsection ISO 8859-1
@cindex ISO 8859-1:1987
@cindex ISO 8859-1


@noindent
[ISO 8859-1]
@quotation
International Organization for Standardization (ISO), ``Information
Processing -- 8-bit Single-Byte Coded Graphic Character Sets -- Part 1:
Latin Alphabet No.1'', ISO 8859-1:1987.
@end quotation



@node iso-8859-1, ISO 8859-2, ISO 8859-1, Glossary
@subsection iso-8859-1
@cindex iso-8859-1

@strong{iso-8859-1} is a MIME charset (@ref{MIME charset}) for
west-European languages written by Latin script.@refill

It is a 8bit (@ref{8bit}) coded character set (@ref{coded character set}) based on ISO 2022 (@ref{ISO 2022}).  It extends ASCII
(@ref{ASCII}) to combine ISO 8859-1 (@ref{ISO 8859-1}).@refill

It is defined in RFC 2046 (@ref{RFC 2046}).


@node ISO 8859-2, iso-8859-2, iso-8859-1, Glossary
@subsection ISO 8859-2
@cindex ISO 8859-2:1987
@cindex ISO 8859-2


@noindent
[ISO 8859-2]
@quotation
International Organization for Standardization (ISO), ``Information
Processing -- 8-bit Single-Byte Coded Graphic Character Sets -- Part 2:
Latin alphabet No.2'', ISO 8859-2:1987.
@end quotation



@node iso-8859-2, ISO 8859-3, ISO 8859-2, Glossary
@subsection iso-8859-2
@cindex iso-8859-2

@strong{iso-8859-2} is a MIME charset (@ref{MIME charset}) for
east-European languages written by Latin script.@refill

It is a 8bit (@ref{8bit}) coded character set (@ref{coded character set}) based on ISO 2022 (@ref{ISO 2022}).  It extends ASCII
(@ref{ASCII}) to combine ISO 8859-2 (@ref{ISO 8859-2}).@refill

It is defined in RFC 2046 (@ref{RFC 2046}).


@node ISO 8859-3, ISO 8859-4, iso-8859-2, Glossary
@subsection ISO 8859-3
@cindex ISO 8859-3:1988
@cindex ISO 8859-3


@noindent
[ISO 8859-3]
@quotation
International Organization for Standardization (ISO), ``Information
Processing -- 8-bit Single-Byte Coded Graphic Character Sets -- Part 3:
Latin alphabet No.3'', ISO 8859-3:1988.
@end quotation



@node ISO 8859-4, ISO 8859-5, ISO 8859-3, Glossary
@subsection ISO 8859-4
@cindex ISO 8859-4:1988
@cindex ISO 8859-4


@noindent
[ISO 8859-4]
@quotation
International Organization for Standardization (ISO), ``Information
Processing -- 8-bit Single-Byte Coded Graphic Character Sets -- Part 4:
Latin alphabet No.4'', ISO 8859-4:1988.
@end quotation



@node ISO 8859-5, iso-8859-5, ISO 8859-4, Glossary
@subsection ISO 8859-5
@cindex ISO 8859-5:1988
@cindex ISO 8859-5


@noindent
[ISO 8859-5]
@quotation
International Organization for Standardization (ISO), ``Information
Processing -- 8-bit Single-Byte Coded Graphic Character Sets -- Part 5:
Latin/Cyrillic alphabet'', ISO 8859-5:1988.
@end quotation



@node iso-8859-5, ISO 8859-6, ISO 8859-5, Glossary
@subsection iso-8859-5
@cindex iso-8859-5

@strong{iso-8859-5} is a MIME charset (@ref{MIME charset}) for Cyrillic
script.@refill

It is a 8bit (@ref{8bit}) coded character set (@ref{coded character set}) based on ISO 2022 (@ref{ISO 2022}).  It extends ASCII
(@ref{ASCII}) to combine ISO 8859-5 (@ref{ISO 8859-5}).@refill

It is defined in RFC 2046 (@ref{RFC 2046}).


@node ISO 8859-6, ISO 8859-7, iso-8859-5, Glossary
@subsection ISO 8859-6
@cindex ISO 8859-6:1987
@cindex ISO 8859-6


@noindent
[ISO 8859-6]
@quotation
International Organization for Standardization (ISO), ``Information
Processing -- 8-bit Single-Byte Coded Graphic Character Sets -- Part 6:
Latin/Arabic alphabet'', ISO 8859-6:1987.
@end quotation



@node ISO 8859-7, iso-8859-7, ISO 8859-6, Glossary
@subsection ISO 8859-7
@cindex ISO 8859-7:1987
@cindex ISO 8859-7


@noindent
[ISO 8859-7]
@quotation
International Organization for Standardization (ISO), ``Information
Processing -- 8-bit Single-Byte Coded Graphic Character Sets -- Part 7:
Latin/Greek alphabet'', ISO 8859-7:1987.
@end quotation



@node iso-8859-7, ISO 8859-8, ISO 8859-7, Glossary
@subsection iso-8859-7
@cindex RFC 1947
@cindex Informational
@cindex iso-8859-7
@cindex iso-8859-7

@strong{iso-8859-7} is a MIME charset (@ref{MIME charset}) for Greek
script.@refill

It is a 8bit (@ref{8bit}) coded character set (@ref{coded character set}) based on ISO 2022 (@ref{ISO 2022}).  It extends ASCII
(@ref{ASCII}) to combine ISO 8859-7 (@ref{ISO 8859-7}).@refill

It is defined in RFC 1947.


@noindent
[iso-8859-7: RFC 1947]
@quotation
D. Spinellis, ``Greek Character Encoding for Electronic Mail Messages'',
May 1996, Informational.
@end quotation



@node ISO 8859-8, ISO 8859-9, iso-8859-7, Glossary
@subsection ISO 8859-8
@cindex ISO 8859-8:1988
@cindex ISO 8859-8


@noindent
[ISO 8859-8]
@quotation
International Organization for Standardization (ISO), ``Information
Processing -- 8-bit Single-Byte Coded Graphic Character Sets -- Part 8:
Latin/Hebrew alphabet'', ISO 8859-8:1988.
@end quotation



@node ISO 8859-9, ISO-IR-165, ISO 8859-8, Glossary
@subsection ISO 8859-9
@cindex ISO 8859-9:1990
@cindex ISO 8859-9


@noindent
[ISO 8859-9]
@quotation
International Organization for Standardization (ISO), ``Information
Processing -- 8-bit Single-Byte Coded Graphic Character Sets -- Part 9:
Latin alphabet No.5'', ISO 8859-9:1990.
@end quotation



@node ISO-IR-165, JIS X0201, ISO 8859-9, Glossary
@subsection ISO-IR-165, CCITT Extended GB 

A 94x94-character set (@ref{94x94-character set}) for Chinese mainly
written by simplified Chinese mainly used in the Chinese mainland
registered by CCITT.@refill

It consists of GB 2312 (@ref{GB 2312}), GB 8565.2 (@ref{GB 8565.2}) and
additional 150 characters.@refill

Final byte of ISO 2022 (@ref{ISO 2022}) is 04/05 (`E').


@node JIS X0201, JIS C6226, ISO-IR-165, Glossary
@subsection JIS X0201
@cindex JIS X 0201:1997?  draft
@cindex JIS X0201-1997?
@cindex JIS        X 0201-1976:
@cindex JIS X0201-1976
@cindex JIS C6220-1976

It defines two 94-character set (@ref{94-character set}), for Latin
script (a variant of ISO 646 (@ref{ISO 646})) and Katakana script, and
7bit and 8bit coded character set (@ref{coded character set})s.@refill

It was renamed from @strong{JIS C6220-1976}.


@noindent
[JIS X0201-1976]
@quotation
Japanese Standards Association, ``Code for Information Interchange'',
JIS X 0201-1976:.
@end quotation


In addition, revised version will be published in 1997.


@noindent
[JIS X0201-1997?]
@quotation
Japanese Standards Association, ``7-bit and 8-bit coded character sets
for information interchange'', JIS X 0201:1997?  draft.
@end quotation



@node JIS C6226, JIS X0208, JIS X0201, Glossary
@subsection JIS C6226-1978

A 94x94-character set (@ref{94x94-character set}) for Japanese.  It was
renamed to JIS X0208-1978.@refill

(cf. @ref{JIS X0208})



@node JIS X0208, JIS X0212, JIS C6226, Glossary
@subsection JIS X0208
@cindex JIS X        0208:1997? draft
@cindex JIS X0208-1997?
@cindex JIS        X0208:1983,1990
@cindex JIS X0208-1983,1990
@cindex JIS C6226:1978
@cindex JIS X0208-1978

A 94x94-character set (@ref{94x94-character set}) for Japanese.
Japanese standard.  It was published in 1978, and revised in 1983 and
1990.  In the Internet message, 1983 edition is major.@refill

JIS X0208 contains some symbols, numbers, primary Latin script, Hiragana
script, Katakana script, Greek script, Cyrillic script, box drawing
parts, Kanji (Ideographic characters used in Japanese).  Notice that
some symbols and box drawing parts were added in 1983 and some Kanjis
were changed or swapped code points.  So 1978 edition and 1983 edition
are regarded as different graphic character set.@refill

1990 edition added some characters, so designation of 1990 edition
requires `identify revised registration' sequence, ESC 02/06 4/0 as
prefix of designation sequence.


@noindent
[JIS X0208-1978]
@quotation
Japanese Standards Association, ``Code of the Japanese graphic character
set for information interchange'', JIS C6226:1978.
@end quotation


@noindent
[JIS X0208-1983,1990]
@quotation
Japanese Standards Association, ``Code of the Japanese graphic character
set for information interchange'', JIS X0208:1983,1990.
@end quotation


In addition, revised version will be published in 1997. (It does not
change graphic character set)


@noindent
[JIS X0208-1997?]
@quotation
Japanese Standards Association, ``7-bit and 8-bit double byte coded
Kanji sets for information interchange'', JIS X 0208:1997? draft.
@end quotation



@node JIS X0212, koi8-r, JIS X0208, Glossary
@subsection JIS X0212-1990

A 94x94-character set (@ref{94x94-character set}) for Japanese as
supplement to JIS X0208 (@ref{JIS X0208}).  It is a standard of
Japan.@refill

Final byte of ISO 2022 (@ref{ISO 2022}) is 04/04 (`D').


@node koi8-r, KS C5601, JIS X0212, Glossary
@subsection koi8-r
@cindex RFC 1489

A MIME charset (@ref{MIME charset}) for Cyrillic script for Russian or
other languages.@refill

It is a 1 byte 8bit (@ref{8bit}) coded character set (@ref{coded character set}), not based on ISO 2022 (@ref{ISO 2022}).  It is a
de-fact standard.@refill

It is defined in RFC 1489.@refill


@noindent
[RFC 1489]
@quotation
A. Chernov, ``Registration of a Cyrillic Character Set'', July 1993.
@end quotation



@node KS C5601, media type, koi8-r, Glossary
@subsection KS C5601-1987
@cindex KS C 5601:1987
@cindex KS C5601

A 94x94-character set (@ref{94x94-character set}) for Korean language
(Hangul script).  Korean Standard.  Final byte of ISO 2022 (@ref{ISO 2022}) is 04/03 (`C').


@noindent
[KS C5601]
@quotation
Korea Industrial Standards Association, ``Code for Information
Interchange (Hangul and Hanja)'', KS C 5601:1987.
@end quotation



@node media type, message, KS C5601, Glossary
@subsection media type
@cindex x-token
@cindex message
@cindex multipart
@cindex application
@cindex video
@cindex audio
@cindex image
@cindex text
@cindex subtype
@cindex type
@cindex media type

@strong{media type} specifies the nature of the data in the body of MIME
(@ref{MIME}) entity (@ref{entity}).  It consists of @strong{type} and
@strong{subtype}.  It is defined in RFC 2046 (@ref{RFC 2046}).@refill

Currently there are following types:

@itemize @bullet
@item
@strong{text}
@item
@strong{image}
@item
@strong{audio}
@item
@strong{video}
@item
@strong{application}
@item
@strong{multipart} (@ref{multipart})
@item
@strong{message}
@end itemize


And there are various subtypes, for example, application/octet-stream,
audio/basic, image/jpeg, multipart/mixed (@ref{multipart/mixed}),
text/plain (@ref{text/plain}), video/mpeg...@refill

You can refer registered media types at MEDIA TYPES
(ftp://ftp.isi.edu/in-notes/iana/assignments/media-types).@refill

In addition, you can use private type or subtype using @strong{x-token},
which as the prefix `x-'.  However you can not use them in
public.@refill

(cf. @ref{Content-Type field})



@node message, message/rfc822, media type, Glossary
@subsection message

In this document, it means mail defined in RFC 822 (@ref{RFC 822}) and
news message defined in RFC 1036 (@ref{RFC 1036}).


@node message/rfc822, method, message, Glossary
@subsection message/rfc822
@cindex message/rfc822

@strong{message/rfc822} indicates that the body contains an encapsulated
message, with the syntax of an RFC 822 (@ref{RFC 822}) message.  It is
the replacement of traditional RFC 934 (@ref{RFC 934}) encapsulation.
It is defined in RFC 2046 (@ref{RFC 2046}).


@node method, MIME, message/rfc822, Glossary
@subsection method
@cindex external method
@cindex internal method

Application program of tm-view to process for specified media type
(@ref{media type}) when user plays an entity.@refill

There are two kinds of methods, @strong{internal method} and
@strong{external method}.  Internal method is written by Emacs Lisp.
External method is written by C or script languages and called by
asynchronous process call.@refill

(cf. @ref{(tm-view-en)method})



@node MIME, MIME charset, method, Glossary
@subsection MIME
@cindex Multipurpose Internet Mail Extensions

MIME stands for @strong{Multipurpose Internet Mail Extensions}, it is an
extension for RFC 822 (@ref{RFC 822}).@refill

According to RFC 2045:@refill

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@refill

@enumerate
@item
textual message bodies in character sets other than US-ASCII,
@item
an extensible set of different formats for non-textual message
bodies,
@item
multi-part message bodies, and
@item
textual header information in character sets other than US-ASCII.
@end enumerate


It is defined in RFC 2045 (@ref{RFC 2045}), RFC 2046 (@ref{RFC 2046}),
RFC 2047 (@ref{encoded-word}), RFC 2048 (@ref{RFC 2048}) and RFC 2049
(@ref{RFC 2049}).


@node MIME charset, MTA, MIME, Glossary
@subsection MIME charset

Coded character set (@ref{coded character set}) used in Content-Type
field (@ref{Content-Type field}) or charset parameter of encoded-word
(@ref{encoded-word}).@refill

It is defined in RFC 2045 (@ref{RFC 2045}).@refill

iso-2022-jp (@ref{iso-2022-jp}) or euc-kr (@ref{euc-kr}) are kinds of
it.  (In this document, MIME charsets are written by small letters to
distinguish graphic character set (@ref{graphic character set}).  For
example, ISO 8859-1 is a graphic character set, and iso-8859-1 is a MIME
charset)


@node MTA, MUA, MIME charset, Glossary
@subsection MTA
@cindex Message Transfer Agent

@strong{Message Transfer Agent}.  It means mail transfer programs
(ex. sendmail) and news servers.@refill

(cf. @ref{MUA})



@node MUA, MULE, MTA, Glossary
@subsection MUA
@cindex Message User Agent

@strong{Message User Agent}.  It means mail readers and news
readers.@refill

(cf. @ref{MTA})



@node MULE, multipart, MUA, Glossary
@subsection MULE
@cindex XEmacs/mule
@cindex Emacs/mule
@cindex MULE
@cindex mule
@cindex MULE

Multilingual extension of GNU Emacs (@ref{Emacs}) by HANDA Ken'ichi et
al.


@noindent
[MULE]
@quotation
Nishikimi M., Handa K. and Tomura S., ``Mule: MULtilingual Enhancement
to GNU Emacs'', Proc. of INET'93, August, 1993.
@end quotation

Now, FSF and HANDA Ken'ichi et al. are working to merge MULE feature
into Emacs, there is alpha version of mule merged emacs
(ftp://etlport.etl.go.jp/pub/mule/mule-19.33-delta.taz).@refill

In addition, there is XEmacs with mule feature.@refill

So now, there are 3 kinds of mule variants.@refill

In this document, @strong{mule} means any mule variants,
@strong{MULE} means original MULE (..2.3),
@strong{Emacs/mule} means mule merged Emacs,
@strong{XEmacs/mule} means XEmacs with mule feature.


@node multipart, multipart/alternative, MULE, Glossary
@subsection Multipart
@cindex multipart

@strong{multipart} means media type (@ref{media type}) to insert
multiple entities (@ref{entity}) in a single body.  Or it also indicates
a message consists of multiple entities.@refill

There are following subtypes registered in RFC 2046 (@ref{RFC 2046}):

@itemize @bullet
@item
multipart/mixed (@ref{multipart/mixed})
@item
multipart/alternative (@ref{multipart/alternative})
@item
multipart/digest (@ref{multipart/digest})
@item
multipart/parallel (@ref{multipart/parallel})
@end itemize

@noindent
and registered in RFC 1847 (@ref{Security multipart}):

@itemize @bullet
@item
multipart/signed (@ref{multipart/signed})
@item
multipart/encrypted (@ref{multipart/encrypted})
@end itemize



@node multipart/alternative, multipart/digest, multipart, Glossary
@subsection multipart/alternative
@cindex multipart/digest

@strong{multipart/digest} is one of multipart (@ref{multipart}) media
types.  This type is syntactically identical to multipart/mixed
(@ref{multipart/mixed}), but the semantics are different.  In
particular, each of the body parts is an ``alternative'' version of the
same information.@refill

(cf. @ref{RFC 2046})



@node multipart/digest, multipart/encrypted, multipart/alternative, Glossary
@subsection multipart/digest
@cindex multipart/digest

@strong{multipart/digest} is one of multipart (@ref{multipart}) media
types.  This type is syntactically identical to multipart/mixed
(@ref{multipart/mixed}), but the semantics are different.  In
particular, in a digest, the default Content-Type value for a body part
is changed from text/plain (@ref{text/plain}) to message/rfc822
(@ref{message/rfc822}).@refill

This is the replacement of traditional RFC 1153 (@ref{RFC 1153}) based
encapsulation (@ref{encapsulation}).@refill

(cf. @ref{RFC 2046})



@node multipart/encrypted, multipart/mixed, multipart/digest, Glossary
@subsection multipart/encrypted

It is a Security multipart (@ref{Security multipart}) defined in RFC
1847, used to represent encrypted message.@refill

(cf. @ref{PGP/MIME})



@node multipart/mixed, multipart/parallel, multipart/encrypted, Glossary
@subsection multipart/mixed

Primary and default subtype of multipart (@ref{multipart}), it is used
when the body parts are independent and need to be bundled in a
particular order.@refill

(cf. @ref{RFC 2046})



@node multipart/parallel, multipart/signed, multipart/mixed, Glossary
@subsection multipart/parallel
@cindex multipart/parallel

@strong{multipart/parallel} is a subtype of multipart (@ref{multipart}).
This type is syntactically identical to multipart/mixed
(@ref{multipart/mixed}), but the semantics are different.  In
particular, in a parallel entity, the order of body parts is not
significant.@refill

(cf. @ref{RFC 2046})



@node multipart/signed, PGP, multipart/parallel, Glossary
@subsection multipart/signed

It is a Security multipart (@ref{Security multipart}) defined in RFC
1847, used to represent signed message.@refill

(cf. @ref{PGP/MIME})



@node PGP, PGP-kazu, multipart/signed, Glossary
@subsection PGP
@cindex RFC 1991
@cindex Informational
@cindex PGP
@cindex Pretty Good Privacy

A public key encryption program by Phil Zimmermann.  It provides
encryption and signature for message (@ref{message}).  PGP stands for
@strong{Pretty Good Privacy}.@refill

Traditional PGP uses RFC 934 (@ref{RFC 934}) encapsulation
(@ref{encapsulation}).  It is conflict with MIME (@ref{MIME}).  So
PGP/MIME (@ref{PGP/MIME}) is defined.  On the other hand, PGP-kazu
(@ref{PGP-kazu}) was proposed to use PGP encapsulation in MIME.  But it
is obsoleted.@refill


@noindent
[PGP: RFC 1991]
@quotation
D. Atkins, W. Stallings and P. Zimmermann, ``PGP Message Exchange
Formats'', August 1996, Informational.
@end quotation




@node PGP-kazu, PGP/MIME, PGP, Glossary
@subsection PGP-kazu
@cindex application/pgp
@cindex PGP-kazu

In this document, @strong{PGP-kazu} means a method to use traditional
PGP encapsulation in MIME (@ref{MIME}), proposed by YAMAMOTO
Kazuhiko.@refill

PGP-kazu defines a media type (@ref{media type}),
@strong{application/pgp}.@refill

In application/pgp entity, PGP encapsulation (@ref{encapsulation}) is
used.  PGP encapsulation conflicts with MIME, so it requires
PGP-processing to read as MIME message.@refill

It was obsoleted, so you should use PGP/MIME (@ref{PGP/MIME}).  However
if you want to use traditional PGP message, it might be available.


@node PGP/MIME, Quoted-Printable, PGP-kazu, Glossary
@subsection PGP/MIME
@cindex RFC 2015
@cindex Standards Track
@cindex PGP/MIME

PGP (@ref{PGP}) and MIME (@ref{MIME}) integration proposed by Michael
Elkins.@refill

It is based on RFC 1847 (@ref{Security multipart}), so it is harmonious
with MIME, but it is not compatible with traditional PGP encapsulation.
However MIME MUA can read PGP/MIME signed message even if it does not
support PGP/MIME.@refill

PGP/MIME (@ref{PGP/MIME}) will be standard of PGP message.


@noindent
[PGP/MIME: RFC 2015]
@quotation
M. Elkins, ``MIME Security with Pretty Good Privacy (PGP)'', October
1996, Standards Track.
@end quotation



@node Quoted-Printable, RFC 821, PGP/MIME, Glossary
@subsection Quoted-Printable
@cindex Quoted-Printable

@strong{Quoted-Printable} is a transfer encoding method of MIME
(@ref{MIME}) defined in RFC 2045 (@ref{RFC 2045}).@refill

If the data being encoded are mostly US-ASCII text, the encoded form of
the data remains largely recognizable by humans.@refill

(cf. @ref{Base64})



@node RFC 821, RFC 822, Quoted-Printable, Glossary
@subsection RFC 821
@cindex RFC 821
@cindex STD 10
@cindex SMTP


@noindent
[SMTP: RFC 821]
@quotation
J. Postel, ``Simple Mail Transfer Protocol'', August 1982, STD 10.
@end quotation



@node RFC 822, RFC 934, RFC 821, Glossary
@subsection RFC 822
@cindex RFC 822
@cindex STD 11
@cindex Internet mail
@cindex Internet message
@cindex message header

A RFC defines format of Internet mail message, mainly @strong{message header}.

@noindent
@strong{[Memo]}
@quotation

news message is based on RFC 822, so @strong{Internet message} may be
more suitable than @strong{Internet mail} .
@end quotation



@noindent
[RFC 822]
@quotation
D. Crocker, ``Standard for the Format of ARPA Internet Text Messages'',
August 1982, STD 11.
@end quotation



@node RFC 934, RFC 1036, RFC 822, Glossary
@subsection RFC 934
@cindex RFC 934
@cindex encapsulation

A RFC defines an @strong{encapsulation} (@ref{encapsulation}) method for
Internet mail (@ref{RFC 822}).@refill

It conflicts with MIME (@ref{MIME}), so you should use message/rfc822
(@ref{message/rfc822}).


@noindent
[RFC 934]
@quotation
Marshall T. Rose and Einar A. Stefferud, ``Proposed Standard for Message
Encapsulation'', January 1985.
@end quotation



@node RFC 1036, RFC 1153, RFC 934, Glossary
@subsection RFC 1036
@cindex RFC 1036
@cindex USENET

A RFC defines format of USENET message.  It is a subset of RFC 822
(@ref{RFC 822}).  It is not Internet standard, but a lot of netnews
excepting Usenet uses it.


@noindent
[USENET: RFC 1036]
@quotation
M. Horton and R. Adams, ``Standard for Interchange of USENET Messages'',
December 1987, (obsolete RFC 850).
@end quotation



@node RFC 1153, RFC 1557, RFC 1036, Glossary
@subsection RFC 1153
@cindex RFC 1153


@noindent
[RFC 1153]
@quotation
F. Wancho, ``Digest Message Format'', April 1990.
@end quotation



@node RFC 1557, RFC 1922, RFC 1153, Glossary
@subsection RFC 1557
@cindex RFC 1557
@cindex Informational

A RFC defines MIME charset (@ref{MIME charset})s for Korean, euc-kr
(@ref{euc-kr}) and iso-2022-kr (@ref{iso-2022-kr}).


@noindent
[RFC 1557]
@quotation
U. Choi, K. Chon and H. Park, ``Korean Character Encoding for Internet
Messages'', December 1993, Informational.
@end quotation



@node RFC 1922, RFC 2045, RFC 1557, Glossary
@subsection RFC 1922
@cindex RFC 1922
@cindex Informational
@cindex charset-extension
@cindex charset-edition

A RFC defines MIME charset (@ref{MIME charset})s for Chinese,
iso-2022-cn (@ref{iso-2022-cn}), iso-2022-cn-ext
(@ref{iso-2022-cn-ext}), cn-gb (@ref{cn-gb}), cn-big5 (@ref{cn-big5}),
etc.@refill

In addition, it defines additional parameters of Content-Type field
(@ref{Content-Type field}) field, @strong{charset-edition} and
@strong{charset-extension}.


@noindent
[RFC 1922]
@quotation
Zhu, HF., Hu, DY., Wang, ZG., Kao, TC., Chang, WCH. and Crispin, M.,
``Chinese Character Encoding for Internet Messages'', March 1996,
Informational.
@end quotation



@node RFC 2045, RFC 2046, RFC 1922, Glossary
@subsection RFC 2045
@cindex RFC 2045
@cindex Standards Track


@noindent
[RFC 2045]
@quotation
N. Freed and N. Borenstein, ``Multipurpose Internet Mail Extensions
(MIME) Part One: Format of Internet Message Bodies'', November 1996,
Standards Track (obsolete RFC 1521, 1522, 1590).
@end quotation



@node RFC 2046, RFC 2048, RFC 2045, Glossary
@subsection RFC 2046
@cindex RFC 2046
@cindex Standards Track


@noindent
[RFC 2046]
@quotation
N. Freed and N. Borenstein, ``Multipurpose Internet Mail Extensions
(MIME) Part Two: Media Types'', November 1996, Standards Track (obsolete
RFC 1521, 1522, 1590).
@end quotation



@node RFC 2048, RFC 2049, RFC 2046, Glossary
@subsection RFC 2048
@cindex RFC 2048
@cindex Standards Track


@noindent
[RFC 2048]
@quotation
N. Freed, J. Klensin and J. Postel, ``Multipurpose Internet Mail
Extensions (MIME) Part Four: Registration Procedures'', November 1996,
Standards Track (obsolete RFC 1521, 1522, 1590).
@end quotation



@node RFC 2049, plain text, RFC 2048, Glossary
@subsection RFC 2049
@cindex RFC 2049
@cindex Standards Track


@noindent
[RFC 2049]
@quotation
N. Freed and N. Borenstein, ``Multipurpose Internet Mail Extensions
(MIME) Part Five: Conformance Criteria and Examples'', November 1996,
Standards Track (obsolete RFC 1521, 1522, 1590).
@end quotation



@node plain text, Security multipart, RFC 2049, Glossary
@subsection plain text

A textual data represented by only coded character set (@ref{coded character set}).  It does not have information about font or
typesetting.  (cf. @ref{text/plain})



@node Security multipart, text/enriched, plain text, Glossary
@subsection Security multipart
@cindex RFC 1847
@cindex Standards Track
@cindex Security multipart
@cindex multipart/encrypted
@cindex multipart/signed

A format to represent signed/encrypted message in MIME
(@ref{MIME}).@refill

It defines two multipart media types, @strong{multipart/signed}
(@ref{multipart/signed}) and @strong{multipart/encrypted}
(@ref{multipart/encrypted}).@refill

MOSS and PGP/MIME (@ref{PGP/MIME}) are based on it.


@noindent
[Security multipart: RFC 1847]
@quotation
James Galvin, Gale Murphy, Steve Crocker and Ned Freed, ``Security
Multiparts for MIME: Multipart/Signed and Multipart/Encrypted'', October
1995, Standards Track.
@end quotation



@node text/enriched, text/plain, Security multipart, Glossary
@subsection text/enriched
@cindex RFC 1896
@cindex text/enriched


@noindent
[text/enriched: RFC 1896]
@quotation
P. Resnick and A. Walker, ``The text/enriched MIME Content-type'',
February 1996, (obsolete RFC 1563).
@end quotation



@node text/plain, tm-kernel, text/enriched, Glossary
@subsection text/plain
@cindex text/plain

@strong{text/plain} is a media type (@ref{media type}) for plain text
(@ref{plain text}), defined in RFC 2046 (@ref{RFC 2046}).@refill

The default media type of ``text/plain; charset=us-ascii'' for Internet
mail describes existing Internet practice.  That is, it is the type of
body defined by RFC 822 (@ref{RFC 822}).@refill

(cf. @ref{MIME charset}) (cf. @ref{us-ascii})



@node tm-kernel, tm-MUA, text/plain, Glossary
@subsection tm-kernel, tm

A libraries to provide user interface about MIME (@ref{MIME}) for emacs.
tm stands for `tools for MIME'.

@noindent
@strong{[Unimportant notice(^-^;]}
@quotation

@itemize @bullet
@item
 tm may not stand for ``tiny-mime''(^-^;
  
@item
 tm may not stand for initial of an author (^-^;
  
@item
 ``Tools for MIME'' may be strained (^-^;
@end itemize
@end quotation



@node tm-MUA, us-ascii, tm-kernel, Glossary
@subsection tm-MUA
@cindex tm-rmail
@cindex tm-vm
@cindex gnus-mime
@cindex tm-gnus
@cindex tm-mh-e
@cindex tm oomori package

MUA (@ref{MUA}) or MUA extender using tm (@ref{tm-kernel}).@refill

@strong{tm oomori package} has following extenders:

@itemize @bullet
@item
@strong{tm-mh-e} (@ref{(tm-mh-e-en)})
 for mh-e (@ref{(mh-e)})
@item
@strong{tm-gnus} (@ref{(tm-gnus_en)}) for GNUS
@item
@strong{gnus-mime} (@ref{(gnus-mime-en)}) for Gnus
@item
@strong{tm-vm} (@ref{(tm-vm-en)}) for VM
@item
@strong{tm-rmail} for RMAIL
@end itemize



@node us-ascii,  , tm-MUA, Glossary
@subsection us-ascii
@cindex ASCII
@cindex us-ascii

A MIME charset (@ref{MIME charset}) for primary Latin script mainly
written by English or other languages.@refill

It is a 7bit coded character set (@ref{coded character set}) based on
ISO 2022 (@ref{ISO 2022}), it contains only ASCII (@ref{ASCII}) and code
extension (@ref{code extension}) is not allowed.@refill

It is standard coded character set of Internet mail.  If MIME charset is
not specified, @strong{us-ascii} is used as default.@refill

In addition, @strong{ASCII} of RFC 822 (@ref{RFC 822}) should be
interpreted as us-ascii.


@node Setting, Bug report, Introduction, Top
@chapter Setting

In the tm package, two files, @file{mime-setup.el} and
@file{tm-setup.el}, are provided to ease the setup.@refill

The @file{mime-setup.el} is used for the whole MIME related
setup including MIME encoding using @file{tm-edit.el}, while
@file{tm-setup.el} is used to set up tm-MUA only.


@menu
* mime-setup::                  Normal setting
* tm-setup::                    Setting not to use tm-edit
* setting for VM::              Setting for VM
* manual setting::              Setting up without loading provided setup files
@end menu

@node mime-setup, tm-setup, Setting, Setting
@section Normal setting
@cindex mime-setup

If you want normal setting, please use @strong{mime-setup}.
For example, please insert following into @file{~/.emacs}:

@lisp
(load "mime-setup")
@end lisp


As @file{mime-setup.el} loads @file{tm-setup.el}, you
don't need to load @file{tm-setup.el} when you use
@file{mime-setup.el} (Description of old version of Gnus FAQ is
wrong!)


@menu
* signature::                   
* Notice about GNUS::           Notices for GNUS
@end menu

@node signature, Notice about GNUS, mime-setup, mime-setup
@subsection signature
@cindex automatic signature selection tool

You can set up the @strong{automatic signature selection tool} using @file{mime-setup}. If you want to
automatically select the signature file depending on how the message
headers show, add lines like shown below to your .emacs (Refer to the
reference manual of @file{signature.el} for more details).

@lisp
(setq signature-file-alist
      '((("Newsgroups" . "jokes")       . "~/.signature-jokes")
        (("Newsgroups" . ("zxr" "nzr")) . "~/.signature-sun")
        (("To" . ("ishimaru" "z-suzuki")) . "~/.signature-sun")
        (("To" . "tea")                 . "~/.signature-jokes")
        (("To" . ("sim" "oku" "takuo")) . "~/.signature-formal")
        ))
@end lisp



@defvar mime-setup-use-signature

If it is not @code{nil}, @file{mime-setup.el} sets up for
@file{signature.el}.  Its default value is @code{t}.
@end defvar



@defvar mime-setup-signature-key-alist

It defines key to bind signature inserting command for each
major-mode.  Its default value is following:

@lisp
	((mail-mode . "\C-c\C-w"))
@end lisp


If you want to change, please rewrite it.  For example:

@lisp
(set-alist 'mime-setup-signature-key-alist
	   'news-reply-mode "\C-c\C-w")
@end lisp

@end defvar



@defvar mime-setup-default-signature-key

If key to bind signature inserting command for a major-mode is not found
from @code{mime-setup-signature-key-alist}, its value is used as key.
Its default value is @code{"\C-c\C-s"}.
@end defvar



@node Notice about GNUS,  , signature, mime-setup
@subsection Notices for GNUS

When @file{mime-setup.el} sets up for @file{signature.el}, it sets
variable @code{gnus-signature-file} to @code{nil}.  Therefore GNUS does
not insert signature automatically when it is sending a message.  Reason
of this setting is following:@refill

GNUS inserts signature after @file{tm-edit.el} composed as MIME message.
Therefore signature inserted by GNUS is not processed as a valid MIME
part.  In particular, for multipart message, signature places in outside
of MIME part.  So MIME MUA might not display it.@refill

Other notice is key bind.  In historical reason, key bind to insert
signature is @kbd{C-c C-s} (like mh-e (@ref{(mh-e)})) instead of
@kbd{C-c C-w}. If you change to GNUS's default, please set following:

@lisp
(set-alist 'mime-setup-signature-key-alist 'news-reply-mode "\C-c\C-w")
@end lisp



@node tm-setup, setting for VM, mime-setup, Setting
@section Setting not to use tm-edit
@cindex tm-setup

@strong{tm-setup} only sets up tm-MUA (@ref{tm-MUA})s.  In other words,
it is a setting to avoid to use tm-edit.  If you don't want to compose
MIME message or want to use other MIME composer, please use it instead
of @file{mime-setup.el}.@refill

For example, please insert following into @file{~/.emacs}:

@lisp
(load "tm-setup")
@end lisp



@noindent
@strong{[Memo]}
@quotation

If you use @file{mime-setup.el}, you you don't need to load
@file{tm-setup.el}.
@end quotation



@node setting for VM, manual setting, tm-setup, Setting
@section Setting for VM
@cindex BBDB
@cindex vm

If you use @strong{vm}, please insert following in
@file{~/.vm}:

@lisp
(require 'tm-vm)
@end lisp



@noindent
@strong{[Notice]}
@quotation

If you use @strong{BBDB}, please insert @code{(require 'tm-vm)}
@strong{after} @code{(bbdb-insinuate-vm)}.
@end quotation



@node manual setting,  , setting for VM, Setting
@section Setting up without loading provided setup files

You may find the valuable hints in @file{mime-setup.el} or
@file{tm-setup.el} if you want to set up MIME environment
without loading the tm-provided setup files.

@noindent
@strong{[Memo]}
@quotation

Current tm provides some convenient features to expect tm-edit, and
they can not use if @file{mime-setup.el} is not used.  If you
want to set up original setting to use tm-edit, please declare
following setting:

@lisp
(provide 'mime-setup)
@end lisp

@end quotation



@node Bug report, Acknowledgments, Setting, Top
@chapter How to report bug and about mailing list of tm
@cindex good bug report

If you write bug-reports and/or suggestions for improvement, please
send them to the tm Mailing List:

@itemize @bullet
@item
 Japanese <bug-tm-ja@@chamonix.jaist.ac.jp>
@item
 English <bug-tm-en@@chamonix.jaist.ac.jp>
@end itemize


Notice that, we does not welcome bug reports about too old version.
Bugs in old version might be fixed.  So please try latest version at
first.@refill

You should write @strong{good bug report}.  If you write only ``tm does
not work'', we can not find such situations.  At least, you should write
name, type, variants and version of OS, emacs, tm and MUA, and setting.
In addition, if error occurs, to send backtrace is very
important. (cf. @ref{(emacs)Bugs}) @refill

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.@refill

Via the tm ML, you can report tm bugs, obtain the latest release of
tm, and discuss future enhancements to tm.  To join the tm ML, send
e-mail to:

@itemize @bullet
@item
 Japanese <tm-ja-admin@@chamonix.jaist.ac.jp>
@item
 English  <tm-en-admin@@chamonix.jaist.ac.jp>
@end itemize

@noindent
Since the user registration is done manually, please write the mail
body in human-recognizable language (^_^).


@node Acknowledgments, Concept Index, Bug report, Top
@chapter Acknowledgments

I thank MASUTANI Yasuhiro.  He requested me a lot of important features
and gave me a lot of suggestions when tm-view was born.  tm-view is
based on his influence.@refill

I thank ENAMI Tsugutomo for work of @file{mime.el}, which is an origin
of @file{tm-ew-d.el} and @file{mel-b.el}, and permission to rewrite for
tm.@refill

I thank OKABE Yasuo for work of internal method for LaTeX and automatic
assembling method for message/partial.  I thank UENO Hiroshi for work of
internal method for tar archive.@refill

I thank UMEDA Masanobu for his work of @file{mime.el}, which is the
origin of tm-edit, and permission to rewrite his work as tm-edit.@refill

I thank KOBAYASHI Shuhei for his work as a tm maintainer.  In addition,
he often points out or suggests about conformity with RFCs.@refill

I thank Oscar Figueiredo for his work as the maintainer of tm-vm.  He
improves tm-vm and wrote a good manual of tm-vm.@refill

Last of all, I thank members of two tm mailing lists, Japanese and
English version.


@node Concept Index, Variable Index, Acknowledgments, Top
@chapter Concept Index

@printindex cp

@node Variable Index,  , Concept Index, Top
@chapter Variable Index

@printindex vr
@bye
