%!PS % Solving Puzzles with PostScript #67 % =============================== % by Don Lancaster /ggnum 67 store % Copyright c 2006 by Don Lancaster & Synergetics, Box 809, Thatcher, AZ, 85552 % (928) 428-4073 Email: don@tinaja.com Website: http://www.tinaja.com % Consulting services available http://www.tinaja.com/info01.html % Linking welcome. Reposting expressly forbidden. % All commercial rights and all electronic media rights ~fully~ reserved. % Linking usually welcome. Reposting expressly forbidden. Version 1.1 % IMPORTANT NOTE: Don Lancaster's file gonzo.ps is required for this program. % After obvious location mods, uncomment ONE of the following two lines: (C:\\Documents and Settings\\don\\Desktop\\gonzo\\gonzo.ps) run % use internal gonzo % (A:\\gonzo.ps) run % use external gonzo % NOTE THAT ALL PS FILENAME STRINGS !!!DEMAND!!! DOUBLE REVERSE SLASHES. % GONZO20A Guru Gonzo PostScript power tools (Interim release) % Includes gonzo justification and layout utilities. % Copyright c 1990, 1996, 2001 by Don Lancaster and Synergetics, Box 809, % Thatcher Arizona, 5552 (928) 428-4073 don@tinaja.com support % via http://www.tinaja.com All commercial rights and all electronic % media rights **FULLY** reserved. Reposting is expressly forbidden. % Many routines removed and cleaned at #58 %%%%%%%%%%% links menu directory %%%%%%%%%%%% % 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 % maintextcolor /setrgbcolor cvx % reset to main text color??? /aqua cvx /black cvx /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 /maintextcolor {0 0 0 } def % text link specific data -- use dictionary instead below { /cubic01 {(http://www.tinaja.com/cubic01.asp) eurl} def /hack62 {(http://www.tinaja.com/glib/hack62.pdf) eurl} def /increment {(http://www.tinaja.com/text/bezgen3.html) eurl} def /interpolate {(http://members.bellatlantic.net/~vze2vrva/design.html) eurl } def /bezmath {(http://www.tinaja.com/text/bezmath.html) eurl } def /table {(http://www.tinaja.com/psutils/imtable.psl) eurl } def } pop % dictionary method << % zzzzzzzzzzzz keep for search marker % entered during gg67 /puzz01.psl (http://www.tinaja.com/psutils/puzz01.psl) /alphamet1 ( http://www.tkcs-collins.com/truman/alphamet/alphamet.shtml) /alphamet2 (http://www.tkcs-collins.com/truman/alphamet/alpha_gen.shtml) /alphamet3 (http://users.aol.com/s6sj7gt/mikealp.htm) /msinexec.pdf (http://www.tinaja.com/glib/msinexec.pdf) /paradigm.pdf (http://www.tinaja.com/glib/paradigm.pdf) % entered during gg66 /thunderbird (http://www.thunderbird.com) /spysweeper (http://www.webroot.com/consumer/products/spysweeper/?rc=1651) /norton (http://www.symantec.com/index.htm) /pestpatrol (http://www.pestpatrol.com/) /firefox (http://www.firefox.com) /sciencemag (http://www.sciencemag.org/) /worldfact (http://www.cia.gov/cia/publications/factbook/) /internetdog (http://www.unc.edu/depts/jomc/academics/dri/idog.html) /zipcode (http://www.usps.com/ncsc/lookups/lookup_zip+4.html) /weather (http://www.weather.com/) /thomasreg (http://www.thomasregister.com/) /topozone (http://www.topozone.com/) /yahoostock (http://finance.yahoo.com/) /reversephone (http://www.reversephonedirectory.com/) /uspto (http://www.uspto.gov/patft/index.html) /msnbc (http://www.msnbc.com/) /imdb (http://us.imdb.com/) /loanamort (http://www.hsh.com/calc-amort.html) /kellybook (http://www.kbb.com/) /googlemaps (http://maps.google.com/) /newyorker (http://www.newyorker.com/) /currexch (http://www.xe.net/ucc/) /chemele (http://www.chemicalelements.com) /cnn (http://www.cnn.com) /areacodes (http://decoder.americom.com/cgi-bin/decoder.cgi) /tinajaoffsite (http://www.tinaja.com#offsite) /tinajaengines (http://www.tinja.com#engines) /walmart (http://www.walmart.com) /rssbook (http://www.amazon.com/exec/obidos/ISBN%3D0764588486/donlancastersgurA/002-5434897-4181636) /webwb01 (http://www.tinaja.com/webwb01.asp) /weblib01 (http://www.tinaja.com/weblib01.asp) /validator (http://rss.scripting.com/) /webbooks (http://www.tinaja.com/books/bkwbmast.asp) /golive (http://www.adobe.com/products/golive/) /frontpage (http://office.microsoft.com/en-us/FX010858021033.aspx) /htmlbooks (http://www.tinaja.com/books/bkhtml.asp) /htmldummybook (http://www.amazon.com/exec/obidos/ISBN=0764507230/donlancastersgurA/) /naa (http://www.auctioneers.org) /histolog.pdf (http://www.tinaja.com/glib/histolog.pdf) /analogeb.pdf (http://www.tinaja.com/glib/analogeb.pdf) /enhebay3.pdf (http://www.tinaja.com/glib/enhebay3.pdf) /ipswitch (http://www.ipswitch.com/Products/WS_FTP) /networksolutions (http://www.networksolutions.com) /whois (http://www.networksolutions.com/cgi-bin/whois/whois) % entered furing gg65 msexec summary /picpro (http://www.tinaja.com/glib/mspicpro.pdf) /fourier (http://www.tinaja.com/glib/muse90.pdf) % entered during GG64 log log graphs /pdfrm1 (http://partners.adobe.com/public/developer/en/acrobat/sdk/pdf/pdf_creation_apis_and_specs/pdfmarkReference.pdf) /loglog01.psl (http://www.tinaja.com/psutils/loglog01.psl) /loglog01.pdf (http://www.tinaja.com/glair/loglog01.pdf) /bookcvr1.psl (http://www.tinaja.com/psutils/bookcvr1.psl) /bookcvr1.pdf (http://www.tinaja.com/glair/bookcvr1.pdf) % entered during gg 63 two phase magic sinewaves /numschip.pdf (http://www.tinaja.com/glib/numschip.pdf) /mspicpro.pdf (http://www.tinaja.com/glib/mspicpro.pdf) % entered during gg 62 enhance III /analogeb.pdf (http://www.tinaja.com/glib/analogeb.pdf) /rss (http://www.tinaja.com/whtnu.xml) /oreproptable (http://www.tinaja.com/whtnu05.asp#rogue3) /javascriptslideshow (http://www.codelifter.com/main/javascript/slideshow4.html) /logrptx2.psl (http://www.tinaja.com/psutils/logrptx2.psl) % entered during GG61 /jpg2pdf.pdf (http://www.tinaja.com/glib/jpg2pdf.pdf) /barcodeonline (http://www.raise-the-bar.co.uk/cgi-bin/webbarcodegen.pl) /barcodegen (http://www.terryburton.co.uk/barcodewriter/) /barcodetutorial (http://www.barcode-us.com/info_center/bookinfo.htm) /isbn (http://www.isbn.org/standards/home/index.asp) /bookcovr.psl (http://www.tinaja.com/psutils/bookcovr.psl) /bookcovr.pdf (http://www.tinaja.com/psutils/bookcovr.pdf) /begstuff (http://www.tinaja.com/post01.asp#begstuff) /ghostscript (http://www.cs.wisc.edu/~ghost/) /bod01 (http://www.tinaja.com/bod01.asp) % entered during GG 60 /bezlenjf.pdf (http://www.tinaja.com/glib/bezlenjf.pdf) /bzlnsub1.psl (http://www.tinaja.com/psutils/bzlnsub1.psl) /cubemath.pdf (http://www.tinaja.com/glib/cubemath.pdf) % entered during GG 59 /imbz4p01.psl (http://www.tinaja.com/psutils/imbz4p01.psl) /cubemath.pdf (http://www.tinaja.com/glib/cubemath.pdf) /bernstein (http://graphics.idav.ucdavis.edu/education/CAGDNotes/Bernstein-Polynomials.pdf) /ellipse4.psl (http://www.tinaja.com/glib/ellipse4.psl) /wnhsl (http://www.tinaja.com/whatnu05.asp#hsl) /stalac.pdf (http://www.tinaja.com/glib/stalac.pdf) /santa01 (http://www.tinaja.com/santa01.asp) /imxytab.psl (http://www.tinaja.com/psutils/imxytab.psl) /nonlingr.pdf (http://www.tinaja.com/glib/nonlingr.pdf) /unibmm01.psl (http://www.tinaja.com/psutils/unibm01.psl) /webimage.pdf (http://www.tinaja.com/glib/webimage.pdf) /keycor01.pdf (http://www.tinaja.com/glib/keycor01.pdf) /nubkg01.psl (http://www.tinaja.com/psutils/nubkg01.psl) /basis.pdf (http://www.tinaja.com/glib/basis.pdf) /fixtlt01.psl (http://www.tinaja.com/psutils/fixtlt01.psl) /swingt01.psl (http://www.tinaja.com/psutils/swingt01.psl) /perspec1.pdf (http://www.tinaja.com/glib/perspec1.pdf) /starwars.psl (http://www.tinaja.com/psutils/starwars.psl) /video901.jpg (http://www.tinaja.com/images/bargs/finalc9.jpg) /video901.bmp (http://www.tinaja.com/images/bargs/finalc9.bmp) /autobmf1.psl (http://www.tinaja.com/psutils/autobmf1.psl) /bmfauto1.pdf (http://www.tinaja.com/glib/bmfauto1.pdf) /autobm1.psl (http://www.tinaja.com/psutils/autobmf1.psl) /bmdemo1.bmp (http://www.tinaja.com/psutils/bmdemo1.bmp) /adobeifilter (http://www.adobe.com/support/downloads/product.jsp?product=1&platform=Windows) /myriadfont (http://store.adobe.com/type/browser/P/P_1706.html) /stonefont (http://store.adobe.com/type/browser/F/STAQ/F_STAQ-11705000.html) /cleartype (http://grc.com/cleartype.htm) /adobeacrobat (http://www.adobe.com/products/acrobat/main.html) /acroread (http://www.adobe.com/products/acrobat/readstep2.html) /dutchdare (http://www.darenet.nl/page/language.view/home) /sedn (news:///sci.electronics.design) /sern (news:///sci.electronics.repair) /mcmaster (http://www.mcmaster.com/ ) /smallparts (http://www.smallparts.com/ ) /grainger (http://www.grainger.com/Grainger/ ) /mouser (http://www.mouser.com/ ) /digikey (http://www.digikey.com/ ) /allied (http://www.alliedelec.com/ ) /newark (http://www.newark.com/) /thomasreg (http://www.thomasregister.com/) /whtnu05 (http://www.tinaja.com/whtnu05.asp) /refurblg.pdf (http://www.tinaja.com/glib/refurblg.pdf) /refurb.pdf (http://www.tinaja.com/glib/refurb.pdf) /advetorl.pdf (http://www.tinaja.com/glib/advetorl.pdf) /sotofamilia (http://cgi6.ebay.com/ws/eBayISAPI.dll?MfcISAPICommand=ViewListedItems&userid=sotofamilia&include=0&since=7&sort=3&rows=100) /marcia.pdf (http://www.tinaja.com/glib/marcia.pdf) /auctscne.pdf (http://www.tinaja.com/glib/auctscne.pdf) /ebaysell.pdf (http://www.tinaja.com/glib/ebaysell.pdf) /ebayspoof (mailto:spoof@ebay.com) /auct01links (http://www.tinaja.com/auct01.asp#links) /enhebay2.pdf (http://www.tinaja.com/glib/enhebay2.pdf) /enhebay1.pdf (http://www.tinaja.com/glib/enhebay1.pdf) /pdfflash.pdf(http://www.tinaja.com/glib/pdfflash.pdf) /adobejava (http://partners.adobe.com/public/developer/pdf/topic_js.html) /p3anim01.pdf (http://www.tinaja.com/glib/p3anim01.pdf) /xpdf (http://www.foolabs.com/xpdf/) /heapsort.pdf (http://www.tinaja.com/glib/heapsort.pdf) /strconv.pdf (http://www.tinaja.com/glib/strconv.pdf) /pdfrefman (http://partners.adobe.com/public/developer/pdf/index_reference.html) /uncompresspdf.api (http://www.tinaja.com/plugins/uncompressPDF.api) /adobeebooks (http://www.adobe.com/epaper/ebooks/main.html) /viewpdf1.psl (http://www.tinaja.com/psutils/viewpdf1.psl) /adobeacrobatsdk (http://partners.adobe.com/public/developer/acrobat/sdk/index_doc.html) /adobejavascriptguide (http://partners.adobe.com/public/developer/acrobat/sdk/index_doc.html#js) /wordfreq.pdf (http://www.tinaja.com/glib/wordfreq.pdf) /azauct01.pdf (http://www.tinaja.com/glib/azauct01.pdf) /startsdk.pdf (http://www.tinaja.com/glib/startsdk.pdf) /flatevue.pdf (http://www.tinaja.com/glib/flatvue.pdf) /wordfrq1.psl (http://www.tinaja.com/psutils/wordfrq1.psl) /otherwf (http://www.mytranslate.com/wordfrequency.htm) /homonyms (http://www.cooper.com/alan/homonym_list.html) /wrightauct (http://www.wrightbrosauctioneers.com/) /a1auct (http://www.a1auctionz.com/) /auctbroke (http://www.auctionbrokers.us/) /ronbrunk (http://www.brunksauction.com/) /americawest (http://www.yellowpages-ads.com/01231827) /azauctioneers (http://www.arizonaauctioneers.com/) /dickerson (http://www.cfdauction.com/) /wsmauct (http://www.westernsalesmanagement.com/) /asustore (http://property.asu.edu/) /uaauct (http://pacs.web.arizona.edu/pacs_home.html) /schoolauct (http://web.archive.org/web/20040229230404/http://www.dist.maricopa.edu/surplus/other.html) /haynieauct (http://www.chuckhaynieauctions.com/pages/1/index.htm) /crawfordauct (http://www.tumbleweedauction.com/) /mangold (http://www.azauctioneers.org/members/8402_OCMangold.asp) /tingle (http://brucetingleauctioneering.com/) /countass (http://www.soldyourway.com/) /southwestliq (http://www.swliquidators.com/) /maricopacoll (http://www.dist.maricopa.edu/surplus/) /sierraauct (http://www.sierraauction.com/) /cunninghamauct (http://www.auctionaz.com/) /auctappr (http://www.auctionandappraise.com/) /azauctionassn (http://www.azauctioneers.org/home.asp) /natauctionassn (http://www.auctioneers.org/) /azclassifieds (http://www.arizclassified.com/classifieds/index.inn) /azrepublic (http://www.azcentral.com/class/merch/) /tudailystar (http://classified.tucson.com/index.php?site_name=citizen) /enhebay1.pdf (http://www.tinaja.com/glib/enhebay1.pdf) /busonly.psl (http://www.tinaja.com/psutils/busonly.psl) /rebound1.psl (http://www.tinaja.com/glib/rebound1.pdf) /rebound1.pdf (http://www.tinaja.com/glib/rebound1.psl) /funfield.pdf (http://www.tinaja.com/glib/funfield.pdf) /psar2img.pdf (http://www.tinaja.com/glib/psar2img.pdf) /dovebid (http://www.dovebid.com) /michaelfox (http://www.michaelfox.com) /mjauctions (http://www.mjauctions.com) /ucc (http://www.law.cornell.edu/ucc/) /arizlaw (http://www.azleg.state.az.us/ArizonaRevisedStatutes.asp) /vickrey (http://www.vanderbilt.edu/econ/reiley/papers/VickreyHistory.pdf) /whtnu04 (http://www.tinaja.com/whtnu04.asp) /logrpt01.psl (http://www.tinaja.com/psutils/logrpt01.psl) /nutilt01.psl (http://www.tinaja.com/psutils/nutilt01.psl) /nubkg01.psl (http://www.tinaja.com/psutils/nubkg01.psl) /dodbur01.psl (http://www.tinaja.com/psutils/dodbur01.psl) /ebayphen.pdf (http://www.tinaja.com/glib/ebayphen.pdf) /gallery.pdf (http://www.tinaja.com/glib/gallery.pdf) /histolog (http://www.tinaja.com/glib/histolog.pdf) /bmfonts (http://www.tinaja.com/glib/bmfonts.pdf) /dodbur (http://www.tinaja.com/glib/dodgebur.pdf) /ebayphoto (http://www.tinaja.com/glib/ebayfoto.pdf) /auctscne (http://www.tinaja.com/glib/auctscne.pdf) /stepprep (http://www.tinaja.com/glib/stepprep.pdf) /phonenums (http://www.switchboard.com/bin/cgiqa.dll?MG=) /reversephone (http://www.reversephonedirectory.com/) /scholar (http://www.scholar.google.com/) /shieldsup (https://grc.com/x/ne.dll?bh0bkyd2) /sotofamilia (http://cgi6.ebay.com/ws/eBayISAPI.dll?MfcISAPICommand=ViewListedItems&userid=sotofamilia&include=0&since=7&sort=3&rows=100) /topozone (http://www.topozone.com/) /thomasreg (http://www.thomasregister.com/) /uhaul (http://www.uhaul.com/) /ups (http://www.ups.com/) /usps (http://www.usps.com/) /vrane (http://www.vrane.com) /wayback (http://web.archive.org/) /whois (http://www.networksolutions.com/cgi-bin/whois/whois) /grainger (http://www.grainger.com/) /zipcodes (http://www.usps.com/ncsc/lookups/lookup_zip+4.html) /mcmaster (http://www.mcmaster.com/) /mscsupply (http://www.mscdirect.com/) /natauctioneers (http://www.auctioneers.org/) /newspapers (http://www.usnpl.com/) /norfolk (http://www.norfolkandwaay.com) /quickphrase (http://www.typingmaster.com/index.asp?go=quickphrase) /myebays (http://www.tinaja.com/glib/myebays.pdf) /moreebay (http://www.tinaja.com/glib/moreebay.pdf) /mapsonus (http://www6.mapsonus.com/) /aafont01 (http://www.tinaja.com/aafont01.asp) /froogle (http://www.froogle.com) /govliquidation (http://www.govliquidation.com) /intershipper (http://www.intershipper.com) /kelly (http://www.kbb.com) /paypal (https://www.paypal.com/refer/pal=don%40tinaja.com) /ebaysell (http://www.tinaja.com/glib/ebaysell.pdf) /ebaybuy (http://www.tinaja.com/glib/ebaybuy.pdf) /deja (http://groups.google.com/googlegroups/deja_announcement.html) /drhtml (http://www2.imagiware.com/RxHTML/) /fedex (http://www.fedex.com/us/) /currency (http://www.xe.net/ucc/) /terraserver (http://terraserver-usa.com/) /areacode (http://decoder.americom.com/cgi-bin/decoder.cgi) /asiansources (http://www.asia.globalsources.com/HOMEPAGES/ASOL/HOME) /ebaystore (http://stores.ebay.com/synergeticsabeja) /amazon (http://www.amazon.com/exec/obidos/redirect-home/donlancastersgur/) /aucres01 (http://www.tinaja.com/aucres01.asp) /auctlinks (http://www.tinaja.com/auct01.asp#links) /wayback (http://www.archive.org/web/web.php) /agilent (http://www.agilent.com) /fields01.psl (http://www.tinaja.com/glib/fields01.psl) /fields01.pdf (http://www.tinaja.com/glib/fields01.pdf) /maxwells (http://hyperphysics.phy-astr.gsu.edu/hbase/electric/maxeq.html#c3) /muse121 (http://www.tinaja.com/glib/muse121.pdf) /maxwellbook (http://www.amazon.com/exec/obidos/ISBN=0486606368/donlancastersgurA) /transtronics (http://www.transtronics.com) /sigview.pdf (http://www.tinaja.com/glib/sigview.pdf) /mscal28nd.asp (http://www.tinaja.com/mscal28nd.asp) /microchip (http://www.microchip.com) /numschip.pdf (http://www.tinaja.com/glib/numschip.pdf) /numschip.psl (http://www.tinaja.com/glib/numschip.psl) /msd28a.asm (http://www.tinaja.com/glib/msd28a.asm) /lineartechnology (http://www.lineartechnology.com) /bmtypewr (http://www.tinaja/com/psutils/bmtypewr.psl) /distlang.pdf (http://www.tinaja.com/glib/distlang.pdf) /muse141 (http://www.tinaja.com/glib/muse141.pdf) /screenthief (http://www.keyscreen.com/KeyScreen(s)5/scrnthf.htm) /giffont (http://www.tinaja.com/bmfonts/giffont1.bmp) /f507bg.txt (http://www.tinaja.com/bmfonts/f507bg.txt) /f507bg.psl (http://www.tinaja.com/bmfonts/f507bg.psl) /f507bg.pdf (http://www.tinaja.com/bmfonts/f507bg.pdf) /f607bg.txt (http://www.tinaja.com/bmfonts/f607bg.txt) /f707bg.txt (http://www.tinaja.com/bmfonts/f707bg.txt) /imgwrds1.psl (http://www.tinaja.com/psutils/imgwrds1.psl) /bmfont01 (http://www.tinaja.com/bmfont01.asp) /expbmp.psl (http://www.tinaja.com/glib/expbmp.psl) /kikisu (http://www.tinaja.com/images/bargs/ki710101.jpg) /hp3336a (http://www.tinaja.com/images/bargs/hp333601.jpg) /bmtransfer (http://www.tinaja.com/bmfonts/lettex01.bmp) /histolog.pdf (http://www.tinaja.com/glib/histolog.pdf) /histolog.psl (http://www.tinaja.com/glib/histolog.psl) /site01 (http://www.tinaja.com/site01.asp) /dayproc1.psl (http://www.tinaja.com/psutils/dayproc1.psl) /trail30.psl (http://www.tinaja.com/psutils/trail30.psl) /logrptm1.psl (http://www.tinaja.com/psutils/logrptm1.psl) /logrpt01.psl (http://www.tinaja.com/psutils/logrpt01.psl) /powerfit (http://www.tinaja.com/glib/powerfit.pdf) /pssort (http://www.tinaja.com/glib/pssort.pdf) /heapsort (http://www.tinaja.com/glib/heapsort.pdf) /bashpseu (http://www.tinaja.com/glib/bashpseu.pdf) /pseudo01 (http://www.tinaja.com/pseudo01.asp) /muse112 (http://www.tinaja.com/glib/muse112.pdf) /muse113 (http://www.tinaja.com/glib/muse113.pdf) /muse89 (http://www.tinaja.com/glib/muse89.pdf) /muse151 (http://www.tinaja.com/glib/muse151.pdf) /muse153 (http://www.tinaja.com/glib/muse153.pdf) /pssecrets (http://www.tinaja.com/glib/pssecrets.pdf) /bouncy (http://www.tinaja.com/glib/bouncy.pdf) /vectstep (http://www.tinaja.com/glib/vectstep.pdf) /muse102 (http://www.tinaja.com/glib/muse102.pdf) /onesword (http://www.tinaja.com/text/onesword.html) /emergop2 (http://www.tinaja.com/glib/emergop2.pdf) /wave01 (http://www.tinaja.com/wave01.asp) /chaincode (http://www.tinaja.com/text/chain01.html) /muse152 (http://www.tinaja.com/glib/muse152.pdf) /atg1 (http://www.tinaja.com/glib/atg1.pdf) /hack62 (http://www.tinaja.com/glib/hack62.pdf) /psinscrt (http://www.tinaja.com/glib/psinscrt.pdf) /fern2img (http://www.tinaja.com/psutils/fern2img.psl) /thefern (http://www.tinaja.com/psutils/fern2img.pdf) /cmoscb (http://www.amazon.com/exec/obidos/ISBN%3D0750699434/donlancastersgurA/002-0496817-3688016) /activecb (http://www.amazon.com/exec/obidos/ISBN%3D075062986X/donlancastersgurA/002-0496817-3688016) /hack64 (http://www.tinaja.com/glib/hack64.pdf) /nss (http://www.caves.org) /sinquest (http://www.tinaja.com/glib/sinquest.pdf) /askguru (http://www.tinaja.com/glair01.asp) /assycb (http://www.amazon.com/exec/obidos/ISBN%3D0672223317/donlancastersgurA/002-3338585-9572047) /muse105 (http://www.tinaja.com/glib/muse105.pdf) /muse107 (http://www.tinaja.com/glib/muse107.pdf) /resbn90 (http://www.tinaja.com/glib/resbn90.pdf) /hackar3 (http://www.tinaja.com/glib/hackar3.pdf) /testdemo (http://www.tinaja.com/glib/FULL60-1.ASC) /mschips (http://www.tinaja.com/glib/mschips.pdf) /sigview (http://www.sigview.com) /ggsigview (http://www.tinaja.com/glib/sigview.pdf) /mock (http://www.technicalworks.com) /xtronics (http://www.xtronics.com/) /oshen (http://www.oshonsoft.com/pic.html) /heapps01 (http://www.tinaja.com/psutils/heapps01.psl) /distlangpdf (http://www.tinaja.com/glib/distlang.pdf) /strconv (http://www.tinaja.com/glib/strconv.pdf) /fancysort (http://linux.wku.edu/~lamonml/algor/sort) /presort (http://www.tinaja.com/psutils/presort1.psl) /psnt (http://www.tinaja.com/glib/psnt.pdf) /insort (http://www.tinaja.com/psutils/insort.ps) /bublsort (http://www.tinaja.com/psutils/bublsort.ps) /oldstrconv (http://www.tinaja.com/psutils/strconv.html) /psdisk03 (http://www.tinaja.com/glib/psdisk03.pdf) /muse01 (http://www.tinaja.com/muse01.asp) /gonzopow (http://www.tinaja.com/glib/gonzopow.pdf) /analogeb (http://www.tinaja.com/glib/analogeb.pdf) /psdisk03 (http://www.tinaja.com/glib/psdisk03.pdf) /flut01 (http://www.tinaja.com/flut01.asp) /clpng (news:///comp.lang.postscript) /ctpng (news:///comp.text.pdf) /yahoo (http://www.yahoo.com) /google (http://www.google.com) /scodes (http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html) /whois (http://www.networksolutions.com/en_US/whois/index.jhtml) /zekes (http://www.zekes.com) /logfileformat (http://www.microsoft.com/windows2000/en/server/iis/default.asp?url=/windows2000/en/server/iis/htm/core/iicnvlg.htm) /logrpt01.psl (http://www.tinaja.com/psutils/logrpt01.psl) /logrpt01.log (http://www.tinaja.com/psutils/logrpt01.log) /ex031126 (http://www.tinaja.com/psutils/ex031126.log) /picup01 (http://www.tinaja.com/picup01.asp) /webwb01 (http://www.tinaja.com/webwb01.asp) /muse90 (http://www.tinaja.com/glib/muse90.pdf) /vismagsn (http://www.tinaja.com/glib/vismagsn.psl) /vismagsn.pdf (http://www.tinaja.com/glib/vismagsn.pdf) /msquant (http://www.tinaja.com/glib/msquant.psl) /optjit01 (http://www.tinaja.com/psutils/optjit01.psl) /optjit01demo (http://www.tinaja.com/psutils/optjit01.pdf) /qall01 (http://www.tinaja.com/psutils/qall01.psl) /deltapat (http://www.tinaja.com/psutils/deltapat.pdf) /deltapat.pdf (http://www.tinaja.com/psutils/deltapat.pdf) /deltapat.psl (http://www.tinaja.com/psutils/deltapat.psl) /mindist1 (http://www.tinaja.com/glib/mindist1.pdf) /deltams1 (http://www.tinaja.com/glib/deltams1.pdf) /grabjpg (http://www.tinaja.com/psutils/grabjpg.psl) /gallery (http://www.tinaja.com/glib/gallery.pdf) /nutour01 (http://wwww.tinaja.com/nutour01.pdf) /linkpdf1 (http://www.tinaja.com/glib/linkpdf1.html) /ebayfoto (http://www.tinaja.com/glib/ebayfoto.pdf) /jpeg2pdf.html (http://www.tinaja.com/text/jpeg2pdf.html) /pdf2bmp (http://www.tinaja.com/psutils/pdf2bmp.psl) /bitmfont (http://www.tinaja.com/psutils/bitmfont.txt) /antifontpsl (http://www.tinaja.com/psutils/antifont.psl) /antifonttxt (http://www.tinaja.com/psutils/antifont.txt) /histog01 (http://www.tinaja.com/psutils/histog01.psl) /swingtlt (http://www.tinaja.com/glib/swingtlt.pdf) /newsamoe (news:///alt.marketing/online.ebay) /webtrends (http://www.netiq.com/webtrends/default.asp) /stegan (http://63.140.207.28/books/bkwater.asp) /nodi (http://www.pages.ebay.com/help/community/notice-infringe2.pdf) /ebayvero (http://www.pages.ebay.com/help/community/vero-program.html) /aboutme (http://members.ebay.com/aboutme/abeja/) /magfill2 (http://www.tinaja.com/psutils/magfill2.psl) /bmprpt01 (http://www.tinaja.com/psutils/bmprpt01.psl) /waywere (http://www.tinaja.com/glib/waywere.pdf) /nikon (http://www.nikon.com) /bayer (http://www.coreco.com/Web/wbtools3.nsf/0/87fce126f109ea3a05256c7100591c9a?OpenDocument) /hewpack (http://www.hp.com) /auct01 (http://www.tinaja.com/auct01.asp) /blat01 (http://www.tinaja.com/auct01.asp) /moreebay (http://www.tinaja.com/glib/moreebay.pdf) /auctscne (http://www.tinaja.com/glib/auctscne.pdf) /autourl (http://www.tinaja.com/glib/autourl.pdf) /msintro1 (http://www.tinaja.com/glib/msintro1.pdf) /msintrosource (http://www.tinaja.com/glib/msintro1.psl) /knockout (http://www.tinaja.com/glib/knockout.bmp) /stepsynt (http://www.tinaja.com/glib/stepsynt.pdf) /msintro1 (http://www.tinaja.com/glib/msintro1.pdf) /msinprop (http://www.tinaja.com/glib/msinprop.pdf) /muse106 (http://www.tinaja.com/glib/muse106.pdf) /muse142 (http://www.tinaja.com/glib/muse142.pdf) /math01 (http://www.tinaja.com/math01.asp) /cubic01 (http://www.tinaja.com/cubic01.asp) /bez4pts (http://www.tinaja.com/glib/bez4pts.pdf) /muse145 (http://www.tinaja.com/glib/muse145.pdf) /muse148 (http://www.tinaja.com/glib/muse148.pdf) /curveft3 (http://www.tinaja.com/psutils/curveft3.psl) /fuzzybez (http://www.tinaja.com/glib/fuzzybez.pdf) /bmprpt01 (http://www.tinaja.com/psutils/bmprpt01.psl) /nowhit01 (http://www.tinaja.com/psutils/nowhit01.psl) /blender (http://www.tinaja.com/psutils/blender.psl) /speedup2 (http://www.tinaja.com/glib/speedup2.pdf) /histog01 (http://www.tinaja.com/psutils/histog01.psl) /imgviewer32 (http://www.arcatapet.net/imgv32.cfm) /basis (http://www.tinaja.com/glib/basis.pdf) /expbmp (http://www.tinaja.com/glib/expbmp.pdf) /dodbur01 (http://www.tinaja.com/psutils/dodbur01.psl) /dodgebur (http://www.tinaja.com/glib/dodgebur.pdf) /magfill1 (http://www.tinaja.com/psutils/magfill1.psl) /swingt01 (http://www.tinaja.com/psutils/swingt01.psl) /before01 (http://www.tinaja.com/images/bargs/marcon01.jpg) /during01 (http://www.tinaja.com/images/bargs/marcon01.bmp) /after01 (http://www.tinaja.com/images/bargs/marconz1.jpg) /repobmp (http://www.tinaja.com/glib/repobmp.pdf) /basis01 (http://www.tinaja.com/glib/basis.pdf) /arcata (http://www.arcatapet.net/imgv32.cfm) /comparebmp (http://www.designer-info.com/Writing/bmp_tiff_jpeg_gif.htm) /imagimag (http://www.tinaja.com/glib/imagimag.pdf) /myebays (http://www.tinaja.com/glib/myebays.pdf) /stepprep (http://www.tinaja.com/glib/stepprep.pdf) /aafont01 (http://www.tinaja.com/aafont01.asp) /here1 (http://village.infoweb.ne.jp/~fwhw1257/study/bmpform.htm) /here2 (http://www.daubnet.com/formats/BMP.html) /bittype (http://www.tinaja.com/psutils/pdf2bmp.psl) /photocombine (http://www.tinaja.com/psutils/blender.psl) /psl (http://www.tinaja.com/psutils/) % dummy temp /psl1 (http://www.tinaja.com/psutils/pdf2bmp.psl) /psl2 (http://www.tinaja.com/psutils/acatdata.psl) /psl3 (http://www.tinaja.com/psutils/catwords.psl) /psl4 (http://www.tinaja.com/psutils/graburls.psl) /psl5 (http://www.tinaja.com/psutils/blender.psl) /psl6 (http://www.tinaja.com/psutils/catools1.psl) /psl7 (http://www.tinaja.com/psutils/strconv.html) /psl8 (http://www.tinaja.com/psutils/bodcat.psl) /psl9 (http://www.tinaja.com/psutils/flatvue1.psl) /psl10 (http://www.tinaja.com/psutils/fern2img.psl) /psl11 (http://www.tinaja.com/psutils/flutools.psl) /psl12 (http://www.tinaja.com/psutils/mscal156q.psl) /psl13 (http://www.tinaja.com/psutils/weblogu2.psl) /psl14 (http://www.tinaja.com/psutils/pfa2pfb.psl) /psl15 (http://www.tinaja.com/psutils/pfb2pfa.psl) /psl16 (http://www.tinaja.com/glib/psdisk03.psl) /psl17 (http://www.tinaja.com/psutils/disktool.psl) /psl18 (http://www.tinaja.com/glib/psinscrt.psl) /psl19 (http://www.tinaja.com/glib/pssearch.psl) /psl20 (http://www.tinaja.com/text/refsum1.html) /psl21 (http://www.tinaja.com/text/reflog1.html) /psl22 (http://www.tinaja.com/psutils/reflog1.psl) /psl23 (http://www.tinaja.com/psutils/refsum1.psl) /psl24 (http://www.tinaja.com/psutils/searepl.psl) /psl25 (http://www.tinaja.com/psutils/weberru2.psl) /psl26 (http://www.tinaja.com/psutils/grabsrch.psl) /psl27 (http://www.tinaja.com/psutils/grabrefs.psl) /magsn01 (http://www.tinaja.com/magsn01.asp) /gonzoutils (http://www.tinaja.com/post01.asp#gonzo) /disktool (http://www.tinaja.com/psutils/disktool.ps) /elesimp (http://www.tinaja.com/glib/elesimp.pdf) /tn5603 (http://partners.adobe.com/asn/developer/pdfs/tn/TN5603.Filters.pdf) /fern2img (http://www.tinaja.com/psutils/fern2img.psl) /fern (http://www.tinaja.com/psutils/fern2img.pdf) /oldfern (http://www.tinaja.com/psutils/fernx1.pdf) /acrosdk (http://partners.adobe.com/asn/developer/acrosdk/main.html) /refman2 (http://partners.adobe.com/asn/developer/pdfs/tn/psrefman.pdf) /refman3 (http://partners.adobe.com/asn/developer/pdfs/tn/PLRM.pdf) /s3011 (http://partners.adobe.com/asn/developer/pdfs/tn/PS3010and3011.Supplement.pdf) /s2011 (http://ftp.ktug.or.kr/obsolete/info/adobe/devtechnotes/pdffiles/ps2011.supplement.pdf) /s2012 (http://ftp.ktug.or.kr/obsolete/info/adobe/devtechnotes/pdffiles/ps2012.supplement.pdf) /s2013 (http://ftp.ktug.or.kr/obsolete/info/adobe/devtechnotes/pdffiles/ps2013.supplement.pdf) /s2014 (http://ftp.ktug.or.kr/obsolete/info/adobe/devtechnotes/pdffiles/ps2014.supplement.pdf) /s2015 (http://ftp.ktug.or.kr/obsolete/info/adobe/devtechnotes/pdffiles/ps2015.supplement.pdf) /s2016 (http://ftp.ktug.or.kr/obsolete/info/adobe/devtechnotes/pdffiles/ps2016.supplement.pdf) /ghost (http://www.cs.wisc.edu/~ghost/) /distlang (http://www.tinaja.com/psutils/distlang.html) /adobepst (http://partners.adobe.com/asn/developer/technotes/) /maildon (mailto:don@tinaja.com) /tinaja (http://www.tinaja.com) /adobe (http://www.adobe.com) /adobesdk (http://partners.adobe.com/asn/developer/acrosdk/main.html) /pstrans (http://www.tinaja.com/glib/pstrans.pdf) /borland (http://www.borland.com/products/downloads/download_cbuilder.html) /ebay (http://cgi6.ebay.com/ws/eBayISAPI.dll?ViewSellersOtherItems&userid=abeja&completed=0&sort=2&since=-1&include=0&page=1&rows=100) /searepl (http://www.tinaja.com/psutils/searepl.psl) /aasdk (http://www.tinaja.com/plugins/AboutAcrobatSDK.api) /uncomp (http://www.tinaja.com/plugins/UncompressPDF.api) /addimage (http://www.tinaja.com/plugins/AddImage.api) /samplejpg (http://www.tinaja.com/plugins/sample.jpg) /transparency (http://www.tinaja.com/plugins/Transparency.api) /threerects (http://www.tinaja.com/plugins/threerects.pdf) /watermark (http://www.tinaja.com/plugins/Watermark.api) /verifyurls (http://www.tinaja.com/plugins/VerifyURLS.api) /flate (http://www.tinaja.com/glib/flatvue.pdf) /pstrans (http://www.tinaja.com/glib/pstrans.pdf) /advt01 (http://www.tinaja.com/advt01.asp) /amlink01 (http://www.tinaja.com/amlink01.asp) /ng1 (news:///comp.text.pdf) /ng2 (news:///comp.lang.postscript) /msc++ (http://msdn.microsoft.com/visualc/productinfo/default.asp) /degub (http://www.tinaja.com/glib/degub.pdf) % dead /ghostscript (http://www.artifex.com/pressreleases/GS70.htm) /demox.psl (http://www.tinaja.com/glib/g9demox.psl) /demox.pdf (http://www.tinaja.com/glib/g9demox.pdf) /demo.pdf (http://www.tinaja.com/glib/g9demo.pdf) /flatvue (http://www.tinaja.com/glib/flatvue.psl) /pdfrefman (http://partners.adobe.com/asn/developer/acrosdk/docs.html) /psrefman (http://partners.adobe.com/asn/developer/technotes/postscript.html) /pdfmrm (http://partners.adobe.com/asn/developer/acrosdk/docs.html) /tipdf (http://partners.adobe.com/asn/developer/acrosdk/docs.html) /asdk (http://partners.adobe.com/asn/developer/acrosdk) /mtcr (http://support.adobe.com/devsup/devsup.nsf/docs/51864.htm) /flatvue1 (http://www.tinaja.com/psutils/flatvue1.psl) /acrob01 (http://www.tinaja.com/acrob01.asp) /post01 (http://www.tinaja.com/post01.asp) /info01 (http://www.tinaja.com/info01.asp) /gurgrm01 (http://www.tinaja.com/gurgrm01.asp) /energfun (http://www.tinaja.com/glib/energfun.pdf) { /tilley (http://www.tilleyfoundation.com) /mnglobal (http://www.mnglobal.com/energy/pg2.htm) /keely (http://www.keelynet.com) /evolve (http://www.evolvedtechnology.com) /hack64 (http://www.tinaja.com/glib/hack64.pdf) /hackar3 (http://www.tinaja.com/glib/hackar3.pdf) /resbn58 (http://www.tinaja.com/glib/resbn58.pdf) /bppt (http://www.batterypoweronline.com) /muse112 (http://www.tinaja.com/glib/muse112.pdf) /muse113 (http://www.tinaja.com/glib/muse113.pdf) /energfun (http://www.tinaja.com/glib/energfun.pdf) /bashpseu (http://www.tinaja.com/glib/bashpseu.pdf) /adobe (http://www.adobe.com) /netscape (http://www.netscape.com) /gallypsl (http://www.tinaja.com/galley1.psl) /gallypdf (http://www.tinaja.com/galley1.pdf) /atn5150 (http://partners.adobe.com/asn/developer/acrosdk/docs/createpdfapi/pdfmarkReference.pdf) /nutour (http://www.tinaja.com/bargains/nutour02.pdf) /nutoursource (http://www.tinaja.com/bargains/nutour02.psl) /bwhistle (http://www.tinaja.com/glib/bwhistle.pdf) /gonzo1 (http://www.tinaja.com/post01.asp#gonzo) /barg01 (http://www.tinaja.com/barg01.asp) /weblib01 (http://www.tinaja.com/weblib01.asp) /gurgrm01 (http://www.tinaja.com/gurgrm01.asp) /z1 (http://www.tinaja.com/bargains/thumb/albradz2.jpg) /z2 (http://www.tinaja.com/bargains/sbtesteq.asp) /z3 (http://www.tinaja.com/images/bargs/albrad02.jpg) /z4 (http://www.tinaja.com/bargains/thumb/tutenaz2.jpg) /z5 (http://www.tinaja.com/bargains/sbphone.asp) /z6 (http://www.tinaja.com/images/bargs/tutena02.jpg) /sourceme (http://www.tinaja.com/glib/gallery.psl) /sourceme2 (http://www.tinaja.com/glib/autourl.psl) } pop >> {mark exch /eurl cvx ] cvx def} forall %%%%%%%%%%%%%%%% New colorizer patches %%%%%%%%%%%%%%%%%% /boxgrays 0.899 def /grayshade boxgrays def /mastergray boxgrays def /staytint {0.33 setgray} def /staytint1 {0.25 setgray} def /showadgrays true def /red {0 settint} def /Zmacro {staytint /ypos ypos 2 add def 72 300 div setlinewidth xpos ypos moveto txtwide 0 rlineto stroke /ypos ypos -2 add def tintoff} def % hair rule /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 % 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 /beige 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 /tinton1b {mark beige cvx % try for aqua after url??? 0.25 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tinton1a {mark /aqua cvx % try for aqua after url??? 0.25 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tinton1p {mark /burple cvx % try for aqua after url??? 0.25 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tinton1r {mark /red cvx % try for aqua after url??? 0.25 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tinton1a {mark /aqua cvx % try for aqua after url??? 0.25 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tinton1b {mark /beige cvx % try for beige after url??? 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 %%%%%%%%%%%%%% 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 /burple {0.75 settint} def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /guru { gonzo begin ps.util.1 begin printerror nuisance begin} def % guru % activate gonzo utilities 50 50 10 setgrid % create grid % 56 61 showgrid /setpagefonts { /cstretch 0.015 def /sstretch 0.015 def /font0 /StoneSans-Bold 1.6 gonzofont /font1 /StoneSans 0.95 gonzofont /font2 /StoneSans [0.95 0 0.25 0.95 0 0 ] gonzofont /font4 /StoneSans 0.85 gonzofont /font3 /StoneSans-Bold 0.85 gonzofont /font6 /StoneSans-Bold 0.85 gonzofont /font7 /StoneSans-Bold 1.05 gonzofont % subheaders /font8 /StoneSans-Bold [0.65 0 0 0.65 0 0.4] gonzofont /txtwide 36 store /yinc 1.2 store /kern 0.1 store /pm 1.5 store aqua 0.33 setgray font1 black /amacro { mark /aqua cvx 0.33 /setgray cvx ] cvx printlist exch 3 index exch % stuff into gonzo printlist put exch 1 add exch } def /bmacro { mark /black cvx ] cvx printlist exch 3 index exch % stuff into gonzo printlist put exch 1 add exch } def /shiftin {xpos /xposhold exch store /xpos xpos 3 add store} def /shiftout {/xpos xposhold store} def /texttop 51 store /textleft 3 store /cmacro {aqua 0.25 setgray (znhL7) stringmacro /xpos xpos 1.7 sub store /ypos ypos .1 sub def } def % left title /dmacro {black (pL1hz) stringmacro /xpos xpos 1.7 add store /ypos ypos .1 add def} def % normal text after centered title /fmacro % try and fake | {mark /gsave cvx /currentpoint cvx /moveto cvx 0.1 /setlinewidth cvx 0 0.65 /rlineto cvx /stroke cvx /grestore cvx ] cvx printlist exch 3 index exch put % stuff into gonzo printlist exch 1 add exch % increment gonzo list count } def } def setpagefonts % -2 50.5 (optional header here \274) cl %% Set document opening conventions. Note DOCVIEW limited. [/CropBox [0 0 520 620] % set the wierd size /PAGES pdfmark [ {Catalog} << /ViewerPreferences << /FitWindow true /CenterWindow true >> /PageLayout /OneColumn % continous /Pagemode /UseNone % no thumbs /View [/XYZ null null 1 ] % force 100% >> /PUT pdfmark %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% page manager /pagenum 1 store /startnewpage { black beige 0.35 setgray 21 -2.5 (|3\320|j|j) ggnum 10 string cvs mergestr (|j.|j) mergestr pagenum 10 string cvs mergestr (|j|j\320) mergestr cc aqua showpage %% start next page /pagenum pagenum 1 add store 50 50 10 setgrid % create grid setpagefonts font1 textleft texttop } def /su {surl font6} store /to {tinton1 font6} store /tx {tintoff font1} store /tabs [7 20] store %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % //// REVISED DIPDRAW PROC ///// electronics begin % dipdraw - draws a dip integrated circuit. (old code to be improved) % Enter with currentpoint set to pin 1 and scale % set so that 1.0 = distance between pins. Then % do a numpins-(name)-(hipins)-(lopins) dipdraw % Pin callouts preceeded by / will be complemented. % main dipdraw entry: /dipdraw { save /dipsnap exch def /hipins exch def /lopins exch def /chipname exch def /numpins exch def mark 0 0 0 0 0 0 0 0 0 0 0 0 % temp patch /howlong {numpins 2 div cvi 1 add} def /howhigh {4 numpins 36 ge {1 add} if} def /stub {howhigh 1.4 sub 2 div} def % internal service subs start here: /pinproc {numpins 2 div cvi{newpath 0 cpos 0.37 0 360 arc gsave 1 setgray fill grestore 0.067 setlinewidth stroke pin# 5 string cvs dup stringwidth pop 2 div neg cpos 0.2 sub moveto show 1 0 translate /pin# pin# dir add def} repeat } def /stretchprint { dup stringwidth pop 2 div neg exch length 1 sub stretch mul 2 div sub 0 moveto callout (/) anchorsearch true eq {currentpoint exch stretch add exch moveto pop dup /callout exch def stringwidth pop callout length 1 sub stretch mul add /barwide exch def 0.033 setlinewidth gsave currentpoint 0.55 add moveto barwide 0 rlineto stroke grestore} if stretch 0 callout ashow pop} def /pincallouts{0 vpos translate {workstring ( ) search true eq {/callout exch def pop /workstring exch def callout stretchprint 1 0 translate}{dup /callout exch def stretchprint exit } ifelse}loop} def % actual dipdraw process starts here: % ........ the outline: gsave 1 setlinecap 1 setlinejoin currentpoint translate newpath -1 howhigh 2 div 0.7 -90 90 arc 0 stub rlineto howlong 0 rlineto 0 howhigh neg rlineto howlong neg 0 rlineto closepath gsave grayshade setgray fill grestore grayshade dup 1 ne {0.33}{0} ifelse setgray 0.36 setlinewidth stroke newpath -.55 .45 0.15 0 360 arc fill black % ........ pin circles and numbers: /Helvetica-Bold findfont [0.4 0 0 0.55 0 0] makefont setfont gsave /pin# 1 def /dir 1 def /cpos 0 def pinproc grestore gsave /pin# numpins def /dir -1 def /cpos howhigh def pinproc grestore % pin callouts: /Helvetica findfont [0.35 0 0 0.6 0 0] makefont setfont /stretch 0.033 def gsave /workstring hipins def /vpos 0.6 def pincallouts grestore gsave /workstring lopins def /vpos howhigh 1.05 sub def pincallouts grestore % device number: grayshade 1 ne {0.33}{0} ifelse setgray /Helvetica-Bold findfont [1.4 0 0 1 0 0] makefont setfont /stretch 0.05 def gsave numpins 2 div 1 sub 2 div howhigh 2 div 0.33 sub translate chipname dup /callout exch def stretchprint grestore black % end cleanup: grestore grestore cleartomark dipsnap restore} def end % get out of electronics? %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Burplebox routines /burpwide 29.5 store /burpcom {save /burpx exch store /bht exch store save /burp1 exch store xpos ypos translate -1 .2 mt bht yinc mul .4 add pd burpwide pr bht yinc mul .4 add pu closepath 0.9 setgray fill burp1 restore} store /burpwidew 32 store /burpcomw {save /burpx exch store /bht exch store save /burp1 exch store xpos 1 sub ypos translate 0 .2 mt bht yinc mul .4 add pd burpwidew pr bht yinc mul .4 add pu closepath 0.9 setgray fill burp1 restore} store { /burplebox1 {1.5 burpcom} store /burplebox1.5 {2 burpcom} store /burplebox2 {2.5 burpcom} store /burplebox2.5 {3 burpcom} store /burplebox3 {3.5 burpcom} store /burplebox3.5 {4 burpcom} store /burplebox4 {4.5 burpcom} store /burplebox4.5 {5 burpcom} store /burplebox5 {5.5 burpcom} store /burplebox5.5 {6 burpcom} store /burplebox6 {6.5 burpcom} store /burplebox6.5 {7 burpcom} store /burplebox7 {7.5 burpcom} store /burplebox7.5 {8 burpcom} store /burplebox8 {8.5 burpcom} store /burplebox8.5 {9 burpcom} store /burplebox9 {9.5 burpcom} store /burplebox9.5 {10 burpcom} store /burplebox10 {10.5 burpcom} store /burplebox10.5 {11 burpcom} store /burplebox11 {11.5 burpcom} store /burplebox11.5 {12 burpcom} store /burplebox12 {12.5 burpcom} store /burplebox11w {11.5 burpcomw} store /burplebox12.5 {13 burpcom} store /burplebox13 {13.5 burpcom} store /burplebox13.5 {14 burpcom} store /burplebox14 {14.5 burpcom} store /burplebox14.5 {15 burpcom} store /burplebox15{15.5 burpcom} store /burplebox15.5{16 burpcom} store /burplebox16 {16.5 burpcom} store /burplebox16.5 {17 burpcom} store /burplebox17 {17.5 burpcom} store /burplebox17.5 {18 burpcom} store /burplebox18 {18.5 burpcom} store /burplebox18.5 {19 burpcom} store /burplebox19 {19.5 burpcom} store /burplebox19.5 {20 burpcom} store /burplebox20 {20.5 burpcom} store /burplebox21.5 {22 burpcom} store /burplebox22{22.5 burpcom} store /burplebox22.5 {23 burpcom} store /burplebox23 {23.5 burpcom} store /burplebox23.5 {24 burpcom} store /burplebox24{24.5 burpcom} store /burplebox25{25.5 burpcom} store /burplebox25.5{26 burpcom} store /burplebox27{27.5 burpcom} store /burplebox28 {28.5 burpcom} store /burplebox28.5 {29 burpcom} store /burplebox30 {30.5 burpcom} store /burplebox31 {31.5 burpcom} store /burplebox31.5 {32 burpcom} store /burplebox33.5 {34 burpcom} store /burplebox34 {34.5 burpcom} store /burplebox38 {38.5 burpcom} store /burplebox38.5{39 burpcom} store /burplebox40{40.5 burpcom} store /burplebox40.5{41 burpcom} store /burplebox41.5{42 burpcom} store /burplebox42 {42.5 burpcom} store /burplebox42.5{43 burpcom} store % nearly a full page /burplebox43 {43.5 burpcom} store } pop 1 1 50 {cvi /size exch store % make all the burpleboxes (burplebox) size 20 string cvs mergestr cvn mark size 0.5 add /burpcom cvx ] cvx store (burplebox) size 0.5 add 20 string cvs mergestr cvn mark size 1 add /burpcom cvx ] cvx store } for /burplebox34w{34.5 burpcomw} store /burplebox34.5w{35 burpcomw} store /burplebox38w{38.5 burpcomw} store /burplebox38.5w{39 burpcomw} store /burplebox40w{40.5 burpcomw} store %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % New sequence of auto positioning figures... % combined autopos jpeg conversion and hotlink: /autoimageandlink1 {save /af1 exch store xpos ypos yinc add translate 8.5 0.65 683 794 .025 % xpos ypos xres yres pixscale (http://www.tinaja.com/images/bargs/hpexcb01.jpg) % url first (C:\\Documents and Settings\\don\\Desktop\\aarawpix\\hpexcb01.jpg) jpegimageprocwithlink af1 restore} store /autoimageandlink2 {save /af2 exch store xpos ypos yinc add translate 8.5 -2 790 672 .020 % xpos ypos xres yres pixscale (http://www.tinaja.com/images/bargs/tek40841.jpg) % url first (C:\\windows\\desktop\\aaraw_pix\\tek40841.jpg) jpegimageprocwithlink af2 restore} store /jpegimageprocwithlink { % hoffset voffset hres vres save /snap2 exch def /infilename exch store % grab passed pix file /inurllink exch store % grab link filename /photoscale exch store /vpixels exch store /hpixels exch store translate % adjust position for final figure ??? inurllink setareaurl % autolink sizing /DeviceRGB setcolorspace % pick color model 0 0 translate % set page position hpixels vpixels scale % magnify unit square photoscale 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 ypos snap2 restore /ypos exch def } def /setareaurl { % for auto include routine /cururlname exch store mark % start pdfmark /Rect [ 0 0 hpixels photoscale mul vpixels photoscale mul ] /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 %%%%%%%%%%%%% ordinary tracking figures /autofig1 { /figadvance 13 store save /snap1 exch store xpos 2 add ypos figadvance sub translate figure1 snap1 restore /ypos ypos figadvance sub yinc sub store } store /autofig2 { /figadvance 13 store save /snap2 exch store xpos 2 add ypos figadvance sub translate figure1 snap2 restore /ypos ypos figadvance sub yinc sub store } store %%%%%%%%%%%%%%% fixed position figures here %%%%%%%%%%%%%%% /figure1 {0 0 mt 10 pu 10 pr 10 pd closepath fill} store % temp tester /figure1 { save /f1snap exch store mark 5 12.2 translate -55 rotate 0.09 dup scale -100 -100 translate /solvexy {/ff exch store % grab values - not optimized /ee exch store /dd exch store /cc exch store /bb exch store /aa exch store cc aa dd div ff mul sub bb aa ee mul dd div sub div /yy exch store /xx cc bb yy mul sub aa div store xx yy } store /bez4ptsx1 {aload pop % unpack array /y3 exch store /x3 exch store % stash data. Strange /y5 exch store /x5 exch store % numbering is in use /y4 exch store /x4 exch store /y0 exch store /x0 exch store % find the chords /c1 x4 x0 sub dup mul y4 y0 sub dup mul add sqrt store /c2 x5 x4 sub dup mul y5 y4 sub dup mul add sqrt store /c3 x3 x5 sub dup mul y3 y5 sub dup mul add sqrt store % guess at the best t values % /t1 c1 dup c2 add c3 add div store % /t2 c1 c2 add dup c3 add div store /b0 {1 exch sub dup dup mul mul} store /b1 {dup 1 exch sub dup mul mul 3 mul} store /b2 {dup 1 exch sub exch dup mul mul 3 mul} store /b3 {dup dup mul mul} store % ai + bj = k t1 b1 t1 b2 x4 x0 t1 b0 mul sub x3 t1 b3 mul sub t2 b1 t2 b2 x5 x0 t2 b0 mul sub x3 t2 b3 mul sub solvexy /x2 exch store /x1 exch store t1 b1 t1 b2 y4 y0 t1 b0 mul sub y3 t1 b3 mul sub t2 b1 t2 b2 y5 y0 t2 b0 mul sub y3 t2 b3 mul sub solvexy /y2 exch store /y1 exch store x0 y0 moveto x1 y1 x2 y2 x3 y3 curveto } def /data [100 100 180 120 270 190 320 100 sub 300] store % /data [100 100 200 120 300 190 200.24 300] store /bdot {gsave 16 dup scale 0 0 dot grestore} store /bdot8 {gsave 6 dup scale 0 0 dot grestore} store data 0 get data 1 get mt bdot data 2 get data 3 get mt bdot data 4 get data 5 get mt bdot data 6 get data 7 get mt bdot /t1 0.33 store /t2 0.67 store 100 100 moveto % demo - comment before use data bez4ptsx1 0.35 setlinewidth stroke true { 1 0 0 setrgbcolor /t1 0.28 store /t2 0.72 store 100 100 moveto % demo - comment before use data bez4ptsx1 0.35 setlinewidth stroke 0 0 1 setrgbcolor /t1 0.37 store /t2 0.63 store 100 100 moveto % demo - comment before use data bez4ptsx1 0.35 setlinewidth stroke } if cleartomark f1snap restore } store /figure1 { save /f1snap exch store 5 -7.5 translate 0.1 dup scale /dots [0.0 0.0 0.264953 1.54495 0.604746 3.07298 1.03917 4.57484 1.59717 6.03836 2.31306 7.42849 3.22877 8.69581 4.37073 9.76335 5.71563 10.5583 7.19172 11.074 8.7265 11.3795 10.2797 11.5763 11.8334 11.7684 13.371 12.0601 14.8541 12.5554 16.2111 13.3298 17.3652 14.3824 18.2898 15.6429 19.0102 17.0323 19.5673 18.4938 20.0 20.0] store 0 0 10 setgrid 20 20 showgrid /x0 0 store /y0 0 store /x1 3 store /y1 20 store /x2 16 store /y2 4 store /x3 20 store /y3 20 store x0 y0 moveto x1 y1 x2 y2 x3 y3 curveto black line1 stroke 0 1 20 {2 mul /jj exch store dots jj get dots jj 1 add get mt dot } for f1snap restore } store %%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%% special figure one for gg61 book layout /figure1 { save /f1xsnap exch store gsave % temp 10.2 0.8 translate 0.4 dup scale % adjust fit on page % add an active link for expandion temporary /cururlname (http://www.tinaja.com/glib/loglog01.pdf) store mark % start pdfmark /Rect [ 0 0 30 30 ] /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 % Custom Engineering Graphs: A log log display % ================================== % by Don Lancaster % Copyright c 2006 by Don Lancaster & Synergetics, Box 809, Thatcher, AZ, 85552 % (928) 428-4073 Email: don@tinaja.com Website: http://www.tinaja.com % Consulting services available http://www.tinaja.com/info01.html % All commercial rights and all electronic media rights ~fully~ reserved. % Linking usually welcome. Reposting expressly forbidden. Version 1.1 % An example of using my Gonzo Utilities to do a custom engineering graph. % Detailed example does a scatterplot on a 3x3 log graph. % IMPORTANT NOTE: Don Lancaster's file gonzo.ps is required for this program. % This may be freely downloaded from http://www.tinaja.com/post01.asp#gonzo % To activate after obvious location mods, uncomment ONE of the following two lines: % (C:\\Documents and Settings\\don\\Desktop\\gonzo\\gonzo.ps) run % use internal gonzo % (A:\\gonzo.ps) run % use external gonzo % Plus the next line when Gonzo is to be activated... % gonzo begin ps.util.1 begin nuisance begin % NOTE THAT ALL PS FILENAME STRINGS !!!DEMAND!!! DOUBLE REVERSE SLASHES. % To use this program, you modify your values and save it as an ordinary ASCII % textfile. That file is then sent to Acrobat Distiller for coversion to a .PDF % file format. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%% Fixzed Input Data %%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /backgroundcolor {0.8 1 1} store % background color of graph /graphlinecolor {0 0.8 0.8}store % line color of graph /datadotcolor {0.3 0.3 0.3} store % dot color % loglines establishes the fine line detail of the log plots % always refers to a 1,1 lower left axis and NOT to the actual % scaled data values /loglines [ 1 2 3 4 5 6 7 8 9 10 20 30 40 50 60 70 80 90 100 200 300 400 500 600 700 800 900 1000 ] store /xdatascale 1.0 store % scale factor to make left data = 1 /ydatascale 10 store % scale factor to make bottom data = 1 /xaxisname (TREES PER ACRE) store % x axis label /yaxisname (TREE DIAMETER IN INCHES) store % y axis label /xnums [1 10 100 1000] store % scaled x axis data /ynums [.1 1.0 10 100] store % scaled y axis data /maintitle (HULAPAI TIMBER ALLOTMENT\n( T20N R15E ) ) store % main title % /inputdata may be cut and pasted here or run as a separate textfile % below. Format is an array of [ x0, y0, x1, y1, .... xn, yn ] data % values. Limited to a maximum of 32767 data value pairs. Data is % ACTUAL values, not graph scaled ones. /inputdata [ 3.0634 0.3678 3 3 3 30 30 0.4 30 4 30 40 300 0.5 300 5 300 50 100 {90 random 10 add 90 random 10 add 10 div } repeat % fake some dense data ] store % Note: fonts must be defined BELOW and AFTER grid is established. % Availability of STONE font is recommended for this demo. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%% File Read Input Data %%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Any and all of the above data may optionally be read from a textfile. % If used, be sure to use a DOUBLE reverse % slash every time you want a single one in a PostScript string. % Be sure to provide complete, correct, and accurate location for access. % /datafilename (C:\\Documents and Settings\\don\\Desktop\\trees\\tree1.txt) store % Uncomment the following line ONLY if external data is to be disk read... % datafilename run % run additional data from external file. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%% Low Level Graph Creating Code %%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % /makeagrid establishes the grid size. Each 10 x 10 area will be one % decade. Also puts down edges and background of log display area /makeagrid { % 100 100 10 setgrid % establish xposn yposn size grid /cstretch 0.01 store % adjust font to grid /sstretch 0.01 store backgroundcolor setrgbcolor % paint background. Comment out 0 0 mt 30 pu 30 pr 30 pd % or use [1 1 1] for white closepath fill graphlinecolor setrgbcolor % paint decades heavier line2 1 setlinecap 1 setlinejoin [ {-0.3 0 mt 30.3 r}10 4 ] yrpt % [{action} spacing repeats ] [ {0 -0.3 mt 30.3 u}10 4 ] xrpt } store % /make3x3log provides the inside detail for the log graphs. Both axes % done separately just in case semilog is later needed /make3x3log { line1 % thin line 0 1 loglines length 1 sub % draw verticals {/ptr exch store loglines ptr get log 10 mul 0 mt 30 u } for 0 1 loglines length 1 sub % draw horizontals {/ptr exch store loglines ptr get 0 exch log 10 mul mt 30 r } for } store % /plotdata scales and plots the data points from the inputdata array /plotdata { datadotcolor setrgbcolor % set dot color 0 2 inputdata length 2 sub % go through plotdata list {/ptr1 exch store % save location inputdata ptr1 get % get x value xdatascale mul log 10 mul inputdata ptr1 1 add get % get y value ydatascale mul log 10 mul mt dot % and plot dot } for } store % /addaxis lables the axes /addaxis { /font1 /StoneSans-Bold 0.85 gonzofont % numeric value font /font2 /StoneSans-Bold 1.2 gonzofont % title value font font1 % pick numeric font black % and color 0 1 xnums length 1 sub { % show the x axis nums /ptr2 exch store ptr2 10 mul -1.5 xnums ptr2 get 20 string cvs cc } for 0 1 ynums length 1 sub { % show the y axis nums /ptr2 exch store -0.9 ptr2 10 mul 0.3 sub ynums ptr2 get 20 string cvs cr } for font2 15 -3.5 xaxisname cc gsave -3.5 15 translate 90 rotate 0 0 yaxisname cc grestore } store % /addboiler provides the main graph name, can later extensively annotate. /addboiler { /font3 /StoneSans-Bold 2 gonzofont % title value font font3 /yinc 2.2 store 15 35 maintitle cc % print main title } store %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%% High Level Graph Creating Code %%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This routine combines the needed steps for the complete log log plot. /makealogloggraph { makeagrid % sets up grid make3x3log % draws log graph addaxis % letters the axes plotdata % plots data points addboiler % adds title and desc } store % temp defaults. uncomment for debug % /make3x3log {} store % /addaxis {} store % /plotdata {} store /addboiler {} store %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%% Actual Graph Creator %%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This routine actually draws the graph makealogloggraph grestore % undo translate and page positioning f1xsnap restore } store %%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%% specific to gg65 ms executive summary %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%% specific figures for append %%%%%%%%%%%%%% /ms0360 { save /snapxx exch store 5 -0.35 translate % reposition absolute on page 0.76 dup scale /hh {32 mul 90 div 0.78 mul } store /uu 12.5 store /posninc 90 7.5 div store /p1s 11.086 store % best efficiency leans /p1e 12.913 store /p2s 22.211 store /p2e 25.788 store /p3s 33.416 store /p3e 38.583 store /p4s 44.733 store /p4e 51.266 store /p5s 56.192 store /p5e 63.807 store /p6s 67.819 store /p6e 76.180 store /p7s 79.628 store /p7e 88.371 store /msinplot {gsave translate 0.5 0 0.5 setrgbcolor line1 gsave % [{0 12 moveto 0.8 u} posninc hh 8] xrpt grestore 0 0 mt p1s hh pr uu pu p1e p1s sub hh pr uu pd p2s p1e sub hh pr uu pu p2e p2s sub hh pr uu pd p3s p2e sub hh pr uu pu p3e p3s sub hh pr uu pd p4s p3e sub hh pr uu pu p4e p4s sub hh pr uu pd p5s p4e sub hh pr uu pu p5e p5s sub hh pr uu pd p6s p5e sub hh pr uu pu p6e p6s sub hh pr uu pd p7s p6e sub hh pr uu pu p7e p7s sub hh pr uu pd 90 p7e sub hh pr gsave 0 0.83 0.83 setrgbcolor fill grestore line3 1 setlinecap 1 setlinejoin 0 0.33 0.33 setrgbcolor stroke grestore} store 0.8 1 scale % 40 100 showgrid /lilplot0 {gsave translate 0.5 0.5 scale 0 0 msinplot grestore} store /lilplot1 {gsave translate -0.5 0.5 scale 0 0 msinplot grestore} store /lilplot2 {gsave translate 0.5 -0.5 scale 0 0 msinplot grestore} store /lilplot3 {gsave translate -0.5 -0.5 scale 0 0 msinplot grestore} store 0 10 lilplot0 25 10 lilplot1 24.5 10 lilplot2 49.5 10 lilplot3 snapxx restore } store %%%%%%%%%%%%%%%%%%%%% /spectrumplot {save /snap3 exch store /cstretch 0.01 store /sstretch 0.01 store /font0 /StoneSans-Bold 1.2 gonzofont /font1 /StoneSans-Bold 1 gonzofont font1 /kern 0.1 store /yinc 1.1 store 7.5 5.8 translate % adjust position 0.7 dup scale gsave 0.75 1 1 setrgbcolor 0 0 mt 15 pu 36.5 pr 15 pd closepath fill grestore % 33 13 showgrid % uncomment to view gsave line1 [{0 0 mt 0.3 d} 2 19] xrpt grestore gsave line1 [{-0.4 3 mt 36.9 r} 3 5] yrpt grestore line1 36.5 0 mt 15 u 0 1 1 setrgbcolor 0 setlinecap line1 0.5 0 mt 15 pu 1 pr 15 pd gsave closepath fill grestore 0 0.33 0.33 setrgbcolor stroke 1 0 1 setrgbcolor 28.5 0 mt 4.2 pu 1 pr 4.2 pd gsave closepath fill grestore 0.33 0 0.33 setrgbcolor stroke 1 0 1 setrgbcolor 30.5 0 mt 2.25 pu 1 pr 2.25 pd gsave closepath fill grestore 0.33 0 0.33 setrgbcolor stroke 1 0 1 setrgbcolor 32.5 0 mt 3 pu 1 pr 3 pd gsave closepath fill grestore 0.33 0 0.33 setrgbcolor stroke 1 0 1 setrgbcolor 34.5 0 mt 0.5 pu 1 pr 0.5 pd gsave closepath fill grestore 0.33 0 0.33 setrgbcolor stroke black % /font1 /Helvetica 0.8 gonzofont font1 font1 /yinc 2 store /kern 0.1 store gsave 1.45 -0.9 translate 90 rotate black 0 0 (1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35) cr grestore font0 0.25 dup dup setrgbcolor % temp gray 12.5 -4 (HARMONIC NUMBER) cl font1 -1 -0.3 (0.0) cr -1 2.7 (0.2) cr -1 5.7 (0.4) cr -1 8.7 (0.6) cr -1 11.7 (0.8) cr -1 14.7 (1.0) cr gsave -3.5 4.0 translate 90 rotate % black font0 0 0 (AMPLITUDE) cl grestore black line2 0 0 mt -.5 0 mt 37 r 0 -.5 mt 16 u black font1 11 12.6 ((|jbest efficiency n|j=|j28|j a|j=|j0.97|j)) cl % flashtext font0 1 0 0 setrgbcolor 15 6.65 (All Intermediate\nHarmonics are ZERO|j!!!) cc snap3 restore } store %%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%% /plot2897 {save /snap4 exch store /cstretch 0.01 store /sstretch 0.01 store /font0 /StoneSans-Bold 1.2 gonzofont /font1 /StoneSans-Bold 1 gonzofont font1 /kern 0.1 store /yinc 1.1 store 3.2 14 translate % adjust position 0.85 dup scale %%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%% pattern utilities %%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%% /bluerndcolor [153 215 230 40] store % random pattern colors [red blue green variance ] /slidewide 40 store /slidehigh 36.5 store /DeviceRGB setcolorspace % pick color model /hpixels 50 store % size of pattern image /vpixels 50 store /issize hpixels vpixels mul store % makestring converts a stack top array into a string... /makestring {dup length string dup /NullEncode filter 3 -1 roll {1 index exch write} forall pop} def % /buildpixels makes three nearby colors given [r b g texture] all 0-255 integers /buildpixels {aload pop /texture exch store /b0 exch store /g0 exch store /r0 exch store 123 srand /r1 r0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store /g1 g0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store /b1 b0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store /r2 r0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store /g2 g0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store /b2 b0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store /r3 r0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store /g3 g0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store /b3 b0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store } store % /makeimagestring creates a sting usable for a pattern image /makeimagestring { 12345 srand % make repeatable /iarray mark issize { r1 g1 b1} repeat ] store % fill all with color 1 issize 2 div cvi { iarray issize % fill half with color 2 random 3 mul cvi [ r2 g2 b2 ] putinterval} repeat issize 2 div cvi { iarray issize % fill third with color 3 random 3 mul cvi [ r3 g3 b3 ] putinterval} repeat iarray makestring } store % /rndimage shows the random string as a patternable image /bodyrandimage { gsave 5 dup scale << % start image dicationary /ImageType 1 % always one /Width hpixels % width in pixels /Height vpixels % height in pixels /ImageMatrix [hpixels 0 0 vpixels neg 0 vpixels ] /DataSource bodypatstring % proc to get string data /BitsPerComponent 8 % color resolution /Decode [0 1 0 1 0 1] % per red book 4.10 >> image % call the image grestore } def /accentrandimage { gsave 5 dup scale << % start image dicationary /ImageType 1 % always one /Width hpixels % width in pixels /Height vpixels % height in pixels /ImageMatrix [hpixels 0 0 vpixels neg 0 vpixels ] /DataSource accentpatstring % proc to get string data /BitsPerComponent 8 % color resolution /Decode [0 1 0 1 0 1] % per red book 4.10 >> image % call the image grestore } def % using a separate pattern dictionary for each pattern... /bodypatdict << /PatternType 1 % Tiling pattern /PaintType 1 % Colored /TilingType 1 /BBox [0 0 50 50] /XStep 5 /YStep 5 /PaintProc { begin bodyrandimage end} >> store /accentpatdict << /PatternType 1 % Tiling pattern /PaintType 1 % Colored /TilingType 1 /BBox [0 0 50 50] /XStep 5 /YStep 5 /PaintProc { begin accentrandimage end} >> store % /makepatternstrings generates the needed patterns /makepatternstrings { [230 100 230 120] pop bluerndcolor buildpixels makeimagestring /bodypatstring exch store } store bluerndcolor buildpixels makepatternstrings %%%%%%%% end pattern utils %%%%%%%% save /snap1 exch store % show the body background bodypatdict matrix % Identity matrix makepattern % Instantiate the pattern /bodypat exch def 0 0 % for the actual slide size slidewide slidehigh /Pattern setcolorspace bodypat setcolor rectfill % Fill rectangle with pattern snap1 restore %%%% end % 40 36 showgrid /cstretch 0.01 store /sstretch 0.01 store /font1 /StoneSans-Bold 0.95 gonzofont % parameter value font /font2 /StoneSans [0.85 0 0 1 0 0 ] gonzofont % numeric value font /orange { 241 255 div 158 255 div 30 255 div setrgbcolor } store /magenta { 254 255 div 156 255 div 255 236 div setrgbcolor } store /ltblue { 207 255 div 255 255 div 255 255 div setrgbcolor } store /white {1 1 1 setrgbcolor} store /lime { 54 255 div 255 255 div 52 255 div setrgbcolor } store /aqua { 102 255 div 255 255 div 201 255 div setrgbcolor } store orange %%%%%%%%%%%% orange series gsave .8 .8 translate [{orange 0 0 mt 1.7 pu 12.0 pr 1.7 pd closepath fill white 2.9 .2 mt 1.3 pu 8.2 pr 1.3 pd fill} 2.2 14] yrpt font1 0.33 dup dup setrgbcolor /dat1 [(p7e:) (p7s:) (p6e:) (p6s:) (p5e:) (p5s:) (p4e:) (p4s:) (p3e:) (p3s:) (p2e:) (p2s:) (p1e:) (p1s:)] store font1 0.12 dup dup setrgbcolor 0 1 dat1 length 1 sub {/ii exch store 1.23 0.6 ii 2.2 mul add dat1 ii get cc} for /dat2 [ (89.76625289081) (75.93480958918) (75.13315213749) (63.77803849250) (62.12795009229) (52.45588082770) (49.57368364472) (41.56706542527) (37.14383081926) (30.95837849073) (24.75285471101) (20.53940226898) (12.37453450377) (10.24045703622) ] store font2 0 1 dat2 length 1 sub {/ii exch store 3.7 0.55 ii 2.2 mul add dat2 ii get cl} for gsave 0 31.2 translate lime 0 0 mt 3.7 pu 12 pr 3.7 pd fill 13 0 mt 3.7 pu 25 pr 3.7 pd fill % right lime font1 0.12 dup dup setrgbcolor /yinc 1.2 store 6 2 (Pulse Positions\nin Degrees) cc 25 2.2 (Target Amplitude: ) cr 25 1.9 1.3 sub (Target Power: ) cr [{white 25.7 0.3 mt 1.3 pu 8.2 pr 1.3 pd fill} 1.7 2] yrpt font2 26 2.2 (0.970000000) cl 26 0.6 (0.9409 ) cl grestore % lime grestore % undo whole left %%%%%%%% %%%%%%%%%%%% mid blue series gsave 13.8 .8 translate [{ltblue 0 0 mt 1.7 pu 12.0 pr 1.7 pd closepath fill white 2.9 .2 mt 1.3 pu 8.2 pr 1.3 pd fill} 2.2 12] yrpt font1 0.33 dup dup setrgbcolor /dat3 [(h25:) (h23:) (h21:) (h19:) (h17:) (h15:) (h13:) (h11:) (h09:) (h07:) (h05:) (h03:) ] store font1 0.12 dup dup setrgbcolor 0 1 dat3 length 1 sub {/ii exch store 1.23 0.6 ii 2.2 mul add dat3 ii get cc} for /dat4 [ (-0.00000000014) (-0.00000000032) (-0.00000000004) (-0.00000000021) (-0.00000000022) (-0.00000000002) (-0.00000000024) ( 0.00000000044) (-0.00000000022) (-0.00000000011) (-0.00000000013) (0.000000000070) ] store font2 0 1 dat4 length 1 sub {/ii exch store 3.7 0.55 ii 2.2 mul add dat4 ii get cl} for gsave % magenta series magenta [{magenta 0 26.4 mt 1.7 pu 25.0 pr 1.7 pd closepath fill} 2.2 2 ] yrpt font1 0.12 dup dup setrgbcolor 0.8 26.8 (THD ) cl 0.8 6.2 add 26.8 (is ) cl 0.8 15.3 add 26.8 (percent.) cl 0.8 26.8 2.3 add (Fundamental Amplitude:) cl white 3.2 5.2 add 26.6 mt 1.3 pu 7.2 pr 1.3 pd fill white 14.2 28.8 mt 1.3 pu 7.2 pr 1.3 pd fill % fund amp box white 3.2 26.6 mt 1.3 pu 3.2 pr 1.3 pd fill 0.12 dup dup setrgbcolor font2 3.6 26.8 (2-28) cl 8.7 26.8 (0.00000006128) cl font2 14.7 27 2.1 add (0.97000000) cl grestore % burple grestore % whole middle %%%%%%%% %%%%%%%%%%%% right blue series gsave 26.8 .8 translate [{ltblue 0 0 mt 1.7 pu 12.0 pr 1.7 pd closepath fill white 2.9 .2 mt 1.3 pu 8.2 pr 1.3 pd fill} 2.2 12] yrpt [{aqua 0 19.8 mt 1.7 pu 12.0 pr 1.7 pd closepath fill white 2.9 20 mt 1.3 pu 8.2 pr 1.3 pd fill } 2.2 2] yrpt % emphasis font1 0.33 dup dup setrgbcolor /dat1 [(h49:) (h47:) (h45:) (h43:) (h41:) (h39:) (h37:) (h35:) (h33:) (h31:) (h29:) (h27:) ] store font1 0.12 dup dup setrgbcolor 0 1 dat1 length 1 sub {/ii exch store 1.23 0.6 ii 2.2 mul add dat1 ii get cc} for /dat6 [ (-0.00924395093) ( 0.00562585661) (-0.00342276346) ( 0.00211106203) (-0.00078946014) ( 0.00660309293) ( 0.04412815271) ( 0.17750740386) ( 0.20474366480) (-0.15202976905) (-0.28097991216) (-0.00000000009) ] store font2 0 1 dat6 length 1 sub {/ii exch store 3.7 0.55 ii 2.2 mul add dat6 ii get cl} for grestore snap4 restore } store %%%%%%%% /stalacs { %figadvance has to go in figuretwoauto save /snap3 exch def 11 10.3 translate % latest page positioner 0.8 dup scale -0.5 2.5 translate % reposition on page INTERACTS WITH FIGADVANCE 0 1 0 setrgbcolor % green grid /linestring 1000 string store /sdatproc { 0.0 0.7 0.1 setrgbcolor [ 0.4 7.33 0.38 6.36 -0.32 7.12 -0.04 7.33 -0.38 7.07 -0.07 7.26 -0.2 4.68 0.07 5.15 0.11 6.17 -0.27 4.26 0.01 6.32 -0.23 4.79 0.05 2.95 -0.29 6.05 -0.02 6.3 0.02 7.29 -0.09 7.37 -0.15 6.89 -0.12 6.19 0.16 5.06 -0.18 7.0 0.1 7.32 0.13 7.29 -0.71 7.44 -0.54 5.7 -0.26 7.38 -0.88 6.82 -0.6 4.84 -0.56 5.38 -0.29 5.67 -0.63 6.12 -0.49 7.26 -0.45 6.66 -0.17 7.01 -0.51 7.05 ] makedots 0.6 0.2 1.0 setrgbcolor [ 0.65 7.03 0.69 6.23 0.97 6.68 0.63 6.72 0.62 6.51 0.6 7.45 0.8 6.74 1.08 7.27 0.74 6.98 0.74 6.97 1.05 7.33 0.71 6.69 0.38 7.38 0.04 6.4 0.32 6.16 0.36 5.3 0.63 7.17 0.02 7.15 0.3 5.41 0.01 6.4 0.29 5.16 0.33 7.08 -0.05 7.19 0.23 7.39 0.26 5.94 0.47 5.9 0.13 7.29 0.41 5.73 0.44 7.34 0.13 6.76 0.4 5.73 0.44 6.52 0.72 7.49 0.07 7.3 0.1 7.49 0.38 4.95 0.66 7.44 ] makedots 0.6 0.4 0.0 setrgbcolor [ 1.63 6.68 0.93 5.94 1.21 6.41 1.25 7.01 0.87 6.21 0.91 6.32 1.19 5.19 1.05 5.6 1.33 6.22 1.36 5.73 0.99 5.61 1.26 7.47 1.02 4.35 1.3 2.75 1.33 6.82 0.96 6.06 1.24 6.51 1.27 6.22 1.41 6.99 0.6 6.37 0.54 6.21 0.58 6.38 0.85 6.71 0.72 6.05 0.38 7.2 0.65 5.61 0.69 4.44 0.97 5.07 0.63 5.68 0.9 7.44 0.94 7.24 ]makedots 0.0 0.6 0.5 setrgbcolor [ 1.94 5.77 2.22 6.47 1.88 6.61 2.19 7.1 1.88 6.99 1.91 7.36 2.19 7.2 1.85 6.98 1.5 6.84 1.44 7.42 1.3 6.69 1.57 6.66 1.33 7.31 1.61 4.16 1.89 6.58 1.27 6.45 1.55 4.73 1.58 6.33 1.86 6.88 1.27 6.28 1.54 5.29 1.58 5.83 1.86 7.0 1.2 7.36 1.24 7.32 1.52 4.83 1.79 7.44 1.72 6.96 1.66 7.1 1.7 7.36 1.69 7.14 1.63 6.09 0.94 7.5 1.19 7.27 ]makedots 1.0 0.0 0.9 setrgbcolor [ 2.77 7.47 2.19 5.69 2.47 6.39 2.5 5.62 2.13 6.29 2.16 4.87 2.44 3.68 2.47 6.99 2.1 6.96 2.38 7.43 2.41 6.96 2.3 7.28 2.61 6.33 2.27 5.22 2.55 4.32 2.59 6.34 2.21 6.99 2.53 6.05 1.86 5.69 2.17 7.05 1.52 7.32 1.79 5.86 1.83 4.38 2.11 5.13 1.77 6.23 1.97 7.29 1.91 7.2 1.94 4.78 2.22 5.62 2.26 7.34 1.88 6.26 1.92 7.41 2.19 6.71 ]makedots 0.3 0.5 0.0 setrgbcolor [ 3.08 6.71 3.36 7.4 3.2 6.33 3.47 7.16 3.13 7.36 3.17 7.34 3.45 6.83 3.17 7.46 3.44 7.49 3.1 7.36 2.44 7.31 2.71 7.35 2.75 4.87 3.03 7.12 2.41 7.35 2.69 5.99 2.72 7.09 2.68 6.84 2.72 7.03 2.66 6.77 2.59 7.22 2.86 4.34 3.14 6.88 3.18 7.38 2.52 6.65 2.8 5.26 2.84 5.32 3.11 6.18 2.52 7.09 2.8 6.44 2.83 5.51 3.11 6.94 2.49 7.14 2.77 4.86 2.53 7.25 2.19 7.45 2.44 6.93 ]makedots 0.0 0.5 1.0 setrgbcolor [ 3.64 7.35 3.3 7.22 3.58 6.56 3.76 7.24 3.44 6.46 3.72 7.27 3.48 7.12 3.75 5.15 3.38 7.25 3.41 4.44 3.69 3.51 3.73 5.53 4.01 7.05 3.35 6.95 3.67 5.83 3.53 6.9 3.8 6.46 3.84 6.79 3.78 6.81 3.0 7.19 2.97 6.5 3.25 7.11 3.11 6.04 3.15 6.8 3.42 6.27 3.05 6.49 3.08 3.17 3.36 4.46 3.4 6.24 3.02 5.79 3.06 6.77 3.33 6.1 3.2 6.17 3.47 7.04 3.51 7.39 3.45 7.05 2.75 7.44 ]makedots 1.0 0.1 0.3 setrgbcolor [ 4.34 6.3 4.61 7.2 4.65 7.42 4.59 7.15 4.7 7.4 3.89 7.33 3.73 6.72 4.0 3.61 4.28 6.52 4.04 7.22 4.32 6.81 3.66 6.66 3.94 5.38 3.98 5.13 4.25 6.11 3.66 7.44 3.94 6.92 3.97 5.78 4.25 7.24 3.91 5.82 4.12 5.7 4.43 7.33 4.05 6.71 4.09 5.35 4.37 6.42 4.09 6.24 4.02 6.0 4.06 7.23 4.34 7.37 3.67 6.43 3.33 7.09 3.61 7.22 3.65 7.09 3.58 7.28 3.76 7.26 3.69 7.43 ]makedots 0.0 0.7 0.0 setrgbcolor [ 4.58 7.35 4.89 6.06 4.56 6.0 4.83 5.44 4.87 6.67 4.81 7.43 5.01 7.15 4.73 7.42 5.01 5.81 4.67 5.29 4.95 4.82 4.98 4.94 5.26 6.8 4.64 7.41 4.92 5.63 4.25 6.6 4.29 7.06 4.56 6.64 4.22 4.58 4.5 5.64 4.54 6.9 4.16 7.17 4.47 7.29 4.36 7.28 4.4 6.74 4.68 6.43 4.34 3.63 4.61 5.07 4.37 7.09 4.65 5.26 4.27 6.35 4.31 5.98 4.59 5.46 4.0 7.29 ]makedots 0.4 0.3 1.0 setrgbcolor [ 5.59 6.81 5.9 6.88 5.56 7.13 5.84 6.87 5.14 5.55 5.08 7.33 5.12 6.93 5.32 7.37 4.98 6.64 5.26 3.82 5.53 6.82 5.29 6.04 5.57 5.79 4.92 6.85 5.19 5.84 5.23 3.83 5.51 5.32 5.23 5.46 5.5 7.18 5.16 5.83 5.2 6.85 5.48 7.09 5.34 6.4 5.62 7.5 4.81 7.33 4.65 7.07 4.93 6.14 4.59 6.91 4.86 7.21 4.9 5.77 4.9 7.0 4.56 7.36 4.83 6.93 ]makedots 0.7 0.3 0.0 setrgbcolor [ 6.15 6.63 5.87 7.2 6.15 5.63 5.81 5.65 6.09 5.32 6.12 5.13 6.4 7.02 6.06 6.39 6.26 7.28 5.92 6.94 6.2 6.79 6.23 5.51 6.51 7.41 6.17 6.43 5.36 7.43 5.51 7.44 5.82 6.75 5.5 6.91 5.54 6.08 5.82 5.82 5.48 3.44 5.75 5.04 5.51 6.75 5.79 4.91 5.41 6.78 5.45 6.19 5.73 5.79 5.93 7.45 5.59 5.32 5.87 6.59 5.63 6.95 5.9 5.34 5.56 6.13 5.84 5.86 5.14 6.82 ]makedots 0.0 0.6 0.4 setrgbcolor [ 7.04 7.5 7.15 7.2 7.09 7.43 6.46 7.26 6.12 6.97 6.4 4.49 6.67 7.28 6.43 6.23 6.71 6.08 6.33 6.83 6.37 4.92 6.65 6.23 6.37 6.64 6.3 7.44 6.23 7.41 6.51 5.31 6.55 5.76 6.82 5.74 6.45 7.15 6.48 3.87 6.76 5.59 6.8 6.77 6.48 6.19 6.42 6.79 6.45 6.5 6.73 6.95 5.79 7.0 6.07 6.14 5.73 7.34 6.04 6.11 5.9 7.47 6.18 6.79 6.21 7.19 6.15 5.33 6.15 7.25 6.09 7.43 6.12 7.21 ]makedots 0.9 0.1 1.0 setrgbcolor [ 7.29 7.27 7.26 7.18 7.4 6.53 7.4 6.23 7.06 6.33 7.34 6.24 7.1 7.48 7.37 4.5 7.65 6.77 7.31 6.19 7.49 6.95 6.68 7.19 6.96 7.05 6.62 5.82 6.89 6.95 6.93 6.63 6.8 6.9 7.07 6.24 6.79 6.03 7.07 6.0 6.73 3.87 7.01 5.57 6.77 5.63 7.04 3.61 7.32 7.46 6.67 7.25 6.7 5.31 6.98 5.09 7.02 7.24 6.84 7.45 7.16 6.44 6.82 7.17 7.09 7.13 6.4 6.67 6.37 7.3 ]makedots 0.4 0.5 0.0 setrgbcolor [ 8.3 6.97 7.54 6.99 7.71 7.12 7.37 6.89 7.65 4.65 7.69 4.84 7.96 4.92 7.59 7.18 7.62 3.54 7.9 5.44 7.94 6.42 7.62 6.36 7.56 7.43 7.59 6.95 7.87 7.45 7.76 7.33 7.8 6.47 8.08 6.65 7.74 5.22 8.01 6.78 8.05 6.63 7.71 7.03 7.04 6.54 7.32 5.84 7.35 6.05 7.63 7.38 6.98 7.16 7.02 6.9 7.29 4.53 7.57 7.39 7.29 7.02 7.26 7.27 7.47 7.44 7.41 5.97 7.37 7.37 ]makedots 0.0 0.5 0.8 setrgbcolor [ 8.55 6.85 8.54 6.92 8.2 7.43 8.48 7.42 8.51 5.78 8.66 7.29 8.63 5.12 8.9 7.37 8.56 6.9 7.94 6.75 8.21 6.14 7.93 6.24 8.21 6.29 7.87 4.98 8.15 6.45 7.91 6.19 8.18 4.55 7.84 6.49 8.12 6.39 8.05 7.12 8.33 6.67 8.3 7.32 8.05 6.91 8.32 7.08 8.36 7.49 7.98 5.47 8.26 6.96 8.02 5.46 8.3 3.73 7.96 5.48 8.23 5.51 8.27 6.33 7.54 6.99 7.65 7.38 7.69 7.42 7.96 7.49 7.62 7.08 ]makedots 1.0 0.1 0.5 setrgbcolor [ 9.55 7.28 8.79 6.18 8.83 6.08 9.1 6.22 8.76 5.77 9.04 7.15 8.9 5.93 8.94 4.5 9.22 4.86 8.6 7.37 8.88 3.59 9.15 5.69 8.91 6.5 9.19 5.24 8.85 7.26 9.13 7.36 8.87 6.98 8.85 6.6 9.12 7.3 8.99 7.17 9.3 7.34 8.18 7.28 8.46 6.72 8.5 6.68 8.43 5.98 8.29 6.98 8.57 6.52 8.61 5.32 8.89 6.97 8.27 6.34 8.55 3.98 8.82 7.23 8.58 6.78 8.86 6.94 8.52 7.17 8.54 7.26 8.52 6.56 8.66 7.4 ]makedots 0.2 0.6 0.0 setrgbcolor [ 9.8 6.75 9.8 7.41 9.77 5.22 10.05 7.5 9.71 7.47 9.88 6.62 9.32 7.17 9.53 7.16 9.19 6.04 9.47 5.59 9.5 6.83 9.44 6.68 9.19 6.2 9.46 6.45 9.5 6.67 9.12 5.26 9.4 6.86 9.16 4.95 9.44 3.11 9.71 7.46 9.1 5.65 9.37 5.75 9.41 6.32 9.27 6.32 9.55 5.18 9.21 6.6 9.49 6.82 9.52 6.3 8.79 6.84 8.83 6.66 9.1 6.81 8.76 6.83 ]makedots 0.3 0.3 1.0 setrgbcolor [ 10.04 6.29 10.08 4.67 10.36 5.1 10.02 4.64 10.29 6.46 10.05 6.92 10.33 5.84 10.19 5.38 10.47 5.91 10.51 7.32 10.13 5.0 10.41 6.84 10.17 6.14 10.44 5.06 10.1 7.19 10.38 7.45 10.1 7.11 9.44 6.85 9.71 6.44 9.75 4.93 10.03 6.74 9.41 6.52 9.69 4.36 9.96 7.5 9.72 6.79 10.0 7.02 9.66 7.4 9.86 5.66 10.14 7.41 9.52 6.69 9.8 4.79 9.83 6.04 10.11 6.42 9.77 6.74 9.77 6.73 ]makedots 1.0 0.2 0.0 setrgbcolor [ 10.91 7.16 11.05 7.48 11.09 7.36 11.02 5.75 10.99 7.38 10.67 7.33 10.33 6.74 10.61 6.39 10.64 7.3 10.33 7.2 10.6 7.48 10.64 7.47 10.26 6.95 10.3 6.49 10.58 5.31 10.78 7.3 10.44 6.28 10.72 6.05 10.76 5.96 10.69 6.07 10.44 7.06 10.72 7.46 10.75 6.48 10.38 6.52 10.41 4.77 10.69 3.24 10.73 6.4 11.0 7.45 10.35 5.79 10.63 6.1 10.66 5.26 10.8 7.17 10.78 7.14 10.08 6.13 10.36 6.5 10.02 6.58 10.33 7.42 ]makedots 0.0 0.6 0.3 setrgbcolor [ 11.22 6.79 11.5 7.15 11.16 7.28 11.3 7.27 11.33 4.31 11.61 5.03 11.65 6.41 11.27 4.66 11.55 6.65 11.31 5.62 11.58 4.51 11.24 7.26 11.24 7.46 11.45 7.04 11.38 6.98 11.42 6.71 11.7 5.95 10.89 6.57 10.83 6.71 10.69 7.26 10.97 7.05 10.73 7.28 11.0 4.02 11.28 6.31 10.66 5.93 10.94 3.77 11.22 7.33 10.98 4.98 11.25 5.52 10.91 6.4 10.91 6.71 11.11 6.91 11.05 6.47 11.09 6.23 11.37 6.8 11.03 7.15 ]makedots 0.7 0.1 1.0 setrgbcolor [ 12.23 7.39 12.16 6.71 12.28 7.1 11.92 6.63 11.58 6.05 11.86 5.86 11.9 5.52 12.17 7.41 11.83 6.25 11.58 7.16 11.89 6.42 11.52 7.14 11.55 5.33 11.83 4.13 11.87 6.67 11.49 6.8 11.77 7.12 11.8 6.21 11.7 7.37 11.97 7.33 12.01 6.03 11.95 6.4 12.01 7.16 11.67 5.73 11.94 4.82 11.98 6.09 12.26 7.36 11.6 6.84 11.88 7.28 11.64 7.4 11.92 5.21 11.25 7.01 11.22 6.15 11.5 6.58 11.16 7.12 11.33 6.54 11.61 7.07 11.27 7.2 11.58 7.05 ]makedots 0.5 0.4 0.0 setrgbcolor [ 12.47 5.57 12.75 6.2 12.79 7.17 12.41 6.42 12.45 6.95 12.72 6.15 12.59 5.22 12.86 6.04 12.9 5.99 12.52 5.79 12.56 5.2 12.84 4.29 12.5 7.17 12.14 4.79 12.42 6.88 11.8 6.96 12.08 5.31 12.12 6.0 12.39 6.51 11.98 7.36 12.26 4.46 12.53 6.78 12.29 7.33 12.57 6.79 11.92 6.3 12.19 4.6 12.23 3.93 12.51 4.85 12.17 5.9 12.16 6.86 12.34 7.28 ]makedots 0.0 0.6 0.6 setrgbcolor [ 13.48 6.98 13.42 7.11 13.0 7.4 13.04 6.94 12.97 6.79 13.18 6.79 12.84 6.28 13.11 6.29 12.87 7.27 13.15 4.42 13.43 6.8 13.15 6.22 12.81 5.16 13.08 4.22 13.12 5.37 13.4 6.84 13.26 6.99 12.92 7.39 13.2 6.9 13.23 6.71 12.5 6.86 12.82 6.67 12.47 5.58 12.75 6.26 12.79 7.14 ]makedots 1.0 0.0 0.7 setrgbcolor [ 13.73 5.27 14.01 6.14 14.04 5.86 13.67 6.41 13.7 5.65 13.98 4.9 13.84 6.91 14.15 6.51 13.81 5.86 14.09 5.3 14.13 7.43 13.28 7.23 13.12 6.95 13.4 3.86 13.67 6.45 13.43 6.76 13.71 6.24 13.06 6.41 13.33 4.82 13.37 3.84 13.65 4.86 13.51 5.96 13.54 7.26 13.82 6.91 13.17 7.47 13.45 6.31 13.48 4.22 13.76 5.33 13.06 7.49 13.04 7.19 13.15 7.44 ]makedots 0.3 0.5 0.0 setrgbcolor [ 14.73 7.37 14.32 6.89 13.98 6.88 14.25 6.93 14.29 5.03 14.57 7.26 14.23 6.65 14.29 6.97 13.95 6.55 14.22 5.9 14.26 6.56 14.2 6.9 14.09 7.35 14.13 7.16 14.4 4.51 14.68 7.03 14.06 7.1 14.34 5.93 14.38 6.55 14.65 7.37 14.4 6.93 14.06 6.05 14.34 5.5 14.37 5.0 14.65 6.75 14.03 7.05 14.31 5.06 13.65 7.02 13.96 6.69 13.62 6.48 13.89 7.12 13.79 7.39 14.07 6.36 13.73 6.99 14.01 7.09 13.73 6.03 14.01 6.84 14.04 6.5 13.67 7.45 13.7 6.72 13.98 6.15 ]makedots 0.2 0.4 1.0 setrgbcolor [ 14.87 7.12 15.18 7.42 15.12 7.21 14.98 6.03 15.26 6.97 15.02 7.07 15.29 5.4 14.92 7.25 14.95 5.24 15.23 4.68 15.27 6.81 15.07 7.28 15.34 7.03 14.54 5.67 14.85 7.36 14.47 6.9 14.51 6.04 14.79 6.79 14.65 7.5 14.37 7.04 14.65 4.32 14.93 6.9 14.69 5.74 14.96 5.37 14.31 6.73 14.59 5.47 14.35 7.36 14.62 2.32 14.9 4.09 14.94 6.47 14.56 5.92 14.6 7.38 14.87 6.93 14.74 5.65 15.01 6.7 14.32 7.41 14.29 6.11 ]makedots 1.0 0.1 0.2 setrgbcolor [ 15.88 7.35 15.43 7.31 15.57 7.05 15.61 7.05 15.23 7.08 15.51 7.28 15.27 6.68 15.54 3.8 15.82 6.64 15.86 7.41 15.2 7.14 15.48 6.02 15.52 6.44 15.79 7.31 15.54 6.79 15.2 6.4 15.48 5.95 15.51 5.24 15.79 6.98 15.45 5.93 15.66 5.73 15.59 7.11 15.63 6.5 15.91 7.49 15.59 7.37 15.63 5.74 15.9 7.48 15.56 6.04 14.9 6.86 14.94 6.5 15.21 5.37 14.87 6.61 15.15 6.76 15.19 7.19 14.87 5.94 15.15 6.81 15.18 6.26 14.84 6.97 15.12 6.48 15.33 6.93 15.3 7.3 14.98 7.29 15.3 6.74 14.96 6.99 15.23 6.64 ]makedots 0.0 0.7 0.1 setrgbcolor [ 16.12 6.88 16.44 6.17 16.1 6.55 16.37 6.17 16.27 7.35 16.55 5.97 16.21 5.87 16.49 5.61 16.52 6.31 15.51 7.37 15.79 4.91 16.07 7.32 15.83 5.97 16.1 5.68 15.73 6.51 15.76 3.92 16.04 5.22 16.08 7.06 15.9 5.84 15.94 5.68 16.22 5.53 15.84 6.94 15.6 7.34 15.88 2.78 16.15 4.63 15.91 7.06 16.19 5.52 15.46 7.4 15.43 6.46 15.54 5.9 ]makedots 0.5 0.2 1.0 setrgbcolor [ 16.69 5.54 16.66 7.21 16.86 6.88 16.52 6.55 16.8 3.9 17.08 6.86 16.83 6.56 17.11 6.48 16.46 7.23 16.73 6.32 16.77 5.41 17.05 6.6 16.79 7.44 16.45 7.12 16.73 6.89 16.77 4.86 17.05 6.87 16.43 7.42 16.7 5.86 16.74 7.37 16.88 7.29 16.88 7.24 16.08 7.23 16.35 6.28 16.19 5.98 16.47 4.97 16.5 7.3 16.13 6.35 16.4 6.67 16.44 5.88 16.12 6.35 16.4 7.33 16.16 7.07 16.44 5.53 16.1 6.36 16.37 6.03 ]makedots 0.6 0.4 0.0 setrgbcolor [ 17.38 7.47 17.41 7.11 17.69 5.74 17.35 6.19 17.63 5.98 17.66 6.46 17.8 7.33 17.46 7.28 17.74 7.23 17.78 6.69 16.93 7.18 16.9 6.89 17.11 7.45 17.05 7.22 17.36 7.11 16.77 7.45 17.04 5.26 17.08 4.82 17.36 4.71 16.98 6.99 16.74 7.17 17.02 2.45 17.29 4.49 17.05 6.74 17.33 5.17 17.19 6.57 17.47 6.63 17.13 4.65 17.41 6.13 17.17 6.9 17.44 5.55 16.71 7.31 16.75 7.05 16.69 5.24 16.8 6.64 ]makedots 0.0 0.6 0.5 setrgbcolor [ 18.0 6.69 17.66 6.85 17.94 4.45 18.22 7.21 17.97 6.71 18.25 6.68 17.88 7.17 17.91 6.21 18.19 7.3 17.91 6.03 17.85 7.36 17.77 7.27 18.05 5.25 18.09 6.27 18.36 6.39 17.99 7.41 18.02 5.35 18.3 6.72 18.02 5.6 17.96 6.7 17.99 7.0 17.67 7.31 17.33 5.84 17.61 4.86 17.64 7.04 17.27 6.77 17.54 7.1 17.58 6.18 17.26 7.03 17.58 6.15 17.24 7.37 17.51 7.12 17.44 6.4 17.72 5.68 17.76 6.69 17.38 6.95 17.66 7.4 17.42 7.44 17.69 5.39 17.41 7.11 17.69 5.81 17.35 6.64 17.63 6.51 17.66 6.86 ]makedots 1.0 0.0 0.9 setrgbcolor [ 18.83 7.22 18.67 7.39 18.94 6.27 18.6 6.72 18.88 6.71 18.92 5.92 18.19 6.58 18.22 6.02 18.5 5.98 18.16 5.12 18.44 6.39 18.47 6.71 18.34 7.18 18.61 6.59 18.3 6.56 18.33 4.74 18.61 4.89 18.65 7.25 17.99 7.15 18.27 2.87 18.55 4.97 18.31 5.61 18.58 3.93 18.38 6.85 18.7 6.52 17.83 6.49 18.0 6.65 17.66 7.16 17.94 5.0 17.98 7.0 18.25 7.03 ]makedots 0.4 0.5 0.0 setrgbcolor [ 19.08 6.8 19.26 6.53 18.92 6.73 19.19 4.53 19.47 7.41 19.23 5.46 19.51 5.64 19.13 7.4 19.17 5.12 19.44 6.58 19.16 5.7 19.1 7.29 19.14 7.4 19.31 7.17 19.34 6.87 19.62 7.15 19.28 6.27 19.28 7.12 19.25 7.42 18.47 7.38 18.75 6.66 18.92 6.82 18.58 5.26 18.86 4.41 18.9 5.43 19.17 6.93 18.52 6.49 18.8 7.0 18.56 6.84 18.83 4.59 19.11 7.39 18.52 7.37 18.55 6.74 18.83 5.41 18.49 6.79 18.77 6.71 18.8 6.88 18.97 7.17 19.01 6.92 18.95 5.92 18.94 6.96 18.92 6.97 ]makedots 0.0 0.5 1.0 setrgbcolor [ 20.08 6.85 20.06 6.88 20.17 6.32 19.5 7.21 19.48 7.02 19.76 6.44 19.44 6.84 19.48 4.88 19.75 5.08 19.79 7.2 19.41 4.09 19.69 5.8 19.45 6.13 19.73 4.7 19.59 7.32 19.87 6.91 19.59 5.78 19.87 6.1 19.9 7.06 19.52 4.68 19.8 6.37 19.56 5.41 19.84 3.96 19.14 6.31 18.8 7.32 19.08 5.28 19.12 7.02 19.39 7.1 19.26 7.1 19.19 5.83 19.23 6.48 19.51 6.71 ]makedots 1.0 0.1 0.4 setrgbcolor [ 20.4 7.09 20.33 5.94 20.37 6.49 20.65 6.68 20.31 6.77 20.3 7.44 20.51 7.22 20.17 7.42 20.45 5.71 20.48 5.11 20.76 5.53 20.42 5.04 20.7 6.68 20.73 7.05 20.42 6.33 20.39 7.02 20.07 6.95 19.72 6.03 20.0 5.34 20.04 6.0 20.32 7.42 19.97 5.91 19.97 6.82 20.18 7.16 19.84 5.73 20.11 5.19 20.15 4.59 20.43 6.48 19.77 7.07 19.81 6.23 20.09 3.94 20.36 7.16 20.12 7.31 19.81 6.78 20.09 5.68 19.74 7.03 20.02 7.11 20.06 6.11 20.2 7.24 ]makedots 0.1 0.7 0.0 setrgbcolor [ 21.34 7.29 21.31 6.37 21.42 7.49 20.62 6.84 20.89 7.02 20.55 6.85 20.87 7.1 20.76 7.45 21.07 6.9 20.73 6.31 21.01 5.86 20.73 4.81 21.01 5.23 21.04 6.13 20.67 4.33 20.94 6.15 20.7 4.87 20.98 3.28 20.64 6.17 20.92 6.31 20.84 7.47 20.78 6.85 20.81 6.2 21.09 5.23 20.75 6.95 21.03 7.2 21.06 7.42 20.22 7.24 20.4 7.0 20.4 5.86 20.67 7.43 20.06 6.97 20.33 5.02 20.37 5.56 20.65 5.86 20.31 6.35 20.45 7.37 20.48 6.83 20.76 7.21 20.42 7.18 ] makedots } store % Total count = 1282. /makedots {/curmat exch store 0 2 curmat length 2 sub {/cposn exch store curmat cposn get curmat cposn 1 add get mt dot } for } store % 100 100 10 setgrid % only when not standalone 1.15 dup scale 0.92 setgray 1 setlinewidth 0 setlinecap 0.5 0 mt 7 u 19.5 0 mt 7 u 2 setlinewidth 10 0 mt 7 u 20 7 showgrid black line1 10 -0.3 mt 7.8 u gsave 0 0 mt 7.5 pu 20 pr 7.5 pd closepath clip sdatproc grestore % get off clip /cstretch 0 store /sstretch 0.015 store /font1 /StoneSans-Bold 0.75 gonzofont font1 black line1 0 7.5 mt 20 r 0 -0.3 mt 7.8 u 20 -0.3 mt 7.8 u -0.3 0 mt 20.6 r 0 2.5 mt 0.3 l 0 5 mt 0.3 l 0 7.5 mt 0.3 l /kern 0.1 store 0.2 0.2 0.2 setrgbcolor 0 -1.5 (0.52) cc 10 -1.5 (0.53) cc 20 -1.5 (0.54) cc 10 -2.5 (amplitude) cc -1 0 0.2 sub(0.00|j%) cr -1 2.5 0.2 sub (0.05|j%) cr -1 5 0.2 sub (0.10|j%) cr -1 7.5 0.2 sub (0.15|j%) cr gsave -4.4 3.75 translate 90 rotate 0 0 (distortion 2-22) cc grestore % end ypos snap3 restore /ypos exch def } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /deltachip { %aaaaaaaaaaaa /figadvance 10 store save /snap3 exch def /linestring 1000 string store %%%%%%%%%%%%%%%%%%% electronics begin bestgray 8 37.5 translate % reposition on page 0.85 dup scale % 0 0 10 setgrid already there % 33 14 showgrid /cstretch 0.02 def /sstretch 0.0 def /kern 0.1 def /yinc 1.0 def /red {0 settint} def /blue {0.67 settint} def /purple {0.75 settint} def /font0 /Helvetica-Bold [1.2 0 0 1 0 -0.2] gonzofont /font0 /helvetica-bold [1 0 0 0.8 0 0 ] gonzofont /font1 /Helvetica 0.75 gonzofont /font4 /Helvetica 0.6 gonzofont /font3 /Helvetica-Bold 0.75 gonzofont /font2 /Helvetica-Oblique 0.75 gonzofont /font5 /Helvetica-Bold 1.1 gonzofont /font6 /Helvetica [2 0 0 1.4 0 0] gonzofont /font7 /Helvetica-Oblique 0.75 gonzofont /font8 /Symbol 0.75 gonzofont /font9 /Helvetica [.6 0 0 .6 -.15 .4] gonzofont /font- /Helvetica-Bold [0.4 0 0 0.55 0 0] gonzofont /kern 0.15 def /tabs [16.5] def /txtwide 29 def font1 /tabs [17.5] def font1 /yinc 0.9 def line1 bestgray black 22 6 mt 3 d 5 rx circ1 26 3 mt rarrow 21 6 mt 1 d 6 rx circ1 26 5 mt rarrow 20 6 mt 1.5 d 4 rx 2 ux 3 r circ1 26 6.5 mt rarrow 19 6 mt 2 d 5.5 rx 4 ux 2.5 r circ1 26 8 mt rarrow 17 10 mt 1 u 5 l 8 d 4 l circ1 9.5 3 mt rarrow % low priority 18 6 mt 1.5 d ground 17 6 mt 2.5 d 7 lx 1 u 2 l circ1 9.5 4.5 mt rarrow 16 6 mt 2 d 5.5 lx 2 u 2.5 l circ1 9.5 6 mt rarrow 15 6 mt 1.5 d 4 lx 3 u 3 l circ1 9.5 7.5 mt rarrow 14 6 mt 1 d 2.5 lx 4 u 3.5 l circ1 9.5 9 mt rarrow 21 10 mt 2 ux 3 r 2 d 3 r circ1 26 13 mt rarrow 20 10 mt 2.5 u 4.5 r 1 d 2.5 r circ1 26 11.5 mt rarrow 19 10 mt 3 u 8 r circ1 26 10 mt rarrow 18 10 mt 1.5 u circ1 % +5v 16 10 mt 3 ux circ1 16 12.3 mt darrow 15 10 mt 2 ux 7 l circ1 9.5 12 mt rarrow 14 10 mt 1.5 ux 2.5 l 1 d 3.5 l circ1 9.5 10.5 mt rarrow beige 14 6 moveto 18 (MS28D-05X) (IN1 IN0 XIN IN6 +5V /DA /DB /DC NC) (IN2 IN3 IN4 IN5 GND DA DB DC SYNC) dipdraw font4 22 10.65 (NC) cc font1 18 12 (+5V) cc font1 /overstrikeht 0.55 store 27.7 13 0.3 sub (Delta "A" complement) cl 27.7 11.5 0.3 sub (Delta "B" complement) cl 27.7 10 0.3 sub (Delta "C" complement) cl 27.7 8 0.3 sub (Delta "A" true output) cl 27.7 6.5 0.3 sub (Delta "B" true output) cl 27.7 5 0.3 sub (Delta "C" true output) cl 27.7 3 0.3 sub (Zero degrees sync) cl 16 14.7 (10 MHz per 60 Hz) cc 16 13.8 (input clock ref) cc 7.3 2.7 (high ~|jOR|j~ 0-100 amp bit 6) cr 7.3 4.2 (high ~|jOR|j~ 0-100 amp bit 5) cr 7.3 5.7 (high ~|jOR|j~ 0-100 amp bit 4) cr 7.3 7.2 (slew up ~|jOR|j~ 0-100 amp bit 3) cr 7.3 8.7 (slew down ~|jOR|j~ 0-100 amp bit 2) cr 7.3 10.2 (step up ~|jOR|j~ 0-100 amp bit 1) cr 7.3 11.7 (step down ~|jOR|j~ 0-100 amp bit 0) cr end ypos snap3 restore /ypos exch def } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fig1 for newbie 66 /figure1 { % name of textfile: muse fig f152-2 n-connectedness string art % ............................ % save /snap2 exch def %%%%%%%%%%%%%%%%%%% 1 -12.5 translate % position on box electronics begin bestgray % 0 0 10 setgrid % 33 35 showgrid /cstretch 0.02 def /sstretch 0.0 def /kern 0.1 def /yinc 1.0 def /red {0 settint} def /blue {0.67 settint} def /purple {0.75 settint} def /font0 /Helvetica-Bold [1.2 0 0 1 0 -0.2] gonzofont /font0 /helvetica-bold [1 0 0 0.8 0 0 ] gonzofont /font1 /Helvetica 0.75 gonzofont /font4 /Helvetica 0.6 gonzofont /font3 /Helvetica-Bold 0.75 gonzofont /font2 /Helvetica-Oblique 0.75 gonzofont /font5 /Helvetica-Bold 1.1 gonzofont /font6 /Helvetica [2 0 0 1.4 0 0] gonzofont /font7 /Helvetica-Oblique 0.75 gonzofont /font8 /Symbol 0.75 gonzofont /font9 /Helvetica [.6 0 0 .6 -.15 .4] gonzofont /font- /Helvetica-Bold [0.4 0 0 0.55 0 0] gonzofont /kern 0.15 def /tabs [16.5] def /txtwide 29 def font1 /tabs [17.5] def font1 /yinc 0.9 def line1 /points [ [1 0 ] [.866 0.5 ] [0.5 .866] [0 1] [-0.5 .866] [-.866 0.5 ] [-1 0] [-.866 -0.5 ] [-0.5 -.866] [0 -1] [0.5 -.866] [.866 -0.5 ] [1 0] [.866 0.5 ] [0.5 .866] [0 1] [-0.5 .866] [-.866 0.5 ] [-1 0] [-.866 -0.5 ] [-0.5 -.866] [0 -1] [0.5 -.866] [.866 -0.5 ] [1 0] ] def /radius 10 def 15 15 translate %% outer ring 0 1 12 {/posn exch store points posn get aload pop radius mul exch radius mul exch moveto points posn 1 add get aload pop radius mul exch radius mul exch lineto 1 0 0 setrgbcolor line2 stroke } for 0 1 12 {/posn exch store points posn get aload pop radius mul exch radius mul exch moveto points posn 2 add get aload pop radius mul exch radius mul exch lineto 1 0.5 0 setrgbcolor line2 stroke } for 0 1 12 {/posn exch store points posn get aload pop radius mul exch radius mul exch moveto points posn 3 add get aload pop radius mul exch radius mul exch lineto 0 1 0 setrgbcolor line2 stroke } for 0 1 12 {/posn exch store points posn get aload pop radius mul exch radius mul exch moveto points posn 4 add get aload pop radius mul exch radius mul exch lineto 0 0.75 0.75 setrgbcolor line2 stroke } for 0 1 12 {/posn exch store points posn get aload pop radius mul exch radius mul exch moveto points posn 5 add get aload pop radius mul exch radius mul exch lineto 0 0 1 setrgbcolor line2 stroke } for 0 1 6 {/posn exch store points posn get aload pop radius mul exch radius mul exch moveto points posn 6 add get aload pop radius mul exch radius mul exch lineto 1 0 1 setrgbcolor line2 stroke } for %% dots go last 0 1 12 {/posn exch store points posn get aload pop radius mul exch radius mul exch moveto gsave currentpoint 0.6 0 360 arc gsave 0.65 dup dup setrgbcolor fill grestore grestore } for end ypos snap2 restore /ypos exch def } def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Specific file info here /font; /Helvetica [0.7 0 0 0.7 0 0.4] gonzofont font1 /font- /Symbol 0.85 gonzofont aqua 0.33 setgray font0 /narrowx {/txtwide txtwide 8.5 sub store} store /widenx {/txtwide txtwide 8.5 add store} store /burpon {mark /burple cvx 0.33 /setgray cvx ] cvx % additional internal gonzo printlist exch 3 index exch put exch 1 add exch} def /burpoff {mark /aqua cvx 0 /setgray cvx ] cvx printlist exch 3 index exch put exch 1 add exch} def /darkenheader {save /headsnap exch store xpos 1 sub ypos 0.2 add translate 0.3 1 1 setrgbcolor 0 0 mt 3.2 pd burpwide pr 3.2 pu closepath fill headsnap restore} store /tabs [14] store 20 47.3 % 0.7 add % 1 sub (Solving |j|jPuzzles |j|jWith |j|jPostScript) cc black font2 textleft 44 % (|/aqua |/staytint1 |3Don Lancaster Synergetics, Box 809, Thatcher, AZ 85552 |/surl http://www.tinaja.com|/tinaja |/surl don@tinaja.com|/maildon copyright c2006 as |/surl |6GuruGram|1|/gurgrm01 |/tinton1 |6#67. (928) 428-4073 |/aqua |/black |a|0W|b|1ay on back in the late 1950's when I first learnt engineering, many math calculations were difficult, crude, and very time consuming. You often tended to avoid doing anything involving extensive math. Or else went far out of your way to find some simplifying alternatives. |h These days, of course, the average kitchen blender has far more computational capability than a fifties student engineer could have even dreamt of. And the routine math power of a plain old desktop PC was unimaginably beyond anything anywhere at any cost. The |/su paradigm|1|/paradigm.pdf has obviously shifted. |h To the point where we now have new and better math tools available. Some of which can be based on nothing but |/to plain old brute force|/tx \274 |6|/shiftin |/aqua |/burplebox3 |/staytint1 |h|/tinton1 Throwing a few million extra math calculations at any problem is not that big a deal any more. |h |1|/shiftout |/aqua |/black |h I've already used |/to brute force methods|/tx for several previous projects. Ferinstance, in our |/su Fun With Fields|1|/rebound1.pdf of |/su GuruGram #43|1|/gurgrm01 , all of the horrendously ugly coordinate transformations and complex trig functions involved in traditional electromagnetic fields problems got completely blown away. Simply handled by using a plain old rectangular area and |/to brute force recalculating|/tx the boundary conditions a few hundred thousand times. Then using the classic |/to relaxation method|/tx . |h And all of the exciting developments in our |/su Magic Sinewaves|1|/msinexec.pdf started off by |/to brute |/to force calculating|/tx every possible harmonic result for |/to all possible digital words|/tx of a given binary length. |h When the combinations got out of hand, longer words were dealt with by pre-applying suitable filters. Which eventually revealed that something rare but exotic was possible in the way of greatly improved digital sinewave generation. Zeroing the |/to maximum harmonics|/tx using the |/to minimum pulse edges|/tx . |h You'll find much more of the story in |/su STALAC.PDF|1|/stalac.pdf . Along with many other related |/to "fun with math"|/tx adventures. |h ) cl startnewpage (|c Puzzling |jover |jPostScript |d I've long been overly enameled by the superb general purpose |/su PostScript|1|/post01 computing language. Which I routinely use for an amazing variety of tasks. And many thousands of examples of which you'll find on these |/su Web Pages|1|/tinaja . |h Let's see how |/su PostScript|1|/post01 can be used as a sledgehammer solution to some common classes of puzzles. |h Ferinstance, some of the more insidious time wasters are known as |/to alphametic |/to puzzles|/tx . And a typical example might be\274 |6|/staytint1 |/shiftin |JONE |JONE TWO TWO THREE |j ELEVEN ====== |k TWENTY |1|/black |/shiftout The object of the game being to find one or more unique numeric solutions. That obey the obvious rules of base 10, each letter always a uniquely specific digit, and no leading zeros. |h There are a surprisingly large number of alphametic puzzles. Several web sites devoted to them appear, |/su here|1|/alphamet2 , |/su here|1|/alphamet1 , and |/su here|1|/alphamet3 . Or you can search |/su Google|1|/google under |/to "alphametic puzzles"|/tx for nearly 5000 more. |h One of the simplest known examples is the classic |/to SEND + MORE = MONEY|/tx . |h We will look at two methods of solving this class of problems. The first attack method will use |/to direct brute force|/tx without regard to the numeric relations in the problem. With direct brute force, we will pay no attention whatsoever to any internal "clues" the puzzle gives us. |h Our second will use |/to modified brute force|/tx to dramatically speed up the results. For this, we will use any obvious internal clues. Such as |/to partial totals|/tx , |/to relations |/to between numerals|/tx , and |/to ranges of allowed carries|/tx . With either method, you'll still end up exploring many thousands to many millions of possible permutations. |h Let's see. Since there are ten numerals maximum, the total possible number of solution combinations is |/to 10*9*8*7*6\274 |/tx . Otherwise known as factorial ten, |/to 10!|/tx , or a grand total of |/to 3,628,800|/tx permutations. |h |/su PostScript|1|/post01 can easily whump up these combinations in a minute or less and often get us at least one solution in about the same time. Here is your basic |/to 10!|/tx factorial permutation generator\274 ) cl startnewpage (|h|6|/burple |/shiftin |/staytint1 |/burplebox26 |h /scanall { /valid [0 0 0 0 0 0 0 0 0 0 ] store |h 0 1 9 {/x0 exch store valid x0 get 0 eq {valid x0 1 put 0 1 9 {/x1 exch store valid x1 get 0 eq {valid x1 1 put 0 1 9 {/x2 exch store valid x2 get 0 eq {valid x2 1 put 0 1 9 {/x3 exch store valid x3 get 0 eq {valid x3 1 put 0 1 9 {/x4 exch store valid x4 get 0 eq {valid x4 1 put 0 1 9 {/x5 exch store valid x5 get 0 eq {valid x5 1 put 0 1 9 {/x6 exch store valid x6 get 0 eq {valid x6 1 put 0 1 9 {/x7 exch store valid x7 get 0 eq {valid x7 1 put 0 1 9 {/x8 exch store valid x8 get 0 eq {valid x8 1 put |h /x9 45 x1 sub x2 sub x3 sub x4 sub x5 sub x6 sub x7 sub x8 sub store dotask |h valid x8 0 put } if } for valid x7 0 put } if } for valid x6 0 put } if } for valid x5 0 put } if } for valid x4 0 put } if } for valid x3 0 put } if } for valid x2 0 put } if } for valid x1 0 put } if } for valid x0 0 put } if } for |h } bind store |h |1|/shiftout |/aqua |/black |h Not much rocket science here. Simply nine loops inside each other. |h But instead of comparing each new variable against the previously used ones, a |/to valid|/tx array gets used instead. This turns out to be quite a bit faster. A |/to "0"|/tx in the array means the numeral |/to remains available|/tx ; a |/to "1"|/tx means it is |/to in use|/tx . Values change to |/to "1"|/tx on any loop continuance and change back to |/to "0"|/tx when any loop is temporarily finished. |h Similarly, while the needed tenth loop could be used, a direct calculation is faster. This totally general code executes |/to dotask|/tx precisely |/to 3,628,800|/tx times. Once for each possible combination of numerals. |h For any particular problem, you will substitute the |/to x0 \274 x9|/tx values with your desired letters for the particular puzzle at hand. Your |/to dotask|/tx routine will then make the needed specific calculations for you. And then spit out the desired results for you. |h Here is an example of a |/to dotask|/tx routine\274 ) cl startnewpage (|h|6|/burple |/shiftin |/staytint1 |/burplebox13.5 |h /dotask {oo 100 mul nn 10 mul add ee 1 mul add 2 mul tt 100 mul ww 10 mul add oo 1 mul add 2 mul add tt 10000 mul hh 1000 mul add rr 100 mul add ee 10 mul add ee 1 mul add add ee 100000 mul ll 10000 mul add ee 1000 mul add vv 100 mul add ee 10 mul add nn 1 mul add add |h tt 100000 mul ww 10000 mul add ee 1000 mul add nn 100 mul add tt 10 mul add yy add |h eq {(gotone!\n) print ee == tt == } if |h } bind store |h |1|/shiftout |/aqua |/black |h Interestingly, there are |/to four|/tx possible solutions. Column specific |/to R|/tx and |/to V|/tx can have their values interchanged. And column specific |/to W|/tx depends upon its own column specific |/to L|/tx . |h This routine exhaustively searches all 10! = |/to 3,628,800|/tx permutations in a brute force search. It gives you the first answer in thirty seconds on an 800 MHz XP. |h |c Digging |jDeeper |d By going to problem specific restrictions, you can dramatically reduce the cases needing tested. And speed up your results. Leading to our |/to modified brute force|/tx method. |h Such problem specific restrictions are set by column carries, restrictive interactions between variables, summations, and such. In this case, some careful thought should show us that\274 |h |h|6|/aqua |/shiftin |/staytint1 |/burplebox9.5 |h \267 O, T, and E cannot be zero because they lead. |h \267 Carry5 has to be 1, so 1 + E = T. Which further restricts E to not being 9. |h \267 Possible values for carry3 are 1 through 4. Since carry3 + H + E = E, carry3 + H = 10. H can thus only be 6, 7, 8, or 9. |h \267 From column 1, 10 mod (3*E + 2*O + N) equals Y. |h |1|/shiftout |/aqua |/black |h Each restriction can be added as a condition once all needed variables for that condition are defined. Modifying |/to scanall|/tx leaves us with\274 ) cl startnewpage (|h|6|/burple |/shiftin |/staytint1 |/burplebox26 |h /scanall { /valid [0 0 0 0 0 0 0 0 0 0 ] store |h 1 1 8 {/ee exch store ee 1 add /tt exch store valid ee 1 put valid tt 1 put 1 1 9 {/oo exch store valid oo get 0 eq {valid oo 1 put 0 1 9 {/nn exch store valid nn get 0 eq {valid nn 1 put 0 1 9 {/yy exch store valid yy get 0 eq ee 3 mul oo 2 mul add nn add 10 mod yy eq and {valid yy 1 put 0 1 9 {/ww exch store valid ww get 0 eq {valid ww 1 put 0 1 9 {/rr exch store valid rr get 0 eq {valid rr 1 put 0 1 9 {/vv exch store valid vv get 0 eq {valid vv 1 put 6 1 9 {/hh exch store valid hh get 0 eq {valid hh 1 put |h /ll 45 ee sub oo sub nn sub yy sub ww sub tt sub rr sub vv sub hh sub store dotask |h valid hh 0 put } if } for valid vv 0 put } if } for valid rr 0 put } if } for valid ww 0 put } if } for valid yy 0 put } if } for valid nn 0 put } if } for valid oo 0 put } if } for valid ee 0 put valid tt 0 put} for } bind store |h |1|/shiftout |/aqua |/black The modified code evaluates 11,208 cases with the first answer in 0.3 seconds. |h |c And |jDeeper? |d There's little point in further optimization if you are already running in a fraction of a second and you are only going to run the code once. But if you really want to, a second column restriction drops you down to |/to 1206|/tx trips with the first answer in |/to 50|/tx milliseconds. Beyond that, the law of diminishing returns sets in. With the extra calculations for qualifications actually |/to increasing|/tx your processing time. And the reporting time becoming a major fraction of anything left. |h |c For |jMore |jHelp |d Some ready-to-use companion code appears as |/su PUZZ01.PSL|1|/puzz01.psl Similar topics in our |/su PostScript|1|/post01 and |/su Math Stuff|1|/math01 libraries. Our |/su Gonzo Utilities|1|/gonzoutils greatly simplify and improve your use of |/su PostScript|1|/post01 . As always, |/su Custom Consulting|1|/info01 is available. You can |/su email me|1|/maildon for details. ) cl startnewpage %%%%%%%%%%%%%%%%%%%% % EOF