68fc8fde82b7b4cb61bec34d91e103502346bfd5
[gnuplot] / term / PostScript / prologues.h
1 /* This script-generated file contains the PostScript prologues
2  * in a form suitable to inclusion in a C source code */
3
4 static const char *prologue_8859_1_ps[] = {
5 "/reencodeISO {\n",
6 "dup dup findfont dup length dict begin\n",
7 "{ 1 index /FID ne { def }{ pop pop } ifelse } forall\n",
8 "currentdict /CharStrings known {\n",
9 "\tCharStrings /Idieresis known {\n",
10 "\t\t/Encoding ISOLatin1Encoding def } if\n",
11 "} if\n",
12 "currentdict end definefont\n",
13 "} def\n",
14 "/ISOLatin1Encoding [\n",
15 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
16 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
17 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
18 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
19 "/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright\n",
20 "/parenleft/parenright/asterisk/plus/comma/minus/period/slash\n",
21 "/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon\n",
22 "/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N\n",
23 "/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright\n",
24 "/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m\n",
25 "/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde\n",
26 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
27 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
28 "/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve\n",
29 "/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut\n",
30 "/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar\n",
31 "/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot\n",
32 "/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior\n",
33 "/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine\n",
34 "/guillemotright/onequarter/onehalf/threequarters/questiondown\n",
35 "/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla\n",
36 "/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex\n",
37 "/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis\n",
38 "/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute\n",
39 "/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis\n",
40 "/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave\n",
41 "/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex\n",
42 "/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis\n",
43 "/yacute/thorn/ydieresis\n",
44 "] def\n",
45 NULL
46 };
47
48 static const char *prologue_8859_15_ps[] = {
49 "/reencodeISO15 {\n",
50 "dup dup findfont dup length dict begin\n",
51 "{ 1 index /FID ne { def }{ pop pop } ifelse } forall\n",
52 "currentdict /CharStrings known {\n",
53 "\tCharStrings /Idieresis known {\n",
54 "\t\t/Encoding ISOLatin15Encoding def } if\n",
55 "} if\n",
56 "currentdict end definefont\n",
57 "} def\n",
58 "/ISOLatin15Encoding [\n",
59 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
60 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
61 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
62 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
63 "/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright\n",
64 "/parenleft/parenright/asterisk/plus/comma/minus/period/slash\n",
65 "/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon\n",
66 "/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N\n",
67 "/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright\n",
68 "/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m\n",
69 "/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde\n",
70 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
71 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
72 "/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve\n",
73 "/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut\n",
74 "/ogonek/caron/space/exclamdown/cent/sterling/Euro/yen/Scaron\n",
75 "/section/scaron/copyright/ordfeminine/guillemotleft/logicalnot\n",
76 "/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior\n",
77 "/Zcaron/mu/paragraph/periodcentered/zcaron/onesuperior/ordmasculine\n",
78 "/guillemotright/OE/oe/Ydieresis/questiondown\n",
79 "/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla\n",
80 "/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex\n",
81 "/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis\n",
82 "/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute\n",
83 "/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis\n",
84 "/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave\n",
85 "/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex\n",
86 "/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis\n",
87 "/yacute/thorn/ydieresis\n",
88 "] def\n",
89 NULL
90 };
91
92 static const char *prologue_8859_2_ps[] = {
93 "% Encoding for ISO-8859-2 (also called as Latin-2), with\n",
94 "% minor differences to \"true\" ISO-8859-2 (*commaaccent \n",
95 "% instead of *cedilla for sStT -> incorrect in ISO-8859-2,\n",
96 "% the standard will probably be modified in this respect)\n",
97 "%      Levente Novak <novak@jaguar.dote.hu>\n",
98 "\n",
99 "/reencodeISO2 {\n",
100 "dup dup findfont dup length dict begin\n",
101 "{ 1 index /FID ne { def }{ pop pop } ifelse } forall\n",
102 "currentdict /CharStrings known {\n",
103 "\tCharStrings /Idieresis known {\n",
104 "\t\t/Encoding ISOLatin2Encoding def } if\n",
105 "} if\n",
106 "currentdict end definefont\n",
107 "} def\n",
108 "/ISOLatin2Encoding [\n",
109 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
110 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
111 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
112 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
113 "/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright\n",
114 "/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash\n",
115 "/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon\n",
116 "/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M\n",
117 "/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright\n",
118 "/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m\n",
119 "/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde\n",
120 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
121 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
122 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
123 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
124 "/nbspace/Aogonek/breve/Lslash/currency/Lcaron/Sacute/section\n",
125 "/dieresis/Scaron/Scommaaccent/Tcaron/Zacute/hyphen/Zcaron/Zdotaccent\n",
126 "/degree/aogonek/ogonek/lslash/acute/lcaron/sacute/caron/cedilla\n",
127 "/scaron/scommaaccent/tcaron/zacute/hungarumlaut/zcaron/zdotaccent\n",
128 "/Racute/Aacute/Acircumflex/Abreve/Adieresis/Lacute/Cacute/Ccedilla\n",
129 "/Ccaron/Eacute/Eogonek/Edieresis/Ecaron/Iacute/Icircumflex/Dcaron\n",
130 "/Dcroat/Nacute/Ncaron/Oacute/Ocircumflex/Ohungarumlaut/Odieresis\n",
131 "/multiply/Rcaron/Uring/Uacute/Uhungarumlaut/Udieresis/Yacute\n",
132 "/Tcommaaccent/germandbls/racute/aacute/acircumflex/abreve/adieresis\n",
133 "/lacute/cacute/ccedilla/ccaron/eacute/eogonek/edieresis/ecaron\n",
134 "/iacute/icircumflex/dcaron/dcroat/nacute/ncaron/oacute/ocircumflex\n",
135 "/ohungarumlaut/odieresis/divide/rcaron/uring/uacute/uhungarumlaut\n",
136 "/udieresis/yacute/tcommaaccent/dotaccent\n",
137 "] def\n",
138 NULL
139 };
140
141 static const char *prologue_cp1250_ps[] = {
142 "/reencodeCP1250 {\n",
143 "dup dup findfont dup length dict begin\n",
144 "{ 1 index /FID ne { def }{ pop pop } ifelse } forall\n",
145 "currentdict /CharStrings known {\n",
146 "\tCharStrings /Idieresis known {\n",
147 "\t\t/Encoding CP1250Encoding def } if\n",
148 "} if\n",
149 "currentdict end definefont\n",
150 "} def\n",
151 "/CP1250Encoding [\n",
152 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
153 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
154 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
155 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
156 "/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright\n",
157 "/parenleft/parenright/asterisk/plus/comma/minus/period/slash/zero/one\n",
158 "/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater\n",
159 "/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z\n",
160 "/bracketleft/backslash/bracketright/asciicircum/underscore/quoteleft\n",
161 "/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar\n",
162 "/braceright/tilde/.notdef/.notdef/.notdef/quotesinglbase/.notdef/quotedblbase\n",
163 "/ellipsis/dagger/daggerdbl/.notdef/perthousand/Scaron/guilsinglleft/Sacute\n",
164 "/Tcaron/Zcaron/Zacute/.notdef/quoteleft/quoteright/quotedblleft\n",
165 "/quotedblright/bullet/endash/emdash/.notdef/trademark/scaron\n",
166 "/guilsinglright/sacute/tcaron/zcaron/zacute/space/caron/breve/Lslash\n",
167 "/currency/Aogonek/brokenbar/section/dieresis/copyright/Scedilla\n",
168 "/guillemotleft/logicalnot/hyphen/registered/Zdotaccent\n",
169 "/degree/plusminus/ogonek/lslash/acute/mu/paragraph/bullet\n",
170 "/cedilla/aogonek/scedilla/guillemotright/Ydieresis/hungarumlaut/Lcaron\n",
171 "/zdotaccent/Racute/Aacute/Acircumflex/Abreve/Adieresis/Lacute/Cacute\n",
172 "/Ccedilla/Ccaron/Eacute/Eogonek/Edieresis/Ecaron/Iacute/Icircumflex\n",
173 "/Dcaron/Eth/Nacute/Ncaron/Oacute/Ocircumflex/Ohungarumlaut/Odieresis\n",
174 "/multiply/Rcaron/Uring/Uacute/Uhungarumlaut/Udieresis/Yacute/Tcedilla\n",
175 "/germandbls/racute/aacute/acircumflex/abreve/adieresis/lacute/cacute\n",
176 "/ccedilla/ccaron/eacute/eogonek/edieresis/ecaron/iacute/icircumflex\n",
177 "/dcaron/dbar/nacute/ncaron/oacute/ocircumflex/ohungarumlaut/odieresis\n",
178 "/divide/rcaron/uring/uacute/uhungarumlaut/udieresis/yacute/tcedilla/dotaccent\n",
179 "] def\n",
180 NULL
181 };
182
183 static const char *prologue_cp437_ps[] = {
184 "% encoding for code page 437\n",
185 "% version 1.0:\t- Mainly letters are mapped. The following positions\n",
186 "% (JFi)\t\t  are left blank (undefined):\n",
187 "%\t\t-- first 32 positions,\n",
188 "%\t\t-- frame characters,\n",
189 "%\t\t-- greek characters,\n",
190 "%\t\t-- some more special characters.\n",
191 "%\n",
192 "% version 1.1:  - added some more special characters\n",
193 "\n",
194 "/reencodeCP437 {\n",
195 "dup dup findfont dup length dict begin\n",
196 "{ 1 index /FID ne { def }{ pop pop } ifelse } forall\n",
197 "currentdict /CharStrings known {\n",
198 "\tCharStrings /Idieresis known {\n",
199 "\t\t/Encoding CP437Encoding def } if\n",
200 "} if\n",
201 "currentdict end definefont\n",
202 "} def\n",
203 "/CP437Encoding [\n",
204 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
205 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
206 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
207 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
208 "/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright\n",
209 "/parenleft/parenright/asterisk/plus/comma/minus/period/slash\n",
210 "/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon\n",
211 "/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N\n",
212 "/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright\n",
213 "/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m\n",
214 "/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde/.notdef\n",
215 "/Ccedilla/udieresis/eacute/acircumflex/adieresis/agrave/aring/ccedilla\n",
216 "/ecircumflex/edieresis/egrave/idieresis/icircumflex/igrave/Adieresis/Aring\n",
217 "/Eacute/ae/AE/ocircumflex/odieresis/ograve/ucircumflex/ugrave\n",
218 "/ydieresis/Odieresis/Udieresis/cent/sterling/yen/.notdef/florin\n",
219 "/aacute/iacute/oacute/uacute/ntilde/Ntilde/ordfeminine/ordmasculine\n",
220 "/questiondown/.notdef/logicalnot/onehalf/onequarter/exclamdown/guillemotleft/guillemotright\n",
221 "/space/space/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
222 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
223 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
224 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
225 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
226 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
227 "/.notdef/germandbls/.notdef/.notdef/.notdef/.notdef/mu/.notdef\n",
228 "/.notdef/.notdef/.notdef/.notdef/infinity/.notdef/.notdef/.notdef\n",
229 "/.notdef/plusminus/greaterequal/lessequal/.notdef/.notdef/divide/.notdef\n",
230 "/degree/bullet/periodcentered/.notdef/nsuperior/twosuperior/.notdef/.notdef\n",
231 "] def\n",
232 NULL
233 };
234
235 static const char *prologue_cp850_ps[] = {
236 "% encoding for code page 850\n",
237 "% version 1.0:  - Mainly letters are mapped. The following positions\n",
238 "% (JFi)\t\t  are left blank (undefined):\n",
239 "%\t\t-- first 32 positions,\n",
240 "%\t\t-- frame characters,\n",
241 "%\t\t-- a few special characters.\n",
242 "\n",
243 "/reencodeCP850 {\n",
244 "dup dup findfont dup length dict begin\n",
245 "{ 1 index /FID ne { def }{ pop pop } ifelse } forall\n",
246 "currentdict /CharStrings known {\n",
247 "\tCharStrings /Idieresis known {\n",
248 "\t\t/Encoding CP850Encoding def } if\n",
249 "} if\n",
250 "currentdict end definefont\n",
251 "} def\n",
252 "/CP850Encoding [\n",
253 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
254 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
255 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
256 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
257 "/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright\n",
258 "/parenleft/parenright/asterisk/plus/comma/minus/period/slash\n",
259 "/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon\n",
260 "/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N\n",
261 "/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright\n",
262 "/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m\n",
263 "/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde/.notdef\n",
264 "/Ccedilla/udieresis/eacute/acircumflex/adieresis/agrave/aring/ccedilla\n",
265 "/ecircumflex/edieresis/egrave/idieresis/icircumflex/igrave/Adieresis/Aring\n",
266 "/Eacute/ae/AE/ocircumflex/odieresis/ograve/ucircumflex/ugrave\n",
267 "/ydieresis/Odieresis/Udieresis/oslash/sterling/Oslash/multiply/florin\n",
268 "/aacute/iacute/oacute/uacute/ntilde/Ntilde/ordfeminine/ordmasculine\n",
269 "/questiondown/registered/logicalnot/onehalf/onequarter/exclamdown/guillemotleft/guillemotright\n",
270 "/space/space/.notdef/.notdef/.notdef/Aacute/Acircumflex/Agrave\n",
271 "/.notdef/.notdef/.notdef/.notdef/.notdef/cent/yen/.notdef\n",
272 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/atilde/Atilde\n",
273 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/currency\n",
274 "/eth/Eth/Ecircumflex/Edieresis/Egrave/dotlessi/Iacute/Icircumflex\n",
275 "/Idieresis/.notdef/.notdef/.notdef/.notdef/brokenbar/Igrave/.notdef\n",
276 "/Oacute/germandbls/Ocircumflex/Ograve/otilde/Otilde/mu/thorn\n",
277 "/Thorn/Uacute/Ucircumflex/Ugrave/yacute/Yacute/macron/acute\n",
278 "/hyphen/plusminus/equal/threequarters/paragraph/section/divide/.notdef\n",
279 "/degree/.notdef/periodcentered/onesuperior/threesuperior/twosuperior/.notdef/.notdef\n",
280 "] def\n",
281 NULL
282 };
283
284 static const char *prologue_cp852_ps[] = {
285 "% encoding for code page 852\n",
286 "/reencodeCP852 {\n",
287 "dup dup findfont dup length dict begin\n",
288 "{ 1 index /FID ne { def }{ pop pop } ifelse } forall\n",
289 "currentdict /CharStrings known {\n",
290 "\tCharStrings /Idieresis known {\n",
291 "\t\t/Encoding CP852Encoding def } if\n",
292 "} if\n",
293 "currentdict end definefont\n",
294 "} def\n",
295 "/CP852Encoding [\n",
296 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
297 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
298 "/.notdef/.notdef/.notdef/.notdef/paragraph/.notdef/.notdef/.notdef\n",
299 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
300 "/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle\n",
301 "/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash\n",
302 "/zero/one/two/three/four/five/six/seven/eight/nine\n",
303 "/colon/semicolon/less/equal/greater/question\n",
304 "/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z\n",
305 "/bracketleft/backslash/bracketright/asciicircum/underscore\n",
306 "/grave/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w\n",
307 "/x/y/z/braceleft/bar/braceright/asciitilde/.notdef\n",
308 "/Ccedilla/udieresis/eacute/acircumflex/adieresis/uring/cacute/ccedilla\n",
309 "/lslash/edieresis/Ohungarumlaut/ohungarumlaut/icircumflex/Zacute/Adieresis\n",
310 "/Cacute/Eacute/Lacute/lacute/ocircumflex/odieresis/Lcaron/lcaron/Sacute\n",
311 "/sacute/Odieresis/Udieresis/Tcaron/tcaron/Lslash/multiply/ccaron\n",
312 "/aacute/iacute/oacute/uacute/Aogonek/aogonek/Zcaron/zcaron\n",
313 "/Eogonek/eogonek/.notdef/zacute/Ccaron/scedilla/guillemotleft/guillemotright\n",
314 "/.notdef/.notdef/.notdef/.notdef/.notdef/Aacute/Acircumflex/Ecaron\n",
315 "/Scedilla/.notdef/.notdef/.notdef/.notdef/Zdotaccent/zdotaccent/.notdef\n",
316 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/Abreve/abreve\n",
317 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/currency\n",
318 "/eth/Eth/Dcaron/Edieresis/dcaron/Ncaron/Iacute/Icircumflex\n",
319 "/ecaron/.notdef/.notdef/.notdef/.notdef/Tcedilla/Uring/.notdef\n",
320 "/Oacute/germandbls/Ocircumflex/Nacute/nacute/ncaron/Scaron/scaron\n",
321 "/Racute/Uacute/racute/Uhungarumlaut/yacute/Yacute/tcedilla/acute\n",
322 "/hyphen/hungarumlaut/ogonek/caron/breve/section/divide/cedilla\n",
323 "/degree/dieresis/dotaccent/uhungarumlaut/Rcaron/rcaron/.notdef/.notdef\n",
324 "] def\n",
325 NULL
326 };
327
328 static const char *prologue_koi8r_ps[] = {
329 "% encoding for code page koi8r\n",
330 "% version 1.0:\t- Mainly letters are mapped. The following positions\n",
331 "% (JFi)\t\t  are left blank (undefined):\n",
332 "%\t\t-- first 32 positions,\n",
333 "%\t\t-- frame characters,\n",
334 "%\t\t-- a few special characters.\n",
335 "\n",
336 "/reencodeKOI8R {\n",
337 "dup dup findfont dup length dict begin\n",
338 "{ 1 index /FID ne { def }{ pop pop } ifelse } forall\n",
339 "currentdict /CharStrings known {\n",
340 "\tCharStrings /Idieresis known {\n",
341 "\t\t/Encoding KOI8REncoding def } if\n",
342 "} if\n",
343 "currentdict end definefont\n",
344 "} def\n",
345 "/KOI8REncoding [\n",
346 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
347 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
348 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
349 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
350 "/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright\n",
351 "/parenleft/parenright/asterisk/plus/comma/minus/period/slash\n",
352 "/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon\n",
353 "/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N\n",
354 "/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright\n",
355 "/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m\n",
356 "/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde/.notdef\n",
357 "/SF100000/SF110000/SF010000/SF030000/SF020000/SF040000/SF080000/SF090000\n",
358 "/SF060000/SF070000/SF050000/SF600000/SF570000/SF610000/SF580000/SF590000\n",
359 "/SF140000/SF150000/SF160000/SS260000/filledbox/bullet/radical/approxequal\n",
360 "/lessequal/greaterequal/space/SS270000/degree/twosuperior/periodcentered/divide\n",
361 "/SF430000/SF240000/SF510000/afii10071/SF520000/SF390000/SF220000/SF210000\n",
362 "/SF250000/SF500000/SF490000/SF380000/SF280000/SF270000/SF260000/SF360000\n",
363 "/SF370000/SF420000/SF190000/afii10023/SF200000/SF230000/SF470000/SF480000\n",
364 "/SF410000/SF450000/SF460000/SF400000/SF540000/SF530000/SF440000/copyright\n",
365 "/afii10096/afii10065/afii10066/afii10088/afii10069/afii10070/afii10086/afii10068\n",
366 "/afii10087/afii10074/afii10075/afii10076/afii10077/afii10078/afii10079/afii10080\n",
367 "/afii10081/afii10097/afii10082/afii10083/afii10084/afii10085/afii10072/afii10067\n",
368 "/afii10094/afii10093/afii10073/afii10090/afii10095/afii10091/afii10089/afii10092\n",
369 "/afii10048/afii10017/afii10018/afii10040/afii10021/afii10022/afii10038/afii10020\n",
370 "/afii10039/afii10026/afii10027/afii10028/afii10029/afii10030/afii10031/afii10032\n",
371 "/afii10033/afii10049/afii10034/afii10035/afii10036/afii10037/afii10024/afii10019\n",
372 "/afii10046/afii10045/afii10025/afii10042/afii10047/afii10043/afii10041/afii10044\n",
373 "] def\n",
374 NULL
375 };
376
377 static const char *prologue_koi8u_ps[] = {
378 "%\n",
379 "/reencodeKOI8U {\n",
380 "dup dup findfont dup length dict begin\n",
381 "{ 1 index /FID ne { def }{ pop pop } ifelse } forall\n",
382 "currentdict /CharStrings known {\n",
383 "\tCharStrings /Idieresis known {\n",
384 "\t\t/Encoding KOI8UEncoding def } if\n",
385 "} if\n",
386 "currentdict end definefont\n",
387 "} def\n",
388 "/KOI8UEncoding [\n",
389 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
390 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
391 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
392 "/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef\n",
393 "/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright\n",
394 "/parenleft/parenright/asterisk/plus/comma/minus/period/slash\n",
395 "/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon\n",
396 "/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N\n",
397 "/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright\n",
398 "/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m\n",
399 "/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde/.notdef\n",
400 "/SF100000/SF110000/SF010000/SF030000/SF020000/SF040000/SF080000/SF090000\n",
401 "/SF060000/SF070000/SF050000/SF600000/SF570000/SF610000/SF580000/SF590000\n",
402 "/SF140000/SF150000/SF160000/SS260000/filledbox/bullet/radical/approxequal\n",
403 "/lessequal/greaterequal/space/SS270000/degree/twosuperior/periodcentered/divide\n",
404 "/SF430000/SF240000/SF510000/afii10071/afii10101/SF390000/afii10103/afii10104\n",
405 "/SF250000/SF500000/SF490000/SF380000/SF280000/afii10098/SF260000/SF360000\n",
406 "/SF370000/SF420000/SF190000/afii10023/afii10053/SF230000/afii10055/afii10056\n",
407 "/SF410000/SF450000/SF460000/SF400000/SF540000/afii10050/SF440000/copyright\n",
408 "/afii10096/afii10065/afii10066/afii10088/afii10069/afii10070/afii10086/afii10068\n",
409 "/afii10087/afii10074/afii10075/afii10076/afii10077/afii10078/afii10079/afii10080\n",
410 "/afii10081/afii10097/afii10082/afii10083/afii10084/afii10085/afii10072/afii10067\n",
411 "/afii10094/afii10093/afii10073/afii10090/afii10095/afii10091/afii10089/afii10092\n",
412 "/afii10048/afii10017/afii10018/afii10040/afii10021/afii10022/afii10038/afii10020\n",
413 "/afii10039/afii10026/afii10027/afii10028/afii10029/afii10030/afii10031/afii10032\n",
414 "/afii10033/afii10049/afii10034/afii10035/afii10036/afii10037/afii10024/afii10019\n",
415 "/afii10046/afii10045/afii10025/afii10042/afii10047/afii10043/afii10041/afii10044\n",
416 "] def\n",
417 NULL
418 };
419
420 static const char *prologue_prologue_ps[] = {
421 "%\n",
422 "% Gnuplot Prolog Version 4.2 (August 2006)\n",
423 "%\n",
424 "/M {moveto} bind def\n",
425 "/L {lineto} bind def\n",
426 "/R {rmoveto} bind def\n",
427 "/V {rlineto} bind def\n",
428 "/N {newpath moveto} bind def\n",
429 "/Z {closepath} bind def\n",
430 "/C {setrgbcolor} bind def\n",
431 "/f {rlineto fill} bind def\n",
432 "/vpt2 vpt 2 mul def\n",
433 "/hpt2 hpt 2 mul def\n",
434 "/Lshow {currentpoint stroke M 0 vshift R \n",
435 "\tBlacktext {gsave 0 setgray show grestore} {show} ifelse} def\n",
436 "/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R\n",
437 "\tBlacktext {gsave 0 setgray show grestore} {show} ifelse} def\n",
438 "/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R \n",
439 "\tBlacktext {gsave 0 setgray show grestore} {show} ifelse} def\n",
440 "/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def\n",
441 "  /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def\n",
442 "/DL {Color {setrgbcolor Solid {pop []} if 0 setdash}\n",
443 " {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def\n",
444 "/BL {stroke userlinewidth 2 mul setlinewidth\n",
445 "\tRounded {1 setlinejoin 1 setlinecap} if} def\n",
446 "/AL {stroke userlinewidth 2 div setlinewidth\n",
447 "\tRounded {1 setlinejoin 1 setlinecap} if} def\n",
448 "/UL {dup gnulinewidth mul /userlinewidth exch def\n",
449 "\tdup 1 lt {pop 1} if 10 mul /udl exch def} def\n",
450 "/PL {stroke userlinewidth setlinewidth\n",
451 "\tRounded {1 setlinejoin 1 setlinecap} if} def\n",
452 "% Default Line colors\n",
453 "/LCw {1 1 1} def\n",
454 "/LCb {0 0 0} def\n",
455 "/LCa {0 0 0} def\n",
456 "/LC0 {1 0 0} def\n",
457 "/LC1 {0 1 0} def\n",
458 "/LC2 {0 0 1} def\n",
459 "/LC3 {1 0 1} def\n",
460 "/LC4 {0 1 1} def\n",
461 "/LC5 {1 1 0} def\n",
462 "/LC6 {0 0 0} def\n",
463 "/LC7 {1 0.3 0} def\n",
464 "/LC8 {0.5 0.5 0.5} def\n",
465 "% Default Line Types\n",
466 "/LTw {PL [] 1 setgray} def\n",
467 "/LTb {BL [] LCb DL} def\n",
468 "/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def\n",
469 "/LT0 {PL [] LC0 DL} def\n",
470 "/LT1 {PL [4 dl1 2 dl2] LC1 DL} def\n",
471 "/LT2 {PL [2 dl1 3 dl2] LC2 DL} def\n",
472 "/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def\n",
473 "/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def\n",
474 "/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def\n",
475 "/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def\n",
476 "/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def\n",
477 "/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def\n",
478 "/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def\n",
479 "/Dia {stroke [] 0 setdash 2 copy vpt add M\n",
480 "  hpt neg vpt neg V hpt vpt neg V\n",
481 "  hpt vpt V hpt neg vpt V closepath stroke\n",
482 "  Pnt} def\n",
483 "/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V\n",
484 "  currentpoint stroke M\n",
485 "  hpt neg vpt neg R hpt2 0 V stroke\n",
486 " } def\n",
487 "/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M\n",
488 "  0 vpt2 neg V hpt2 0 V 0 vpt2 V\n",
489 "  hpt2 neg 0 V closepath stroke\n",
490 "  Pnt} def\n",
491 "/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M\n",
492 "  hpt2 vpt2 neg V currentpoint stroke M\n",
493 "  hpt2 neg 0 R hpt2 vpt2 V stroke} def\n",
494 "/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M\n",
495 "  hpt neg vpt -1.62 mul V\n",
496 "  hpt 2 mul 0 V\n",
497 "  hpt neg vpt 1.62 mul V closepath stroke\n",
498 "  Pnt} def\n",
499 "/Star {2 copy Pls Crs} def\n",
500 "/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M\n",
501 "  0 vpt2 neg V hpt2 0 V 0 vpt2 V\n",
502 "  hpt2 neg 0 V closepath fill} def\n",
503 "/TriUF {stroke [] 0 setdash vpt 1.12 mul add M\n",
504 "  hpt neg vpt -1.62 mul V\n",
505 "  hpt 2 mul 0 V\n",
506 "  hpt neg vpt 1.62 mul V closepath fill} def\n",
507 "/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M\n",
508 "  hpt neg vpt 1.62 mul V\n",
509 "  hpt 2 mul 0 V\n",
510 "  hpt neg vpt -1.62 mul V closepath stroke\n",
511 "  Pnt} def\n",
512 "/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M\n",
513 "  hpt neg vpt 1.62 mul V\n",
514 "  hpt 2 mul 0 V\n",
515 "  hpt neg vpt -1.62 mul V closepath fill} def\n",
516 "/DiaF {stroke [] 0 setdash vpt add M\n",
517 "  hpt neg vpt neg V hpt vpt neg V\n",
518 "  hpt vpt V hpt neg vpt V closepath fill} def\n",
519 "/Pent {stroke [] 0 setdash 2 copy gsave\n",
520 "  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat\n",
521 "  closepath stroke grestore Pnt} def\n",
522 "/PentF {stroke [] 0 setdash gsave\n",
523 "  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat\n",
524 "  closepath fill grestore} def\n",
525 "/Circle {stroke [] 0 setdash 2 copy\n",
526 "  hpt 0 360 arc stroke Pnt} def\n",
527 "/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def\n",
528 "/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def\n",
529 "/C1 {BL [] 0 setdash 2 copy moveto\n",
530 "\t2 copy vpt 0 90 arc closepath fill\n",
531 "\tvpt 0 360 arc closepath} bind def\n",
532 "/C2 {BL [] 0 setdash 2 copy moveto\n",
533 "\t2 copy vpt 90 180 arc closepath fill\n",
534 "\tvpt 0 360 arc closepath} bind def\n",
535 "/C3 {BL [] 0 setdash 2 copy moveto\n",
536 "\t2 copy vpt 0 180 arc closepath fill\n",
537 "\tvpt 0 360 arc closepath} bind def\n",
538 "/C4 {BL [] 0 setdash 2 copy moveto\n",
539 "\t2 copy vpt 180 270 arc closepath fill\n",
540 "\tvpt 0 360 arc closepath} bind def\n",
541 "/C5 {BL [] 0 setdash 2 copy moveto\n",
542 "\t2 copy vpt 0 90 arc\n",
543 "\t2 copy moveto\n",
544 "\t2 copy vpt 180 270 arc closepath fill\n",
545 "\tvpt 0 360 arc} bind def\n",
546 "/C6 {BL [] 0 setdash 2 copy moveto\n",
547 "\t2 copy vpt 90 270 arc closepath fill\n",
548 "\tvpt 0 360 arc closepath} bind def\n",
549 "/C7 {BL [] 0 setdash 2 copy moveto\n",
550 "\t2 copy vpt 0 270 arc closepath fill\n",
551 "\tvpt 0 360 arc closepath} bind def\n",
552 "/C8 {BL [] 0 setdash 2 copy moveto\n",
553 "\t2 copy vpt 270 360 arc closepath fill\n",
554 "\tvpt 0 360 arc closepath} bind def\n",
555 "/C9 {BL [] 0 setdash 2 copy moveto\n",
556 "\t2 copy vpt 270 450 arc closepath fill\n",
557 "\tvpt 0 360 arc closepath} bind def\n",
558 "/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill\n",
559 "\t2 copy moveto\n",
560 "\t2 copy vpt 90 180 arc closepath fill\n",
561 "\tvpt 0 360 arc closepath} bind def\n",
562 "/C11 {BL [] 0 setdash 2 copy moveto\n",
563 "\t2 copy vpt 0 180 arc closepath fill\n",
564 "\t2 copy moveto\n",
565 "\t2 copy vpt 270 360 arc closepath fill\n",
566 "\tvpt 0 360 arc closepath} bind def\n",
567 "/C12 {BL [] 0 setdash 2 copy moveto\n",
568 "\t2 copy vpt 180 360 arc closepath fill\n",
569 "\tvpt 0 360 arc closepath} bind def\n",
570 "/C13 {BL [] 0 setdash 2 copy moveto\n",
571 "\t2 copy vpt 0 90 arc closepath fill\n",
572 "\t2 copy moveto\n",
573 "\t2 copy vpt 180 360 arc closepath fill\n",
574 "\tvpt 0 360 arc closepath} bind def\n",
575 "/C14 {BL [] 0 setdash 2 copy moveto\n",
576 "\t2 copy vpt 90 360 arc closepath fill\n",
577 "\tvpt 0 360 arc} bind def\n",
578 "/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill\n",
579 "\tvpt 0 360 arc closepath} bind def\n",
580 "/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto\n",
581 "\tneg 0 rlineto closepath} bind def\n",
582 "/Square {dup Rec} bind def\n",
583 "/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def\n",
584 "/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def\n",
585 "/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def\n",
586 "/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def\n",
587 "/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def\n",
588 "/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def\n",
589 "/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill\n",
590 "\texch vpt sub exch vpt sub vpt Square fill Bsquare} bind def\n",
591 "/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def\n",
592 "/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill\n",
593 "\t2 copy vpt Square fill Bsquare} bind def\n",
594 "/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def\n",
595 "/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def\n",
596 "/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill\n",
597 "\tBsquare} bind def\n",
598 "/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill\n",
599 "\tBsquare} bind def\n",
600 "/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def\n",
601 "/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill\n",
602 "\t2 copy vpt Square fill Bsquare} bind def\n",
603 "/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill\n",
604 "\t2 copy exch vpt sub exch vpt Square fill Bsquare} bind def\n",
605 "/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def\n",
606 "/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def\n",
607 "/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def\n",
608 "/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def\n",
609 "/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def\n",
610 "/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def\n",
611 "/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def\n",
612 "/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def\n",
613 "/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def\n",
614 "/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def\n",
615 "/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def\n",
616 "/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def\n",
617 "/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def\n",
618 "/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def\n",
619 "/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def\n",
620 "/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def\n",
621 "/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def\n",
622 "/DiaE {stroke [] 0 setdash vpt add M\n",
623 "  hpt neg vpt neg V hpt vpt neg V\n",
624 "  hpt vpt V hpt neg vpt V closepath stroke} def\n",
625 "/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M\n",
626 "  0 vpt2 neg V hpt2 0 V 0 vpt2 V\n",
627 "  hpt2 neg 0 V closepath stroke} def\n",
628 "/TriUE {stroke [] 0 setdash vpt 1.12 mul add M\n",
629 "  hpt neg vpt -1.62 mul V\n",
630 "  hpt 2 mul 0 V\n",
631 "  hpt neg vpt 1.62 mul V closepath stroke} def\n",
632 "/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M\n",
633 "  hpt neg vpt 1.62 mul V\n",
634 "  hpt 2 mul 0 V\n",
635 "  hpt neg vpt -1.62 mul V closepath stroke} def\n",
636 "/PentE {stroke [] 0 setdash gsave\n",
637 "  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat\n",
638 "  closepath stroke grestore} def\n",
639 "/CircE {stroke [] 0 setdash \n",
640 "  hpt 0 360 arc stroke} def\n",
641 "/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def\n",
642 "/DiaW {stroke [] 0 setdash vpt add M\n",
643 "  hpt neg vpt neg V hpt vpt neg V\n",
644 "  hpt vpt V hpt neg vpt V Opaque stroke} def\n",
645 "/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M\n",
646 "  0 vpt2 neg V hpt2 0 V 0 vpt2 V\n",
647 "  hpt2 neg 0 V Opaque stroke} def\n",
648 "/TriUW {stroke [] 0 setdash vpt 1.12 mul add M\n",
649 "  hpt neg vpt -1.62 mul V\n",
650 "  hpt 2 mul 0 V\n",
651 "  hpt neg vpt 1.62 mul V Opaque stroke} def\n",
652 "/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M\n",
653 "  hpt neg vpt 1.62 mul V\n",
654 "  hpt 2 mul 0 V\n",
655 "  hpt neg vpt -1.62 mul V Opaque stroke} def\n",
656 "/PentW {stroke [] 0 setdash gsave\n",
657 "  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat\n",
658 "  Opaque stroke grestore} def\n",
659 "/CircW {stroke [] 0 setdash \n",
660 "  hpt 0 360 arc Opaque stroke} def\n",
661 "/BoxFill {gsave Rec 1 setgray fill grestore} def\n",
662 "/Density {\n",
663 "  /Fillden exch def\n",
664 "  currentrgbcolor\n",
665 "  /ColB exch def /ColG exch def /ColR exch def\n",
666 "  /ColR ColR Fillden mul Fillden sub 1 add def\n",
667 "  /ColG ColG Fillden mul Fillden sub 1 add def\n",
668 "  /ColB ColB Fillden mul Fillden sub 1 add def\n",
669 "  ColR ColG ColB setrgbcolor} def\n",
670 "/BoxColFill {gsave Rec PolyFill} def\n",
671 "/PolyFill {gsave Density fill grestore grestore} def\n",
672 "/h {rlineto rlineto rlineto gsave fill grestore} bind def\n",
673 "%\n",
674 "% PostScript Level 1 Pattern Fill routine for rectangles\n",
675 "% Usage: x y w h s a XX PatternFill\n",
676 "%\tx,y = lower left corner of box to be filled\n",
677 "%\tw,h = width and height of box\n",
678 "%\t  a = angle in degrees between lines and x-axis\n",
679 "%\t XX = 0/1 for no/yes cross-hatch\n",
680 "%\n",
681 "/PatternFill {gsave /PFa [ 9 2 roll ] def\n",
682 "  PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate\n",
683 "  PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec\n",
684 "  gsave 1 setgray fill grestore clip\n",
685 "  currentlinewidth 0.5 mul setlinewidth\n",
686 "  /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def\n",
687 "  0 0 M PFa 5 get rotate PFs -2 div dup translate\n",
688 "  0 1 PFs PFa 4 get div 1 add floor cvi\n",
689 "\t{PFa 4 get mul 0 M 0 PFs V} for\n",
690 "  0 PFa 6 get ne {\n",
691 "\t0 1 PFs PFa 4 get div 1 add floor cvi\n",
692 "\t{PFa 4 get mul 0 2 1 roll M PFs 0 V} for\n",
693 " } if\n",
694 "  stroke grestore} def\n",
695 "%\n",
696 "/languagelevel where\n",
697 " {pop languagelevel} {1} ifelse\n",
698 " 2 lt\n",
699 "\t{/InterpretLevel1 true def}\n",
700 "\t{/InterpretLevel1 Level1 def}\n",
701 " ifelse\n",
702 "%\n",
703 "% PostScript level 2 pattern fill definitions\n",
704 "%\n",
705 "/Level2PatternFill {\n",
706 "/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8}\n",
707 "\tbind def\n",
708 "/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def\n",
709 "<< Tile8x8\n",
710 " /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} \n",
711 ">> matrix makepattern\n",
712 "/Pat1 exch def\n",
713 "<< Tile8x8\n",
714 " /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke\n",
715 "\t0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke}\n",
716 ">> matrix makepattern\n",
717 "/Pat2 exch def\n",
718 "<< Tile8x8\n",
719 " /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L\n",
720 "\t8 8 L 8 0 L 0 0 L fill}\n",
721 ">> matrix makepattern\n",
722 "/Pat3 exch def\n",
723 "<< Tile8x8\n",
724 " /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L\n",
725 "\t0 12 M 12 0 L stroke}\n",
726 ">> matrix makepattern\n",
727 "/Pat4 exch def\n",
728 "<< Tile8x8\n",
729 " /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L\n",
730 "\t0 -4 M 12 8 L stroke}\n",
731 ">> matrix makepattern\n",
732 "/Pat5 exch def\n",
733 "<< Tile8x8\n",
734 " /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L\n",
735 "\t0 12 M 8 -4 L 4 12 M 10 0 L stroke}\n",
736 ">> matrix makepattern\n",
737 "/Pat6 exch def\n",
738 "<< Tile8x8\n",
739 " /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L\n",
740 "\t0 -4 M 8 12 L 4 -4 M 10 8 L stroke}\n",
741 ">> matrix makepattern\n",
742 "/Pat7 exch def\n",
743 "<< Tile8x8\n",
744 " /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L\n",
745 "\t12 0 M -4 8 L 12 4 M 0 10 L stroke}\n",
746 ">> matrix makepattern\n",
747 "/Pat8 exch def\n",
748 "<< Tile8x8\n",
749 " /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L\n",
750 "\t-4 0 M 12 8 L -4 4 M 8 10 L stroke}\n",
751 ">> matrix makepattern\n",
752 "/Pat9 exch def\n",
753 "/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def\n",
754 "/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def\n",
755 "/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def\n",
756 "/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def\n",
757 "/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def\n",
758 "/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def\n",
759 "/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def\n",
760 "} def\n",
761 "%\n",
762 "%\n",
763 "%End of PostScript Level 2 code\n",
764 "%\n",
765 "/PatternBgnd {\n",
766 "  TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse\n",
767 "} def\n",
768 "%\n",
769 "% Substitute for Level 2 pattern fill codes with\n",
770 "% grayscale if Level 2 support is not selected.\n",
771 "%\n",
772 "/Level1PatternFill {\n",
773 "/Pattern1 {0.250 Density} bind def\n",
774 "/Pattern2 {0.500 Density} bind def\n",
775 "/Pattern3 {0.750 Density} bind def\n",
776 "/Pattern4 {0.125 Density} bind def\n",
777 "/Pattern5 {0.375 Density} bind def\n",
778 "/Pattern6 {0.625 Density} bind def\n",
779 "/Pattern7 {0.875 Density} bind def\n",
780 "} def\n",
781 "%\n",
782 "% Now test for support of Level 2 code\n",
783 "%\n",
784 "Level1 {Level1PatternFill} {Level2PatternFill} ifelse\n",
785 "%\n",
786 "/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont\n",
787 "dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall\n",
788 "currentdict end definefont pop\n",
789 NULL
790 };
791