Blame


1 13f7391e 2004-05-15 devnull %
2 13f7391e 2004-05-15 devnull % Version 3.3.2 prologue for DMD bitmap files.
3 13f7391e 2004-05-15 devnull %
4 13f7391e 2004-05-15 devnull
5 13f7391e 2004-05-15 devnull /#copies 1 store
6 13f7391e 2004-05-15 devnull /aspectratio 1 def
7 13f7391e 2004-05-15 devnull /formsperpage 1 def
8 13f7391e 2004-05-15 devnull /landscape false def
9 13f7391e 2004-05-15 devnull /magnification 1 def
10 13f7391e 2004-05-15 devnull /margin 0 def
11 13f7391e 2004-05-15 devnull /orientation 0 def
12 13f7391e 2004-05-15 devnull /rotation 1 def
13 13f7391e 2004-05-15 devnull /screenres 100 def
14 13f7391e 2004-05-15 devnull /xoffset 0 def
15 13f7391e 2004-05-15 devnull /yoffset 0 def
16 13f7391e 2004-05-15 devnull
17 13f7391e 2004-05-15 devnull /useclippath true def
18 13f7391e 2004-05-15 devnull /pagebbox [0 0 612 792] def
19 13f7391e 2004-05-15 devnull
20 13f7391e 2004-05-15 devnull /inch {72 mul} bind def
21 13f7391e 2004-05-15 devnull /min {2 copy gt {exch} if pop} bind def
22 13f7391e 2004-05-15 devnull
23 13f7391e 2004-05-15 devnull /setup {
24 13f7391e 2004-05-15 devnull counttomark 2 idiv {def} repeat pop
25 13f7391e 2004-05-15 devnull
26 13f7391e 2004-05-15 devnull landscape {/orientation 90 orientation add def} if
27 13f7391e 2004-05-15 devnull
28 13f7391e 2004-05-15 devnull pagedimensions
29 13f7391e 2004-05-15 devnull xcenter ycenter translate
30 13f7391e 2004-05-15 devnull orientation rotation mul rotate
31 13f7391e 2004-05-15 devnull xoffset inch yoffset inch translate
32 13f7391e 2004-05-15 devnull magnification dup aspectratio mul scale
33 13f7391e 2004-05-15 devnull
34 13f7391e 2004-05-15 devnull /height height margin sub def
35 13f7391e 2004-05-15 devnull /width width margin sub def
36 13f7391e 2004-05-15 devnull } def
37 13f7391e 2004-05-15 devnull
38 13f7391e 2004-05-15 devnull /pagedimensions {
39 13f7391e 2004-05-15 devnull useclippath {
40 13f7391e 2004-05-15 devnull /pagebbox [clippath pathbbox newpath] def
41 13f7391e 2004-05-15 devnull } if
42 13f7391e 2004-05-15 devnull pagebbox aload pop
43 13f7391e 2004-05-15 devnull 4 -1 roll exch 4 1 roll 4 copy
44 13f7391e 2004-05-15 devnull landscape {4 2 roll} if
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 userdict /gotpagebbox true put
50 13f7391e 2004-05-15 devnull } def
51 13f7391e 2004-05-15 devnull
52 13f7391e 2004-05-15 devnull /pagesetup {/page exch def} bind def
53 13f7391e 2004-05-15 devnull
54 13f7391e 2004-05-15 devnull /bitmap {
55 13f7391e 2004-05-15 devnull /scanlines exch def
56 13f7391e 2004-05-15 devnull /scanlength exch def
57 13f7391e 2004-05-15 devnull /flip exch def
58 13f7391e 2004-05-15 devnull /v8format exch def
59 13f7391e 2004-05-15 devnull
60 13f7391e 2004-05-15 devnull /bytelength scanlength 8 idiv def
61 13f7391e 2004-05-15 devnull /picstr bytelength string def
62 13f7391e 2004-05-15 devnull /lpicstr bytelength string def
63 13f7391e 2004-05-15 devnull /bytelength bytelength 1 sub def
64 13f7391e 2004-05-15 devnull
65 13f7391e 2004-05-15 devnull gsave
66 13f7391e 2004-05-15 devnull
67 13f7391e 2004-05-15 devnull % First the overall scaling.
68 13f7391e 2004-05-15 devnull
69 13f7391e 2004-05-15 devnull height scanlines div width scanlength div min
70 13f7391e 2004-05-15 devnull 72 screenres div min
71 13f7391e 2004-05-15 devnull dup scale
72 13f7391e 2004-05-15 devnull
73 13f7391e 2004-05-15 devnull % Followed by the one for the unit square.
74 13f7391e 2004-05-15 devnull
75 13f7391e 2004-05-15 devnull scanlength neg 2 div scanlines neg 2 div translate
76 13f7391e 2004-05-15 devnull scanlength scanlines scale
77 13f7391e 2004-05-15 devnull v8format {getv8bitmap} {getbitmap} ifelse
78 13f7391e 2004-05-15 devnull grestore
79 13f7391e 2004-05-15 devnull } bind def
80 13f7391e 2004-05-15 devnull
81 13f7391e 2004-05-15 devnull /getbitmap {
82 13f7391e 2004-05-15 devnull scanlength scanlines flip [scanlength 0 0 scanlines neg 0 scanlines] {
83 13f7391e 2004-05-15 devnull 0 {
84 13f7391e 2004-05-15 devnull currentfile token pop dup
85 13f7391e 2004-05-15 devnull 0 eq {pop pop exit} if
86 13f7391e 2004-05-15 devnull /charcount exch def
87 13f7391e 2004-05-15 devnull picstr 1 index charcount getinterval
88 13f7391e 2004-05-15 devnull /repl exch def
89 13f7391e 2004-05-15 devnull currentfile repl readhexstring pop pop
90 13f7391e 2004-05-15 devnull charcount add
91 13f7391e 2004-05-15 devnull currentfile token pop {
92 13f7391e 2004-05-15 devnull picstr 1 index repl putinterval
93 13f7391e 2004-05-15 devnull charcount add
94 13f7391e 2004-05-15 devnull } repeat
95 13f7391e 2004-05-15 devnull } loop
96 13f7391e 2004-05-15 devnull picstr
97 13f7391e 2004-05-15 devnull } imagemask
98 13f7391e 2004-05-15 devnull } bind def
99 13f7391e 2004-05-15 devnull
100 13f7391e 2004-05-15 devnull /getv8bitmap {
101 13f7391e 2004-05-15 devnull scanlength scanlines flip not [scanlength 0 0 scanlines neg 0 scanlines] {
102 13f7391e 2004-05-15 devnull 0 {
103 13f7391e 2004-05-15 devnull currentfile token pop dup
104 13f7391e 2004-05-15 devnull 0 eq {pop pop exit} if
105 13f7391e 2004-05-15 devnull /charcount exch def
106 13f7391e 2004-05-15 devnull picstr 1 index charcount getinterval
107 13f7391e 2004-05-15 devnull /repl exch def
108 13f7391e 2004-05-15 devnull currentfile repl readhexstring pop pop
109 13f7391e 2004-05-15 devnull charcount add
110 13f7391e 2004-05-15 devnull currentfile token pop {
111 13f7391e 2004-05-15 devnull picstr 1 index repl putinterval
112 13f7391e 2004-05-15 devnull charcount add
113 13f7391e 2004-05-15 devnull } repeat
114 13f7391e 2004-05-15 devnull } loop
115 13f7391e 2004-05-15 devnull 0 0 picstr {
116 13f7391e 2004-05-15 devnull exch lpicstr exch get xor
117 13f7391e 2004-05-15 devnull lpicstr exch 2 index exch put
118 13f7391e 2004-05-15 devnull 1 add dup
119 13f7391e 2004-05-15 devnull } forall
120 13f7391e 2004-05-15 devnull pop pop lpicstr
121 13f7391e 2004-05-15 devnull } imagemask
122 13f7391e 2004-05-15 devnull } bind def
123 13f7391e 2004-05-15 devnull
124 13f7391e 2004-05-15 devnull /done {/lastpage where {pop lastpage} if} def