1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2025-02-08 05:47:14 +01:00
SqMod/vendor/POCO/PDF/src/hpdf_fontdef_base14.c
Sandu Liviu Catalin 4a6bfc086c Major plugin refactor and cleanup.
Switched to POCO library for unified platform/library interface.
Deprecated the external module API. It was creating more problems than solving.
Removed most built-in libraries in favor of system libraries for easier maintenance.
Cleaned and secured code with help from static analyzers.
2021-01-30 08:51:39 +02:00

4509 lines
103 KiB
C

/*
* << Haru Free PDF Library >> -- hpdf_fontdef_base14.c
*
* URL: http://libharu.org
*
* Copyright (c) 1999-2006 Takeshi Kanno <takeshi_kanno@est.hi-ho.ne.jp>
* Copyright (c) 2007-2009 Antony Dovgal <tony@daylessday.org>
*
* Permission to use, copy, modify, distribute and sell this software
* and its documentation for any purpose is hereby granted without fee,
* provided that the above copyright notice appear in all copies and
* that both that copyright notice and this permission notice appear
* in supporting documentation.
* It is provided "as is" without express or implied warranty.
*
*/
#include "hpdf_conf.h"
#include "hpdf_utils.h"
#include "hpdf_fontdef.h"
static const HPDF_CharData CHAR_DATA_COURIER[316] = {
{32, 0x0020, 600},
{33, 0x0021, 600},
{34, 0x0022, 600},
{35, 0x0023, 600},
{36, 0x0024, 600},
{37, 0x0025, 600},
{38, 0x0026, 600},
{39, 0x2019, 600},
{40, 0x0028, 600},
{41, 0x0029, 600},
{42, 0x002A, 600},
{43, 0x002B, 600},
{44, 0x002C, 600},
{45, 0x002D, 600},
{46, 0x002E, 600},
{47, 0x002F, 600},
{48, 0x0030, 600},
{49, 0x0031, 600},
{50, 0x0032, 600},
{51, 0x0033, 600},
{52, 0x0034, 600},
{53, 0x0035, 600},
{54, 0x0036, 600},
{55, 0x0037, 600},
{56, 0x0038, 600},
{57, 0x0039, 600},
{58, 0x003A, 600},
{59, 0x003B, 600},
{60, 0x003C, 600},
{61, 0x003D, 600},
{62, 0x003E, 600},
{63, 0x003F, 600},
{64, 0x0040, 600},
{65, 0x0041, 600},
{66, 0x0042, 600},
{67, 0x0043, 600},
{68, 0x0044, 600},
{69, 0x0045, 600},
{70, 0x0046, 600},
{71, 0x0047, 600},
{72, 0x0048, 600},
{73, 0x0049, 600},
{74, 0x004A, 600},
{75, 0x004B, 600},
{76, 0x004C, 600},
{77, 0x004D, 600},
{78, 0x004E, 600},
{79, 0x004F, 600},
{80, 0x0050, 600},
{81, 0x0051, 600},
{82, 0x0052, 600},
{83, 0x0053, 600},
{84, 0x0054, 600},
{85, 0x0055, 600},
{86, 0x0056, 600},
{87, 0x0057, 600},
{88, 0x0058, 600},
{89, 0x0059, 600},
{90, 0x005A, 600},
{91, 0x005B, 600},
{92, 0x005C, 600},
{93, 0x005D, 600},
{94, 0x005E, 600},
{95, 0x005F, 600},
{96, 0x2018, 600},
{97, 0x0061, 600},
{98, 0x0062, 600},
{99, 0x0063, 600},
{100, 0x0064, 600},
{101, 0x0065, 600},
{102, 0x0066, 600},
{103, 0x0067, 600},
{104, 0x0068, 600},
{105, 0x0069, 600},
{106, 0x006A, 600},
{107, 0x006B, 600},
{108, 0x006C, 600},
{109, 0x006D, 600},
{110, 0x006E, 600},
{111, 0x006F, 600},
{112, 0x0070, 600},
{113, 0x0071, 600},
{114, 0x0072, 600},
{115, 0x0073, 600},
{116, 0x0074, 600},
{117, 0x0075, 600},
{118, 0x0076, 600},
{119, 0x0077, 600},
{120, 0x0078, 600},
{121, 0x0079, 600},
{122, 0x007A, 600},
{123, 0x007B, 600},
{124, 0x007C, 600},
{125, 0x007D, 600},
{126, 0x007E, 600},
{161, 0x00A1, 600},
{162, 0x00A2, 600},
{163, 0x00A3, 600},
{164, 0x2044, 600},
{165, 0x00A5, 600},
{166, 0x0192, 600},
{167, 0x00A7, 600},
{168, 0x00A4, 600},
{169, 0x0027, 600},
{170, 0x201C, 600},
{171, 0x00AB, 600},
{172, 0x2039, 600},
{173, 0x203A, 600},
{174, 0xFB01, 600},
{175, 0xFB02, 600},
{177, 0x2013, 600},
{178, 0x2020, 600},
{179, 0x2021, 600},
{180, 0x00B7, 600},
{182, 0x00B6, 600},
{183, 0x2022, 600},
{184, 0x201A, 600},
{185, 0x201E, 600},
{186, 0x201D, 600},
{187, 0x00BB, 600},
{188, 0x2026, 600},
{189, 0x2030, 600},
{191, 0x00BF, 600},
{193, 0x0060, 600},
{194, 0x00B4, 600},
{195, 0x02C6, 600},
{196, 0x02DC, 600},
{197, 0x00AF, 600},
{198, 0x02D8, 600},
{199, 0x02D9, 600},
{200, 0x00A8, 600},
{202, 0x02DA, 600},
{203, 0x00B8, 600},
{205, 0x02DD, 600},
{206, 0x02DB, 600},
{207, 0x02C7, 600},
{208, 0x2014, 600},
{225, 0x00C6, 600},
{227, 0x00AA, 600},
{232, 0x0141, 600},
{233, 0x00D8, 600},
{234, 0x0152, 600},
{235, 0x00BA, 600},
{241, 0x00E6, 600},
{245, 0x0131, 600},
{248, 0x0142, 600},
{249, 0x00F8, 600},
{250, 0x0153, 600},
{251, 0x00DF, 600},
{-1, 0x00CF, 600},
{-1, 0x00E9, 600},
{-1, 0x0103, 600},
{-1, 0x0171, 600},
{-1, 0x011B, 600},
{-1, 0x0178, 600},
{-1, 0x00F7, 600},
{-1, 0x00DD, 600},
{-1, 0x00C2, 600},
{-1, 0x00E1, 600},
{-1, 0x00DB, 600},
{-1, 0x00FD, 600},
{-1, 0x0219, 600},
{-1, 0x00EA, 600},
{-1, 0x016E, 600},
{-1, 0x00DC, 600},
{-1, 0x0105, 600},
{-1, 0x00DA, 600},
{-1, 0x0173, 600},
{-1, 0x00CB, 600},
{-1, 0x0110, 600},
{-1, 0xF6C3, 600},
{-1, 0x00A9, 600},
{-1, 0x0112, 600},
{-1, 0x010D, 600},
{-1, 0x00E5, 600},
{-1, 0x0145, 600},
{-1, 0x013A, 600},
{-1, 0x00E0, 600},
{-1, 0x0162, 600},
{-1, 0x0106, 600},
{-1, 0x00E3, 600},
{-1, 0x0116, 600},
{-1, 0x0161, 600},
{-1, 0x015F, 600},
{-1, 0x00ED, 600},
{-1, 0x25CA, 600},
{-1, 0x0158, 600},
{-1, 0x0122, 600},
{-1, 0x00FB, 600},
{-1, 0x00E2, 600},
{-1, 0x0100, 600},
{-1, 0x0159, 600},
{-1, 0x00E7, 600},
{-1, 0x017B, 600},
{-1, 0x00DE, 600},
{-1, 0x014C, 600},
{-1, 0x0154, 600},
{-1, 0x015A, 600},
{-1, 0x010F, 600},
{-1, 0x016A, 600},
{-1, 0x016F, 600},
{-1, 0x00B3, 600},
{-1, 0x00D2, 600},
{-1, 0x00C0, 600},
{-1, 0x0102, 600},
{-1, 0x00D7, 600},
{-1, 0x00FA, 600},
{-1, 0x0164, 600},
{-1, 0x2202, 600},
{-1, 0x00FF, 600},
{-1, 0x0143, 600},
{-1, 0x00EE, 600},
{-1, 0x00CA, 600},
{-1, 0x00E4, 600},
{-1, 0x00EB, 600},
{-1, 0x0107, 600},
{-1, 0x0144, 600},
{-1, 0x016B, 600},
{-1, 0x0147, 600},
{-1, 0x00CD, 600},
{-1, 0x00B1, 600},
{-1, 0x00A6, 600},
{-1, 0x00AE, 600},
{-1, 0x011E, 600},
{-1, 0x0130, 600},
{-1, 0x2211, 600},
{-1, 0x00C8, 600},
{-1, 0x0155, 600},
{-1, 0x014D, 600},
{-1, 0x0179, 600},
{-1, 0x017D, 600},
{-1, 0x2265, 600},
{-1, 0x00D0, 600},
{-1, 0x00C7, 600},
{-1, 0x013C, 600},
{-1, 0x0165, 600},
{-1, 0x0119, 600},
{-1, 0x0172, 600},
{-1, 0x00C1, 600},
{-1, 0x00C4, 600},
{-1, 0x00E8, 600},
{-1, 0x017A, 600},
{-1, 0x012F, 600},
{-1, 0x00D3, 600},
{-1, 0x00F3, 600},
{-1, 0x0101, 600},
{-1, 0x015B, 600},
{-1, 0x00EF, 600},
{-1, 0x00D4, 600},
{-1, 0x00D9, 600},
{-1, 0x0394, 600},
{-1, 0x00FE, 600},
{-1, 0x00B2, 600},
{-1, 0x00D6, 600},
{-1, 0x00B5, 600},
{-1, 0x00EC, 600},
{-1, 0x0151, 600},
{-1, 0x0118, 600},
{-1, 0x0111, 600},
{-1, 0x00BE, 600},
{-1, 0x015E, 600},
{-1, 0x013E, 600},
{-1, 0x0136, 600},
{-1, 0x0139, 600},
{-1, 0x2122, 600},
{-1, 0x0117, 600},
{-1, 0x00CC, 600},
{-1, 0x012A, 600},
{-1, 0x013D, 600},
{-1, 0x00BD, 600},
{-1, 0x2264, 600},
{-1, 0x00F4, 600},
{-1, 0x00F1, 600},
{-1, 0x0170, 600},
{-1, 0x00C9, 600},
{-1, 0x0113, 600},
{-1, 0x011F, 600},
{-1, 0x00BC, 600},
{-1, 0x0160, 600},
{-1, 0x0218, 600},
{-1, 0x0150, 600},
{-1, 0x00B0, 600},
{-1, 0x00F2, 600},
{-1, 0x010C, 600},
{-1, 0x00F9, 600},
{-1, 0x221A, 600},
{-1, 0x010E, 600},
{-1, 0x0157, 600},
{-1, 0x00D1, 600},
{-1, 0x00F5, 600},
{-1, 0x0156, 600},
{-1, 0x013B, 600},
{-1, 0x00C3, 600},
{-1, 0x0104, 600},
{-1, 0x00C5, 600},
{-1, 0x00D5, 600},
{-1, 0x017C, 600},
{-1, 0x011A, 600},
{-1, 0x012E, 600},
{-1, 0x0137, 600},
{-1, 0x2212, 600},
{-1, 0x00CE, 600},
{-1, 0x0148, 600},
{-1, 0x0163, 600},
{-1, 0x00AC, 600},
{-1, 0x00F6, 600},
{-1, 0x00FC, 600},
{-1, 0x2260, 600},
{-1, 0x0123, 600},
{-1, 0x00F0, 600},
{-1, 0x017E, 600},
{-1, 0x0146, 600},
{-1, 0x00B9, 600},
{-1, 0x012B, 600},
{-1, 0x20AC, 600},
{-1, 0xFFFF, 0}
};
static const HPDF_CharData CHAR_DATA_COURIER_BOLD[316] = {
{32, 0x0020, 600},
{33, 0x0021, 600},
{34, 0x0022, 600},
{35, 0x0023, 600},
{36, 0x0024, 600},
{37, 0x0025, 600},
{38, 0x0026, 600},
{39, 0x2019, 600},
{40, 0x0028, 600},
{41, 0x0029, 600},
{42, 0x002A, 600},
{43, 0x002B, 600},
{44, 0x002C, 600},
{45, 0x002D, 600},
{46, 0x002E, 600},
{47, 0x002F, 600},
{48, 0x0030, 600},
{49, 0x0031, 600},
{50, 0x0032, 600},
{51, 0x0033, 600},
{52, 0x0034, 600},
{53, 0x0035, 600},
{54, 0x0036, 600},
{55, 0x0037, 600},
{56, 0x0038, 600},
{57, 0x0039, 600},
{58, 0x003A, 600},
{59, 0x003B, 600},
{60, 0x003C, 600},
{61, 0x003D, 600},
{62, 0x003E, 600},
{63, 0x003F, 600},
{64, 0x0040, 600},
{65, 0x0041, 600},
{66, 0x0042, 600},
{67, 0x0043, 600},
{68, 0x0044, 600},
{69, 0x0045, 600},
{70, 0x0046, 600},
{71, 0x0047, 600},
{72, 0x0048, 600},
{73, 0x0049, 600},
{74, 0x004A, 600},
{75, 0x004B, 600},
{76, 0x004C, 600},
{77, 0x004D, 600},
{78, 0x004E, 600},
{79, 0x004F, 600},
{80, 0x0050, 600},
{81, 0x0051, 600},
{82, 0x0052, 600},
{83, 0x0053, 600},
{84, 0x0054, 600},
{85, 0x0055, 600},
{86, 0x0056, 600},
{87, 0x0057, 600},
{88, 0x0058, 600},
{89, 0x0059, 600},
{90, 0x005A, 600},
{91, 0x005B, 600},
{92, 0x005C, 600},
{93, 0x005D, 600},
{94, 0x005E, 600},
{95, 0x005F, 600},
{96, 0x2018, 600},
{97, 0x0061, 600},
{98, 0x0062, 600},
{99, 0x0063, 600},
{100, 0x0064, 600},
{101, 0x0065, 600},
{102, 0x0066, 600},
{103, 0x0067, 600},
{104, 0x0068, 600},
{105, 0x0069, 600},
{106, 0x006A, 600},
{107, 0x006B, 600},
{108, 0x006C, 600},
{109, 0x006D, 600},
{110, 0x006E, 600},
{111, 0x006F, 600},
{112, 0x0070, 600},
{113, 0x0071, 600},
{114, 0x0072, 600},
{115, 0x0073, 600},
{116, 0x0074, 600},
{117, 0x0075, 600},
{118, 0x0076, 600},
{119, 0x0077, 600},
{120, 0x0078, 600},
{121, 0x0079, 600},
{122, 0x007A, 600},
{123, 0x007B, 600},
{124, 0x007C, 600},
{125, 0x007D, 600},
{126, 0x007E, 600},
{161, 0x00A1, 600},
{162, 0x00A2, 600},
{163, 0x00A3, 600},
{164, 0x2044, 600},
{165, 0x00A5, 600},
{166, 0x0192, 600},
{167, 0x00A7, 600},
{168, 0x00A4, 600},
{169, 0x0027, 600},
{170, 0x201C, 600},
{171, 0x00AB, 600},
{172, 0x2039, 600},
{173, 0x203A, 600},
{174, 0xFB01, 600},
{175, 0xFB02, 600},
{177, 0x2013, 600},
{178, 0x2020, 600},
{179, 0x2021, 600},
{180, 0x00B7, 600},
{182, 0x00B6, 600},
{183, 0x2022, 600},
{184, 0x201A, 600},
{185, 0x201E, 600},
{186, 0x201D, 600},
{187, 0x00BB, 600},
{188, 0x2026, 600},
{189, 0x2030, 600},
{191, 0x00BF, 600},
{193, 0x0060, 600},
{194, 0x00B4, 600},
{195, 0x02C6, 600},
{196, 0x02DC, 600},
{197, 0x00AF, 600},
{198, 0x02D8, 600},
{199, 0x02D9, 600},
{200, 0x00A8, 600},
{202, 0x02DA, 600},
{203, 0x00B8, 600},
{205, 0x02DD, 600},
{206, 0x02DB, 600},
{207, 0x02C7, 600},
{208, 0x2014, 600},
{225, 0x00C6, 600},
{227, 0x00AA, 600},
{232, 0x0141, 600},
{233, 0x00D8, 600},
{234, 0x0152, 600},
{235, 0x00BA, 600},
{241, 0x00E6, 600},
{245, 0x0131, 600},
{248, 0x0142, 600},
{249, 0x00F8, 600},
{250, 0x0153, 600},
{251, 0x00DF, 600},
{-1, 0x00CF, 600},
{-1, 0x00E9, 600},
{-1, 0x0103, 600},
{-1, 0x0171, 600},
{-1, 0x011B, 600},
{-1, 0x0178, 600},
{-1, 0x00F7, 600},
{-1, 0x00DD, 600},
{-1, 0x00C2, 600},
{-1, 0x00E1, 600},
{-1, 0x00DB, 600},
{-1, 0x00FD, 600},
{-1, 0x0219, 600},
{-1, 0x00EA, 600},
{-1, 0x016E, 600},
{-1, 0x00DC, 600},
{-1, 0x0105, 600},
{-1, 0x00DA, 600},
{-1, 0x0173, 600},
{-1, 0x00CB, 600},
{-1, 0x0110, 600},
{-1, 0xF6C3, 600},
{-1, 0x00A9, 600},
{-1, 0x0112, 600},
{-1, 0x010D, 600},
{-1, 0x00E5, 600},
{-1, 0x0145, 600},
{-1, 0x013A, 600},
{-1, 0x00E0, 600},
{-1, 0x0162, 600},
{-1, 0x0106, 600},
{-1, 0x00E3, 600},
{-1, 0x0116, 600},
{-1, 0x0161, 600},
{-1, 0x015F, 600},
{-1, 0x00ED, 600},
{-1, 0x25CA, 600},
{-1, 0x0158, 600},
{-1, 0x0122, 600},
{-1, 0x00FB, 600},
{-1, 0x00E2, 600},
{-1, 0x0100, 600},
{-1, 0x0159, 600},
{-1, 0x00E7, 600},
{-1, 0x017B, 600},
{-1, 0x00DE, 600},
{-1, 0x014C, 600},
{-1, 0x0154, 600},
{-1, 0x015A, 600},
{-1, 0x010F, 600},
{-1, 0x016A, 600},
{-1, 0x016F, 600},
{-1, 0x00B3, 600},
{-1, 0x00D2, 600},
{-1, 0x00C0, 600},
{-1, 0x0102, 600},
{-1, 0x00D7, 600},
{-1, 0x00FA, 600},
{-1, 0x0164, 600},
{-1, 0x2202, 600},
{-1, 0x00FF, 600},
{-1, 0x0143, 600},
{-1, 0x00EE, 600},
{-1, 0x00CA, 600},
{-1, 0x00E4, 600},
{-1, 0x00EB, 600},
{-1, 0x0107, 600},
{-1, 0x0144, 600},
{-1, 0x016B, 600},
{-1, 0x0147, 600},
{-1, 0x00CD, 600},
{-1, 0x00B1, 600},
{-1, 0x00A6, 600},
{-1, 0x00AE, 600},
{-1, 0x011E, 600},
{-1, 0x0130, 600},
{-1, 0x2211, 600},
{-1, 0x00C8, 600},
{-1, 0x0155, 600},
{-1, 0x014D, 600},
{-1, 0x0179, 600},
{-1, 0x017D, 600},
{-1, 0x2265, 600},
{-1, 0x00D0, 600},
{-1, 0x00C7, 600},
{-1, 0x013C, 600},
{-1, 0x0165, 600},
{-1, 0x0119, 600},
{-1, 0x0172, 600},
{-1, 0x00C1, 600},
{-1, 0x00C4, 600},
{-1, 0x00E8, 600},
{-1, 0x017A, 600},
{-1, 0x012F, 600},
{-1, 0x00D3, 600},
{-1, 0x00F3, 600},
{-1, 0x0101, 600},
{-1, 0x015B, 600},
{-1, 0x00EF, 600},
{-1, 0x00D4, 600},
{-1, 0x00D9, 600},
{-1, 0x0394, 600},
{-1, 0x00FE, 600},
{-1, 0x00B2, 600},
{-1, 0x00D6, 600},
{-1, 0x00B5, 600},
{-1, 0x00EC, 600},
{-1, 0x0151, 600},
{-1, 0x0118, 600},
{-1, 0x0111, 600},
{-1, 0x00BE, 600},
{-1, 0x015E, 600},
{-1, 0x013E, 600},
{-1, 0x0136, 600},
{-1, 0x0139, 600},
{-1, 0x2122, 600},
{-1, 0x0117, 600},
{-1, 0x00CC, 600},
{-1, 0x012A, 600},
{-1, 0x013D, 600},
{-1, 0x00BD, 600},
{-1, 0x2264, 600},
{-1, 0x00F4, 600},
{-1, 0x00F1, 600},
{-1, 0x0170, 600},
{-1, 0x00C9, 600},
{-1, 0x0113, 600},
{-1, 0x011F, 600},
{-1, 0x00BC, 600},
{-1, 0x0160, 600},
{-1, 0x0218, 600},
{-1, 0x0150, 600},
{-1, 0x00B0, 600},
{-1, 0x00F2, 600},
{-1, 0x010C, 600},
{-1, 0x00F9, 600},
{-1, 0x221A, 600},
{-1, 0x010E, 600},
{-1, 0x0157, 600},
{-1, 0x00D1, 600},
{-1, 0x00F5, 600},
{-1, 0x0156, 600},
{-1, 0x013B, 600},
{-1, 0x00C3, 600},
{-1, 0x0104, 600},
{-1, 0x00C5, 600},
{-1, 0x00D5, 600},
{-1, 0x017C, 600},
{-1, 0x011A, 600},
{-1, 0x012E, 600},
{-1, 0x0137, 600},
{-1, 0x2212, 600},
{-1, 0x00CE, 600},
{-1, 0x0148, 600},
{-1, 0x0163, 600},
{-1, 0x00AC, 600},
{-1, 0x00F6, 600},
{-1, 0x00FC, 600},
{-1, 0x2260, 600},
{-1, 0x0123, 600},
{-1, 0x00F0, 600},
{-1, 0x017E, 600},
{-1, 0x0146, 600},
{-1, 0x00B9, 600},
{-1, 0x012B, 600},
{-1, 0x20AC, 600},
{-1, 0xFFFF, 0}
};
static const HPDF_CharData CHAR_DATA_COURIER_BOLD_OBLIQUE[316] = {
{32, 0x0020, 600},
{33, 0x0021, 600},
{34, 0x0022, 600},
{35, 0x0023, 600},
{36, 0x0024, 600},
{37, 0x0025, 600},
{38, 0x0026, 600},
{39, 0x2019, 600},
{40, 0x0028, 600},
{41, 0x0029, 600},
{42, 0x002A, 600},
{43, 0x002B, 600},
{44, 0x002C, 600},
{45, 0x002D, 600},
{46, 0x002E, 600},
{47, 0x002F, 600},
{48, 0x0030, 600},
{49, 0x0031, 600},
{50, 0x0032, 600},
{51, 0x0033, 600},
{52, 0x0034, 600},
{53, 0x0035, 600},
{54, 0x0036, 600},
{55, 0x0037, 600},
{56, 0x0038, 600},
{57, 0x0039, 600},
{58, 0x003A, 600},
{59, 0x003B, 600},
{60, 0x003C, 600},
{61, 0x003D, 600},
{62, 0x003E, 600},
{63, 0x003F, 600},
{64, 0x0040, 600},
{65, 0x0041, 600},
{66, 0x0042, 600},
{67, 0x0043, 600},
{68, 0x0044, 600},
{69, 0x0045, 600},
{70, 0x0046, 600},
{71, 0x0047, 600},
{72, 0x0048, 600},
{73, 0x0049, 600},
{74, 0x004A, 600},
{75, 0x004B, 600},
{76, 0x004C, 600},
{77, 0x004D, 600},
{78, 0x004E, 600},
{79, 0x004F, 600},
{80, 0x0050, 600},
{81, 0x0051, 600},
{82, 0x0052, 600},
{83, 0x0053, 600},
{84, 0x0054, 600},
{85, 0x0055, 600},
{86, 0x0056, 600},
{87, 0x0057, 600},
{88, 0x0058, 600},
{89, 0x0059, 600},
{90, 0x005A, 600},
{91, 0x005B, 600},
{92, 0x005C, 600},
{93, 0x005D, 600},
{94, 0x005E, 600},
{95, 0x005F, 600},
{96, 0x2018, 600},
{97, 0x0061, 600},
{98, 0x0062, 600},
{99, 0x0063, 600},
{100, 0x0064, 600},
{101, 0x0065, 600},
{102, 0x0066, 600},
{103, 0x0067, 600},
{104, 0x0068, 600},
{105, 0x0069, 600},
{106, 0x006A, 600},
{107, 0x006B, 600},
{108, 0x006C, 600},
{109, 0x006D, 600},
{110, 0x006E, 600},
{111, 0x006F, 600},
{112, 0x0070, 600},
{113, 0x0071, 600},
{114, 0x0072, 600},
{115, 0x0073, 600},
{116, 0x0074, 600},
{117, 0x0075, 600},
{118, 0x0076, 600},
{119, 0x0077, 600},
{120, 0x0078, 600},
{121, 0x0079, 600},
{122, 0x007A, 600},
{123, 0x007B, 600},
{124, 0x007C, 600},
{125, 0x007D, 600},
{126, 0x007E, 600},
{161, 0x00A1, 600},
{162, 0x00A2, 600},
{163, 0x00A3, 600},
{164, 0x2044, 600},
{165, 0x00A5, 600},
{166, 0x0192, 600},
{167, 0x00A7, 600},
{168, 0x00A4, 600},
{169, 0x0027, 600},
{170, 0x201C, 600},
{171, 0x00AB, 600},
{172, 0x2039, 600},
{173, 0x203A, 600},
{174, 0xFB01, 600},
{175, 0xFB02, 600},
{177, 0x2013, 600},
{178, 0x2020, 600},
{179, 0x2021, 600},
{180, 0x00B7, 600},
{182, 0x00B6, 600},
{183, 0x2022, 600},
{184, 0x201A, 600},
{185, 0x201E, 600},
{186, 0x201D, 600},
{187, 0x00BB, 600},
{188, 0x2026, 600},
{189, 0x2030, 600},
{191, 0x00BF, 600},
{193, 0x0060, 600},
{194, 0x00B4, 600},
{195, 0x02C6, 600},
{196, 0x02DC, 600},
{197, 0x00AF, 600},
{198, 0x02D8, 600},
{199, 0x02D9, 600},
{200, 0x00A8, 600},
{202, 0x02DA, 600},
{203, 0x00B8, 600},
{205, 0x02DD, 600},
{206, 0x02DB, 600},
{207, 0x02C7, 600},
{208, 0x2014, 600},
{225, 0x00C6, 600},
{227, 0x00AA, 600},
{232, 0x0141, 600},
{233, 0x00D8, 600},
{234, 0x0152, 600},
{235, 0x00BA, 600},
{241, 0x00E6, 600},
{245, 0x0131, 600},
{248, 0x0142, 600},
{249, 0x00F8, 600},
{250, 0x0153, 600},
{251, 0x00DF, 600},
{-1, 0x00CF, 600},
{-1, 0x00E9, 600},
{-1, 0x0103, 600},
{-1, 0x0171, 600},
{-1, 0x011B, 600},
{-1, 0x0178, 600},
{-1, 0x00F7, 600},
{-1, 0x00DD, 600},
{-1, 0x00C2, 600},
{-1, 0x00E1, 600},
{-1, 0x00DB, 600},
{-1, 0x00FD, 600},
{-1, 0x0219, 600},
{-1, 0x00EA, 600},
{-1, 0x016E, 600},
{-1, 0x00DC, 600},
{-1, 0x0105, 600},
{-1, 0x00DA, 600},
{-1, 0x0173, 600},
{-1, 0x00CB, 600},
{-1, 0x0110, 600},
{-1, 0xF6C3, 600},
{-1, 0x00A9, 600},
{-1, 0x0112, 600},
{-1, 0x010D, 600},
{-1, 0x00E5, 600},
{-1, 0x0145, 600},
{-1, 0x013A, 600},
{-1, 0x00E0, 600},
{-1, 0x0162, 600},
{-1, 0x0106, 600},
{-1, 0x00E3, 600},
{-1, 0x0116, 600},
{-1, 0x0161, 600},
{-1, 0x015F, 600},
{-1, 0x00ED, 600},
{-1, 0x25CA, 600},
{-1, 0x0158, 600},
{-1, 0x0122, 600},
{-1, 0x00FB, 600},
{-1, 0x00E2, 600},
{-1, 0x0100, 600},
{-1, 0x0159, 600},
{-1, 0x00E7, 600},
{-1, 0x017B, 600},
{-1, 0x00DE, 600},
{-1, 0x014C, 600},
{-1, 0x0154, 600},
{-1, 0x015A, 600},
{-1, 0x010F, 600},
{-1, 0x016A, 600},
{-1, 0x016F, 600},
{-1, 0x00B3, 600},
{-1, 0x00D2, 600},
{-1, 0x00C0, 600},
{-1, 0x0102, 600},
{-1, 0x00D7, 600},
{-1, 0x00FA, 600},
{-1, 0x0164, 600},
{-1, 0x2202, 600},
{-1, 0x00FF, 600},
{-1, 0x0143, 600},
{-1, 0x00EE, 600},
{-1, 0x00CA, 600},
{-1, 0x00E4, 600},
{-1, 0x00EB, 600},
{-1, 0x0107, 600},
{-1, 0x0144, 600},
{-1, 0x016B, 600},
{-1, 0x0147, 600},
{-1, 0x00CD, 600},
{-1, 0x00B1, 600},
{-1, 0x00A6, 600},
{-1, 0x00AE, 600},
{-1, 0x011E, 600},
{-1, 0x0130, 600},
{-1, 0x2211, 600},
{-1, 0x00C8, 600},
{-1, 0x0155, 600},
{-1, 0x014D, 600},
{-1, 0x0179, 600},
{-1, 0x017D, 600},
{-1, 0x2265, 600},
{-1, 0x00D0, 600},
{-1, 0x00C7, 600},
{-1, 0x013C, 600},
{-1, 0x0165, 600},
{-1, 0x0119, 600},
{-1, 0x0172, 600},
{-1, 0x00C1, 600},
{-1, 0x00C4, 600},
{-1, 0x00E8, 600},
{-1, 0x017A, 600},
{-1, 0x012F, 600},
{-1, 0x00D3, 600},
{-1, 0x00F3, 600},
{-1, 0x0101, 600},
{-1, 0x015B, 600},
{-1, 0x00EF, 600},
{-1, 0x00D4, 600},
{-1, 0x00D9, 600},
{-1, 0x0394, 600},
{-1, 0x00FE, 600},
{-1, 0x00B2, 600},
{-1, 0x00D6, 600},
{-1, 0x00B5, 600},
{-1, 0x00EC, 600},
{-1, 0x0151, 600},
{-1, 0x0118, 600},
{-1, 0x0111, 600},
{-1, 0x00BE, 600},
{-1, 0x015E, 600},
{-1, 0x013E, 600},
{-1, 0x0136, 600},
{-1, 0x0139, 600},
{-1, 0x2122, 600},
{-1, 0x0117, 600},
{-1, 0x00CC, 600},
{-1, 0x012A, 600},
{-1, 0x013D, 600},
{-1, 0x00BD, 600},
{-1, 0x2264, 600},
{-1, 0x00F4, 600},
{-1, 0x00F1, 600},
{-1, 0x0170, 600},
{-1, 0x00C9, 600},
{-1, 0x0113, 600},
{-1, 0x011F, 600},
{-1, 0x00BC, 600},
{-1, 0x0160, 600},
{-1, 0x0218, 600},
{-1, 0x0150, 600},
{-1, 0x00B0, 600},
{-1, 0x00F2, 600},
{-1, 0x010C, 600},
{-1, 0x00F9, 600},
{-1, 0x221A, 600},
{-1, 0x010E, 600},
{-1, 0x0157, 600},
{-1, 0x00D1, 600},
{-1, 0x00F5, 600},
{-1, 0x0156, 600},
{-1, 0x013B, 600},
{-1, 0x00C3, 600},
{-1, 0x0104, 600},
{-1, 0x00C5, 600},
{-1, 0x00D5, 600},
{-1, 0x017C, 600},
{-1, 0x011A, 600},
{-1, 0x012E, 600},
{-1, 0x0137, 600},
{-1, 0x2212, 600},
{-1, 0x00CE, 600},
{-1, 0x0148, 600},
{-1, 0x0163, 600},
{-1, 0x00AC, 600},
{-1, 0x00F6, 600},
{-1, 0x00FC, 600},
{-1, 0x2260, 600},
{-1, 0x0123, 600},
{-1, 0x00F0, 600},
{-1, 0x017E, 600},
{-1, 0x0146, 600},
{-1, 0x00B9, 600},
{-1, 0x012B, 600},
{-1, 0x20AC, 600},
{-1, 0xFFFF, 0}
};
static const HPDF_CharData CHAR_DATA_COURIER_OBLIQUE[316] = {
{32, 0x0020, 600},
{33, 0x0021, 600},
{34, 0x0022, 600},
{35, 0x0023, 600},
{36, 0x0024, 600},
{37, 0x0025, 600},
{38, 0x0026, 600},
{39, 0x2019, 600},
{40, 0x0028, 600},
{41, 0x0029, 600},
{42, 0x002A, 600},
{43, 0x002B, 600},
{44, 0x002C, 600},
{45, 0x002D, 600},
{46, 0x002E, 600},
{47, 0x002F, 600},
{48, 0x0030, 600},
{49, 0x0031, 600},
{50, 0x0032, 600},
{51, 0x0033, 600},
{52, 0x0034, 600},
{53, 0x0035, 600},
{54, 0x0036, 600},
{55, 0x0037, 600},
{56, 0x0038, 600},
{57, 0x0039, 600},
{58, 0x003A, 600},
{59, 0x003B, 600},
{60, 0x003C, 600},
{61, 0x003D, 600},
{62, 0x003E, 600},
{63, 0x003F, 600},
{64, 0x0040, 600},
{65, 0x0041, 600},
{66, 0x0042, 600},
{67, 0x0043, 600},
{68, 0x0044, 600},
{69, 0x0045, 600},
{70, 0x0046, 600},
{71, 0x0047, 600},
{72, 0x0048, 600},
{73, 0x0049, 600},
{74, 0x004A, 600},
{75, 0x004B, 600},
{76, 0x004C, 600},
{77, 0x004D, 600},
{78, 0x004E, 600},
{79, 0x004F, 600},
{80, 0x0050, 600},
{81, 0x0051, 600},
{82, 0x0052, 600},
{83, 0x0053, 600},
{84, 0x0054, 600},
{85, 0x0055, 600},
{86, 0x0056, 600},
{87, 0x0057, 600},
{88, 0x0058, 600},
{89, 0x0059, 600},
{90, 0x005A, 600},
{91, 0x005B, 600},
{92, 0x005C, 600},
{93, 0x005D, 600},
{94, 0x005E, 600},
{95, 0x005F, 600},
{96, 0x2018, 600},
{97, 0x0061, 600},
{98, 0x0062, 600},
{99, 0x0063, 600},
{100, 0x0064, 600},
{101, 0x0065, 600},
{102, 0x0066, 600},
{103, 0x0067, 600},
{104, 0x0068, 600},
{105, 0x0069, 600},
{106, 0x006A, 600},
{107, 0x006B, 600},
{108, 0x006C, 600},
{109, 0x006D, 600},
{110, 0x006E, 600},
{111, 0x006F, 600},
{112, 0x0070, 600},
{113, 0x0071, 600},
{114, 0x0072, 600},
{115, 0x0073, 600},
{116, 0x0074, 600},
{117, 0x0075, 600},
{118, 0x0076, 600},
{119, 0x0077, 600},
{120, 0x0078, 600},
{121, 0x0079, 600},
{122, 0x007A, 600},
{123, 0x007B, 600},
{124, 0x007C, 600},
{125, 0x007D, 600},
{126, 0x007E, 600},
{161, 0x00A1, 600},
{162, 0x00A2, 600},
{163, 0x00A3, 600},
{164, 0x2044, 600},
{165, 0x00A5, 600},
{166, 0x0192, 600},
{167, 0x00A7, 600},
{168, 0x00A4, 600},
{169, 0x0027, 600},
{170, 0x201C, 600},
{171, 0x00AB, 600},
{172, 0x2039, 600},
{173, 0x203A, 600},
{174, 0xFB01, 600},
{175, 0xFB02, 600},
{177, 0x2013, 600},
{178, 0x2020, 600},
{179, 0x2021, 600},
{180, 0x00B7, 600},
{182, 0x00B6, 600},
{183, 0x2022, 600},
{184, 0x201A, 600},
{185, 0x201E, 600},
{186, 0x201D, 600},
{187, 0x00BB, 600},
{188, 0x2026, 600},
{189, 0x2030, 600},
{191, 0x00BF, 600},
{193, 0x0060, 600},
{194, 0x00B4, 600},
{195, 0x02C6, 600},
{196, 0x02DC, 600},
{197, 0x00AF, 600},
{198, 0x02D8, 600},
{199, 0x02D9, 600},
{200, 0x00A8, 600},
{202, 0x02DA, 600},
{203, 0x00B8, 600},
{205, 0x02DD, 600},
{206, 0x02DB, 600},
{207, 0x02C7, 600},
{208, 0x2014, 600},
{225, 0x00C6, 600},
{227, 0x00AA, 600},
{232, 0x0141, 600},
{233, 0x00D8, 600},
{234, 0x0152, 600},
{235, 0x00BA, 600},
{241, 0x00E6, 600},
{245, 0x0131, 600},
{248, 0x0142, 600},
{249, 0x00F8, 600},
{250, 0x0153, 600},
{251, 0x00DF, 600},
{-1, 0x00CF, 600},
{-1, 0x00E9, 600},
{-1, 0x0103, 600},
{-1, 0x0171, 600},
{-1, 0x011B, 600},
{-1, 0x0178, 600},
{-1, 0x00F7, 600},
{-1, 0x00DD, 600},
{-1, 0x00C2, 600},
{-1, 0x00E1, 600},
{-1, 0x00DB, 600},
{-1, 0x00FD, 600},
{-1, 0x0219, 600},
{-1, 0x00EA, 600},
{-1, 0x016E, 600},
{-1, 0x00DC, 600},
{-1, 0x0105, 600},
{-1, 0x00DA, 600},
{-1, 0x0173, 600},
{-1, 0x00CB, 600},
{-1, 0x0110, 600},
{-1, 0xF6C3, 600},
{-1, 0x00A9, 600},
{-1, 0x0112, 600},
{-1, 0x010D, 600},
{-1, 0x00E5, 600},
{-1, 0x0145, 600},
{-1, 0x013A, 600},
{-1, 0x00E0, 600},
{-1, 0x0162, 600},
{-1, 0x0106, 600},
{-1, 0x00E3, 600},
{-1, 0x0116, 600},
{-1, 0x0161, 600},
{-1, 0x015F, 600},
{-1, 0x00ED, 600},
{-1, 0x25CA, 600},
{-1, 0x0158, 600},
{-1, 0x0122, 600},
{-1, 0x00FB, 600},
{-1, 0x00E2, 600},
{-1, 0x0100, 600},
{-1, 0x0159, 600},
{-1, 0x00E7, 600},
{-1, 0x017B, 600},
{-1, 0x00DE, 600},
{-1, 0x014C, 600},
{-1, 0x0154, 600},
{-1, 0x015A, 600},
{-1, 0x010F, 600},
{-1, 0x016A, 600},
{-1, 0x016F, 600},
{-1, 0x00B3, 600},
{-1, 0x00D2, 600},
{-1, 0x00C0, 600},
{-1, 0x0102, 600},
{-1, 0x00D7, 600},
{-1, 0x00FA, 600},
{-1, 0x0164, 600},
{-1, 0x2202, 600},
{-1, 0x00FF, 600},
{-1, 0x0143, 600},
{-1, 0x00EE, 600},
{-1, 0x00CA, 600},
{-1, 0x00E4, 600},
{-1, 0x00EB, 600},
{-1, 0x0107, 600},
{-1, 0x0144, 600},
{-1, 0x016B, 600},
{-1, 0x0147, 600},
{-1, 0x00CD, 600},
{-1, 0x00B1, 600},
{-1, 0x00A6, 600},
{-1, 0x00AE, 600},
{-1, 0x011E, 600},
{-1, 0x0130, 600},
{-1, 0x2211, 600},
{-1, 0x00C8, 600},
{-1, 0x0155, 600},
{-1, 0x014D, 600},
{-1, 0x0179, 600},
{-1, 0x017D, 600},
{-1, 0x2265, 600},
{-1, 0x00D0, 600},
{-1, 0x00C7, 600},
{-1, 0x013C, 600},
{-1, 0x0165, 600},
{-1, 0x0119, 600},
{-1, 0x0172, 600},
{-1, 0x00C1, 600},
{-1, 0x00C4, 600},
{-1, 0x00E8, 600},
{-1, 0x017A, 600},
{-1, 0x012F, 600},
{-1, 0x00D3, 600},
{-1, 0x00F3, 600},
{-1, 0x0101, 600},
{-1, 0x015B, 600},
{-1, 0x00EF, 600},
{-1, 0x00D4, 600},
{-1, 0x00D9, 600},
{-1, 0x0394, 600},
{-1, 0x00FE, 600},
{-1, 0x00B2, 600},
{-1, 0x00D6, 600},
{-1, 0x00B5, 600},
{-1, 0x00EC, 600},
{-1, 0x0151, 600},
{-1, 0x0118, 600},
{-1, 0x0111, 600},
{-1, 0x00BE, 600},
{-1, 0x015E, 600},
{-1, 0x013E, 600},
{-1, 0x0136, 600},
{-1, 0x0139, 600},
{-1, 0x2122, 600},
{-1, 0x0117, 600},
{-1, 0x00CC, 600},
{-1, 0x012A, 600},
{-1, 0x013D, 600},
{-1, 0x00BD, 600},
{-1, 0x2264, 600},
{-1, 0x00F4, 600},
{-1, 0x00F1, 600},
{-1, 0x0170, 600},
{-1, 0x00C9, 600},
{-1, 0x0113, 600},
{-1, 0x011F, 600},
{-1, 0x00BC, 600},
{-1, 0x0160, 600},
{-1, 0x0218, 600},
{-1, 0x0150, 600},
{-1, 0x00B0, 600},
{-1, 0x00F2, 600},
{-1, 0x010C, 600},
{-1, 0x00F9, 600},
{-1, 0x221A, 600},
{-1, 0x010E, 600},
{-1, 0x0157, 600},
{-1, 0x00D1, 600},
{-1, 0x00F5, 600},
{-1, 0x0156, 600},
{-1, 0x013B, 600},
{-1, 0x00C3, 600},
{-1, 0x0104, 600},
{-1, 0x00C5, 600},
{-1, 0x00D5, 600},
{-1, 0x017C, 600},
{-1, 0x011A, 600},
{-1, 0x012E, 600},
{-1, 0x0137, 600},
{-1, 0x2212, 600},
{-1, 0x00CE, 600},
{-1, 0x0148, 600},
{-1, 0x0163, 600},
{-1, 0x00AC, 600},
{-1, 0x00F6, 600},
{-1, 0x00FC, 600},
{-1, 0x2260, 600},
{-1, 0x0123, 600},
{-1, 0x00F0, 600},
{-1, 0x017E, 600},
{-1, 0x0146, 600},
{-1, 0x00B9, 600},
{-1, 0x012B, 600},
{-1, 0x20AC, 600},
{-1, 0xFFFF, 0}
};
static const HPDF_CharData CHAR_DATA_HELVETICA[316] = {
{32, 0x0020, 278},
{33, 0x0021, 278},
{34, 0x0022, 355},
{35, 0x0023, 556},
{36, 0x0024, 556},
{37, 0x0025, 889},
{38, 0x0026, 667},
{39, 0x2019, 222},
{40, 0x0028, 333},
{41, 0x0029, 333},
{42, 0x002A, 389},
{43, 0x002B, 584},
{44, 0x002C, 278},
{45, 0x002D, 333},
{46, 0x002E, 278},
{47, 0x002F, 278},
{48, 0x0030, 556},
{49, 0x0031, 556},
{50, 0x0032, 556},
{51, 0x0033, 556},
{52, 0x0034, 556},
{53, 0x0035, 556},
{54, 0x0036, 556},
{55, 0x0037, 556},
{56, 0x0038, 556},
{57, 0x0039, 556},
{58, 0x003A, 278},
{59, 0x003B, 278},
{60, 0x003C, 584},
{61, 0x003D, 584},
{62, 0x003E, 584},
{63, 0x003F, 556},
{64, 0x0040, 1015},
{65, 0x0041, 667},
{66, 0x0042, 667},
{67, 0x0043, 722},
{68, 0x0044, 722},
{69, 0x0045, 667},
{70, 0x0046, 611},
{71, 0x0047, 778},
{72, 0x0048, 722},
{73, 0x0049, 278},
{74, 0x004A, 500},
{75, 0x004B, 667},
{76, 0x004C, 556},
{77, 0x004D, 833},
{78, 0x004E, 722},
{79, 0x004F, 778},
{80, 0x0050, 667},
{81, 0x0051, 778},
{82, 0x0052, 722},
{83, 0x0053, 667},
{84, 0x0054, 611},
{85, 0x0055, 722},
{86, 0x0056, 667},
{87, 0x0057, 944},
{88, 0x0058, 667},
{89, 0x0059, 667},
{90, 0x005A, 611},
{91, 0x005B, 278},
{92, 0x005C, 278},
{93, 0x005D, 278},
{94, 0x005E, 469},
{95, 0x005F, 556},
{96, 0x2018, 222},
{97, 0x0061, 556},
{98, 0x0062, 556},
{99, 0x0063, 500},
{100, 0x0064, 556},
{101, 0x0065, 556},
{102, 0x0066, 278},
{103, 0x0067, 556},
{104, 0x0068, 556},
{105, 0x0069, 222},
{106, 0x006A, 222},
{107, 0x006B, 500},
{108, 0x006C, 222},
{109, 0x006D, 833},
{110, 0x006E, 556},
{111, 0x006F, 556},
{112, 0x0070, 556},
{113, 0x0071, 556},
{114, 0x0072, 333},
{115, 0x0073, 500},
{116, 0x0074, 278},
{117, 0x0075, 556},
{118, 0x0076, 500},
{119, 0x0077, 722},
{120, 0x0078, 500},
{121, 0x0079, 500},
{122, 0x007A, 500},
{123, 0x007B, 334},
{124, 0x007C, 260},
{125, 0x007D, 334},
{126, 0x007E, 584},
{161, 0x00A1, 333},
{162, 0x00A2, 556},
{163, 0x00A3, 556},
{164, 0x2044, 167},
{165, 0x00A5, 556},
{166, 0x0192, 556},
{167, 0x00A7, 556},
{168, 0x00A4, 556},
{169, 0x0027, 191},
{170, 0x201C, 333},
{171, 0x00AB, 556},
{172, 0x2039, 333},
{173, 0x203A, 333},
{174, 0xFB01, 500},
{175, 0xFB02, 500},
{177, 0x2013, 556},
{178, 0x2020, 556},
{179, 0x2021, 556},
{180, 0x00B7, 278},
{182, 0x00B6, 537},
{183, 0x2022, 350},
{184, 0x201A, 222},
{185, 0x201E, 333},
{186, 0x201D, 333},
{187, 0x00BB, 556},
{188, 0x2026, 1000},
{189, 0x2030, 1000},
{191, 0x00BF, 611},
{193, 0x0060, 333},
{194, 0x00B4, 333},
{195, 0x02C6, 333},
{196, 0x02DC, 333},
{197, 0x00AF, 333},
{198, 0x02D8, 333},
{199, 0x02D9, 333},
{200, 0x00A8, 333},
{202, 0x02DA, 333},
{203, 0x00B8, 333},
{205, 0x02DD, 333},
{206, 0x02DB, 333},
{207, 0x02C7, 333},
{208, 0x2014, 1000},
{225, 0x00C6, 1000},
{227, 0x00AA, 370},
{232, 0x0141, 556},
{233, 0x00D8, 778},
{234, 0x0152, 1000},
{235, 0x00BA, 365},
{241, 0x00E6, 889},
{245, 0x0131, 278},
{248, 0x0142, 222},
{249, 0x00F8, 611},
{250, 0x0153, 944},
{251, 0x00DF, 611},
{-1, 0x00CF, 278},
{-1, 0x00E9, 556},
{-1, 0x0103, 556},
{-1, 0x0171, 556},
{-1, 0x011B, 556},
{-1, 0x0178, 667},
{-1, 0x00F7, 584},
{-1, 0x00DD, 667},
{-1, 0x00C2, 667},
{-1, 0x00E1, 556},
{-1, 0x00DB, 722},
{-1, 0x00FD, 500},
{-1, 0x0219, 500},
{-1, 0x00EA, 556},
{-1, 0x016E, 722},
{-1, 0x00DC, 722},
{-1, 0x0105, 556},
{-1, 0x00DA, 722},
{-1, 0x0173, 556},
{-1, 0x00CB, 667},
{-1, 0x0110, 722},
{-1, 0xF6C3, 250},
{-1, 0x00A9, 737},
{-1, 0x0112, 667},
{-1, 0x010D, 500},
{-1, 0x00E5, 556},
{-1, 0x0145, 722},
{-1, 0x013A, 222},
{-1, 0x00E0, 556},
{-1, 0x0162, 611},
{-1, 0x0106, 722},
{-1, 0x00E3, 556},
{-1, 0x0116, 667},
{-1, 0x0161, 500},
{-1, 0x015F, 500},
{-1, 0x00ED, 278},
{-1, 0x25CA, 471},
{-1, 0x0158, 722},
{-1, 0x0122, 778},
{-1, 0x00FB, 556},
{-1, 0x00E2, 556},
{-1, 0x0100, 667},
{-1, 0x0159, 333},
{-1, 0x00E7, 500},
{-1, 0x017B, 611},
{-1, 0x00DE, 667},
{-1, 0x014C, 778},
{-1, 0x0154, 722},
{-1, 0x015A, 667},
{-1, 0x010F, 643},
{-1, 0x016A, 722},
{-1, 0x016F, 556},
{-1, 0x00B3, 333},
{-1, 0x00D2, 778},
{-1, 0x00C0, 667},
{-1, 0x0102, 667},
{-1, 0x00D7, 584},
{-1, 0x00FA, 556},
{-1, 0x0164, 611},
{-1, 0x2202, 476},
{-1, 0x00FF, 500},
{-1, 0x0143, 722},
{-1, 0x00EE, 278},
{-1, 0x00CA, 667},
{-1, 0x00E4, 556},
{-1, 0x00EB, 556},
{-1, 0x0107, 500},
{-1, 0x0144, 556},
{-1, 0x016B, 556},
{-1, 0x0147, 722},
{-1, 0x00CD, 278},
{-1, 0x00B1, 584},
{-1, 0x00A6, 260},
{-1, 0x00AE, 737},
{-1, 0x011E, 778},
{-1, 0x0130, 278},
{-1, 0x2211, 600},
{-1, 0x00C8, 667},
{-1, 0x0155, 333},
{-1, 0x014D, 556},
{-1, 0x0179, 611},
{-1, 0x017D, 611},
{-1, 0x2265, 549},
{-1, 0x00D0, 722},
{-1, 0x00C7, 722},
{-1, 0x013C, 222},
{-1, 0x0165, 316},
{-1, 0x0119, 556},
{-1, 0x0172, 722},
{-1, 0x00C1, 667},
{-1, 0x00C4, 667},
{-1, 0x00E8, 556},
{-1, 0x017A, 500},
{-1, 0x012F, 222},
{-1, 0x00D3, 778},
{-1, 0x00F3, 556},
{-1, 0x0101, 556},
{-1, 0x015B, 500},
{-1, 0x00EF, 278},
{-1, 0x00D4, 778},
{-1, 0x00D9, 722},
{-1, 0x0394, 612},
{-1, 0x00FE, 556},
{-1, 0x00B2, 333},
{-1, 0x00D6, 778},
{-1, 0x00B5, 556},
{-1, 0x00EC, 278},
{-1, 0x0151, 556},
{-1, 0x0118, 667},
{-1, 0x0111, 556},
{-1, 0x00BE, 834},
{-1, 0x015E, 667},
{-1, 0x013E, 299},
{-1, 0x0136, 667},
{-1, 0x0139, 556},
{-1, 0x2122, 1000},
{-1, 0x0117, 556},
{-1, 0x00CC, 278},
{-1, 0x012A, 278},
{-1, 0x013D, 556},
{-1, 0x00BD, 834},
{-1, 0x2264, 549},
{-1, 0x00F4, 556},
{-1, 0x00F1, 556},
{-1, 0x0170, 722},
{-1, 0x00C9, 667},
{-1, 0x0113, 556},
{-1, 0x011F, 556},
{-1, 0x00BC, 834},
{-1, 0x0160, 667},
{-1, 0x0218, 667},
{-1, 0x0150, 778},
{-1, 0x00B0, 400},
{-1, 0x00F2, 556},
{-1, 0x010C, 722},
{-1, 0x00F9, 556},
{-1, 0x221A, 453},
{-1, 0x010E, 722},
{-1, 0x0157, 333},
{-1, 0x00D1, 722},
{-1, 0x00F5, 556},
{-1, 0x0156, 722},
{-1, 0x013B, 556},
{-1, 0x00C3, 667},
{-1, 0x0104, 667},
{-1, 0x00C5, 667},
{-1, 0x00D5, 778},
{-1, 0x017C, 500},
{-1, 0x011A, 667},
{-1, 0x012E, 278},
{-1, 0x0137, 500},
{-1, 0x2212, 584},
{-1, 0x00CE, 278},
{-1, 0x0148, 556},
{-1, 0x0163, 278},
{-1, 0x00AC, 584},
{-1, 0x00F6, 556},
{-1, 0x00FC, 556},
{-1, 0x2260, 549},
{-1, 0x0123, 556},
{-1, 0x00F0, 556},
{-1, 0x017E, 500},
{-1, 0x0146, 556},
{-1, 0x00B9, 333},
{-1, 0x012B, 278},
{-1, 0x20AC, 556},
{-1, 0xFFFF, 0}
};
static const HPDF_CharData CHAR_DATA_HELVETICA_BOLD[316] = {
{32, 0x0020, 278},
{33, 0x0021, 333},
{34, 0x0022, 474},
{35, 0x0023, 556},
{36, 0x0024, 556},
{37, 0x0025, 889},
{38, 0x0026, 722},
{39, 0x2019, 278},
{40, 0x0028, 333},
{41, 0x0029, 333},
{42, 0x002A, 389},
{43, 0x002B, 584},
{44, 0x002C, 278},
{45, 0x002D, 333},
{46, 0x002E, 278},
{47, 0x002F, 278},
{48, 0x0030, 556},
{49, 0x0031, 556},
{50, 0x0032, 556},
{51, 0x0033, 556},
{52, 0x0034, 556},
{53, 0x0035, 556},
{54, 0x0036, 556},
{55, 0x0037, 556},
{56, 0x0038, 556},
{57, 0x0039, 556},
{58, 0x003A, 333},
{59, 0x003B, 333},
{60, 0x003C, 584},
{61, 0x003D, 584},
{62, 0x003E, 584},
{63, 0x003F, 611},
{64, 0x0040, 975},
{65, 0x0041, 722},
{66, 0x0042, 722},
{67, 0x0043, 722},
{68, 0x0044, 722},
{69, 0x0045, 667},
{70, 0x0046, 611},
{71, 0x0047, 778},
{72, 0x0048, 722},
{73, 0x0049, 278},
{74, 0x004A, 556},
{75, 0x004B, 722},
{76, 0x004C, 611},
{77, 0x004D, 833},
{78, 0x004E, 722},
{79, 0x004F, 778},
{80, 0x0050, 667},
{81, 0x0051, 778},
{82, 0x0052, 722},
{83, 0x0053, 667},
{84, 0x0054, 611},
{85, 0x0055, 722},
{86, 0x0056, 667},
{87, 0x0057, 944},
{88, 0x0058, 667},
{89, 0x0059, 667},
{90, 0x005A, 611},
{91, 0x005B, 333},
{92, 0x005C, 278},
{93, 0x005D, 333},
{94, 0x005E, 584},
{95, 0x005F, 556},
{96, 0x2018, 278},
{97, 0x0061, 556},
{98, 0x0062, 611},
{99, 0x0063, 556},
{100, 0x0064, 611},
{101, 0x0065, 556},
{102, 0x0066, 333},
{103, 0x0067, 611},
{104, 0x0068, 611},
{105, 0x0069, 278},
{106, 0x006A, 278},
{107, 0x006B, 556},
{108, 0x006C, 278},
{109, 0x006D, 889},
{110, 0x006E, 611},
{111, 0x006F, 611},
{112, 0x0070, 611},
{113, 0x0071, 611},
{114, 0x0072, 389},
{115, 0x0073, 556},
{116, 0x0074, 333},
{117, 0x0075, 611},
{118, 0x0076, 556},
{119, 0x0077, 778},
{120, 0x0078, 556},
{121, 0x0079, 556},
{122, 0x007A, 500},
{123, 0x007B, 389},
{124, 0x007C, 280},
{125, 0x007D, 389},
{126, 0x007E, 584},
{161, 0x00A1, 333},
{162, 0x00A2, 556},
{163, 0x00A3, 556},
{164, 0x2044, 167},
{165, 0x00A5, 556},
{166, 0x0192, 556},
{167, 0x00A7, 556},
{168, 0x00A4, 556},
{169, 0x0027, 238},
{170, 0x201C, 500},
{171, 0x00AB, 556},
{172, 0x2039, 333},
{173, 0x203A, 333},
{174, 0xFB01, 611},
{175, 0xFB02, 611},
{177, 0x2013, 556},
{178, 0x2020, 556},
{179, 0x2021, 556},
{180, 0x00B7, 278},
{182, 0x00B6, 556},
{183, 0x2022, 350},
{184, 0x201A, 278},
{185, 0x201E, 500},
{186, 0x201D, 500},
{187, 0x00BB, 556},
{188, 0x2026, 1000},
{189, 0x2030, 1000},
{191, 0x00BF, 611},
{193, 0x0060, 333},
{194, 0x00B4, 333},
{195, 0x02C6, 333},
{196, 0x02DC, 333},
{197, 0x00AF, 333},
{198, 0x02D8, 333},
{199, 0x02D9, 333},
{200, 0x00A8, 333},
{202, 0x02DA, 333},
{203, 0x00B8, 333},
{205, 0x02DD, 333},
{206, 0x02DB, 333},
{207, 0x02C7, 333},
{208, 0x2014, 1000},
{225, 0x00C6, 1000},
{227, 0x00AA, 370},
{232, 0x0141, 611},
{233, 0x00D8, 778},
{234, 0x0152, 1000},
{235, 0x00BA, 365},
{241, 0x00E6, 889},
{245, 0x0131, 278},
{248, 0x0142, 278},
{249, 0x00F8, 611},
{250, 0x0153, 944},
{251, 0x00DF, 611},
{-1, 0x00CF, 278},
{-1, 0x00E9, 556},
{-1, 0x0103, 556},
{-1, 0x0171, 611},
{-1, 0x011B, 556},
{-1, 0x0178, 667},
{-1, 0x00F7, 584},
{-1, 0x00DD, 667},
{-1, 0x00C2, 722},
{-1, 0x00E1, 556},
{-1, 0x00DB, 722},
{-1, 0x00FD, 556},
{-1, 0x0219, 556},
{-1, 0x00EA, 556},
{-1, 0x016E, 722},
{-1, 0x00DC, 722},
{-1, 0x0105, 556},
{-1, 0x00DA, 722},
{-1, 0x0173, 611},
{-1, 0x00CB, 667},
{-1, 0x0110, 722},
{-1, 0xF6C3, 250},
{-1, 0x00A9, 737},
{-1, 0x0112, 667},
{-1, 0x010D, 556},
{-1, 0x00E5, 556},
{-1, 0x0145, 722},
{-1, 0x013A, 278},
{-1, 0x00E0, 556},
{-1, 0x0162, 611},
{-1, 0x0106, 722},
{-1, 0x00E3, 556},
{-1, 0x0116, 667},
{-1, 0x0161, 556},
{-1, 0x015F, 556},
{-1, 0x00ED, 278},
{-1, 0x25CA, 494},
{-1, 0x0158, 722},
{-1, 0x0122, 778},
{-1, 0x00FB, 611},
{-1, 0x00E2, 556},
{-1, 0x0100, 722},
{-1, 0x0159, 389},
{-1, 0x00E7, 556},
{-1, 0x017B, 611},
{-1, 0x00DE, 667},
{-1, 0x014C, 778},
{-1, 0x0154, 722},
{-1, 0x015A, 667},
{-1, 0x010F, 743},
{-1, 0x016A, 722},
{-1, 0x016F, 611},
{-1, 0x00B3, 333},
{-1, 0x00D2, 778},
{-1, 0x00C0, 722},
{-1, 0x0102, 722},
{-1, 0x00D7, 584},
{-1, 0x00FA, 611},
{-1, 0x0164, 611},
{-1, 0x2202, 494},
{-1, 0x00FF, 556},
{-1, 0x0143, 722},
{-1, 0x00EE, 278},
{-1, 0x00CA, 667},
{-1, 0x00E4, 556},
{-1, 0x00EB, 556},
{-1, 0x0107, 556},
{-1, 0x0144, 611},
{-1, 0x016B, 611},
{-1, 0x0147, 722},
{-1, 0x00CD, 278},
{-1, 0x00B1, 584},
{-1, 0x00A6, 280},
{-1, 0x00AE, 737},
{-1, 0x011E, 778},
{-1, 0x0130, 278},
{-1, 0x2211, 600},
{-1, 0x00C8, 667},
{-1, 0x0155, 389},
{-1, 0x014D, 611},
{-1, 0x0179, 611},
{-1, 0x017D, 611},
{-1, 0x2265, 549},
{-1, 0x00D0, 722},
{-1, 0x00C7, 722},
{-1, 0x013C, 278},
{-1, 0x0165, 389},
{-1, 0x0119, 556},
{-1, 0x0172, 722},
{-1, 0x00C1, 722},
{-1, 0x00C4, 722},
{-1, 0x00E8, 556},
{-1, 0x017A, 500},
{-1, 0x012F, 278},
{-1, 0x00D3, 778},
{-1, 0x00F3, 611},
{-1, 0x0101, 556},
{-1, 0x015B, 556},
{-1, 0x00EF, 278},
{-1, 0x00D4, 778},
{-1, 0x00D9, 722},
{-1, 0x0394, 612},
{-1, 0x00FE, 611},
{-1, 0x00B2, 333},
{-1, 0x00D6, 778},
{-1, 0x00B5, 611},
{-1, 0x00EC, 278},
{-1, 0x0151, 611},
{-1, 0x0118, 667},
{-1, 0x0111, 611},
{-1, 0x00BE, 834},
{-1, 0x015E, 667},
{-1, 0x013E, 400},
{-1, 0x0136, 722},
{-1, 0x0139, 611},
{-1, 0x2122, 1000},
{-1, 0x0117, 556},
{-1, 0x00CC, 278},
{-1, 0x012A, 278},
{-1, 0x013D, 611},
{-1, 0x00BD, 834},
{-1, 0x2264, 549},
{-1, 0x00F4, 611},
{-1, 0x00F1, 611},
{-1, 0x0170, 722},
{-1, 0x00C9, 667},
{-1, 0x0113, 556},
{-1, 0x011F, 611},
{-1, 0x00BC, 834},
{-1, 0x0160, 667},
{-1, 0x0218, 667},
{-1, 0x0150, 778},
{-1, 0x00B0, 400},
{-1, 0x00F2, 611},
{-1, 0x010C, 722},
{-1, 0x00F9, 611},
{-1, 0x221A, 549},
{-1, 0x010E, 722},
{-1, 0x0157, 389},
{-1, 0x00D1, 722},
{-1, 0x00F5, 611},
{-1, 0x0156, 722},
{-1, 0x013B, 611},
{-1, 0x00C3, 722},
{-1, 0x0104, 722},
{-1, 0x00C5, 722},
{-1, 0x00D5, 778},
{-1, 0x017C, 500},
{-1, 0x011A, 667},
{-1, 0x012E, 278},
{-1, 0x0137, 556},
{-1, 0x2212, 584},
{-1, 0x00CE, 278},
{-1, 0x0148, 611},
{-1, 0x0163, 333},
{-1, 0x00AC, 584},
{-1, 0x00F6, 611},
{-1, 0x00FC, 611},
{-1, 0x2260, 549},
{-1, 0x0123, 611},
{-1, 0x00F0, 611},
{-1, 0x017E, 500},
{-1, 0x0146, 611},
{-1, 0x00B9, 333},
{-1, 0x012B, 278},
{-1, 0x20AC, 556},
{-1, 0xFFFF, 0}
};
static const HPDF_CharData CHAR_DATA_HELVETICA_BOLD_OBLIQUE[316] = {
{32, 0x0020, 278},
{33, 0x0021, 333},
{34, 0x0022, 474},
{35, 0x0023, 556},
{36, 0x0024, 556},
{37, 0x0025, 889},
{38, 0x0026, 722},
{39, 0x2019, 278},
{40, 0x0028, 333},
{41, 0x0029, 333},
{42, 0x002A, 389},
{43, 0x002B, 584},
{44, 0x002C, 278},
{45, 0x002D, 333},
{46, 0x002E, 278},
{47, 0x002F, 278},
{48, 0x0030, 556},
{49, 0x0031, 556},
{50, 0x0032, 556},
{51, 0x0033, 556},
{52, 0x0034, 556},
{53, 0x0035, 556},
{54, 0x0036, 556},
{55, 0x0037, 556},
{56, 0x0038, 556},
{57, 0x0039, 556},
{58, 0x003A, 333},
{59, 0x003B, 333},
{60, 0x003C, 584},
{61, 0x003D, 584},
{62, 0x003E, 584},
{63, 0x003F, 611},
{64, 0x0040, 975},
{65, 0x0041, 722},
{66, 0x0042, 722},
{67, 0x0043, 722},
{68, 0x0044, 722},
{69, 0x0045, 667},
{70, 0x0046, 611},
{71, 0x0047, 778},
{72, 0x0048, 722},
{73, 0x0049, 278},
{74, 0x004A, 556},
{75, 0x004B, 722},
{76, 0x004C, 611},
{77, 0x004D, 833},
{78, 0x004E, 722},
{79, 0x004F, 778},
{80, 0x0050, 667},
{81, 0x0051, 778},
{82, 0x0052, 722},
{83, 0x0053, 667},
{84, 0x0054, 611},
{85, 0x0055, 722},
{86, 0x0056, 667},
{87, 0x0057, 944},
{88, 0x0058, 667},
{89, 0x0059, 667},
{90, 0x005A, 611},
{91, 0x005B, 333},
{92, 0x005C, 278},
{93, 0x005D, 333},
{94, 0x005E, 584},
{95, 0x005F, 556},
{96, 0x2018, 278},
{97, 0x0061, 556},
{98, 0x0062, 611},
{99, 0x0063, 556},
{100, 0x0064, 611},
{101, 0x0065, 556},
{102, 0x0066, 333},
{103, 0x0067, 611},
{104, 0x0068, 611},
{105, 0x0069, 278},
{106, 0x006A, 278},
{107, 0x006B, 556},
{108, 0x006C, 278},
{109, 0x006D, 889},
{110, 0x006E, 611},
{111, 0x006F, 611},
{112, 0x0070, 611},
{113, 0x0071, 611},
{114, 0x0072, 389},
{115, 0x0073, 556},
{116, 0x0074, 333},
{117, 0x0075, 611},
{118, 0x0076, 556},
{119, 0x0077, 778},
{120, 0x0078, 556},
{121, 0x0079, 556},
{122, 0x007A, 500},
{123, 0x007B, 389},
{124, 0x007C, 280},
{125, 0x007D, 389},
{126, 0x007E, 584},
{161, 0x00A1, 333},
{162, 0x00A2, 556},
{163, 0x00A3, 556},
{164, 0x2044, 167},
{165, 0x00A5, 556},
{166, 0x0192, 556},
{167, 0x00A7, 556},
{168, 0x00A4, 556},
{169, 0x0027, 238},
{170, 0x201C, 500},
{171, 0x00AB, 556},
{172, 0x2039, 333},
{173, 0x203A, 333},
{174, 0xFB01, 611},
{175, 0xFB02, 611},
{177, 0x2013, 556},
{178, 0x2020, 556},
{179, 0x2021, 556},
{180, 0x00B7, 278},
{182, 0x00B6, 556},
{183, 0x2022, 350},
{184, 0x201A, 278},
{185, 0x201E, 500},
{186, 0x201D, 500},
{187, 0x00BB, 556},
{188, 0x2026, 1000},
{189, 0x2030, 1000},
{191, 0x00BF, 611},
{193, 0x0060, 333},
{194, 0x00B4, 333},
{195, 0x02C6, 333},
{196, 0x02DC, 333},
{197, 0x00AF, 333},
{198, 0x02D8, 333},
{199, 0x02D9, 333},
{200, 0x00A8, 333},
{202, 0x02DA, 333},
{203, 0x00B8, 333},
{205, 0x02DD, 333},
{206, 0x02DB, 333},
{207, 0x02C7, 333},
{208, 0x2014, 1000},
{225, 0x00C6, 1000},
{227, 0x00AA, 370},
{232, 0x0141, 611},
{233, 0x00D8, 778},
{234, 0x0152, 1000},
{235, 0x00BA, 365},
{241, 0x00E6, 889},
{245, 0x0131, 278},
{248, 0x0142, 278},
{249, 0x00F8, 611},
{250, 0x0153, 944},
{251, 0x00DF, 611},
{-1, 0x00CF, 278},
{-1, 0x00E9, 556},
{-1, 0x0103, 556},
{-1, 0x0171, 611},
{-1, 0x011B, 556},
{-1, 0x0178, 667},
{-1, 0x00F7, 584},
{-1, 0x00DD, 667},
{-1, 0x00C2, 722},
{-1, 0x00E1, 556},
{-1, 0x00DB, 722},
{-1, 0x00FD, 556},
{-1, 0x0219, 556},
{-1, 0x00EA, 556},
{-1, 0x016E, 722},
{-1, 0x00DC, 722},
{-1, 0x0105, 556},
{-1, 0x00DA, 722},
{-1, 0x0173, 611},
{-1, 0x00CB, 667},
{-1, 0x0110, 722},
{-1, 0xF6C3, 250},
{-1, 0x00A9, 737},
{-1, 0x0112, 667},
{-1, 0x010D, 556},
{-1, 0x00E5, 556},
{-1, 0x0145, 722},
{-1, 0x013A, 278},
{-1, 0x00E0, 556},
{-1, 0x0162, 611},
{-1, 0x0106, 722},
{-1, 0x00E3, 556},
{-1, 0x0116, 667},
{-1, 0x0161, 556},
{-1, 0x015F, 556},
{-1, 0x00ED, 278},
{-1, 0x25CA, 494},
{-1, 0x0158, 722},
{-1, 0x0122, 778},
{-1, 0x00FB, 611},
{-1, 0x00E2, 556},
{-1, 0x0100, 722},
{-1, 0x0159, 389},
{-1, 0x00E7, 556},
{-1, 0x017B, 611},
{-1, 0x00DE, 667},
{-1, 0x014C, 778},
{-1, 0x0154, 722},
{-1, 0x015A, 667},
{-1, 0x010F, 743},
{-1, 0x016A, 722},
{-1, 0x016F, 611},
{-1, 0x00B3, 333},
{-1, 0x00D2, 778},
{-1, 0x00C0, 722},
{-1, 0x0102, 722},
{-1, 0x00D7, 584},
{-1, 0x00FA, 611},
{-1, 0x0164, 611},
{-1, 0x2202, 494},
{-1, 0x00FF, 556},
{-1, 0x0143, 722},
{-1, 0x00EE, 278},
{-1, 0x00CA, 667},
{-1, 0x00E4, 556},
{-1, 0x00EB, 556},
{-1, 0x0107, 556},
{-1, 0x0144, 611},
{-1, 0x016B, 611},
{-1, 0x0147, 722},
{-1, 0x00CD, 278},
{-1, 0x00B1, 584},
{-1, 0x00A6, 280},
{-1, 0x00AE, 737},
{-1, 0x011E, 778},
{-1, 0x0130, 278},
{-1, 0x2211, 600},
{-1, 0x00C8, 667},
{-1, 0x0155, 389},
{-1, 0x014D, 611},
{-1, 0x0179, 611},
{-1, 0x017D, 611},
{-1, 0x2265, 549},
{-1, 0x00D0, 722},
{-1, 0x00C7, 722},
{-1, 0x013C, 278},
{-1, 0x0165, 389},
{-1, 0x0119, 556},
{-1, 0x0172, 722},
{-1, 0x00C1, 722},
{-1, 0x00C4, 722},
{-1, 0x00E8, 556},
{-1, 0x017A, 500},
{-1, 0x012F, 278},
{-1, 0x00D3, 778},
{-1, 0x00F3, 611},
{-1, 0x0101, 556},
{-1, 0x015B, 556},
{-1, 0x00EF, 278},
{-1, 0x00D4, 778},
{-1, 0x00D9, 722},
{-1, 0x0394, 612},
{-1, 0x00FE, 611},
{-1, 0x00B2, 333},
{-1, 0x00D6, 778},
{-1, 0x00B5, 611},
{-1, 0x00EC, 278},
{-1, 0x0151, 611},
{-1, 0x0118, 667},
{-1, 0x0111, 611},
{-1, 0x00BE, 834},
{-1, 0x015E, 667},
{-1, 0x013E, 400},
{-1, 0x0136, 722},
{-1, 0x0139, 611},
{-1, 0x2122, 1000},
{-1, 0x0117, 556},
{-1, 0x00CC, 278},
{-1, 0x012A, 278},
{-1, 0x013D, 611},
{-1, 0x00BD, 834},
{-1, 0x2264, 549},
{-1, 0x00F4, 611},
{-1, 0x00F1, 611},
{-1, 0x0170, 722},
{-1, 0x00C9, 667},
{-1, 0x0113, 556},
{-1, 0x011F, 611},
{-1, 0x00BC, 834},
{-1, 0x0160, 667},
{-1, 0x0218, 667},
{-1, 0x0150, 778},
{-1, 0x00B0, 400},
{-1, 0x00F2, 611},
{-1, 0x010C, 722},
{-1, 0x00F9, 611},
{-1, 0x221A, 549},
{-1, 0x010E, 722},
{-1, 0x0157, 389},
{-1, 0x00D1, 722},
{-1, 0x00F5, 611},
{-1, 0x0156, 722},
{-1, 0x013B, 611},
{-1, 0x00C3, 722},
{-1, 0x0104, 722},
{-1, 0x00C5, 722},
{-1, 0x00D5, 778},
{-1, 0x017C, 500},
{-1, 0x011A, 667},
{-1, 0x012E, 278},
{-1, 0x0137, 556},
{-1, 0x2212, 584},
{-1, 0x00CE, 278},
{-1, 0x0148, 611},
{-1, 0x0163, 333},
{-1, 0x00AC, 584},
{-1, 0x00F6, 611},
{-1, 0x00FC, 611},
{-1, 0x2260, 549},
{-1, 0x0123, 611},
{-1, 0x00F0, 611},
{-1, 0x017E, 500},
{-1, 0x0146, 611},
{-1, 0x00B9, 333},
{-1, 0x012B, 278},
{-1, 0x20AC, 556},
{-1, 0xFFFF, 0}
};
static const HPDF_CharData CHAR_DATA_HELVETICA_OBLIQUE[316] = {
{32, 0x0020, 278},
{33, 0x0021, 278},
{34, 0x0022, 355},
{35, 0x0023, 556},
{36, 0x0024, 556},
{37, 0x0025, 889},
{38, 0x0026, 667},
{39, 0x2019, 222},
{40, 0x0028, 333},
{41, 0x0029, 333},
{42, 0x002A, 389},
{43, 0x002B, 584},
{44, 0x002C, 278},
{45, 0x002D, 333},
{46, 0x002E, 278},
{47, 0x002F, 278},
{48, 0x0030, 556},
{49, 0x0031, 556},
{50, 0x0032, 556},
{51, 0x0033, 556},
{52, 0x0034, 556},
{53, 0x0035, 556},
{54, 0x0036, 556},
{55, 0x0037, 556},
{56, 0x0038, 556},
{57, 0x0039, 556},
{58, 0x003A, 278},
{59, 0x003B, 278},
{60, 0x003C, 584},
{61, 0x003D, 584},
{62, 0x003E, 584},
{63, 0x003F, 556},
{64, 0x0040, 1015},
{65, 0x0041, 667},
{66, 0x0042, 667},
{67, 0x0043, 722},
{68, 0x0044, 722},
{69, 0x0045, 667},
{70, 0x0046, 611},
{71, 0x0047, 778},
{72, 0x0048, 722},
{73, 0x0049, 278},
{74, 0x004A, 500},
{75, 0x004B, 667},
{76, 0x004C, 556},
{77, 0x004D, 833},
{78, 0x004E, 722},
{79, 0x004F, 778},
{80, 0x0050, 667},
{81, 0x0051, 778},
{82, 0x0052, 722},
{83, 0x0053, 667},
{84, 0x0054, 611},
{85, 0x0055, 722},
{86, 0x0056, 667},
{87, 0x0057, 944},
{88, 0x0058, 667},
{89, 0x0059, 667},
{90, 0x005A, 611},
{91, 0x005B, 278},
{92, 0x005C, 278},
{93, 0x005D, 278},
{94, 0x005E, 469},
{95, 0x005F, 556},
{96, 0x2018, 222},
{97, 0x0061, 556},
{98, 0x0062, 556},
{99, 0x0063, 500},
{100, 0x0064, 556},
{101, 0x0065, 556},
{102, 0x0066, 278},
{103, 0x0067, 556},
{104, 0x0068, 556},
{105, 0x0069, 222},
{106, 0x006A, 222},
{107, 0x006B, 500},
{108, 0x006C, 222},
{109, 0x006D, 833},
{110, 0x006E, 556},
{111, 0x006F, 556},
{112, 0x0070, 556},
{113, 0x0071, 556},
{114, 0x0072, 333},
{115, 0x0073, 500},
{116, 0x0074, 278},
{117, 0x0075, 556},
{118, 0x0076, 500},
{119, 0x0077, 722},
{120, 0x0078, 500},
{121, 0x0079, 500},
{122, 0x007A, 500},
{123, 0x007B, 334},
{124, 0x007C, 260},
{125, 0x007D, 334},
{126, 0x007E, 584},
{161, 0x00A1, 333},
{162, 0x00A2, 556},
{163, 0x00A3, 556},
{164, 0x2044, 167},
{165, 0x00A5, 556},
{166, 0x0192, 556},
{167, 0x00A7, 556},
{168, 0x00A4, 556},
{169, 0x0027, 191},
{170, 0x201C, 333},
{171, 0x00AB, 556},
{172, 0x2039, 333},
{173, 0x203A, 333},
{174, 0xFB01, 500},
{175, 0xFB02, 500},
{177, 0x2013, 556},
{178, 0x2020, 556},
{179, 0x2021, 556},
{180, 0x00B7, 278},
{182, 0x00B6, 537},
{183, 0x2022, 350},
{184, 0x201A, 222},
{185, 0x201E, 333},
{186, 0x201D, 333},
{187, 0x00BB, 556},
{188, 0x2026, 1000},
{189, 0x2030, 1000},
{191, 0x00BF, 611},
{193, 0x0060, 333},
{194, 0x00B4, 333},
{195, 0x02C6, 333},
{196, 0x02DC, 333},
{197, 0x00AF, 333},
{198, 0x02D8, 333},
{199, 0x02D9, 333},
{200, 0x00A8, 333},
{202, 0x02DA, 333},
{203, 0x00B8, 333},
{205, 0x02DD, 333},
{206, 0x02DB, 333},
{207, 0x02C7, 333},
{208, 0x2014, 1000},
{225, 0x00C6, 1000},
{227, 0x00AA, 370},
{232, 0x0141, 556},
{233, 0x00D8, 778},
{234, 0x0152, 1000},
{235, 0x00BA, 365},
{241, 0x00E6, 889},
{245, 0x0131, 278},
{248, 0x0142, 222},
{249, 0x00F8, 611},
{250, 0x0153, 944},
{251, 0x00DF, 611},
{-1, 0x00CF, 278},
{-1, 0x00E9, 556},
{-1, 0x0103, 556},
{-1, 0x0171, 556},
{-1, 0x011B, 556},
{-1, 0x0178, 667},
{-1, 0x00F7, 584},
{-1, 0x00DD, 667},
{-1, 0x00C2, 667},
{-1, 0x00E1, 556},
{-1, 0x00DB, 722},
{-1, 0x00FD, 500},
{-1, 0x0219, 500},
{-1, 0x00EA, 556},
{-1, 0x016E, 722},
{-1, 0x00DC, 722},
{-1, 0x0105, 556},
{-1, 0x00DA, 722},
{-1, 0x0173, 556},
{-1, 0x00CB, 667},
{-1, 0x0110, 722},
{-1, 0xF6C3, 250},
{-1, 0x00A9, 737},
{-1, 0x0112, 667},
{-1, 0x010D, 500},
{-1, 0x00E5, 556},
{-1, 0x0145, 722},
{-1, 0x013A, 222},
{-1, 0x00E0, 556},
{-1, 0x0162, 611},
{-1, 0x0106, 722},
{-1, 0x00E3, 556},
{-1, 0x0116, 667},
{-1, 0x0161, 500},
{-1, 0x015F, 500},
{-1, 0x00ED, 278},
{-1, 0x25CA, 471},
{-1, 0x0158, 722},
{-1, 0x0122, 778},
{-1, 0x00FB, 556},
{-1, 0x00E2, 556},
{-1, 0x0100, 667},
{-1, 0x0159, 333},
{-1, 0x00E7, 500},
{-1, 0x017B, 611},
{-1, 0x00DE, 667},
{-1, 0x014C, 778},
{-1, 0x0154, 722},
{-1, 0x015A, 667},
{-1, 0x010F, 643},
{-1, 0x016A, 722},
{-1, 0x016F, 556},
{-1, 0x00B3, 333},
{-1, 0x00D2, 778},
{-1, 0x00C0, 667},
{-1, 0x0102, 667},
{-1, 0x00D7, 584},
{-1, 0x00FA, 556},
{-1, 0x0164, 611},
{-1, 0x2202, 476},
{-1, 0x00FF, 500},
{-1, 0x0143, 722},
{-1, 0x00EE, 278},
{-1, 0x00CA, 667},
{-1, 0x00E4, 556},
{-1, 0x00EB, 556},
{-1, 0x0107, 500},
{-1, 0x0144, 556},
{-1, 0x016B, 556},
{-1, 0x0147, 722},
{-1, 0x00CD, 278},
{-1, 0x00B1, 584},
{-1, 0x00A6, 260},
{-1, 0x00AE, 737},
{-1, 0x011E, 778},
{-1, 0x0130, 278},
{-1, 0x2211, 600},
{-1, 0x00C8, 667},
{-1, 0x0155, 333},
{-1, 0x014D, 556},
{-1, 0x0179, 611},
{-1, 0x017D, 611},
{-1, 0x2265, 549},
{-1, 0x00D0, 722},
{-1, 0x00C7, 722},
{-1, 0x013C, 222},
{-1, 0x0165, 316},
{-1, 0x0119, 556},
{-1, 0x0172, 722},
{-1, 0x00C1, 667},
{-1, 0x00C4, 667},
{-1, 0x00E8, 556},
{-1, 0x017A, 500},
{-1, 0x012F, 222},
{-1, 0x00D3, 778},
{-1, 0x00F3, 556},
{-1, 0x0101, 556},
{-1, 0x015B, 500},
{-1, 0x00EF, 278},
{-1, 0x00D4, 778},
{-1, 0x00D9, 722},
{-1, 0x0394, 612},
{-1, 0x00FE, 556},
{-1, 0x00B2, 333},
{-1, 0x00D6, 778},
{-1, 0x00B5, 556},
{-1, 0x00EC, 278},
{-1, 0x0151, 556},
{-1, 0x0118, 667},
{-1, 0x0111, 556},
{-1, 0x00BE, 834},
{-1, 0x015E, 667},
{-1, 0x013E, 299},
{-1, 0x0136, 667},
{-1, 0x0139, 556},
{-1, 0x2122, 1000},
{-1, 0x0117, 556},
{-1, 0x00CC, 278},
{-1, 0x012A, 278},
{-1, 0x013D, 556},
{-1, 0x00BD, 834},
{-1, 0x2264, 549},
{-1, 0x00F4, 556},
{-1, 0x00F1, 556},
{-1, 0x0170, 722},
{-1, 0x00C9, 667},
{-1, 0x0113, 556},
{-1, 0x011F, 556},
{-1, 0x00BC, 834},
{-1, 0x0160, 667},
{-1, 0x0218, 667},
{-1, 0x0150, 778},
{-1, 0x00B0, 400},
{-1, 0x00F2, 556},
{-1, 0x010C, 722},
{-1, 0x00F9, 556},
{-1, 0x221A, 453},
{-1, 0x010E, 722},
{-1, 0x0157, 333},
{-1, 0x00D1, 722},
{-1, 0x00F5, 556},
{-1, 0x0156, 722},
{-1, 0x013B, 556},
{-1, 0x00C3, 667},
{-1, 0x0104, 667},
{-1, 0x00C5, 667},
{-1, 0x00D5, 778},
{-1, 0x017C, 500},
{-1, 0x011A, 667},
{-1, 0x012E, 278},
{-1, 0x0137, 500},
{-1, 0x2212, 584},
{-1, 0x00CE, 278},
{-1, 0x0148, 556},
{-1, 0x0163, 278},
{-1, 0x00AC, 584},
{-1, 0x00F6, 556},
{-1, 0x00FC, 556},
{-1, 0x2260, 549},
{-1, 0x0123, 556},
{-1, 0x00F0, 556},
{-1, 0x017E, 500},
{-1, 0x0146, 556},
{-1, 0x00B9, 333},
{-1, 0x012B, 278},
{-1, 0x20AC, 556},
{-1, 0xFFFF, 0}
};
static const HPDF_CharData CHAR_DATA_TIMES_ROMAN[316] = {
{32, 0x0020, 250},
{33, 0x0021, 333},
{34, 0x0022, 408},
{35, 0x0023, 500},
{36, 0x0024, 500},
{37, 0x0025, 833},
{38, 0x0026, 778},
{39, 0x2019, 333},
{40, 0x0028, 333},
{41, 0x0029, 333},
{42, 0x002A, 500},
{43, 0x002B, 564},
{44, 0x002C, 250},
{45, 0x002D, 333},
{46, 0x002E, 250},
{47, 0x002F, 278},
{48, 0x0030, 500},
{49, 0x0031, 500},
{50, 0x0032, 500},
{51, 0x0033, 500},
{52, 0x0034, 500},
{53, 0x0035, 500},
{54, 0x0036, 500},
{55, 0x0037, 500},
{56, 0x0038, 500},
{57, 0x0039, 500},
{58, 0x003A, 278},
{59, 0x003B, 278},
{60, 0x003C, 564},
{61, 0x003D, 564},
{62, 0x003E, 564},
{63, 0x003F, 444},
{64, 0x0040, 921},
{65, 0x0041, 722},
{66, 0x0042, 667},
{67, 0x0043, 667},
{68, 0x0044, 722},
{69, 0x0045, 611},
{70, 0x0046, 556},
{71, 0x0047, 722},
{72, 0x0048, 722},
{73, 0x0049, 333},
{74, 0x004A, 389},
{75, 0x004B, 722},
{76, 0x004C, 611},
{77, 0x004D, 889},
{78, 0x004E, 722},
{79, 0x004F, 722},
{80, 0x0050, 556},
{81, 0x0051, 722},
{82, 0x0052, 667},
{83, 0x0053, 556},
{84, 0x0054, 611},
{85, 0x0055, 722},
{86, 0x0056, 722},
{87, 0x0057, 944},
{88, 0x0058, 722},
{89, 0x0059, 722},
{90, 0x005A, 611},
{91, 0x005B, 333},
{92, 0x005C, 278},
{93, 0x005D, 333},
{94, 0x005E, 469},
{95, 0x005F, 500},
{96, 0x2018, 333},
{97, 0x0061, 444},
{98, 0x0062, 500},
{99, 0x0063, 444},
{100, 0x0064, 500},
{101, 0x0065, 444},
{102, 0x0066, 333},
{103, 0x0067, 500},
{104, 0x0068, 500},
{105, 0x0069, 278},
{106, 0x006A, 278},
{107, 0x006B, 500},
{108, 0x006C, 278},
{109, 0x006D, 778},
{110, 0x006E, 500},
{111, 0x006F, 500},
{112, 0x0070, 500},
{113, 0x0071, 500},
{114, 0x0072, 333},
{115, 0x0073, 389},
{116, 0x0074, 278},
{117, 0x0075, 500},
{118, 0x0076, 500},
{119, 0x0077, 722},
{120, 0x0078, 500},
{121, 0x0079, 500},
{122, 0x007A, 444},
{123, 0x007B, 480},
{124, 0x007C, 200},
{125, 0x007D, 480},
{126, 0x007E, 541},
{161, 0x00A1, 333},
{162, 0x00A2, 500},
{163, 0x00A3, 500},
{164, 0x2044, 167},
{165, 0x00A5, 500},
{166, 0x0192, 500},
{167, 0x00A7, 500},
{168, 0x00A4, 500},
{169, 0x0027, 180},
{170, 0x201C, 444},
{171, 0x00AB, 500},
{172, 0x2039, 333},
{173, 0x203A, 333},
{174, 0xFB01, 556},
{175, 0xFB02, 556},
{177, 0x2013, 500},
{178, 0x2020, 500},
{179, 0x2021, 500},
{180, 0x00B7, 250},
{182, 0x00B6, 453},
{183, 0x2022, 350},
{184, 0x201A, 333},
{185, 0x201E, 444},
{186, 0x201D, 444},
{187, 0x00BB, 500},
{188, 0x2026, 1000},
{189, 0x2030, 1000},
{191, 0x00BF, 444},
{193, 0x0060, 333},
{194, 0x00B4, 333},
{195, 0x02C6, 333},
{196, 0x02DC, 333},
{197, 0x00AF, 333},
{198, 0x02D8, 333},
{199, 0x02D9, 333},
{200, 0x00A8, 333},
{202, 0x02DA, 333},
{203, 0x00B8, 333},
{205, 0x02DD, 333},
{206, 0x02DB, 333},
{207, 0x02C7, 333},
{208, 0x2014, 1000},
{225, 0x00C6, 889},
{227, 0x00AA, 276},
{232, 0x0141, 611},
{233, 0x00D8, 722},
{234, 0x0152, 889},
{235, 0x00BA, 310},
{241, 0x00E6, 667},
{245, 0x0131, 278},
{248, 0x0142, 278},
{249, 0x00F8, 500},
{250, 0x0153, 722},
{251, 0x00DF, 500},
{-1, 0x00CF, 333},
{-1, 0x00E9, 444},
{-1, 0x0103, 444},
{-1, 0x0171, 500},
{-1, 0x011B, 444},
{-1, 0x0178, 722},
{-1, 0x00F7, 564},
{-1, 0x00DD, 722},
{-1, 0x00C2, 722},
{-1, 0x00E1, 444},
{-1, 0x00DB, 722},
{-1, 0x00FD, 500},
{-1, 0x0219, 389},
{-1, 0x00EA, 444},
{-1, 0x016E, 722},
{-1, 0x00DC, 722},
{-1, 0x0105, 444},
{-1, 0x00DA, 722},
{-1, 0x0173, 500},
{-1, 0x00CB, 611},
{-1, 0x0110, 722},
{-1, 0xF6C3, 250},
{-1, 0x00A9, 760},
{-1, 0x0112, 611},
{-1, 0x010D, 444},
{-1, 0x00E5, 444},
{-1, 0x0145, 722},
{-1, 0x013A, 278},
{-1, 0x00E0, 444},
{-1, 0x0162, 611},
{-1, 0x0106, 667},
{-1, 0x00E3, 444},
{-1, 0x0116, 611},
{-1, 0x0161, 389},
{-1, 0x015F, 389},
{-1, 0x00ED, 278},
{-1, 0x25CA, 471},
{-1, 0x0158, 667},
{-1, 0x0122, 722},
{-1, 0x00FB, 500},
{-1, 0x00E2, 444},
{-1, 0x0100, 722},
{-1, 0x0159, 333},
{-1, 0x00E7, 444},
{-1, 0x017B, 611},
{-1, 0x00DE, 556},
{-1, 0x014C, 722},
{-1, 0x0154, 667},
{-1, 0x015A, 556},
{-1, 0x010F, 588},
{-1, 0x016A, 722},
{-1, 0x016F, 500},
{-1, 0x00B3, 300},
{-1, 0x00D2, 722},
{-1, 0x00C0, 722},
{-1, 0x0102, 722},
{-1, 0x00D7, 564},
{-1, 0x00FA, 500},
{-1, 0x0164, 611},
{-1, 0x2202, 476},
{-1, 0x00FF, 500},
{-1, 0x0143, 722},
{-1, 0x00EE, 278},
{-1, 0x00CA, 611},
{-1, 0x00E4, 444},
{-1, 0x00EB, 444},
{-1, 0x0107, 444},
{-1, 0x0144, 500},
{-1, 0x016B, 500},
{-1, 0x0147, 722},
{-1, 0x00CD, 333},
{-1, 0x00B1, 564},
{-1, 0x00A6, 200},
{-1, 0x00AE, 760},
{-1, 0x011E, 722},
{-1, 0x0130, 333},
{-1, 0x2211, 600},
{-1, 0x00C8, 611},
{-1, 0x0155, 333},
{-1, 0x014D, 500},
{-1, 0x0179, 611},
{-1, 0x017D, 611},
{-1, 0x2265, 549},
{-1, 0x00D0, 722},
{-1, 0x00C7, 667},
{-1, 0x013C, 278},
{-1, 0x0165, 326},
{-1, 0x0119, 444},
{-1, 0x0172, 722},
{-1, 0x00C1, 722},
{-1, 0x00C4, 722},
{-1, 0x00E8, 444},
{-1, 0x017A, 444},
{-1, 0x012F, 278},
{-1, 0x00D3, 722},
{-1, 0x00F3, 500},
{-1, 0x0101, 444},
{-1, 0x015B, 389},
{-1, 0x00EF, 278},
{-1, 0x00D4, 722},
{-1, 0x00D9, 722},
{-1, 0x0394, 612},
{-1, 0x00FE, 500},
{-1, 0x00B2, 300},
{-1, 0x00D6, 722},
{-1, 0x00B5, 500},
{-1, 0x00EC, 278},
{-1, 0x0151, 500},
{-1, 0x0118, 611},
{-1, 0x0111, 500},
{-1, 0x00BE, 750},
{-1, 0x015E, 556},
{-1, 0x013E, 344},
{-1, 0x0136, 722},
{-1, 0x0139, 611},
{-1, 0x2122, 980},
{-1, 0x0117, 444},
{-1, 0x00CC, 333},
{-1, 0x012A, 333},
{-1, 0x013D, 611},
{-1, 0x00BD, 750},
{-1, 0x2264, 549},
{-1, 0x00F4, 500},
{-1, 0x00F1, 500},
{-1, 0x0170, 722},
{-1, 0x00C9, 611},
{-1, 0x0113, 444},
{-1, 0x011F, 500},
{-1, 0x00BC, 750},
{-1, 0x0160, 556},
{-1, 0x0218, 556},
{-1, 0x0150, 722},
{-1, 0x00B0, 400},
{-1, 0x00F2, 500},
{-1, 0x010C, 667},
{-1, 0x00F9, 500},
{-1, 0x221A, 453},
{-1, 0x010E, 722},
{-1, 0x0157, 333},
{-1, 0x00D1, 722},
{-1, 0x00F5, 500},
{-1, 0x0156, 667},
{-1, 0x013B, 611},
{-1, 0x00C3, 722},
{-1, 0x0104, 722},
{-1, 0x00C5, 722},
{-1, 0x00D5, 722},
{-1, 0x017C, 444},
{-1, 0x011A, 611},
{-1, 0x012E, 333},
{-1, 0x0137, 500},
{-1, 0x2212, 564},
{-1, 0x00CE, 333},
{-1, 0x0148, 500},
{-1, 0x0163, 278},
{-1, 0x00AC, 564},
{-1, 0x00F6, 500},
{-1, 0x00FC, 500},
{-1, 0x2260, 549},
{-1, 0x0123, 500},
{-1, 0x00F0, 500},
{-1, 0x017E, 444},
{-1, 0x0146, 500},
{-1, 0x00B9, 300},
{-1, 0x012B, 278},
{-1, 0x20AC, 500},
{-1, 0xFFFF, 0}
};
static const HPDF_CharData CHAR_DATA_TIMES_BOLD[316] = {
{32, 0x0020, 250},
{33, 0x0021, 333},
{34, 0x0022, 555},
{35, 0x0023, 500},
{36, 0x0024, 500},
{37, 0x0025, 1000},
{38, 0x0026, 833},
{39, 0x2019, 333},
{40, 0x0028, 333},
{41, 0x0029, 333},
{42, 0x002A, 500},
{43, 0x002B, 570},
{44, 0x002C, 250},
{45, 0x002D, 333},
{46, 0x002E, 250},
{47, 0x002F, 278},
{48, 0x0030, 500},
{49, 0x0031, 500},
{50, 0x0032, 500},
{51, 0x0033, 500},
{52, 0x0034, 500},
{53, 0x0035, 500},
{54, 0x0036, 500},
{55, 0x0037, 500},
{56, 0x0038, 500},
{57, 0x0039, 500},
{58, 0x003A, 333},
{59, 0x003B, 333},
{60, 0x003C, 570},
{61, 0x003D, 570},
{62, 0x003E, 570},
{63, 0x003F, 500},
{64, 0x0040, 930},
{65, 0x0041, 722},
{66, 0x0042, 667},
{67, 0x0043, 722},
{68, 0x0044, 722},
{69, 0x0045, 667},
{70, 0x0046, 611},
{71, 0x0047, 778},
{72, 0x0048, 778},
{73, 0x0049, 389},
{74, 0x004A, 500},
{75, 0x004B, 778},
{76, 0x004C, 667},
{77, 0x004D, 944},
{78, 0x004E, 722},
{79, 0x004F, 778},
{80, 0x0050, 611},
{81, 0x0051, 778},
{82, 0x0052, 722},
{83, 0x0053, 556},
{84, 0x0054, 667},
{85, 0x0055, 722},
{86, 0x0056, 722},
{87, 0x0057, 1000},
{88, 0x0058, 722},
{89, 0x0059, 722},
{90, 0x005A, 667},
{91, 0x005B, 333},
{92, 0x005C, 278},
{93, 0x005D, 333},
{94, 0x005E, 581},
{95, 0x005F, 500},
{96, 0x2018, 333},
{97, 0x0061, 500},
{98, 0x0062, 556},
{99, 0x0063, 444},
{100, 0x0064, 556},
{101, 0x0065, 444},
{102, 0x0066, 333},
{103, 0x0067, 500},
{104, 0x0068, 556},
{105, 0x0069, 278},
{106, 0x006A, 333},
{107, 0x006B, 556},
{108, 0x006C, 278},
{109, 0x006D, 833},
{110, 0x006E, 556},
{111, 0x006F, 500},
{112, 0x0070, 556},
{113, 0x0071, 556},
{114, 0x0072, 444},
{115, 0x0073, 389},
{116, 0x0074, 333},
{117, 0x0075, 556},
{118, 0x0076, 500},
{119, 0x0077, 722},
{120, 0x0078, 500},
{121, 0x0079, 500},
{122, 0x007A, 444},
{123, 0x007B, 394},
{124, 0x007C, 220},
{125, 0x007D, 394},
{126, 0x007E, 520},
{161, 0x00A1, 333},
{162, 0x00A2, 500},
{163, 0x00A3, 500},
{164, 0x2044, 167},
{165, 0x00A5, 500},
{166, 0x0192, 500},
{167, 0x00A7, 500},
{168, 0x00A4, 500},
{169, 0x0027, 278},
{170, 0x201C, 500},
{171, 0x00AB, 500},
{172, 0x2039, 333},
{173, 0x203A, 333},
{174, 0xFB01, 556},
{175, 0xFB02, 556},
{177, 0x2013, 500},
{178, 0x2020, 500},
{179, 0x2021, 500},
{180, 0x00B7, 250},
{182, 0x00B6, 540},
{183, 0x2022, 350},
{184, 0x201A, 333},
{185, 0x201E, 500},
{186, 0x201D, 500},
{187, 0x00BB, 500},
{188, 0x2026, 1000},
{189, 0x2030, 1000},
{191, 0x00BF, 500},
{193, 0x0060, 333},
{194, 0x00B4, 333},
{195, 0x02C6, 333},
{196, 0x02DC, 333},
{197, 0x00AF, 333},
{198, 0x02D8, 333},
{199, 0x02D9, 333},
{200, 0x00A8, 333},
{202, 0x02DA, 333},
{203, 0x00B8, 333},
{205, 0x02DD, 333},
{206, 0x02DB, 333},
{207, 0x02C7, 333},
{208, 0x2014, 1000},
{225, 0x00C6, 1000},
{227, 0x00AA, 300},
{232, 0x0141, 667},
{233, 0x00D8, 778},
{234, 0x0152, 1000},
{235, 0x00BA, 330},
{241, 0x00E6, 722},
{245, 0x0131, 278},
{248, 0x0142, 278},
{249, 0x00F8, 500},
{250, 0x0153, 722},
{251, 0x00DF, 556},
{-1, 0x00CF, 389},
{-1, 0x00E9, 444},
{-1, 0x0103, 500},
{-1, 0x0171, 556},
{-1, 0x011B, 444},
{-1, 0x0178, 722},
{-1, 0x00F7, 570},
{-1, 0x00DD, 722},
{-1, 0x00C2, 722},
{-1, 0x00E1, 500},
{-1, 0x00DB, 722},
{-1, 0x00FD, 500},
{-1, 0x0219, 389},
{-1, 0x00EA, 444},
{-1, 0x016E, 722},
{-1, 0x00DC, 722},
{-1, 0x0105, 500},
{-1, 0x00DA, 722},
{-1, 0x0173, 556},
{-1, 0x00CB, 667},
{-1, 0x0110, 722},
{-1, 0xF6C3, 250},
{-1, 0x00A9, 747},
{-1, 0x0112, 667},
{-1, 0x010D, 444},
{-1, 0x00E5, 500},
{-1, 0x0145, 722},
{-1, 0x013A, 278},
{-1, 0x00E0, 500},
{-1, 0x0162, 667},
{-1, 0x0106, 722},
{-1, 0x00E3, 500},
{-1, 0x0116, 667},
{-1, 0x0161, 389},
{-1, 0x015F, 389},
{-1, 0x00ED, 278},
{-1, 0x25CA, 494},
{-1, 0x0158, 722},
{-1, 0x0122, 778},
{-1, 0x00FB, 556},
{-1, 0x00E2, 500},
{-1, 0x0100, 722},
{-1, 0x0159, 444},
{-1, 0x00E7, 444},
{-1, 0x017B, 667},
{-1, 0x00DE, 611},
{-1, 0x014C, 778},
{-1, 0x0154, 722},
{-1, 0x015A, 556},
{-1, 0x010F, 672},
{-1, 0x016A, 722},
{-1, 0x016F, 556},
{-1, 0x00B3, 300},
{-1, 0x00D2, 778},
{-1, 0x00C0, 722},
{-1, 0x0102, 722},
{-1, 0x00D7, 570},
{-1, 0x00FA, 556},
{-1, 0x0164, 667},
{-1, 0x2202, 494},
{-1, 0x00FF, 500},
{-1, 0x0143, 722},
{-1, 0x00EE, 278},
{-1, 0x00CA, 667},
{-1, 0x00E4, 500},
{-1, 0x00EB, 444},
{-1, 0x0107, 444},
{-1, 0x0144, 556},
{-1, 0x016B, 556},
{-1, 0x0147, 722},
{-1, 0x00CD, 389},
{-1, 0x00B1, 570},
{-1, 0x00A6, 220},
{-1, 0x00AE, 747},
{-1, 0x011E, 778},
{-1, 0x0130, 389},
{-1, 0x2211, 600},
{-1, 0x00C8, 667},
{-1, 0x0155, 444},
{-1, 0x014D, 500},
{-1, 0x0179, 667},
{-1, 0x017D, 667},
{-1, 0x2265, 549},
{-1, 0x00D0, 722},
{-1, 0x00C7, 722},
{-1, 0x013C, 278},
{-1, 0x0165, 416},
{-1, 0x0119, 444},
{-1, 0x0172, 722},
{-1, 0x00C1, 722},
{-1, 0x00C4, 722},
{-1, 0x00E8, 444},
{-1, 0x017A, 444},
{-1, 0x012F, 278},
{-1, 0x00D3, 778},
{-1, 0x00F3, 500},
{-1, 0x0101, 500},
{-1, 0x015B, 389},
{-1, 0x00EF, 278},
{-1, 0x00D4, 778},
{-1, 0x00D9, 722},
{-1, 0x0394, 612},
{-1, 0x00FE, 556},
{-1, 0x00B2, 300},
{-1, 0x00D6, 778},
{-1, 0x00B5, 556},
{-1, 0x00EC, 278},
{-1, 0x0151, 500},
{-1, 0x0118, 667},
{-1, 0x0111, 556},
{-1, 0x00BE, 750},
{-1, 0x015E, 556},
{-1, 0x013E, 394},
{-1, 0x0136, 778},
{-1, 0x0139, 667},
{-1, 0x2122, 1000},
{-1, 0x0117, 444},
{-1, 0x00CC, 389},
{-1, 0x012A, 389},
{-1, 0x013D, 667},
{-1, 0x00BD, 750},
{-1, 0x2264, 549},
{-1, 0x00F4, 500},
{-1, 0x00F1, 556},
{-1, 0x0170, 722},
{-1, 0x00C9, 667},
{-1, 0x0113, 444},
{-1, 0x011F, 500},
{-1, 0x00BC, 750},
{-1, 0x0160, 556},
{-1, 0x0218, 556},
{-1, 0x0150, 778},
{-1, 0x00B0, 400},
{-1, 0x00F2, 500},
{-1, 0x010C, 722},
{-1, 0x00F9, 556},
{-1, 0x221A, 549},
{-1, 0x010E, 722},
{-1, 0x0157, 444},
{-1, 0x00D1, 722},
{-1, 0x00F5, 500},
{-1, 0x0156, 722},
{-1, 0x013B, 667},
{-1, 0x00C3, 722},
{-1, 0x0104, 722},
{-1, 0x00C5, 722},
{-1, 0x00D5, 778},
{-1, 0x017C, 444},
{-1, 0x011A, 667},
{-1, 0x012E, 389},
{-1, 0x0137, 556},
{-1, 0x2212, 570},
{-1, 0x00CE, 389},
{-1, 0x0148, 556},
{-1, 0x0163, 333},
{-1, 0x00AC, 570},
{-1, 0x00F6, 500},
{-1, 0x00FC, 556},
{-1, 0x2260, 549},
{-1, 0x0123, 500},
{-1, 0x00F0, 500},
{-1, 0x017E, 444},
{-1, 0x0146, 556},
{-1, 0x00B9, 300},
{-1, 0x012B, 278},
{-1, 0x20AC, 500},
{-1, 0xFFFF, 0}
};
static const HPDF_CharData CHAR_DATA_TIMES_BOLD_ITALIC[316] = {
{32, 0x0020, 250},
{33, 0x0021, 389},
{34, 0x0022, 555},
{35, 0x0023, 500},
{36, 0x0024, 500},
{37, 0x0025, 833},
{38, 0x0026, 778},
{39, 0x2019, 333},
{40, 0x0028, 333},
{41, 0x0029, 333},
{42, 0x002A, 500},
{43, 0x002B, 570},
{44, 0x002C, 250},
{45, 0x002D, 333},
{46, 0x002E, 250},
{47, 0x002F, 278},
{48, 0x0030, 500},
{49, 0x0031, 500},
{50, 0x0032, 500},
{51, 0x0033, 500},
{52, 0x0034, 500},
{53, 0x0035, 500},
{54, 0x0036, 500},
{55, 0x0037, 500},
{56, 0x0038, 500},
{57, 0x0039, 500},
{58, 0x003A, 333},
{59, 0x003B, 333},
{60, 0x003C, 570},
{61, 0x003D, 570},
{62, 0x003E, 570},
{63, 0x003F, 500},
{64, 0x0040, 832},
{65, 0x0041, 667},
{66, 0x0042, 667},
{67, 0x0043, 667},
{68, 0x0044, 722},
{69, 0x0045, 667},
{70, 0x0046, 667},
{71, 0x0047, 722},
{72, 0x0048, 778},
{73, 0x0049, 389},
{74, 0x004A, 500},
{75, 0x004B, 667},
{76, 0x004C, 611},
{77, 0x004D, 889},
{78, 0x004E, 722},
{79, 0x004F, 722},
{80, 0x0050, 611},
{81, 0x0051, 722},
{82, 0x0052, 667},
{83, 0x0053, 556},
{84, 0x0054, 611},
{85, 0x0055, 722},
{86, 0x0056, 667},
{87, 0x0057, 889},
{88, 0x0058, 667},
{89, 0x0059, 611},
{90, 0x005A, 611},
{91, 0x005B, 333},
{92, 0x005C, 278},
{93, 0x005D, 333},
{94, 0x005E, 570},
{95, 0x005F, 500},
{96, 0x2018, 333},
{97, 0x0061, 500},
{98, 0x0062, 500},
{99, 0x0063, 444},
{100, 0x0064, 500},
{101, 0x0065, 444},
{102, 0x0066, 333},
{103, 0x0067, 500},
{104, 0x0068, 556},
{105, 0x0069, 278},
{106, 0x006A, 278},
{107, 0x006B, 500},
{108, 0x006C, 278},
{109, 0x006D, 778},
{110, 0x006E, 556},
{111, 0x006F, 500},
{112, 0x0070, 500},
{113, 0x0071, 500},
{114, 0x0072, 389},
{115, 0x0073, 389},
{116, 0x0074, 278},
{117, 0x0075, 556},
{118, 0x0076, 444},
{119, 0x0077, 667},
{120, 0x0078, 500},
{121, 0x0079, 444},
{122, 0x007A, 389},
{123, 0x007B, 348},
{124, 0x007C, 220},
{125, 0x007D, 348},
{126, 0x007E, 570},
{161, 0x00A1, 389},
{162, 0x00A2, 500},
{163, 0x00A3, 500},
{164, 0x2044, 167},
{165, 0x00A5, 500},
{166, 0x0192, 500},
{167, 0x00A7, 500},
{168, 0x00A4, 500},
{169, 0x0027, 278},
{170, 0x201C, 500},
{171, 0x00AB, 500},
{172, 0x2039, 333},
{173, 0x203A, 333},
{174, 0xFB01, 556},
{175, 0xFB02, 556},
{177, 0x2013, 500},
{178, 0x2020, 500},
{179, 0x2021, 500},
{180, 0x00B7, 250},
{182, 0x00B6, 500},
{183, 0x2022, 350},
{184, 0x201A, 333},
{185, 0x201E, 500},
{186, 0x201D, 500},
{187, 0x00BB, 500},
{188, 0x2026, 1000},
{189, 0x2030, 1000},
{191, 0x00BF, 500},
{193, 0x0060, 333},
{194, 0x00B4, 333},
{195, 0x02C6, 333},
{196, 0x02DC, 333},
{197, 0x00AF, 333},
{198, 0x02D8, 333},
{199, 0x02D9, 333},
{200, 0x00A8, 333},
{202, 0x02DA, 333},
{203, 0x00B8, 333},
{205, 0x02DD, 333},
{206, 0x02DB, 333},
{207, 0x02C7, 333},
{208, 0x2014, 1000},
{225, 0x00C6, 944},
{227, 0x00AA, 266},
{232, 0x0141, 611},
{233, 0x00D8, 722},
{234, 0x0152, 944},
{235, 0x00BA, 300},
{241, 0x00E6, 722},
{245, 0x0131, 278},
{248, 0x0142, 278},
{249, 0x00F8, 500},
{250, 0x0153, 722},
{251, 0x00DF, 500},
{-1, 0x00CF, 389},
{-1, 0x00E9, 444},
{-1, 0x0103, 500},
{-1, 0x0171, 556},
{-1, 0x011B, 444},
{-1, 0x0178, 611},
{-1, 0x00F7, 570},
{-1, 0x00DD, 611},
{-1, 0x00C2, 667},
{-1, 0x00E1, 500},
{-1, 0x00DB, 722},
{-1, 0x00FD, 444},
{-1, 0x0219, 389},
{-1, 0x00EA, 444},
{-1, 0x016E, 722},
{-1, 0x00DC, 722},
{-1, 0x0105, 500},
{-1, 0x00DA, 722},
{-1, 0x0173, 556},
{-1, 0x00CB, 667},
{-1, 0x0110, 722},
{-1, 0xF6C3, 250},
{-1, 0x00A9, 747},
{-1, 0x0112, 667},
{-1, 0x010D, 444},
{-1, 0x00E5, 500},
{-1, 0x0145, 722},
{-1, 0x013A, 278},
{-1, 0x00E0, 500},
{-1, 0x0162, 611},
{-1, 0x0106, 667},
{-1, 0x00E3, 500},
{-1, 0x0116, 667},
{-1, 0x0161, 389},
{-1, 0x015F, 389},
{-1, 0x00ED, 278},
{-1, 0x25CA, 494},
{-1, 0x0158, 667},
{-1, 0x0122, 722},
{-1, 0x00FB, 556},
{-1, 0x00E2, 500},
{-1, 0x0100, 667},
{-1, 0x0159, 389},
{-1, 0x00E7, 444},
{-1, 0x017B, 611},
{-1, 0x00DE, 611},
{-1, 0x014C, 722},
{-1, 0x0154, 667},
{-1, 0x015A, 556},
{-1, 0x010F, 608},
{-1, 0x016A, 722},
{-1, 0x016F, 556},
{-1, 0x00B3, 300},
{-1, 0x00D2, 722},
{-1, 0x00C0, 667},
{-1, 0x0102, 667},
{-1, 0x00D7, 570},
{-1, 0x00FA, 556},
{-1, 0x0164, 611},
{-1, 0x2202, 494},
{-1, 0x00FF, 444},
{-1, 0x0143, 722},
{-1, 0x00EE, 278},
{-1, 0x00CA, 667},
{-1, 0x00E4, 500},
{-1, 0x00EB, 444},
{-1, 0x0107, 444},
{-1, 0x0144, 556},
{-1, 0x016B, 556},
{-1, 0x0147, 722},
{-1, 0x00CD, 389},
{-1, 0x00B1, 570},
{-1, 0x00A6, 220},
{-1, 0x00AE, 747},
{-1, 0x011E, 722},
{-1, 0x0130, 389},
{-1, 0x2211, 600},
{-1, 0x00C8, 667},
{-1, 0x0155, 389},
{-1, 0x014D, 500},
{-1, 0x0179, 611},
{-1, 0x017D, 611},
{-1, 0x2265, 549},
{-1, 0x00D0, 722},
{-1, 0x00C7, 667},
{-1, 0x013C, 278},
{-1, 0x0165, 366},
{-1, 0x0119, 444},
{-1, 0x0172, 722},
{-1, 0x00C1, 667},
{-1, 0x00C4, 667},
{-1, 0x00E8, 444},
{-1, 0x017A, 389},
{-1, 0x012F, 278},
{-1, 0x00D3, 722},
{-1, 0x00F3, 500},
{-1, 0x0101, 500},
{-1, 0x015B, 389},
{-1, 0x00EF, 278},
{-1, 0x00D4, 722},
{-1, 0x00D9, 722},
{-1, 0x0394, 612},
{-1, 0x00FE, 500},
{-1, 0x00B2, 300},
{-1, 0x00D6, 722},
{-1, 0x00B5, 576},
{-1, 0x00EC, 278},
{-1, 0x0151, 500},
{-1, 0x0118, 667},
{-1, 0x0111, 500},
{-1, 0x00BE, 750},
{-1, 0x015E, 556},
{-1, 0x013E, 382},
{-1, 0x0136, 667},
{-1, 0x0139, 611},
{-1, 0x2122, 1000},
{-1, 0x0117, 444},
{-1, 0x00CC, 389},
{-1, 0x012A, 389},
{-1, 0x013D, 611},
{-1, 0x00BD, 750},
{-1, 0x2264, 549},
{-1, 0x00F4, 500},
{-1, 0x00F1, 556},
{-1, 0x0170, 722},
{-1, 0x00C9, 667},
{-1, 0x0113, 444},
{-1, 0x011F, 500},
{-1, 0x00BC, 750},
{-1, 0x0160, 556},
{-1, 0x0218, 556},
{-1, 0x0150, 722},
{-1, 0x00B0, 400},
{-1, 0x00F2, 500},
{-1, 0x010C, 667},
{-1, 0x00F9, 556},
{-1, 0x221A, 549},
{-1, 0x010E, 722},
{-1, 0x0157, 389},
{-1, 0x00D1, 722},
{-1, 0x00F5, 500},
{-1, 0x0156, 667},
{-1, 0x013B, 611},
{-1, 0x00C3, 667},
{-1, 0x0104, 667},
{-1, 0x00C5, 667},
{-1, 0x00D5, 722},
{-1, 0x017C, 389},
{-1, 0x011A, 667},
{-1, 0x012E, 389},
{-1, 0x0137, 500},
{-1, 0x2212, 606},
{-1, 0x00CE, 389},
{-1, 0x0148, 556},
{-1, 0x0163, 278},
{-1, 0x00AC, 606},
{-1, 0x00F6, 500},
{-1, 0x00FC, 556},
{-1, 0x2260, 549},
{-1, 0x0123, 500},
{-1, 0x00F0, 500},
{-1, 0x017E, 389},
{-1, 0x0146, 556},
{-1, 0x00B9, 300},
{-1, 0x012B, 278},
{-1, 0x20AC, 500},
{-1, 0xFFFF, 0}
};
static const HPDF_CharData CHAR_DATA_TIMES_ITALIC[316] = {
{32, 0x0020, 250},
{33, 0x0021, 333},
{34, 0x0022, 420},
{35, 0x0023, 500},
{36, 0x0024, 500},
{37, 0x0025, 833},
{38, 0x0026, 778},
{39, 0x2019, 333},
{40, 0x0028, 333},
{41, 0x0029, 333},
{42, 0x002A, 500},
{43, 0x002B, 675},
{44, 0x002C, 250},
{45, 0x002D, 333},
{46, 0x002E, 250},
{47, 0x002F, 278},
{48, 0x0030, 500},
{49, 0x0031, 500},
{50, 0x0032, 500},
{51, 0x0033, 500},
{52, 0x0034, 500},
{53, 0x0035, 500},
{54, 0x0036, 500},
{55, 0x0037, 500},
{56, 0x0038, 500},
{57, 0x0039, 500},
{58, 0x003A, 333},
{59, 0x003B, 333},
{60, 0x003C, 675},
{61, 0x003D, 675},
{62, 0x003E, 675},
{63, 0x003F, 500},
{64, 0x0040, 920},
{65, 0x0041, 611},
{66, 0x0042, 611},
{67, 0x0043, 667},
{68, 0x0044, 722},
{69, 0x0045, 611},
{70, 0x0046, 611},
{71, 0x0047, 722},
{72, 0x0048, 722},
{73, 0x0049, 333},
{74, 0x004A, 444},
{75, 0x004B, 667},
{76, 0x004C, 556},
{77, 0x004D, 833},
{78, 0x004E, 667},
{79, 0x004F, 722},
{80, 0x0050, 611},
{81, 0x0051, 722},
{82, 0x0052, 611},
{83, 0x0053, 500},
{84, 0x0054, 556},
{85, 0x0055, 722},
{86, 0x0056, 611},
{87, 0x0057, 833},
{88, 0x0058, 611},
{89, 0x0059, 556},
{90, 0x005A, 556},
{91, 0x005B, 389},
{92, 0x005C, 278},
{93, 0x005D, 389},
{94, 0x005E, 422},
{95, 0x005F, 500},
{96, 0x2018, 333},
{97, 0x0061, 500},
{98, 0x0062, 500},
{99, 0x0063, 444},
{100, 0x0064, 500},
{101, 0x0065, 444},
{102, 0x0066, 278},
{103, 0x0067, 500},
{104, 0x0068, 500},
{105, 0x0069, 278},
{106, 0x006A, 278},
{107, 0x006B, 444},
{108, 0x006C, 278},
{109, 0x006D, 722},
{110, 0x006E, 500},
{111, 0x006F, 500},
{112, 0x0070, 500},
{113, 0x0071, 500},
{114, 0x0072, 389},
{115, 0x0073, 389},
{116, 0x0074, 278},
{117, 0x0075, 500},
{118, 0x0076, 444},
{119, 0x0077, 667},
{120, 0x0078, 444},
{121, 0x0079, 444},
{122, 0x007A, 389},
{123, 0x007B, 400},
{124, 0x007C, 275},
{125, 0x007D, 400},
{126, 0x007E, 541},
{161, 0x00A1, 389},
{162, 0x00A2, 500},
{163, 0x00A3, 500},
{164, 0x2044, 167},
{165, 0x00A5, 500},
{166, 0x0192, 500},
{167, 0x00A7, 500},
{168, 0x00A4, 500},
{169, 0x0027, 214},
{170, 0x201C, 556},
{171, 0x00AB, 500},
{172, 0x2039, 333},
{173, 0x203A, 333},
{174, 0xFB01, 500},
{175, 0xFB02, 500},
{177, 0x2013, 500},
{178, 0x2020, 500},
{179, 0x2021, 500},
{180, 0x00B7, 250},
{182, 0x00B6, 523},
{183, 0x2022, 350},
{184, 0x201A, 333},
{185, 0x201E, 556},
{186, 0x201D, 556},
{187, 0x00BB, 500},
{188, 0x2026, 889},
{189, 0x2030, 1000},
{191, 0x00BF, 500},
{193, 0x0060, 333},
{194, 0x00B4, 333},
{195, 0x02C6, 333},
{196, 0x02DC, 333},
{197, 0x00AF, 333},
{198, 0x02D8, 333},
{199, 0x02D9, 333},
{200, 0x00A8, 333},
{202, 0x02DA, 333},
{203, 0x00B8, 333},
{205, 0x02DD, 333},
{206, 0x02DB, 333},
{207, 0x02C7, 333},
{208, 0x2014, 889},
{225, 0x00C6, 889},
{227, 0x00AA, 276},
{232, 0x0141, 556},
{233, 0x00D8, 722},
{234, 0x0152, 944},
{235, 0x00BA, 310},
{241, 0x00E6, 667},
{245, 0x0131, 278},
{248, 0x0142, 278},
{249, 0x00F8, 500},
{250, 0x0153, 667},
{251, 0x00DF, 500},
{-1, 0x00CF, 333},
{-1, 0x00E9, 444},
{-1, 0x0103, 500},
{-1, 0x0171, 500},
{-1, 0x011B, 444},
{-1, 0x0178, 556},
{-1, 0x00F7, 675},
{-1, 0x00DD, 556},
{-1, 0x00C2, 611},
{-1, 0x00E1, 500},
{-1, 0x00DB, 722},
{-1, 0x00FD, 444},
{-1, 0x0219, 389},
{-1, 0x00EA, 444},
{-1, 0x016E, 722},
{-1, 0x00DC, 722},
{-1, 0x0105, 500},
{-1, 0x00DA, 722},
{-1, 0x0173, 500},
{-1, 0x00CB, 611},
{-1, 0x0110, 722},
{-1, 0xF6C3, 250},
{-1, 0x00A9, 760},
{-1, 0x0112, 611},
{-1, 0x010D, 444},
{-1, 0x00E5, 500},
{-1, 0x0145, 667},
{-1, 0x013A, 278},
{-1, 0x00E0, 500},
{-1, 0x0162, 556},
{-1, 0x0106, 667},
{-1, 0x00E3, 500},
{-1, 0x0116, 611},
{-1, 0x0161, 389},
{-1, 0x015F, 389},
{-1, 0x00ED, 278},
{-1, 0x25CA, 471},
{-1, 0x0158, 611},
{-1, 0x0122, 722},
{-1, 0x00FB, 500},
{-1, 0x00E2, 500},
{-1, 0x0100, 611},
{-1, 0x0159, 389},
{-1, 0x00E7, 444},
{-1, 0x017B, 556},
{-1, 0x00DE, 611},
{-1, 0x014C, 722},
{-1, 0x0154, 611},
{-1, 0x015A, 500},
{-1, 0x010F, 544},
{-1, 0x016A, 722},
{-1, 0x016F, 500},
{-1, 0x00B3, 300},
{-1, 0x00D2, 722},
{-1, 0x00C0, 611},
{-1, 0x0102, 611},
{-1, 0x00D7, 675},
{-1, 0x00FA, 500},
{-1, 0x0164, 556},
{-1, 0x2202, 476},
{-1, 0x00FF, 444},
{-1, 0x0143, 667},
{-1, 0x00EE, 278},
{-1, 0x00CA, 611},
{-1, 0x00E4, 500},
{-1, 0x00EB, 444},
{-1, 0x0107, 444},
{-1, 0x0144, 500},
{-1, 0x016B, 500},
{-1, 0x0147, 667},
{-1, 0x00CD, 333},
{-1, 0x00B1, 675},
{-1, 0x00A6, 275},
{-1, 0x00AE, 760},
{-1, 0x011E, 722},
{-1, 0x0130, 333},
{-1, 0x2211, 600},
{-1, 0x00C8, 611},
{-1, 0x0155, 389},
{-1, 0x014D, 500},
{-1, 0x0179, 556},
{-1, 0x017D, 556},
{-1, 0x2265, 549},
{-1, 0x00D0, 722},
{-1, 0x00C7, 667},
{-1, 0x013C, 278},
{-1, 0x0165, 300},
{-1, 0x0119, 444},
{-1, 0x0172, 722},
{-1, 0x00C1, 611},
{-1, 0x00C4, 611},
{-1, 0x00E8, 444},
{-1, 0x017A, 389},
{-1, 0x012F, 278},
{-1, 0x00D3, 722},
{-1, 0x00F3, 500},
{-1, 0x0101, 500},
{-1, 0x015B, 389},
{-1, 0x00EF, 278},
{-1, 0x00D4, 722},
{-1, 0x00D9, 722},
{-1, 0x0394, 612},
{-1, 0x00FE, 500},
{-1, 0x00B2, 300},
{-1, 0x00D6, 722},
{-1, 0x00B5, 500},
{-1, 0x00EC, 278},
{-1, 0x0151, 500},
{-1, 0x0118, 611},
{-1, 0x0111, 500},
{-1, 0x00BE, 750},
{-1, 0x015E, 500},
{-1, 0x013E, 300},
{-1, 0x0136, 667},
{-1, 0x0139, 556},
{-1, 0x2122, 980},
{-1, 0x0117, 444},
{-1, 0x00CC, 333},
{-1, 0x012A, 333},
{-1, 0x013D, 611},
{-1, 0x00BD, 750},
{-1, 0x2264, 549},
{-1, 0x00F4, 500},
{-1, 0x00F1, 500},
{-1, 0x0170, 722},
{-1, 0x00C9, 611},
{-1, 0x0113, 444},
{-1, 0x011F, 500},
{-1, 0x00BC, 750},
{-1, 0x0160, 500},
{-1, 0x0218, 500},
{-1, 0x0150, 722},
{-1, 0x00B0, 400},
{-1, 0x00F2, 500},
{-1, 0x010C, 667},
{-1, 0x00F9, 500},
{-1, 0x221A, 453},
{-1, 0x010E, 722},
{-1, 0x0157, 389},
{-1, 0x00D1, 667},
{-1, 0x00F5, 500},
{-1, 0x0156, 611},
{-1, 0x013B, 556},
{-1, 0x00C3, 611},
{-1, 0x0104, 611},
{-1, 0x00C5, 611},
{-1, 0x00D5, 722},
{-1, 0x017C, 389},
{-1, 0x011A, 611},
{-1, 0x012E, 333},
{-1, 0x0137, 444},
{-1, 0x2212, 675},
{-1, 0x00CE, 333},
{-1, 0x0148, 500},
{-1, 0x0163, 278},
{-1, 0x00AC, 675},
{-1, 0x00F6, 500},
{-1, 0x00FC, 500},
{-1, 0x2260, 549},
{-1, 0x0123, 500},
{-1, 0x00F0, 500},
{-1, 0x017E, 389},
{-1, 0x0146, 500},
{-1, 0x00B9, 300},
{-1, 0x012B, 278},
{-1, 0x20AC, 500},
{-1, 0xFFFF, 0}
};
static const HPDF_CharData CHAR_DATA_ZAPF_DINGBATS[203] = {
{32, 0x0020, 278},
{33, 0x0021, 974},
{34, 0x0022, 961},
{35, 0x0023, 974},
{36, 0x0024, 980},
{37, 0x0025, 719},
{38, 0x0026, 789},
{39, 0x0027, 790},
{40, 0x0028, 791},
{41, 0x0029, 690},
{42, 0x002A, 960},
{43, 0x002B, 939},
{44, 0x002C, 549},
{45, 0x002D, 855},
{46, 0x002E, 911},
{47, 0x002F, 933},
{48, 0x0030, 911},
{49, 0x0031, 945},
{50, 0x0032, 974},
{51, 0x0033, 755},
{52, 0x0034, 846},
{53, 0x0035, 762},
{54, 0x0036, 761},
{55, 0x0037, 571},
{56, 0x0038, 677},
{57, 0x0039, 763},
{58, 0x003A, 760},
{59, 0x003B, 759},
{60, 0x003C, 754},
{61, 0x003D, 494},
{62, 0x003E, 552},
{63, 0x003F, 537},
{64, 0x0040, 577},
{65, 0x0041, 692},
{66, 0x0042, 786},
{67, 0x0043, 788},
{68, 0x0044, 788},
{69, 0x0045, 790},
{70, 0x0046, 793},
{71, 0x0047, 794},
{72, 0x0048, 816},
{73, 0x0049, 823},
{74, 0x004A, 789},
{75, 0x004B, 841},
{76, 0x004C, 823},
{77, 0x004D, 833},
{78, 0x004E, 816},
{79, 0x004F, 831},
{80, 0x0050, 923},
{81, 0x0051, 744},
{82, 0x0052, 723},
{83, 0x0053, 749},
{84, 0x0054, 790},
{85, 0x0055, 792},
{86, 0x0056, 695},
{87, 0x0057, 776},
{88, 0x0058, 768},
{89, 0x0059, 792},
{90, 0x005A, 759},
{91, 0x005B, 707},
{92, 0x005C, 708},
{93, 0x005D, 682},
{94, 0x005E, 701},
{95, 0x005F, 826},
{96, 0x0060, 815},
{97, 0x0061, 789},
{98, 0x0062, 789},
{99, 0x0063, 707},
{100, 0x0064, 687},
{101, 0x0065, 696},
{102, 0x0066, 689},
{103, 0x0067, 786},
{104, 0x0068, 787},
{105, 0x0069, 713},
{106, 0x006A, 791},
{107, 0x006B, 785},
{108, 0x006C, 791},
{109, 0x006D, 873},
{110, 0x006E, 761},
{111, 0x006F, 762},
{112, 0x0070, 762},
{113, 0x0071, 759},
{114, 0x0072, 759},
{115, 0x0073, 892},
{116, 0x0074, 892},
{117, 0x0075, 788},
{118, 0x0076, 784},
{119, 0x0077, 438},
{120, 0x0078, 138},
{121, 0x0079, 277},
{122, 0x007A, 415},
{123, 0x007B, 392},
{124, 0x007C, 392},
{125, 0x007D, 668},
{126, 0x007E, 668},
{128, 0x0080, 390},
{129, 0x0081, 390},
{130, 0x0082, 317},
{131, 0x0083, 317},
{132, 0x0084, 276},
{133, 0x0085, 276},
{134, 0x0086, 509},
{135, 0x0087, 509},
{136, 0x0088, 410},
{137, 0x0089, 410},
{138, 0x008A, 234},
{139, 0x008B, 234},
{140, 0x008C, 334},
{141, 0x008D, 334},
{161, 0x00A1, 732},
{162, 0x00A2, 544},
{163, 0x00A3, 544},
{164, 0x00A4, 910},
{165, 0x00A5, 667},
{166, 0x00A6, 760},
{167, 0x00A7, 760},
{168, 0x00A8, 776},
{169, 0x00A9, 595},
{170, 0x00AA, 694},
{171, 0x00AB, 626},
{172, 0x00AC, 788},
{173, 0x00AD, 788},
{174, 0x00AE, 788},
{175, 0x00AF, 788},
{176, 0x00B0, 788},
{177, 0x00B1, 788},
{178, 0x00B2, 788},
{179, 0x00B3, 788},
{180, 0x00B4, 788},
{181, 0x00B5, 788},
{182, 0x00B6, 788},
{183, 0x00B7, 788},
{184, 0x00B8, 788},
{185, 0x00B9, 788},
{186, 0x00BA, 788},
{187, 0x00BB, 788},
{188, 0x00BC, 788},
{189, 0x00BD, 788},
{190, 0x00BE, 788},
{191, 0x00BF, 788},
{192, 0x00C0, 788},
{193, 0x00C1, 788},
{194, 0x00C2, 788},
{195, 0x00C3, 788},
{196, 0x00C4, 788},
{197, 0x00C5, 788},
{198, 0x00C6, 788},
{199, 0x00C7, 788},
{200, 0x00C8, 788},
{201, 0x00C9, 788},
{202, 0x00CA, 788},
{203, 0x00CB, 788},
{204, 0x00CC, 788},
{205, 0x00CD, 788},
{206, 0x00CE, 788},
{207, 0x00CF, 788},
{208, 0x00D0, 788},
{209, 0x00D1, 788},
{210, 0x00D2, 788},
{211, 0x00D3, 788},
{212, 0x00D4, 894},
{213, 0x00D5, 838},
{214, 0x00D6, 1016},
{215, 0x00D7, 458},
{216, 0x00D8, 748},
{217, 0x00D9, 924},
{218, 0x00DA, 748},
{219, 0x00DB, 918},
{220, 0x00DC, 927},
{221, 0x00DD, 928},
{222, 0x00DE, 928},
{223, 0x00DF, 834},
{224, 0x00E0, 873},
{225, 0x00E1, 828},
{226, 0x00E2, 924},
{227, 0x00E3, 924},
{228, 0x00E4, 917},
{229, 0x00E5, 930},
{230, 0x00E6, 931},
{231, 0x00E7, 463},
{232, 0x00E8, 883},
{233, 0x00E9, 836},
{234, 0x00EA, 836},
{235, 0x00EB, 867},
{236, 0x00EC, 867},
{237, 0x00ED, 696},
{238, 0x00EE, 696},
{239, 0x00EF, 874},
{241, 0x00F1, 874},
{242, 0x00F2, 760},
{243, 0x00F3, 946},
{244, 0x00F4, 771},
{245, 0x00F5, 865},
{246, 0x00F6, 771},
{247, 0x00F7, 888},
{248, 0x00F8, 967},
{249, 0x00F9, 888},
{250, 0x00FA, 831},
{251, 0x00FB, 873},
{252, 0x00FC, 927},
{253, 0x00FD, 970},
{254, 0x00FE, 918},
{-1, 0xFFFF, 0}
};
static const HPDF_CharData CHAR_DATA_SYMBOL[190] = {
{32, 0x0020, 250},
{33, 0x0021, 333},
{34, 0x0022, 713},
{35, 0x0023, 500},
{36, 0x0024, 549},
{37, 0x0025, 833},
{38, 0x0026, 778},
{39, 0x0027, 439},
{40, 0x0028, 333},
{41, 0x0029, 333},
{42, 0x002A, 500},
{43, 0x002B, 549},
{44, 0x002C, 250},
{45, 0x002D, 549},
{46, 0x002E, 250},
{47, 0x002F, 278},
{48, 0x0030, 500},
{49, 0x0031, 500},
{50, 0x0032, 500},
{51, 0x0033, 500},
{52, 0x0034, 500},
{53, 0x0035, 500},
{54, 0x0036, 500},
{55, 0x0037, 500},
{56, 0x0038, 500},
{57, 0x0039, 500},
{58, 0x003A, 278},
{59, 0x003B, 278},
{60, 0x003C, 549},
{61, 0x003D, 549},
{62, 0x003E, 549},
{63, 0x003F, 444},
{64, 0x0040, 549},
{65, 0x0041, 722},
{66, 0x0042, 667},
{67, 0x0043, 722},
{68, 0x0044, 612},
{69, 0x0045, 611},
{70, 0x0046, 763},
{71, 0x0047, 603},
{72, 0x0048, 722},
{73, 0x0049, 333},
{74, 0x004A, 631},
{75, 0x004B, 722},
{76, 0x004C, 686},
{77, 0x004D, 889},
{78, 0x004E, 722},
{79, 0x004F, 722},
{80, 0x0050, 768},
{81, 0x0051, 741},
{82, 0x0052, 556},
{83, 0x0053, 592},
{84, 0x0054, 611},
{85, 0x0055, 690},
{86, 0x0056, 439},
{87, 0x0057, 768},
{88, 0x0058, 645},
{89, 0x0059, 795},
{90, 0x005A, 611},
{91, 0x005B, 333},
{92, 0x005C, 863},
{93, 0x005D, 333},
{94, 0x005E, 658},
{95, 0x005F, 500},
{96, 0x0060, 500},
{97, 0x0061, 631},
{98, 0x0062, 549},
{99, 0x0063, 549},
{100, 0x0064, 494},
{101, 0x0065, 439},
{102, 0x0066, 521},
{103, 0x0067, 411},
{104, 0x0068, 603},
{105, 0x0069, 329},
{106, 0x006A, 603},
{107, 0x006B, 549},
{108, 0x006C, 549},
{109, 0x006D, 576},
{110, 0x006E, 521},
{111, 0x006F, 549},
{112, 0x0070, 549},
{113, 0x0071, 521},
{114, 0x0072, 549},
{115, 0x0073, 603},
{116, 0x0074, 439},
{117, 0x0075, 576},
{118, 0x0076, 713},
{119, 0x0077, 686},
{120, 0x0078, 493},
{121, 0x0079, 686},
{122, 0x007A, 494},
{123, 0x007B, 480},
{124, 0x007C, 200},
{125, 0x007D, 480},
{126, 0x007E, 549},
{160, 0x00A0, 750},
{161, 0x00A1, 620},
{162, 0x00A2, 247},
{163, 0x00A3, 549},
{164, 0x00A4, 167},
{165, 0x00A5, 713},
{166, 0x00A6, 500},
{167, 0x00A7, 753},
{168, 0x00A8, 753},
{169, 0x00A9, 753},
{170, 0x00AA, 753},
{171, 0x00AB, 1042},
{172, 0x00AC, 987},
{173, 0x00AD, 603},
{174, 0x00AE, 987},
{175, 0x00AF, 603},
{176, 0x00B0, 400},
{177, 0x00B1, 549},
{178, 0x00B2, 411},
{179, 0x00B3, 549},
{180, 0x00B4, 549},
{181, 0x00B5, 713},
{182, 0x00B6, 494},
{183, 0x00B7, 460},
{184, 0x00B8, 549},
{185, 0x00B9, 549},
{186, 0x00BA, 549},
{187, 0x00BB, 549},
{188, 0x00BC, 1000},
{189, 0x00BD, 603},
{190, 0x00BE, 1000},
{191, 0x00BF, 658},
{192, 0x00C0, 823},
{193, 0x00C1, 686},
{194, 0x00C2, 795},
{195, 0x00C3, 987},
{196, 0x00C4, 768},
{197, 0x00C5, 768},
{198, 0x00C6, 823},
{199, 0x00C7, 768},
{200, 0x00C8, 768},
{201, 0x00C9, 713},
{202, 0x00CA, 713},
{203, 0x00CB, 713},
{204, 0x00CC, 713},
{205, 0x00CD, 713},
{206, 0x00CE, 713},
{207, 0x00CF, 713},
{208, 0x00D0, 768},
{209, 0x00D1, 713},
{210, 0x00D2, 790},
{211, 0x00D3, 790},
{212, 0x00D4, 890},
{213, 0x00D5, 823},
{214, 0x00D6, 549},
{215, 0x00D7, 250},
{216, 0x00D8, 713},
{217, 0x00D9, 603},
{218, 0x00DA, 603},
{219, 0x00DB, 1042},
{220, 0x00DC, 987},
{221, 0x00DD, 603},
{222, 0x00DE, 987},
{223, 0x00DF, 603},
{224, 0x00E0, 494},
{225, 0x00E1, 329},
{226, 0x00E2, 790},
{227, 0x00E3, 790},
{228, 0x00E4, 786},
{229, 0x00E5, 713},
{230, 0x00E6, 384},
{231, 0x00E7, 384},
{232, 0x00E8, 384},
{233, 0x00E9, 384},
{234, 0x00EA, 384},
{235, 0x00EB, 384},
{236, 0x00EC, 494},
{237, 0x00ED, 494},
{238, 0x00EE, 494},
{239, 0x00EF, 494},
{241, 0x00F1, 329},
{242, 0x00F2, 274},
{243, 0x00F3, 686},
{244, 0x00F4, 686},
{245, 0x00F5, 686},
{246, 0x00F6, 384},
{247, 0x00F7, 384},
{248, 0x00F8, 384},
{249, 0x00F9, 384},
{250, 0x00FA, 384},
{251, 0x00FB, 384},
{252, 0x00FC, 494},
{253, 0x00FD, 494},
{254, 0x00FE, 494},
{-1, 0xFFFF, 0}
};
/*----------------------------------------------------------------------------*/
/*------ base14 fonts --------------------------------------------------------*/
#define HPDF_FONT_COURIER "Courier"
#define HPDF_FONT_COURIER_BOLD "Courier-Bold"
#define HPDF_FONT_COURIER_OBLIQUE "Courier-Oblique"
#define HPDF_FONT_COURIER_BOLD_OBLIQUE "Courier-BoldOblique"
#define HPDF_FONT_HELVETICA "Helvetica"
#define HPDF_FONT_HELVETICA_BOLD "Helvetica-Bold"
#define HPDF_FONT_HELVETICA_OBLIQUE "Helvetica-Oblique"
#define HPDF_FONT_HELVETICA_BOLD_OBLIQUE "Helvetica-BoldOblique"
#define HPDF_FONT_TIMES_ROMAN "Times-Roman"
#define HPDF_FONT_TIMES_BOLD "Times-Bold"
#define HPDF_FONT_TIMES_ITALIC "Times-Italic"
#define HPDF_FONT_TIMES_BOLD_ITALIC "Times-BoldItalic"
#define HPDF_FONT_SYMBOL "Symbol"
#define HPDF_FONT_ZAPF_DINGBATS "ZapfDingbats"
typedef struct _HPDF_Base14FontDefData {
const char *font_name;
const HPDF_CharData *widths_table;
HPDF_BOOL is_font_specific;
HPDF_INT16 ascent;
HPDF_INT16 descent;
HPDF_UINT16 x_height;
HPDF_UINT16 cap_height;
HPDF_Box bbox;
} HPDF_Base14FontDefData;
static const HPDF_Base14FontDefData HPDF_BUILTIN_FONTS[] = {
{
HPDF_FONT_COURIER,
CHAR_DATA_COURIER,
HPDF_FALSE,
629,
-157,
426,
562,
{-23, -250, 715, 805}
},
{
HPDF_FONT_COURIER_BOLD,
CHAR_DATA_COURIER_BOLD,
HPDF_FALSE,
629,
-157,
439,
562,
{-113, -250, 749, 801}
},
{
HPDF_FONT_COURIER_OBLIQUE,
CHAR_DATA_COURIER_OBLIQUE,
HPDF_FALSE,
629,
-157,
426,
562,
{-27, -250, 849, 805}
},
{
HPDF_FONT_COURIER_BOLD_OBLIQUE,
CHAR_DATA_COURIER_BOLD_OBLIQUE,
HPDF_FALSE,
629,
-157,
439,
562,
{-57, -250, 869, 801}
},
{
HPDF_FONT_HELVETICA,
CHAR_DATA_HELVETICA,
HPDF_FALSE,
718,
-207,
523,
718,
{-166, -225, 1000, 931}
},
{
HPDF_FONT_HELVETICA_BOLD,
CHAR_DATA_HELVETICA_BOLD,
HPDF_FALSE,
718,
-207,
532,
718,
{-170, -228, 1003, 962}
},
{
HPDF_FONT_HELVETICA_OBLIQUE,
CHAR_DATA_HELVETICA_OBLIQUE,
HPDF_FALSE,
718,
-207,
532,
718,
{-170, -225, 1116, 931}
},
{
HPDF_FONT_HELVETICA_BOLD_OBLIQUE,
CHAR_DATA_HELVETICA_BOLD_OBLIQUE,
HPDF_FALSE,
718,
-207,
532,
718,
{-174, -228, 1114, 962}
},
{
HPDF_FONT_TIMES_ROMAN,
CHAR_DATA_TIMES_ROMAN,
HPDF_FALSE,
683,
-217,
450,
662,
{-168, -218, 1000, 898}
},
{
HPDF_FONT_TIMES_BOLD,
CHAR_DATA_TIMES_BOLD,
HPDF_FALSE,
683,
-217,
461,
676,
{-168, -218, 1000, 935}
},
{
HPDF_FONT_TIMES_ITALIC,
CHAR_DATA_TIMES_ITALIC,
HPDF_FALSE,
683,
-217,
441,
653,
{-169, -217, 1010, 883}
},
{
HPDF_FONT_TIMES_BOLD_ITALIC,
CHAR_DATA_TIMES_BOLD_ITALIC,
HPDF_FALSE,
683,
-217,
462,
669,
{-200, -218, 996, 921}
},
{
HPDF_FONT_SYMBOL,
CHAR_DATA_SYMBOL,
HPDF_TRUE,
0,
0,
0,
0,
{-180, -293, 1090, 1010}
},
{
HPDF_FONT_ZAPF_DINGBATS,
CHAR_DATA_ZAPF_DINGBATS,
HPDF_TRUE,
0,
0,
0,
0,
{-1, -143, 981, 820}
},
{
NULL,
NULL,
HPDF_FALSE,
0,
0,
0,
0,
{0, 0, 0, 0}
},
};
/*---------------------------------------------------------------------------*/
const HPDF_Base14FontDefData*
HPDF_Base14FontDef_FindBuiltinData (const char *font_name);
/*---------------------------------------------------------------------------*/
/*----- PDF_Base14FontDef ---------------------------------------------------*/
const HPDF_Base14FontDefData*
HPDF_Base14FontDef_FindBuiltinData (const char *font_name)
{
HPDF_UINT i = 0;
while (HPDF_BUILTIN_FONTS[i].font_name) {
if (HPDF_StrCmp (HPDF_BUILTIN_FONTS[i].font_name, font_name) == 0)
break;
i++;
}
return &HPDF_BUILTIN_FONTS[i];
}
HPDF_FontDef
HPDF_Base14FontDef_New (HPDF_MMgr mmgr,
const char *font_name)
{
HPDF_FontDef fontdef;
HPDF_STATUS ret;
const HPDF_Base14FontDefData *data;
char *eptr;
HPDF_Type1FontDefAttr attr;
fontdef = HPDF_Type1FontDef_New (mmgr);
if (!fontdef)
return NULL;
data = HPDF_Base14FontDef_FindBuiltinData (font_name);
if (!data->font_name) {
HPDF_SetError (mmgr->error, HPDF_INVALID_FONT_NAME, 0);
HPDF_FontDef_Free (fontdef);
return NULL;
}
eptr = fontdef->base_font + HPDF_LIMIT_MAX_NAME_LEN;
HPDF_StrCpy (fontdef->base_font, data->font_name, eptr);
attr = (HPDF_Type1FontDefAttr)fontdef->attr;
attr->is_base14font = HPDF_TRUE;
if (data->is_font_specific)
HPDF_StrCpy (attr->encoding_scheme, HPDF_ENCODING_FONT_SPECIFIC,
attr->encoding_scheme + HPDF_LIMIT_MAX_NAME_LEN);
ret = HPDF_Type1FontDef_SetWidths (fontdef, data->widths_table);
if (ret != HPDF_OK) {
HPDF_FontDef_Free (fontdef);
return NULL;
}
fontdef->font_bbox = data->bbox;
fontdef->ascent = data->ascent;
fontdef->descent = data->descent;
fontdef->x_height = data->x_height;
fontdef->cap_height = data->cap_height;
fontdef->valid = HPDF_TRUE;
return fontdef;
}