%!
/SULfont 10 dict def
/BuildCharDict 10 dict def
/logodict 50 dict def
SULfont begin
/FontType 3 def
/FontMatrix [1 0 0 1 0 0] def
/FontBBox [-0.5 -0.5 0.5 0.5] def
/Encoding 256 array def
0 1 255 {Encoding exch /.notdef put} for
Encoding (S) 0 get /sulogo put
/CharacterDefs 3 dict def
CharacterDefs /.notdef {} put
/BuildChar {
BuildCharDict begin
/char exch def /fontdict exch def
/charname fontdict /Encoding get char get def
/charproc fontdict /CharacterDefs get charname get def
1 0 -0.5 -0.5 0.5 0.5 setcachedevice
gsave charproc grestore
end
} def
logodict begin
/dark 0.975 def
/middark 0.975 def
/white 1 def
/medium 0.975 def
/outsidecircletext
{ $circtextdict begin
/radius exch def
/centerangle exch def
/ptsize exch def
/str exch def
/xradius radius ptsize 4 div add
def
gsave
centerangle str findhalfangle
add rotate
str
{ /charcode exch def
( ) dup 0 charcode put
outsideshowcharandrotate
} forall
grestore
end
} def
/insidecircletext
{ $circtextdict begin
/radius exch def
/centerangle exch def
/ptsize exch def
/str exch def
/xradius radius ptsize 3 div sub
def
gsave
centerangle str findhalfangle
sub rotate
str
{ /charcode exch def
( ) dup 0 charcode put
insideshowcharandrotate
} forall
grestore
end
} def
/$circtextdict 16 dict def
$circtextdict begin
/findhalfangle
{ stringwidth pop 2 div
2 xradius mul pi mul div 360 mul
} def
/outsideshowcharandrotate
{ /char exch def
/halfangle char findhalfangle def
gsave
halfangle neg rotate
radius 0 translate
-90 rotate
char stringwidth pop 2 div neg
0 moveto char show
grestore
halfangle 2 mul neg rotate
} def
/insideshowcharandrotate
{ /char exch def
/halfangle char findhalfangle def
gsave
halfangle rotate
radius 0 translate
90 rotate
char stringwidth pop 2 div neg
0 moveto char show
grestore
halfangle 2 mul rotate
} def
/pi 3.1415923 def
end
% draw the circles for the logo
/circles
{
5 setlinewidth newpath 0 0 265 0 360 arc stroke
4 setlinewidth newpath 0 0 241 0 360 arc stroke
1.5 setlinewidth newpath 0 0 182 0 360 arc stroke
4 setlinewidth newpath 0 0 174 0 360 arc stroke
} def
% draw the diamonds in the outer circles
/diamonds
{
/nd exch def % number of diamonds
/da 360 nd div def % diamond angle
gsave
nd {newpath 0 242 moveto 8 10 rlineto -8 10 rlineto
-8 -10 rlineto closepath fill
da rotate} repeat
grestore
} def
% lay down the text
/logotext
{ gsave
/Helvetica-Bold findfont 39 scalefont setfont
(LELAND STANFORD JUNIOR UNIVERSITY)
39 90 196 outsidecircletext
(ORGANIZED 1891)
39 270 224 insidecircletext
grestore
} def
% draw the foothills in the background
/foothills
{ gsave
1 setlinecap 1 setlinejoin 1 setlinewidth
newpath -166 -30 moveto -140 -12 lineto -120 -12 lineto -25 -50 lineto
50 -65 lineto 125 -60 lineto 160 -70 lineto stroke
newpath -165 -47 moveto -137 -39 lineto -92 -41 lineto 35 -85 lineto stroke
newpath -85 -18 moveto -60 -12 lineto 85 -53 lineto stroke
newpath 10 -10 moveto 69 -35 lineto 98 -50 lineto stroke
newpath 25 -37 moveto 100 -21 lineto 166 -34 lineto stroke
newpath 75 -60 moveto 125 -40 lineto 150 -45 lineto 160 -55 lineto stroke
newpath 70 -36 moveto 90 -30 lineto 110 -40 lineto stroke
grestore
} def
/talltree
{ % 170
gsave
% the dirt underneath
newpath 37 -130 moveto 12 -100 lineto
-12 -100 lineto -37 -130 lineto
0 0 172 235 300 arc closepath
fill
% the trunk
18 setlinewidth 1 setlinecap
newpath 0 -100 moveto 0 150 lineto stroke
newpath -5 140 moveto 0 160 lineto 5 150 lineto stroke
% the branches
newpath -10 150 moveto -35 135 lineto
-40 122 lineto -16 130 lineto -11 129 lineto closepath fill
newpath 10 149 moveto 37 125 lineto 40 115 lineto
10 125 lineto closepath fill
13 setlinewidth
newpath 0 105 moveto 50 77 lineto stroke
newpath 3 84 moveto 40 50 lineto 60 45 lineto stroke
newpath 5 44 moveto 40 20 lineto 57 16 lineto stroke
newpath 5 3 moveto 50 -25 lineto 53 -40 lineto stroke
newpath 0 -20 moveto 35 -40 lineto 43 -60 lineto stroke
newpath -4 120 moveto -30 110 lineto stroke
newpath -4 105 moveto -33 86 lineto stroke
newpath -1 80 moveto -38 57 lineto -43 48 lineto stroke
newpath -3 55 moveto -28 37 lineto -35 30 lineto stroke
newpath 0 25 moveto -53 4 lineto -62 -20 lineto stroke
newpath 0 -15 moveto -38 -23 lineto -43 -39 lineto stroke
grestore
} def
% make a 5-pointed star
/star5
{/ssize exch def
gsave ssize ssize scale
0.5 0.5 scale newpath 1 0 moveto
4 {144 rotate 1 0 lineto} repeat
closepath fill grestore
} def
% make a "sheep" (actually a tree)
/sheep
{
gsave
currentpoint translate
0.5 setlinewidth
/ss exch def newpath
5 {0 ss ss 15 165 arc stroke 72 rotate} repeat
newpath ss -0.3 mul ss -1.5 mul moveto 0 ss neg rlineto stroke
newpath ss 0.3 mul ss -1.5 mul moveto 0 ss neg rlineto stroke
grestore} def
/makesheep
{ /shx -120 def
7 {shx -80 moveto 8 sheep /shx shx 35 add def} repeat /shx -103 def
7 {shx -105 moveto 8 sheep /shx shx 35 add def} repeat
} def
end
CharacterDefs /sulogo
{
logodict begin gsave
1 550 div dup scale
currentpoint translate
circles
logotext
gsave 60 rotate 0 -210 translate 0 0 moveto 30 rotate 40 star5 grestore
gsave -60 rotate 0 -210 translate 0 0 moveto 7.5 rotate 40 star5 grestore
72 diamonds
foothills
makesheep
talltree
grestore
} put
end
/LogoFont SULfont definefont pop
30000 setcachelimit
/in. {72 mul} def
% (string) x y ctr
/ctr {/ctry exch def /ctrx exch def /whatstring exch def
whatstring stringwidth pop 2 div
ctrx exch sub ctry moveto whatstring show} def
% (string) x y lj
/lj {moveto show} def
/ctrline {2 in. yposn ctr /yposn yposn dy sub def} def
% ------------------------------------------------------------------------
40 11 in. 0.3 in. sub translate
0 setlinewidth
gsave 2 {
gsave
5 {0 -2 in. translate
/LogoFont findfont 50 scalefont setfont
0.5 in. 1.45 in. moveto (S) show
% newpath 0 0 moveto 3.5 in. 0 rlineto 0 2 in. rlineto
% -3.5 in. 0 rlineto closepath stroke
/Times-Bold findfont 11 scalefont setfont /dy 14 def
/yposn 1.4 in. def
(Jock D. Mackinlay) ctrline
/Times-Italic findfont 10 scalefont setfont /dy 12 def
(Research Assistant) ctrline
/yposn yposn 5 sub def % skip some blank space
/Times-Bold findfont 9 scalefont setfont /dy 11 def
(COMPUTER SCIENCE DEPARTMENT) ctrline
/Times-Bold findfont 10 scalefont setfont /dy 12 def
(STANFORD UNIVERSITY) ctrline
/Times-Bold findfont 8 scalefont setfont /dy 12 def
(STANFORD, CALIFORNIA 94305) ctrline
/Times-Bold findfont 10 scalefont setfont /dy 12 def
((415) 497-1809) ctrline
/Times-Roman findfont 10 scalefont setfont
(Arpanet: JOCK@SU-SUSHI.EDU) ctrline
} repeat grestore 3.5 in. 0 translate
} repeat
grestore
% make cut marks
gsave 6 {newpath -2 0 moveto -100 0 rlineto
7 in. 2 add 0 moveto 100 0 rlineto stroke
0 -2 in. translate} repeat
grestore
gsave 3 {newpath 0 2 moveto 0 100 rlineto
0 -10 in. 2 sub moveto 0 -100 rlineto stroke
3.5 in. 0 translate} repeat
% these next two lines turn on manual feed; comment them out to
% return to automatic feed
statusdict begin /manualfeed true def
/manualfeedtimeout 500 def end
4 {copypage} repeat showpage