home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / comp / lang / postscri / 6057 < prev    next >
Encoding:
Text File  |  1992-12-21  |  2.0 KB  |  58 lines

  1. Newsgroups: comp.lang.postscript
  2. Path: sparky!uunet!brunix!brunix!jgm
  3. From: jgm@cs.brown.edu (Jonathan Monsarrat)
  4. Subject: Re: Break down drawing larger than pagesize ?
  5. Message-ID: <1992Dec21.171203.29295@cs.brown.edu>
  6. Sender: news@cs.brown.edu
  7. Organization: Brown University Department of Computer Science
  8. References: <BzIK8M.6yB@newsserver.technet.sg> <1h4rslINNl4f@CS.UTK.EDU>
  9. Date: Mon, 21 Dec 1992 17:12:03 GMT
  10. Lines: 46
  11.  
  12.  
  13. >Has anyone ever done a program (be it postscript or a tool creating
  14. >postscript), that can draw on an (infinitely large) virtual page, then
  15. >break it down into an acceptable size (say the printer's default),
  16.  
  17. Here's a hack that may be of use to you. I've used it to create
  18. posters 18 feet high! :)
  19.  
  20. Right now it's set to print "normal size" -- just one page.
  21.  
  22. -Jon
  23.  
  24.  
  25. %! Jon Monsarrat   jgm@cs.brown.edu   Brown University %! Obfuscated PostScript
  26. % The "Drawit" routine can be any program. Ignore the complexity of
  27. % what drawit happens to be defined as.
  28. /drawit
  29. {
  30.  
  31. 4 4 scale
  32.  
  33. (LcHdBidZi_hdQ6[PaVa1b4c6F"J4b/>$O<)(di_zk{:UFfUg;ABF)(2n>]Eh:u?<)(P"M#R\(:$T<)
  34. ([gXfSZ]f\\dZbeZeb^fH;`?dR=ZS7)(K P!U!: H<)(9l9cCf:o?$)(7W4]6`:X;=)(U"W#_%:"R-)
  35. (A 5"<&Y%K"F"M,M,S\)i3e.M5F_PZR9>lP-)(wBxEuEs7x;uBq:q<q>hFh7o:=Nj<)(Z#]#b#:$R-)
  36. (m+m+k3S!R+d,;"^<)(GFP\\RamZf;TAP{X{fd<{C7)(4840N2:6N=)([ Z#^&:!c<)(<%?$C$:#8<)
  37. (D!J"L#:!B<)/a{def}def/M{exch}a/S{repeat}a/Q{{40 add}if}a 18{{}forall/R M a/x 2
  38. /y 3/z 5 3{R M mod 1 eq a}S x Q M y Q moveto 57 sub{3{y Q M x Q M 6 2 roll}S
  39. curveto}S z{fill}{stroke}ifelse}S showpage
  40.  
  41. } bind def
  42.  
  43. /size 1 def   % change this variable to get larger posters.
  44.               % For example, try numbers 2, 3 and 4.
  45. /inch { 72 mul } def
  46. % This defines the size of the poster. The output will be (size+1)^2
  47. % number of pages, so be wary of printing this out too big. It take a
  48. % long time.
  49.  
  50. 0 1 size 11 17 div mul { /height exch def
  51.         0 1 size 8.5 11 div mul { /width exch def
  52.                   -10.5 inch width mul
  53.                   -16.5 inch height mul translate
  54.                    size size scale drawit
  55.               } for
  56.       } for
  57.  
  58.