Blame


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