30 lines
695 B
PostScript
30 lines
695 B
PostScript
%
|
|
% Tries to round clipping path dimensions, as stored in array pagebbox, so they
|
|
% match one of the known sizes in the papersizes array. Lower left coordinates
|
|
% are always set to 0.
|
|
%
|
|
|
|
/roundpagebbox {
|
|
7 dict begin
|
|
/papersizes [8.5 inch 11 inch 14 inch 17 inch] def
|
|
|
|
/mappapersize {
|
|
/val exch def
|
|
/slop .5 inch def
|
|
/diff slop def
|
|
/j 0 def
|
|
0 1 papersizes length 1 sub {
|
|
/i exch def
|
|
papersizes i get val sub abs
|
|
dup diff le {/diff exch def /j i def} {pop} ifelse
|
|
} for
|
|
diff slop lt {papersizes j get} {val} ifelse
|
|
} def
|
|
|
|
pagebbox 0 0 put
|
|
pagebbox 1 0 put
|
|
pagebbox dup 2 get mappapersize 2 exch put
|
|
pagebbox dup 3 get mappapersize 3 exch put
|
|
end
|
|
} bind def
|
|
|