Blame


1 13f7391e 2004-05-15 devnull %
2 13f7391e 2004-05-15 devnull % Formatted font dump. Assumes all fonts include valid FontBBox arrays.
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 /landscape false def
8 13f7391e 2004-05-15 devnull /magnification 1 def
9 13f7391e 2004-05-15 devnull /margin 10 def
10 13f7391e 2004-05-15 devnull /orientation 0 def
11 13f7391e 2004-05-15 devnull /rotation 1 def
12 13f7391e 2004-05-15 devnull /xoffset 0 def
13 13f7391e 2004-05-15 devnull /yoffset 0 def
14 13f7391e 2004-05-15 devnull
15 13f7391e 2004-05-15 devnull /axescount 0 def
16 13f7391e 2004-05-15 devnull /charwidth false def
17 13f7391e 2004-05-15 devnull /graynotdef 0.85 def
18 13f7391e 2004-05-15 devnull /hireslinewidth 0.2 def
19 13f7391e 2004-05-15 devnull /longnames false def
20 13f7391e 2004-05-15 devnull /maxsize 6.0 def
21 13f7391e 2004-05-15 devnull /minsize 4.5 def
22 13f7391e 2004-05-15 devnull /numbercell true def
23 13f7391e 2004-05-15 devnull /radix 16 def
24 13f7391e 2004-05-15 devnull /labelfont /Helvetica def
25 13f7391e 2004-05-15 devnull /labelspace 36 def
26 13f7391e 2004-05-15 devnull /zerocell 0 def
27 13f7391e 2004-05-15 devnull
28 13f7391e 2004-05-15 devnull /roundpage true def
29 13f7391e 2004-05-15 devnull /useclippath true def
30 13f7391e 2004-05-15 devnull /pagebbox [0 0 612 792] def
31 13f7391e 2004-05-15 devnull
32 13f7391e 2004-05-15 devnull /inch {72 mul} def
33 13f7391e 2004-05-15 devnull /min {2 copy gt {exch} if pop} def
34 13f7391e 2004-05-15 devnull /max {2 copy lt {exch} if pop} def
35 13f7391e 2004-05-15 devnull
36 13f7391e 2004-05-15 devnull /LLx {0 get} bind def
37 13f7391e 2004-05-15 devnull /LLy {1 get} bind def
38 13f7391e 2004-05-15 devnull /URx {2 get} bind def
39 13f7391e 2004-05-15 devnull /URy {3 get} bind def
40 13f7391e 2004-05-15 devnull /BBoxHeight {dup URy exch LLy sub} bind def
41 13f7391e 2004-05-15 devnull /BBoxWidth {dup URx exch LLx sub} bind def
42 13f7391e 2004-05-15 devnull
43 13f7391e 2004-05-15 devnull /setup {
44 13f7391e 2004-05-15 devnull /graylevels [1 0 0] def
45 13f7391e 2004-05-15 devnull /scratchstring 512 string def
46 13f7391e 2004-05-15 devnull /Product statusdict begin /product where {pop product}{(Unknown)} ifelse end def
47 13f7391e 2004-05-15 devnull /Resolution 0 72 dtransform dup mul exch dup mul add sqrt cvi def
48 13f7391e 2004-05-15 devnull /Version /version where {pop version}{(???)} ifelse def
49 13f7391e 2004-05-15 devnull
50 13f7391e 2004-05-15 devnull landscape {/orientation 90 orientation add def} if
51 13f7391e 2004-05-15 devnull
52 13f7391e 2004-05-15 devnull pagedimensions
53 13f7391e 2004-05-15 devnull xcenter ycenter translate
54 13f7391e 2004-05-15 devnull orientation rotation mul rotate
55 13f7391e 2004-05-15 devnull width 2 div neg height 2 div translate
56 13f7391e 2004-05-15 devnull xoffset inch yoffset inch neg translate
57 13f7391e 2004-05-15 devnull margin dup neg translate
58 13f7391e 2004-05-15 devnull 0 labelspace .75 mul neg translate
59 13f7391e 2004-05-15 devnull magnification dup aspectratio mul scale
60 13f7391e 2004-05-15 devnull 0 0 transform round exch round exch itransform translate
61 13f7391e 2004-05-15 devnull
62 13f7391e 2004-05-15 devnull currentdict /linewidth known not {
63 13f7391e 2004-05-15 devnull /linewidth Resolution 400 le {0}{hireslinewidth} ifelse def
64 13f7391e 2004-05-15 devnull } if
65 13f7391e 2004-05-15 devnull } def
66 13f7391e 2004-05-15 devnull
67 13f7391e 2004-05-15 devnull /pagedimensions {
68 13f7391e 2004-05-15 devnull useclippath {
69 13f7391e 2004-05-15 devnull /pagebbox [clippath pathbbox newpath] def
70 13f7391e 2004-05-15 devnull roundpage currentdict /roundpagebbox known and {roundpagebbox} if
71 13f7391e 2004-05-15 devnull } if
72 13f7391e 2004-05-15 devnull pagebbox aload pop
73 13f7391e 2004-05-15 devnull 4 -1 roll exch 4 1 roll 4 copy
74 13f7391e 2004-05-15 devnull landscape {4 2 roll} if
75 13f7391e 2004-05-15 devnull sub /width exch def
76 13f7391e 2004-05-15 devnull sub /height exch def
77 13f7391e 2004-05-15 devnull add 2 div /xcenter exch def
78 13f7391e 2004-05-15 devnull add 2 div /ycenter exch def
79 13f7391e 2004-05-15 devnull } def
80 13f7391e 2004-05-15 devnull
81 13f7391e 2004-05-15 devnull /CharSetup {
82 13f7391e 2004-05-15 devnull /chcode exch def
83 13f7391e 2004-05-15 devnull /chname Encoding chcode get def
84 13f7391e 2004-05-15 devnull /chstring ( ) dup 0 chcode put def
85 13f7391e 2004-05-15 devnull /chknown true def
86 13f7391e 2004-05-15 devnull
87 13f7391e 2004-05-15 devnull graylevels 0 1 put % initial cell fill
88 13f7391e 2004-05-15 devnull graylevels 1 0 put % cell text
89 13f7391e 2004-05-15 devnull graylevels 2 0 put % cell border
90 13f7391e 2004-05-15 devnull
91 13f7391e 2004-05-15 devnull FontDict /CharStrings known {
92 13f7391e 2004-05-15 devnull FontDict /CharStrings get chname known not {
93 13f7391e 2004-05-15 devnull /chknown false def
94 13f7391e 2004-05-15 devnull graylevels 0 0 put
95 13f7391e 2004-05-15 devnull graylevels 1 1 put
96 13f7391e 2004-05-15 devnull } if
97 13f7391e 2004-05-15 devnull } if
98 13f7391e 2004-05-15 devnull
99 13f7391e 2004-05-15 devnull chname /.notdef eq {
100 13f7391e 2004-05-15 devnull /chknown false def
101 13f7391e 2004-05-15 devnull graylevels 0 graynotdef put
102 13f7391e 2004-05-15 devnull graylevels 1 graynotdef put
103 13f7391e 2004-05-15 devnull } if
104 13f7391e 2004-05-15 devnull
105 13f7391e 2004-05-15 devnull /chwid chknown
106 13f7391e 2004-05-15 devnull {FontDict 1 scalefont setfont chstring stringwidth pop}
107 13f7391e 2004-05-15 devnull {0}
108 13f7391e 2004-05-15 devnull ifelse def
109 13f7391e 2004-05-15 devnull } bind def
110 13f7391e 2004-05-15 devnull
111 13f7391e 2004-05-15 devnull /CellSetup {
112 13f7391e 2004-05-15 devnull /gridwidth width margin 2 mul sub def
113 13f7391e 2004-05-15 devnull /gridheight height labelspace sub margin 2 mul sub def
114 13f7391e 2004-05-15 devnull /cellwidth gridwidth radix div def
115 13f7391e 2004-05-15 devnull /cellheight gridheight Entries radix div ceiling div def
116 13f7391e 2004-05-15 devnull
117 13f7391e 2004-05-15 devnull cellwidth cellheight dtransform truncate exch truncate exch idtransform
118 13f7391e 2004-05-15 devnull /cellheight exch def
119 13f7391e 2004-05-15 devnull /cellwidth exch def
120 13f7391e 2004-05-15 devnull
121 13f7391e 2004-05-15 devnull labelfont findfont 1 scalefont setfont
122 13f7391e 2004-05-15 devnull /LabelBBox currentfont /FontBBox get TransformBBox def
123 13f7391e 2004-05-15 devnull
124 13f7391e 2004-05-15 devnull LabelBBox 2 0 Encoding {
125 13f7391e 2004-05-15 devnull scratchstring cvs stringwidth pop
126 13f7391e 2004-05-15 devnull 2 copy lt {exch} if
127 13f7391e 2004-05-15 devnull pop
128 13f7391e 2004-05-15 devnull } forall put
129 13f7391e 2004-05-15 devnull
130 13f7391e 2004-05-15 devnull /CellLabelSize
131 13f7391e 2004-05-15 devnull cellheight .20 mul cellwidth .90 mul LabelBBox BestFit
132 13f7391e 2004-05-15 devnull minsize max
133 13f7391e 2004-05-15 devnull maxsize min
134 13f7391e 2004-05-15 devnull def
135 13f7391e 2004-05-15 devnull zerocell CellOrigin cellheight add neg exch neg exch translate
136 13f7391e 2004-05-15 devnull } bind def
137 13f7391e 2004-05-15 devnull
138 13f7391e 2004-05-15 devnull /FontSetup {
139 13f7391e 2004-05-15 devnull FontName findfont 1 scalefont setfont
140 13f7391e 2004-05-15 devnull /BBox currentfont /FontBBox get TransformBBox def
141 13f7391e 2004-05-15 devnull /PointSize cellheight .5 mul cellwidth .8 mul BBox BestFit def
142 13f7391e 2004-05-15 devnull BBox {PointSize mul} forall BBox astore pop
143 13f7391e 2004-05-15 devnull
144 13f7391e 2004-05-15 devnull /xorigin cellwidth BBox BBoxWidth sub 2 div BBox LLx sub def
145 13f7391e 2004-05-15 devnull /yorigin cellheight BBox BBoxHeight sub 2 div BBox LLy sub def
146 13f7391e 2004-05-15 devnull } bind def
147 13f7391e 2004-05-15 devnull
148 13f7391e 2004-05-15 devnull /BestFit {
149 13f7391e 2004-05-15 devnull /bbox exch def
150 13f7391e 2004-05-15 devnull bbox BBoxWidth div exch
151 13f7391e 2004-05-15 devnull bbox BBoxHeight div min
152 13f7391e 2004-05-15 devnull } bind def
153 13f7391e 2004-05-15 devnull
154 13f7391e 2004-05-15 devnull /TransformBBox { % font bbox to user space
155 13f7391e 2004-05-15 devnull aload pop
156 13f7391e 2004-05-15 devnull currentfont /FontMatrix get dtransform 4 2 roll
157 13f7391e 2004-05-15 devnull currentfont /FontMatrix get dtransform 4 2 roll
158 13f7391e 2004-05-15 devnull 4 array astore % should build user space bbox if all zeros
159 13f7391e 2004-05-15 devnull } bind def
160 13f7391e 2004-05-15 devnull
161 13f7391e 2004-05-15 devnull /CellOrigin {
162 13f7391e 2004-05-15 devnull dup
163 13f7391e 2004-05-15 devnull exch radix mod cellwidth mul
164 13f7391e 2004-05-15 devnull exch radix idiv 1 add neg cellheight mul
165 13f7391e 2004-05-15 devnull } bind def
166 13f7391e 2004-05-15 devnull
167 13f7391e 2004-05-15 devnull /CellOutline {
168 13f7391e 2004-05-15 devnull newpath
169 13f7391e 2004-05-15 devnull CellOrigin moveto
170 13f7391e 2004-05-15 devnull cellwidth 0 rlineto
171 13f7391e 2004-05-15 devnull 0 cellheight rlineto
172 13f7391e 2004-05-15 devnull cellwidth neg 0 rlineto
173 13f7391e 2004-05-15 devnull closepath
174 13f7391e 2004-05-15 devnull } bind def
175 13f7391e 2004-05-15 devnull
176 13f7391e 2004-05-15 devnull /LabelCell {
177 13f7391e 2004-05-15 devnull gsave
178 13f7391e 2004-05-15 devnull chcode CellOrigin translate
179 13f7391e 2004-05-15 devnull linewidth .5 mul setlinewidth
180 13f7391e 2004-05-15 devnull labelfont findfont CellLabelSize scalefont setfont
181 13f7391e 2004-05-15 devnull
182 13f7391e 2004-05-15 devnull numbercell {
183 13f7391e 2004-05-15 devnull cellwidth .025 mul cellheight .05 mul moveto
184 13f7391e 2004-05-15 devnull chcode radix scratchstring cvrs show
185 13f7391e 2004-05-15 devnull } if
186 13f7391e 2004-05-15 devnull
187 13f7391e 2004-05-15 devnull charwidth chknown and {
188 13f7391e 2004-05-15 devnull /wid chwid 0.0005 add scratchstring cvs 0 5 getinterval def
189 13f7391e 2004-05-15 devnull cellwidth wid stringwidth pop 1.10 mul sub cellheight .05 mul moveto
190 13f7391e 2004-05-15 devnull wid show
191 13f7391e 2004-05-15 devnull } if
192 13f7391e 2004-05-15 devnull
193 13f7391e 2004-05-15 devnull longnames chknown not or {
194 13f7391e 2004-05-15 devnull cellwidth .025 mul
195 13f7391e 2004-05-15 devnull cellheight LabelBBox URy CellLabelSize mul sub .05 sub moveto
196 13f7391e 2004-05-15 devnull Encoding chcode get scratchstring cvs show
197 13f7391e 2004-05-15 devnull } if
198 13f7391e 2004-05-15 devnull
199 13f7391e 2004-05-15 devnull axescount 1 ge chknown and { % gsave/grestore if not last
200 13f7391e 2004-05-15 devnull newpath
201 13f7391e 2004-05-15 devnull xorigin yorigin translate
202 13f7391e 2004-05-15 devnull
203 13f7391e 2004-05-15 devnull BBox LLx 0 moveto % baseline
204 13f7391e 2004-05-15 devnull BBox URx 0 lineto stroke
205 13f7391e 2004-05-15 devnull
206 13f7391e 2004-05-15 devnull axescount 2 ge { % vertical through current origin
207 13f7391e 2004-05-15 devnull 0 BBox LLy moveto
208 13f7391e 2004-05-15 devnull 0 BBox URy lineto stroke
209 13f7391e 2004-05-15 devnull } if
210 13f7391e 2004-05-15 devnull
211 13f7391e 2004-05-15 devnull axescount 3 ge { % vertical through next origin
212 13f7391e 2004-05-15 devnull chwid PointSize mul BBox LLy
213 13f7391e 2004-05-15 devnull dtransform round exch round exch idtransform moveto
214 13f7391e 2004-05-15 devnull 0 BBox BBoxHeight rlineto stroke
215 13f7391e 2004-05-15 devnull %chwid PointSize mul BBox URy lineto stroke
216 13f7391e 2004-05-15 devnull } if
217 13f7391e 2004-05-15 devnull } if
218 13f7391e 2004-05-15 devnull grestore
219 13f7391e 2004-05-15 devnull } bind def
220 13f7391e 2004-05-15 devnull
221 13f7391e 2004-05-15 devnull /PlaceChar {
222 13f7391e 2004-05-15 devnull FontName findfont PointSize scalefont setfont
223 13f7391e 2004-05-15 devnull chcode CellOrigin moveto
224 13f7391e 2004-05-15 devnull xorigin yorigin rmoveto
225 13f7391e 2004-05-15 devnull ( ) dup 0 chcode put show
226 13f7391e 2004-05-15 devnull } bind def
227 13f7391e 2004-05-15 devnull
228 13f7391e 2004-05-15 devnull /LabelPage {
229 13f7391e 2004-05-15 devnull labelfont findfont labelspace .75 mul .75 mul 18 min scalefont setfont
230 13f7391e 2004-05-15 devnull 0 labelspace .75 mul .25 mul moveto
231 13f7391e 2004-05-15 devnull FontName scratchstring cvs show
232 13f7391e 2004-05-15 devnull
233 13f7391e 2004-05-15 devnull labelfont findfont labelspace .25 mul .75 mul 9 min scalefont setfont
234 13f7391e 2004-05-15 devnull 0 gridheight neg moveto
235 13f7391e 2004-05-15 devnull 0 labelspace .25 mul .75 mul neg rmoveto
236 13f7391e 2004-05-15 devnull Product show ( Version ) show Version show
237 13f7391e 2004-05-15 devnull ( \() show Resolution scratchstring cvs show (dpi\)) show
238 13f7391e 2004-05-15 devnull
239 13f7391e 2004-05-15 devnull gridwidth gridheight neg moveto
240 13f7391e 2004-05-15 devnull 0 labelspace .25 mul .75 mul neg rmoveto
241 13f7391e 2004-05-15 devnull (size=, ) stringwidth pop neg 0 rmoveto
242 13f7391e 2004-05-15 devnull PointSize cvi scratchstring cvs stringwidth pop neg 0 rmoveto
243 13f7391e 2004-05-15 devnull (gray=, ) stringwidth pop neg 0 rmoveto
244 13f7391e 2004-05-15 devnull graynotdef scratchstring cvs stringwidth pop neg 0 rmoveto
245 13f7391e 2004-05-15 devnull (linewidth=) stringwidth pop neg 0 rmoveto
246 13f7391e 2004-05-15 devnull linewidth scratchstring cvs stringwidth pop neg 0 rmoveto
247 13f7391e 2004-05-15 devnull (size=) show PointSize cvi scratchstring cvs show (, ) show
248 13f7391e 2004-05-15 devnull (gray=) show graynotdef scratchstring cvs show (, ) show
249 13f7391e 2004-05-15 devnull (linewidth=) show linewidth scratchstring cvs show
250 13f7391e 2004-05-15 devnull } bind def
251 13f7391e 2004-05-15 devnull
252 13f7391e 2004-05-15 devnull %
253 13f7391e 2004-05-15 devnull % Formatted dump of the encoded characters in a single font.
254 13f7391e 2004-05-15 devnull %
255 13f7391e 2004-05-15 devnull
256 13f7391e 2004-05-15 devnull /PrintFont {
257 13f7391e 2004-05-15 devnull /saveobj save def
258 13f7391e 2004-05-15 devnull /FontName exch def
259 13f7391e 2004-05-15 devnull /FontDict FontName findfont def
260 13f7391e 2004-05-15 devnull /Encoding FontDict /Encoding get def
261 13f7391e 2004-05-15 devnull /Entries Encoding length def
262 13f7391e 2004-05-15 devnull
263 13f7391e 2004-05-15 devnull CellSetup
264 13f7391e 2004-05-15 devnull FontSetup
265 13f7391e 2004-05-15 devnull LabelPage
266 13f7391e 2004-05-15 devnull zerocell 1 Entries 1 sub {
267 13f7391e 2004-05-15 devnull CharSetup
268 13f7391e 2004-05-15 devnull graylevels 0 get setgray
269 13f7391e 2004-05-15 devnull chcode CellOutline fill
270 13f7391e 2004-05-15 devnull graylevels 1 get setgray
271 13f7391e 2004-05-15 devnull LabelCell
272 13f7391e 2004-05-15 devnull PlaceChar
273 13f7391e 2004-05-15 devnull graylevels 2 get setgray
274 13f7391e 2004-05-15 devnull linewidth setlinewidth
275 13f7391e 2004-05-15 devnull chcode CellOutline stroke
276 13f7391e 2004-05-15 devnull } for
277 13f7391e 2004-05-15 devnull showpage
278 13f7391e 2004-05-15 devnull saveobj restore
279 13f7391e 2004-05-15 devnull } bind def
280 13f7391e 2004-05-15 devnull
281 13f7391e 2004-05-15 devnull %
282 13f7391e 2004-05-15 devnull % Dump of all ROM and disk fonts - in alphabetical order.
283 13f7391e 2004-05-15 devnull %
284 13f7391e 2004-05-15 devnull
285 13f7391e 2004-05-15 devnull /AllFonts {
286 13f7391e 2004-05-15 devnull /AllFontNames FontDirectory maxlength array def
287 13f7391e 2004-05-15 devnull AllFontNames 0 0 put
288 13f7391e 2004-05-15 devnull
289 13f7391e 2004-05-15 devnull FontDirectory {pop AllFontNames Insert} forall
290 13f7391e 2004-05-15 devnull
291 13f7391e 2004-05-15 devnull /filenameforall where {
292 13f7391e 2004-05-15 devnull pop
293 13f7391e 2004-05-15 devnull (fonts/*)
294 13f7391e 2004-05-15 devnull {(fonts/) search pop pop pop AllFontNames Insert}
295 13f7391e 2004-05-15 devnull 200 string
296 13f7391e 2004-05-15 devnull filenameforall
297 13f7391e 2004-05-15 devnull } if
298 13f7391e 2004-05-15 devnull
299 13f7391e 2004-05-15 devnull 1 1 AllFontNames 0 get {
300 13f7391e 2004-05-15 devnull AllFontNames exch get cvn PrintFont
301 13f7391e 2004-05-15 devnull } for
302 13f7391e 2004-05-15 devnull } bind def
303 13f7391e 2004-05-15 devnull
304 13f7391e 2004-05-15 devnull /Insert { % name in a sorted list
305 13f7391e 2004-05-15 devnull /List exch def
306 13f7391e 2004-05-15 devnull /Name exch 128 string cvs def
307 13f7391e 2004-05-15 devnull
308 13f7391e 2004-05-15 devnull /Slot 1 def
309 13f7391e 2004-05-15 devnull List 0 get {
310 13f7391e 2004-05-15 devnull Name List Slot get le {exit} if
311 13f7391e 2004-05-15 devnull /Slot Slot 1 add def
312 13f7391e 2004-05-15 devnull } repeat
313 13f7391e 2004-05-15 devnull
314 13f7391e 2004-05-15 devnull List 0 get -1 Slot {
315 13f7391e 2004-05-15 devnull dup List exch get
316 13f7391e 2004-05-15 devnull List 3 1 roll exch 1 add exch put
317 13f7391e 2004-05-15 devnull } for
318 13f7391e 2004-05-15 devnull List Slot Name put
319 13f7391e 2004-05-15 devnull List 0 List 0 get 1 add put
320 13f7391e 2004-05-15 devnull } bind def
321 13f7391e 2004-05-15 devnull