Mercurial > emacs
changeset 47439:8e23c317f989
(Charset Translation): Fix description of process.
author | Dave Love <fx@gnu.org> |
---|---|
date | Thu, 12 Sep 2002 17:14:25 +0000 |
parents | 3716ca385c72 |
children | 0e5a022947e9 |
files | man/emacs-mime.texi |
diffstat | 1 files changed, 29 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/man/emacs-mime.texi Thu Sep 12 06:04:10 2002 +0000 +++ b/man/emacs-mime.texi Thu Sep 12 17:14:25 2002 +0000 @@ -18,7 +18,7 @@ This file documents the Emacs MIME interface functionality. -Copyright (C) 1998,99,2000 Free Software Foundation, Inc. +Copyright (C) 1998,99,2000, 2002 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or @@ -47,7 +47,7 @@ @page @vskip 0pt plus 1filll -Copyright @copyright{} 1998,99,2000 Free Software Foundation, Inc. +Copyright @copyright{} 1998,99,2000, 2002 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or @@ -1264,7 +1264,9 @@ be chosen. @vindex mail-parse-charset -If you are running a non-Mule Emacs, this process is simple: if the part +@cindex unibyte Emacs +If you are running a non-Mule XEmacs, or Emacs in unibyte +mode@footnote{Deprecated!}, this process is simple: if the part contains any non-@sc{ascii} (8-bit) characters, the @sc{mime} charset given by @code{mail-parse-charset} (a symbol) is used. (Never set this variable directly, though. If you want to change the default charset, @@ -1274,23 +1276,31 @@ @sc{ascii} characters, the @sc{mime} charset @samp{US-ASCII} is used, of course. -@cindex Mule -@cindex UTF-8 -@cindex Unicode +@cindex multibyte Emacs +@cindex @code{mime-charset} property +In a normal (multibyte) Emacs session, a list of coding systems is +derived that can encode the message part's content and correspond to +MIME charsets (according to their @code{mime-charset} property). This +list is according to the normal priority rules and the highest priority +one is chosen to encode the part. If no such coding system can encode +the part's contents, they are split into several parts such that each +can be encoded with an appropriate coding system/@sc{mime} +charset.@footnote{The part can only be split at line boundaries, +though---if more than one @sc{mime} charset is required to encode a +single line, it is not possible to encode the part.} Note that this +procedure works with any correctly-defined coding systems, not just +built-in ones. Given a suitably-defined UTF-8 coding system---one +capable of encoding the Emacs charsets you use---it is not normally +necessary to split a part by charset. + @vindex mm-mime-mule-charset-alist -Things are slightly more complicated when running Emacs with Mule -support. In this case, a list of the Mule charsets used in the part is -obtained, and the corresponding @sc{mime} charsets are determined. If -this results in a single @sc{mime} charset, this is used to encode the -part. But if the resulting list of @sc{mime} charsets contains more -than one element, two things can happen: if it is possible to encode the -part via UTF-8, this charset is used. (For this, Emacs must support the -@code{utf-8} coding system, and the part must consist entirely of -characters which have Unicode counterparts.) If UTF-8 is not available, -the part is split into several, so that each one can be encoded with a -single @sc{mime} charset. The part can only be split at line -boundaries, though---if more than one @sc{mime} charset is required to -encode a single line, it is not possible to encode the part. +@cindex XEmacs/Mule +It isn't possible to do this properly in XEmacs/Mule. Instead, a list +of the Mule charsets used in the part is obtained, and the +corresponding @sc{mime} charsets are determined by lookup in +@code{mm-mime-mule-charset-alist}. If the list elements all +correspond to a single @sc{mime} charset, that is used to encode the +part. Otherwise, the part is split as above. @node Conversion @section Conversion