1 /* ---------------------------------------------------------------------------
2
3 encvec.c
4
5 Notes:
6
7 This file contains routines which generate each of the PostScript
8 enccoding vectors necessary to support the various languages.
9
10 Revision history:
11
12 4.10.0
13 B.Marr 2006-07-19
14
15 Created.
16
17 */
18
19 /* ---------------------------------------------------------------------------
20
21 Header Files
22
23 */
24
25 #include <stdio.h>
26
27 /* ---------------------------------------------------------------------------
28
29 Type, Struct, & Enum Declarations
30
31 */
32
33 /* ---------------------------------------------------------------------------
34
35 Constant Declarations
36
37 */
38
39 /* ---------------------------------------------------------------------------
40
41 Macro Definitions
42
43 */
44
45 /* ---------------------------------------------------------------------------
46
47 Data Declarations (including externals)
48
49 */
50
51 /* ---------------------------------------------------------------------------
52
53 External Routine References & Function Prototypes
54
55 */
56
57 /* ---------------------------------------------------------------------------
58
59 Misc Notes:
60
61 Here are the mappings for the lower-order characters, which are common
62 among the following vector encodings and will therefore not be output as
63 part of those encodings...
64
65 - ISO 8859-2 (Latin2)
66 - ISO 8859-3 (Latin3)
67 - ISO 8859-4 (Latin4)
68 - ISO 8859-5 (Cyrillic)
69 - ISO 8859-7 (Greek)
70 - ISO 8859-9 (Latin5)
71 - ISO 8859-10 (Latin6)
72 - ISO 8859-11 (Thai)
73 - ISO 8859-13 (Latin7)
74 - ISO 8859-14 (Latin8)
75 - ISO 8859-15 (Latin9 aka Latin0)
76
77 printf(" 8#000 /.notdef 8#001 /.notdef 8#002 /.notdef 8#003 /.notdef\n");
78 printf(" 8#004 /.notdef 8#005 /.notdef 8#006 /.notdef 8#007 /.notdef\n");
79 printf(" 8#010 /.notdef 8#011 /.notdef 8#012 /.notdef 8#013 /.notdef\n");
80 printf(" 8#014 /.notdef 8#015 /.notdef 8#016 /.notdef 8#017 /.notdef\n");
81 printf(" 8#020 /.notdef 8#021 /.notdef 8#022 /.notdef 8#023 /.notdef\n");
82 printf(" 8#024 /.notdef 8#025 /.notdef 8#026 /.notdef 8#027 /.notdef\n");
83 printf(" 8#030 /.notdef 8#031 /.notdef 8#032 /.notdef 8#033 /.notdef\n");
84 printf(" 8#034 /.notdef 8#035 /.notdef 8#036 /.notdef 8#037 /.notdef\n");
85 printf(" 8#040 /space 8#041 /exclam 8#042 /quotedbl 8#043 /numbersign\n");
86 printf(" 8#044 /dollar 8#045 /percent 8#046 /ampersand 8#047 /quotesingle\n");
87 printf(" 8#050 /parenleft 8#051 /parenright 8#052 /asterisk 8#053 /plus\n");
88 printf(" 8#054 /comma 8#055 /hyphen 8#056 /period 8#057 /slash\n");
89 printf(" 8#060 /zero 8#061 /one 8#062 /two 8#063 /three\n");
90 printf(" 8#064 /four 8#065 /five 8#066 /six 8#067 /seven\n");
91 printf(" 8#070 /eight 8#071 /nine 8#072 /colon 8#073 /semicolon\n");
92 printf(" 8#074 /less 8#075 /equal 8#076 /greater 8#077 /question\n");
93 printf(" 8#100 /at 8#101 /A 8#102 /B 8#103 /C\n");
94 printf(" 8#104 /D 8#105 /E 8#106 /F 8#107 /G\n");
95 printf(" 8#110 /H 8#111 /I 8#112 /J 8#113 /K\n");
96 printf(" 8#114 /L 8#115 /M 8#116 /N 8#117 /O\n");
97 printf(" 8#120 /P 8#121 /Q 8#122 /R 8#123 /S\n");
98 printf(" 8#124 /T 8#125 /U 8#126 /V 8#127 /W\n");
99 printf(" 8#130 /X 8#131 /Y 8#132 /Z 8#133 /bracketleft\n");
100 printf(" 8#134 /backslash 8#135 /bracketright 8#136 /asciicircum 8#137 /underscore\n");
101 printf(" 8#140 /grave 8#141 /a 8#142 /b 8#143 /c\n");
102 printf(" 8#144 /d 8#145 /e 8#146 /f 8#147 /g\n");
103 printf(" 8#150 /h 8#151 /i 8#152 /j 8#153 /k\n");
104 printf(" 8#154 /l 8#155 /m 8#156 /n 8#157 /o\n");
105 printf(" 8#160 /p 8#161 /q 8#162 /r 8#163 /s\n");
106 printf(" 8#164 /t 8#165 /u 8#166 /v 8#167 /w\n");
107 printf(" 8#170 /x 8#171 /y 8#172 /z 8#173 /braceleft\n");
108 printf(" 8#174 /bar 8#175 /braceright 8#176 /asciitilde 8#177 /.notdef\n");
109 printf(" 8#200 /.notdef 8#201 /.notdef 8#202 /.notdef 8#203 /.notdef\n");
110 printf(" 8#204 /.notdef 8#205 /.notdef 8#206 /.notdef 8#207 /.notdef\n");
111 printf(" 8#210 /.notdef 8#211 /.notdef 8#212 /.notdef 8#213 /.notdef\n");
112 printf(" 8#214 /.notdef 8#215 /.notdef 8#216 /.notdef 8#217 /.notdef\n");
113 printf(" 8#220 /.notdef 8#221 /.notdef 8#222 /.notdef 8#223 /.notdef\n");
114 printf(" 8#224 /.notdef 8#225 /.notdef 8#226 /.notdef 8#227 /.notdef\n");
115 printf(" 8#230 /.notdef 8#231 /.notdef 8#232 /.notdef 8#233 /.notdef\n");
116 printf(" 8#234 /.notdef 8#235 /.notdef 8#236 /.notdef 8#237 /.notdef\n");
117
118 --------------------------------------------
119
120 Note that for the ISO 8859-1 (Latin1) encoding, the first 145 characters
121 (octal 0-220) are the same as those defined above. Unlike most of the
122 other Latin encodings, the characters at positions 145-159 (decimal
123 [221-237 octal]) are _not_ undefined (i.e. they are something other than
124 '.notdef') for ISO 8859-1 (Latin1).
125
126 --------------------------------------------
127
128 Note that for the KOI8-R and KOI8-U encodings, the first 128 characters
129 (octal 0-177) are the same as those defined above. Unlike most of the
130 Latin encodings, the characters at positions 128-159 (decimal [200-237
131 octal]) are _not_ undefined (i.e. they are something other than
132 '.notdef') for KOI8-R and KOI8-U.
133
134 --------------------------------------------
135
136 There is one other minor discrepancy. The PostScript encoding vector
137 for KOI8-U provided with the Ukrainian patch used this definition:
138
139 8#047 /quoteright
140
141 whereas all other encodings seem to use this definition:
142
143 8#047 /quotesingle
144
145 It probably makes no difference, however.
146
147 */
148
149 /* ---------------------------------------------------------------------------
150
151 encvec_iso8859_1
152
153 Notes:
154
155 This routine outputs a particular PostScript encoding vector, used to
156 support any languages which use that encoding.
157
158 */
encvec_iso8859_1(void)159 void encvec_iso8859_1 (void)
160 {
161 printf("%%\n");
162 printf("%% ISO 8859-1 (Latin1) character mappings\n");
163 printf("%%\n");
164 printf("/alt_mappings [\n");
165 printf(" 8#221 /grave 8#222 /acute 8#223 /circumflex\n");
166 printf(" 8#224 /tilde 8#225 /macron 8#226 /breve 8#227 /dotaccent\n");
167 printf(" 8#230 /dieresis 8#231 /.notdef 8#232 /ring 8#233 /cedilla\n");
168 printf(" 8#234 /.notdef 8#235 /hungarumlaut 8#236 /ogonek 8#237 /caron\n");
169 printf(" 8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling\n");
170 printf(" 8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section\n");
171 printf(" 8#250 /dieresis 8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft\n");
172 printf(" 8#254 /logicalnot 8#255 /hyphen 8#256 /registered 8#257 /macron\n");
173 printf(" 8#260 /degree 8#261 /plusminus 8#262 /twosuperior 8#263 /threesuperior\n");
174 printf(" 8#264 /acute 8#265 /mu 8#266 /paragraph 8#267 /periodcentered\n");
175 printf(" 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine 8#273 /guillemotright\n");
176 printf(" 8#274 /onequarter 8#275 /onehalf 8#276 /threequarters 8#277 /questiondown\n");
177 printf(" 8#300 /Agrave 8#301 /Aacute 8#302 /Acircumflex 8#303 /Atilde\n");
178 printf(" 8#304 /Adieresis 8#305 /Aring 8#306 /AE 8#307 /Ccedilla\n");
179 printf(" 8#310 /Egrave 8#311 /Eacute 8#312 /Ecircumflex 8#313 /Edieresis\n");
180 printf(" 8#314 /Igrave 8#315 /Iacute 8#316 /Icircumflex 8#317 /Idieresis\n");
181 printf(" 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve 8#323 /Oacute\n");
182 printf(" 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply\n");
183 printf(" 8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex\n");
184 printf(" 8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls\n");
185 printf(" 8#340 /agrave 8#341 /aacute 8#342 /acircumflex 8#343 /atilde\n");
186 printf(" 8#344 /adieresis 8#345 /aring 8#346 /ae 8#347 /ccedilla\n");
187 printf(" 8#350 /egrave 8#351 /eacute 8#352 /ecircumflex 8#353 /edieresis\n");
188 printf(" 8#354 /igrave 8#355 /iacute 8#356 /icircumflex 8#357 /idieresis\n");
189 printf(" 8#360 /eth 8#361 /ntilde 8#362 /ograve 8#363 /oacute\n");
190 printf(" 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide\n");
191 printf(" 8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex\n");
192 printf(" 8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis\n");
193 printf("] readonly def\n");
194
195 return;
196 }
197
198 /* ---------------------------------------------------------------------------
199
200 encvec_iso8859_2
201
202 Notes:
203
204 This routine outputs a particular PostScript encoding vector, used to
205 support any languages which use that encoding.
206
207 */
encvec_iso8859_2(void)208 void encvec_iso8859_2 (void)
209 {
210 printf("%%\n");
211 printf("%% ISO 8859-2 (Latin2) character mappings\n");
212 printf("%% \n");
213 printf("%% This PostScript encoding vector was derived from the information at the following\n");
214 printf("%% website (circa Jan 2005), which covers several character mappings:\n");
215 printf("%% \n");
216 printf("%% http://bibliofile.mc.duke.edu/gww/fonts/postscript-utilities/encoding-vectors.html\n");
217 printf("%% \n");
218 printf("/alt_mappings [\n");
219 printf(" 8#240 /uni00A0 8#241 /Aogonek 8#242 /breve 8#243 /Lslash\n");
220 printf(" 8#244 /currency 8#245 /Lcaron 8#246 /Sacute 8#247 /section\n");
221 printf(" 8#250 /dieresis 8#251 /Scaron 8#252 /Scedilla 8#253 /Tcaron\n");
222 printf(" 8#254 /Zacute 8#255 /uni00AD 8#256 /Zcaron 8#257 /Zdotaccent\n");
223 printf(" 8#260 /degree 8#261 /aogonek 8#262 /ogonek 8#263 /lslash\n");
224 printf(" 8#264 /acute 8#265 /lcaron 8#266 /sacute 8#267 /caron\n");
225 printf(" 8#270 /cedilla 8#271 /scaron 8#272 /scedilla 8#273 /tcaron\n");
226 printf(" 8#274 /zacute 8#275 /hungarumlaut 8#276 /zcaron 8#277 /zdotaccent\n");
227 printf(" 8#300 /Racute 8#301 /Aacute 8#302 /Acircumflex 8#303 /Abreve\n");
228 printf(" 8#304 /Adieresis 8#305 /Lacute 8#306 /Cacute 8#307 /Ccedilla\n");
229 printf(" 8#310 /Ccaron 8#311 /Eacute 8#312 /Eogonek 8#313 /Edieresis\n");
230 printf(" 8#314 /Ecaron 8#315 /Iacute 8#316 /Icircumflex 8#317 /Dcaron\n");
231 printf(" 8#320 /Dcroat 8#321 /Nacute 8#322 /Ncaron 8#323 /Oacute\n");
232 printf(" 8#324 /Ocircumflex 8#325 /Ohungarumlaut 8#326 /Odieresis 8#327 /multiply\n");
233 printf(" 8#330 /Rcaron 8#331 /Uring 8#332 /Uacute 8#333 /Uhungarumlaut\n");
234 printf(" 8#334 /Udieresis 8#335 /Yacute 8#336 /uni0162 8#337 /germandbls\n");
235 printf(" 8#340 /racute 8#341 /aacute 8#342 /acircumflex 8#343 /abreve\n");
236 printf(" 8#344 /adieresis 8#345 /lacute 8#346 /cacute 8#347 /ccedilla\n");
237 printf(" 8#350 /ccaron 8#351 /eacute 8#352 /eogonek 8#353 /edieresis\n");
238 printf(" 8#354 /ecaron 8#355 /iacute 8#356 /icircumflex 8#357 /dcaron\n");
239 printf(" 8#360 /dcroat 8#361 /nacute 8#362 /ncaron 8#363 /oacute\n");
240 printf(" 8#364 /ocircumflex 8#365 /ohungarumlaut 8#366 /odieresis 8#367 /divide\n");
241 printf(" 8#370 /rcaron 8#371 /uring 8#372 /uacute 8#373 /uhungarumlaut\n");
242 printf(" 8#374 /udieresis 8#375 /yacute 8#376 /uni0163 8#377 /dotaccent\n");
243 printf("] readonly def\n");
244
245 return;
246 }
247
248 /* ---------------------------------------------------------------------------
249
250 encvec_iso8859_3
251
252 Notes:
253
254 This routine outputs a particular PostScript encoding vector, used to
255 support any languages which use that encoding.
256
257 */
encvec_iso8859_3(void)258 void encvec_iso8859_3 (void)
259 {
260 printf("%%\n");
261 printf("%% ISO 8859-3 (Latin3) character mappings\n");
262 printf("%% \n");
263 printf("%% This PostScript encoding vector was derived from the information at the following\n");
264 printf("%% website (circa Jan 2005), which covers several character mappings:\n");
265 printf("%% \n");
266 printf("%% http://bibliofile.mc.duke.edu/gww/fonts/postscript-utilities/encoding-vectors.html\n");
267 printf("%% \n");
268 printf("/alt_mappings [\n");
269 printf(" 8#240 /uni00A0 8#241 /Hbar 8#242 /breve 8#243 /sterling\n");
270 printf(" 8#244 /currency 8#245 /yen 8#246 /Hcircumflex 8#247 /section\n");
271 printf(" 8#250 /dieresis 8#251 /Idotaccent 8#252 /Scedilla 8#253 /Gbreve\n");
272 printf(" 8#254 /Jcircumflex 8#255 /uni00AD 8#256 /registered 8#257 /Zdotaccent\n");
273 printf(" 8#260 /degree 8#261 /hbar 8#262 /twosuperior 8#263 /threesuperior\n");
274 printf(" 8#264 /acute 8#265 /mu 8#266 /hcircumflex 8#267 /periodcentered\n");
275 printf(" 8#270 /cedilla 8#271 /dotlessi 8#272 /scedilla 8#273 /gbreve\n");
276 printf(" 8#274 /jcircumflex 8#275 /onehalf 8#276 /threequarters 8#277 /zdotaccent\n");
277 printf(" 8#300 /Agrave 8#301 /Aacute 8#302 /Acircumflex 8#303 /Atilde\n");
278 printf(" 8#304 /Adieresis 8#305 /Cdotaccent 8#306 /Ccircumflex 8#307 /Ccedilla\n");
279 printf(" 8#310 /Egrave 8#311 /Eacute 8#312 /Ecircumflex 8#313 /Edieresis\n");
280 printf(" 8#314 /Igrave 8#315 /Iacute 8#316 /Icircumflex 8#317 /Idieresis\n");
281 printf(" 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve 8#323 /Oacute\n");
282 printf(" 8#324 /Ocircumflex 8#325 /Gdotaccent 8#326 /Odieresis 8#327 /multiply\n");
283 printf(" 8#330 /Gcircumflex 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex\n");
284 printf(" 8#334 /Udieresis 8#335 /Ubreve 8#336 /Scircumflex 8#337 /germandbls\n");
285 printf(" 8#340 /agrave 8#341 /aacute 8#342 /acircumflex 8#343 /atilde\n");
286 printf(" 8#344 /adieresis 8#345 /cdotaccent 8#346 /ccircumflex 8#347 /ccedilla\n");
287 printf(" 8#350 /egrave 8#351 /eacute 8#352 /ecircumflex 8#353 /edieresis\n");
288 printf(" 8#354 /igrave 8#355 /iacute 8#356 /icircumflex 8#357 /idieresis\n");
289 printf(" 8#360 /eth 8#361 /ntilde 8#362 /ograve 8#363 /oacute\n");
290 printf(" 8#364 /ocircumflex 8#365 /gdotaccent 8#366 /odieresis 8#367 /divide\n");
291 printf(" 8#370 /gcircumflex 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex\n");
292 printf(" 8#374 /udieresis 8#375 /ubreve 8#376 /scircumflex 8#377 /dotaccent\n");
293 printf("] readonly def\n");
294
295 return;
296 }
297
298 /* ---------------------------------------------------------------------------
299
300 encvec_iso8859_4
301
302 Notes:
303
304 This routine outputs a particular PostScript encoding vector, used to
305 support any languages which use that encoding.
306
307 */
encvec_iso8859_4(void)308 void encvec_iso8859_4 (void)
309 {
310 printf("%%\n");
311 printf("%% ISO 8859-4 (Latin4) character mappings\n");
312 printf("%% \n");
313 printf("%% This PostScript encoding vector was derived from the information at the following\n");
314 printf("%% website (circa Jan 2005), which covers several character mappings:\n");
315 printf("%% \n");
316 printf("%% http://bibliofile.mc.duke.edu/gww/fonts/postscript-utilities/encoding-vectors.html\n");
317 printf("%% \n");
318 printf("/alt_mappings [\n");
319 printf(" 8#240 /uni00A0 8#241 /Aogonek 8#242 /kgreenlandic 8#243 /Rcommaaccent\n");
320 printf(" 8#244 /currency 8#245 /Itilde 8#246 /Lcommaaccent 8#247 /section\n");
321 printf(" 8#250 /dieresis 8#251 /Scaron 8#252 /Emacron 8#253 /Gcommaaccent\n");
322 printf(" 8#254 /Tbar 8#255 /uni00AD 8#256 /Zcaron 8#257 /macron\n");
323 printf(" 8#260 /degree 8#261 /aogonek 8#262 /ogonek 8#263 /rcommaaccent\n");
324 printf(" 8#264 /acute 8#265 /itilde 8#266 /lcommaaccent 8#267 /caron\n");
325 printf(" 8#270 /cedilla 8#271 /scaron 8#272 /emacron 8#273 /gcommaaccent\n");
326 printf(" 8#274 /tbar 8#275 /Eng 8#276 /zcaron 8#277 /eng\n");
327 printf(" 8#300 /Amacron 8#301 /Aacute 8#302 /Acircumflex 8#303 /Atilde\n");
328 printf(" 8#304 /Adieresis 8#305 /Aring 8#306 /AE 8#307 /Iogonek\n");
329 printf(" 8#310 /Ccaron 8#311 /Eacute 8#312 /Eogonek 8#313 /Edieresis\n");
330 printf(" 8#314 /Edotaccent 8#315 /Iacute 8#316 /Icircumflex 8#317 /Imacron\n");
331 printf(" 8#320 /Dcroat 8#321 /Ncommaaccent 8#322 /Omacron 8#323 /Kcommaaccent\n");
332 printf(" 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply\n");
333 printf(" 8#330 /Oslash 8#331 /Uogonek 8#332 /Uacute 8#333 /Ucircumflex\n");
334 printf(" 8#334 /Udieresis 8#335 /Utilde 8#336 /Umacron 8#337 /germandbls\n");
335 printf(" 8#340 /amacron 8#341 /aacute 8#342 /acircumflex 8#343 /atilde\n");
336 printf(" 8#344 /adieresis 8#345 /aring 8#346 /ae 8#347 /iogonek\n");
337 printf(" 8#350 /ccaron 8#351 /eacute 8#352 /eogonek 8#353 /edieresis\n");
338 printf(" 8#354 /edotaccent 8#355 /iacute 8#356 /icircumflex 8#357 /imacron\n");
339 printf(" 8#360 /dcroat 8#361 /ncommaaccent 8#362 /omacron 8#363 /kcommaaccent\n");
340 printf(" 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide\n");
341 printf(" 8#370 /oslash 8#371 /uogonek 8#372 /uacute 8#373 /ucircumflex\n");
342 printf(" 8#374 /udieresis 8#375 /utilde 8#376 /umacron 8#377 /dotaccent\n");
343 printf("] readonly def\n");
344
345 return;
346 }
347
348 /* ---------------------------------------------------------------------------
349
350 encvec_iso8859_5
351
352 Notes:
353
354 This routine outputs a particular PostScript encoding vector, used to
355 support any languages which use that encoding.
356
357 */
encvec_iso8859_5(void)358 void encvec_iso8859_5 (void)
359 {
360 printf("%%\n");
361 printf("%% ISO 8859-5 (Cyrillic) character mappings\n");
362 printf("%% \n");
363 printf("%% This PostScript encoding vector was derived from the information at the following\n");
364 printf("%% website (circa Jan 2005), which covers several character mappings:\n");
365 printf("%% \n");
366 printf("%% http://bibliofile.mc.duke.edu/gww/fonts/postscript-utilities/encoding-vectors.html\n");
367 printf("%% \n");
368 printf("/alt_mappings [\n");
369 printf(" 8#240 /uni00A0 8#241 /afii10023 8#242 /afii10051 8#243 /afii10052\n");
370 printf(" 8#244 /afii10053 8#245 /afii10054 8#246 /afii10055 8#247 /afii10056\n");
371 printf(" 8#250 /afii10057 8#251 /afii10058 8#252 /afii10059 8#253 /afii10060\n");
372 printf(" 8#254 /afii10061 8#255 /uni00AD 8#256 /afii10062 8#257 /afii10145\n");
373 printf(" 8#260 /afii10017 8#261 /afii10018 8#262 /afii10019 8#263 /afii10020\n");
374 printf(" 8#264 /afii10021 8#265 /afii10022 8#266 /afii10024 8#267 /afii10025\n");
375 printf(" 8#270 /afii10026 8#271 /afii10027 8#272 /afii10028 8#273 /afii10029\n");
376 printf(" 8#274 /afii10030 8#275 /afii10031 8#276 /afii10032 8#277 /afii10033\n");
377 printf(" 8#300 /afii10034 8#301 /afii10035 8#302 /afii10036 8#303 /afii10037\n");
378 printf(" 8#304 /afii10038 8#305 /afii10039 8#306 /afii10040 8#307 /afii10041\n");
379 printf(" 8#310 /afii10042 8#311 /afii10043 8#312 /afii10044 8#313 /afii10045\n");
380 printf(" 8#314 /afii10046 8#315 /afii10047 8#316 /afii10048 8#317 /afii10049\n");
381 printf(" 8#320 /afii10065 8#321 /afii10066 8#322 /afii10067 8#323 /afii10068\n");
382 printf(" 8#324 /afii10069 8#325 /afii10070 8#326 /afii10072 8#327 /afii10073\n");
383 printf(" 8#330 /afii10074 8#331 /afii10075 8#332 /afii10076 8#333 /afii10077\n");
384 printf(" 8#334 /afii10078 8#335 /afii10079 8#336 /afii10080 8#337 /afii10081\n");
385 printf(" 8#340 /afii10082 8#341 /afii10083 8#342 /afii10084 8#343 /afii10085\n");
386 printf(" 8#344 /afii10086 8#345 /afii10087 8#346 /afii10088 8#347 /afii10089\n");
387 printf(" 8#350 /afii10090 8#351 /afii10091 8#352 /afii10092 8#353 /afii10093\n");
388 printf(" 8#354 /afii10094 8#355 /afii10095 8#356 /afii10096 8#357 /afii10097\n");
389 printf(" 8#360 /afii61352 8#361 /afii10071 8#362 /afii10099 8#363 /afii10100\n");
390 printf(" 8#364 /afii10101 8#365 /afii10102 8#366 /afii10103 8#367 /afii10104\n");
391 printf(" 8#370 /afii10105 8#371 /afii10106 8#372 /afii10107 8#373 /afii10108\n");
392 printf(" 8#374 /afii10109 8#375 /section 8#376 /afii10110 8#377 /afii10193\n");
393 printf("] readonly def\n");
394
395 return;
396 }
397
398 /* ---------------------------------------------------------------------------
399
400 encvec_iso8859_6
401
402 Notes:
403
404 This routine outputs a particular PostScript encoding vector, used to
405 support any languages which use that encoding.
406
407 */
encvec_iso8859_6(void)408 void encvec_iso8859_6 (void)
409 {
410 printf("%%%%%% %%\n");
411 printf("%%%%%% %% ISO 8859-6 (Arabic) character mappings\n");
412 printf("%%%%%% %% \n");
413 printf("%%%%%% %% This PostScript encoding vector is currently undefined because the\n");
414 printf("%%%%%% %% information needed to create it was not found.\n");
415 printf("%%%%%% %% \n");
416 printf("%%%%%% /alt_mappings [\n");
417 printf("%%%%%% ] readonly def\n");
418 printf("\n");
419
420 return;
421 }
422
423 /* ---------------------------------------------------------------------------
424
425 encvec_iso8859_7
426
427 Notes:
428
429 This routine outputs a particular PostScript encoding vector, used to
430 support any languages which use that encoding.
431
432 */
encvec_iso8859_7(void)433 void encvec_iso8859_7 (void)
434 {
435 printf("%%\n");
436 printf("%% ISO 8859-7 (Greek) character mappings\n");
437 printf("%% \n");
438 printf("%% This PostScript encoding vector was derived from the information at the following\n");
439 printf("%% website (circa Jan 2005), which covers several character mappings:\n");
440 printf("%% \n");
441 printf("%% http://bibliofile.mc.duke.edu/gww/fonts/postscript-utilities/encoding-vectors.html\n");
442 printf("%% \n");
443 printf("/alt_mappings [\n");
444 printf(" 8#240 /uni00A0 8#241 /afii64937 8#242 /afii57929 8#243 /sterling\n");
445 printf(" 8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section\n");
446 printf(" 8#250 /dieresis 8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft\n");
447 printf(" 8#254 /logicalnot 8#255 /uni00AD 8#256 /registered 8#257 /afii00208\n");
448 printf(" 8#260 /degree 8#261 /plusminus 8#262 /twosuperior 8#263 /threesuperior\n");
449 printf(" 8#264 /tonos 8#265 /dieresistonos 8#266 /Alphatonos 8#267 /periodcentered\n");
450 printf(" 8#270 /Epsilontonos 8#271 /Etatonos 8#272 /Iotatonos 8#273 /guillemotright\n");
451 printf(" 8#274 /Omicrontonos 8#275 /onehalf 8#276 /Upsilontonos 8#277 /Omegatonos\n");
452 printf(" 8#300 /iotadieresistonos 8#301 /Alpha 8#302 /Beta 8#303 /Gamma\n");
453 printf(" 8#304 /uni0394 8#305 /Epsilon 8#306 /Zeta 8#307 /Eta\n");
454 printf(" 8#310 /Theta 8#311 /Iota 8#312 /Kappa 8#313 /Lambda\n");
455 printf(" 8#314 /Mu 8#315 /Nu 8#316 /Xi 8#317 /Omicron\n");
456 printf(" 8#320 /Pi 8#321 /Rho 8#322 /Ograve 8#323 /Sigma\n");
457 printf(" 8#324 /Tau 8#325 /Upsilon 8#326 /Phi 8#327 /Chi\n");
458 printf(" 8#330 /Psi 8#331 /uni03A9 8#332 /Iotadieresis 8#333 /Upsilondieresis\n");
459 printf(" 8#334 /alphatonos 8#335 /epsilontonos 8#336 /etatonos 8#337 /iotatonos\n");
460 printf(" 8#340 /upsilondieresistonos 8#341 /alpha 8#342 /beta 8#343 /gamma\n");
461 printf(" 8#344 /delta 8#345 /epsilon 8#346 /zeta 8#347 /eta\n");
462 printf(" 8#350 /theta 8#351 /iota 8#352 /kappa 8#353 /lambda\n");
463 printf(" 8#354 /uni03BC 8#355 /nu 8#356 /xi 8#357 /omicron\n");
464 printf(" 8#360 /pi 8#361 /rho 8#362 /sigma1 8#363 /sigma\n");
465 printf(" 8#364 /tau 8#365 /upsilon 8#366 /phi 8#367 /chi\n");
466 printf(" 8#370 /psi 8#371 /omega 8#372 /iotadieresis 8#373 /upsilondieresis\n");
467 printf(" 8#374 /omicrontonos 8#375 /upsilontonos 8#376 /omegatonos 8#377 /ydieresis\n");
468 printf("] readonly def\n");
469
470 return;
471 }
472
473 /* ---------------------------------------------------------------------------
474
475 encvec_iso8859_8
476
477 Notes:
478
479 This routine outputs a particular PostScript encoding vector, used to
480 support any languages which use that encoding.
481
482 */
encvec_iso8859_8(void)483 void encvec_iso8859_8 (void)
484 {
485 printf("%%%%%% %%\n");
486 printf("%%%%%% %% ISO 8859-8 (Hebrew) character mappings\n");
487 printf("%%%%%% %% \n");
488 printf("%%%%%% %% This PostScript encoding vector is currently undefined because the\n");
489 printf("%%%%%% %% information needed to create it was not found.\n");
490 printf("%%%%%% %% \n");
491 printf("%%%%%% /alt_mappings [\n");
492 printf("%%%%%% ] readonly def\n");
493
494 return;
495 }
496
497 /* ---------------------------------------------------------------------------
498
499 encvec_iso8859_9
500
501 Notes:
502
503 This routine outputs a particular PostScript encoding vector, used to
504 support any languages which use that encoding.
505
506 */
encvec_iso8859_9(void)507 void encvec_iso8859_9 (void)
508 {
509 printf("%%\n");
510 printf("%% ISO 8859-9 (Latin5) character mappings\n");
511 printf("%% \n");
512 printf("%% This PostScript encoding vector was derived from the information at the following\n");
513 printf("%% website (circa Jan 2005), which covers several character mappings:\n");
514 printf("%% \n");
515 printf("%% http://bibliofile.mc.duke.edu/gww/fonts/postscript-utilities/encoding-vectors.html\n");
516 printf("%% \n");
517 printf("/alt_mappings [\n");
518 printf(" 8#240 /uni00A0 8#241 /exclamdown 8#242 /cent 8#243 /sterling\n");
519 printf(" 8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section\n");
520 printf(" 8#250 /dieresis 8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft\n");
521 printf(" 8#254 /logicalnot 8#255 /uni00AD 8#256 /registered 8#257 /macron\n");
522 printf(" 8#260 /degree 8#261 /plusminus 8#262 /twosuperior 8#263 /threesuperior\n");
523 printf(" 8#264 /acute 8#265 /mu 8#266 /paragraph 8#267 /periodcentered\n");
524 printf(" 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine 8#273 /guillemotright\n");
525 printf(" 8#274 /onequarter 8#275 /onehalf 8#276 /threequarters 8#277 /questiondown\n");
526 printf(" 8#300 /Agrave 8#301 /Aacute 8#302 /Acircumflex 8#303 /Atilde\n");
527 printf(" 8#304 /Adieresis 8#305 /Aring 8#306 /AE 8#307 /Ccedilla\n");
528 printf(" 8#310 /Egrave 8#311 /Eacute 8#312 /Ecircumflex 8#313 /Edieresis\n");
529 printf(" 8#314 /Igrave 8#315 /Iacute 8#316 /Icircumflex 8#317 /Idieresis\n");
530 printf(" 8#320 /Gbreve 8#321 /Ntilde 8#322 /Ograve 8#323 /Oacute\n");
531 printf(" 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply\n");
532 printf(" 8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex\n");
533 printf(" 8#334 /Udieresis 8#335 /Idotaccent 8#336 /Scedilla 8#337 /germandbls\n");
534 printf(" 8#340 /agrave 8#341 /aacute 8#342 /acircumflex 8#343 /atilde\n");
535 printf(" 8#344 /adieresis 8#345 /aring 8#346 /ae 8#347 /ccedilla\n");
536 printf(" 8#350 /egrave 8#351 /eacute 8#352 /ecircumflex 8#353 /edieresis\n");
537 printf(" 8#354 /igrave 8#355 /iacute 8#356 /icircumflex 8#357 /idieresis\n");
538 printf(" 8#360 /gbreve 8#361 /ntilde 8#362 /ograve 8#363 /oacute\n");
539 printf(" 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide\n");
540 printf(" 8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex\n");
541 printf(" 8#374 /udieresis 8#375 /dotlessi 8#376 /scedilla 8#377 /ydieresis\n");
542 printf("] readonly def\n");
543
544 return;
545 }
546
547 /* ---------------------------------------------------------------------------
548
549 encvec_iso8859_10
550
551 Notes:
552
553 This routine outputs a particular PostScript encoding vector, used to
554 support any languages which use that encoding.
555
556 */
encvec_iso8859_10(void)557 void encvec_iso8859_10 (void)
558 {
559 printf("%%\n");
560 printf("%% ISO 8859-10 (Latin6) character mappings\n");
561 printf("%% \n");
562 printf("%% This PostScript encoding vector was derived from the information at the following\n");
563 printf("%% website (circa Jan 2005), which covers several character mappings:\n");
564 printf("%% \n");
565 printf("%% http://bibliofile.mc.duke.edu/gww/fonts/postscript-utilities/encoding-vectors.html\n");
566 printf("%% \n");
567 printf("/alt_mappings [\n");
568 printf(" 8#240 /uni00A0 8#241 /Aogonek 8#242 /Emacron 8#243 /Gcommaaccent\n");
569 printf(" 8#244 /Imacron 8#245 /Itilde 8#246 /Kcommaaccent 8#247 /section\n");
570 printf(" 8#250 /Lcommaaccent 8#251 /Dcroat 8#252 /Scaron 8#253 /Tbar\n");
571 printf(" 8#254 /Zcaron 8#255 /uni00AD 8#256 /Umacron 8#257 /Eng\n");
572 printf(" 8#260 /degree 8#261 /aogonek 8#262 /emacron 8#263 /gcommaaccent\n");
573 printf(" 8#264 /imacron 8#265 /itilde 8#266 /kcommaaccent 8#267 /periodcentered\n");
574 printf(" 8#270 /lcommaaccent 8#271 /dcroat 8#272 /scaron 8#273 /tbar\n");
575 printf(" 8#274 /zcaron 8#275 /macron 8#276 /umacron 8#277 /eng\n");
576 printf(" 8#300 /Amacron 8#301 /Aacute 8#302 /Acircumflex 8#303 /Atilde\n");
577 printf(" 8#304 /Adieresis 8#305 /Aring 8#306 /AE 8#307 /Iogonek\n");
578 printf(" 8#310 /Ccaron 8#311 /Eacute 8#312 /Eogonek 8#313 /Edieresis\n");
579 printf(" 8#314 /Emacron 8#315 /Iacute 8#316 /Icircumflex 8#317 /Idieresis\n");
580 printf(" 8#320 /Eth 8#321 /Ncommaaccent 8#322 /Omacron 8#323 /Oacute\n");
581 printf(" 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /Utilde\n");
582 printf(" 8#330 /Oslash 8#331 /Uogonek 8#332 /Uacute 8#333 /Ucircumflex\n");
583 printf(" 8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls\n");
584 printf(" 8#340 /amacron 8#341 /aacute 8#342 /acircumflex 8#343 /atilde\n");
585 printf(" 8#344 /adieresis 8#345 /aring 8#346 /ae 8#347 /iogonek\n");
586 printf(" 8#350 /ccaron 8#351 /eacute 8#352 /eogonek 8#353 /edieresis\n");
587 printf(" 8#354 /emacron 8#355 /iacute 8#356 /icircumflex 8#357 /idieresis\n");
588 printf(" 8#360 /eth 8#361 /ncommaaccent 8#362 /omacron 8#363 /oacute\n");
589 printf(" 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /utilde\n");
590 printf(" 8#370 /oslash 8#371 /uogonek 8#372 /uacute 8#373 /ucircumflex\n");
591 printf(" 8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /kgreenlandic\n");
592 printf("] readonly def\n");
593
594 return;
595 }
596
597 /* ---------------------------------------------------------------------------
598
599 encvec_iso8859_11
600
601 Notes:
602
603 This routine outputs a particular PostScript encoding vector, used to
604 support any languages which use that encoding.
605
606 */
encvec_iso8859_11(void)607 void encvec_iso8859_11 (void)
608 {
609 printf("%%\n");
610 printf("%% ISO 8859-11 (Thai) character mappings\n");
611 printf("%% \n");
612 printf("%% This PostScript encoding vector was derived from the information at the following\n");
613 printf("%% website (circa Jan 2005), which covers several character mappings:\n");
614 printf("%% \n");
615 printf("%% http://bibliofile.mc.duke.edu/gww/fonts/postscript-utilities/encoding-vectors.html\n");
616 printf("%% \n");
617 printf("/alt_mappings [\n");
618 printf(" 8#240 /uni00A0 8#241 /uni0E01 8#242 /uni0E02 8#243 /uni0E03\n");
619 printf(" 8#244 /uni0E04 8#245 /uni0E05 8#246 /uni0E06 8#247 /uni0E07\n");
620 printf(" 8#250 /uni0E08 8#251 /uni0E09 8#252 /uni0E0A 8#253 /uni0E0B\n");
621 printf(" 8#254 /uni0E0C 8#255 /uni0E0D 8#256 /uni0E0E 8#257 /uni0E0F\n");
622 printf(" 8#260 /uni0E10 8#261 /uni0E11 8#262 /uni0E12 8#263 /uni0E13\n");
623 printf(" 8#264 /uni0E14 8#265 /uni0E15 8#266 /uni0E16 8#267 /uni0E17\n");
624 printf(" 8#270 /uni0E18 8#271 /uni0E19 8#272 /uni0E1A 8#273 /uni0E1B\n");
625 printf(" 8#274 /uni0E1C 8#275 /uni0E1D 8#276 /uni0E1E 8#277 /uni0E1F\n");
626 printf(" 8#300 /uni0E20 8#301 /uni0E21 8#302 /uni0E22 8#303 /uni0E23\n");
627 printf(" 8#304 /uni0E24 8#305 /uni0E25 8#306 /uni0E26 8#307 /uni0E27\n");
628 printf(" 8#310 /uni0E28 8#311 /uni0E29 8#312 /uni0E2A 8#313 /uni0E2B\n");
629 printf(" 8#314 /uni0E2C 8#315 /uni0E2D 8#316 /uni0E2E 8#317 /uni0E2F\n");
630 printf(" 8#320 /uni0E30 8#321 /uni0E31 8#322 /uni0E32 8#323 /uni0E33\n");
631 printf(" 8#324 /uni0E34 8#325 /uni0E35 8#326 /uni0E36 8#327 /uni0E37\n");
632 printf(" 8#330 /uni0E38 8#331 /uni0E39 8#332 /uni0E3A 8#333 /.notdef\n");
633 printf(" 8#334 /space 8#335 /.notdef 8#336 /.notdef 8#337 /uni0E3F\n");
634 printf(" 8#340 /uni0E40 8#341 /uni0E41 8#342 /uni0E42 8#343 /uni0E43\n");
635 printf(" 8#344 /uni0E44 8#345 /uni0E45 8#346 /uni0E46 8#347 /uni0E47\n");
636 printf(" 8#350 /uni0E48 8#351 /uni0E49 8#352 /uni0E4A 8#353 /uni0E4B\n");
637 printf(" 8#354 /uni0E4C 8#355 /uni0E4D 8#356 /uni0E4E 8#357 /uni0E4F\n");
638 printf(" 8#360 /uni0E50 8#361 /uni0E51 8#362 /uni0E52 8#363 /uni0E53\n");
639 printf(" 8#364 /uni0E54 8#365 /uni0E55 8#366 /uni0E56 8#367 /uni0E57\n");
640 printf(" 8#370 /uni0E58 8#371 /uni0E59 8#372 /uni0E5A 8#373 /.notdef\n");
641 printf(" 8#374 /.notdef 8#375 /.notdef 8#376 /.notdef 8#377 /.notdef\n");
642 printf("] readonly def\n");
643
644 return;
645 }
646
647 /* ---------------------------------------------------------------------------
648
649 encvec_iso8859_13
650
651 Notes:
652
653 This routine outputs a particular PostScript encoding vector, used to
654 support any languages which use that encoding.
655
656 */
encvec_iso8859_13(void)657 void encvec_iso8859_13 (void)
658 {
659 printf("%%\n");
660 printf("%% ISO 8859-13 (Latin7) character mappings\n");
661 printf("%% \n");
662 printf("%% This PostScript encoding vector was derived from the information at the following\n");
663 printf("%% website (circa Jan 2005), which covers several character mappings:\n");
664 printf("%% \n");
665 printf("%% http://bibliofile.mc.duke.edu/gww/fonts/postscript-utilities/encoding-vectors.html\n");
666 printf("%% \n");
667 printf("/alt_mappings [\n");
668 printf(" 8#240 /uni00A0 8#241 /quotedblright 8#242 /cent 8#243 /sterling\n");
669 printf(" 8#244 /currency 8#245 /quotedblbase 8#246 /brokenbar 8#247 /section\n");
670 printf(" 8#250 /Oslash 8#251 /copyright 8#252 /rcommaaccent 8#253 /guillemotleft\n");
671 printf(" 8#254 /logicalnot 8#255 /uni00AD 8#256 /registered 8#257 /AE\n");
672 printf(" 8#260 /degree 8#261 /plusminus 8#262 /twosuperior 8#263 /threesuperior\n");
673 printf(" 8#264 /quotedblleft 8#265 /mu 8#266 /paragraph 8#267 /periodcentered\n");
674 printf(" 8#270 /oslash 8#271 /onesuperior 8#272 /.notdef 8#273 /guillemotright\n");
675 printf(" 8#274 /onequarter 8#275 /onehalf 8#276 /threequarters 8#277 /ae\n");
676 printf(" 8#300 /Aogonek 8#301 /Iogonek 8#302 /Amacron 8#303 /Cacute\n");
677 printf(" 8#304 /Adieresis 8#305 /Aring 8#306 /Eogonek 8#307 /Emacron\n");
678 printf(" 8#310 /Ccaron 8#311 /Eacute 8#312 /Zacute 8#313 /Edotaccent\n");
679 printf(" 8#314 /Gcommaaccent 8#315 /Kcommaaccent 8#316 /Imacron 8#317 /Lcommaaccent\n");
680 printf(" 8#320 /Scaron 8#321 /Nacute 8#322 /Ncommaaccent 8#323 /Oacute\n");
681 printf(" 8#324 /Omacron 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply\n");
682 printf(" 8#330 /Uogonek 8#331 /Lslash 8#332 /Uacute 8#333 /Ucircumflex\n");
683 printf(" 8#334 /Udieresis 8#335 /Zdotaccent 8#336 /Zcaron 8#337 /germandbls\n");
684 printf(" 8#340 /aogonek 8#341 /Iogonek 8#342 /amacron 8#343 /cacute\n");
685 printf(" 8#344 /adieresis 8#345 /aring 8#346 /eogonek 8#347 /emacron\n");
686 printf(" 8#350 /ccaron 8#351 /eacute 8#352 /zacute 8#353 /edotaccent\n");
687 printf(" 8#354 /gcommaaccent 8#355 /kcommaaccent 8#356 /imacron 8#357 /lcommaaccent\n");
688 printf(" 8#360 /scaron 8#361 /nacute 8#362 /ncommaaccent 8#363 /oacute\n");
689 printf(" 8#364 /omacron 8#365 /otilde 8#366 /odieresis 8#367 /divide\n");
690 printf(" 8#370 /uogonek 8#371 /lslash 8#372 /uacute 8#373 /ucircumflex\n");
691 printf(" 8#374 /udieresis 8#375 /zdotaccent 8#376 /zcaron 8#377 /quoteright\n");
692 printf("] readonly def\n");
693
694 return;
695 }
696
697 /* ---------------------------------------------------------------------------
698
699 encvec_iso8859_14
700
701 Notes:
702
703 This routine outputs a particular PostScript encoding vector, used to
704 support any languages which use that encoding.
705
706 */
encvec_iso8859_14(void)707 void encvec_iso8859_14 (void)
708 {
709 printf("%%\n");
710 printf("%% ISO 8859-14 (Latin8) character mappings\n");
711 printf("%% \n");
712 printf("%% This PostScript encoding vector was derived from the information at the following\n");
713 printf("%% website (circa Jan 2005), which covers several character mappings:\n");
714 printf("%% \n");
715 printf("%% http://bibliofile.mc.duke.edu/gww/fonts/postscript-utilities/encoding-vectors.html\n");
716 printf("%% \n");
717 printf("/alt_mappings [\n");
718 printf(" 8#240 /uni00A0 8#241 /uni1E02 8#242 /uni1E03 8#243 /sterling\n");
719 printf(" 8#244 /Cdotaccent 8#245 /cdotaccent 8#246 /uni1E0A 8#247 /section\n");
720 printf(" 8#250 /Wgrave 8#251 /copyright 8#252 /Wacute 8#253 /uni1E0B\n");
721 printf(" 8#254 /Ygrave 8#255 /uni00AD 8#256 /registered 8#257 /Ydieresis\n");
722 printf(" 8#260 /uni1E1E 8#261 /uni1E1F 8#262 /Gdotaccent 8#263 /gdotaccent\n");
723 printf(" 8#264 /uni1E40 8#265 /uni1E41 8#266 /paragraph 8#267 /uni1E56\n");
724 printf(" 8#270 /wgrave 8#271 /uni1E57 8#272 /wacute 8#273 /uni1E60\n");
725 printf(" 8#274 /ygrave 8#275 /Wdieresis 8#276 /wdieresis 8#277 /uni1E61\n");
726 printf(" 8#300 /Agrave 8#301 /Aacute 8#302 /Acircumflex 8#303 /Atilde\n");
727 printf(" 8#304 /Adieresis 8#305 /Aring 8#306 /AE 8#307 /Ccedilla\n");
728 printf(" 8#310 /Egrave 8#311 /Eacute 8#312 /Ecircumflex 8#313 /Edieresis\n");
729 printf(" 8#314 /Igrave 8#315 /Iacute 8#316 /Icircumflex 8#317 /Idieresis\n");
730 printf(" 8#320 /Wcircumflex 8#321 /Ntilde 8#322 /Ograve 8#323 /Oacute\n");
731 printf(" 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /uni1E6A\n");
732 printf(" 8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex\n");
733 printf(" 8#334 /Udieresis 8#335 /Yacute 8#336 /Ycircumflex 8#337 /germandbls\n");
734 printf(" 8#340 /agrave 8#341 /aacute 8#342 /acircumflex 8#343 /atilde\n");
735 printf(" 8#344 /adieresis 8#345 /aring 8#346 /ae 8#347 /ccedilla\n");
736 printf(" 8#350 /egrave 8#351 /eacute 8#352 /ecircumflex 8#353 /edieresis\n");
737 printf(" 8#354 /igrave 8#355 /iacute 8#356 /icircumflex 8#357 /idieresis\n");
738 printf(" 8#360 /wcircumflex 8#361 /ntilde 8#362 /ograve 8#363 /oacute\n");
739 printf(" 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /uni1E6B\n");
740 printf(" 8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex\n");
741 printf(" 8#374 /udieresis 8#375 /yacute 8#376 /ycircumflex 8#377 /ydieresis\n");
742 printf("] readonly def\n");
743
744 return;
745 }
746
747 /* ---------------------------------------------------------------------------
748
749 encvec_iso8859_15
750
751 Notes:
752
753 This routine outputs a particular PostScript encoding vector, used to
754 support any languages which use that encoding.
755
756 */
encvec_iso8859_15(void)757 void encvec_iso8859_15 (void)
758 {
759 printf("%%\n");
760 printf("%% ISO 8859-15 (Latin9 aka Latin0) character mappings\n");
761 printf("%% \n");
762 printf("%% This PostScript encoding vector was derived from the information at the following\n");
763 printf("%% website (circa Jan 2005), which covers several character mappings:\n");
764 printf("%% \n");
765 printf("%% http://bibliofile.mc.duke.edu/gww/fonts/postscript-utilities/encoding-vectors.html\n");
766 printf("%% \n");
767 printf("/alt_mappings [\n");
768 printf(" 8#240 /uni00A0 8#241 /exclamdown 8#242 /cent 8#243 /sterling\n");
769 printf(" 8#244 /Euro 8#245 /yen 8#246 /Scaron 8#247 /section\n");
770 printf(" 8#250 /scaron 8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft\n");
771 printf(" 8#254 /logicalnot 8#255 /uni00AD 8#256 /registered 8#257 /macron\n");
772 printf(" 8#260 /degree 8#261 /plusminus 8#262 /twosuperior 8#263 /threesuperior\n");
773 printf(" 8#264 /Zcaron 8#265 /mu 8#266 /paragraph 8#267 /periodcentered\n");
774 printf(" 8#270 /zcaron 8#271 /onesuperior 8#272 /ordmasculine 8#273 /guillemotright\n");
775 printf(" 8#274 /OE 8#275 /oe 8#276 /Ydieresis 8#277 /questiondown\n");
776 printf(" 8#300 /Agrave 8#301 /Aacute 8#302 /Acircumflex 8#303 /Atilde\n");
777 printf(" 8#304 /Adieresis 8#305 /Aring 8#306 /AE 8#307 /Ccedilla\n");
778 printf(" 8#310 /Egrave 8#311 /Eacute 8#312 /Ecircumflex 8#313 /Edieresis\n");
779 printf(" 8#314 /Igrave 8#315 /Iacute 8#316 /Icircumflex 8#317 /Idieresis\n");
780 printf(" 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve 8#323 /Oacute\n");
781 printf(" 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply\n");
782 printf(" 8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex\n");
783 printf(" 8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls\n");
784 printf(" 8#340 /agrave 8#341 /aacute 8#342 /acircumflex 8#343 /atilde\n");
785 printf(" 8#344 /adieresis 8#345 /aring 8#346 /ae 8#347 /ccedilla\n");
786 printf(" 8#350 /egrave 8#351 /eacute 8#352 /ecircumflex 8#353 /edieresis\n");
787 printf(" 8#354 /igrave 8#355 /iacute 8#356 /icircumflex 8#357 /idieresis\n");
788 printf(" 8#360 /eth 8#361 /ntilde 8#362 /ograve 8#363 /oacute\n");
789 printf(" 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide\n");
790 printf(" 8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex\n");
791 printf(" 8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis\n");
792 printf("] readonly def\n");
793
794 return;
795 }
796
797 /* ---------------------------------------------------------------------------
798
799 encvec_iso8859_16
800
801 Notes:
802
803 This routine outputs a particular PostScript encoding vector, used to
804 support any languages which use that encoding.
805
806 */
encvec_iso8859_16(void)807 void encvec_iso8859_16 (void)
808 {
809 printf("%%%%%% %%\n");
810 printf("%%%%%% %% ISO 8859-16 (Latin10) character mappings\n");
811 printf("%%%%%% %% \n");
812 printf("%%%%%% %% This PostScript encoding vector is currently undefined because the\n");
813 printf("%%%%%% %% information needed to create it was not found.\n");
814 printf("%%%%%% %% \n");
815 printf("%%%%%% /alt_mappings [\n");
816 printf("%%%%%% ] readonly def\n");
817
818 return;
819 }
820
821 /* ---------------------------------------------------------------------------
822
823 encvec_koi8_r
824
825 Notes:
826
827 This routine outputs a particular PostScript encoding vector, used to
828 support any languages which use that encoding.
829
830 */
encvec_koi8_r(void)831 void encvec_koi8_r (void)
832 {
833 printf("%%\n");
834 printf("%% KOI8-R (Russian) character mappings\n");
835 printf("%% \n");
836 printf("%% This PostScript encoding vector was derived from the information at the following\n");
837 printf("%% website (circa Jan 2005), which covers several character mappings:\n");
838 printf("%% \n");
839 printf("%% http://bibliofile.mc.duke.edu/gww/fonts/postscript-utilities/encoding-vectors.html\n");
840 printf("%% \n");
841 printf("/alt_mappings [\n");
842 printf(" 8#200 /SF100000 8#201 /SF110000 8#202 /SF010000 8#203 /SF030000\n");
843 printf(" 8#204 /SF020000 8#205 /SF040000 8#206 /SF080000 8#207 /SF090000\n");
844 printf(" 8#210 /SF060000 8#211 /SF070000 8#212 /SF050000 8#213 /upblock\n");
845 printf(" 8#214 /dnblock 8#215 /block 8#216 /lfblock 8#217 /rtblock\n");
846 printf(" 8#220 /ltshade 8#221 /shade 8#222 /dkshade 8#223 /integraltp\n");
847 printf(" 8#224 /filledbox 8#225 /uni2219 8#226 /radical 8#227 /approxequal\n");
848 printf(" 8#230 /lessequal 8#231 /greaterequal 8#232 /uni00A0 8#233 /integralbt\n");
849 printf(" 8#234 /degree 8#235 /twosuperior 8#236 /periodcentered 8#237 /divide\n");
850 printf(" 8#240 /SF430000 8#241 /SF240000 8#242 /SF510000 8#243 /afii10071\n");
851 printf(" 8#244 /SF520000 8#245 /SF390000 8#246 /SF220000 8#247 /SF210000\n");
852 printf(" 8#250 /SF250000 8#251 /SF500000 8#252 /SF490000 8#253 /SF380000\n");
853 printf(" 8#254 /SF280000 8#255 /SF270000 8#256 /SF260000 8#257 /SF360000\n");
854 printf(" 8#260 /SF370000 8#261 /SF420000 8#262 /SF190000 8#263 /afii10023\n");
855 printf(" 8#264 /SF200000 8#265 /SF230000 8#266 /SF470000 8#267 /SF480000\n");
856 printf(" 8#270 /SF410000 8#271 /SF450000 8#272 /SF460000 8#273 /SF400000\n");
857 printf(" 8#274 /SF540000 8#275 /SF530000 8#276 /SF440000 8#277 /copyright\n");
858 printf(" 8#300 /afii10096 8#301 /afii10065 8#302 /afii10066 8#303 /afii10088\n");
859 printf(" 8#304 /afii10069 8#305 /afii10070 8#306 /afii10086 8#307 /afii10068\n");
860 printf(" 8#310 /afii10087 8#311 /afii10074 8#312 /afii10075 8#313 /afii10076\n");
861 printf(" 8#314 /afii10077 8#315 /afii10078 8#316 /afii10079 8#317 /afii10080\n");
862 printf(" 8#320 /afii10081 8#321 /afii10097 8#322 /afii10082 8#323 /afii10083\n");
863 printf(" 8#324 /afii10084 8#325 /afii10085 8#326 /afii10072 8#327 /afii10067\n");
864 printf(" 8#330 /afii10094 8#331 /afii10093 8#332 /afii10073 8#333 /afii10090\n");
865 printf(" 8#334 /afii10095 8#335 /afii10091 8#336 /afii10089 8#337 /afii10092\n");
866 printf(" 8#340 /afii10048 8#341 /afii10017 8#342 /afii10018 8#343 /afii10040\n");
867 printf(" 8#344 /afii10021 8#345 /afii10022 8#346 /afii10038 8#347 /afii10020\n");
868 printf(" 8#350 /afii10039 8#351 /afii10026 8#352 /afii10027 8#353 /afii10028\n");
869 printf(" 8#354 /afii10029 8#355 /afii10030 8#356 /afii10031 8#357 /afii10032\n");
870 printf(" 8#360 /afii10033 8#361 /afii10049 8#362 /afii10034 8#363 /afii10035\n");
871 printf(" 8#364 /afii10036 8#365 /afii10037 8#366 /afii10024 8#367 /afii10019\n");
872 printf(" 8#370 /afii10046 8#371 /afii10045 8#372 /afii10025 8#373 /afii10042\n");
873 printf(" 8#374 /afii10047 8#375 /afii10043 8#376 /afii10041 8#377 /afii10044\n");
874 printf("] readonly def\n");
875
876 return;
877 }
878
879 /* ---------------------------------------------------------------------------
880
881 encvec_iso8859_koi8_u
882
883 Notes:
884
885 This routine outputs a particular PostScript encoding vector, used to
886 support any languages which use that encoding.
887
888 */
encvec_koi8_u(void)889 void encvec_koi8_u (void)
890 {
891 printf("%%\n");
892 printf("%% KOI8-U (Ukrainian) character mappings\n");
893 printf("%% \n");
894 printf("%% This PostScript encoding vector came from the Ukrainian language patch\n");
895 printf("%% provided by Volodymyr M. Lisivka <lvm at mystery.lviv.net>.\n");
896 printf("%% \n");
897 printf("/alt_mappings [\n");
898 printf(" 8#200 /SF100000 8#201 /SF110000 8#202 /SF010000 8#203 /SF030000\n");
899 printf(" 8#204 /SF020000 8#205 /SF040000 8#206 /SF080000 8#207 /SF090000\n");
900 printf(" 8#210 /SF060000 8#211 /SF070000 8#212 /SF050000 8#213 /upblock\n");
901 printf(" 8#214 /dnblock 8#215 /block 8#216 /lfblock 8#217 /rtblock\n");
902 printf(" 8#220 /ltshade 8#221 /shade 8#222 /dkshade 8#223 /integraltp\n");
903 printf(" 8#224 /filledbox 8#225 /periodcentered 8#226 /radical 8#227 /approxequal\n");
904 printf(" 8#230 /lessequal 8#231 /greaterequal 8#232 /space 8#233 /integralbt\n");
905 printf(" 8#234 /degree 8#235 /twosuperior 8#236 /periodcentered 8#237 /divide\n");
906 printf(" 8#240 /SF430000 8#241 /SF240000 8#242 /SF510000 8#243 /afii10071\n");
907 printf(" 8#244 /afii10101 8#245 /SF390000 8#246 /afii10103 8#247 /afii10104\n");
908 printf(" 8#250 /SF250000 8#251 /SF500000 8#252 /SF490000 8#253 /SF380000\n");
909 printf(" 8#254 /SF280000 8#255 /afii10098 8#256 /SF260000 8#257 /SF360000\n");
910 printf(" 8#260 /SF370000 8#261 /SF420000 8#262 /SF190000 8#263 /afii10023\n");
911 printf(" 8#264 /afii10053 8#265 /SF230000 8#266 /afii10055 8#267 /afii10056\n");
912 printf(" 8#270 /SF410000 8#271 /SF450000 8#272 /SF460000 8#273 /SF400000\n");
913 printf(" 8#274 /SF540000 8#275 /afii10050 8#276 /SF440000 8#277 /copyright\n");
914 printf(" 8#300 /afii10096 8#301 /afii10065 8#302 /afii10066 8#303 /afii10088\n");
915 printf(" 8#304 /afii10069 8#305 /afii10070 8#306 /afii10086 8#307 /afii10068\n");
916 printf(" 8#310 /afii10087 8#311 /afii10074 8#312 /afii10075 8#313 /afii10076\n");
917 printf(" 8#314 /afii10077 8#315 /afii10078 8#316 /afii10079 8#317 /afii10080\n");
918 printf(" 8#320 /afii10081 8#321 /afii10097 8#322 /afii10082 8#323 /afii10083\n");
919 printf(" 8#324 /afii10084 8#325 /afii10085 8#326 /afii10072 8#327 /afii10067\n");
920 printf(" 8#330 /afii10094 8#331 /afii10093 8#332 /afii10073 8#333 /afii10090\n");
921 printf(" 8#334 /afii10095 8#335 /afii10091 8#336 /afii10089 8#337 /afii10092\n");
922 printf(" 8#340 /afii10048 8#341 /afii10017 8#342 /afii10018 8#343 /afii10040\n");
923 printf(" 8#344 /afii10021 8#345 /afii10022 8#346 /afii10038 8#347 /afii10020\n");
924 printf(" 8#350 /afii10039 8#351 /afii10026 8#352 /afii10027 8#353 /afii10028\n");
925 printf(" 8#354 /afii10029 8#355 /afii10030 8#356 /afii10031 8#357 /afii10032\n");
926 printf(" 8#360 /afii10033 8#361 /afii10049 8#362 /afii10034 8#363 /afii10035\n");
927 printf(" 8#364 /afii10036 8#365 /afii10037 8#366 /afii10024 8#367 /afii10019\n");
928 printf(" 8#370 /afii10046 8#371 /afii10045 8#372 /afii10025 8#373 /afii10042\n");
929 printf(" 8#374 /afii10047 8#375 /afii10043 8#376 /afii10041 8#377 /afii10044\n");
930 printf("] readonly def\n");
931
932 return;
933 }
934
935 /* ---------------------------------------------------------------------------
936
937 encvec_roman8
938
939 Notes:
940
941 This routine outputs a particular PostScript encoding vector, used to
942 support any languages which use that encoding.
943
944 */
encvec_roman8(void)945 void encvec_roman8 (void)
946 {
947 printf("%%\n");
948 printf("%% Roman8 character mappings\n");
949 printf("%%\n");
950 printf("/alt_mappings [\n");
951 printf(" 8#241 /Agrave 8#242 /Acircumflex 8#243 /Egrave\n");
952 printf(" 8#244 /Ecircumflex 8#245 /Edieresis 8#246 /Icircumflex 8#247 /Idieresis\n");
953 printf(" 8#250 /acute 8#251 /grave 8#252 /circumflex 8#253 /dieresis\n");
954 printf(" 8#254 /tilde 8#255 /Ugrave 8#256 /Ucircumflex 8#257 /sterling\n");
955 printf(" 8#260 /macron 8#261 /Yacute 8#262 /yacute 8#263 /degree\n");
956 printf(" 8#264 /Ccedilla 8#265 /ccedilla 8#266 /Ntilde 8#267 /ntilde\n");
957 printf(" 8#270 /exclamdown 8#271 /questiondown 8#272 /currency 8#273 /sterling\n");
958 printf(" 8#274 /yen 8#275 /section 8#276 /florin 8#277 /cent\n");
959 printf(" 8#300 /acircumflex 8#301 /ecircumflex 8#302 /ocircumflex 8#303 /ucircumflex\n");
960 printf(" 8#304 /aacute 8#305 /eacute 8#306 /oacute 8#307 /uacute\n");
961 printf(" 8#310 /agrave 8#311 /egrave 8#312 /ograve 8#313 /ugrave\n");
962 printf(" 8#314 /adieresis 8#315 /edieresis 8#316 /odieresis 8#317 /udieresis\n");
963 printf(" 8#320 /Aring 8#321 /icircumflex 8#322 /Oslash 8#323 /AE\n");
964 printf(" 8#324 /aring 8#325 /iacute 8#326 /oslash 8#327 /ae\n");
965 printf(" 8#330 /Adieresis 8#331 /igrave 8#332 /Odieresis 8#333 /Udieresis\n");
966 printf(" 8#334 /Eacute 8#335 /idieresis 8#336 /germandbls 8#337 /Ocircumflex\n");
967 printf(" 8#340 /Aacute 8#341 /Atilde 8#342 /atilde 8#343 /Eth\n");
968 printf(" 8#344 /eth 8#345 /Iacute 8#346 /Igrave 8#347 /Oacute\n");
969 printf(" 8#350 /Ograve 8#351 /Otilde 8#352 /otilde 8#353 /Scaron\n");
970 printf(" 8#354 /scaron 8#355 /Uacute 8#356 /Ydieresis 8#357 /ydieresis\n");
971 printf(" 8#360 /thorn 8#361 /Thorn 8#362 /dotaccent 8#363 /mu\n");
972 printf(" 8#364 /paragraph 8#365 /threequarters 8#366 /hyphen 8#367 /onequarter\n");
973 printf(" 8#370 /onehalf 8#371 /ordfeminine 8#372 /ordmasculine 8#373 /guillemotleft\n");
974 printf(" 8#374 /bullet 8#375 /guillemotright 8#376 /plusminus 8#377 /.notdef\n");
975 printf("] readonly def\n");
976
977 return;
978 }
979