1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- %
- % Version 3.3 prologue for plan9 bitmap files.
- %
- /#copies 1 store
- /aspectratio 1 def
- /formsperpage 1 def
- /landscape false def
- /magnification 1 def
- /margin 0 def
- /orientation 0 def
- /rotation 1 def
- /screenres 100 def
- /xoffset 0 def
- /yoffset 0 def
- /useclippath true def
- /pagebbox [0 0 612 792] def
- /inch {72 mul} bind def
- /min {2 copy gt {exch} if pop} bind def
- /setup {
- counttomark 2 idiv {def} repeat pop
- landscape {/orientation 90 orientation add def} if
- pagedimensions
- xcenter ycenter translate
- orientation rotation mul rotate
- xoffset inch yoffset inch translate
- magnification dup aspectratio mul scale
- /height height margin sub def
- /width width margin sub def
- } def
- /pagedimensions {
- useclippath {
- /pagebbox [clippath pathbbox newpath] def
- } if
- pagebbox aload pop
- 4 -1 roll exch 4 1 roll 4 copy
- landscape {4 2 roll} if
- sub /width exch def
- sub /height exch def
- add 2 div /xcenter exch def
- add 2 div /ycenter exch def
- userdict /gotpagebbox true put
- } def
- /pagesetup {/page exch def} bind def
- /bitmap {
- /scanlines exch def
- /scanlength exch def
- /bitspersample exch def
- %% /v8format exch def
- /bytelength scanlength bitspersample mult 7 add 8 idiv def
- /picstr bytelength string def
- /lpicstr bytelength string def
- %% /bytelength bytelength 1 sub def
- gsave
- % First the overall scaling.
- height scanlines div width scanlength div min
- 72 screenres div min
- dup scale
- % Followed by the one for the unit square.
- scanlength neg 2 div scanlines neg 2 div translate
- scanlength scanlines scale
- getp9bitmap
- grestore
- } bind def
- /getp9bitmap {
- scanlength scanlines bitspersample [scanlength 0 0 scanlines neg 0 scanlines] {
- currentfile picstr readhexstring pop} image
- } bind def
- /done {/lastpage where {pop lastpage} if} def
|