% name of textfile: P17 Sequential Tickets(DL/Synergetics Feb 91 v1.0) % .... % ========= % This file requires the previous download of gonzo.psl % available from https://www.tinaja.com/pssamp1.shtml % Make sure the following line agrees with your own gonzo.psl location (C:/Users/don/Desktop/gonzo/gonzo.psl) run % use internal gonzo % ========== gonzo begin gutility begin printerror nuisance begin % Does sequentially numbered larger tickets, four per page, any % number of pages /stepnrptparams 40 dict def stepnrptparams begin /fourtickets [1 4 470 150 0 0 10 false false] def end % /srfile gets used for custom entries. Each entry can be a % string or a proc, but ONLY ONE ENTRY is allowed % per final repeat. /srfile [(You) (forgot) (to) (define) (srfile!)] def % default srfile % /calcpages is an optional routine that decides how many % pages are needed ONLY when you are using a custom % srfile. This allows early exits when or if you run out of % data. /calcpages {dup cvn stepnrptparams exch get dup 0 get exch 1 get mul cvi srfile length exch div ceiling cvi /numpages exch def} def % This is the main stepandrepeat tool... /stepandrepeat { save /srsnap exch def mark exch /quickexit false def customdata {calcpages} if setrepeatparams numpages {gsave landscape1 {-90 rotate -792 0 translate} if horstart vertstart translate gsave numhoriz {gsave numvert {drawticks save /rptsave1 exch def repeatproc rptsave1 restore /runnum runnum 1 add def 0 incvert translate srexitproc} repeat quickexit {exit} if grestore inchoriz 0 translate} repeat quickexit {exit} if grestore showpage grestore} repeat quickexit {showpage} if cleartomark srsnap restore} def /customdata false def % autopaginate custom data? %%%%%%%%%%%%%% % define some artwork to be used on the tickets /block1 {save /snapbl exch def 0.2 setlinewidth newpath 15 15 mt -5 -5 rlineto 5 -5 rlineto -5 -5 rlineto -10 10 rlineto 10 10 rlineto 5 -5 rlineto gsave white fill grestore stroke snapbl restore} def /block2 {save /snapbl exch def 0.2 setlinewidth newpath 15 15 mt -5 -5 rlineto 5 -5 rlineto -5 -5 rlineto -10 10 rlineto 10 10 rlineto 5 -5 rlineto gsave bestgray 0.9 setgray fill grestore stroke snapbl restore} def /block3 {save /snapbl exch def 0.2 setlinewidth newpath 15 15 mt -5 -5 rlineto 5 -5 rlineto -5 -5 rlineto -10 10 rlineto 10 10 rlineto 5 -5 rlineto gsave bestgray 0.7 setgray fill grestore stroke snapbl restore} def /block4 {save /snapbl exch def 0.2 setlinewidth newpath 15 15 mt -5 -5 rlineto 5 -5 rlineto -5 -5 rlineto -10 10 rlineto 10 10 rlineto 5 -5 rlineto gsave bestgray 0.5 setgray fill grestore stroke snapbl restore} def /cardtrick{ 0.2 setlinewidth -0.2 -0.2 mt 30.4 0 rlineto 0 30.4 rlineto -30.4 0 rlineto closepath stroke gsave block1 grestore gsave 30 0 translate 90 rotate block2 grestore gsave 30 30 translate 180 rotate block3 grestore gsave 0 30 translate 270 rotate block4 grestore } def % To force an early exit when you run out of names or % reach a given ticket number, test suitably. Then % conditionally make /quickexit true and exit repeatproc. % Note that an ending showpage is NOT required and % should NOT be used. % default variables used by stepnrpt - make changes here in % starting number and number of pages /srexitproc {} def % default short exit - don’t do it. /startnum 1001 def /runnum startnum def /numstring 15 string def /numpages 3 def % default number of sheets to print /repeatproc {save /snapt exch def 20 20 10 setgrid % 47 15 showgrid % this is what remains the same on each group of tickets /cstretch 0 def /sstretch 0.01 def /font0 /ZapfChancery-MediumItalic 3 gonzofont /font1 /Helvetica 1 gonzofont /font2 /Helvetica-Narrow 0.7 gonzofont /font3 /ZapfChancery-MediumItalic 2 gonzofont /yinc 2.3 def 37.5 10 (|0Valley Quilters |3Annual Quilt Raffle) cc 37.5 2 (|1$1.00/each – $5/six ) cc %place some artwork on the ticket gsave 19.5 3 translate 0.3 dup scale cardtrick grestore % rotate and translate for the ticket stub text placement gsave 90 rotate 0 -15 translate /yinc 2.5 def 1 9 (|2name address city/state/zip phone) cl 0.1 setlinewidth [{1 2.2 mt 13 r} 2.5 4]yrpt % calls the font for the changing numbers and changes % numbers remove the "A" from the string for numbers % only change the numbers in the font array for point size /Helvetica findfont [1.0 0 0 1.2 0 0] makefont setfont 4.8 12 moveto (1995 - ) show runnum numstring cvs show 4.8 -2 moveto (1995 - ) show runnum numstring cvs show grestore snapt restore } def (fourtickets) stepandrepeat % eof