file(s) added by xpdf 1.01.
[swftools.git] / pdf2swf / xpdf / BuiltinFontTables.cc
1 //========================================================================
2 //
3 // BuiltinFontTables.cc
4 //
5 // Copyright 2001-2002 Glyph & Cog, LLC
6 //
7 //========================================================================
8
9 #include <aconf.h>
10 #include <stdlib.h>
11 #include "FontEncodingTables.h"
12 #include "BuiltinFontTables.h"
13
14 static BuiltinFontWidth courierWidthsTab[] = {
15   { "Ntilde",                            600, NULL },
16   { "comma",                             600, NULL },
17   { "cedilla",                           600, NULL },
18   { "plusminus",                         600, NULL },
19   { "arrowup",                           600, NULL },
20   { "circumflex",                        600, NULL },
21   { "dotaccent",                         600, NULL },
22   { "LL",                                600, NULL },
23   { "asciitilde",                        600, NULL },
24   { "colon",                             600, NULL },
25   { "onehalf",                           600, NULL },
26   { "dollar",                            600, NULL },
27   { "ntilde",                            600, NULL },
28   { "left",                              600, NULL },
29   { "minus",                             600, NULL },
30   { "yen",                               600, NULL },
31   { "space",                             600, NULL },
32   { "questiondown",                      600, NULL },
33   { "emdash",                            600, NULL },
34   { "Agrave",                            600, NULL },
35   { "three",                             600, NULL },
36   { "numbersign",                        600, NULL },
37   { "A",                                 600, NULL },
38   { "B",                                 600, NULL },
39   { "C",                                 600, NULL },
40   { "D",                                 600, NULL },
41   { "E",                                 600, NULL },
42   { "onequarter",                        600, NULL },
43   { "F",                                 600, NULL },
44   { "G",                                 600, NULL },
45   { "H",                                 600, NULL },
46   { "I",                                 600, NULL },
47   { "J",                                 600, NULL },
48   { "K",                                 600, NULL },
49   { "L",                                 600, NULL },
50   { "backslash",                         600, NULL },
51   { "periodcentered",                    600, NULL },
52   { "M",                                 600, NULL },
53   { "N",                                 600, NULL },
54   { "O",                                 600, NULL },
55   { "P",                                 600, NULL },
56   { "Q",                                 600, NULL },
57   { "R",                                 600, NULL },
58   { "Aacute",                            600, NULL },
59   { "caron",                             600, NULL },
60   { "S",                                 600, NULL },
61   { "T",                                 600, NULL },
62   { "U",                                 600, NULL },
63   { "agrave",                            600, NULL },
64   { "V",                                 600, NULL },
65   { "tab",                               600, NULL },
66   { "W",                                 600, NULL },
67   { "ll",                                600, NULL },
68   { "equal",                             600, NULL },
69   { "question",                          600, NULL },
70   { "X",                                 600, NULL },
71   { "Y",                                 600, NULL },
72   { "Z",                                 600, NULL },
73   { "four",                              600, NULL },
74   { "a",                                 600, NULL },
75   { "b",                                 600, NULL },
76   { "c",                                 600, NULL },
77   { "d",                                 600, NULL },
78   { "e",                                 600, NULL },
79   { "f",                                 600, NULL },
80   { "g",                                 600, NULL },
81   { "bullet",                            600, NULL },
82   { "h",                                 600, NULL },
83   { "i",                                 600, NULL },
84   { "Oslash",                            600, NULL },
85   { "dagger",                            600, NULL },
86   { "j",                                 600, NULL },
87   { "k",                                 600, NULL },
88   { "l",                                 600, NULL },
89   { "m",                                 600, NULL },
90   { "n",                                 600, NULL },
91   { "o",                                 600, NULL },
92   { "ordfeminine",                       600, NULL },
93   { "ring",                              600, NULL },
94   { "p",                                 600, NULL },
95   { "q",                                 600, NULL },
96   { "r",                                 600, NULL },
97   { "twosuperior",                       600, NULL },
98   { "largebullet",                       600, NULL },
99   { "aacute",                            600, NULL },
100   { "s",                                 600, NULL },
101   { "OE",                                600, NULL },
102   { "t",                                 600, NULL },
103   { "divide",                            600, NULL },
104   { "u",                                 600, NULL },
105   { "v",                                 600, NULL },
106   { "w",                                 600, NULL },
107   { "x",                                 600, NULL },
108   { "y",                                 600, NULL },
109   { "z",                                 600, NULL },
110   { "hungarumlaut",                      600, NULL },
111   { "quotedbl",                          600, NULL },
112   { "mu",                                600, NULL },
113   { "Scaron",                            600, NULL },
114   { "Lslash",                            600, NULL },
115   { "semicolon",                         600, NULL },
116   { "oslash",                            600, NULL },
117   { "parenright",                        600, NULL },
118   { "Ecircumflex",                       600, NULL },
119   { "trademark",                         600, NULL },
120   { "daggerdbl",                         600, NULL },
121   { "macron",                            600, NULL },
122   { "Otilde",                            600, NULL },
123   { "ellipsis",                          600, NULL },
124   { "scaron",                            600, NULL },
125   { "AE",                                600, NULL },
126   { "Ucircumflex",                       600, NULL },
127   { "lslash",                            600, NULL },
128   { "lira",                              600, NULL },
129   { "quotedblleft",                      600, NULL },
130   { "hyphen",                            600, NULL },
131   { "guilsinglright",                    600, NULL },
132   { "quotesingle",                       600, NULL },
133   { "eight",                             600, NULL },
134   { "exclamdown",                        600, NULL },
135   { "endash",                            600, NULL },
136   { "oe",                                600, NULL },
137   { "ecircumflex",                       600, NULL },
138   { "copyright",                         600, NULL },
139   { "Adieresis",                         600, NULL },
140   { "Egrave",                            600, NULL },
141   { "slash",                             600, NULL },
142   { "Edieresis",                         600, NULL },
143   { "otilde",                            600, NULL },
144   { "Idieresis",                         600, NULL },
145   { "parenleft",                         600, NULL },
146   { "one",                               600, NULL },
147   { "ucircumflex",                       600, NULL },
148   { "Odieresis",                         600, NULL },
149   { "bracketleft",                       600, NULL },
150   { "Ugrave",                            600, NULL },
151   { "quoteright",                        600, NULL },
152   { "Udieresis",                         600, NULL },
153   { "perthousand",                       600, NULL },
154   { "Ydieresis",                         600, NULL },
155   { "Eacute",                            600, NULL },
156   { "adieresis",                         600, NULL },
157   { "egrave",                            600, NULL },
158   { "edieresis",                         600, NULL },
159   { "idieresis",                         600, NULL },
160   { "Eth",                               600, NULL },
161   { "ae",                                600, NULL },
162   { "asterisk",                          600, NULL },
163   { "odieresis",                         600, NULL },
164   { "Uacute",                            600, NULL },
165   { "ugrave",                            600, NULL },
166   { "five",                              600, NULL },
167   { "nine",                              600, NULL },
168   { "udieresis",                         600, NULL },
169   { "Zcaron",                            600, NULL },
170   { "threequarters",                     600, NULL },
171   { "guillemotright",                    600, NULL },
172   { "ydieresis",                         600, NULL },
173   { "Ccedilla",                          600, NULL },
174   { "tilde",                             600, NULL },
175   { "at",                                600, NULL },
176   { "eacute",                            600, NULL },
177   { "Gcaron",                            600, NULL },
178   { "underscore",                        600, NULL },
179   { "zero",                              600, NULL },
180   { "multiply",                          600, NULL },
181   { "Scedilla",                          600, NULL },
182   { "eth",                               600, NULL },
183   { "Ograve",                            600, NULL },
184   { "uacute",                            600, NULL },
185   { "braceleft",                         600, NULL },
186   { "Thorn",                             600, NULL },
187   { "zcaron",                            600, NULL },
188   { "ccedilla",                          600, NULL },
189   { "gcaron",                            600, NULL },
190   { "Oacute",                            600, NULL },
191   { "Ocircumflex",                       600, NULL },
192   { "scedilla",                          600, NULL },
193   { "ogonek",                            600, NULL },
194   { "arrowdown",                         600, NULL },
195   { "ograve",                            600, NULL },
196   { "thorn",                             600, NULL },
197   { "degree",                            600, NULL },
198   { "registered",                        600, NULL },
199   { "percent",                           600, NULL },
200   { "Aring",                             600, NULL },
201   { "six",                               600, NULL },
202   { "paragraph",                         600, NULL },
203   { "two",                               600, NULL },
204   { "Igrave",                            600, NULL },
205   { "oacute",                            600, NULL },
206   { "ocircumflex",                       600, NULL },
207   { "asciicircum",                       600, NULL },
208   { "aring",                             600, NULL },
209   { "square",                            600, NULL },
210   { "grave",                             600, NULL },
211   { "bracketright",                      600, NULL },
212   { "ampersand",                         600, NULL },
213   { "Iacute",                            600, NULL },
214   { "igrave",                            600, NULL },
215   { "return",                            600, NULL },
216   { "plus",                              600, NULL },
217   { "quotesinglbase",                    600, NULL },
218   { "Yacute",                            600, NULL },
219   { "threesuperior",                     600, NULL },
220   { "acute",                             600, NULL },
221   { "notegraphic",                       600, NULL },
222   { "section",                           600, NULL },
223   { "arrowleft",                         600, NULL },
224   { "dieresis",                          600, NULL },
225   { "quotedblbase",                      600, NULL },
226   { "iacute",                            600, NULL },
227   { "up",                                600, NULL },
228   { "florin",                            600, NULL },
229   { "yacute",                            600, NULL },
230   { "fi",                                600, NULL },
231   { "fl",                                600, NULL },
232   { "Acircumflex",                       600, NULL },
233   { "Icircumflex",                       600, NULL },
234   { "guillemotleft",                     600, NULL },
235   { "germandbls",                        600, NULL },
236   { "seven",                             600, NULL },
237   { "indent",                            600, NULL },
238   { "prescription",                      600, NULL },
239   { "dectab",                            600, NULL },
240   { "ordmasculine",                      600, NULL },
241   { "dotlessi",                          600, NULL },
242   { "sterling",                          600, NULL },
243   { "IJ",                                600, NULL },
244   { "acircumflex",                       600, NULL },
245   { "overscore",                         600, NULL },
246   { "braceright",                        600, NULL },
247   { "icircumflex",                       600, NULL },
248   { "graybox",                           600, NULL },
249   { "quotedblright",                     600, NULL },
250   { "center",                            600, NULL },
251   { "stop",                              600, NULL },
252   { "cent",                              600, NULL },
253   { "currency",                          600, NULL },
254   { "logicalnot",                        600, NULL },
255   { "Idot",                              600, NULL },
256   { "merge",                             600, NULL },
257   { "Atilde",                            600, NULL },
258   { "breve",                             600, NULL },
259   { "bar",                               600, NULL },
260   { "fraction",                          600, NULL },
261   { "less",                              600, NULL },
262   { "down",                              600, NULL },
263   { "guilsinglleft",                     600, NULL },
264   { "exclam",                            600, NULL },
265   { "period",                            600, NULL },
266   { "arrowright",                        600, NULL },
267   { "format",                            600, NULL },
268   { "greater",                           600, NULL },
269   { "atilde",                            600, NULL },
270   { "ij",                                600, NULL },
271   { "brokenbar",                         600, NULL },
272   { "arrowboth",                         600, NULL },
273   { "quoteleft",                         600, NULL },
274   { "onesuperior",                       600, NULL }
275 };
276
277 static BuiltinFontWidth courierBoldWidthsTab[] = {
278   { "Ntilde",                            600, NULL },
279   { "comma",                             600, NULL },
280   { "cedilla",                           600, NULL },
281   { "plusminus",                         600, NULL },
282   { "arrowup",                           600, NULL },
283   { "circumflex",                        600, NULL },
284   { "dotaccent",                         600, NULL },
285   { "LL",                                600, NULL },
286   { "asciitilde",                        600, NULL },
287   { "colon",                             600, NULL },
288   { "onehalf",                           600, NULL },
289   { "dollar",                            600, NULL },
290   { "ntilde",                            600, NULL },
291   { "left",                              600, NULL },
292   { "minus",                             600, NULL },
293   { "yen",                               600, NULL },
294   { "space",                             600, NULL },
295   { "questiondown",                      600, NULL },
296   { "emdash",                            600, NULL },
297   { "Agrave",                            600, NULL },
298   { "three",                             600, NULL },
299   { "numbersign",                        600, NULL },
300   { "A",                                 600, NULL },
301   { "B",                                 600, NULL },
302   { "C",                                 600, NULL },
303   { "D",                                 600, NULL },
304   { "E",                                 600, NULL },
305   { "onequarter",                        600, NULL },
306   { "F",                                 600, NULL },
307   { "G",                                 600, NULL },
308   { "H",                                 600, NULL },
309   { "I",                                 600, NULL },
310   { "J",                                 600, NULL },
311   { "K",                                 600, NULL },
312   { "backslash",                         600, NULL },
313   { "L",                                 600, NULL },
314   { "periodcentered",                    600, NULL },
315   { "M",                                 600, NULL },
316   { "N",                                 600, NULL },
317   { "O",                                 600, NULL },
318   { "P",                                 600, NULL },
319   { "Q",                                 600, NULL },
320   { "R",                                 600, NULL },
321   { "Aacute",                            600, NULL },
322   { "caron",                             600, NULL },
323   { "S",                                 600, NULL },
324   { "T",                                 600, NULL },
325   { "U",                                 600, NULL },
326   { "agrave",                            600, NULL },
327   { "V",                                 600, NULL },
328   { "tab",                               600, NULL },
329   { "W",                                 600, NULL },
330   { "ll",                                600, NULL },
331   { "X",                                 600, NULL },
332   { "question",                          600, NULL },
333   { "equal",                             600, NULL },
334   { "Y",                                 600, NULL },
335   { "Z",                                 600, NULL },
336   { "four",                              600, NULL },
337   { "a",                                 600, NULL },
338   { "b",                                 600, NULL },
339   { "c",                                 600, NULL },
340   { "d",                                 600, NULL },
341   { "e",                                 600, NULL },
342   { "f",                                 600, NULL },
343   { "g",                                 600, NULL },
344   { "bullet",                            600, NULL },
345   { "h",                                 600, NULL },
346   { "i",                                 600, NULL },
347   { "Oslash",                            600, NULL },
348   { "dagger",                            600, NULL },
349   { "j",                                 600, NULL },
350   { "k",                                 600, NULL },
351   { "l",                                 600, NULL },
352   { "m",                                 600, NULL },
353   { "n",                                 600, NULL },
354   { "o",                                 600, NULL },
355   { "ordfeminine",                       600, NULL },
356   { "ring",                              600, NULL },
357   { "p",                                 600, NULL },
358   { "q",                                 600, NULL },
359   { "r",                                 600, NULL },
360   { "twosuperior",                       600, NULL },
361   { "largebullet",                       600, NULL },
362   { "aacute",                            600, NULL },
363   { "s",                                 600, NULL },
364   { "OE",                                600, NULL },
365   { "t",                                 600, NULL },
366   { "divide",                            600, NULL },
367   { "u",                                 600, NULL },
368   { "v",                                 600, NULL },
369   { "w",                                 600, NULL },
370   { "x",                                 600, NULL },
371   { "y",                                 600, NULL },
372   { "z",                                 600, NULL },
373   { "hungarumlaut",                      600, NULL },
374   { "quotedbl",                          600, NULL },
375   { "mu",                                600, NULL },
376   { "Scaron",                            600, NULL },
377   { "Lslash",                            600, NULL },
378   { "semicolon",                         600, NULL },
379   { "oslash",                            600, NULL },
380   { "parenright",                        600, NULL },
381   { "Ecircumflex",                       600, NULL },
382   { "trademark",                         600, NULL },
383   { "daggerdbl",                         600, NULL },
384   { "macron",                            600, NULL },
385   { "Otilde",                            600, NULL },
386   { "ellipsis",                          600, NULL },
387   { "scaron",                            600, NULL },
388   { "AE",                                600, NULL },
389   { "Ucircumflex",                       600, NULL },
390   { "lslash",                            600, NULL },
391   { "lira",                              600, NULL },
392   { "quotedblleft",                      600, NULL },
393   { "guilsinglright",                    600, NULL },
394   { "hyphen",                            600, NULL },
395   { "quotesingle",                       600, NULL },
396   { "eight",                             600, NULL },
397   { "exclamdown",                        600, NULL },
398   { "endash",                            600, NULL },
399   { "oe",                                600, NULL },
400   { "ecircumflex",                       600, NULL },
401   { "copyright",                         600, NULL },
402   { "Adieresis",                         600, NULL },
403   { "Egrave",                            600, NULL },
404   { "slash",                             600, NULL },
405   { "Edieresis",                         600, NULL },
406   { "otilde",                            600, NULL },
407   { "Idieresis",                         600, NULL },
408   { "parenleft",                         600, NULL },
409   { "one",                               600, NULL },
410   { "ucircumflex",                       600, NULL },
411   { "Odieresis",                         600, NULL },
412   { "bracketleft",                       600, NULL },
413   { "Ugrave",                            600, NULL },
414   { "quoteright",                        600, NULL },
415   { "Udieresis",                         600, NULL },
416   { "perthousand",                       600, NULL },
417   { "Ydieresis",                         600, NULL },
418   { "Eacute",                            600, NULL },
419   { "adieresis",                         600, NULL },
420   { "egrave",                            600, NULL },
421   { "edieresis",                         600, NULL },
422   { "idieresis",                         600, NULL },
423   { "Eth",                               600, NULL },
424   { "ae",                                600, NULL },
425   { "asterisk",                          600, NULL },
426   { "odieresis",                         600, NULL },
427   { "Uacute",                            600, NULL },
428   { "ugrave",                            600, NULL },
429   { "nine",                              600, NULL },
430   { "five",                              600, NULL },
431   { "udieresis",                         600, NULL },
432   { "Zcaron",                            600, NULL },
433   { "threequarters",                     600, NULL },
434   { "guillemotright",                    600, NULL },
435   { "ydieresis",                         600, NULL },
436   { "Ccedilla",                          600, NULL },
437   { "tilde",                             600, NULL },
438   { "at",                                600, NULL },
439   { "eacute",                            600, NULL },
440   { "Gcaron",                            600, NULL },
441   { "underscore",                        600, NULL },
442   { "multiply",                          600, NULL },
443   { "zero",                              600, NULL },
444   { "eth",                               600, NULL },
445   { "Scedilla",                          600, NULL },
446   { "Ograve",                            600, NULL },
447   { "uacute",                            600, NULL },
448   { "braceleft",                         600, NULL },
449   { "Thorn",                             600, NULL },
450   { "zcaron",                            600, NULL },
451   { "ccedilla",                          600, NULL },
452   { "gcaron",                            600, NULL },
453   { "scedilla",                          600, NULL },
454   { "Ocircumflex",                       600, NULL },
455   { "Oacute",                            600, NULL },
456   { "arrowdown",                         600, NULL },
457   { "ogonek",                            600, NULL },
458   { "ograve",                            600, NULL },
459   { "thorn",                             600, NULL },
460   { "degree",                            600, NULL },
461   { "registered",                        600, NULL },
462   { "Aring",                             600, NULL },
463   { "percent",                           600, NULL },
464   { "six",                               600, NULL },
465   { "paragraph",                         600, NULL },
466   { "two",                               600, NULL },
467   { "Igrave",                            600, NULL },
468   { "ocircumflex",                       600, NULL },
469   { "oacute",                            600, NULL },
470   { "asciicircum",                       600, NULL },
471   { "square",                            600, NULL },
472   { "aring",                             600, NULL },
473   { "grave",                             600, NULL },
474   { "bracketright",                      600, NULL },
475   { "Iacute",                            600, NULL },
476   { "ampersand",                         600, NULL },
477   { "igrave",                            600, NULL },
478   { "return",                            600, NULL },
479   { "plus",                              600, NULL },
480   { "quotesinglbase",                    600, NULL },
481   { "Yacute",                            600, NULL },
482   { "threesuperior",                     600, NULL },
483   { "acute",                             600, NULL },
484   { "notegraphic",                       600, NULL },
485   { "section",                           600, NULL },
486   { "arrowleft",                         600, NULL },
487   { "dieresis",                          600, NULL },
488   { "iacute",                            600, NULL },
489   { "quotedblbase",                      600, NULL },
490   { "up",                                600, NULL },
491   { "florin",                            600, NULL },
492   { "yacute",                            600, NULL },
493   { "fi",                                600, NULL },
494   { "fl",                                600, NULL },
495   { "Acircumflex",                       600, NULL },
496   { "Icircumflex",                       600, NULL },
497   { "guillemotleft",                     600, NULL },
498   { "germandbls",                        600, NULL },
499   { "seven",                             600, NULL },
500   { "prescription",                      600, NULL },
501   { "indent",                            600, NULL },
502   { "dectab",                            600, NULL },
503   { "ordmasculine",                      600, NULL },
504   { "dotlessi",                          600, NULL },
505   { "sterling",                          600, NULL },
506   { "acircumflex",                       600, NULL },
507   { "IJ",                                600, NULL },
508   { "overscore",                         600, NULL },
509   { "icircumflex",                       600, NULL },
510   { "braceright",                        600, NULL },
511   { "graybox",                           600, NULL },
512   { "quotedblright",                     600, NULL },
513   { "center",                            600, NULL },
514   { "stop",                              600, NULL },
515   { "cent",                              600, NULL },
516   { "currency",                          600, NULL },
517   { "logicalnot",                        600, NULL },
518   { "merge",                             600, NULL },
519   { "Idot",                              600, NULL },
520   { "Atilde",                            600, NULL },
521   { "breve",                             600, NULL },
522   { "bar",                               600, NULL },
523   { "fraction",                          600, NULL },
524   { "less",                              600, NULL },
525   { "down",                              600, NULL },
526   { "guilsinglleft",                     600, NULL },
527   { "exclam",                            600, NULL },
528   { "period",                            600, NULL },
529   { "format",                            600, NULL },
530   { "arrowright",                        600, NULL },
531   { "greater",                           600, NULL },
532   { "ij",                                600, NULL },
533   { "atilde",                            600, NULL },
534   { "brokenbar",                         600, NULL },
535   { "arrowboth",                         600, NULL },
536   { "quoteleft",                         600, NULL },
537   { "onesuperior",                       600, NULL }
538 };
539
540 static BuiltinFontWidth courierBoldObliqueWidthsTab[] = {
541   { "Ntilde",                            600, NULL },
542   { "comma",                             600, NULL },
543   { "cedilla",                           600, NULL },
544   { "plusminus",                         600, NULL },
545   { "arrowup",                           600, NULL },
546   { "circumflex",                        600, NULL },
547   { "dotaccent",                         600, NULL },
548   { "LL",                                600, NULL },
549   { "asciitilde",                        600, NULL },
550   { "colon",                             600, NULL },
551   { "onehalf",                           600, NULL },
552   { "dollar",                            600, NULL },
553   { "ntilde",                            600, NULL },
554   { "left",                              600, NULL },
555   { "minus",                             600, NULL },
556   { "yen",                               600, NULL },
557   { "space",                             600, NULL },
558   { "questiondown",                      600, NULL },
559   { "emdash",                            600, NULL },
560   { "Agrave",                            600, NULL },
561   { "three",                             600, NULL },
562   { "numbersign",                        600, NULL },
563   { "A",                                 600, NULL },
564   { "B",                                 600, NULL },
565   { "C",                                 600, NULL },
566   { "D",                                 600, NULL },
567   { "E",                                 600, NULL },
568   { "onequarter",                        600, NULL },
569   { "F",                                 600, NULL },
570   { "G",                                 600, NULL },
571   { "H",                                 600, NULL },
572   { "I",                                 600, NULL },
573   { "J",                                 600, NULL },
574   { "K",                                 600, NULL },
575   { "backslash",                         600, NULL },
576   { "L",                                 600, NULL },
577   { "periodcentered",                    600, NULL },
578   { "M",                                 600, NULL },
579   { "N",                                 600, NULL },
580   { "O",                                 600, NULL },
581   { "P",                                 600, NULL },
582   { "Q",                                 600, NULL },
583   { "R",                                 600, NULL },
584   { "Aacute",                            600, NULL },
585   { "caron",                             600, NULL },
586   { "S",                                 600, NULL },
587   { "T",                                 600, NULL },
588   { "U",                                 600, NULL },
589   { "agrave",                            600, NULL },
590   { "V",                                 600, NULL },
591   { "tab",                               600, NULL },
592   { "W",                                 600, NULL },
593   { "ll",                                600, NULL },
594   { "X",                                 600, NULL },
595   { "question",                          600, NULL },
596   { "equal",                             600, NULL },
597   { "Y",                                 600, NULL },
598   { "Z",                                 600, NULL },
599   { "four",                              600, NULL },
600   { "a",                                 600, NULL },
601   { "b",                                 600, NULL },
602   { "c",                                 600, NULL },
603   { "d",                                 600, NULL },
604   { "e",                                 600, NULL },
605   { "f",                                 600, NULL },
606   { "g",                                 600, NULL },
607   { "bullet",                            600, NULL },
608   { "h",                                 600, NULL },
609   { "i",                                 600, NULL },
610   { "Oslash",                            600, NULL },
611   { "dagger",                            600, NULL },
612   { "j",                                 600, NULL },
613   { "k",                                 600, NULL },
614   { "l",                                 600, NULL },
615   { "m",                                 600, NULL },
616   { "n",                                 600, NULL },
617   { "o",                                 600, NULL },
618   { "ordfeminine",                       600, NULL },
619   { "ring",                              600, NULL },
620   { "p",                                 600, NULL },
621   { "q",                                 600, NULL },
622   { "r",                                 600, NULL },
623   { "twosuperior",                       600, NULL },
624   { "largebullet",                       600, NULL },
625   { "aacute",                            600, NULL },
626   { "s",                                 600, NULL },
627   { "OE",                                600, NULL },
628   { "t",                                 600, NULL },
629   { "divide",                            600, NULL },
630   { "u",                                 600, NULL },
631   { "v",                                 600, NULL },
632   { "w",                                 600, NULL },
633   { "x",                                 600, NULL },
634   { "y",                                 600, NULL },
635   { "z",                                 600, NULL },
636   { "hungarumlaut",                      600, NULL },
637   { "quotedbl",                          600, NULL },
638   { "mu",                                600, NULL },
639   { "Scaron",                            600, NULL },
640   { "Lslash",                            600, NULL },
641   { "semicolon",                         600, NULL },
642   { "oslash",                            600, NULL },
643   { "parenright",                        600, NULL },
644   { "Ecircumflex",                       600, NULL },
645   { "trademark",                         600, NULL },
646   { "daggerdbl",                         600, NULL },
647   { "macron",                            600, NULL },
648   { "Otilde",                            600, NULL },
649   { "ellipsis",                          600, NULL },
650   { "scaron",                            600, NULL },
651   { "AE",                                600, NULL },
652   { "Ucircumflex",                       600, NULL },
653   { "lslash",                            600, NULL },
654   { "lira",                              600, NULL },
655   { "quotedblleft",                      600, NULL },
656   { "guilsinglright",                    600, NULL },
657   { "hyphen",                            600, NULL },
658   { "quotesingle",                       600, NULL },
659   { "eight",                             600, NULL },
660   { "exclamdown",                        600, NULL },
661   { "endash",                            600, NULL },
662   { "oe",                                600, NULL },
663   { "ecircumflex",                       600, NULL },
664   { "copyright",                         600, NULL },
665   { "Adieresis",                         600, NULL },
666   { "Egrave",                            600, NULL },
667   { "slash",                             600, NULL },
668   { "Edieresis",                         600, NULL },
669   { "otilde",                            600, NULL },
670   { "Idieresis",                         600, NULL },
671   { "parenleft",                         600, NULL },
672   { "one",                               600, NULL },
673   { "ucircumflex",                       600, NULL },
674   { "Odieresis",                         600, NULL },
675   { "bracketleft",                       600, NULL },
676   { "Ugrave",                            600, NULL },
677   { "quoteright",                        600, NULL },
678   { "Udieresis",                         600, NULL },
679   { "perthousand",                       600, NULL },
680   { "Ydieresis",                         600, NULL },
681   { "Eacute",                            600, NULL },
682   { "adieresis",                         600, NULL },
683   { "egrave",                            600, NULL },
684   { "edieresis",                         600, NULL },
685   { "idieresis",                         600, NULL },
686   { "Eth",                               600, NULL },
687   { "ae",                                600, NULL },
688   { "asterisk",                          600, NULL },
689   { "odieresis",                         600, NULL },
690   { "Uacute",                            600, NULL },
691   { "ugrave",                            600, NULL },
692   { "nine",                              600, NULL },
693   { "five",                              600, NULL },
694   { "udieresis",                         600, NULL },
695   { "Zcaron",                            600, NULL },
696   { "threequarters",                     600, NULL },
697   { "guillemotright",                    600, NULL },
698   { "ydieresis",                         600, NULL },
699   { "Ccedilla",                          600, NULL },
700   { "tilde",                             600, NULL },
701   { "at",                                600, NULL },
702   { "eacute",                            600, NULL },
703   { "Gcaron",                            600, NULL },
704   { "underscore",                        600, NULL },
705   { "multiply",                          600, NULL },
706   { "zero",                              600, NULL },
707   { "eth",                               600, NULL },
708   { "Scedilla",                          600, NULL },
709   { "Ograve",                            600, NULL },
710   { "uacute",                            600, NULL },
711   { "braceleft",                         600, NULL },
712   { "Thorn",                             600, NULL },
713   { "zcaron",                            600, NULL },
714   { "ccedilla",                          600, NULL },
715   { "gcaron",                            600, NULL },
716   { "scedilla",                          600, NULL },
717   { "Ocircumflex",                       600, NULL },
718   { "Oacute",                            600, NULL },
719   { "arrowdown",                         600, NULL },
720   { "ogonek",                            600, NULL },
721   { "ograve",                            600, NULL },
722   { "thorn",                             600, NULL },
723   { "degree",                            600, NULL },
724   { "registered",                        600, NULL },
725   { "Aring",                             600, NULL },
726   { "percent",                           600, NULL },
727   { "six",                               600, NULL },
728   { "paragraph",                         600, NULL },
729   { "two",                               600, NULL },
730   { "Igrave",                            600, NULL },
731   { "ocircumflex",                       600, NULL },
732   { "oacute",                            600, NULL },
733   { "asciicircum",                       600, NULL },
734   { "square",                            600, NULL },
735   { "aring",                             600, NULL },
736   { "grave",                             600, NULL },
737   { "bracketright",                      600, NULL },
738   { "Iacute",                            600, NULL },
739   { "ampersand",                         600, NULL },
740   { "igrave",                            600, NULL },
741   { "return",                            600, NULL },
742   { "plus",                              600, NULL },
743   { "quotesinglbase",                    600, NULL },
744   { "Yacute",                            600, NULL },
745   { "threesuperior",                     600, NULL },
746   { "acute",                             600, NULL },
747   { "notegraphic",                       600, NULL },
748   { "section",                           600, NULL },
749   { "arrowleft",                         600, NULL },
750   { "dieresis",                          600, NULL },
751   { "iacute",                            600, NULL },
752   { "quotedblbase",                      600, NULL },
753   { "up",                                600, NULL },
754   { "florin",                            600, NULL },
755   { "yacute",                            600, NULL },
756   { "fi",                                600, NULL },
757   { "fl",                                600, NULL },
758   { "Acircumflex",                       600, NULL },
759   { "Icircumflex",                       600, NULL },
760   { "guillemotleft",                     600, NULL },
761   { "germandbls",                        600, NULL },
762   { "seven",                             600, NULL },
763   { "prescription",                      600, NULL },
764   { "indent",                            600, NULL },
765   { "dectab",                            600, NULL },
766   { "ordmasculine",                      600, NULL },
767   { "dotlessi",                          600, NULL },
768   { "sterling",                          600, NULL },
769   { "acircumflex",                       600, NULL },
770   { "IJ",                                600, NULL },
771   { "overscore",                         600, NULL },
772   { "icircumflex",                       600, NULL },
773   { "braceright",                        600, NULL },
774   { "graybox",                           600, NULL },
775   { "quotedblright",                     600, NULL },
776   { "center",                            600, NULL },
777   { "stop",                              600, NULL },
778   { "cent",                              600, NULL },
779   { "currency",                          600, NULL },
780   { "logicalnot",                        600, NULL },
781   { "merge",                             600, NULL },
782   { "Idot",                              600, NULL },
783   { "Atilde",                            600, NULL },
784   { "breve",                             600, NULL },
785   { "bar",                               600, NULL },
786   { "fraction",                          600, NULL },
787   { "less",                              600, NULL },
788   { "down",                              600, NULL },
789   { "guilsinglleft",                     600, NULL },
790   { "exclam",                            600, NULL },
791   { "period",                            600, NULL },
792   { "format",                            600, NULL },
793   { "arrowright",                        600, NULL },
794   { "greater",                           600, NULL },
795   { "ij",                                600, NULL },
796   { "atilde",                            600, NULL },
797   { "brokenbar",                         600, NULL },
798   { "arrowboth",                         600, NULL },
799   { "quoteleft",                         600, NULL },
800   { "onesuperior",                       600, NULL }
801 };
802
803 static BuiltinFontWidth courierObliqueWidthsTab[] = {
804   { "Ntilde",                            600, NULL },
805   { "comma",                             600, NULL },
806   { "cedilla",                           600, NULL },
807   { "plusminus",                         600, NULL },
808   { "arrowup",                           600, NULL },
809   { "circumflex",                        600, NULL },
810   { "dotaccent",                         600, NULL },
811   { "LL",                                600, NULL },
812   { "asciitilde",                        600, NULL },
813   { "colon",                             600, NULL },
814   { "onehalf",                           600, NULL },
815   { "dollar",                            600, NULL },
816   { "ntilde",                            600, NULL },
817   { "left",                              600, NULL },
818   { "minus",                             600, NULL },
819   { "yen",                               600, NULL },
820   { "space",                             600, NULL },
821   { "questiondown",                      600, NULL },
822   { "emdash",                            600, NULL },
823   { "Agrave",                            600, NULL },
824   { "three",                             600, NULL },
825   { "numbersign",                        600, NULL },
826   { "A",                                 600, NULL },
827   { "B",                                 600, NULL },
828   { "C",                                 600, NULL },
829   { "D",                                 600, NULL },
830   { "E",                                 600, NULL },
831   { "onequarter",                        600, NULL },
832   { "F",                                 600, NULL },
833   { "G",                                 600, NULL },
834   { "H",                                 600, NULL },
835   { "I",                                 600, NULL },
836   { "J",                                 600, NULL },
837   { "K",                                 600, NULL },
838   { "backslash",                         600, NULL },
839   { "L",                                 600, NULL },
840   { "periodcentered",                    600, NULL },
841   { "M",                                 600, NULL },
842   { "N",                                 600, NULL },
843   { "O",                                 600, NULL },
844   { "P",                                 600, NULL },
845   { "Q",                                 600, NULL },
846   { "R",                                 600, NULL },
847   { "Aacute",                            600, NULL },
848   { "caron",                             600, NULL },
849   { "S",                                 600, NULL },
850   { "T",                                 600, NULL },
851   { "U",                                 600, NULL },
852   { "agrave",                            600, NULL },
853   { "V",                                 600, NULL },
854   { "tab",                               600, NULL },
855   { "W",                                 600, NULL },
856   { "ll",                                600, NULL },
857   { "X",                                 600, NULL },
858   { "question",                          600, NULL },
859   { "equal",                             600, NULL },
860   { "Y",                                 600, NULL },
861   { "Z",                                 600, NULL },
862   { "four",                              600, NULL },
863   { "a",                                 600, NULL },
864   { "b",                                 600, NULL },
865   { "c",                                 600, NULL },
866   { "d",                                 600, NULL },
867   { "e",                                 600, NULL },
868   { "f",                                 600, NULL },
869   { "g",                                 600, NULL },
870   { "bullet",                            600, NULL },
871   { "h",                                 600, NULL },
872   { "i",                                 600, NULL },
873   { "Oslash",                            600, NULL },
874   { "dagger",                            600, NULL },
875   { "j",                                 600, NULL },
876   { "k",                                 600, NULL },
877   { "l",                                 600, NULL },
878   { "m",                                 600, NULL },
879   { "n",                                 600, NULL },
880   { "o",                                 600, NULL },
881   { "ordfeminine",                       600, NULL },
882   { "ring",                              600, NULL },
883   { "p",                                 600, NULL },
884   { "q",                                 600, NULL },
885   { "r",                                 600, NULL },
886   { "twosuperior",                       600, NULL },
887   { "largebullet",                       600, NULL },
888   { "aacute",                            600, NULL },
889   { "s",                                 600, NULL },
890   { "OE",                                600, NULL },
891   { "t",                                 600, NULL },
892   { "divide",                            600, NULL },
893   { "u",                                 600, NULL },
894   { "v",                                 600, NULL },
895   { "w",                                 600, NULL },
896   { "x",                                 600, NULL },
897   { "y",                                 600, NULL },
898   { "z",                                 600, NULL },
899   { "hungarumlaut",                      600, NULL },
900   { "quotedbl",                          600, NULL },
901   { "mu",                                600, NULL },
902   { "Scaron",                            600, NULL },
903   { "Lslash",                            600, NULL },
904   { "semicolon",                         600, NULL },
905   { "oslash",                            600, NULL },
906   { "parenright",                        600, NULL },
907   { "Ecircumflex",                       600, NULL },
908   { "trademark",                         600, NULL },
909   { "daggerdbl",                         600, NULL },
910   { "macron",                            600, NULL },
911   { "Otilde",                            600, NULL },
912   { "ellipsis",                          600, NULL },
913   { "scaron",                            600, NULL },
914   { "AE",                                600, NULL },
915   { "Ucircumflex",                       600, NULL },
916   { "lslash",                            600, NULL },
917   { "lira",                              600, NULL },
918   { "quotedblleft",                      600, NULL },
919   { "guilsinglright",                    600, NULL },
920   { "hyphen",                            600, NULL },
921   { "quotesingle",                       600, NULL },
922   { "eight",                             600, NULL },
923   { "exclamdown",                        600, NULL },
924   { "endash",                            600, NULL },
925   { "oe",                                600, NULL },
926   { "ecircumflex",                       600, NULL },
927   { "copyright",                         600, NULL },
928   { "Adieresis",                         600, NULL },
929   { "Egrave",                            600, NULL },
930   { "slash",                             600, NULL },
931   { "Edieresis",                         600, NULL },
932   { "otilde",                            600, NULL },
933   { "Idieresis",                         600, NULL },
934   { "parenleft",                         600, NULL },
935   { "one",                               600, NULL },
936   { "ucircumflex",                       600, NULL },
937   { "Odieresis",                         600, NULL },
938   { "bracketleft",                       600, NULL },
939   { "Ugrave",                            600, NULL },
940   { "quoteright",                        600, NULL },
941   { "Udieresis",                         600, NULL },
942   { "perthousand",                       600, NULL },
943   { "Ydieresis",                         600, NULL },
944   { "Eacute",                            600, NULL },
945   { "adieresis",                         600, NULL },
946   { "egrave",                            600, NULL },
947   { "edieresis",                         600, NULL },
948   { "idieresis",                         600, NULL },
949   { "Eth",                               600, NULL },
950   { "ae",                                600, NULL },
951   { "asterisk",                          600, NULL },
952   { "odieresis",                         600, NULL },
953   { "Uacute",                            600, NULL },
954   { "ugrave",                            600, NULL },
955   { "nine",                              600, NULL },
956   { "five",                              600, NULL },
957   { "udieresis",                         600, NULL },
958   { "Zcaron",                            600, NULL },
959   { "threequarters",                     600, NULL },
960   { "guillemotright",                    600, NULL },
961   { "ydieresis",                         600, NULL },
962   { "Ccedilla",                          600, NULL },
963   { "tilde",                             600, NULL },
964   { "at",                                600, NULL },
965   { "eacute",                            600, NULL },
966   { "Gcaron",                            600, NULL },
967   { "underscore",                        600, NULL },
968   { "multiply",                          600, NULL },
969   { "zero",                              600, NULL },
970   { "eth",                               600, NULL },
971   { "Scedilla",                          600, NULL },
972   { "Ograve",                            600, NULL },
973   { "uacute",                            600, NULL },
974   { "braceleft",                         600, NULL },
975   { "Thorn",                             600, NULL },
976   { "zcaron",                            600, NULL },
977   { "ccedilla",                          600, NULL },
978   { "gcaron",                            600, NULL },
979   { "scedilla",                          600, NULL },
980   { "Ocircumflex",                       600, NULL },
981   { "Oacute",                            600, NULL },
982   { "arrowdown",                         600, NULL },
983   { "ogonek",                            600, NULL },
984   { "ograve",                            600, NULL },
985   { "thorn",                             600, NULL },
986   { "degree",                            600, NULL },
987   { "registered",                        600, NULL },
988   { "Aring",                             600, NULL },
989   { "percent",                           600, NULL },
990   { "six",                               600, NULL },
991   { "paragraph",                         600, NULL },
992   { "two",                               600, NULL },
993   { "Igrave",                            600, NULL },
994   { "ocircumflex",                       600, NULL },
995   { "oacute",                            600, NULL },
996   { "asciicircum",                       600, NULL },
997   { "square",                            600, NULL },
998   { "aring",                             600, NULL },
999   { "grave",                             600, NULL },
1000   { "bracketright",                      600, NULL },
1001   { "Iacute",                            600, NULL },
1002   { "ampersand",                         600, NULL },
1003   { "igrave",                            600, NULL },
1004   { "return",                            600, NULL },
1005   { "plus",                              600, NULL },
1006   { "quotesinglbase",                    600, NULL },
1007   { "Yacute",                            600, NULL },
1008   { "threesuperior",                     600, NULL },
1009   { "acute",                             600, NULL },
1010   { "notegraphic",                       600, NULL },
1011   { "section",                           600, NULL },
1012   { "arrowleft",                         600, NULL },
1013   { "dieresis",                          600, NULL },
1014   { "iacute",                            600, NULL },
1015   { "quotedblbase",                      600, NULL },
1016   { "up",                                600, NULL },
1017   { "florin",                            600, NULL },
1018   { "yacute",                            600, NULL },
1019   { "fi",                                600, NULL },
1020   { "fl",                                600, NULL },
1021   { "Acircumflex",                       600, NULL },
1022   { "Icircumflex",                       600, NULL },
1023   { "guillemotleft",                     600, NULL },
1024   { "germandbls",                        600, NULL },
1025   { "seven",                             600, NULL },
1026   { "prescription",                      600, NULL },
1027   { "indent",                            600, NULL },
1028   { "dectab",                            600, NULL },
1029   { "ordmasculine",                      600, NULL },
1030   { "dotlessi",                          600, NULL },
1031   { "sterling",                          600, NULL },
1032   { "acircumflex",                       600, NULL },
1033   { "IJ",                                600, NULL },
1034   { "overscore",                         600, NULL },
1035   { "icircumflex",                       600, NULL },
1036   { "braceright",                        600, NULL },
1037   { "graybox",                           600, NULL },
1038   { "quotedblright",                     600, NULL },
1039   { "center",                            600, NULL },
1040   { "stop",                              600, NULL },
1041   { "cent",                              600, NULL },
1042   { "currency",                          600, NULL },
1043   { "logicalnot",                        600, NULL },
1044   { "merge",                             600, NULL },
1045   { "Idot",                              600, NULL },
1046   { "Atilde",                            600, NULL },
1047   { "breve",                             600, NULL },
1048   { "bar",                               600, NULL },
1049   { "fraction",                          600, NULL },
1050   { "less",                              600, NULL },
1051   { "down",                              600, NULL },
1052   { "guilsinglleft",                     600, NULL },
1053   { "exclam",                            600, NULL },
1054   { "period",                            600, NULL },
1055   { "format",                            600, NULL },
1056   { "arrowright",                        600, NULL },
1057   { "greater",                           600, NULL },
1058   { "ij",                                600, NULL },
1059   { "atilde",                            600, NULL },
1060   { "brokenbar",                         600, NULL },
1061   { "arrowboth",                         600, NULL },
1062   { "quoteleft",                         600, NULL },
1063   { "onesuperior",                       600, NULL }
1064 };
1065
1066 static BuiltinFontWidth helveticaWidthsTab[] = {
1067   { "Ntilde",                            722, NULL },
1068   { "comma",                             278, NULL },
1069   { "cedilla",                           333, NULL },
1070   { "plusminus",                         584, NULL },
1071   { "circumflex",                        333, NULL },
1072   { "dotaccent",                         333, NULL },
1073   { "asciitilde",                        584, NULL },
1074   { "colon",                             278, NULL },
1075   { "onehalf",                           834, NULL },
1076   { "dollar",                            556, NULL },
1077   { "ntilde",                            556, NULL },
1078   { "minus",                             584, NULL },
1079   { "yen",                               556, NULL },
1080   { "space",                             278, NULL },
1081   { "questiondown",                      611, NULL },
1082   { "emdash",                           1000, NULL },
1083   { "Agrave",                            667, NULL },
1084   { "three",                             556, NULL },
1085   { "numbersign",                        556, NULL },
1086   { "A",                                 667, NULL },
1087   { "B",                                 667, NULL },
1088   { "C",                                 722, NULL },
1089   { "D",                                 722, NULL },
1090   { "E",                                 667, NULL },
1091   { "onequarter",                        834, NULL },
1092   { "F",                                 611, NULL },
1093   { "G",                                 778, NULL },
1094   { "H",                                 722, NULL },
1095   { "I",                                 278, NULL },
1096   { "J",                                 500, NULL },
1097   { "K",                                 667, NULL },
1098   { "backslash",                         278, NULL },
1099   { "L",                                 556, NULL },
1100   { "periodcentered",                    278, NULL },
1101   { "M",                                 833, NULL },
1102   { "N",                                 722, NULL },
1103   { "O",                                 778, NULL },
1104   { "P",                                 667, NULL },
1105   { "Q",                                 778, NULL },
1106   { "R",                                 722, NULL },
1107   { "Aacute",                            667, NULL },
1108   { "caron",                             333, NULL },
1109   { "S",                                 667, NULL },
1110   { "T",                                 611, NULL },
1111   { "U",                                 722, NULL },
1112   { "agrave",                            556, NULL },
1113   { "V",                                 667, NULL },
1114   { "W",                                 944, NULL },
1115   { "X",                                 667, NULL },
1116   { "question",                          556, NULL },
1117   { "equal",                             584, NULL },
1118   { "Y",                                 667, NULL },
1119   { "Z",                                 611, NULL },
1120   { "four",                              556, NULL },
1121   { "a",                                 556, NULL },
1122   { "b",                                 556, NULL },
1123   { "c",                                 500, NULL },
1124   { "d",                                 556, NULL },
1125   { "e",                                 556, NULL },
1126   { "f",                                 278, NULL },
1127   { "g",                                 556, NULL },
1128   { "bullet",                            350, NULL },
1129   { "h",                                 556, NULL },
1130   { "i",                                 222, NULL },
1131   { "Oslash",                            778, NULL },
1132   { "dagger",                            556, NULL },
1133   { "j",                                 222, NULL },
1134   { "k",                                 500, NULL },
1135   { "l",                                 222, NULL },
1136   { "m",                                 833, NULL },
1137   { "n",                                 556, NULL },
1138   { "o",                                 556, NULL },
1139   { "ordfeminine",                       370, NULL },
1140   { "ring",                              333, NULL },
1141   { "p",                                 556, NULL },
1142   { "q",                                 556, NULL },
1143   { "r",                                 333, NULL },
1144   { "twosuperior",                       333, NULL },
1145   { "aacute",                            556, NULL },
1146   { "s",                                 500, NULL },
1147   { "OE",                               1000, NULL },
1148   { "t",                                 278, NULL },
1149   { "divide",                            584, NULL },
1150   { "u",                                 556, NULL },
1151   { "v",                                 500, NULL },
1152   { "w",                                 722, NULL },
1153   { "x",                                 500, NULL },
1154   { "y",                                 500, NULL },
1155   { "z",                                 500, NULL },
1156   { "hungarumlaut",                      333, NULL },
1157   { "quotedbl",                          355, NULL },
1158   { "mu",                                556, NULL },
1159   { "Scaron",                            667, NULL },
1160   { "Lslash",                            556, NULL },
1161   { "semicolon",                         278, NULL },
1162   { "oslash",                            611, NULL },
1163   { "parenright",                        333, NULL },
1164   { "Ecircumflex",                       667, NULL },
1165   { "trademark",                        1000, NULL },
1166   { "daggerdbl",                         556, NULL },
1167   { "macron",                            333, NULL },
1168   { "Otilde",                            778, NULL },
1169   { "ellipsis",                         1000, NULL },
1170   { "scaron",                            500, NULL },
1171   { "AE",                               1000, NULL },
1172   { "Ucircumflex",                       722, NULL },
1173   { "lslash",                            222, NULL },
1174   { "quotedblleft",                      333, NULL },
1175   { "guilsinglright",                    333, NULL },
1176   { "hyphen",                            333, NULL },
1177   { "quotesingle",                       191, NULL },
1178   { "eight",                             556, NULL },
1179   { "exclamdown",                        333, NULL },
1180   { "endash",                            556, NULL },
1181   { "oe",                                944, NULL },
1182   { "ecircumflex",                       556, NULL },
1183   { "copyright",                         737, NULL },
1184   { "Adieresis",                         667, NULL },
1185   { "Egrave",                            667, NULL },
1186   { "slash",                             278, NULL },
1187   { "Edieresis",                         667, NULL },
1188   { "otilde",                            556, NULL },
1189   { "Idieresis",                         278, NULL },
1190   { "parenleft",                         333, NULL },
1191   { "one",                               556, NULL },
1192   { "ucircumflex",                       556, NULL },
1193   { "Odieresis",                         778, NULL },
1194   { "bracketleft",                       278, NULL },
1195   { "Ugrave",                            722, NULL },
1196   { "quoteright",                        222, NULL },
1197   { "Udieresis",                         722, NULL },
1198   { "perthousand",                      1000, NULL },
1199   { "Ydieresis",                         667, NULL },
1200   { "Eacute",                            667, NULL },
1201   { "adieresis",                         556, NULL },
1202   { "egrave",                            556, NULL },
1203   { "edieresis",                         556, NULL },
1204   { "idieresis",                         278, NULL },
1205   { "Eth",                               722, NULL },
1206   { "ae",                                889, NULL },
1207   { "asterisk",                          389, NULL },
1208   { "odieresis",                         556, NULL },
1209   { "Uacute",                            722, NULL },
1210   { "ugrave",                            556, NULL },
1211   { "nine",                              556, NULL },
1212   { "five",                              556, NULL },
1213   { "udieresis",                         556, NULL },
1214   { "Zcaron",                            611, NULL },
1215   { "threequarters",                     834, NULL },
1216   { "guillemotright",                    556, NULL },
1217   { "ydieresis",                         500, NULL },
1218   { "Ccedilla",                          722, NULL },
1219   { "tilde",                             333, NULL },
1220   { "at",                               1015, NULL },
1221   { "eacute",                            556, NULL },
1222   { "underscore",                        556, NULL },
1223   { "multiply",                          584, NULL },
1224   { "zero",                              556, NULL },
1225   { "eth",                               556, NULL },
1226   { "Ograve",                            778, NULL },
1227   { "uacute",                            556, NULL },
1228   { "braceleft",                         334, NULL },
1229   { "Thorn",                             667, NULL },
1230   { "zcaron",                            500, NULL },
1231   { "ccedilla",                          500, NULL },
1232   { "Ocircumflex",                       778, NULL },
1233   { "Oacute",                            778, NULL },
1234   { "ogonek",                            333, NULL },
1235   { "ograve",                            556, NULL },
1236   { "thorn",                             556, NULL },
1237   { "degree",                            400, NULL },
1238   { "registered",                        737, NULL },
1239   { "Aring",                             667, NULL },
1240   { "percent",                           889, NULL },
1241   { "six",                               556, NULL },
1242   { "paragraph",                         537, NULL },
1243   { "two",                               556, NULL },
1244   { "Igrave",                            278, NULL },
1245   { "ocircumflex",                       556, NULL },
1246   { "oacute",                            556, NULL },
1247   { "asciicircum",                       469, NULL },
1248   { "aring",                             556, NULL },
1249   { "grave",                             333, NULL },
1250   { "bracketright",                      278, NULL },
1251   { "Iacute",                            278, NULL },
1252   { "ampersand",                         667, NULL },
1253   { "igrave",                            278, NULL },
1254   { "plus",                              584, NULL },
1255   { "quotesinglbase",                    222, NULL },
1256   { "Yacute",                            667, NULL },
1257   { "threesuperior",                     333, NULL },
1258   { "acute",                             333, NULL },
1259   { "section",                           556, NULL },
1260   { "dieresis",                          333, NULL },
1261   { "iacute",                            278, NULL },
1262   { "quotedblbase",                      333, NULL },
1263   { "florin",                            556, NULL },
1264   { "yacute",                            500, NULL },
1265   { "fi",                                500, NULL },
1266   { "fl",                                500, NULL },
1267   { "Acircumflex",                       667, NULL },
1268   { "Icircumflex",                       278, NULL },
1269   { "guillemotleft",                     556, NULL },
1270   { "germandbls",                        611, NULL },
1271   { "seven",                             556, NULL },
1272   { "ordmasculine",                      365, NULL },
1273   { "dotlessi",                          278, NULL },
1274   { "sterling",                          556, NULL },
1275   { "acircumflex",                       556, NULL },
1276   { "icircumflex",                       278, NULL },
1277   { "braceright",                        334, NULL },
1278   { "quotedblright",                     333, NULL },
1279   { "cent",                              556, NULL },
1280   { "currency",                          556, NULL },
1281   { "logicalnot",                        584, NULL },
1282   { "Atilde",                            667, NULL },
1283   { "breve",                             333, NULL },
1284   { "bar",                               260, NULL },
1285   { "fraction",                          167, NULL },
1286   { "less",                              584, NULL },
1287   { "guilsinglleft",                     333, NULL },
1288   { "exclam",                            278, NULL },
1289   { "period",                            278, NULL },
1290   { "greater",                           584, NULL },
1291   { "atilde",                            556, NULL },
1292   { "brokenbar",                         260, NULL },
1293   { "quoteleft",                         222, NULL },
1294   { "onesuperior",                       333, NULL }
1295 };
1296
1297 static BuiltinFontWidth helveticaBoldWidthsTab[] = {
1298   { "Ntilde",                            722, NULL },
1299   { "comma",                             278, NULL },
1300   { "cedilla",                           333, NULL },
1301   { "plusminus",                         584, NULL },
1302   { "circumflex",                        333, NULL },
1303   { "dotaccent",                         333, NULL },
1304   { "asciitilde",                        584, NULL },
1305   { "colon",                             333, NULL },
1306   { "onehalf",                           834, NULL },
1307   { "dollar",                            556, NULL },
1308   { "ntilde",                            611, NULL },
1309   { "minus",                             584, NULL },
1310   { "yen",                               556, NULL },
1311   { "space",                             278, NULL },
1312   { "questiondown",                      611, NULL },
1313   { "emdash",                           1000, NULL },
1314   { "Agrave",                            722, NULL },
1315   { "three",                             556, NULL },
1316   { "numbersign",                        556, NULL },
1317   { "A",                                 722, NULL },
1318   { "B",                                 722, NULL },
1319   { "C",                                 722, NULL },
1320   { "D",                                 722, NULL },
1321   { "E",                                 667, NULL },
1322   { "onequarter",                        834, NULL },
1323   { "F",                                 611, NULL },
1324   { "G",                                 778, NULL },
1325   { "H",                                 722, NULL },
1326   { "I",                                 278, NULL },
1327   { "J",                                 556, NULL },
1328   { "K",                                 722, NULL },
1329   { "backslash",                         278, NULL },
1330   { "L",                                 611, NULL },
1331   { "periodcentered",                    278, NULL },
1332   { "M",                                 833, NULL },
1333   { "N",                                 722, NULL },
1334   { "O",                                 778, NULL },
1335   { "P",                                 667, NULL },
1336   { "Q",                                 778, NULL },
1337   { "R",                                 722, NULL },
1338   { "Aacute",                            722, NULL },
1339   { "caron",                             333, NULL },
1340   { "S",                                 667, NULL },
1341   { "T",                                 611, NULL },
1342   { "U",                                 722, NULL },
1343   { "agrave",                            556, NULL },
1344   { "V",                                 667, NULL },
1345   { "W",                                 944, NULL },
1346   { "X",                                 667, NULL },
1347   { "question",                          611, NULL },
1348   { "equal",                             584, NULL },
1349   { "Y",                                 667, NULL },
1350   { "Z",                                 611, NULL },
1351   { "four",                              556, NULL },
1352   { "a",                                 556, NULL },
1353   { "b",                                 611, NULL },
1354   { "c",                                 556, NULL },
1355   { "d",                                 611, NULL },
1356   { "e",                                 556, NULL },
1357   { "f",                                 333, NULL },
1358   { "g",                                 611, NULL },
1359   { "bullet",                            350, NULL },
1360   { "h",                                 611, NULL },
1361   { "i",                                 278, NULL },
1362   { "Oslash",                            778, NULL },
1363   { "dagger",                            556, NULL },
1364   { "j",                                 278, NULL },
1365   { "k",                                 556, NULL },
1366   { "l",                                 278, NULL },
1367   { "m",                                 889, NULL },
1368   { "n",                                 611, NULL },
1369   { "o",                                 611, NULL },
1370   { "ordfeminine",                       370, NULL },
1371   { "ring",                              333, NULL },
1372   { "p",                                 611, NULL },
1373   { "q",                                 611, NULL },
1374   { "r",                                 389, NULL },
1375   { "twosuperior",                       333, NULL },
1376   { "aacute",                            556, NULL },
1377   { "s",                                 556, NULL },
1378   { "OE",                               1000, NULL },
1379   { "t",                                 333, NULL },
1380   { "divide",                            584, NULL },
1381   { "u",                                 611, NULL },
1382   { "v",                                 556, NULL },
1383   { "w",                                 778, NULL },
1384   { "x",                                 556, NULL },
1385   { "y",                                 556, NULL },
1386   { "z",                                 500, NULL },
1387   { "hungarumlaut",                      333, NULL },
1388   { "quotedbl",                          474, NULL },
1389   { "mu",                                611, NULL },
1390   { "Scaron",                            667, NULL },
1391   { "Lslash",                            611, NULL },
1392   { "semicolon",                         333, NULL },
1393   { "oslash",                            611, NULL },
1394   { "parenright",                        333, NULL },
1395   { "Ecircumflex",                       667, NULL },
1396   { "trademark",                        1000, NULL },
1397   { "daggerdbl",                         556, NULL },
1398   { "macron",                            333, NULL },
1399   { "Otilde",                            778, NULL },
1400   { "ellipsis",                         1000, NULL },
1401   { "scaron",                            556, NULL },
1402   { "AE",                               1000, NULL },
1403   { "Ucircumflex",                       722, NULL },
1404   { "lslash",                            278, NULL },
1405   { "quotedblleft",                      500, NULL },
1406   { "guilsinglright",                    333, NULL },
1407   { "hyphen",                            333, NULL },
1408   { "quotesingle",                       238, NULL },
1409   { "eight",                             556, NULL },
1410   { "exclamdown",                        333, NULL },
1411   { "endash",                            556, NULL },
1412   { "oe",                                944, NULL },
1413   { "ecircumflex",                       556, NULL },
1414   { "copyright",                         737, NULL },
1415   { "Adieresis",                         722, NULL },
1416   { "Egrave",                            667, NULL },
1417   { "slash",                             278, NULL },
1418   { "Edieresis",                         667, NULL },
1419   { "otilde",                            611, NULL },
1420   { "Idieresis",                         278, NULL },
1421   { "parenleft",                         333, NULL },
1422   { "one",                               556, NULL },
1423   { "ucircumflex",                       611, NULL },
1424   { "Odieresis",                         778, NULL },
1425   { "bracketleft",                       333, NULL },
1426   { "Ugrave",                            722, NULL },
1427   { "quoteright",                        278, NULL },
1428   { "Udieresis",                         722, NULL },
1429   { "perthousand",                      1000, NULL },
1430   { "Ydieresis",                         667, NULL },
1431   { "Eacute",                            667, NULL },
1432   { "adieresis",                         556, NULL },
1433   { "egrave",                            556, NULL },
1434   { "edieresis",                         556, NULL },
1435   { "idieresis",                         278, NULL },
1436   { "Eth",                               722, NULL },
1437   { "ae",                                889, NULL },
1438   { "asterisk",                          389, NULL },
1439   { "odieresis",                         611, NULL },
1440   { "Uacute",                            722, NULL },
1441   { "ugrave",                            611, NULL },
1442   { "nine",                              556, NULL },
1443   { "five",                              556, NULL },
1444   { "udieresis",                         611, NULL },
1445   { "Zcaron",                            611, NULL },
1446   { "threequarters",                     834, NULL },
1447   { "guillemotright",                    556, NULL },
1448   { "ydieresis",                         556, NULL },
1449   { "Ccedilla",                          722, NULL },
1450   { "tilde",                             333, NULL },
1451   { "at",                                975, NULL },
1452   { "eacute",                            556, NULL },
1453   { "underscore",                        556, NULL },
1454   { "multiply",                          584, NULL },
1455   { "zero",                              556, NULL },
1456   { "eth",                               611, NULL },
1457   { "Ograve",                            778, NULL },
1458   { "uacute",                            611, NULL },
1459   { "braceleft",                         389, NULL },
1460   { "Thorn",                             667, NULL },
1461   { "zcaron",                            500, NULL },
1462   { "ccedilla",                          556, NULL },
1463   { "Ocircumflex",                       778, NULL },
1464   { "Oacute",                            778, NULL },
1465   { "ogonek",                            333, NULL },
1466   { "ograve",                            611, NULL },
1467   { "thorn",                             611, NULL },
1468   { "degree",                            400, NULL },
1469   { "registered",                        737, NULL },
1470   { "Aring",                             722, NULL },
1471   { "percent",                           889, NULL },
1472   { "six",                               556, NULL },
1473   { "paragraph",                         556, NULL },
1474   { "two",                               556, NULL },
1475   { "Igrave",                            278, NULL },
1476   { "ocircumflex",                       611, NULL },
1477   { "oacute",                            611, NULL },
1478   { "asciicircum",                       584, NULL },
1479   { "aring",                             556, NULL },
1480   { "grave",                             333, NULL },
1481   { "bracketright",                      333, NULL },
1482   { "Iacute",                            278, NULL },
1483   { "ampersand",                         722, NULL },
1484   { "igrave",                            278, NULL },
1485   { "plus",                              584, NULL },
1486   { "quotesinglbase",                    278, NULL },
1487   { "Yacute",                            667, NULL },
1488   { "threesuperior",                     333, NULL },
1489   { "acute",                             333, NULL },
1490   { "section",                           556, NULL },
1491   { "dieresis",                          333, NULL },
1492   { "iacute",                            278, NULL },
1493   { "quotedblbase",                      500, NULL },
1494   { "florin",                            556, NULL },
1495   { "yacute",                            556, NULL },
1496   { "fi",                                611, NULL },
1497   { "fl",                                611, NULL },
1498   { "Acircumflex",                       722, NULL },
1499   { "Icircumflex",                       278, NULL },
1500   { "guillemotleft",                     556, NULL },
1501   { "germandbls",                        611, NULL },
1502   { "seven",                             556, NULL },
1503   { "ordmasculine",                      365, NULL },
1504   { "dotlessi",                          278, NULL },
1505   { "sterling",                          556, NULL },
1506   { "acircumflex",                       556, NULL },
1507   { "icircumflex",                       278, NULL },
1508   { "braceright",                        389, NULL },
1509   { "quotedblright",                     500, NULL },
1510   { "cent",                              556, NULL },
1511   { "currency",                          556, NULL },
1512   { "logicalnot",                        584, NULL },
1513   { "Atilde",                            722, NULL },
1514   { "breve",                             333, NULL },
1515   { "bar",                               280, NULL },
1516   { "fraction",                          167, NULL },
1517   { "less",                              584, NULL },
1518   { "guilsinglleft",                     333, NULL },
1519   { "exclam",                            333, NULL },
1520   { "period",                            278, NULL },
1521   { "greater",                           584, NULL },
1522   { "atilde",                            556, NULL },
1523   { "brokenbar",                         280, NULL },
1524   { "quoteleft",                         278, NULL },
1525   { "onesuperior",                       333, NULL }
1526 };
1527
1528 static BuiltinFontWidth helveticaBoldObliqueWidthsTab[] = {
1529   { "Ntilde",                            722, NULL },
1530   { "comma",                             278, NULL },
1531   { "cedilla",                           333, NULL },
1532   { "plusminus",                         584, NULL },
1533   { "circumflex",                        333, NULL },
1534   { "dotaccent",                         333, NULL },
1535   { "asciitilde",                        584, NULL },
1536   { "colon",                             333, NULL },
1537   { "onehalf",                           834, NULL },
1538   { "dollar",                            556, NULL },
1539   { "ntilde",                            611, NULL },
1540   { "minus",                             584, NULL },
1541   { "yen",                               556, NULL },
1542   { "space",                             278, NULL },
1543   { "questiondown",                      611, NULL },
1544   { "emdash",                           1000, NULL },
1545   { "Agrave",                            722, NULL },
1546   { "three",                             556, NULL },
1547   { "numbersign",                        556, NULL },
1548   { "A",                                 722, NULL },
1549   { "B",                                 722, NULL },
1550   { "C",                                 722, NULL },
1551   { "D",                                 722, NULL },
1552   { "E",                                 667, NULL },
1553   { "onequarter",                        834, NULL },
1554   { "F",                                 611, NULL },
1555   { "G",                                 778, NULL },
1556   { "H",                                 722, NULL },
1557   { "I",                                 278, NULL },
1558   { "J",                                 556, NULL },
1559   { "K",                                 722, NULL },
1560   { "backslash",                         278, NULL },
1561   { "L",                                 611, NULL },
1562   { "periodcentered",                    278, NULL },
1563   { "M",                                 833, NULL },
1564   { "N",                                 722, NULL },
1565   { "O",                                 778, NULL },
1566   { "P",                                 667, NULL },
1567   { "Q",                                 778, NULL },
1568   { "R",                                 722, NULL },
1569   { "Aacute",                            722, NULL },
1570   { "caron",                             333, NULL },
1571   { "S",                                 667, NULL },
1572   { "T",                                 611, NULL },
1573   { "U",                                 722, NULL },
1574   { "agrave",                            556, NULL },
1575   { "V",                                 667, NULL },
1576   { "W",                                 944, NULL },
1577   { "X",                                 667, NULL },
1578   { "question",                          611, NULL },
1579   { "equal",                             584, NULL },
1580   { "Y",                                 667, NULL },
1581   { "Z",                                 611, NULL },
1582   { "four",                              556, NULL },
1583   { "a",                                 556, NULL },
1584   { "b",                                 611, NULL },
1585   { "c",                                 556, NULL },
1586   { "d",                                 611, NULL },
1587   { "e",                                 556, NULL },
1588   { "f",                                 333, NULL },
1589   { "g",                                 611, NULL },
1590   { "bullet",                            350, NULL },
1591   { "h",                                 611, NULL },
1592   { "i",                                 278, NULL },
1593   { "Oslash",                            778, NULL },
1594   { "dagger",                            556, NULL },
1595   { "j",                                 278, NULL },
1596   { "k",                                 556, NULL },
1597   { "l",                                 278, NULL },
1598   { "m",                                 889, NULL },
1599   { "n",                                 611, NULL },
1600   { "o",                                 611, NULL },
1601   { "ordfeminine",                       370, NULL },
1602   { "ring",                              333, NULL },
1603   { "p",                                 611, NULL },
1604   { "q",                                 611, NULL },
1605   { "r",                                 389, NULL },
1606   { "twosuperior",                       333, NULL },
1607   { "aacute",                            556, NULL },
1608   { "s",                                 556, NULL },
1609   { "OE",                               1000, NULL },
1610   { "t",                                 333, NULL },
1611   { "divide",                            584, NULL },
1612   { "u",                                 611, NULL },
1613   { "v",                                 556, NULL },
1614   { "w",                                 778, NULL },
1615   { "x",                                 556, NULL },
1616   { "y",                                 556, NULL },
1617   { "z",                                 500, NULL },
1618   { "hungarumlaut",                      333, NULL },
1619   { "quotedbl",                          474, NULL },
1620   { "mu",                                611, NULL },
1621   { "Scaron",                            667, NULL },
1622   { "Lslash",                            611, NULL },
1623   { "semicolon",                         333, NULL },
1624   { "oslash",                            611, NULL },
1625   { "parenright",                        333, NULL },
1626   { "Ecircumflex",                       667, NULL },
1627   { "trademark",                        1000, NULL },
1628   { "daggerdbl",                         556, NULL },
1629   { "macron",                            333, NULL },
1630   { "Otilde",                            778, NULL },
1631   { "ellipsis",                         1000, NULL },
1632   { "scaron",                            556, NULL },
1633   { "AE",                               1000, NULL },
1634   { "Ucircumflex",                       722, NULL },
1635   { "lslash",                            278, NULL },
1636   { "quotedblleft",                      500, NULL },
1637   { "guilsinglright",                    333, NULL },
1638   { "hyphen",                            333, NULL },
1639   { "quotesingle",                       238, NULL },
1640   { "eight",                             556, NULL },
1641   { "exclamdown",                        333, NULL },
1642   { "endash",                            556, NULL },
1643   { "oe",                                944, NULL },
1644   { "ecircumflex",                       556, NULL },
1645   { "copyright",                         737, NULL },
1646   { "Adieresis",                         722, NULL },
1647   { "Egrave",                            667, NULL },
1648   { "slash",                             278, NULL },
1649   { "Edieresis",                         667, NULL },
1650   { "otilde",                            611, NULL },
1651   { "Idieresis",                         278, NULL },
1652   { "parenleft",                         333, NULL },
1653   { "one",                               556, NULL },
1654   { "ucircumflex",                       611, NULL },
1655   { "Odieresis",                         778, NULL },
1656   { "bracketleft",                       333, NULL },
1657   { "Ugrave",                            722, NULL },
1658   { "quoteright",                        278, NULL },
1659   { "Udieresis",                         722, NULL },
1660   { "perthousand",                      1000, NULL },
1661   { "Ydieresis",                         667, NULL },
1662   { "Eacute",                            667, NULL },
1663   { "adieresis",                         556, NULL },
1664   { "egrave",                            556, NULL },
1665   { "edieresis",                         556, NULL },
1666   { "idieresis",                         278, NULL },
1667   { "Eth",                               722, NULL },
1668   { "ae",                                889, NULL },
1669   { "asterisk",                          389, NULL },
1670   { "odieresis",                         611, NULL },
1671   { "Uacute",                            722, NULL },
1672   { "ugrave",                            611, NULL },
1673   { "nine",                              556, NULL },
1674   { "five",                              556, NULL },
1675   { "udieresis",                         611, NULL },
1676   { "Zcaron",                            611, NULL },
1677   { "threequarters",                     834, NULL },
1678   { "guillemotright",                    556, NULL },
1679   { "ydieresis",                         556, NULL },
1680   { "Ccedilla",                          722, NULL },
1681   { "tilde",                             333, NULL },
1682   { "at",                                975, NULL },
1683   { "eacute",                            556, NULL },
1684   { "underscore",                        556, NULL },
1685   { "multiply",                          584, NULL },
1686   { "zero",                              556, NULL },
1687   { "eth",                               611, NULL },
1688   { "Ograve",                            778, NULL },
1689   { "uacute",                            611, NULL },
1690   { "braceleft",                         389, NULL },
1691   { "Thorn",                             667, NULL },
1692   { "zcaron",                            500, NULL },
1693   { "ccedilla",                          556, NULL },
1694   { "Ocircumflex",                       778, NULL },
1695   { "Oacute",                            778, NULL },
1696   { "ogonek",                            333, NULL },
1697   { "ograve",                            611, NULL },
1698   { "thorn",                             611, NULL },
1699   { "degree",                            400, NULL },
1700   { "registered",                        737, NULL },
1701   { "Aring",                             722, NULL },
1702   { "percent",                           889, NULL },
1703   { "six",                               556, NULL },
1704   { "paragraph",                         556, NULL },
1705   { "two",                               556, NULL },
1706   { "Igrave",                            278, NULL },
1707   { "ocircumflex",                       611, NULL },
1708   { "oacute",                            611, NULL },
1709   { "asciicircum",                       584, NULL },
1710   { "aring",                             556, NULL },
1711   { "grave",                             333, NULL },
1712   { "bracketright",                      333, NULL },
1713   { "Iacute",                            278, NULL },
1714   { "ampersand",                         722, NULL },
1715   { "igrave",                            278, NULL },
1716   { "plus",                              584, NULL },
1717   { "quotesinglbase",                    278, NULL },
1718   { "Yacute",                            667, NULL },
1719   { "threesuperior",                     333, NULL },
1720   { "acute",                             333, NULL },
1721   { "section",                           556, NULL },
1722   { "dieresis",                          333, NULL },
1723   { "iacute",                            278, NULL },
1724   { "quotedblbase",                      500, NULL },
1725   { "florin",                            556, NULL },
1726   { "yacute",                            556, NULL },
1727   { "fi",                                611, NULL },
1728   { "fl",                                611, NULL },
1729   { "Acircumflex",                       722, NULL },
1730   { "Icircumflex",                       278, NULL },
1731   { "guillemotleft",                     556, NULL },
1732   { "germandbls",                        611, NULL },
1733   { "seven",                             556, NULL },
1734   { "ordmasculine",                      365, NULL },
1735   { "dotlessi",                          278, NULL },
1736   { "sterling",                          556, NULL },
1737   { "acircumflex",                       556, NULL },
1738   { "icircumflex",                       278, NULL },
1739   { "braceright",                        389, NULL },
1740   { "quotedblright",                     500, NULL },
1741   { "cent",                              556, NULL },
1742   { "currency",                          556, NULL },
1743   { "logicalnot",                        584, NULL },
1744   { "Atilde",                            722, NULL },
1745   { "breve",                             333, NULL },
1746   { "bar",                               280, NULL },
1747   { "fraction",                          167, NULL },
1748   { "less",                              584, NULL },
1749   { "guilsinglleft",                     333, NULL },
1750   { "exclam",                            333, NULL },
1751   { "period",                            278, NULL },
1752   { "greater",                           584, NULL },
1753   { "atilde",                            556, NULL },
1754   { "brokenbar",                         280, NULL },
1755   { "quoteleft",                         278, NULL },
1756   { "onesuperior",                       333, NULL }
1757 };
1758
1759 static BuiltinFontWidth helveticaObliqueWidthsTab[] = {
1760   { "Ntilde",                            722, NULL },
1761   { "comma",                             278, NULL },
1762   { "cedilla",                           333, NULL },
1763   { "plusminus",                         584, NULL },
1764   { "circumflex",                        333, NULL },
1765   { "dotaccent",                         333, NULL },
1766   { "asciitilde",                        584, NULL },
1767   { "colon",                             278, NULL },
1768   { "onehalf",                           834, NULL },
1769   { "dollar",                            556, NULL },
1770   { "ntilde",                            556, NULL },
1771   { "minus",                             584, NULL },
1772   { "yen",                               556, NULL },
1773   { "space",                             278, NULL },
1774   { "questiondown",                      611, NULL },
1775   { "emdash",                           1000, NULL },
1776   { "Agrave",                            667, NULL },
1777   { "three",                             556, NULL },
1778   { "numbersign",                        556, NULL },
1779   { "A",                                 667, NULL },
1780   { "B",                                 667, NULL },
1781   { "C",                                 722, NULL },
1782   { "D",                                 722, NULL },
1783   { "E",                                 667, NULL },
1784   { "onequarter",                        834, NULL },
1785   { "F",                                 611, NULL },
1786   { "G",                                 778, NULL },
1787   { "H",                                 722, NULL },
1788   { "I",                                 278, NULL },
1789   { "J",                                 500, NULL },
1790   { "K",                                 667, NULL },
1791   { "backslash",                         278, NULL },
1792   { "L",                                 556, NULL },
1793   { "periodcentered",                    278, NULL },
1794   { "M",                                 833, NULL },
1795   { "N",                                 722, NULL },
1796   { "O",                                 778, NULL },
1797   { "P",                                 667, NULL },
1798   { "Q",                                 778, NULL },
1799   { "R",                                 722, NULL },
1800   { "Aacute",                            667, NULL },
1801   { "caron",                             333, NULL },
1802   { "S",                                 667, NULL },
1803   { "T",                                 611, NULL },
1804   { "U",                                 722, NULL },
1805   { "agrave",                            556, NULL },
1806   { "V",                                 667, NULL },
1807   { "W",                                 944, NULL },
1808   { "X",                                 667, NULL },
1809   { "question",                          556, NULL },
1810   { "equal",                             584, NULL },
1811   { "Y",                                 667, NULL },
1812   { "Z",                                 611, NULL },
1813   { "four",                              556, NULL },
1814   { "a",                                 556, NULL },
1815   { "b",                                 556, NULL },
1816   { "c",                                 500, NULL },
1817   { "d",                                 556, NULL },
1818   { "e",                                 556, NULL },
1819   { "f",                                 278, NULL },
1820   { "g",                                 556, NULL },
1821   { "bullet",                            350, NULL },
1822   { "h",                                 556, NULL },
1823   { "i",                                 222, NULL },
1824   { "Oslash",                            778, NULL },
1825   { "dagger",                            556, NULL },
1826   { "j",                                 222, NULL },
1827   { "k",                                 500, NULL },
1828   { "l",                                 222, NULL },
1829   { "m",                                 833, NULL },
1830   { "n",                                 556, NULL },
1831   { "o",                                 556, NULL },
1832   { "ordfeminine",                       370, NULL },
1833   { "ring",                              333, NULL },
1834   { "p",                                 556, NULL },
1835   { "q",                                 556, NULL },
1836   { "r",                                 333, NULL },
1837   { "twosuperior",                       333, NULL },
1838   { "aacute",                            556, NULL },
1839   { "s",                                 500, NULL },
1840   { "OE",                               1000, NULL },
1841   { "t",                                 278, NULL },
1842   { "divide",                            584, NULL },
1843   { "u",                                 556, NULL },
1844   { "v",                                 500, NULL },
1845   { "w",                                 722, NULL },
1846   { "x",                                 500, NULL },
1847   { "y",                                 500, NULL },
1848   { "z",                                 500, NULL },
1849   { "hungarumlaut",                      333, NULL },
1850   { "quotedbl",                          355, NULL },
1851   { "mu",                                556, NULL },
1852   { "Scaron",                            667, NULL },
1853   { "Lslash",                            556, NULL },
1854   { "semicolon",                         278, NULL },
1855   { "oslash",                            611, NULL },
1856   { "parenright",                        333, NULL },
1857   { "Ecircumflex",                       667, NULL },
1858   { "trademark",                        1000, NULL },
1859   { "daggerdbl",                         556, NULL },
1860   { "macron",                            333, NULL },
1861   { "Otilde",                            778, NULL },
1862   { "ellipsis",                         1000, NULL },
1863   { "scaron",                            500, NULL },
1864   { "AE",                               1000, NULL },
1865   { "Ucircumflex",                       722, NULL },
1866   { "lslash",                            222, NULL },
1867   { "quotedblleft",                      333, NULL },
1868   { "guilsinglright",                    333, NULL },
1869   { "hyphen",                            333, NULL },
1870   { "quotesingle",                       191, NULL },
1871   { "eight",                             556, NULL },
1872   { "exclamdown",                        333, NULL },
1873   { "endash",                            556, NULL },
1874   { "oe",                                944, NULL },
1875   { "ecircumflex",                       556, NULL },
1876   { "copyright",                         737, NULL },
1877   { "Adieresis",                         667, NULL },
1878   { "Egrave",                            667, NULL },
1879   { "slash",                             278, NULL },
1880   { "Edieresis",                         667, NULL },
1881   { "otilde",                            556, NULL },
1882   { "Idieresis",                         278, NULL },
1883   { "parenleft",                         333, NULL },
1884   { "one",                               556, NULL },
1885   { "ucircumflex",                       556, NULL },
1886   { "Odieresis",                         778, NULL },
1887   { "bracketleft",                       278, NULL },
1888   { "Ugrave",                            722, NULL },
1889   { "quoteright",                        222, NULL },
1890   { "Udieresis",                         722, NULL },
1891   { "perthousand",                      1000, NULL },
1892   { "Ydieresis",                         667, NULL },
1893   { "Eacute",                            667, NULL },
1894   { "adieresis",                         556, NULL },
1895   { "egrave",                            556, NULL },
1896   { "edieresis",                         556, NULL },
1897   { "idieresis",                         278, NULL },
1898   { "Eth",                               722, NULL },
1899   { "ae",                                889, NULL },
1900   { "asterisk",                          389, NULL },
1901   { "odieresis",                         556, NULL },
1902   { "Uacute",                            722, NULL },
1903   { "ugrave",                            556, NULL },
1904   { "nine",                              556, NULL },
1905   { "five",                              556, NULL },
1906   { "udieresis",                         556, NULL },
1907   { "Zcaron",                            611, NULL },
1908   { "threequarters",                     834, NULL },
1909   { "guillemotright",                    556, NULL },
1910   { "ydieresis",                         500, NULL },
1911   { "Ccedilla",                          722, NULL },
1912   { "tilde",                             333, NULL },
1913   { "at",                               1015, NULL },
1914   { "eacute",                            556, NULL },
1915   { "underscore",                        556, NULL },
1916   { "multiply",                          584, NULL },
1917   { "zero",                              556, NULL },
1918   { "eth",                               556, NULL },
1919   { "Ograve",                            778, NULL },
1920   { "uacute",                            556, NULL },
1921   { "braceleft",                         334, NULL },
1922   { "Thorn",                             667, NULL },
1923   { "zcaron",                            500, NULL },
1924   { "ccedilla",                          500, NULL },
1925   { "Ocircumflex",                       778, NULL },
1926   { "Oacute",                            778, NULL },
1927   { "ogonek",                            333, NULL },
1928   { "ograve",                            556, NULL },
1929   { "thorn",                             556, NULL },
1930   { "degree",                            400, NULL },
1931   { "registered",                        737, NULL },
1932   { "Aring",                             667, NULL },
1933   { "percent",                           889, NULL },
1934   { "six",                               556, NULL },
1935   { "paragraph",                         537, NULL },
1936   { "two",                               556, NULL },
1937   { "Igrave",                            278, NULL },
1938   { "ocircumflex",                       556, NULL },
1939   { "oacute",                            556, NULL },
1940   { "asciicircum",                       469, NULL },
1941   { "aring",                             556, NULL },
1942   { "grave",                             333, NULL },
1943   { "bracketright",                      278, NULL },
1944   { "Iacute",                            278, NULL },
1945   { "ampersand",                         667, NULL },
1946   { "igrave",                            278, NULL },
1947   { "plus",                              584, NULL },
1948   { "quotesinglbase",                    222, NULL },
1949   { "Yacute",                            667, NULL },
1950   { "threesuperior",                     333, NULL },
1951   { "acute",                             333, NULL },
1952   { "section",                           556, NULL },
1953   { "dieresis",                          333, NULL },
1954   { "iacute",                            278, NULL },
1955   { "quotedblbase",                      333, NULL },
1956   { "florin",                            556, NULL },
1957   { "yacute",                            500, NULL },
1958   { "fi",                                500, NULL },
1959   { "fl",                                500, NULL },
1960   { "Acircumflex",                       667, NULL },
1961   { "Icircumflex",                       278, NULL },
1962   { "guillemotleft",                     556, NULL },
1963   { "germandbls",                        611, NULL },
1964   { "seven",                             556, NULL },
1965   { "ordmasculine",                      365, NULL },
1966   { "dotlessi",                          278, NULL },
1967   { "sterling",                          556, NULL },
1968   { "acircumflex",                       556, NULL },
1969   { "icircumflex",                       278, NULL },
1970   { "braceright",                        334, NULL },
1971   { "quotedblright",                     333, NULL },
1972   { "cent",                              556, NULL },
1973   { "currency",                          556, NULL },
1974   { "logicalnot",                        584, NULL },
1975   { "Atilde",                            667, NULL },
1976   { "breve",                             333, NULL },
1977   { "bar",                               260, NULL },
1978   { "fraction",                          167, NULL },
1979   { "less",                              584, NULL },
1980   { "guilsinglleft",                     333, NULL },
1981   { "exclam",                            278, NULL },
1982   { "period",                            278, NULL },
1983   { "greater",                           584, NULL },
1984   { "atilde",                            556, NULL },
1985   { "brokenbar",                         260, NULL },
1986   { "quoteleft",                         222, NULL },
1987   { "onesuperior",                       333, NULL }
1988 };
1989
1990 static BuiltinFontWidth symbolWidthsTab[] = {
1991   { "bracketleftex",                     384, NULL },
1992   { "alpha",                             631, NULL },
1993   { "union",                             768, NULL },
1994   { "infinity",                          713, NULL },
1995   { "comma",                             250, NULL },
1996   { "copyrightsans",                     790, NULL },
1997   { "plusminus",                         549, NULL },
1998   { "arrowup",                           603, NULL },
1999   { "apple",                             790, NULL },
2000   { "parenleftbt",                       384, NULL },
2001   { "notelement",                        713, NULL },
2002   { "colon",                             278, NULL },
2003   { "beta",                              549, NULL },
2004   { "braceleftbt",                       494, NULL },
2005   { "Lambda",                            686, NULL },
2006   { "Phi",                               763, NULL },
2007   { "minus",                             549, NULL },
2008   { "space",                             250, NULL },
2009   { "Sigma",                             592, NULL },
2010   { "approxequal",                       549, NULL },
2011   { "minute",                            247, NULL },
2012   { "circleplus",                        768, NULL },
2013   { "Omicron",                           722, NULL },
2014   { "three",                             500, NULL },
2015   { "numbersign",                        500, NULL },
2016   { "lambda",                            549, NULL },
2017   { "phi",                               521, NULL },
2018   { "aleph",                             823, NULL },
2019   { "Tau",                               611, NULL },
2020   { "spade",                             753, NULL },
2021   { "logicaland",                        603, NULL },
2022   { "sigma",                             603, NULL },
2023   { "propersuperset",                    713, NULL },
2024   { "omicron",                           549, NULL },
2025   { "question",                          444, NULL },
2026   { "equal",                             549, NULL },
2027   { "Epsilon",                           611, NULL },
2028   { "emptyset",                          823, NULL },
2029   { "diamond",                           753, NULL },
2030   { "four",                              500, NULL },
2031   { "Mu",                                889, NULL },
2032   { "parenlefttp",                       384, NULL },
2033   { "club",                              753, NULL },
2034   { "bullet",                            460, NULL },
2035   { "Omega",                             768, NULL },
2036   { "tau",                               439, NULL },
2037   { "Upsilon",                           690, NULL },
2038   { "bracelefttp",                       494, NULL },
2039   { "heart",                             753, NULL },
2040   { "divide",                            549, NULL },
2041   { "epsilon",                           439, NULL },
2042   { "logicalor",                         603, NULL },
2043   { "parenleftex",                       384, NULL },
2044   { "greaterequal",                      549, NULL },
2045   { "mu",                                576, NULL },
2046   { "Nu",                                722, NULL },
2047   { "therefore",                         863, NULL },
2048   { "notsubset",                         713, NULL },
2049   { "omega",                             686, NULL },
2050   { "semicolon",                         278, NULL },
2051   { "element",                           713, NULL },
2052   { "upsilon",                           576, NULL },
2053   { "existential",                       549, NULL },
2054   { "integralbt",                        686, NULL },
2055   { "lessequal",                         549, NULL },
2056   { "phi1",                              603, NULL },
2057   { "lozenge",                           494, NULL },
2058   { "trademarkserif",                    890, NULL },
2059   { "parenright",                        333, NULL },
2060   { "reflexsuperset",                    713, NULL },
2061   { "sigma1",                            439, NULL },
2062   { "nu",                                521, NULL },
2063   { "Gamma",                             603, NULL },
2064   { "angleright",                        329, NULL },
2065   { "ellipsis",                         1000, NULL },
2066   { "Rho",                               556, NULL },
2067   { "parenrightbt",                      384, NULL },
2068   { "radicalex",                         500, NULL },
2069   { "eight",                             500, NULL },
2070   { "angleleft",                         329, NULL },
2071   { "arrowdbldown",                      603, NULL },
2072   { "congruent",                         549, NULL },
2073   { "Theta",                             741, NULL },
2074   { "intersection",                      768, NULL },
2075   { "Pi",                                768, NULL },
2076   { "slash",                             278, NULL },
2077   { "registerserif",                     790, NULL },
2078   { "parenleft",                         333, NULL },
2079   { "one",                               500, NULL },
2080   { "gamma",                             411, NULL },
2081   { "bracketleft",                       333, NULL },
2082   { "rho",                               549, NULL },
2083   { "circlemultiply",                    768, NULL },
2084   { "Chi",                               722, NULL },
2085   { "theta",                             521, NULL },
2086   { "pi",                                549, NULL },
2087   { "integraltp",                        686, NULL },
2088   { "Eta",                               722, NULL },
2089   { "product",                           823, NULL },
2090   { "nine",                              500, NULL },
2091   { "five",                              500, NULL },
2092   { "propersubset",                      713, NULL },
2093   { "bracketrightbt",                    384, NULL },
2094   { "trademarksans",                     786, NULL },
2095   { "dotmath",                           250, NULL },
2096   { "integralex",                        686, NULL },
2097   { "chi",                               549, NULL },
2098   { "parenrighttp",                      384, NULL },
2099   { "eta",                               603, NULL },
2100   { "underscore",                        500, NULL },
2101   { "multiply",                          549, NULL },
2102   { "zero",                              500, NULL },
2103   { "partialdiff",                       494, NULL },
2104   { "angle",                             768, NULL },
2105   { "arrowdblleft",                      987, NULL },
2106   { "braceleft",                         480, NULL },
2107   { "parenrightex",                      384, NULL },
2108   { "Rfraktur",                          795, NULL },
2109   { "Zeta",                              611, NULL },
2110   { "braceex",                           494, NULL },
2111   { "arrowdblup",                        603, NULL },
2112   { "arrowdown",                         603, NULL },
2113   { "Ifraktur",                          686, NULL },
2114   { "degree",                            400, NULL },
2115   { "Iota",                              333, NULL },
2116   { "perpendicular",                     658, NULL },
2117   { "radical",                           549, NULL },
2118   { "asteriskmath",                      500, NULL },
2119   { "percent",                           833, NULL },
2120   { "zeta",                              494, NULL },
2121   { "six",                               500, NULL },
2122   { "two",                               500, NULL },
2123   { "weierstrass",                       987, NULL },
2124   { "summation",                         713, NULL },
2125   { "bracketrighttp",                    384, NULL },
2126   { "carriagereturn",                    658, NULL },
2127   { "suchthat",                          439, NULL },
2128   { "arrowvertex",                       603, NULL },
2129   { "Delta",                             612, NULL },
2130   { "iota",                              329, NULL },
2131   { "arrowhorizex",                     1000, NULL },
2132   { "bracketrightex",                    384, NULL },
2133   { "bracketright",                      333, NULL },
2134   { "ampersand",                         778, NULL },
2135   { "plus",                              549, NULL },
2136   { "proportional",                      713, NULL },
2137   { "delta",                             494, NULL },
2138   { "copyrightserif",                    790, NULL },
2139   { "bracerightmid",                     494, NULL },
2140   { "arrowleft",                         987, NULL },
2141   { "second",                            411, NULL },
2142   { "arrowdblboth",                     1042, NULL },
2143   { "florin",                            500, NULL },
2144   { "Psi",                               795, NULL },
2145   { "bracerightbt",                      494, NULL },
2146   { "bracketleftbt",                     384, NULL },
2147   { "seven",                             500, NULL },
2148   { "braceleftmid",                      494, NULL },
2149   { "notequal",                          549, NULL },
2150   { "psi",                               686, NULL },
2151   { "equivalence",                       549, NULL },
2152   { "universal",                         713, NULL },
2153   { "arrowdblright",                     987, NULL },
2154   { "braceright",                        480, NULL },
2155   { "reflexsubset",                      713, NULL },
2156   { "Xi",                                645, NULL },
2157   { "theta1",                            631, NULL },
2158   { "logicalnot",                        713, NULL },
2159   { "Kappa",                             722, NULL },
2160   { "similar",                           549, NULL },
2161   { "bar",                               200, NULL },
2162   { "fraction",                          167, NULL },
2163   { "less",                              549, NULL },
2164   { "registersans",                      790, NULL },
2165   { "omega1",                            713, NULL },
2166   { "exclam",                            333, NULL },
2167   { "Upsilon1",                          620, NULL },
2168   { "bracerighttp",                      494, NULL },
2169   { "xi",                                493, NULL },
2170   { "period",                            250, NULL },
2171   { "Alpha",                             722, NULL },
2172   { "arrowright",                        987, NULL },
2173   { "greater",                           549, NULL },
2174   { "bracketlefttp",                     384, NULL },
2175   { "kappa",                             549, NULL },
2176   { "gradient",                          713, NULL },
2177   { "integral",                          274, NULL },
2178   { "arrowboth",                        1042, NULL },
2179   { "Beta",                              667, NULL }
2180 };
2181
2182 static BuiltinFontWidth timesBoldWidthsTab[] = {
2183   { "Ntilde",                            722, NULL },
2184   { "comma",                             250, NULL },
2185   { "cedilla",                           333, NULL },
2186   { "plusminus",                         570, NULL },
2187   { "circumflex",                        333, NULL },
2188   { "dotaccent",                         333, NULL },
2189   { "asciitilde",                        520, NULL },
2190   { "colon",                             333, NULL },
2191   { "onehalf",                           750, NULL },
2192   { "dollar",                            500, NULL },
2193   { "ntilde",                            556, NULL },
2194   { "minus",                             570, NULL },
2195   { "yen",                               500, NULL },
2196   { "space",                             250, NULL },
2197   { "questiondown",                      500, NULL },
2198   { "emdash",                           1000, NULL },
2199   { "Agrave",                            722, NULL },
2200   { "three",                             500, NULL },
2201   { "numbersign",                        500, NULL },
2202   { "A",                                 722, NULL },
2203   { "B",                                 667, NULL },
2204   { "C",                                 722, NULL },
2205   { "D",                                 722, NULL },
2206   { "E",                                 667, NULL },
2207   { "onequarter",                        750, NULL },
2208   { "F",                                 611, NULL },
2209   { "G",                                 778, NULL },
2210   { "H",                                 778, NULL },
2211   { "I",                                 389, NULL },
2212   { "J",                                 500, NULL },
2213   { "K",                                 778, NULL },
2214   { "backslash",                         278, NULL },
2215   { "L",                                 667, NULL },
2216   { "periodcentered",                    250, NULL },
2217   { "M",                                 944, NULL },
2218   { "N",                                 722, NULL },
2219   { "O",                                 778, NULL },
2220   { "P",                                 611, NULL },
2221   { "Q",                                 778, NULL },
2222   { "R",                                 722, NULL },
2223   { "Aacute",                            722, NULL },
2224   { "caron",                             333, NULL },
2225   { "S",                                 556, NULL },
2226   { "T",                                 667, NULL },
2227   { "U",                                 722, NULL },
2228   { "agrave",                            500, NULL },
2229   { "V",                                 722, NULL },
2230   { "W",                                1000, NULL },
2231   { "X",                                 722, NULL },
2232   { "question",                          500, NULL },
2233   { "equal",                             570, NULL },
2234   { "Y",                                 722, NULL },
2235   { "Z",                                 667, NULL },
2236   { "four",                              500, NULL },
2237   { "a",                                 500, NULL },
2238   { "b",                                 556, NULL },
2239   { "c",                                 444, NULL },
2240   { "d",                                 556, NULL },
2241   { "e",                                 444, NULL },
2242   { "f",                                 333, NULL },
2243   { "g",                                 500, NULL },
2244   { "bullet",                            350, NULL },
2245   { "h",                                 556, NULL },
2246   { "i",                                 278, NULL },
2247   { "Oslash",                            778, NULL },
2248   { "dagger",                            500, NULL },
2249   { "j",                                 333, NULL },
2250   { "k",                                 556, NULL },
2251   { "l",                                 278, NULL },
2252   { "m",                                 833, NULL },
2253   { "n",                                 556, NULL },
2254   { "o",                                 500, NULL },
2255   { "ordfeminine",                       300, NULL },
2256   { "ring",                              333, NULL },
2257   { "p",                                 556, NULL },
2258   { "q",                                 556, NULL },
2259   { "r",                                 444, NULL },
2260   { "twosuperior",                       300, NULL },
2261   { "aacute",                            500, NULL },
2262   { "s",                                 389, NULL },
2263   { "OE",                               1000, NULL },
2264   { "t",                                 333, NULL },
2265   { "divide",                            570, NULL },
2266   { "u",                                 556, NULL },
2267   { "v",                                 500, NULL },
2268   { "w",                                 722, NULL },
2269   { "x",                                 500, NULL },
2270   { "y",                                 500, NULL },
2271   { "z",                                 444, NULL },
2272   { "hungarumlaut",                      333, NULL },
2273   { "quotedbl",                          555, NULL },
2274   { "mu",                                556, NULL },
2275   { "Scaron",                            556, NULL },
2276   { "Lslash",                            667, NULL },
2277   { "semicolon",                         333, NULL },
2278   { "oslash",                            500, NULL },
2279   { "parenright",                        333, NULL },
2280   { "Ecircumflex",                       667, NULL },
2281   { "trademark",                        1000, NULL },
2282   { "daggerdbl",                         500, NULL },
2283   { "macron",                            333, NULL },
2284   { "Otilde",                            778, NULL },
2285   { "ellipsis",                         1000, NULL },
2286   { "scaron",                            389, NULL },
2287   { "AE",                               1000, NULL },
2288   { "Ucircumflex",                       722, NULL },
2289   { "lslash",                            278, NULL },
2290   { "quotedblleft",                      500, NULL },
2291   { "guilsinglright",                    333, NULL },
2292   { "hyphen",                            333, NULL },
2293   { "quotesingle",                       278, NULL },
2294   { "eight",                             500, NULL },
2295   { "exclamdown",                        333, NULL },
2296   { "endash",                            500, NULL },
2297   { "oe",                                722, NULL },
2298   { "ecircumflex",                       444, NULL },
2299   { "copyright",                         747, NULL },
2300   { "Adieresis",                         722, NULL },
2301   { "Egrave",                            667, NULL },
2302   { "slash",                             278, NULL },
2303   { "Edieresis",                         667, NULL },
2304   { "otilde",                            500, NULL },
2305   { "Idieresis",                         389, NULL },
2306   { "parenleft",                         333, NULL },
2307   { "one",                               500, NULL },
2308   { "ucircumflex",                       556, NULL },
2309   { "Odieresis",                         778, NULL },
2310   { "bracketleft",                       333, NULL },
2311   { "Ugrave",                            722, NULL },
2312   { "quoteright",                        333, NULL },
2313   { "Udieresis",                         722, NULL },
2314   { "perthousand",                      1000, NULL },
2315   { "Ydieresis",                         722, NULL },
2316   { "Eacute",                            667, NULL },
2317   { "adieresis",                         500, NULL },
2318   { "egrave",                            444, NULL },
2319   { "edieresis",                         444, NULL },
2320   { "idieresis",                         278, NULL },
2321   { "Eth",                               722, NULL },
2322   { "ae",                                722, NULL },
2323   { "asterisk",                          500, NULL },
2324   { "odieresis",                         500, NULL },
2325   { "Uacute",                            722, NULL },
2326   { "ugrave",                            556, NULL },
2327   { "nine",                              500, NULL },
2328   { "five",                              500, NULL },
2329   { "udieresis",                         556, NULL },
2330   { "Zcaron",                            667, NULL },
2331   { "threequarters",                     750, NULL },
2332   { "guillemotright",                    500, NULL },
2333   { "ydieresis",                         500, NULL },
2334   { "Ccedilla",                          722, NULL },
2335   { "tilde",                             333, NULL },
2336   { "at",                                930, NULL },
2337   { "eacute",                            444, NULL },
2338   { "underscore",                        500, NULL },
2339   { "multiply",                          570, NULL },
2340   { "zero",                              500, NULL },
2341   { "eth",                               500, NULL },
2342   { "Ograve",                            778, NULL },
2343   { "uacute",                            556, NULL },
2344   { "braceleft",                         394, NULL },
2345   { "Thorn",                             611, NULL },
2346   { "zcaron",                            444, NULL },
2347   { "ccedilla",                          444, NULL },
2348   { "Ocircumflex",                       778, NULL },
2349   { "Oacute",                            778, NULL },
2350   { "ogonek",                            333, NULL },
2351   { "ograve",                            500, NULL },
2352   { "thorn",                             556, NULL },
2353   { "degree",                            400, NULL },
2354   { "registered",                        747, NULL },
2355   { "Aring",                             722, NULL },
2356   { "percent",                          1000, NULL },
2357   { "six",                               500, NULL },
2358   { "paragraph",                         540, NULL },
2359   { "two",                               500, NULL },
2360   { "Igrave",                            389, NULL },
2361   { "ocircumflex",                       500, NULL },
2362   { "oacute",                            500, NULL },
2363   { "asciicircum",                       581, NULL },
2364   { "aring",                             500, NULL },
2365   { "grave",                             333, NULL },
2366   { "bracketright",                      333, NULL },
2367   { "Iacute",                            389, NULL },
2368   { "ampersand",                         833, NULL },
2369   { "igrave",                            278, NULL },
2370   { "plus",                              570, NULL },
2371   { "quotesinglbase",                    333, NULL },
2372   { "Yacute",                            722, NULL },
2373   { "threesuperior",                     300, NULL },
2374   { "acute",                             333, NULL },
2375   { "section",                           500, NULL },
2376   { "dieresis",                          333, NULL },
2377   { "iacute",                            278, NULL },
2378   { "quotedblbase",                      500, NULL },
2379   { "florin",                            500, NULL },
2380   { "yacute",                            500, NULL },
2381   { "fi",                                556, NULL },
2382   { "fl",                                556, NULL },
2383   { "Acircumflex",                       722, NULL },
2384   { "Icircumflex",                       389, NULL },
2385   { "guillemotleft",                     500, NULL },
2386   { "germandbls",                        556, NULL },
2387   { "seven",                             500, NULL },
2388   { "ordmasculine",                      330, NULL },
2389   { "dotlessi",                          278, NULL },
2390   { "sterling",                          500, NULL },
2391   { "acircumflex",                       500, NULL },
2392   { "icircumflex",                       278, NULL },
2393   { "braceright",                        394, NULL },
2394   { "quotedblright",                     500, NULL },
2395   { "cent",                              500, NULL },
2396   { "currency",                          500, NULL },
2397   { "logicalnot",                        570, NULL },
2398   { "Atilde",                            722, NULL },
2399   { "breve",                             333, NULL },
2400   { "bar",                               220, NULL },
2401   { "fraction",                          167, NULL },
2402   { "less",                              570, NULL },
2403   { "guilsinglleft",                     333, NULL },
2404   { "exclam",                            333, NULL },
2405   { "period",                            250, NULL },
2406   { "greater",                           570, NULL },
2407   { "atilde",                            500, NULL },
2408   { "brokenbar",                         220, NULL },
2409   { "quoteleft",                         333, NULL },
2410   { "onesuperior",                       300, NULL }
2411 };
2412
2413 static BuiltinFontWidth timesBoldItalicWidthsTab[] = {
2414   { "Ntilde",                            722, NULL },
2415   { "comma",                             250, NULL },
2416   { "cedilla",                           333, NULL },
2417   { "plusminus",                         570, NULL },
2418   { "circumflex",                        333, NULL },
2419   { "dotaccent",                         333, NULL },
2420   { "asciitilde",                        570, NULL },
2421   { "colon",                             333, NULL },
2422   { "onehalf",                           750, NULL },
2423   { "dollar",                            500, NULL },
2424   { "ntilde",                            556, NULL },
2425   { "minus",                             606, NULL },
2426   { "yen",                               500, NULL },
2427   { "space",                             250, NULL },
2428   { "questiondown",                      500, NULL },
2429   { "emdash",                           1000, NULL },
2430   { "Agrave",                            667, NULL },
2431   { "three",                             500, NULL },
2432   { "numbersign",                        500, NULL },
2433   { "A",                                 667, NULL },
2434   { "B",                                 667, NULL },
2435   { "C",                                 667, NULL },
2436   { "D",                                 722, NULL },
2437   { "E",                                 667, NULL },
2438   { "onequarter",                        750, NULL },
2439   { "F",                                 667, NULL },
2440   { "G",                                 722, NULL },
2441   { "H",                                 778, NULL },
2442   { "I",                                 389, NULL },
2443   { "J",                                 500, NULL },
2444   { "K",                                 667, NULL },
2445   { "backslash",                         278, NULL },
2446   { "L",                                 611, NULL },
2447   { "periodcentered",                    250, NULL },
2448   { "M",                                 889, NULL },
2449   { "N",                                 722, NULL },
2450   { "O",                                 722, NULL },
2451   { "P",                                 611, NULL },
2452   { "Q",                                 722, NULL },
2453   { "R",                                 667, NULL },
2454   { "Aacute",                            667, NULL },
2455   { "caron",                             333, NULL },
2456   { "S",                                 556, NULL },
2457   { "T",                                 611, NULL },
2458   { "U",                                 722, NULL },
2459   { "agrave",                            500, NULL },
2460   { "V",                                 667, NULL },
2461   { "W",                                 889, NULL },
2462   { "X",                                 667, NULL },
2463   { "question",                          500, NULL },
2464   { "equal",                             570, NULL },
2465   { "Y",                                 611, NULL },
2466   { "Z",                                 611, NULL },
2467   { "four",                              500, NULL },
2468   { "a",                                 500, NULL },
2469   { "b",                                 500, NULL },
2470   { "c",                                 444, NULL },
2471   { "d",                                 500, NULL },
2472   { "e",                                 444, NULL },
2473   { "f",                                 333, NULL },
2474   { "g",                                 500, NULL },
2475   { "bullet",                            350, NULL },
2476   { "h",                                 556, NULL },
2477   { "i",                                 278, NULL },
2478   { "Oslash",                            722, NULL },
2479   { "dagger",                            500, NULL },
2480   { "j",                                 278, NULL },
2481   { "k",                                 500, NULL },
2482   { "l",                                 278, NULL },
2483   { "m",                                 778, NULL },
2484   { "n",                                 556, NULL },
2485   { "o",                                 500, NULL },
2486   { "ordfeminine",                       266, NULL },
2487   { "ring",                              333, NULL },
2488   { "p",                                 500, NULL },
2489   { "q",                                 500, NULL },
2490   { "r",                                 389, NULL },
2491   { "twosuperior",                       300, NULL },
2492   { "aacute",                            500, NULL },
2493   { "s",                                 389, NULL },
2494   { "OE",                                944, NULL },
2495   { "t",                                 278, NULL },
2496   { "divide",                            570, NULL },
2497   { "u",                                 556, NULL },
2498   { "v",                                 444, NULL },
2499   { "w",                                 667, NULL },
2500   { "x",                                 500, NULL },
2501   { "y",                                 444, NULL },
2502   { "z",                                 389, NULL },
2503   { "hungarumlaut",                      333, NULL },
2504   { "quotedbl",                          555, NULL },
2505   { "mu",                                576, NULL },
2506   { "Scaron",                            556, NULL },
2507   { "Lslash",                            611, NULL },
2508   { "semicolon",                         333, NULL },
2509   { "oslash",                            500, NULL },
2510   { "parenright",                        333, NULL },
2511   { "Ecircumflex",                       667, NULL },
2512   { "trademark",                        1000, NULL },
2513   { "daggerdbl",                         500, NULL },
2514   { "macron",                            333, NULL },
2515   { "Otilde",                            722, NULL },
2516   { "ellipsis",                         1000, NULL },
2517   { "scaron",                            389, NULL },
2518   { "AE",                                944, NULL },
2519   { "Ucircumflex",                       722, NULL },
2520   { "lslash",                            278, NULL },
2521   { "quotedblleft",                      500, NULL },
2522   { "guilsinglright",                    333, NULL },
2523   { "hyphen",                            333, NULL },
2524   { "quotesingle",                       278, NULL },
2525   { "eight",                             500, NULL },
2526   { "exclamdown",                        389, NULL },
2527   { "endash",                            500, NULL },
2528   { "oe",                                722, NULL },
2529   { "ecircumflex",                       444, NULL },
2530   { "copyright",                         747, NULL },
2531   { "Adieresis",                         667, NULL },
2532   { "Egrave",                            667, NULL },
2533   { "slash",                             278, NULL },
2534   { "Edieresis",                         667, NULL },
2535   { "otilde",                            500, NULL },
2536   { "Idieresis",                         389, NULL },
2537   { "parenleft",                         333, NULL },
2538   { "one",                               500, NULL },
2539   { "ucircumflex",                       556, NULL },
2540   { "Odieresis",                         722, NULL },
2541   { "bracketleft",                       333, NULL },
2542   { "Ugrave",                            722, NULL },
2543   { "quoteright",                        333, NULL },
2544   { "Udieresis",                         722, NULL },
2545   { "perthousand",                      1000, NULL },
2546   { "Ydieresis",                         611, NULL },
2547   { "Eacute",                            667, NULL },
2548   { "adieresis",                         500, NULL },
2549   { "egrave",                            444, NULL },
2550   { "edieresis",                         444, NULL },
2551   { "idieresis",                         278, NULL },
2552   { "Eth",                               722, NULL },
2553   { "ae",                                722, NULL },
2554   { "asterisk",                          500, NULL },
2555   { "odieresis",                         500, NULL },
2556   { "Uacute",                            722, NULL },
2557   { "ugrave",                            556, NULL },
2558   { "nine",                              500, NULL },
2559   { "five",                              500, NULL },
2560   { "udieresis",                         556, NULL },
2561   { "Zcaron",                            611, NULL },
2562   { "threequarters",                     750, NULL },
2563   { "guillemotright",                    500, NULL },
2564   { "ydieresis",                         444, NULL },
2565   { "Ccedilla",                          667, NULL },
2566   { "tilde",                             333, NULL },
2567   { "at",                                832, NULL },
2568   { "eacute",                            444, NULL },
2569   { "underscore",                        500, NULL },
2570   { "multiply",                          570, NULL },
2571   { "zero",                              500, NULL },
2572   { "eth",                               500, NULL },
2573   { "Ograve",                            722, NULL },
2574   { "uacute",                            556, NULL },
2575   { "braceleft",                         348, NULL },
2576   { "Thorn",                             611, NULL },
2577   { "zcaron",                            389, NULL },
2578   { "ccedilla",                          444, NULL },
2579   { "Ocircumflex",                       722, NULL },
2580   { "Oacute",                            722, NULL },
2581   { "ogonek",                            333, NULL },
2582   { "ograve",                            500, NULL },
2583   { "thorn",                             500, NULL },
2584   { "degree",                            400, NULL },
2585   { "registered",                        747, NULL },
2586   { "Aring",                             667, NULL },
2587   { "percent",                           833, NULL },
2588   { "six",                               500, NULL },
2589   { "paragraph",                         500, NULL },
2590   { "two",                               500, NULL },
2591   { "Igrave",                            389, NULL },
2592   { "ocircumflex",                       500, NULL },
2593   { "oacute",                            500, NULL },
2594   { "asciicircum",                       570, NULL },
2595   { "aring",                             500, NULL },
2596   { "grave",                             333, NULL },
2597   { "bracketright",                      333, NULL },
2598   { "Iacute",                            389, NULL },
2599   { "ampersand",                         778, NULL },
2600   { "igrave",                            278, NULL },
2601   { "plus",                              570, NULL },
2602   { "quotesinglbase",                    333, NULL },
2603   { "Yacute",                            611, NULL },
2604   { "threesuperior",                     300, NULL },
2605   { "acute",                             333, NULL },
2606   { "section",                           500, NULL },
2607   { "dieresis",                          333, NULL },
2608   { "iacute",                            278, NULL },
2609   { "quotedblbase",                      500, NULL },
2610   { "florin",                            500, NULL },
2611   { "yacute",                            444, NULL },
2612   { "fi",                                556, NULL },
2613   { "fl",                                556, NULL },
2614   { "Acircumflex",                       667, NULL },
2615   { "Icircumflex",                       389, NULL },
2616   { "guillemotleft",                     500, NULL },
2617   { "germandbls",                        500, NULL },
2618   { "seven",                             500, NULL },
2619   { "ordmasculine",                      300, NULL },
2620   { "dotlessi",                          278, NULL },
2621   { "sterling",                          500, NULL },
2622   { "acircumflex",                       500, NULL },
2623   { "icircumflex",                       278, NULL },
2624   { "braceright",                        348, NULL },
2625   { "quotedblright",                     500, NULL },
2626   { "cent",                              500, NULL },
2627   { "currency",                          500, NULL },
2628   { "logicalnot",                        606, NULL },
2629   { "Atilde",                            667, NULL },
2630   { "breve",                             333, NULL },
2631   { "bar",                               220, NULL },
2632   { "fraction",                          167, NULL },
2633   { "less",                              570, NULL },
2634   { "guilsinglleft",                     333, NULL },
2635   { "exclam",                            389, NULL },
2636   { "period",                            250, NULL },
2637   { "greater",                           570, NULL },
2638   { "atilde",                            500, NULL },
2639   { "brokenbar",                         220, NULL },
2640   { "quoteleft",                         333, NULL },
2641   { "onesuperior",                       300, NULL }
2642 };
2643
2644 static BuiltinFontWidth timesItalicWidthsTab[] = {
2645   { "Ntilde",                            667, NULL },
2646   { "comma",                             250, NULL },
2647   { "cedilla",                           333, NULL },
2648   { "plusminus",                         675, NULL },
2649   { "circumflex",                        333, NULL },
2650   { "dotaccent",                         333, NULL },
2651   { "asciitilde",                        541, NULL },
2652   { "colon",                             333, NULL },
2653   { "onehalf",                           750, NULL },
2654   { "dollar",                            500, NULL },
2655   { "ntilde",                            500, NULL },
2656   { "minus",                             675, NULL },
2657   { "yen",                               500, NULL },
2658   { "space",                             250, NULL },
2659   { "questiondown",                      500, NULL },
2660   { "emdash",                            889, NULL },
2661   { "Agrave",                            611, NULL },
2662   { "three",                             500, NULL },
2663   { "numbersign",                        500, NULL },
2664   { "A",                                 611, NULL },
2665   { "B",                                 611, NULL },
2666   { "C",                                 667, NULL },
2667   { "D",                                 722, NULL },
2668   { "E",                                 611, NULL },
2669   { "onequarter",                        750, NULL },
2670   { "F",                                 611, NULL },
2671   { "G",                                 722, NULL },
2672   { "H",                                 722, NULL },
2673   { "I",                                 333, NULL },
2674   { "J",                                 444, NULL },
2675   { "K",                                 667, NULL },
2676   { "backslash",                         278, NULL },
2677   { "L",                                 556, NULL },
2678   { "periodcentered",                    250, NULL },
2679   { "M",                                 833, NULL },
2680   { "N",                                 667, NULL },
2681   { "O",                                 722, NULL },
2682   { "P",                                 611, NULL },
2683   { "Q",                                 722, NULL },
2684   { "R",                                 611, NULL },
2685   { "Aacute",                            611, NULL },
2686   { "caron",                             333, NULL },
2687   { "S",                                 500, NULL },
2688   { "T",                                 556, NULL },
2689   { "U",                                 722, NULL },
2690   { "agrave",                            500, NULL },
2691   { "V",                                 611, NULL },
2692   { "W",                                 833, NULL },
2693   { "X",                                 611, NULL },
2694   { "question",                          500, NULL },
2695   { "equal",                             675, NULL },
2696   { "Y",                                 556, NULL },
2697   { "Z",                                 556, NULL },
2698   { "four",                              500, NULL },
2699   { "a",                                 500, NULL },
2700   { "b",                                 500, NULL },
2701   { "c",                                 444, NULL },
2702   { "d",                                 500, NULL },
2703   { "e",                                 444, NULL },
2704   { "f",                                 278, NULL },
2705   { "g",                                 500, NULL },
2706   { "bullet",                            350, NULL },
2707   { "h",                                 500, NULL },
2708   { "i",                                 278, NULL },
2709   { "Oslash",                            722, NULL },
2710   { "dagger",                            500, NULL },
2711   { "j",                                 278, NULL },
2712   { "k",                                 444, NULL },
2713   { "l",                                 278, NULL },
2714   { "m",                                 722, NULL },
2715   { "n",                                 500, NULL },
2716   { "o",                                 500, NULL },
2717   { "ordfeminine",                       276, NULL },
2718   { "ring",                              333, NULL },
2719   { "p",                                 500, NULL },
2720   { "q",                                 500, NULL },
2721   { "r",                                 389, NULL },
2722   { "twosuperior",                       300, NULL },
2723   { "aacute",                            500, NULL },
2724   { "s",                                 389, NULL },
2725   { "OE",                                944, NULL },
2726   { "t",                                 278, NULL },
2727   { "divide",                            675, NULL },
2728   { "u",                                 500, NULL },
2729   { "v",                                 444, NULL },
2730   { "w",                                 667, NULL },
2731   { "x",                                 444, NULL },
2732   { "y",                                 444, NULL },
2733   { "z",                                 389, NULL },
2734   { "hungarumlaut",                      333, NULL },
2735   { "quotedbl",                          420, NULL },
2736   { "mu",                                500, NULL },
2737   { "Scaron",                            500, NULL },
2738   { "Lslash",                            556, NULL },
2739   { "semicolon",                         333, NULL },
2740   { "oslash",                            500, NULL },
2741   { "parenright",                        333, NULL },
2742   { "Ecircumflex",                       611, NULL },
2743   { "trademark",                         980, NULL },
2744   { "daggerdbl",                         500, NULL },
2745   { "macron",                            333, NULL },
2746   { "Otilde",                            722, NULL },
2747   { "ellipsis",                          889, NULL },
2748   { "scaron",                            389, NULL },
2749   { "AE",                                889, NULL },
2750   { "Ucircumflex",                       722, NULL },
2751   { "lslash",                            278, NULL },
2752   { "quotedblleft",                      556, NULL },
2753   { "guilsinglright",                    333, NULL },
2754   { "hyphen",                            333, NULL },
2755   { "quotesingle",                       214, NULL },
2756   { "eight",                             500, NULL },
2757   { "exclamdown",                        389, NULL },
2758   { "endash",                            500, NULL },
2759   { "oe",                                667, NULL },
2760   { "ecircumflex",                       444, NULL },
2761   { "copyright",                         760, NULL },
2762   { "Adieresis",                         611, NULL },
2763   { "Egrave",                            611, NULL },
2764   { "slash",                             278, NULL },
2765   { "Edieresis",                         611, NULL },
2766   { "otilde",                            500, NULL },
2767   { "Idieresis",                         333, NULL },
2768   { "parenleft",                         333, NULL },
2769   { "one",                               500, NULL },
2770   { "ucircumflex",                       500, NULL },
2771   { "Odieresis",                         722, NULL },
2772   { "bracketleft",                       389, NULL },
2773   { "Ugrave",                            722, NULL },
2774   { "quoteright",                        333, NULL },
2775   { "Udieresis",                         722, NULL },
2776   { "perthousand",                      1000, NULL },
2777   { "Ydieresis",                         556, NULL },
2778   { "Eacute",                            611, NULL },
2779   { "adieresis",                         500, NULL },
2780   { "egrave",                            444, NULL },
2781   { "edieresis",                         444, NULL },
2782   { "idieresis",                         278, NULL },
2783   { "Eth",                               722, NULL },
2784   { "ae",                                667, NULL },
2785   { "asterisk",                          500, NULL },
2786   { "odieresis",                         500, NULL },
2787   { "Uacute",                            722, NULL },
2788   { "ugrave",                            500, NULL },
2789   { "nine",                              500, NULL },
2790   { "five",                              500, NULL },
2791   { "udieresis",                         500, NULL },
2792   { "Zcaron",                            556, NULL },
2793   { "threequarters",                     750, NULL },
2794   { "guillemotright",                    500, NULL },
2795   { "ydieresis",                         444, NULL },
2796   { "Ccedilla",                          667, NULL },
2797   { "tilde",                             333, NULL },
2798   { "at",                                920, NULL },
2799   { "eacute",                            444, NULL },
2800   { "underscore",                        500, NULL },
2801   { "multiply",                          675, NULL },
2802   { "zero",                              500, NULL },
2803   { "eth",                               500, NULL },
2804   { "Ograve",                            722, NULL },
2805   { "uacute",                            500, NULL },
2806   { "braceleft",                         400, NULL },
2807   { "Thorn",                             611, NULL },
2808   { "zcaron",                            389, NULL },
2809   { "ccedilla",                          444, NULL },
2810   { "Ocircumflex",                       722, NULL },
2811   { "Oacute",                            722, NULL },
2812   { "ogonek",                            333, NULL },
2813   { "ograve",                            500, NULL },
2814   { "thorn",                             500, NULL },
2815   { "degree",                            400, NULL },
2816   { "registered",                        760, NULL },
2817   { "Aring",                             611, NULL },
2818   { "percent",                           833, NULL },
2819   { "six",                               500, NULL },
2820   { "paragraph",                         523, NULL },
2821   { "two",                               500, NULL },
2822   { "Igrave",                            333, NULL },
2823   { "ocircumflex",                       500, NULL },
2824   { "oacute",                            500, NULL },
2825   { "asciicircum",                       422, NULL },
2826   { "aring",                             500, NULL },
2827   { "grave",                             333, NULL },
2828   { "bracketright",                      389, NULL },
2829   { "Iacute",                            333, NULL },
2830   { "ampersand",                         778, NULL },
2831   { "igrave",                            278, NULL },
2832   { "plus",                              675, NULL },
2833   { "quotesinglbase",                    333, NULL },
2834   { "Yacute",                            556, NULL },
2835   { "threesuperior",                     300, NULL },
2836   { "acute",                             333, NULL },
2837   { "section",                           500, NULL },
2838   { "dieresis",                          333, NULL },
2839   { "iacute",                            278, NULL },
2840   { "quotedblbase",                      556, NULL },
2841   { "florin",                            500, NULL },
2842   { "yacute",                            444, NULL },
2843   { "fi",                                500, NULL },
2844   { "fl",                                500, NULL },
2845   { "Acircumflex",                       611, NULL },
2846   { "Icircumflex",                       333, NULL },
2847   { "guillemotleft",                     500, NULL },
2848   { "germandbls",                        500, NULL },
2849   { "seven",                             500, NULL },
2850   { "ordmasculine",                      310, NULL },
2851   { "dotlessi",                          278, NULL },
2852   { "sterling",                          500, NULL },
2853   { "acircumflex",                       500, NULL },
2854   { "icircumflex",                       278, NULL },
2855   { "braceright",                        400, NULL },
2856   { "quotedblright",                     556, NULL },
2857   { "cent",                              500, NULL },
2858   { "currency",                          500, NULL },
2859   { "logicalnot",                        675, NULL },
2860   { "Atilde",                            611, NULL },
2861   { "breve",                             333, NULL },
2862   { "bar",                               275, NULL },
2863   { "fraction",                          167, NULL },
2864   { "less",                              675, NULL },
2865   { "guilsinglleft",                     333, NULL },
2866   { "exclam",                            333, NULL },
2867   { "period",                            250, NULL },
2868   { "greater",                           675, NULL },
2869   { "atilde",                            500, NULL },
2870   { "brokenbar",                         275, NULL },
2871   { "quoteleft",                         333, NULL },
2872   { "onesuperior",                       300, NULL }
2873 };
2874
2875 static BuiltinFontWidth timesRomanWidthsTab[] = {
2876   { "Ntilde",                            722, NULL },
2877   { "comma",                             250, NULL },
2878   { "cedilla",                           333, NULL },
2879   { "plusminus",                         564, NULL },
2880   { "circumflex",                        333, NULL },
2881   { "dotaccent",                         333, NULL },
2882   { "asciitilde",                        541, NULL },
2883   { "colon",                             278, NULL },
2884   { "onehalf",                           750, NULL },
2885   { "dollar",                            500, NULL },
2886   { "ntilde",                            500, NULL },
2887   { "minus",                             564, NULL },
2888   { "yen",                               500, NULL },
2889   { "space",                             250, NULL },
2890   { "questiondown",                      444, NULL },
2891   { "emdash",                           1000, NULL },
2892   { "Agrave",                            722, NULL },
2893   { "three",                             500, NULL },
2894   { "numbersign",                        500, NULL },
2895   { "A",                                 722, NULL },
2896   { "B",                                 667, NULL },
2897   { "C",                                 667, NULL },
2898   { "D",                                 722, NULL },
2899   { "E",                                 611, NULL },
2900   { "onequarter",                        750, NULL },
2901   { "F",                                 556, NULL },
2902   { "G",                                 722, NULL },
2903   { "H",                                 722, NULL },
2904   { "I",                                 333, NULL },
2905   { "J",                                 389, NULL },
2906   { "K",                                 722, NULL },
2907   { "backslash",                         278, NULL },
2908   { "L",                                 611, NULL },
2909   { "periodcentered",                    250, NULL },
2910   { "M",                                 889, NULL },
2911   { "N",                                 722, NULL },
2912   { "O",                                 722, NULL },
2913   { "P",                                 556, NULL },
2914   { "Q",                                 722, NULL },
2915   { "R",                                 667, NULL },
2916   { "Aacute",                            722, NULL },
2917   { "caron",                             333, NULL },
2918   { "S",                                 556, NULL },
2919   { "T",                                 611, NULL },
2920   { "U",                                 722, NULL },
2921   { "agrave",                            444, NULL },
2922   { "V",                                 722, NULL },
2923   { "W",                                 944, NULL },
2924   { "X",                                 722, NULL },
2925   { "question",                          444, NULL },
2926   { "equal",                             564, NULL },
2927   { "Y",                                 722, NULL },
2928   { "Z",                                 611, NULL },
2929   { "four",                              500, NULL },
2930   { "a",                                 444, NULL },
2931   { "b",                                 500, NULL },
2932   { "c",                                 444, NULL },
2933   { "d",                                 500, NULL },
2934   { "e",                                 444, NULL },
2935   { "f",                                 333, NULL },
2936   { "g",                                 500, NULL },
2937   { "bullet",                            350, NULL },
2938   { "h",                                 500, NULL },
2939   { "i",                                 278, NULL },
2940   { "Oslash",                            722, NULL },
2941   { "dagger",                            500, NULL },
2942   { "j",                                 278, NULL },
2943   { "k",                                 500, NULL },
2944   { "l",                                 278, NULL },
2945   { "m",                                 778, NULL },
2946   { "n",                                 500, NULL },
2947   { "o",                                 500, NULL },
2948   { "ordfeminine",                       276, NULL },
2949   { "ring",                              333, NULL },
2950   { "p",                                 500, NULL },
2951   { "q",                                 500, NULL },
2952   { "r",                                 333, NULL },
2953   { "twosuperior",                       300, NULL },
2954   { "aacute",                            444, NULL },
2955   { "s",                                 389, NULL },
2956   { "OE",                                889, NULL },
2957   { "t",                                 278, NULL },
2958   { "divide",                            564, NULL },
2959   { "u",                                 500, NULL },
2960   { "v",                                 500, NULL },
2961   { "w",                                 722, NULL },
2962   { "x",                                 500, NULL },
2963   { "y",                                 500, NULL },
2964   { "z",                                 444, NULL },
2965   { "hungarumlaut",                      333, NULL },
2966   { "quotedbl",                          408, NULL },
2967   { "mu",                                500, NULL },
2968   { "Scaron",                            556, NULL },
2969   { "Lslash",                            611, NULL },
2970   { "semicolon",                         278, NULL },
2971   { "oslash",                            500, NULL },
2972   { "parenright",                        333, NULL },
2973   { "Ecircumflex",                       611, NULL },
2974   { "trademark",                         980, NULL },
2975   { "daggerdbl",                         500, NULL },
2976   { "macron",                            333, NULL },
2977   { "Otilde",                            722, NULL },
2978   { "ellipsis",                         1000, NULL },
2979   { "scaron",                            389, NULL },
2980   { "AE",                                889, NULL },
2981   { "Ucircumflex",                       722, NULL },
2982   { "lslash",                            278, NULL },
2983   { "quotedblleft",                      444, NULL },
2984   { "guilsinglright",                    333, NULL },
2985   { "hyphen",                            333, NULL },
2986   { "quotesingle",                       180, NULL },
2987   { "eight",                             500, NULL },
2988   { "exclamdown",                        333, NULL },
2989   { "endash",                            500, NULL },
2990   { "oe",                                722, NULL },
2991   { "ecircumflex",                       444, NULL },
2992   { "copyright",                         760, NULL },
2993   { "Adieresis",                         722, NULL },
2994   { "Egrave",                            611, NULL },
2995   { "slash",                             278, NULL },
2996   { "Edieresis",                         611, NULL },
2997   { "otilde",                            500, NULL },
2998   { "Idieresis",                         333, NULL },
2999   { "parenleft",                         333, NULL },
3000   { "one",                               500, NULL },
3001   { "ucircumflex",                       500, NULL },
3002   { "Odieresis",                         722, NULL },
3003   { "bracketleft",                       333, NULL },
3004   { "Ugrave",                            722, NULL },
3005   { "quoteright",                        333, NULL },
3006   { "Udieresis",                         722, NULL },
3007   { "perthousand",                      1000, NULL },
3008   { "Ydieresis",                         722, NULL },
3009   { "Eacute",                            611, NULL },
3010   { "adieresis",                         444, NULL },
3011   { "egrave",                            444, NULL },
3012   { "edieresis",                         444, NULL },
3013   { "idieresis",                         278, NULL },
3014   { "Eth",                               722, NULL },
3015   { "ae",                                667, NULL },
3016   { "asterisk",                          500, NULL },
3017   { "odieresis",                         500, NULL },
3018   { "Uacute",                            722, NULL },
3019   { "ugrave",                            500, NULL },
3020   { "nine",                              500, NULL },
3021   { "five",                              500, NULL },
3022   { "udieresis",                         500, NULL },
3023   { "Zcaron",                            611, NULL },
3024   { "threequarters",                     750, NULL },
3025   { "guillemotright",                    500, NULL },
3026   { "ydieresis",                         500, NULL },
3027   { "Ccedilla",                          667, NULL },
3028   { "tilde",                             333, NULL },
3029   { "at",                                921, NULL },
3030   { "eacute",                            444, NULL },
3031   { "underscore",                        500, NULL },
3032   { "multiply",                          564, NULL },
3033   { "zero",                              500, NULL },
3034   { "eth",                               500, NULL },
3035   { "Ograve",                            722, NULL },
3036   { "uacute",                            500, NULL },
3037   { "braceleft",                         480, NULL },
3038   { "Thorn",                             556, NULL },
3039   { "zcaron",                            444, NULL },
3040   { "ccedilla",                          444, NULL },
3041   { "Ocircumflex",                       722, NULL },
3042   { "Oacute",                            722, NULL },
3043   { "ogonek",                            333, NULL },
3044   { "ograve",                            500, NULL },
3045   { "thorn",                             500, NULL },
3046   { "degree",                            400, NULL },
3047   { "registered",                        760, NULL },
3048   { "Aring",                             722, NULL },
3049   { "percent",                           833, NULL },
3050   { "six",                               500, NULL },
3051   { "paragraph",                         453, NULL },
3052   { "two",                               500, NULL },
3053   { "Igrave",                            333, NULL },
3054   { "ocircumflex",                       500, NULL },
3055   { "oacute",                            500, NULL },
3056   { "asciicircum",                       469, NULL },
3057   { "aring",                             444, NULL },
3058   { "grave",                             333, NULL },
3059   { "bracketright",                      333, NULL },
3060   { "Iacute",                            333, NULL },
3061   { "ampersand",                         778, NULL },
3062   { "igrave",                            278, NULL },
3063   { "plus",                              564, NULL },
3064   { "quotesinglbase",                    333, NULL },
3065   { "Yacute",                            722, NULL },
3066   { "threesuperior",                     300, NULL },
3067   { "acute",                             333, NULL },
3068   { "section",                           500, NULL },
3069   { "dieresis",                          333, NULL },
3070   { "iacute",                            278, NULL },
3071   { "quotedblbase",                      444, NULL },
3072   { "florin",                            500, NULL },
3073   { "yacute",                            500, NULL },
3074   { "fi",                                556, NULL },
3075   { "fl",                                556, NULL },
3076   { "Acircumflex",                       722, NULL },
3077   { "Icircumflex",                       333, NULL },
3078   { "guillemotleft",                     500, NULL },
3079   { "germandbls",                        500, NULL },
3080   { "seven",                             500, NULL },
3081   { "ordmasculine",                      310, NULL },
3082   { "dotlessi",                          278, NULL },
3083   { "sterling",                          500, NULL },
3084   { "acircumflex",                       444, NULL },
3085   { "icircumflex",                       278, NULL },
3086   { "braceright",                        480, NULL },
3087   { "quotedblright",                     444, NULL },
3088   { "cent",                              500, NULL },
3089   { "currency",                          500, NULL },
3090   { "logicalnot",                        564, NULL },
3091   { "Atilde",                            722, NULL },
3092   { "breve",                             333, NULL },
3093   { "bar",                               200, NULL },
3094   { "fraction",                          167, NULL },
3095   { "less",                              564, NULL },
3096   { "guilsinglleft",                     333, NULL },
3097   { "exclam",                            333, NULL },
3098   { "period",                            250, NULL },
3099   { "greater",                           564, NULL },
3100   { "atilde",                            444, NULL },
3101   { "brokenbar",                         200, NULL },
3102   { "quoteleft",                         333, NULL },
3103   { "onesuperior",                       300, NULL }
3104 };
3105
3106 static BuiltinFontWidth zapfDingbatsWidthsTab[] = {
3107   { "a81",                               438, NULL },
3108   { "a82",                               138, NULL },
3109   { "a83",                               277, NULL },
3110   { "a84",                               415, NULL },
3111   { "a85",                               509, NULL },
3112   { "a86",                               410, NULL },
3113   { "a87",                               234, NULL },
3114   { "a88",                               234, NULL },
3115   { "a89",                               390, NULL },
3116   { "a140",                              788, NULL },
3117   { "a141",                              788, NULL },
3118   { "a142",                              788, NULL },
3119   { "a143",                              788, NULL },
3120   { "a144",                              788, NULL },
3121   { "a145",                              788, NULL },
3122   { "a146",                              788, NULL },
3123   { "a147",                              788, NULL },
3124   { "a148",                              788, NULL },
3125   { "a149",                              788, NULL },
3126   { "a90",                               390, NULL },
3127   { "a91",                               276, NULL },
3128   { "a92",                               276, NULL },
3129   { "space",                             278, NULL },
3130   { "a93",                               317, NULL },
3131   { "a94",                               317, NULL },
3132   { "a95",                               334, NULL },
3133   { "a96",                               334, NULL },
3134   { "a97",                               392, NULL },
3135   { "a98",                               392, NULL },
3136   { "a99",                               668, NULL },
3137   { "a150",                              788, NULL },
3138   { "a151",                              788, NULL },
3139   { "a152",                              788, NULL },
3140   { "a153",                              788, NULL },
3141   { "a154",                              788, NULL },
3142   { "a155",                              788, NULL },
3143   { "a156",                              788, NULL },
3144   { "a157",                              788, NULL },
3145   { "a158",                              788, NULL },
3146   { "a159",                              788, NULL },
3147   { "a160",                              894, NULL },
3148   { "a161",                              838, NULL },
3149   { "a162",                              924, NULL },
3150   { "a163",                             1016, NULL },
3151   { "a164",                              458, NULL },
3152   { "a165",                              924, NULL },
3153   { "a166",                              918, NULL },
3154   { "a167",                              927, NULL },
3155   { "a168",                              928, NULL },
3156   { "a169",                              928, NULL },
3157   { "a170",                              834, NULL },
3158   { "a171",                              873, NULL },
3159   { "a172",                              828, NULL },
3160   { "a173",                              924, NULL },
3161   { "a174",                              917, NULL },
3162   { "a175",                              930, NULL },
3163   { "a176",                              931, NULL },
3164   { "a177",                              463, NULL },
3165   { "a178",                              883, NULL },
3166   { "a179",                              836, NULL },
3167   { "a180",                              867, NULL },
3168   { "a181",                              696, NULL },
3169   { "a182",                              874, NULL },
3170   { "a183",                              760, NULL },
3171   { "a184",                              946, NULL },
3172   { "a185",                              865, NULL },
3173   { "a186",                              967, NULL },
3174   { "a187",                              831, NULL },
3175   { "a188",                              873, NULL },
3176   { "a189",                              927, NULL },
3177   { "a1",                                974, NULL },
3178   { "a2",                                961, NULL },
3179   { "a3",                                980, NULL },
3180   { "a4",                                719, NULL },
3181   { "a5",                                789, NULL },
3182   { "a6",                                494, NULL },
3183   { "a7",                                552, NULL },
3184   { "a8",                                537, NULL },
3185   { "a9",                                577, NULL },
3186   { "a190",                              970, NULL },
3187   { "a191",                              918, NULL },
3188   { "a192",                              748, NULL },
3189   { "a193",                              836, NULL },
3190   { "a194",                              771, NULL },
3191   { "a195",                              888, NULL },
3192   { "a196",                              748, NULL },
3193   { "a197",                              771, NULL },
3194   { "a198",                              888, NULL },
3195   { "a199",                              867, NULL },
3196   { "a10",                               692, NULL },
3197   { "a11",                               960, NULL },
3198   { "a12",                               939, NULL },
3199   { "a13",                               549, NULL },
3200   { "a14",                               855, NULL },
3201   { "a15",                               911, NULL },
3202   { "a16",                               933, NULL },
3203   { "a17",                               945, NULL },
3204   { "a18",                               974, NULL },
3205   { "a19",                               755, NULL },
3206   { "a20",                               846, NULL },
3207   { "a21",                               762, NULL },
3208   { "a22",                               761, NULL },
3209   { "a23",                               571, NULL },
3210   { "a24",                               677, NULL },
3211   { "a25",                               763, NULL },
3212   { "a26",                               760, NULL },
3213   { "a27",                               759, NULL },
3214   { "a28",                               754, NULL },
3215   { "a29",                               786, NULL },
3216   { "a30",                               788, NULL },
3217   { "a31",                               788, NULL },
3218   { "a32",                               790, NULL },
3219   { "a33",                               793, NULL },
3220   { "a34",                               794, NULL },
3221   { "a35",                               816, NULL },
3222   { "a36",                               823, NULL },
3223   { "a37",                               789, NULL },
3224   { "a38",                               841, NULL },
3225   { "a39",                               823, NULL },
3226   { "a40",                               833, NULL },
3227   { "a41",                               816, NULL },
3228   { "a42",                               831, NULL },
3229   { "a43",                               923, NULL },
3230   { "a44",                               744, NULL },
3231   { "a45",                               723, NULL },
3232   { "a46",                               749, NULL },
3233   { "a47",                               790, NULL },
3234   { "a48",                               792, NULL },
3235   { "a49",                               695, NULL },
3236   { "a100",                              668, NULL },
3237   { "a101",                              732, NULL },
3238   { "a102",                              544, NULL },
3239   { "a103",                              544, NULL },
3240   { "a104",                              910, NULL },
3241   { "a105",                              911, NULL },
3242   { "a106",                              667, NULL },
3243   { "a107",                              760, NULL },
3244   { "a108",                              760, NULL },
3245   { "a109",                              626, NULL },
3246   { "a50",                               776, NULL },
3247   { "a51",                               768, NULL },
3248   { "a52",                               792, NULL },
3249   { "a53",                               759, NULL },
3250   { "a54",                               707, NULL },
3251   { "a55",                               708, NULL },
3252   { "a56",                               682, NULL },
3253   { "a57",                               701, NULL },
3254   { "a58",                               826, NULL },
3255   { "a59",                               815, NULL },
3256   { "a110",                              694, NULL },
3257   { "a111",                              595, NULL },
3258   { "a112",                              776, NULL },
3259   { "a117",                              690, NULL },
3260   { "a118",                              791, NULL },
3261   { "a119",                              790, NULL },
3262   { "a60",                               789, NULL },
3263   { "a61",                               789, NULL },
3264   { "a62",                               707, NULL },
3265   { "a63",                               687, NULL },
3266   { "a64",                               696, NULL },
3267   { "a65",                               689, NULL },
3268   { "a66",                               786, NULL },
3269   { "a67",                               787, NULL },
3270   { "a68",                               713, NULL },
3271   { "a69",                               791, NULL },
3272   { "a200",                              696, NULL },
3273   { "a201",                              874, NULL },
3274   { "a120",                              788, NULL },
3275   { "a121",                              788, NULL },
3276   { "a202",                              974, NULL },
3277   { "a122",                              788, NULL },
3278   { "a203",                              762, NULL },
3279   { "a123",                              788, NULL },
3280   { "a204",                              759, NULL },
3281   { "a205",                              509, NULL },
3282   { "a124",                              788, NULL },
3283   { "a206",                              410, NULL },
3284   { "a125",                              788, NULL },
3285   { "a126",                              788, NULL },
3286   { "a127",                              788, NULL },
3287   { "a128",                              788, NULL },
3288   { "a129",                              788, NULL },
3289   { "a70",                               785, NULL },
3290   { "a71",                               791, NULL },
3291   { "a72",                               873, NULL },
3292   { "a73",                               761, NULL },
3293   { "a74",                               762, NULL },
3294   { "a75",                               759, NULL },
3295   { "a76",                               892, NULL },
3296   { "a77",                               892, NULL },
3297   { "a78",                               788, NULL },
3298   { "a79",                               784, NULL },
3299   { "a130",                              788, NULL },
3300   { "a131",                              788, NULL },
3301   { "a132",                              788, NULL },
3302   { "a133",                              788, NULL },
3303   { "a134",                              788, NULL },
3304   { "a135",                              788, NULL },
3305   { "a136",                              788, NULL },
3306   { "a137",                              788, NULL },
3307   { "a138",                              788, NULL },
3308   { "a139",                              788, NULL }
3309 };
3310
3311 BuiltinFont builtinFonts[] = {
3312   { "Courier",               standardEncoding,            624, -207, { -40, -290,  640,  795}, NULL },
3313   { "Courier-Bold",          standardEncoding,            674, -257, {-100, -350,  700,  855}, NULL },
3314   { "Courier-BoldOblique",   standardEncoding,            674, -257, {-145, -350,  817,  855}, NULL },
3315   { "Courier-Oblique",       standardEncoding,            624, -207, { -85, -290,  759,  795}, NULL },
3316   { "Helvetica",             standardEncoding,            729, -219, {-174, -220, 1001,  944}, NULL },
3317   { "Helvetica-Bold",        standardEncoding,            729, -219, {-173, -221, 1003,  936}, NULL },
3318   { "Helvetica-BoldOblique", standardEncoding,            729, -219, {-177, -221, 1107,  936}, NULL },
3319   { "Helvetica-Oblique",     standardEncoding,            729, -219, {-178, -220, 1108,  944}, NULL },
3320   { "Symbol",                symbolEncoding,             1010, -293, {-180, -293, 1090, 1010}, NULL },
3321   { "Times-Bold",            standardEncoding,            670, -210, {-172, -256, 1008,  965}, NULL },
3322   { "Times-BoldItalic",      standardEncoding,            682, -203, {-168, -232, 1014,  894}, NULL },
3323   { "Times-Italic",          standardEncoding,            684, -206, {-176, -252,  990,  930}, NULL },
3324   { "Times-Roman",           standardEncoding,            682, -217, {-170, -223, 1024,  896}, NULL },
3325   { "ZapfDingbats",          zapfDingbatsEncoding,        820, -143, {  -1, -143,  981,  820}, NULL }
3326 };
3327
3328 BuiltinFont *builtinFontSubst[] = {
3329   &builtinFonts[0],
3330   &builtinFonts[3],
3331   &builtinFonts[1],
3332   &builtinFonts[2],
3333   &builtinFonts[4],
3334   &builtinFonts[7],
3335   &builtinFonts[5],
3336   &builtinFonts[6],
3337   &builtinFonts[12],
3338   &builtinFonts[11],
3339   &builtinFonts[9],
3340   &builtinFonts[10]
3341 };
3342
3343 void initBuiltinFontTables() {
3344   builtinFonts[0].widths = new BuiltinFontWidths(courierWidthsTab, 260);
3345   builtinFonts[1].widths = new BuiltinFontWidths(courierBoldWidthsTab, 260);
3346   builtinFonts[2].widths = new BuiltinFontWidths(courierBoldObliqueWidthsTab, 260);
3347   builtinFonts[3].widths = new BuiltinFontWidths(courierObliqueWidthsTab, 260);
3348   builtinFonts[4].widths = new BuiltinFontWidths(helveticaWidthsTab, 228);
3349   builtinFonts[5].widths = new BuiltinFontWidths(helveticaBoldWidthsTab, 228);
3350   builtinFonts[6].widths = new BuiltinFontWidths(helveticaBoldObliqueWidthsTab, 228);
3351   builtinFonts[7].widths = new BuiltinFontWidths(helveticaObliqueWidthsTab, 228);
3352   builtinFonts[8].widths = new BuiltinFontWidths(symbolWidthsTab, 189);
3353   builtinFonts[9].widths = new BuiltinFontWidths(timesBoldWidthsTab, 228);
3354   builtinFonts[10].widths = new BuiltinFontWidths(timesBoldItalicWidthsTab, 228);
3355   builtinFonts[11].widths = new BuiltinFontWidths(timesItalicWidthsTab, 228);
3356   builtinFonts[12].widths = new BuiltinFontWidths(timesRomanWidthsTab, 228);
3357   builtinFonts[13].widths = new BuiltinFontWidths(zapfDingbatsWidthsTab, 202);
3358 }
3359
3360 void freeBuiltinFontTables() {
3361   int i;
3362
3363   for (i = 0; i < 14; ++i) {
3364     delete builtinFonts[i].widths;
3365   }
3366 }