Home » Archimedes archive » Zipped Apps » ArtWorks » !ArtWorks/Auto/!PathTool/PrintProcs

!ArtWorks/Auto/!PathTool/PrintProcs

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Zipped Apps » ArtWorks
Filename: !ArtWorks/Auto/!PathTool/PrintProcs
Read OK:
File size: 0B54 bytes
Load address: 0000
Exec address: 0000
File contents
/Min{2 copy gt{exch}if pop}bind def/NumSteps{sub 3 1 roll sub dtransform
matrix defaultmatrix idtransform dup mul exch dup mul add sqrt currentscreen
pop pop 72 exch div div}bind def/S_eoclip{currentflat{{eoclip}stopped{dup
currentflat exch sub 20 gt{([Error: PathTooComplex; OffendingCommand: eoclip
]\n) print flush exit}{currentflat 2 add setflat}ifelse}{exit}ifelse}loop
setflat}bind def/S_clip{currentflat{{clip}stopped{dup currentflat exch sub
20 gt{([Error: PathTooComplex; OffendingCommand: clip]\n) print flush exit}
{currentflat 2 add setflat}ifelse}{exit}ifelse}loop setflat}bind def
/S_eofill{currentflat{{eofill}stopped{dup currentflat exch sub 20 gt{(
[Error: PathTooComplex; OffendingCommand: eofill]\n) print flush exit}
{currentflat 2 add setflat}ifelse}{exit}ifelse}loop setflat}bind def
/linearfill{pathbbox/ury exch def/urx exch def/lly exch def/llx exch def
{S_eoclip}{S_clip}ifelse/eB exch def/eG exch def/eR exch def/sB exch def/sG
exch def/sR exch def/endY exch def/endX exch def/startY exch def/startX exch
def startX endX eq startY endY eq and sB eB eq sR eR eq and sG eG eq and or
{sR sG sB C newpath llx lly urx ury Bx S_eofill}{endX startX sub dup mul
endY startY sub dup mul add sqrt/distance exch def endY startY sub endX
startX sub atan newpath llx lly urx ury Bx startX startY translate rotate
pathbbox/ury exch def/urx exch def/lly exch def/llx exch def eR eG eB C
newpath llx lly urx ury Bx S_eofill sR sG sB C newpath llx lly 0 ury Bx
S_eofill eR sR sub abs eG sG sub abs Max eB sB sub abs Max endY startY endX
startX NumSteps Min 256 Min ceiling 1 Max/Steps exch def/incR eR sR sub
Steps div def/incG eG sG sub Steps div def/incB eB sB sub Steps div def/incD
distance Steps div def/startX 0 def 0 1 Steps 1 sub{sR sG sB C/sR sR incR
add def/sG sG incG add def/sB sB incB add def newpath startX lly startX incD
add dup/startX exch def ury Bx S_eofill pop}for}ifelse}bind def/radialfill
{pathbbox/ury exch def/urx exch def/lly exch def/llx exch def{S_eoclip}
{S_clip}ifelse/eB exch def/eG exch def/eR exch def/sB exch def/sG exch def
/sR exch def/endY exch def/endX exch def/startY exch def/startX exch def
startX endX eq startY endY eq and sB eB eq sR eR eq and sG eG eq and or{eR
eG eB C newpath llx lly urx ury Bx S_eofill}{endX startX sub dup mul endY
startY sub dup mul add sqrt/distance exch def eR eG eB C newpath llx lly urx
ury Bx S_eofill eR sR sub abs eG sG sub abs Max eB sB sub abs Max endY
startY endX startX NumSteps Min 256 Min ceiling 1 Max/Steps exch def/incR eR
sR sub Steps div def/incG eG sG sub Steps div def/incB eB sB sub Steps div
def/incD distance Steps div def/distance 0 def 0 1 Steps 1 sub{sR sG sB C/sR
sR incR add def/sG sG incG add def/sB sB incB add def newpath startX startY
distance 0 360 arc closepath distance incD add dup/distance exch def 0
rmoveto startX startY distance 0 360 arc closepath S_eofill pop}for}ifelse
}bind def
00000000  2f 4d 69 6e 7b 32 20 63  6f 70 79 20 67 74 7b 65  |/Min{2 copy gt{e|
00000010  78 63 68 7d 69 66 20 70  6f 70 7d 62 69 6e 64 20  |xch}if pop}bind |
00000020  64 65 66 2f 4e 75 6d 53  74 65 70 73 7b 73 75 62  |def/NumSteps{sub|
00000030  20 33 20 31 20 72 6f 6c  6c 20 73 75 62 20 64 74  | 3 1 roll sub dt|
00000040  72 61 6e 73 66 6f 72 6d  0a 6d 61 74 72 69 78 20  |ransform.matrix |
00000050  64 65 66 61 75 6c 74 6d  61 74 72 69 78 20 69 64  |defaultmatrix id|
00000060  74 72 61 6e 73 66 6f 72  6d 20 64 75 70 20 6d 75  |transform dup mu|
00000070  6c 20 65 78 63 68 20 64  75 70 20 6d 75 6c 20 61  |l exch dup mul a|
00000080  64 64 20 73 71 72 74 20  63 75 72 72 65 6e 74 73  |dd sqrt currents|
00000090  63 72 65 65 6e 0a 70 6f  70 20 70 6f 70 20 37 32  |creen.pop pop 72|
000000a0  20 65 78 63 68 20 64 69  76 20 64 69 76 7d 62 69  | exch div div}bi|
000000b0  6e 64 20 64 65 66 2f 53  5f 65 6f 63 6c 69 70 7b  |nd def/S_eoclip{|
000000c0  63 75 72 72 65 6e 74 66  6c 61 74 7b 7b 65 6f 63  |currentflat{{eoc|
000000d0  6c 69 70 7d 73 74 6f 70  70 65 64 7b 64 75 70 0a  |lip}stopped{dup.|
000000e0  63 75 72 72 65 6e 74 66  6c 61 74 20 65 78 63 68  |currentflat exch|
000000f0  20 73 75 62 20 32 30 20  67 74 7b 28 5b 45 72 72  | sub 20 gt{([Err|
00000100  6f 72 3a 20 50 61 74 68  54 6f 6f 43 6f 6d 70 6c  |or: PathTooCompl|
00000110  65 78 3b 20 4f 66 66 65  6e 64 69 6e 67 43 6f 6d  |ex; OffendingCom|
00000120  6d 61 6e 64 3a 20 65 6f  63 6c 69 70 0a 5d 5c 6e  |mand: eoclip.]\n|
00000130  29 20 70 72 69 6e 74 20  66 6c 75 73 68 20 65 78  |) print flush ex|
00000140  69 74 7d 7b 63 75 72 72  65 6e 74 66 6c 61 74 20  |it}{currentflat |
00000150  32 20 61 64 64 20 73 65  74 66 6c 61 74 7d 69 66  |2 add setflat}if|
00000160  65 6c 73 65 7d 7b 65 78  69 74 7d 69 66 65 6c 73  |else}{exit}ifels|
00000170  65 7d 6c 6f 6f 70 0a 73  65 74 66 6c 61 74 7d 62  |e}loop.setflat}b|
00000180  69 6e 64 20 64 65 66 2f  53 5f 63 6c 69 70 7b 63  |ind def/S_clip{c|
00000190  75 72 72 65 6e 74 66 6c  61 74 7b 7b 63 6c 69 70  |urrentflat{{clip|
000001a0  7d 73 74 6f 70 70 65 64  7b 64 75 70 20 63 75 72  |}stopped{dup cur|
000001b0  72 65 6e 74 66 6c 61 74  20 65 78 63 68 20 73 75  |rentflat exch su|
000001c0  62 0a 32 30 20 67 74 7b  28 5b 45 72 72 6f 72 3a  |b.20 gt{([Error:|
000001d0  20 50 61 74 68 54 6f 6f  43 6f 6d 70 6c 65 78 3b  | PathTooComplex;|
000001e0  20 4f 66 66 65 6e 64 69  6e 67 43 6f 6d 6d 61 6e  | OffendingComman|
000001f0  64 3a 20 63 6c 69 70 5d  5c 6e 29 20 70 72 69 6e  |d: clip]\n) prin|
00000200  74 20 66 6c 75 73 68 20  65 78 69 74 7d 0a 7b 63  |t flush exit}.{c|
00000210  75 72 72 65 6e 74 66 6c  61 74 20 32 20 61 64 64  |urrentflat 2 add|
00000220  20 73 65 74 66 6c 61 74  7d 69 66 65 6c 73 65 7d  | setflat}ifelse}|
00000230  7b 65 78 69 74 7d 69 66  65 6c 73 65 7d 6c 6f 6f  |{exit}ifelse}loo|
00000240  70 20 73 65 74 66 6c 61  74 7d 62 69 6e 64 20 64  |p setflat}bind d|
00000250  65 66 0a 2f 53 5f 65 6f  66 69 6c 6c 7b 63 75 72  |ef./S_eofill{cur|
00000260  72 65 6e 74 66 6c 61 74  7b 7b 65 6f 66 69 6c 6c  |rentflat{{eofill|
00000270  7d 73 74 6f 70 70 65 64  7b 64 75 70 20 63 75 72  |}stopped{dup cur|
00000280  72 65 6e 74 66 6c 61 74  20 65 78 63 68 20 73 75  |rentflat exch su|
00000290  62 20 32 30 20 67 74 7b  28 0a 5b 45 72 72 6f 72  |b 20 gt{(.[Error|
000002a0  3a 20 50 61 74 68 54 6f  6f 43 6f 6d 70 6c 65 78  |: PathTooComplex|
000002b0  3b 20 4f 66 66 65 6e 64  69 6e 67 43 6f 6d 6d 61  |; OffendingComma|
000002c0  6e 64 3a 20 65 6f 66 69  6c 6c 5d 5c 6e 29 20 70  |nd: eofill]\n) p|
000002d0  72 69 6e 74 20 66 6c 75  73 68 20 65 78 69 74 7d  |rint flush exit}|
000002e0  0a 7b 63 75 72 72 65 6e  74 66 6c 61 74 20 32 20  |.{currentflat 2 |
000002f0  61 64 64 20 73 65 74 66  6c 61 74 7d 69 66 65 6c  |add setflat}ifel|
00000300  73 65 7d 7b 65 78 69 74  7d 69 66 65 6c 73 65 7d  |se}{exit}ifelse}|
00000310  6c 6f 6f 70 20 73 65 74  66 6c 61 74 7d 62 69 6e  |loop setflat}bin|
00000320  64 20 64 65 66 0a 2f 6c  69 6e 65 61 72 66 69 6c  |d def./linearfil|
00000330  6c 7b 70 61 74 68 62 62  6f 78 2f 75 72 79 20 65  |l{pathbbox/ury e|
00000340  78 63 68 20 64 65 66 2f  75 72 78 20 65 78 63 68  |xch def/urx exch|
00000350  20 64 65 66 2f 6c 6c 79  20 65 78 63 68 20 64 65  | def/lly exch de|
00000360  66 2f 6c 6c 78 20 65 78  63 68 20 64 65 66 0a 7b  |f/llx exch def.{|
00000370  53 5f 65 6f 63 6c 69 70  7d 7b 53 5f 63 6c 69 70  |S_eoclip}{S_clip|
00000380  7d 69 66 65 6c 73 65 2f  65 42 20 65 78 63 68 20  |}ifelse/eB exch |
00000390  64 65 66 2f 65 47 20 65  78 63 68 20 64 65 66 2f  |def/eG exch def/|
000003a0  65 52 20 65 78 63 68 20  64 65 66 2f 73 42 20 65  |eR exch def/sB e|
000003b0  78 63 68 20 64 65 66 2f  73 47 0a 65 78 63 68 20  |xch def/sG.exch |
000003c0  64 65 66 2f 73 52 20 65  78 63 68 20 64 65 66 2f  |def/sR exch def/|
000003d0  65 6e 64 59 20 65 78 63  68 20 64 65 66 2f 65 6e  |endY exch def/en|
000003e0  64 58 20 65 78 63 68 20  64 65 66 2f 73 74 61 72  |dX exch def/star|
000003f0  74 59 20 65 78 63 68 20  64 65 66 2f 73 74 61 72  |tY exch def/star|
00000400  74 58 20 65 78 63 68 0a  64 65 66 20 73 74 61 72  |tX exch.def star|
00000410  74 58 20 65 6e 64 58 20  65 71 20 73 74 61 72 74  |tX endX eq start|
00000420  59 20 65 6e 64 59 20 65  71 20 61 6e 64 20 73 42  |Y endY eq and sB|
00000430  20 65 42 20 65 71 20 73  52 20 65 52 20 65 71 20  | eB eq sR eR eq |
00000440  61 6e 64 20 73 47 20 65  47 20 65 71 20 61 6e 64  |and sG eG eq and|
00000450  20 6f 72 0a 7b 73 52 20  73 47 20 73 42 20 43 20  | or.{sR sG sB C |
00000460  6e 65 77 70 61 74 68 20  6c 6c 78 20 6c 6c 79 20  |newpath llx lly |
00000470  75 72 78 20 75 72 79 20  42 78 20 53 5f 65 6f 66  |urx ury Bx S_eof|
00000480  69 6c 6c 7d 7b 65 6e 64  58 20 73 74 61 72 74 58  |ill}{endX startX|
00000490  20 73 75 62 20 64 75 70  20 6d 75 6c 0a 65 6e 64  | sub dup mul.end|
000004a0  59 20 73 74 61 72 74 59  20 73 75 62 20 64 75 70  |Y startY sub dup|
000004b0  20 6d 75 6c 20 61 64 64  20 73 71 72 74 2f 64 69  | mul add sqrt/di|
000004c0  73 74 61 6e 63 65 20 65  78 63 68 20 64 65 66 20  |stance exch def |
000004d0  65 6e 64 59 20 73 74 61  72 74 59 20 73 75 62 20  |endY startY sub |
000004e0  65 6e 64 58 0a 73 74 61  72 74 58 20 73 75 62 20  |endX.startX sub |
000004f0  61 74 61 6e 20 6e 65 77  70 61 74 68 20 6c 6c 78  |atan newpath llx|
00000500  20 6c 6c 79 20 75 72 78  20 75 72 79 20 42 78 20  | lly urx ury Bx |
00000510  73 74 61 72 74 58 20 73  74 61 72 74 59 20 74 72  |startX startY tr|
00000520  61 6e 73 6c 61 74 65 20  72 6f 74 61 74 65 0a 70  |anslate rotate.p|
00000530  61 74 68 62 62 6f 78 2f  75 72 79 20 65 78 63 68  |athbbox/ury exch|
00000540  20 64 65 66 2f 75 72 78  20 65 78 63 68 20 64 65  | def/urx exch de|
00000550  66 2f 6c 6c 79 20 65 78  63 68 20 64 65 66 2f 6c  |f/lly exch def/l|
00000560  6c 78 20 65 78 63 68 20  64 65 66 20 65 52 20 65  |lx exch def eR e|
00000570  47 20 65 42 20 43 0a 6e  65 77 70 61 74 68 20 6c  |G eB C.newpath l|
00000580  6c 78 20 6c 6c 79 20 75  72 78 20 75 72 79 20 42  |lx lly urx ury B|
00000590  78 20 53 5f 65 6f 66 69  6c 6c 20 73 52 20 73 47  |x S_eofill sR sG|
000005a0  20 73 42 20 43 20 6e 65  77 70 61 74 68 20 6c 6c  | sB C newpath ll|
000005b0  78 20 6c 6c 79 20 30 20  75 72 79 20 42 78 0a 53  |x lly 0 ury Bx.S|
000005c0  5f 65 6f 66 69 6c 6c 20  65 52 20 73 52 20 73 75  |_eofill eR sR su|
000005d0  62 20 61 62 73 20 65 47  20 73 47 20 73 75 62 20  |b abs eG sG sub |
000005e0  61 62 73 20 4d 61 78 20  65 42 20 73 42 20 73 75  |abs Max eB sB su|
000005f0  62 20 61 62 73 20 4d 61  78 20 65 6e 64 59 20 73  |b abs Max endY s|
00000600  74 61 72 74 59 20 65 6e  64 58 0a 73 74 61 72 74  |tartY endX.start|
00000610  58 20 4e 75 6d 53 74 65  70 73 20 4d 69 6e 20 32  |X NumSteps Min 2|
00000620  35 36 20 4d 69 6e 20 63  65 69 6c 69 6e 67 20 31  |56 Min ceiling 1|
00000630  20 4d 61 78 2f 53 74 65  70 73 20 65 78 63 68 20  | Max/Steps exch |
00000640  64 65 66 2f 69 6e 63 52  20 65 52 20 73 52 20 73  |def/incR eR sR s|
00000650  75 62 0a 53 74 65 70 73  20 64 69 76 20 64 65 66  |ub.Steps div def|
00000660  2f 69 6e 63 47 20 65 47  20 73 47 20 73 75 62 20  |/incG eG sG sub |
00000670  53 74 65 70 73 20 64 69  76 20 64 65 66 2f 69 6e  |Steps div def/in|
00000680  63 42 20 65 42 20 73 42  20 73 75 62 20 53 74 65  |cB eB sB sub Ste|
00000690  70 73 20 64 69 76 20 64  65 66 2f 69 6e 63 44 0a  |ps div def/incD.|
000006a0  64 69 73 74 61 6e 63 65  20 53 74 65 70 73 20 64  |distance Steps d|
000006b0  69 76 20 64 65 66 2f 73  74 61 72 74 58 20 30 20  |iv def/startX 0 |
000006c0  64 65 66 20 30 20 31 20  53 74 65 70 73 20 31 20  |def 0 1 Steps 1 |
000006d0  73 75 62 7b 73 52 20 73  47 20 73 42 20 43 2f 73  |sub{sR sG sB C/s|
000006e0  52 20 73 52 20 69 6e 63  52 0a 61 64 64 20 64 65  |R sR incR.add de|
000006f0  66 2f 73 47 20 73 47 20  69 6e 63 47 20 61 64 64  |f/sG sG incG add|
00000700  20 64 65 66 2f 73 42 20  73 42 20 69 6e 63 42 20  | def/sB sB incB |
00000710  61 64 64 20 64 65 66 20  6e 65 77 70 61 74 68 20  |add def newpath |
00000720  73 74 61 72 74 58 20 6c  6c 79 20 73 74 61 72 74  |startX lly start|
00000730  58 20 69 6e 63 44 0a 61  64 64 20 64 75 70 2f 73  |X incD.add dup/s|
00000740  74 61 72 74 58 20 65 78  63 68 20 64 65 66 20 75  |tartX exch def u|
00000750  72 79 20 42 78 20 53 5f  65 6f 66 69 6c 6c 20 70  |ry Bx S_eofill p|
00000760  6f 70 7d 66 6f 72 7d 69  66 65 6c 73 65 7d 62 69  |op}for}ifelse}bi|
00000770  6e 64 20 64 65 66 2f 72  61 64 69 61 6c 66 69 6c  |nd def/radialfil|
00000780  6c 0a 7b 70 61 74 68 62  62 6f 78 2f 75 72 79 20  |l.{pathbbox/ury |
00000790  65 78 63 68 20 64 65 66  2f 75 72 78 20 65 78 63  |exch def/urx exc|
000007a0  68 20 64 65 66 2f 6c 6c  79 20 65 78 63 68 20 64  |h def/lly exch d|
000007b0  65 66 2f 6c 6c 78 20 65  78 63 68 20 64 65 66 7b  |ef/llx exch def{|
000007c0  53 5f 65 6f 63 6c 69 70  7d 0a 7b 53 5f 63 6c 69  |S_eoclip}.{S_cli|
000007d0  70 7d 69 66 65 6c 73 65  2f 65 42 20 65 78 63 68  |p}ifelse/eB exch|
000007e0  20 64 65 66 2f 65 47 20  65 78 63 68 20 64 65 66  | def/eG exch def|
000007f0  2f 65 52 20 65 78 63 68  20 64 65 66 2f 73 42 20  |/eR exch def/sB |
00000800  65 78 63 68 20 64 65 66  2f 73 47 20 65 78 63 68  |exch def/sG exch|
00000810  20 64 65 66 0a 2f 73 52  20 65 78 63 68 20 64 65  | def./sR exch de|
00000820  66 2f 65 6e 64 59 20 65  78 63 68 20 64 65 66 2f  |f/endY exch def/|
00000830  65 6e 64 58 20 65 78 63  68 20 64 65 66 2f 73 74  |endX exch def/st|
00000840  61 72 74 59 20 65 78 63  68 20 64 65 66 2f 73 74  |artY exch def/st|
00000850  61 72 74 58 20 65 78 63  68 20 64 65 66 0a 73 74  |artX exch def.st|
00000860  61 72 74 58 20 65 6e 64  58 20 65 71 20 73 74 61  |artX endX eq sta|
00000870  72 74 59 20 65 6e 64 59  20 65 71 20 61 6e 64 20  |rtY endY eq and |
00000880  73 42 20 65 42 20 65 71  20 73 52 20 65 52 20 65  |sB eB eq sR eR e|
00000890  71 20 61 6e 64 20 73 47  20 65 47 20 65 71 20 61  |q and sG eG eq a|
000008a0  6e 64 20 6f 72 7b 65 52  0a 65 47 20 65 42 20 43  |nd or{eR.eG eB C|
000008b0  20 6e 65 77 70 61 74 68  20 6c 6c 78 20 6c 6c 79  | newpath llx lly|
000008c0  20 75 72 78 20 75 72 79  20 42 78 20 53 5f 65 6f  | urx ury Bx S_eo|
000008d0  66 69 6c 6c 7d 7b 65 6e  64 58 20 73 74 61 72 74  |fill}{endX start|
000008e0  58 20 73 75 62 20 64 75  70 20 6d 75 6c 20 65 6e  |X sub dup mul en|
000008f0  64 59 0a 73 74 61 72 74  59 20 73 75 62 20 64 75  |dY.startY sub du|
00000900  70 20 6d 75 6c 20 61 64  64 20 73 71 72 74 2f 64  |p mul add sqrt/d|
00000910  69 73 74 61 6e 63 65 20  65 78 63 68 20 64 65 66  |istance exch def|
00000920  20 65 52 20 65 47 20 65  42 20 43 20 6e 65 77 70  | eR eG eB C newp|
00000930  61 74 68 20 6c 6c 78 20  6c 6c 79 20 75 72 78 0a  |ath llx lly urx.|
00000940  75 72 79 20 42 78 20 53  5f 65 6f 66 69 6c 6c 20  |ury Bx S_eofill |
00000950  65 52 20 73 52 20 73 75  62 20 61 62 73 20 65 47  |eR sR sub abs eG|
00000960  20 73 47 20 73 75 62 20  61 62 73 20 4d 61 78 20  | sG sub abs Max |
00000970  65 42 20 73 42 20 73 75  62 20 61 62 73 20 4d 61  |eB sB sub abs Ma|
00000980  78 20 65 6e 64 59 0a 73  74 61 72 74 59 20 65 6e  |x endY.startY en|
00000990  64 58 20 73 74 61 72 74  58 20 4e 75 6d 53 74 65  |dX startX NumSte|
000009a0  70 73 20 4d 69 6e 20 32  35 36 20 4d 69 6e 20 63  |ps Min 256 Min c|
000009b0  65 69 6c 69 6e 67 20 31  20 4d 61 78 2f 53 74 65  |eiling 1 Max/Ste|
000009c0  70 73 20 65 78 63 68 20  64 65 66 2f 69 6e 63 52  |ps exch def/incR|
000009d0  20 65 52 0a 73 52 20 73  75 62 20 53 74 65 70 73  | eR.sR sub Steps|
000009e0  20 64 69 76 20 64 65 66  2f 69 6e 63 47 20 65 47  | div def/incG eG|
000009f0  20 73 47 20 73 75 62 20  53 74 65 70 73 20 64 69  | sG sub Steps di|
00000a00  76 20 64 65 66 2f 69 6e  63 42 20 65 42 20 73 42  |v def/incB eB sB|
00000a10  20 73 75 62 20 53 74 65  70 73 20 64 69 76 0a 64  | sub Steps div.d|
00000a20  65 66 2f 69 6e 63 44 20  64 69 73 74 61 6e 63 65  |ef/incD distance|
00000a30  20 53 74 65 70 73 20 64  69 76 20 64 65 66 2f 64  | Steps div def/d|
00000a40  69 73 74 61 6e 63 65 20  30 20 64 65 66 20 30 20  |istance 0 def 0 |
00000a50  31 20 53 74 65 70 73 20  31 20 73 75 62 7b 73 52  |1 Steps 1 sub{sR|
00000a60  20 73 47 20 73 42 20 43  2f 73 52 0a 73 52 20 69  | sG sB C/sR.sR i|
00000a70  6e 63 52 20 61 64 64 20  64 65 66 2f 73 47 20 73  |ncR add def/sG s|
00000a80  47 20 69 6e 63 47 20 61  64 64 20 64 65 66 2f 73  |G incG add def/s|
00000a90  42 20 73 42 20 69 6e 63  42 20 61 64 64 20 64 65  |B sB incB add de|
00000aa0  66 20 6e 65 77 70 61 74  68 20 73 74 61 72 74 58  |f newpath startX|
00000ab0  20 73 74 61 72 74 59 0a  64 69 73 74 61 6e 63 65  | startY.distance|
00000ac0  20 30 20 33 36 30 20 61  72 63 20 63 6c 6f 73 65  | 0 360 arc close|
00000ad0  70 61 74 68 20 64 69 73  74 61 6e 63 65 20 69 6e  |path distance in|
00000ae0  63 44 20 61 64 64 20 64  75 70 2f 64 69 73 74 61  |cD add dup/dista|
00000af0  6e 63 65 20 65 78 63 68  20 64 65 66 20 30 0a 72  |nce exch def 0.r|
00000b00  6d 6f 76 65 74 6f 20 73  74 61 72 74 58 20 73 74  |moveto startX st|
00000b10  61 72 74 59 20 64 69 73  74 61 6e 63 65 20 30 20  |artY distance 0 |
00000b20  33 36 30 20 61 72 63 20  63 6c 6f 73 65 70 61 74  |360 arc closepat|
00000b30  68 20 53 5f 65 6f 66 69  6c 6c 20 70 6f 70 7d 66  |h S_eofill pop}f|
00000b40  6f 72 7d 69 66 65 6c 73  65 0a 7d 62 69 6e 64 20  |or}ifelse.}bind |
00000b50  64 65 66 0a                                       |def.|
00000b54