diff options
author | rsc <devnull@localhost> | 2004-05-15 23:45:13 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2004-05-15 23:45:13 +0000 |
commit | 13f7391e4a38634221f4a63da9f58f58473e77b0 (patch) | |
tree | 65b538843c8fbfbb5000de18ad6145ce82531781 /postscript/prologues/roundpage.ps | |
parent | 36a9115fcbe8ddb0baacc07f8c33add9a9f7b307 (diff) | |
download | plan9port-13f7391e4a38634221f4a63da9f58f58473e77b0.tar.gz plan9port-13f7391e4a38634221f4a63da9f58f58473e77b0.tar.bz2 plan9port-13f7391e4a38634221f4a63da9f58f58473e77b0.zip |
More files!
Diffstat (limited to 'postscript/prologues/roundpage.ps')
-rw-r--r-- | postscript/prologues/roundpage.ps | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/postscript/prologues/roundpage.ps b/postscript/prologues/roundpage.ps new file mode 100644 index 00000000..68d2d443 --- /dev/null +++ b/postscript/prologues/roundpage.ps @@ -0,0 +1,30 @@ +% +% 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 + |