1/*
2 * << Haru Free PDF Library >> -- hpdf_fontdef_base14.c
3 *
4 * URL: http://libharu.org
5 *
6 * Copyright (c) 1999-2006 Takeshi Kanno <takeshi_kanno@est.hi-ho.ne.jp>
7 * Copyright (c) 2007-2009 Antony Dovgal <tony@daylessday.org>
8 *
9 * Permission to use, copy, modify, distribute and sell this software
10 * and its documentation for any purpose is hereby granted without fee,
11 * provided that the above copyright notice appear in all copies and
12 * that both that copyright notice and this permission notice appear
13 * in supporting documentation.
14 * It is provided "as is" without express or implied warranty.
15 *
16 */
17
18#include "hpdf_conf.h"
19#include "hpdf_utils.h"
20#include "hpdf_fontdef.h"
21
22static const HPDF_CharData CHAR_DATA_COURIER[316] = {
23 {32, 0x0020, 600},
24 {33, 0x0021, 600},
25 {34, 0x0022, 600},
26 {35, 0x0023, 600},
27 {36, 0x0024, 600},
28 {37, 0x0025, 600},
29 {38, 0x0026, 600},
30 {39, 0x2019, 600},
31 {40, 0x0028, 600},
32 {41, 0x0029, 600},
33 {42, 0x002A, 600},
34 {43, 0x002B, 600},
35 {44, 0x002C, 600},
36 {45, 0x002D, 600},
37 {46, 0x002E, 600},
38 {47, 0x002F, 600},
39 {48, 0x0030, 600},
40 {49, 0x0031, 600},
41 {50, 0x0032, 600},
42 {51, 0x0033, 600},
43 {52, 0x0034, 600},
44 {53, 0x0035, 600},
45 {54, 0x0036, 600},
46 {55, 0x0037, 600},
47 {56, 0x0038, 600},
48 {57, 0x0039, 600},
49 {58, 0x003A, 600},
50 {59, 0x003B, 600},
51 {60, 0x003C, 600},
52 {61, 0x003D, 600},
53 {62, 0x003E, 600},
54 {63, 0x003F, 600},
55 {64, 0x0040, 600},
56 {65, 0x0041, 600},
57 {66, 0x0042, 600},
58 {67, 0x0043, 600},
59 {68, 0x0044, 600},
60 {69, 0x0045, 600},
61 {70, 0x0046, 600},
62 {71, 0x0047, 600},
63 {72, 0x0048, 600},
64 {73, 0x0049, 600},
65 {74, 0x004A, 600},
66 {75, 0x004B, 600},
67 {76, 0x004C, 600},
68 {77, 0x004D, 600},
69 {78, 0x004E, 600},
70 {79, 0x004F, 600},
71 {80, 0x0050, 600},
72 {81, 0x0051, 600},
73 {82, 0x0052, 600},
74 {83, 0x0053, 600},
75 {84, 0x0054, 600},
76 {85, 0x0055, 600},
77 {86, 0x0056, 600},
78 {87, 0x0057, 600},
79 {88, 0x0058, 600},
80 {89, 0x0059, 600},
81 {90, 0x005A, 600},
82 {91, 0x005B, 600},
83 {92, 0x005C, 600},
84 {93, 0x005D, 600},
85 {94, 0x005E, 600},
86 {95, 0x005F, 600},
87 {96, 0x2018, 600},
88 {97, 0x0061, 600},
89 {98, 0x0062, 600},
90 {99, 0x0063, 600},
91 {100, 0x0064, 600},
92 {101, 0x0065, 600},
93 {102, 0x0066, 600},
94 {103, 0x0067, 600},
95 {104, 0x0068, 600},
96 {105, 0x0069, 600},
97 {106, 0x006A, 600},
98 {107, 0x006B, 600},
99 {108, 0x006C, 600},
100 {109, 0x006D, 600},
101 {110, 0x006E, 600},
102 {111, 0x006F, 600},
103 {112, 0x0070, 600},
104 {113, 0x0071, 600},
105 {114, 0x0072, 600},
106 {115, 0x0073, 600},
107 {116, 0x0074, 600},
108 {117, 0x0075, 600},
109 {118, 0x0076, 600},
110 {119, 0x0077, 600},
111 {120, 0x0078, 600},
112 {121, 0x0079, 600},
113 {122, 0x007A, 600},
114 {123, 0x007B, 600},
115 {124, 0x007C, 600},
116 {125, 0x007D, 600},
117 {126, 0x007E, 600},
118 {161, 0x00A1, 600},
119 {162, 0x00A2, 600},
120 {163, 0x00A3, 600},
121 {164, 0x2044, 600},
122 {165, 0x00A5, 600},
123 {166, 0x0192, 600},
124 {167, 0x00A7, 600},
125 {168, 0x00A4, 600},
126 {169, 0x0027, 600},
127 {170, 0x201C, 600},
128 {171, 0x00AB, 600},
129 {172, 0x2039, 600},
130 {173, 0x203A, 600},
131 {174, 0xFB01, 600},
132 {175, 0xFB02, 600},
133 {177, 0x2013, 600},
134 {178, 0x2020, 600},
135 {179, 0x2021, 600},
136 {180, 0x00B7, 600},
137 {182, 0x00B6, 600},
138 {183, 0x2022, 600},
139 {184, 0x201A, 600},
140 {185, 0x201E, 600},
141 {186, 0x201D, 600},
142 {187, 0x00BB, 600},
143 {188, 0x2026, 600},
144 {189, 0x2030, 600},
145 {191, 0x00BF, 600},
146 {193, 0x0060, 600},
147 {194, 0x00B4, 600},
148 {195, 0x02C6, 600},
149 {196, 0x02DC, 600},
150 {197, 0x00AF, 600},
151 {198, 0x02D8, 600},
152 {199, 0x02D9, 600},
153 {200, 0x00A8, 600},
154 {202, 0x02DA, 600},
155 {203, 0x00B8, 600},
156 {205, 0x02DD, 600},
157 {206, 0x02DB, 600},
158 {207, 0x02C7, 600},
159 {208, 0x2014, 600},
160 {225, 0x00C6, 600},
161 {227, 0x00AA, 600},
162 {232, 0x0141, 600},
163 {233, 0x00D8, 600},
164 {234, 0x0152, 600},
165 {235, 0x00BA, 600},
166 {241, 0x00E6, 600},
167 {245, 0x0131, 600},
168 {248, 0x0142, 600},
169 {249, 0x00F8, 600},
170 {250, 0x0153, 600},
171 {251, 0x00DF, 600},
172 {-1, 0x00CF, 600},
173 {-1, 0x00E9, 600},
174 {-1, 0x0103, 600},
175 {-1, 0x0171, 600},
176 {-1, 0x011B, 600},
177 {-1, 0x0178, 600},
178 {-1, 0x00F7, 600},
179 {-1, 0x00DD, 600},
180 {-1, 0x00C2, 600},
181 {-1, 0x00E1, 600},
182 {-1, 0x00DB, 600},
183 {-1, 0x00FD, 600},
184 {-1, 0x0219, 600},
185 {-1, 0x00EA, 600},
186 {-1, 0x016E, 600},
187 {-1, 0x00DC, 600},
188 {-1, 0x0105, 600},
189 {-1, 0x00DA, 600},
190 {-1, 0x0173, 600},
191 {-1, 0x00CB, 600},
192 {-1, 0x0110, 600},
193 {-1, 0xF6C3, 600},
194 {-1, 0x00A9, 600},
195 {-1, 0x0112, 600},
196 {-1, 0x010D, 600},
197 {-1, 0x00E5, 600},
198 {-1, 0x0145, 600},
199 {-1, 0x013A, 600},
200 {-1, 0x00E0, 600},
201 {-1, 0x0162, 600},
202 {-1, 0x0106, 600},
203 {-1, 0x00E3, 600},
204 {-1, 0x0116, 600},
205 {-1, 0x0161, 600},
206 {-1, 0x015F, 600},
207 {-1, 0x00ED, 600},
208 {-1, 0x25CA, 600},
209 {-1, 0x0158, 600},
210 {-1, 0x0122, 600},
211 {-1, 0x00FB, 600},
212 {-1, 0x00E2, 600},
213 {-1, 0x0100, 600},
214 {-1, 0x0159, 600},
215 {-1, 0x00E7, 600},
216 {-1, 0x017B, 600},
217 {-1, 0x00DE, 600},
218 {-1, 0x014C, 600},
219 {-1, 0x0154, 600},
220 {-1, 0x015A, 600},
221 {-1, 0x010F, 600},
222 {-1, 0x016A, 600},
223 {-1, 0x016F, 600},
224 {-1, 0x00B3, 600},
225 {-1, 0x00D2, 600},
226 {-1, 0x00C0, 600},
227 {-1, 0x0102, 600},
228 {-1, 0x00D7, 600},
229 {-1, 0x00FA, 600},
230 {-1, 0x0164, 600},
231 {-1, 0x2202, 600},
232 {-1, 0x00FF, 600},
233 {-1, 0x0143, 600},
234 {-1, 0x00EE, 600},
235 {-1, 0x00CA, 600},
236 {-1, 0x00E4, 600},
237 {-1, 0x00EB, 600},
238 {-1, 0x0107, 600},
239 {-1, 0x0144, 600},
240 {-1, 0x016B, 600},
241 {-1, 0x0147, 600},
242 {-1, 0x00CD, 600},
243 {-1, 0x00B1, 600},
244 {-1, 0x00A6, 600},
245 {-1, 0x00AE, 600},
246 {-1, 0x011E, 600},
247 {-1, 0x0130, 600},
248 {-1, 0x2211, 600},
249 {-1, 0x00C8, 600},
250 {-1, 0x0155, 600},
251 {-1, 0x014D, 600},
252 {-1, 0x0179, 600},
253 {-1, 0x017D, 600},
254 {-1, 0x2265, 600},
255 {-1, 0x00D0, 600},
256 {-1, 0x00C7, 600},
257 {-1, 0x013C, 600},
258 {-1, 0x0165, 600},
259 {-1, 0x0119, 600},
260 {-1, 0x0172, 600},
261 {-1, 0x00C1, 600},
262 {-1, 0x00C4, 600},
263 {-1, 0x00E8, 600},
264 {-1, 0x017A, 600},
265 {-1, 0x012F, 600},
266 {-1, 0x00D3, 600},
267 {-1, 0x00F3, 600},
268 {-1, 0x0101, 600},
269 {-1, 0x015B, 600},
270 {-1, 0x00EF, 600},
271 {-1, 0x00D4, 600},
272 {-1, 0x00D9, 600},
273 {-1, 0x0394, 600},
274 {-1, 0x00FE, 600},
275 {-1, 0x00B2, 600},
276 {-1, 0x00D6, 600},
277 {-1, 0x00B5, 600},
278 {-1, 0x00EC, 600},
279 {-1, 0x0151, 600},
280 {-1, 0x0118, 600},
281 {-1, 0x0111, 600},
282 {-1, 0x00BE, 600},
283 {-1, 0x015E, 600},
284 {-1, 0x013E, 600},
285 {-1, 0x0136, 600},
286 {-1, 0x0139, 600},
287 {-1, 0x2122, 600},
288 {-1, 0x0117, 600},
289 {-1, 0x00CC, 600},
290 {-1, 0x012A, 600},
291 {-1, 0x013D, 600},
292 {-1, 0x00BD, 600},
293 {-1, 0x2264, 600},
294 {-1, 0x00F4, 600},
295 {-1, 0x00F1, 600},
296 {-1, 0x0170, 600},
297 {-1, 0x00C9, 600},
298 {-1, 0x0113, 600},
299 {-1, 0x011F, 600},
300 {-1, 0x00BC, 600},
301 {-1, 0x0160, 600},
302 {-1, 0x0218, 600},
303 {-1, 0x0150, 600},
304 {-1, 0x00B0, 600},
305 {-1, 0x00F2, 600},
306 {-1, 0x010C, 600},
307 {-1, 0x00F9, 600},
308 {-1, 0x221A, 600},
309 {-1, 0x010E, 600},
310 {-1, 0x0157, 600},
311 {-1, 0x00D1, 600},
312 {-1, 0x00F5, 600},
313 {-1, 0x0156, 600},
314 {-1, 0x013B, 600},
315 {-1, 0x00C3, 600},
316 {-1, 0x0104, 600},
317 {-1, 0x00C5, 600},
318 {-1, 0x00D5, 600},
319 {-1, 0x017C, 600},
320 {-1, 0x011A, 600},
321 {-1, 0x012E, 600},
322 {-1, 0x0137, 600},
323 {-1, 0x2212, 600},
324 {-1, 0x00CE, 600},
325 {-1, 0x0148, 600},
326 {-1, 0x0163, 600},
327 {-1, 0x00AC, 600},
328 {-1, 0x00F6, 600},
329 {-1, 0x00FC, 600},
330 {-1, 0x2260, 600},
331 {-1, 0x0123, 600},
332 {-1, 0x00F0, 600},
333 {-1, 0x017E, 600},
334 {-1, 0x0146, 600},
335 {-1, 0x00B9, 600},
336 {-1, 0x012B, 600},
337 {-1, 0x20AC, 600},
338 {-1, 0xFFFF, 0}
339 };
340
341static const HPDF_CharData CHAR_DATA_COURIER_BOLD[316] = {
342 {32, 0x0020, 600},
343 {33, 0x0021, 600},
344 {34, 0x0022, 600},
345 {35, 0x0023, 600},
346 {36, 0x0024, 600},
347 {37, 0x0025, 600},
348 {38, 0x0026, 600},
349 {39, 0x2019, 600},
350 {40, 0x0028, 600},
351 {41, 0x0029, 600},
352 {42, 0x002A, 600},
353 {43, 0x002B, 600},
354 {44, 0x002C, 600},
355 {45, 0x002D, 600},
356 {46, 0x002E, 600},
357 {47, 0x002F, 600},
358 {48, 0x0030, 600},
359 {49, 0x0031, 600},
360 {50, 0x0032, 600},
361 {51, 0x0033, 600},
362 {52, 0x0034, 600},
363 {53, 0x0035, 600},
364 {54, 0x0036, 600},
365 {55, 0x0037, 600},
366 {56, 0x0038, 600},
367 {57, 0x0039, 600},
368 {58, 0x003A, 600},
369 {59, 0x003B, 600},
370 {60, 0x003C, 600},
371 {61, 0x003D, 600},
372 {62, 0x003E, 600},
373 {63, 0x003F, 600},
374 {64, 0x0040, 600},
375 {65, 0x0041, 600},
376 {66, 0x0042, 600},
377 {67, 0x0043, 600},
378 {68, 0x0044, 600},
379 {69, 0x0045, 600},
380 {70, 0x0046, 600},
381 {71, 0x0047, 600},
382 {72, 0x0048, 600},
383 {73, 0x0049, 600},
384 {74, 0x004A, 600},
385 {75, 0x004B, 600},
386 {76, 0x004C, 600},
387 {77, 0x004D, 600},
388 {78, 0x004E, 600},
389 {79, 0x004F, 600},
390 {80, 0x0050, 600},
391 {81, 0x0051, 600},
392 {82, 0x0052, 600},
393 {83, 0x0053, 600},
394 {84, 0x0054, 600},
395 {85, 0x0055, 600},
396 {86, 0x0056, 600},
397 {87, 0x0057, 600},
398 {88, 0x0058, 600},
399 {89, 0x0059, 600},
400 {90, 0x005A, 600},
401 {91, 0x005B, 600},
402 {92, 0x005C, 600},
403 {93, 0x005D, 600},
404 {94, 0x005E, 600},
405 {95, 0x005F, 600},
406 {96, 0x2018, 600},
407 {97, 0x0061, 600},
408 {98, 0x0062, 600},
409 {99, 0x0063, 600},
410 {100, 0x0064, 600},
411 {101, 0x0065, 600},
412 {102, 0x0066, 600},
413 {103, 0x0067, 600},
414 {104, 0x0068, 600},
415 {105, 0x0069, 600},
416 {106, 0x006A, 600},
417 {107, 0x006B, 600},
418 {108, 0x006C, 600},
419 {109, 0x006D, 600},
420 {110, 0x006E, 600},
421 {111, 0x006F, 600},
422 {112, 0x0070, 600},
423 {113, 0x0071, 600},
424 {114, 0x0072, 600},
425 {115, 0x0073, 600},
426 {116, 0x0074, 600},
427 {117, 0x0075, 600},
428 {118, 0x0076, 600},
429 {119, 0x0077, 600},
430 {120, 0x0078, 600},
431 {121, 0x0079, 600},
432 {122, 0x007A, 600},
433 {123, 0x007B, 600},
434 {124, 0x007C, 600},
435 {125, 0x007D, 600},
436 {126, 0x007E, 600},
437 {161, 0x00A1, 600},
438 {162, 0x00A2, 600},
439 {163, 0x00A3, 600},
440 {164, 0x2044, 600},
441 {165, 0x00A5, 600},
442 {166, 0x0192, 600},
443 {167, 0x00A7, 600},
444 {168, 0x00A4, 600},
445 {169, 0x0027, 600},
446 {170, 0x201C, 600},
447 {171, 0x00AB, 600},
448 {172, 0x2039, 600},
449 {173, 0x203A, 600},
450 {174, 0xFB01, 600},
451 {175, 0xFB02, 600},
452 {177, 0x2013, 600},
453 {178, 0x2020, 600},
454 {179, 0x2021, 600},
455 {180, 0x00B7, 600},
456 {182, 0x00B6, 600},
457 {183, 0x2022, 600},
458 {184, 0x201A, 600},
459 {185, 0x201E, 600},
460 {186, 0x201D, 600},
461 {187, 0x00BB, 600},
462 {188, 0x2026, 600},
463 {189, 0x2030, 600},
464 {191, 0x00BF, 600},
465 {193, 0x0060, 600},
466 {194, 0x00B4, 600},
467 {195, 0x02C6, 600},
468 {196, 0x02DC, 600},
469 {197, 0x00AF, 600},
470 {198, 0x02D8, 600},
471 {199, 0x02D9, 600},
472 {200, 0x00A8, 600},
473 {202, 0x02DA, 600},
474 {203, 0x00B8, 600},
475 {205, 0x02DD, 600},
476 {206, 0x02DB, 600},
477 {207, 0x02C7, 600},
478 {208, 0x2014, 600},
479 {225, 0x00C6, 600},
480 {227, 0x00AA, 600},
481 {232, 0x0141, 600},
482 {233, 0x00D8, 600},
483 {234, 0x0152, 600},
484 {235, 0x00BA, 600},
485 {241, 0x00E6, 600},
486 {245, 0x0131, 600},
487 {248, 0x0142, 600},
488 {249, 0x00F8, 600},
489 {250, 0x0153, 600},
490 {251, 0x00DF, 600},
491 {-1, 0x00CF, 600},
492 {-1, 0x00E9, 600},
493 {-1, 0x0103, 600},
494 {-1, 0x0171, 600},
495 {-1, 0x011B, 600},
496 {-1, 0x0178, 600},
497 {-1, 0x00F7, 600},
498 {-1, 0x00DD, 600},
499 {-1, 0x00C2, 600},
500 {-1, 0x00E1, 600},
501 {-1, 0x00DB, 600},
502 {-1, 0x00FD, 600},
503 {-1, 0x0219, 600},
504 {-1, 0x00EA, 600},
505 {-1, 0x016E, 600},
506 {-1, 0x00DC, 600},
507 {-1, 0x0105, 600},
508 {-1, 0x00DA, 600},
509 {-1, 0x0173, 600},
510 {-1, 0x00CB, 600},
511 {-1, 0x0110, 600},
512 {-1, 0xF6C3, 600},
513 {-1, 0x00A9, 600},
514 {-1, 0x0112, 600},
515 {-1, 0x010D, 600},
516 {-1, 0x00E5, 600},
517 {-1, 0x0145, 600},
518 {-1, 0x013A, 600},
519 {-1, 0x00E0, 600},
520 {-1, 0x0162, 600},
521 {-1, 0x0106, 600},
522 {-1, 0x00E3, 600},
523 {-1, 0x0116, 600},
524 {-1, 0x0161, 600},
525 {-1, 0x015F, 600},
526 {-1, 0x00ED, 600},
527 {-1, 0x25CA, 600},
528 {-1, 0x0158, 600},
529 {-1, 0x0122, 600},
530 {-1, 0x00FB, 600},
531 {-1, 0x00E2, 600},
532 {-1, 0x0100, 600},
533 {-1, 0x0159, 600},
534 {-1, 0x00E7, 600},
535 {-1, 0x017B, 600},
536 {-1, 0x00DE, 600},
537 {-1, 0x014C, 600},
538 {-1, 0x0154, 600},
539 {-1, 0x015A, 600},
540 {-1, 0x010F, 600},
541 {-1, 0x016A, 600},
542 {-1, 0x016F, 600},
543 {-1, 0x00B3, 600},
544 {-1, 0x00D2, 600},
545 {-1, 0x00C0, 600},
546 {-1, 0x0102, 600},
547 {-1, 0x00D7, 600},
548 {-1, 0x00FA, 600},
549 {-1, 0x0164, 600},
550 {-1, 0x2202, 600},
551 {-1, 0x00FF, 600},
552 {-1, 0x0143, 600},
553 {-1, 0x00EE, 600},
554 {-1, 0x00CA, 600},
555 {-1, 0x00E4, 600},
556 {-1, 0x00EB, 600},
557 {-1, 0x0107, 600},
558 {-1, 0x0144, 600},
559 {-1, 0x016B, 600},
560 {-1, 0x0147, 600},
561 {-1, 0x00CD, 600},
562 {-1, 0x00B1, 600},
563 {-1, 0x00A6, 600},
564 {-1, 0x00AE, 600},
565 {-1, 0x011E, 600},
566 {-1, 0x0130, 600},
567 {-1, 0x2211, 600},
568 {-1, 0x00C8, 600},
569 {-1, 0x0155, 600},
570 {-1, 0x014D, 600},
571 {-1, 0x0179, 600},
572 {-1, 0x017D, 600},
573 {-1, 0x2265, 600},
574 {-1, 0x00D0, 600},
575 {-1, 0x00C7, 600},
576 {-1, 0x013C, 600},
577 {-1, 0x0165, 600},
578 {-1, 0x0119, 600},
579 {-1, 0x0172, 600},
580 {-1, 0x00C1, 600},
581 {-1, 0x00C4, 600},
582 {-1, 0x00E8, 600},
583 {-1, 0x017A, 600},
584 {-1, 0x012F, 600},
585 {-1, 0x00D3, 600},
586 {-1, 0x00F3, 600},
587 {-1, 0x0101, 600},
588 {-1, 0x015B, 600},
589 {-1, 0x00EF, 600},
590 {-1, 0x00D4, 600},
591 {-1, 0x00D9, 600},
592 {-1, 0x0394, 600},
593 {-1, 0x00FE, 600},
594 {-1, 0x00B2, 600},
595 {-1, 0x00D6, 600},
596 {-1, 0x00B5, 600},
597 {-1, 0x00EC, 600},
598 {-1, 0x0151, 600},
599 {-1, 0x0118, 600},
600 {-1, 0x0111, 600},
601 {-1, 0x00BE, 600},
602 {-1, 0x015E, 600},
603 {-1, 0x013E, 600},
604 {-1, 0x0136, 600},
605 {-1, 0x0139, 600},
606 {-1, 0x2122, 600},
607 {-1, 0x0117, 600},
608 {-1, 0x00CC, 600},
609 {-1, 0x012A, 600},
610 {-1, 0x013D, 600},
611 {-1, 0x00BD, 600},
612 {-1, 0x2264, 600},
613 {-1, 0x00F4, 600},
614 {-1, 0x00F1, 600},
615 {-1, 0x0170, 600},
616 {-1, 0x00C9, 600},
617 {-1, 0x0113, 600},
618 {-1, 0x011F, 600},
619 {-1, 0x00BC, 600},
620 {-1, 0x0160, 600},
621 {-1, 0x0218, 600},
622 {-1, 0x0150, 600},
623 {-1, 0x00B0, 600},
624 {-1, 0x00F2, 600},
625 {-1, 0x010C, 600},
626 {-1, 0x00F9, 600},
627 {-1, 0x221A, 600},
628 {-1, 0x010E, 600},
629 {-1, 0x0157, 600},
630 {-1, 0x00D1, 600},
631 {-1, 0x00F5, 600},
632 {-1, 0x0156, 600},
633 {-1, 0x013B, 600},
634 {-1, 0x00C3, 600},
635 {-1, 0x0104, 600},
636 {-1, 0x00C5, 600},
637 {-1, 0x00D5, 600},
638 {-1, 0x017C, 600},
639 {-1, 0x011A, 600},
640 {-1, 0x012E, 600},
641 {-1, 0x0137, 600},
642 {-1, 0x2212, 600},
643 {-1, 0x00CE, 600},
644 {-1, 0x0148, 600},
645 {-1, 0x0163, 600},
646 {-1, 0x00AC, 600},
647 {-1, 0x00F6, 600},
648 {-1, 0x00FC, 600},
649 {-1, 0x2260, 600},
650 {-1, 0x0123, 600},
651 {-1, 0x00F0, 600},
652 {-1, 0x017E, 600},
653 {-1, 0x0146, 600},
654 {-1, 0x00B9, 600},
655 {-1, 0x012B, 600},
656 {-1, 0x20AC, 600},
657 {-1, 0xFFFF, 0}
658 };
659
660static const HPDF_CharData CHAR_DATA_COURIER_BOLD_OBLIQUE[316] = {
661 {32, 0x0020, 600},
662 {33, 0x0021, 600},
663 {34, 0x0022, 600},
664 {35, 0x0023, 600},
665 {36, 0x0024, 600},
666 {37, 0x0025, 600},
667 {38, 0x0026, 600},
668 {39, 0x2019, 600},
669 {40, 0x0028, 600},
670 {41, 0x0029, 600},
671 {42, 0x002A, 600},
672 {43, 0x002B, 600},
673 {44, 0x002C, 600},
674 {45, 0x002D, 600},
675 {46, 0x002E, 600},
676 {47, 0x002F, 600},
677 {48, 0x0030, 600},
678 {49, 0x0031, 600},
679 {50, 0x0032, 600},
680 {51, 0x0033, 600},
681 {52, 0x0034, 600},
682 {53, 0x0035, 600},
683 {54, 0x0036, 600},
684 {55, 0x0037, 600},
685 {56, 0x0038, 600},
686 {57, 0x0039, 600},
687 {58, 0x003A, 600},
688 {59, 0x003B, 600},
689 {60, 0x003C, 600},
690 {61, 0x003D, 600},
691 {62, 0x003E, 600},
692 {63, 0x003F, 600},
693 {64, 0x0040, 600},
694 {65, 0x0041, 600},
695 {66, 0x0042, 600},
696 {67, 0x0043, 600},
697 {68, 0x0044, 600},
698 {69, 0x0045, 600},
699 {70, 0x0046, 600},
700 {71, 0x0047, 600},
701 {72, 0x0048, 600},
702 {73, 0x0049, 600},
703 {74, 0x004A, 600},
704 {75, 0x004B, 600},
705 {76, 0x004C, 600},
706 {77, 0x004D, 600},
707 {78, 0x004E, 600},
708 {79, 0x004F, 600},
709 {80, 0x0050, 600},
710 {81, 0x0051, 600},
711 {82, 0x0052, 600},
712 {83, 0x0053, 600},
713 {84, 0x0054, 600},
714 {85, 0x0055, 600},
715 {86, 0x0056, 600},
716 {87, 0x0057, 600},
717 {88, 0x0058, 600},
718 {89, 0x0059, 600},
719 {90, 0x005A, 600},
720 {91, 0x005B, 600},
721 {92, 0x005C, 600},
722 {93, 0x005D, 600},
723 {94, 0x005E, 600},
724 {95, 0x005F, 600},
725 {96, 0x2018, 600},
726 {97, 0x0061, 600},
727 {98, 0x0062, 600},
728 {99, 0x0063, 600},
729 {100, 0x0064, 600},
730 {101, 0x0065, 600},
731 {102, 0x0066, 600},
732 {103, 0x0067, 600},
733 {104, 0x0068, 600},
734 {105, 0x0069, 600},
735 {106, 0x006A, 600},
736 {107, 0x006B, 600},
737 {108, 0x006C, 600},
738 {109, 0x006D, 600},
739 {110, 0x006E, 600},
740 {111, 0x006F, 600},
741 {112, 0x0070, 600},
742 {113, 0x0071, 600},
743 {114, 0x0072, 600},
744 {115, 0x0073, 600},
745 {116, 0x0074, 600},
746 {117, 0x0075, 600},
747 {118, 0x0076, 600},
748 {119, 0x0077, 600},
749 {120, 0x0078, 600},
750 {121, 0x0079, 600},
751 {122, 0x007A, 600},
752 {123, 0x007B, 600},
753 {124, 0x007C, 600},
754 {125, 0x007D, 600},
755 {126, 0x007E, 600},
756 {161, 0x00A1, 600},
757 {162, 0x00A2, 600},
758 {163, 0x00A3, 600},
759 {164, 0x2044, 600},
760 {165, 0x00A5, 600},
761 {166, 0x0192, 600},
762 {167, 0x00A7, 600},
763 {168, 0x00A4, 600},
764 {169, 0x0027, 600},
765 {170, 0x201C, 600},
766 {171, 0x00AB, 600},
767 {172, 0x2039, 600},
768 {173, 0x203A, 600},
769 {174, 0xFB01, 600},
770 {175, 0xFB02, 600},
771 {177, 0x2013, 600},
772 {178, 0x2020, 600},
773 {179, 0x2021, 600},
774 {180, 0x00B7, 600},
775 {182, 0x00B6, 600},
776 {183, 0x2022, 600},
777 {184, 0x201A, 600},
778 {185, 0x201E, 600},
779 {186, 0x201D, 600},
780 {187, 0x00BB, 600},
781 {188, 0x2026, 600},
782 {189, 0x2030, 600},
783 {191, 0x00BF, 600},
784 {193, 0x0060, 600},
785 {194, 0x00B4, 600},
786 {195, 0x02C6, 600},
787 {196, 0x02DC, 600},
788 {197, 0x00AF, 600},
789 {198, 0x02D8, 600},
790 {199, 0x02D9, 600},
791 {200, 0x00A8, 600},
792 {202, 0x02DA, 600},
793 {203, 0x00B8, 600},
794 {205, 0x02DD, 600},
795 {206, 0x02DB, 600},
796 {207, 0x02C7, 600},
797 {208, 0x2014, 600},
798 {225, 0x00C6, 600},
799 {227, 0x00AA, 600},
800 {232, 0x0141, 600},
801 {233, 0x00D8, 600},
802 {234, 0x0152, 600},
803 {235, 0x00BA, 600},
804 {241, 0x00E6, 600},
805 {245, 0x0131, 600},
806 {248, 0x0142, 600},
807 {249, 0x00F8, 600},
808 {250, 0x0153, 600},
809 {251, 0x00DF, 600},
810 {-1, 0x00CF, 600},
811 {-1, 0x00E9, 600},
812 {-1, 0x0103, 600},
813 {-1, 0x0171, 600},
814 {-1, 0x011B, 600},
815 {-1, 0x0178, 600},
816 {-1, 0x00F7, 600},
817 {-1, 0x00DD, 600},
818 {-1, 0x00C2, 600},
819 {-1, 0x00E1, 600},
820 {-1, 0x00DB, 600},
821 {-1, 0x00FD, 600},
822 {-1, 0x0219, 600},
823 {-1, 0x00EA, 600},
824 {-1, 0x016E, 600},
825 {-1, 0x00DC, 600},
826 {-1, 0x0105, 600},
827 {-1, 0x00DA, 600},
828 {-1, 0x0173, 600},
829 {-1, 0x00CB, 600},
830 {-1, 0x0110, 600},
831 {-1, 0xF6C3, 600},
832 {-1, 0x00A9, 600},
833 {-1, 0x0112, 600},
834 {-1, 0x010D, 600},
835 {-1, 0x00E5, 600},
836 {-1, 0x0145, 600},
837 {-1, 0x013A, 600},
838 {-1, 0x00E0, 600},
839 {-1, 0x0162, 600},
840 {-1, 0x0106, 600},
841 {-1, 0x00E3, 600},
842 {-1, 0x0116, 600},
843 {-1, 0x0161, 600},
844 {-1, 0x015F, 600},
845 {-1, 0x00ED, 600},
846 {-1, 0x25CA, 600},
847 {-1, 0x0158, 600},
848 {-1, 0x0122, 600},
849 {-1, 0x00FB, 600},
850 {-1, 0x00E2, 600},
851 {-1, 0x0100, 600},
852 {-1, 0x0159, 600},
853 {-1, 0x00E7, 600},
854 {-1, 0x017B, 600},
855 {-1, 0x00DE, 600},
856 {-1, 0x014C, 600},
857 {-1, 0x0154, 600},
858 {-1, 0x015A, 600},
859 {-1, 0x010F, 600},
860 {-1, 0x016A, 600},
861 {-1, 0x016F, 600},
862 {-1, 0x00B3, 600},
863 {-1, 0x00D2, 600},
864 {-1, 0x00C0, 600},
865 {-1, 0x0102, 600},
866 {-1, 0x00D7, 600},
867 {-1, 0x00FA, 600},
868 {-1, 0x0164, 600},
869 {-1, 0x2202, 600},
870 {-1, 0x00FF, 600},
871 {-1, 0x0143, 600},
872 {-1, 0x00EE, 600},
873 {-1, 0x00CA, 600},
874 {-1, 0x00E4, 600},
875 {-1, 0x00EB, 600},
876 {-1, 0x0107, 600},
877 {-1, 0x0144, 600},
878 {-1, 0x016B, 600},
879 {-1, 0x0147, 600},
880 {-1, 0x00CD, 600},
881 {-1, 0x00B1, 600},
882 {-1, 0x00A6, 600},
883 {-1, 0x00AE, 600},
884 {-1, 0x011E, 600},
885 {-1, 0x0130, 600},
886 {-1, 0x2211, 600},
887 {-1, 0x00C8, 600},
888 {-1, 0x0155, 600},
889 {-1, 0x014D, 600},
890 {-1, 0x0179, 600},
891 {-1, 0x017D, 600},
892 {-1, 0x2265, 600},
893 {-1, 0x00D0, 600},
894 {-1, 0x00C7, 600},
895 {-1, 0x013C, 600},
896 {-1, 0x0165, 600},
897 {-1, 0x0119, 600},
898 {-1, 0x0172, 600},
899 {-1, 0x00C1, 600},
900 {-1, 0x00C4, 600},
901 {-1, 0x00E8, 600},
902 {-1, 0x017A, 600},
903 {-1, 0x012F, 600},
904 {-1, 0x00D3, 600},
905 {-1, 0x00F3, 600},
906 {-1, 0x0101, 600},
907 {-1, 0x015B, 600},
908 {-1, 0x00EF, 600},
909 {-1, 0x00D4, 600},
910 {-1, 0x00D9, 600},
911 {-1, 0x0394, 600},
912 {-1, 0x00FE, 600},
913 {-1, 0x00B2, 600},
914 {-1, 0x00D6, 600},
915 {-1, 0x00B5, 600},
916 {-1, 0x00EC, 600},
917 {-1, 0x0151, 600},
918 {-1, 0x0118, 600},
919 {-1, 0x0111, 600},
920 {-1, 0x00BE, 600},
921 {-1, 0x015E, 600},
922 {-1, 0x013E, 600},
923 {-1, 0x0136, 600},
924 {-1, 0x0139, 600},
925 {-1, 0x2122, 600},
926 {-1, 0x0117, 600},
927 {-1, 0x00CC, 600},
928 {-1, 0x012A, 600},
929 {-1, 0x013D, 600},
930 {-1, 0x00BD, 600},
931 {-1, 0x2264, 600},
932 {-1, 0x00F4, 600},
933 {-1, 0x00F1, 600},
934 {-1, 0x0170, 600},
935 {-1, 0x00C9, 600},
936 {-1, 0x0113, 600},
937 {-1, 0x011F, 600},
938 {-1, 0x00BC, 600},
939 {-1, 0x0160, 600},
940 {-1, 0x0218, 600},
941 {-1, 0x0150, 600},
942 {-1, 0x00B0, 600},
943 {-1, 0x00F2, 600},
944 {-1, 0x010C, 600},
945 {-1, 0x00F9, 600},
946 {-1, 0x221A, 600},
947 {-1, 0x010E, 600},
948 {-1, 0x0157, 600},
949 {-1, 0x00D1, 600},
950 {-1, 0x00F5, 600},
951 {-1, 0x0156, 600},
952 {-1, 0x013B, 600},
953 {-1, 0x00C3, 600},
954 {-1, 0x0104, 600},
955 {-1, 0x00C5, 600},
956 {-1, 0x00D5, 600},
957 {-1, 0x017C, 600},
958 {-1, 0x011A, 600},
959 {-1, 0x012E, 600},
960 {-1, 0x0137, 600},
961 {-1, 0x2212, 600},
962 {-1, 0x00CE, 600},
963 {-1, 0x0148, 600},
964 {-1, 0x0163, 600},
965 {-1, 0x00AC, 600},
966 {-1, 0x00F6, 600},
967 {-1, 0x00FC, 600},
968 {-1, 0x2260, 600},
969 {-1, 0x0123, 600},
970 {-1, 0x00F0, 600},
971 {-1, 0x017E, 600},
972 {-1, 0x0146, 600},
973 {-1, 0x00B9, 600},
974 {-1, 0x012B, 600},
975 {-1, 0x20AC, 600},
976 {-1, 0xFFFF, 0}
977 };
978
979static const HPDF_CharData CHAR_DATA_COURIER_OBLIQUE[316] = {
980 {32, 0x0020, 600},
981 {33, 0x0021, 600},
982 {34, 0x0022, 600},
983 {35, 0x0023, 600},
984 {36, 0x0024, 600},
985 {37, 0x0025, 600},
986 {38, 0x0026, 600},
987 {39, 0x2019, 600},
988 {40, 0x0028, 600},
989 {41, 0x0029, 600},
990 {42, 0x002A, 600},
991 {43, 0x002B, 600},
992 {44, 0x002C, 600},
993 {45, 0x002D, 600},
994 {46, 0x002E, 600},
995 {47, 0x002F, 600},
996 {48, 0x0030, 600},
997 {49, 0x0031, 600},
998 {50, 0x0032, 600},
999 {51, 0x0033, 600},
1000 {52, 0x0034, 600},
1001 {53, 0x0035, 600},
1002 {54, 0x0036, 600},
1003 {55, 0x0037, 600},
1004 {56, 0x0038, 600},
1005 {57, 0x0039, 600},
1006 {58, 0x003A, 600},
1007 {59, 0x003B, 600},
1008 {60, 0x003C, 600},
1009 {61, 0x003D, 600},
1010 {62, 0x003E, 600},
1011 {63, 0x003F, 600},
1012 {64, 0x0040, 600},
1013 {65, 0x0041, 600},
1014 {66, 0x0042, 600},
1015 {67, 0x0043, 600},
1016 {68, 0x0044, 600},
1017 {69, 0x0045, 600},
1018 {70, 0x0046, 600},
1019 {71, 0x0047, 600},
1020 {72, 0x0048, 600},
1021 {73, 0x0049, 600},
1022 {74, 0x004A, 600},
1023 {75, 0x004B, 600},
1024 {76, 0x004C, 600},
1025 {77, 0x004D, 600},
1026 {78, 0x004E, 600},
1027 {79, 0x004F, 600},
1028 {80, 0x0050, 600},
1029 {81, 0x0051, 600},
1030 {82, 0x0052, 600},
1031 {83, 0x0053, 600},
1032 {84, 0x0054, 600},
1033 {85, 0x0055, 600},
1034 {86, 0x0056, 600},
1035 {87, 0x0057, 600},
1036 {88, 0x0058, 600},
1037 {89, 0x0059, 600},
1038 {90, 0x005A, 600},
1039 {91, 0x005B, 600},
1040 {92, 0x005C, 600},
1041 {93, 0x005D, 600},
1042 {94, 0x005E, 600},
1043 {95, 0x005F, 600},
1044 {96, 0x2018, 600},
1045 {97, 0x0061, 600},
1046 {98, 0x0062, 600},
1047 {99, 0x0063, 600},
1048 {100, 0x0064, 600},
1049 {101, 0x0065, 600},
1050 {102, 0x0066, 600},
1051 {103, 0x0067, 600},
1052 {104, 0x0068, 600},
1053 {105, 0x0069, 600},
1054 {106, 0x006A, 600},
1055 {107, 0x006B, 600},
1056 {108, 0x006C, 600},
1057 {109, 0x006D, 600},
1058 {110, 0x006E, 600},
1059 {111, 0x006F, 600},
1060 {112, 0x0070, 600},
1061 {113, 0x0071, 600},
1062 {114, 0x0072, 600},
1063 {115, 0x0073, 600},
1064 {116, 0x0074, 600},
1065 {117, 0x0075, 600},
1066 {118, 0x0076, 600},
1067 {119, 0x0077, 600},
1068 {120, 0x0078, 600},
1069 {121, 0x0079, 600},
1070 {122, 0x007A, 600},
1071 {123, 0x007B, 600},
1072 {124, 0x007C, 600},
1073 {125, 0x007D, 600},
1074 {126, 0x007E, 600},
1075 {161, 0x00A1, 600},
1076 {162, 0x00A2, 600},
1077 {163, 0x00A3, 600},
1078 {164, 0x2044, 600},
1079 {165, 0x00A5, 600},
1080 {166, 0x0192, 600},
1081 {167, 0x00A7, 600},
1082 {168, 0x00A4, 600},
1083 {169, 0x0027, 600},
1084 {170, 0x201C, 600},
1085 {171, 0x00AB, 600},
1086 {172, 0x2039, 600},
1087 {173, 0x203A, 600},
1088 {174, 0xFB01, 600},
1089 {175, 0xFB02, 600},
1090 {177, 0x2013, 600},
1091 {178, 0x2020, 600},
1092 {179, 0x2021, 600},
1093 {180, 0x00B7, 600},
1094 {182, 0x00B6, 600},
1095 {183, 0x2022, 600},
1096 {184, 0x201A, 600},
1097 {185, 0x201E, 600},
1098 {186, 0x201D, 600},
1099 {187, 0x00BB, 600},
1100 {188, 0x2026, 600},
1101 {189, 0x2030, 600},
1102 {191, 0x00BF, 600},
1103 {193, 0x0060, 600},
1104 {194, 0x00B4, 600},
1105 {195, 0x02C6, 600},
1106 {196, 0x02DC, 600},
1107 {197, 0x00AF, 600},
1108 {198, 0x02D8, 600},
1109 {199, 0x02D9, 600},
1110 {200, 0x00A8, 600},
1111 {202, 0x02DA, 600},
1112 {203, 0x00B8, 600},
1113 {205, 0x02DD, 600},
1114 {206, 0x02DB, 600},
1115 {207, 0x02C7, 600},
1116 {208, 0x2014, 600},
1117 {225, 0x00C6, 600},
1118 {227, 0x00AA, 600},
1119 {232, 0x0141, 600},
1120 {233, 0x00D8, 600},
1121 {234, 0x0152, 600},
1122 {235, 0x00BA, 600},
1123 {241, 0x00E6, 600},
1124 {245, 0x0131, 600},
1125 {248, 0x0142, 600},
1126 {249, 0x00F8, 600},
1127 {250, 0x0153, 600},
1128 {251, 0x00DF, 600},
1129 {-1, 0x00CF, 600},
1130 {-1, 0x00E9, 600},
1131 {-1, 0x0103, 600},
1132 {-1, 0x0171, 600},
1133 {-1, 0x011B, 600},
1134 {-1, 0x0178, 600},
1135 {-1, 0x00F7, 600},
1136 {-1, 0x00DD, 600},
1137 {-1, 0x00C2, 600},
1138 {-1, 0x00E1, 600},
1139 {-1, 0x00DB, 600},
1140 {-1, 0x00FD, 600},
1141 {-1, 0x0219, 600},
1142 {-1, 0x00EA, 600},
1143 {-1, 0x016E, 600},
1144 {-1, 0x00DC, 600},
1145 {-1, 0x0105, 600},
1146 {-1, 0x00DA, 600},
1147 {-1, 0x0173, 600},
1148 {-1, 0x00CB, 600},
1149 {-1, 0x0110, 600},
1150 {-1, 0xF6C3, 600},
1151 {-1, 0x00A9, 600},
1152 {-1, 0x0112, 600},
1153 {-1, 0x010D, 600},
1154 {-1, 0x00E5, 600},
1155 {-1, 0x0145, 600},
1156 {-1, 0x013A, 600},
1157 {-1, 0x00E0, 600},
1158 {-1, 0x0162, 600},
1159 {-1, 0x0106, 600},
1160 {-1, 0x00E3, 600},
1161 {-1, 0x0116, 600},
1162 {-1, 0x0161, 600},
1163 {-1, 0x015F, 600},
1164 {-1, 0x00ED, 600},
1165 {-1, 0x25CA, 600},
1166 {-1, 0x0158, 600},
1167 {-1, 0x0122, 600},
1168 {-1, 0x00FB, 600},
1169 {-1, 0x00E2, 600},
1170 {-1, 0x0100, 600},
1171 {-1, 0x0159, 600},
1172 {-1, 0x00E7, 600},
1173 {-1, 0x017B, 600},
1174 {-1, 0x00DE, 600},
1175 {-1, 0x014C, 600},
1176 {-1, 0x0154, 600},
1177 {-1, 0x015A, 600},
1178 {-1, 0x010F, 600},
1179 {-1, 0x016A, 600},
1180 {-1, 0x016F, 600},
1181 {-1, 0x00B3, 600},
1182 {-1, 0x00D2, 600},
1183 {-1, 0x00C0, 600},
1184 {-1, 0x0102, 600},
1185 {-1, 0x00D7, 600},
1186 {-1, 0x00FA, 600},
1187 {-1, 0x0164, 600},
1188 {-1, 0x2202, 600},
1189 {-1, 0x00FF, 600},
1190 {-1, 0x0143, 600},
1191 {-1, 0x00EE, 600},
1192 {-1, 0x00CA, 600},
1193 {-1, 0x00E4, 600},
1194 {-1, 0x00EB, 600},
1195 {-1, 0x0107, 600},
1196 {-1, 0x0144, 600},
1197 {-1, 0x016B, 600},
1198 {-1, 0x0147, 600},
1199 {-1, 0x00CD, 600},
1200 {-1, 0x00B1, 600},
1201 {-1, 0x00A6, 600},
1202 {-1, 0x00AE, 600},
1203 {-1, 0x011E, 600},
1204 {-1, 0x0130, 600},
1205 {-1, 0x2211, 600},
1206 {-1, 0x00C8, 600},
1207 {-1, 0x0155, 600},
1208 {-1, 0x014D, 600},
1209 {-1, 0x0179, 600},
1210 {-1, 0x017D, 600},
1211 {-1, 0x2265, 600},
1212 {-1, 0x00D0, 600},
1213 {-1, 0x00C7, 600},
1214 {-1, 0x013C, 600},
1215 {-1, 0x0165, 600},
1216 {-1, 0x0119, 600},
1217 {-1, 0x0172, 600},
1218 {-1, 0x00C1, 600},
1219 {-1, 0x00C4, 600},
1220 {-1, 0x00E8, 600},
1221 {-1, 0x017A, 600},
1222 {-1, 0x012F, 600},
1223 {-1, 0x00D3, 600},
1224 {-1, 0x00F3, 600},
1225 {-1, 0x0101, 600},
1226 {-1, 0x015B, 600},
1227 {-1, 0x00EF, 600},
1228 {-1, 0x00D4, 600},
1229 {-1, 0x00D9, 600},
1230 {-1, 0x0394, 600},
1231 {-1, 0x00FE, 600},
1232 {-1, 0x00B2, 600},
1233 {-1, 0x00D6, 600},
1234 {-1, 0x00B5, 600},
1235 {-1, 0x00EC, 600},
1236 {-1, 0x0151, 600},
1237 {-1, 0x0118, 600},
1238 {-1, 0x0111, 600},
1239 {-1, 0x00BE, 600},
1240 {-1, 0x015E, 600},
1241 {-1, 0x013E, 600},
1242 {-1, 0x0136, 600},
1243 {-1, 0x0139, 600},
1244 {-1, 0x2122, 600},
1245 {-1, 0x0117, 600},
1246 {-1, 0x00CC, 600},
1247 {-1, 0x012A, 600},
1248 {-1, 0x013D, 600},
1249 {-1, 0x00BD, 600},
1250 {-1, 0x2264, 600},
1251 {-1, 0x00F4, 600},
1252 {-1, 0x00F1, 600},
1253 {-1, 0x0170, 600},
1254 {-1, 0x00C9, 600},
1255 {-1, 0x0113, 600},
1256 {-1, 0x011F, 600},
1257 {-1, 0x00BC, 600},
1258 {-1, 0x0160, 600},
1259 {-1, 0x0218, 600},
1260 {-1, 0x0150, 600},
1261 {-1, 0x00B0, 600},
1262 {-1, 0x00F2, 600},
1263 {-1, 0x010C, 600},
1264 {-1, 0x00F9, 600},
1265 {-1, 0x221A, 600},
1266 {-1, 0x010E, 600},
1267 {-1, 0x0157, 600},
1268 {-1, 0x00D1, 600},
1269 {-1, 0x00F5, 600},
1270 {-1, 0x0156, 600},
1271 {-1, 0x013B, 600},
1272 {-1, 0x00C3, 600},
1273 {-1, 0x0104, 600},
1274 {-1, 0x00C5, 600},
1275 {-1, 0x00D5, 600},
1276 {-1, 0x017C, 600},
1277 {-1, 0x011A, 600},
1278 {-1, 0x012E, 600},
1279 {-1, 0x0137, 600},
1280 {-1, 0x2212, 600},
1281 {-1, 0x00CE, 600},
1282 {-1, 0x0148, 600},
1283 {-1, 0x0163, 600},
1284 {-1, 0x00AC, 600},
1285 {-1, 0x00F6, 600},
1286 {-1, 0x00FC, 600},
1287 {-1, 0x2260, 600},
1288 {-1, 0x0123, 600},
1289 {-1, 0x00F0, 600},
1290 {-1, 0x017E, 600},
1291 {-1, 0x0146, 600},
1292 {-1, 0x00B9, 600},
1293 {-1, 0x012B, 600},
1294 {-1, 0x20AC, 600},
1295 {-1, 0xFFFF, 0}
1296 };
1297
1298static const HPDF_CharData CHAR_DATA_HELVETICA[316] = {
1299 {32, 0x0020, 278},
1300 {33, 0x0021, 278},
1301 {34, 0x0022, 355},
1302 {35, 0x0023, 556},
1303 {36, 0x0024, 556},
1304 {37, 0x0025, 889},
1305 {38, 0x0026, 667},
1306 {39, 0x2019, 222},
1307 {40, 0x0028, 333},
1308 {41, 0x0029, 333},
1309 {42, 0x002A, 389},
1310 {43, 0x002B, 584},
1311 {44, 0x002C, 278},
1312 {45, 0x002D, 333},
1313 {46, 0x002E, 278},
1314 {47, 0x002F, 278},
1315 {48, 0x0030, 556},
1316 {49, 0x0031, 556},
1317 {50, 0x0032, 556},
1318 {51, 0x0033, 556},
1319 {52, 0x0034, 556},
1320 {53, 0x0035, 556},
1321 {54, 0x0036, 556},
1322 {55, 0x0037, 556},
1323 {56, 0x0038, 556},
1324 {57, 0x0039, 556},
1325 {58, 0x003A, 278},
1326 {59, 0x003B, 278},
1327 {60, 0x003C, 584},
1328 {61, 0x003D, 584},
1329 {62, 0x003E, 584},
1330 {63, 0x003F, 556},
1331 {64, 0x0040, 1015},
1332 {65, 0x0041, 667},
1333 {66, 0x0042, 667},
1334 {67, 0x0043, 722},
1335 {68, 0x0044, 722},
1336 {69, 0x0045, 667},
1337 {70, 0x0046, 611},
1338 {71, 0x0047, 778},
1339 {72, 0x0048, 722},
1340 {73, 0x0049, 278},
1341 {74, 0x004A, 500},
1342 {75, 0x004B, 667},
1343 {76, 0x004C, 556},
1344 {77, 0x004D, 833},
1345 {78, 0x004E, 722},
1346 {79, 0x004F, 778},
1347 {80, 0x0050, 667},
1348 {81, 0x0051, 778},
1349 {82, 0x0052, 722},
1350 {83, 0x0053, 667},
1351 {84, 0x0054, 611},
1352 {85, 0x0055, 722},
1353 {86, 0x0056, 667},
1354 {87, 0x0057, 944},
1355 {88, 0x0058, 667},
1356 {89, 0x0059, 667},
1357 {90, 0x005A, 611},
1358 {91, 0x005B, 278},
1359 {92, 0x005C, 278},
1360 {93, 0x005D, 278},
1361 {94, 0x005E, 469},
1362 {95, 0x005F, 556},
1363 {96, 0x2018, 222},
1364 {97, 0x0061, 556},
1365 {98, 0x0062, 556},
1366 {99, 0x0063, 500},
1367 {100, 0x0064, 556},
1368 {101, 0x0065, 556},
1369 {102, 0x0066, 278},
1370 {103, 0x0067, 556},
1371 {104, 0x0068, 556},
1372 {105, 0x0069, 222},
1373 {106, 0x006A, 222},
1374 {107, 0x006B, 500},
1375 {108, 0x006C, 222},
1376 {109, 0x006D, 833},
1377 {110, 0x006E, 556},
1378 {111, 0x006F, 556},
1379 {112, 0x0070, 556},
1380 {113, 0x0071, 556},
1381 {114, 0x0072, 333},
1382 {115, 0x0073, 500},
1383 {116, 0x0074, 278},
1384 {117, 0x0075, 556},
1385 {118, 0x0076, 500},
1386 {119, 0x0077, 722},
1387 {120, 0x0078, 500},
1388 {121, 0x0079, 500},
1389 {122, 0x007A, 500},
1390 {123, 0x007B, 334},
1391 {124, 0x007C, 260},
1392 {125, 0x007D, 334},
1393 {126, 0x007E, 584},
1394 {161, 0x00A1, 333},
1395 {162, 0x00A2, 556},
1396 {163, 0x00A3, 556},
1397 {164, 0x2044, 167},
1398 {165, 0x00A5, 556},
1399 {166, 0x0192, 556},
1400 {167, 0x00A7, 556},
1401 {168, 0x00A4, 556},
1402 {169, 0x0027, 191},
1403 {170, 0x201C, 333},
1404 {171, 0x00AB, 556},
1405 {172, 0x2039, 333},
1406 {173, 0x203A, 333},
1407 {174, 0xFB01, 500},
1408 {175, 0xFB02, 500},
1409 {177, 0x2013, 556},
1410 {178, 0x2020, 556},
1411 {179, 0x2021, 556},
1412 {180, 0x00B7, 278},
1413 {182, 0x00B6, 537},
1414 {183, 0x2022, 350},
1415 {184, 0x201A, 222},
1416 {185, 0x201E, 333},
1417 {186, 0x201D, 333},
1418 {187, 0x00BB, 556},
1419 {188, 0x2026, 1000},
1420 {189, 0x2030, 1000},
1421 {191, 0x00BF, 611},
1422 {193, 0x0060, 333},
1423 {194, 0x00B4, 333},
1424 {195, 0x02C6, 333},
1425 {196, 0x02DC, 333},
1426 {197, 0x00AF, 333},
1427 {198, 0x02D8, 333},
1428 {199, 0x02D9, 333},
1429 {200, 0x00A8, 333},
1430 {202, 0x02DA, 333},
1431 {203, 0x00B8, 333},
1432 {205, 0x02DD, 333},
1433 {206, 0x02DB, 333},
1434 {207, 0x02C7, 333},
1435 {208, 0x2014, 1000},
1436 {225, 0x00C6, 1000},
1437 {227, 0x00AA, 370},
1438 {232, 0x0141, 556},
1439 {233, 0x00D8, 778},
1440 {234, 0x0152, 1000},
1441 {235, 0x00BA, 365},
1442 {241, 0x00E6, 889},
1443 {245, 0x0131, 278},
1444 {248, 0x0142, 222},
1445 {249, 0x00F8, 611},
1446 {250, 0x0153, 944},
1447 {251, 0x00DF, 611},
1448 {-1, 0x00CF, 278},
1449 {-1, 0x00E9, 556},
1450 {-1, 0x0103, 556},
1451 {-1, 0x0171, 556},
1452 {-1, 0x011B, 556},
1453 {-1, 0x0178, 667},
1454 {-1, 0x00F7, 584},
1455 {-1, 0x00DD, 667},
1456 {-1, 0x00C2, 667},
1457 {-1, 0x00E1, 556},
1458 {-1, 0x00DB, 722},
1459 {-1, 0x00FD, 500},
1460 {-1, 0x0219, 500},
1461 {-1, 0x00EA, 556},
1462 {-1, 0x016E, 722},
1463 {-1, 0x00DC, 722},
1464 {-1, 0x0105, 556},
1465 {-1, 0x00DA, 722},
1466 {-1, 0x0173, 556},
1467 {-1, 0x00CB, 667},
1468 {-1, 0x0110, 722},
1469 {-1, 0xF6C3, 250},
1470 {-1, 0x00A9, 737},
1471 {-1, 0x0112, 667},
1472 {-1, 0x010D, 500},
1473 {-1, 0x00E5, 556},
1474 {-1, 0x0145, 722},
1475 {-1, 0x013A, 222},
1476 {-1, 0x00E0, 556},
1477 {-1, 0x0162, 611},
1478 {-1, 0x0106, 722},
1479 {-1, 0x00E3, 556},
1480 {-1, 0x0116, 667},
1481 {-1, 0x0161, 500},
1482 {-1, 0x015F, 500},
1483 {-1, 0x00ED, 278},
1484 {-1, 0x25CA, 471},
1485 {-1, 0x0158, 722},
1486 {-1, 0x0122, 778},
1487 {-1, 0x00FB, 556},
1488 {-1, 0x00E2, 556},
1489 {-1, 0x0100, 667},
1490 {-1, 0x0159, 333},
1491 {-1, 0x00E7, 500},
1492 {-1, 0x017B, 611},
1493 {-1, 0x00DE, 667},
1494 {-1, 0x014C, 778},
1495 {-1, 0x0154, 722},
1496 {-1, 0x015A, 667},
1497 {-1, 0x010F, 643},
1498 {-1, 0x016A, 722},
1499 {-1, 0x016F, 556},
1500 {-1, 0x00B3, 333},
1501 {-1, 0x00D2, 778},
1502 {-1, 0x00C0, 667},
1503 {-1, 0x0102, 667},
1504 {-1, 0x00D7, 584},
1505 {-1, 0x00FA, 556},
1506 {-1, 0x0164, 611},
1507 {-1, 0x2202, 476},
1508 {-1, 0x00FF, 500},
1509 {-1, 0x0143, 722},
1510 {-1, 0x00EE, 278},
1511 {-1, 0x00CA, 667},
1512 {-1, 0x00E4, 556},
1513 {-1, 0x00EB, 556},
1514 {-1, 0x0107, 500},
1515 {-1, 0x0144, 556},
1516 {-1, 0x016B, 556},
1517 {-1, 0x0147, 722},
1518 {-1, 0x00CD, 278},
1519 {-1, 0x00B1, 584},
1520 {-1, 0x00A6, 260},
1521 {-1, 0x00AE, 737},
1522 {-1, 0x011E, 778},
1523 {-1, 0x0130, 278},
1524 {-1, 0x2211, 600},
1525 {-1, 0x00C8, 667},
1526 {-1, 0x0155, 333},
1527 {-1, 0x014D, 556},
1528 {-1, 0x0179, 611},
1529 {-1, 0x017D, 611},
1530 {-1, 0x2265, 549},
1531 {-1, 0x00D0, 722},
1532 {-1, 0x00C7, 722},
1533 {-1, 0x013C, 222},
1534 {-1, 0x0165, 316},
1535 {-1, 0x0119, 556},
1536 {-1, 0x0172, 722},
1537 {-1, 0x00C1, 667},
1538 {-1, 0x00C4, 667},
1539 {-1, 0x00E8, 556},
1540 {-1, 0x017A, 500},
1541 {-1, 0x012F, 222},
1542 {-1, 0x00D3, 778},
1543 {-1, 0x00F3, 556},
1544 {-1, 0x0101, 556},
1545 {-1, 0x015B, 500},
1546 {-1, 0x00EF, 278},
1547 {-1, 0x00D4, 778},
1548 {-1, 0x00D9, 722},
1549 {-1, 0x0394, 612},
1550 {-1, 0x00FE, 556},
1551 {-1, 0x00B2, 333},
1552 {-1, 0x00D6, 778},
1553 {-1, 0x00B5, 556},
1554 {-1, 0x00EC, 278},
1555 {-1, 0x0151, 556},
1556 {-1, 0x0118, 667},
1557 {-1, 0x0111, 556},
1558 {-1, 0x00BE, 834},
1559 {-1, 0x015E, 667},
1560 {-1, 0x013E, 299},
1561 {-1, 0x0136, 667},
1562 {-1, 0x0139, 556},
1563 {-1, 0x2122, 1000},
1564 {-1, 0x0117, 556},
1565 {-1, 0x00CC, 278},
1566 {-1, 0x012A, 278},
1567 {-1, 0x013D, 556},
1568 {-1, 0x00BD, 834},
1569 {-1, 0x2264, 549},
1570 {-1, 0x00F4, 556},
1571 {-1, 0x00F1, 556},
1572 {-1, 0x0170, 722},
1573 {-1, 0x00C9, 667},
1574 {-1, 0x0113, 556},
1575 {-1, 0x011F, 556},
1576 {-1, 0x00BC, 834},
1577 {-1, 0x0160, 667},
1578 {-1, 0x0218, 667},
1579 {-1, 0x0150, 778},
1580 {-1, 0x00B0, 400},
1581 {-1, 0x00F2, 556},
1582 {-1, 0x010C, 722},
1583 {-1, 0x00F9, 556},
1584 {-1, 0x221A, 453},
1585 {-1, 0x010E, 722},
1586 {-1, 0x0157, 333},
1587 {-1, 0x00D1, 722},
1588 {-1, 0x00F5, 556},
1589 {-1, 0x0156, 722},
1590 {-1, 0x013B, 556},
1591 {-1, 0x00C3, 667},
1592 {-1, 0x0104, 667},
1593 {-1, 0x00C5, 667},
1594 {-1, 0x00D5, 778},
1595 {-1, 0x017C, 500},
1596 {-1, 0x011A, 667},
1597 {-1, 0x012E, 278},
1598 {-1, 0x0137, 500},
1599 {-1, 0x2212, 584},
1600 {-1, 0x00CE, 278},
1601 {-1, 0x0148, 556},
1602 {-1, 0x0163, 278},
1603 {-1, 0x00AC, 584},
1604 {-1, 0x00F6, 556},
1605 {-1, 0x00FC, 556},
1606 {-1, 0x2260, 549},
1607 {-1, 0x0123, 556},
1608 {-1, 0x00F0, 556},
1609 {-1, 0x017E, 500},
1610 {-1, 0x0146, 556},
1611 {-1, 0x00B9, 333},
1612 {-1, 0x012B, 278},
1613 {-1, 0x20AC, 556},
1614 {-1, 0xFFFF, 0}
1615 };
1616
1617static const HPDF_CharData CHAR_DATA_HELVETICA_BOLD[316] = {
1618 {32, 0x0020, 278},
1619 {33, 0x0021, 333},
1620 {34, 0x0022, 474},
1621 {35, 0x0023, 556},
1622 {36, 0x0024, 556},
1623 {37, 0x0025, 889},
1624 {38, 0x0026, 722},
1625 {39, 0x2019, 278},
1626 {40, 0x0028, 333},
1627 {41, 0x0029, 333},
1628 {42, 0x002A, 389},
1629 {43, 0x002B, 584},
1630 {44, 0x002C, 278},
1631 {45, 0x002D, 333},
1632 {46, 0x002E, 278},
1633 {47, 0x002F, 278},
1634 {48, 0x0030, 556},
1635 {49, 0x0031, 556},
1636 {50, 0x0032, 556},
1637 {51, 0x0033, 556},
1638 {52, 0x0034, 556},
1639 {53, 0x0035, 556},
1640 {54, 0x0036, 556},
1641 {55, 0x0037, 556},
1642 {56, 0x0038, 556},
1643 {57, 0x0039, 556},
1644 {58, 0x003A, 333},
1645 {59, 0x003B, 333},
1646 {60, 0x003C, 584},
1647 {61, 0x003D, 584},
1648 {62, 0x003E, 584},
1649 {63, 0x003F, 611},
1650 {64, 0x0040, 975},
1651 {65, 0x0041, 722},
1652 {66, 0x0042, 722},
1653 {67, 0x0043, 722},
1654 {68, 0x0044, 722},
1655 {69, 0x0045, 667},
1656 {70, 0x0046, 611},
1657 {71, 0x0047, 778},
1658 {72, 0x0048, 722},
1659 {73, 0x0049, 278},
1660 {74, 0x004A, 556},
1661 {75, 0x004B, 722},
1662 {76, 0x004C, 611},
1663 {77, 0x004D, 833},
1664 {78, 0x004E, 722},
1665 {79, 0x004F, 778},
1666 {80, 0x0050, 667},
1667 {81, 0x0051, 778},
1668 {82, 0x0052, 722},
1669 {83, 0x0053, 667},
1670 {84, 0x0054, 611},
1671 {85, 0x0055, 722},
1672 {86, 0x0056, 667},
1673 {87, 0x0057, 944},
1674 {88, 0x0058, 667},
1675 {89, 0x0059, 667},
1676 {90, 0x005A, 611},
1677 {91, 0x005B, 333},
1678 {92, 0x005C, 278},
1679 {93, 0x005D, 333},
1680 {94, 0x005E, 584},
1681 {95, 0x005F, 556},
1682 {96, 0x2018, 278},
1683 {97, 0x0061, 556},
1684 {98, 0x0062, 611},
1685 {99, 0x0063, 556},
1686 {100, 0x0064, 611},
1687 {101, 0x0065, 556},
1688 {102, 0x0066, 333},
1689 {103, 0x0067, 611},
1690 {104, 0x0068, 611},
1691 {105, 0x0069, 278},
1692 {106, 0x006A, 278},
1693 {107, 0x006B, 556},
1694 {108, 0x006C, 278},
1695 {109, 0x006D, 889},
1696 {110, 0x006E, 611},
1697 {111, 0x006F, 611},
1698 {112, 0x0070, 611},
1699 {113, 0x0071, 611},
1700 {114, 0x0072, 389},
1701 {115, 0x0073, 556},
1702 {116, 0x0074, 333},
1703 {117, 0x0075, 611},
1704 {118, 0x0076, 556},
1705 {119, 0x0077, 778},
1706 {120, 0x0078, 556},
1707 {121, 0x0079, 556},
1708 {122, 0x007A, 500},
1709 {123, 0x007B, 389},
1710 {124, 0x007C, 280},
1711 {125, 0x007D, 389},
1712 {126, 0x007E, 584},
1713 {161, 0x00A1, 333},
1714 {162, 0x00A2, 556},
1715 {163, 0x00A3, 556},
1716 {164, 0x2044, 167},
1717 {165, 0x00A5, 556},
1718 {166, 0x0192, 556},
1719 {167, 0x00A7, 556},
1720 {168, 0x00A4, 556},
1721 {169, 0x0027, 238},
1722 {170, 0x201C, 500},
1723 {171, 0x00AB, 556},
1724 {172, 0x2039, 333},
1725 {173, 0x203A, 333},
1726 {174, 0xFB01, 611},
1727 {175, 0xFB02, 611},
1728 {177, 0x2013, 556},
1729 {178, 0x2020, 556},
1730 {179, 0x2021, 556},
1731 {180, 0x00B7, 278},
1732 {182, 0x00B6, 556},
1733 {183, 0x2022, 350},
1734 {184, 0x201A, 278},
1735 {185, 0x201E, 500},
1736 {186, 0x201D, 500},
1737 {187, 0x00BB, 556},
1738 {188, 0x2026, 1000},
1739 {189, 0x2030, 1000},
1740 {191, 0x00BF, 611},
1741 {193, 0x0060, 333},
1742 {194, 0x00B4, 333},
1743 {195, 0x02C6, 333},
1744 {196, 0x02DC, 333},
1745 {197, 0x00AF, 333},
1746 {198, 0x02D8, 333},
1747 {199, 0x02D9, 333},
1748 {200, 0x00A8, 333},
1749 {202, 0x02DA, 333},
1750 {203, 0x00B8, 333},
1751 {205, 0x02DD, 333},
1752 {206, 0x02DB, 333},
1753 {207, 0x02C7, 333},
1754 {208, 0x2014, 1000},
1755 {225, 0x00C6, 1000},
1756 {227, 0x00AA, 370},
1757 {232, 0x0141, 611},
1758 {233, 0x00D8, 778},
1759 {234, 0x0152, 1000},
1760 {235, 0x00BA, 365},
1761 {241, 0x00E6, 889},
1762 {245, 0x0131, 278},
1763 {248, 0x0142, 278},
1764 {249, 0x00F8, 611},
1765 {250, 0x0153, 944},
1766 {251, 0x00DF, 611},
1767 {-1, 0x00CF, 278},
1768 {-1, 0x00E9, 556},
1769 {-1, 0x0103, 556},
1770 {-1, 0x0171, 611},
1771 {-1, 0x011B, 556},
1772 {-1, 0x0178, 667},
1773 {-1, 0x00F7, 584},
1774 {-1, 0x00DD, 667},
1775 {-1, 0x00C2, 722},
1776 {-1, 0x00E1, 556},
1777 {-1, 0x00DB, 722},
1778 {-1, 0x00FD, 556},
1779 {-1, 0x0219, 556},
1780 {-1, 0x00EA, 556},
1781 {-1, 0x016E, 722},
1782 {-1, 0x00DC, 722},
1783 {-1, 0x0105, 556},
1784 {-1, 0x00DA, 722},
1785 {-1, 0x0173, 611},
1786 {-1, 0x00CB, 667},
1787 {-1, 0x0110, 722},
1788 {-1, 0xF6C3, 250},
1789 {-1, 0x00A9, 737},
1790 {-1, 0x0112, 667},
1791 {-1, 0x010D, 556},
1792 {-1, 0x00E5, 556},
1793 {-1, 0x0145, 722},
1794 {-1, 0x013A, 278},
1795 {-1, 0x00E0, 556},
1796 {-1, 0x0162, 611},
1797 {-1, 0x0106, 722},
1798 {-1, 0x00E3, 556},
1799 {-1, 0x0116, 667},
1800 {-1, 0x0161, 556},
1801 {-1, 0x015F, 556},
1802 {-1, 0x00ED, 278},
1803 {-1, 0x25CA, 494},
1804 {-1, 0x0158, 722},
1805 {-1, 0x0122, 778},
1806 {-1, 0x00FB, 611},
1807 {-1, 0x00E2, 556},
1808 {-1, 0x0100, 722},
1809 {-1, 0x0159, 389},
1810 {-1, 0x00E7, 556},
1811 {-1, 0x017B, 611},
1812 {-1, 0x00DE, 667},
1813 {-1, 0x014C, 778},
1814 {-1, 0x0154, 722},
1815 {-1, 0x015A, 667},
1816 {-1, 0x010F, 743},
1817 {-1, 0x016A, 722},
1818 {-1, 0x016F, 611},
1819 {-1, 0x00B3, 333},
1820 {-1, 0x00D2, 778},
1821 {-1, 0x00C0, 722},
1822 {-1, 0x0102, 722},
1823 {-1, 0x00D7, 584},
1824 {-1, 0x00FA, 611},
1825 {-1, 0x0164, 611},
1826 {-1, 0x2202, 494},
1827 {-1, 0x00FF, 556},
1828 {-1, 0x0143, 722},
1829 {-1, 0x00EE, 278},
1830 {-1, 0x00CA, 667},
1831 {-1, 0x00E4, 556},
1832 {-1, 0x00EB, 556},
1833 {-1, 0x0107, 556},
1834 {-1, 0x0144, 611},
1835 {-1, 0x016B, 611},
1836 {-1, 0x0147, 722},
1837 {-1, 0x00CD, 278},
1838 {-1, 0x00B1, 584},
1839 {-1, 0x00A6, 280},
1840 {-1, 0x00AE, 737},
1841 {-1, 0x011E, 778},
1842 {-1, 0x0130, 278},
1843 {-1, 0x2211, 600},
1844 {-1, 0x00C8, 667},
1845 {-1, 0x0155, 389},
1846 {-1, 0x014D, 611},
1847 {-1, 0x0179, 611},
1848 {-1, 0x017D, 611},
1849 {-1, 0x2265, 549},
1850 {-1, 0x00D0, 722},
1851 {-1, 0x00C7, 722},
1852 {-1, 0x013C, 278},
1853 {-1, 0x0165, 389},
1854 {-1, 0x0119, 556},
1855 {-1, 0x0172, 722},
1856 {-1, 0x00C1, 722},
1857 {-1, 0x00C4, 722},
1858 {-1, 0x00E8, 556},
1859 {-1, 0x017A, 500},
1860 {-1, 0x012F, 278},
1861 {-1, 0x00D3, 778},
1862 {-1, 0x00F3, 611},
1863 {-1, 0x0101, 556},
1864 {-1, 0x015B, 556},
1865 {-1, 0x00EF, 278},
1866 {-1, 0x00D4, 778},
1867 {-1, 0x00D9, 722},
1868 {-1, 0x0394, 612},
1869 {-1, 0x00FE, 611},
1870 {-1, 0x00B2, 333},
1871 {-1, 0x00D6, 778},
1872 {-1, 0x00B5, 611},
1873 {-1, 0x00EC, 278},
1874 {-1, 0x0151, 611},
1875 {-1, 0x0118, 667},
1876 {-1, 0x0111, 611},
1877 {-1, 0x00BE, 834},
1878 {-1, 0x015E, 667},
1879 {-1, 0x013E, 400},
1880 {-1, 0x0136, 722},
1881 {-1, 0x0139, 611},
1882 {-1, 0x2122, 1000},
1883 {-1, 0x0117, 556},
1884 {-1, 0x00CC, 278},
1885 {-1, 0x012A, 278},
1886 {-1, 0x013D, 611},
1887 {-1, 0x00BD, 834},
1888 {-1, 0x2264, 549},
1889 {-1, 0x00F4, 611},
1890 {-1, 0x00F1, 611},
1891 {-1, 0x0170, 722},
1892 {-1, 0x00C9, 667},
1893 {-1, 0x0113, 556},
1894 {-1, 0x011F, 611},
1895 {-1, 0x00BC, 834},
1896 {-1, 0x0160, 667},
1897 {-1, 0x0218, 667},
1898 {-1, 0x0150, 778},
1899 {-1, 0x00B0, 400},
1900 {-1, 0x00F2, 611},
1901 {-1, 0x010C, 722},
1902 {-1, 0x00F9, 611},
1903 {-1, 0x221A, 549},
1904 {-1, 0x010E, 722},
1905 {-1, 0x0157, 389},
1906 {-1, 0x00D1, 722},
1907 {-1, 0x00F5, 611},
1908 {-1, 0x0156, 722},
1909 {-1, 0x013B, 611},
1910 {-1, 0x00C3, 722},
1911 {-1, 0x0104, 722},
1912 {-1, 0x00C5, 722},
1913 {-1, 0x00D5, 778},
1914 {-1, 0x017C, 500},
1915 {-1, 0x011A, 667},
1916 {-1, 0x012E, 278},
1917 {-1, 0x0137, 556},
1918 {-1, 0x2212, 584},
1919 {-1, 0x00CE, 278},
1920 {-1, 0x0148, 611},
1921 {-1, 0x0163, 333},
1922 {-1, 0x00AC, 584},
1923 {-1, 0x00F6, 611},
1924 {-1, 0x00FC, 611},
1925 {-1, 0x2260, 549},
1926 {-1, 0x0123, 611},
1927 {-1, 0x00F0, 611},
1928 {-1, 0x017E, 500},
1929 {-1, 0x0146, 611},
1930 {-1, 0x00B9, 333},
1931 {-1, 0x012B, 278},
1932 {-1, 0x20AC, 556},
1933 {-1, 0xFFFF, 0}
1934 };
1935
1936static const HPDF_CharData CHAR_DATA_HELVETICA_BOLD_OBLIQUE[316] = {
1937 {32, 0x0020, 278},
1938 {33, 0x0021, 333},
1939 {34, 0x0022, 474},
1940 {35, 0x0023, 556},
1941 {36, 0x0024, 556},
1942 {37, 0x0025, 889},
1943 {38, 0x0026, 722},
1944 {39, 0x2019, 278},
1945 {40, 0x0028, 333},
1946 {41, 0x0029, 333},
1947 {42, 0x002A, 389},
1948 {43, 0x002B, 584},
1949 {44, 0x002C, 278},
1950 {45, 0x002D, 333},
1951 {46, 0x002E, 278},
1952 {47, 0x002F, 278},
1953 {48, 0x0030, 556},
1954 {49, 0x0031, 556},
1955 {50, 0x0032, 556},
1956 {51, 0x0033, 556},
1957 {52, 0x0034, 556},
1958 {53, 0x0035, 556},
1959 {54, 0x0036, 556},
1960 {55, 0x0037, 556},
1961 {56, 0x0038, 556},
1962 {57, 0x0039, 556},
1963 {58, 0x003A, 333},
1964 {59, 0x003B, 333},
1965 {60, 0x003C, 584},
1966 {61, 0x003D, 584},
1967 {62, 0x003E, 584},
1968 {63, 0x003F, 611},
1969 {64, 0x0040, 975},
1970 {65, 0x0041, 722},
1971 {66, 0x0042, 722},
1972 {67, 0x0043, 722},
1973 {68, 0x0044, 722},
1974 {69, 0x0045, 667},
1975 {70, 0x0046, 611},
1976 {71, 0x0047, 778},
1977 {72, 0x0048, 722},
1978 {73, 0x0049, 278},
1979 {74, 0x004A, 556},
1980 {75, 0x004B, 722},
1981 {76, 0x004C, 611},
1982 {77, 0x004D, 833},
1983 {78, 0x004E, 722},
1984 {79, 0x004F, 778},
1985 {80, 0x0050, 667},
1986 {81, 0x0051, 778},
1987 {82, 0x0052, 722},
1988 {83, 0x0053, 667},
1989 {84, 0x0054, 611},
1990 {85, 0x0055, 722},
1991 {86, 0x0056, 667},
1992 {87, 0x0057, 944},
1993 {88, 0x0058, 667},
1994 {89, 0x0059, 667},
1995 {90, 0x005A, 611},
1996 {91, 0x005B, 333},
1997 {92, 0x005C, 278},
1998 {93, 0x005D, 333},
1999 {94, 0x005E, 584},
2000 {95, 0x005F, 556},
2001 {96, 0x2018, 278},
2002 {97, 0x0061, 556},
2003 {98, 0x0062, 611},
2004 {99, 0x0063, 556},
2005 {100, 0x0064, 611},
2006 {101, 0x0065, 556},
2007 {102, 0x0066, 333},
2008 {103, 0x0067, 611},
2009 {104, 0x0068, 611},
2010 {105, 0x0069, 278},
2011 {106, 0x006A, 278},
2012 {107, 0x006B, 556},
2013 {108, 0x006C, 278},
2014 {109, 0x006D, 889},
2015 {110, 0x006E, 611},
2016 {111, 0x006F, 611},
2017 {112, 0x0070, 611},
2018 {113, 0x0071, 611},
2019 {114, 0x0072, 389},
2020 {115, 0x0073, 556},
2021 {116, 0x0074, 333},
2022 {117, 0x0075, 611},
2023 {118, 0x0076, 556},
2024 {119, 0x0077, 778},
2025 {120, 0x0078, 556},
2026 {121, 0x0079, 556},
2027 {122, 0x007A, 500},
2028 {123, 0x007B, 389},
2029 {124, 0x007C, 280},
2030 {125, 0x007D, 389},
2031 {126, 0x007E, 584},
2032 {161, 0x00A1, 333},
2033 {162, 0x00A2, 556},
2034 {163, 0x00A3, 556},
2035 {164, 0x2044, 167},
2036 {165, 0x00A5, 556},
2037 {166, 0x0192, 556},
2038 {167, 0x00A7, 556},
2039 {168, 0x00A4, 556},
2040 {169, 0x0027, 238},
2041 {170, 0x201C, 500},
2042 {171, 0x00AB, 556},
2043 {172, 0x2039, 333},
2044 {173, 0x203A, 333},
2045 {174, 0xFB01, 611},
2046 {175, 0xFB02, 611},
2047 {177, 0x2013, 556},
2048 {178, 0x2020, 556},
2049 {179, 0x2021, 556},
2050 {180, 0x00B7, 278},
2051 {182, 0x00B6, 556},
2052 {183, 0x2022, 350},
2053 {184, 0x201A, 278},
2054 {185, 0x201E, 500},
2055 {186, 0x201D, 500},
2056 {187, 0x00BB, 556},
2057 {188, 0x2026, 1000},
2058 {189, 0x2030, 1000},
2059 {191, 0x00BF, 611},
2060 {193, 0x0060, 333},
2061 {194, 0x00B4, 333},
2062 {195, 0x02C6, 333},
2063 {196, 0x02DC, 333},
2064 {197, 0x00AF, 333},
2065 {198, 0x02D8, 333},
2066 {199, 0x02D9, 333},
2067 {200, 0x00A8, 333},
2068 {202, 0x02DA, 333},
2069 {203, 0x00B8, 333},
2070 {205, 0x02DD, 333},
2071 {206, 0x02DB, 333},
2072 {207, 0x02C7, 333},
2073 {208, 0x2014, 1000},
2074 {225, 0x00C6, 1000},
2075 {227, 0x00AA, 370},
2076 {232, 0x0141, 611},
2077 {233, 0x00D8, 778},
2078 {234, 0x0152, 1000},
2079 {235, 0x00BA, 365},
2080 {241, 0x00E6, 889},
2081 {245, 0x0131, 278},
2082 {248, 0x0142, 278},
2083 {249, 0x00F8, 611},
2084 {250, 0x0153, 944},
2085 {251, 0x00DF, 611},
2086 {-1, 0x00CF, 278},
2087 {-1, 0x00E9, 556},
2088 {-1, 0x0103, 556},
2089 {-1, 0x0171, 611},
2090 {-1, 0x011B, 556},
2091 {-1, 0x0178, 667},
2092 {-1, 0x00F7, 584},
2093 {-1, 0x00DD, 667},
2094 {-1, 0x00C2, 722},
2095 {-1, 0x00E1, 556},
2096 {-1, 0x00DB, 722},
2097 {-1, 0x00FD, 556},
2098 {-1, 0x0219, 556},
2099 {-1, 0x00EA, 556},
2100 {-1, 0x016E, 722},
2101 {-1, 0x00DC, 722},
2102 {-1, 0x0105, 556},
2103 {-1, 0x00DA, 722},
2104 {-1, 0x0173, 611},
2105 {-1, 0x00CB, 667},
2106 {-1, 0x0110, 722},
2107 {-1, 0xF6C3, 250},
2108 {-1, 0x00A9, 737},
2109 {-1, 0x0112, 667},
2110 {-1, 0x010D, 556},
2111 {-1, 0x00E5, 556},
2112 {-1, 0x0145, 722},
2113 {-1, 0x013A, 278},
2114 {-1, 0x00E0, 556},
2115 {-1, 0x0162, 611},
2116 {-1, 0x0106, 722},
2117 {-1, 0x00E3, 556},
2118 {-1, 0x0116, 667},
2119 {-1, 0x0161, 556},
2120 {-1, 0x015F, 556},
2121 {-1, 0x00ED, 278},
2122 {-1, 0x25CA, 494},
2123 {-1, 0x0158, 722},
2124 {-1, 0x0122, 778},
2125 {-1, 0x00FB, 611},
2126 {-1, 0x00E2, 556},
2127 {-1, 0x0100, 722},
2128 {-1, 0x0159, 389},
2129 {-1, 0x00E7, 556},
2130 {-1, 0x017B, 611},
2131 {-1, 0x00DE, 667},
2132 {-1, 0x014C, 778},
2133 {-1, 0x0154, 722},
2134 {-1, 0x015A, 667},
2135 {-1, 0x010F, 743},
2136 {-1, 0x016A, 722},
2137 {-1, 0x016F, 611},
2138 {-1, 0x00B3, 333},
2139 {-1, 0x00D2, 778},
2140 {-1, 0x00C0, 722},
2141 {-1, 0x0102, 722},
2142 {-1, 0x00D7, 584},
2143 {-1, 0x00FA, 611},
2144 {-1, 0x0164, 611},
2145 {-1, 0x2202, 494},
2146 {-1, 0x00FF, 556},
2147 {-1, 0x0143, 722},
2148 {-1, 0x00EE, 278},
2149 {-1, 0x00CA, 667},
2150 {-1, 0x00E4, 556},
2151 {-1, 0x00EB, 556},
2152 {-1, 0x0107, 556},
2153 {-1, 0x0144, 611},
2154 {-1, 0x016B, 611},
2155 {-1, 0x0147, 722},
2156 {-1, 0x00CD, 278},
2157 {-1, 0x00B1, 584},
2158 {-1, 0x00A6, 280},
2159 {-1, 0x00AE, 737},
2160 {-1, 0x011E, 778},
2161 {-1, 0x0130, 278},
2162 {-1, 0x2211, 600},
2163 {-1, 0x00C8, 667},
2164 {-1, 0x0155, 389},
2165 {-1, 0x014D, 611},
2166 {-1, 0x0179, 611},
2167 {-1, 0x017D, 611},
2168 {-1, 0x2265, 549},
2169 {-1, 0x00D0, 722},
2170 {-1, 0x00C7, 722},
2171 {-1, 0x013C, 278},
2172 {-1, 0x0165, 389},
2173 {-1, 0x0119, 556},
2174 {-1, 0x0172, 722},
2175 {-1, 0x00C1, 722},
2176 {-1, 0x00C4, 722},
2177 {-1, 0x00E8, 556},
2178 {-1, 0x017A, 500},
2179 {-1, 0x012F, 278},
2180 {-1, 0x00D3, 778},
2181 {-1, 0x00F3, 611},
2182 {-1, 0x0101, 556},
2183 {-1, 0x015B, 556},
2184 {-1, 0x00EF, 278},
2185 {-1, 0x00D4, 778},
2186 {-1, 0x00D9, 722},
2187 {-1, 0x0394, 612},
2188 {-1, 0x00FE, 611},
2189 {-1, 0x00B2, 333},
2190 {-1, 0x00D6, 778},
2191 {-1, 0x00B5, 611},
2192 {-1, 0x00EC, 278},
2193 {-1, 0x0151, 611},
2194 {-1, 0x0118, 667},
2195 {-1, 0x0111, 611},
2196 {-1, 0x00BE, 834},
2197 {-1, 0x015E, 667},
2198 {-1, 0x013E, 400},
2199 {-1, 0x0136, 722},
2200 {-1, 0x0139, 611},
2201 {-1, 0x2122, 1000},
2202 {-1, 0x0117, 556},
2203 {-1, 0x00CC, 278},
2204 {-1, 0x012A, 278},
2205 {-1, 0x013D, 611},
2206 {-1, 0x00BD, 834},
2207 {-1, 0x2264, 549},
2208 {-1, 0x00F4, 611},
2209 {-1, 0x00F1, 611},
2210 {-1, 0x0170, 722},
2211 {-1, 0x00C9, 667},
2212 {-1, 0x0113, 556},
2213 {-1, 0x011F, 611},
2214 {-1, 0x00BC, 834},
2215 {-1, 0x0160, 667},
2216 {-1, 0x0218, 667},
2217 {-1, 0x0150, 778},
2218 {-1, 0x00B0, 400},
2219 {-1, 0x00F2, 611},
2220 {-1, 0x010C, 722},
2221 {-1, 0x00F9, 611},
2222 {-1, 0x221A, 549},
2223 {-1, 0x010E, 722},
2224 {-1, 0x0157, 389},
2225 {-1, 0x00D1, 722},
2226 {-1, 0x00F5, 611},
2227 {-1, 0x0156, 722},
2228 {-1, 0x013B, 611},
2229 {-1, 0x00C3, 722},
2230 {-1, 0x0104, 722},
2231 {-1, 0x00C5, 722},
2232 {-1, 0x00D5, 778},
2233 {-1, 0x017C, 500},
2234 {-1, 0x011A, 667},
2235 {-1, 0x012E, 278},
2236 {-1, 0x0137, 556},
2237 {-1, 0x2212, 584},
2238 {-1, 0x00CE, 278},
2239 {-1, 0x0148, 611},
2240 {-1, 0x0163, 333},
2241 {-1, 0x00AC, 584},
2242 {-1, 0x00F6, 611},
2243 {-1, 0x00FC, 611},
2244 {-1, 0x2260, 549},
2245 {-1, 0x0123, 611},
2246 {-1, 0x00F0, 611},
2247 {-1, 0x017E, 500},
2248 {-1, 0x0146, 611},
2249 {-1, 0x00B9, 333},
2250 {-1, 0x012B, 278},
2251 {-1, 0x20AC, 556},
2252 {-1, 0xFFFF, 0}
2253 };
2254
2255static const HPDF_CharData CHAR_DATA_HELVETICA_OBLIQUE[316] = {
2256 {32, 0x0020, 278},
2257 {33, 0x0021, 278},
2258 {34, 0x0022, 355},
2259 {35, 0x0023, 556},
2260 {36, 0x0024, 556},
2261 {37, 0x0025, 889},
2262 {38, 0x0026, 667},
2263 {39, 0x2019, 222},
2264 {40, 0x0028, 333},
2265 {41, 0x0029, 333},
2266 {42, 0x002A, 389},
2267 {43, 0x002B, 584},
2268 {44, 0x002C, 278},
2269 {45, 0x002D, 333},
2270 {46, 0x002E, 278},
2271 {47, 0x002F, 278},
2272 {48, 0x0030, 556},
2273 {49, 0x0031, 556},
2274 {50, 0x0032, 556},
2275 {51, 0x0033, 556},
2276 {52, 0x0034, 556},
2277 {53, 0x0035, 556},
2278 {54, 0x0036, 556},
2279 {55, 0x0037, 556},
2280 {56, 0x0038, 556},
2281 {57, 0x0039, 556},
2282 {58, 0x003A, 278},
2283 {59, 0x003B, 278},
2284 {60, 0x003C, 584},
2285 {61, 0x003D, 584},
2286 {62, 0x003E, 584},
2287 {63, 0x003F, 556},
2288 {64, 0x0040, 1015},
2289 {65, 0x0041, 667},
2290 {66, 0x0042, 667},
2291 {67, 0x0043, 722},
2292 {68, 0x0044, 722},
2293 {69, 0x0045, 667},
2294 {70, 0x0046, 611},
2295 {71, 0x0047, 778},
2296 {72, 0x0048, 722},
2297 {73, 0x0049, 278},
2298 {74, 0x004A, 500},
2299 {75, 0x004B, 667},
2300 {76, 0x004C, 556},
2301 {77, 0x004D, 833},
2302 {78, 0x004E, 722},
2303 {79, 0x004F, 778},
2304 {80, 0x0050, 667},
2305 {81, 0x0051, 778},
2306 {82, 0x0052, 722},
2307 {83, 0x0053, 667},
2308 {84, 0x0054, 611},
2309 {85, 0x0055, 722},
2310 {86, 0x0056, 667},
2311 {87, 0x0057, 944},
2312 {88, 0x0058, 667},
2313 {89, 0x0059, 667},
2314 {90, 0x005A, 611},
2315 {91, 0x005B, 278},
2316 {92, 0x005C, 278},
2317 {93, 0x005D, 278},
2318 {94, 0x005E, 469},
2319 {95, 0x005F, 556},
2320 {96, 0x2018, 222},
2321 {97, 0x0061, 556},
2322 {98, 0x0062, 556},
2323 {99, 0x0063, 500},
2324 {100, 0x0064, 556},
2325 {101, 0x0065, 556},
2326 {102, 0x0066, 278},
2327 {103, 0x0067, 556},
2328 {104, 0x0068, 556},
2329 {105, 0x0069, 222},
2330 {106, 0x006A, 222},
2331 {107, 0x006B, 500},
2332 {108, 0x006C, 222},
2333 {109, 0x006D, 833},
2334 {110, 0x006E, 556},
2335 {111, 0x006F, 556},
2336 {112, 0x0070, 556},
2337 {113, 0x0071, 556},
2338 {114, 0x0072, 333},
2339 {115, 0x0073, 500},
2340 {116, 0x0074, 278},
2341 {117, 0x0075, 556},
2342 {118, 0x0076, 500},
2343 {119, 0x0077, 722},
2344 {120, 0x0078, 500},
2345 {121, 0x0079, 500},
2346 {122, 0x007A, 500},
2347 {123, 0x007B, 334},
2348 {124, 0x007C, 260},
2349 {125, 0x007D, 334},
2350 {126, 0x007E, 584},
2351 {161, 0x00A1, 333},
2352 {162, 0x00A2, 556},
2353 {163, 0x00A3, 556},
2354 {164, 0x2044, 167},
2355 {165, 0x00A5, 556},
2356 {166, 0x0192, 556},
2357 {167, 0x00A7, 556},
2358 {168, 0x00A4, 556},
2359 {169, 0x0027, 191},
2360 {170, 0x201C, 333},
2361 {171, 0x00AB, 556},
2362 {172, 0x2039, 333},
2363 {173, 0x203A, 333},
2364 {174, 0xFB01, 500},
2365 {175, 0xFB02, 500},
2366 {177, 0x2013, 556},
2367 {178, 0x2020, 556},
2368 {179, 0x2021, 556},
2369 {180, 0x00B7, 278},
2370 {182, 0x00B6, 537},
2371 {183, 0x2022, 350},
2372 {184, 0x201A, 222},
2373 {185, 0x201E, 333},
2374 {186, 0x201D, 333},
2375 {187, 0x00BB, 556},
2376 {188, 0x2026, 1000},
2377 {189, 0x2030, 1000},
2378 {191, 0x00BF, 611},
2379 {193, 0x0060, 333},
2380 {194, 0x00B4, 333},
2381 {195, 0x02C6, 333},
2382 {196, 0x02DC, 333},
2383 {197, 0x00AF, 333},
2384 {198, 0x02D8, 333},
2385 {199, 0x02D9, 333},
2386 {200, 0x00A8, 333},
2387 {202, 0x02DA, 333},
2388 {203, 0x00B8, 333},
2389 {205, 0x02DD, 333},
2390 {206, 0x02DB, 333},
2391 {207, 0x02C7, 333},
2392 {208, 0x2014, 1000},
2393 {225, 0x00C6, 1000},
2394 {227, 0x00AA, 370},
2395 {232, 0x0141, 556},
2396 {233, 0x00D8, 778},
2397 {234, 0x0152, 1000},
2398 {235, 0x00BA, 365},
2399 {241, 0x00E6, 889},
2400 {245, 0x0131, 278},
2401 {248, 0x0142, 222},
2402 {249, 0x00F8, 611},
2403 {250, 0x0153, 944},
2404 {251, 0x00DF, 611},
2405 {-1, 0x00CF, 278},
2406 {-1, 0x00E9, 556},
2407 {-1, 0x0103, 556},
2408 {-1, 0x0171, 556},
2409 {-1, 0x011B, 556},
2410 {-1, 0x0178, 667},
2411 {-1, 0x00F7, 584},
2412 {-1, 0x00DD, 667},
2413 {-1, 0x00C2, 667},
2414 {-1, 0x00E1, 556},
2415 {-1, 0x00DB, 722},
2416 {-1, 0x00FD, 500},
2417 {-1, 0x0219, 500},
2418 {-1, 0x00EA, 556},
2419 {-1, 0x016E, 722},
2420 {-1, 0x00DC, 722},
2421 {-1, 0x0105, 556},
2422 {-1, 0x00DA, 722},
2423 {-1, 0x0173, 556},
2424 {-1, 0x00CB, 667},
2425 {-1, 0x0110, 722},
2426 {-1, 0xF6C3, 250},
2427 {-1, 0x00A9, 737},
2428 {-1, 0x0112, 667},
2429 {-1, 0x010D, 500},
2430 {-1, 0x00E5, 556},
2431 {-1, 0x0145, 722},
2432 {-1, 0x013A, 222},
2433 {-1, 0x00E0, 556},
2434 {-1, 0x0162, 611},
2435 {-1, 0x0106, 722},
2436 {-1, 0x00E3, 556},
2437 {-1, 0x0116, 667},
2438 {-1, 0x0161, 500},
2439 {-1, 0x015F, 500},
2440 {-1, 0x00ED, 278},
2441 {-1, 0x25CA, 471},
2442 {-1, 0x0158, 722},
2443 {-1, 0x0122, 778},
2444 {-1, 0x00FB, 556},
2445 {-1, 0x00E2, 556},
2446 {-1, 0x0100, 667},
2447 {-1, 0x0159, 333},
2448 {-1, 0x00E7, 500},
2449 {-1, 0x017B, 611},
2450 {-1, 0x00DE, 667},
2451 {-1, 0x014C, 778},
2452 {-1, 0x0154, 722},
2453 {-1, 0x015A, 667},
2454 {-1, 0x010F, 643},
2455 {-1, 0x016A, 722},
2456 {-1, 0x016F, 556},
2457 {-1, 0x00B3, 333},
2458 {-1, 0x00D2, 778},
2459 {-1, 0x00C0, 667},
2460 {-1, 0x0102, 667},
2461 {-1, 0x00D7, 584},
2462 {-1, 0x00FA, 556},
2463 {-1, 0x0164, 611},
2464 {-1, 0x2202, 476},
2465 {-1, 0x00FF, 500},
2466 {-1, 0x0143, 722},
2467 {-1, 0x00EE, 278},
2468 {-1, 0x00CA, 667},
2469 {-1, 0x00E4, 556},
2470 {-1, 0x00EB, 556},
2471 {-1, 0x0107, 500},
2472 {-1, 0x0144, 556},
2473 {-1, 0x016B, 556},
2474 {-1, 0x0147, 722},
2475 {-1, 0x00CD, 278},
2476 {-1, 0x00B1, 584},
2477 {-1, 0x00A6, 260},
2478 {-1, 0x00AE, 737},
2479 {-1, 0x011E, 778},
2480 {-1, 0x0130, 278},
2481 {-1, 0x2211, 600},
2482 {-1, 0x00C8, 667},
2483 {-1, 0x0155, 333},
2484 {-1, 0x014D, 556},
2485 {-1, 0x0179, 611},
2486 {-1, 0x017D, 611},
2487 {-1, 0x2265, 549},
2488 {-1, 0x00D0, 722},
2489 {-1, 0x00C7, 722},
2490 {-1, 0x013C, 222},
2491 {-1, 0x0165, 316},
2492 {-1, 0x0119, 556},
2493 {-1, 0x0172, 722},
2494 {-1, 0x00C1, 667},
2495 {-1, 0x00C4, 667},
2496 {-1, 0x00E8, 556},
2497 {-1, 0x017A, 500},
2498 {-1, 0x012F, 222},
2499 {-1, 0x00D3, 778},
2500 {-1, 0x00F3, 556},
2501 {-1, 0x0101, 556},
2502 {-1, 0x015B, 500},
2503 {-1, 0x00EF, 278},
2504 {-1, 0x00D4, 778},
2505 {-1, 0x00D9, 722},
2506 {-1, 0x0394, 612},
2507 {-1, 0x00FE, 556},
2508 {-1, 0x00B2, 333},
2509 {-1, 0x00D6, 778},
2510 {-1, 0x00B5, 556},
2511 {-1, 0x00EC, 278},
2512 {-1, 0x0151, 556},
2513 {-1, 0x0118, 667},
2514 {-1, 0x0111, 556},
2515 {-1, 0x00BE, 834},
2516 {-1, 0x015E, 667},
2517 {-1, 0x013E, 299},
2518 {-1, 0x0136, 667},
2519 {-1, 0x0139, 556},
2520 {-1, 0x2122, 1000},
2521 {-1, 0x0117, 556},
2522 {-1, 0x00CC, 278},
2523 {-1, 0x012A, 278},
2524 {-1, 0x013D, 556},
2525 {-1, 0x00BD, 834},
2526 {-1, 0x2264, 549},
2527 {-1, 0x00F4, 556},
2528 {-1, 0x00F1, 556},
2529 {-1, 0x0170, 722},
2530 {-1, 0x00C9, 667},
2531 {-1, 0x0113, 556},
2532 {-1, 0x011F, 556},
2533 {-1, 0x00BC, 834},
2534 {-1, 0x0160, 667},
2535 {-1, 0x0218, 667},
2536 {-1, 0x0150, 778},
2537 {-1, 0x00B0, 400},
2538 {-1, 0x00F2, 556},
2539 {-1, 0x010C, 722},
2540 {-1, 0x00F9, 556},
2541 {-1, 0x221A, 453},
2542 {-1, 0x010E, 722},
2543 {-1, 0x0157, 333},
2544 {-1, 0x00D1, 722},
2545 {-1, 0x00F5, 556},
2546 {-1, 0x0156, 722},
2547 {-1, 0x013B, 556},
2548 {-1, 0x00C3, 667},
2549 {-1, 0x0104, 667},
2550 {-1, 0x00C5, 667},
2551 {-1, 0x00D5, 778},
2552 {-1, 0x017C, 500},
2553 {-1, 0x011A, 667},
2554 {-1, 0x012E, 278},
2555 {-1, 0x0137, 500},
2556 {-1, 0x2212, 584},
2557 {-1, 0x00CE, 278},
2558 {-1, 0x0148, 556},
2559 {-1, 0x0163, 278},
2560 {-1, 0x00AC, 584},
2561 {-1, 0x00F6, 556},
2562 {-1, 0x00FC, 556},
2563 {-1, 0x2260, 549},
2564 {-1, 0x0123, 556},
2565 {-1, 0x00F0, 556},
2566 {-1, 0x017E, 500},
2567 {-1, 0x0146, 556},
2568 {-1, 0x00B9, 333},
2569 {-1, 0x012B, 278},
2570 {-1, 0x20AC, 556},
2571 {-1, 0xFFFF, 0}
2572 };
2573
2574static const HPDF_CharData CHAR_DATA_TIMES_ROMAN[316] = {
2575 {32, 0x0020, 250},
2576 {33, 0x0021, 333},
2577 {34, 0x0022, 408},
2578 {35, 0x0023, 500},
2579 {36, 0x0024, 500},
2580 {37, 0x0025, 833},
2581 {38, 0x0026, 778},
2582 {39, 0x2019, 333},
2583 {40, 0x0028, 333},
2584 {41, 0x0029, 333},
2585 {42, 0x002A, 500},
2586 {43, 0x002B, 564},
2587 {44, 0x002C, 250},
2588 {45, 0x002D, 333},
2589 {46, 0x002E, 250},
2590 {47, 0x002F, 278},
2591 {48, 0x0030, 500},
2592 {49, 0x0031, 500},
2593 {50, 0x0032, 500},
2594 {51, 0x0033, 500},
2595 {52, 0x0034, 500},
2596 {53, 0x0035, 500},
2597 {54, 0x0036, 500},
2598 {55, 0x0037, 500},
2599 {56, 0x0038, 500},
2600 {57, 0x0039, 500},
2601 {58, 0x003A, 278},
2602 {59, 0x003B, 278},
2603 {60, 0x003C, 564},
2604 {61, 0x003D, 564},
2605 {62, 0x003E, 564},
2606 {63, 0x003F, 444},
2607 {64, 0x0040, 921},
2608 {65, 0x0041, 722},
2609 {66, 0x0042, 667},
2610 {67, 0x0043, 667},
2611 {68, 0x0044, 722},
2612 {69, 0x0045, 611},
2613 {70, 0x0046, 556},
2614 {71, 0x0047, 722},
2615 {72, 0x0048, 722},
2616 {73, 0x0049, 333},
2617 {74, 0x004A, 389},
2618 {75, 0x004B, 722},
2619 {76, 0x004C, 611},
2620 {77, 0x004D, 889},
2621 {78, 0x004E, 722},
2622 {79, 0x004F, 722},
2623 {80, 0x0050, 556},
2624 {81, 0x0051, 722},
2625 {82, 0x0052, 667},
2626 {83, 0x0053, 556},
2627 {84, 0x0054, 611},
2628 {85, 0x0055, 722},
2629 {86, 0x0056, 722},
2630 {87, 0x0057, 944},
2631 {88, 0x0058, 722},
2632 {89, 0x0059, 722},
2633 {90, 0x005A, 611},
2634 {91, 0x005B, 333},
2635 {92, 0x005C, 278},
2636 {93, 0x005D, 333},
2637 {94, 0x005E, 469},
2638 {95, 0x005F, 500},
2639 {96, 0x2018, 333},
2640 {97, 0x0061, 444},
2641 {98, 0x0062, 500},
2642 {99, 0x0063, 444},
2643 {100, 0x0064, 500},
2644 {101, 0x0065, 444},
2645 {102, 0x0066, 333},
2646 {103, 0x0067, 500},
2647 {104, 0x0068, 500},
2648 {105, 0x0069, 278},
2649 {106, 0x006A, 278},
2650 {107, 0x006B, 500},
2651 {108, 0x006C, 278},
2652 {109, 0x006D, 778},
2653 {110, 0x006E, 500},
2654 {111, 0x006F, 500},
2655 {112, 0x0070, 500},
2656 {113, 0x0071, 500},
2657 {114, 0x0072, 333},
2658 {115, 0x0073, 389},
2659 {116, 0x0074, 278},
2660 {117, 0x0075, 500},
2661 {118, 0x0076, 500},
2662 {119, 0x0077, 722},
2663 {120, 0x0078, 500},
2664 {121, 0x0079, 500},
2665 {122, 0x007A, 444},
2666 {123, 0x007B, 480},
2667 {124, 0x007C, 200},
2668 {125, 0x007D, 480},
2669 {126, 0x007E, 541},
2670 {161, 0x00A1, 333},
2671 {162, 0x00A2, 500},
2672 {163, 0x00A3, 500},
2673 {164, 0x2044, 167},
2674 {165, 0x00A5, 500},
2675 {166, 0x0192, 500},
2676 {167, 0x00A7, 500},
2677 {168, 0x00A4, 500},
2678 {169, 0x0027, 180},
2679 {170, 0x201C, 444},
2680 {171, 0x00AB, 500},
2681 {172, 0x2039, 333},
2682 {173, 0x203A, 333},
2683 {174, 0xFB01, 556},
2684 {175, 0xFB02, 556},
2685 {177, 0x2013, 500},
2686 {178, 0x2020, 500},
2687 {179, 0x2021, 500},
2688 {180, 0x00B7, 250},
2689 {182, 0x00B6, 453},
2690 {183, 0x2022, 350},
2691 {184, 0x201A, 333},
2692 {185, 0x201E, 444},
2693 {186, 0x201D, 444},
2694 {187, 0x00BB, 500},
2695 {188, 0x2026, 1000},
2696 {189, 0x2030, 1000},
2697 {191, 0x00BF, 444},
2698 {193, 0x0060, 333},
2699 {194, 0x00B4, 333},
2700 {195, 0x02C6, 333},
2701 {196, 0x02DC, 333},
2702 {197, 0x00AF, 333},
2703 {198, 0x02D8, 333},
2704 {199, 0x02D9, 333},
2705 {200, 0x00A8, 333},
2706 {202, 0x02DA, 333},
2707 {203, 0x00B8, 333},
2708 {205, 0x02DD, 333},
2709 {206, 0x02DB, 333},
2710 {207, 0x02C7, 333},
2711 {208, 0x2014, 1000},
2712 {225, 0x00C6, 889},
2713 {227, 0x00AA, 276},
2714 {232, 0x0141, 611},
2715 {233, 0x00D8, 722},
2716 {234, 0x0152, 889},
2717 {235, 0x00BA, 310},
2718 {241, 0x00E6, 667},
2719 {245, 0x0131, 278},
2720 {248, 0x0142, 278},
2721 {249, 0x00F8, 500},
2722 {250, 0x0153, 722},
2723 {251, 0x00DF, 500},
2724 {-1, 0x00CF, 333},
2725 {-1, 0x00E9, 444},
2726 {-1, 0x0103, 444},
2727 {-1, 0x0171, 500},
2728 {-1, 0x011B, 444},
2729 {-1, 0x0178, 722},
2730 {-1, 0x00F7, 564},
2731 {-1, 0x00DD, 722},
2732 {-1, 0x00C2, 722},
2733 {-1, 0x00E1, 444},
2734 {-1, 0x00DB, 722},
2735 {-1, 0x00FD, 500},
2736 {-1, 0x0219, 389},
2737 {-1, 0x00EA, 444},
2738 {-1, 0x016E, 722},
2739 {-1, 0x00DC, 722},
2740 {-1, 0x0105, 444},
2741 {-1, 0x00DA, 722},
2742 {-1, 0x0173, 500},
2743 {-1, 0x00CB, 611},
2744 {-1, 0x0110, 722},
2745 {-1, 0xF6C3, 250},
2746 {-1, 0x00A9, 760},
2747 {-1, 0x0112, 611},
2748 {-1, 0x010D, 444},
2749 {-1, 0x00E5, 444},
2750 {-1, 0x0145, 722},
2751 {-1, 0x013A, 278},
2752 {-1, 0x00E0, 444},
2753 {-1, 0x0162, 611},
2754 {-1, 0x0106, 667},
2755 {-1, 0x00E3, 444},
2756 {-1, 0x0116, 611},
2757 {-1, 0x0161, 389},
2758 {-1, 0x015F, 389},
2759 {-1, 0x00ED, 278},
2760 {-1, 0x25CA, 471},
2761 {-1, 0x0158, 667},
2762 {-1, 0x0122, 722},
2763 {-1, 0x00FB, 500},
2764 {-1, 0x00E2, 444},
2765 {-1, 0x0100, 722},
2766 {-1, 0x0159, 333},
2767 {-1, 0x00E7, 444},
2768 {-1, 0x017B, 611},
2769 {-1, 0x00DE, 556},
2770 {-1, 0x014C, 722},
2771 {-1, 0x0154, 667},
2772 {-1, 0x015A, 556},
2773 {-1, 0x010F, 588},
2774 {-1, 0x016A, 722},
2775 {-1, 0x016F, 500},
2776 {-1, 0x00B3, 300},
2777 {-1, 0x00D2, 722},
2778 {-1, 0x00C0, 722},
2779 {-1, 0x0102, 722},
2780 {-1, 0x00D7, 564},
2781 {-1, 0x00FA, 500},
2782 {-1, 0x0164, 611},
2783 {-1, 0x2202, 476},
2784 {-1, 0x00FF, 500},
2785 {-1, 0x0143, 722},
2786 {-1, 0x00EE, 278},
2787 {-1, 0x00CA, 611},
2788 {-1, 0x00E4, 444},
2789 {-1, 0x00EB, 444},
2790 {-1, 0x0107, 444},
2791 {-1, 0x0144, 500},
2792 {-1, 0x016B, 500},
2793 {-1, 0x0147, 722},
2794 {-1, 0x00CD, 333},
2795 {-1, 0x00B1, 564},
2796 {-1, 0x00A6, 200},
2797 {-1, 0x00AE, 760},
2798 {-1, 0x011E, 722},
2799 {-1, 0x0130, 333},
2800 {-1, 0x2211, 600},
2801 {-1, 0x00C8, 611},
2802 {-1, 0x0155, 333},
2803 {-1, 0x014D, 500},
2804 {-1, 0x0179, 611},
2805 {-1, 0x017D, 611},
2806 {-1, 0x2265, 549},
2807 {-1, 0x00D0, 722},
2808 {-1, 0x00C7, 667},
2809 {-1, 0x013C, 278},
2810 {-1, 0x0165, 326},
2811 {-1, 0x0119, 444},
2812 {-1, 0x0172, 722},
2813 {-1, 0x00C1, 722},
2814 {-1, 0x00C4, 722},
2815 {-1, 0x00E8, 444},
2816 {-1, 0x017A, 444},
2817 {-1, 0x012F, 278},
2818 {-1, 0x00D3, 722},
2819 {-1, 0x00F3, 500},
2820 {-1, 0x0101, 444},
2821 {-1, 0x015B, 389},
2822 {-1, 0x00EF, 278},
2823 {-1, 0x00D4, 722},
2824 {-1, 0x00D9, 722},
2825 {-1, 0x0394, 612},
2826 {-1, 0x00FE, 500},
2827 {-1, 0x00B2, 300},
2828 {-1, 0x00D6, 722},
2829 {-1, 0x00B5, 500},
2830 {-1, 0x00EC, 278},
2831 {-1, 0x0151, 500},
2832 {-1, 0x0118, 611},
2833 {-1, 0x0111, 500},
2834 {-1, 0x00BE, 750},
2835 {-1, 0x015E, 556},
2836 {-1, 0x013E, 344},
2837 {-1, 0x0136, 722},
2838 {-1, 0x0139, 611},
2839 {-1, 0x2122, 980},
2840 {-1, 0x0117, 444},
2841 {-1, 0x00CC, 333},
2842 {-1, 0x012A, 333},
2843 {-1, 0x013D, 611},
2844 {-1, 0x00BD, 750},
2845 {-1, 0x2264, 549},
2846 {-1, 0x00F4, 500},
2847 {-1, 0x00F1, 500},
2848 {-1, 0x0170, 722},
2849 {-1, 0x00C9, 611},
2850 {-1, 0x0113, 444},
2851 {-1, 0x011F, 500},
2852 {-1, 0x00BC, 750},
2853 {-1, 0x0160, 556},
2854 {-1, 0x0218, 556},
2855 {-1, 0x0150, 722},
2856 {-1, 0x00B0, 400},
2857 {-1, 0x00F2, 500},
2858 {-1, 0x010C, 667},
2859 {-1, 0x00F9, 500},
2860 {-1, 0x221A, 453},
2861 {-1, 0x010E, 722},
2862 {-1, 0x0157, 333},
2863 {-1, 0x00D1, 722},
2864 {-1, 0x00F5, 500},
2865 {-1, 0x0156, 667},
2866 {-1, 0x013B, 611},
2867 {-1, 0x00C3, 722},
2868 {-1, 0x0104, 722},
2869 {-1, 0x00C5, 722},
2870 {-1, 0x00D5, 722},
2871 {-1, 0x017C, 444},
2872 {-1, 0x011A, 611},
2873 {-1, 0x012E, 333},
2874 {-1, 0x0137, 500},
2875 {-1, 0x2212, 564},
2876 {-1, 0x00CE, 333},
2877 {-1, 0x0148, 500},
2878 {-1, 0x0163, 278},
2879 {-1, 0x00AC, 564},
2880 {-1, 0x00F6, 500},
2881 {-1, 0x00FC, 500},
2882 {-1, 0x2260, 549},
2883 {-1, 0x0123, 500},
2884 {-1, 0x00F0, 500},
2885 {-1, 0x017E, 444},
2886 {-1, 0x0146, 500},
2887 {-1, 0x00B9, 300},
2888 {-1, 0x012B, 278},
2889 {-1, 0x20AC, 500},
2890 {-1, 0xFFFF, 0}
2891 };
2892
2893static const HPDF_CharData CHAR_DATA_TIMES_BOLD[316] = {
2894 {32, 0x0020, 250},
2895 {33, 0x0021, 333},
2896 {34, 0x0022, 555},
2897 {35, 0x0023, 500},
2898 {36, 0x0024, 500},
2899 {37, 0x0025, 1000},
2900 {38, 0x0026, 833},
2901 {39, 0x2019, 333},
2902 {40, 0x0028, 333},
2903 {41, 0x0029, 333},
2904 {42, 0x002A, 500},
2905 {43, 0x002B, 570},
2906 {44, 0x002C, 250},
2907 {45, 0x002D, 333},
2908 {46, 0x002E, 250},
2909 {47, 0x002F, 278},
2910 {48, 0x0030, 500},
2911 {49, 0x0031, 500},
2912 {50, 0x0032, 500},
2913 {51, 0x0033, 500},
2914 {52, 0x0034, 500},
2915 {53, 0x0035, 500},
2916 {54, 0x0036, 500},
2917 {55, 0x0037, 500},
2918 {56, 0x0038, 500},
2919 {57, 0x0039, 500},
2920 {58, 0x003A, 333},
2921 {59, 0x003B, 333},
2922 {60, 0x003C, 570},
2923 {61, 0x003D, 570},
2924 {62, 0x003E, 570},
2925 {63, 0x003F, 500},
2926 {64, 0x0040, 930},
2927 {65, 0x0041, 722},
2928 {66, 0x0042, 667},
2929 {67, 0x0043, 722},
2930 {68, 0x0044, 722},
2931 {69, 0x0045, 667},
2932 {70, 0x0046, 611},
2933 {71, 0x0047, 778},
2934 {72, 0x0048, 778},
2935 {73, 0x0049, 389},
2936 {74, 0x004A, 500},
2937 {75, 0x004B, 778},
2938 {76, 0x004C, 667},
2939 {77, 0x004D, 944},
2940 {78, 0x004E, 722},
2941 {79, 0x004F, 778},
2942 {80, 0x0050, 611},
2943 {81, 0x0051, 778},
2944 {82, 0x0052, 722},
2945 {83, 0x0053, 556},
2946 {84, 0x0054, 667},
2947 {85, 0x0055, 722},
2948 {86, 0x0056, 722},
2949 {87, 0x0057, 1000},
2950 {88, 0x0058, 722},
2951 {89, 0x0059, 722},
2952 {90, 0x005A, 667},
2953 {91, 0x005B, 333},
2954 {92, 0x005C, 278},
2955 {93, 0x005D, 333},
2956 {94, 0x005E, 581},
2957 {95, 0x005F, 500},
2958 {96, 0x2018, 333},
2959 {97, 0x0061, 500},
2960 {98, 0x0062, 556},
2961 {99, 0x0063, 444},
2962 {100, 0x0064, 556},
2963 {101, 0x0065, 444},
2964 {102, 0x0066, 333},
2965 {103, 0x0067, 500},
2966 {104, 0x0068, 556},
2967 {105, 0x0069, 278},
2968 {106, 0x006A, 333},
2969 {107, 0x006B, 556},
2970 {108, 0x006C, 278},
2971 {109, 0x006D, 833},
2972 {110, 0x006E, 556},
2973 {111, 0x006F, 500},
2974 {112, 0x0070, 556},
2975 {113, 0x0071, 556},
2976 {114, 0x0072, 444},
2977 {115, 0x0073, 389},
2978 {116, 0x0074, 333},
2979 {117, 0x0075, 556},
2980 {118, 0x0076, 500},
2981 {119, 0x0077, 722},
2982 {120, 0x0078, 500},
2983 {121, 0x0079, 500},
2984 {122, 0x007A, 444},
2985 {123, 0x007B, 394},
2986 {124, 0x007C, 220},
2987 {125, 0x007D, 394},
2988 {126, 0x007E, 520},
2989 {161, 0x00A1, 333},
2990 {162, 0x00A2, 500},
2991 {163, 0x00A3, 500},
2992 {164, 0x2044, 167},
2993 {165, 0x00A5, 500},
2994 {166, 0x0192, 500},
2995 {167, 0x00A7, 500},
2996 {168, 0x00A4, 500},
2997 {169, 0x0027, 278},
2998 {170, 0x201C, 500},
2999 {171, 0x00AB, 500},
3000 {172, 0x2039, 333},
3001 {173, 0x203A, 333},
3002 {174, 0xFB01, 556},
3003 {175, 0xFB02, 556},
3004 {177, 0x2013, 500},
3005 {178, 0x2020, 500},
3006 {179, 0x2021, 500},
3007 {180, 0x00B7, 250},
3008 {182, 0x00B6, 540},
3009 {183, 0x2022, 350},
3010 {184, 0x201A, 333},
3011 {185, 0x201E, 500},
3012 {186, 0x201D, 500},
3013 {187, 0x00BB, 500},
3014 {188, 0x2026, 1000},
3015 {189, 0x2030, 1000},
3016 {191, 0x00BF, 500},
3017 {193, 0x0060, 333},
3018 {194, 0x00B4, 333},
3019 {195, 0x02C6, 333},
3020 {196, 0x02DC, 333},
3021 {197, 0x00AF, 333},
3022 {198, 0x02D8, 333},
3023 {199, 0x02D9, 333},
3024 {200, 0x00A8, 333},
3025 {202, 0x02DA, 333},
3026 {203, 0x00B8, 333},
3027 {205, 0x02DD, 333},
3028 {206, 0x02DB, 333},
3029 {207, 0x02C7, 333},
3030 {208, 0x2014, 1000},
3031 {225, 0x00C6, 1000},
3032 {227, 0x00AA, 300},
3033 {232, 0x0141, 667},
3034 {233, 0x00D8, 778},
3035 {234, 0x0152, 1000},
3036 {235, 0x00BA, 330},
3037 {241, 0x00E6, 722},
3038 {245, 0x0131, 278},
3039 {248, 0x0142, 278},
3040 {249, 0x00F8, 500},
3041 {250, 0x0153, 722},
3042 {251, 0x00DF, 556},
3043 {-1, 0x00CF, 389},
3044 {-1, 0x00E9, 444},
3045 {-1, 0x0103, 500},
3046 {-1, 0x0171, 556},
3047 {-1, 0x011B, 444},
3048 {-1, 0x0178, 722},
3049 {-1, 0x00F7, 570},
3050 {-1, 0x00DD, 722},
3051 {-1, 0x00C2, 722},
3052 {-1, 0x00E1, 500},
3053 {-1, 0x00DB, 722},
3054 {-1, 0x00FD, 500},
3055 {-1, 0x0219, 389},
3056 {-1, 0x00EA, 444},
3057 {-1, 0x016E, 722},
3058 {-1, 0x00DC, 722},
3059 {-1, 0x0105, 500},
3060 {-1, 0x00DA, 722},
3061 {-1, 0x0173, 556},
3062 {-1, 0x00CB, 667},
3063 {-1, 0x0110, 722},
3064 {-1, 0xF6C3, 250},
3065 {-1, 0x00A9, 747},
3066 {-1, 0x0112, 667},
3067 {-1, 0x010D, 444},
3068 {-1, 0x00E5, 500},
3069 {-1, 0x0145, 722},
3070 {-1, 0x013A, 278},
3071 {-1, 0x00E0, 500},
3072 {-1, 0x0162, 667},
3073 {-1, 0x0106, 722},
3074 {-1, 0x00E3, 500},
3075 {-1, 0x0116, 667},
3076 {-1, 0x0161, 389},
3077 {-1, 0x015F, 389},
3078 {-1, 0x00ED, 278},
3079 {-1, 0x25CA, 494},
3080 {-1, 0x0158, 722},
3081 {-1, 0x0122, 778},
3082 {-1, 0x00FB, 556},
3083 {-1, 0x00E2, 500},
3084 {-1, 0x0100, 722},
3085 {-1, 0x0159, 444},
3086 {-1, 0x00E7, 444},
3087 {-1, 0x017B, 667},
3088 {-1, 0x00DE, 611},
3089 {-1, 0x014C, 778},
3090 {-1, 0x0154, 722},
3091 {-1, 0x015A, 556},
3092 {-1, 0x010F, 672},
3093 {-1, 0x016A, 722},
3094 {-1, 0x016F, 556},
3095 {-1, 0x00B3, 300},
3096 {-1, 0x00D2, 778},
3097 {-1, 0x00C0, 722},
3098 {-1, 0x0102, 722},
3099 {-1, 0x00D7, 570},
3100 {-1, 0x00FA, 556},
3101 {-1, 0x0164, 667},
3102 {-1, 0x2202, 494},
3103 {-1, 0x00FF, 500},
3104 {-1, 0x0143, 722},
3105 {-1, 0x00EE, 278},
3106 {-1, 0x00CA, 667},
3107 {-1, 0x00E4, 500},
3108 {-1, 0x00EB, 444},
3109 {-1, 0x0107, 444},
3110 {-1, 0x0144, 556},
3111 {-1, 0x016B, 556},
3112 {-1, 0x0147, 722},
3113 {-1, 0x00CD, 389},
3114 {-1, 0x00B1, 570},
3115 {-1, 0x00A6, 220},
3116 {-1, 0x00AE, 747},
3117 {-1, 0x011E, 778},
3118 {-1, 0x0130, 389},
3119 {-1, 0x2211, 600},
3120 {-1, 0x00C8, 667},
3121 {-1, 0x0155, 444},
3122 {-1, 0x014D, 500},
3123 {-1, 0x0179, 667},
3124 {-1, 0x017D, 667},
3125 {-1, 0x2265, 549},
3126 {-1, 0x00D0, 722},
3127 {-1, 0x00C7, 722},
3128 {-1, 0x013C, 278},
3129 {-1, 0x0165, 416},
3130 {-1, 0x0119, 444},
3131 {-1, 0x0172, 722},
3132 {-1, 0x00C1, 722},
3133 {-1, 0x00C4, 722},
3134 {-1, 0x00E8, 444},
3135 {-1, 0x017A, 444},
3136 {-1, 0x012F, 278},
3137 {-1, 0x00D3, 778},
3138 {-1, 0x00F3, 500},
3139 {-1, 0x0101, 500},
3140 {-1, 0x015B, 389},
3141 {-1, 0x00EF, 278},
3142 {-1, 0x00D4, 778},
3143 {-1, 0x00D9, 722},
3144 {-1, 0x0394, 612},
3145 {-1, 0x00FE, 556},
3146 {-1, 0x00B2, 300},
3147 {-1, 0x00D6, 778},
3148 {-1, 0x00B5, 556},
3149 {-1, 0x00EC, 278},
3150 {-1, 0x0151, 500},
3151 {-1, 0x0118, 667},
3152 {-1, 0x0111, 556},
3153 {-1, 0x00BE, 750},
3154 {-1, 0x015E, 556},
3155 {-1, 0x013E, 394},
3156 {-1, 0x0136, 778},
3157 {-1, 0x0139, 667},
3158 {-1, 0x2122, 1000},
3159 {-1, 0x0117, 444},
3160 {-1, 0x00CC, 389},
3161 {-1, 0x012A, 389},
3162 {-1, 0x013D, 667},
3163 {-1, 0x00BD, 750},
3164 {-1, 0x2264, 549},
3165 {-1, 0x00F4, 500},
3166 {-1, 0x00F1, 556},
3167 {-1, 0x0170, 722},
3168 {-1, 0x00C9, 667},
3169 {-1, 0x0113, 444},
3170 {-1, 0x011F, 500},
3171 {-1, 0x00BC, 750},
3172 {-1, 0x0160, 556},
3173 {-1, 0x0218, 556},
3174 {-1, 0x0150, 778},
3175 {-1, 0x00B0, 400},
3176 {-1, 0x00F2, 500},
3177 {-1, 0x010C, 722},
3178 {-1, 0x00F9, 556},
3179 {-1, 0x221A, 549},
3180 {-1, 0x010E, 722},
3181 {-1, 0x0157, 444},
3182 {-1, 0x00D1, 722},
3183 {-1, 0x00F5, 500},
3184 {-1, 0x0156, 722},
3185 {-1, 0x013B, 667},
3186 {-1, 0x00C3, 722},
3187 {-1, 0x0104, 722},
3188 {-1, 0x00C5, 722},
3189 {-1, 0x00D5, 778},
3190 {-1, 0x017C, 444},
3191 {-1, 0x011A, 667},
3192 {-1, 0x012E, 389},
3193 {-1, 0x0137, 556},
3194 {-1, 0x2212, 570},
3195 {-1, 0x00CE, 389},
3196 {-1, 0x0148, 556},
3197 {-1, 0x0163, 333},
3198 {-1, 0x00AC, 570},
3199 {-1, 0x00F6, 500},
3200 {-1, 0x00FC, 556},
3201 {-1, 0x2260, 549},
3202 {-1, 0x0123, 500},
3203 {-1, 0x00F0, 500},
3204 {-1, 0x017E, 444},
3205 {-1, 0x0146, 556},
3206 {-1, 0x00B9, 300},
3207 {-1, 0x012B, 278},
3208 {-1, 0x20AC, 500},
3209 {-1, 0xFFFF, 0}
3210 };
3211
3212static const HPDF_CharData CHAR_DATA_TIMES_BOLD_ITALIC[316] = {
3213 {32, 0x0020, 250},
3214 {33, 0x0021, 389},
3215 {34, 0x0022, 555},
3216 {35, 0x0023, 500},
3217 {36, 0x0024, 500},
3218 {37, 0x0025, 833},
3219 {38, 0x0026, 778},
3220 {39, 0x2019, 333},
3221 {40, 0x0028, 333},
3222 {41, 0x0029, 333},
3223 {42, 0x002A, 500},
3224 {43, 0x002B, 570},
3225 {44, 0x002C, 250},
3226 {45, 0x002D, 333},
3227 {46, 0x002E, 250},
3228 {47, 0x002F, 278},
3229 {48, 0x0030, 500},
3230 {49, 0x0031, 500},
3231 {50, 0x0032, 500},
3232 {51, 0x0033, 500},
3233 {52, 0x0034, 500},
3234 {53, 0x0035, 500},
3235 {54, 0x0036, 500},
3236 {55, 0x0037, 500},
3237 {56, 0x0038, 500},
3238 {57, 0x0039, 500},
3239 {58, 0x003A, 333},
3240 {59, 0x003B, 333},
3241 {60, 0x003C, 570},
3242 {61, 0x003D, 570},
3243 {62, 0x003E, 570},
3244 {63, 0x003F, 500},
3245 {64, 0x0040, 832},
3246 {65, 0x0041, 667},
3247 {66, 0x0042, 667},
3248 {67, 0x0043, 667},
3249 {68, 0x0044, 722},
3250 {69, 0x0045, 667},
3251 {70, 0x0046, 667},
3252 {71, 0x0047, 722},
3253 {72, 0x0048, 778},
3254 {73, 0x0049, 389},
3255 {74, 0x004A, 500},
3256 {75, 0x004B, 667},
3257 {76, 0x004C, 611},
3258 {77, 0x004D, 889},
3259 {78, 0x004E, 722},
3260 {79, 0x004F, 722},
3261 {80, 0x0050, 611},
3262 {81, 0x0051, 722},
3263 {82, 0x0052, 667},
3264 {83, 0x0053, 556},
3265 {84, 0x0054, 611},
3266 {85, 0x0055, 722},
3267 {86, 0x0056, 667},
3268 {87, 0x0057, 889},
3269 {88, 0x0058, 667},
3270 {89, 0x0059, 611},
3271 {90, 0x005A, 611},
3272 {91, 0x005B, 333},
3273 {92, 0x005C, 278},
3274 {93, 0x005D, 333},
3275 {94, 0x005E, 570},
3276 {95, 0x005F, 500},
3277 {96, 0x2018, 333},
3278 {97, 0x0061, 500},
3279 {98, 0x0062, 500},
3280 {99, 0x0063, 444},
3281 {100, 0x0064, 500},
3282 {101, 0x0065, 444},
3283 {102, 0x0066, 333},
3284 {103, 0x0067, 500},
3285 {104, 0x0068, 556},
3286 {105, 0x0069, 278},
3287 {106, 0x006A, 278},
3288 {107, 0x006B, 500},
3289 {108, 0x006C, 278},
3290 {109, 0x006D, 778},
3291 {110, 0x006E, 556},
3292 {111, 0x006F, 500},
3293 {112, 0x0070, 500},
3294 {113, 0x0071, 500},
3295 {114, 0x0072, 389},
3296 {115, 0x0073, 389},
3297 {116, 0x0074, 278},
3298 {117, 0x0075, 556},
3299 {118, 0x0076, 444},
3300 {119, 0x0077, 667},
3301 {120, 0x0078, 500},
3302 {121, 0x0079, 444},
3303 {122, 0x007A, 389},
3304 {123, 0x007B, 348},
3305 {124, 0x007C, 220},
3306 {125, 0x007D, 348},
3307 {126, 0x007E, 570},
3308 {161, 0x00A1, 389},
3309 {162, 0x00A2, 500},
3310 {163, 0x00A3, 500},
3311 {164, 0x2044, 167},
3312 {165, 0x00A5, 500},
3313 {166, 0x0192, 500},
3314 {167, 0x00A7, 500},
3315 {168, 0x00A4, 500},
3316 {169, 0x0027, 278},
3317 {170, 0x201C, 500},
3318 {171, 0x00AB, 500},
3319 {172, 0x2039, 333},
3320 {173, 0x203A, 333},
3321 {174, 0xFB01, 556},
3322 {175, 0xFB02, 556},
3323 {177, 0x2013, 500},
3324 {178, 0x2020, 500},
3325 {179, 0x2021, 500},
3326 {180, 0x00B7, 250},
3327 {182, 0x00B6, 500},
3328 {183, 0x2022, 350},
3329 {184, 0x201A, 333},
3330 {185, 0x201E, 500},
3331 {186, 0x201D, 500},
3332 {187, 0x00BB, 500},
3333 {188, 0x2026, 1000},
3334 {189, 0x2030, 1000},
3335 {191, 0x00BF, 500},
3336 {193, 0x0060, 333},
3337 {194, 0x00B4, 333},
3338 {195, 0x02C6, 333},
3339 {196, 0x02DC, 333},
3340 {197, 0x00AF, 333},
3341 {198, 0x02D8, 333},
3342 {199, 0x02D9, 333},
3343 {200, 0x00A8, 333},
3344 {202, 0x02DA, 333},
3345 {203, 0x00B8, 333},
3346 {205, 0x02DD, 333},
3347 {206, 0x02DB, 333},
3348 {207, 0x02C7, 333},
3349 {208, 0x2014, 1000},
3350 {225, 0x00C6, 944},
3351 {227, 0x00AA, 266},
3352 {232, 0x0141, 611},
3353 {233, 0x00D8, 722},
3354 {234, 0x0152, 944},
3355 {235, 0x00BA, 300},
3356 {241, 0x00E6, 722},
3357 {245, 0x0131, 278},
3358 {248, 0x0142, 278},
3359 {249, 0x00F8, 500},
3360 {250, 0x0153, 722},
3361 {251, 0x00DF, 500},
3362 {-1, 0x00CF, 389},
3363 {-1, 0x00E9, 444},
3364 {-1, 0x0103, 500},
3365 {-1, 0x0171, 556},
3366 {-1, 0x011B, 444},
3367 {-1, 0x0178, 611},
3368 {-1, 0x00F7, 570},
3369 {-1, 0x00DD, 611},
3370 {-1, 0x00C2, 667},
3371 {-1, 0x00E1, 500},
3372 {-1, 0x00DB, 722},
3373 {-1, 0x00FD, 444},
3374 {-1, 0x0219, 389},
3375 {-1, 0x00EA, 444},
3376 {-1, 0x016E, 722},
3377 {-1, 0x00DC, 722},
3378 {-1, 0x0105, 500},
3379 {-1, 0x00DA, 722},
3380 {-1, 0x0173, 556},
3381 {-1, 0x00CB, 667},
3382 {-1, 0x0110, 722},
3383 {-1, 0xF6C3, 250},
3384 {-1, 0x00A9, 747},
3385 {-1, 0x0112, 667},
3386 {-1, 0x010D, 444},
3387 {-1, 0x00E5, 500},
3388 {-1, 0x0145, 722},
3389 {-1, 0x013A, 278},
3390 {-1, 0x00E0, 500},
3391 {-1, 0x0162, 611},
3392 {-1, 0x0106, 667},
3393 {-1, 0x00E3, 500},
3394 {-1, 0x0116, 667},
3395 {-1, 0x0161, 389},
3396 {-1, 0x015F, 389},
3397 {-1, 0x00ED, 278},
3398 {-1, 0x25CA, 494},
3399 {-1, 0x0158, 667},
3400 {-1, 0x0122, 722},
3401 {-1, 0x00FB, 556},
3402 {-1, 0x00E2, 500},
3403 {-1, 0x0100, 667},
3404 {-1, 0x0159, 389},
3405 {-1, 0x00E7, 444},
3406 {-1, 0x017B, 611},
3407 {-1, 0x00DE, 611},
3408 {-1, 0x014C, 722},
3409 {-1, 0x0154, 667},
3410 {-1, 0x015A, 556},
3411 {-1, 0x010F, 608},
3412 {-1, 0x016A, 722},
3413 {-1, 0x016F, 556},
3414 {-1, 0x00B3, 300},
3415 {-1, 0x00D2, 722},
3416 {-1, 0x00C0, 667},
3417 {-1, 0x0102, 667},
3418 {-1, 0x00D7, 570},
3419 {-1, 0x00FA, 556},
3420 {-1, 0x0164, 611},
3421 {-1, 0x2202, 494},
3422 {-1, 0x00FF, 444},
3423 {-1, 0x0143, 722},
3424 {-1, 0x00EE, 278},
3425 {-1, 0x00CA, 667},
3426 {-1, 0x00E4, 500},
3427 {-1, 0x00EB, 444},
3428 {-1, 0x0107, 444},
3429 {-1, 0x0144, 556},
3430 {-1, 0x016B, 556},
3431 {-1, 0x0147, 722},
3432 {-1, 0x00CD, 389},
3433 {-1, 0x00B1, 570},
3434 {-1, 0x00A6, 220},
3435 {-1, 0x00AE, 747},
3436 {-1, 0x011E, 722},
3437 {-1, 0x0130, 389},
3438 {-1, 0x2211, 600},
3439 {-1, 0x00C8, 667},
3440 {-1, 0x0155, 389},
3441 {-1, 0x014D, 500},
3442 {-1, 0x0179, 611},
3443 {-1, 0x017D, 611},
3444 {-1, 0x2265, 549},
3445 {-1, 0x00D0, 722},
3446 {-1, 0x00C7, 667},
3447 {-1, 0x013C, 278},
3448 {-1, 0x0165, 366},
3449 {-1, 0x0119, 444},
3450 {-1, 0x0172, 722},
3451 {-1, 0x00C1, 667},
3452 {-1, 0x00C4, 667},
3453 {-1, 0x00E8, 444},
3454 {-1, 0x017A, 389},
3455 {-1, 0x012F, 278},
3456 {-1, 0x00D3, 722},
3457 {-1, 0x00F3, 500},
3458 {-1, 0x0101, 500},
3459 {-1, 0x015B, 389},
3460 {-1, 0x00EF, 278},
3461 {-1, 0x00D4, 722},
3462 {-1, 0x00D9, 722},
3463 {-1, 0x0394, 612},
3464 {-1, 0x00FE, 500},
3465 {-1, 0x00B2, 300},
3466 {-1, 0x00D6, 722},
3467 {-1, 0x00B5, 576},
3468 {-1, 0x00EC, 278},
3469 {-1, 0x0151, 500},
3470 {-1, 0x0118, 667},
3471 {-1, 0x0111, 500},
3472 {-1, 0x00BE, 750},
3473 {-1, 0x015E, 556},
3474 {-1, 0x013E, 382},
3475 {-1, 0x0136, 667},
3476 {-1, 0x0139, 611},
3477 {-1, 0x2122, 1000},
3478 {-1, 0x0117, 444},
3479 {-1, 0x00CC, 389},
3480 {-1, 0x012A, 389},
3481 {-1, 0x013D, 611},
3482 {-1, 0x00BD, 750},
3483 {-1, 0x2264, 549},
3484 {-1, 0x00F4, 500},
3485 {-1, 0x00F1, 556},
3486 {-1, 0x0170, 722},
3487 {-1, 0x00C9, 667},
3488 {-1, 0x0113, 444},
3489 {-1, 0x011F, 500},
3490 {-1, 0x00BC, 750},
3491 {-1, 0x0160, 556},
3492 {-1, 0x0218, 556},
3493 {-1, 0x0150, 722},
3494 {-1, 0x00B0, 400},
3495 {-1, 0x00F2, 500},
3496 {-1, 0x010C, 667},
3497 {-1, 0x00F9, 556},
3498 {-1, 0x221A, 549},
3499 {-1, 0x010E, 722},
3500 {-1, 0x0157, 389},
3501 {-1, 0x00D1, 722},
3502 {-1, 0x00F5, 500},
3503 {-1, 0x0156, 667},
3504 {-1, 0x013B, 611},
3505 {-1, 0x00C3, 667},
3506 {-1, 0x0104, 667},
3507 {-1, 0x00C5, 667},
3508 {-1, 0x00D5, 722},
3509 {-1, 0x017C, 389},
3510 {-1, 0x011A, 667},
3511 {-1, 0x012E, 389},
3512 {-1, 0x0137, 500},
3513 {-1, 0x2212, 606},
3514 {-1, 0x00CE, 389},
3515 {-1, 0x0148, 556},
3516 {-1, 0x0163, 278},
3517 {-1, 0x00AC, 606},
3518 {-1, 0x00F6, 500},
3519 {-1, 0x00FC, 556},
3520 {-1, 0x2260, 549},
3521 {-1, 0x0123, 500},
3522 {-1, 0x00F0, 500},
3523 {-1, 0x017E, 389},
3524 {-1, 0x0146, 556},
3525 {-1, 0x00B9, 300},
3526 {-1, 0x012B, 278},
3527 {-1, 0x20AC, 500},
3528 {-1, 0xFFFF, 0}
3529 };
3530
3531static const HPDF_CharData CHAR_DATA_TIMES_ITALIC[316] = {
3532 {32, 0x0020, 250},
3533 {33, 0x0021, 333},
3534 {34, 0x0022, 420},
3535 {35, 0x0023, 500},
3536 {36, 0x0024, 500},
3537 {37, 0x0025, 833},
3538 {38, 0x0026, 778},
3539 {39, 0x2019, 333},
3540 {40, 0x0028, 333},
3541 {41, 0x0029, 333},
3542 {42, 0x002A, 500},
3543 {43, 0x002B, 675},
3544 {44, 0x002C, 250},
3545 {45, 0x002D, 333},
3546 {46, 0x002E, 250},
3547 {47, 0x002F, 278},
3548 {48, 0x0030, 500},
3549 {49, 0x0031, 500},
3550 {50, 0x0032, 500},
3551 {51, 0x0033, 500},
3552 {52, 0x0034, 500},
3553 {53, 0x0035, 500},
3554 {54, 0x0036, 500},
3555 {55, 0x0037, 500},
3556 {56, 0x0038, 500},
3557 {57, 0x0039, 500},
3558 {58, 0x003A, 333},
3559 {59, 0x003B, 333},
3560 {60, 0x003C, 675},
3561 {61, 0x003D, 675},
3562 {62, 0x003E, 675},
3563 {63, 0x003F, 500},
3564 {64, 0x0040, 920},
3565 {65, 0x0041, 611},
3566 {66, 0x0042, 611},
3567 {67, 0x0043, 667},
3568 {68, 0x0044, 722},
3569 {69, 0x0045, 611},
3570 {70, 0x0046, 611},
3571 {71, 0x0047, 722},
3572 {72, 0x0048, 722},
3573 {73, 0x0049, 333},
3574 {74, 0x004A, 444},
3575 {75, 0x004B, 667},
3576 {76, 0x004C, 556},
3577 {77, 0x004D, 833},
3578 {78, 0x004E, 667},
3579 {79, 0x004F, 722},
3580 {80, 0x0050, 611},
3581 {81, 0x0051, 722},
3582 {82, 0x0052, 611},
3583 {83, 0x0053, 500},
3584 {84, 0x0054, 556},
3585 {85, 0x0055, 722},
3586 {86, 0x0056, 611},
3587 {87, 0x0057, 833},
3588 {88, 0x0058, 611},
3589 {89, 0x0059, 556},
3590 {90, 0x005A, 556},
3591 {91, 0x005B, 389},
3592 {92, 0x005C, 278},
3593 {93, 0x005D, 389},
3594 {94, 0x005E, 422},
3595 {95, 0x005F, 500},
3596 {96, 0x2018, 333},
3597 {97, 0x0061, 500},
3598 {98, 0x0062, 500},
3599 {99, 0x0063, 444},
3600 {100, 0x0064, 500},
3601 {101, 0x0065, 444},
3602 {102, 0x0066, 278},
3603 {103, 0x0067, 500},
3604 {104, 0x0068, 500},
3605 {105, 0x0069, 278},
3606 {106, 0x006A, 278},
3607 {107, 0x006B, 444},
3608 {108, 0x006C, 278},
3609 {109, 0x006D, 722},
3610 {110, 0x006E, 500},
3611 {111, 0x006F, 500},
3612 {112, 0x0070, 500},
3613 {113, 0x0071, 500},
3614 {114, 0x0072, 389},
3615 {115, 0x0073, 389},
3616 {116, 0x0074, 278},
3617 {117, 0x0075, 500},
3618 {118, 0x0076, 444},
3619 {119, 0x0077, 667},
3620 {120, 0x0078, 444},
3621 {121, 0x0079, 444},
3622 {122, 0x007A, 389},
3623 {123, 0x007B, 400},
3624 {124, 0x007C, 275},
3625 {125, 0x007D, 400},
3626 {126, 0x007E, 541},
3627 {161, 0x00A1, 389},
3628 {162, 0x00A2, 500},
3629 {163, 0x00A3, 500},
3630 {164, 0x2044, 167},
3631 {165, 0x00A5, 500},
3632 {166, 0x0192, 500},
3633 {167, 0x00A7, 500},
3634 {168, 0x00A4, 500},
3635 {169, 0x0027, 214},
3636 {170, 0x201C, 556},
3637 {171, 0x00AB, 500},
3638 {172, 0x2039, 333},
3639 {173, 0x203A, 333},
3640 {174, 0xFB01, 500},
3641 {175, 0xFB02, 500},
3642 {177, 0x2013, 500},
3643 {178, 0x2020, 500},
3644 {179, 0x2021, 500},
3645 {180, 0x00B7, 250},
3646 {182, 0x00B6, 523},
3647 {183, 0x2022, 350},
3648 {184, 0x201A, 333},
3649 {185, 0x201E, 556},
3650 {186, 0x201D, 556},
3651 {187, 0x00BB, 500},
3652 {188, 0x2026, 889},
3653 {189, 0x2030, 1000},
3654 {191, 0x00BF, 500},
3655 {193, 0x0060, 333},
3656 {194, 0x00B4, 333},
3657 {195, 0x02C6, 333},
3658 {196, 0x02DC, 333},
3659 {197, 0x00AF, 333},
3660 {198, 0x02D8, 333},
3661 {199, 0x02D9, 333},
3662 {200, 0x00A8, 333},
3663 {202, 0x02DA, 333},
3664 {203, 0x00B8, 333},
3665 {205, 0x02DD, 333},
3666 {206, 0x02DB, 333},
3667 {207, 0x02C7, 333},
3668 {208, 0x2014, 889},
3669 {225, 0x00C6, 889},
3670 {227, 0x00AA, 276},
3671 {232, 0x0141, 556},
3672 {233, 0x00D8, 722},
3673 {234, 0x0152, 944},
3674 {235, 0x00BA, 310},
3675 {241, 0x00E6, 667},
3676 {245, 0x0131, 278},
3677 {248, 0x0142, 278},
3678 {249, 0x00F8, 500},
3679 {250, 0x0153, 667},
3680 {251, 0x00DF, 500},
3681 {-1, 0x00CF, 333},
3682 {-1, 0x00E9, 444},
3683 {-1, 0x0103, 500},
3684 {-1, 0x0171, 500},
3685 {-1, 0x011B, 444},
3686 {-1, 0x0178, 556},
3687 {-1, 0x00F7, 675},
3688 {-1, 0x00DD, 556},
3689 {-1, 0x00C2, 611},
3690 {-1, 0x00E1, 500},
3691 {-1, 0x00DB, 722},
3692 {-1, 0x00FD, 444},
3693 {-1, 0x0219, 389},
3694 {-1, 0x00EA, 444},
3695 {-1, 0x016E, 722},
3696 {-1, 0x00DC, 722},
3697 {-1, 0x0105, 500},
3698 {-1, 0x00DA, 722},
3699 {-1, 0x0173, 500},
3700 {-1, 0x00CB, 611},
3701 {-1, 0x0110, 722},
3702 {-1, 0xF6C3, 250},
3703 {-1, 0x00A9, 760},
3704 {-1, 0x0112, 611},
3705 {-1, 0x010D, 444},
3706 {-1, 0x00E5, 500},
3707 {-1, 0x0145, 667},
3708 {-1, 0x013A, 278},
3709 {-1, 0x00E0, 500},
3710 {-1, 0x0162, 556},
3711 {-1, 0x0106, 667},
3712 {-1, 0x00E3, 500},
3713 {-1, 0x0116, 611},
3714 {-1, 0x0161, 389},
3715 {-1, 0x015F, 389},
3716 {-1, 0x00ED, 278},
3717 {-1, 0x25CA, 471},
3718 {-1, 0x0158, 611},
3719 {-1, 0x0122, 722},
3720 {-1, 0x00FB, 500},
3721 {-1, 0x00E2, 500},
3722 {-1, 0x0100, 611},
3723 {-1, 0x0159, 389},
3724 {-1, 0x00E7, 444},
3725 {-1, 0x017B, 556},
3726 {-1, 0x00DE, 611},
3727 {-1, 0x014C, 722},
3728 {-1, 0x0154, 611},
3729 {-1, 0x015A, 500},
3730 {-1, 0x010F, 544},
3731 {-1, 0x016A, 722},
3732 {-1, 0x016F, 500},
3733 {-1, 0x00B3, 300},
3734 {-1, 0x00D2, 722},
3735 {-1, 0x00C0, 611},
3736 {-1, 0x0102, 611},
3737 {-1, 0x00D7, 675},
3738 {-1, 0x00FA, 500},
3739 {-1, 0x0164, 556},
3740 {-1, 0x2202, 476},
3741 {-1, 0x00FF, 444},
3742 {-1, 0x0143, 667},
3743 {-1, 0x00EE, 278},
3744 {-1, 0x00CA, 611},
3745 {-1, 0x00E4, 500},
3746 {-1, 0x00EB, 444},
3747 {-1, 0x0107, 444},
3748 {-1, 0x0144, 500},
3749 {-1, 0x016B, 500},
3750 {-1, 0x0147, 667},
3751 {-1, 0x00CD, 333},
3752 {-1, 0x00B1, 675},
3753 {-1, 0x00A6, 275},
3754 {-1, 0x00AE, 760},
3755 {-1, 0x011E, 722},
3756 {-1, 0x0130, 333},
3757 {-1, 0x2211, 600},
3758 {-1, 0x00C8, 611},
3759 {-1, 0x0155, 389},
3760 {-1, 0x014D, 500},
3761 {-1, 0x0179, 556},
3762 {-1, 0x017D, 556},
3763 {-1, 0x2265, 549},
3764 {-1, 0x00D0, 722},
3765 {-1, 0x00C7, 667},
3766 {-1, 0x013C, 278},
3767 {-1, 0x0165, 300},
3768 {-1, 0x0119, 444},
3769 {-1, 0x0172, 722},
3770 {-1, 0x00C1, 611},
3771 {-1, 0x00C4, 611},
3772 {-1, 0x00E8, 444},
3773 {-1, 0x017A, 389},
3774 {-1, 0x012F, 278},
3775 {-1, 0x00D3, 722},
3776 {-1, 0x00F3, 500},
3777 {-1, 0x0101, 500},
3778 {-1, 0x015B, 389},
3779 {-1, 0x00EF, 278},
3780 {-1, 0x00D4, 722},
3781 {-1, 0x00D9, 722},
3782 {-1, 0x0394, 612},
3783 {-1, 0x00FE, 500},
3784 {-1, 0x00B2, 300},
3785 {-1, 0x00D6, 722},
3786 {-1, 0x00B5, 500},
3787 {-1, 0x00EC, 278},
3788 {-1, 0x0151, 500},
3789 {-1, 0x0118, 611},
3790 {-1, 0x0111, 500},
3791 {-1, 0x00BE, 750},
3792 {-1, 0x015E, 500},
3793 {-1, 0x013E, 300},
3794 {-1, 0x0136, 667},
3795 {-1, 0x0139, 556},
3796 {-1, 0x2122, 980},
3797 {-1, 0x0117, 444},
3798 {-1, 0x00CC, 333},
3799 {-1, 0x012A, 333},
3800 {-1, 0x013D, 611},
3801 {-1, 0x00BD, 750},
3802 {-1, 0x2264, 549},
3803 {-1, 0x00F4, 500},
3804 {-1, 0x00F1, 500},
3805 {-1, 0x0170, 722},
3806 {-1, 0x00C9, 611},
3807 {-1, 0x0113, 444},
3808 {-1, 0x011F, 500},
3809 {-1, 0x00BC, 750},
3810 {-1, 0x0160, 500},
3811 {-1, 0x0218, 500},
3812 {-1, 0x0150, 722},
3813 {-1, 0x00B0, 400},
3814 {-1, 0x00F2, 500},
3815 {-1, 0x010C, 667},
3816 {-1, 0x00F9, 500},
3817 {-1, 0x221A, 453},
3818 {-1, 0x010E, 722},
3819 {-1, 0x0157, 389},
3820 {-1, 0x00D1, 667},
3821 {-1, 0x00F5, 500},
3822 {-1, 0x0156, 611},
3823 {-1, 0x013B, 556},
3824 {-1, 0x00C3, 611},
3825 {-1, 0x0104, 611},
3826 {-1, 0x00C5, 611},
3827 {-1, 0x00D5, 722},
3828 {-1, 0x017C, 389},
3829 {-1, 0x011A, 611},
3830 {-1, 0x012E, 333},
3831 {-1, 0x0137, 444},
3832 {-1, 0x2212, 675},
3833 {-1, 0x00CE, 333},
3834 {-1, 0x0148, 500},
3835 {-1, 0x0163, 278},
3836 {-1, 0x00AC, 675},
3837 {-1, 0x00F6, 500},
3838 {-1, 0x00FC, 500},
3839 {-1, 0x2260, 549},
3840 {-1, 0x0123, 500},
3841 {-1, 0x00F0, 500},
3842 {-1, 0x017E, 389},
3843 {-1, 0x0146, 500},
3844 {-1, 0x00B9, 300},
3845 {-1, 0x012B, 278},
3846 {-1, 0x20AC, 500},
3847 {-1, 0xFFFF, 0}
3848 };
3849
3850static const HPDF_CharData CHAR_DATA_ZAPF_DINGBATS[203] = {
3851 {32, 0x0020, 278},
3852 {33, 0x0021, 974},
3853 {34, 0x0022, 961},
3854 {35, 0x0023, 974},
3855 {36, 0x0024, 980},
3856 {37, 0x0025, 719},
3857 {38, 0x0026, 789},
3858 {39, 0x0027, 790},
3859 {40, 0x0028, 791},
3860 {41, 0x0029, 690},
3861 {42, 0x002A, 960},
3862 {43, 0x002B, 939},
3863 {44, 0x002C, 549},
3864 {45, 0x002D, 855},
3865 {46, 0x002E, 911},
3866 {47, 0x002F, 933},
3867 {48, 0x0030, 911},
3868 {49, 0x0031, 945},
3869 {50, 0x0032, 974},
3870 {51, 0x0033, 755},
3871 {52, 0x0034, 846},
3872 {53, 0x0035, 762},
3873 {54, 0x0036, 761},
3874 {55, 0x0037, 571},
3875 {56, 0x0038, 677},
3876 {57, 0x0039, 763},
3877 {58, 0x003A, 760},
3878 {59, 0x003B, 759},
3879 {60, 0x003C, 754},
3880 {61, 0x003D, 494},
3881 {62, 0x003E, 552},
3882 {63, 0x003F, 537},
3883 {64, 0x0040, 577},
3884 {65, 0x0041, 692},
3885 {66, 0x0042, 786},
3886 {67, 0x0043, 788},
3887 {68, 0x0044, 788},
3888 {69, 0x0045, 790},
3889 {70, 0x0046, 793},
3890 {71, 0x0047, 794},
3891 {72, 0x0048, 816},
3892 {73, 0x0049, 823},
3893 {74, 0x004A, 789},
3894 {75, 0x004B, 841},
3895 {76, 0x004C, 823},
3896 {77, 0x004D, 833},
3897 {78, 0x004E, 816},
3898 {79, 0x004F, 831},
3899 {80, 0x0050, 923},
3900 {81, 0x0051, 744},
3901 {82, 0x0052, 723},
3902 {83, 0x0053, 749},
3903 {84, 0x0054, 790},
3904 {85, 0x0055, 792},
3905 {86, 0x0056, 695},
3906 {87, 0x0057, 776},
3907 {88, 0x0058, 768},
3908 {89, 0x0059, 792},
3909 {90, 0x005A, 759},
3910 {91, 0x005B, 707},
3911 {92, 0x005C, 708},
3912 {93, 0x005D, 682},
3913 {94, 0x005E, 701},
3914 {95, 0x005F, 826},
3915 {96, 0x0060, 815},
3916 {97, 0x0061, 789},
3917 {98, 0x0062, 789},
3918 {99, 0x0063, 707},
3919 {100, 0x0064, 687},
3920 {101, 0x0065, 696},
3921 {102, 0x0066, 689},
3922 {103, 0x0067, 786},
3923 {104, 0x0068, 787},
3924 {105, 0x0069, 713},
3925 {106, 0x006A, 791},
3926 {107, 0x006B, 785},
3927 {108, 0x006C, 791},
3928 {109, 0x006D, 873},
3929 {110, 0x006E, 761},
3930 {111, 0x006F, 762},
3931 {112, 0x0070, 762},
3932 {113, 0x0071, 759},
3933 {114, 0x0072, 759},
3934 {115, 0x0073, 892},
3935 {116, 0x0074, 892},
3936 {117, 0x0075, 788},
3937 {118, 0x0076, 784},
3938 {119, 0x0077, 438},
3939 {120, 0x0078, 138},
3940 {121, 0x0079, 277},
3941 {122, 0x007A, 415},
3942 {123, 0x007B, 392},
3943 {124, 0x007C, 392},
3944 {125, 0x007D, 668},
3945 {126, 0x007E, 668},
3946 {128, 0x0080, 390},
3947 {129, 0x0081, 390},
3948 {130, 0x0082, 317},
3949 {131, 0x0083, 317},
3950 {132, 0x0084, 276},
3951 {133, 0x0085, 276},
3952 {134, 0x0086, 509},
3953 {135, 0x0087, 509},
3954 {136, 0x0088, 410},
3955 {137, 0x0089, 410},
3956 {138, 0x008A, 234},
3957 {139, 0x008B, 234},
3958 {140, 0x008C, 334},
3959 {141, 0x008D, 334},
3960 {161, 0x00A1, 732},
3961 {162, 0x00A2, 544},
3962 {163, 0x00A3, 544},
3963 {164, 0x00A4, 910},
3964 {165, 0x00A5, 667},
3965 {166, 0x00A6, 760},
3966 {167, 0x00A7, 760},
3967 {168, 0x00A8, 776},
3968 {169, 0x00A9, 595},
3969 {170, 0x00AA, 694},
3970 {171, 0x00AB, 626},
3971 {172, 0x00AC, 788},
3972 {173, 0x00AD, 788},
3973 {174, 0x00AE, 788},
3974 {175, 0x00AF, 788},
3975 {176, 0x00B0, 788},
3976 {177, 0x00B1, 788},
3977 {178, 0x00B2, 788},
3978 {179, 0x00B3, 788},
3979 {180, 0x00B4, 788},
3980 {181, 0x00B5, 788},
3981 {182, 0x00B6, 788},
3982 {183, 0x00B7, 788},
3983 {184, 0x00B8, 788},
3984 {185, 0x00B9, 788},
3985 {186, 0x00BA, 788},
3986 {187, 0x00BB, 788},
3987 {188, 0x00BC, 788},
3988 {189, 0x00BD, 788},
3989 {190, 0x00BE, 788},
3990 {191, 0x00BF, 788},
3991 {192, 0x00C0, 788},
3992 {193, 0x00C1, 788},
3993 {194, 0x00C2, 788},
3994 {195, 0x00C3, 788},
3995 {196, 0x00C4, 788},
3996 {197, 0x00C5, 788},
3997 {198, 0x00C6, 788},
3998 {199, 0x00C7, 788},
3999 {200, 0x00C8, 788},
4000 {201, 0x00C9, 788},
4001 {202, 0x00CA, 788},
4002 {203, 0x00CB, 788},
4003 {204, 0x00CC, 788},
4004 {205, 0x00CD, 788},
4005 {206, 0x00CE, 788},
4006 {207, 0x00CF, 788},
4007 {208, 0x00D0, 788},
4008 {209, 0x00D1, 788},
4009 {210, 0x00D2, 788},
4010 {211, 0x00D3, 788},
4011 {212, 0x00D4, 894},
4012 {213, 0x00D5, 838},
4013 {214, 0x00D6, 1016},
4014 {215, 0x00D7, 458},
4015 {216, 0x00D8, 748},
4016 {217, 0x00D9, 924},
4017 {218, 0x00DA, 748},
4018 {219, 0x00DB, 918},
4019 {220, 0x00DC, 927},
4020 {221, 0x00DD, 928},
4021 {222, 0x00DE, 928},
4022 {223, 0x00DF, 834},
4023 {224, 0x00E0, 873},
4024 {225, 0x00E1, 828},
4025 {226, 0x00E2, 924},
4026 {227, 0x00E3, 924},
4027 {228, 0x00E4, 917},
4028 {229, 0x00E5, 930},
4029 {230, 0x00E6, 931},
4030 {231, 0x00E7, 463},
4031 {232, 0x00E8, 883},
4032 {233, 0x00E9, 836},
4033 {234, 0x00EA, 836},
4034 {235, 0x00EB, 867},
4035 {236, 0x00EC, 867},
4036 {237, 0x00ED, 696},
4037 {238, 0x00EE, 696},
4038 {239, 0x00EF, 874},
4039 {241, 0x00F1, 874},
4040 {242, 0x00F2, 760},
4041 {243, 0x00F3, 946},
4042 {244, 0x00F4, 771},
4043 {245, 0x00F5, 865},
4044 {246, 0x00F6, 771},
4045 {247, 0x00F7, 888},
4046 {248, 0x00F8, 967},
4047 {249, 0x00F9, 888},
4048 {250, 0x00FA, 831},
4049 {251, 0x00FB, 873},
4050 {252, 0x00FC, 927},
4051 {253, 0x00FD, 970},
4052 {254, 0x00FE, 918},
4053 {-1, 0xFFFF, 0}
4054 };
4055
4056static const HPDF_CharData CHAR_DATA_SYMBOL[190] = {
4057 {32, 0x0020, 250},
4058 {33, 0x0021, 333},
4059 {34, 0x0022, 713},
4060 {35, 0x0023, 500},
4061 {36, 0x0024, 549},
4062 {37, 0x0025, 833},
4063 {38, 0x0026, 778},
4064 {39, 0x0027, 439},
4065 {40, 0x0028, 333},
4066 {41, 0x0029, 333},
4067 {42, 0x002A, 500},
4068 {43, 0x002B, 549},
4069 {44, 0x002C, 250},
4070 {45, 0x002D, 549},
4071 {46, 0x002E, 250},
4072 {47, 0x002F, 278},
4073 {48, 0x0030, 500},
4074 {49, 0x0031, 500},
4075 {50, 0x0032, 500},
4076 {51, 0x0033, 500},
4077 {52, 0x0034, 500},
4078 {53, 0x0035, 500},
4079 {54, 0x0036, 500},
4080 {55, 0x0037, 500},
4081 {56, 0x0038, 500},
4082 {57, 0x0039, 500},
4083 {58, 0x003A, 278},
4084 {59, 0x003B, 278},
4085 {60, 0x003C, 549},
4086 {61, 0x003D, 549},
4087 {62, 0x003E, 549},
4088 {63, 0x003F, 444},
4089 {64, 0x0040, 549},
4090 {65, 0x0041, 722},
4091 {66, 0x0042, 667},
4092 {67, 0x0043, 722},
4093 {68, 0x0044, 612},
4094 {69, 0x0045, 611},
4095 {70, 0x0046, 763},
4096 {71, 0x0047, 603},
4097 {72, 0x0048, 722},
4098 {73, 0x0049, 333},
4099 {74, 0x004A, 631},
4100 {75, 0x004B, 722},
4101 {76, 0x004C, 686},
4102 {77, 0x004D, 889},
4103 {78, 0x004E, 722},
4104 {79, 0x004F, 722},
4105 {80, 0x0050, 768},
4106 {81, 0x0051, 741},
4107 {82, 0x0052, 556},
4108 {83, 0x0053, 592},
4109 {84, 0x0054, 611},
4110 {85, 0x0055, 690},
4111 {86, 0x0056, 439},
4112 {87, 0x0057, 768},
4113 {88, 0x0058, 645},
4114 {89, 0x0059, 795},
4115 {90, 0x005A, 611},
4116 {91, 0x005B, 333},
4117 {92, 0x005C, 863},
4118 {93, 0x005D, 333},
4119 {94, 0x005E, 658},
4120 {95, 0x005F, 500},
4121 {96, 0x0060, 500},
4122 {97, 0x0061, 631},
4123 {98, 0x0062, 549},
4124 {99, 0x0063, 549},
4125 {100, 0x0064, 494},
4126 {101, 0x0065, 439},
4127 {102, 0x0066, 521},
4128 {103, 0x0067, 411},
4129 {104, 0x0068, 603},
4130 {105, 0x0069, 329},
4131 {106, 0x006A, 603},
4132 {107, 0x006B, 549},
4133 {108, 0x006C, 549},
4134 {109, 0x006D, 576},
4135 {110, 0x006E, 521},
4136 {111, 0x006F, 549},
4137 {112, 0x0070, 549},
4138 {113, 0x0071, 521},
4139 {114, 0x0072, 549},
4140 {115, 0x0073, 603},
4141 {116, 0x0074, 439},
4142 {117, 0x0075, 576},
4143 {118, 0x0076, 713},
4144 {119, 0x0077, 686},
4145 {120, 0x0078, 493},
4146 {121, 0x0079, 686},
4147 {122, 0x007A, 494},
4148 {123, 0x007B, 480},
4149 {124, 0x007C, 200},
4150 {125, 0x007D, 480},
4151 {126, 0x007E, 549},
4152 {160, 0x00A0, 750},
4153 {161, 0x00A1, 620},
4154 {162, 0x00A2, 247},
4155 {163, 0x00A3, 549},
4156 {164, 0x00A4, 167},
4157 {165, 0x00A5, 713},
4158 {166, 0x00A6, 500},
4159 {167, 0x00A7, 753},
4160 {168, 0x00A8, 753},
4161 {169, 0x00A9, 753},
4162 {170, 0x00AA, 753},
4163 {171, 0x00AB, 1042},
4164 {172, 0x00AC, 987},
4165 {173, 0x00AD, 603},
4166 {174, 0x00AE, 987},
4167 {175, 0x00AF, 603},
4168 {176, 0x00B0, 400},
4169 {177, 0x00B1, 549},
4170 {178, 0x00B2, 411},
4171 {179, 0x00B3, 549},
4172 {180, 0x00B4, 549},
4173 {181, 0x00B5, 713},
4174 {182, 0x00B6, 494},
4175 {183, 0x00B7, 460},
4176 {184, 0x00B8, 549},
4177 {185, 0x00B9, 549},
4178 {186, 0x00BA, 549},
4179 {187, 0x00BB, 549},
4180 {188, 0x00BC, 1000},
4181 {189, 0x00BD, 603},
4182 {190, 0x00BE, 1000},
4183 {191, 0x00BF, 658},
4184 {192, 0x00C0, 823},
4185 {193, 0x00C1, 686},
4186 {194, 0x00C2, 795},
4187 {195, 0x00C3, 987},
4188 {196, 0x00C4, 768},
4189 {197, 0x00C5, 768},
4190 {198, 0x00C6, 823},
4191 {199, 0x00C7, 768},
4192 {200, 0x00C8, 768},
4193 {201, 0x00C9, 713},
4194 {202, 0x00CA, 713},
4195 {203, 0x00CB, 713},
4196 {204, 0x00CC, 713},
4197 {205, 0x00CD, 713},
4198 {206, 0x00CE, 713},
4199 {207, 0x00CF, 713},
4200 {208, 0x00D0, 768},
4201 {209, 0x00D1, 713},
4202 {210, 0x00D2, 790},
4203 {211, 0x00D3, 790},
4204 {212, 0x00D4, 890},
4205 {213, 0x00D5, 823},
4206 {214, 0x00D6, 549},
4207 {215, 0x00D7, 250},
4208 {216, 0x00D8, 713},
4209 {217, 0x00D9, 603},
4210 {218, 0x00DA, 603},
4211 {219, 0x00DB, 1042},
4212 {220, 0x00DC, 987},
4213 {221, 0x00DD, 603},
4214 {222, 0x00DE, 987},
4215 {223, 0x00DF, 603},
4216 {224, 0x00E0, 494},
4217 {225, 0x00E1, 329},
4218 {226, 0x00E2, 790},
4219 {227, 0x00E3, 790},
4220 {228, 0x00E4, 786},
4221 {229, 0x00E5, 713},
4222 {230, 0x00E6, 384},
4223 {231, 0x00E7, 384},
4224 {232, 0x00E8, 384},
4225 {233, 0x00E9, 384},
4226 {234, 0x00EA, 384},
4227 {235, 0x00EB, 384},
4228 {236, 0x00EC, 494},
4229 {237, 0x00ED, 494},
4230 {238, 0x00EE, 494},
4231 {239, 0x00EF, 494},
4232 {241, 0x00F1, 329},
4233 {242, 0x00F2, 274},
4234 {243, 0x00F3, 686},
4235 {244, 0x00F4, 686},
4236 {245, 0x00F5, 686},
4237 {246, 0x00F6, 384},
4238 {247, 0x00F7, 384},
4239 {248, 0x00F8, 384},
4240 {249, 0x00F9, 384},
4241 {250, 0x00FA, 384},
4242 {251, 0x00FB, 384},
4243 {252, 0x00FC, 494},
4244 {253, 0x00FD, 494},
4245 {254, 0x00FE, 494},
4246 {-1, 0xFFFF, 0}
4247 };
4248
4249
4250/*----------------------------------------------------------------------------*/
4251/*------ base14 fonts --------------------------------------------------------*/
4252
4253#define HPDF_FONT_COURIER "Courier"
4254#define HPDF_FONT_COURIER_BOLD "Courier-Bold"
4255#define HPDF_FONT_COURIER_OBLIQUE "Courier-Oblique"
4256#define HPDF_FONT_COURIER_BOLD_OBLIQUE "Courier-BoldOblique"
4257#define HPDF_FONT_HELVETICA "Helvetica"
4258#define HPDF_FONT_HELVETICA_BOLD "Helvetica-Bold"
4259#define HPDF_FONT_HELVETICA_OBLIQUE "Helvetica-Oblique"
4260#define HPDF_FONT_HELVETICA_BOLD_OBLIQUE "Helvetica-BoldOblique"
4261#define HPDF_FONT_TIMES_ROMAN "Times-Roman"
4262#define HPDF_FONT_TIMES_BOLD "Times-Bold"
4263#define HPDF_FONT_TIMES_ITALIC "Times-Italic"
4264#define HPDF_FONT_TIMES_BOLD_ITALIC "Times-BoldItalic"
4265#define HPDF_FONT_SYMBOL "Symbol"
4266#define HPDF_FONT_ZAPF_DINGBATS "ZapfDingbats"
4267
4268
4269typedef struct _HPDF_Base14FontDefData {
4270 const char *font_name;
4271 const HPDF_CharData *widths_table;
4272 HPDF_BOOL is_font_specific;
4273 HPDF_INT16 ascent;
4274 HPDF_INT16 descent;
4275 HPDF_UINT16 x_height;
4276 HPDF_UINT16 cap_height;
4277 HPDF_Box bbox;
4278} HPDF_Base14FontDefData;
4279
4280
4281static const HPDF_Base14FontDefData HPDF_BUILTIN_FONTS[] = {
4282 {
4283 HPDF_FONT_COURIER,
4284 CHAR_DATA_COURIER,
4285 HPDF_FALSE,
4286 629,
4287 -157,
4288 426,
4289 562,
4290 {-23, -250, 715, 805}
4291 },
4292 {
4293 HPDF_FONT_COURIER_BOLD,
4294 CHAR_DATA_COURIER_BOLD,
4295 HPDF_FALSE,
4296 629,
4297 -157,
4298 439,
4299 562,
4300 {-113, -250, 749, 801}
4301 },
4302 {
4303 HPDF_FONT_COURIER_OBLIQUE,
4304 CHAR_DATA_COURIER_OBLIQUE,
4305 HPDF_FALSE,
4306 629,
4307 -157,
4308 426,
4309 562,
4310 {-27, -250, 849, 805}
4311 },
4312 {
4313 HPDF_FONT_COURIER_BOLD_OBLIQUE,
4314 CHAR_DATA_COURIER_BOLD_OBLIQUE,
4315 HPDF_FALSE,
4316 629,
4317 -157,
4318 439,
4319 562,
4320 {-57, -250, 869, 801}
4321 },
4322 {
4323 HPDF_FONT_HELVETICA,
4324 CHAR_DATA_HELVETICA,
4325 HPDF_FALSE,
4326 718,
4327 -207,
4328 523,
4329 718,
4330 {-166, -225, 1000, 931}
4331 },
4332 {
4333 HPDF_FONT_HELVETICA_BOLD,
4334 CHAR_DATA_HELVETICA_BOLD,
4335 HPDF_FALSE,
4336 718,
4337 -207,
4338 532,
4339 718,
4340 {-170, -228, 1003, 962}
4341 },
4342 {
4343 HPDF_FONT_HELVETICA_OBLIQUE,
4344 CHAR_DATA_HELVETICA_OBLIQUE,
4345 HPDF_FALSE,
4346 718,
4347 -207,
4348 532,
4349 718,
4350 {-170, -225, 1116, 931}
4351 },
4352 {
4353 HPDF_FONT_HELVETICA_BOLD_OBLIQUE,
4354 CHAR_DATA_HELVETICA_BOLD_OBLIQUE,
4355 HPDF_FALSE,
4356 718,
4357 -207,
4358 532,
4359 718,
4360 {-174, -228, 1114, 962}
4361 },
4362 {
4363 HPDF_FONT_TIMES_ROMAN,
4364 CHAR_DATA_TIMES_ROMAN,
4365 HPDF_FALSE,
4366 683,
4367 -217,
4368 450,
4369 662,
4370 {-168, -218, 1000, 898}
4371 },
4372 {
4373 HPDF_FONT_TIMES_BOLD,
4374 CHAR_DATA_TIMES_BOLD,
4375 HPDF_FALSE,
4376 683,
4377 -217,
4378 461,
4379 676,
4380 {-168, -218, 1000, 935}
4381 },
4382 {
4383 HPDF_FONT_TIMES_ITALIC,
4384 CHAR_DATA_TIMES_ITALIC,
4385 HPDF_FALSE,
4386 683,
4387 -217,
4388 441,
4389 653,
4390 {-169, -217, 1010, 883}
4391 },
4392 {
4393 HPDF_FONT_TIMES_BOLD_ITALIC,
4394 CHAR_DATA_TIMES_BOLD_ITALIC,
4395 HPDF_FALSE,
4396 683,
4397 -217,
4398 462,
4399 669,
4400 {-200, -218, 996, 921}
4401 },
4402 {
4403 HPDF_FONT_SYMBOL,
4404 CHAR_DATA_SYMBOL,
4405 HPDF_TRUE,
4406 0,
4407 0,
4408 0,
4409 0,
4410 {-180, -293, 1090, 1010}
4411 },
4412 {
4413 HPDF_FONT_ZAPF_DINGBATS,
4414 CHAR_DATA_ZAPF_DINGBATS,
4415 HPDF_TRUE,
4416 0,
4417 0,
4418 0,
4419 0,
4420 {-1, -143, 981, 820}
4421 },
4422 {
4423 NULL,
4424 NULL,
4425 HPDF_FALSE,
4426 0,
4427 0,
4428 0,
4429 0,
4430 {0, 0, 0, 0}
4431 },
4432};
4433
4434
4435/*---------------------------------------------------------------------------*/
4436
4437const HPDF_Base14FontDefData*
4438HPDF_Base14FontDef_FindBuiltinData (const char *font_name);
4439
4440
4441/*---------------------------------------------------------------------------*/
4442/*----- PDF_Base14FontDef ---------------------------------------------------*/
4443
4444const HPDF_Base14FontDefData*
4445HPDF_Base14FontDef_FindBuiltinData (const char *font_name)
4446{
4447 HPDF_UINT i = 0;
4448
4449 while (HPDF_BUILTIN_FONTS[i].font_name) {
4450 if (HPDF_StrCmp (HPDF_BUILTIN_FONTS[i].font_name, font_name) == 0)
4451 break;
4452
4453 i++;
4454 }
4455
4456 return &HPDF_BUILTIN_FONTS[i];
4457}
4458
4459HPDF_FontDef
4460HPDF_Base14FontDef_New (HPDF_MMgr mmgr,
4461 const char *font_name)
4462{
4463 HPDF_FontDef fontdef;
4464 HPDF_STATUS ret;
4465 const HPDF_Base14FontDefData *data;
4466 char *eptr;
4467 HPDF_Type1FontDefAttr attr;
4468
4469 fontdef = HPDF_Type1FontDef_New (mmgr);
4470 if (!fontdef)
4471 return NULL;
4472
4473 data = HPDF_Base14FontDef_FindBuiltinData (font_name);
4474
4475 if (!data->font_name) {
4476 HPDF_SetError (mmgr->error, HPDF_INVALID_FONT_NAME, 0);
4477 HPDF_FontDef_Free (fontdef);
4478 return NULL;
4479 }
4480
4481 eptr = fontdef->base_font + HPDF_LIMIT_MAX_NAME_LEN;
4482 HPDF_StrCpy (fontdef->base_font, data->font_name, eptr);
4483
4484 attr = (HPDF_Type1FontDefAttr)fontdef->attr;
4485 attr->is_base14font = HPDF_TRUE;
4486
4487 if (data->is_font_specific)
4488 HPDF_StrCpy (attr->encoding_scheme, HPDF_ENCODING_FONT_SPECIFIC,
4489 attr->encoding_scheme + HPDF_LIMIT_MAX_NAME_LEN);
4490
4491 ret = HPDF_Type1FontDef_SetWidths (fontdef, data->widths_table);
4492
4493 if (ret != HPDF_OK) {
4494 HPDF_FontDef_Free (fontdef);
4495 return NULL;
4496 }
4497
4498 fontdef->font_bbox = data->bbox;
4499 fontdef->ascent = data->ascent;
4500 fontdef->descent = data->descent;
4501 fontdef->x_height = data->x_height;
4502 fontdef->cap_height = data->cap_height;
4503
4504 fontdef->valid = HPDF_TRUE;
4505
4506 return fontdef;
4507}
4508
4509