%!PS % Book Cover Layout using my Gonzo Utilities #61 % ============================================== % by Don Lancaster /ggnum 61 store % Copyright c 2005 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 << % zzzzzzzzzzzzzzzzzz keep for search marker % 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) /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 /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 /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 /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 /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 { % /f1xsnap exch store gsave % temp 1.3 14.35 translate 0.036 dup scale % adjust fit on page -90 rotate % A Simple Book Cover Layout Utility % ================================== % 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 simple book cover layout % with independent front, rear, and spine areas. % 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. % IMPORTANT NOTE: Most book covers will be LARGER than a default 8-1/2 x 11 sheet % size and will DEMAND a printer with a larger size capability. You will want % to create a new DEFAULT SETTINGS selection in Distiller in which you have % changed your DEFAULT PAGE SIZE width and height to appropriate settings. % We will use an example here that will print on a standard 8-1/2 x 11 sheet size % including cropping margins. We will further use a 10x layout grid for convenience. % Layout will appear vertical in a normal screen display. Click on ROTATE VIEW % in your Acrobat Reader to view the cover normally. % Photos and images are easily included, but this makes the demo more complicated. % In general, any PostScript code can be inserted anywhere with a (\\header\\item) % run. The insertion code MUST be available on the host computer doing the % distilling. The full pathname MUST be used. Alternately, photos and images can % be directly included in the layout code at the cost of longer filelengths. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%% Low Level Book Cover Creator Service Procs %%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Setcropcolor finds a color that is the complement to the selected % background cover color. /setcropcolor {backgroundcolor {1 sub abs} forall setrgbcolor} store % /colorthebackground puts down a color rectangle of the primary % book background color. /colorbackground {gsave backgroundcolor aload pop setrgbcolor % set the background color xoffset yoffset % draw color background untrimheightmargin 2 mul trimmedcoverheight add untrimwidthmargin 2 mul trimmedcoverwidth 2 mul add spinewidth add rectfill grestore} store % /noautorotate stops Distiller from second guessing rotations. /noautorotate { /currentdistillerparams where {pop} % keep printer happy {userdict /currentdistillerparams {1 dict} put} ifelse /setdistillerparams where {pop} {userdict /setdistillerparams {pop} put} ifelse <> setdistillerparams % turn off Distiller rotation } store % /barcode is a temporary place marker for a real barcode. The actual barcode can % be inserted inline here. Or else a (\\headers\\barcode) run can be used instead. % One free source of a PostScript bar code generator is % http://www.terryburton.co.uk/barcodewriter/ % An online barcode generator and checker is found at % http://www.raise-the-bar.co.uk/cgi-bin/webbarcodegen.pl /barcode {save /bcsnap exch store % fake barcode - replace with real 1 1 1 setrgbcolor % white background 0 0 13.5 4 rectfill 0 0 0 setrgbcolor % add fake stripes 0.3 setlinewidth [{1.2 0.5 mt 3 u} 1 12] xrpt bcsnap restore} store % /sneakyborder arc crowding is detailed in PostScript Secrets #45 /sneakyborder {/sbh exch store % save sizes /sbw exch store /ra4 {rad arcto 4{pop} repeat} store 0 sbh 2 div mt % initial positioning 0 sbh zz sbh ra4 % build up pattern zz sbh zz sbh zz sub ra4 zz sbh zz sub 0 sbh zz sub ra4 0 sbh zz sub 0 sbh ra4 0 sbh zz sbh ra4 sbw sbh sbw sbh zz sub ra4 sbw sbh zz sub sbw zz sub sbh zz sub ra4 sbw zz sub sbh zz sub sbw zz sub sbh ra4 sbw zz sub sbh sbw sbh ra4 sbw sbh sbw 0 ra4 sbw 0 sbw zz sub 0 ra4 sbw zz sub 0 sbw zz sub zz ra4 sbw zz sub zz sbw zz ra4 sbw zz sbw 0 ra4 sbw 0 0 0 ra4 0 0 0 zz ra4 0 zz zz zz ra4 zz zz zz 0 ra4 zz 0 0 0 ra4 0 0 0 sbh ra4 closepath gsave 0.7 1 1 setrgbcolor fill grestore % fill background fancystrokes % fancy stroke } store /fancystrokes { 0 setlinecap 1 setlinejoin gsave 0 0 1 setrgbcolor 0.5 setlinewidth stroke grestore gsave 0.7 1 1 setrgbcolor 0.25 setlinewidth stroke grestore 0 0 1 setrgbcolor 0.06 setlinewidth stroke } store % Convenience operators... /inches {72 mul} store % inches to points converter %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%% Front, Spine, and Rear Layout Procs %%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%% % FRONT COVER % %%%%%%%%%%%%%%%%%% /makefrontcover {save /fcov exch store % take snapshot xoffset untrimheightmargin add % position on sheet trimmedcoverheight add yoffset untrimwidthmargin add trimmedcoverwidth add spinewidth add translate 90 rotate 0 0 10 setgrid % set 10x layout grid showfrontgrid { % find grid size trimmedcoverwidth 10 div floor cvi trimmedcoverheight 10 div floor cvi showgrid} if % and optionally show /fcen trimmedcoverwidth % find center for convenience 20 div store frontart1 % do the second artwork as subproc fronttitle % do the title as a subproc frontauthor % do the author as a subproc frontart2 % do the first artwork as subproc frontblurb % do the blurb as a subproc grestore % get off grid! fcov restore % and return to page } store % Front cover subprocs. Note that these can be placed in this program or else % can be run from other procs, as in (\\usualheaders\\fancyart.psl) run /fronttitle { /cstretch 0.1 store % adjust typography to grid /sstretch 0.1 store /kern 0.1 store /font0 /StoneSans-Bold % set title font [2.9 0 0 3.4 0 0] gonzofont /titlecolor [0 0 1] store % and color /yinc 3.8 store % and spacing titlecolor aload pop setrgbcolor font0 fcen 33 (INSIDE\nOUTER SP|k|kA|kCE) cc % note kerning } store /frontauthor { /cstretch 0.1 store % adjust typography to grid /sstretch 0.1 store /kern 0.1 store /font0 /StoneSans-Bold % set title font 1.7 gonzofont /authorcolor [0 0 1] store % and color /yinc 2 store % and spacing authorcolor aload pop setrgbcolor font0 fcen 22.5 (by\nMyles Long) cc % two line title with \n } store /frontblurb { /cstretch 0.1 store % adjust typography to grid /sstretch 0.1 store /kern 0.1 store /font0 /StoneSans-Bold % set title font [1.2 0 0 1.5 0 0 ] gonzofont /blurbcolor [1 0 0.7] store % and color /yinc 1.65 store % and spacing blurbcolor aload pop setrgbcolor font0 fcen 11.5 % note keystone line stretch (AT LONG LAST! The truth as revealed by sources close to an|j|j associate|j|j of|j|j the|j|j barber of a reliable spokesperson!) cc } store /frontart1 {gsave % sneaky border scheme /rad 1.99 store % sets pattern /zz 2.0 store % sets box size 2.5 26 translate % sets lower edge 24 12.3 sneakyborder % width - height - border grestore } store /frontart2 {gsave 3 4.8 23 9 1.2 roundbox % a rounded box behind the burb 0.55 1 1 setrgbcolor fill grestore } store %%%%%%%%%%%%%%%%%% % SPINE % %%%%%%%%%%%%%%%%%% /makespine {save /ssnap exch store % take snapshot xoffset untrimheightmargin add % position on sheet trimmedcoverheight add yoffset untrimwidthmargin add trimmedcoverwidth add translate 90 rotate 0 0 10 setgrid % set 10x layout grid showfrontgrid { % find grid size spinewidth 10 div floor cvi trimmedcoverheight 10 div floor cvi showgrid} if % and optionally show /scen spinewidth % find center for convenience 20 div store spinemark % do spine trademark as a subproc spinetitle % do spine title as a subproc spineauthor % do spine author as a subproc spineisbn % do spine isbm as a subproc grestore % get off grid! ssnap restore % and return to page } store % Spine cover subprocs. /spinetitle { gsave 1.7 20.5 translate -90 rotate /cstretch 0.1 store % adjust typography to grid /sstretch 0.1 store /kern 0.1 store /font0 /StoneSans-Bold % set title font [2.0 0 0 2.6 0 0] gonzofont /titlecolor [0 0 1] store % and color /yinc 3.8 store % and spacing titlecolor aload pop setrgbcolor 0 0 (INSIDE OUTER SP|k|kAC|kE) cc grestore } store /spinemark { gsave /cstretch 0.1 store % adjust typography to grid /sstretch 0.1 store /kern 0.1 store /titlecolor [0.55 0.25 0] store % and color /yinc 3.8 store % and spacing (not used) titlecolor aload pop setrgbcolor /font0 /Revue 2.2 gonzofont % set font for trademark font0 scen 1.2 (S|kP) cc grestore } store /spineauthor { gsave 2.3 37.3 translate -90 rotate /cstretch 0.1 store % adjust typography to grid /sstretch 0.1 store /kern 0.1 store /font0 /StoneSans-Bold % set title font [1.2 0 0 1.5 0 0] gonzofont /titlecolor [0 0 1] store % and color /yinc 3.8 store % and spacing titlecolor aload pop setrgbcolor 0 0 (Myles Long|k'|k|ks) cc grestore } store /spineisbn { gsave 2.8 6.3 translate -90 rotate /cstretch 0.1 store % adjust typography to grid /sstretch 0.1 store /kern 0.1 store /font0 /StoneSans-Bold % set title font [0.7 0 0 1.0 0 0] gonzofont /titlecolor [0 0 1] store % and color /yinc 1.1 store % and spacing titlecolor aload pop setrgbcolor 0 0 (1-882193\n-66-7) cc grestore } store %%%%%%%%%%%%%%%%%% % REAR COVER % %%%%%%%%%%%%%%%%%% /makerearcover {save /rsnap exch store % take snapshot xoffset untrimheightmargin add % position on sheet trimmedcoverheight add yoffset untrimwidthmargin add translate 90 rotate 0 0 10 setgrid % set 10x layout grid showfrontgrid { % find grid size trimmedcoverwidth 10 div floor cvi trimmedcoverheight 10 div floor cvi showgrid} if % and optionally show /rcen trimmedcoverwidth % find center for convenience 20 div store rearart1 % art early if underlay! rearauthor % do spine about author as a subproc rearblurb % do spine blurb as a subproc rearisbn % do spine isbn as a subproc rearbarcode % do spine barcvode as a subproc rearpress % do press name/address as subproc rearart2 % additional rear art as subproc grestore % get off grid! rsnap restore % and return to page } store %% /rearblurb { /cstretch 0.1 store % adjust typography to grid /sstretch 0.1 store /kern 0.1 store /font0 /StoneSans-Bold % set title font [1 0 0 1.2 0 0 ] gonzofont /blurbcolor [1 0 0.7] store % and color /yinc 1.55 store % and spacing blurbcolor aload pop setrgbcolor font0 rcen 22.5 % note keystone line stretch (Winner of the prestigious Gila Bend Literary Society alternate 3rd runner |j|jup |j|jaward |j|jfor |j|jthe |j|jbest |j|jbook with an aqua cover for the week of September 14, 2005.) cc } store %% /rearauthor { /cstretch 0.1 store % adjust typography to grid /sstretch 0.1 store /kern 0.1 store /font0 /StoneSans-Bold % set title font [1.0 0 0 1.2 0 0 ] gonzofont /font1 /StoneSans-Bold 0.8 gonzofont /blurbcolor [0 0 1] store % and color /yinc 1.7 store % and spacing blurbcolor aload pop setrgbcolor font0 rcen 32.5 % note keystone line stretch (ABOUT THE AUTHOR |h |1Myles Long writes books.) cc } store %% /rearisbn { /cstretch 0.1 store % adjust typography to grid /sstretch 0.1 store /kern 0.1 store /font0 /StoneSans-Bold % set title font [0.8 0 0 1.0 0 0 ] gonzofont /blurbcolor [0 0 0] store % and color /yinc 2 store % and spacing not used blurbcolor aload pop setrgbcolor font0 2 1.5 % left justify (ISBN: 1-882193-66-7) cl 2 2.7 ($23.95) cl % optionally add price } store %% /rearart1 {gsave 5.5 28 17 6 0.8 roundbox 0.5 1 1 setrgbcolor fill grestore gsave 5.5 28 17 6 0.8 roundbox clip newpath 0 3.8 mt 5 pu 18 pr 5 pd closepath 0 1 1 setrgbcolor fill grestore grestore} store % /rearpress has the name and address of the publisher /rearpress { /cstretch 0.1 store % adjust typography to grid /sstretch 0.1 store /kern 0.1 store /font0 /Revue % set logo [1.0 0 0 1.2 0 0 ] gonzofont /font1 /StoneSans-Bold 0.8 gonzofont /blurbcolor [0 0 1] store % and color /yinc 1.0 store % and spacing 0.55 0.25 0 setrgbcolor font0 rcen 10.8 (|0SYNERGETICS PRESS |1|/setblack 3860 West First Street Box 809 Thatcher, AZ 85552 http://www.tinaja.com (928) 428-4073) cc } store /setblack {0 0 0 setrgbcolor} store % color change for above % At present, a fake barcode is used. Replace it with a real one named /barcode % This can be placed inline here or a (\\headers\\barcode) run command can be used. % One free source of a PostScript bar code generator is % http://www.terryburton.co.uk/barcodewriter/ % An online barcode generator and checker is found at % http://www.raise-the-bar.co.uk/cgi-bin/webbarcodegen.pl /rearbarcode {gsave 13.7 0.8 translate % position barcode on rear barcode % image the barcode grestore} store /rearart2 {} store % optional art or image, internal or external %%%%%%%%%%%%%%%%%%% % REGIONS & CROPS % %%%%%%%%%%%%%%%%%%% % /makeregions is a convenience operator that shows you the edges % of the front, rear, and spine areas /makeregions {gsave setcropcolor % make sure color is legible! xoffset untrimheightmargin add yoffset untrimwidthmargin add translate 0 0 mt trimmedcoverheight pr trimmedcoverwidth 2 mul spinewidth add pu trimmedcoverheight pl closepath line1 stroke 0 trimmedcoverwidth mt trimmedcoverheight r 0 trimmedcoverwidth spinewidth add mt trimmedcoverheight r grestore } store % /makecrops optionally shows the folding and cutting edge areas. /makecrops {gsave setcropcolor /yt untrimwidthmargin store % convenience operators /xt untrimheightmargin store xoffset xt add % upper left crop yoffset mt yt u xt l xoffset xt add % rear top spine fold yoffset trimmedcoverwidth add yt add mt xt l xoffset xt add % front top spine fold yoffset trimmedcoverwidth add spinewidth add yt add mt xt l xoffset xt add % upper right crop yoffset trimmedcoverwidth 2 mul add spinewidth add yt add yt add mt yt d xt l xoffset xt add trimmedcoverheight add % lower left crop yoffset mt yt u xt r xoffset xt add trimmedcoverheight add % rear top spine fold yoffset trimmedcoverwidth add yt add mt xt r xoffset xt add trimmedcoverheight add % rear top spine fold yoffset trimmedcoverwidth add spinewidth add yt add mt xt r xoffset xt add trimmedcoverheight add % lower right crop yoffset trimmedcoverwidth 2 mul add spinewidth add yt add yt add mt yt d xt r grestore} store %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%% High Level Book Cover Creator Utility %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /makeabookcover { noautorotate % stop distiller from rotations setcropcolor % create complimentary crop color colorbackground % color the active area makefrontcover % create the front cover makespine % create the spine makerearcover % create the back cover showregions { % optionally add region marks makeregions } if showcropmarks { % optionally add crop marks makecrops } if } store %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%% Demo - remove or alter before reuse %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % enter desired data values here /backgroundcolor [ 0.8 1 1 ] store % background color [ red green blue ] 0-1 % black=0 aqua shown /showcropmarks true store % show crop marks? /showregions true store % outline cover and spine areas? /xoffset 0.5 inches store % x distance from page left to untrim /yoffset 0.5 inches store % y distance from page top to untrim /untrimwidthmargin 0.25 inches store % x distance of color bleed beyond trim /untrimheightmargin 0.75 inches store % y distance of color bleed beyond trim /trimmedcoverwidth 4 inches store % width of trimmed cover /trimmedcoverheight 6 inches store % height of trimmed cover /spinewidth 0.75 inches store % width of spine /showfrontgrid true store % show the 10x layout grids? /showspinegrid true store /showbackgrid true store % 300 400 translate 0.15 dup scale % debugging tool - leave commented makeabookcover % this actually does it % f1xsnap restore grestore % temp } store %%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 /tabs [14] store 20 47.3 0.7 add % 1 sub (Book |j|jCover |j|jLayouts) cc 20 45.3 0.7 add % 1 sub (Using |j|jmy |j|jGonzo |j|jUtilities) cc black font2 textleft 43 0.3 add % this one only need |h below (|/aqua |/staytint1 |3Don Lancaster Synergetics, Box 809, Thatcher, AZ 85552 copyright c2005 as |/surl |6GuruGram|1|/gurgrm01 |/tinton1 |6#61. |/surl http://www.tinaja.com|/tinaja |/surl don@tinaja.com|/maildon (928) 428-4073 |/aqua |/black |a|0I|b|1 have long had available a free set of my |/su Gonzo Utilities|1|/gonzoutils that can be found in our |/su PostScript Library|1|/post01 . Which I continue to aggressively personally use for |/to all|/tx of my writing projects, my |/su PostScript as Language|1|/distlang.pdf programming research, and for countless other tasks. |h These highly device independent and |/to proudly non-WYSIWYG|/tx |/su PostScript|1|/post01 utilities can greatly simplify |/su Using PostScript as a General Purpose Computing Language|1|/distlang.pdf , can offer |/to superbly fancy typesetting|/tx , do |/to fancy modeling calculations|/tx , very much |/to enhance gridding and graphing|/tx , and even provide you with |/to unmatched quality |/to electronic schematics|/tx . |h They also let you |/to read or write most any disk file in most any language|/tx , thus leaping tall buildings in a single bound. Expanded, they may also be used to programmatically |/to write complex programs in other languages|/tx . Such as those |/to JavaScript|/tx Fourier Analysis routines found on our |/su Magic Sinewave|1|/magsn01 page. Or the incredibly legible small fonts in our |/su Bitmap Typewriter|1|/bmfauto1.pdf . |h You can start learning the |/su Gonzo Utilities|1|/gonzoutils with our |/su PostScript Beginner Projects|1|/begstuff . Or else go to most any |/to .PSL|/tx file in our |/su GuruGram library|1|/gurgrm01 or elsewhere for highly detailed use examples. |h To use the |/su Gonzo Utilities|1|/gonzoutils yourself, you |/su download them|1|/gonzoutils into a known place in your computer or place them on a floppy or other media. Then, |/to after making |/to obvious site changes|/tx , you include |/to one of the following|/tx in the beginning of your standard ASCII textfile that will hold the |/su PostScript|1|/post01 instructions that you are going to send to |/su Acrobat Distiller|1|/acrob01 ... |6|/shiftin |/aqua |/burplebox4.5 |/staytint1 |h (C:\\\\\\\\Documents and Settings\\\\\\\\don\\\\\\\\Desktop\\\\\\\\ gonzo\\\\\\\\gonzo.ps) run |t% use internal gonzo |h (A:\\\\\\\\gonzo.ps) run |t% use external gonzo |h |1|/shiftout |/burple |/black |h ) cl startnewpage (Be sure to note that\274 |6|/shiftin |/aqua |/burplebox3 |/staytint1 |h You MUST use a DOUBLE reverse slash inside a PostScript string every time you really want a single reverse slash! |h |1|/shiftout |/aqua |/black |h The |/su Gonzo Utilities|1|/gonzoutils are normally in a group of activatable dictionaries. At present, their |/to activation sequence|/tx of |/to gonzo begin ps.util.1 begin nuisance begin|/tx is built into the last lines of the |/su Gonzo|1|/gonzoutils download. Thus, Gonzo will automatically activate most of itself on its |/to run|/tx command. The separate |/to electronics begin|/tx dictionary is only sometimes needed, so you will have to activate it when desired. |h In normal use, you will create an |/to ordinary ASCII textfile|/tx using your favorite editor or word processor that has the |/to (\274Gonzo\274) run|/tx command near its beginning. Typically, you will have a |/to showpage|/tx at the end of your document. Note that you must |/to NOT|/tx end with a |/to quit|/tx or a |/to [D]|/tx Control-D command! |h You'll then send this file to |/su Acrobat Distiller|1|/acrob01 , which is included in all full featured versions of |/su Adobe Acrobat|1|/adobe . While Acrobat 7 is recommended at this writing, earlier versions can also be used. It is also sometimes possible to use |/su GhostScript|1|/ghostscript as an |/su Acrobat|1|/acrob01 replacement. My personal recommendation is to always use a genuine |/su Adobe|1|/adobe distiller instead. |h |c Gonzo |jBook |jCover |jLayouts |d There are just enough hassles and gotchas in doing book cover layouts for |/su BOD|/bod01 |/su printing|1|/bod01 that the |/su Gonzo Utilities|1|/gonzoutils can be a good choice for this task. A typical book cover with design aides in place might look something like this\274 |/autofig1 ) cl startnewpage (I have put together a new set of utility routines as |/su BOOKCOVR.PSL|1|/bookcovr.psl that should let you conveniently do most any book cover layout. A companion |/su BOOKCOVR.PDF|1|/bookcovr.pdf demo gives you a full size version of our above figure. |h |/su BOOKCOVR.PSL|1|/bookcovr.psl is fairly well documented internally, so what I thought I'd do here is just go over a few of the more subtle points of book cover layout. What follows is best understood if you do have copies of |/su BOOKCOVR.PSL|1|/bookcovr.psl and |/su BOOKCOVR.PDF|1 printed out or in open windows. |h The basic elements of |/su BOOKCOVR.PSL|1|/bookcovr.psl are an oversize background color onto which three separate areas are placed for the front cover, the spine, and the rear cover. Each of these has their own internal coordinate system and is independent of the others. |h Several design aides are included. |/to Region lines|/tx outline the cover areas and can be handy during early layout, but should be made invisible otherwise. These are one or more sets of |/to crop marks|/tx for pre- and post-binding cutting, and three separate |/to layout grids|/tx for the cover art areas. These can be turned on or off by switching their commands from |/to true|/tx to |/to false|/tx . Such as |/to /showregions true store|/tx . |h |c How |jBig? |d One of the ruder surprises of book cover layout is that |/to most covers will demand |/to an oversize printer|/tx . A 5 x 8 inch paperback cover is about the largest you can hope to print on a conventional 8-1/2 x 11 inch printer. And then only if the spine is not too thick. Our |/su BOOKCOVR.PSL|1|/bookcovr.psl allows any sane size cover layout. |h Note that an ordinary printer with a "legal size" tray capability should be able to handle book covers up to around eight inches high by six inches wide with a one inch spine. |h However\274 |6|/shiftin |/aqua |/burplebox6.5 |/staytint1 |h Larger book covers may require an oversize printer. If so, custom settings WILL be needed for Acrobat Distiller. |h Go into EDIT ADOBE PDF SETTINGS and adjust the width and the height of the DEFAULT PAGE SIZE. Then resave with a new default settings filename. |h |1|/shiftout |/aqua |/black |h The example presently in |/su BOOKCOVR.PSL|1|/bookcovr.psl is for a four by six inch book and will easily fit a conventional paper page and printer. For best printer compatibility, |/to the |/to actual layout will physically remain in its portrait orientation|/tx . |h Unfortunately, Adobe Distiller has a disconcerting habit of deciding whether portrait or landscape is best for you. This is best defeated by using\274) cl startnewpage (|6|/shiftin |/burple |/burplebox6.5 |/staytint1 |h /currentdistillerparams where {pop} {userdict /currentdistillerparams {1 dict} put} ifelse /setdistillerparams where {pop} {userdict /setdistillerparams {pop} put} ifelse |h <> setdistillerparams |h |1|/shiftout |/aqua |/black |h |c Background |jTasks |d The positioning on the sheet is set by |/to xoffset|/to and |/to yoffset|/tx as measured from the |/to lower left|/tx of your portrait oriented sheet. |h In general, the best covers will be done on special |/to duplex cover stock|/tx that is |/to prefinished|/tx with one color on one side and white on the other. (Note: This is a different use of the word "duplex" than you might be familiar with.) You can fake special stocks by simply printing a background color (or pattern or image) over a |/to background area|/tx that is large enough to include needed trimming. |h |/to Crop marks|/tx can be placed on the background area to indicate the final trim size of the cover. A second set of crop marks may be desired if there is both a pre- and post-binding trim needed. As before, these can be turned on or off with a |/to /showcropmarks true store|/tx . Further, |/to regions|/tx can be placed around the front, spine, and rear covers. These are handy for layout, but should be removed later using a |/to /showregions true store|/tx . |h A "safety valve" is also present just in case an error in one of your page rotations or a text positioning value inadvertently moves you so far off the page that you cannot find it. To activate this feature, you simply uncomment the |/to % 300 400 |/to translate 0.15 dup scale|/tx debugging tool line. |c Front |jCover |d Any mix of text, line art, images, patterns, or area procs can be used on your cover layout. I prefer to work on a 10X grid as this makes most of the numbers short and convenient. The 0,0 orientation is at the |/to lower left|/tx . |h Your choice of fonts is particularly critical for a title, as there will be very few characters to properly absorb the font "vibes". I particularly like the variants on the |/to Stone|/tx font. Be sure to |/to include|/tx your fonts in your distillation. Otherwise, Distiller may |/to substitute|/tx a multiple master font for you that may not look quite as good. Best results on the demo will happen with |/to Stone|/tx and |/to Revue|/tx available. |h Custom kerning will often be needed to best show larger typography. In particular, the "A" in "SPACE" has two points of crowding towards the |/to "P"|/tx and one point towards the |/to "C"|/tx . Negative kerning in Gonzo is done with a |/to bar-k|/tx , while positive uses a |/to bar-j|/tx . |h ) cl startnewpage (One or more |/to centering variables|/tx can be created as convenience operators. Such as |/to fcen|/tx . This can |/to auto-track|/tx for you should you make modest changes in the cover width. Auto-tracking cover height can be done but probably will create more problems than it solves. |h An obvious caution\274 |6|/shiftin |/aqua |/burplebox3 |/staytint1 |h Any artwork that UNDERLAYS text or whatever MUST be called BEFORE the overlaying text is put down. |h |1|/shiftout |/aqua |/black |h The rounded box underlying the blurb was done using a stock |/to roundbox|/tx routine in the |/su Gonzo Utilities|1|/gonzoutils . That fancy border under the title was done using a sneaky and disgustingly elegant combination of |/to arcto crowding|/tx and |/to superstroking|/tx . |h Details on this scheme appear in |/to Column 45|/tx of our |/su PostScript Secrets|1|/pssecrets . |h |c The Spine |d A key point before we continue\274 |6|/shiftin |/aqua |/burplebox3 |/staytint1 |h The spine width is CRUCIALLY SENSITIVE to the page count and the bulk and weight of the pages used. |h |1|/shiftout |/aqua |/black |h You will have to |/to very carefully measure|/tx your needed spine width using the actual page count and actual papers selected for your final book production. While minor variations can sometimes be absorbed by changing your folding, this can and will uncenter your front and rear cover art if excessive. |h A typical spine has a mix of normal and rotated text, so I decided to leave it in portrait mode with its 0,0 coordinate at |/to lower left|/tx . As with the front and rear covers, the spine has its own grid system that you can turn on or off for layout. The |/to SP|/tx service mark would appear horizontally. This could be an .eps artwork cut, a custom proc, or just the two-character |/to Revue|/tx typography shown. |h The three remaining text areas of the author, title, and ISBN are text separately rotated in place as needed. Again, large text custom kerning should be used where it improves appearance. |h |c Rear |jCover |jand those|j |jISBN |jBarcodes |d The rear cover pretty much uses the same techniques as the front. A modified double |/to roundbox|/tx can give you that two-tone |/to about the author|/tx effect shown. The second |/to roundbox|/tx clips the upper area to the proper size. Once again, be sure to put the background down first and the foreground last. |h ) cl startnewpage (A crucial rule on book sales\274 |6|/shiftin |/aqua |/burplebox6.5 |/staytint1 |h If you want to sell your book on |/su Amazon|/amazon |/to or in a bookstore or a regular store, you ABSOLUTELY MUST have an ISBN number for that book! |h Your book also ABSOLUTELY MUST include a bar code in the LOWER RIGHT CORNER of your rear cover! |h |1|/shiftout |/aqua |/black |h ISBN numbers are normally gotten from the |/su US ISBN Agency|1|/isbn , which is currently administered by |/su Bowker|1|/isbn . Typical fees vary from three cents to three dollars each, with a ten ISBN number minimum order. |h Your barcode can simply be pasted into our Gonzo layout proc. It is extremely important to |/to use the ISBN style barcode|/tx and not one of the many other variants. Typically, a barcode will be an |/to .EPS|/tx routine that you can either define inline inside the Gonzo layout or else |/to run|/tx as an external file. |h I've just used a fake barcode in our example layout. You can get a real barcode image from any of a number of free, shareware, or commercial programs. A barcode tutorial |/su appears here|1|/barcodetutorial . A free barcode generator |/su appears here|1|/barcodegen . One of many online interactive barcode generators |/su appears here|1|/barcodeonline . |h |c Images |d Images are easily included in your cover layout. Doing everything from a full image background to an author photo to an artwork enhancement. I have not included images in the demo in interest of keeping things fairly simple. |h The best way to deal with an image is to make it into a |/to .EPS file|/tx . Which can either be internally included as a |/su PostScript|1|/post01 proc or else externally |/to run|/tx the same way we loaded in the |/su Gonzo Utilities|1|/gonzoutils . Most other image formats are easily converted to .EPS format using the |/to "save as"|/tx feature in |/su Adobe Illustrator|1|/adobe or a similar image management program. |h Should all else fail, there is a special |/to DCTDecode|/tx filter built into |/su PostScript|1|/post01 that you can use to directly read an accessible .JPG file and convert it into a PostScript image proc. Details on this in |/su jpg2pdf.pdf|1|/jpg2pdf.pdf in our |/su GuruGram|1|/gurgrm01 library. |h |c For |jMore |jHelp |d Bunches of more info on Gonzo and PostScript in general can be found over on our |/su PostScript|1|/post01 library page. Along with lots of tutorials and utilities. |h Additional consulting services are available per our |/su Infopack|1|/info01 services on a contract, seminar, or hourly basis. Further |/surl |6GuruGrams|1|/gurgrm01 await your ongoing support as a |/surl |6Synergetics Partner|1|/advt01 . ) cl startnewpage %%%%%%%%%%%%%%%%%%%% % EOF