1 | %! |
---|
2 | %%Title: FAQ on CMT |
---|
3 | %%Creator: html2ps version 1.0 beta1 |
---|
4 | %%EndComments |
---|
5 | save |
---|
6 | 2000 dict begin |
---|
7 | /d {bind def} bind def |
---|
8 | /D {def} d |
---|
9 | /t true D |
---|
10 | /f false D |
---|
11 | /FL [/Times-Roman |
---|
12 | /Times-Italic |
---|
13 | /Times-Bold |
---|
14 | /Times-BoldItalic |
---|
15 | /Courier |
---|
16 | /Courier-Oblique |
---|
17 | /Courier-Bold |
---|
18 | /Courier-BoldOblique |
---|
19 | /Helvetica |
---|
20 | /Helvetica-Oblique |
---|
21 | /Helvetica-Bold |
---|
22 | /Helvetica-BoldOblique] D |
---|
23 | /WF t D |
---|
24 | /WI 0 D |
---|
25 | /F 1 D |
---|
26 | /IW 453 F div D |
---|
27 | /IL 671 F div D |
---|
28 | /PS 842 D |
---|
29 | /EF [0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 2 2] D |
---|
30 | /EZ [11 9 19 17 15 13 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 8 8] D |
---|
31 | /Ey [0 0 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] D |
---|
32 | /EG [-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1] D |
---|
33 | /Tm [1 1 0.8 0.8 0.8 0.8 0.8 0.8 0 0 0 0 0 0 0.5 1 1 1 1 0 0 1.3 0 0] D |
---|
34 | /Bm [1 1 0.5 0.5 0.5 0.5 0.5 0.5 0 0 0 0 0 0 0.5 1 1 1 1 0 0 1 0 0] D |
---|
35 | /Lm [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 0 0 2 0 0 0] D |
---|
36 | /Rm [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0] D |
---|
37 | /EU [-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0] D |
---|
38 | /NO t D |
---|
39 | /YY [[{()}1][{()}0][{()}2]] D |
---|
40 | /ZZ [[{()}1][{()}0][{()}2]] D |
---|
41 | /Ts EZ 0 get D |
---|
42 | /TU f D |
---|
43 | /Xp t D |
---|
44 | /AU t D |
---|
45 | /SN 0 D |
---|
46 | /Cf f D |
---|
47 | /Fe f D |
---|
48 | /TI 1 Ts mul D |
---|
49 | /FE {newpath -14 14 M CP BB 467 14 L 467 -685 L CP BB -14 -685 L closepath} D |
---|
50 | /LA {TU PM 0 eq and{IW 56 F div add SA{Sf div}if 0 translate} |
---|
51 | {71 757 translate F SA{Sf mul}if dup scale |
---|
52 | CS CF FS Cf{CA CL get VC}if /Bb f D}ie 0 0 M TF not Tc or |
---|
53 | {Cf{gsave SA{1 Sf div dup scale}if Cb VC FE fill grestore}if Df{Sd}if}if} D |
---|
54 | /Pi 0 Ts mul D |
---|
55 | /SG [0.8 1 1] D |
---|
56 | /Ab 15 D |
---|
57 | /J 0 D |
---|
58 | /Tc f D |
---|
59 | /NH 6 D |
---|
60 | /Nf f D |
---|
61 | /Pa f D |
---|
62 | /LH 1.2 D |
---|
63 | /XR f D |
---|
64 | /Xr {/pN E D ( [p ) WB pN WB (] )WB} D |
---|
65 | /Db [16#FF 16#FF 16#FF] D |
---|
66 | /Dt [16#00 16#00 16#00] D |
---|
67 | /eA f D |
---|
68 | /Lc t D |
---|
69 | /Dl [16#00 16#00 16#00] D |
---|
70 | /LX f D |
---|
71 | /Br 0.25 D |
---|
72 | /IA ([IMAGE]) D |
---|
73 | /DS {/PF f D()WB NL NP()pop RC ZF} D |
---|
74 | /Gb f D |
---|
75 | /Mb f D |
---|
76 | /Hc [16#00 16#00 16#00] D |
---|
77 | /Bl 3 D |
---|
78 | /MI -15.2 D |
---|
79 | /DX (DRAFT) D |
---|
80 | /Di 0 D |
---|
81 | /FD 2 D |
---|
82 | /Dy 2 D |
---|
83 | /cD [16#F0 16#F0 16#F0] D |
---|
84 | /FW 0.6 D |
---|
85 | /FU [16#00 16#00 16#00] D |
---|
86 | /ET {/RM f D /A0 0 D /PN SN D /OU t D /Ou t D /W IW D /LL W D D1 |
---|
87 | Ms not TP and{Ip}if /TF f D} D |
---|
88 | |
---|
89 | %-- End of variable part -- |
---|
90 | /Cd {aload length 2 idiv dup dict begin {D} repeat currentdict end} D |
---|
91 | /EX {EC cvx exec} D |
---|
92 | /DU {} d |
---|
93 | /BB {pop pop}d |
---|
94 | /ie {ifelse} d |
---|
95 | /E {exch} d |
---|
96 | /M {moveto} d |
---|
97 | /R {rmoveto} d |
---|
98 | /L {lineto} d |
---|
99 | /RL {rlineto} d |
---|
100 | /CP {currentpoint} d |
---|
101 | /SW {stringwidth} d |
---|
102 | /GI {getinterval} d |
---|
103 | /PI {putinterval} d |
---|
104 | /Sg {setgray} d |
---|
105 | /LW {setlinewidth} d |
---|
106 | /S {dup () ne OU and{0 Co R AT 3 eq LB and HF not and A1 0 ne A2 0 ne or and |
---|
107 | {A2 0 32 A1 0 6 -1 roll awidthshow}{show}ie 0 Co neg R}{pop}ie |
---|
108 | OU PH 3 eq or{/Ms t D}if} D |
---|
109 | /U {OU{gsave CP currentfont /FontInfo get /UnderlinePosition get |
---|
110 | 0 E currentfont /FontMatrix get dtransform E pop add newpath M dup SW pop |
---|
111 | CJ 0 RL stroke grestore}if} D |
---|
112 | /B {OU Br 0 gt and{CP Ts neg Ts .33 mul R gsave 0 Sg |
---|
113 | CP newpath Ts Br mul 0 360 arc closepath UI 2 mod 0 eq{stroke}{fill}ie |
---|
114 | grestore M CP E Ts Br 1 add mul sub E BB /Ms t D}if}D |
---|
115 | /NP {Ms TP not or PA and OU and{TP{OR}if f1{mF k2 /mF E D /YC 0 D}if |
---|
116 | TP TU not PM 0 eq or and{showpage}if DU Ip TE not{LA}if 0.6 LW |
---|
117 | /CI 0 D /TP t D /Hs f D /hl 6 D /hL 6 D /HI hi D /Ms f D}if Bs XO BO M} D |
---|
118 | /Np {LE sub CP E pop gt PL 0 eq and{NP}if}D |
---|
119 | /Ip {/PN PN 1 add D /Pn RM{1}{4}ie PN Ns D /PM PN SN sub 2 mod D} D |
---|
120 | /GP {E dup 3 -1 roll get PN 1 add 2 mod get dup type /integertype eq |
---|
121 | {get 0 get}{E pop}ie}d |
---|
122 | /Fc {dup 2 GP exec SW pop /S1 E D dup 1 GP exec SW pop /S2 E D 0 GP exec SW |
---|
123 | pop /S3 E D S1 0 gt{S2 2 mul S1 add S3 2 mul S1 add 2 copy lt{E}if pop}{0}ie |
---|
124 | S2 S3 add 2 copy lt{E}if pop IW .9 mul div dup 1 gt{1 E div}{pop 1}ie}D |
---|
125 | /OR {gsave SA{1 Sf div dup scale}if Fe{Cf{FU VC}if FW LW 1 setlinejoin |
---|
126 | FE stroke}if /YO {60 F div dup 40 gt{pop 40}if}D /cs CS D /cf CF D /CF 0 D |
---|
127 | /pf PF D /PF f D /Fn FN D /At AT D /AT 0 D /FN EF Hf 1 add get D Fz Fs FS ZZ |
---|
128 | Fc Fz mul Fs FS EU Hf 1 add get dup type /arraytype eq Cf and{VC}{pop 0 Sg}ie |
---|
129 | IW IL neg YO sub M ZZ 1 GP exec dup SW pop neg 0 R Sh 0 IL neg YO sub M |
---|
130 | ZZ 0 GP exec Sh ZZ 2 GP exec dup SW pop IW E sub 2 div IL neg YO sub M Sh |
---|
131 | Fz Fs FS NO{/AW IW Pn SW pop sub D AW 2 div IL neg YO sub |
---|
132 | S1 0 gt S2 AW .45 mul gt or S3 AW .45 mul gt or{Fz 2 mul sub}if M Pn Sh}if |
---|
133 | EU Hf get dup type /arraytype eq Cf and{VC}{pop 0 Sg}ie |
---|
134 | YY Fc /FN EF Hf get D Hz mul HS FS IW YO M YY 1 GP exec dup SW pop neg 0 R Sh |
---|
135 | 0 YO M YY 0 GP exec Sh YY 2 GP exec dup SW pop IW E sub 2 div YO M Sh |
---|
136 | /FN Fn D /AT At D t Pb XO SZ SL get neg R /PF pf D grestore /CF 0 D cs cf FS}D |
---|
137 | /Sh {dup () ne{CP Hz 4 div sub BB show CP CS add BB}{pop}ie}D |
---|
138 | /Pb {/OU E D /Ou OU D /PB t D 0 0 M Ba{/Sa save D /BP t D /Fl t D RC /PL 0 D |
---|
139 | /PH 0 D /W IW D /LE IL .7 mul D /EO 0 D SI ZF /YA 0 D /BO 0 D /C1 () D |
---|
140 | BA 0 Ts neg R Bb{Xl Yl Xh Yh}if Bb CP Sa restore M |
---|
141 | {/Yh E D /Xh E D /Yl E D /Xl E D}if /Fl t D}if |
---|
142 | BL /OU t D /HM f D /Ou t D /PB f D} D |
---|
143 | /Bs {/BP Ba not D}D |
---|
144 | /reencodeISO { |
---|
145 | dup dup findfont dup length dict begin{1 index /FID ne{D}{pop pop}ie}forall |
---|
146 | /Encoding ISOLatin1Encoding D currentdict end definefont} D |
---|
147 | /ISOLatin1Encoding [ |
---|
148 | /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef |
---|
149 | /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef |
---|
150 | /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef |
---|
151 | /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef |
---|
152 | /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright |
---|
153 | /parenleft/parenright/asterisk/plus/comma/hyphen/period/slash |
---|
154 | /zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon |
---|
155 | /less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N |
---|
156 | /O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright |
---|
157 | /asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m |
---|
158 | /n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde |
---|
159 | /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef |
---|
160 | /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef |
---|
161 | /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef |
---|
162 | /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef |
---|
163 | /.notdef/space/exclamdown/cent/sterling/currency/yen/brokenbar |
---|
164 | /section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot |
---|
165 | /hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior |
---|
166 | /acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine |
---|
167 | /guillemotright/onequarter/onehalf/threequarters/questiondown |
---|
168 | /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla |
---|
169 | /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex |
---|
170 | /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis |
---|
171 | /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute |
---|
172 | /Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis |
---|
173 | /aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave |
---|
174 | /iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex |
---|
175 | /otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis |
---|
176 | /yacute/thorn/ydieresis |
---|
177 | ] D |
---|
178 | [128/backslash 129/parenleft 130/parenright 141/circumflex 142/tilde |
---|
179 | 143/perthousand 144/dagger 145/daggerdbl 146/Ydieresis 147/scaron 148/Scaron |
---|
180 | 149/oe 150/OE 151/guilsinglleft 152/guilsinglright 153/quotesinglbase |
---|
181 | 154/quotedblbase 155/quotedblleft 156/quotedblright 157/endash 158/emdash |
---|
182 | 159/trademark] |
---|
183 | aload length 2 idiv 1 1 3 -1 roll{pop ISOLatin1Encoding 3 1 roll put}for |
---|
184 | /colorimage where{pop}{ |
---|
185 | /colorimage { |
---|
186 | pop pop /Pr E D {/Cv Pr D /Gr Cv length 3 idiv string D 0 1 Gr length 1 sub |
---|
187 | {Gr E dup /i E 3 mul D Cv i get 0.299 mul Cv i 1 add get 0.587 mul add |
---|
188 | Cv i 2 add get 0.114 mul add cvi put}for Gr} image} D |
---|
189 | }ie |
---|
190 | /pdfmark where{pop}{userdict /pdfmark /cleartomark load put}ie |
---|
191 | WF{FL{reencodeISO D}forall}{4 1 FL length 1 sub{FL E get reencodeISO D}for}ie |
---|
192 | /Symbol dup dup findfont dup length dict begin |
---|
193 | {1 index /FID ne{D}{pop pop}ie}forall /Encoding [Encoding aload pop] |
---|
194 | dup 128 /therefore put D currentdict end definefont D |
---|
195 | |
---|
196 | /SF {/CS E D SZ SL CS put FO SL FN put /YI CS LH neg mul D dup ST cvs ( ) join |
---|
197 | CS ST cvs join C1 E join ( NF ) join /C1 E D CS NF /Wf WF FN 0 gt or D |
---|
198 | /BW Wf{( ) SW pop}{0}ie D}D |
---|
199 | /NF {/cS E D /cF E D cF 0 ge{FL cF get}{/Symbol}ie |
---|
200 | findfont cS scalefont setfont} D |
---|
201 | /FS {CF or /CF E D FR SL CF put CF CF 0 ge{FN 4 mul add}if E SF} D |
---|
202 | /PC {SH /BP f D fin not GL not and{NL}if /HM t D /LL LS D} D |
---|
203 | /BS {/TX E D Wf{/fin f D /CW 0 D /LK 0 D /SC 0 D |
---|
204 | /RT TX D {RT ( ) search{/NW E D pop /RT E D /WH NW SW pop D CW WH add LL gt |
---|
205 | {TX SC LK SC sub 1 sub NN GI GL{SH cF cS OC |
---|
206 | 2 copy cS ne E cF ne or{NF}{pop pop}ie}{PC /CW WH BW add D}ie |
---|
207 | /SC LK D} |
---|
208 | {GL{JC}if |
---|
209 | /CW CW WH add BW add D /HM t D}ie /GL f D /Ph f D |
---|
210 | /LK LK NW length 1 add add D}{pop exit}ie}loop |
---|
211 | /fin t D TX SC LK SC sub GI SH RT () ne{GL not{CC}if}if |
---|
212 | /LC TX length D /WH RT SW pop D CW WH add Hy{HC SW pop add}if LL gt |
---|
213 | {RT GL{SH cF cS OC 2 copy cS ne E cF ne or{NF}{pop pop}ie |
---|
214 | Hy{/Ph t D}if /LL LS D}{NL /LL LS D SH}ie} |
---|
215 | {RT PC Hy{CC}if /Ph Ph Hy or D}ie RT () ne{/GL t D /HM t D}if} |
---|
216 | {TX SW pop LL le{TX SH}{/NW () D 0 2 TX length 1 sub |
---|
217 | {/CW E D TX 0 CW GI dup SW pop LL gt{pop NW SH /HM t D NL/LL W XO sub MR sub D |
---|
218 | /CW CW 2 sub NN D /TX TX CW TX length CW sub GI D TX BS exit} |
---|
219 | {/NW E D}ie}for}ie}ie /HM t D}D |
---|
220 | /CC {C0 length 0 gt{JC}if /C0 [C1 L1 YA YB Mf NS NB TB AF Bw] D |
---|
221 | /C1 () D /L0 L1 D /YA 0 D /YB 0 D /Mf 0 D /NS 0 D /NB 0 D}D |
---|
222 | /JC {C0 aload length 0 gt{pop pop pop NB add /NB E D NS add /NS E D |
---|
223 | dup Mf gt{/Mf E D}{pop}ie dup YB gt{/YB E D}{pop}ie |
---|
224 | dup YA gt{/YA E D}{pop}ie pop C1 join /C1 E D /C0 [] D}if}D |
---|
225 | /OC {C0 length 0 gt{C1 L1 L0 sub YA YB Mf NS NB TB AF Bw GL C0 aload pop |
---|
226 | /Bw E D /AF E D /TB E D /NB E D /NS E D /Mf E D /YB E D /YA E D /C0 [] D |
---|
227 | /L1 E D /C1 E D Ph{HC SH}if NL /GL E D /Bw E D /AF E D /TB E D /NB E D /NS E D |
---|
228 | /Mf E D /YB E D /YA E D /L1 E D /LL W L1 sub XO sub MR sub WH sub D /CW 0 D |
---|
229 | C1 E join /C1 E D}if}D |
---|
230 | /BT {/LB t D dup length string copy RS dup dup () ne E ( ) ne and |
---|
231 | {/CI 0 D /LS LL D /LL W L1 sub XO sub MR sub D BS} |
---|
232 | {dup ( ) eq{/GL f D}if dup () eq L1 0 eq or{pop}{SH /BP f D /Ph f D}ie}ie |
---|
233 | /LB f D} D |
---|
234 | /BL {CP E pop XO E M} D |
---|
235 | /NL {JC /GL f D /SK W XO sub MR sub L1 sub TB{Bw add}if D |
---|
236 | /YA LF{Mf HM Fl not and PF or{LH mul}if}{0 /LF t D}ie YA 2 copy lt{E}if pop D |
---|
237 | C1 () ne{/FB YB Mf SA{Sf mul}if 4 div 2 copy lt{E}if pop D}if Fl{/Ya YA D}if |
---|
238 | CP E pop YA sub YB sub LE neg lt Fl not and PB not and{NP}if NT TL BL |
---|
239 | OU PF not and PB or{/RE L1 TB{Bw sub}if |
---|
240 | W XO sub MR sub div YA YB add LE BO add div 2 copy lt{E}if pop D |
---|
241 | RE 1 gt{BL 1 RE div dup scale}if}if |
---|
242 | AT 2 le{SK AT mul 2 div YA neg R}if |
---|
243 | AT 3 eq{0 YA neg R TB{/NB NB 1 sub D /NS NS 1 sub D}if /NB NB 1 sub NN D |
---|
244 | /A3 NS 6 mul NB add D NS NB add 0 eq |
---|
245 | {/A1 0 D /A2 0 D} |
---|
246 | {NS 0 eq{/A1 SK NB div dup J gt{pop 0}if D /A2 0 D}{J A3 mul SK lt |
---|
247 | {/A1 J D /A2 SK J NB mul sub NS div dup Ab gt{/A1 0 D pop 0}if D} |
---|
248 | {/A1 SK A3 div D /A2 A1 6 mul D}ie}ie}ie /A1 A1 NN D /A2 A2 NN D}if |
---|
249 | AT 4 eq{0 YA neg R PH 2 le{PD 0 lt{/PD L1 D}if PD M1 gt{/M1 PD D}if |
---|
250 | L1 PD sub M2 gt{/M2 L1 PD sub D}if}{DV ID 1 sub get 0 ge{Lo 0 R}if}ie}if |
---|
251 | F0 cF ne Cs cS ne or{F0 Cs NF}if |
---|
252 | /ms Ms D /Ms f D CP FB sub |
---|
253 | C1 cvx exec XO EO sub L1 add TB{BW sub}if dup LM gt{/LM E D}{pop}ie |
---|
254 | PH 0 eq PH 4 eq or Ms and{HF not{/PO t D /AH t D}if |
---|
255 | BB CP YA add E AT 3 eq LB and{A1 sub}if TB{BW sub}if E BB} |
---|
256 | {pop pop}ie Ms HM PH 3 eq and or{/BP f D /Fl f D}if |
---|
257 | /Lo 0 D /L1 0 D /F0 cF D /Cs cS D BP not{0 YB NN neg R}if |
---|
258 | OU f1 and mF not and{k2 /f1 f D}if |
---|
259 | OU PF not and PB or{RE 1 gt{RE dup scale}if}if /Ms ms Ms or D |
---|
260 | /C1 AF{(Cp )}{()}ie D /YA 0 D /YB 0 D BL |
---|
261 | AT 4 eq LB not and PH 3 ge and |
---|
262 | {ID DV length lt{DV ID get dup 0 ge{DO E sub /Lo E D /L1 Lo D}{pop}ie |
---|
263 | /ID ID 1 add D}if}if /T t D CD{/LN LN 1 add D PD}if |
---|
264 | /PD -1 D /NS 0 D /NB 0 D /TB f D /Ph f D /Mf 0 D /HM f D} D |
---|
265 | /RS {/TM E D /CN 0 D TM{10 eq{TM CN ( ) PI}if /CN CN 1 add D}forall |
---|
266 | /CN 0 D /BK HM EN and{0}{1}ie D TM |
---|
267 | {dup 32 ne{TM CN 3 2 roll put /CN CN 1 add D /BK 0 D} |
---|
268 | {pop BK 0 eq{TM CN 32 put /CN CN 1 add D}if /BK 1 D}ie}forall |
---|
269 | TM 0 CN GI dup dup () ne E ( ) ne and |
---|
270 | {dup CN 1 sub get 32 eq{/EN f D}{/EN t D}ie}if} D |
---|
271 | /join {2 copy length E length add string dup 4 2 roll 2 index 0 3 index |
---|
272 | PI E length E PI}d |
---|
273 | /WR {(\n) search{dup () ne BP not or |
---|
274 | {Li 4 le CP E pop YI Li mul add LE add 0 lt and PL 0 eq and{NP}if |
---|
275 | SH NL pop /Li Li 1 sub D WR}{pop pop WR}ie}{SH}ie /CI 0 D /BP f D} D |
---|
276 | /SH {dup dup () ne E ( ) ne and PF or CS Mf gt and{/Mf CS D}if |
---|
277 | T not Wf and{( ) E join /T t D}if dup BP{/MF CS D}if |
---|
278 | AT 3 eq{2 copy length dup 0 gt{/NB E NB add D |
---|
279 | {( ) search{/NS NS 1 add D pop pop}{pop exit}ie}loop}{pop pop}ie}if |
---|
280 | CD PD 0 lt and{dup DC search{SW pop /PD E L1 add D pop pop}{pop}ie}if |
---|
281 | 0 Np dup SW pop L1 add /L1 E D dup () ne |
---|
282 | {C1 (\() join E join (\)) join AU AF and UF or Wf and{( U ) join}if |
---|
283 | sF{( s ) join}if ( S ) join |
---|
284 | /C1 E D dup length 1 sub get 32 eq /TB E D /Bw BW D}{pop pop}ie} D |
---|
285 | /BG {AI LG BC add add 0 eq} D |
---|
286 | /ON {OU{Ty AR AI NN get dup 1 add Ln Ns Ty 2 mod 0 eq{(. )}{(\) )}ie join |
---|
287 | dup SW pop neg 0 R CP E 0 lt{0 E M}{pop}ie CP BB show /Ms t D}if} D |
---|
288 | /Ln {AR AI 3 -1 roll put}D |
---|
289 | /SP {dup CI lt BP not and{dup CI sub 0 E R /CI E D}{pop}ie} D |
---|
290 | /BN {PF{WR /HM f D}{BT NL}ie} D |
---|
291 | /NN {dup 0 lt{pop 0}if} D |
---|
292 | /h {HI 0 gt{(h) HI ST cvs join cvx exec dup 1 get E |
---|
293 | Nf{0 get E join}{pop}ie}{()}ie} D |
---|
294 | /H {/fn FN D /Hi E 1 add D 1 sub /HL E D /H2 HL 2 add D /GS EZ H2 get D |
---|
295 | E Tm H2 get GS mul BE dup 0 gt{1 sub}{pop EG H2 get dup 0 lt{pop AT}if}ie NA |
---|
296 | WW Np /SL SL 1 add D /FN EF H2 get D GS Ey H2 get FS |
---|
297 | EU H2 get Sc Hs not HL Hl lt and Hs HL hl lt and or Hi 0 eq or |
---|
298 | {/HI Hi D /Hs t D /hl HL D /hL HL D}if HL Hl lt{/hi Hi D}if |
---|
299 | Nf HI 0 gt and{(h) Hi ST cvs join cvx exec 0 get WB}if |
---|
300 | /HF t D /AH f D /PO f D} D |
---|
301 | /EH {Bm H2 get GS mul BE OA /SL SL 1 sub NN D /CF 0 D /FN fn D |
---|
302 | SZ SL get FR SL get FS /HF f D /GS Ts D ()Ec} D |
---|
303 | /P {E PF{WR}{PO{EP}{BN}ie Ts 4 mul Np AE not{Tm 0 get Ts mul neg SP}if |
---|
304 | dup 0 ge AH and{Pi Pd}if}ie 1 sub dup 0 lt{pop AV AL get}if /AT E D /PO t D} D |
---|
305 | /EP {PF{WR}{BN Ts 4 mul Np}ie AE not{Bm 0 get Ts mul neg SP}if |
---|
306 | /AT AV AL get D /PO f D} D |
---|
307 | /BE {E PO{EP}{BN}ie Ts 4 mul Np neg SP} D |
---|
308 | /HR {/Aw W EO sub D /RW E dup 0 gt{Aw mul}{neg}ie dup Aw gt{pop Aw}if D /RZ E D |
---|
309 | E BN Ts neg SP 1 sub 2 div Aw RW sub mul EO add CP E pop M PF{0 Ps neg R}if |
---|
310 | 0 Np OU{gsave RZ LW Cf{Hc VC}{0 Sg}ie CP BB RW 0 RL CP BB stroke grestore}if |
---|
311 | /CI 0 D /BP f D PF not{Ts neg SP}if /Ms t D} D |
---|
312 | /AD {I NL EG 14 get dup 0 lt{pop AT}if NA /AE t D Tm 14 get Ts mul neg SP |
---|
313 | Cf{EU 14 get dup -1 eq{pop CA CL get}if Sc}if} D |
---|
314 | /DA {BN ()ES OA /AE f D ()Ec Bm 14 get Ts mul neg SP} D |
---|
315 | /PR {/MW E D /Li E D Tm 1 get Ps mul BE 0 NA /FN Fp D /PF t D SI /SL SL 1 add D |
---|
316 | /CF 0 D Ps CS mul Ts div MW WC mul CS mul Ts div dup LL gt PL 0 eq and |
---|
317 | {LL div div}{pop}ie Ey 1 get FS CP E pop LE add YI neg div cvi dup Li lt |
---|
318 | AH and{4 lt YI Li mul 5 mul LE add 0 gt or PL 0 eq and{NP}if}{pop}ie |
---|
319 | EU 1 get Sc /GS Ps D}D |
---|
320 | /RP {WR NL () /PF f D SI /FN 0 D ES Bm 1 get Ps mul neg SP OA /GS Ts D} D |
---|
321 | /SI {/XO Lm 15 get BC NN mul Lm 16 get AI UI sub NN mul add |
---|
322 | Lm 17 get UI NN mul add Lm 20 get LG NN mul add Ts mul |
---|
323 | PF{Lm 1 get Ps mul add}if EO add D |
---|
324 | /MR Rm 15 get BC NN mul Rm 16 get AI UI sub NN mul add |
---|
325 | Rm 17 get UI NN mul add Rm 20 get LG NN mul add Ts mul |
---|
326 | PF{Rm 1 get Ps mul add}if D /LL W XO sub MR sub D} D |
---|
327 | /DT {BN /LG LG 1 sub D SI /LG LG 1 add D WW 2 div Np BL} D |
---|
328 | /DD {WB Cc 0 eq L1 0 eq or Lm 20 get Ts mul L1 sub TB{BW add}if Ts 2 div lt or |
---|
329 | NL /LF E D SI BL} D |
---|
330 | /DL {Dc LG Cc put /Cc E D BG{Tm 18 get Ts mul BE}{BN}ie /LG LG 1 add D BL} D |
---|
331 | /LD {BN LG 0 gt{/LG LG 1 sub D}if /Cc Dc LG get D SI |
---|
332 | BG{()Bm 18 get Ts mul BE}if BL} D |
---|
333 | /UL {BG{Tm 17 get Ts mul BE}{BN}ie NR AI NN 0 put /UI UI 1 add D |
---|
334 | /AI AI 1 add D SI BL} D |
---|
335 | /LU {BN /UI UI 1 sub D /AI AI 1 sub D SI BG{()Bm 17 get Ts mul BE}if BL} D |
---|
336 | /OL {E BG{Tm 16 get Ts mul BE}{BN}ie TR AI NN Ty put /Ty E D NR AI NN 1 put |
---|
337 | /AI AI 1 add D SI BL 1 Ln} D |
---|
338 | /LO {BN /AI AI 1 sub D /Ty TR AI get D SI BG{()Bm 16 get Ts mul BE}if BL} D |
---|
339 | /LI {E BN -1 SP /BP f D /CI 0 D 0 Np NR AI 1 sub NN get 1 eq |
---|
340 | {dup dup 0 gt E 4 le and{/Ty E D}{pop}ie |
---|
341 | /L1 L1 Ty AR AI NN get Ns SW pop XO sub dup 0 lt{pop 0}if add D ( ON )} |
---|
342 | {pop ( B )}ie C1 E join /C1 E D CS Mf gt{/Mf CS D}if BL} D |
---|
343 | /BQ {Tm 15 get Ts mul BE /BC BC 1 add D SI BL} D |
---|
344 | /QB {Bm 15 get Ts mul BE /BC BC 1 sub D SI BL} D |
---|
345 | /Al {E EP 1 sub dup 0 lt{pop AV AL get}if NA} D |
---|
346 | /Ea {EP OA} D |
---|
347 | /WB {PF{WR}{BT}ie} D |
---|
348 | /F1 {WB /FN 0 D CS 0 FS} D |
---|
349 | /F2 {WB /FN WI D CS 0 FS} D |
---|
350 | /HY {/Hy t D WB /Hy f D} D |
---|
351 | /YH {WB} D |
---|
352 | /A {/LT E D LT 1 eq{/RN E D}if /Lh E D WB /AF t D /C1 C1 ( Cp ) join D |
---|
353 | Lc{Cl Sc}if} D |
---|
354 | /EA {Lc AF and{Ec}{WB}ie TL Pa AF and Lh 0 ne and |
---|
355 | {( \() Lh join (\)) join /AF f D WB}if /AF f D} D |
---|
356 | /TL {C1 ( Tl ) apa /C1 E D} d |
---|
357 | /apa {AF OU and Lh 0 ne LT 1 eq or and{LT 1 eq{RN ( /) E ST cvs join} |
---|
358 | {(\() Lh join (\)) join}ie E join join}{pop}ie} d |
---|
359 | /Cp {/Xc CP /Yc E D D} D |
---|
360 | /SS {Cf{dup 0 ge{EU E get dup -1 eq{pop CA CL get}if}{pop CA CL get}ie Sc} |
---|
361 | {pop}ie SZ SL get /SL SL 1 add D} D |
---|
362 | /I {WB 8 SS 1 FS} D |
---|
363 | /EM {WB 8 SS /CF CF 1 xor D 0 FS} D |
---|
364 | /BD {WB 9 SS 2 FS} D |
---|
365 | /TT {WB 10 SS /FN Fp D 0 FS} D |
---|
366 | /KB {WB 11 SS /FN Fp D 2 FS} D |
---|
367 | /CT {WB 12 SS 1 FS} D |
---|
368 | /SM {WB 13 SS /FN Fp D 0 FS} D |
---|
369 | /Q {/QL QL 1 add D QO QL 2 mod get La get join WB} D |
---|
370 | /EQ {QC QL 2 mod get La get join WB /QL QL 1 sub D} D |
---|
371 | /RO {WB -1 SS /CF 0 D 0 FS} D |
---|
372 | /SY {WB -1 SS -1 FS} D |
---|
373 | /ES {WB /SL SL 1 sub NN D /CF 0 D /FN FO SL get D SZ SL get FR SL get FS ()Ec}D |
---|
374 | /FZ {3 sub 1.2 E exp GS mul E WB TL /C1 C1 ( Cp ) join D /SL SL 1 add D 0 FS} D |
---|
375 | /Ef {WB TL ()ES /C1 C1 ( Cp ) join D} D |
---|
376 | /BZ {dup /Bf E D FZ}D |
---|
377 | /Sc {dup -1 ne Cf and{/CL CL 1 add D dup 0 eq{pop [0 0 0]}if |
---|
378 | dup CA E CL E put VS ( VC ) join C1 E join /C1 E D}{pop}ie} D |
---|
379 | /Ec {WB Cf{/CL CL 1 sub NN D CA CL get VS ( VC ) join C1 E join /C1 E D}if} D |
---|
380 | /VS {dup type /arraytype eq{([) E {ST cvs join ( ) join}forall (]) join}if} D |
---|
381 | /VC {{255 div}forall setrgbcolor} D |
---|
382 | /Sl {dup type /integertype ne{Ds}if /La E D WB}d |
---|
383 | /UN {WB /UF t D} D |
---|
384 | /NU {WB /UF f D} D |
---|
385 | /SE {WB /sF t D} D |
---|
386 | /XE {WB /sF f D} D |
---|
387 | /sM {/C1 C1 ( k1 ) join D}d |
---|
388 | /eM {/C1 C1 ( k2 ) join D}d |
---|
389 | /k1 {/YC CP E pop Ts add D /mF t D /f1 t D}d |
---|
390 | /k2 {gsave 3 LW -9 CP E pop Ts 0.2 mul sub M -9 YC L stroke grestore /mF f D}d |
---|
391 | /Ac {/AC E D WB}d |
---|
392 | /Ca {eA{( \()join AC join(\) )join}if WB}d |
---|
393 | /s {OU{gsave 0 CS .25 mul R dup SW pop CJ 0 RL stroke grestore}if}D |
---|
394 | /CJ {AT 3 eq LB and{E dup dup length 1 sub A1 mul E |
---|
395 | {( ) search{pop pop E A2 add E}{pop exit}ie}loop 3 -1 roll add |
---|
396 | W CP pop sub 2 copy gt{E}if pop}if}D |
---|
397 | /So {/Co E D} D |
---|
398 | /SO {C1 Yo ST cvs join ( So ) join /C1 E D (j) SW pop 2 div Pd} D |
---|
399 | /Se {E WB CS E div Pd}D |
---|
400 | /Pd {dup type /stringtype eq{SW pop}if dup /L1 E L1 add D |
---|
401 | ST cvs ( 0 R ) join C1 E join /C1 E D} D |
---|
402 | /Sp {0.35 CO} D |
---|
403 | /Sb {-0.2 CO} D |
---|
404 | /CO {OV Io Yo put /Yo E CS mul Yo add D /Io Io 1 add D -1.5 Io mul 3 add FZ SO |
---|
405 | CS Yo add dup YA gt{/YA E D}{pop}ie |
---|
406 | Yo neg dup YB gt{/YB E D}{pop}ie} D |
---|
407 | /Es {ES /Io Io 1 sub NN D /Yo OV Io get D SO} D |
---|
408 | /SB {/N2 0 D 0 1 NI{/N E D{IX N2 get 0 lt{/N2 N2 1 add D}{exit}ie}loop |
---|
409 | /K WS N get FC N get mul D /NY AY N2 get D /BV NY array D |
---|
410 | 0 1 NY 1 sub{/TM K string D currentfile TM readhexstring pop pop BV E TM put} |
---|
411 | for BM N BV put /N2 N2 1 add D}for} D |
---|
412 | /IC [{/MA E D /MB 0 D}{2 div /MA E D /MB MA D}{/MB E CS sub D /MA CS D} |
---|
413 | {pop /MA YS AB mul D /MB 1 AB sub YS mul D}{pop /MA 0 D /MB 0 D}] D |
---|
414 | /IP {BV N get /N N 1 add D} D |
---|
415 | /II {/K E D IX K get 0 lt{/EC E D}if /TY E D |
---|
416 | TY 4 eq{/Y E D /X E D}if TY 3 eq{/AB E D}if |
---|
417 | /XW AX K get D /YW AY K get D /IS SG IT K get get D /XS XW IS mul D |
---|
418 | /YS YW IS mul D YS IC TY get exec /MA MA Fl not{3 add}if D} D |
---|
419 | /IM {II /ty TY D /xs XS D /ys YS D /ya YA D /yb YB D /ma MA D /mb MB D /k K D |
---|
420 | /ec EC D /BP f D /CI 0 D WB TL L1 xs add dup XO add MR add W gt |
---|
421 | {pop /ma ma Fl{3 add}if D NL /YA ma D /YB mb D /YS ys D /L1 xs D} |
---|
422 | {/L1 E D ma YA gt{/YA ma D}if mb YB gt{/YB mb D}if}ie /TB f D |
---|
423 | OU{CP E pop YS sub LE neg lt Fl not and PB not and{NP /YA ma D /YB mb D}if |
---|
424 | /BP f D ty ST cvs ( ) join IX k get 0 lt{(\() join ec join (\) ) join}if |
---|
425 | k ST cvs join ty 3 eq{AB ST cvs ( ) join E join}if |
---|
426 | ty 4 eq{X ST cvs ( ) join Y ST cvs join ( ) join E join}if C1 E join |
---|
427 | ( DI ) join FP 2 eq FP 1 eq AF and or{( FM ) join}if |
---|
428 | ( Il Cp ) apa /C1 E D /EN f D}if /HM t D /T f D} D |
---|
429 | /DI {II /Xc CP /Yc E D D /YN YW neg D /HM t D /CI 0 D /K2 IX K get D gsave |
---|
430 | TY 4 eq{OX X IS mul add OY FY add YS sub Y IS mul sub} |
---|
431 | {/FY YS D CP MB sub 2 copy /OY E D /OX E D}ie |
---|
432 | translate K2 0 ge{/DP AZ K2 get D /BV BM K2 get D XS YS scale /N 0 D XW YW DP |
---|
433 | [XW 0 0 YN 0 YW] {IP} FC K2 get 1 eq{image}{f 3 colorimage}ie} |
---|
434 | {EX}ie grestore XS 0 R /Ms t D} D |
---|
435 | /FM {gsave 0 Sg CP MB sub translate XS neg 0 M 0 YS RL XS 0 RL 0 YS neg RL |
---|
436 | XS neg 0 RL stroke grestore} D |
---|
437 | /NA {/AT E D /AL AL 1 add D AV AL AT put} D |
---|
438 | /OA {AL 0 gt{/AL AL 1 sub D /AT AV AL get D}if} D |
---|
439 | /D1 {/BR {CP E pop E BN Mb{CP E pop eq{0 YI R}if}{pop}ie} D |
---|
440 | /Sn {OU{C1 E ST cvs join ( Ld ) join /C1 E D}{pop}ie} D} D |
---|
441 | /D1 {/BR {BN} D /Sn {OU {C1 E ST cvs join ( Ld ) join /C1 E D} {pop} ie} D} D |
---|
442 | /TC {/TF t D /ML 0 D HN{SW pop dup ML gt{/ML E D}{pop}ie}forall NP /RM RM not D |
---|
443 | RC /OU Tc D Ep /PN 0 D Ms not TP and{Ip}if /W IW ML sub Ts sub D |
---|
444 | /A0 0 D TH{/BR {( ) join BT} D /Sn {pop} D /Ti () D /Au () D}if} D |
---|
445 | /TN {0 eq{E EA PF HF or not XR and{HN E get Xr}{pop}ie} |
---|
446 | {OU{Tn 0 ge{() BN}if /Tn E D}{pop}ie WB}ie} D |
---|
447 | /NT {OU LB not and Tn 0 ge and{PL 0 eq{Ms not{CS CF FS}if CP dup |
---|
448 | /y E YA sub D W 9 sub CS -1.8 mul XO L1 add 2 add{y M (.) show}for |
---|
449 | HN Tn get dup SW pop IW E sub y M show CP BB M}if /Tn -1 D}if} D |
---|
450 | /Ld {/DN E D HN DN Pn put [/View [/XYZ -4 Fl{PS}{CP YA add US E pop}ie null] |
---|
451 | /Dest DN ST cvs cvn /DEST pdfmark} D |
---|
452 | /C {ND 1 eq{1 sub}if TI mul /XO E D NL Nf not{pop()}if 0 3 -1 roll 1 A} D |
---|
453 | /OP {BP not{NP}if PN 2 mod 0 eq{NP}if}D |
---|
454 | /Ep {Xp PN 2 mod 0 eq and{/Pn (-) D showpage /PM 1 D LA}if}D |
---|
455 | /Dg [73 86 88 76 67 68 77] D |
---|
456 | /Rd [0 [1 1 0][2 1 0][3 1 0][2 1 1][1 1 1][2 2 1][3 3 1][4 4 1][2 1 2]] D |
---|
457 | /Ns {/m E D /c E 32 mul D /j m 1000 idiv D /p j 12 add string D |
---|
458 | c 96 le m 0 gt and{c 32 le {/i 0 D /d 77 D /l 100 D /m m j 1000 mul sub D |
---|
459 | j -1 1 {pop p i d c add put /i i 1 add D}for |
---|
460 | 4 -2 0 {/j E D /n m l idiv D /m m n l mul sub D /d Dg j get D |
---|
461 | n 0 gt {/x Rd n get D x 0 get -1 1 {pop p i d c add put /i i 1 add D}for |
---|
462 | p i x 1 get sub Dg x 2 get j add get c add put}if /l l 10 idiv D |
---|
463 | }for p 0 i GI} |
---|
464 | {/i ST length 1 sub D m {1 sub dup 0 ge{dup 26 mod c add 1 add |
---|
465 | ST i 3 -1 roll put 26 idiv dup 0 eq{pop exit}if}if /i i 1 sub D}loop |
---|
466 | ST i ST length i sub GI}ie} |
---|
467 | {m p cvs}ie} D |
---|
468 | /US {matrix currentmatrix matrix defaultmatrix matrix invertmatrix |
---|
469 | matrix concatmatrix transform} D |
---|
470 | /GB {Gb{US}if}D |
---|
471 | /Tl {/Rn E D Xc CP pop ne{ |
---|
472 | [/Rect [Xc 1 sub Yc cS 0.25 mul sub GB CP E 1 add E cS 0.85 mul add GB] |
---|
473 | /Subtype /Link /Border [0 0 Cf Lc and LX and AU or{0}{1}ie] Rn type |
---|
474 | /nametype eq {/Dest Rn}{/Action [/Subtype /URI /URI Rn] Cd}ie |
---|
475 | /ANN pdfmark}if} D |
---|
476 | /Il {/Rn E D [/Rect [Xc Yc GB Xc XS add Yc YS add GB] /Subtype /Link |
---|
477 | /Border [0 0 0] Rn type /nametype eq{/Dest Rn} |
---|
478 | {/Action [/Subtype /URI /URI Rn] Cd}ie /ANN pdfmark} D |
---|
479 | /XP {[{/Z Bz 2 div D Z 0 R Z Z RL Z neg Z RL Z neg Z neg RL Z Z neg RL} |
---|
480 | {Bz 0 RL 0 Bz RL Bz neg 0 RL 0 Bz neg RL} |
---|
481 | {0 -5 R Bz 0 RL 0 21 RL Bz neg 0 RL 0 -21 RL}]} D |
---|
482 | /MS {/Sm E D WB}D |
---|
483 | /O {BN()Sm BX} D |
---|
484 | /BX {/Bt E D Bt 2 lt{CS 0.8 mul}{11 mul}ie W XO sub MR sub 2 copy gt{E}if pop |
---|
485 | /HZ E D WB Bt 2 eq{HZ ST cvs ( ) join}{()}ie |
---|
486 | Bt ST cvs join ( Bx ) join HM{( ) Pd}if |
---|
487 | L1 HZ add XO add MR add W gt{NL}if C1 E join /C1 E D /L1 L1 HZ add D /T f D |
---|
488 | ( ) WB Bt 2 lt{YA CS .8 mul lt{/YA CS .8 mul D}if} |
---|
489 | {YB 5 lt{/YB 5 D}if YA 21 lt{/YA 21 D}if}ie /CI 0 D} D |
---|
490 | /Bx {dup 2 eq{E /Bz E D}{/Bz CS .8 mul D}ie |
---|
491 | OU {gsave 0 Sg XP E get exec stroke grestore}{pop}ie Bz 0 R /Ms t D} D |
---|
492 | /SD {FD 4 mul Dy add DZ NF newpath 0 0 M DX t charpath pathbbox |
---|
493 | 3 -1 roll sub /DY E D E dup /X1 E D sub WM mul WX DY mul add WM DG mul E div |
---|
494 | /DF E D /DR WX DF mul DY mul WM div 2 div D} d |
---|
495 | /Sd {gsave 0 IL Di mul neg translate IL IW atan Di 0 eq{neg}if rotate |
---|
496 | FD 4 mul Dy add DZ NF DR X1 sub DY 2 div neg M cD VC DX show grestore} d |
---|
497 | /RC {/AI 0 D /LG 0 D /BC 0 D /UI 0 D /PF f D /Cc 0 D /Dc 10 array D |
---|
498 | /NR [0 1 9{pop 0}for] D /La Ds D /AR 10 array D /TR 10 array D /AV 30 array D |
---|
499 | SI /AL -1 D /AT A0 D AT NA /OV 9 array D /Yo 0 D /Co 0 D /Io 0 D /Hy f D |
---|
500 | /Ph f D /CL -1 D Ct Sc}D |
---|
501 | /ZF {/FR [0 1 30{pop 0}for] D /SZ [0 1 30{pop 0}for] D /FO [0 1 30{pop 0}for] D |
---|
502 | /SL 0 D /CF 0 D /FN 0 D 0 Ts SF}D |
---|
503 | /QO [[(\253)(\232)(\234)(\253\240)(\233)(\273)][(\253)(\231)(')(\253\240)(`)(\273)]] D |
---|
504 | /QC [[(\273)(\233)(\234)(\240\273)(\234)(\253)][(\273)(`)(')(\240\273)(')(\253)]] D |
---|
505 | /Hf EF length 2 sub D |
---|
506 | /Hz EZ Hf get D |
---|
507 | /HS Ey Hf get D |
---|
508 | /Fz EZ Hf 1 add get D |
---|
509 | /Fs Ey Hf 1 add get D |
---|
510 | /LE IL D |
---|
511 | /Ps EZ 1 get D |
---|
512 | /Fp EF 1 get D |
---|
513 | /XO 0 D |
---|
514 | /YI 0 D |
---|
515 | /CI 0 D |
---|
516 | /FP 0 D |
---|
517 | /WW Ts 7 mul D |
---|
518 | /Mf 0 D |
---|
519 | /YA 0 D |
---|
520 | /YB 0 D |
---|
521 | /Cs Ts D |
---|
522 | /GS Ts D |
---|
523 | /F0 0 D |
---|
524 | /NS 0 D |
---|
525 | /NB 0 D |
---|
526 | /N 0 D |
---|
527 | /C0 [] D |
---|
528 | /C1 () D |
---|
529 | /Lo 0 D |
---|
530 | /L1 0 D |
---|
531 | /LM 0 D |
---|
532 | /PH 0 D |
---|
533 | /EC 0 D |
---|
534 | /Lh 0 D |
---|
535 | /LT 0 D |
---|
536 | /CH 1 string D |
---|
537 | /ST 16 string D |
---|
538 | /CA 9 array D |
---|
539 | /HC (\255) D |
---|
540 | /HM f D |
---|
541 | /PF f D |
---|
542 | /EN f D |
---|
543 | /TB f D |
---|
544 | /UF f D |
---|
545 | /sF f D |
---|
546 | /AE f D |
---|
547 | /AF f D |
---|
548 | /BP t D |
---|
549 | /CD f D |
---|
550 | /PA t D |
---|
551 | /GL f D |
---|
552 | /T t D |
---|
553 | /HF f D |
---|
554 | /AH f D |
---|
555 | /SA f D |
---|
556 | /PB f D |
---|
557 | /f1 f D |
---|
558 | /mF f D |
---|
559 | /OX 0 D |
---|
560 | /OY 0 D |
---|
561 | /FY 0 D |
---|
562 | /EO 0 D |
---|
563 | /FB 0 D |
---|
564 | /PL 0 D |
---|
565 | /Bw 0 D |
---|
566 | /PD -1 D |
---|
567 | /TP f D |
---|
568 | /TH t D |
---|
569 | /Ty 4 D |
---|
570 | /Tn -1 D |
---|
571 | /Fl t D |
---|
572 | /LB t D |
---|
573 | /PM 1 D |
---|
574 | /Ms f D |
---|
575 | /Ba f D |
---|
576 | /Bb f D |
---|
577 | /Hl 3 D |
---|
578 | /hl 6 D |
---|
579 | /hL 6 D |
---|
580 | /Hs f D |
---|
581 | /HI 0 D |
---|
582 | /hi 0 D |
---|
583 | /PO t D |
---|
584 | /TE f D |
---|
585 | /LF t D |
---|
586 | /BO 0 D |
---|
587 | /Sm 1 D |
---|
588 | /Bf 3 D |
---|
589 | /A1 0 D |
---|
590 | /A2 0 D |
---|
591 | /Ds 4 D |
---|
592 | /QL -1 D |
---|
593 | /Cb Db D |
---|
594 | /Ct Dt D |
---|
595 | /Cl Dl D |
---|
596 | [/Creator (html2ps version 1.0 beta1) /Author () /Keywords () /Subject () |
---|
597 | /Title (FAQ on CMT) /DOCINFO pdfmark |
---|
598 | /ND 1 D |
---|
599 | /HN [1 1 7{pop (??)}for] D |
---|
600 | /h1 [(1\240\240)(FAQ on CMT)] D |
---|
601 | /h2 [(2\240\240)(Index)] D |
---|
602 | /h3 [(3\240\240)(Providing sourceless documents)] D |
---|
603 | /h4 [(4\240\240)(Accessing packages in a sub-directory)] D |
---|
604 | /Hr [3 4 5 6]D |
---|
605 | /HV [1 1 1 1]D |
---|
606 | /Cn [0 0 0 0]D |
---|
607 | Hr length 0 gt{[/PageMode /UseOutlines /DOCVIEW pdfmark}if |
---|
608 | /Hn 1 D |
---|
609 | 0 1 Hr length 1 sub{ |
---|
610 | /Bn E D [Cn Bn get dup 0 gt{/Count E HV Bn get Bl ge{neg}if}{pop}ie |
---|
611 | /Dest Hr Bn get dup abs ST cvs cvn E 0 ge{(h)Hn ST cvs join cvx exec dup 1 get |
---|
612 | E Nf{0 get E join}{pop}ie /Hn Hn 1 add D}{()}ie /Title E /OUT pdfmark}for |
---|
613 | ZF /FN Fp D Ps 0 FS /WC Wf{( )}{<A1A1>}ie SW pop D |
---|
614 | ET RC ZF |
---|
615 | /Df f D |
---|
616 | |
---|
617 | /Cb Db D /Ct [16#00 16#00 16#00] D /Cl [16#00 16#00 16#00] D /CL -1 D Ct Sc |
---|
618 | |
---|
619 | /Ba f D /BO 0 D Bs |
---|
620 | /UR (../doc/CMTFAQ.html) D |
---|
621 | /Ti (FAQ on CMT) D |
---|
622 | /Au () D |
---|
623 | /Df f D |
---|
624 | |
---|
625 | |
---|
626 | NP RC ZF |
---|
627 | ()4 Sl()WB 0 Sn( |
---|
628 | |
---|
629 | )2 Al()0 1 0 H(FAQ)WB 3 Sn( on CMT)EH()Ea( |
---|
630 | )0 1 1 H(Index)WB 4 Sn()EH( |
---|
631 | |
---|
632 | )4 OL( )-1 LI()0 1 1 A(Providing sourceless documents)1 0 TN TL()Ec /AF f D( |
---|
633 | )-1 LI()0 2 1 A(Accessing packages in a sub-directory)2 0 TN TL()Ec /AF f D( |
---|
634 | )LO( |
---|
635 | |
---|
636 | )2 1 1 HR( )0 1 2 H(Providing)WB 5 Sn()WB 1 Sn( sourceless documents)EH( |
---|
637 | |
---|
638 | )BQ( )I( I'm always trying to use CMT together with java and I now have |
---|
639 | problems with the documentation. |
---|
640 | |
---|
641 | )0 P( What I'd like to do is just generating automatically my |
---|
642 | documentation using javadoc. Since it is not done in cmt, I tried to |
---|
643 | write a new fragment to define a new document type : javadoc. |
---|
644 | |
---|
645 | )0 P(The problem is that the process of generating the doc is not a |
---|
646 | file to file process : it does not take a .java file to write a |
---|
647 | .html. It takes a java package name \201which has no associated file\202 |
---|
648 | and returns many files. This is not possible with the current |
---|
649 | implementation of document. It seems that adding this feature would |
---|
650 | lead to write some code into cmt_generator. |
---|
651 | |
---|
652 | )0 P(Does anyone see another method to generate my documentation ? |
---|
653 | |
---|
654 | )0 P(Sebastien |
---|
655 | )ES( |
---|
656 | )QB( |
---|
657 | |
---|
658 | )0 P(In fact what you ask for is already available in CMT, it is |
---|
659 | documented \201although likely crypticly ;-\202 \202 as follows : |
---|
660 | |
---|
661 | )0 P(Since your "document generator" does not make use of any source |
---|
662 | file per se, it's likely that you will provide as the fragments the |
---|
663 | following files \201I use as an example the name "javadoc" for your |
---|
664 | document type\202: |
---|
665 | |
---|
666 | )WB [16#77 16#00 16#77] Sc()3 FZ( |
---|
667 | )BD( |
---|
668 | ) 5 44 PR(... |
---|
669 | make_fragment javadoc_header |
---|
670 | make_fragment javadoc -header=javadoc_header |
---|
671 | ... |
---|
672 | )RP( |
---|
673 | )ES( |
---|
674 | )Ef()Ec( |
---|
675 | |
---|
676 | )0 P( where javadoc is simply ... empty. |
---|
677 | |
---|
678 | )0 P(I remind you that here : |
---|
679 | |
---|
680 | )UL( )-1 LI( javadoc_header will be instanciated once per document |
---|
681 | )-1 LI( javadoc will be instanciated once per source file \201thus never if |
---|
682 | no source file is specified\202 |
---|
683 | )LU( |
---|
684 | |
---|
685 | )0 P(Then a document associated with the javadoc type could be specified |
---|
686 | as follows, using the )I(unusual)ES( feature I mentioned above |
---|
687 | |
---|
688 | )WB [16#77 16#00 16#77] Sc()3 FZ( |
---|
689 | )BD( |
---|
690 | ) 2 44 PR(document javadoc MyDoc JAVAPACKAGE=MyPackage |
---|
691 | )RP( |
---|
692 | )ES( |
---|
693 | )Ef()Ec( |
---|
694 | |
---|
695 | )0 P(Here the syntax )BD(JAVAPACKAGE=MyPackage)ES( corresponds to |
---|
696 | providing user-defined templates in the document's fragments |
---|
697 | |
---|
698 | \201see the general )0 2 A(syntax)EA(\202 |
---|
699 | |
---|
700 | every variable name should then correspond within the fragment to |
---|
701 | constructs like \201appearing anywhere in the fragment\202 |
---|
702 | |
---|
703 | )WB [16#77 16#00 16#77] Sc()3 FZ( |
---|
704 | )BD( |
---|
705 | ) 4 22 PR(... |
---|
706 | ... ${JAVAPACKAGE} ... |
---|
707 | ... |
---|
708 | )RP( |
---|
709 | )ES( |
---|
710 | )Ef()Ec( |
---|
711 | |
---|
712 | )BQ( )I( \201please note the )BD(${..})ES( syntax with required braces around the |
---|
713 | variable name\202 |
---|
714 | )ES( |
---|
715 | )QB( |
---|
716 | |
---|
717 | )0 P(You have probably already understood that CMT provides internal |
---|
718 | predefined similar )0 2 A(variable names)EA( |
---|
719 | |
---|
720 | )0 P(the typical example being )BD(CONSTITUENT)ES( which is replaced by the |
---|
721 | constituent name when the fragment is instanciated. |
---|
722 | |
---|
723 | )0 P(What I'm talking about here consists in adding any number of |
---|
724 | user-defined variables which value will be specified on the )BD(document)ES( |
---|
725 | statement line using any number of )BD(<variable-name>=<value>)ES( constructs. |
---|
726 | |
---|
727 | )0 P(You will notice that the all-uppercase convention has been selected |
---|
728 | for CMT-internal variables \201eg. )BD(CONSTITUENT)ES(\202. This is why I have used |
---|
729 | this convention for this example. This is only a convention, any form |
---|
730 | is possible here. The only constraint being that it should not overlap |
---|
731 | with a macro name or an env. var name. |
---|
732 | |
---|
733 | )2 1 1 HR( )0 1 3 H(Accessing)WB 6 Sn()WB 2 Sn( packages in a sub-directory)EH( |
---|
734 | |
---|
735 | )BQ()I( )0 P(I tried to use CMT with sub-packages. How does this work? If I |
---|
736 | have on cvs a structure like |
---|
737 | |
---|
738 | )WB [16#77 16#00 16#77] Sc()3 FZ( |
---|
739 | )BD( |
---|
740 | ) 3 18 PR( Velo/VeloEvent/.. |
---|
741 | /VSicbCnv/.. |
---|
742 | )RP( |
---|
743 | )ES( |
---|
744 | )Ef()Ec( |
---|
745 | |
---|
746 | )0 P(and on disk: |
---|
747 | |
---|
748 | )WB [16#77 16#00 16#77] Sc()3 FZ( |
---|
749 | )BD( |
---|
750 | ) 3 21 PR( Velo/VeloEvent/v3/.. |
---|
751 | /VSicbCnv/v3/.. |
---|
752 | )RP( |
---|
753 | )ES( |
---|
754 | )Ef()Ec( |
---|
755 | |
---|
756 | )0 P( it recognizes the stuff in the use statement, but when I say |
---|
757 | )BD(cmt show packages)ES( they are not there... Hence, the |
---|
758 | add-in for devstudio fails. |
---|
759 | )ES()QB( |
---|
760 | |
---|
761 | )0 P(Well this is just a subtle effect : |
---|
762 | |
---|
763 | )UL( )-1 LI( when you are in the context of say )BD(VeloEvent/v3)ES(, |
---|
764 | then the path of the current package is implicitly added to the |
---|
765 | search path, all the used packages that reside in this same root |
---|
766 | are visible \201which explains that the )BD(cmt show uses)ES( |
---|
767 | works\202. |
---|
768 | |
---|
769 | )-1 LI( but, when you ask for )BD(cmt show packages)ES(, this is |
---|
770 | performed outside of any context \201mainly because it can be done |
---|
771 | from any location\202. Then only packages reachable in the search |
---|
772 | path \201ie. )BD(CMTPATH)ES( or in the )BD(CMT\200path)ES( registry set\202 |
---|
773 | are visible. |
---|
774 | )LU( |
---|
775 | |
---|
776 | )0 P(Then in your precise case, you can do one of the following : |
---|
777 | |
---|
778 | )4 OL( |
---|
779 | )-1 LI(If you strictly have \201as you explained\202 |
---|
780 | |
---|
781 | )WB [16#77 16#00 16#77] Sc()3 FZ( |
---|
782 | )BD( |
---|
783 | ) 3 25 PR( xxx/Velo/VeloEvent/v3/.. |
---|
784 | /VSicbCnv/v3/.. |
---|
785 | )RP( |
---|
786 | )ES( |
---|
787 | )Ef()Ec( |
---|
788 | |
---|
789 | )0 P(then the )BD(CMTPATH)ES( should include )BD(xxx/Velo)ES( in |
---|
790 | order to make both )BD(VeloEvent)ES( and )BD(VSicbCnv)ES( |
---|
791 | visible. |
---|
792 | |
---|
793 | )-1 LI( If )BD(Velo)ES( is itself a package : |
---|
794 | |
---|
795 | )WB [16#77 16#00 16#77] Sc()3 FZ( |
---|
796 | )BD( |
---|
797 | ) 4 25 PR( xxx/Velo/VeloEvent/v3/.. |
---|
798 | /VSicbCnv/v3/.. |
---|
799 | /v1/... |
---|
800 | )RP( |
---|
801 | )ES( |
---|
802 | )Ef()Ec( |
---|
803 | |
---|
804 | )0 P(then the )BD(CMTPATH)ES( may simply include )BD(xxx)ES( |
---|
805 | \201although )BD(xxx/Velo)ES( is possible too but in this case, it |
---|
806 | is redundent\202. This makes all packages below )BD(Velo)ES( |
---|
807 | visible. |
---|
808 | |
---|
809 | )LO( |
---|
810 | |
---|
811 | )0 P(The difference between 1\202 and 2\202 is really the fact that in 2\202 |
---|
812 | )BD(Velo)ES( IS a true )BD(CMT)ES( package, whereas, in 1\202 |
---|
813 | )BD(Velo)ES( is just a prefix. |
---|
814 | |
---|
815 | )0 P(For simple efficiency reasons, )BD(CMT)ES( does not scan any |
---|
816 | arbitrary directory tree depth when it looks for all packages, but |
---|
817 | only the tree of true )BD(CMT)ES( packages + one level below each |
---|
818 | package. |
---|
819 | |
---|
820 | )2 1 1 HR( )AD()0 2 A(Christian Arnault)EA()DA( |
---|
821 | |
---|
822 | |
---|
823 | Last modified: Thu Nov 9 15:16:35 MET 2000 |
---|
824 | |
---|
825 | |
---|
826 | )WB NL /BO 0 D TC /Ba f D Bs /AU f D /UR () D RC ZF |
---|
827 | ()0 1 -1 H(FAQ on CMT)EH( |
---|
828 | )0 2 -1 H(Table of Contents)EH()WB |
---|
829 | ND 1 gt{Ts 3 mul Np 0()0 C()BD(FAQ on CMT)ES()0 1 TN()EA()BN}if |
---|
830 | 1 NH le{3(1\240\240)1 C(FAQ on CMT)3 1 TN()EA()BN}if |
---|
831 | 1 NH le{4(2\240\240)1 C(Index)4 1 TN()EA()BN}if |
---|
832 | 1 NH le{5(3\240\240)1 C(Providing)WB 1 Sn( sourceless documents)5 1 TN()EA()BN}if |
---|
833 | 1 NH le{6(4\240\240)1 C(Accessing)WB 2 Sn( packages in a sub-directory)6 1 TN()EA()BN}if |
---|
834 | |
---|
835 | /TE t D NP TU PM 0 eq and{/Pn () D showpage}if end restore |
---|