2 % Version 3.3.2 prologue for troff files.
20 /pagebbox [0 0 612 792] def
25 /BI /Times-BoldItalic def
27 /HI /Helvetica-Oblique def
28 /HB /Helvetica-Bold def
29 /HX /Helvetica-BoldOblique def
32 /CI /Courier-Oblique def
34 /CX /Courier-BoldOblique def
35 /PA /Palatino-Roman def
36 /PI /Palatino-Italic def
37 /PB /Palatino-Bold def
38 /PX /Palatino-BoldItalic def
39 /Hr /Helvetica-Narrow def
40 /Hi /Helvetica-Narrow-Oblique def
41 /Hb /Helvetica-Narrow-Bold def
42 /Hx /Helvetica-Narrow-BoldOblique def
43 /KR /Bookman-Light def
44 /KI /Bookman-LightItalic def
46 /KX /Bookman-DemiItalic def
47 /AR /AvantGarde-Book def
48 /AI /AvantGarde-BookOblique def
49 /AB /AvantGarde-Demi def
50 /AX /AvantGarde-DemiOblique def
51 /NR /NewCenturySchlbk-Roman def
52 /NI /NewCenturySchlbk-Italic def
53 /NB /NewCenturySchlbk-Bold def
54 /NX /NewCenturySchlbk-BoldItalic def
56 /ZI /ZapfChancery-MediumItalic def
61 /inch {72 mul} bind def
62 /min {2 copy gt {exch} if pop} bind def
65 counttomark 2 idiv {def} repeat pop
67 landscape {/orientation 90 orientation add def} if
68 /scaling 72 resolution div def
69 linewidth setlinewidth
73 xcenter ycenter translate
74 orientation rotation mul rotate
75 width 2 div neg height 2 div translate
76 xoffset inch yoffset inch neg translate
77 margin 2 div dup neg translate
78 magnification dup aspectratio mul scale
86 useclippath userdict /gotpagebbox known not and {
87 /pagebbox [clippath pathbbox newpath] def
88 roundpage currentdict /roundpagebbox known and {roundpagebbox} if
91 4 -1 roll exch 4 1 roll 4 copy
92 landscape {4 2 roll} if
95 add 2 div /xcenter exch def
96 add 2 div /ycenter exch def
97 userdict /gotpagebbox true put
101 /Symbol /S null Sdefs cf
102 /Times-Roman /S1 StandardEncoding dup length array copy S1defs cf
107 currentdict /pagedict known currentdict page known and {
108 page load pagedict exch get cvx exec
113 {counttomark 2 idiv {y moveto show} repeat}
114 {neg /y exch def counttomark 2 idiv {y moveto show} repeat}
115 {neg moveto {2 index stringwidth pop sub exch div 0 32 4 -1 roll widthshow} repeat}
116 {neg moveto {spacewidth sub 0.0 32 4 -1 roll widthshow} repeat}
117 {counttomark 2 idiv {y moveto show} repeat}
121 /setdecoding {/t decodingdefs 3 -1 roll get bind def} bind def
123 /w {neg moveto show} bind def
124 /m {neg dup /y exch def moveto} bind def
125 /g {neg moveto {glyphshow} forall} bind def
126 /done {/lastpage where {pop lastpage} if} def
128 % caching fonts returned from findfont in fncache
144 /font fname findfont def
145 fncache fncidx [fname font] put
146 /fncidx fncidx 1 add def
147 fncidx fncache length ge {
154 % ideally it should have been more efficient to replace "fontlookup
155 % setfont" with "selectfont"; according to adobe docs selectfont
156 % should cache fonts but ghostscript's implementation doesn't, so
157 % we do our own caching in fontlookup.
159 /font exch def /ptsize exch def
160 ptsize scaling div /size exch def
161 font size fontlookup setfont
162 linewidth ptsize mul scaling 10 mul div setlinewidth
163 /spacewidth ( ) stringwidth pop def
171 fontheight ptsize div fontslant sin mul fontslant cos div
172 fontheight ptsize div
183 /newencoding exch def
186 findfont dup length 1 add dict
188 {1 index /FID ne {newdict 3 1 roll put}{pop pop} ifelse} forall
190 newencoding type /arraytype eq {newdict /Encoding newencoding put} if
192 newdict /Metrics entries dict put
196 1 1 entries {pop def} for
197 newfont newdict definefont pop
202 % A few arrays used to adjust reference points and character widths in some
203 % of the printer resident fonts. If square roots are too high try changing
204 % the lines describing /radical and /radicalex to,
206 % /radical [0 -75 550 0]
207 % /radicalex [-50 -75 500 0]
209 % Move braceleftbt a bit - default PostScript character is off a bit.
213 /bracketlefttp [201 500]
214 /bracketleftbt [201 500]
215 /bracketrighttp [-81 380]
216 /bracketrightbt [-83 380]
217 /braceleftbt [203 490]
218 /bracketrightex [220 -125 500 0]
220 /radicalex [-50 0 500 0]
221 /parenleftex [-20 -170 0 0]
222 /integral [100 -50 500 0]
223 /infinity [10 -75 730 0]
227 /underscore [0 80 500 0]