summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/prosper/img/rule-glow.ps
blob: 944cbd49d467e7978a82455dd7ddf04291c012ac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
%!PS-Adobe-2.0 EPSF-2.0
%%Title: /home/fred/TEMP/rule.ps
%%Creator: XV Version 3.10a+FLmask  Rev: 12/29/94  -  by John Bradley
%%BoundingBox: 290 380 786 412
%%Pages: 1
%%DocumentFonts:
%%EndComments
%%EndProlog

%%Page: 1 1

% remember original state
/origstate save def

% build a temporary dictionary
20 dict begin

% define space for color conversions
/grays 496 string def  % space for gray scale line
/npixls 0 def
/rgbindx 0 def

% lower left corner
290 380 translate

% size of image (on paper, in 1/72inch coords)
496.00800 31.96800 scale

% define 'colorimage' if it isn't defined
%   ('colortogray' and 'mergeprocs' come from xwd2ps
%     via xgrab)
/colorimage where   % do we know about 'colorimage'?
  { pop }           % yes: pop off the 'dict' returned
  {                 % no:  define one
    /colortogray {  % define an RGB->I function
      /rgbdata exch store    % call input 'rgbdata'
      rgbdata length 3 idiv
      /npixls exch store
      /rgbindx 0 store
      0 1 npixls 1 sub {
        grays exch
        rgbdata rgbindx       get 20 mul    % Red
        rgbdata rgbindx 1 add get 32 mul    % Green
        rgbdata rgbindx 2 add get 12 mul    % Blue
        add add 64 idiv      % I = .5G + .31R + .18B
        put
        /rgbindx rgbindx 3 add store
      } for
      grays 0 npixls getinterval
    } bind def

    % Utility procedure for colorimage operator.
    % This procedure takes two procedures off the
    % stack and merges them into a single procedure.

    /mergeprocs { % def
      dup length
      3 -1 roll
      dup
      length
      dup
      5 1 roll
      3 -1 roll
      add
      array cvx
      dup
      3 -1 roll
      0 exch
      putinterval
      dup
      4 2 roll
      putinterval
    } bind def

    /colorimage { % def
      pop pop     % remove 'false 3' operands
      {colortogray} mergeprocs
      image
    } bind def
  } ifelse          % end of 'false' case



% define the colormap
/cmap 438 string def


% load up the colormap
currentfile cmap readhexstring
041600 051800 061c00 061d00 072100 080808 082000 082200 082400 082500 
082700 092800 092a00 092b00 092c00 0a2c00 0a2e00 0b3000 0b3300 0c3400 
0c3500 0c3600 0c3700 0d3800 0d3a00 0d3b00 0d3c00 0e3c00 0e3d00 0e3e00 
0e3f00 0f4000 0f4100 0f4300 0f4400 104200 104400 104500 104600 104800 
111111 114800 114900 114a00 114b00 114c00 124c00 124d00 124e00 124f00 
125000 135000 135200 145300 145400 145600 145700 145800 155800 155900 
155a00 155b00 155c00 165c00 165d00 165e00 165f00 166000 176000 176100 
176200 176400 176500 186400 186500 186600 186700 186800 196900 196a00 
196b00 196c00 1a1a1a 1a6d00 1a6e00 1a6f00 1a7100 1b7100 1b7200 1b7300 
1c7400 1c7500 1c7600 1c7700 1c7800 1c7900 1d7a00 1d7b00 1d7c00 1d7d00 
1e7d00 1e7e00 1e7f00 1e8000 1e8100 1e8200 1f8200 1f8300 1f8400 1f8500 
208500 208700 208800 208900 208a00 218a00 218b00 218c00 218d00 218e00 
228c00 228e00 228f00 229000 229200 232323 239400 239600 249700 249800 
249900 249a00 259b00 259e00 26a000 26a100 27a300 27a400 27a500 27a600 
28a800 2b2b2b 343434 3d3d3d 464646 4f4f4f 
pop pop   % lose return values from readhexstring


% rlecmapimage expects to have 'w h bits matrix' on stack
/rlecmapimage {
  /buffer 1 string def
  /rgbval 3 string def
  /block  384 string def

  % proc to read a block from file, and return RGB data
  { currentfile buffer readhexstring pop
    /bcount exch 0 get store
    bcount 128 ge
    {  % it's a non-run block
      0 1 bcount 128 sub
      { currentfile buffer readhexstring pop pop

        % look up value in color map
        /rgbval cmap buffer 0 get 3 mul 3 getinterval store

        % and put it in position i*3 in block
        block exch 3 mul rgbval putinterval
      } for
      block  0  bcount 127 sub 3 mul  getinterval
    }

    { % else it's a run block
      currentfile buffer readhexstring pop pop

      % look up value in colormap
      /rgbval cmap buffer 0 get 3 mul 3 getinterval store

      0 1 bcount { block exch 3 mul rgbval putinterval } for

      block 0 bcount 1 add 3 mul getinterval
    } ifelse
  } % end of proc
  false 3 colorimage
} bind def


