xref: /aoo41x/main/vcl/source/gdi/base14.cxx (revision cdf0e10c)
1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 // MARKER(update_precomp.py): autogen include statement, do not remove
29 #include "precompiled_vcl.hxx"
30 
31 #include "pdfwriter_impl.hxx"
32 #include <rtl/strbuf.hxx>
33 
34 using namespace vcl;
35 using namespace rtl;
36 
37 OString PDFWriterImpl::BuiltinFont::getNameObject() const
38 {
39     OStringBuffer aBuf( 16 );
40     aBuf.append( '/' );
41     const char* pRun = m_pPSName;
42 
43     unsigned int nCopied = 0;
44     while( *pRun )
45     {
46         if( *pRun >= 'A' && *pRun <= 'Z' )
47             nCopied = 0;
48         if( nCopied++ < 2 )
49             aBuf.append( *pRun );
50         pRun++;
51     }
52     return aBuf.makeStringAndClear();
53 }
54 
55 const PDFWriterImpl::BuiltinFont PDFWriterImpl::m_aBuiltinFonts[ 14 ] = {
56 { "Courier", // family name
57   "Normal", // style
58   "Courier", // PSName
59   629, -157, // ascend, descend
60   FAMILY_MODERN, // family style
61   RTL_TEXTENCODING_MS_1252, // charset
62   PITCH_FIXED, // pitch
63   WIDTH_NORMAL, // width type
64   WEIGHT_NORMAL, // weight type
65   ITALIC_NONE, // italic type
66   { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
67     0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
68     0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
69     0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
70     600, 600, 600, 600, 600, 600, 600, 600, // 32 - 39
71     600, 600, 600, 600, 600, 600, 600, 600, // 40 - 47
72     600, 600, 600, 600, 600, 600, 600, 600, // 48 - 55
73     600, 600, 600, 600, 600, 600, 600, 600, // 56 - 63
74     600, 600, 600, 600, 600, 600, 600, 600, // 64 - 71
75     600, 600, 600, 600, 600, 600, 600, 600, // 72 - 79
76     600, 600, 600, 600, 600, 600, 600, 600, // 80 - 87
77     600, 600, 600, 600, 600, 600, 600, 600, // 88 - 95
78     600, 600, 600, 600, 600, 600, 600, 600, // 96 - 103
79     600, 600, 600, 600, 600, 600, 600, 600, // 104 - 111
80     600, 600, 600, 600, 600, 600, 600, 600, // 112 - 119
81     600, 600, 600, 600, 600, 600, 600, 0, // 120 - 127
82     600, 0, 600, 600, 600, 600, 600, 600, // 128 - 135
83     600, 600, 600, 600, 600, 0, 600, 0, // 136 - 143
84     0, 600, 600, 600, 600, 600, 600, 600, // 144 - 151
85     600, 600, 600, 600, 600, 0, 600, 600, // 152 - 159
86     600, 600, 600, 600, 600, 600, 600, 600, // 160 - 167
87     600, 600, 600, 600, 600, 600, 600, 600, // 168 - 175
88     600, 600, 600, 600, 600, 600, 600, 600, // 176 - 183
89     600, 600, 600, 600, 600, 600, 600, 600, // 184 - 191
90     600, 600, 600, 600, 600, 600, 600, 600, // 192 - 199
91     600, 600, 600, 600, 600, 600, 600, 600, // 200 - 207
92     600, 600, 600, 600, 600, 600, 600, 600, // 208 - 215
93     600, 600, 600, 600, 600, 600, 600, 600, // 216 - 223
94     600, 600, 600, 600, 600, 600, 600, 600, // 224 - 231
95     600, 600, 600, 600, 600, 600, 600, 600, // 232 - 239
96     600, 600, 600, 600, 600, 600, 600, 600, // 240 - 247
97     600, 600, 600, 600, 600, 600, 600, 600 // 248 - 255
98     }
99 },
100 
101 { "Courier", // family name
102   "Italic", // style
103   "Courier-Oblique", // PSName
104   629, -157, // ascend, descend
105   FAMILY_MODERN, // family style
106   RTL_TEXTENCODING_MS_1252, // charset
107   PITCH_FIXED, // pitch
108   WIDTH_NORMAL, // width type
109   WEIGHT_NORMAL, // weight type
110   ITALIC_NORMAL, // italic type
111   { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
112     0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
113     0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
114     0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
115     600, 600, 600, 600, 600, 600, 600, 600, // 32 - 39
116     600, 600, 600, 600, 600, 600, 600, 600, // 40 - 47
117     600, 600, 600, 600, 600, 600, 600, 600, // 48 - 55
118     600, 600, 600, 600, 600, 600, 600, 600, // 56 - 63
119     600, 600, 600, 600, 600, 600, 600, 600, // 64 - 71
120     600, 600, 600, 600, 600, 600, 600, 600, // 72 - 79
121     600, 600, 600, 600, 600, 600, 600, 600, // 80 - 87
122     600, 600, 600, 600, 600, 600, 600, 600, // 88 - 95
123     600, 600, 600, 600, 600, 600, 600, 600, // 96 - 103
124     600, 600, 600, 600, 600, 600, 600, 600, // 104 - 111
125     600, 600, 600, 600, 600, 600, 600, 600, // 112 - 119
126     600, 600, 600, 600, 600, 600, 600, 0, // 120 - 127
127     600, 0, 600, 600, 600, 600, 600, 600, // 128 - 135
128     600, 600, 600, 600, 600, 0, 600, 0, // 136 - 143
129     0, 600, 600, 600, 600, 600, 600, 600, // 144 - 151
130     600, 600, 600, 600, 600, 0, 600, 600, // 152 - 159
131     600, 600, 600, 600, 600, 600, 600, 600, // 160 - 167
132     600, 600, 600, 600, 600, 600, 600, 600, // 168 - 175
133     600, 600, 600, 600, 600, 600, 600, 600, // 176 - 183
134     600, 600, 600, 600, 600, 600, 600, 600, // 184 - 191
135     600, 600, 600, 600, 600, 600, 600, 600, // 192 - 199
136     600, 600, 600, 600, 600, 600, 600, 600, // 200 - 207
137     600, 600, 600, 600, 600, 600, 600, 600, // 208 - 215
138     600, 600, 600, 600, 600, 600, 600, 600, // 216 - 223
139     600, 600, 600, 600, 600, 600, 600, 600, // 224 - 231
140     600, 600, 600, 600, 600, 600, 600, 600, // 232 - 239
141     600, 600, 600, 600, 600, 600, 600, 600, // 240 - 247
142     600, 600, 600, 600, 600, 600, 600, 600 // 248 - 255
143     }
144 },
145 
146 { "Courier", // family name
147   "Bold", // style
148   "Courier-Bold", // PSName
149   629, -157, // ascend, descend
150   FAMILY_MODERN, // family style
151   RTL_TEXTENCODING_MS_1252, // charset
152   PITCH_FIXED, // pitch
153   WIDTH_NORMAL, // width type
154   WEIGHT_BOLD, // weight type
155   ITALIC_NONE, // italic type
156   { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
157     0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
158     0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
159     0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
160     600, 600, 600, 600, 600, 600, 600, 600, // 32 - 39
161     600, 600, 600, 600, 600, 600, 600, 600, // 40 - 47
162     600, 600, 600, 600, 600, 600, 600, 600, // 48 - 55
163     600, 600, 600, 600, 600, 600, 600, 600, // 56 - 63
164     600, 600, 600, 600, 600, 600, 600, 600, // 64 - 71
165     600, 600, 600, 600, 600, 600, 600, 600, // 72 - 79
166     600, 600, 600, 600, 600, 600, 600, 600, // 80 - 87
167     600, 600, 600, 600, 600, 600, 600, 600, // 88 - 95
168     600, 600, 600, 600, 600, 600, 600, 600, // 96 - 103
169     600, 600, 600, 600, 600, 600, 600, 600, // 104 - 111
170     600, 600, 600, 600, 600, 600, 600, 600, // 112 - 119
171     600, 600, 600, 600, 600, 600, 600, 0, // 120 - 127
172     600, 0, 600, 600, 600, 600, 600, 600, // 128 - 135
173     600, 600, 600, 600, 600, 0, 600, 0, // 136 - 143
174     0, 600, 600, 600, 600, 600, 600, 600, // 144 - 151
175     600, 600, 600, 600, 600, 0, 600, 600, // 152 - 159
176     600, 600, 600, 600, 600, 600, 600, 600, // 160 - 167
177     600, 600, 600, 600, 600, 600, 600, 600, // 168 - 175
178     600, 600, 600, 600, 600, 600, 600, 600, // 176 - 183
179     600, 600, 600, 600, 600, 600, 600, 600, // 184 - 191
180     600, 600, 600, 600, 600, 600, 600, 600, // 192 - 199
181     600, 600, 600, 600, 600, 600, 600, 600, // 200 - 207
182     600, 600, 600, 600, 600, 600, 600, 600, // 208 - 215
183     600, 600, 600, 600, 600, 600, 600, 600, // 216 - 223
184     600, 600, 600, 600, 600, 600, 600, 600, // 224 - 231
185     600, 600, 600, 600, 600, 600, 600, 600, // 232 - 239
186     600, 600, 600, 600, 600, 600, 600, 600, // 240 - 247
187     600, 600, 600, 600, 600, 600, 600, 600 // 248 - 255
188     }
189 },
190 
191 { "Courier", // family name
192   "Bold Italic", // style
193   "Courier-BoldOblique", // PSName
194   629, -157, // ascend, descend
195   FAMILY_MODERN, // family style
196   RTL_TEXTENCODING_MS_1252, // charset
197   PITCH_FIXED, // pitch
198   WIDTH_NORMAL, // width type
199   WEIGHT_BOLD, // weight type
200   ITALIC_NORMAL, // italic type
201   { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
202     0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
203     0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
204     0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
205     600, 600, 600, 600, 600, 600, 600, 600, // 32 - 39
206     600, 600, 600, 600, 600, 600, 600, 600, // 40 - 47
207     600, 600, 600, 600, 600, 600, 600, 600, // 48 - 55
208     600, 600, 600, 600, 600, 600, 600, 600, // 56 - 63
209     600, 600, 600, 600, 600, 600, 600, 600, // 64 - 71
210     600, 600, 600, 600, 600, 600, 600, 600, // 72 - 79
211     600, 600, 600, 600, 600, 600, 600, 600, // 80 - 87
212     600, 600, 600, 600, 600, 600, 600, 600, // 88 - 95
213     600, 600, 600, 600, 600, 600, 600, 600, // 96 - 103
214     600, 600, 600, 600, 600, 600, 600, 600, // 104 - 111
215     600, 600, 600, 600, 600, 600, 600, 600, // 112 - 119
216     600, 600, 600, 600, 600, 600, 600, 0, // 120 - 127
217     600, 0, 600, 600, 600, 600, 600, 600, // 128 - 135
218     600, 600, 600, 600, 600, 0, 600, 0, // 136 - 143
219     0, 600, 600, 600, 600, 600, 600, 600, // 144 - 151
220     600, 600, 600, 600, 600, 0, 600, 600, // 152 - 159
221     600, 600, 600, 600, 600, 600, 600, 600, // 160 - 167
222     600, 600, 600, 600, 600, 600, 600, 600, // 168 - 175
223     600, 600, 600, 600, 600, 600, 600, 600, // 176 - 183
224     600, 600, 600, 600, 600, 600, 600, 600, // 184 - 191
225     600, 600, 600, 600, 600, 600, 600, 600, // 192 - 199
226     600, 600, 600, 600, 600, 600, 600, 600, // 200 - 207
227     600, 600, 600, 600, 600, 600, 600, 600, // 208 - 215
228     600, 600, 600, 600, 600, 600, 600, 600, // 216 - 223
229     600, 600, 600, 600, 600, 600, 600, 600, // 224 - 231
230     600, 600, 600, 600, 600, 600, 600, 600, // 232 - 239
231     600, 600, 600, 600, 600, 600, 600, 600, // 240 - 247
232     600, 600, 600, 600, 600, 600, 600, 600 // 248 - 255
233     }
234 },
235 
236 { "Helvetica", // family name
237   "Normal", // style
238   "Helvetica", // PSName
239   718, -207, // ascend, descend
240   FAMILY_SWISS, // family style
241   RTL_TEXTENCODING_MS_1252, // charset
242   PITCH_VARIABLE, // pitch
243   WIDTH_NORMAL, // width type
244   WEIGHT_NORMAL, // weight type
245   ITALIC_NONE, // italic type
246   { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
247     0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
248     0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
249     0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
250     278, 278, 355, 556, 556, 889, 667, 191, // 32 - 39
251     333, 333, 389, 584, 278, 333, 278, 278, // 40 - 47
252     556, 556, 556, 556, 556, 556, 556, 556, // 48 - 55
253     556, 556, 278, 278, 584, 584, 584, 556, // 56 - 63
254     1015, 667, 667, 722, 722, 667, 611, 778, // 64 - 71
255     722, 278, 500, 667, 556, 833, 722, 778, // 72 - 79
256     667, 778, 722, 667, 611, 722, 667, 944, // 80 - 87
257     667, 667, 611, 278, 278, 278, 469, 556, // 88 - 95
258     333, 556, 556, 500, 556, 556, 278, 556, // 96 - 103
259     556, 222, 222, 500, 222, 833, 556, 556, // 104 - 111
260     556, 556, 333, 500, 278, 556, 500, 722, // 112 - 119
261     500, 500, 500, 334, 260, 334, 584, 0, // 120 - 127
262     556, 0, 222, 556, 333, 1000, 556, 556, // 128 - 135
263     333, 1000, 667, 333, 1000, 0, 500, 0, // 136 - 143
264     0, 222, 222, 333, 333, 350, 556, 1000, // 144 - 151
265     333, 1000, 500, 333, 944, 0, 500, 667, // 152 - 159
266     278, 333, 556, 556, 556, 556, 260, 556, // 160 - 167
267     333, 737, 370, 556, 584, 333, 737, 333, // 168 - 175
268     400, 584, 333, 333, 333, 556, 537, 278, // 176 - 183
269     333, 333, 365, 556, 834, 834, 834, 611, // 184 - 191
270     667, 667, 667, 667, 667, 667, 1000, 722, // 192 - 199
271     667, 667, 667, 667, 278, 278, 278, 278, // 200 - 207
272     722, 722, 778, 778, 778, 778, 778, 584, // 208 - 215
273     778, 722, 722, 722, 722, 667, 667, 611, // 216 - 223
274     556, 556, 556, 556, 556, 556, 889, 500, // 224 - 231
275     556, 556, 556, 556, 278, 278, 278, 278, // 232 - 239
276     556, 556, 556, 556, 556, 556, 556, 584, // 240 - 247
277     611, 556, 556, 556, 556, 500, 556, 500 // 248 - 255
278     }
279 },
280 
281 { "Helvetica", // family name
282   "Italic", // style
283   "Helvetica-Oblique", // PSName
284   718, -207, // ascend, descend
285   FAMILY_SWISS, // family style
286   RTL_TEXTENCODING_MS_1252, // charset
287   PITCH_VARIABLE, // pitch
288   WIDTH_NORMAL, // width type
289   WEIGHT_NORMAL, // weight type
290   ITALIC_NORMAL, // italic type
291   { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
292     0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
293     0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
294     0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
295     278, 278, 355, 556, 556, 889, 667, 191, // 32 - 39
296     333, 333, 389, 584, 278, 333, 278, 278, // 40 - 47
297     556, 556, 556, 556, 556, 556, 556, 556, // 48 - 55
298     556, 556, 278, 278, 584, 584, 584, 556, // 56 - 63
299     1015, 667, 667, 722, 722, 667, 611, 778, // 64 - 71
300     722, 278, 500, 667, 556, 833, 722, 778, // 72 - 79
301     667, 778, 722, 667, 611, 722, 667, 944, // 80 - 87
302     667, 667, 611, 278, 278, 278, 469, 556, // 88 - 95
303     333, 556, 556, 500, 556, 556, 278, 556, // 96 - 103
304     556, 222, 222, 500, 222, 833, 556, 556, // 104 - 111
305     556, 556, 333, 500, 278, 556, 500, 722, // 112 - 119
306     500, 500, 500, 334, 260, 334, 584, 0, // 120 - 127
307     556, 0, 222, 556, 333, 1000, 556, 556, // 128 - 135
308     333, 1000, 667, 333, 1000, 0, 500, 0, // 136 - 143
309     0, 222, 222, 333, 333, 350, 556, 1000, // 144 - 151
310     333, 1000, 500, 333, 944, 0, 500, 667, // 152 - 159
311     278, 333, 556, 556, 556, 556, 260, 556, // 160 - 167
312     333, 737, 370, 556, 584, 333, 737, 333, // 168 - 175
313     400, 584, 333, 333, 333, 556, 537, 278, // 176 - 183
314     333, 333, 365, 556, 834, 834, 834, 611, // 184 - 191
315     667, 667, 667, 667, 667, 667, 1000, 722, // 192 - 199
316     667, 667, 667, 667, 278, 278, 278, 278, // 200 - 207
317     722, 722, 778, 778, 778, 778, 778, 584, // 208 - 215
318     778, 722, 722, 722, 722, 667, 667, 611, // 216 - 223
319     556, 556, 556, 556, 556, 556, 889, 500, // 224 - 231
320     556, 556, 556, 556, 278, 278, 278, 278, // 232 - 239
321     556, 556, 556, 556, 556, 556, 556, 584, // 240 - 247
322     611, 556, 556, 556, 556, 500, 556, 500 // 248 - 255
323     }
324 },
325 
326 { "Helvetica", // family name
327   "Bold", // style
328   "Helvetica-Bold", // PSName
329   718, -207, // ascend, descend
330   FAMILY_SWISS, // family style
331   RTL_TEXTENCODING_MS_1252, // charset
332   PITCH_VARIABLE, // pitch
333   WIDTH_NORMAL, // width type
334   WEIGHT_BOLD, // weight type
335   ITALIC_NONE, // italic type
336   { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
337     0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
338     0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
339     0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
340     278, 333, 474, 556, 556, 889, 722, 238, // 32 - 39
341     333, 333, 389, 584, 278, 333, 278, 278, // 40 - 47
342     556, 556, 556, 556, 556, 556, 556, 556, // 48 - 55
343     556, 556, 333, 333, 584, 584, 584, 611, // 56 - 63
344     975, 722, 722, 722, 722, 667, 611, 778, // 64 - 71
345     722, 278, 556, 722, 611, 833, 722, 778, // 72 - 79
346     667, 778, 722, 667, 611, 722, 667, 944, // 80 - 87
347     667, 667, 611, 333, 278, 333, 584, 556, // 88 - 95
348     333, 556, 611, 556, 611, 556, 333, 611, // 96 - 103
349     611, 278, 278, 556, 278, 889, 611, 611, // 104 - 111
350     611, 611, 389, 556, 333, 611, 556, 778, // 112 - 119
351     556, 556, 500, 389, 280, 389, 584, 0, // 120 - 127
352     556, 0, 278, 556, 500, 1000, 556, 556, // 128 - 135
353     333, 1000, 667, 333, 1000, 0, 500, 0, // 136 - 143
354     0, 278, 278, 500, 500, 350, 556, 1000, // 144 - 151
355     333, 1000, 556, 333, 944, 0, 500, 667, // 152 - 159
356     278, 333, 556, 556, 556, 556, 280, 556, // 160 - 167
357     333, 737, 370, 556, 584, 333, 737, 333, // 168 - 175
358     400, 584, 333, 333, 333, 611, 556, 278, // 176 - 183
359     333, 333, 365, 556, 834, 834, 834, 611, // 184 - 191
360     722, 722, 722, 722, 722, 722, 1000, 722, // 192 - 199
361     667, 667, 667, 667, 278, 278, 278, 278, // 200 - 207
362     722, 722, 778, 778, 778, 778, 778, 584, // 208 - 215
363     778, 722, 722, 722, 722, 667, 667, 611, // 216 - 223
364     556, 556, 556, 556, 556, 556, 889, 556, // 224 - 231
365     556, 556, 556, 556, 278, 278, 278, 278, // 232 - 239
366     611, 611, 611, 611, 611, 611, 611, 584, // 240 - 247
367     611, 611, 611, 611, 611, 556, 611, 556 // 248 - 255
368     }
369 },
370 
371 { "Helvetica", // family name
372   "Bold Italic", // style
373   "Helvetica-BoldOblique", // PSName
374   718, -207, // ascend, descend
375   FAMILY_SWISS, // family style
376   RTL_TEXTENCODING_MS_1252, // charset
377   PITCH_VARIABLE, // pitch
378   WIDTH_NORMAL, // width type
379   WEIGHT_BOLD, // weight type
380   ITALIC_NORMAL, // italic type
381   { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
382     0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
383     0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
384     0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
385     278, 333, 474, 556, 556, 889, 722, 238, // 32 - 39
386     333, 333, 389, 584, 278, 333, 278, 278, // 40 - 47
387     556, 556, 556, 556, 556, 556, 556, 556, // 48 - 55
388     556, 556, 333, 333, 584, 584, 584, 611, // 56 - 63
389     975, 722, 722, 722, 722, 667, 611, 778, // 64 - 71
390     722, 278, 556, 722, 611, 833, 722, 778, // 72 - 79
391     667, 778, 722, 667, 611, 722, 667, 944, // 80 - 87
392     667, 667, 611, 333, 278, 333, 584, 556, // 88 - 95
393     333, 556, 611, 556, 611, 556, 333, 611, // 96 - 103
394     611, 278, 278, 556, 278, 889, 611, 611, // 104 - 111
395     611, 611, 389, 556, 333, 611, 556, 778, // 112 - 119
396     556, 556, 500, 389, 280, 389, 584, 0, // 120 - 127
397     556, 0, 278, 556, 500, 1000, 556, 556, // 128 - 135
398     333, 1000, 667, 333, 1000, 0, 500, 0, // 136 - 143
399     0, 278, 278, 500, 500, 350, 556, 1000, // 144 - 151
400     333, 1000, 556, 333, 944, 0, 500, 667, // 152 - 159
401     278, 333, 556, 556, 556, 556, 280, 556, // 160 - 167
402     333, 737, 370, 556, 584, 333, 737, 333, // 168 - 175
403     400, 584, 333, 333, 333, 611, 556, 278, // 176 - 183
404     333, 333, 365, 556, 834, 834, 834, 611, // 184 - 191
405     722, 722, 722, 722, 722, 722, 1000, 722, // 192 - 199
406     667, 667, 667, 667, 278, 278, 278, 278, // 200 - 207
407     722, 722, 778, 778, 778, 778, 778, 584, // 208 - 215
408     778, 722, 722, 722, 722, 667, 667, 611, // 216 - 223
409     556, 556, 556, 556, 556, 556, 889, 556, // 224 - 231
410     556, 556, 556, 556, 278, 278, 278, 278, // 232 - 239
411     611, 611, 611, 611, 611, 611, 611, 584, // 240 - 247
412     611, 611, 611, 611, 611, 556, 611, 556 // 248 - 255
413     }
414 },
415 
416 { "Times", // family name
417   "Normal", // style
418   "Times-Roman", // PSName
419   683, -217, // ascend, descend
420   FAMILY_ROMAN, // family style
421   RTL_TEXTENCODING_MS_1252, // charset
422   PITCH_VARIABLE, // pitch
423   WIDTH_NORMAL, // width type
424   WEIGHT_NORMAL, // weight type
425   ITALIC_NONE, // italic type
426   { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
427     0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
428     0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
429     0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
430     250, 333, 408, 500, 500, 833, 778, 180, // 32 - 39
431     333, 333, 500, 564, 250, 333, 250, 278, // 40 - 47
432     500, 500, 500, 500, 500, 500, 500, 500, // 48 - 55
433     500, 500, 278, 278, 564, 564, 564, 444, // 56 - 63
434     921, 722, 667, 667, 722, 611, 556, 722, // 64 - 71
435     722, 333, 389, 722, 611, 889, 722, 722, // 72 - 79
436     556, 722, 667, 556, 611, 722, 722, 944, // 80 - 87
437     722, 722, 611, 333, 278, 333, 469, 500, // 88 - 95
438     333, 444, 500, 444, 500, 444, 333, 500, // 96 - 103
439     500, 278, 278, 500, 278, 778, 500, 500, // 104 - 111
440     500, 500, 333, 389, 278, 500, 500, 722, // 112 - 119
441     500, 500, 444, 480, 200, 480, 541, 0, // 120 - 127
442     500, 0, 333, 500, 444, 1000, 500, 500, // 128 - 135
443     333, 1000, 556, 333, 889, 0, 444, 0, // 136 - 143
444     0, 333, 333, 444, 444, 350, 500, 1000, // 144 - 151
445     333, 980, 389, 333, 722, 0, 444, 722, // 152 - 159
446     250, 333, 500, 500, 500, 500, 200, 500, // 160 - 167
447     333, 760, 276, 500, 564, 333, 760, 333, // 168 - 175
448     400, 564, 300, 300, 333, 500, 453, 250, // 176 - 183
449     333, 300, 310, 500, 750, 750, 750, 444, // 184 - 191
450     722, 722, 722, 722, 722, 722, 889, 667, // 192 - 199
451     611, 611, 611, 611, 333, 333, 333, 333, // 200 - 207
452     722, 722, 722, 722, 722, 722, 722, 564, // 208 - 215
453     722, 722, 722, 722, 722, 722, 556, 500, // 216 - 223
454     444, 444, 444, 444, 444, 444, 667, 444, // 224 - 231
455     444, 444, 444, 444, 278, 278, 278, 278, // 232 - 239
456     500, 500, 500, 500, 500, 500, 500, 564, // 240 - 247
457     500, 500, 500, 500, 500, 500, 500, 500 // 248 - 255
458     }
459 },
460 
461 { "Times", // family name
462   "Italic", // style
463   "Times-Italic", // PSName
464   683, -217, // ascend, descend
465   FAMILY_ROMAN, // family style
466   RTL_TEXTENCODING_MS_1252, // charset
467   PITCH_VARIABLE, // pitch
468   WIDTH_NORMAL, // width type
469   WEIGHT_NORMAL, // weight type
470   ITALIC_NORMAL, // italic type
471   { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
472     0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
473     0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
474     0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
475     250, 333, 420, 500, 500, 833, 778, 214, // 32 - 39
476     333, 333, 500, 675, 250, 333, 250, 278, // 40 - 47
477     500, 500, 500, 500, 500, 500, 500, 500, // 48 - 55
478     500, 500, 333, 333, 675, 675, 675, 500, // 56 - 63
479     920, 611, 611, 667, 722, 611, 611, 722, // 64 - 71
480     722, 333, 444, 667, 556, 833, 667, 722, // 72 - 79
481     611, 722, 611, 500, 556, 722, 611, 833, // 80 - 87
482     611, 556, 556, 389, 278, 389, 422, 500, // 88 - 95
483     333, 500, 500, 444, 500, 444, 278, 500, // 96 - 103
484     500, 278, 278, 444, 278, 722, 500, 500, // 104 - 111
485     500, 500, 389, 389, 278, 500, 444, 667, // 112 - 119
486     444, 444, 389, 400, 275, 400, 541, 0, // 120 - 127
487     500, 0, 333, 500, 556, 889, 500, 500, // 128 - 135
488     333, 1000, 500, 333, 944, 0, 389, 0, // 136 - 143
489     0, 333, 333, 556, 556, 350, 500, 889, // 144 - 151
490     333, 980, 389, 333, 667, 0, 389, 556, // 152 - 159
491     250, 389, 500, 500, 500, 500, 275, 500, // 160 - 167
492     333, 760, 276, 500, 675, 333, 760, 333, // 168 - 175
493     400, 675, 300, 300, 333, 500, 523, 250, // 176 - 183
494     333, 300, 310, 500, 750, 750, 750, 500, // 184 - 191
495     611, 611, 611, 611, 611, 611, 889, 667, // 192 - 199
496     611, 611, 611, 611, 333, 333, 333, 333, // 200 - 207
497     722, 667, 722, 722, 722, 722, 722, 675, // 208 - 215
498     722, 722, 722, 722, 722, 556, 611, 500, // 216 - 223
499     500, 500, 500, 500, 500, 500, 667, 444, // 224 - 231
500     444, 444, 444, 444, 278, 278, 278, 278, // 232 - 239
501     500, 500, 500, 500, 500, 500, 500, 675, // 240 - 247
502     500, 500, 500, 500, 500, 444, 500, 444 // 248 - 255
503     }
504 },
505 
506 { "Times", // family name
507   "Bold", // style
508   "Times-Bold", // PSName
509   683, -217, // ascend, descend
510   FAMILY_ROMAN, // family style
511   RTL_TEXTENCODING_MS_1252, // charset
512   PITCH_VARIABLE, // pitch
513   WIDTH_NORMAL, // width type
514   WEIGHT_BOLD, // weight type
515   ITALIC_NONE, // italic type
516   { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
517     0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
518     0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
519     0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
520     250, 333, 555, 500, 500, 1000, 833, 278, // 32 - 39
521     333, 333, 500, 570, 250, 333, 250, 278, // 40 - 47
522     500, 500, 500, 500, 500, 500, 500, 500, // 48 - 55
523     500, 500, 333, 333, 570, 570, 570, 500, // 56 - 63
524     930, 722, 667, 722, 722, 667, 611, 778, // 64 - 71
525     778, 389, 500, 778, 667, 944, 722, 778, // 72 - 79
526     611, 778, 722, 556, 667, 722, 722, 1000, // 80 - 87
527     722, 722, 667, 333, 278, 333, 581, 500, // 88 - 95
528     333, 500, 556, 444, 556, 444, 333, 500, // 96 - 103
529     556, 278, 333, 556, 278, 833, 556, 500, // 104 - 111
530     556, 556, 444, 389, 333, 556, 500, 722, // 112 - 119
531     500, 500, 444, 394, 220, 394, 520, 0, // 120 - 127
532     500, 0, 333, 500, 500, 1000, 500, 500, // 128 - 135
533     333, 1000, 556, 333, 1000, 0, 444, 0, // 136 - 143
534     0, 333, 333, 500, 500, 350, 500, 1000, // 144 - 151
535     333, 1000, 389, 333, 722, 0, 444, 722, // 152 - 159
536     250, 333, 500, 500, 500, 500, 220, 500, // 160 - 167
537     333, 747, 300, 500, 570, 333, 747, 333, // 168 - 175
538     400, 570, 300, 300, 333, 556, 540, 250, // 176 - 183
539     333, 300, 330, 500, 750, 750, 750, 500, // 184 - 191
540     722, 722, 722, 722, 722, 722, 1000, 722, // 192 - 199
541     667, 667, 667, 667, 389, 389, 389, 389, // 200 - 207
542     722, 722, 778, 778, 778, 778, 778, 570, // 208 - 215
543     778, 722, 722, 722, 722, 722, 611, 556, // 216 - 223
544     500, 500, 500, 500, 500, 500, 722, 444, // 224 - 231
545     444, 444, 444, 444, 278, 278, 278, 278, // 232 - 239
546     500, 556, 500, 500, 500, 500, 500, 570, // 240 - 247
547     500, 556, 556, 556, 556, 500, 556, 500 // 248 - 255
548     }
549 },
550 
551 { "Times", // family name
552   "Bold Italic", // style
553   "Times-BoldItalic", // PSName
554   683, -217, // ascend, descend
555   FAMILY_ROMAN, // family style
556   RTL_TEXTENCODING_MS_1252, // charset
557   PITCH_VARIABLE, // pitch
558   WIDTH_NORMAL, // width type
559   WEIGHT_BOLD, // weight type
560   ITALIC_NORMAL, // italic type
561   { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
562     0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
563     0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
564     0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
565     250, 389, 555, 500, 500, 833, 778, 278, // 32 - 39
566     333, 333, 500, 570, 250, 333, 250, 278, // 40 - 47
567     500, 500, 500, 500, 500, 500, 500, 500, // 48 - 55
568     500, 500, 333, 333, 570, 570, 570, 500, // 56 - 63
569     832, 667, 667, 667, 722, 667, 667, 722, // 64 - 71
570     778, 389, 500, 667, 611, 889, 722, 722, // 72 - 79
571     611, 722, 667, 556, 611, 722, 667, 889, // 80 - 87
572     667, 611, 611, 333, 278, 333, 570, 500, // 88 - 95
573     333, 500, 500, 444, 500, 444, 333, 500, // 96 - 103
574     556, 278, 278, 500, 278, 778, 556, 500, // 104 - 111
575     500, 500, 389, 389, 278, 556, 444, 667, // 112 - 119
576     500, 444, 389, 348, 220, 348, 570, 0, // 120 - 127
577     500, 0, 333, 500, 500, 1000, 500, 500, // 128 - 135
578     333, 1000, 556, 333, 944, 0, 389, 0, // 136 - 143
579     0, 333, 333, 500, 500, 350, 500, 1000, // 144 - 151
580     333, 1000, 389, 333, 722, 0, 389, 611, // 152 - 159
581     250, 389, 500, 500, 500, 500, 220, 500, // 160 - 167
582     333, 747, 266, 500, 606, 333, 747, 333, // 168 - 175
583     400, 570, 300, 300, 333, 576, 500, 250, // 176 - 183
584     333, 300, 300, 500, 750, 750, 750, 500, // 184 - 191
585     667, 667, 667, 667, 667, 667, 944, 667, // 192 - 199
586     667, 667, 667, 667, 389, 389, 389, 389, // 200 - 207
587     722, 722, 722, 722, 722, 722, 722, 570, // 208 - 215
588     722, 722, 722, 722, 722, 611, 611, 500, // 216 - 223
589     500, 500, 500, 500, 500, 500, 722, 444, // 224 - 231
590     444, 444, 444, 444, 278, 278, 278, 278, // 232 - 239
591     500, 556, 500, 500, 500, 500, 500, 570, // 240 - 247
592     500, 556, 556, 556, 556, 444, 500, 444 // 248 - 255
593     }
594 },
595 
596 { "Symbol", // family name
597   "Normal", // style
598   "Symbol", // PSName
599   1010, -293, // ascend, descend
600   FAMILY_DONTKNOW, // family style
601   RTL_TEXTENCODING_ADOBE_SYMBOL, // charset
602   PITCH_VARIABLE, // pitch
603   WIDTH_NORMAL, // width type
604   WEIGHT_NORMAL, // weight type
605   ITALIC_NONE, // italic type
606   { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
607     0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
608     0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
609     0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
610     250, 333, 713, 500, 549, 833, 778, 439, // 32 - 39
611     333, 333, 500, 549, 250, 549, 250, 278, // 40 - 47
612     500, 500, 500, 500, 500, 500, 500, 500, // 48 - 55
613     500, 500, 278, 278, 549, 549, 549, 444, // 56 - 63
614     549, 722, 667, 722, 612, 611, 763, 603, // 64 - 71
615     722, 333, 631, 722, 686, 889, 722, 722, // 72 - 79
616     768, 741, 556, 592, 611, 690, 439, 768, // 80 - 87
617     645, 795, 611, 333, 863, 333, 658, 500, // 88 - 95
618     500, 631, 549, 549, 494, 439, 521, 411, // 96 - 103
619     603, 329, 603, 549, 549, 576, 521, 549, // 104 - 111
620     549, 521, 549, 603, 439, 576, 713, 686, // 112 - 119
621     493, 686, 494, 480, 200, 480, 549, 0, // 120 - 127
622     0, 0, 0, 0, 0, 0, 0, 0, // 128 - 135
623     0, 0, 0, 0, 0, 0, 0, 0, // 136 - 143
624     0, 0, 0, 0, 0, 0, 0, 0, // 144 - 151
625     0, 0, 0, 0, 0, 0, 0, 0, // 152 - 159
626     750, 620, 247, 549, 167, 713, 500, 753, // 160 - 167
627     753, 753, 753, 1042, 987, 603, 987, 603, // 168 - 175
628     400, 549, 411, 549, 549, 713, 494, 460, // 176 - 183
629     549, 549, 549, 549, 1000, 603, 1000, 658, // 184 - 191
630     823, 686, 795, 987, 768, 768, 823, 768, // 192 - 199
631     768, 713, 713, 713, 713, 713, 713, 713, // 200 - 207
632     768, 713, 790, 790, 890, 823, 549, 250, // 208 - 215
633     713, 603, 603, 1042, 987, 603, 987, 603, // 216 - 223
634     494, 329, 790, 790, 786, 713, 384, 384, // 224 - 231
635     384, 384, 384, 384, 494, 494, 494, 494, // 232 - 239
636     0, 329, 274, 686, 686, 686, 384, 384, // 240 - 247
637     384, 384, 384, 384, 494, 494, 494, 0 // 248 - 255
638     }
639 },
640 
641 { "ZapfDingbats", // family name
642   "Normal", // style
643   "ZapfDingbats", // PSName
644   820, -143, // ascend, descend
645   FAMILY_DONTKNOW, // family style
646   RTL_TEXTENCODING_ADOBE_DINGBATS, // charset
647   PITCH_VARIABLE, // pitch
648   WIDTH_NORMAL, // width type
649   WEIGHT_NORMAL, // weight type
650   ITALIC_NONE, // italic type
651   { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
652     0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
653     0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
654     0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
655     278, 974, 961, 974, 980, 719, 789, 790, // 32 - 39
656     791, 690, 960, 939, 549, 855, 911, 933, // 40 - 47
657     911, 945, 974, 755, 846, 762, 761, 571, // 48 - 55
658     677, 763, 760, 759, 754, 494, 552, 537, // 56 - 63
659     577, 692, 786, 788, 788, 790, 793, 794, // 64 - 71
660     816, 823, 789, 841, 823, 833, 816, 831, // 72 - 79
661     923, 744, 723, 749, 790, 792, 695, 776, // 80 - 87
662     768, 792, 759, 707, 708, 682, 701, 826, // 88 - 95
663     815, 789, 789, 707, 687, 696, 689, 786, // 96 - 103
664     787, 713, 791, 785, 791, 873, 761, 762, // 104 - 111
665     762, 759, 759, 892, 892, 788, 784, 438, // 112 - 119
666     138, 277, 415, 392, 392, 668, 668, 0, // 120 - 127
667     390, 390, 317, 317, 276, 276, 509, 509, // 128 - 135
668     410, 410, 234, 234, 334, 334, 0, 0, // 136 - 143
669     0, 0, 0, 0, 0, 0, 0, 0, // 144 - 151
670     0, 0, 0, 0, 0, 0, 0, 0, // 152 - 159
671     0, 732, 544, 544, 910, 667, 760, 760, // 160 - 167
672     776, 595, 694, 626, 788, 788, 788, 788, // 168 - 175
673     788, 788, 788, 788, 788, 788, 788, 788, // 176 - 183
674     788, 788, 788, 788, 788, 788, 788, 788, // 184 - 191
675     788, 788, 788, 788, 788, 788, 788, 788, // 192 - 199
676     788, 788, 788, 788, 788, 788, 788, 788, // 200 - 207
677     788, 788, 788, 788, 894, 838, 1016, 458, // 208 - 215
678     748, 924, 748, 918, 927, 928, 928, 834, // 216 - 223
679     873, 828, 924, 924, 917, 930, 931, 463, // 224 - 231
680     883, 836, 836, 867, 867, 696, 696, 874, // 232 - 239
681     0, 874, 760, 946, 771, 865, 771, 888, // 240 - 247
682     967, 888, 831, 873, 927, 970, 918, 0 // 248 - 255
683     }
684 }
685 
686 };
687 
688