summaryrefslogtreecommitdiff
path: root/fonts/utilities/vfinst/DOA2E
blob: 0f8a32e7a045505707be06ed8dbac2b0b6decc62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
### Now to load glyph number vs proper glyph names for expert fonts.

@glyphexptable=(
  "32 space",
  "33 exclamsmall",
  "34 Hungarumlautsmall",
  "36 dollaroldstyle",
  "37 dollarsuperior",
  "38 ampersandsmall",
  "39 Acutesmall",
  "40 parenleftsuperior",
  "41 parenrightsuperior",
  "42 twodotenleader",
  "43 onedotenleader",
  "44 comma",
  "45 hyphen",
  "46 period",
  "47 fraction",
  "48 zerooldstyle",
  "49 oneoldstyle",
  "50 twooldstyle",
  "51 threeoldstyle",
  "52 fouroldstyle",
  "53 fiveoldstyle",
  "54 sixoldstyle",
  "55 sevenoldstyle",
  "56 eightoldstyle",
  "57 nineoldstyle",
  "58 colon",
  "59 semicolon",
  "60 commasuperior",
  "61 threequartersemdash",
  "62 periodsuperior",
  "63 questionsmall",
  "65 asuperior",
  "66 bsuperior",
  "67 centsuperior",
  "68 dsuperior",
  "69 esuperior",
  "73 isuperior",
  "76 lsuperior",
  "77 msuperior",
  "78 nsuperior",
  "79 osuperior",
  "82 rsuperior",
  "83 ssuperior",
  "84 tsuperior",
  "86 ff",
  "87 fi",
  "88 fl",
  "89 ffi",
  "90 ffl",
  "91 parenleftinferior",
  "93 parenrightinferior",
  "94 Circumflexsmall",
  "95 hyphensuperior",
  "96 Gravesmall",
  "97 Asmall",
  "98 Bsmall",
  "99 Csmall",
  "100 Dsmall",
  "101 Esmall",
  "102 Fsmall",
  "103 Gsmall",
  "104 Hsmall",
  "105 Ismall",
  "106 Jsmall",
  "107 Ksmall",
  "108 Lsmall",
  "109 Msmall",
  "110 Nsmall",
  "111 Osmall",
  "112 Psmall",
  "113 Qsmall",
  "114 Rsmall",
  "115 Ssmall",
  "116 Tsmall",
  "117 Usmall",
  "118 Vsmall",
  "119 Wsmall",
  "120 Xsmall",
  "121 Ysmall",
  "122 Zsmall",
  "123 colonmonetary",
  "124 onefitted",
  "125 rupiah",
  "126 Tildesmall",
  "161 exclamdownsmall",
  "162 centoldstyle",
  "163 Lslashsmall",
  "166 Scaronsmall",
  "167 Zcaronsmall",
  "168 Dieresissmall",
  "169 Brevesmall",
  "170 Caronsmall",
  "172 Dotaccentsmall",
  "175 Macronsmall",
  "178 figuredash",
  "179 hypheninferior",
  "182 Ogoneksmall",
  "183 Ringsmall",
  "184 Cedillasmall",
  "188 onequarter",
  "189 onehalf",
  "190 threequarters",
  "191 questiondownsmall",
  "192 oneeighth",
  "193 threeeighths",
  "194 fiveeighths",
  "195 seveneighths",
  "196 onethird",
  "197 twothirds",
  "200 zerosuperior",
  "201 onesuperior",
  "202 twosuperior",
  "203 threesuperior",
  "204 foursuperior",
  "205 fivesuperior",
  "206 sixsuperior",
  "207 sevensuperior",
  "208 eightsuperior",
  "209 ninesuperior",
  "210 zeroinferior",
  "211 oneinferior",
  "212 twoinferior",
  "213 threeinferior",
  "214 fourinferior",
  "215 fiveinferior",
  "216 sixinferior",
  "217 seveninferior",
  "218 eightinferior",
  "219 nineinferior",
  "220 centinferior",
  "221 dollarinferior",
  "222 periodinferior",
  "223 commainferior",
  "224 Agravesmall",
  "225 Aacutesmall",
  "226 Acircumflexsmall",
  "227 Atildesmall",
  "228 Adieresissmall",
  "229 Aringsmall",
  "230 AEsmall",
  "231 Ccedillasmall",
  "232 Egravesmall",
  "233 Eacutesmall",
  "234 Ecircumflexsmall",
  "235 Edieresissmall",
  "236 Igravesmall",
  "237 Iacutesmall",
  "238 Icircumflexsmall",
  "239 Idieresissmall",
  "240 Ethsmall",
  "241 Ntildesmall",
  "242 Ogravesmall",
  "243 Oacutesmall",
  "244 Ocircumflexsmall",
  "245 Otildesmall",
  "246 Odieresissmall",
  "247 OEsmall",
  "248 Oslashsmall",
  "249 Ugravesmall",
  "250 Uacutesmall",
  "251 Ucircumflexsmall",
  "252 Udieresissmall",
  "253 Yacutesmall",
  "254 Thornsmall",
  "255 Ydieresissmall",
	     );
