open-axiom repository from github
%!IBM Personal Pageprinter (4216) Adapter Program V1.0
%%DocumentFonts: Times-Roman
%%Creator: Axiom
%%CreationDate: today
%%Pages: 1
%%processing (hard) limit: 250 pts or 500 values for the operand stack.
%%EndComments
%------------------------------- prologue -------------------------------%
%-------------------------- support procedures --------------------------%
%--------- first create user dictionary with 100 entries max ------------%
% (number can be changed to accomodate definitions) %
100 dict begin %% using 100 entries in top level dictionary
/FontHeight 12 def
/inch
{ 72 mul }
def
% yVal and hVal are necessary because the Xwindow display origin
% is at the upper left corner, while the postscript display
% origin is at the lower left hand corner.
/yVal %% get Y value -- make upper left corner origin
{ maxY sub abs } %% maxY is viewWindow height
def
/hVal %% get H value -- used for displaying title text
{ maxH sub abs } %% maxH is viewWindow height+titleWindow height
def
% loads in the font
/loadFont
{ /Times-Roman findfont FontHeight scalefont setfont }
def
% draws a rectangle with input operand:
% height
% width
% notice that this function does not "draw" or ink the rectangle.
/drawRect
{ 1 index 1 add 0 rlineto %% draw first side
0 exch 1 add neg rlineto %% draw second side
1 add neg 0 rlineto %% draw third side
closepath } %% draw fourth side
def
% create a rectangle with input operand in the view window:
% y
% x
% height
% width
% notice that this function does not "draw" or ink the rectangle.
/rectangle
{ yVal moveto %% set currentpoint for line
drawRect } %% draws the rectangle
def
% These are global variables that every draw procedure uses
% THe operand should be as follows:
% viewWindow width
% viewWindow height
% title height
/setDim
{ /maxX exch def %% width of display
/maxY exch def %% height of display
/titleH exch def %% height of title
/maxH maxY titleH add def %% height of display + title
} def
%-------------------------- major procedures --------------------------%
/title %% draws a rectangle around the title of picture
{ gsave
newpath
moveto %% lower left of title
titleH 1 add 0 exch rlineto %% draw first side
1 add 0 rlineto %% draw second side
1 add neg 0 exch rlineto
begin installGC stroke end %% draw third side
grestore }
def
/drawFrame %% draw display frame
{ gsave
newpath
maxX maxY 0 0 rectangle
begin installGC stroke end
grestore }
def
% updates the foreground color of existing graphics-context dictionary:
% foreground color
% dictionary name
/setForeground
{ /FGcolor exch put }
def
% updates the background color of existing graphics-context dictionary:
% background color
% dictionary name
/setBackground
{ /BGcolor exch put }
def
% updates the line width, line style, cap style, join style of
% existing graphics-context dictionary:
% dictionary name
% join style
% cap style
% line width
/setLineAttributes
{ begin
/JoinStyle exch def
/CapStyle exch def
/LineWidth exch def
end }
def
% creates a graphics context dictionary with the following information:
% /dictionary name
% foreground color
% background color
% line width
% cap style
% join style
% this creates different graphical contexts for different drawing functions.
/makeDict
{ 5 dict 2 copy def begin pop %% with dict name on top of stack
/FGcolor exch def %% define drawing attributes
/BGcolor exch def %% not heavily used
/LineWidth exch def
/CapStyle exch def
/JoinStyle exch def
end }
def
% makes the current dictionary attributes effective
% this function takes the values in the current dictionary to set the context
% these are the values currently being used: foreground, cap, join, and width
/installGC
{
FGcolor currentgray ne
{FGcolor setgray} if %% foreground color
CapStyle currentlinecap ne
{CapStyle setlinecap} if %% cap style
JoinStyle currentlinejoin ne
{JoinStyle setlinejoin} if %% join style
LineWidth currentlinewidth ne
{LineWidth setlinewidth} if } %% line width
def
% operand stack configuration in order to use psDrawLine:
% psDrawLine
% y0
% x0
% y1
% x1
% graphics-context dictionary
% this draws a line from (x0, y0) to (x1, y1).
/psDrawLine
{ gsave
newpath
yVal moveto
yVal lineto
begin installGC stroke end
grestore }
def
% operand stack configuration in order to use psFillArc:
% psFillArc
% y center of rectangle
% x center of rectangle
% angle2
% angle1
% width
% height
% y
% x
% graphics-context dictionary
% this draws and fills an arc whose origin is at x, y, and whose width
% and height specifies the rectangle which encases the arc.
% Origin is at upper left corner of rectangle.
% This function uses "scale" to make cricles and ellipses.
/psFillArc
{ gsave
newpath
yVal moveto
/sfactor 4 index 4 index div def
1 sfactor scale
6 5 roll %% x on top of stack
3 index 2 div add %% define x origin
6 5 roll %% y on top of stack
6 5 roll %% h on top of stack
2 div add yVal sfactor div %% define y origin
5 4 roll %% w on top of stack
2 div %% define radius
5 3 roll %% a1 a2 now on top
1 index add
arcn %% draw clockwise arc
begin installGC fill end %% fills with foreground color
grestore }
def
%-------------------------- script --------------------------%
% 1 inch 1 inch translate
mark %% mark bottom of our stack
0 0 1
1072693248 0 /globalGC1 makeDict
0 0 1
1072693248 0 /globalGC2 makeDict
0 0 1
1072693248 0 /trashGC makeDict
0 0 1
1072693248 0 /globGC makeDict
0 0 1
1072693248 0 /anotherGC makeDict
0 0 1
1072693248 0 /graphGC makeDict
0 0 1
1072693248 0 /unitGC makeDict
gsave % save graphics state for clipping path
24 259 256 setDim
maxX maxY 0 0 rectangle clip % set clip path
globalGC1 256 129 0 129 psDrawLine
globalGC1 12 259 12 0 psDrawLine
globalGC1 11 13 3 3 0 360 12 14 psFillArc
globalGC1 12 14 12 14 psDrawLine
globalGC1 11 13 3 3 0 360 12 14 psFillArc
globalGC1 15 14 12 14 psDrawLine
globalGC1 14 13 3 3 0 360 15 14 psFillArc
globalGC1 17 15 15 14 psDrawLine
globalGC1 16 14 3 3 0 360 17 15 psFillArc
globalGC1 20 16 17 15 psDrawLine
globalGC1 19 15 3 3 0 360 20 16 psFillArc
globalGC1 22 18 20 16 psDrawLine
globalGC1 21 17 3 3 0 360 22 18 psFillArc
globalGC1 27 23 22 18 psDrawLine
globalGC1 26 22 3 3 0 360 27 23 psFillArc
globalGC1 32 29 27 23 psDrawLine
globalGC1 31 28 3 3 0 360 32 29 psFillArc
globalGC1 36 38 32 29 psDrawLine
globalGC1 35 37 3 3 0 360 36 38 psFillArc
globalGC1 41 48 36 38 psDrawLine
globalGC1 40 47 3 3 0 360 41 48 psFillArc
globalGC1 46 59 41 48 psDrawLine
globalGC1 45 58 3 3 0 360 46 59 psFillArc
globalGC1 51 71 46 59 psDrawLine
globalGC1 50 70 3 3 0 360 51 71 psFillArc
globalGC1 56 85 51 71 psDrawLine
globalGC1 55 84 3 3 0 360 56 85 psFillArc
globalGC1 60 99 56 85 psDrawLine
globalGC1 59 98 3 3 0 360 60 99 psFillArc
globalGC1 65 114 60 99 psDrawLine
globalGC1 64 113 3 3 0 360 65 114 psFillArc
globalGC1 70 129 65 114 psDrawLine
globalGC1 69 128 3 3 0 360 70 129 psFillArc
globalGC1 75 144 70 129 psDrawLine
globalGC1 74 143 3 3 0 360 75 144 psFillArc
globalGC1 79 159 75 144 psDrawLine
globalGC1 78 158 3 3 0 360 79 159 psFillArc
globalGC1 84 173 79 159 psDrawLine
globalGC1 83 172 3 3 0 360 84 173 psFillArc
globalGC1 89 187 84 173 psDrawLine
globalGC1 88 186 3 3 0 360 89 187 psFillArc
globalGC1 94 199 89 187 psDrawLine
globalGC1 93 198 3 3 0 360 94 199 psFillArc
globalGC1 99 210 94 199 psDrawLine
globalGC1 98 209 3 3 0 360 99 210 psFillArc
globalGC1 103 220 99 210 psDrawLine
globalGC1 102 219 3 3 0 360 103 220 psFillArc
globalGC1 108 229 103 220 psDrawLine
globalGC1 107 228 3 3 0 360 108 229 psFillArc
globalGC1 113 235 108 229 psDrawLine
globalGC1 112 234 3 3 0 360 113 235 psFillArc
globalGC1 118 240 113 235 psDrawLine
globalGC1 117 239 3 3 0 360 118 240 psFillArc
globalGC1 120 242 118 240 psDrawLine
globalGC1 119 241 3 3 0 360 120 242 psFillArc
globalGC1 123 243 120 242 psDrawLine
globalGC1 122 242 3 3 0 360 123 243 psFillArc
globalGC1 125 244 123 243 psDrawLine
globalGC1 124 243 3 3 0 360 125 244 psFillArc
globalGC1 127 244 125 244 psDrawLine
globalGC1 126 243 3 3 0 360 127 244 psFillArc
globalGC1 130 244 127 244 psDrawLine
globalGC1 129 243 3 3 0 360 130 244 psFillArc
globalGC1 132 243 130 244 psDrawLine
globalGC1 131 242 3 3 0 360 132 243 psFillArc
globalGC1 135 242 132 243 psDrawLine
globalGC1 134 241 3 3 0 360 135 242 psFillArc
globalGC1 137 240 135 242 psDrawLine
globalGC1 136 239 3 3 0 360 137 240 psFillArc
globalGC1 142 235 137 240 psDrawLine
globalGC1 141 234 3 3 0 360 142 235 psFillArc
globalGC1 147 229 142 235 psDrawLine
globalGC1 146 228 3 3 0 360 147 229 psFillArc
globalGC1 151 220 147 229 psDrawLine
globalGC1 150 219 3 3 0 360 151 220 psFillArc
globalGC1 156 210 151 220 psDrawLine
globalGC1 155 209 3 3 0 360 156 210 psFillArc
globalGC1 161 199 156 210 psDrawLine
globalGC1 160 198 3 3 0 360 161 199 psFillArc
globalGC1 166 187 161 199 psDrawLine
globalGC1 165 186 3 3 0 360 166 187 psFillArc
globalGC1 171 173 166 187 psDrawLine
globalGC1 170 172 3 3 0 360 171 173 psFillArc
globalGC1 175 159 171 173 psDrawLine
globalGC1 174 158 3 3 0 360 175 159 psFillArc
globalGC1 180 144 175 159 psDrawLine
globalGC1 179 143 3 3 0 360 180 144 psFillArc
globalGC1 185 129 180 144 psDrawLine
globalGC1 184 128 3 3 0 360 185 129 psFillArc
globalGC1 190 114 185 129 psDrawLine
globalGC1 189 113 3 3 0 360 190 114 psFillArc
globalGC1 195 99 190 114 psDrawLine
globalGC1 194 98 3 3 0 360 195 99 psFillArc
globalGC1 199 85 195 99 psDrawLine
globalGC1 198 84 3 3 0 360 199 85 psFillArc
globalGC1 204 71 199 85 psDrawLine
globalGC1 203 70 3 3 0 360 204 71 psFillArc
globalGC1 209 59 204 71 psDrawLine
globalGC1 208 58 3 3 0 360 209 59 psFillArc
globalGC1 214 48 209 59 psDrawLine
globalGC1 213 47 3 3 0 360 214 48 psFillArc
globalGC1 219 38 214 48 psDrawLine
globalGC1 218 37 3 3 0 360 219 38 psFillArc
globalGC1 223 29 219 38 psDrawLine
globalGC1 222 28 3 3 0 360 223 29 psFillArc
globalGC1 228 23 223 29 psDrawLine
globalGC1 227 22 3 3 0 360 228 23 psFillArc
globalGC1 233 18 228 23 psDrawLine
globalGC1 232 17 3 3 0 360 233 18 psFillArc
globalGC1 235 16 233 18 psDrawLine
globalGC1 234 15 3 3 0 360 235 16 psFillArc
globalGC1 238 15 235 16 psDrawLine
globalGC1 237 14 3 3 0 360 238 15 psFillArc
globalGC1 240 14 238 15 psDrawLine
globalGC1 239 13 3 3 0 360 240 14 psFillArc
globalGC1 243 14 240 14 psDrawLine
globalGC1 242 13 3 3 0 360 243 14 psFillArc
globalGC1 256 129 0 129 psDrawLine
globalGC1 12 259 12 0 psDrawLine
globalGC1 11 128 3 3 0 360 12 129 psFillArc
globalGC1 12 129 12 129 psDrawLine
globalGC1 11 128 3 3 0 360 12 129 psFillArc
globalGC1 17 114 12 129 psDrawLine
globalGC1 16 113 3 3 0 360 17 114 psFillArc
globalGC1 22 99 17 114 psDrawLine
globalGC1 21 98 3 3 0 360 22 99 psFillArc
globalGC1 27 85 22 99 psDrawLine
globalGC1 26 84 3 3 0 360 27 85 psFillArc
globalGC1 32 71 27 85 psDrawLine
globalGC1 31 70 3 3 0 360 32 71 psFillArc
globalGC1 36 59 32 71 psDrawLine
globalGC1 35 58 3 3 0 360 36 59 psFillArc
globalGC1 41 48 36 59 psDrawLine
globalGC1 40 47 3 3 0 360 41 48 psFillArc
globalGC1 46 38 41 48 psDrawLine
globalGC1 45 37 3 3 0 360 46 38 psFillArc
globalGC1 51 29 46 38 psDrawLine
globalGC1 50 28 3 3 0 360 51 29 psFillArc
globalGC1 56 23 51 29 psDrawLine
globalGC1 55 22 3 3 0 360 56 23 psFillArc
globalGC1 60 18 56 23 psDrawLine
globalGC1 59 17 3 3 0 360 60 18 psFillArc
globalGC1 63 16 60 18 psDrawLine
globalGC1 62 15 3 3 0 360 63 16 psFillArc
globalGC1 65 15 63 16 psDrawLine
globalGC1 64 14 3 3 0 360 65 15 psFillArc
globalGC1 68 14 65 15 psDrawLine
globalGC1 67 13 3 3 0 360 68 14 psFillArc
globalGC1 70 14 68 14 psDrawLine
globalGC1 69 13 3 3 0 360 70 14 psFillArc
globalGC1 72 14 70 14 psDrawLine
globalGC1 71 13 3 3 0 360 72 14 psFillArc
globalGC1 75 15 72 14 psDrawLine
globalGC1 74 14 3 3 0 360 75 15 psFillArc
globalGC1 77 16 75 15 psDrawLine
globalGC1 76 15 3 3 0 360 77 16 psFillArc
globalGC1 79 18 77 16 psDrawLine
globalGC1 78 17 3 3 0 360 79 18 psFillArc
globalGC1 84 23 79 18 psDrawLine
globalGC1 83 22 3 3 0 360 84 23 psFillArc
globalGC1 89 29 84 23 psDrawLine
globalGC1 88 28 3 3 0 360 89 29 psFillArc
globalGC1 94 38 89 29 psDrawLine
globalGC1 93 37 3 3 0 360 94 38 psFillArc
globalGC1 99 48 94 38 psDrawLine
globalGC1 98 47 3 3 0 360 99 48 psFillArc
globalGC1 103 59 99 48 psDrawLine
globalGC1 102 58 3 3 0 360 103 59 psFillArc
globalGC1 108 71 103 59 psDrawLine
globalGC1 107 70 3 3 0 360 108 71 psFillArc
globalGC1 113 85 108 71 psDrawLine
globalGC1 112 84 3 3 0 360 113 85 psFillArc
globalGC1 118 99 113 85 psDrawLine
globalGC1 117 98 3 3 0 360 118 99 psFillArc
globalGC1 123 114 118 99 psDrawLine
globalGC1 122 113 3 3 0 360 123 114 psFillArc
globalGC1 127 129 123 114 psDrawLine
globalGC1 126 128 3 3 0 360 127 129 psFillArc
globalGC1 132 144 127 129 psDrawLine
globalGC1 131 143 3 3 0 360 132 144 psFillArc
globalGC1 137 159 132 144 psDrawLine
globalGC1 136 158 3 3 0 360 137 159 psFillArc
globalGC1 142 173 137 159 psDrawLine
globalGC1 141 172 3 3 0 360 142 173 psFillArc
globalGC1 147 187 142 173 psDrawLine
globalGC1 146 186 3 3 0 360 147 187 psFillArc
globalGC1 151 199 147 187 psDrawLine
globalGC1 150 198 3 3 0 360 151 199 psFillArc
globalGC1 156 210 151 199 psDrawLine
globalGC1 155 209 3 3 0 360 156 210 psFillArc
globalGC1 161 220 156 210 psDrawLine
globalGC1 160 219 3 3 0 360 161 220 psFillArc
globalGC1 166 229 161 220 psDrawLine
globalGC1 165 228 3 3 0 360 166 229 psFillArc
globalGC1 171 235 166 229 psDrawLine
globalGC1 170 234 3 3 0 360 171 235 psFillArc
globalGC1 175 240 171 235 psDrawLine
globalGC1 174 239 3 3 0 360 175 240 psFillArc
globalGC1 178 242 175 240 psDrawLine
globalGC1 177 241 3 3 0 360 178 242 psFillArc
globalGC1 180 243 178 242 psDrawLine
globalGC1 179 242 3 3 0 360 180 243 psFillArc
globalGC1 183 244 180 243 psDrawLine
globalGC1 182 243 3 3 0 360 183 244 psFillArc
globalGC1 185 244 183 244 psDrawLine
globalGC1 184 243 3 3 0 360 185 244 psFillArc
globalGC1 187 244 185 244 psDrawLine
globalGC1 186 243 3 3 0 360 187 244 psFillArc
globalGC1 190 243 187 244 psDrawLine
globalGC1 189 242 3 3 0 360 190 243 psFillArc
globalGC1 192 242 190 243 psDrawLine
globalGC1 191 241 3 3 0 360 192 242 psFillArc
globalGC1 195 240 192 242 psDrawLine
globalGC1 194 239 3 3 0 360 195 240 psFillArc
globalGC1 199 235 195 240 psDrawLine
globalGC1 198 234 3 3 0 360 199 235 psFillArc
globalGC1 204 229 199 235 psDrawLine
globalGC1 203 228 3 3 0 360 204 229 psFillArc
globalGC1 209 220 204 229 psDrawLine
globalGC1 208 219 3 3 0 360 209 220 psFillArc
globalGC1 214 210 209 220 psDrawLine
globalGC1 213 209 3 3 0 360 214 210 psFillArc
globalGC1 219 199 214 210 psDrawLine
globalGC1 218 198 3 3 0 360 219 199 psFillArc
globalGC1 223 187 219 199 psDrawLine
globalGC1 222 186 3 3 0 360 223 187 psFillArc
globalGC1 228 173 223 187 psDrawLine
globalGC1 227 172 3 3 0 360 228 173 psFillArc
globalGC1 233 159 228 173 psDrawLine
globalGC1 232 158 3 3 0 360 233 159 psFillArc
globalGC1 238 144 233 159 psDrawLine
globalGC1 237 143 3 3 0 360 238 144 psFillArc
globalGC1 243 129 238 144 psDrawLine
globalGC1 242 128 3 3 0 360 243 129 psFillArc
grestore % restore graphics state
cleartomark %% clearing operand stack
end %% pops mainDict from dictionary stack
showpage
%-------------------------- end --------------------------%