%!PS-Adobe-3.0
%%Creator: Windows PSCRIPT
%%Title: Microsoft Word - RFC1896.DOC
%%BoundingBox: 18 9 593 784
%%DocumentNeededResources: (atend)
%%DocumentSuppliedResources: (atend)
%%Pages: (atend)
%%BeginResource: procset Win35Dict 3 1
/Win35Dict 290 dict def Win35Dict begin/bd{bind def}bind def/in{72
mul}bd/ed{exch def}bd/ld{load def}bd/tr/translate ld/gs/gsave ld/gr
/grestore ld/M/moveto ld/L/lineto ld/rmt/rmoveto ld/rlt/rlineto ld
/rct/rcurveto ld/st/stroke ld/n/newpath ld/sm/setmatrix ld/cm/currentmatrix
ld/cp/closepath ld/ARC/arcn ld/TR{65536 div}bd/lj/setlinejoin ld/lc
/setlinecap ld/ml/setmiterlimit ld/sl/setlinewidth ld/scignore false
def/sc{scignore{pop pop pop}{0 index 2 index eq 2 index 4 index eq
and{pop pop 255 div setgray}{3{255 div 3 1 roll}repeat setrgbcolor}ifelse}ifelse}bd
/FC{bR bG bB sc}bd/fC{/bB ed/bG ed/bR ed}bd/HC{hR hG hB sc}bd/hC{
/hB ed/hG ed/hR ed}bd/PC{pR pG pB sc}bd/pC{/pB ed/pG ed/pR ed}bd/sM
matrix def/PenW 1 def/iPen 5 def/mxF matrix def/mxE matrix def/mxUE
matrix def/mxUF matrix def/fBE false def/iDevRes 72 0 matrix defaultmatrix
dtransform dup mul exch dup mul add sqrt def/fPP false def/SS{fPP{
/SV save def}{gs}ifelse}bd/RS{fPP{SV restore}{gr}ifelse}bd/EJ{gsave
showpage grestore}bd/#C{userdict begin/#copies ed end}bd/FEbuf 2 string
def/FEglyph(G )def/FE{1 exch{dup 16 FEbuf cvrs FEglyph exch 1 exch
putinterval 1 index exch FEglyph cvn put}for}bd/SM{/iRes ed/cyP ed
/cxPg ed/cyM ed/cxM ed 72 100 div dup scale dup 0 ne{90 eq{cyM exch
0 eq{cxM exch tr -90 rotate -1 1 scale}{cxM cxPg add exch tr +90 rotate}ifelse}{cyP
cyM sub exch 0 ne{cxM exch tr -90 rotate}{cxM cxPg add exch tr -90
rotate 1 -1 scale}ifelse}ifelse}{pop cyP cyM sub exch 0 ne{cxM cxPg
add exch tr 180 rotate}{cxM exch tr 1 -1 scale}ifelse}ifelse 100 iRes
div dup scale 0 0 transform .25 add round .25 sub exch .25 add round
.25 sub exch itransform translate}bd/SJ{1 index 0 eq{pop pop/fBE false
def}{1 index/Break ed div/dxBreak ed/fBE true def}ifelse}bd/ANSIVec[
16#0/grave 16#1/acute 16#2/circumflex 16#3/tilde 16#4/macron 16#5/breve
16#6/dotaccent 16#7/dieresis 16#8/ring 16#9/cedilla 16#A/hungarumlaut
16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle 16#60/grave
16#7C/bar 16#82/quotesinglbase 16#83/florin 16#84/quotedblbase 16#85
/ellipsis 16#86/dagger 16#87/daggerdbl 16#88/circumflex 16#89/perthousand
16#8A/Scaron 16#8B/guilsinglleft 16#8C/OE 16#91/quoteleft 16#92/quoteright
16#93/quotedblleft 16#94/quotedblright 16#95/bullet 16#96/endash 16#97
/emdash 16#98/tilde 16#99/trademark 16#9A/scaron 16#9B/guilsinglright
16#9C/oe 16#9F/Ydieresis 16#A0/space 16#A1/exclamdown 16#A4/currency
16#A5/yen 16#A6/brokenbar 16#A7/section 16#A8/dieresis 16#A9/copyright
16#AA/ordfeminine 16#AB/guillemotleft 16#AC/logicalnot 16#AD/hyphen
16#AE/registered 16#AF/macron 16#B0/degree 16#B1/plusminus 16#B2/twosuperior
16#B3/threesuperior 16#B4/acute 16#B5/mu 16#B6/paragraph 16#B7/periodcentered
16#B8/cedilla 16#B9/onesuperior 16#BA/ordmasculine 16#BB/guillemotright
16#BC/onequarter 16#BD/onehalf 16#BE/threequarters 16#BF/questiondown
16#C0/Agrave 16#C1/Aacute 16#C2/Acircumflex 16#C3/Atilde 16#C4/Adieresis
16#C5/Aring 16#C6/AE 16#C7/Ccedilla 16#C8/Egrave 16#C9/Eacute 16#CA
/Ecircumflex 16#CB/Edieresis 16#CC/Igrave 16#CD/Iacute 16#CE/Icircumflex
16#CF/Idieresis 16#D0/Eth 16#D1/Ntilde 16#D2/Ograve 16#D3/Oacute 16#D4
/Ocircumflex 16#D5/Otilde 16#D6/Odieresis 16#D7/multiply 16#D8/Oslash
16#D9/Ugrave 16#DA/Uacute 16#DB/Ucircumflex 16#DC/Udieresis 16#DD/Yacute
16#DE/Thorn 16#DF/germandbls 16#E0/agrave 16#E1/aacute 16#E2/acircumflex
16#E3/atilde 16#E4/adieresis 16#E5/aring 16#E6/ae 16#E7/ccedilla 16#E8
/egrave 16#E9/eacute 16#EA/ecircumflex 16#EB/edieresis 16#EC/igrave
16#ED/iacute 16#EE/icircumflex 16#EF/idieresis 16#F0/eth 16#F1/ntilde
16#F2/ograve 16#F3/oacute 16#F4/ocircumflex 16#F5/otilde 16#F6/odieresis
16#F7/divide 16#F8/oslash 16#F9/ugrave 16#FA/uacute 16#FB/ucircumflex
16#FC/udieresis 16#FD/yacute 16#FE/thorn 16#FF/ydieresis ] def/reencdict
12 dict def/IsChar{basefontdict/CharStrings get exch known}bd/MapCh{dup
IsChar not{pop/bullet}if newfont/Encoding get 3 1 roll put}bd/MapDegree{16#b0
/degree IsChar{/degree}{/ring}ifelse MapCh}bd/MapBB{16#a6/brokenbar
IsChar{/brokenbar}{/bar}ifelse MapCh}bd/ANSIFont{reencdict begin/newfontname
ed/basefontname ed FontDirectory newfontname known not{/basefontdict
basefontname findfont def/newfont basefontdict maxlength dict def basefontdict{exch
dup/FID ne{dup/Encoding eq{exch dup length array copy newfont 3 1 roll
put}{exch newfont 3 1 roll put}ifelse}{pop pop}ifelse}forall newfont
/FontName newfontname put 127 1 159{newfont/Encoding get exch/bullet
put}for ANSIVec aload pop ANSIVec length 2 idiv{MapCh}repeat MapDegree
MapBB newfontname newfont definefont pop}if newfontname end}bd/SB{FC
/ULlen ed/str ed str length fBE not{dup 1 gt{1 sub}if}if/cbStr ed
/dxGdi ed/y0 ed/x0 ed str stringwidth dup 0 ne{/y1 ed/x1 ed y1 y1
mul x1 x1 mul add sqrt dxGdi exch div 1 sub dup x1 mul cbStr div exch
y1 mul cbStr div}{exch abs neg dxGdi add cbStr div exch}ifelse/dyExtra
ed/dxExtra ed x0 y0 M fBE{dxBreak 0 BCh dxExtra dyExtra str awidthshow}{dxExtra
dyExtra str ashow}ifelse fUL{x0 y0 M dxUL dyUL rmt ULlen fBE{Break
add}if 0 mxUE transform gs rlt cyUL sl [] 0 setdash st gr}if fSO{x0
y0 M dxSO dySO rmt ULlen fBE{Break add}if 0 mxUE transform gs rlt cyUL
sl [] 0 setdash st gr}if n/fBE false def}bd/font{/name ed/Ascent ed
0 ne/fT3 ed 0 ne/fSO ed 0 ne/fUL ed/Sy ed/Sx ed 10.0 div/ori ed -10.0
div/esc ed/BCh ed name findfont/xAscent 0 def/yAscent Ascent def/ULesc
esc def ULesc mxUE rotate pop fT3{/esc 0 def xAscent yAscent mxUE transform
/yAscent ed/xAscent ed}if [Sx 0 0 Sy neg xAscent yAscent] esc mxE
rotate mxF concatmatrix makefont setfont [Sx 0 0 Sy neg 0 Ascent] mxUE
mxUF concatmatrix pop fUL{currentfont dup/FontInfo get/UnderlinePosition
known not{pop/Courier findfont}if/FontInfo get/UnderlinePosition get
1000 div 0 exch mxUF transform/dyUL ed/dxUL ed}if fSO{0 .3 mxUF transform
/dySO ed/dxSO ed}if fUL fSO or{currentfont dup/FontInfo get/UnderlineThickness
known not{pop/Courier findfont}if/FontInfo get/UnderlineThickness get
1000 div Sy mul/cyUL ed}if}bd/min{2 copy gt{exch}if pop}bd/max{2 copy
lt{exch}if pop}bd/CP{/ft ed{{ft 0 eq{clip}{eoclip}ifelse}stopped{currentflat
1 add setflat}{exit}ifelse}loop}bd/patfont 10 dict def patfont begin
/FontType 3 def/FontMatrix [1 0 0 -1 0 0] def/FontBBox [0 0 16 16]
def/Encoding StandardEncoding def/BuildChar{pop pop 16 0 0 0 16 16
setcachedevice 16 16 false [1 0 0 1 .25 .25]{pat}imagemask}bd end/p{
/pat 32 string def{}forall 0 1 7{dup 2 mul pat exch 3 index put dup
2 mul 1 add pat exch 3 index put dup 2 mul 16 add pat exch 3 index
put 2 mul 17 add pat exch 2 index put pop}for}bd/pfill{/PatFont patfont
definefont setfont/ch(AAAA)def X0 64 X1{Y1 -16 Y0{1 index exch M ch
show}for pop}for}bd/vert{X0 w X1{dup Y0 M Y1 L st}for}bd/horz{Y0 w
Y1{dup X0 exch M X1 exch L st}for}bd/fdiag{X0 w X1{Y0 M X1 X0 sub dup
rlt st}for Y0 w Y1{X0 exch M Y1 Y0 sub dup rlt st}for}bd/bdiag{X0 w
X1{Y1 M X1 X0 sub dup neg rlt st}for Y0 w Y1{X0 exch M Y1 Y0 sub dup
neg rlt st}for}bd/AU{1 add cvi 15 or}bd/AD{1 sub cvi -16 and}bd/SHR{pathbbox
AU/Y1 ed AU/X1 ed AD/Y0 ed AD/X0 ed}bd/hfill{/w iRes 37.5 div round
def 0.1 sl [] 0 setdash n dup 0 eq{horz}if dup 1 eq{vert}if dup 2 eq{fdiag}if
dup 3 eq{bdiag}if dup 4 eq{horz vert}if 5 eq{fdiag bdiag}if}bd/F{/ft
ed fm 256 and 0 ne{gs FC ft 0 eq{fill}{eofill}ifelse gr}if fm 1536
and 0 ne{SHR gs HC ft CP fm 1024 and 0 ne{/Tmp save def pfill Tmp restore}{fm
15 and hfill}ifelse gr}if}bd/S{PenW sl PC st}bd/m matrix def/GW{iRes
12 div PenW add cvi}bd/DoW{iRes 50 div PenW add cvi}bd/DW{iRes 8 div
PenW add cvi}bd/SP{/PenW ed/iPen ed iPen 0 eq iPen 6 eq or{[] 0 setdash}if
iPen 1 eq{[DW GW] 0 setdash}if iPen 2 eq{[DoW GW] 0 setdash}if iPen
3 eq{[DW GW DoW GW] 0 setdash}if iPen 4 eq{[DW GW DoW GW DoW GW] 0
setdash}if}bd/E{m cm pop tr scale 1 0 moveto 0 0 1 0 360 arc cp m sm}bd
/AG{/sy ed/sx ed sx div 4 1 roll sy div 4 1 roll sx div 4 1 roll sy
div 4 1 roll atan/a2 ed atan/a1 ed sx sy scale a1 a2 ARC}def/A{m cm
pop tr AG m sm}def/P{m cm pop tr 0 0 M AG cp m sm}def/RRect{n 4 copy
M 3 1 roll exch L 4 2 roll L L cp}bd/RRCC{/r ed/y1 ed/x1 ed/y0 ed/x0
ed x0 x1 add 2 div y0 M x1 y0 x1 y1 r arcto 4{pop}repeat x1 y1 x0 y1
r arcto 4{pop}repeat x0 y1 x0 y0 r arcto 4{pop}repeat x0 y0 x1 y0 r
arcto 4{pop}repeat cp}bd/RR{2 copy 0 eq exch 0 eq or{pop pop RRect}{2
copy eq{pop RRCC}{m cm pop/y2 ed/x2 ed/ys y2 x2 div 1 max def/xs x2
y2 div 1 max def/y1 exch ys div def/x1 exch xs div def/y0 exch ys div
def/x0 exch xs div def/r2 x2 y2 min def xs ys scale x0 x1 add 2 div
y0 M x1 y0 x1 y1 r2 arcto 4{pop}repeat x1 y1 x0 y1 r2 arcto 4{pop}repeat
x0 y1 x0 y0 r2 arcto 4{pop}repeat x0 y0 x1 y0 r2 arcto 4{pop}repeat
m sm cp}ifelse}ifelse}bd/PP{{rlt}repeat}bd/OB{gs 0 ne{7 3 roll/y ed
/x ed x y translate ULesc rotate x neg y neg translate x y 7 -3 roll}if
sc B fill gr}bd/B{M/dy ed/dx ed dx 0 rlt 0 dy rlt dx neg 0 rlt cp}bd
/CB{B clip n}bd/ErrHandler{errordict dup maxlength exch length gt
dup{errordict begin}if/errhelpdict 12 dict def errhelpdict begin/stackunderflow(operand stack underflow)def
/undefined(this name is not defined in a dictionary)def/VMerror(you have used up all the printer's memory)def
/typecheck(operator was expecting a different type of operand)def
/ioerror(input/output error occured)def end{end}if errordict begin
/handleerror{$error begin newerror{/newerror false def showpage 72
72 scale/x .25 def/y 9.6 def/Helvetica findfont .2 scalefont setfont
x y moveto(Offending Command = )show/command load{dup type/stringtype
ne{(max err string)cvs}if show}exec/y y .2 sub def x y moveto(Error = )show
errorname{dup type dup( max err string )cvs show( : )show/stringtype
ne{( max err string )cvs}if show}exec errordict begin errhelpdict errorname
known{x 1 add y .2 sub moveto errhelpdict errorname get show}if end
/y y .4 sub def x y moveto(Stack =)show ostack{/y y .2 sub def x 1
add y moveto dup type/stringtype ne{( max err string )cvs}if show}forall
showpage}if end}def end}bd end
%%EndResource
%%EndProlog
%%BeginSetup
Win35Dict begin
ErrHandler
statusdict begin 0 setjobtimeout end
statusdict begin statusdict /jobname (Microsoft Word - RFC1896.DOC) put end
/oldDictCnt countdictstack def {}stopped
{ countdictstack oldDictCnt lt { Win35Dict begin }
{1 1 countdictstack oldDictCnt sub {pop end } for } ifelse } if
/oldDictCnt countdictstack def {letter
}stopped
{ countdictstack oldDictCnt lt { Win35Dict begin }
{1 1 countdictstack oldDictCnt sub {pop end } for } ifelse } if
[
{mark 1.0 1.0 .98 .9 .82 .68 .56 .48 .28 .1 .06 .0 counttomark dup 3 add -1 roll exch 2 sub mul dup floor cvi dup 3 1 roll sub exch dup 3 add index exch 2 add index dup 4 1 roll sub mul add counttomark 1 add 1 roll cleartomark } bind
/exec load currenttransfer /exec load] cvx settransfer
/fPP true def
%%EndSetup
%%Page: 1 1
%%PageResources: (atend)
SS
0 0 25 11 798 1100 300 SM
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
0 0 0 fC
225 2917 372 (Resnick & Walker) 372 SB
1062 2917 190 (Informati) 190 SB
1252 2917 86 (onal) 86 SB
2006 2917 127 ([Page ) 127 SB
2133 2917 25 (1) 25 SB
2158 2917 17 (]) 17 SB
32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
225 267 525 (Network Working Group) 525 SB
1925 267 250 (P. Resnick) 250 SB
225 309 650 (Request for Comments: 1896) 650 SB
1975 309 200 (QUALCOMM) 200 SB
225 351 525 (Obsoletes: 1523, 1563) 525 SB
1950 351 225 (A. Walker) 225 SB
225 393 575 (Category: Informational) 575 SB
1975 393 200 (InterCon) 200 SB
1850 435 325 (February 1996) 325 SB
32 0 0 75 75 0 0 0 67 /Times-Roman /font32 ANSIFont font
617 527 1166 (The text/enriched MIME Content-type) 1166 SB
32 0 0 67 67 0 0 0 65 /Times-Bold /font29 ANSIFont font
225 661 572 (Status of this Memo) 572 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 795 1869 (This memo provides information for the Internet community. This memo does not specify an) 1869 SB
225 853 1390 (Internet standard of any kind. Distribution of this memo is unlimited.) 1390 SB
32 0 0 67 67 0 0 0 65 /Times-Bold /font29 ANSIFont font
225 959 249 (Abstract) 249 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 1093 1853 (MIME [RFC-1521] defines a format and general framework for the representation of a wide) 1853 SB
225 1151 1915 (variety of data types in Internet mail. This document defines one particular type of MIME data,) 1915 SB
225 1209 1881 (the text/enriched MIME type. The text/enriched MIME type is intended to facilitate the wider) 1881 SB
225 1267 1931 (interoperation of simple enriched text across a wide variety of hardware and software platforms.) 1931 SB
225 1325 1913 (This document is only a minor revision to the text/enriched MIME type that was first described) 1913 SB
225 1383 1852 (in [RFC-1523] and [RFC-1563], and is only intended to be used in the short term until other) 1852 SB
225 1441 1548 (MIME types for text formatting in Internet mail are developed and deployed.) 1548 SB
32 0 0 67 67 0 0 0 65 /Times-Bold /font29 ANSIFont font
225 1547 860 (The text/enriched MIME type) 860 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 1681 1938 (In order to promote the wider interoperability of simple formatted text, this document defines an) 1938 SB
225 1739 1856 (extremely simple subtype of the MIME content-type "text", the "text/enriched" subtype. The) 1856 SB
225 1797 1884 (content-type line for this type may have one optional parameter, the "charset" parameter, with) 1884 SB
225 1855 1334 (the same values permitted for the "text/plain" MIME content-type.) 1334 SB
225 1963 1413 (The text/enriched subtype was designed to meet the following criteria:) 1413 SB
375 2071 38 (1.) 38 SB
450 2071 1639 (The syntax must be extremely simple to parse, so that even teletype-oriented mail) 1639 SB
450 2129 1698 (systems can easily strip away the formatting information and leave only the readable) 1698 SB
450 2187 88 (text.) 88 SB
375 2295 38 (2.) 38 SB
450 2295 1566 (The syntax must be extensible to allow for new formatting commands that are) 1566 SB
450 2353 777 (deemed essential for some application.) 777 SB
375 2461 38 (3.) 38 SB
450 2461 626 (If the character set in use is AS) 626 SB
1076 2461 1050 (CII or an 8-bit ASCII superset, then the raw form of) 1050 SB
450 2519 1687 (the data must be readable enough to be largely unobjectionable in the event that it is) 1687 SB
450 2577 1525 (displayed on the screen of the user of a non-MIME-conformant mail reader.) 1525 SB
375 2685 38 (4.) 38 SB
450 2685 1650 (The capabilities must be extremely limited, to ensure that it can represent no more) 1650 SB
450 2743 1636 (than is likely to be representable by the user's primary word processor. While this) 1636 SB
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Courier
%%+ font Times-Bold
%%+ font Times-Roman
%%Page: 2 2
%%PageResources: (atend)
SS
0 0 25 11 798 1100 300 SM
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
0 0 0 fC
225 269 207 (RFC 1896) 207 SB
858 269 684 (text/enriched MIME Content-type) 684 SB
1881 269 294 (February 1996) 294 SB
225 2917 372 (Resnick & Walker) 372 SB
1079 2917 276 (Informational) 276 SB
2006 2917 127 ([Page ) 127 SB
2133 2917 25 (2) 25 SB
2158 2917 17 (]) 17 SB
450 377 1660 (limits what can be sent, it increases the likelihood that what is sent can be properly) 1660 SB
450 435 204 (displayed.) 204 SB
225 543 1950 (There are other text formatting standards which meet some of these criteria. In particular, HTML) 1950 SB
225 601 1873 (and SGML have come into widespread use on the Internet. However, there are two important) 1873 SB
225 659 1904 (reasons that this document further promotes the use of text/enriched in Internet mail over other) 1904 SB
225 717 306 (such standards:) 306 SB
375 825 38 (1.) 38 SB
450 825 1604 (Most MIME-aware Internet mail applications are already able to either properly) 1604 SB
450 883 1620 (format text/enriched mail or, at the very least, are able to strip out the formatting) 1620 SB
450 941 1682 (commands and display the readable text. The same is not true for HTML or SGML.) 1682 SB
375 1049 38 (2.) 38 SB
450 1049 1654 (The current RFC on HTML [RFC-1866] and Internet Drafts on SGML have many) 1654 SB
450 1107 1696 (features which are not necessary for Internet mail, and are missing a few capabilities) 1696 SB
450 1165 601 (that text/enriched already has.) 601 SB
225 1273 1795 (For these reasons, this document is promoting the use of text/enriched until other Internet) 1795 SB
225 1331 1904 (standards come into more widespread use. For those who will want to use HTML, Appendix B) 1904 SB
225 1389 1855 (of this document contains a very simple C program that converts text/enriched to HTML 2.0) 1855 SB
225 1447 514 (described in [RFC-1866].) 514 SB
32 0 0 58 58 0 0 0 56 /Times-Bold /font29 ANSIFont font
225 1553 170 (Syntax) 170 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 1676 1842 (The syntax of "text/enriched" is very simple. It represents text in a single character set--US-) 1842 SB
225 1734 1906 (ASCII by default, although a different character set can be specified by the use of the "charset") 1906 SB
225 1792 1946 (parameter. \(The semantics of text/enriched in non-ASCII character sets are discussed later in this) 1946 SB
225 1850 1912 (document.\) All characters represent themselves, with the exception of the "<" character \(ASCII) 1912 SB
225 1908 1938 (60\), which is used to mark the beginning of a formatting command. A literal less-than sign \("<"\)) 1938 SB
225 1966 1262 (can be represented by a sequence of two such characters, "<<".) 1262 SB
225 2074 1869 (Formatting instructions consist of formatting commands surrounded by angle brackets \("<>",) 1869 SB
225 2132 1901 (ASCII 60 and 62\). Each formatting command may be no more than 60 characters in length, all) 1901 SB
225 2190 1929 (in US-ASCII, restricted to the alphanumeric and hyphen \("-"\) characters. Formatting commands) 1929 SB
225 2248 1921 (may be preceded by a solidus \("/", ASCII 47\), making them negations, and such negations must) 1921 SB
225 2306 1761 (always exist to balance the initial opening commands. Thus, if the formatting command) 1761 SB
225 2364 1881 ("" appears at some point, there must later be a "" to balance it. \(NOTE: The 60) 1881 SB
225 2422 1875 (character limit on formatting commands does NOT include the "<", ">", or "/" characters that) 1875 SB
225 2480 1907 (might be attached to such commands.\) Formatting commands are always case-insensitive. That) 1907 SB
225 2538 1330 (is, "bold" and "BoLd" are equivalent in effect, if not in good taste.) 1330 SB
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Times-Bold
%%+ font Times-Roman
%%Page: 3 3
%%PageResources: (atend)
SS
0 0 25 11 798 1100 300 SM
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
0 0 0 fC
225 269 207 (RFC 1896) 207 SB
858 269 684 (text/enriched MIME Content-type) 684 SB
1881 269 294 (February 1996) 294 SB
225 2917 372 (Resnick & Walker) 372 SB
1079 2917 276 (Informational) 276 SB
2006 2917 127 ([Page ) 127 SB
2133 2917 25 (3) 25 SB
2158 2917 17 (]) 17 SB
32 0 0 58 58 0 0 0 56 /Times-Bold /font29 ANSIFont font
225 375 411 (Line break rules) 411 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 498 1945 (Line breaks \(CRLF pairs in standard network representation\) are handled specially. In particular,) 1945 SB
225 556 1895 (isolated CRLF pairs are translated into a single SPACE character. Sequences of N consecutive) 1895 SB
225 614 1910 (CRLF pairs, however, are translated into N-1 actual line breaks. This permits long lines of data) 1910 SB
225 672 1921 (to be represented in a natural looking manner despite the frequency of line-wrapping in Internet) 1921 SB
225 730 1821 (mailers. When preparing the data for mail transport, isolated line breaks should be inserted) 1821 SB
225 788 1894 (wherever necessary to keep each line shorter than 80 characters. When preparing such data for) 1894 SB
225 846 1874 (presentation to the user, isolated line breaks should be replaced by a single SPACE character,) 1874 SB
225 904 1638 (and N consecutive CRLF pairs should be presented to the user as N-1 line breaks.) 1638 SB
225 1012 866 (Thus text/enriched data that looks like this:) 866 SB
32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
375 1118 175 (This is) 175 SB
375 1160 200 (a single) 200 SB
375 1202 100 (line) 100 SB
375 1286 275 (This is the) 275 SB
375 1328 250 (next line.) 250 SB
375 1454 275 (This is the) 275 SB
375 1496 325 (next section.) 325 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 1632 1222 (should be displayed by a text/enriched interpreter as follows:) 1222 SB
32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
375 1738 525 (This is a single line) 525 SB
375 1780 550 (This is the next line.) 550 SB
375 1864 625 (This is the next section.) 625 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 2000 1859 (The formatting commands, not all of which will be implemented by all implementations, are) 1859 SB
225 2058 711 (described in the following sections.) 711 SB
32 0 0 67 67 0 0 0 65 /Times-Bold /font29 ANSIFont font
225 2164 674 (Formatting Commands) 674 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 2298 1741 (The text/enriched formatting commands all begin with and end with) 1741 SB
225 2356 1727 (, affecting the formatting of the text between those two tokens. The) 1727 SB
225 2414 1157 (commands are described here, grouped according to type.) 1157 SB
32 0 0 58 58 0 0 0 56 /Times-Bold /font29 ANSIFont font
225 2520 539 (Parameter Command) 539 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 2643 1938 (Some of the formatting commands may require one or more associated parameters. The "param") 1938 SB
225 2701 1540 (command is a special formatting command used to include these parameters.) 1540 SB
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Courier
%%+ font Times-Bold
%%+ font Times-Roman
%%Page: 4 4
%%PageResources: (atend)
SS
0 0 25 11 798 1100 300 SM
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
0 0 0 fC
225 269 207 (RFC 1896) 207 SB
858 269 684 (text/enriched MIME Content-type) 684 SB
1881 269 294 (February 1996) 294 SB
225 2917 372 (Resnick & Walker) 372 SB
1079 2917 276 (Informational) 276 SB
2006 2917 127 ([Page ) 127 SB
2133 2917 25 (4) 25 SB
2158 2917 17 (]) 17 SB
32 0 0 50 50 0 0 0 48 /Times-Bold /font29 ANSIFont font
375 375 145 (Param) 145 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
525 438 1598 (Marks the affected text as command parameters, to be interpreted or ignored by) 1598 SB
525 496 660 (the text/enriched interpreter, but ) 660 SB
32 0 0 50 50 0 0 0 47 /Times-Italic /font31 ANSIFont font
1185 494 64 (not) 64 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
1249 496 801 ( to be shown to the reader. The "param") 801 SB
525 555 1615 (command always immediately follows some other formatting command, and the) 1615 SB
525 613 1624 (parameter data indicates some additional information about the formatting that is) 1624 SB
525 671 1525 (to be done. The syntax of the parameter data \(whatever appears between the) 1525 SB
525 729 1614 (initial "" and the terminating ""\) is defined for each command) 1614 SB
525 787 1605 (that uses it. However, it is always required that the format of such data must not) 1605 SB
525 845 1591 (contain nested "param" commands, and either must not use the "<" character or) 1591 SB
525 903 1641 (must use it in a way that is compatible with text/enriched parsing. That is, the end) 1641 SB
525 961 1512 (of the parameter data should be recognizable with either of two algorithms:) 1512 SB
525 1019 1470 (simply searching for the first occurrence of "" or parsing until a) 1470 SB
525 1077 1602 (balanced "" command is found. In either case, however, the parameter) 1602 SB
525 1135 935 (data should not be shown to the human reader.) 935 SB
32 0 0 58 58 0 0 0 56 /Times-Bold /font29 ANSIFont font
225 1241 686 (Font-Alteration Commands) 686 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 1364 1936 (The following formatting commands are intended to alter the font in which text is displayed, but) 1936 SB
225 1422 1172 (not to alter the indentation or justification state of the text:) 1172 SB
32 0 0 50 50 0 0 0 48 /Times-Bold /font29 ANSIFont font
375 1528 100 (Bold) 100 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
525 1591 1536 (causes the affected text to be in a bold font. Nested bold commands have the) 1536 SB
525 1649 775 (same effect as a single bold command.) 775 SB
32 0 0 50 50 0 0 0 48 /Times-Bold /font29 ANSIFont font
375 1755 111 (Italic) 111 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
525 1818 1583 (causes the affected text to be in an italic font. Nested italic commands have the) 1583 SB
525 1876 786 (same effect as a single italic command.) 786 SB
32 0 0 50 50 0 0 0 48 /Times-Bold /font29 ANSIFont font
375 1982 214 (Underline) 214 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
525 2045 1580 (causes the affected text to be underlined. Nested underline commands have the) 1580 SB
525 2103 875 (same effect as a single underline command.) 875 SB
32 0 0 50 50 0 0 0 48 /Times-Bold /font29 ANSIFont font
375 2209 120 (Fixed) 120 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
525 2272 1617 (causes the affected text to be in a fixed width font. Nested fixed commands have) 1617 SB
525 2330 863 (the same effect as a single fixed command.) 863 SB
32 0 0 50 50 0 0 0 48 /Times-Bold /font29 ANSIFont font
375 2436 252 (FontFamily) 252 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
525 2499 1612 (causes the affected text to be displayed in a specified typeface. The "fontfamily") 1612 SB
525 2557 1605 (command requires a parameter that is specified by using the "param" command.) 1605 SB
525 2615 1526 (The parameter data is a case-insensitive string containing the name of a font) 1526 SB
525 2673 1612 (family. Any currently available font family name \(e.g. Times, Palatino, Courier,) 1612 SB
525 2731 1487 (etc.\) may be used. This includes font families defined by commercial type) 1487 SB
525 2789 1478 (foundries such as Adobe, BitStream, or any other such foundry. Note that) 1478 SB
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Times-Bold
%%+ font Times-Italic
%%+ font Times-Roman
%%Page: 5 5
%%PageResources: (atend)
SS
0 0 25 11 798 1100 300 SM
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
0 0 0 fC
225 269 207 (RFC 1896) 207 SB
858 269 684 (text/enriched MIME Content-type) 684 SB
1881 269 294 (February 1996) 294 SB
225 2917 372 (Resnick & Walker) 372 SB
1079 2917 276 (Informational) 276 SB
2006 2917 127 ([Page ) 127 SB
2133 2917 25 (5) 25 SB
2158 2917 17 (]) 17 SB
525 377 1585 (implementations should only use the general font family name, not the specific) 1585 SB
525 435 1594 (font name \(e.g. use "Times", not "TimesRoman" nor "TimesBoldItalic"\). When) 1594 SB
525 493 1538 (nested, the inner "fontfamily" command takes precedence. Also note that the) 1538 SB
525 551 1527 ("fontfamily" command is advisory only; it should not be expected that other) 1527 SB
525 609 1596 (implementations will honor the typeface information in this command since the) 1596 SB
525 667 882 (font capabilities of systems vary drastically.) 882 SB
32 0 0 50 50 0 0 0 48 /Times-Bold /font29 ANSIFont font
375 773 122 (Color) 122 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
525 836 1647 (causes the affected text to be displayed in a specified color. The "color" command) 1647 SB
525 894 1486 (requires a parameter that is specified by using the "param" command. The) 1486 SB
525 952 874 (parameter data can be one of the following:) 874 SB
675 1060 64 (red) 64 SB
675 1118 86 (blue) 86 SB
675 1176 111 (green) 111 SB
675 1234 136 (yellow) 136 SB
675 1292 94 (cyan) 94 SB
675 1350 169 (magenta) 169 SB
675 1408 108 (black) 108 SB
675 1466 111 (white) 111 SB
525 1574 705 (or an RGB color value in the form:) 705 SB
675 1682 326 (####,####,####) 326 SB
525 1790 1569 (where '#' is a hexadecimal digit '0' through '9', 'A' through 'F', or 'a' through 'f'.) 1569 SB
525 1848 1629 (The three 4-digit hexadecimal values are the RGB values for red, green, and blue) 1629 SB
525 1906 1628 (respectively, where each component is expressed as an unsigned value between 0) 1628 SB
525 1964 1517 (\(0000\) and 65535 \(FFFF\). The default color for the message is unspecified,) 1517 SB
525 2022 1621 (though black is a common choice in many environments. When nested, the inner) 1621 SB
525 2080 718 ("color" command takes precedence.) 718 SB
32 0 0 50 50 0 0 0 48 /Times-Bold /font29 ANSIFont font
375 2186 167 (Smaller) 167 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
525 2249 1573 (causes the affected text to be in a smaller font. It is recommended that the font) 1573 SB
525 2307 1558 (size be changed by two points, but other amounts may be more appropriate in) 1558 SB
525 2365 1628 (some environments. Nested smaller commands produce ever smaller fonts, to the) 1628 SB
525 2423 1581 (limits of the implementation's capacity to reasonably display them, after which) 1581 SB
525 2481 1085 (further smaller commands have no incremental effect.) 1085 SB
32 0 0 50 50 0 0 0 48 /Times-Bold /font29 ANSIFont font
375 2587 141 (Bigger) 141 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
525 2650 1644 (causes the affected text to be in a bigger font. It is recommended that the font size) 1644 SB
525 2708 1586 (be changed by two points, but other amounts may be more appropriate in some) 1586 SB
525 2766 1599 (environments. Nested bigger commands produce ever bigger fonts, to the limits) 1599 SB
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Times-Bold
%%+ font Times-Roman
%%Page: 6 6
%%PageResources: (atend)
SS
0 0 25 11 798 1100 300 SM
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
0 0 0 fC
225 269 207 (RFC 1896) 207 SB
858 269 684 (text/enriched MIME Content-type) 684 SB
1881 269 294 (February 1996) 294 SB
225 2917 372 (Resnick & Walker) 372 SB
1079 2917 276 (Informational) 276 SB
2006 2917 127 ([Page ) 127 SB
2133 2917 25 (6) 25 SB
2158 2917 17 (]) 17 SB
525 377 1604 (of the implementation's capacity to reasonably display them, after which further) 1604 SB
525 435 916 (bigger commands have no incremental effect.) 916 SB
225 543 1896 (While the "bigger" and "smaller" operators are effectively inverses, it is not recommended, for) 1896 SB
225 601 1876 (example, that "" be used to end the effect of "". This is properly done with) 1876 SB
225 659 251 ("".) 251 SB
225 767 1627 (Since the capabilities of implementations will vary, it is to be expected that some) 1627 SB
225 825 1901 (implementations will not be able to act on some of the font-alteration commands. However, an) 1901 SB
225 883 1922 (implementation should still display the text to the user in a reasonable fashion. In particular, the) 1922 SB
225 941 1918 (lack of capability to display a particular font family, color, or other text attribute does not mean) 1918 SB
225 999 998 (that an implementation should fail to display text.) 998 SB
32 0 0 58 58 0 0 0 56 /Times-Bold /font29 ANSIFont font
225 1105 1007 (Fill/Justification/Indentation Commands) 1007 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 1228 1777 (Initially, text/enriched text is intended to be displayed fully filled \(that is, using the rules) 1777 SB
225 1286 1730 (specified for replacing CRLF pairs with spaces or removing them as appropriate\) with) 1730 SB
225 1344 1884 (appropriate kerning and letter-tracking, and using the maximum available margins as suits the) 1884 SB
225 1402 970 (capabilities of the receiving user agent software.) 970 SB
225 1510 1923 (The following commands alter that state. Each of these commands force a line break before and) 1923 SB
225 1568 1866 (after the formatting environment if there is not otherwise a line break. For example, if one of) 1866 SB
225 1626 1906 (these commands occurs anywhere other than the beginning of a line of text as presented, a new) 1906 SB
225 1684 269 (line is begun.) 269 SB
32 0 0 50 50 0 0 0 48 /Times-Bold /font29 ANSIFont font
375 1790 147 (Center) 147 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
525 1853 772 (causes the affected text to be centered.) 772 SB
32 0 0 50 50 0 0 0 48 /Times-Bold /font29 ANSIFont font
375 1959 209 (FlushLeft) 209 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
525 2022 1400 (causes the affected text to be left-justified with a ragged right margin.) 1400 SB
32 0 0 50 50 0 0 0 48 /Times-Bold /font29 ANSIFont font
375 2128 240 (FlushRight) 240 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
525 2191 1400 (causes the affected text to be right-justified with a ragged left margin.) 1400 SB
32 0 0 50 50 0 0 0 48 /Times-Bold /font29 ANSIFont font
375 2297 223 (FlushBoth) 223 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
525 2360 1558 (causes the affected text to be filled and padded so as to create smooth left and) 1558 SB
525 2418 780 (right margins, i.e., to be fully justified.) 780 SB
32 0 0 50 50 0 0 0 48 /Times-Bold /font29 ANSIFont font
375 2524 245 (ParaIndent) 245 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
525 2587 1650 (causes the running margins of the affected text to be moved in. The recommended) 1650 SB
525 2645 1541 (indentation change is the width of four characters, but this may differ among) 1541 SB
525 2703 1467 (implementations. The "paraindent" command requires a parameter that is) 1467 SB
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Times-Bold
%%+ font Times-Roman
%%Page: 7 7
%%PageResources: (atend)
SS
0 0 25 11 798 1100 300 SM
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
0 0 0 fC
225 269 207 (RFC 1896) 207 SB
858 269 684 (text/enriched MIME Content-type) 684 SB
1881 269 294 (February 1996) 294 SB
225 2917 372 (Resnick & Walker) 372 SB
1079 2917 276 (Informational) 276 SB
2006 2917 127 ([Page ) 127 SB
2133 2917 25 (7) 25 SB
2158 2917 17 (]) 17 SB
525 377 1497 (specified by using the "param" command. The parameter data is a comma-) 1497 SB
525 435 924 (seperated list of one or more of the following:) 924 SB
525 543 84 (Left) 84 SB
675 601 1115 (causes the running left margin to be moved to the right.) 1115 SB
525 709 111 (Right) 111 SB
675 767 1115 (causes the running right margin to be moved to the left.) 1115 SB
525 875 42 (In) 42 SB
675 933 1479 (causes the first line of the affected paragraph to be indented in addition to) 1479 SB
675 991 1372 (the running margin. The remaining lines remain flush to the running) 1372 SB
675 1049 155 (margin.) 155 SB
525 1157 75 (Out) 75 SB
675 1215 1398 (causes all lines except for the first line of the affected paragraph to be) 1398 SB
675 1273 1473 (indented in addition to the running margin. The first line remains flush to) 1473 SB
675 1331 398 (the running margin.) 398 SB
32 0 0 50 50 0 0 0 48 /Times-Bold /font29 ANSIFont font
375 1437 120 (Nofill) 120 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
525 1500 1468 (causes the affected text to be displayed without filling. That is, the text is) 1468 SB
525 1558 204 (displayed ) 204 SB
32 0 0 50 50 0 0 0 47 /Times-Italic /font31 ANSIFont font
729 1556 150 (without) 150 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
879 1558 1123 ( using the rules for replacing CRLF pairs with spaces or) 1123 SB
525 1617 1641 (removing consecutive sequences of CRLF pairs. However, the current state of the) 1641 SB
525 1675 1594 (margins and justification is honored; any indentation or justification commands) 1594 SB
525 1733 1168 (are still applied to the text within the scope of the "nofill".) 1168 SB
225 1841 1893 (The "center", "flushleft", "flushright", and "flushboth" commands are mutually exclusive, and,) 1893 SB
225 1899 1026 (when nested, the inner command takes precedence.) 1026 SB
225 2007 1719 (The "nofill" command is mutually exclusive with the "in" and "out" parameters of the) 1719 SB
225 2065 1764 ("paraindent" command; when they occur in the same scope, their behavior is undefined.) 1764 SB
225 2173 1924 (The parameter data for the "paraindent" command may contain multiple occurances of the same) 1924 SB
225 2231 1787 (parameter \(i.e. "left", "right", "in", or "out"\). Each occurance causes the text to be further) 1787 SB
225 2289 1875 (indented in the manner indicated by that parameter. Nested "paraindent" commands cause the) 1875 SB
225 2347 1843 (affected text to be further indented according to the parameters. Note that the "in" and "out") 1843 SB
225 2405 1894 (parameters for "paraindent" are mutually exclusive; when they appear together or when nested) 1894 SB
225 2463 1488 ("paraindent" commands contain both of them, their behavior is undefined.) 1488 SB
225 2571 1926 (For purposes of the "in" and "out" parameters, a paragraph is defined as text that is delimited by) 1926 SB
225 2629 231 (line breaks ) 231 SB
32 0 0 50 50 0 0 0 47 /Times-Italic /font31 ANSIFont font
456 2627 94 (after) 94 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
550 2629 1395 ( applying the rules for replacing CRLF pairs with spaces or removing) 1395 SB
225 2688 1791 (consecutive sequences of CRLF pairs. For example, within the scope of an "out", the line) 1791 SB
225 2746 1928 (following each CRLF is made flush with the running margin, and subsequent lines are indented.) 1928 SB
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Times-Bold
%%+ font Times-Italic
%%+ font Times-Roman
%%Page: 8 8
%%PageResources: (atend)
SS
0 0 25 11 798 1100 300 SM
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
0 0 0 fC
225 269 207 (RFC 1896) 207 SB
858 269 684 (text/enriched MIME Content-type) 684 SB
1881 269 294 (February 1996) 294 SB
225 2917 372 (Resnick & Walker) 372 SB
1079 2917 276 (Informational) 276 SB
2006 2917 127 ([Page ) 127 SB
2133 2917 25 (8) 25 SB
2158 2917 17 (]) 17 SB
225 377 1935 (Within the scope of an "in", the first line following each CRLF is indented, and subsequent lines) 1935 SB
225 435 715 (remain flush to the running margin.) 715 SB
225 543 1939 (Whether or not text is justified by default \(that is, whether the default environment is "flushleft",) 1939 SB
225 601 1817 ("flushright", or "flushboth"\) is unspecified, and depends on the preferences of the user, the) 1817 SB
225 659 1856 (capabilities of the local software and hardware, and the nature of the character set in use. On) 1856 SB
225 717 1899 (systems where full justification is considered undesirable, the "flushboth" environment may be) 1899 SB
225 775 1946 (identical to the default environment. Note that full justification should never be performed inside) 1946 SB
225 833 1825 (of "center", "flushleft", "flushright", or "nofill" environments. Note also that for some non-) 1825 SB
225 891 1516 (ASCII character sets, full justification may be fundamentally inappropriate.) 1516 SB
225 999 1653 (Note that [RFC-1563] defined two additional indentation commands, "Indent" and) 1653 SB
225 1057 1845 ("IndentRight". These commands did not force a line break, and therefore their behavior was) 1845 SB
225 1115 1719 (unpredictable since they depended on the margins and character sizes that a particular) 1719 SB
225 1173 1925 (implementation used. Therefore, their use is deprecated and they should be ignored just as other) 1925 SB
225 1231 511 (unrecognized commands.) 511 SB
32 0 0 58 58 0 0 0 56 /Times-Bold /font29 ANSIFont font
225 1337 504 (Markup Commands) 504 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 1460 1834 (Commands in this section, unlike the other text/enriched commands are declarative markup) 1834 SB
225 1518 1934 (commands. Text/enriched is not intended as a full markup language, but instead as a simple way) 1934 SB
225 1576 1944 (to represent common formatting commands. Therefore, markup commands are purposely kept to) 1944 SB
225 1634 1737 (a minimum. It is only because each was deemed so prevalent or necessary in an e-mail) 1737 SB
225 1692 1414 (environment that these particular commands have been included at all.) 1414 SB
32 0 0 50 50 0 0 0 48 /Times-Bold /font29 ANSIFont font
375 1798 169 (Excerpt) 169 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
525 1861 1635 (causes the affected text to be interpreted as a textual excerpt from another source,) 1635 SB
525 1919 1567 (probably a message being responded to. Typically this will be displayed using) 1567 SB
525 1977 1599 (indentation and an alternate font, or by indenting lines and preceding them with) 1599 SB
525 2035 1504 ("> ", but such decisions are up to the implementation. Note that as with the) 1504 SB
525 2093 1602 (justification commands, the excerpt command implicitly begins and ends with a) 1602 SB
525 2151 1614 (line break if one is not already there. Nested "excerpt" commands are acceptable) 1614 SB
525 2209 1612 (and should be interpreted as meaning that the excerpted text was excerpted from) 1612 SB
525 2267 1544 (yet another source. Again, this can be displayed using additional indentation,) 1544 SB
525 2325 405 (different colors, etc.) 405 SB
525 2441 1573 (Optionally, the "excerpt" command can take a parameter by using the "param") 1573 SB
525 2499 1564 (command. The format of the data is unspecified, but it is intended to uniquely) 1564 SB
525 2557 1499 (identify the text from which the excerpt is taken. With this information, an) 1499 SB
525 2615 1587 (implementation should be able to uniquely identify the source of any particular) 1587 SB
525 2673 1535 (excerpt, especially if two or more excerpts in the message are from the same) 1535 SB
525 2731 1425 (source, and display it in some way that makes this apparent to the user.) 1425 SB
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Times-Bold
%%+ font Times-Roman
%%Page: 9 9
%%PageResources: (atend)
SS
0 0 25 11 798 1100 300 SM
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
0 0 0 fC
225 269 207 (RFC 1896) 207 SB
858 269 684 (text/enriched MIME Content-type) 684 SB
1881 269 294 (February 1996) 294 SB
225 2917 372 (Resnick & Walker) 372 SB
1079 2917 276 (Informational) 276 SB
2006 2917 127 ([Page ) 127 SB
2133 2917 25 (9) 25 SB
2158 2917 17 (]) 17 SB
32 0 0 50 50 0 0 0 48 /Times-Bold /font29 ANSIFont font
375 375 111 (Lang) 111 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
525 438 1572 (causes the affected text to be interpreted as belonging to a particular language.) 1572 SB
525 496 1609 (This is most useful when two different languages use the same character set, but) 1609 SB
525 554 1483 (may require a different font or formatting depending on the language. For) 1483 SB
525 612 1503 (instance, Chinese and Japanese share similar character glyphs, and in some) 1503 SB
525 670 1550 (character sets like UNICODE share common code points, but it is considered) 1550 SB
525 728 1563 (very important that different fonts be used for the two languages, especially if) 1563 SB
525 786 1618 (they appear together, so that meaning is not lost. Also, language information can) 1618 SB
525 844 1556 (be used to allow for fancier text handling, like spell checking or hyphenation.) 1556 SB
525 960 1536 (The "lang" command requires a parameter using the "param" command. The) 1536 SB
525 1018 1584 (parameter data can be any of the language tags specified in [RFC-1766], "Tags) 1584 SB
525 1076 1629 (for the Identification of Languages". These tags are the two letter language codes) 1629 SB
525 1134 1443 (taken from [ISO-639] or can be other language codes that are registered) 1443 SB
525 1192 1601 (according to the instructions in the Langauge Tags RFC. Consult that memo for) 1601 SB
525 1250 400 (further information.) 400 SB
32 0 0 58 58 0 0 0 56 /Times-Bold /font29 ANSIFont font
225 1356 1216 (Balancing and Nesting of Formatting Commands) 1216 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 1479 1843 (Pairs of formatting commands must be properly balanced and nested. Thus, a proper way to) 1843 SB
225 1537 319 (describe text in ) 319 SB
32 0 0 50 50 0 0 0 45 /Times-BoldItalic /font30 ANSIFont font
544 1537 224 (bold italics) 224 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
768 1537 60 ( is:) 60 SB
32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
375 1643 950 (the-text) 950 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 1729 292 (or, alternately,) 292 SB
32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
375 1835 950 (the-text) 950 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 1921 1101 (but, in particular, the following is illegal text/enriched:) 1101 SB
32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
375 2027 950 (the-text) 950 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 2113 1870 (The nesting requirement for formatting commands imposes a slightly higher burden upon the) 1870 SB
225 2171 1764 (composers of text/enriched bodies, but potentially simplifies text/enriched displayers by) 1764 SB
225 2229 1927 (allowing them to be stack-based. The main goal of text/enriched is to be simple enough to make) 1927 SB
225 2287 1940 (multifont, formatted email widely readable, so that those with the capability of sending it will be) 1940 SB
225 2345 1950 (able to do so with confidence. Thus slightly increased complexity in the composing software was) 1950 SB
225 2403 1849 (deemed a reasonable tradeoff for simplified reading software. Nonetheless, implementors of) 1849 SB
225 2461 1731 (text/enriched readers are encouraged to follow the general Internet guidelines of being) 1731 SB
225 2519 1949 (conservative in what you send and liberal in what you accept. Those implementations that can do) 1949 SB
225 2577 1599 (so are encouraged to deal reasonably with improperly nested text/enriched data.) 1599 SB
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Courier
%%+ font Times-Bold
%%+ font Times-BoldItalic
%%+ font Times-Roman
%%Page: 10 10
%%PageResources: (atend)
SS
0 0 25 11 798 1100 300 SM
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
0 0 0 fC
225 269 207 (RFC 1896) 207 SB
858 269 684 (text/enriched MIME Content-type) 684 SB
1881 269 294 (February 1996) 294 SB
225 2917 372 (Resnick & Walker) 372 SB
1079 2917 276 (Informational) 276 SB
1981 2917 127 ([Page ) 127 SB
2108 2917 50 (10) 50 SB
2158 2917 17 (]) 17 SB
32 0 0 58 58 0 0 0 56 /Times-Bold /font29 ANSIFont font
225 375 905 (Unrecognized formatting commands) 905 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 498 1943 (Implementations must regard any unrecognized formatting command as "no-op" commands, that) 1943 SB
225 556 1897 (is, as commands having no effect, thus facilitating future extensions to "text/enriched". Private) 1897 SB
225 614 1826 (extensions may be defined using formatting commands that begin with "X-", by analogy to) 1826 SB
225 672 662 (Internet mail header field names.) 662 SB
225 780 1908 (In order to formally define extended commands, a new Internet document should be published.) 1908 SB
32 0 0 67 67 0 0 0 65 /Times-Bold /font29 ANSIFont font
225 886 1005 (White Space in Text/enriched Data) 1005 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 1020 1831 (No special behavior is required for the SPACE or TAB \(HT\) character. It is recommended,) 1831 SB
225 1078 1851 (however, that, at least when fixed-width fonts are in use, the common semantics of the TAB) 1851 SB
225 1136 1872 (\(HT\) character should be observed, namely that it moves to the next column position that is a) 1872 SB
225 1194 1919 (multiple of 8. \(In other words, if a TAB \(HT\) occurs in column n, where the leftmost column is) 1919 SB
225 1252 1924 (column 0, then that TAB \(HT\) should be replaced by 8-\(n mod 8\) SPACE characters.\) It should) 1924 SB
225 1310 1831 (also be noted that some mail gateways are notorious for losing \(or, less commonly, adding\)) 1831 SB
225 1368 1892 (white space at the end of lines, so reliance on SPACE or TAB characters at the end of a line is) 1892 SB
225 1426 373 (not recommended.) 373 SB
32 0 0 67 67 0 0 0 65 /Times-Bold /font29 ANSIFont font
225 1532 1190 (Initial State of a text/enriched interpreter) 1190 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 1666 1903 (Text/enriched is assumed to begin with filled text in a variable-width font in a normal typeface) 1903 SB
225 1724 1947 (and a size that is average for the current display and user. The left and right margins are assumed) 1947 SB
225 1782 1466 (to be maximal, that is, at the leftmost and rightmost acceptable positions.) 1466 SB
32 0 0 67 67 0 0 0 65 /Times-Bold /font29 ANSIFont font
225 1888 741 (Non-ASCII character sets) 741 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 2022 1891 (One of the great benefits of MIME is the ability to use different varieties of non-ASCII text in) 1891 SB
225 2080 1914 (messages. To use non-ASCII text in a message, normally a charset parameter is specified in the) 1914 SB
225 2138 1934 (Content-type line that indicates the character set being used. For purposes of this RFC, any legal) 1934 SB
225 2196 1882 (MIME charset parameter can be used with the text/enriched Content-type. However, there are) 1882 SB
225 2254 1908 (two difficulties that arise with regard to the text/enriched Content-type when non-ASCII text is) 1908 SB
225 2312 1857 (desired. The first problem involves difficulties that occur when the user wishes to create text) 1857 SB
225 2370 1823 (which would normally require multiple non-ASCII character sets in the same text/enriched) 1823 SB
225 2428 1920 (message. The second problem is an ambiguity that arises because of the text/enriched use of the) 1920 SB
225 2486 783 ("<" character in formatting commands.) 783 SB
32 0 0 58 58 0 0 0 56 /Times-Bold /font29 ANSIFont font
225 2592 1011 (Using multiple non-ASCII character sets) 1011 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 2715 1834 (Normally, if a user wishes to produce text which contains characters from entirely different) 1834 SB
225 2773 1886 (character sets within the same MIME message \(for example, using Russian Cyrillic characters) 1886 SB
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Times-Bold
%%+ font Times-Roman
%%Page: 11 11
%%PageResources: (atend)
SS
0 0 25 11 798 1100 300 SM
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
0 0 0 fC
225 269 207 (RFC 1896) 207 SB
858 269 684 (text/enriched MIME Content-type) 684 SB
1881 269 294 (February 1996) 294 SB
225 2917 372 (Resnick & Walker) 372 SB
1079 2917 276 (Informational) 276 SB
1981 2917 127 ([Page ) 127 SB
2108 2917 50 (11) 50 SB
2158 2917 17 (]) 17 SB
225 377 1917 (from ISO 8859-5 and Hebrew characters from ISO 8859-8\), a multipart message is used. Every) 1917 SB
225 435 1947 (time a new character set is desired, a new MIME body part is started with different character sets) 1947 SB
225 493 1883 (specified in the charset parameter of the Content-type line. However, using multiple character) 1883 SB
225 551 1807 (sets this way in text/enriched messages introduces problems. Since a change in the charset) 1807 SB
225 609 1890 (parameter requires a new part, text/enriched formatting commands used in the first part would) 1890 SB
225 667 1865 (not be able to apply to text that occurs in subsequent parts. It is not possible for text/enriched) 1865 SB
225 725 1352 (formatting commands to apply across MIME body part boundaries.) 1352 SB
225 833 1867 ([RFC-1341] attempted to get around this problem in the now obsolete text/richtext format by) 1867 SB
225 891 1881 (introducing different character set formatting commands like "iso-8859-5" and "us-ascii". But) 1881 SB
225 949 1941 (this, or even a more general solution along the same lines, is still undesirable: It is common for a) 1941 SB
225 1007 1850 (MIME application to decide, for example, what character font resources or character lookup) 1850 SB
225 1065 1928 (tables it will require based on the information provided by the charset parameter of the Content-) 1928 SB
225 1123 1926 (type line, before it even begins to interpret or display the data in that body part. By allowing the) 1926 SB
225 1181 1853 (text/enriched interpreter to subsequently change the character set, perhaps to one completely) 1853 SB
225 1239 1849 (different from the charset specified in the Content-type line \(with potentially much different) 1849 SB
225 1297 1926 (resource requirements\), too much burden would be placed on the text/enriched interpreter itself.) 1926 SB
225 1405 1874 (Therefore, if multiple types of non-ASCII characters are desired in a text/enriched document,) 1874 SB
225 1463 967 (one of the following two methods must be used:) 967 SB
375 1571 38 (1.) 38 SB
450 1571 1632 (For cases where the different types of non-ASCII text can be limited to their own) 1632 SB
450 1629 1675 (paragraphs with distinct formatting, a multipart message can be used with each part) 1675 SB
450 1687 1653 (having a Content-Type of text/enriched and a different charset parameter. The one) 1653 SB
450 1745 1649 (caveat to using this method is that each new part must start in the initial state for a) 1649 SB
450 1803 1638 (text/enriched document. That means that all of the text/enriched commands in the) 1638 SB
450 1861 1625 (preceding part must be properly balanced with ending commands before the next) 1625 SB
450 1919 1688 (text/enriched part begins. Also, each text/enriched part must begin a new paragraph.) 1688 SB
375 2027 38 (2.) 38 SB
450 2027 1698 (If different types of non-ASCII text are to appear in the same line or paragraph, or if) 1698 SB
450 2085 1603 (text/enriched formatting \(e.g. margins, typeface, justification\) is required across) 1603 SB
450 2143 1688 (several different types of non-ASCII text, a single text/enriched body part should be) 1688 SB
450 2201 1635 (used with a character set specified that contains all of the required characters. For) 1635 SB
450 2259 1712 (example, a charset parameter of "UNICODE-1-1-UTF-7" as specified in [RFC-1642]) 1712 SB
450 2317 1538 (could be used for such purposes. Not only does UNICODE contain all of the) 1538 SB
450 2375 1601 (characters that can be represented in all of the other registered ISO 8859 MIME) 1601 SB
450 2433 1676 (character sets, but UTF-7 is fully compatible with other aspects of the text/enriched) 1676 SB
450 2491 1530 (standard, including the use of the "<" character referred to below. Any other) 1530 SB
450 2549 1631 (character sets that are specified for use in MIME which contain different types of) 1631 SB
450 2607 1025 (non-ASCII text can also be used in these instances.) 1025 SB
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Times-Roman
%%Page: 12 12
%%PageResources: (atend)
SS
0 0 25 11 798 1100 300 SM
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
0 0 0 fC
225 269 207 (RFC 1896) 207 SB
858 269 684 (text/enriched MIME Content-type) 684 SB
1881 269 294 (February 1996) 294 SB
225 2917 372 (Resnick & Walker) 372 SB
1079 2917 276 (Informational) 276 SB
1981 2917 127 ([Page ) 127 SB
2108 2917 50 (12) 50 SB
2158 2917 17 (]) 17 SB
32 0 0 58 58 0 0 0 56 /Times-Bold /font29 ANSIFont font
225 375 1238 (Use of the "<" character in formatting commands) 1238 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 498 1918 (If the character set specified by the charset parameter on the Content-type line is anything other) 1918 SB
225 556 1729 (than "US-ASCII", this means that the text being described by text/enriched formatting) 1729 SB
225 614 1844 (commands is in a non-ASCII character set. However, the commands themselves are still the) 1844 SB
225 672 1893 (same ASCII commands that are defined in this document. This creates an ambiguity only with) 1893 SB
225 730 1948 (reference to the "<" character, the octet with numeric value 60. In single byte character sets, such) 1948 SB
225 788 1898 (as the ISO-8859 family, this is not a problem; the octet 60 can be quoted by including it twice,) 1898 SB
225 846 1757 (just as for ASCII. The problem is more complicated, however, in the case of multi-byte) 1757 SB
225 904 1823 (character sets, where the octet 60 might appear at any point in the byte sequence for any of) 1823 SB
225 962 369 (several characters.) 369 SB
225 1070 1767 (In practice, however, most multi-byte character sets address this problem internally. For) 1767 SB
225 1128 1886 (example, the UNICODE character sets can use the UTF-7 encoding which preserves all of the) 1886 SB
225 1186 1932 (important ASCII characters in their single byte form. The ISO-2022 family of character sets can) 1932 SB
225 1244 1784 (use certain character sequences to switch back into ASCII at any moment. Therefore it is) 1784 SB
225 1302 1923 (specified that, before text/enriched formatting commands, the prevailing character set should be) 1923 SB
225 1360 1930 ("switched back" into ASCII, and that only those characters which would be interpreted as "<" in) 1930 SB
225 1418 1354 (plain text should be interpreted as token delimiters in text/enriched.) 1354 SB
225 1526 1893 (The question of what to do for hypothetical future character sets that do not subsume ASCII is) 1893 SB
225 1584 561 (not addressed in this memo.) 561 SB
32 0 0 67 67 0 0 0 65 /Times-Bold /font29 ANSIFont font
225 1690 1032 (Minimal text/enriched conformance) 1032 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 1824 1882 (A minimal text/enriched implementation is one that converts "<<" to "<", removes everything) 1882 SB
225 1882 1862 (between a command and the next balancing command, removes all other) 1862 SB
225 1940 1666 (formatting commands \(all text enclosed in angle brackets\), and, outside of ) 1666 SB
225 1998 1929 (environments, converts any series of n CRLFs to n-1 CRLFs, and converts any lone CRLF pairs) 1929 SB
225 2056 221 (to SPACE.) 221 SB
32 0 0 67 67 0 0 0 65 /Times-Bold /font29 ANSIFont font
225 2162 683 (Notes for Implementors) 683 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 2296 1863 (It is recognized that implementors of future mail systems will want rich text functionality far) 1863 SB
225 2354 1797 (beyond that currently defined for text/enriched. The intent of text/enriched is to provide a) 1797 SB
225 2412 1912 (common format for expressing that functionality in a form in which much of it, at least, will be) 1912 SB
225 2470 1821 (understood by interoperating software. Thus, in particular, software with a richer notion of) 1821 SB
225 2528 1876 (formatted text than text/enriched can still use text/enriched as its basic representation, but can) 1876 SB
225 2586 1858 (extend it with new formatting commands and by hiding information specific to that software) 1858 SB
225 2644 1826 (system in text/enriched constructs. As such systems evolve, it is expected that the) 1826 SB
225 2702 1760 (definition of text/enriched will be further refined by future published specifications, but) 1760 SB
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Times-Bold
%%+ font Times-Roman
%%Page: 13 13
%%PageResources: (atend)
SS
0 0 25 11 798 1100 300 SM
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
0 0 0 fC
225 269 207 (RFC 1896) 207 SB
858 269 684 (text/enriched MIME Content-type) 684 SB
1881 269 294 (February 1996) 294 SB
225 2917 372 (Resnick & Walker) 372 SB
1079 2917 276 (Informational) 276 SB
1981 2917 127 ([Page ) 127 SB
2108 2917 50 (13) 50 SB
2158 2917 17 (]) 17 SB
225 377 1838 (text/enriched as defined here provides a platform on which evolutionary refinements can be) 1838 SB
225 435 126 (based.) 126 SB
225 543 1943 (An expected common way that sophisticated mail programs will generate text/enriched data is as) 1943 SB
225 601 1872 (part of a multipart/alternative construct. For example, a mail agent that can generate enriched) 1872 SB
225 659 1890 (mail in ODA format can generate that mail in a more widely interoperable form by generating) 1890 SB
225 717 1201 (both text/enriched and ODA versions of the same data, e.g.:) 1201 SB
32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
375 823 1225 (Content-type: multipart/alternative; boundary=foo) 1225 SB
375 907 125 (--foo) 125 SB
375 949 675 (Content-type: text/enriched) 675 SB
375 1033 775 ([text/enriched version of data]) 775 SB
375 1075 875 (--foo Content-type: application/oda) 875 SB
375 1159 525 ([ODA version of data]) 525 SB
375 1201 175 (--foo--) 175 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 1337 1839 (If such a message is read using a MIME-conformant mail reader that understands ODA, the) 1839 SB
225 1395 1672 (ODA version will be displayed; otherwise, the text/enriched version will be shown.) 1672 SB
225 1503 1803 (In some environments, it might be impossible to combine certain text/enriched formatting) 1803 SB
225 1561 1903 (commands, whereas in others they might be combined easily. For example, the combination of) 1903 SB
225 1619 716 ( and might produce ) 716 SB
32 0 0 50 50 0 0 0 45 /Times-BoldItalic /font30 ANSIFont font
941 1619 224 (bold italics) 224 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
1165 1619 904 ( on systems that support such fonts, but there) 904 SB
225 1677 1925 (exist systems that can make text bold or italicized, but not both. In such cases, the most recently) 1925 SB
225 1735 1454 (issued \(innermost\) recognized formatting command should be preferred.) 1454 SB
225 1843 1865 (One of the major goals in the design of text/enriched was to make it so simple that even text-) 1865 SB
225 1901 1868 (only mailers will implement enriched-to- plain-text translators, thus increasing the likelihood) 1868 SB
225 1959 1832 (that enriched text will become "safe" to use very widely. To demonstrate this simplicity, an) 1832 SB
225 2017 1899 (extremely simple C program that converts text/enriched input into plain text output is included) 1899 SB
225 2075 311 (in Appendix A.) 311 SB
32 0 0 67 67 0 0 0 65 /Times-Bold /font29 ANSIFont font
225 2181 777 (Extensions to text/enriched) 777 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 2315 1950 (It is expected that various mail system authors will desire extensions to text/enriched. The simple) 1950 SB
225 2373 1869 (syntax of text/enriched, and the specification that unrecognized formatting commands should) 1869 SB
225 2431 1206 (simply be ignored, are intended to promote such extensions.) 1206 SB
32 0 0 67 67 0 0 0 65 /Times-Bold /font29 ANSIFont font
225 2537 357 (An Example) 357 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 2671 1400 (Putting all this together, the following "text/enriched" body fragment:) 1400 SB
32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
375 2777 1125 (From: Nathaniel Borenstein ) 1125 SB
375 2819 800 (To: Ned Freed ) 800 SB
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Courier
%%+ font Times-Bold
%%+ font Times-BoldItalic
%%+ font Times-Roman
%%Page: 14 14
%%PageResources: (atend)
SS
0 0 25 11 798 1100 300 SM
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
0 0 0 fC
225 269 207 (RFC 1896) 207 SB
858 269 684 (text/enriched MIME Content-type) 684 SB
1881 269 294 (February 1996) 294 SB
225 2917 372 (Resnick & Walker) 372 SB
1079 2917 276 (Informational) 276 SB
1981 2917 127 ([Page ) 127 SB
2108 2917 50 (14) 50 SB
2158 2917 17 (]) 17 SB
32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
375 375 675 (Content-type: text/enriched) 675 SB
375 459 1325 (Now is the time for all) 1325 SB
375 501 200 (good men) 200 SB
375 543 900 (\(and <\) to) 900 SB
375 585 625 (come) 625 SB
375 669 475 (to the aid of their) 475 SB
375 795 1000 (redbeloved) 1000 SB
375 837 200 (country.) 200 SB
375 921 275 (By the way,) 275 SB
375 963 1350 (I think that left<) 1350 SB
375 1047 900 (should REALLY be called) 900 SB
375 1131 1325 (left<) 1325 SB
375 1173 675 (and that I am always right.) 675 SB
375 1257 250 (-- the end) 250 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 1409 1939 (represents the following formatted text \(which will, no doubt, look somewhat cryptic in the text-) 1939 SB
225 1467 630 (only version of this document\):) 630 SB
32 0 0 50 50 0 0 0 48 /Times-Bold /font29 ANSIFont font
375 1573 97 (Now) 97 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
472 1576 307 ( is the time for ) 307 SB
32 0 0 50 50 0 0 0 47 /Times-Italic /font31 ANSIFont font
779 1574 53 (all) 53 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
832 1576 225 ( good men ) 225 SB
32 0 0 38 38 0 0 0 34 /Times-Roman /font32 ANSIFont font
1057 1587 245 (\(and \)) 245 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
1302 1576 173 ( to come) 173 SB
375 1636 347 (to the aid of their) 347 SB
255 0 0 fC
375 1752 158 (beloved) 158 SB
0 0 0 fC
533 1752 179 ( country.) 179 SB
375 1810 475 (By the way, I think that) 475 SB
525 1868 203 () 203 SB
375 1926 536 (should REALLY be called) 536 SB
525 1984 162 () 162 SB
375 2042 536 (and that I am always right.) 536 SB
375 2100 193 (-- the end) 193 SB
225 2216 1234 (where the word "beloved" would be in red on a color display.) 1234 SB
32 0 0 67 67 0 0 0 65 /Times-Bold /font29 ANSIFont font
225 2322 689 (Security Considerations) 689 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 2456 1812 (Security issues are not discussed in this memo, as the mechanism raises no security issues.) 1812 SB
32 0 0 67 67 0 0 0 65 /Times-Bold /font29 ANSIFont font
225 2562 504 (Author's Address) 504 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 2696 1755 (For more information, the authors of this document may be contacted via Internet mail:) 1755 SB
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Courier
%%+ font Times-Bold
%%+ font Times-Italic
%%+ font Times-Roman
%%Page: 15 15
%%PageResources: (atend)
SS
0 0 25 11 798 1100 300 SM
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
0 0 0 fC
225 269 207 (RFC 1896) 207 SB
858 269 684 (text/enriched MIME Content-type) 684 SB
1881 269 294 (February 1996) 294 SB
225 2917 372 (Resnick & Walker) 372 SB
1079 2917 276 (Informational) 276 SB
1981 2917 127 ([Page ) 127 SB
2108 2917 50 (15) 50 SB
2158 2917 17 (]) 17 SB
32 0 0 50 50 0 0 0 47 /Times-Italic /font31 ANSIFont font
1028 375 344 (Peter W. Resnick) 344 SB
920 434 560 (QUALCOMM Incorporated) 560 SB
986 493 428 (6455 Lusk Boulevard) 428 SB
922 552 555 (San Diego, CA 92121-2779) 555 SB
947 611 506 (Phone: +1 619 587 1121) 506 SB
964 670 471 (FAX: +1 619 658 2230) 471 SB
862 729 676 (e-mail: presnick@qualcomm.com) 676 SB
1038 838 324 (Amanda Walker) 324 SB
894 897 612 (InterCon Systems Corporation) 612 SB
972 956 455 (950 Herndon Parkway) 455 SB
998 1015 403 (Herndon, VA 22070) 403 SB
947 1074 506 (Phone: +1 703 709 5500) 506 SB
964 1133 471 (FAX: +1 703 709 5555) 471 SB
886 1192 627 (e-mail: amanda@intercon.com) 627 SB
32 0 0 67 67 0 0 0 65 /Times-Bold /font29 ANSIFont font
225 1301 555 (Acknowledgements) 555 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 1435 1902 (The authors gratefully acknowledge the input of many contributors, readers, and implementors) 1902 SB
225 1493 1829 (of the specification in this document. Particular thanks are due to Nathaniel Borenstein, the) 1829 SB
225 1551 585 (original author of RFC 1563.) 585 SB
32 0 0 67 67 0 0 0 65 /Times-Bold /font29 ANSIFont font
225 1657 313 (References) 313 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 1791 245 ([RFC-1341]) 245 SB
375 1849 1790 (Borenstein, N., Freed, N., "MIME \(Multipurpose Internet Mail Extensions\): Mechanisms) 1790 SB
375 1907 1686 (for Specifying and Describing the Format of Internet Message Bodies", 06/11/1992.) 1686 SB
225 2015 245 ([RFC-1521]) 245 SB
375 2073 1716 (Borenstein, N., Freed, N., "MIME \(Multipurpose Internet Mail Extensions\) Part One:) 1716 SB
375 2131 1696 (Mechanisms for Specifying and Describing the Format of Internet Message Bodies",) 1696 SB
375 2189 241 (09/23/1993.) 241 SB
225 2297 245 ([RFC-1523]) 245 SB
375 2355 1399 (Borenstein, N., "The text/enriched MIME Content-type", 09/23/1993.) 1399 SB
225 2463 245 ([RFC-1563]) 245 SB
375 2521 1399 (Borenstein, N., "The text/enriched MIME Content-type", 01/10/1994.) 1399 SB
225 2629 245 ([RFC-1642]) 245 SB
375 2687 1739 (Goldsmith, D., Davis, M., "UTF-7 - A Mail-Safe Transformation Format of Unicode",) 1739 SB
375 2745 241 (07/13/1994.) 241 SB
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Times-Bold
%%+ font Times-Italic
%%+ font Times-Roman
%%Page: 16 16
%%PageResources: (atend)
SS
0 0 25 11 798 1100 300 SM
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
0 0 0 fC
225 269 207 (RFC 1896) 207 SB
858 269 684 (text/enriched MIME Content-type) 684 SB
1881 269 294 (February 1996) 294 SB
225 2917 372 (Resnick & Walker) 372 SB
1079 2917 276 (Informational) 276 SB
1981 2917 127 ([Page ) 127 SB
2108 2917 50 (16) 50 SB
2158 2917 17 (]) 17 SB
225 377 245 ([RFC-1766]) 245 SB
375 435 1437 (Alvestrand, H., "Tags for the Identification of Languages", 03/02/1995.) 1437 SB
225 543 245 ([RFC-1866]) 245 SB
375 601 1624 (Berners-Lee, T., Connolly, D., "Hypertext Markup Language - 2.0", 11/03/1995.) 1624 SB
32 0 0 67 67 0 0 0 65 /Times-Bold /font29 ANSIFont font
225 707 1630 (Appendix A--A Simple enriched-to-plain Translator in C) 1630 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 841 1906 (One of the major goals in the design of the text/enriched subtype of the text Content-Type is to) 1906 SB
225 899 1924 (make formatted text so simple that even text-only mailers will implement enriched-to-plain-text) 1924 SB
225 957 1826 (translators, thus increasing the likelihood that multifont text will become "safe" to use very) 1826 SB
225 1015 1785 (widely. To demonstrate this simplicity, what follows is a simple C program that converts) 1785 SB
225 1073 1834 (text/enriched input into plain text output. Note that the local newline convention \(the single) 1834 SB
225 1131 1944 (character represented by "\\n"\) is assumed by this program, but that special CRLF handling might) 1944 SB
225 1189 617 (be necessary on some systems.) 617 SB
32 0 0 33 33 0 0 0 26 /Courier /font0 ANSIFont font
225 1295 360 (#include ) 360 SB
225 1328 360 (#include ) 360 SB
225 1361 380 (#include ) 380 SB
225 1394 380 (#include ) 380 SB
225 1460 160 (main\(\) {) 160 SB
375 1493 860 (int c, i, paramct=0, newlinect=0, nofill=0;) 860 SB
375 1526 380 (char token[62], *p;) 380 SB
375 1592 280 (while \(\(c=getc) 280 SB
655 1592 360 (\(stdin\)\) != EOF\) {) 360 SB
525 1625 300 (if \(c == '<'\) {) 300 SB
675 1658 760 (if \(newlinect == 1\) putc\(' ', stdout\);) 760 SB
675 1691 280 (newlinect = 0;) 280 SB
675 1724 320 (c = getc\(stdin\);) 320 SB
675 1757 300 (if \(c == '<'\) {) 300 SB
825 1790 680 (if \(paramct <= 0\) putc\(c, stdout\);) 680 SB
675 1823 160 (} else {) 160 SB
825 1856 360 ( ungetc\(c, stdin\);) 360 SB
825 1889 1240 ( for \(i=0, p=token; \(c=getc\(stdin\)\) != EOF && c != '>'; i++\) {) 1240 SB
975 1922 480 (if \(i < sizeof\(token\)-1\)) 480 SB
1125 1955 700 (*p++ = isupper\(c\) ? tolower\(c\) : c;) 700 SB
825 1988 40 ( }) 40 SB
825 2021 220 ( *p = '\\0';) 220 SB
825 2054 420 ( if \(c == EOF\) break;) 420 SB
825 2087 660 ( if \(strcmp\(token, "param"\) == 0\)) 660 SB
975 2120 220 ( paramct++;) 220 SB
825 2153 780 ( else if \(strcmp\(token, "nofill"\) == 0\)) 780 SB
975 2186 200 ( nofill++;) 200 SB
825 2219 780 ( else if \(strcmp\(token, "/param"\) == 0\)) 780 SB
975 2252 220 ( paramct--;) 220 SB
825 2285 800 ( else if \(strcmp\(token, "/nofill"\) == 0\)) 800 SB
975 2318 200 ( nofill--;) 200 SB
675 2351 40 ( }) 40 SB
525 2384 160 (} else {) 160 SB
675 2417 320 (if \(paramct > 0\)) 320 SB
825 2450 420 (; /* ignore params */) 420 SB
675 2483 720 (else if \(c == '\\n' && nofill <= 0\) {) 720 SB
825 2516 740 (if \(++newlinect > 1\) putc\(c, stdout\);) 740 SB
675 2549 160 (} else {) 160 SB
825 2582 760 (if \(newlinect == 1\) putc\(' ', stdout\);) 760 SB
825 2615 280 (newlinect = 0;) 280 SB
825 2648 320 (putc\(c, stdout\);) 320 SB
675 2681 20 (}) 20 SB
525 2714 20 (}) 20 SB
375 2747 20 (}) 20 SB
375 2780 1180 (/* The following line is only needed with line-buffering */) 1180 SB
375 2813 380 (putc\('\\n', stdout\);) 380 SB
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Courier
%%+ font Times-Bold
%%+ font Times-Roman
%%Page: 17 17
%%PageResources: (atend)
SS
0 0 25 11 798 1100 300 SM
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
0 0 0 fC
225 269 207 (RFC 1896) 207 SB
858 269 684 (text/enriched MIME Content-type) 684 SB
1881 269 294 (February 1996) 294 SB
225 2917 372 (Resnick & Walker) 372 SB
1079 2917 276 (Informational) 276 SB
1981 2917 127 ([Page ) 127 SB
2108 2917 50 (17) 50 SB
2158 2917 17 (]) 17 SB
32 0 0 33 33 0 0 0 26 /Courier /font0 ANSIFont font
375 375 160 (exit\(0\);) 160 SB
225 408 20 (}) 20 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 481 1901 (It should be noted that one can do considerably better than this in displaying text/enriched data) 1901 SB
225 539 1897 (on a dumb terminal. In particular, one can replace font information such as "bold" with textual) 1897 SB
225 597 1933 (emphasis \(like *this* or _T_H_I_S_\). One can also properly handle the text/enriched formatting) 1933 SB
225 655 1877 (commands regarding indentation, justification, and others. However, the above program is all) 1877 SB
225 713 1904 (that is necessary in order to present text/enriched on a dumb terminal without showing the user) 1904 SB
225 771 484 (any formatting artifacts.) 484 SB
32 0 0 67 67 0 0 0 65 /Times-Bold /font29 ANSIFont font
225 877 1686 (Appendix B--A Simple enriched-to-HTML Translator in C) 1686 SB
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
225 1011 1846 (It is fully expected that other text formatting standards like HTML and SGML will supplant) 1846 SB
225 1069 1859 (text/enriched in Internet mail. It is also likely that as this happens, recipients of text/enriched) 1859 SB
225 1127 1895 (mail will wish to view such mail with an HTML viewer. To this end, the following is a simple) 1895 SB
225 1185 1920 (example of a C program to convert text/enriched to HTML. Since the current version of HTML) 1920 SB
225 1243 1859 (at the time of this document's publication is HTML 2.0 defined in [RFC-1866], this program) 1859 SB
225 1301 1854 (converts to that standard. There are several text/enriched commands that have no HTML 2.0) 1854 SB
225 1359 1701 (equivalent. In those cases, this program simply puts those commands into processing) 1701 SB
225 1417 1724 (instructions; that is, surrounded by "" and ">". As in Appendix A, the local newline) 1724 SB
225 1475 1858 (convention \(the single character represented by "\\n"\) is assumed by this program, but special) 1858 SB
225 1533 1073 (CRLF handling might be necessary on some systems.) 1073 SB
32 0 0 33 33 0 0 0 26 /Courier /font0 ANSIFont font
225 1639 360 (#include ) 360 SB
225 1672 360 (#include ) 360 SB
225 1705 380 (#include ) 380 SB
225 1738 380 (#include ) 380 SB
225 1804 160 (main\(\) {) 160 SB
375 1837 600 (int c, i, paramct=0, nofill=0;) 600 SB
375 1870 380 (char token[62], *p;) 380 SB
375 1936 120 (while\() 120 SB
495 1936 500 (\(c=getc\(stdin\)\) != EOF\) {) 500 SB
525 1969 280 (if\(c == '<'\) {) 280 SB
675 2002 320 (c = getc\(stdin\);) 320 SB
675 2035 280 (if\(c == '<'\) {) 280 SB
825 2068 440 (fputs\("<", stdout\);) 440 SB
675 2101 160 (} else {) 160 SB
825 2134 340 (ungetc\(c, stdin\);) 340 SB
825 2167 1220 (for \(i=0, p=token; \(c=getc\(stdin\)\) != EOF && c != '>'; i++\) {) 1220 SB
975 2200 480 (if \(i < sizeof\(token\)-1\)) 480 SB
1125 2233 700 (*p++ = isupper\(c\) ? tolower\(c\) : c;) 700 SB
825 2266 20 (}) 20 SB
825 2299 200 (*p = '\\0';) 200 SB
825 2332 380 (if\(c == EOF\) break;) 380 SB
825 2365 680 (if\(strcmp\(token, "/param"\) == 0\) {) 680 SB
975 2398 200 (paramct--;) 200 SB
975 2431 360 (putc\('>', stdout\);) 360 SB
825 2464 480 (} else if\(paramct > 0\) {) 480 SB
975 2497 440 (fputs\("<", stdout\);) 440 SB
975 2530 420 (fputs\(token, stdout\);) 420 SB
975 2563 380 (fputs\(">", stdou) 380 SB
1355 2563 60 (t\);) 60 SB
825 2596 160 (} else {) 160 SB
975 2629 360 (putc\('<', stdout\);) 360 SB
975 2662 680 (if\(strcmp\(token, "nofill"\) == 0\) {) 680 SB
1125 2695 180 (nofill++;) 180 SB
1125 2728 420 (fputs\("pre", stdout\);) 420 SB
975 2761 840 (} else if\(strcmp\(token, "/nofill"\) == 0\) {) 840 SB
1125 2794 180 (nofill--;) 180 SB
1125 2827 440 (fputs\("/pre", stdout\);) 440 SB
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Courier
%%+ font Times-Bold
%%+ font Times-Roman
%%Page: 18 18
%%PageResources: (atend)
SS
0 0 25 11 798 1100 300 SM
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
0 0 0 fC
225 269 207 (RFC 1896) 207 SB
858 269 684 (text/enriched MIME Content-type) 684 SB
1881 269 294 (February 1996) 294 SB
225 2917 372 (Resnick & Walker) 372 SB
1079 2917 276 (Informational) 276 SB
1981 2917 127 ([Page ) 127 SB
2108 2917 50 (18) 50 SB
2158 2917 17 (]) 17 SB
32 0 0 33 33 0 0 0 26 /Courier /font0 ANSIFont font
975 375 780 (} else if\(strcmp\(token, "bold"\) == 0\) {) 780 SB
1125 408 380 (fputs\("b", stdout\);) 380 SB
975 441 800 (} else if\(strcmp\(token, "/bold"\) == 0\) {) 800 SB
1125 474 400 (fputs\("/b", stdout\);) 400 SB
975 507 820 (} else if\(strcmp\(token, "italic"\) == 0\) {) 820 SB
1125 540 380 (fputs\("i", stdout\);) 380 SB
975 573 840 (} else if\(strcmp\(token, "/italic"\) == 0\) {) 840 SB
1125 606 400 (fputs\("/i", stdout\);) 400 SB
975 639 800 (} else if\(strcmp\(token, "fixed"\) == 0\) {) 800 SB
1125 672 400 (fputs\("tt", stdout\);) 400 SB
975 705 820 (} else if\(strcmp\(token, "/fixed"\) == 0\) {) 820 SB
1125 738 420 (fputs\("/tt", stdout\);) 420 SB
975 771 840 (} else if\(strcmp\(token, "excerpt"\) == 0\) {) 840 SB
1125 804 560 (fputs\("blockquote", stdout\);) 560 SB
975 837 860 (} else if\(strcmp\(token, "/excerpt"\) == 0\) {) 860 SB
1125 870 580 (fputs\("/blockquote", stdout\);) 580 SB
975 903 160 (} else {) 160 SB
1125 936 360 (putc\('?', stdout\);) 360 SB
1125 969 420 (fputs\(token, stdout\);) 420 SB
1125 1002 660 (if\(strcmp\(token, "param"\) == 0\) {) 660 SB
1275 1035 200 (paramct++;) 200 SB
1275 1068 360 (putc\(' ', stdout\);) 360 SB
1275 1101 180 (continue;) 180 SB
1125 1134 20 (}) 20 SB
975 1167 20 (}) 20 SB
975 1200 200 (putc\('>', ) 200 SB
1175 1200 160 (stdout\);) 160 SB
825 1233 20 (}) 20 SB
675 1266 20 (}) 20 SB
525 1299 420 (} else if\(c == '>'\) {) 420 SB
675 1332 440 (fputs\(">", stdout\);) 440 SB
525 1365 440 (} else if \(c == '&'\) {) 440 SB
675 1398 460 (fputs\("&", stdout\);) 460 SB
525 1431 160 (} else {) 160 SB
675 1464 920 (if\(c == '\\n' && nofill <= 0 && paramct <= 0\) {) 920 SB
825 1497 1060 (while\(\(i=getc\(stdin\)\) == '\\n'\) fputs\("
", stdout\);) 1060 SB
825 1530 340 (ungetc\(i, stdin\);) 340 SB
675 1563 20 (}) 20 SB
675 1596 320 (putc\(c, stdout\);) 320 SB
525 1629 20 (}) 20 SB
375 1662 20 (}) 20 SB
375 1695 1180 (/* The following line is only needed with line-buffering */) 1180 SB
375 1728 380 (putc\('\\n', stdout\);) 380 SB
375 1761 160 (exit\(0\);) 160 SB
225 1794 20 (}) 20 SB
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Courier
%%+ font Times-Roman
%%Trailer
end
%%Pages: 18
% TrueType font name key:
% MSTT31c11a = 3c07DTimes New RomanF0000002a000001900000
%%DocumentSuppliedResources: procset Win35Dict 3 1
%%DocumentNeededResources: font Courier
%%+ font Times-Bold
%%+ font Times-BoldItalic
%%+ font Times-Italic
%%+ font Times-Roman
%%EOF
--============_-1364376177==_============
Content-Type: text/plain; charset="us-ascii"
--
Pete Resnick
QUALCOMM Incorporated
Work: (217)337-6377 / Fax: (217)337-1980
--============_-1364376177==_============--