496 32 8			% dimensions of data
[496 0 0 -32 0 32]		% mapping matrix
rlecmapimage

9300010206080b0f111316191d202126292a2c2e2f812f3081303108317f337f337f332d
3309310130012f922e2c2a292621201d191613110f0b0806020100
8f010207090c1012171b1f24292c303336853637383a3b3c813c3d083d7f3f7f3f7f3f2d
3f093d013c843b3a3837368f3633302c29241f1b1712100c09070201
9503070a0e11141a1f252b3034373b3e414546494a4b4c814c4d084d7f4e7f4e7f4e2d4e
094d014c944b4a494645413e3b3734302b251f1a14110e0a0703
9404090e11151b23292f36393f44494c4f515455575881585981595a075a7f5b7f5b7f5b
2d5b085a0159015893575554514f4c49443f39362f29231b15110e0904
96090d11151c222b32383e464c5055595c5e60626365666781676807687f6a7f6a7f6a2d
6a086801679566656362605e5c5955504c463e38322b221c15110d09
960b10141b222c343b434b51565c6165696c6f707274757681767707777f7a7f7a7f7a2d
7a0877017695757472706f6c6965615c56514b433b342c221b14100b
960f1218232b343c454d555c61686d71767b7c7e7f80818281828307837f847f847f842d
84088301829581807f7e7c7b76716d68615c554d453c342b2318120f
9611161e27323b454e565e666e747b7e818485868788898a818a8b078b7f8c7f8c7f8c2d
8c088b018a95898887868584817e7b746e665e564e453b32271e1611
88131b242f37424d57057f057f057f055d058828574d42372f241b13
89161e29343d48545d05287f287f287f285b288952285d54483d34291e16
8a18212d37434f5a630528527f527f527f5259528a7d5228635a4f43372d2118
8b1b26323c47555f6b0528527d7f7d7f7d7f7d577d8b8d7d52286b5f55473c32261b
8c1e2935404d58646f0528527d8d7f8d7f8d7f8d558d8c8e8d7d52286f64584d4035291e

8d1f2b36424f5b67730528527d8d8e7f8e7f8e7f8e538e8d8f8e8d7d522873675b4f4236
2b1f
8e202c3745515d6a780528527d8d8e8f7f8f7f8f7f8f518f8e908f8e8d7d5228786a5d51
45372c20
8f232e3846535e6b790528527d8d8e8f907f907f907f904f908f91908f8e8d7d5228796b
5e5346382e23
8f232e3846535e6b790528527d8d8e8f917f917f917f9150918e908f8e8d7d5228796b5e
5346382e23
8e202c3745515d6a780528527d8d8e907f907f907f9052908d8f8e8d7d5228786a5d5145
372c20
8d1f2b36424f5b67730528527d8d8f7f8f7f8f7f8f548f8c8e8d7d522873675b4f42362b
1f
8c1e2935404d58646f0528527d8e7f8e7f8e7f8e568e8b8d7d52286f64584d4035291e
8b1b26323c47555f6b0528528d7f8d7f8d7f8d588d8a7d52286b5f55473c32261b
8a18212d37434f5a6305287d7f7d7f7d7f7d5a7d895228635a4f43372d2118
89161e29343d48545d05527f527f527f525c5288285d54483d34291e16
88131b242f37424d57287f287f287f285e2887574d42372f241b13
9611161e27323b454e565e666e747b7e818485868788898a818a8b078b7f8c7f8c7f8c2d
8c088b018a95898887868584817e7b746e665e564e453b32271e1611
960f1218232b343c454d555c61686d71767b7c7e7f80818281828307837f847f847f842d
84088301829581807f7e7c7b76716d68615c554d453c342b2318120f
960b10141b222c343b434b51565c6165696c6f707274757681767707777f7a7f7a7f7a2d
7a0877017695757472706f6c6965615c56514b433b342c221b14100b
96090d11151c222b32383e464c5055595c5e60626365666781676807687f6a7f6a7f6a2d
6a086801679566656362605e5c5955504c463e38322b221c15110d09
9404090e11151b23292f36393f44494c4f515455575881585981595a075a7f5b7f5b7f5b
2d5b085a0159015893575554514f4c49443f39362f29231b15110e0904
9503070a0e11141a1f252b3034373b3e414546494a4b4c814c4d084d7f4e7f4e7f4e2d4e
094d014c944b4a494645413e3b3734302b251f1a14110e0a0703
8f010207090c1012171b1f24292c303336853637383a3b3c813c3d083d7f3f7f3f7f3f2d
3f093d013c843b3a3837368f3633302c29241f1b1712100c09070201
9300010206080b0f111316191d202126292a2c2e2f812f3081303108317f337f337f332d
3309310130012f922e2c2a292621201d191613110f0b0806020100

%
% Compression made this file 3.30% of the uncompressed size.
%


showpage

% stop using temporary dictionary
end

% restore original state
origstate restore

%%Trailer