home *** CD-ROM | disk | FTP | other *** search
/ Amiga Magazin: Amiga-CD 1996 July / AMIGA_1996_7.BIN / patches / pagestream / 3.0aupdate / postscript.lha / PostScript.prolog < prev   
Text File  |  1994-09-22  |  18KB  |  812 lines

  1. %%BeginProlog
  2. % $VER: PostScript.prolog 1.0a (22.9.94)
  3. %Copyright 1994 Soft-Logik Publishing Corp.
  4.  
  5. /AsphaltDict dup 153 dict def load begin
  6.  
  7. %
  8. % basic definitions
  9. %
  10. /bdef {bind def} bind def
  11. /xdef {exch def} bdef
  12. /ldef {load def} bdef
  13. /dmatrix matrix def
  14. /cmatrix matrix def
  15. /omatrix matrix def
  16.  
  17. /deltax 0 def
  18. /deltay 0 def
  19. /slant 0 def
  20. /twist 0 def
  21. /xscl 0 def
  22. /yscl 0 def
  23. /bang 0 def
  24. /eang 0 def
  25.  
  26. /tilescalex 0 def
  27. /tilescaley 0 def
  28. /bh 0 def
  29. /bv 0 def
  30.  
  31. %
  32. % drawing definitions
  33. %
  34. /sclm [0 0 0 0 0 0] def
  35. /sr {
  36.  /twist xdef
  37.  /slant xdef
  38.  /deltay xdef
  39.  /deltax xdef
  40.  cmatrix setmatrix deltax deltay translate
  41.  sclm 0 twist cos put
  42.  sclm 1 twist sin put
  43.  sclm 2 slant sin neg put
  44.  sclm 3 slant cos put
  45.  sclm concat
  46.  /omatrix omatrix currentmatrix def
  47. }bdef
  48.  
  49. /scl {
  50.  deltay sub exch
  51.  deltax sub exch
  52.  transform round .2 add exch round .2 add exch itransform
  53. }bdef
  54.  
  55. %
  56. % - patternpath -
  57. %
  58. /patternpath { %bdef
  59.   /mypatternfont findfont begin FontDict /ctm get setmatrix
  60.   currentdict setfont
  61.  
  62.   FontDict begin
  63.     FontMatrix concat
  64.     width 0 dtransform
  65.     round width div exch round width div exch
  66.     0 height dtransform
  67.     round height div exch
  68.     round height div exch
  69.     0 0 transform round exch round exch
  70.     ptm astore setmatrix
  71.     pathbbox
  72.     height div ceiling height mul 4 1 roll
  73.     width div ceiling width mul 4 1 roll
  74.     height div floor height mul 4 1 roll
  75.     width div floor width mul 4 1 roll
  76.     2 index sub height div ceiling cvi exch
  77.     3 index sub width div ceiling cvi exch
  78.     4 2 roll moveto
  79.     FontMatrix ptm invertmatrix pop
  80.     { %repeat
  81.       gsave
  82.       ptm concat
  83.       dup str length idiv {str show} repeat
  84.       dup str length mod str exch 0 exch getinterval show
  85.       grestore
  86.       0 height rmoveto
  87.     } repeat
  88.     pop
  89.   end end
  90. }bdef
  91.  
  92. %
  93. % - patternfill -
  94. %
  95. /patternfill { %bdef
  96.   gsave
  97.   1 setgray
  98.   fill
  99.   grestore
  100.  
  101.   gsave
  102.   clip patternpath
  103.   grestore
  104.   newpath
  105. }bdef
  106.  
  107. %
  108. % - patterneofill -
  109. %
  110. /patterneofill { %bdef
  111.   gsave
  112.   1 setgray
  113.   eofill
  114.   grestore
  115.  
  116.   gsave
  117.   eoclip patternpath
  118.   grestore
  119.   newpath
  120. }bdef
  121.  
  122. %
  123. % - patternstroke -
  124. %
  125. /patternstroke { %bdef
  126.   strokepath
  127.   gsave
  128.   1 setgray
  129.   eofill
  130.   grestore
  131.  
  132.   gsave
  133.   clip patternpath
  134.   grestore
  135.   newpath
  136. }bdef
  137.  
  138.  
  139. %
  140. % - N -
  141. %
  142. /N /newpath ldef
  143.  
  144. %
  145. % x y M -
  146. %
  147. /M {scl moveto}bdef
  148.  
  149. %
  150. % x y L -
  151. %
  152. /L {scl lineto}bdef
  153.  
  154. %
  155. % cx1 cy1 cx2 cy2 px2 py2 C -
  156. %
  157. /C {scl 6 2 roll scl 6 2 roll scl 6 2 roll curveto} bdef
  158.  
  159. %
  160. % cx cy rx ry ba ea slant twist A -
  161. %
  162. /A {
  163.  /twist xdef
  164.  /slant xdef
  165.  /eang xdef
  166.  /bang xdef
  167.  /yscl xdef
  168.  /xscl xdef
  169.  scl translate xscl yscl scale
  170.  sclm 0 twist cos put
  171.  sclm 1 twist sin put
  172.  sclm 2 slant sin neg put
  173.  sclm 3 slant cos put
  174.  sclm concat
  175.  0 0 1 bang eang arc omatrix setmatrix
  176. }bdef
  177.  
  178. %
  179. % cx cy rx ry ba ea slant twist AN -
  180. %
  181. /AN {
  182.  /twist xdef
  183.  /slant xdef
  184.  /eang xdef
  185.  /bang xdef
  186.  /yscl xdef
  187.  /xscl xdef
  188.  scl translate xscl yscl scale
  189.  sclm 0 twist cos put
  190.  sclm 1 twist sin put
  191.  sclm 2 slant sin neg put
  192.  sclm 3 slant cos put
  193.  sclm concat
  194.  0 0 1 bang eang arcn omatrix setmatrix
  195. }bdef
  196.  
  197. %
  198. % - CP -
  199. %
  200. /CP {closepath}bdef
  201.  
  202. %
  203. % fill defines
  204. %
  205. /SG /setgray ldef
  206.  
  207. %
  208. % /fillproc c m y k CMYK -
  209. %
  210. /CMYK {
  211.  setcmykcolor load exec
  212. }def
  213.  
  214. %
  215. % /fillproc sx sy l w angle /ramp [c1 m1 y1 k1][c2 m2 y2 k2] CMYKGRAD -
  216. %
  217. /CMYKGRAD {
  218.  /tc2 xdef
  219.  /tc1 xdef
  220.  /ramp exch ldef
  221.  /angle xdef
  222.  pop pop pop pop
  223.  /fillproc exch ldef
  224.  
  225.  gsave cmatrix setmatrix flattenpath clip 
  226.  pathbbox /ury xdef /urx xdef /lly xdef /llx xdef
  227.  angle 0 lt{/angle angle 360 add def}if
  228.  angle 180 gt{/angle angle 180 sub def tc1 tc2 /tc1 xdef /tc2 xdef}if
  229.  angle 90 gt{ /quad {ury exch sub} bdef tc1 tc2 /tc1 xdef /tc2 xdef}{ /quad {lly add} bdef}ifelse
  230.  /l urx llx sub def
  231.  /w ury lly sub def
  232.  /v angle dup 90 gt{90 sub neg 90 add}if dup sin l mul exch cos w mul add 2 mul def
  233.  /d angle dup 90 gt{90 sub neg 90 add}if dup sin w mul exch cos l mul add def
  234.  /steps d 72 div currentscreen pop pop mul cvi 1 add dup 256 gt{pop 256}if def
  235.  /dd d steps div def
  236.  
  237.  0 1 steps
  238.  {
  239.   steps div dup /frac xdef ramp /rfrac xdef
  240.   tc2 0 get tc1 0 get sub rfrac mul tc1 0 get add
  241.   tc2 1 get tc1 1 get sub rfrac mul tc1 1 get add
  242.   tc2 2 get tc1 2 get sub rfrac mul tc1 2 get add
  243.   tc2 3 get tc1 3 get sub rfrac mul tc1 3 get add setcmykcolor
  244.  
  245.   newpath gsave
  246.   l frac mul llx add
  247.   w frac mul quad translate angle rotate 
  248.   dd 2 div neg v 2 div neg moveto
  249.   0 v rlineto dd 0 rlineto 0 v neg rlineto closepath
  250.   fillproc grestore
  251.  } for
  252.  
  253.  grestore
  254.  
  255. }def
  256.  
  257. %
  258. % this is the orginal
  259. %
  260. %/CMYKGRAD {
  261. % /tc2 xdef
  262. % /tc1 xdef
  263. % /ramp exch ldef
  264. % /angle xdef
  265. % /w xdef /l xdef scl /sy xdef /sx xdef
  266. % /fillproc exch ldef
  267. %
  268. % /steps 256 def
  269. % /dx l steps div def
  270. %
  271. % gsave clip
  272. %
  273. % sx sy translate angle rotate
  274. %
  275. % 0 1 steps
  276. % {
  277. %  steps div dup /frac xdef ramp /rfrac xdef
  278. %  tc2 0 get tc1 0 get sub rfrac mul tc1 0 get add
  279. %  tc2 1 get tc1 1 get sub rfrac mul tc1 1 get add
  280. %  tc2 2 get tc1 2 get sub rfrac mul tc1 2 get add
  281. %  tc2 3 get tc1 3 get sub rfrac mul tc1 3 get add setcmykcolor
  282. %  newpath l frac mul w -2 div moveto 0 w rlineto dx 0 rlineto 0 w neg rlineto closepath fillproc
  283. % } for
  284. %
  285. % grestore
  286. %
  287. %}def
  288.  
  289. %
  290. % /fillproc xc yc radius /ramp [c1 m1 y1 k1][c2 m2 y2 k2] CMYKRADIAL -
  291. %
  292. /CMYKRADIAL {
  293.  /tc2 xdef
  294.  /tc1 xdef
  295.  /ramp exch ldef
  296.  /radius xdef
  297.  scl /yc xdef /xc xdef
  298.  /fillproc exch ldef
  299.  
  300.  /steps 256 def
  301.  
  302.  gsave clip
  303.  
  304.  steps -1 0
  305.  {
  306.   steps div dup /frac xdef ramp /rfrac xdef
  307.   tc2 0 get tc1 0 get sub rfrac mul tc1 0 get add
  308.   tc2 1 get tc1 1 get sub rfrac mul tc1 1 get add
  309.   tc2 2 get tc1 2 get sub rfrac mul tc1 2 get add
  310.   tc2 3 get tc1 3 get sub rfrac mul tc1 3 get add setcmykcolor
  311.   newpath xc yc radius frac mul 0 360 arc fillproc
  312.  } for
  313.  
  314.  grestore
  315.  
  316. }def
  317.  
  318. %
  319. % /fillproc inset /ramp [c1 m1 y1 k1][c2 m2 y2 k2] CMYKSHAPE -
  320. %
  321. /CMYKSHAPE {
  322.  /tc2 xdef
  323.  /tc1 xdef
  324.  /ramp exch ldef
  325.  /xc xdef
  326.  /fillproc exch ldef
  327.  
  328.  /steps 30 def
  329.  
  330.  currentflat mark currentflat
  331.  {
  332.   {
  333.    dup setflat mark clip
  334.  
  335.    tc1 0 get tc1 1 get tc1 2 get tc1 3 get setcmykcolor
  336.    currentflat mark currentflat
  337.    {
  338.     dup setflat mark
  339.     {fillproc} gsave stopped grestore {cleartomark 1.3 mul dup 100 gt {cleartomark setflat stop}if}{cleartomark exit} ifelse
  340.    }loop
  341.    cleartomark setflat
  342.  
  343.    steps -1 0
  344.    {
  345.     steps div dup /frac xdef ramp /rfrac xdef
  346.     tc1 0 get tc2 0 get sub rfrac mul tc2 0 get add
  347.     tc1 1 get tc2 1 get sub rfrac mul tc2 1 get add
  348.     tc1 2 get tc2 2 get sub rfrac mul tc2 2 get add
  349.     tc1 3 get tc2 3 get sub rfrac mul tc2 3 get add setcmykcolor
  350.     []0 setdash xc 2 mul frac mul setlinewidth
  351.  
  352.     currentflat mark currentflat
  353.     {
  354.      dup setflat mark
  355.      {ST} gsave stopped grestore {cleartomark 1.3 mul dup 100 gt {cleartomark setflat stop}if}{cleartomark exit} ifelse
  356.     }loop
  357.     cleartomark setflat
  358.  
  359.    } for
  360.   }
  361. %  gsave stopped grestore {cleartomark 1.3 mul dup 100 gt {cleartomark setflat stop}if}{cleartomark exit} ifelse
  362.   gsave stopped grestore {cleartomark 1.3 mul dup 100 gt {exit}if}{cleartomark exit} ifelse
  363.  }loop
  364.  cleartomark setflat
  365. }def
  366.  
  367.  
  368. %
  369. % - S -
  370. %
  371. /S {
  372.  /MF /eofill ldef
  373.  /MS /fill ldef
  374.  /ST /stroke ldef
  375. } bdef
  376.  
  377. %
  378. % <pattern> P -
  379. %
  380. /P {
  381.  /pattern xdef
  382.  /mypatternfont findfont begin
  383.  FontDict begin
  384.  true
  385.   0 1 patterncount 1 sub {
  386.    dup patterns exch get pattern eq
  387.       {0 1 str length 1 sub{str exch 2 index put}for pop pop false exit}
  388.    if
  389.    pop
  390.  }for
  391.  {
  392.    patterns patterncount pattern put
  393.     0 1 str length 1 sub {str exch patterncount put}for
  394.    /patterncount patterncount 1 add def
  395.  }if
  396.  end
  397.  end
  398.  /MF /patterneofill ldef
  399.  /MS /patternfill ldef
  400.  /ST /patternstroke ldef
  401. } bdef
  402.  
  403. %
  404. % join miterlimit cap [dashpattern] width ST -
  405. %
  406. /st {
  407.  setlinewidth 0 setdash setlinecap
  408.  2 div sin 1 exch div setmiterlimit
  409.  setlinejoin strokepath
  410. }bdef
  411.  
  412. %
  413. % endfunc scale angle x y LNE -
  414. %
  415. /LNE {
  416.  scl translate rotate dup scale
  417.  load exec
  418.  omatrix setmatrix
  419. }bdef
  420.  
  421. %
  422. % screen spot functions
  423. %
  424. /SSNewDot {180 mul cos exch 180 mul cos add 2 div}bdef
  425. /SSDot {dup mul exch dup mul add 1.0 exch sub}bdef
  426. /SSRing {dup mul exch dup mul add 1.0 exch sub abs 1.0 exch sub}bdef
  427. /SSDonut {dup mul exch dup mul add sqrt .5 sub abs 1.0 exch sub}bdef
  428. /SSLine {exch pop abs}bdef
  429. /SSTriangle {2 exch sub exch abs 2 mul sub 3 div}bdef
  430. /SSPropeller {/y xdef /x xdef y x .001 add atan cvi 72 mod 72 sub abs 72 div y y mul x x mul add 1 exch sub add 2 div}bdef
  431.  
  432. %
  433. % fountain blend functions
  434. %
  435. /FBLinear {}bdef
  436. /FBInvLinear {1 exch sub}bdef
  437. /FBLog {9 mul 1 add log}bdef
  438. /FBInvLog {9 mul 1 add log 1 exch sub}bdef
  439. /FBSin {180 mul sin}bdef
  440. /FBInvSin {180 mul sin 1 exch sub}bdef
  441. /FBSaw {2 mul dup 1 gt {2 exch sub}if}bdef
  442. /FBInvSaw {2 mul dup 1 gt {2 exch sub}if 1 exch sub}bdef
  443.  
  444. %
  445. % line end functions
  446. %
  447. /LERound {0 0 moveto 0 0 .5 -90 90 arc closepath}bdef
  448. /LEArrow {0 0 moveto 0 2 lineto 6 0 lineto 0 -2 lineto closepath}bdef
  449. /LEArrow1 {0 0 moveto 0 2 lineto 6 0 lineto 0 -2 lineto closepath}bdef
  450. /LEArrow2 {0 0 moveto -2 2 lineto 6 0 lineto -2 -2 lineto closepath}bdef
  451. /LEArrow3 {6 0 moveto -3 0 2.31 300 60 arc closepath}bdef
  452. /LEArrow4 {-1 0 moveto -4 2 .5 240 60 arcn 0 0 .5 60 300 arcn -4 -2 .5 300 120 arcn closepath}bdef
  453. /LESpike1 {0 .5 moveto .5 2 lineto 1 .5 lineto 6 0 lineto 1 -.5 lineto .5 -2 lineto 0 -.5 lineto closepath}bdef
  454. /LESpike2 {0 .5 moveto 2 2 lineto 6 0 lineto 2 -2 lineto 0 -.5 lineto closepath}bdef
  455. /LEFeather1 {-2 0 moveto 0 2 lineto 6 2 lineto 4 0 lineto 6 -2 lineto 0 -2 lineto closepath}bdef
  456. /LEFeather2 {0 -2 moveto 0 0 2 270 90 arcn 6 0 2 90 270 arc closepath}bdef
  457. /LEBox {-2 0 moveto -2 2 lineto 2 2 lineto 2 -2 lineto -2 -2 lineto closepath}bdef
  458. /LEDiamond {-2 0 moveto 0 2 lineto 2 0 lineto 0 -2 lineto closepath}bdef
  459. /LEBall {0 0 moveto 0 0 2 360 0 arcn closepath}bdef
  460. /LEEllipse {2 1 scale 0 0 moveto 0 0 2 360 0 arcn closepath}bdef
  461.  
  462. %
  463. % freq angle spot SS -
  464. %
  465. /ss {
  466.  load setscreen
  467. }bdef
  468.  
  469. /installcolor {
  470.  dup type /stringtype eq {pop dangle}if exch dup type /stringtype eq {pop dfreq}if exch /dspot load setscreen
  471.  
  472.  /sepmode xdef
  473.  
  474.  sepmode 1 eq {
  475.   /setcmykcolor{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll}repeat setrgbcolor pop}bdef
  476.   /setgray /SG load def
  477.  }if
  478.  
  479.  sepmode 2 eq {
  480.   systemdict /setcmykcolor known not {/setcmykcolor {1 sub 4 1 roll 3 {3 index add neg dup 0 lt{pop 0}if 3 1 roll} repeat setrgbcolor pop}bdef}if
  481.   /setgray /SG load def
  482.  }if
  483.  
  484.  sepmode 3 eq {
  485.   /sepcolor xdef
  486.   sepcolor 0 get 0 ne {/setcmykcolor {pop pop pop 1 exch sub SG}bdef /setgray {pop 1 SG}bdef } if
  487.   sepcolor 1 get 0 ne {/setcmykcolor {pop pop 1 exch sub SG pop}bdef /setgray {pop 1 SG}bdef } if
  488.   sepcolor 2 get 0 ne {/setcmykcolor {pop 1 exch sub SG pop pop}bdef /setgray {pop 1 SG}bdef } if
  489.   sepcolor 3 get 0 ne {/setcmykcolor {1 exch sub SG pop pop pop}bdef /setgray /SG load def } if
  490.  } if
  491.  
  492.  sepmode 4 eq {
  493.   /sepcolor xdef
  494.   /setcmykcolor {
  495.    sepcolor 3 get eq exch
  496.    sepcolor 2 get eq and exch
  497.    sepcolor 1 get eq and exch
  498.    sepcolor 0 get eq and {0 SG}{1 SG}ifelse}bdef
  499.   sepcolor 3 get 1 eq sepcolor 2 get 0 eq and sepcolor 1 get 0 eq and sepcolor 0 get 0 eq and {/setgray /SG load def}{/setgray {pop 1 SG} bdef} ifelse
  500.  } if
  501.  
  502.  currentscreen /cspot xdef /cangle xdef /cfreq xdef
  503. }bdef
  504.  
  505. %
  506. % #copies BEGINDOCUMENT -
  507. %
  508. /BeginDocument {
  509.  /#copies xdef
  510.  
  511.   7 dict begin
  512.     /FontDict 12 dict def
  513.     FontDict begin
  514.       /key /mypatternfont def
  515.       /patterns 256 array def
  516.       /patterncount 0 def
  517.       /char 0 def
  518.       /mtx [300 72 div 0 0 300 72 div 0 0] matrix invertmatrix def
  519.       /height 30 def
  520.       /width 30 def
  521.       /ctm matrix currentmatrix def
  522.       /ptm matrix identmatrix def
  523.       /str 32 string def
  524.     end
  525.     /FontBBox [0 0 FontDict /width get FontDict /height get] def
  526.     /FontMatrix FontDict /mtx get def
  527.     /Encoding 256 array 0 1 255 {1 index exch dup 3 string cvs cvn put} for def
  528.     /FontType 3 def
  529.     /BuildChar { %def
  530.       exch begin
  531.       FontDict begin
  532.       /char xdef
  533.        width 0 0 0 width height setcachedevice
  534.       width height scale 8 8 true [8 0 0 -8 0 8] {patterns char get} imagemask
  535.       end end
  536.     } def
  537.     FontDict /key get currentdict definefont pop
  538.   end
  539.  
  540.  /dmatrix dmatrix currentmatrix def
  541.  currentscreen /dspot xdef /dangle xdef /dfreq xdef
  542.  
  543. }bdef
  544.  
  545. %
  546. % /fontname xscale yscale F -
  547. %
  548. /f {
  549.  /yscale xdef /xscale xdef
  550.  findfont [xscale 0 0 yscale 0 0] makefont setfont
  551. }bdef
  552.  
  553. %
  554. % (string) s1 -
  555. %
  556. /s1 {show}bdef
  557.  
  558. %
  559. % (string) kernamt s2 -
  560. %
  561. /s2 {exch 0 exch ashow}bdef
  562.  
  563. %
  564. % (string) skernamt s3 -
  565. %
  566. /s3 {exch 0 exch 32 exch widthshow}bdef
  567.  
  568. %
  569. % (string) skernamt kernamt s4 -
  570. %
  571. /s4 {0 exch 32 exch 0 6 -1 roll awidthshow}bdef
  572.  
  573. %
  574. % - ENDOCUMENT -
  575. %
  576. /EndDocument {
  577. }bdef
  578.  
  579. %
  580. % [sepcolor] sepmode freq/(DEFAULT) angle/(DEFAULT) tilew tileh landscape scaleh scalex paperw paperh BEGINTILE -
  581. %
  582. /BeginTile {
  583.  2 div exch 2 div exch translate
  584.  /tilescaley xdef /tilescalex xdef tilescalex tilescaley scale
  585.  {-90 rotate}if
  586.  -2 div exch -2 div exch translate
  587.  
  588.  installcolor
  589.  
  590.  /cmatrix cmatrix currentmatrix def
  591.  
  592. % default to solid fills
  593.  S
  594. }bdef
  595.  
  596. %
  597. % angle cx cy cropmark -
  598. %
  599. /cropmark {
  600.   gsave translate 1 tilescalex div 1 tilescaley div scale rotate
  601.   .3 setlinewidth newpath
  602.   bh 5 add 0 moveto 20 0 rlineto
  603.   0 bv 5 add moveto 0 20 rlineto
  604.   stroke grestore
  605. } bdef
  606.  
  607. %
  608. % dx dy cx cy regmark -
  609. %
  610. /regmark {
  611.   gsave translate 1 tilescalex div 1 tilescaley div scale translate
  612.   .3 setlinewidth newpath
  613.   10 0 moveto 0 0 10 0 360 arc
  614.   1 SG fill
  615.   8 0 moveto 0 0 8 0 360 arc
  616.   -10 0 moveto 10 0 lineto 0 -10 moveto 0 10 lineto
  617.   0 SG stroke
  618.   4 0 moveto 0 0 4 0 360 arc
  619.   fill
  620.   -4 0 moveto 4 0 lineto 0 -4 moveto 0 4 lineto
  621.   1 SG stroke
  622.   grestore
  623. } bdef
  624.  
  625. %
  626. % dx dy cx cy slurgauge -
  627. %
  628. /slurgauge {
  629.   gsave translate 1 tilescalex div 1 tilescaley div scale translate
  630.   .3 setlinewidth newpath
  631.   0 0 10 0 360 arc
  632.   1 SG fill
  633.   0 0 10 0 360 arc
  634.   0 SG stroke
  635.   36 { 1 0 moveto 0 0 10 -2.5 2.5 arc fill 10 rotate} repeat
  636.   grestore
  637. } bdef
  638.  
  639.  
  640. /boxit {newpath moveto 14 0 rlineto 0 -14 rlineto -14 0 rlineto closepath} def
  641.  
  642. %
  643. % angle dx dy cx cy colorstrip -
  644. %
  645. /colorstrip {
  646.   gsave translate 1 tilescalex div 1 tilescaley div scale translate rotate
  647.  
  648.   /Courier findfont 6 scalefont setfont
  649.  
  650.   sepmode 1 eq {
  651.     0 8 translate
  652.     0 1 9 {dup 15 mul 0 boxit 10 div SG fill} for
  653.    }if
  654.  
  655.   sepmode 2 eq sepmode 3 eq or {
  656.     gsave 320 15 translate
  657.     0 0 boxit .5 .41 .41 0 setcmykcolor fill
  658.     15 0 boxit 0 0 0 .5 setcmykcolor fill
  659.     30 0 boxit 1 1 0 0 setcmykcolor fill
  660.     45 0 boxit 1 0 1 0 setcmykcolor fill
  661.     60 0 boxit 0 1 1 0 setcmykcolor fill
  662.     75 0 boxit 1 1 1 0 setcmykcolor fill
  663.     1 SG
  664.     33 -6 moveto (CM) show
  665.     48 -6 moveto (CY) show
  666.     63 -6 moveto (MY) show
  667.     77 -6 moveto (CMY) show
  668.     grestore
  669.  
  670.  
  671.     0 0 0 1 setcmykcolor -6 9 moveto (K) show
  672.     0 1 9 {dup 15 mul 15 boxit 10 div 0 0 0 4 -1 roll setcmykcolor fill} for
  673.  
  674.     1 0 0 0 setcmykcolor -6 -6 moveto (C) show
  675.     0 1 9 {dup 15 mul 0 boxit 10 div 0 0 0 setcmykcolor fill} for
  676.  
  677.     0 1 0 0 setcmykcolor 154 9 moveto (M) show
  678.     0 1 9 {dup 15 mul 160 add 15 boxit 10 div 0 exch 0 0 setcmykcolor fill} for
  679.  
  680.     0 0 1 0 setcmykcolor 154 -6 moveto (Y) show
  681.     0 1 9 {dup 15 mul 160 add 0 boxit 10 div 0 0 3 -1 roll 0 setcmykcolor fill} for
  682.  
  683.    }if
  684.  
  685.   sepmode 4 eq {
  686.     320 0 translate
  687.     0 1 9 {dup 15 mul 0 boxit 10 div SG fill} for
  688.    }if
  689.  
  690.   grestore
  691. } def
  692.  
  693. %
  694. % title1 title2 tilew tileh PRINTERSMARKS -
  695. %
  696. /PrintersMarks {
  697.  /tileh xdef
  698.  /tilew xdef
  699.  /title2 xdef
  700.  /title1 xdef
  701.  
  702.  gsave 0 SG [] 0 setdash 0 setlinejoin 0 setlinecap
  703.  
  704.  180 0 0 cropmark
  705.  270 tilew 0 cropmark
  706.  0 tilew tileh cropmark
  707.  90 0 tileh cropmark
  708.  
  709.  0 15 bv add tilew 2 div tileh regmark
  710.  0 -15 bv sub tilew 2 div 0 regmark
  711.  
  712.  -15 bh sub -15 bv sub 0 0 slurgauge
  713.  15 bh add 15 bv add tilew tileh slurgauge
  714.  
  715.   gsave 1 tilescalex div 1 tilescaley div scale -15 bh sub 8 translate 90 rotate
  716.   /Courier findfont 8 scalefont setfont
  717.   0 0 moveto title1 show
  718.   0 -8 moveto title2 show (  ) show
  719.   currentscreen pop exch 20 string cvs show ( lpi  ) show
  720.   20 string cvs show (\312  ) show
  721.   tilescalex 100 mul 20 string cvs show (%) show
  722.   tilescaley tilescalex ne {(,) show tilescaley 100 mul 20 string cvs show (%) show}if
  723.   grestore
  724.  
  725.  90 bh 15 add 15 tilew 0 colorstrip
  726.  grestore
  727. }bdef
  728.  
  729. %
  730. % [sepcolor] sepmode freq/(DEFAULT) angle/(DEFAULT) title left top right bottom THUMBNAILMARKS -
  731. %
  732. /ThumbnailMarks {
  733.  /tiley2 xdef
  734.  /tilex2 xdef
  735.  /tiley1 xdef
  736.  /tilex1 xdef
  737.  /title1 xdef
  738.  
  739.  cmatrix setmatrix
  740.  .5 SG 6 setlinewidth
  741.  newpath
  742.  tilex1 3 add tiley2 3 sub moveto
  743.  tilex2 3 add tiley2 3 sub lineto
  744.  tilex2 3 add tiley1 3 sub lineto stroke
  745.  
  746.  0 SG [] 0 setdash .3 setlinewidth 0 setlinejoin 0 setlinecap
  747.  newpath tilex1 tiley1 moveto tilex2 tiley1 lineto tilex2 tiley2 lineto tilex1 tiley2 lineto closepath stroke
  748.  
  749.  gsave tilex1 tilex2 add 2 div tiley2 translate 1 tilescalex div 1 tilescaley div scale -2 -6 bv sub translate
  750.  /Courier findfont 6 scalefont setfont
  751.  0 0 moveto title1 show
  752.  grestore
  753.  
  754.  installcolor
  755. }bdef
  756.  
  757. %
  758. % - ENDTILE -
  759. %
  760. /EndTile {
  761. }bdef
  762.  
  763. %
  764. % - BEGINCLIP -
  765. %
  766. /BeginClip {/PGSClipSave save def clip}bdef
  767.  
  768. %
  769. % - ENDCLIP -
  770. %
  771. /EndClip {PGSClipSave restore}bdef
  772.  
  773. %
  774. % xscale yscale xoffset yoffset pixelw pixelh bitsperpixel BEGINBITMAP -
  775. %
  776. /BeginBitmap {
  777.  /bpp xdef /h xdef /w xdef
  778.  scl translate scale save /picstr 8 bpp idiv dup w add 1 sub exch idiv string def
  779.  w h bpp [w 0 0 h neg 0 h] {currentfile picstr readhexstring pop}bind image
  780. }bdef
  781.  
  782. %
  783. % xscale yscale xoffset yoffset pixelw pixelh bitsperpixel BEGINRGBBITMAP -
  784. %
  785. /BeginRGBBitmap {
  786.  /bpp xdef /h xdef /w xdef
  787.  scl translate scale save /picstr 8 bpp idiv dup w add 1 sub exch idiv string def
  788.  w h bpp [w 0 0 h neg 0 h] {currentfile picstr readhexstring pop}bind false 3 colorimage
  789. }bdef
  790.  
  791. %
  792. % - ENDBITMAP -
  793. %
  794. /EndBitmap {restore omatrix setmatrix}bdef
  795.  
  796. %
  797. % xscalex yscale xoffset yoffset BEGINEPS -
  798. %
  799. /BeginEPS {
  800.  scl translate scale translate
  801.  /PGSEPSSave save def /showpage {} bdef
  802.  newpath [] 0 setdash 1 setlinewidth 0 setgray
  803. }bdef
  804.  
  805. %
  806. % - ENDEPS -
  807. %
  808. /EndEPS {PGSEPSSave restore}bdef
  809.  
  810. end
  811. %%EndProlog
  812.