Blame


1 13f7391e 2004-05-15 devnull %
2 13f7391e 2004-05-15 devnull % Center pages, based on pageheight and pagewidth, and redefine showpage
3 13f7391e 2004-05-15 devnull % to put cropmarks at each corner. Device dependent code to expand the
4 13f7391e 2004-05-15 devnull % paper size goes in procedure expandpagesize. Currently only supports
5 13f7391e 2004-05-15 devnull % a Linotronic 200P typesetter using 12 inch wide paper. You'll have to
6 13f7391e 2004-05-15 devnull % add code to expandpagesize to support different typesetters or even a
7 13f7391e 2004-05-15 devnull % 200P that's running differently.
8 13f7391e 2004-05-15 devnull %
9 13f7391e 2004-05-15 devnull
10 13f7391e 2004-05-15 devnull /CropmarkDict 40 dict dup begin
11 13f7391e 2004-05-15 devnull
12 13f7391e 2004-05-15 devnull /expandpage true def
13 13f7391e 2004-05-15 devnull /magnification 1 def
14 13f7391e 2004-05-15 devnull /pageheight 11.0 def
15 13f7391e 2004-05-15 devnull /pagewidth 8.5 def
16 13f7391e 2004-05-15 devnull /scaletofit false def
17 13f7391e 2004-05-15 devnull /scaling 1 def
18 13f7391e 2004-05-15 devnull
19 13f7391e 2004-05-15 devnull /marklength .3 def % inches
20 13f7391e 2004-05-15 devnull /markstart .125 def % inches
21 13f7391e 2004-05-15 devnull /markend .04 def % inches
22 13f7391e 2004-05-15 devnull /marklinewidth .25 def % points
23 13f7391e 2004-05-15 devnull
24 13f7391e 2004-05-15 devnull /inch {72 mul} def
25 13f7391e 2004-05-15 devnull /min {2 copy gt {exch} if pop} def
26 13f7391e 2004-05-15 devnull /max {2 copy lt {exch} if pop} def
27 13f7391e 2004-05-15 devnull
28 13f7391e 2004-05-15 devnull /setup {
29 13f7391e 2004-05-15 devnull /markspace markstart marklength add markend add inch marklinewidth add def
30 13f7391e 2004-05-15 devnull /totalheight pageheight inch markspace 2 mul add def
31 13f7391e 2004-05-15 devnull /totalwidth pagewidth inch markspace 2 mul add def
32 13f7391e 2004-05-15 devnull
33 13f7391e 2004-05-15 devnull pagedimensions
34 13f7391e 2004-05-15 devnull checkpagesize
35 13f7391e 2004-05-15 devnull /scaling getscaling def
36 13f7391e 2004-05-15 devnull xcenter ycenter translate
37 13f7391e 2004-05-15 devnull scaling scaling scale
38 13f7391e 2004-05-15 devnull pagewidth inch 2 div neg pageheight inch 2 div neg translate
39 13f7391e 2004-05-15 devnull clippage
40 13f7391e 2004-05-15 devnull } def
41 13f7391e 2004-05-15 devnull
42 13f7391e 2004-05-15 devnull /pagedimensions {
43 13f7391e 2004-05-15 devnull clippath pathbbox newpath
44 13f7391e 2004-05-15 devnull 4 -1 roll exch 4 1 roll 4 copy
45 13f7391e 2004-05-15 devnull sub /width exch def
46 13f7391e 2004-05-15 devnull sub /height exch def
47 13f7391e 2004-05-15 devnull add 2 div /xcenter exch def
48 13f7391e 2004-05-15 devnull add 2 div /ycenter exch def
49 13f7391e 2004-05-15 devnull } def
50 13f7391e 2004-05-15 devnull
51 13f7391e 2004-05-15 devnull /checkpagesize {
52 13f7391e 2004-05-15 devnull height totalheight lt width totalwidth lt or expandpage and {
53 13f7391e 2004-05-15 devnull expandpagesize
54 13f7391e 2004-05-15 devnull pagedimensions
55 13f7391e 2004-05-15 devnull } if
56 13f7391e 2004-05-15 devnull } def
57 13f7391e 2004-05-15 devnull
58 13f7391e 2004-05-15 devnull /expandpagesize { % device dependent code
59 13f7391e 2004-05-15 devnull /Product statusdict begin /product where {pop product}{()} ifelse end def
60 13f7391e 2004-05-15 devnull
61 13f7391e 2004-05-15 devnull Product (Linotype) eq { % Linotronic 200P and other models?
62 13f7391e 2004-05-15 devnull statusdict /setpageparams known {
63 13f7391e 2004-05-15 devnull /maxwidth 12.0 inch def % 12 inch wide paper?
64 13f7391e 2004-05-15 devnull totalheight maxwidth le {
65 13f7391e 2004-05-15 devnull totalheight
66 13f7391e 2004-05-15 devnull totalwidth
67 13f7391e 2004-05-15 devnull maxwidth totalheight sub 2 div
68 13f7391e 2004-05-15 devnull 0
69 13f7391e 2004-05-15 devnull }{
70 13f7391e 2004-05-15 devnull totalwidth maxwidth min
71 13f7391e 2004-05-15 devnull totalheight
72 13f7391e 2004-05-15 devnull maxwidth totalwidth maxwidth min sub 2 div
73 13f7391e 2004-05-15 devnull 1
74 13f7391e 2004-05-15 devnull } ifelse
75 13f7391e 2004-05-15 devnull statusdict /setpageparams get exec
76 13f7391e 2004-05-15 devnull } if
77 13f7391e 2004-05-15 devnull } if
78 13f7391e 2004-05-15 devnull } def
79 13f7391e 2004-05-15 devnull
80 13f7391e 2004-05-15 devnull /getscaling {
81 13f7391e 2004-05-15 devnull scaletofit
82 13f7391e 2004-05-15 devnull {height totalheight div width totalwidth div min 1 min}
83 13f7391e 2004-05-15 devnull {1}
84 13f7391e 2004-05-15 devnull ifelse
85 13f7391e 2004-05-15 devnull } def
86 13f7391e 2004-05-15 devnull
87 13f7391e 2004-05-15 devnull /clippage {
88 13f7391e 2004-05-15 devnull newpath
89 13f7391e 2004-05-15 devnull 0 0 moveto
90 13f7391e 2004-05-15 devnull pagewidth inch 0 rlineto
91 13f7391e 2004-05-15 devnull 0 pageheight inch rlineto
92 13f7391e 2004-05-15 devnull pagewidth neg inch 0 rlineto
93 13f7391e 2004-05-15 devnull closepath clip
94 13f7391e 2004-05-15 devnull newpath
95 13f7391e 2004-05-15 devnull } def
96 13f7391e 2004-05-15 devnull
97 13f7391e 2004-05-15 devnull /cropmark {
98 13f7391e 2004-05-15 devnull gsave
99 13f7391e 2004-05-15 devnull translate
100 13f7391e 2004-05-15 devnull rotate
101 13f7391e 2004-05-15 devnull marklinewidth dup translate
102 13f7391e 2004-05-15 devnull 0 0 transform round exch round exch itransform translate
103 13f7391e 2004-05-15 devnull markstart inch 0 moveto marklength inch 0 rlineto stroke
104 13f7391e 2004-05-15 devnull 0 markstart inch moveto 0 marklength inch rlineto stroke
105 13f7391e 2004-05-15 devnull grestore
106 13f7391e 2004-05-15 devnull } bind def
107 13f7391e 2004-05-15 devnull
108 13f7391e 2004-05-15 devnull /@PreviousShowpage /showpage load def
109 13f7391e 2004-05-15 devnull
110 13f7391e 2004-05-15 devnull end def
111 13f7391e 2004-05-15 devnull
112 13f7391e 2004-05-15 devnull %
113 13f7391e 2004-05-15 devnull % Cropmarks - in the default coordinate system.
114 13f7391e 2004-05-15 devnull %
115 13f7391e 2004-05-15 devnull
116 13f7391e 2004-05-15 devnull /showpage {
117 13f7391e 2004-05-15 devnull gsave
118 13f7391e 2004-05-15 devnull CropmarkDict begin
119 13f7391e 2004-05-15 devnull initgraphics
120 13f7391e 2004-05-15 devnull marklinewidth setlinewidth
121 13f7391e 2004-05-15 devnull xcenter ycenter translate
122 13f7391e 2004-05-15 devnull scaling scaling scale
123 13f7391e 2004-05-15 devnull 0 pagewidth inch 2 div pageheight inch 2 div cropmark
124 13f7391e 2004-05-15 devnull 90 pagewidth inch neg 2 div pageheight inch 2 div cropmark
125 13f7391e 2004-05-15 devnull 180 pagewidth inch neg 2 div pageheight inch 2 div neg cropmark
126 13f7391e 2004-05-15 devnull 270 pagewidth inch 2 div pageheight inch 2 div neg cropmark
127 13f7391e 2004-05-15 devnull @PreviousShowpage
128 13f7391e 2004-05-15 devnull end
129 13f7391e 2004-05-15 devnull grestore
130 13f7391e 2004-05-15 devnull } bind def
131 13f7391e 2004-05-15 devnull