One very basic mapping table in PMDF is the character set conversion
table. The name of this table is
CHARSET-CONVERSION. It is
used to specify what sorts of channel-to-channel character set
conversions, labelling conversions, and message reformatting should be
On many systems there is no need to do character set conversions or message reformating and therefore this table is not needed. Situations arise, however, where character conversions must be done. For example, sites running Japanese OpenVMS may need to convert between DEC Kanji and the ISO-2022 Kanji currently used on the Internet. Another possible use of conversions arises when multinational characters are so heavily used that the slight discrepancies between the DEC Multinational Character Set (DEC-MCS) and the ISO-8859-1 character set specified for use in MIME may become an issue, and actual conversion between the two may therefore be needed.
CHARSET-CONVERSION mapping can also be used to alter
the format of messages. Facilities are provided to convert a number of
non-MIME formats into MIME. Changes to MIME encodings and structure are
also possible. These options are used when messages are being relayed
to systems that only support MIME or some subset of MIME. And finally,
conversion from MIME into non-MIME formats is provided in a small
number of cases.
PMDF will probe the
CHARSET-CONVERSION mapping table in
two different ways. The first probe is used to determine whether or not
PMDF should reformat the message and if so, what formatting options
should be used. (If no reformatting is specified PMDF does not bother
to check for specific character set conversions.) The input string for
this first probe has the general form:
in-channelis the name of the source channel (where the message comes from) and
out-channelis the name of the destination channel (where the message is going). If a match occurs the resulting string should be a comma-separated list of keywords. Table 6-1 lists the available keywords.
Make sure that there is no whitespace in the resulting string, for example around commas or equal signs.
|Always||Force conversion even when conversion channel is an intermediate destination|
|Appledouble||Convert other MacMIME formats to Appledouble format|
|Applesingle||Convert other MacMIME formats to Applesingle format|
|BASE64||Switch MIME encodings to BASE64|
|Binhex||Convert other MacMIME formats, or parts including Macintosh type and Mac creator information, to Binhex format|
|Block||Extract just the data fork from MacMIME format parts|
|Bottom||"Flatten" any message/rfc822 body part (forwarded message) into a message content part and a header part|
|Delete||"Flatten" any message/rfc822 body part (forwarded message) into a message content part, deleting the forwarded headers|
|Level||Remove redundant multipart levels from message|
|Macbinary||Convert other MacMIME formats, or parts including Macintosh type and Macintosh creator information, to Macbinary format|
|Pathworks||Convert message to Pathworks Mail format|
|QUOTED-PRINTABLE||Switch MIME encodings to QUOTED-PRINTABLE|
|Record,Text||Line wrap text/plain parts at 80 characters|
|Record,Text= n||Line wrap text/plain parts at n characters|
|RFC1154||Convert message to RFC 1154 format|
|Top||"Flatten" any message/rfc822 body part (forwarded message) into a header part and a message content part|
|UUENCODE||Switch MIME encodings to X-UUENCODE|
Nois assumed if no match occurs.