LibreOffice Module vcl (master)  1
pdfbuildin_fonts.cxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
11  * Licensed to the Apache Software Foundation (ASF) under one or more
12  * contributor license agreements. See the NOTICE file distributed
13  * with this work for additional information regarding copyright
14  * ownership. The ASF licenses this file to you under the Apache
15  * License, Version 2.0 (the "License"); you may not use this file
16  * except in compliance with the License. You may obtain a copy of
17  * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 
20 #include "pdfbuildin_fonts.hxx"
21 
22 #include <rtl/strbuf.hxx>
23 
24 using namespace vcl;
25 
26 namespace vcl
27 {
28 namespace pdf
29 {
31 {
32  OStringBuffer aBuf(16);
33  aBuf.append('/');
34  const char* pRun = m_pPSName;
35 
36  unsigned int nCopied = 0;
37  while (*pRun)
38  {
39  if (*pRun >= 'A' && *pRun <= 'Z')
40  nCopied = 0;
41  if (nCopied++ < 2)
42  aBuf.append(*pRun);
43  pRun++;
44  }
45  return aBuf.makeStringAndClear();
46 }
47 
49 {
50  FontAttributes aDFA;
51  aDFA.SetFamilyName(OUString::createFromAscii(m_pName));
52  aDFA.SetStyleName(OUString::createFromAscii(m_pStyleName));
54  aDFA.SetSymbolFlag(m_eCharSet != RTL_TEXTENCODING_MS_1252);
55  aDFA.SetPitch(m_ePitch);
56  aDFA.SetWeight(m_eWeight);
57  aDFA.SetItalic(m_eItalic);
59  aDFA.SetQuality(50000);
60  return aDFA;
61 }
62 
64  = { { "Courier", // family name
65  "Normal", // style
66  "Courier", // PSName
67  629,
68  -157, // ascend, descend
69  FAMILY_MODERN, // family style
70  RTL_TEXTENCODING_MS_1252, // charset
71  PITCH_FIXED, // pitch
72  WIDTH_NORMAL, // width type
73  WEIGHT_NORMAL, // weight type
74  ITALIC_NONE, // italic type
75  {
76  0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
77  0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
78  0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
79  0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
80  600, 600, 600, 600, 600, 600, 600, 600, // 32 - 39
81  600, 600, 600, 600, 600, 600, 600, 600, // 40 - 47
82  600, 600, 600, 600, 600, 600, 600, 600, // 48 - 55
83  600, 600, 600, 600, 600, 600, 600, 600, // 56 - 63
84  600, 600, 600, 600, 600, 600, 600, 600, // 64 - 71
85  600, 600, 600, 600, 600, 600, 600, 600, // 72 - 79
86  600, 600, 600, 600, 600, 600, 600, 600, // 80 - 87
87  600, 600, 600, 600, 600, 600, 600, 600, // 88 - 95
88  600, 600, 600, 600, 600, 600, 600, 600, // 96 - 103
89  600, 600, 600, 600, 600, 600, 600, 600, // 104 - 111
90  600, 600, 600, 600, 600, 600, 600, 600, // 112 - 119
91  600, 600, 600, 600, 600, 600, 600, 0, // 120 - 127
92  600, 0, 600, 600, 600, 600, 600, 600, // 128 - 135
93  600, 600, 600, 600, 600, 0, 600, 0, // 136 - 143
94  0, 600, 600, 600, 600, 600, 600, 600, // 144 - 151
95  600, 600, 600, 600, 600, 0, 600, 600, // 152 - 159
96  600, 600, 600, 600, 600, 600, 600, 600, // 160 - 167
97  600, 600, 600, 600, 600, 600, 600, 600, // 168 - 175
98  600, 600, 600, 600, 600, 600, 600, 600, // 176 - 183
99  600, 600, 600, 600, 600, 600, 600, 600, // 184 - 191
100  600, 600, 600, 600, 600, 600, 600, 600, // 192 - 199
101  600, 600, 600, 600, 600, 600, 600, 600, // 200 - 207
102  600, 600, 600, 600, 600, 600, 600, 600, // 208 - 215
103  600, 600, 600, 600, 600, 600, 600, 600, // 216 - 223
104  600, 600, 600, 600, 600, 600, 600, 600, // 224 - 231
105  600, 600, 600, 600, 600, 600, 600, 600, // 232 - 239
106  600, 600, 600, 600, 600, 600, 600, 600, // 240 - 247
107  600, 600, 600, 600, 600, 600, 600, 600 // 248 - 255
108  } },
109 
110  { "Courier", // family name
111  "Italic", // style
112  "Courier-Oblique", // PSName
113  629,
114  -157, // ascend, descend
115  FAMILY_MODERN, // family style
116  RTL_TEXTENCODING_MS_1252, // charset
117  PITCH_FIXED, // pitch
118  WIDTH_NORMAL, // width type
119  WEIGHT_NORMAL, // weight type
120  ITALIC_NORMAL, // italic type
121  {
122  0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
123  0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
124  0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
125  0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
126  600, 600, 600, 600, 600, 600, 600, 600, // 32 - 39
127  600, 600, 600, 600, 600, 600, 600, 600, // 40 - 47
128  600, 600, 600, 600, 600, 600, 600, 600, // 48 - 55
129  600, 600, 600, 600, 600, 600, 600, 600, // 56 - 63
130  600, 600, 600, 600, 600, 600, 600, 600, // 64 - 71
131  600, 600, 600, 600, 600, 600, 600, 600, // 72 - 79
132  600, 600, 600, 600, 600, 600, 600, 600, // 80 - 87
133  600, 600, 600, 600, 600, 600, 600, 600, // 88 - 95
134  600, 600, 600, 600, 600, 600, 600, 600, // 96 - 103
135  600, 600, 600, 600, 600, 600, 600, 600, // 104 - 111
136  600, 600, 600, 600, 600, 600, 600, 600, // 112 - 119
137  600, 600, 600, 600, 600, 600, 600, 0, // 120 - 127
138  600, 0, 600, 600, 600, 600, 600, 600, // 128 - 135
139  600, 600, 600, 600, 600, 0, 600, 0, // 136 - 143
140  0, 600, 600, 600, 600, 600, 600, 600, // 144 - 151
141  600, 600, 600, 600, 600, 0, 600, 600, // 152 - 159
142  600, 600, 600, 600, 600, 600, 600, 600, // 160 - 167
143  600, 600, 600, 600, 600, 600, 600, 600, // 168 - 175
144  600, 600, 600, 600, 600, 600, 600, 600, // 176 - 183
145  600, 600, 600, 600, 600, 600, 600, 600, // 184 - 191
146  600, 600, 600, 600, 600, 600, 600, 600, // 192 - 199
147  600, 600, 600, 600, 600, 600, 600, 600, // 200 - 207
148  600, 600, 600, 600, 600, 600, 600, 600, // 208 - 215
149  600, 600, 600, 600, 600, 600, 600, 600, // 216 - 223
150  600, 600, 600, 600, 600, 600, 600, 600, // 224 - 231
151  600, 600, 600, 600, 600, 600, 600, 600, // 232 - 239
152  600, 600, 600, 600, 600, 600, 600, 600, // 240 - 247
153  600, 600, 600, 600, 600, 600, 600, 600 // 248 - 255
154  } },
155 
156  { "Courier", // family name
157  "Bold", // style
158  "Courier-Bold", // PSName
159  629,
160  -157, // ascend, descend
161  FAMILY_MODERN, // family style
162  RTL_TEXTENCODING_MS_1252, // charset
163  PITCH_FIXED, // pitch
164  WIDTH_NORMAL, // width type
165  WEIGHT_BOLD, // weight type
166  ITALIC_NONE, // italic type
167  {
168  0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
169  0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
170  0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
171  0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
172  600, 600, 600, 600, 600, 600, 600, 600, // 32 - 39
173  600, 600, 600, 600, 600, 600, 600, 600, // 40 - 47
174  600, 600, 600, 600, 600, 600, 600, 600, // 48 - 55
175  600, 600, 600, 600, 600, 600, 600, 600, // 56 - 63
176  600, 600, 600, 600, 600, 600, 600, 600, // 64 - 71
177  600, 600, 600, 600, 600, 600, 600, 600, // 72 - 79
178  600, 600, 600, 600, 600, 600, 600, 600, // 80 - 87
179  600, 600, 600, 600, 600, 600, 600, 600, // 88 - 95
180  600, 600, 600, 600, 600, 600, 600, 600, // 96 - 103
181  600, 600, 600, 600, 600, 600, 600, 600, // 104 - 111
182  600, 600, 600, 600, 600, 600, 600, 600, // 112 - 119
183  600, 600, 600, 600, 600, 600, 600, 0, // 120 - 127
184  600, 0, 600, 600, 600, 600, 600, 600, // 128 - 135
185  600, 600, 600, 600, 600, 0, 600, 0, // 136 - 143
186  0, 600, 600, 600, 600, 600, 600, 600, // 144 - 151
187  600, 600, 600, 600, 600, 0, 600, 600, // 152 - 159
188  600, 600, 600, 600, 600, 600, 600, 600, // 160 - 167
189  600, 600, 600, 600, 600, 600, 600, 600, // 168 - 175
190  600, 600, 600, 600, 600, 600, 600, 600, // 176 - 183
191  600, 600, 600, 600, 600, 600, 600, 600, // 184 - 191
192  600, 600, 600, 600, 600, 600, 600, 600, // 192 - 199
193  600, 600, 600, 600, 600, 600, 600, 600, // 200 - 207
194  600, 600, 600, 600, 600, 600, 600, 600, // 208 - 215
195  600, 600, 600, 600, 600, 600, 600, 600, // 216 - 223
196  600, 600, 600, 600, 600, 600, 600, 600, // 224 - 231
197  600, 600, 600, 600, 600, 600, 600, 600, // 232 - 239
198  600, 600, 600, 600, 600, 600, 600, 600, // 240 - 247
199  600, 600, 600, 600, 600, 600, 600, 600 // 248 - 255
200  } },
201 
202  { "Courier", // family name
203  "Bold Italic", // style
204  "Courier-BoldOblique", // PSName
205  629,
206  -157, // ascend, descend
207  FAMILY_MODERN, // family style
208  RTL_TEXTENCODING_MS_1252, // charset
209  PITCH_FIXED, // pitch
210  WIDTH_NORMAL, // width type
211  WEIGHT_BOLD, // weight type
212  ITALIC_NORMAL, // italic type
213  {
214  0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
215  0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
216  0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
217  0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
218  600, 600, 600, 600, 600, 600, 600, 600, // 32 - 39
219  600, 600, 600, 600, 600, 600, 600, 600, // 40 - 47
220  600, 600, 600, 600, 600, 600, 600, 600, // 48 - 55
221  600, 600, 600, 600, 600, 600, 600, 600, // 56 - 63
222  600, 600, 600, 600, 600, 600, 600, 600, // 64 - 71
223  600, 600, 600, 600, 600, 600, 600, 600, // 72 - 79
224  600, 600, 600, 600, 600, 600, 600, 600, // 80 - 87
225  600, 600, 600, 600, 600, 600, 600, 600, // 88 - 95
226  600, 600, 600, 600, 600, 600, 600, 600, // 96 - 103
227  600, 600, 600, 600, 600, 600, 600, 600, // 104 - 111
228  600, 600, 600, 600, 600, 600, 600, 600, // 112 - 119
229  600, 600, 600, 600, 600, 600, 600, 0, // 120 - 127
230  600, 0, 600, 600, 600, 600, 600, 600, // 128 - 135
231  600, 600, 600, 600, 600, 0, 600, 0, // 136 - 143
232  0, 600, 600, 600, 600, 600, 600, 600, // 144 - 151
233  600, 600, 600, 600, 600, 0, 600, 600, // 152 - 159
234  600, 600, 600, 600, 600, 600, 600, 600, // 160 - 167
235  600, 600, 600, 600, 600, 600, 600, 600, // 168 - 175
236  600, 600, 600, 600, 600, 600, 600, 600, // 176 - 183
237  600, 600, 600, 600, 600, 600, 600, 600, // 184 - 191
238  600, 600, 600, 600, 600, 600, 600, 600, // 192 - 199
239  600, 600, 600, 600, 600, 600, 600, 600, // 200 - 207
240  600, 600, 600, 600, 600, 600, 600, 600, // 208 - 215
241  600, 600, 600, 600, 600, 600, 600, 600, // 216 - 223
242  600, 600, 600, 600, 600, 600, 600, 600, // 224 - 231
243  600, 600, 600, 600, 600, 600, 600, 600, // 232 - 239
244  600, 600, 600, 600, 600, 600, 600, 600, // 240 - 247
245  600, 600, 600, 600, 600, 600, 600, 600 // 248 - 255
246  } },
247 
248  { "Helvetica", // family name
249  "Normal", // style
250  "Helvetica", // PSName
251  718,
252  -207, // ascend, descend
253  FAMILY_SWISS, // family style
254  RTL_TEXTENCODING_MS_1252, // charset
255  PITCH_VARIABLE, // pitch
256  WIDTH_NORMAL, // width type
257  WEIGHT_NORMAL, // weight type
258  ITALIC_NONE, // italic type
259  {
260  0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
261  0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
262  0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
263  0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
264  278, 278, 355, 556, 556, 889, 667, 191, // 32 - 39
265  333, 333, 389, 584, 278, 333, 278, 278, // 40 - 47
266  556, 556, 556, 556, 556, 556, 556, 556, // 48 - 55
267  556, 556, 278, 278, 584, 584, 584, 556, // 56 - 63
268  1015, 667, 667, 722, 722, 667, 611, 778, // 64 - 71
269  722, 278, 500, 667, 556, 833, 722, 778, // 72 - 79
270  667, 778, 722, 667, 611, 722, 667, 944, // 80 - 87
271  667, 667, 611, 278, 278, 278, 469, 556, // 88 - 95
272  333, 556, 556, 500, 556, 556, 278, 556, // 96 - 103
273  556, 222, 222, 500, 222, 833, 556, 556, // 104 - 111
274  556, 556, 333, 500, 278, 556, 500, 722, // 112 - 119
275  500, 500, 500, 334, 260, 334, 584, 0, // 120 - 127
276  556, 0, 222, 556, 333, 1000, 556, 556, // 128 - 135
277  333, 1000, 667, 333, 1000, 0, 500, 0, // 136 - 143
278  0, 222, 222, 333, 333, 350, 556, 1000, // 144 - 151
279  333, 1000, 500, 333, 944, 0, 500, 667, // 152 - 159
280  278, 333, 556, 556, 556, 556, 260, 556, // 160 - 167
281  333, 737, 370, 556, 584, 333, 737, 333, // 168 - 175
282  400, 584, 333, 333, 333, 556, 537, 278, // 176 - 183
283  333, 333, 365, 556, 834, 834, 834, 611, // 184 - 191
284  667, 667, 667, 667, 667, 667, 1000, 722, // 192 - 199
285  667, 667, 667, 667, 278, 278, 278, 278, // 200 - 207
286  722, 722, 778, 778, 778, 778, 778, 584, // 208 - 215
287  778, 722, 722, 722, 722, 667, 667, 611, // 216 - 223
288  556, 556, 556, 556, 556, 556, 889, 500, // 224 - 231
289  556, 556, 556, 556, 278, 278, 278, 278, // 232 - 239
290  556, 556, 556, 556, 556, 556, 556, 584, // 240 - 247
291  611, 556, 556, 556, 556, 500, 556, 500 // 248 - 255
292  } },
293 
294  { "Helvetica", // family name
295  "Italic", // style
296  "Helvetica-Oblique", // PSName
297  718,
298  -207, // ascend, descend
299  FAMILY_SWISS, // family style
300  RTL_TEXTENCODING_MS_1252, // charset
301  PITCH_VARIABLE, // pitch
302  WIDTH_NORMAL, // width type
303  WEIGHT_NORMAL, // weight type
304  ITALIC_NORMAL, // italic type
305  {
306  0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
307  0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
308  0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
309  0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
310  278, 278, 355, 556, 556, 889, 667, 191, // 32 - 39
311  333, 333, 389, 584, 278, 333, 278, 278, // 40 - 47
312  556, 556, 556, 556, 556, 556, 556, 556, // 48 - 55
313  556, 556, 278, 278, 584, 584, 584, 556, // 56 - 63
314  1015, 667, 667, 722, 722, 667, 611, 778, // 64 - 71
315  722, 278, 500, 667, 556, 833, 722, 778, // 72 - 79
316  667, 778, 722, 667, 611, 722, 667, 944, // 80 - 87
317  667, 667, 611, 278, 278, 278, 469, 556, // 88 - 95
318  333, 556, 556, 500, 556, 556, 278, 556, // 96 - 103
319  556, 222, 222, 500, 222, 833, 556, 556, // 104 - 111
320  556, 556, 333, 500, 278, 556, 500, 722, // 112 - 119
321  500, 500, 500, 334, 260, 334, 584, 0, // 120 - 127
322  556, 0, 222, 556, 333, 1000, 556, 556, // 128 - 135
323  333, 1000, 667, 333, 1000, 0, 500, 0, // 136 - 143
324  0, 222, 222, 333, 333, 350, 556, 1000, // 144 - 151
325  333, 1000, 500, 333, 944, 0, 500, 667, // 152 - 159
326  278, 333, 556, 556, 556, 556, 260, 556, // 160 - 167
327  333, 737, 370, 556, 584, 333, 737, 333, // 168 - 175
328  400, 584, 333, 333, 333, 556, 537, 278, // 176 - 183
329  333, 333, 365, 556, 834, 834, 834, 611, // 184 - 191
330  667, 667, 667, 667, 667, 667, 1000, 722, // 192 - 199
331  667, 667, 667, 667, 278, 278, 278, 278, // 200 - 207
332  722, 722, 778, 778, 778, 778, 778, 584, // 208 - 215
333  778, 722, 722, 722, 722, 667, 667, 611, // 216 - 223
334  556, 556, 556, 556, 556, 556, 889, 500, // 224 - 231
335  556, 556, 556, 556, 278, 278, 278, 278, // 232 - 239
336  556, 556, 556, 556, 556, 556, 556, 584, // 240 - 247
337  611, 556, 556, 556, 556, 500, 556, 500 // 248 - 255
338  } },
339 
340  { "Helvetica", // family name
341  "Bold", // style
342  "Helvetica-Bold", // PSName
343  718,
344  -207, // ascend, descend
345  FAMILY_SWISS, // family style
346  RTL_TEXTENCODING_MS_1252, // charset
347  PITCH_VARIABLE, // pitch
348  WIDTH_NORMAL, // width type
349  WEIGHT_BOLD, // weight type
350  ITALIC_NONE, // italic type
351  {
352  0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
353  0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
354  0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
355  0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
356  278, 333, 474, 556, 556, 889, 722, 238, // 32 - 39
357  333, 333, 389, 584, 278, 333, 278, 278, // 40 - 47
358  556, 556, 556, 556, 556, 556, 556, 556, // 48 - 55
359  556, 556, 333, 333, 584, 584, 584, 611, // 56 - 63
360  975, 722, 722, 722, 722, 667, 611, 778, // 64 - 71
361  722, 278, 556, 722, 611, 833, 722, 778, // 72 - 79
362  667, 778, 722, 667, 611, 722, 667, 944, // 80 - 87
363  667, 667, 611, 333, 278, 333, 584, 556, // 88 - 95
364  333, 556, 611, 556, 611, 556, 333, 611, // 96 - 103
365  611, 278, 278, 556, 278, 889, 611, 611, // 104 - 111
366  611, 611, 389, 556, 333, 611, 556, 778, // 112 - 119
367  556, 556, 500, 389, 280, 389, 584, 0, // 120 - 127
368  556, 0, 278, 556, 500, 1000, 556, 556, // 128 - 135
369  333, 1000, 667, 333, 1000, 0, 500, 0, // 136 - 143
370  0, 278, 278, 500, 500, 350, 556, 1000, // 144 - 151
371  333, 1000, 556, 333, 944, 0, 500, 667, // 152 - 159
372  278, 333, 556, 556, 556, 556, 280, 556, // 160 - 167
373  333, 737, 370, 556, 584, 333, 737, 333, // 168 - 175
374  400, 584, 333, 333, 333, 611, 556, 278, // 176 - 183
375  333, 333, 365, 556, 834, 834, 834, 611, // 184 - 191
376  722, 722, 722, 722, 722, 722, 1000, 722, // 192 - 199
377  667, 667, 667, 667, 278, 278, 278, 278, // 200 - 207
378  722, 722, 778, 778, 778, 778, 778, 584, // 208 - 215
379  778, 722, 722, 722, 722, 667, 667, 611, // 216 - 223
380  556, 556, 556, 556, 556, 556, 889, 556, // 224 - 231
381  556, 556, 556, 556, 278, 278, 278, 278, // 232 - 239
382  611, 611, 611, 611, 611, 611, 611, 584, // 240 - 247
383  611, 611, 611, 611, 611, 556, 611, 556 // 248 - 255
384  } },
385 
386  { "Helvetica", // family name
387  "Bold Italic", // style
388  "Helvetica-BoldOblique", // PSName
389  718,
390  -207, // ascend, descend
391  FAMILY_SWISS, // family style
392  RTL_TEXTENCODING_MS_1252, // charset
393  PITCH_VARIABLE, // pitch
394  WIDTH_NORMAL, // width type
395  WEIGHT_BOLD, // weight type
396  ITALIC_NORMAL, // italic type
397  {
398  0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
399  0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
400  0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
401  0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
402  278, 333, 474, 556, 556, 889, 722, 238, // 32 - 39
403  333, 333, 389, 584, 278, 333, 278, 278, // 40 - 47
404  556, 556, 556, 556, 556, 556, 556, 556, // 48 - 55
405  556, 556, 333, 333, 584, 584, 584, 611, // 56 - 63
406  975, 722, 722, 722, 722, 667, 611, 778, // 64 - 71
407  722, 278, 556, 722, 611, 833, 722, 778, // 72 - 79
408  667, 778, 722, 667, 611, 722, 667, 944, // 80 - 87
409  667, 667, 611, 333, 278, 333, 584, 556, // 88 - 95
410  333, 556, 611, 556, 611, 556, 333, 611, // 96 - 103
411  611, 278, 278, 556, 278, 889, 611, 611, // 104 - 111
412  611, 611, 389, 556, 333, 611, 556, 778, // 112 - 119
413  556, 556, 500, 389, 280, 389, 584, 0, // 120 - 127
414  556, 0, 278, 556, 500, 1000, 556, 556, // 128 - 135
415  333, 1000, 667, 333, 1000, 0, 500, 0, // 136 - 143
416  0, 278, 278, 500, 500, 350, 556, 1000, // 144 - 151
417  333, 1000, 556, 333, 944, 0, 500, 667, // 152 - 159
418  278, 333, 556, 556, 556, 556, 280, 556, // 160 - 167
419  333, 737, 370, 556, 584, 333, 737, 333, // 168 - 175
420  400, 584, 333, 333, 333, 611, 556, 278, // 176 - 183
421  333, 333, 365, 556, 834, 834, 834, 611, // 184 - 191
422  722, 722, 722, 722, 722, 722, 1000, 722, // 192 - 199
423  667, 667, 667, 667, 278, 278, 278, 278, // 200 - 207
424  722, 722, 778, 778, 778, 778, 778, 584, // 208 - 215
425  778, 722, 722, 722, 722, 667, 667, 611, // 216 - 223
426  556, 556, 556, 556, 556, 556, 889, 556, // 224 - 231
427  556, 556, 556, 556, 278, 278, 278, 278, // 232 - 239
428  611, 611, 611, 611, 611, 611, 611, 584, // 240 - 247
429  611, 611, 611, 611, 611, 556, 611, 556 // 248 - 255
430  } },
431 
432  { "Times", // family name
433  "Normal", // style
434  "Times-Roman", // PSName
435  683,
436  -217, // ascend, descend
437  FAMILY_ROMAN, // family style
438  RTL_TEXTENCODING_MS_1252, // charset
439  PITCH_VARIABLE, // pitch
440  WIDTH_NORMAL, // width type
441  WEIGHT_NORMAL, // weight type
442  ITALIC_NONE, // italic type
443  {
444  0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
445  0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
446  0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
447  0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
448  250, 333, 408, 500, 500, 833, 778, 180, // 32 - 39
449  333, 333, 500, 564, 250, 333, 250, 278, // 40 - 47
450  500, 500, 500, 500, 500, 500, 500, 500, // 48 - 55
451  500, 500, 278, 278, 564, 564, 564, 444, // 56 - 63
452  921, 722, 667, 667, 722, 611, 556, 722, // 64 - 71
453  722, 333, 389, 722, 611, 889, 722, 722, // 72 - 79
454  556, 722, 667, 556, 611, 722, 722, 944, // 80 - 87
455  722, 722, 611, 333, 278, 333, 469, 500, // 88 - 95
456  333, 444, 500, 444, 500, 444, 333, 500, // 96 - 103
457  500, 278, 278, 500, 278, 778, 500, 500, // 104 - 111
458  500, 500, 333, 389, 278, 500, 500, 722, // 112 - 119
459  500, 500, 444, 480, 200, 480, 541, 0, // 120 - 127
460  500, 0, 333, 500, 444, 1000, 500, 500, // 128 - 135
461  333, 1000, 556, 333, 889, 0, 444, 0, // 136 - 143
462  0, 333, 333, 444, 444, 350, 500, 1000, // 144 - 151
463  333, 980, 389, 333, 722, 0, 444, 722, // 152 - 159
464  250, 333, 500, 500, 500, 500, 200, 500, // 160 - 167
465  333, 760, 276, 500, 564, 333, 760, 333, // 168 - 175
466  400, 564, 300, 300, 333, 500, 453, 250, // 176 - 183
467  333, 300, 310, 500, 750, 750, 750, 444, // 184 - 191
468  722, 722, 722, 722, 722, 722, 889, 667, // 192 - 199
469  611, 611, 611, 611, 333, 333, 333, 333, // 200 - 207
470  722, 722, 722, 722, 722, 722, 722, 564, // 208 - 215
471  722, 722, 722, 722, 722, 722, 556, 500, // 216 - 223
472  444, 444, 444, 444, 444, 444, 667, 444, // 224 - 231
473  444, 444, 444, 444, 278, 278, 278, 278, // 232 - 239
474  500, 500, 500, 500, 500, 500, 500, 564, // 240 - 247
475  500, 500, 500, 500, 500, 500, 500, 500 // 248 - 255
476  } },
477 
478  { "Times", // family name
479  "Italic", // style
480  "Times-Italic", // PSName
481  683,
482  -217, // ascend, descend
483  FAMILY_ROMAN, // family style
484  RTL_TEXTENCODING_MS_1252, // charset
485  PITCH_VARIABLE, // pitch
486  WIDTH_NORMAL, // width type
487  WEIGHT_NORMAL, // weight type
488  ITALIC_NORMAL, // italic type
489  {
490  0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
491  0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
492  0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
493  0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
494  250, 333, 420, 500, 500, 833, 778, 214, // 32 - 39
495  333, 333, 500, 675, 250, 333, 250, 278, // 40 - 47
496  500, 500, 500, 500, 500, 500, 500, 500, // 48 - 55
497  500, 500, 333, 333, 675, 675, 675, 500, // 56 - 63
498  920, 611, 611, 667, 722, 611, 611, 722, // 64 - 71
499  722, 333, 444, 667, 556, 833, 667, 722, // 72 - 79
500  611, 722, 611, 500, 556, 722, 611, 833, // 80 - 87
501  611, 556, 556, 389, 278, 389, 422, 500, // 88 - 95
502  333, 500, 500, 444, 500, 444, 278, 500, // 96 - 103
503  500, 278, 278, 444, 278, 722, 500, 500, // 104 - 111
504  500, 500, 389, 389, 278, 500, 444, 667, // 112 - 119
505  444, 444, 389, 400, 275, 400, 541, 0, // 120 - 127
506  500, 0, 333, 500, 556, 889, 500, 500, // 128 - 135
507  333, 1000, 500, 333, 944, 0, 389, 0, // 136 - 143
508  0, 333, 333, 556, 556, 350, 500, 889, // 144 - 151
509  333, 980, 389, 333, 667, 0, 389, 556, // 152 - 159
510  250, 389, 500, 500, 500, 500, 275, 500, // 160 - 167
511  333, 760, 276, 500, 675, 333, 760, 333, // 168 - 175
512  400, 675, 300, 300, 333, 500, 523, 250, // 176 - 183
513  333, 300, 310, 500, 750, 750, 750, 500, // 184 - 191
514  611, 611, 611, 611, 611, 611, 889, 667, // 192 - 199
515  611, 611, 611, 611, 333, 333, 333, 333, // 200 - 207
516  722, 667, 722, 722, 722, 722, 722, 675, // 208 - 215
517  722, 722, 722, 722, 722, 556, 611, 500, // 216 - 223
518  500, 500, 500, 500, 500, 500, 667, 444, // 224 - 231
519  444, 444, 444, 444, 278, 278, 278, 278, // 232 - 239
520  500, 500, 500, 500, 500, 500, 500, 675, // 240 - 247
521  500, 500, 500, 500, 500, 444, 500, 444 // 248 - 255
522  } },
523 
524  { "Times", // family name
525  "Bold", // style
526  "Times-Bold", // PSName
527  683,
528  -217, // ascend, descend
529  FAMILY_ROMAN, // family style
530  RTL_TEXTENCODING_MS_1252, // charset
531  PITCH_VARIABLE, // pitch
532  WIDTH_NORMAL, // width type
533  WEIGHT_BOLD, // weight type
534  ITALIC_NONE, // italic type
535  {
536  0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
537  0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
538  0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
539  0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
540  250, 333, 555, 500, 500, 1000, 833, 278, // 32 - 39
541  333, 333, 500, 570, 250, 333, 250, 278, // 40 - 47
542  500, 500, 500, 500, 500, 500, 500, 500, // 48 - 55
543  500, 500, 333, 333, 570, 570, 570, 500, // 56 - 63
544  930, 722, 667, 722, 722, 667, 611, 778, // 64 - 71
545  778, 389, 500, 778, 667, 944, 722, 778, // 72 - 79
546  611, 778, 722, 556, 667, 722, 722, 1000, // 80 - 87
547  722, 722, 667, 333, 278, 333, 581, 500, // 88 - 95
548  333, 500, 556, 444, 556, 444, 333, 500, // 96 - 103
549  556, 278, 333, 556, 278, 833, 556, 500, // 104 - 111
550  556, 556, 444, 389, 333, 556, 500, 722, // 112 - 119
551  500, 500, 444, 394, 220, 394, 520, 0, // 120 - 127
552  500, 0, 333, 500, 500, 1000, 500, 500, // 128 - 135
553  333, 1000, 556, 333, 1000, 0, 444, 0, // 136 - 143
554  0, 333, 333, 500, 500, 350, 500, 1000, // 144 - 151
555  333, 1000, 389, 333, 722, 0, 444, 722, // 152 - 159
556  250, 333, 500, 500, 500, 500, 220, 500, // 160 - 167
557  333, 747, 300, 500, 570, 333, 747, 333, // 168 - 175
558  400, 570, 300, 300, 333, 556, 540, 250, // 176 - 183
559  333, 300, 330, 500, 750, 750, 750, 500, // 184 - 191
560  722, 722, 722, 722, 722, 722, 1000, 722, // 192 - 199
561  667, 667, 667, 667, 389, 389, 389, 389, // 200 - 207
562  722, 722, 778, 778, 778, 778, 778, 570, // 208 - 215
563  778, 722, 722, 722, 722, 722, 611, 556, // 216 - 223
564  500, 500, 500, 500, 500, 500, 722, 444, // 224 - 231
565  444, 444, 444, 444, 278, 278, 278, 278, // 232 - 239
566  500, 556, 500, 500, 500, 500, 500, 570, // 240 - 247
567  500, 556, 556, 556, 556, 500, 556, 500 // 248 - 255
568  } },
569 
570  { "Times", // family name
571  "Bold Italic", // style
572  "Times-BoldItalic", // PSName
573  683,
574  -217, // ascend, descend
575  FAMILY_ROMAN, // family style
576  RTL_TEXTENCODING_MS_1252, // charset
577  PITCH_VARIABLE, // pitch
578  WIDTH_NORMAL, // width type
579  WEIGHT_BOLD, // weight type
580  ITALIC_NORMAL, // italic type
581  {
582  0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
583  0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
584  0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
585  0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
586  250, 389, 555, 500, 500, 833, 778, 278, // 32 - 39
587  333, 333, 500, 570, 250, 333, 250, 278, // 40 - 47
588  500, 500, 500, 500, 500, 500, 500, 500, // 48 - 55
589  500, 500, 333, 333, 570, 570, 570, 500, // 56 - 63
590  832, 667, 667, 667, 722, 667, 667, 722, // 64 - 71
591  778, 389, 500, 667, 611, 889, 722, 722, // 72 - 79
592  611, 722, 667, 556, 611, 722, 667, 889, // 80 - 87
593  667, 611, 611, 333, 278, 333, 570, 500, // 88 - 95
594  333, 500, 500, 444, 500, 444, 333, 500, // 96 - 103
595  556, 278, 278, 500, 278, 778, 556, 500, // 104 - 111
596  500, 500, 389, 389, 278, 556, 444, 667, // 112 - 119
597  500, 444, 389, 348, 220, 348, 570, 0, // 120 - 127
598  500, 0, 333, 500, 500, 1000, 500, 500, // 128 - 135
599  333, 1000, 556, 333, 944, 0, 389, 0, // 136 - 143
600  0, 333, 333, 500, 500, 350, 500, 1000, // 144 - 151
601  333, 1000, 389, 333, 722, 0, 389, 611, // 152 - 159
602  250, 389, 500, 500, 500, 500, 220, 500, // 160 - 167
603  333, 747, 266, 500, 606, 333, 747, 333, // 168 - 175
604  400, 570, 300, 300, 333, 576, 500, 250, // 176 - 183
605  333, 300, 300, 500, 750, 750, 750, 500, // 184 - 191
606  667, 667, 667, 667, 667, 667, 944, 667, // 192 - 199
607  667, 667, 667, 667, 389, 389, 389, 389, // 200 - 207
608  722, 722, 722, 722, 722, 722, 722, 570, // 208 - 215
609  722, 722, 722, 722, 722, 611, 611, 500, // 216 - 223
610  500, 500, 500, 500, 500, 500, 722, 444, // 224 - 231
611  444, 444, 444, 444, 278, 278, 278, 278, // 232 - 239
612  500, 556, 500, 500, 500, 500, 500, 570, // 240 - 247
613  500, 556, 556, 556, 556, 444, 500, 444 // 248 - 255
614  } },
615 
616  // The font name "Symbol" is too generic and causes plenty of trouble.
617  // To ensure WYSIWIG the PDF-Base14 variant gets a not-confusable name
618  { "PDF_Base14_Symbol", // family name
619  "Normal", // style
620  "Symbol", // PSName
621  1010,
622  -293, // ascend, descend
623  FAMILY_DONTKNOW, // family style
624  RTL_TEXTENCODING_ADOBE_SYMBOL, // charset
625  PITCH_VARIABLE, // pitch
626  WIDTH_NORMAL, // width type
627  WEIGHT_NORMAL, // weight type
628  ITALIC_NONE, // italic type
629  {
630  0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
631  0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
632  0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
633  0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
634  250, 333, 713, 500, 549, 833, 778, 439, // 32 - 39
635  333, 333, 500, 549, 250, 549, 250, 278, // 40 - 47
636  500, 500, 500, 500, 500, 500, 500, 500, // 48 - 55
637  500, 500, 278, 278, 549, 549, 549, 444, // 56 - 63
638  549, 722, 667, 722, 612, 611, 763, 603, // 64 - 71
639  722, 333, 631, 722, 686, 889, 722, 722, // 72 - 79
640  768, 741, 556, 592, 611, 690, 439, 768, // 80 - 87
641  645, 795, 611, 333, 863, 333, 658, 500, // 88 - 95
642  500, 631, 549, 549, 494, 439, 521, 411, // 96 - 103
643  603, 329, 603, 549, 549, 576, 521, 549, // 104 - 111
644  549, 521, 549, 603, 439, 576, 713, 686, // 112 - 119
645  493, 686, 494, 480, 200, 480, 549, 0, // 120 - 127
646  0, 0, 0, 0, 0, 0, 0, 0, // 128 - 135
647  0, 0, 0, 0, 0, 0, 0, 0, // 136 - 143
648  0, 0, 0, 0, 0, 0, 0, 0, // 144 - 151
649  0, 0, 0, 0, 0, 0, 0, 0, // 152 - 159
650  750, 620, 247, 549, 167, 713, 500, 753, // 160 - 167
651  753, 753, 753, 1042, 987, 603, 987, 603, // 168 - 175
652  400, 549, 411, 549, 549, 713, 494, 460, // 176 - 183
653  549, 549, 549, 549, 1000, 603, 1000, 658, // 184 - 191
654  823, 686, 795, 987, 768, 768, 823, 768, // 192 - 199
655  768, 713, 713, 713, 713, 713, 713, 713, // 200 - 207
656  768, 713, 790, 790, 890, 823, 549, 250, // 208 - 215
657  713, 603, 603, 1042, 987, 603, 987, 603, // 216 - 223
658  494, 329, 790, 790, 786, 713, 384, 384, // 224 - 231
659  384, 384, 384, 384, 494, 494, 494, 494, // 232 - 239
660  0, 329, 274, 686, 686, 686, 384, 384, // 240 - 247
661  384, 384, 384, 384, 494, 494, 494, 0 // 248 - 255
662  } },
663 
664  { "ZapfDingbats", // family name
665  "Normal", // style
666  "ZapfDingbats", // PSName
667  820,
668  -143, // ascend, descend
669  FAMILY_DONTKNOW, // family style
670  RTL_TEXTENCODING_ADOBE_DINGBATS, // charset
671  PITCH_VARIABLE, // pitch
672  WIDTH_NORMAL, // width type
673  WEIGHT_NORMAL, // weight type
674  ITALIC_NONE, // italic type
675  {
676  0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7
677  0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15
678  0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23
679  0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31
680  278, 974, 961, 974, 980, 719, 789, 790, // 32 - 39
681  791, 690, 960, 939, 549, 855, 911, 933, // 40 - 47
682  911, 945, 974, 755, 846, 762, 761, 571, // 48 - 55
683  677, 763, 760, 759, 754, 494, 552, 537, // 56 - 63
684  577, 692, 786, 788, 788, 790, 793, 794, // 64 - 71
685  816, 823, 789, 841, 823, 833, 816, 831, // 72 - 79
686  923, 744, 723, 749, 790, 792, 695, 776, // 80 - 87
687  768, 792, 759, 707, 708, 682, 701, 826, // 88 - 95
688  815, 789, 789, 707, 687, 696, 689, 786, // 96 - 103
689  787, 713, 791, 785, 791, 873, 761, 762, // 104 - 111
690  762, 759, 759, 892, 892, 788, 784, 438, // 112 - 119
691  138, 277, 415, 392, 392, 668, 668, 0, // 120 - 127
692  390, 390, 317, 317, 276, 276, 509, 509, // 128 - 135
693  410, 410, 234, 234, 334, 334, 0, 0, // 136 - 143
694  0, 0, 0, 0, 0, 0, 0, 0, // 144 - 151
695  0, 0, 0, 0, 0, 0, 0, 0, // 152 - 159
696  0, 732, 544, 544, 910, 667, 760, 760, // 160 - 167
697  776, 595, 694, 626, 788, 788, 788, 788, // 168 - 175
698  788, 788, 788, 788, 788, 788, 788, 788, // 176 - 183
699  788, 788, 788, 788, 788, 788, 788, 788, // 184 - 191
700  788, 788, 788, 788, 788, 788, 788, 788, // 192 - 199
701  788, 788, 788, 788, 788, 788, 788, 788, // 200 - 207
702  788, 788, 788, 788, 894, 838, 1016, 458, // 208 - 215
703  748, 924, 748, 918, 927, 928, 928, 834, // 216 - 223
704  873, 828, 924, 924, 917, 930, 931, 463, // 224 - 231
705  883, 836, 836, 867, 867, 696, 696, 874, // 232 - 239
706  0, 874, 760, 946, 771, 865, 771, 888, // 240 - 247
707  967, 888, 831, 873, 927, 970, 918, 0 // 248 - 255
708  } }
709 
710  };
711 
713  const FontSelectPattern& rFSP)
714  : LogicalFontInstance(rFontFace, rFSP)
715 {
716 }
717 
719 {
720  return false;
721 }
722 
724 {
725  return false;
726 }
727 
729  : PhysicalFontFace(m_aBuildinFonts[nId].GetFontAttributes())
730  , mrBuildin(m_aBuildinFonts[nId])
731 {
732 }
733 
736 {
737  return new BuildinFontInstance(*this, rFSP);
738 }
739 
740 } // namespace pdf
741 } // namespace vcl
742 
743 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
FontWeight const m_eWeight
FAMILY_MODERN
FAMILY_DONTKNOW
void SetWidthType(const FontWidth eWidthType)
WIDTH_NORMAL
aBuf
void SetPitch(const FontPitch ePitch)
rtl::Reference< LogicalFontInstance > CreateFontInstance(const FontSelectPattern &rFSD) const override
FAMILY_ROMAN
static const BuildinFont m_aBuildinFonts[14]
FontFamily const m_eFamily
sal_uInt16 sal_GlyphId
Definition: glyphitem.hxx:26
WEIGHT_BOLD
PITCH_VARIABLE
bool ImplGetGlyphBoundRect(sal_GlyphId nID, tools::Rectangle &rRect, bool) const override
abstract base class for physical font faces
FontPitch const m_ePitch
BuildinFontInstance(const PhysicalFontFace &, const FontSelectPattern &)
bool GetGlyphOutline(sal_GlyphId nId, basegfx::B2DPolyPolygon &rPoly, bool) const override
void SetWeight(const FontWeight eWeight)
void SetQuality(int nQuality)
PITCH_FIXED
void SetItalic(const FontItalic eItalic)
void SetFamilyName(const OUString &sFamilyName)
WEIGHT_NORMAL
void SetSymbolFlag(const bool)
ITALIC_NONE
rtl_TextEncoding const m_eCharSet
OString getNameObject() const
FontWidth const m_eWidthType
ITALIC_NORMAL
FAMILY_SWISS
void SetStyleName(const OUString &sStyleName)
FontItalic const m_eItalic
FontAttributes GetFontAttributes() const
void SetFamilyType(const FontFamily eFontFamily)