Path: utzoo!attcan!uunet!lll-winken!lll-tis!helios.ee.lbl.gov!pasteur!agate!labrea!rutgers!mailrus!bbn!rochester!pt.cs.cmu.edu!cat.cmu.edu!jps From: jps@cat.cmu.edu (James Salsman) Newsgroups: comp.lang.postscript Subject: PostsCrap code that might be useable Summary: stupid programs Message-ID: <3519@pt.cs.cmu.edu> Date: 9 Nov 88 01:46:49 GMT Organization: Carnegie Mellon Lines: 73 First, a definition for '?' that can help with debugging your .ps code: %! debug-op with example % /? {dup 50 string cvs print (: ) print load ==} bind def % debug-op % /Foo 20 def % /Foo ? % %output: "Foo: 20" Theory of operation: you stick in quoted identifiers with question marks and the interpreter prints out their values to %stdout (your printer's error log?) And, for those of you with Linos: %!LinoPoster % for use only on a Linotronic 100/300 % by James P. Salsman (jps@CAT.CMU.EDU) % /TheMessage (DON'T PANIC) def % what the poster will say /TheFont /Bookman-Demi def % what it will say it in; don't use Times % /inch {72 mul} def % trusty inch macro % /MessageHeight 11 inch def % the vertical space to be used for the message /PageLength 8 inch def % larger numbers take less time but waste more paper % /MaxPhysWidth 842 def % maximum paper "width," 11.7 inches % statusdict begin % to modify page parameters MaxPhysWidth % width PageLength % height 0 % offset 0 % orientation (map logical width to physical length) setpageparams end % TheFont findfont setfont % get the font in units 0 0 moveto % go to the origin TheMessage false charpath % path of the message -- do NOT flattenpath! pathbbox % message's bbox /Top exch def % ur(y) /Rgt exch def % ur(x) /Bot exch def % ll(y) /Lft exch def % ll(x) % /HeightUnits Top Bot sub def % height in units /Factor MessageHeight HeightUnits div def % scaling factor (and point size) /Pages Rgt Lft sub Factor mul PageLength div floor def % length in pages-1 /CenterOffset MaxPhysWidth MessageHeight sub 2 div def /VertOrigin Bot neg Factor mul def % bbox origin y coord /HorzOrigin Lft neg Factor mul def % bbox origin x coord % currentfont Factor scalefont setfont % scale font up % 0 1 Pages { % for: iterate from 0 by 1 to pages-1 PageLength mul neg % adjust for the current page frame CenterOffset translate % and the centering HorzOrigin VertOrigin moveto % go to the origin for the bbox TheMessage show % paint letters showpage % record page } for % % end That should be obvious. It makes REALLY BIG letters. I mean HUGE! -- :James P. Salsman (jps@CAT.CMU.EDU) --