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