86 lines · 1.7 KB · Text
RawDownload
%% 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