Xref: utzoo comp.lang.postscript:8860 comp.sys.mac.misc:12695 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sun-barr!lll-winken!uunet!europa.asd.contel.com!gatech!bloom-beacon!eru!hagbard!sunic!kth.se!news From: f85-bli@byse.nada.kth.se (Bengt Lidgard) Newsgroups: comp.lang.postscript,comp.sys.mac.misc Subject: Re: printing captured Mac PostScript files Message-ID: <1991May30.150410.29769@kth.se> Date: 30 May 91 15:04:10 GMT References: <1991May28.173012.17306@magnus.acs.ohio-state.edu> Organization: Royal Institute of Technology, Stockholm, Sweden Lines: 1472 In article <1991May28.173012.17306@magnus.acs.ohio-state.edu> jprice@magnus.acs.ohio-state.edu (Jeffrey R Price) writes: > >When the Command-F file prints I get the error: >%%[ Error: undefined; OffendingCommand: md ]%% md is a dictionnary >I called Adobe and they werre no help. PC support said "It won't work >because of some 8-bit problem". Mac support said "It should work". It works! But Apples laserprep is very strange.... (bugs bugs & more bugs) Send this file to the printer first. It will become resident. All Cmd-F files shall work in the future. This program is a modified laserprep from apple. Since their blasting junk doesn't work I feel free to redistribute something that does. BTW some comments will appear on your standard outputfile. Tell me how things work out, Bengt ------------------------- cut here ------------------------------------------ %! %%BeginProcSet: "(AppleDict md)" 68 0 (Start\n) print flush userdict /md known { (AppleDict already loaded\n) print (End\n) print flush stop }if serverdict begin 0 exitserver /sc { 60 45 { abs exch abs 2 copy add 1 gt { 1.0 sub dup mul exch 1.0 sub dup mul add 1.0 sub } { dup mul exch dup mul add 1.0 exch sub } ifelse }setscreen } bind def statusdict begin product(LaserWriter II)anchorsearch end { pop pop/letter [/letter load /exec load /sc load /exec load]cvx def/legal [/legal load /exec load /sc load /exec load]cvx def/a4 [/a4 load /exec load /sc load /exec load]cvx def/b5 [/b5 load /exec load /sc load /exec load]cvx def /lettersmall [/lettersmall load /exec load /sc load /exec load]cvx def/a4small [/a4small load /exec load /sc load /exec load]cvx def/note [/note load /exec load /sc load /exec load]cvx def } { pop }ifelse systemdict/currentpacking known { currentpacking true setpacking }if /LW { save statusdict/product get(LaserWriter)anchorsearch exch pop { length 0 eq { 1 } { 2 }ifelse } { 0 }ifelse exch restore }bind def /LW+ { LW 2 eq }bind def /ok { systemdict/statusdict known dup { LW 0 gt and }if }bind def /md 250 dict def md begin /av 0 def /T true def/F false def/mtx matrix def/s75 75 string def/s8 8 string def/s1 ( ) def/pxs 1 def/pys 1 def 1 0 mtx defaultmatrix dtransform exch atan/pa exch def/nlw .24 def/ppr [-32 -29.52 762 582.48] def /pgs 1 def/por true def/xb 500 array def/so true def/tso true def/fillflag false def/pnm 1 def/fmv true def /sfl false def/ma 0 def/invertflag false def/dbinvertflag false def/xflip false def/yflip false def/noflips true def/scaleby96 false def/fNote true def/fBitStretch true def /fg (Rvd\001\001\000\000\177) def /bdf { bind def }bind def /xdf { exch def }bdf /xl { neg exch neg translate }bdf /fp { pnsh 0 ne pnsv 0 ne and }bdf /nop { }bdf/lnop[/nop load]cvx bdf /vrb[ {fp{fg 6 get 0 ne{gsave stroke grestore}{gsave 1 setlinewidth pnsh pnsv scale stroke grestore}ifelse}if newpath}bind (.) print flush /eofill load dup /newpath load 2 index dup {clip newpath}bind {}bind dup 2 copy ]def currentscreen/spf xdf/rot xdf/freq xdf /doop { vrb exch get exec }bdf /psu { /tso xdf /fNote xdf/fBitStretch xdf/scaleby96 xdf/yflip xdf/xflip xdf /invertflag xdf/dbinvertflag invertflag statusdict begin version cvr 47.0 ge product (LaserWriter) eq not and end invertflag and { not }if def xflip yflip or { /noflips false def }if /pgs xdf 2 index .72 mul exch div/pys xdf div .72 mul/pxs xdf ppr astore pop/por xdf sn and/so xdf }bdf /tab { statusdict /11x17 known { statusdict begin /11x17 load end } { statusdict /setpage known { statusdict begin 792 1224 1 setpage end } { statusdict /setpageparams known { statusdict begin 792 1224 0 1 setpageparams end }if }ifelse }ifelse }bdf /txpose { fNote { smalls } { bigs }ifelse pgs get exec pxs pys scale ppr aload pop por { noflips { pop exch neg exch translate pop 1 -1 scale }if xflip yflip and { pop exch neg exch translate 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg translate }if xflip yflip not and { pop exch neg exch translate pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 translate }if yflip xflip not and { ppr 1 get neg ppr 0 get neg translate }if } { noflips { translate pop pop 270 rotate 1 -1 scale }if xflip yflip and { translate pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg translate }if xflip yflip not and { translate pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 translate }if yflip xflip not and { translate pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 exch translate }if }ifelse scaleby96 { ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy translate .96 dup scale neg exch neg exch translate }if }bdf (.) print flush /fr { 4 copy ppr aload pop 3 -1 roll add 3 1 roll exch add 6 2 roll 3 -1 roll sub 3 1 roll exch sub 3 -1 roll exch div 3 1 roll div exch scale pop pop xl }bdf /obl { { 0.212557 mul } { pop 0 }ifelse }bdf /sfd { ps fg 5 -1 roll get mul 100 div 0 ps 5 -1 roll obl ps neg 0 0 6a astore makefont setfont }bdf /fnt { findfont sfd }bdf /bt { sa 3 1 roll 3 index and put }bdf /sa(\000\000\000\000\000\000\000\000\000\000)def /fs { 0 1 bt 1 2 bt 2 4 bt 3 8 bt 4 16 bt 5 32 bt 6 64 bt 7 128 bt sa exch 8 exch put }bdf /mx1 matrix def /mx2 matrix def /mx3 matrix def /bu { currentpoint currentgray currentlinewidth currentlinecap currentlinejoin currentdash exch aload length fg 5 sfl { 1 } { 0 }ifelse put pnsv pnsh 2t aload pop 3a aload pop mx2 aload pop mx1 aload pop mtx currentmatrix aload pop mx3 aload pop ps pm restore/ps xdf mx3 astore pop }bdf /bn { /pm save def mx3 setmatrix newpath 0 0 moveto ct dup 39 get 0 exch getinterval cvx exec mtx astore setmatrix mx1 astore pop mx2 astore pop 3a astore pop 2t astore pop/pnsh xdf/pnsv xdf gw /sfl fg 5 get 0 ne def array astore exch setdash setlinejoin setlinecap setlinewidth setgray moveto }bdf /fc { save vmstatus exch sub 50000 lt { (%%[|0|]%%)=print flush }if pop restore }bdf /tc { 32768 div add 3 1 roll 32768 div add 2t astore pop }bdf /3a [0 0 0] def /2t 2 array def /tp { 3a astore pop }bdf /tt { mx2 currentmatrix pop currentpoint 2 copy 2t aload pop qa 2 copy translate 3a aload pop exch dup 0 eq { pop } { 1 eq { -1 1 } { 1 -1 }ifelse scale }ifelse rotate pop neg exch neg exch translate moveto }bdf /te { mx2 setmatrix }bdf /th { 3 -1 roll div 3 1 roll exch div 2 copy mx1 scale pop scale/sfl true def }bdf /tu { 1 1 mx1 itransform scale/sfl false def }bdf /ts { 1 1 mx1 transform scale/sfl true def }bdf /fz { /ps xdf }bdf /dv { dup 0 ne { div } { pop }ifelse }bdf (.) print flush /pop4 { pop pop pop pop }bdf /it { sfl { mx1 itransform }if }bdf /gm { exch it moveto }bdf/rm { it rmoveto }bdf /lm { currentpoint sfl { mx1 transform }if exch pop sub 0 exch it rmoveto }bdf /fm { statusdict/manualfeed known }bdf /se { statusdict exch/manualfeed exch put }bdf /mf { dup/ma exch def 0 gt { fm se/t1 5 st ok ma 1 gt and { /t2 0 st/t3 0 st statusdict/manualfeedtimeout 3600 put }if }if }bdf /jn { dup (document:) search { pop pop (Printing:) print }if = flush /statusdict where exch pop { statusdict exch /jobname exch put }if }bdf /pen { pnm mul/pnsh xdf pnm mul/pnsv xdf pnsh setlinewidth }bdf /min { 2 copy gt { exch }if pop }bdf /max { 2 copy lt { exch }if pop }bdf /dh { fg 6 1 put array astore dup { 1 pxs div mul exch }forall astore exch pop exch pop exch setdash }bdf /ih[currentdash]def /rh { fg 6 0 put ih aload pop setdash }bdf /dl { gsave nlw pys div setlinewidth 0 setgray }bdf /dlin { exch currentpoint currentlinewidth 2 div dup translate newpath moveto lineto currentpoint stroke grestore moveto }bdf /lin { fg 6 get 0 ne { exch lineto currentpoint 0 doop moveto } { exch currentpoint/pnlv xdf/pnlh xdf gsave newpath/@1 xdf/@2 xdf fp { pnlh @2 lt { pnlv @1 ge { pnlh pnlv moveto @2 @1 lineto pnsh 0 rlineto 0 pnsv rlineto pnlh pnsh add pnlv pnsv add lineto pnsh neg 0 rlineto } { pnlh pnlv moveto pnsh 0 rlineto @2 pnsh add @1 lineto 0 pnsv rlineto pnsh neg 0 rlineto pnlh pnlv pnsv add lineto }ifelse } { pnlv @1 gt { @2 @1 moveto pnsh 0 rlineto pnlh pnsh add pnlv lineto 0 pnsv rlineto pnsh neg 0 rlineto @2 @1 pnsv add lineto } { pnlh pnlv moveto pnsh 0 rlineto 0 pnsv rlineto @2 pnsh add @1 pnsv add lineto pnsh neg 0 rlineto 0 pnsv neg rlineto }ifelse }ifelse closepath fill }if @2 @1 grestore moveto }ifelse }bdf (.) print flush /gw { /pnm fg 3 get fg 4 get div def }bdf /lw { fg exch 4 exch put fg exch 3 exch put gw pnsv pnsh pen }bdf /barc { /@1 xdf/@2 xdf/@3 xdf/@4 xdf/@5 xdf /@6 xdf/@7 xdf/@8 xdf gsave @5 @7 add 2 div @6 @8 add 2 div translate newpath 0 0 moveto @5 @7 sub @6 @8 sub mtx currentmatrix pop scale @1 { newpath }if 0 0 0.5 @4 @3 arc @4 @3 sub abs 360 ge { closepath }if mtx setmatrix @2 doop grestore }bdf /ar { dup 0 eq barc }bdf /ov { 0 exch 360 exch true barc }bdf /rc { /@t xdf currentpoint 6 2 roll newpath 4 copy 4 2 roll exch moveto 6 -1 roll lineto lineto lineto closepath @t doop moveto }bdf /mup { dup pnsh 2 div le exch pnsv 2 div le or }bdf /rr { /@1 xdf 2. div/@2 xdf 2. div/@3 xdf /@4 xdf/@5 xdf/@6 xdf/@7 xdf @7 @5 eq @6 @4 eq @2 mup or or { @7 @6 @5 @4 @1 rc } { @4 @6 sub 2. div dup @2 lt { /@2 xdf } { pop }ifelse @5 @7 sub 2. div dup @2 lt { /@2 xdf } { pop }ifelse @1 0 eq { /@2 @2 pnsh 2 div 2 copy gt { sub def } { 0 pop4 }ifelse }if currentpoint newpath @4 @6 add 2. div @7 moveto @4 @7 @4 @5 @2 arcto pop4 @4 @5 @6 @5 @2 arcto pop4 @6 @5 @6 @7 @2 arcto pop4 @6 @7 @4 @7 @2 arcto pop4 closepath @1 doop moveto }ifelse }bdf /pr { gsave newpath/pl { exch moveto/pl { exch lineto }def }def }bdf (.) print flush /pl { exch lineto }bdf /ep { dup 0 eq { { moveto } { exch lin } { } { (%%[|1|]%%)= flush }pathforall pop grestore } { doop grestore }ifelse currentpoint newpath moveto }bdf /gr { 64. div setgray }bdf /pat { s8 copy pop 9.375 pa por not { 90 add }if { 1 add 4 mul cvi s8 exch get exch 1 add 4 mul cvi 7 sub bitshift 1 and }setscreen gr }bdf /sg { freq rot/spf load setscreen gr }bdf /dc { transform round .5 sub exch round .5 sub exch itransform }bdf /sn { userdict/smooth4 known }bdf /x8 { 3 bitshift }bdf /x4 { 2 bitshift }bdf /d4 { -2 bitshift }bdf /d8 { -3 bitshift }bdf /rb { 15 add -4 bitshift 1 bitshift }bdf /db { /@7 save def/@1 xdf/@2 xdf/@3 xdf/@4 xdf/@5 xdf/@6 @5 @3 4 add mul def dc translate scale/xdbit 1 1 idtransform abs/ydbit exch def abs def { 0 0 1 ydbit add 1 10 rc clip }if @1 0 eq @1 4 eq or { 1 setgray ydbit 0 1 ydbit add 1 2 rc }if @1 3 eq @1 7 eq or { 1 } { 0 }ifelse setgray/@9 @1 0 eq @1 1 eq @1 3 eq or or dbinvertflag xor def/@13 @6 def @2 fBitStretch or { /@10 @4 x4 def/@11 @3 x4 def/@12 @10 rb def/@13 @12 @11 mul def/@15 1 1 dtransform abs/calcY 1 index def round cvi/@14 exch def abs/calcX 1 index def round cvi scaleby96 not { 1 add }if def/@16 @15 rb def/@17 @16 @14 mul def }if sn @13 60000 lt and @2 fBitStretch or and { mtx currentmatrix dup 1 get exch 2 get 0. eq exch 0. eq and @17 60000 lt and fBitStretch and { @16 3 bitshift @14 @9 [calcX 0 0 calcY 0 0] { @17 string @13 string currentfile @6 string readhexstring pop 1 index @4 @3 @5 @12 @2 smooth4 @10 @11 @12 dup string 5 index @15 @14 @16 dup string stretch }imagemask } { @12 x8 @11 @9 [@10 0 0 @11 0 0] { @13 string currentfile @6 string readhexstring pop 1 index @4 @3 @5 @12 @2 smooth4 }imagemask }ifelse } { @5 3 bitshift @3 4 add @9 [@4 0 0 @3 0 2] { currentfile @6 string readhexstring pop }imagemask }ifelse @7 restore }bdf (.) print flush /multibit { /mbdeep exch def/mbY exch def/mbX exch def save mbX mbY mbdeep[mbX 0 0 mbY 0 0] { currentfile picstr readhexstring pop }image restore }bdf /wd 16 dict def /mfont 14 dict def /mdf { mfont wcheck not { /mfont 14 dict def }if mfont begin xdf end }bdf /cf { { 1 index/FID ne { def } { pop pop }ifelse }forall }bdf/rf { /@1 exch def/@2 exch def FontDirectory @2 known { cleartomark pop } { findfont dup begin dup length @1 add dict begin cf { /Encoding macvec def } { Encoding dup length array copy/Encoding exch def counttomark 2 idiv { Encoding 3 1 roll put }repeat }ifelse pop exec currentdict end end @2 exch definefont pop }ifelse }bdf /bmbc { exch begin wd begin /cr xdf save CharTable cr 6 mul 6 getinterval { }forall /bitheight xdf/bitwidth xdf .96 div/width xdf Gkernmax add/XOffset xdf Gdescent add/YOffset xdf/rowbytes xdf rowbytes 255 eq { 0 0 0 0 0 0 setcachedevice } { Gnormsize dup scale width 0 XOffset YOffset bitwidth XOffset add bitheight YOffset add setcachedevice rowbytes 0 ne { XOffset YOffset translate newpath 0 0 moveto bitwidth bitheight scale sn { /xSmt bitwidth x4 def /ySmt bitheight x4 def /rSmt xSmt rb def rSmt x8 ySmt true [xSmt 0 0 ySmt neg 0 ySmt] { rSmt ySmt mul string CharData cr get 1 index bitwidth bitheight rowbytes rSmt tso smooth4 } } { rowbytes 3 bitshift bitheight 4 add true [bitwidth 0 0 bitheight neg 0 bitheight 2 add] { CharData cr get } }ifelse imagemask }if }ifelse restore end end }bdf (.) print flush /bb { .96 exch div/Gnormsize mdf 2 index /Gkernmax mdf 1 index/Gdescent mdf 3 index div 4 1 roll 2 index div 1. 5 2 roll exch div 4 1 roll 4 array astore/FontBBox mdf }bdf /cdf { mfont/CharData get 3 1 roll put }bdf /bf { mfont begin /FontType 3 def /FontMatrix [1 0 0 1 0 0] def /Encoding macvec def /BuildChar/bmbc load def end mfont definefont pop }bdf /wi LW 1 eq { { gsave 0 0 0 0 0 0 0 0 moveto lineto lineto lineto closepath clip stringwidth grestore }bind } { /stringwidth load }ifelse def /aps { 0 get 124 eq }bdf /xc { s75 cvs dup }bdf /xp { put cvn }bdf /scs { xc 3 67 put dup 0 95 xp }bdf /sos { xc 3 79 xp }bdf /sbs { xc 1 66 xp }bdf /sis { xc 2 73 xp }bdf /sob { xc 2 79 xp }bdf /sss { xc 4 83 xp }bdf /dd { exch 1 index add 3 1 roll add exch }bdf /smc { moveto dup show }bdf /kwn { FontDirectory 1 index known { findfont exch pop } }bdf /gl { 1 currentgray sub setgray }bdf /mm { /mfont 10 dict def mfont begin /FontMatrix [1 0 0 1 0 0] def /FontType 3 def /Encoding macvec def /df 4 index findfont def /FontBBox [0 0 1 1] def /xda xdf/mbc xdf /BuildChar { wd begin/cr xdf/fd xdf/cs s1 dup 0 cr put def fd/mbc get exec end }def exec end mfont definefont }bdf (.) print flush /ac { dup scs kwn { exch findfont dup length 1 add dict begin { 1 index/FID ne 2 index/UniqueID ne and { def } { pop pop }ifelse }forall fmv { /Encoding macvec def }if/StrokeWidth nlw 1000 mul pys div ps div dup 12 lt { pop 12 }if def /PaintType 2 def currentdict end definefont }ifelse }bdf /mb { dup sbs kwn { exch { pop } { bbc } { }mm }ifelse sfd }bdf /mo { dup sos kwn { exch { pop } { boc } { }mm }ifelse sfd }bdf /ms { dup sss kwn { exch { pop } { bsc } { }mm }ifelse sfd }bdf /ou { dup sos kwn { exch dup ac pop { scs findfont /df2 xdf } { aoc } { }mm }ifelse sfd }bdf /su { dup sss kwn { exch dup ac pop { scs findfont /df2 xdf } { asc } { }mm }ifelse sfd }bdf /ao { /fmv true def ou }bdf/as { /fmv true def su }bdf /vo { /fmv false def ou }bdf/vs { /fmv false def su }bdf (.) print flush /bbc { /da .03 def fd/df get setfont gsave cs wi 1 index 0 ne { exch da add exch }if grestore setcharwidth cs 0 0 smc da 0 smc da da smc 0 da moveto show }bdf /boc { /da 1 ps div def fd/df get setfont gsave cs wi 1 index 0 ne { exch da add exch }if grestore setcharwidth cs 0 0 smc da 0 smc da da smc 0 da smc gl da 2. div dup moveto show }bdf /bsc { /da 1 ps div def /ds .05 def/da2 da 2. div def fd/df get setfont gsave cs wi 1 index 0 ne { exch ds add da2 add exch }if grestore setcharwidth cs ds da2 add .01 add 0 smc 0 ds da2 sub translate 0 0 smc da 0 smc da da smc 0 da smc gl da 2. div dup moveto show }bdf /aoc { fd/df get setfont gsave cs wi grestore setcharwidth gl cs 0 0 smc fd/df2 get setfont gl 0 0 moveto show }bdf /asc { /da .05 def fd/df get setfont gsave cs wi 1 index 0 ne { exch da add exch }if grestore setcharwidth cs da .01 add 0 smc 0 da translate gl 0 0 smc gl fd/df2 get setfont 0 0 moveto show }bdf /st { 1000 mul usertime add dup 2147483647 gt { 2147483647 sub }if def }bdf /the { usertime sub dup 0 lt exch -2147483648 gt and }bdf /6a 6 array def /2a 2 array def /3q 3 array def /qs { 3 -1 roll sub exch 3 -1 roll sub exch }bdf /qa { 3 -1 roll add exch 3 -1 roll add exch }bdf /qm { 3 -1 roll 1 index mul 3 1 roll mul }bdf /qn { 6a exch get mul }bdf /qA .166667 def/qB .833333 def/qC .5 def /qx { 6a astore pop qA 0 qn qB 2 qn add qA 1 qn qB 3 qn add qB 2 qn qA 4 qn add qB 3 qn qA 5 qn add qC 2 qn qC 4 qn add qC 3 qn qC 5 qn add }bdf /qp { 6 copy 12 -2 roll pop pop }bdf /qc { exch qp qx curveto }bdf /qi { { exch 4 copy 2a astore aload pop qa .5 qm newpath moveto } { exch 2 copy 6 -2 roll 2 qm qs 4 2 roll }ifelse }bdf /qq { { qc 2a aload pop qx curveto } { exch 4 copy qs qa qx curveto }ifelse }bdf (.) print flush /pt { currentpoint newpath moveto }bdf /qf { /fillflag true def }bdf /ec { 1 and 0 ne { 0 doop }if grestore currentpoint newpath moveto/fillflag false def }bdf /eu { currentpoint fp { 0 ep } { grestore newpath }ifelse moveto/fillflag false def }bdf /bp { currentpoint newpath 2 copy moveto }bdf /ef { gsave fillflag { gsave eofill grestore }if }bdf /sm { 0 exch { @1 eq { 1 add }if }forall }bdf /lshow { 4 1 roll exch/@1 exch def { 1 index wi pop sub 1 index sm dv 0 @1 4 -1 roll widthshow } { 1 index wi pop sub 1 index dup sm 10 mul exch length 1 sub add dv dup 10. mul 0 @1 4 -1 roll 0 6 -1 roll awidthshow }ifelse }bdf /setTxMode { sa 9 2 index put 3 eq { 1 } { 0 }ifelse setgray }bdf /SwToSym { { }mark false/Symbol/|______Symbol 0 rf 0 sa 6 get 0 ne { pop 1 } { sa 7 get 0 eq { pop 2 }if }ifelse sa 1 get 0 ne/|______Symbol sa 4 get 0 ne { vs } { sa 3 get 0 ne { vo } { fnt }ifelse }ifelse }bdf /mc { 0 3 1 roll transform neg exch pop }bdf /ul { dup 0 ne sa 2 get 0 ne and { gsave 0 0 /UnderlinePosition kif { mc } { ps -10 div }ifelse/UnderlineThickness kif { mc } { ps 15 div }ifelse abs setlinewidth neg rmoveto sa 4 get 0 ne { gsave currentlinewidth 2. div dup rmoveto currentpoint newpath moveto 2 copy rlineto stroke grestore }if sa 3 get sa 4 get or 0 ne { gsave gl 2 copy rlineto stroke grestore rlineto strokepath nlw pys div setlinewidth } { rlineto }ifelse stroke grestore } { pop }ifelse }bdf (.) print flush /sgt { 2 copy known { get true } { pop pop false }ifelse }bdf /kif { currentfont dup/FontMatrix get exch/FontInfo sgt { true } { currentfont/df sgt { dup/FontInfo sgt { 3 1 roll/FontMatrix get mtx concatmatrix exch true } { pop pop pop false } ifelse } { pop pop false }ifelse }ifelse { 3 -1 roll sgt { exch true } { pop false }ifelse } { false }ifelse }bdf (.) print flush /blank/Times-Roman findfont/CharStrings get/space get def /macvec 256 array def /NUL/SOH/STX/ETX/EOT/ENQ/ACK/BEL/BS/HT/LF/VT/FF/CR/SO/SI /DLE/DC1/DC2/DC3/DC4/NAK/SYN/ETB/CAN/EM/SUB/ESC/FS/GS/RS/US macvec 0 32 getinterval astore pop macvec 32/Times-Roman findfont/Encoding get 32 96 getinterval putinterval macvec dup 39/quotesingle put 96/grave put (.) print flush /Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute /agrave/acircumflex/adieresis/atilde /aring/ccedilla/eacute/egrave /ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde/oacute /ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex/udieresis /dagger/degree/cent/sterling/section/bullet/paragraph/germandbls /registered/copyright/trademark/acute/dieresis/notequal/AE/Oslash /infinity/plusminus/lessequal/greaterequal/yen/mu/partialdiff/summation /product/pi/integral/ordfeminine/ordmasculine/Omega/ae/oslash /questiondown/exclamdown/logicalnot/radical/florin/approxequal/Delta /guillemotleft/guillemotright/ellipsis/blank/Agrave/Atilde/Otilde/OE/oe /endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide/lozenge /ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright/fi/fl /daggerdbl/periodcentered/quotesinglbase/quotedblbase/perthousand /Acircumflex/Ecircumflex/Aacute/Edieresis/Egrave/Iacute/Icircumflex/Idieresis /Igrave/Oacute/Ocircumflex/apple/Ograve/Uacute/Ucircumflex/Ugrave/dotlessi /circumflex/tilde/macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron (.) print flush macvec 128 128 getinterval astore pop { }mark true/Courier/|______Courier 0 rf { /Metrics 21 dict begin/zero 600 def/one 600 def/two 600 def/three 600 def/four 600 def/five 600 def/six 600 def/seven 600 def/eight 600 def /nine 600 def/comma 600 def/period 600 def/dollar 600 def/numbersign 600 def/percent 600 def/plus 600 def/hyphen 600 def/E 600 def/parenleft 600 def/parenright 600 def/space 600 def currentdict end def currentdict/UniqueID known { /UniqueID 16#800000 def }if/FontBBox FontBBox 4 array astore def }mark true/Helvetica/|______Seattle 1 rf (.) print flush /oldsettransfer/settransfer load 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 }def /settransfer { currenttransfer concatprocs oldsettransfer }def (.) print flush /PaintBlack { { 1 exch sub }settransfer gsave newpath clippath 1 setgray fill grestore }def (.) print flush /od { (Rvd\001\001\000\000\177) fg copy pop txpose 1 0 mtx defaultmatrix dtransform exch atan/pa exch def newpath clippath mark { transform { itransform moveto } } { transform { itransform lineto } } { 6 -2 roll transform 6 -2 roll transform 6 -2 roll transform { itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto } } { { closepath } }pathforall newpath counttomark array astore/gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag { PaintBlack }if }bdf /cd { (\n) print (Finished!) = flush }bdf /op { /sfl false def/pm save def }bdf (.) print flush /pgcnt 0 def /cp { not { userdict/#copies 0 put }if ma 0 gt { { t1 the { exit }if }loop }if { copypage } { showpage }ifelse pm restore pgcnt 1 add dup /pgcnt exch def = flush }bdf /px { 0 3 1 roll tp tt }bdf /psb { /us save def }bdf /pse { us restore }bdf /ct 40 string def /nc { currentpoint initclip newpath gc { dup type dup/arraytype eq exch/packedarraytype eq or { exec }if } forall clip newpath moveto }def /kp { ct 0 2 index length 2 index 39 2 index put getinterval copy cvx exec mx3 currentmatrix pop }bdf /av 68 def end LW 1 eq userdict/a4small known not and { /a4small [[300 72 div 0 0 -300 72 div -120 3381] 280 3255 { statusdict/jobstate (printing) put 0 setblink margins exch 196 add exch 304 add 8 div round cvi frametoroket statusdict/jobstate (busy) put 1 setblink } /framedevice load 60 45 { dup mul exch dup mul add 1.0 exch sub }/setscreen load { }/settransfer load/initgraphics load/erasepage load]cvx statusdict begin bind end readonly def }if md begin/bigs[lnop userdict/letter known{/letter load}{lnop}ifelse userdict/legal known{/legal load}{lnop}ifelse userdict/a4 known{/a4 load}{lnop}ifelse userdict/b5 known{/b5 load}{lnop}ifelse lnop lnop lnop /tab load]def /smalls[lnop userdict/lettersmall known{/lettersmall load}{userdict/note known{/note load}{lnop}ifelse}ifelse userdict/legal known{/legal load}{lnop}ifelse userdict/a4small known{/a4small load}{lnop}ifelse userdict/b5 known{/b5 load}{userdict/note known{/note load}{lnop}ifelse}ifelse lnop lnop lnop /tab load]def end systemdict/currentpacking known { setpacking }if (\n) print flush (End\n) print flush %%EndProcSet %%EOF