summaryrefslogtreecommitdiff
path: root/fonts/utilities/mf2ps/doc/figure.pages.ps
blob: 57a0330a5d5a3c03dc939cf39e7b202e189ca2fe (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
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
%!PS-Adobe-1.0
%%Creator: ah.sei.cmu.edu:dberry (Daniel Berry)
%%Title: stdin (ditroff)
%%CreationDate: Wed Oct 17 22:20:03 1990
%%EndComments
/PageLength 11 def
% lib/psdit.pro -- prolog for psdit (ditroff) files
% Copyright (c) 1984, 1985 Adobe Systems, Inc. All Rights Reserved.

/PageLength 11 def
% psfig additions
/DocumentInitState [ matrix currentmatrix currentlinewidth currentlinecap
currentlinejoin currentdash currentgray currentmiterlimit ] cvx def

/startFig {
	/SavedState save def
	userdict maxlength dict begin
	currentpoint transform

	DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap
		setlinewidth setmatrix

	itransform moveto

	/ury exch def
	/urx exch def
	/lly exch def
	/llx exch def
	/y exch 72 mul resolution div def
	/x exch 72 mul resolution div def

	currentpoint /cy exch def /cx exch def

	/sx x urx llx sub div def
	/sy y ury lly sub div def

	sx sy scale

	cx sx div llx sub
	cy sy div ury sub translate

	/DefFigCTM matrix currentmatrix def

	/initmatrix {
		DefFigCTM setmatrix
	} def
	/defaultmatrix {
		DefFigCTM exch copy
	} def

	/initgraphics {
		DocumentInitState setmiterlimit setgray setdash
			setlinejoin setlinecap setlinewidth setmatrix
		DefFigCTM setmatrix
	} def

	/showpage {
		initgraphics
	} def

} def
/clipFig {
	currentpoint 6 2 roll
	newpath 4 copy
	4 2 roll moveto
	6 -1 roll exch lineto
	exch lineto
	exch lineto
	closepath clip
	newpath
	moveto
} def
/doclip { llx lly urx ury clipFig } def
/endFig {
	end SavedState restore
} def
/globalstart {
	fontnum fontsize fontslant fontheight
	mh my resolution slotno currentpoint
	pagesave restore gsave
} def
/globalend {
	grestore moveto
	/slotno exch def /resolution exch def /my exch def
	/mh exch def
	/fontheight exch def
	/fontslant exch def /fontsize exch def /fontnum exch def
	F
	/pagesave save def
} def
% end of psfig additions

/$DITroff 140 dict def $DITroff begin
/fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def
/xi
 {0 72 PageLength mul translate 72 resolution div dup neg scale 0 0 moveto
  /fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def
  F /firstpage true def /pagesave save def}def
/PB{save /psv exch def currentpoint translate
  resolution 72 div dup neg scale 0 0 moveto}def
/PE{psv restore}def
/arctoobig 90 def /arctoosmall .05 def
/m1 matrix def /m2 matrix def /m3 matrix def /oldmat matrix def
/tan{dup sin exch cos div}def
/point{.1 resolution add 72 div mul}def
/dround	{transform round exch round exch itransform}def
/xT{/devname exch def}def
/xr{/mh exch def /my exch def /resolution exch def}def
/xp{}def
/xs{docsave restore end}def
/xt{showpage}def
/xf{/fontname exch def /slotno exch def fontnames slotno get fontname eq not
 {fonts slotno fontname findfont put fontnames slotno fontname put}if}def
/xH{/fontheight exch def}def
/xS{/fontslant exch def}def
/s{/fontsize exch def /fontheight fontsize def}def
/f{/fontnum exch def}def
/F {fontheight 0 le {/fontheight fontsize def}if
    fonts fontnum get fontsize point 0 0 fontheight point neg 0 0 m1 astore
    fontslant 0 ne{1 0 fontslant tan 1 0 0 m2 astore m3 concatmatrix}if
    makefont setfont .04 fontsize point mul 0 dround pop setlinewidth
   } def
/X{exch currentpoint exch pop moveto show}def
/N{3 1 roll moveto show}def
/Y{exch currentpoint pop exch moveto show}def
/S{show}def
/MX{currentpoint exch pop moveto}def
/MY{currentpoint pop exch moveto}def
/MXY{moveto}def
/cb{pop}def	% action on unknown char -- nothing for now
/n{}def /w{}def
/p{pop firstpage not{showpage}if pagesave restore /pagesave save def
   /firstpage false def}def
/abspoint{currentpoint exch pop add exch currentpoint pop add exch}def
/distance{dup mul exch dup mul add sqrt}def
/dstroke{currentpoint stroke moveto}def
/Dl{2 copy gsave rlineto stroke grestore rmoveto}def
/arcellipse{/diamv exch def /diamh exch def oldmat currentmatrix pop
 currentpoint translate 1 diamv diamh div scale /rad diamh 2 div def
 currentpoint exch rad add exch rad -180 180 arc oldmat setmatrix}def
/Dc{dup arcellipse dstroke}def
/De{arcellipse dstroke}def
/Da{/endv exch def /endh exch def /centerv exch def /centerh exch def
 /cradius centerv centerv mul centerh centerh mul add sqrt def
 /eradius endv endv mul endh endh mul add sqrt def
 /endang endv endh atan def
 /startang centerv neg centerh neg atan def
 /sweep startang endang sub dup 0 lt{360 add}if def
 sweep arctoobig gt
 {/midang startang sweep 2 div sub def /midrad cradius eradius add 2 div def
  /midh midang cos midrad mul def /midv midang sin midrad mul def
  midh neg midv neg endh endv centerh centerv midh midv Da
  currentpoint moveto Da}
 {sweep arctoosmall ge
  {/controldelt 1 sweep 2 div cos sub 3 sweep 2 div sin mul div 4 mul def
  centerv neg controldelt mul centerh controldelt mul
  endv neg controldelt mul centerh add endh add
  endh controldelt mul centerv add endv add
  centerh endh add centerv endv add rcurveto dstroke}
 {centerh endh add centerv endv add rlineto dstroke}ifelse}ifelse}def

/Barray 200 array def % 200 values in a wiggle
/D~{mark}def
/D~~{counttomark Barray exch 0 exch getinterval astore /Bcontrol exch def pop
 /Blen Bcontrol length def Blen 4 ge Blen 2 mod 0 eq and
 {Bcontrol 0 get Bcontrol 1 get abspoint /Ycont exch def /Xcont exch def
  Bcontrol 0 2 copy get 2 mul put Bcontrol 1 2 copy get 2 mul put
  Bcontrol Blen 2 sub 2 copy get 2 mul put
  Bcontrol Blen 1 sub 2 copy get 2 mul put
  /Ybi /Xbi currentpoint 3 1 roll def def 0 2 Blen 4 sub
  {/i exch def
   Bcontrol i get 3 div Bcontrol i 1 add get 3 div
   Bcontrol i get 3 mul Bcontrol i 2 add get add 6 div
   Bcontrol i 1 add get 3 mul Bcontrol i 3 add get add 6 div
   /Xbi Xcont Bcontrol i 2 add get 2 div add def
   /Ybi Ycont Bcontrol i 3 add get 2 div add def
   /Xcont Xcont Bcontrol i 2 add get add def
   /Ycont Ycont Bcontrol i 3 add get add def
   Xbi currentpoint pop sub Ybi currentpoint exch pop sub rcurveto
  }for dstroke}if}def
end
/ditstart{$DITroff begin
 /nfonts 49 def
 /fonts[nfonts{0}repeat]def
 /fontnames[nfonts{()}repeat]def
/docsave save def
}def

% character outcalls
/oc 
  {/pswid exch def /cc exch def /name exch def
   /ditwid pswid fontsize mul resolution mul 72000 div def
   /ditsiz fontsize resolution mul 72 div def
   ocprocs name known{ocprocs name get exec}{name cb}
   ifelse}def
/fractm [.65 0 0 .6 0 0] def
/fraction
 {/fden exch def /fnum exch def gsave /cf currentfont def
  cf fractm makefont setfont 0 .3 dm 2 copy neg rmoveto
  fnum show rmoveto currentfont cf setfont(\244)show setfont fden show 
  grestore ditwid 0 rmoveto} def

/ocb
 {/s2 .5 dm def /s4 .25 dm def
  2 setlinejoin gsave currentpoint newpath dround translate 0 0 moveto}def
/oce {grestore ditwid 0 rmoveto}def
/occ {grestore}def
/dm {ditsiz mul}def
/4p {pop pop pop pop}def

/ocprocs 25 dict def ocprocs begin
(X0) {ocb oce}def %room for building special characters with X names
(X1) {ocb oce}def %all these do is move the width of the char which is 1 em
(X2) {ocb oce}def
(X3) {ocb oce}def
(X4) {ocb oce}def
(X5) {ocb oce}def
(X6) {ocb oce}def
(X7) {ocb oce}def
(X8) {ocb oce}def
(X9) {ocb oce}def
(XX) {ocb oce}def

(MD) {ocb 0 -.25 dm moveto .4333 dm -1 dm lineto .8666 dm -.25 dm lineto
        0 -.25 dm lineto closepath stroke occ
      ocb 0 -.75 dm moveto .8666 dm -.75 dm lineto .4333 dm 0 dm lineto
        0 -.75 dm lineto closepath stroke oce}def
(OU) { ocb .5 dm -.35 dm moveto currentpoint newpath .35 dm 0 360 arc closepath
        stroke occ
       ocb .3 dm -.50 dm moveto .3 dm -.3 dm lineto
        .5 dm -.3 dm .2 dm 180 360 arcn .7 dm -.50 dm lineto stroke oce}def

(14) {(1)(4)fraction}def
(12) {(1)(2)fraction}def
(34) {(3)(4)fraction}def
(18) {(1)(8)fraction}def
(38) {(3)(8)fraction}def
(58) {(5)(8)fraction}def
(78) {(7)(8)fraction}def
(13) {(1)(3)fraction}def
(23) {(2)(3)fraction}def

(ff) {gsave (f) show -.06 dm 0 rmoveto (f) show oce}def
(Fl) {gsave (f) show -.06 dm 0 rmoveto (\257) show oce}def
(Fi) {gsave (f) show -.06 dm 0 rmoveto (\256) show oce}def
end

% DIThacks fonts for some special chars
50 dict dup begin
/FontType 3 def
/FontName /DIThacks def
/FontMatrix [.001 0.0 0.0 .001 0.0 0.0] def
/FontBBox [-220 -280 900 900] def% a lie but ...
/Encoding 256 array def
0 1 255{Encoding exch /.notdef put}for
Encoding
 dup 8#040/space put %space
 dup 8#110/rc put %right ceil
 dup 8#111/lt put %left  top curl
 dup 8#112/bv put %bold vert
 dup 8#113/lk put %left  mid curl
 dup 8#114/lb put %left  bot curl
 dup 8#115/rt put %right top curl
 dup 8#116/rk put %right mid curl
 dup 8#117/rb put %right bot curl
 dup 8#120/rf put %right floor
 dup 8#121/lf put %left  floor
 dup 8#122/lc put %left  ceil
 dup 8#140/sq put %square
 dup 8#141/bx put %box
 dup 8#142/ci put %circle
 dup 8#143/br put %box rule
 dup 8#144/rn put %root extender
 dup 8#145/vr put %vertical rule
 dup 8#146/ob put %outline bullet
 dup 8#147/bu put %bullet
 dup 8#150/ru put %rule
 dup 8#151/ul put %underline
 pop
/DITfd 100 dict def
/BuildChar{0 begin
 /cc exch def /fd exch def
 /charname fd /Encoding get cc get def
 /charwid fd /Metrics get charname get def
 /charproc fd /CharProcs get charname get def
 charwid 0 fd /FontBBox get aload pop setcachedevice
 40 setlinewidth
 newpath 0 0 moveto gsave charproc grestore
 end}def
/BuildChar load 0 DITfd put
%/UniqueID 5 def
/CharProcs 50 dict def
CharProcs begin
/space{}def
/.notdef{}def
/ru{500 0 rls}def
/rn{-55 725 moveto 500 0 rlineto 25 setlinewidth stroke}def
/vr{125 800 moveto 0 -770 rls}def
/bv{125 800 moveto 0 -1000 rls}def
/br{0 770 moveto 0 -1040 rls}def
/ul{0 -250 moveto 500 0 rls}def
/ob{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath stroke}def
/bu{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath fill}def
/sq{80 0 rmoveto currentpoint dround newpath moveto
    640 0 rlineto 0 640 rlineto -640 0 rlineto closepath stroke}def
/bx{80 0 rmoveto currentpoint dround newpath moveto
    640 0 rlineto 0 640 rlineto -640 0 rlineto closepath fill}def
/ci{355 333 rmoveto currentpoint newpath 333 0 360 arc
    50 setlinewidth stroke}def

/lt{125 -200 moveto 125 400 lineto 125 550 260 780 375 800 curveto stroke}def
/lb{125 800 moveto 125 200 lineto 125 50 260 -180 375 -200 curveto stroke}def
/rt{125 -200 moveto 125 400 lineto 125 550 -10 780 -125 800 curveto stroke}def
/rb{125 800 moveto 125 200 lineto 125 50 -10 -180 -125 -200 curveto stroke}def
/lk{125 800 moveto 125 700 lineto 125 550 125 320 -125 300 curveto 
    125 -200 moveto 125 -100 lineto 125 50 125 280 -125 300 curveto stroke}def
/rk{125 800 moveto 125 700 lineto 125 550 125 320 375 300 curveto 
    125 -200 moveto 125 -100 lineto 125 50 125 280 375 300 curveto stroke}def
/lf{125 800 moveto 0 -1000 rlineto s4 0 rls}def
/rf{125 800 moveto 0 -1000 rlineto s4 neg 0 rls}def
/lc{125 -200 moveto 0 1000 rlineto s4 0 rls}def
/rc{125 -200 moveto 0 1000 rlineto s4 neg 0 rls}def
end

/Metrics 50 dict def Metrics begin
/.notdef 0 def
/space 500 def
/ru 500 def
/br 0 def
/lt 250 def
/lb 250 def
/rt 250 def
/rb 250 def
/lk 250 def
/rk 250 def
/rc 250 def
/lc 250 def
/rf 250 def
/lf 250 def
/bv 250 def
/ob 350 def
/bu 350 def
/ci 750 def
/bx 750 def
/sq 750 def
/rn 500 def
/ul 500 def
/vr 0 def
end

DITfd begin
/s2 500 def /s4 250 def /s3 333 def
/a4p{arcto pop pop pop pop}def
/2cx{2 copy exch}def
/rls{rlineto stroke}def
/currx{currentpoint pop}def
/dround{transform round exch round exch itransform} def
end
end
/DIThacks exch definefont pop
ditstart
(psc)xT
576 1 1 xr
1(Times-Roman)xf 1 f F
2(Times-Italic)xf 2 f F
3(Times-Bold)xf 3 f F
4(Times-BoldItalic)xf 4 f F
5(Courier)xf 5 f F
6(Courier-Oblique)xf 6 f F
7(Courier-Bold)xf 7 f F
8(Courier-BoldOblique)xf 8 f F
9(Helvetica)xf 9 f F
10(Helvetica-Oblique)xf 10 f F
11(Helvetica-Bold)xf 11 f F
12(Helvetica-BoldOblique)xf 12 f F
13(Hebrew-Frank-Ruehl)xf 13 f F
14(Hebrew-Gam)xf 14 f F
15(Hebrew-Gam-Bold)xf 15 f F
16(Hebrew-Yuval)xf 16 f F
17(Hebrew-David)xf 17 f F
18(Hebrew-Tel-Aviv)xf 18 f F
19(Hebrew-OldJaffa)xf 19 f F
20(AvantGarde-Book)xf 20 f F
21(AvantGarde-BookOblique)xf 21 f F
22(AvantGarde-Demi)xf 22 f F
23(AvantGarde-DemiOblique)xf 23 f F
24(NewCenturySchlbk-Roman)xf 24 f F
25(NewCenturySchlbk-Italic)xf 25 f F
26(NewCenturySchlbk-Bold)xf 26 f F
27(NewCenturySchlbk-BoldItalic)xf 27 f F
28(Palatino-Roman)xf 28 f F
29(Palatino-Italic)xf 29 f F
30(Palatino-Bold)xf 30 f F
31(Palatino-BoldItalic)xf 31 f F
32(ZapfChancery-MediumItalic)xf 32 f F
33(ZapfDingbats)xf 33 f F
34(Bookman-Light)xf 34 f F
35(Bookman-LightItalic)xf 35 f F
36(Bookman-Demi)xf 36 f F
37(Bookman-DemiItalic)xf 37 f F
38(Helvetica-Narrow)xf 38 f F
39(Helvetica-Narrow-Oblique)xf 39 f F
40(Helvetica-Narrow-Bold)xf 40 f F
41(Helvetica-Narrow-BoldOblique)xf 41 f F
42(Nescii-Initial-Stroke)xf 42 f F
43(Nescii-Middle-Stroke)xf 43 f F
44(Nescii-Final-Stroke)xf 44 f F
45(Nescii-Standalone-Stroke)xf 45 f F
46(Arabic-Naskh)xf 46 f F
47(Symbol)xf 47 f F
48(DIThacks)xf 48 f F
xi
%%EndProlog

%%Page: 1 1
1 p
10 s 10 xH 0 xS 1 f F
10 s 10 xH 0 xS 1 f F
2313 5520(Figure)N
2542(3)X
2428 6084(7)N

%%Page: 2 2
2 p
10 s 10 xH 0 xS 1 f F
576 672(R)N
691(M)X
846(7:)X
806 768(10:)N
806 864(12:)N
691 1056(P)N
846(7:)X
806 1152(10:)N
806 1248(12:)N
576 1440(T)N
691(M)X
846(8:)X
806 1536(10:)N
806 1632(12:)N
691 1824(P)N
846(8:)X
806 1920(10:)N
806 2016(12:)N
576 2208(L)N
691(M)X
806(10:)X
691 2400(P)N
806(10:)X
2157 2688(Figure)N
2386(11-LW300)X
576 3072(R)N
691(M)X
806(10:)X
806 3168(12:)N
691 3360(P)N
806(10:)X
806 3456(12:)N
576 3648(T)N
691(M)X
806(10:)X
806 3744(12:)N
691 3936(P)N
806(10:)X
806 4032(12:)N
576 4224(L)N
691(M)X
806(10:)X
691 4416(P)N
806(10:)X
2166 4704(Figure)N
2395(11-VT600)X
2428 6084(14)N

%%Page: 3 3
3 p
10 s 10 xH 0 xS 1 f F
576 672(R)N
691(M)X
806(10:)X
806 768(12:)N
691 960(P)N
806(10:)X
806 1056(12:)N
576 1248(T)N
691(M)X
806(10:)X
806 1344(12:)N
691 1536(P)N
806(10:)X
806 1632(12:)N
576 1824(L)N
691(M)X
806(10:)X
691 2016(P)N
806(10:)X
2151 2304(Figure)N
2380(11-LT1270)X
576 2592(LW300:)N
576 3456(VT600:)N
576 4320(LT1270:)N
2293 5280(Figure)N
2522(12)X
2428 6084(15)N

%%Trailer
xt

xs