rfc1168.ps
来自「RFC 的详细文档!」· PS 代码 · 共 3,319 行 · 第 1/5 页
PS
3,319 行
} bdf
/LoadGlyph load 0 20 dict put
/sf { PSfontobj exch get setfont } bdf
%
%%%%%%%%%%%%%%%%%%%%%%%%%
% FILL PATTERNS
%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Fill patterns by clipping a rectangle filled with characters
%
% IL patterns are presently on 32x32 tiles, even if there is a subtile
% which would define the whole pattern. However, we attempt generality
% here grayArray determines whether to use grayscale for some patterns
% even if not using native patterns
%
/stdsizex 32 def
/stdsizey 32 def
/patternstring 1 string def
/grayArray [ %indexed by position in IL pattern font, -1 means not grayscale
% others are fraction of WHITE
-1 -1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 1 .92 .8
.65 0 .5 .35 .2 ] def
/patgrayArray [ %when using grayscale as complete simulation
0 .12 .22 .32 .42 .52 .62 .72
.82 .92 .17 .27 .37 1 .92 .8
.65 0 .5 .35 .2 ] def
%
% THE APPLICATION CALLS:
%
/fillpatset { % fnum patchar fillpatset
/patchar xdf % selects pattern ch in font fnum
/pfindex xdf
patgraylevel dup 0 ge { % The extra call to patgraylevel
/patIsGray true def % is needed because PS computes
/patgray xdf % both operands of an "and" operator
} { % even if the first is false.
pop /patIsGray false def
} ifelse
} bdf
/fp {
gsave
pfindex 0 eq patchar 0 eq and { % special case
/patIsGray true def
/patgray 0 def
} if
patIsGray {
/oldgray currentgray def
patgray setgray
eofill
oldgray setgray
} {
useNativeFonts { % native non gray fill patterns
patchar 0 showpattern
} {
currentfont
PSfontobj pfindex get setfont
pfill
dup null ne {setfont} {pop} ifelse
} ifelse
} ifelse
grestore
} bdf
%
% Private implementation procedures
%
% Before invoking pfill, you must have set the pattern
% font as the current font.
% pfill will cause a newpath, just as do fill and stroke.
%
/pfill {
gsave 1 setgray eofill grestore % must fill on white
gsave setupfactors setupregion blastchars grestore
newpath
} bdf
/setupfactors {
0 setgray
[] 0 setdash
patternstring 0 patchar put
/patx stdsizex def /paty stdsizey def
} bdf
/setupregion {
eoclip
pathbbox
/ry exch ceiling def
/rx exch ceiling def
/ly exch floor cvi
dup 0 lt{paty sub}if %We need (lx,ly) modulo (patx,paty)
dup paty mod sub def %in device space coords.
/lx exch floor cvi
dup 0 lt{patx sub}if
dup patx mod sub def
/ry ry paty add def %we are painting downwards as positive
/ly ly paty sub def
newpath
} bdf
/blastchars {
/#chars rx lx sub patx div ceiling cvi def
ly paty ry {
lx exch moveto
#chars{ patternstring show} repeat
}for
} bdf
/patgraylevel {
patchar grayArray length ge {
-1
} {
grayArray patchar get
} ifelse
} bdf
%
% Non gray Native fill pattern. Right out of the PS cook book page 192.
%
/setuserscreendict 22 dict def
setuserscreendict begin
/tempctm matrix def
/temprot matrix def
/tempscale matrix def
/concatprocs
{/proc2 exch cvlit def
/proc1 exch cvlit def
/newproc proc1 length proc2 length add
array def
newproc 0 proc1 putinterval
newproc proc1 length proc2 putinterval
newproc cvx
} bdf
/resmatrix matrix def
/findresolution
{72 0 resmatrix defaultmatrix dtransform
/yres xdf /xres xdf
xres dup mul yres dup mul add sqrt
} bdf
end
/setuserscreen
{setuserscreendict begin
/spotfunction xdf
/screenangle xdf
/cellsize xdf
/m tempctm currentmatrix def
/rm screenangle temprot rotate def
/sm cellsize dup tempscale scale def
sm rm m m concatmatrix m concatmatrix pop
1 0 m dtransform /y1 xdf /x1 xdf
/veclength x1 dup mul y1 dup mul add sqrt def
/veclength veclength DPIx 72 div mul def
/frequency findresolution veclength div def
/newscreenangle y1 x1 atan def
m 2 get m 1 get mul m 0 get m 3 get mul sub 0 gt
{{neg}
/spotfunction load concatprocs
/spotfunction xdf
} if
frequency newscreenangle /spotfunction load setscreen
end % setuserscreendict begin
} bdf
/setpatterndict 18 dict def
setpatterndict begin
/bitison
{/ybit xdf /xbit xdf
/bytevalue bstring ybit bwidth mul xbit 8 idiv add get def
/mask 1 7 xbit 8 mod sub bitshift def
bytevalue mask and 0 ne
} bdf
end % setpatterndict begin
/bitpatternspotfunction
{setpatterndict begin
/y xdf /x xdf
/xindex x 1 add 2 div bpside mul cvi def
/yindex y 1 add 2 div bpside mul cvi def
xindex yindex bitison
{/onbits onbits 1 add def 1 }
{/offbits offbits 1 add def 0 }
ifelse
end % setpatterndict begin
} bdf
/setpattern
{setpatterndict begin
/cellsz xdf
/angle xdf
/bwidth xdf
/bpside xdf
/bstring xdf
/onbits 0 def /offbits 0 def
cellsz angle /bitpatternspotfunction load setuserscreen
{} settransfer
offbits offbits onbits add div setgray
end % setpatterndict begin
} bdf
/showpattern
{/ang xdf
/patnum xdf
patternarray patnum get 32 4 ang 72 300 32 div div setpattern
eofill
} bdf
/patternarray [
<>
<
00000000 60c00030 60c00030 00000000 00000000 060c0003 060c0003 00000000
00000000 3060c000 3060c000 00000000 00000000 03060c00 03060c00 00000000
00000000 003060c0 003060c0 00000000 00000000 0003060c 0003060c 00000000
00000000 c0003060 c0003060 00000000 00000000 0c000306 0c000306 00000000
>
<
00000000 0c000306 0c000306 00000000 00000000 c0003060 c0003060 00000000
00000000 0003060c 0003060c 00000000 00000000 003060c0 003060c0 00000000
00000000 03060c00 03060c00 00000000 00000000 3060c000 3060c000 00000000
00000000 060c0003 060c0003 00000000 00000000 60c00030 60c00030 00000000
>
<
00030c00 00030c00 00000000 00000000 000030c0 000030c0 00000000 00000000
0000030c 0000030c 00000000 00000000 c0000030 c0000030 00000000 00000000
0c000003 0c000003 00000000 00000000 30c00000 30c00000 00000000 00000000
030c0000 030c0000 00000000 00000000 0030c000 0030c000 00000000 00000000
>
<
0030c000 0030c000 00000000 00000000 030c0000 030c0000 00000000 00000000
30c00000 30c00000 00000000 00000000 0c000003 0c000003 00000000 00000000
c0000030 c0000030 00000000 00000000 0000030c 0000030c 00000000 00000000
000030c0 000030c0 00000000 00000000 00030c00 00030c00 00000000 00000000
>
<
00000000 00000707 00000707 00000707 00000000 00007070 00007070 00007070
00000000 00000707 00000707 00000707 00000000 00007070 00007070 00007070
00000000 00000707 00000707 00000707 00000000 00007070 00007070 00007070
00000000 00000707 00000707 00000707 00000000 00007070 00007070 00007070
>
<
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 0e0e0e0e 0e0e0e0e 0e0e0e0e 00000000 e0e0e0e0 e0e0e0e0 e0e0e0e0
00000000 0e0e0e0e 0e0e0e0e 0e0e0e0e 00000000 e0e0e0e0 e0e0e0e0 e0e0e0e0
>
<
cccc0ccc cccc0ccc 00000000 00000000 cccc0ccc cccc0ccc 00000000 00000000
cccc0ccc cccc0ccc 00000000 00000000 00000000 00000000 00000000 00000000
0ccccccc 0ccccccc 00000000 00000000 0ccccccc 0ccccccc 00000000 00000000
0ccccccc 0ccccccc 00000000 00000000 00000000 00000000 00000000 00000000
>
<
88880888 88880888 00000000 00000000 88880888 88880888 00000000 00000000
88880888 88880888 00000000 00000000 00000000 00000000 00000000 00000000
08888888 08888888 00000000 00000000 08888888 08888888 00000000 00000000
08888888 08888888 00000000 00000000 00000000 00000000 00000000 00000000
>
<
00000308 00000308 00040308 00040398 000c01d0 007e01f8 01cb80fc 0309803e
0618802f 06108027 06108063 07100843 03b01843 03e01046 01f018c6 00781c9c
007c07f0 005e0080 004e0180 00c60100 10860100 30860000 208c0000 318c0000
39380002 0fe00002 01000006 0300003f c20000e5 c2000184 40000304 4000030c
>
<
00007618 00003c70 00003fe0 00000f80 00000800 00040800 00041800 000c1000
00081000 007e0000 01db0000 03138000 06138000 06310000 0c200000 0c200010
18600010 18400030 18400020 18c001f8 1880076c 1c810c4e 1d86184e 0f1c18c4
0ff83080 03e03080 02006180 02006100 06006100 04006300 04006200 00007204
>
<
00000180 00000180 00000000 00000000 00000198 00000198 00000000 00000000
00000198 00000198 00000000 00000000 00000198 00000198 00000000 00000000
00000198 00000198 00000000 00000000 19999998 19999998 00000000 00000000
01999998 01999998 00000000 00000000 00000000 00000000 00000000 00000000
>
<
00000400 00000000 00000100 00000180 00000000 00000000 00000190 00000198
00000000 00000000 00000198 00000198 00000000 00000000 00000998 00000998
00000000 00000000 00001998 00019990 40000000 00000000 19999980 09999980
00000000 00000000 01999800 00999000 00000000 00000000 00000000 00000000
>
] def
%
%%%%%%%%%%%%%%%%%%%%%%%%%
% Page
%%%%%%%%%%%%%%%%%%%%%%%%%
/bop {/pagestate save def } bdf
/eop {docutmark {cutmark} if showpage pagestate restore } bdf %prints N copies
%
% Define clipping path
%
/clp {initclip newpath av as as as closepath clip } bdf
%
% Cutting marks for typsetter paper
%
/cutmark { 0 begin
/pw DPIx 40 div def % pen width
/pw2 pw 2 div def
/lnx DPIx 4 div def
/lny DPIy 4 div def
initclip
pw sw
[] 0 setdash
newpath
pw2 neg pw2 neg translate
lnx neg 0 av lnx 0 as
0 lny neg av 0 lny as
PSpagewidth pw add 0 translate
lnx neg 0 av lnx 0 as
0 lny neg av 0 lny as
0 PSpagelength pw add translate
lnx neg 0 av lnx 0 as
0 lny neg av 0 lny as
PSpagewidth pw add neg 0 translate
lnx neg 0 av lnx 0 as
0 lny neg av 0 lny as
dp
end
} bdf
/cutmark load 0 4 dict put
%!
% InterLeaf to Postscript fontname mapping
%
/fontmap 14 dict def
/Ops6 /ILtims 6 map
/Ops7 /ILtims 7 map
/Ops8 /ILtims 8 map
/timsps10 /ILtims 10 map
/timsps12 /ILtims 12 map
/timsps12b /ILtimsb 12 map
/timsps12i /ILtimsi 12 map
/timsps14b /ILtimsb 14 map
/helvps8 /ILhelv 8 map
/helvps8b /ILhelvb 8 map
/helvps10 /ILhelv 10 map
/helvps10b /ILhelvb 10 map
/helvps12b /ILhelvb 12 map
/helvps14b /ILhelvb 14 map
%
% Create and ReEncode the following fonts.
%
/Times-Roman /ILtims ILEncoding ReEncode
/Times-Italic /ILtimsi ILEncoding ReEncode
/Times-Bold /ILtimsb ILEncoding ReEncode
/Helvetica /ILhelv ILEncoding ReEncode
/Helvetica-Bold /ILhelvb ILEncoding ReEncode
%!
% >> pl2ps version 3.2.1
1 2 3 versioncheck
/hline 4 array def
hline 3 (For: westine ) put
hline 2 (Document: cmr90-ps ) put
hline 1 (Last saved on: Mon Jul 16 15:51:09 1990 ) put
hline 0 (Printed on: Mon Jul 16 15:49:36 1990 ) put
logme
letter
/initialstate save def
/PSpagelength 3300 def
/PSpagewidth 2550 def
/DPIx 300 def /DPIy 300 def
72 DPIx div 72 DPIy div neg scale
0 3300 neg translate
/PSfontobj 85 array def
/useNativeFonts true def
/drawmode PL_SET def
4.0 sw
/Ops6 0 declareFont
0 0 fillpatset
bop
0 3300 2550 3300 2550 0 0 0 clp
/timsps12 1 declareFont
1 sf
1275.0 120.0 m
2237.0 283.0 m
( ) 2250 0.00 32 s
300.0 3114.0 m
(Westine, DeSchon, Postel & Ward) 996 0.00 32 s
2077.0 3110.0 m
([Page 1]) 2246 0.00 32 s
297.0 413.0 m
2023.0 411.0 m
(A. Westine) 2248 0.00 32 s
297.0 h
(Network Working Group) 804 0.00 32 s
297.0 459.0 m
(Request for Comments:) 772 0.00 32 s
2001.0 h
(A. DeSchon) 2246 0.00 32 s
2079.0 507.0 m
(J. Postel) 2246 0.00 32 s
2021.0 555.0 m
(C. E. Ward) 2248 0.00 32 s
2065.0 600.0 m
(USC/ISI) 2238 0.00 -1 s
2036.0 639.0 m
(July 1990) 2233 1.00 32 s
837.0 455.0 m
( 1168) 951 1.00 32 s
2253.0 413.0 m
/timsps14b 2 declareFont
2 sf
1275.0 765.0 m
459.0 841.0 m
(INTERMAIL) 803 0.00 -1 s
( AND COMMERCIAL MAIL RELAY SERVICES) 2093 2.20 32 s
/timsps12b 3 declareFont
3 sf
300.0 953.0 m
(STATUS) 494 0.00 -1 s
( OF THIS MEMO) 894 2.00 32 s
1 sf
300.0 1061.0 m
(This RFC discusses the history and evolution of the Intermail and Commercial mail systems.) 2196 2.62 32 s
300.0 1127.0 m
(The problems encountered in operating a store-and-forward mail relay between commercial) 2184 2.70 32 s
300.0 1192.0 m
(systems such as Telemail, MCI Mail and Dialcom are also discussed. This RFC provides) 2114 2.62 32 s
300.0 1258.0 m
(information for the Internet community, and does not specify any standard. Distribution of this) 2248 2.21 32 s
300.0 1324.0 m
(memo is unlimited.) 693 2.00 32 s
3 sf
300.0 1431.0 m
(INTRODUCTION) 698 0.00 -1 s
1 sf
300.0 1539.0 m
(The evolution of large electronic mail systems testifies to the increasing importance of) 2061 2.17 32 s
300.0 1604.0 m
(electronic mail as a means of communication and coordination throughout the scientific) 2093 2.91 32 s
300.0 1670.0 m
(research community. ) 739 3.00 32 s
300.0 1778.0 m
(This paper is a summary of the development of, and a status report on, an experiment in) 2104 2.38 32 s
300.0 1843.0 m
(protocol interoperation between mail systems of different design. USC/Information Sciences) 2200 2.70 32 s
300.0 1909.0 m
(Institute \(ISI\) began work on this experiment in 1981 and over the years has provided an) 2113 2.13 32 s
300.0 1975.0 m
(evolving demonstration service for users to exchange mail between the Internet and a few) 2133 2.54 32 s
300.0 2040.0 m
(commercial mail systems.) 825 2.00 32 s
300.0 2148.0 m
(Recently other organizations have begun to provide similar services, demonstrating the ongoing) 2248 2.27 32 s
300.0 2214.0 m
(need for interoperation of the Internet and the commercial mail systems. We believe that ISI's) 2242 2.67 32 s
300.0 2280.0 m
(pioneering work in this area has promoted this expansion of service.) 1692 2.30 32 s
300.0 2387.0 m
(These systems include the Internet mail system, the US Sprint Telemail system, the MCI Mail) 2228 2.86 32 s
300.0 2453.0 m
(system, and the Dialcom systems. All of the systems were designed to operate autonomously,) 2208 2.54 32 s
300.0 2518.0 m
(with no convenient mechanism to allow users of one system to send electronic mail to users on) 2243 2.44 32 s
300.0 2584.0 m
(another system.) 616 2.00 32 s
300.0 2692.0 m
(The Intermail and Commercial Mail Relay \(CMR\) services described in this paper were) 2088 2.25 32 s
300.0 2757.0 m
(developed to provide a means for sending mail between the Internet and these commercial mail) 2251 2.71 32 s
300.0 2823.0 m
(systems.) 470 0.00 -1 s
eop
0.0 0.0 m
bop
0 3300 2550 3300 2550 0 0 0 clp
/timsps12 1 declareFont
1 sf
2045.0 240.0 m
(July 1990) 2241 0.00 32 s
807.0 h
(Intermail and Commercial Mail Relay Services) 1754 0.00 32 s
300.0 h
(RFC 1168) 507 0.00 32 s
300.0 3114.0 m
(Westine, DeSchon, Postel & Ward) 996 0.00 32 s
2077.0 3110.0 m
([Page 2]) 2246 0.00 32 s
300.0 413.0 m
(The Internet is an interconnected system of networks using the SMTP mail protocol, which) 2163 2.46 32 s
300.0 478.0 m
(includes the ARPANET, MILNET, NSFNET, and about 700 other networks; mail relays allow) 2236 2.17 32 s
300.0 544.0 m
(the exchange of mail with BITNET, CSNET, and the UUCP networks as well. To the users,) 2199 2.31 32 s
300.0 610.0 m
(this Internet looks like one large mail system with at least 100,000 computers and at least) 2131 2.67 32 s
300.0 675.0 m
(400,000 users. Figure 1 illustrates the path of a message sent by a user on one Internet host to) 2233 2.32 32 s
300.0 741.0 m
(a user on another Internet host. For more details on the Internet and connected networks \(see) 2210 2.38 32 s
300.0 807.0 m
(Appendix) 497 0.00 -1 s
( A\).) 577 1.00 32 s
300.0 914.0 m
(As) 355 0.00 -1 s
( commercial mail systems came into popular use, it became clear that a mail link between) 2184 2.00 32 s
300.0 980.0 m
(the Internet and the commercial mail systems was necessary \(see Appendix B\). More and) 2137 2.36 32 s
300.0 1046.0 m
(more commercial and research entities needed to communicate with the Internet research) 2116 2.82 32 s
300.0 1111.0 m
(community, and many of these organizations \(for one reason or another\) were inappropriate) 2171 2.25 32 s
300.0 1177.0 m
(candidates for Internet sites. The Intermail and CMR services allow these groups to) 2019 2.46 32 s
300.0 1243.0 m
(communicate with Internet users by purchasing electronic mail services from commercial) 2123 2.80 32 s
300.0 1308.0 m
(companies.) 526 0.00 -1 s
/timsps12b 3 declareFont
3 sf
300.0 1416.0 m
(INTERMAIL) 592 0.00 -1 s
1 sf
300.0 1524.0 m
(Intermail is an experimental mail forwarding system that allows users to send electronic mail) 2202 2.69 32 s
300.0 1590.0 m
(across mail system boundaries. The use of Intermail is nearly transparent, in that users on each) 2236 2.53 32 s
300.0 1655.0 m
(system are able to use their usual mail programs to prepare, send, and receive messages. No) 2195 2.63 32 s
300.0 1721.0 m
(modifications to any of the mail programs on any of the systems are required. However, users) 2232 2.25 32 s
300.0 1787.0 m
(must put some extra addressing information at the beginning of the body of their messages.) 2165 2.36 32 s
/timsps10 4 declareFont
4 sf
0.0 2739.0 m
8.0 sw
0.0 v
newpath
240 1917 av
2241 1917 as
2241 2638 as
240 2638 as
closepath
[] 0 setdash
dp
newpath
1761 2338 av
1961 2338 as
1961 2458 as
1761 2458 as
closepath
[] 0 setdash
dp
/helvps8b 5 declareFont
5 sf
1782.0 2387.0 m
(User) 1855 0.00 -1 s
( ) 1865 1.00 32 s
( Mail) 1938 0.00 32 s
1783.0 2423.0 m
(Program) 1919 0.00 -1 s
( ) 1939 1.00 32 s
4.0 sw
0.0 0.0 m
newpath
1861 2338 av
1862 2218 as
[] 0 setdash
dp
/Ops6 0 declareFont
0 0 fillpatset
/drawmode PL_REPLACE def
newpath
/drawmode PL_SET def
1849 2317 av
1861 2338 as
1873 2317 as
closepath
fp
[] 0 setdash
dp
0.0 sw
newpath
1861 2338 av
4.0 sw
newpath
2139 2458 av
2058 2458 as
2058 2378 as
2139 2378 as
closepath
[] 0 setdash
dp
newpath
2141 2410 av
2181 2458 as
[] 0 setdash
dp
newpath
2181 2458 av
2133 2458 as
[] 0 setdash
dp
newpath
1621 2358 av
1734 2245 as
[] 0 setdash
dp
newpath
340 2117 av
420 2117 as
420 2197 as
340 2197 as
closepath
[] 0 setdash
dp
newpath
292 2197 av
340 2157 as
[] 0 setdash
dp
newpath
292 2197 av
340 2197 as
[] 0 setdash
dp
newpath
1758 2221 av
1734 2245 as
[] 0 setdash
dp
/drawmode PL_REPLACE def
newpath
/drawmode PL_SET def
1752 2244 av
1758 2221 as
1735 2227 as
closepath
fp
[] 0 setdash
dp
0.0 sw
newpath
1758 2221 av
4.0 sw
newpath
620 2338 av
620 2257 as
[] 0 setdash
dp
newpath
620 2227 av
620 2257 as
[] 0 setdash
dp
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?