sub loadglyphexpnames{
    foreach $pair (@glyphexptable) {
	local($glyphnumber, $properglyphname)=split(/ /, $pair, 2);
	$expglyphname[$glyphnumber]=$properglyphname;
    }
}

&loadglyphexpnames; # let 'er rip...

@glyphasetable=(  # This is the table of glyphs in the Adobe Stand'd Encoding (ASE)
  "32 space",
  "33 exclam",
  "34 quotedbl",
  "35 numbersign",
  "36 dollar",
  "37 percent",
  "38 ampersand",
  "39 quoteright",
  "40 parenleft",
  "41 parenright",
  "42 asterisk",
  "43 plus",
  "44 comma",
  "45 hyphen",
  "46 period",
  "47 slash",
  "48 zero",
  "49 one",
  "50 two",
  "51 three",
  "52 four",
  "53 five",
  "54 six",
  "55 seven",
  "56 eight",
  "57 nine",
  "58 colon",
  "59 semicolon",
  "60 less",
  "61 equal",
  "62 greater",
  "63 question",
  "64 at",
  "65 A",
  "66 B",
  "67 C",
  "68 D",
  "69 E",
  "70 F",
  "71 G",
  "72 H",
  "73 I",
  "74 J",
  "75 K",
  "76 L",
  "77 M",
  "78 N",
  "79 O",
  "80 P",
  "81 Q",
  "82 R",
  "83 S",
  "84 T",
  "85 U",
  "86 V",
  "87 W",
  "88 X",
  "89 Y",
  "90 Z",
  "91 bracketleft",
  "92 backslash",
  "93 bracketright",
  "94 asciicircum",
  "95 underscore",
  "96 quoteleft",
  "97 a",
  "98 b",
  "99 c",
  "100 d",
  "101 e",
  "102 f",
  "103 g",
  "104 h",
  "105 i",
  "106 j",
  "107 k",
  "108 l",
  "109 m",
  "110 n",
  "111 o",
  "112 p",
  "113 q",
  "114 r",
  "115 s",
  "116 t",
  "117 u",
  "118 v",
  "119 w",
  "120 x",
  "121 y",
  "122 z",
  "123 braceleft",
  "124 bar",
  "125 braceright",
  "126 asciitilde",
  "161 exclamdown",
  "162 cent",
  "163 sterling",
  "164 fraction",
  "165 yen",
  "166 florin",
  "167 section ",
  "168 currency",
  "169 quotesingle",
  "170 quotedblleft",
  "171 guillemotleft",
  "172 guilsinglleft",
  "173 guilsinglright",
  "174 fi",
  "175 fl",
  "177 endash",
  "178 dagger",
  "179 daggerdbl",
  "180 periodcentered",
  "182 paragraph",
  "183 bullet",
  "184 quotesinglbase",
  "185 quotedblbase",
  "186 quotedblright",
  "187 guillemotright",
  "188 ellipsis",
  "189 perthousand",
  "191 questiondown",
  "193 grave",
  "194 acute",
  "195 circumflex",
  "196 tilde",
  "197 macron",
  "198 breve",
  "199 dotaccent",
  "200 dieresis",
  "202 ring",
  "203 cedilla",
  "205 hungarumlaut",
  "206 ogonek",
  "207 caron",
  "208 emdash",
  "225 AE",
  "227 ordfeminine",
  "232 Lslash",
  "233 Oslash",
  "234 OE",
  "235 ordmasculine",
  "241 ae",
  "245 dotlessi",
  "248 lslash",
  "249 oslash",
  "250 oe",
  "251 germandbls",
		  );

sub loadglyphasenames{
    foreach $pair (@glyphasetable) {
	local($glyphnumber, $ASEglyphname)=split(/ /, $pair, 2);
	$aseglyphname[$glyphnumber]=$ASEglyphname;
    }
}

&loadglyphasenames;

## The two arrays are @aseglyphname and @expglyphname.

open (OUT, ">ase2exp.mtx");

foreach $i (32..251) {
    if ($aseglyphname[$i] eq $expglyphname[$i]) {
	push @unsets, "\\unsetglyph\{$aseglyphname[$i]\} \% char $i\n";
    } else {
	push @renames, "\\rename\{$aseglyphname[$i]\}\{$expglyphname[$i]\} \% char $i\n";
    }
}
print OUT "\\relax\n\n\\metrics\n\n";
print OUT @renames;
print OUT "\n";
print OUT "@unsets\n\\endmetrics";