1 | % Start of pscat.pro -- prolog for troff translator |
---|
2 | % Copyright (c) 1985,1987 Adobe Systems Incorporated. All Rights Reserved. |
---|
3 | % GOVERNMENT END USERS: See Notice file in TranScript library directory |
---|
4 | % -- probably /usr/lib/ps/Notice |
---|
5 | % RCS: $Header: /afs/dev.mit.edu/source/repository/third/transcript/lib/pscat.pro,v 1.1.1.1 1996-10-07 20:25:31 ghudson Exp $ |
---|
6 | save /pscatsave exch def |
---|
7 | /$pscat 50 dict def |
---|
8 | $pscat begin |
---|
9 | /fm [1 0 0 1 0 0] def |
---|
10 | /xo 0 def /yo 0 def |
---|
11 | /M /moveto load def |
---|
12 | /R /show load def |
---|
13 | /S {exch currentpoint exch pop moveto show}def |
---|
14 | /T {exch currentpoint pop exch moveto show}def |
---|
15 | /U {3 1 roll moveto show}def |
---|
16 | /siz 0 def |
---|
17 | /font 0 def |
---|
18 | /Z {/siz exch def SF}def |
---|
19 | /F {/font exch def SF}def |
---|
20 | /SF{font 0 ne |
---|
21 | {catfonts font 1 sub get fm 0 siz put fm 3 siz neg put |
---|
22 | fm makefont setfont}if}def |
---|
23 | /BP{save/catsv exch def 0 exch translate 72 432 div dup neg scale |
---|
24 | xo yo translate 0 0 moveto}def |
---|
25 | /EP{catsv restore showpage}def |
---|
26 | |
---|
27 | % definitions for PPROC callback functions |
---|
28 | % each PPROC is called with the following number on the stack: |
---|
29 | % pointsize charcode railmag pswidth pschar x y wid |
---|
30 | /$pprocs 50 dict def |
---|
31 | /fractm [.65 0 0 .6 0 0] def |
---|
32 | % fractions |
---|
33 | /PS1{gsave $pprocs begin |
---|
34 | /wid exch def pop pop pop pop pop /ch exch def /size exch def |
---|
35 | /pair $pprocs ch get def /cf currentfont def |
---|
36 | cf fractm makefont setfont |
---|
37 | 0 .3 size mul 6 mul 2 copy neg rmoveto pair 0 get show rmoveto |
---|
38 | currentfont cf setfont (\244) show setfont |
---|
39 | pair 1 get show grestore wid .06 div 0 rmoveto end}def |
---|
40 | $pprocs begin |
---|
41 | 8#34 [(1)(4)] def |
---|
42 | 8#36 [(1)(2)] def |
---|
43 | 8#46 [(3)(4)] def |
---|
44 | end |
---|
45 | %%BeginResource: font DIThacks |
---|
46 | % DIThacks fonts for some special chars |
---|
47 | 50 dict dup begin |
---|
48 | /FontType 3 def |
---|
49 | /FontName /DIThacks def |
---|
50 | /FontMatrix [.001 0.0 0.0 .001 0.0 0.0] def |
---|
51 | /FontBBox [-220 -280 900 900] def% a lie but ... |
---|
52 | /Encoding 256 array def |
---|
53 | 0 1 255{Encoding exch /.notdef put}for |
---|
54 | Encoding |
---|
55 | dup 8#040/space put %space |
---|
56 | dup 8#110/rc put %right ceil |
---|
57 | dup 8#111/lt put %left top curl |
---|
58 | dup 8#112/bv put %bold vert |
---|
59 | dup 8#113/lk put %left mid curl |
---|
60 | dup 8#114/lb put %left bot curl |
---|
61 | dup 8#115/rt put %right top curl |
---|
62 | dup 8#116/rk put %right mid curl |
---|
63 | dup 8#117/rb put %right bot curl |
---|
64 | dup 8#120/rf put %right floor |
---|
65 | dup 8#121/lf put %left floor |
---|
66 | dup 8#122/lc put %left ceil |
---|
67 | dup 8#140/sq put %square |
---|
68 | dup 8#141/bx put %box |
---|
69 | dup 8#142/ci put %circle |
---|
70 | dup 8#143/br put %box rule |
---|
71 | dup 8#144/rn put %root extender |
---|
72 | dup 8#145/vr put %vertical rule |
---|
73 | dup 8#146/ob put %outline bullet |
---|
74 | dup 8#147/bu put %bullet |
---|
75 | dup 8#150/ru put %rule |
---|
76 | dup 8#151/ul put %underline |
---|
77 | pop |
---|
78 | /DITfd 100 dict def |
---|
79 | /BuildChar{0 begin |
---|
80 | /cc exch def /fd exch def |
---|
81 | /charname fd /Encoding get cc get def |
---|
82 | /charwid fd /Metrics get charname get def |
---|
83 | /charproc fd /CharProcs get charname get def |
---|
84 | charwid 0 fd /FontBBox get aload pop setcachedevice |
---|
85 | 40 setlinewidth |
---|
86 | newpath 0 0 moveto gsave charproc grestore |
---|
87 | end}def |
---|
88 | /BuildChar load 0 DITfd put |
---|
89 | %/UniqueID 5 def |
---|
90 | /CharProcs 50 dict def |
---|
91 | CharProcs begin |
---|
92 | /space{}def |
---|
93 | /.notdef{}def |
---|
94 | /ru{500 0 rls}def |
---|
95 | /rn{0 750 moveto 500 0 rls}def |
---|
96 | /vr{20 800 moveto 0 -770 rls}def |
---|
97 | /bv{20 800 moveto 0 -1000 rls}def |
---|
98 | /br{20 770 moveto 0 -1040 rls}def |
---|
99 | /ul{0 -250 moveto 500 0 rls}def |
---|
100 | /ob{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath stroke}def |
---|
101 | /bu{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath fill}def |
---|
102 | /sq{80 0 rmoveto currentpoint dround newpath moveto |
---|
103 | 640 0 rlineto 0 640 rlineto -640 0 rlineto closepath stroke}def |
---|
104 | /bx{80 0 rmoveto currentpoint dround newpath moveto |
---|
105 | 640 0 rlineto 0 640 rlineto -640 0 rlineto closepath fill}def |
---|
106 | /ci{355 333 rmoveto currentpoint newpath 333 0 360 arc |
---|
107 | 50 setlinewidth stroke}def |
---|
108 | |
---|
109 | /lt{20 -200 moveto 0 550 rlineto currx 800 2cx s4 add exch s4 a4p stroke}def |
---|
110 | /lb{20 800 moveto 0 -550 rlineto currx -200 2cx s4 add exch s4 a4p stroke}def |
---|
111 | /rt{20 -200 moveto 0 550 rlineto currx 800 2cx s4 sub exch s4 a4p stroke}def |
---|
112 | /rb{20 800 moveto 0 -500 rlineto currx -200 2cx s4 sub exch s4 a4p stroke}def |
---|
113 | /lk{20 800 moveto 20 300 -280 300 s4 arcto pop pop 1000 sub |
---|
114 | currentpoint stroke moveto |
---|
115 | 20 300 4 2 roll s4 a4p 20 -200 lineto stroke}def |
---|
116 | /rk{20 800 moveto 20 300 320 300 s4 arcto pop pop 1000 sub |
---|
117 | currentpoint stroke moveto |
---|
118 | 20 300 4 2 roll s4 a4p 20 -200 lineto stroke}def |
---|
119 | /lf{20 800 moveto 0 -1000 rlineto s4 0 rls}def |
---|
120 | /rf{20 800 moveto 0 -1000 rlineto s4 neg 0 rls}def |
---|
121 | /lc{20 -200 moveto 0 1000 rlineto s4 0 rls}def |
---|
122 | /rc{20 -200 moveto 0 1000 rlineto s4 neg 0 rls}def |
---|
123 | end |
---|
124 | |
---|
125 | /Metrics 50 dict def Metrics begin |
---|
126 | /.notdef 0 def |
---|
127 | /space 500 def |
---|
128 | /ru 500 def |
---|
129 | /br 0 def |
---|
130 | /lt 250 def |
---|
131 | /lb 250 def |
---|
132 | /rt 250 def |
---|
133 | /rb 250 def |
---|
134 | /lk 250 def |
---|
135 | /rk 250 def |
---|
136 | /rc 250 def |
---|
137 | /lc 250 def |
---|
138 | /rf 250 def |
---|
139 | /lf 250 def |
---|
140 | /bv 250 def |
---|
141 | /ob 350 def |
---|
142 | /bu 350 def |
---|
143 | /ci 750 def |
---|
144 | /bx 750 def |
---|
145 | /sq 750 def |
---|
146 | /rn 500 def |
---|
147 | /ul 500 def |
---|
148 | /vr 0 def |
---|
149 | end |
---|
150 | |
---|
151 | DITfd begin |
---|
152 | /s2 500 def /s4 250 def /s3 333 def |
---|
153 | /a4p{arcto pop pop pop pop}def |
---|
154 | /2cx{2 copy exch}def |
---|
155 | /rls{rlineto stroke}def |
---|
156 | /currx{currentpoint pop}def |
---|
157 | /dround{transform round exch round exch itransform} def |
---|
158 | end |
---|
159 | end |
---|
160 | /DIThacks exch definefont pop |
---|
161 | %%EndResource |
---|