robert@pyr.gatech.EDU (Robert Viduya) (07/19/88)
Here's a little picture I've hacked up. The code needs a bit of
cleaning up 'cuz I just grabbed procs from here and there and threw them
in as I needed them. It doesn't follow Adobe's structuring conventions,
but it wouldn't be too difficult to make it do so.
It uses one non-standard PostScript font: ZapfChancery-MediumItalic.
Works fine on a LaserWriter Plus and the IINTX. It might need some
hacking if your PostScript printer doesn't support ZapfChancery-MediumItalic.
The original concept came from a scrap of paper found on the street. I
make no claims on it.
Watch out for the .signature at the end.
--- cut here ---
/in {72 mul} bind def
/center {
/width exch def
/str exch def
width str stringwidth pop sub 2 div 0 rmoveto
str show
} bind def
/circletext {
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 placechar
} forall
grestore
end
} bind def
/circtextdict 16 dict def
circtextdict begin
/findhalfangle {
stringwidth pop 2 div
2 xradius mul pi mul div 360 mul
} bind def
/placechar {
/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
} bind def
/pi 3.1415923 def
end
90 rotate
0 -8.5 in translate
0.5 in 0.5 in translate
% do the void
0 setgray
newpath
0 in 0 in moveto
10 in 0 in lineto
10 in 7.5 in lineto
0 in 7.5 in lineto
0 in 0 in lineto
closepath
fill
/Helvetica findfont 24 scalefont setfont
0 .1 1.1 {
dup dup
7 div 4 exch add in exch
7 div 0.5 exch sub in
moveto
setgray
(The Void) show
} for
% do the metaphysical realm
0.2 setgray
newpath
1 in 3.75 in moveto
1.0 in 4.5 in 1.7 in 4.6 in 2.0 in 5.0 in curveto
2.3 in 5.4 in 2.6 in 6.4 in 3.0 in 6.0 in curveto
3.4 in 5.6 in 3.7 in 6.5 in 4.0 in 6.3 in curveto
4.3 in 6.1 in 4.5 in 6.5 in 5.0 in 6.5 in curveto
5.3 in 6.5 in 5.6 in 6.1 in 6.0 in 6.0 in curveto
6.8 in 5.8 in 6.5 in 5.5 in 7.0 in 5.4 in curveto
7.5 in 5.3 in 7.2 in 4.8 in 8.0 in 4.8 in curveto
8.4 in 4.8 in 9.0 in 4.1 in 9.0 in 3.75 in curveto
9.0 in 3.0 in 8.4 in 2.9 in 8.0 in 2.6 in curveto
7.2 in 2.0 in 7.5 in 3.0 in 7.0 in 2.0 in curveto
6.7 in 1.4 in 6.2 in 1.8 in 6.0 in 1.5 in curveto
5.8 in 1.2 in 5.4 in 1.0 in 5.0 in 1.0 in curveto
4.3 in 1.0 in 4.8 in 1.4 in 4.0 in 1.4 in curveto
3.6 in 1.4 in 3.2 in 1.1 in 3.0 in 1.5 in curveto
2.7 in 2.1 in 2.2 in 2.8 in 2.0 in 2.4 in curveto
1.8 in 2.0 in 1.0 in 3.0 in 1.0 in 3.75 in curveto
closepath
fill
0.8 setgray
/ZapfChancery-MediumItalic findfont 30 scalefont setfont
gsave
5 in 4.3 in translate
(Metaphysical Realm) 30 270 2.5 in circletext
grestore
% 0 in 2.2 in moveto (Metaphysical Realm) 10 in center
% do the scientific domain
0.7 setgray
3 in 5 in moveto
7 in 5 in lineto
7 in 3 in lineto
3 in 3 in lineto
3 in 5 in lineto
closepath
fill
0 setgray
/Courier-Bold findfont 24 scalefont setfont
0 in 3.8 in moveto (Scientific Domain) 10 in center
% do "You were/are here."
1 setgray
7.5 in 6 in moveto
9.0 in 6 in lineto
9.0 in 6.5 in lineto
7.5 in 6.5 in lineto
7.5 in 6 in lineto
closepath
fill
0 setgray
/Times-Italic findfont 10 scalefont setfont
7.5 in 6.2 in moveto (You were here.) 1.5 in center
2 setlinewidth
1 setgray
8.2 in 6 in moveto
6.8 in 4.6 in lineto
stroke
6.8 in 4.6 in moveto
7.0 in 4.7 in lineto
stroke
6.8 in 4.6 in moveto
6.9 in 4.8 in lineto
stroke
6.5 in 4.3 in moveto
6.7 in 4.5 in lineto
stroke
6.5 in 4.5 in moveto
6.7 in 4.3 in lineto
stroke
% done
showpage
--- cut here ---
--
Robert Viduya robert@pyr.gatech.edu
Office of Computing Services
Georgia Institute of Technology (404) 894-6296
Atlanta, Georgia 30332-0275