% % %! (C:\\windows\\desktop\\gonzo\\gonzo.ps) run % use external gonzo %%%%%%%%%%%% PHOTO INSERTS %%%%%%%%%% % When photos are needed, they are inserted here. Comment out otherwise. /pixfilename1 (F:\\newblatmuse\\stepprep\\cab4-01a.jpg) def /pixfilename2 (F:\\newblatmuse\\stepprep\\cab4-01b.jpg) def /pixfilename3 (F:\\newblatmuse\\stepprep\\cab4-01c.jpg) def /pixfilename4 (F:\\newblatmuse\\stepprep\\cab4-01d.jpg) def /pixfilename5 (F:\\newblatmuse\\stepprep\\cab4-01e.jpg) def /pixfilename6 (F:\\newblatmuse\\stepprep\\cab4-01f.jpg) def /pixfilename7 (F:\\newblatmuse\\stepprep\\cab4-01g.jpg) def /pixfilename8 (F:\\newblatmuse\\stepprep\\cab4-01h.jpg) def %%%%%%%%%%%%% /trystone true def % name of textfile: blat 63 waywere % .... % X E Activate XON/XOFF if necessary. % Z Values are shown for Apple Super Serial Card %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This .GPS (Guru PostScript) file DEMANDS the persistant download % of GONZO15A.PTL #517 and GUTIL13A.PTL #280. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % statusdict begin % statusdict /setduplexmode known {true setduplexmode} if % end systemdict /setstrokeadjust known {true setstrokeadjust} if %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % modified nextcol allows pages without text and deferred xpos calcs. /nextcol { numpgcol 0 gt { curpage curcol get aload pop exec /txtwide exch def exec /ylimit exch def exec /ypos exch def exec /xpos exch def /curcol curcol 1 add def}{ nextpage} ifelse} def %%%%%% doembeddedproc executes |/name installdoembeddedproc links it /doembeddedproc {mark 50 {stringmode {getstringchar}{currentfile read} ifelse not {exit} if dup dup dup 32 eq exch 13 eq or exch 10 eq or {pop exit} if} repeat counttomark dup string /pstr1 exch def 1 sub -1 0 {pstr1 3 1 roll exch put} for pstr1 exch pop cvx exec} def /installdoembeddedproc {gonzo begin commands (/) 0 get {doembeddedproc} put end} def installdoembeddedproc %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------ COMMAND SUMMARY --------- % Note that "|" is used as a printable escape command below % |0 - drop cap font |1 - main text font |2 - text italics % |3 - heading font |4 - text caps font |5 - txt ital. caps % |6 - txt bold caps |8 - special font |= - symbol font % |a - start drop cap |b - indent drop text |c - start header % |d - finish header |k - kern -1 point |j - kern +1 point % |h - half linefeed |y - neg linefeed |C - center justify % |Z - column rule |x - enter PostScript |F - fill justify % \261 - em dash \274 elipsis ... %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % MIDNIGHT ENGINEERING TEMPLATE CORE ps.util.1 begin % here to simplify debug printerror nuisance begin systemdict /setstrokeadjust known {true setstrokeadjust} if /boxgrays 0.94 def % color of box fills. Use 1.0 for white 0.94 for gray % blackflash % This default gonzo page making template is a useful starting point for % creating your own custom templates. It allows multiple page documents % with full picture insertions and total text control. % Note that any template MUST have an internal proc named templatestartup % and that your template MUST NOT call gonzofont before run time. 300 dict /midnightdoc exch def midnightdoc begin /templatefonts { % Remember: all fonts MUST defer till run time! /font0 /StoneSans-Bold [45 0 0 40.1 0 -23] gonzofont % temp "I" /font1 /StoneSerif 8.38 gonzofont /font2 /StoneSerif [ 7.95 0 1.10 8.38 0 0 ] gonzofont /font3 /StoneSans-Bold [9.25 0 0 9.25 0 -8] gonzofont % old /font4 /StoneSerif 8.15 gonzofont /font5 /StoneSerif [ 8.12 0 1.1 8.12 0 0 ] gonzofont /font6 /StoneSerif-Bold [8.5 0 0 8.5 0 -5] gonzofont /font7 /StoneSans-Bold 7.9 gonzofont /font8 /Benguiat-Bold [22 0 0 24 0 0] gonzofont /font9 /Benguiat-Bold [14 0 0 14 0 0] gonzofont /font= /Symbol 9.75 gonzofont /font: /Times-Bold 9.75 gonzofont /font- /ZapfDingbats [9 0 0 9.01 0 -.7] gonzofont } def trystone not { /templatefonts { % Remember: all fonts MUST defer till run time! /font0 /Helvetica-Bold [45 0 0 40.1 0 -23] gonzofont /font1 /Times-Roman 9.75 gonzofont /font2 /Times-Italic 9.75 gonzofont /font3 /Helvetica-Bold [10 0 0 10.05 0 -8] gonzofont % old /font4 /Times-Roman 9.25 gonzofont /font5 /Times-Italic 9.25 gonzofont /font6 /Times-Bold [9 0 0 9.1 0 -6] gonzofont /font7 /Helvetica-Bold 9.5 gonzofont /font8 /Benguiat-Bold [22 0 0 24 0 0] gonzofont /font9 /Benguiat-Bold [14 0 0 14 0 0] gonzofont /font= /Symbol 9.75 gonzofont /font: /Times-Bold 9.75 gonzofont /font- /ZapfDingbats [9 0 0 9.01 0 -.7] gonzofont } def } if % values used by gonzo justify ... /cstretch 0.15 def % minimum character kerning /sstretch 0 def % minimum space kerning /dropcount 3 def % number of lines drop cap drops /lastlinestretch 0.04 def % open last paragraph line slightly /pm 10 def % use paragraph indents /yinc 11 def % line spacing /ypara yinc 2 div def % extra interparagraph spacing /ypara 0 def % but not here % These macros handle an initial drop cap and low center subheads ... /amacro {(zyL0) stringmacro /ypos ypos ypara add def} def % start drop cap /bmacro {(iFy1) stringmacro /ypos ypos ypara add def} def % finish drop cap /cmacro {0.33 setgray (znyL3) stringmacro /ypos ypos ypara 2 mul add def} def % centered title /dmacro {black (pF1) stringmacro /ypos ypos ypara 2 mul add def} def % normal text after centered title % reference values for internal doc control that become calculated % array values. Note that it is best to work in fixed yinc heights % to prevent alignment problems under figures. Note that it is nearly % always best to AVOID FIXED VALUES IN DOCMATRIX. % set screen here or comment out for stock gray 106 45 {dup mul exch dup mul add 1.0 exch sub} setscreen /showboxgrays true def % show grays in boxes and figs? /txw 242 def % width of normal text columns /cmb 60 def % column bottom position /cmt cmb 62 1 sub yinc mul add .1 add def % page is 63 normal text lines high /cml 60 def % first column left margin /cms 260 def % spacing of normal columns /cm# 2 def % number of normal columns /cm1 cml def % c1 starts at left margin /cm2 cml cms add def % c2 in middle /cm3 cml cms 2 mul add def % c3 to right /cmw cms txw sub def % white space between columns /hdw cms txw add def % normal header/footer width /hdc cm1 hdw 2 div add def % normal header/footer center /hdr cm1 hdw add def % normal header/footer right /hdl cm1 def % normal header left /fdp 28 def % amount of footer drop below cml /bh1 yinc 13 mul def % 12 vlines reserved for title & blurb /rwd 0.50 def % width of rules /rlt {cmt 12 add} def % adjusted vrule top /rlb {cmb 7 sub} def % adjusted vrule bottom /rl1 {cm2 cmw 2 div sub} def % center rules /stdfigrad 4 def % radius of standard figure box /1colwide txw def % width of single column figure /2colwide txw cms add def % width of double column figure /3colwide txw cms 2 mul add def % width of triple column figure /f1h yinc 25 mul def % height of figure one % sidebar /f2h yinc 25 mul def % temp tower figures /f3h yinc 22 mul def % temp tower figures /f2h yinc 25 mul def % image box height /f3h yinc 25 mul def % image box height /f4h yinc 25 mul def % image box height /f5h yinc 25 mul def % image box height /f6h yinc 25 mul def % image box height /f7h yinc 25 mul def % image box height /f8h yinc 25 mul def % image box height /f9h yinc 25 mul def % image box height /pix1h yinc 21 mul def % steplock picture /pix2h yinc 21 mul def % steplock picture /pix3h yinc 21 mul def % steplock picture /pix4h yinc 21 mul def % steplock picture /s1h yinc 20 mul def % height of figure two /fig1 {cm1 cmt f1h sub 1colwide f1h yinc add true true /f1name /figure1 stdfig} def % link resource sidebar /fig2 {cm1 cmt f2h sub 2colwide f2h yinc add true true /f2name /figure2 grayfig2i} def % link /fig3 {cm1 cmt f3h sub 2colwide f3h yinc add true true /f3name /figure3 grayfig2i} def % link /fig4 {cm1 cmb yinc sub 2colwide f4h yinc add true true /f4name /figure4 grayfig2i} def % link /fig5 {cm1 cmt f5h sub 2colwide f5h yinc add true true /f5name /figure5 grayfig2i} def % link /fig6 {cm1 cmb yinc sub 2colwide f6h yinc add true true /f6name /figure6 grayfig2i} def % link /fig7 {cm1 cmt f7h sub 2colwide f7h yinc add true true /f7name /figure7 grayfig2i} def % link /fig8 {cm1 cmb yinc sub 2colwide f8h yinc add true true /f8name /figure8 grayfig2i} def % link /fig9 {cm1 cmt f9h sub 2colwide f9h yinc add true true /f9name /figure9 grayfig2i} def % link % /fig3 {cm2 cmt f2h sub 1colwide f3h yinc add true % true /f3name /figure3 grayfig2} def % link /side1 {cm1 cmt s1h sub 5 add 3colwide s1h true false /s1name /sidebar1 stdfig} def % link /pix1 {cm1 cmt pix1h sub 1colwide pix1h yinc add true true /pix1name /picture1 stdfigx} def % link pix /pix2 {cm2 cmt pix2h sub 1colwide pix2h yinc add true true /pix1name /picture2 stdfigx} def % link pix /pix3 {cm1 cmt pix3h sub 1colwide pix3h yinc add true true /pix3name /picture3 stdfigx} def % link pix /pix4 {cm2 cmt pix4h sub 1colwide pix4h yinc add true true /pix1name /picture4 stdfigx} def % link pix % this is an experimental pull /pull1 [ cm2 70 sub % left position cmb 8 yinc mul add % bottom position 1 index 204 add % width in points 1 index 9 yinc mul add % top position (|3I've yet to find any product whose main purpose is to let end users attractively hold |j|j|jpapers |j|j|jtogether.) % message NOT USED THIS COLUMN ] def /pull1top {pull1 3 get} def /pull1bot {pull1 1 get 0.1 add yinc sub} def % requires column [ cm1 pullleftset etc.. /pull1leftset {pull1 3 get yinc sub pull1 1 get yinc sub pull1 0 get 3 index sub} def /pull1rightset { pull1 2 get exch pull1 3 get yinc sub exch pull1 1 get yinc sub exch pull1 2 get sub txw add} def % this is an experimental "standard" pull for MIDENG... /stdpull {aload pop save /pullsnap exch def /msg exch def 6 sub /pt exch def 6 sub /pr exch def 0 add /pb exch def 6 add /pl exch def newpath pl pb moveto pl pt lineto pr pt lineto pr pb lineto closepath gsave 1 setgray 8 setlinewidth stroke grestore gsave showboxgrays {0.94}{0} ifelse setgray fill grestore [2 0 1 1] superstroke /sstretch 0.8 def /cstretch 0.2 def /font1 /Helvetica-Bold 12.5 gonzofont /font2 /Helvetica-Bold 11.5 gonzofont font1 /yinc 15 def /ylimit -9999 def pl dup pr sub 2 div neg add pt 28 sub msg cc pullsnap restore} def % this is a "standard" figure border for MIDENG. It has rounded edges, % a bottom single line title, and links to the actual figure art... /stdfig { /jsave justx 4 get def save /stdsnap exch def /colcheck {} def /figproc exch def cvx /figname exch def /showtitle exch def /showborder exch def /figheight exch def /figwidth exch def translate showborder {1 5 figwidth 2 sub figheight 15 sub stdfigrad roundbox gsave showboxgrays {0.94}{0} ifelse setgray fill grestore [2 0 1 1] superstroke } if /font7 /Helvetica-Bold 9 gonzofont showtitle {figwidth 2 div 12 font7 figname cc} if /bw figwidth def /bt figheight def /bl 0 def /bb 0 def /bc figwidth 2 div def /xpos 20 def /ypos bt 20 sub def /cstretch 0 def /sstretch 0 def /lastlinestretch 0 def /pmrun 0 def /ypara 0 def /linestring linestring2 def % needed to run interference 3 1 roll translate dup scale mark figproc cvx exec cleartomark stdsnap restore justx 4 jsave put } def %%%%%%%%%%%% % stdfigx just lets the artwork do its thing after translation /stdfigx { /jsave justx 4 get def save /stdsnap exch def /colcheck {} def /figproc exch def cvx /figname exch def /showtitle exch def /showborder exch def /figheight exch def /figwidth exch def translate {showborder {1 5 figwidth 2 sub figheight 15 sub stdfigrad roundbox gsave showboxgrays {0.94}{0} ifelse setgray fill grestore [2 0 1 1] superstroke } if } pop /font7 /Helvetica-Bold 9 gonzofont {showtitle {figwidth 2 div 12 font7 figname cc} if /bw figwidth def /bt figheight def /bl 0 def /bb 0 def /bc figwidth 2 div def /xpos 20 def /ypos bt 20 sub def /cstretch 0 def /sstretch 0 def /lastlinestretch 0 def /pmrun 0 def /ypara 0 def} pop /linestring linestring2 def % needed to run interference 3 1 roll translate dup scale mark figproc cvx exec cleartomark stdsnap restore justx 4 jsave put } def %%%%%%%%%%%% %%%%%%%%%%%%%%%%% % grayfig two has a title box (modified for reverse) %%%%%% try a hold %%%%%%%%%%%%%%%%% warning: modified below /grayfig2 { /jsave justx 4 get def save /stdsnap exch def /colcheck {} def /figproc exch def cvx /figname exch def /showtitle exch def /showborder exch def 2 add % temp for blat 25 /figheight exch def 20 sub /figwidth exch def translate showborder {1 10 add 5 10.4 figheight 33 sub moveto figwidth 0.8 sub 0 rlineto figwidth 2 sub figheight 15 sub stdfigrad roundbox % gsave showboxgrays {grayshade}{1} ifelse setgray fill grestore gsave white fill grestore % temp gray box, white top gsave newpath 0 0 moveto 0 figheight 38 sub rlineto figwidth 2 sub 0 rlineto 0 figheight 38 sub neg rlineto closepath 0.33 setgray setgray fill grestore [2 0 1 1] superstroke } if /font7 /Helvetica-Bold 9 gonzofont trystone { /cstretch 0.5 store /font7 /StoneSans-Bold 9 gonzofont} if showtitle {white figwidth 2 div figheight 31 sub font7 figname cc black} if /bw figwidth def /bt figheight def /bl 0 def /bb 0 def /bc figwidth 2 div def /xpos 20 def /ypos bt 20 sub def /cstretch 0 def /sstretch 0 def /lastlinestretch 0 def /pmrun 0 def /ypara 0 def /linestring linestring2 def % needed to run interference 3 1 roll translate dup scale mark figproc cvx exec cleartomark stdsnap restore justx 4 jsave put } def %%%%%%%%%%%%%%%%%%%%%%% % Here is the master document control matrix. It is manual in this example % Note that the result of internal calcs are ORDINARY NUMBERS. Note also % that you make room for figures by adding or subtracting only where and % as needed. /docmatrix [ [ { } { } { } ] % initial document files [ [{leftfooter} {fullheader} {cm1 cmt bh1 sub titleblock} {rl1 rlb rlt bh1 sub yinc 2 mul sub rwd vrule} % {pull1 stdpull} ] % page one figures and control % no stdpull this time % [ cm1 cmt bh1 sub pull1top txw] % column1 xpos ypos ylimit txtwide % [ cm1 pull1leftset] % [ cm1 pull1bot cmb txw] % [ cm2 cmt bh1 sub pull1top txw] % column2 xpos ypos ylimit txtwide % [ cm2 pull1rightset] % [ cm2 pull1bot cmb txw] % adjusted for double title [ cm1 cmt bh1 sub yinc 2 mul sub cmb txw] % column1 xpos ypos ylimit txtwide [ cm2 cmt bh1 sub yinc 2 mul sub cmb txw] % column2 xpos ypos ylimit txtwide ] % start page two [ [{aqua} {rightfooter} {fullheader} {rl1 rlb rlt f2h sub yinc sub rwd vrule} {0 0 1 fig2} % {0 0 0.8 pix1} %{0 0 0.8 pix2} ] % page two figures and control [ cm1 cmt f2h sub yinc sub cmb txw] % column1 xpos ypos ylimit txtwide [ cm2 cmt f2h sub yinc sub cmb txw] % column2 xpos ypos ylimit txtwide ] /coladj {yinc 21 mul pop 0 add} def % start page three [ [{aqua} {leftfooter} {fullheader} % {0 -6 0.8 fig1} % {rl1 rlb rlt rwd vrule} % {0 0 0.8 pix3} % {0 0 0.8 pix4} {0 0 1 fig3} {0 0 1 fig4} {rl1 rlb f2h add 5 add rlt f2h sub yinc sub rwd vrule} ] % page three figures and control [ cm1 cmt f3h sub yinc sub cmb f4h add txw] [ cm2 cmt f3h sub yinc sub cmb f4h add txw] % column2 xpos ypos ylimit txtwide ] % start page four [ [{aqua} {leftfooter} {fullheader} % {0 -6 0.8 fig1} % {rl1 rlb rlt rwd vrule} % {0 0 0.8 pix3} % {0 0 0.8 pix4} {0 0 1 fig5} {0 0 1 fig6} {rl1 rlb f2h add 5 add rlt f2h sub yinc sub rwd vrule} ] % page three figures and control [ cm1 cmt f3h sub yinc sub cmb f4h add txw] [ cm2 cmt f3h sub yinc sub cmb f4h add txw] % column2 xpos ypos ylimit txtwide ] % start page five [ [{aqua} {leftfooter} {fullheader} % {0 -6 0.8 fig1} % {rl1 rlb rlt rwd vrule} % {0 0 0.8 pix3} % {0 0 0.8 pix4} {0 0 1 fig7} {0 0 1 fig8} {rl1 rlb f2h add 5 add rlt f2h sub yinc sub rwd vrule} ] % page three figures and control [ cm1 cmt f3h sub yinc sub cmb f4h add txw] [ cm2 cmt f3h sub yinc sub cmb f4h add txw] % column2 xpos ypos ylimit txtwide ] % start page six [ [{aqua} {rightfooter} {fullheader} {rl1 rlb rlt f2h sub yinc sub rwd vrule} {0 0 1 fig9} % {0 0 0.8 pix1} %{0 0 0.8 pix2} ] % page two figures and control [ cm1 cmt f2h sub yinc sub cmb txw] % column1 xpos ypos ylimit txtwide [ cm2 cmt f2h sub yinc sub cmb txw] % column2 xpos ypos ylimit txtwide ] /coladj {yinc 21 mul pop 0 add} def [ [{aqua} {rightfooter} {fullheader} {rl1 rlb rlt rwd vrule} ] % page four figures and control [ cm1 cmt cmb txw] % column1 xpos ypos ylimit txtwide [ cm2 cmt cmb txw] % column1 xpos ypos ylimit txtwide ] [ [{leftfooter} {fullheader} {rl1 rlb rlt rwd vrule} ] % page four figures and control [ cm1 cmt cmb txw] % column1 xpos ypos ylimit txtwide [ cm2 cmt cmb txw] % column1 xpos ypos ylimit txtwide ] [ [{rightfooter} {rightheader} {rl1 rlb rlt rwd vrule} ] % page five figures and control [ cm1 cmt cmb txw] % column1 xpos ypos ylimit txtwide [ cm2 cmt f2h sub yinc sub cmb txw] % column1 xpos ypos ylimit txtwide ] [ [{rightfooter} {rightheader} {rl1 rlb rlt rwd vrule} ] % page five figures and control [ cm1 cmt cmb txw] % column1 xpos ypos ylimit txtwide [ cm2 cmt f2h sub yinc sub cmb txw] % column1 xpos ypos ylimit txtwide ] [ [{rightfooter} {rightheader} {rl1 rlb rlt rwd vrule} ] % page five figures and control [ cm1 cmt cmb txw] % column1 xpos ypos ylimit txtwide [ cm2 cmt f2h sub yinc sub cmb txw] % column1 xpos ypos ylimit txtwide ] [ [{rightfooter} {rightheader} {rl1 rlb rlt rwd vrule} ] % page five figures and control [ cm1 cmt cmb txw] % column1 xpos ypos ylimit txtwide [ cm2 cmt f2h sub yinc sub cmb txw] % column1 xpos ypos ylimit txtwide ] [ [{rightfooter} {rightheader} {rl1 rlb rlt rwd vrule} ] % page five figures and control [ cm1 cmt cmb txw] % column1 xpos ypos ylimit txtwide [ cm2 cmt f2h sub yinc sub cmb txw] % column1 xpos ypos ylimit txtwide ] [ {exit (quit)} ] % final document wrapup % NOTE: will not execute with short copy! ] def /nextpage { showpage adjustpage /pagenum pagenum 1 add def docpage numpages lt { /docpage docpage 1 add def docmatrix docpage get /curpage exch def curpage length 1 sub /numpgcol exch def curpage 0 get {cvx exec} forall /curcol 1 def nextcol} {docmatrix curpage 1 add get {cvx exec} forall } ifelse } def /nextcol { curpage curcol get aload pop /txtwide exch def /ylimit exch def /ypos exch def /xpos exch def /curcol curcol 1 add def } def /colcheck { ypos ylimit le { curcol numpgcol gt {nextpage} {nextcol} ifelse} if } def /templatestartup { templatefonts font1 /gonzojust true def /rslashok true def docmatrix length /numpages exch def /docpage 1 def docmatrix 0 get {cvx exec} forall % do initial document files docmatrix docpage get /curpage exch def curpage length 1 sub /numpgcol exch def curpage 0 get {cvx exec} forall % do initial page files /curcol 1 def nextcol } def end % simpledoc template %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%% MIDNIGHT 35 TEXT STARTS HERE %%%%%%%%%%%%%%%% % //// demo - remove or alter before reuse //// % ps.util.1 begin % blurb uses my utilities % printerror % nuisance begin gonzo begin % be sure to start gonzo first! /dropindent 19 def % indent for drop cap CHANGE BELOW /pubname (Blatant |jOpportunist) def % for footers /issuename (Mar-Apr, 2002) def % for footers /titlename (St|kep|j|j-|j|jby|j-|jSt|kep\nIm|kage |jP|krep) def % the title /blatnum (67) def % for blurb /pagenum 1 def % first printed page number % this can give you oversize copies for camera ready use /makeitbig false def % big is 150 percent /printbottomhalf true def % only used if 1.5 scale /adjustpage { makeitbig {landscape printbottomhalf {0 -20 translate} {0 -550 translate} ifelse 1.333 dup scale}if} def adjustpage % roundbox draws a box path with rounded corners and locks you to the % lower lefthand box corner using this format ... % -xpos- -ypos- -yheight- -cornerrad- roundbox % (this will become a part of the utilities) /roundbox {gsave /rad exch def /bt exch def /br exch def /bb exch def /bl exch def bl bb translate rad mark br 2 div 0 0 0 0 bt br bt br 0 br 2 div 0] roundpath} def %% INCLUDED FILES (blurbs, figures, pulls, rules, footers, etc..) % vrule gives a fixed vertical rule, inputting xpos ystart yend linewidth /vrule {gsave newpath setlinewidth 2 index 4 2 roll moveto exch lineto 0 setgray stroke grestore} def % hrule gives a fixed horizontal rule, inputting ypos xstart xend linewidth /hrule {gsave newpath setlinewidth 1 index 4 2 roll moveto lineto 0 setgray stroke grestore} def % titleblock straddles all three columns at top of first page % blatlogo here /blatlogo {save /blsave exch def translate 5 dup scale /cstretch .05 def /sstretch 0.7 def /font; /Revue [2.6 0 0 2.6 0 0] gonzofont /font: /Revue [5 0 0 6 0 0] gonzofont /kern -0.1 def 1 [10 0 0 0 0 9 20 9 20 0 10 0] roundpath gsave boxgrays setgray fill grestore [0.9 0 0.7 1 0.55 0] superinsidestroke gsave -0.45 0 translate 1 [25 0 20 0 20 9 30 9 30 0 25 0] roundpath gsave boxgrays setgray fill grestore [0.9 0 0.7 1 0.55 0] superinsidestroke grestore /yinc 3 def font; 10 5 (the |j|jblatant opportunist) cc font: 24.55 2 blatnum cc blsave restore } def /titleblock { save /tbsnap exch def translate /ylimit -9999 def /txtwide 1000 def 340 10 yinc 2 add % temporary upshift mul 3 add blatlogo /cstretch 0.2 def /sstretch 0.2 def /font1 /Helvetica-Bold 11 gonzofont trystone {/font1 /StoneSans-Bold 11 gonzofont} if font1 412 102 yinc 2 mul add % temp upshift 5 sub (by Don Lancaster) cc /cstretch 0.05 def /sstretch 0.05 def /font2 /Helvetica-Bold 47 gonzofont trystone {/font2 /StoneSans-Bold [43.6 0 0 45 0 0] gonzofont} if /yinc 50 def % temp for two %%% 0 87 18 sub 22 sub % 24 add % temp shift two lines 0 87 18 sub 22 sub % 24 add % temp shift two lines when active titlename cl tbsnap restore } def % mergestr is a tool useful for page numbers; evenutally it will go % into the nuisance dictionary /mergestr {2 copy length exch length add string dup dup 4 3 roll 4 index length exch putinterval 3 1 roll exch 0 exch putinterval} def % fullheader is stripe across top. /fullheader {save /hdrsnap exch def cml cmt 21 add moveto 2 setlinewidth hdw 0 rlineto stroke hdrsnap restore} def % leftheader is left column stripe /leftheader {save /hdrsnap exch def cml cmt 21 add moveto 2 setlinewidth txw 0 rlineto stroke hdrsnap restore} def % rightheader is right column stripe /rightheader {save /hdrsnap exch def cml hdw add cmt 21 add moveto 2 setlinewidth txw neg 0 rlineto stroke hdrsnap restore} def % left footer has left, center, and right elements for the left pages /leftfooter {save /footsnap exch def /colcheck {} def font7 hdc cmb fdp sub pubname cc hdl cmb fdp sub issuename cl hdr cmb fdp sub pagenum ( ) cvs cr footsnap restore} def % right footer does the same for right pages; headers would work the same /rightfooter {save /footsnap exch def /colcheck {} def font7 hdc cmb fdp sub (Blatant |jOpportunist) cc hdr cmb fdp sub issuename cr hdl cmb fdp sub pagenum ( ) cvs cl footsnap restore} def % this is a simple horizontal rule that tracks text position ... /Zmacro {xpos ypos 2 add xpos txw add 4 add 0.5 hrule} def %%%%%%%%%%%%%% FIGURES START HERE %%%%%%%%%%%%%%%%%%%%% /figure1 { /title ( ) def /figscale 0.8 def % makes position size independent /cstretch 0.1 def /sstretch 0.1 def /font2{/Helvetica-Bold findfont [9 0 0 9 0 0 ] makefont setfont}def /font7 {/Helvetica-Bold findfont [6 0 0 6 0 0] makefont setfont} def /font8 {/Helvetica findfont [8 0 0 8 0 0] makefont setfont} def font2 bc bt 25 sub 2 add % ( ) % use stdfig title below instead ( ) cc /amacro {/ypos ypos squash add def} def /bmacro {/yhold ypos def /ypos ytopoflist def /xpos xpos columnspacing add def /ypos ypos yinc add def} def /squash 0.8 def % default /squash -2.5 def /yinc 9 def /colspacing 85 def /font7 {/Helvetica findfont [8 0 0 8 0 0] makefont setfont} def /font8 {/Helvetica-Bold findfont [8 0 0 8 0 0] makefont setfont} def /font1 {/Helvetica findfont [8 0 0 8 0 0] makefont setfont} def % bee patch /font2 {/Helvetica-Bold findfont [8 0 0 8 0 0] makefont setfont} def /xpos bl 28 add def /ypos bt 52 sub def /ytopoflist ypos figscale div def /columnspacing 116 def xpos figscale div ypos figscale div % (|8Adobe Acrobat|7 % 1585 Charleston Rd % Mountain View CA 94039 % (800) 833-6687 % |a % ) cl (|2Adobe Acrobat System|1 1585 Charleston Rd Mountain View CA 94039 (800) 833-6687 |/surl |2www.adobe.com|1|/adobe |a |2Arcata ImageViewer|1 600 F Street Arcata CA 95521 (800) 822-9085 |/surl |2www.arcatapet.com|/arcatapet |a |2Auction Advisory|1 Box 61104 Phoenix 85082 (602) 994-4512 |/surl |2www.auctionadvisory.com|/auctionadvmag |a |2eBay|1 2005 Hamilton Ave, Ste 350 San Jose CA 95125 |/surl |2www.ebay.com|1|/ebay |a |2eBay Magazine|1 700 E. State St. Iola, WI 54990 (715) 445-4087 |/surl |2http://www.krause.com|/ebaymag |b |2 Ipswitch, Inc |1 81 Hartwell Ave Lexington MA 02421 (781) 676-5700 |/surl |2http://www.ipswitch.com|/ipswitch |a |2Levy-Latham|1 6263 N. Scottsdale Rd #371 Scottsdale, Arizona 85250 (480) 367-1100 |/surl |2http://www.levylatham.com|/levylat |a |2Synergetics|1 Box 809 Thatcher AZ 85552 (928) 428-4073 |/surl |2www.tinaja.com|1|/tinaja |a |2Test Equipment Connection|1 525 Technology Park Lake Mary FL 32746 (800) 615-8378 |/surl |2www.4testequipment.com|/tec |a |2WebTrends|1 621 SW Morrison #1025 Portland OR 97205 (502) 294-7025 |/surl |2www.webtrends.com|1|/webtrends |a )cl /font9 {/Helvetica findfont [9 0 0 9 0 0] makefont setfont} def font9 % /yinc 14 def /yinc yinc 1.9 add def % temp adjust /up3 {/ypos ypos -7 add store} def % gsave % xpos 108 add 69 sub ytopoflist 187 sub 15 add mt 135 pr 93 pd % 135 pl closepath grayshade 0.10 sub setgray fill grestore % xpos 108 add ytopoflist 187 sub % (|8RECOMMENDED WEB SITES % |h|7|/up3 % |/surl www.amazon.com|/amazon % |/surl www.keynet.net/~lindsay|/lindsay % |/surl www.patent.womplex.ibm.com|/patent.womplex.ibm % |/surl www.tinaja.com/patnt01.html|/patnt01 % |/surl www.mediafinder.com|/mediafinder % ) cc {{ /tabs [75] def (|7address finder |/surl |t|8bigfoot.com |/bigfoot |7address finder |/surl |t|8www.drebes.com|/drebes |7address finder |/surl |t|8www.infospace.com |/infospace |7address finder |/surl |t|8www.whowhere.com |/whowhere |7book locator |/surl |t|8www.tinaja.com/amlink01.html|/amlink01 |7consulting net |/surl |t|8net www.tinaja.com/consul01.html|/consul01 |h |7electronic data |/surl |t|8www.tinaja.com/eeweb01.html|/eeweb01 |7ezine & zines |/surl |t|8www.factsheet5.com|/factsheet5 |7ezine directory |/surl |t|8www.meer.net/~johnl/e-zine-list|/meer |7ezine directory |/surl |t|8www.dominis.com/Zines|/dominis |7ezine directory |/surl |t|8www.edoc.com/ejurnal|/ejournal |7faq library |/surl |t|8www.faqlib.com|/faq |h |7infopacks |/surl |t|8www.tinaja.com/info1.html|/info01 |7manufacturers |/surl |t|8www.thomasregister.com|/thomas |7maps |/surl |t|8www.mapquest.com/map|/mapquest |7newsgroup finder |/surl |t|8www.tinaja.com/text/newslist.html|/newslist |7newsletter index |/surl |t|8www.NeoSoft.com/internet/paml|/paml |7newsgroup search |/surl |t|8web3.dejanews.com|/deja |h |7search tutorials |/surl |t|8www.searchenginewatch.com|/watch |7search engine |/surl |t|8www.altavista.digital.com|/alta |7search engine |/surl |t|8www.hotbot.com|/hotbot |7search engine |/surl |t|8www.inference.com/infind|/infer |7search engine |/surl |t|8www.wp.com/resch/search.htm|/wpsearch |7patent stash |/surl |t|8patent.womplex.ibm.com|/patent |h |7patents |/surl |t|8www.tinaja.com/patnt01.html|/patnt01 |7phone numbers |/surl |t|8www.lookupusa.com|/lookup |7phone numbers |/surl |t|8www.switchboard.com|/switchboard |7resource help |/surl |t|8www.tinaja.com/resbn01.html|/resbn01 |7technical info |/surl |t|8techweb.cmp.com/eet|/techweb |7tech info |/surl |t|8news:sci.electronics.design|/scieldes |h |7techical info |/surl |t|8www.questlink.com|/quest |7technical ventures |/surl |t|8www.tinaja.com/ismm01.html |/ismm01 |7toll free phones |/surl |t|8att.net/dir800|/bell800 |7trade journals |/surl |t|8www.mediafinder.com|/oxbridge |7useful web links |/surl |t|8www.tinaja.com/webwb01.html|/webwb01 |7zip code info |/surl |t|8www.usps.gov/ncsc|/zipcode ) cl }} pop } def %%%% Image figure reference stash goes here /jpegimageproc { % name of textfile: namehere % ............................ % figure 2 % save /snap2 exch def -5 -2 translate % adjust position in box % -30 -30 translate %%%% temporary clip check /infilename exch store % grab passed pix file /vpixels exch store /hpixels exch store translate % adjust position for final figure ??? %%%%%%%%%%%%%%%%%%% 8 15 translate % position on box electronics begin /DeviceRGB setcolorspace % pick color model 3 -6 translate % set page position hpixels vpixels scale % magnify unit square 1 dup scale /infile infilename (r) file def % establish input read file /Data {infile /DCTDecode filter} def % define a data source << % start image dicationary /ImageType 1 % always one /Width hpixels % JPEG width in pixels /Height vpixels % JPEG height in pixels /ImageMatrix [hpixels 0 0 vpixels neg 0 vpixels ] /DataSource Data % proc to get filtered JPEG /BitsPerComponent 8 % color resolution /Decode [0 1 0 1 0 1] % per red book 4.10 >> image % call the image operator end ypos snap2 restore /ypos exch def } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /figure2 {0 0 466 235 pixfilename1 jpegimageproc} def % image link /figure3 {0 0 466 235 pixfilename2 jpegimageproc} def % image link /figure4 {0 0 466 235 pixfilename3 jpegimageproc} def % image link /figure5 {0 0 466 235 pixfilename4 jpegimageproc} def % image link /figure6 {0 0 466 235 pixfilename5 jpegimageproc} def % image link /figure7 {0 0 466 235 pixfilename6 jpegimageproc} def % image link /figure8 {0 0 466 235 pixfilename7 jpegimageproc} def % image link /figure9 {35 38 395 159 pixfilename8 jpegimageproc} def % image link %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % /figure3 {save /f1snap exch def % f1snap restore} def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /adjpix {-16 1 translate 0.835 dup scale} def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /picture1 {save /f1psnap exch def adjpix /ylimit -9999 def /colbot -9999 def /ybot -9999 def /showpage {} def (E:\\Medocs-E\\Blat\\steplock\\pixn24.psl) run f1psnap restore} def /picture2 {save /f2psnap exch def adjpix /ylimit -9999 def /colbot -9999 def /ybot -9999 def /showpage {} def (E:\\Medocs-E\\Blat\\steplock\\pixe24.psl) run f2psnap restore} def /picture4 {save /f4psnap exch def adjpix /ylimit -9999 def /colbot -9999 def /ybot -9999 def /showpage {} def (E:\\Medocs-E\\Blat\\steplock\\pixd24.psl) run f4psnap restore} def /picture3 {save /f3psnap exch def adjpix /ylimit -9999 def /colbot -9999 def /ybot -9999 def /showpage {} def (E:\\Medocs-E\\Blat\\steplock\\pixp24.psl) run f3psnap restore} def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /sidebar1 {} def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This is a titling and tracking box used for the figures.. /ttheight 20 yinc mul def /ttwidth 240 def /ttrad 3 def /ttbox {/ttmsg exch def /ylimit -9999 def /colbot -9999 def /ybot -9999 def xpos txtwide ttwidth sub 2 div add ypos ttheight sub 2 add 10 setgrid 0 ttheight 10 div 1.5 sub 0.5 sub moveto ttwidth 10 div 0 rlineto 0 0 ttwidth 10 div ttheight 10 div ttrad 10 div roundbox gsave 0.33 setgray fill grestore % temp whitebox, gray top gsave newpath 0 0 moveto 0 ttheight 10 div 1.5 sub 0.5 sub rlineto ttwidth 10 div 0 rlineto 0 ttheight 10 div 1.5 sub 0.5 sub neg rlineto closepath white fill grestore [0.2 0 0.1 1] superstroke % 14 8 showgrid /cstretch 0.02 def /sstretch 0.02 def /font1 /Helvetica-Bold 0.85 gonzofont font1 white ttwidth 10 div 2 div ttheight 10 div 1.3 sub ttmsg cc black } def /makeroom {/ypos ypos ttheight sub yinc 0 mul sub def} def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /twobrain.cut {save /cutsnap exch def % name of textfile: PostScript to flutterwumper interface % ............................ electronics begin (POSTSCRIPT DRIVEN FLUTTERWUMPER) ttbox % bl -10 add bb -60 add 10 setgrid % 30 40 showgrid -0.5 -4.6 translate 0.75 dup scale /cstretch 0.015 def /sstretch 0.07 def /font1 /Helvetica 0.85 gonzofont /font2 /Helvetica-Bold 0.75 gonzofont % bold /font3 /Helvetica 0.75 gonzofont /yinc 0.85 def gsave 10 20 translate line1 5 6 mt 11 r [{5 5 mt 1 u} 0.5 23] xrpt line2 5 5 mt 5 u 11 r 5 d 11 l 1.5 [14 8 4 8 4 11 14 11] roundpath closepath gsave white fill grestore stroke font1 10.5 6.8 (PostScript laser printer) cc grestore %%%%%%%%%%%%%%%%%%% % stamp box gsave 0 2 translate line2 4 15.5 mt 4 r 4.5 u 4 l 4.5 d font1 6 18 (PIC Micro) cc grestore %%%%%%%%%%%%%%%%%%% % lasercomm line1 15 27.35 mt 10 l 2.15 d 6.5 r 4.2 d 3.5 l 4.5 26.7 mt darrow 15 27.6 mt 10.5 l 3.8 d 6.5 r 2.3 d 3 l 5 26.7 mt uarrow /box2.54 {gsave translate line1 0 0 mt 2.5 u 4 r 2.5 d 4 l grestore} def % flutter %%%%%%%%%%%% gsave 0 -5 translate line2 13 13 mt 13.5 u 15 r 13.5 d 15 l line1 8 25.5 mt 3 r 0.75 d 3 rx 8 25 mt 2.5 r 1.25 d 3.5 rx 8 24.5 mt 2 r 2.75 d 4 rx 8 24 mt 1.5 r 3.25 d 4.5 rx 8 23.5 mt 1 r 5.25 d 5 rx 8 23 mt 0.5 r 7.75 d 5.5 rx 11.4 15.25 mt larrow 12.3 18.25 mt rarrow 12.3 20.75 mt rarrow 12.3 21.75 mt rarrow 12.3 23.75 mt rarrow 12.3 24.75 mt rarrow [{14 14 box2.54} 3 4] yrpt font3 16 24.5 (x-axis stepper) cc 16 21.5(y-axis stepper) cc 16 18.5 (pen up/down) cc 16 15.5 (home sensor) cc /yinc 1.1 def /kern 0.1 def font1 23 24.6 (Custom vinyl cutter, wood|j routing, milling|k|k machine, animation stand, awards engraver, embroidery|j|j setup, circuit|j board|j drilling, Santa|k Claus|k machine, etc. etc. etc\274) cc grestore %%%%%%%%%%%% font3 8 13.8 11.7 add (task feedback) cc 8 12.3 11.8 add (task commands) cc 12.7 26.5 (serial port) cc font1 20.5 22.2 (HOMEBREW FLUTTERWUMPER) cc cutsnap restore makeroom } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%% /schmidtcut {save /cutsnap exch def cutsnap restore makeroom } def %%%%%%%%%%%%%%%%%%%%%%%%%%%% /vortexcut {save /cutsnap exch def cutsnap restore makeroom } def %%%%%%%%%%%%%%%%%%%%%%%%%%%% /hposccut {save /cutsnap exch def cutsnap restore makeroom } def %%%%%%%%%%%%%%%%%%%%%%%%%%%% /duracellcut {save /cutsnap exch def cutsnap restore makeroom } def %%%%%%%%%%%%%%%%%%%%%%%%%%%% /ne2cut {save /cutsnap exch def cutsnap restore makeroom } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /f1name (SOME |j|jMENTIONED |j|jRESOURCES) def /f2name (A |j|jTYPICAL |j|jTRAM |j|jTOWER) def /f3name (THE |j|jTRAM |j|jCAR |j|jOR |j|j"CARRIER") def /f2name (FIG 1 \320 RAW SCANNED IMAGE READY TO POST PROCESS) def /f3name (FIG 2 \320 BACKGROUND AND MAIN WIRE BODY CREATED) def /f4name (FIG 3 \320 BRAID COPIED AND ROOM MADE FOR NEW BRAID) def /f5name (FIG 4 \320 BRAID EDGE DETAILED AND RELETTERING BEGUN) def /f6name (FIG 5 \320 BACKGROUND EXTENDED AND BRAID COMPLETED) def /f7name (FIG 6 \320 SHIELD COPIED AND NEWLY STRANDED WIRES REPLACED) def /f8name (FIG 7 \320 NEW SHIELD REPOSITIONED AND KNOCKOUT FINISHED) def /f9name (FIG 8 \320 CROP, (ROTATE), (RESIZE), BRIGHTEN, SHARPEN, AND JPEG) def /s1name (No name used) def /pix1name { } def % for steplock /pix2name { } def /pix3name { } def /pix4name { } def %% patches for internet %%%% %%%%% TEMPORARY TINTER %%%% makes gray a blue tint error under .11 setgray /setgray {/gvalue exch store % .12360 = .11/.89 gvalue 0 eq {0 0 0 setrgbcolor} if gvalue 1 eq {1 1 1 setrgbcolor} if gvalue 0 gt gvalue 1 lt and {gvalue 1 gvalue sub 0.12360 mul sub dup 1 setrgbcolor} if } bind def %%%%%%%%%%%% BLAT WEB PATCHES %%%%%%%%%% % Beige tinter /setgray {dup 0.731 ge { 1 exch dup .41 mul .30 sub .11 div setrgbcolor} {.856 div dup 1.155 mul exch 1.155 div 0 setrgbcolor} ifelse} def /showgrays true store /boxgrays 0.94 def /leftfooter {save /footsnap exch def /colcheck {} def /font7 /Helvetica-Bold 9.5 gonzofont font7 trystone { /font7 /StoneSans-Bold 8.5 gonzofont} if font7 hdc cmb fdp sub pubname cc hdl cmb fdp sub issuename cl hdr cmb fdp sub blatnum (.) mergestr pagenum ( ) cvs mergestr cr /txtwide 1000 store /font3 /Helvetica 4.5 gonzofont font3 hdc cmb fdp sub 14 sub (Copyright c 2000 by Don Lancaster and Synergetics (928) 428-4073 www.tinaja.com \ All commercial rights and all electronic media rights fully reserved.) cc footsnap restore} def % right footer does the same for right pages; headers would work the same /rightfooter {save /footsnap exch def /colcheck {} def /font7 /Helvetica-Bold 9.5 gonzofont trystone { /font7 /StoneSans-Bold 8.5 gonzofont} if font7 hdc cmb fdp sub (Blatant |jOpportunist) cc hdr cmb fdp sub issuename cr hdl cmb fdp sub blatnum (.) mergestr pagenum ( ) cvs mergestr cl /txtwide 1000 store /font3 /Helvetica 4.5 gonzofont font3 hdc cmb fdp sub 14 sub (Copyright c 2000 by Don Lancaster and Synergetics (928) 428-4073 \ www.tinaja.com \ All commercial rights and all electronic media rights fully reserved.) cc footsnap restore} def % blatlogo here /blatlogo {save /blsave exch def translate 5 dup scale /cstretch .05 def /sstretch 0.7 def /font; /Revue [2.6 0 0 2.6 0 0] gonzofont /font: /Revue [5 0 0 6 0 0] gonzofont /kern -0.1 def 1 [10 0 0 0 0 9 20 9 20 0 10 0] roundpath gsave boxgrays setgray fill grestore [0.9 0 0.7 1 0.55 0] superinsidestroke gsave -0.45 0 translate 1 [25 0 20 0 20 9 30 9 30 0 25 0] roundpath gsave boxgrays setgray fill grestore [0.9 0 0.7 1 0.55 0] superinsidestroke grestore /yinc 3 def font; 10 5 (the |j|jblatant opportunist) cc font: 24.55 2 blatnum cc blsave restore} def %%%%%%%%%%%%%% end blatpatch %%%% TEMPORARY Gonzo patches - makes text gray for later colorize /graytocolor 0.33 def /fornet false def /blueon {fornet {mark graytocolor /setgray cvx ] cvx % printlist only printlist exch 3 index exch put exch 1 add exch}if} def /blueoff {mark 0 /setgray cvx ] cvx % printlist only printlist exch 3 index exch put exch 1 add exch} def /staygray {graytocolor setgray} def % permanant /stayblack {0 setcolor} def % permanant %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%% Blatant opportunist patches 6.0 %%%%%%%%%%%%%%%%%% % February 17, 1997 % Place at end of "A" file just before IXE /wanttouseustify % COLORIZING BLACK AND WHITE POSTSCRIPT MODULE % ==================================== midnightdoc begin /boxgrays 0.92 def % Gonzo character colorizer /blueon {mark /blue cvx 0.33 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /blueoff {mark /aqua cvx 0 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tinton {mark 0.33 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tinton1 {mark 0.25 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tinton1r {mark /red cvx 0.25 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tinton1a {mark /aqua cvx 0.25 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tintoff {mark 0 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /staytint {aqua 0.33 setgray} def /staytint1 {aqua 0.25 setgray} def /staytint1r {red 0.25 setgray} def /staytint1b {beige 0.25 setgray} def %%%%%%%%%%%%%% COMPACT VERSION OF COLORIZER II %%%%%%%%%%%%%%%%%%%%%% /settint {dup /currenttint exch store 5.999 mul dup floor cvi /&cbar exch store dup floor sub /&cwt exch store [ {/setgray [ /dup cvx 0.3 &cwt 0.59 mul add /ge cvx [1 /exch cvx &cwt 0.59 mul 0.30 add /sub cvx 1 &cwt sub 0.59 mul 0.11 add /div cvx /dup cvx 1 &cwt sub /mul cvx &cwt /add cvx /exch cvx ] cvx [ &cwt 0.59 mul 0.3 add /div cvx /dup cvx &cwt /mul cvx 0] cvx /ifelse cvx /setrgbcolor cvx] cvx /def cvx} {/setgray [/dup cvx 0.59 1 &cwt sub 0.3 mul add /ge cvx [1 &cwt sub 0.3 mul 0.59 add /sub cvx &cwt 0.3 mul 0.11 add /div cvx /dup cvx &cwt /mul cvx 1 &cwt sub /add cvx /exch cvx 1 /exch cvx] cvx [1 &cwt sub 0.3 mul 0.59 add /div cvx /dup cvx 1 &cwt sub /mul cvx /exch cvx 0] cvx /ifelse cvx /setrgbcolor cvx] cvx /def cvx} {/setgray [/dup cvx 0.59 &cwt 0.11 mul add /ge cvx [&cwt 0.11 mul 0.59 add /sub cvx 1 &cwt sub 0.11 mul 0.30 add /div cvx /dup cvx 1 &cwt sub /mul cvx &cwt /add cvx 1 /exch cvx] cvx [0 /exch cvx &cwt 0.11 mul 0.59 add /div cvx /dup cvx &cwt /mul cvx] cvx /ifelse cvx /setrgbcolor cvx] cvx /def cvx} {/setgray [/dup cvx 0.59 1 &cwt sub mul 0.11 add /ge cvx [1 &cwt sub 0.59 mul 0.11 add /sub cvx &cwt 0.59 mul 0.30 add /div cvx /dup cvx &cwt /mul cvx 1 &cwt sub /add cvx 1] cvx [0 /exch cvx 1 &cwt sub 0.59 mul 0.11 add /div cvx /dup cvx 1 &cwt sub /mul cvx /exch cvx] cvx /ifelse cvx /setrgbcolor cvx] cvx /def cvx} {/setgray [/dup cvx 0.11 &cwt 0.30 mul add /ge cvx[&cwt 0.30 mul 0.11 add /sub cvx 1 &cwt sub 0.30 mul 0.59 add /div cvx /dup cvx 1 &cwt sub /mul cvx &cwt /add cvx /exch cvx 1] cvx [ &cwt 0.30 mul 0.11 add /div cvx /dup cvx &cwt /mul cvx /exch cvx 0 /exch cvx ] cvx /ifelse cvx /setrgbcolor cvx ] cvx /def cvx} {/setgray [ /dup cvx 0.30 1 &cwt sub 0.11 mul add /ge cvx[ 1 /exch cvx 1 &cwt sub 0.11 mul 0.30 add /sub cvx &cwt 0.11 mul 0.59 add /div cvx /dup cvx &cwt /mul cvx 1 &cwt sub /add cvx ] cvx [ 1 &cwt sub 0.11 mul 0.30 add /div cvx /dup cvx 1 &cwt sub /mul cvx 0 /exch cvx] cvx /ifelse cvx /setrgbcolor cvx ] cvx /def cvx} ] &cbar get exec exec} bind def /beige {0.10 settint} def % examples of convenience operators /aqua {0.52 settint} def /blue {0.67 settint} def /lime {0.44 settint} def /red {0 settint} def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% aqua % normal for blat /leftfooter {save /footsnap exch def /colcheck {} def 0.33 setgray /font7 /Helvetica-Bold 9.5 gonzofont font7 trystone {/font7 /StoneSans-Bold 8.5 gonzofont} if font7 hdc cmb fdp sub pubname cc hdl cmb fdp sub issuename cl hdr cmb fdp sub blatnum (.) mergestr pagenum ( ) cvs mergestr cr /txtwide 1000 store /font3 /Helvetica 4.5 gonzofont font3 hdc cmb fdp sub 14 sub (Copyright c 2000 by Don Lancaster and Synergetics (928) 428-4073 www.tinaja.com \ All commercial rights and all electronic media rights fully reserved. Reposting expressly forbidden.) cc footsnap restore} def % right footer does the same for right pages; headers would work the same /rightfooter {save /footsnap exch def /colcheck {} def 0.33 setgray /font7 /Helvetica-Bold 9.5 gonzofont font7 trystone {/font7 /StoneSans-Bold 8.5 gonzofont} if font7 hdc cmb fdp sub (Blatant Opportunist) cc hdr cmb fdp sub issuename cr hdl cmb fdp sub blatnum (.) mergestr pagenum ( ) cvs mergestr cl /txtwide 1000 store /font3 /Helvetica 4.5 gonzofont font3 hdc cmb fdp sub 14 sub (Copyright c 2000 by Don Lancaster and Synergetics (928) 428-4073 \ www.tinaja.com \ All commercial rights and all electronic media rights fully reserved. Reposting expressly forbidden.) cc footsnap restore} def % blatlogo here /blatlogo {save /blsave exch def translate 5 dup scale /cstretch .05 def /sstretch 0.7 def /font; /Revue [2.6 0 0 2.6 0 0] gonzofont /font: /Revue [5 0 0 6 0 0] gonzofont /kern -0.1 def 1 [10 0 0 0 0 9 20 9 20 0 10 0] roundpath gsave boxgrays setgray fill grestore [0.9 0.33 0.7 1 0.55 0.33] superinsidestroke gsave -0.45 0 translate 1 [25 0 20 0 20 9 30 9 30 0 25 0] roundpath gsave boxgrays setgray fill grestore [0.9 0.33 0.7 1 0.55 0.33] superinsidestroke grestore /yinc 3 def font; 10 5 (the |j|jblatant opportunist) cc font: 24.55 2 blatnum cc blsave restore} def /titleblock { save /tbsnap exch def translate 0.33 setgray /ylimit -9999 def /txtwide 1000 def 340 10 yinc 2 add % temporary upshift mul 3 add blatlogo /cstretch 0.2 def /sstretch 0.2 def /font1 /Helvetica-Bold 11 gonzofont trystone {/font1 /StoneSans-Bold 11 gonzofont} if font1 412 102 yinc 2 mul add % temp upshift 5 sub (by Don Lancaster) cc /cstretch 0.05 def /sstretch 0.05 def /font2 /Helvetica-Bold 47 gonzofont trystone {/font2 /StoneSans-Bold [43.6 0 0 45 0 0 ] gonzofont} if font2 /yinc 50 def % temp for two %%% 0 87 18 sub 22 sub % 24 add % temp shift two lines 0 87 18 sub 22 sub 24 add % temp shift two lines when active %% THIS ONE WORKS 2 copy /tity exch store /titx exch store % for title tamper titlename cl { %%% tamper with title % 0.75 settint titx 59 add tity 47 add (|/tinton b) cl titx 115 add tity 49 add (|/tinton gg) cl 0.87 settint 0.50 setgray 6 setlinewidth 0 setlinecap titx 58 add tity 11 add mt 28 r titx 116 add tity 11 add mt 58 r } pop tbsnap restore } def /amacro {(zy0) stringmacro /ypos ypos ypara add def 0.33 setgray } def % start drop cap /bmacro {(iFy1) stringmacro /ypos ypos ypara add def black} def % finish drop cap /vrule {gsave 0.33 setgray newpath setlinewidth 2 index 4 2 roll moveto exch lineto 0.33 setgray stroke grestore} def % hrule gives a fixed horizontal rule, inputting ypos xstart xend linewidth /hrule {gsave 0.33 setgray newpath setlinewidth 1 index 4 2 roll moveto lineto 0.33 setgray stroke grestore} def /fullheader {save /hdrsnap exch def 0.33 setgray cml cmt 21 add moveto 2 setlinewidth hdw 0 rlineto stroke hdrsnap restore} def %%%%%%%%%%%%%%%%% % grayfig two has a title box (modified for reverse) /grayfig2 { /jsave justx 4 get def save /stdsnap exch def /colcheck {} def /figproc exch def cvx /figname exch def /showtitle exch def /showborder exch def 2 add % temp for blat 25 /figheight exch def 20 sub /figwidth exch def translate showborder {1 10 add 5 10.4 figheight 33 sub moveto figwidth 0.8 sub 0 rlineto figwidth 2 sub figheight 15 sub stdfigrad roundbox % gsave showboxgrays {0.94}{0} ifelse setgray fill grestore gsave 0.33 setgray fill grestore % temp gray box, white top gsave newpath 0 0 moveto 0 figheight 38 sub rlineto figwidth 2 sub 0 rlineto 0 figheight 38 sub neg rlineto closepath grayshade setgray fill grestore [2 0 1 1] superstroke } if /font7 /Helvetica-Bold 9 gonzofont trystone {/cstretch 0.5 store /font7 /StoneSans-Bold 9 gonzofont} if font7 showtitle {white figwidth 2 div figheight 31 sub font7 figname cc black} if /bw figwidth def /bt figheight def /bl 0 def /bb 0 def /bc figwidth 2 div def /xpos 20 def /ypos bt 20 sub def /cstretch 0 def /sstretch 0 def /lastlinestretch 0 def /pmrun 0 def /ypara 0 def /linestring linestring2 def % needed to run interference 3 1 roll translate dup scale mark figproc cvx exec cleartomark stdsnap restore justx 4 jsave put } def %%%% grayfig2i is experimental for clipped? images /grayfig2i { /jsave justx 4 get def % hold current justify mode save /stdsnap exch def % save and snap /colcheck {} def % no main column changes /figproc exch def % save figure proc and name cvx /figname exch def /showtitle exch def % save show booleans /showborder exch def 2 add /figheight exch def % adjust and save size 20 sub /figwidth exch def translate % position on page showborder { % start conditional border 1 10 add 5 10.4 figheight 33 sub moveto figwidth 0.8 sub 0 rlineto figwidth 2 sub figheight 15 sub stdfigrad roundbox % gsave showboxgrays {0.94}{0} ifelse setgray fill grestore gsave 0.12 settint 0.33 setgray fill grestore % temp gray box, white top gsave newpath 0 0 moveto 0 figheight 38 sub rlineto figwidth 2 sub 0 rlineto 0 figheight 38 sub neg rlineto closepath grayshade pop 1 setgray fill grestore gsave clip [2 0 1 1] superstroke } if /font7 /Helvetica-Bold 9 gonzofont trystone {/cstretch 0.5 store /font7 /StoneSans-Bold 9 gonzofont} if font7 showtitle {white figwidth 2 div figheight 31 sub font7 figname cc black} if /bw figwidth def /bt figheight def /bl 0 def /bb 0 def /bc figwidth 2 div def /xpos 20 def /ypos bt 20 sub def /cstretch 0 def /sstretch 0 def /lastlinestretch 0 def /pmrun 0 def /ypara 0 def /linestring linestring2 def % needed to run interference 3 1 roll translate dup scale mark figproc cvx exec cleartomark grestore [2 0 1 1] superstroke % warning: should be conditional stdsnap restore justx 4 jsave put } def /grayshade 0.92 def % %%%ZZZZ%%%%%%%%%%%%%% URL PATCHES %%%%%%%%%%%%%%%%%%%%%%%%%%%% % patch definitions... % dictionary method << /arcata (http://www.arcatapet.com/imgv32.html) /cab04 (http://www.tinaja.com/images/bargs/cab04.bmp) /hp (http://www.hp.com) /figbm1 (http://www.tinaja.com/images/bargs/cab4-01a.bmp) /figbm2 (http://www.tinaja.com/images/bargs/cab4-01b.bmp) /figbm3 (http://www.tinaja.com/images/bargs/cab4-01c.bmp) /figbm4 (http://www.tinaja.com/images/bargs/cab4-01d.bmp) /figbm5 (http://www.tinaja.com/images/bargs/cab4-01e.bmp) /figbm6 (http://www.tinaja.com/images/bargs/cab4-01f.bmp) /figbm7 (http://www.tinaja.com/images/bargs/cab4-01g.bmp) /figbm8 (http://www.tinaja.com/images/bargs/cab4-01h.bmp) /blatsc (http://www.tinaja.com/glib/stepprep.psl) /tektronix (http://www.tektronix.com) /agilent (http://www.agilent.com) /fluke (http://www.fluke.com) /wavetek (http://www.acterna.com) /ifr (http://www.ifrsys.com) /genrad (http://www.genrad.com) /bandk (http://www.bkprecision.com) /simpson (http://www.simpsonelectric.com) /sencore (http://www.sencore.com) /triplett (http://www.triplett.com) /eico (http://users.erols.com/fiddler.interport/EICO.HTM) /heath (http://www.heathkit-museum.com) /boatanchor (http://www.dealamerica.com/deal/cgi-bin/ads/bcads.cgi) /esi (http://www.esi.com) /tec (http://www.testequipmentconnection.com) /nsn (http://www.usainfo.com) /surplusbid (http://www.surplusbid.com) /levy (http://www.levylatham.com) /govliq (http://www.govliquidation.com) /tucker (http://www.tucker.com) /testequity (http://www.testequity.com) /mhzelectronics (http://www.mhzelectronics.com) /fairradio (http://www.fairradio.com) /google (http://www.google.com) /ng1 (news:///sci.electronics.equipment) /ng2 (news:///sci.electronics.repair) /uhaul (http://www.uhaul.com) /drmo (http://www.drms.com) /hamfest (http://www.arrl.org/hamfests.html) /auctadvisory (http://www.auctionadvisory.com) /ups (http://www.ups.com) /lambda(http://www.lambdapower.com) /collins (http://www.collinsradio.org) /porter (mailto:lporter1@flash.net) /tannebaum (http://www.agtannenbaum.com) /manualman (http://www.manualman.com) /manplus (http://www.manualsplus.com) /nist (http://www.nist.gov) /rochester (http://www.rocelec.com) /luke (http://www.lukechips.com) /eei (http://www.expediters.com) /griffiths (http://www.reprise.com/ash/clients2/default.asp) /deanek (mailto:dektyr@teleport.com) /superior (http://www.superiorelectric.com) /chipcenter (http://www.chipcenter.com) /stegan (http://www.tinaja.com/amlink01.asp) {{{ }}} pop /gamewell (http://www.gamewell.com) /bentley (http://www.bentleypublishers.com) /radioshack (http://www.radioshack.com) /barro (http://www.tinaja.com/barro.jpg) /barrox (http://www.tinaja.com/barrox.jpg) /napali (http://www.topozone.com/map.asp?z=4&n=2455469&e=436636&s=25&size=1) /eac (http://www.eac.cc.az.us) /paia (http://www.paia.com) /signetics (http://www.signetics.com) /kartchner (http://www.pr.state.az.us/parkhtml/kartchner.html) /nss (http://www.caves.org) /pulaski (http://www.wildfire-equipment.com/WildfireMain.html) /nahs (http://www.nallegheny.k12.pa.us) /asu (http://www.asu.edu) /stats (http://www.tinaja.com/users/month.htm) /ti (http://www.ti.com) /lehigh (http://www.lehigh.edu) /allen (http://www.allenorgan.com) /lafayette (http://www.lafayette.edu) /bostcomp (http://www.tcm.org) /dvorak (http://www.dvorak.org) /buhl (http://www.planetarium.cc) /whole (http://www.wholeearthmag.com) /active(http://www.amazon.com/exec/obidos/ISBN=075062986X/donlancastersgurA) /enhance1(http://www.amazon.com/exec/obidos/ISBN=0672218224/donlancastersgurA) /cheap1(http://www.amazon.com/exec/obidos/ISBN=0672215241/donlancastersgurA) /cheap(http://www.amazon.com/exec/obidos/ISBN=0672215241/donlancastersgurA) /soncheap(http://www.amazon.com/exec/obidos/ISBN=0672217236/donlancastersgurA) /tvt(http://www.amazon.com/exec/obidos/ISBN=0672213133/donlancastersgurA) /micro1(http://www.amazon.com/exec/obidos/ISBN=0672218283/donlancastersgurA) /applewriter(http://www.amazon.com/exec/obidos/ISBN=0672224607/donlancastersgurA) /assy(http://www.amazon.com/exec/obidos/ISBN=0672223317/donlancastersgurA) /enhance1(http://www.amazon.com/exec/obidos/ISBN=0672218224/donlancastersgurA) /ttl(http://www.amazon.com/exec/obidos/ISBN=0672210355/donlancastersgurA) /cmos(http://www.amazon.com/exec/obidos/ISBN=0750699434/donlancastersgurA) /active(http://www.amazon.com/exec/obidos/ISBN=075062986X/donlancastersgurA) /rtl(http://www.amazon.com/exec/obidos/ISBN=067220715X/donlancastersgurA) /ismm(http://www.amazon.com/exec/obidos/ISBN=1882193652/donlancastersgurA) /smallbeaut(http://www.amazon.com/exec/obidos/ISBN=0881791695/donlancastersgurA) /fuller(http://www.amazon.com/exec/obidos/ISBN=0020653204/donlancastersgurA) /wqed (http://www.wqed.org) /pannier (http://www.pannier.com) /carnegie (http://www.cmu.edu) /ccell (http://www.circuitcellar.com/guru) /ebay (http://cgi6.ebay.com/aw-cgi/eBayISAPI.dll?ViewListedItems&userid=abeja&include=0&since=-1&sort=2) /stats (http://www.tinaja.com/users/month.htm) /drhtml (http://www2.imagiware.com/RxHTML) /ourfav (http://www.tinaja.com/favicon.ico) /favicon (http://www.favicon.com) /mostpop (http://www.tinaja.com/#sampler) /banndata (http://www.tinaja.com/banners/banndatax.txt) /deja (http://groups.google.com) /colors (http://www.htmlhelp.com/icon/hexchart.gif) /w3org (http://www.w3.org/Graphics/SVG/Overview.htm8) /iisplugin (http://www.adobe.com/support/downloads/8122.htm) /ngjava (news://comp.lang.javascript) /iis (news://microsoft.public.inet.server.iis) /auctbut (http://cgi6.ebay.com/aw-cgi/ebayISAPI.dll?ViewListedItemsLinkBUttons&userid=abeja) /drmobut (http://www.drms.dla.mil/newsales/html/drms_property.html#placeabid) /adobe (http://www.adobe.com) /auctionadvmag (http://www.auctionadvisory.com) /ebay (http://www.ebay.com) /ebaymag (http://www.krause.com) /ipswitch (http://www.ipswitch.com) /levylat (http://www.levylatham.com) /tec (http://www.4testequipment.com) /webtrends (http://www.webtrends.com) /imag1 (http://www.tinaja.com/images/bargs/lumin1.jpg) /imag2 (http://www.tinaja.com/images/bargs/thermoc1.jpg) /imag3 (http://www.tinaja.com/images/bargs/noisegn1.jpg) /imag4 (http://www.tinaja.com/images/bargs/casio1.jpg) /imag5 (http://www.tinaja.com/images/bargs/punchdn1.jpg) /deja (http;//2www.dejanews.com/home_ps.shtnl) /whois (http://2www.dejanews.com/home_ps.shtnl) /whowhere (http://www.whowhere.com) /bigfoot (http://www.bigfoot.com) /infospace (http://www.infospace.com) /mapquest (http://www.mapquest.com) /mapsonus (http://www.MapsOnUs.com) /aerial (http://terraserver.microsoft.com) /postvect (http://www.tinaja.com/psutils/postvect) /levyl (http://www.levylatham.com) /auct (http://www.auctionadvisory.com) /ebay (http://www.ebay.com) /teconn (http://www.4testequipment.com) /keely (http://www.keelynet.com) /oxbridge (http://www.mediafinder.com) /arrl (http://www.arrl.com/field/hamfests) /vartel(http://www.vartel.com/hamfest.htm) /sww (http://www.auctionsww.com/results/surplus.htm) /onsale(http://www.onsale.com) /ng1 (news:///sci.electronics.equipment) /ng2 (news:///sci.electronics.repair) /drms1 (http://www.drms.com/catalog/Catsite.html) /drms2 (http://www.drms.dla.mil/national/abstracts/indexabt.html) /drms3 (http://www.drms.dla.mil/newsales/html/bid_results.html) /drms4 (http://www.drms.dla.mil/htbin/drmsrch?Z11=0) /drms5 (http://www.drms.dla.mil/) /uwb (http://www.uwb.org) /ulab (http://commsci.usc.edu/ulab/links.html) /timed (http://www.time-domain.com) /boston (http://cuprum.chem.umn.edu/boston98.html) /eecs (http://www-eecs.mit.edu/AY96-97/events/19.html) /questlink(http://www.questlink.com) /nts (http://www.nts.mh.se/~johma/psd) /whidbey (http://ww2.whidbey.net/optoinfo/LED_FAQ.html) /spie (http://www.spie.org) /bap (http://positron.aps.org/BAPSMAR98/abs/S1690007.html) /aachen (http://www.rwth-aachen.de/isea/Ww/texte/abstract/ka_vrla.html) /tefbbs (http://www.tefbbs.com/spacetime/index.htm) /dnai (http://www.dnai.com/~jfox) /forum (http://www.dejanews.com/group/dejanews.members.tech.tinaja.gurus-lair) /xx1 (http://www.tinaja.com/glib/bannyear.pdf) /xx2 (http://www.tinaja.com/glib/bwhistle.pdf) /xx3 (http://www.tinaja.com/psutils/graburls.ps) /xx4 (http://www.tinaja.com/text/reflog1.html) /xx5 (http://www.tinaja.com/text/refsum1.html) /xx6 (http://www.tinaja.com/glib/muse116.pdf) /xx7 (http://www.tinaja.com/glib/muse124.pdf) /xx8 (http://www.tinaja.com/glib/pdflink.pdf) /xx9 (http://www.tinaja.com/glib/weaveweb.pdf) /xx10 (http://www.tinaja.com/psutils/weberru2.ps) /xx11 (http://www.tinaja.com/psutils/weblogu2.ps) /xx12 (http://www.tinaja.com/psutils/websitan.ps) >> {mark exch/eurl cvx ] cvx def} forall /specialpj {(http://www.tinaja.com/glib/picojust.pdf) eurl} def % picojust not allowed as gonzo variagle /maildon {(mailto:don@tinaja.com) eurl } def /tinaja {(http://www.tinaja.com) eurl } def /consult {(http://www.tinaja.com/consul01.html) eurl} def /netscape {(http://www.netscape.com) eurl } def /adobe {(http://www.adobe.com) eurl } def /parallax {(http://www.parallaxinc.com) eurl } def /coriolis {(http://www.coriolis.com) eurl } def /hottalk {(mailto:hottalk@printer-net) eurl } def /adobe1 {(http://www.adobe.com/supportservices/devrelations/technotes.html) eurl} def /tn5150 {( http://www.adobe.com/suportservice/devrelations/PDFS/TN5150.PDFMARK.PDF) eurl} def /gonzo {(http://www.tinaja.com/psutils/gonzo.ps) eurl} def /muse {(http://www.tinaja.com/muse01.html) eurl} def /m135p {(http://www.tinaja.com/glib/muse135.psl) eurl} def /graburls {(http://www.tinaja.com/psutils/graburls.ps) eurl} def /linkpdf {(http://www.tinaja.com/linkpdf1.html) eurl} def /rxhtml {(http://www2.imagiware.com/RxHTML) eurl} def /n1 {(news://sci.electronics.design) eurl} def /n2 {(news://sci.electronics.misc) eurl} def /hotbot {(http://www.hotbot.com) eurl} def /alta {(http://www.digital.altavista.com) eurl} def /xp {(www.dejanews.com/rg_mkgrp.xp) eurl} def /ifilter {(http://www.adobe.com/prodindex/acrobat/ifilter.html)eurl} def /srchpdf {(http://www.tinaja.com/text/srchpdf.html) eurl} def /redirect {(http://www.tinaja.com/text/redirect.html) eurl} def /hack73 {(http://www.tinaja.com/glib/hack73.pdf) eurl} def /hacklib {(http://www.tinaja.com/hack01.html) eurl} def /magic {(http://www.tinaja.com/magsin01.html) eurl} def /fourier {(http://www.tinaja.com/psutils/fourier.ps) eurl} def /zeroharm {(http://www.tinaja.com/psutils/zeroharm.ps) eurl} def /sincat210 {(http://www.tinaja.com/sn210cat.ps) eurl} def % power method... yyyyyyyyy /setglib {mark (http://www.tinaja.com/glib/) 2 index 20 string cvs mergestr (.pdf) mergestr /eurl cvx ] cvx def} def /setpost {mark (http://www.tinaja.com/psutils/) 2 index 20 string cvs mergestr (.ps) mergestr /eurl cvx ] cvx def} def /sethtml {mark (http://www.tinaja.com/) 2 index 20 string cvs mergestr (.asp) mergestr /eurl cvx ] cvx def} def /setweb {mark (http://www.) 2 index 20 string cvs mergestr (.com) mergestr /eurl cvx ] cvx def} def /magicsin {/msinprop} def /parallax {/parallaxinc} def [ /when2pat /patnthor /msinprop /magicsin /nuts08 /hack35 /gramtram /muse116 /nonlingr /myebays /ebayphen /hack84 /muse112 /muse113 /colorizd2 /spotcolr /urlindoc /emergop1 /emergop5 /resbn63 /muse135 /muse120 /muse131 /resbn88 /contests /muse115 /muse137 /infopack /hack64 /hack68 /resbn37 /resbn18 /stezine /ebayphen /resbn26 /hack47 /hack68 /hack60 /hack69 /newsgrp /bwhistle /elesimp /resbn80 /resbn91 /resbn82 /resbn73 /resbn87 /imagimag /muse90 /muse151 /waywere /imagimag /hack71 /hack73 /hack76 /resbn19 /acrocat /twenty47 /muse139 /muse115 /muse116 /bannyear /advetorl /resbn81 /infopack /postjust ] {setglib} forall [ /magsn01 /patnt01 /blat01 /h2gas01 /capvid01 /whtnu01 /auct01 /aafont01 /ismm01 /bod01 /synlib01 /muse01 /pseudo01 /post01 /libry01 /consul01 /weblib01 /patnt01 /post01 /info01 /acrob01 /b /advt01 /info01 /dntkwb01 /beewb01 /hack01 /flut01 /webwb01 /tinaja /barg01 /blat01 /barg01 /hack01 /linkpdf1 /psweb01 /amlink01 /resbn01 /blat01 /webwb01 /amlink01 /map01 /guru01 /tinaja01 ] {sethtml} forall % now asp [/colorizd2 /websitan /acatdata /catwords /coloriz2 /catools1] {setpost} forall [ /parallaxinc /mediafinder /hotbot /patent.womplex.ibm /amazon /digital.altavista ] {setweb} forall /lindsay {(http://www.keynet.net/~lindsay) eurl} def /resch {(http://www.wp.com/resch/search.html) eurl} def /redirect {(http://www.tinaja.com/text/redirect.html) eurl} def /websitan {(http://www.tinaja.com/psutils/websitan.ps) eurl} def /bannlast {(http://www.tinaja.com/text/bannlast.html) eurl} def /byternge {(http://www.tinaja.com/text/byternge.html) eurl} def %%%%%% << /billb (http://www.eskimo.com~billb) /billbfe (http://www.eskimo.com/~bilb/freenrgl/fnrg) /randi (http://www.randi.org/jr/pigasus.html) /skeptic (http://www.csicop.org) >> {mark exch /eurl cvx ] cvx def} forall /bigfoot {(http://www.bigfoot.com) eurl} def /drebes {(http://www.drebes.com) eurl} def /infospace {(http://www.infospace.com) eurl} def /factsheet5 {(http://www.factsheet5.com) eurl} def /watch {(http://www.searchenginewatch.com) eurl} def /scieldes {(news:sci.electronics.design) eurl} def /quest {(http://www.questlink.com) eurl} def /acronews {(news:comp.text.pdf) eurl} def /acroread {(http://www.adobe.com/prodindex/acrobat/readstep.html) eurl} def /alta {(http://www.altavista.digital.com) eurl} def /dominis {(http://www.dominis.com/Zines) eurl} def /ejournal {(http://www.edoc.com/ejournal) eurl} def /parallax {(http://www.parallaxinc.com) eurl} def /homeart {(http://www.homearts.com/affil/ahi/main/ahihome.htm) eurl} def /amazon {(http://www.amazon.com) eurl} def /meer {(http://www.meer.net/~johnl/e-zine-list) eurl} def /scweb01 {(http://www.tinaja.com/scweb01.html) eurl} def /blackrange {(http://www.zianet.com/blackrange/lodge.html) eurl} def /blond {(http://www.winn.com/pwinn/humor/index/html) eurl} def /trader {(http://www.traderonline.com) eurl} def /cowmoo {(http://www.qtm.net/~geibdan/framest.html) eurl} def /subgen {(http://sunsite/unc.edu/subegnius) eurl} def /c2000 {(http://www.classifieds2000.com) eurl} def /dilbert {(http://www.unitedmedia.com/comics/dilbert) eurl} def /tinaja {(http://www.tinaja.com) eurl} def /medweb {(http://www.gen.emory.edu/medweb) eurl} def /factsheet {(http://www.well.com/conf/f5/f5index2.html) eurl} def /fmfind {(http://wmbr.mit.edu/stations/locate.html) eurl} def /four11 {(http://www.Four11.com) eurl} def /freecat {(http://catalog.savvy.com) eurl} def /freenrg {(http://www.eskimo.com/~bilb/freenrg/frng) eurl} def /healthy {(http://www.healthy.net) eurl} def /bentley {(http://www.bentleysauction.com) eurl} def /eeweb01 {(http://www.tinaja.com/eeweb01.html) eurl} def /hotbot {(http://www.hotbot.com) eurl} def /infer {(http://www.inference.com/infind) eurl} def /info01 {(http://www.tinaja.com/info01.asp) eurl} def /persian {(http://www.persiankitty.com) eurl} def /ccodes {(http://www.Four11.com/cgi-bin/Four11Main?Country) eurl} def /thelist {(http://thelist.iworld.com) eurl} def /keelynet {(http://www.keelynet.com) eurl} def /jobs {(http://www.datamation.com/PlugIn/jobs/jobs.html) eurl} def /kelly {(http://www.kbb.com) eurl} def /lindsay {(http://www.keynet.net/~lindsay) eurl} def /lookup {(http://www.lookupusa.com) eurl} def /bell800 {(http://att.net/dir800) eurl} def /mapquest {(http://www.mapquest.com) eurl} def /faq {(http://www.faqlib.com) eurl} def /pic500 {(http://www.tinaja.com/pic500) eurl} def /wpsearch {(http://www.wp.com/resch/search.htm) eurl} def /microchip {(http://www.microchip.com) eurl} def /mohotta {(http://www.mohotta.com) eurl} def /acrob01 {(http://www.tinaja.com/acrob01.asp) eurl} def /movie {(http://us.imdb.com) eurl} def /booksol {(http://www.cs.cmu.edu/books.html) eurl} def /oxbridge {(http://www.mediafinder.com) eurl} def /paml {(http://www.NeoSoft.com/internet/paml/byname.html) eurl} def /patent {(http://patent.womplex.ibm.com) eurl} def /elements {(http://www2.shef.ac.uk/~chem?web-elements) eurl} def /picup01 {(http://www.tinaja.com/picup01.html) eurl} def /yahoo {(http://www.yahoo.com/bin/top2?122.25) eurl} def /azstream {(http://wwwdaztcn.wr.usgs.gov/rt-cgi/gen_tbl_pg) eurl} def /saucer {(http://www.mcs.com/~kvg/smear.htm) eurl} def /scott {(http://www.seetron.com) eurl} def /billb {(http://www.eskimo.com/~billb) eurl} def /shepard {(http://home.att.net/~dennis.shepard) eurl} def /barg01 {(http://www.tinaja.com/barg01.asp) eurl} def /switchboard{(http://www.switchboard.com/) eurl} def /techweb {(http://techweb.cmp.com/eet/docs) eurl} def /govsurp {(http://131.87.1.51) eurl} def /zipcode {(http://www.usps.gov/ncsc) eurl} def /vanagon {(mailto:Vanagon@gerry.sdsc.edu) eurl} def /wsrn {(http://wsrn.com) eurl} def /launch {(http://www2com.com/~upfront/launch) eurl} def /webann {(http://www.ep.com/faq/webannounce.html) eurl} def /whois {(http://www.internic.net/cgi-bin/whois) eurl} def /internic {(http://www.internic.net) eurl} def /weblib01 {(http://www.tinaja.com/weblib01.html) eurl} def /whowhere {(http://www.whowhere.com) eurl} def /deja {(http://www.dejanews.com/home_ps.shtml) eurl} def /newslist {(http://www.tinaja.com/text/newslist.html) eurl} def /thomas {(http://www.thomasregister.com/index.html) eurl} def /selfref {(http://www.tinaja.com/glib/resbn71.pdf) eurl} def % This code locks pdfmark commands out of a PostScript printer. /pdfmark where {pop}{userdict /pdfmark /cleartomark load put} ifelse % /surl "start url" marks the beginning of a text sequence to be urled. % It also paints the text blue... /surl {mark /blue cvx 0.33 /setgray cvx % change text to blue /currentpoint cvx % remember box start /urly /exch cvx /store cvx /urlx /exch cvx /store cvx ] cvx % complete deferred command printlist exch 3 index exch put % stuff into gonzo printlist exch 1 add exch % increment gonzo list count } def % /eurl "end url" unmarks the end of a text sequence and sets up % the pdfmark needed to define the Acrobat web link. /eurl {mark % start deferred proc exch % position url string /aqua cvx 0 /setgray cvx % turn blue marker off /makeurl cvx % defer call of url builder ] cvx % complete deferred proc printlist exch 3 index exch % stuff into gonzo printlist put exch 1 add exch % increment gonzo list count } def % /makeurl generates the pdfmark, receiving a {(urlstring) makeurl}. % Note that it is not called until formatted printlist time... /urlover 0.2 def % fraction of hot area over bounds /makeurl { /cururlname exch store % save the url string mark % start pdfmark currentfont /ScaleMatrix get 3 get /fsize exch store % guess height /Rect [ urlx fsize urlover mul sub % set box left x urly fsize urlover mul sub % set box left y currentpoint exch fsize urlover mul add exch fsize add ] /Border [ 0 0 0] % [0 0 0 ] = none; [0 0 2] = debug /Color [ .7 0 0 ] /Action <> /Subtype /Link /ANN % annotation type pdfmark % call pdf operators } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /wanttousepicojustify true def % this globally turns picojust on or off %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wanttousepicojustify false 40 array dictstack {/^picoset known or} forall not and { % FILL JUSTIFICATION IMPROVER version 3.0, November 3, 1994. c 1994 by % Don Lancaster & Synergetics (602) 428-4073. [support on GEnie PSRT] % Personal use premitted; All commercial & media rights fully reserved. % Install this where it will redefine all print time uses of % the -awidthshow- operator. Use picojust true or false to control. /picoflag true def % selective availability switch /picofract 0.5 def % percentage of excess space to be internalized /picothresh 0.03 def % percentage/100 increment per font change /picomax 0.15 def % percentage/100 max stretch (limits fat chars) /^picoset true def % job multiple def lockout /picojust {/picoflag exch store} def % use for local turn on or off /awidthshow {1 index 4 index 6 index add add 32 eq not picoflag not or {//awidthshow}{/^msg exch store pop /^cst exch store pop pop /^sst exch store /^cct ^msg length store /^rwd ^msg stringwidth pop store /^sct 0 ^msg {( ) search {pop pop exch 1 add exch}{pop exit} ifelse} loop store /^jwd ^cct ^cst mul ^sct ^sst mul add store /^saj ^jwd dup ^rwd add dup 0 eq {pop 0.0001} if div picothresh div floor picothresh mul picofract 1.33 mul mul dup picomax ge {pop picomax} if 1 add store gsave ^saj 1 scale /^rft 1 ^saj 1 sub ^rwd mul ^jwd dup 0 eq {pop 0.0001} if div sub ^saj div store ^sst ^rft mul 0 32 ^cst ^rft mul 0 ^msg //awidthshow grestore ^jwd ^rwd add 0 rmoveto} ifelse} bind def} if %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % /.ep0 {} def /.ep1 {} def % blat45 $650 patent %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /wanttousepicojustify false def % this globally turns picojust on or off %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wanttousepicojustify false 40 array dictstack {/^picoset known or} forall not and { % FILL JUSTIFICATION IMPROVER version 3.0, November 3, 1994. c 1994 by % Don Lancaster & Synergetics (602) 428-4073. [support on GEnie PSRT] % Personal use premitted; All commercial & media rights fully reserved. % Install this where it will redefine all print time uses of % the -awidthshow- operator. Use picojust true or false to control. /picoflag true def % selective availability switch /picofract 0.5 def % percentage of excess space to be internalized /picothresh 0.03 def % percentage/100 increment per font change /picomax 0.15 def % percentage/100 max stretch (limits fat chars) /^picoset true def % job multiple def lockout /picojust {/picoflag exch store} def % use for local turn on or off /awidthshow {1 index 4 index 6 index add add 32 eq not picoflag not or {//awidthshow}{/^msg exch store pop /^cst exch store pop pop /^sst exch store /^cct ^msg length store /^rwd ^msg stringwidth pop store /^sct 0 ^msg {( ) search {pop pop exch 1 add exch}{pop exit} ifelse} loop store /^jwd ^cct ^cst mul ^sct ^sst mul add store /^saj ^jwd dup ^rwd add dup 0 eq {pop 0.0001} if div picothresh div floor picothresh mul picofract 1.33 mul mul dup picomax ge {pop picomax} if 1 add store gsave ^saj 1 scale /^rft 1 ^saj 1 sub ^rwd mul ^jwd dup 0 eq {pop 0.0001} if div sub ^saj div store ^sst ^rft mul 0 32 ^cst ^rft mul 0 ^msg //awidthshow grestore ^jwd ^rwd add 0 rmoveto} ifelse} bind def} if %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /activatemenu { %%%% ONLINE LINKER %%%%% %%%%% Module to insert eight pdf menu options .... % Place after |x but before last showpage % work out an HTML like PDF response /button { makeurlx % make box shaped url gsave beige % settint % 0.13 settint % try slight shift xpos ypos 0.9 sub translate 0.1 dup scale 0 0 mt 28 pu 28 pr 28 pd closepath 0.85 setgray fill 0 0 mt 0 28 pu 4 -4 rlineto 20 pd 20 pr 4 -4 rlineto closepath 0.5 setgray fill 0 28 mt 28 pr 28 pd -4 4 rlineto 20 pu 20 pl closepath 0.65 setgray fill 8 8 mt 12 pu 13 -6 rlineto closepath 0.33 setgray fill grestore xpos ypos mt } def % This code locks pdfmark commands out of a PostScript printer. /pdfmark where {pop}{userdict /pdfmark /cleartomark load put} ifelse % /surl "start url" marks the beginning of a text sequence to be urled. % It also paints the text blue... /surl {mark /blue cvx 0.33 /setgray cvx % change text to blue /currentpoint cvx % remember box start /urly /exch cvx /store cvx /urlx /exch cvx /store cvx ] cvx % complete deferred command printlist exch 3 index exch put % stuff into gonzo printlist exch 1 add exch % increment gonzo list count } def % /eurl "end url" unmarks the end of a text sequence and sets up % the pdfmark needed to define the Acrobat web link. /eurl {mark % start deferred proc exch % position url string /black cvx 0 /setgray cvx % turn blue marker off /makeurl cvx % defer call of url builder ] cvx % complete deferred proc printlist exch 3 index exch % stuff into gonzo printlist put exch 1 add exch % increment gonzo list count } def % /makeurl generates the pdfmark, receiving a {(urlstring) makeurl}. % Note that it is not called until formatted printlist time... /urlover 0.2 def % fraction of hot area over bounds /makeurl { /cururlname exch store % save the url string mark % start pdfmark currentfont /ScaleMatrix get 3 get /fsize exch store % guess height /Rect [ urlx fsize urlover mul sub % set box left x urly fsize urlover mul sub % set box left y currentpoint exch fsize urlover mul add exch fsize add ] /Border [ 0 0 0] % [0 0 0 ] = none; [0 0 2] = debug /Color [ .7 0 0 ] /Action <> /Subtype /Link /ANN % annotation type pdfmark % call pdf operators } def % /makeurlx generates the box specific pdfmark, receiving % a {(urlstring) makeurl}. % Note that it is not called until formatted printlist time... /makeurlx { /cururlnamex exch store % save the url string mark % start pdfmark /Rect [ xpos % set box left x ypos 0.9 sub % set box left y xpos 2.8 add % box right x ypos 0.9 sub 2.8 add % box right y ] /Border [ 0 0 0] % [0 0 0 ] = none; [0 0 2] = debug /Color [ .7 0 0 ] /Action <> /Subtype /Link /ANN % annotation type pdfmark % call pdf operators } def % text link specific data /syncat01 {(http://www.tinaja.com/glib/syncat01.pdf) eurl} def /ismm01 {(http://www.tinaja.com/ismm01.asp) eurl} def /amlink01 {(http://www.tinaja.com/amlink01.asp) eurl} def /tinaja01 {(http://www.tinaja.com/tinaja01.asp) eurl} def /info01 {(http://www.tinaja.com/info01.asp) eurl} def /barg01 {(http://www.tinaja.com/barg01.asp) eurl} def /advt01 {(http://www.tinaja.com/advt01.asp) eurl} def /maildon {(mailto:don@.tinaja.com) eurl} def % button link specific data /syncat01x {(http://www.tinaja.com/glib/syncat01.pdf) button} def /ismm01x {(http://www.tinaja.com/ismm01.asp) button} def /libry01x {(http://www.tinaja.com/libry01.asp) button} def /amlink01x {(http://www.tinaja.com/amlink01.asp) button} def /tinaja01x {(http://www.tinaja.com/tinaja01.asp) button} def /info01x {(http://www.tinaja.com/info01.asp) button} def /barg01x {(http://www.tinaja.com/barg01.asp) button} def /advt01x {(http://www.tinaja.com/advt01.asp) button} def /maildonx {(mailto:don@.tinaja.com) button} def /menu8v {gsave translate save /dosnap exch def /beige {0.10 settint} def 0.12 settint % force beige 0.5 setgray black /ybot -9999 def /ylimit -9999 def font3 font0 0 0 10 setgrid % 50 50 showgrid /cstretch 0.015 def /sstretch 0.015 def /font0 /Revue 1.2 gonzofont /font0 /StoneSans-Bold 1 gonzofont /font1 /StoneSans-Bold 1 gonzofont /font3 /Helvetica-Bold 3 gonzofont /kern 0.1 def 0 0 23 1 add 30 3.2 add 1 roundbox % clip gsave beige 0.33 setgray fill % gsave % 0 27 mt 3 pu 50 pr 3 pd closepath 0.33 setgray fill % grestore % 0.33 setgray stroke white font3 /cstretch 0.1 def 12.5 31.8 (|0PLEASE |j|jCLICK |j|jHERE |j|jTO\274 ) cc /cstretch 0.015 def 0.5 1.2 23 30 0.8 roundbox 0.75 setgray fill % /yinc 3.5 def black font1 3.2 12.1 14.8 add (|/libry01x |1 Go to the |/surl main library |/libry01 ) cl 3.2 8.7 14.8 add (|/ismm01x |1 Start your |/surl tech venture|/ismm01 ) cl 3.2 5.3 14.8 add (|/advt01x |1 Sponsor a display |/surl banner|/advt01 ) cl 3.2 1.9 14.8 add (|/info01x |1 Find |/surl research|/info01 solutions) cl 3.2 12.1 (|/maildonx |1 Send Don Lancaster |/surl email|/maildon ) cl 3.2 8.7 (|/barg01x |1 Pick up surplus |/surl bargains|/barg01 ) cl 3.2 5.3 (|/tinaja01x |1 Find out what a |/surl tinaja|/tinaja01 is) cl 3.2 1.9 (|/amlink01x |1 View recommended |/surl books|/amlink01 ) cl grestore dosnap restore} def } def % as in activate menu %%%% END LNKER %%%%%%%%%%%%%%%%%%%%%%%%%% midnightdoc starttemplate /dropindent 32 def /tabs [20] def /font0 /StoneSans-Bold [40 0 0 40.1 0 -23] gonzofont % temp fat s /font6 /Times-BoldItalic 9.75 gonzofont /font7 /Times-BoldItalic 9.25 gonzofont /font8 /Times-BoldItalic 9.75 gonzofont /font: /Times-Roman 7 gonzofont /font= /Helvetica-Bold 8 gonzofont /font; /Symbol 9.5 gonzofont /nicebar {gsave bestgray 1 setlinecap xpos ypos 5.9 add moveto txtwide 5 sub 0 rlineto [4 0 2.5 .95] superstroke /ypos ypos yinc 2 div sub def grestore} def /emacro {ypos 190 lt {/ypos ypos 200 sub def}if } def /fmacro {/sstretch 0 def} def /Wmacro {/ttheight 12 yinc mul def} def /Xmacro {/ttheight 10 yinc mul def} def /Ymacro {/ttheight 10 yinc mul def} def /tabs [54] def /specialbox {gsave xpos 46 add ypos 3 add 135 0 18 yinc mul add neg stdfigrad roundbox gsave 0.94 setgray fill grestore [2 0 1 1] superstroke grestore grestore} def % /boxit illustrates marked Acrobat button % gonzo box autoposition linker /topstrlist {mark 3 1 roll {/roomleft exch roomleft exch sub def printlist exch 3 index exch put exch 1 add exch} /exec cvx ] cvx def} def /boxit{ gsave line1 currentpoint translate -1 -3 mt 10.5 pu 50.5 pr 10.5 pd closepath line1 stroke grestore} 0 topstrlist /fancybox {gsave currentpoint translate -7 -5 205 16 2 roundbox gsave showboxgrays {0.94}{1} ifelse setgray fill grestore [2 0 1 1] superstroke grestore} 0 topstrlist /orangeon {mark 0.04 /settint cvx 0.45 setgray cvx ] cvx % temp printlist exch 3 index exch put exch 1 add exch} def /aquaon {mark 0.52 /settint cvx 0 /setgray cvx ] cvx printlist exch 3 index exch put exch 1 add exch} def /tabs [26] def /shiftin {/xpos xpos 16 add store /txtwide txtwide 32 sub store}def /shiftout {/xpos xpos 16 sub store /txtwide txtwide 32 add store}def /font9 /Times-Roman [9.75 0 0 -9.77 0 4.5] gonzofont % special effect %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % tracking inset for the isopod energy reporter cut /isopodcut {save /cutsnap exch def /ttheight 13 yinc mul def /ttwidth 160 def /ttrad 3 def aqua (ISOPOD ENERGY REPORTER) ttbox beige %% 1.3 0.4 translate 0.1 dup scale % isopod 100 dict /Prolog exch def Prolog begin -150 -180 translate 0.6 dup scale /bd {bind def} bind def /c {curveto} bd /f {fill} bd /g {setgray} bd /gs {gsave} bd /gr {grestore} bd /l {moveto lineto stroke } bd /m {moveto} bd /r {rlineto} bd /s {stroke} bd /w {setlinewidth} bd /y {0 exch rlineto} bd 1 setlinecap 0.33 g % near strands 1.32 w 256.9 314.5 278.1 320.2 l 256.4 316.4 277.6 322.1 l 255.8 318.3 277.1 324 l 255.3 320.3 276.6 326 l 254.8 322.2 276.1 327.9 l 254.3 324.1 275.5 329.8 l 1.32 w 468.4 467.4 446.5 465.1 l % far strands 468.6 465.4 446.7 463.1 l 468.8 463.4 446.9 461.1 l 469 461.4 447.1 459.1 l 469.2 459.5 447.3 457.2 l 469.4 457.5 447.5 455.2 l 0 setlinecap % far wire 1 g 18 w 387 425 m 405.8 440.7 422.8 455.7 447 460 c % gs s gr % white break gs 0.33 g 16 w s gr % brown edge 0.8 g 13 w s % orange inside 1 setlinecap lime 0.92 g % ball 10 w 406.9 410 m 406.9 432.1 389 450 366.9 450 c 344.8 450 326.9 432.1 326.9 410 c 326.9 387.9 344.8 370 366.9 370 c 389 370 406.9 387.9 406.9 410 c gs f gr % gs 4 w s gr % outline omitted 0.33 g 1.8 w s 0.6 w 327 410 m 330.4 400.6 338.3 394.9 347 390 c 365.1 379.5 392 383.9 405.5 400 c s beige 1 g 18 w 1 setlinecap 347 390 m 326.8 373.1 319.7 348.1 297 335 c % gs s gr % white outline omitted gs 0.33 g 16 w s gr 0.8 g 13 w s 0 setlinecap % rest of front wire 1 g 18 w 297 335 m 290.1 331 284.6 327 277 325 c % gs s gr gs 0.33 g 16 w s gr 0.8 g 13 w s 1 setlinecap lime 0.92 g % notch 1.6 w 394.6 391 387.5 388 l 0.33 g 0.6 w 387 387.5 m 4 y 8 3.9 r -3.97 y s end grestore cutsnap restore /tthh ttheight def /ttheight 13 yinc mul def % temp workaround makeroom /ttheight tthh def } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /shiftin {20 0 translate /txtwide txtwide 40 sub store} def /shiftout {-20 0 translate /txtwide txtwide 40 add store} def black /font6 /StoneSerif-Bold [8 0 1.8 8 0 0] gonzofont /font8 /StoneSans-Bold [7.5 0 0 7.5 0 0] gonzofont /beige {0.82 settint} def /reallybeige {0.12 settint} def /narrower {12 0 translate /txtwide txtwide 15 sub store} def /tabs [-8 0 ] def startgonzo |a O |b ne of the key secrets to any technical venture is for you to maximize your personal value added. I have found that spending enough extra time and effort to make product images outstanding can double or even triple your |/surl |6eBay|1|/ebay or online |/surl |6Bargain Page|1|/barg01 sales.|p I very strongly feel that you should\274 |h|/red |/staytint1r |6 Spend an absolute minimum of two hours post-processing each web based sale image. |h|1|/aqua |/black Such time and effort can often pay for itself many times over. Especially on higher value or repeat sales. With care and practice, you can get really good at this. While |/surl |6Photoshop|1|/adobe is the usual preferred software for this sort of thing, I have found that plain old |/tinton1 |6Paint|1|/tintoff combined with that |/surl |6ImgViewer/32|1|/arcata image proc shareware you get from |/surl |6Arcata Pet|1|/arcata is all I'll really need. The object of image post-processing is to show the item in the best possible light. While not misrepresenting it in any way. Obvious easy stuff includes cropping, improving contrast or brightness, rotating (I prefer to work sideways or upside down; this lets you focus on details), scaling to size, and sharpening. More subtle and more difficult tasks include improving the background and edge definition; doing an exact pixel justification for "perfect" horizontal and vertical lines; or "dodging" and "burning" images to equalize them. Or filling in of missing details; removing dust specks and cathair; combining multiple scans into one, or upgrading lettering and callouts to improve legibility; eliminating or reducing shadows; adding detail to such things as pipe or connector threads; doing steganography and similar image protection; and minimizing possible |4JPEG|1 artifacts. As a typical ferinstance, say you have some reels of cable you want to sell. Let's look at what has to happen in what order. In order to keep our file sizes sane, we do have to make a compromise or two in this online presentation. So, please view this only at |4100%|1 or |4200%|1 magnification. Links will be given you later to the full size bitmaps. I urge you to start with these and practice doing the actual steps. Live and real time. In general, all of your post processing should get done |/tinton1 |6only|1|/tintoff using uncompressed bitmaps. I like to work at least double final size wherever possible. This does an automatic anti-alias on the final size reduction. It also gives me enough resolution to control (or at least influence) most product lettering or callouts as well. One question that needs asked early on\274 |c|y Camera |jor |jScanner? |d|z Let's see. Before its final cropping, a |4700|1 by |1700|1 pixel image is often appropriate for a serious item. Say half a million pixels. Working at twice final size quadruples this to two megapixels, or about a six megabyte |4RGB|1 bitmap. I thus normally prefer to work with bitmaps in the six to ten megabyte range.|p Cameras are obviously the choice for very large items, or where a "perspective" presentation will be best. Allowing for composition room, four megapixels of camera res is the bare minimum I'd recommend. Once again, it's of utmost importance that any and all initial images get saved in an uncompressed bitmap format. Tripods only, of course. I usually prefer to use a scanner, since they have many hundreds of times the resolution of a camera. They also usually offer "perfect" lighting, set up faster, and greatly simplify the justification of horizontal and vertical lines. Scanners are obviously more suited to flat faced items. You do need a scanner with decent depth of field. I've found the |/surl |6Hewlett-Packard|1|/hp |1C6260A|1 to do a good job. You can scan amazingly large items, either by doing step and repeats or else using the scanner upside down on the subject itself. More on these techniques appeared in |/surl |6IMAGIMAG.PDF|1|/imagimag . Many examples of both scanner and camera work appear in our |/surl |6eBay|1|/ebay and |/surl |6Bargain Page|1|/barg01 offerings. In figure one, I've taken a piece of cable and scanned it. A tan piece of paper was placed over the cable, and the stock "enhance midtones" gamma correction and "millions of sharp colors" was selected. It is of utmost importance to thoroughly clean off your scanner glass immediately before each and every scan. On other items, I will use a machinist's square to align items. The closer you get to true horizontal and vertical, the easier your final pixel justification will become. Props can be made from pieces of eraser or small wood blocks. Be sure to place them where they'll hide nothing important. "Variable" props are easily made from chopsticks or else notepads with a changing number of pages. Use Scotch Tape or whatever on cables to stabilize the item. |c Knockout |jKnockouts |d|z The human eye is much better at resolving high contrast detail than it is color. It is also much more sensitive to edges than areas. An area that does not draw attention to itself sends interest elsewhere. These are some of the first principles of image enhancement.|p Doing an entirely new background lets the object stand out. It also sharpens its edges, which may make other less sharp areas as noticeable. The process of isolating an object from its background is called |/tinton1 |6knocking out|1|/tintoff . Sadly, the commercial knockout packages are largely useless for work in nondescript or shadow areas. You'll have a choice of knocking out to a new uniform background, or knocking out to white and pasting over a fancier stock image. Note that Paint can accept "white" as "transparent" as a dragging or cut-and-paste option. Several |/surl |6somewhat garish examples|1|/levy are often found here. While knocking out to white is usually easier, there is a deadly trap: Any white pixels inside the subject itself can "punch through" with disastrous results. The workarounds include hand patching or else converting all the |/tinton1 |6"FF FF FF"|1|/tintoff bitmap triad values to |/tinton1 |6"FE FE FE"|1|/tintoff . Watch this detail carefully. I prefer to create a new uniform background. I usually start off with three or more brighter but nearby color pixels and make a random screen out of them. Being careful to avoid any doubles or triples. Such a random background has a modest "rich" texture that can be visually interesting. But more important, when you drag random length pieces of this against an edge, the tendency for later JPEG image "ghosting" artifacts gets dramatically reduced. The exact colors do not matter all that much, since they will probably brighten and change later in the image prep. Earth tones, compatible pastels, or off grays are often your best choices here. Just be sure that all subject edges have a distinct contrast against your choice. In figure two, we begin the image post prep by creating a brighter random background. This is edge aligned against a section of the cable on both sides. The cable itself has any offcolor or any otherwise disconcerting pixels removed for uniformity. Eventually, random background segments will be copied over the entire nonsubject portion of the image. |c Pixel |jLocking |d|z Call it obsessive, but I like to force everything perfectly square that is supposed to be. To one pixel accuracy. Such a |/tinton1 |6Pixel Justification|1|/tintoff gives you true horizontal and vertical edges without any jaggies. This technique works best with scanned images that have been carefully presquared.|p A modest size chunk of the edge is then "chased" along. Extending it as needed. Use random lengths and update the background to reduce any later |4JPEG|1 edge artifacts. If your exact edge gets a pixel or two out of step with the original image, simply move the entire image up or down to match. But watch any internal details that may end up crooked if you do this. Details themselves may also have to be pixel locked. Some random tips: Use of Paint's flip, mirror, and rotate greatly simplifies any repeat corners, edges, or whatever. Temporarily putting a guideline out in the background can ease future alignment of noncontinuous edges. As can grabbing a thin slice of image and using it as a ruler. Most shadows can be minimized by towing their "brown" edges into their "black" portion. Or eliminated entirely. Be sure to save copies of anything you might need later. Such as the lettering hint repasted into figure 3. In general, if you need extensive rework on something, do it first on the copy. Then paste it to your main image. Most corners should be broken or rounded. One very nice |4"543"|1 stock rounding is five pixels horizontally, then four pixels vertically, then three pixels off the remaining corner. Curved portions of edges often look best when the steps shorten in a "progressive" or log manner. If you are using a camera, your perspective subject will often end up somewhat hexagonal. For these, I like to do the entire background first, starting at the bitmap edges. Then working towards the center of each newly redefined edge. Then the corner details. And finally anything missed. |c Adding |jDetail |d|z Portions of your final image will end up pretty much the same as the original. other parts will be retouched, while yet others might need totally new paintwork. The shielding braid in our original wire looks kinda mangy. So, as figure three shows us, we will rework it fairly extensively.|p We first drag all the wires far enough right to make room for a new braid. We also copy the braid to a work area out in the background. One "unit" of the nicest repeating pattern on the braid is cut and repeatedly pasted to make the braid look like it is supposed to, rather than the way it is. The left end is forced into the gray cable to allow a perfect edge between cable and braid. The background edges of the braid are purposely made "ragged" using a repeating pattern to suggest texture. The same works well with threads or anyplace else you want to create edge detail. Because the eye is better at detail than color, you don't particularly have to line up the edges with the colors or textures. Sometimes detail can be pulled out of existing images by dramatically changing the contrast, brightness, and gamma on a new copy. You can then cut and paste. This is sort of like a traditional photographic "dodging" and "burning". But is infinitely more flexible. On things like feet or other external details, it is often best to simply create them from scratch and paste them in place. Be sure they don't draw attention to themselves. By the way, when you are removing labels or whatever, working diagonally often will give you the least obvious retouching. The best way to correct small surface defects is often to cut and paste a nearby portion over them. Always "jiggle" the placement before locking it to get the best overall visual effect. |c Improving |jLettering |d|z I very strongly feel that each and every callout on a piece of test equipment should be fully legible. The final image itself should be enough to tell the buyer exactly what the instrument does.|p Perspective lettering is enormously difficult to properly retouch and should be avoided. Which gives us yet another advantage to using scanners. On flat subjects, your choices are to leave the lettering as it is, improve character edges, or replace the lettering entirely. Replacement can be done either with simple pixel bitmaps or true anti-aliasing. I've created a new |/surl |6Guru's Lair|1|/tinaja library full of powerful new relettering tools and techniques. You can find this as our |/surl |6AAFONT01.ASP|1|/aafont01 page. Simply cleaning up your background around each and every letter can make a big difference. You carefully round everything that needs rounded, and then selectively brighten insides where needed. Stay subtle. Overdone retouching is worse than none at all. Sometimes you can "borrow" words or single letters from one portion and move them to another. This works well if only one or two words are too muddy to use. For our wire, a simple relettering using a |48 x 10|1 pixel matrix should be good enough. You can get these off my website, or you can simply create them by hand when and as needed. Once you do a few characters, the rest can be copied from bits and pieces. It is extremely important to keep the lettering colors subtle. The final reduction should anti-alias the lettering for you and make it appear credible. Yes, I've relettered entire oscilloscope panels. These new |/surl |6website|1|/aafont01 tools and techniques can let you quickly do true antialiased bitmap fonts as fast as you can type. |c The |jSmall |jStuff |d|z Work background, then edges, then big lumps, then fine detail. The original shield sort of overwhelms, so it can be copied to a background work area and dramatically reduced in size. And then placed at the end of the braid.|p The left wire ends are first traced to white so they can transparently overlay the shield. Grouped wires are then drug back to abut the braid and overlay the shield. The original faint hint of copper on the white wire is converted into four new credible strands of appropriate direction and length and pasted in place. Details in figures six and seven. |c Final |jReformatting |d|z That should pretty much complete the Paint portion of our rework. We can now move our "good as it gets" bitmap into PhotoShop or |/surl |6ImgViewer/32|1|/arcata to try and work yet some more magic into it.|p First, you will resize, usually to one half. But make sure your lettering holds up. If it does not, then resize enough larger as needed. Next, you'll crop to subject, leaving just enough background of nearly equal width on all four sides to give an interesting composition. Then you adjust gamma, contrast, and brightness to add "punch" to the image. I'll generally increase contrast and brightness but reduce gamma. Gamma favors either whites or blacks and is particularly useful to increase lettering contrast. Or otherwise enhance detail. Next, you sharpen. But a little of this goes a long way. Too much creates speckle and white edge artifacts. Always do "too much" first and then back way, way off. Finally, you save as a |4JPEG|1 file, reducing the size to something sane. Be sure to use "save as" rather than "save", or you will loose your hard earned reworked bitmap! The final result appears in figure eight. |c For |jMore |jHelp |d|z The "real" figures one through seven are large double sized vertical bitmaps. Which is why I've shown the figure eight scaling and rotation in parenthesis. Full size bitmaps of figures one through eight are available here\274|p |h |/surl |6Figure One|1|/figbm1 |/surl |6Figure Two|1|/figbm2 |/surl |6Figure Three|1|/figbm3 |/surl |6Figure Four|1|/figbm4 |/surl |6Figure Five|1|/figbm5 |/surl |6Figure Six|1|/figbm6 |/surl |6Figure Seven|1|/figbm7 |/surl |6Figure Eight|1|/figbm8 |h |/surl |6Column Sourcecode|1|/blatsc |h The column sourcecode shows you how to directly add lots of |4JPG|1 figures to a |4PDF|1 doc with |/surl |6Acrobat Distiller|1|/adobe . Be sure to check out our |/surl |6Auction Help|1|/auct01 and our |/surl |6Blatant|/blat01 |/surl Opportunist|1|/blat01 libraries. Followed up by the special stuff in our |/surl |6Antialiased Fonts|1|/aafont01 library. Custom assistance is now available per our |/surl |6InfoPack|1|/info01 services. |/tinton1 |-F|1 |h |/aqua |/staytint1 |Z|F|p |2Microcomputer pioneer and guru \ Don Lancaster is the \ author of |535|2 books and countless articles. Don maintains a \ |5US|2 technical helpline you will find at |5(928) 428-4073|2, \ besides offering \ his own |/surl |6books|1|/amlink01 |/aqua |/tinton1 , \ reprints and |/surl |6consulting services|1|/info01 . |/aqua Don also offers surplus bargains \ found on |/surl |6eBay|1|/ebay |/aqua |/tinton1 and \ on his |/surl |6Bargain Pages|1|/barg01 . Don is also the webmaster of |/surl |6www.tinaja.com|1|/tinaja |/tinton1 \ You can also reach Don at Synergetics, Box |5809|2, \ Thatcher, |5AZ 85552|2. Or you can use email via |/surl \ |6don@tinaja.com|1|/maildon |x reallybeige 0.10 settint 0.5 setgray black activatemenu % cannot hit earlier cm2 0 add 0.12 settint 0.5 setgray black % cmb 0 add % 230 add % special % 190 380 % try centered % 322 406 % upper right % 322 59 % lower right % 1 0.98 scale % slight adjust 190 380 % center if not text menu8v % and show the final page. Don't skip the |x gonzo ender above! Otherwise % you never return to PostScript and never print the last page... showpage