mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-04-07 13:55:33 +08:00
1081 lines
20 KiB
C
1081 lines
20 KiB
C
#pragma once
|
|
#ifndef _FONT_FILE_ENCODINGS_H
|
|
#define _FONT_FILE_ENCODINGS_H
|
|
|
|
#include "../Common/DocxFormat/Source/XML/XmlUtils.h"
|
|
|
|
//------------------------------------------------------------------------
|
|
// Type 1 and 1C font data
|
|
//------------------------------------------------------------------------
|
|
|
|
static char *c_arrsFontFileType1StandardEncoding[256] =
|
|
{
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
"space",
|
|
"exclam",
|
|
"quotedbl",
|
|
"numbersign",
|
|
"dollar",
|
|
"percent",
|
|
"ampersand",
|
|
"quoteright",
|
|
"parenleft",
|
|
"parenright",
|
|
"asterisk",
|
|
"plus",
|
|
"comma",
|
|
"hyphen",
|
|
"period",
|
|
"slash",
|
|
"zero",
|
|
"one",
|
|
"two",
|
|
"three",
|
|
"four",
|
|
"five",
|
|
"six",
|
|
"seven",
|
|
"eight",
|
|
"nine",
|
|
"colon",
|
|
"semicolon",
|
|
"less",
|
|
"equal",
|
|
"greater",
|
|
"question",
|
|
"at",
|
|
"A",
|
|
"B",
|
|
"C",
|
|
"D",
|
|
"E",
|
|
"F",
|
|
"G",
|
|
"H",
|
|
"I",
|
|
"J",
|
|
"K",
|
|
"L",
|
|
"M",
|
|
"N",
|
|
"O",
|
|
"P",
|
|
"Q",
|
|
"R",
|
|
"S",
|
|
"T",
|
|
"U",
|
|
"V",
|
|
"W",
|
|
"X",
|
|
"Y",
|
|
"Z",
|
|
"bracketleft",
|
|
"backslash",
|
|
"bracketright",
|
|
"asciicircum",
|
|
"underscore",
|
|
"quoteleft",
|
|
"a",
|
|
"b",
|
|
"c",
|
|
"d",
|
|
"e",
|
|
"f",
|
|
"g",
|
|
"h",
|
|
"i",
|
|
"j",
|
|
"k",
|
|
"l",
|
|
"m",
|
|
"n",
|
|
"o",
|
|
"p",
|
|
"q",
|
|
"r",
|
|
"s",
|
|
"t",
|
|
"u",
|
|
"v",
|
|
"w",
|
|
"x",
|
|
"y",
|
|
"z",
|
|
"braceleft",
|
|
"bar",
|
|
"braceright",
|
|
"asciitilde",
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
"exclamdown",
|
|
"cent",
|
|
"sterling",
|
|
"fraction",
|
|
"yen",
|
|
"florin",
|
|
"section",
|
|
"currency",
|
|
"quotesingle",
|
|
"quotedblleft",
|
|
"guillemotleft",
|
|
"guilsinglleft",
|
|
"guilsinglright",
|
|
"fi",
|
|
"fl",
|
|
NULL,
|
|
"endash",
|
|
"dagger",
|
|
"daggerdbl",
|
|
"periodcentered",
|
|
NULL,
|
|
"paragraph",
|
|
"bullet",
|
|
"quotesinglbase",
|
|
"quotedblbase",
|
|
"quotedblright",
|
|
"guillemotright",
|
|
"ellipsis",
|
|
"perthousand",
|
|
NULL,
|
|
"questiondown",
|
|
NULL,
|
|
"grave",
|
|
"acute",
|
|
"circumflex",
|
|
"tilde",
|
|
"macron",
|
|
"breve",
|
|
"dotaccent",
|
|
"dieresis",
|
|
NULL,
|
|
"ring",
|
|
"cedilla",
|
|
NULL,
|
|
"hungarumlaut",
|
|
"ogonek",
|
|
"caron",
|
|
"emdash",
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
"AE",
|
|
NULL,
|
|
"ordfeminine",
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
"Lslash",
|
|
"Oslash",
|
|
"OE",
|
|
"ordmasculine",
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
"ae",
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
"dotlessi",
|
|
NULL,
|
|
NULL,
|
|
"lslash",
|
|
"oslash",
|
|
"oe",
|
|
"germandbls",
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL
|
|
};
|
|
|
|
static char *c_arrsFontFileType1ExpertEncoding[256] =
|
|
{
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
"space",
|
|
"exclamsmall",
|
|
"Hungarumlautsmall",
|
|
NULL,
|
|
"dollaroldstyle",
|
|
"dollarsuperior",
|
|
"ampersandsmall",
|
|
"Acutesmall",
|
|
"parenleftsuperior",
|
|
"parenrightsuperior",
|
|
"twodotenleader",
|
|
"onedotenleader",
|
|
"comma",
|
|
"hyphen",
|
|
"period",
|
|
"fraction",
|
|
"zerooldstyle",
|
|
"oneoldstyle",
|
|
"twooldstyle",
|
|
"threeoldstyle",
|
|
"fouroldstyle",
|
|
"fiveoldstyle",
|
|
"sixoldstyle",
|
|
"sevenoldstyle",
|
|
"eightoldstyle",
|
|
"nineoldstyle",
|
|
"colon",
|
|
"semicolon",
|
|
"commasuperior",
|
|
"threequartersemdash",
|
|
"periodsuperior",
|
|
"questionsmall",
|
|
NULL,
|
|
"asuperior",
|
|
"bsuperior",
|
|
"centsuperior",
|
|
"dsuperior",
|
|
"esuperior",
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
"isuperior",
|
|
NULL,
|
|
NULL,
|
|
"lsuperior",
|
|
"msuperior",
|
|
"nsuperior",
|
|
"osuperior",
|
|
NULL,
|
|
NULL,
|
|
"rsuperior",
|
|
"ssuperior",
|
|
"tsuperior",
|
|
NULL,
|
|
"ff",
|
|
"fi",
|
|
"fl",
|
|
"ffi",
|
|
"ffl",
|
|
"parenleftinferior",
|
|
NULL,
|
|
"parenrightinferior",
|
|
"Circumflexsmall",
|
|
"hyphensuperior",
|
|
"Gravesmall",
|
|
"Asmall",
|
|
"Bsmall",
|
|
"Csmall",
|
|
"Dsmall",
|
|
"Esmall",
|
|
"Fsmall",
|
|
"Gsmall",
|
|
"Hsmall",
|
|
"Ismall",
|
|
"Jsmall",
|
|
"Ksmall",
|
|
"Lsmall",
|
|
"Msmall",
|
|
"Nsmall",
|
|
"Osmall",
|
|
"Psmall",
|
|
"Qsmall",
|
|
"Rsmall",
|
|
"Ssmall",
|
|
"Tsmall",
|
|
"Usmall",
|
|
"Vsmall",
|
|
"Wsmall",
|
|
"Xsmall",
|
|
"Ysmall",
|
|
"Zsmall",
|
|
"colonmonetary",
|
|
"onefitted",
|
|
"rupiah",
|
|
"Tildesmall",
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
"exclamdownsmall",
|
|
"centoldstyle",
|
|
"Lslashsmall",
|
|
NULL,
|
|
NULL,
|
|
"Scaronsmall",
|
|
"Zcaronsmall",
|
|
"Dieresissmall",
|
|
"Brevesmall",
|
|
"Caronsmall",
|
|
NULL,
|
|
"Dotaccentsmall",
|
|
NULL,
|
|
NULL,
|
|
"Macronsmall",
|
|
NULL,
|
|
NULL,
|
|
"figuredash",
|
|
"hypheninferior",
|
|
NULL,
|
|
NULL,
|
|
"Ogoneksmall",
|
|
"Ringsmall",
|
|
"Cedillasmall",
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
"onequarter",
|
|
"onehalf",
|
|
"threequarters",
|
|
"questiondownsmall",
|
|
"oneeighth",
|
|
"threeeighths",
|
|
"fiveeighths",
|
|
"seveneighths",
|
|
"onethird",
|
|
"twothirds",
|
|
NULL,
|
|
NULL,
|
|
"zerosuperior",
|
|
"onesuperior",
|
|
"twosuperior",
|
|
"threesuperior",
|
|
"foursuperior",
|
|
"fivesuperior",
|
|
"sixsuperior",
|
|
"sevensuperior",
|
|
"eightsuperior",
|
|
"ninesuperior",
|
|
"zeroinferior",
|
|
"oneinferior",
|
|
"twoinferior",
|
|
"threeinferior",
|
|
"fourinferior",
|
|
"fiveinferior",
|
|
"sixinferior",
|
|
"seveninferior",
|
|
"eightinferior",
|
|
"nineinferior",
|
|
"centinferior",
|
|
"dollarinferior",
|
|
"periodinferior",
|
|
"commainferior",
|
|
"Agravesmall",
|
|
"Aacutesmall",
|
|
"Acircumflexsmall",
|
|
"Atildesmall",
|
|
"Adieresissmall",
|
|
"Aringsmall",
|
|
"AEsmall",
|
|
"Ccedillasmall",
|
|
"Egravesmall",
|
|
"Eacutesmall",
|
|
"Ecircumflexsmall",
|
|
"Edieresissmall",
|
|
"Igravesmall",
|
|
"Iacutesmall",
|
|
"Icircumflexsmall",
|
|
"Idieresissmall",
|
|
"Ethsmall",
|
|
"Ntildesmall",
|
|
"Ogravesmall",
|
|
"Oacutesmall",
|
|
"Ocircumflexsmall",
|
|
"Otildesmall",
|
|
"Odieresissmall",
|
|
"OEsmall",
|
|
"Oslashsmall",
|
|
"Ugravesmall",
|
|
"Uacutesmall",
|
|
"Ucircumflexsmall",
|
|
"Udieresissmall",
|
|
"Yacutesmall",
|
|
"Thornsmall",
|
|
"Ydieresissmall"
|
|
};
|
|
|
|
|
|
//------------------------------------------------------------------------
|
|
// Type 1C font data
|
|
//------------------------------------------------------------------------
|
|
|
|
static char *c_arrsFontFileType1CStandardStrings[391] =
|
|
{
|
|
".notdef",
|
|
"space",
|
|
"exclam",
|
|
"quotedbl",
|
|
"numbersign",
|
|
"dollar",
|
|
"percent",
|
|
"ampersand",
|
|
"quoteright",
|
|
"parenleft",
|
|
"parenright",
|
|
"asterisk",
|
|
"plus",
|
|
"comma",
|
|
"hyphen",
|
|
"period",
|
|
"slash",
|
|
"zero",
|
|
"one",
|
|
"two",
|
|
"three",
|
|
"four",
|
|
"five",
|
|
"six",
|
|
"seven",
|
|
"eight",
|
|
"nine",
|
|
"colon",
|
|
"semicolon",
|
|
"less",
|
|
"equal",
|
|
"greater",
|
|
"question",
|
|
"at",
|
|
"A",
|
|
"B",
|
|
"C",
|
|
"D",
|
|
"E",
|
|
"F",
|
|
"G",
|
|
"H",
|
|
"I",
|
|
"J",
|
|
"K",
|
|
"L",
|
|
"M",
|
|
"N",
|
|
"O",
|
|
"P",
|
|
"Q",
|
|
"R",
|
|
"S",
|
|
"T",
|
|
"U",
|
|
"V",
|
|
"W",
|
|
"X",
|
|
"Y",
|
|
"Z",
|
|
"bracketleft",
|
|
"backslash",
|
|
"bracketright",
|
|
"asciicircum",
|
|
"underscore",
|
|
"quoteleft",
|
|
"a",
|
|
"b",
|
|
"c",
|
|
"d",
|
|
"e",
|
|
"f",
|
|
"g",
|
|
"h",
|
|
"i",
|
|
"j",
|
|
"k",
|
|
"l",
|
|
"m",
|
|
"n",
|
|
"o",
|
|
"p",
|
|
"q",
|
|
"r",
|
|
"s",
|
|
"t",
|
|
"u",
|
|
"v",
|
|
"w",
|
|
"x",
|
|
"y",
|
|
"z",
|
|
"braceleft",
|
|
"bar",
|
|
"braceright",
|
|
"asciitilde",
|
|
"exclamdown",
|
|
"cent",
|
|
"sterling",
|
|
"fraction",
|
|
"yen",
|
|
"florin",
|
|
"section",
|
|
"currency",
|
|
"quotesingle",
|
|
"quotedblleft",
|
|
"guillemotleft",
|
|
"guilsinglleft",
|
|
"guilsinglright",
|
|
"fi",
|
|
"fl",
|
|
"endash",
|
|
"dagger",
|
|
"daggerdbl",
|
|
"periodcentered",
|
|
"paragraph",
|
|
"bullet",
|
|
"quotesinglbase",
|
|
"quotedblbase",
|
|
"quotedblright",
|
|
"guillemotright",
|
|
"ellipsis",
|
|
"perthousand",
|
|
"questiondown",
|
|
"grave",
|
|
"acute",
|
|
"circumflex",
|
|
"tilde",
|
|
"macron",
|
|
"breve",
|
|
"dotaccent",
|
|
"dieresis",
|
|
"ring",
|
|
"cedilla",
|
|
"hungarumlaut",
|
|
"ogonek",
|
|
"caron",
|
|
"emdash",
|
|
"AE",
|
|
"ordfeminine",
|
|
"Lslash",
|
|
"Oslash",
|
|
"OE",
|
|
"ordmasculine",
|
|
"ae",
|
|
"dotlessi",
|
|
"lslash",
|
|
"oslash",
|
|
"oe",
|
|
"germandbls",
|
|
"onesuperior",
|
|
"logicalnot",
|
|
"mu",
|
|
"trademark",
|
|
"Eth",
|
|
"onehalf",
|
|
"plusminus",
|
|
"Thorn",
|
|
"onequarter",
|
|
"divide",
|
|
"brokenbar",
|
|
"degree",
|
|
"thorn",
|
|
"threequarters",
|
|
"twosuperior",
|
|
"registered",
|
|
"minus",
|
|
"eth",
|
|
"multiply",
|
|
"threesuperior",
|
|
"copyright",
|
|
"Aacute",
|
|
"Acircumflex",
|
|
"Adieresis",
|
|
"Agrave",
|
|
"Aring",
|
|
"Atilde",
|
|
"Ccedilla",
|
|
"Eacute",
|
|
"Ecircumflex",
|
|
"Edieresis",
|
|
"Egrave",
|
|
"Iacute",
|
|
"Icircumflex",
|
|
"Idieresis",
|
|
"Igrave",
|
|
"Ntilde",
|
|
"Oacute",
|
|
"Ocircumflex",
|
|
"Odieresis",
|
|
"Ograve",
|
|
"Otilde",
|
|
"Scaron",
|
|
"Uacute",
|
|
"Ucircumflex",
|
|
"Udieresis",
|
|
"Ugrave",
|
|
"Yacute",
|
|
"Ydieresis",
|
|
"Zcaron",
|
|
"aacute",
|
|
"acircumflex",
|
|
"adieresis",
|
|
"agrave",
|
|
"aring",
|
|
"atilde",
|
|
"ccedilla",
|
|
"eacute",
|
|
"ecircumflex",
|
|
"edieresis",
|
|
"egrave",
|
|
"iacute",
|
|
"icircumflex",
|
|
"idieresis",
|
|
"igrave",
|
|
"ntilde",
|
|
"oacute",
|
|
"ocircumflex",
|
|
"odieresis",
|
|
"ograve",
|
|
"otilde",
|
|
"scaron",
|
|
"uacute",
|
|
"ucircumflex",
|
|
"udieresis",
|
|
"ugrave",
|
|
"yacute",
|
|
"ydieresis",
|
|
"zcaron",
|
|
"exclamsmall",
|
|
"Hungarumlautsmall",
|
|
"dollaroldstyle",
|
|
"dollarsuperior",
|
|
"ampersandsmall",
|
|
"Acutesmall",
|
|
"parenleftsuperior",
|
|
"parenrightsuperior",
|
|
"twodotenleader",
|
|
"onedotenleader",
|
|
"zerooldstyle",
|
|
"oneoldstyle",
|
|
"twooldstyle",
|
|
"threeoldstyle",
|
|
"fouroldstyle",
|
|
"fiveoldstyle",
|
|
"sixoldstyle",
|
|
"sevenoldstyle",
|
|
"eightoldstyle",
|
|
"nineoldstyle",
|
|
"commasuperior",
|
|
"threequartersemdash",
|
|
"periodsuperior",
|
|
"questionsmall",
|
|
"asuperior",
|
|
"bsuperior",
|
|
"centsuperior",
|
|
"dsuperior",
|
|
"esuperior",
|
|
"isuperior",
|
|
"lsuperior",
|
|
"msuperior",
|
|
"nsuperior",
|
|
"osuperior",
|
|
"rsuperior",
|
|
"ssuperior",
|
|
"tsuperior",
|
|
"ff",
|
|
"ffi",
|
|
"ffl",
|
|
"parenleftinferior",
|
|
"parenrightinferior",
|
|
"Circumflexsmall",
|
|
"hyphensuperior",
|
|
"Gravesmall",
|
|
"Asmall",
|
|
"Bsmall",
|
|
"Csmall",
|
|
"Dsmall",
|
|
"Esmall",
|
|
"Fsmall",
|
|
"Gsmall",
|
|
"Hsmall",
|
|
"Ismall",
|
|
"Jsmall",
|
|
"Ksmall",
|
|
"Lsmall",
|
|
"Msmall",
|
|
"Nsmall",
|
|
"Osmall",
|
|
"Psmall",
|
|
"Qsmall",
|
|
"Rsmall",
|
|
"Ssmall",
|
|
"Tsmall",
|
|
"Usmall",
|
|
"Vsmall",
|
|
"Wsmall",
|
|
"Xsmall",
|
|
"Ysmall",
|
|
"Zsmall",
|
|
"colonmonetary",
|
|
"onefitted",
|
|
"rupiah",
|
|
"Tildesmall",
|
|
"exclamdownsmall",
|
|
"centoldstyle",
|
|
"Lslashsmall",
|
|
"Scaronsmall",
|
|
"Zcaronsmall",
|
|
"Dieresissmall",
|
|
"Brevesmall",
|
|
"Caronsmall",
|
|
"Dotaccentsmall",
|
|
"Macronsmall",
|
|
"figuredash",
|
|
"hypheninferior",
|
|
"Ogoneksmall",
|
|
"Ringsmall",
|
|
"Cedillasmall",
|
|
"questiondownsmall",
|
|
"oneeighth",
|
|
"threeeighths",
|
|
"fiveeighths",
|
|
"seveneighths",
|
|
"onethird",
|
|
"twothirds",
|
|
"zerosuperior",
|
|
"foursuperior",
|
|
"fivesuperior",
|
|
"sixsuperior",
|
|
"sevensuperior",
|
|
"eightsuperior",
|
|
"ninesuperior",
|
|
"zeroinferior",
|
|
"oneinferior",
|
|
"twoinferior",
|
|
"threeinferior",
|
|
"fourinferior",
|
|
"fiveinferior",
|
|
"sixinferior",
|
|
"seveninferior",
|
|
"eightinferior",
|
|
"nineinferior",
|
|
"centinferior",
|
|
"dollarinferior",
|
|
"periodinferior",
|
|
"commainferior",
|
|
"Agravesmall",
|
|
"Aacutesmall",
|
|
"Acircumflexsmall",
|
|
"Atildesmall",
|
|
"Adieresissmall",
|
|
"Aringsmall",
|
|
"AEsmall",
|
|
"Ccedillasmall",
|
|
"Egravesmall",
|
|
"Eacutesmall",
|
|
"Ecircumflexsmall",
|
|
"Edieresissmall",
|
|
"Igravesmall",
|
|
"Iacutesmall",
|
|
"Icircumflexsmall",
|
|
"Idieresissmall",
|
|
"Ethsmall",
|
|
"Ntildesmall",
|
|
"Ogravesmall",
|
|
"Oacutesmall",
|
|
"Ocircumflexsmall",
|
|
"Otildesmall",
|
|
"Odieresissmall",
|
|
"OEsmall",
|
|
"Oslashsmall",
|
|
"Ugravesmall",
|
|
"Uacutesmall",
|
|
"Ucircumflexsmall",
|
|
"Udieresissmall",
|
|
"Yacutesmall",
|
|
"Thornsmall",
|
|
"Ydieresissmall",
|
|
"001.000",
|
|
"001.001",
|
|
"001.002",
|
|
"001.003",
|
|
"Black",
|
|
"Bold",
|
|
"Book",
|
|
"Light",
|
|
"Medium",
|
|
"Regular",
|
|
"Roman",
|
|
"Semibold"
|
|
};
|
|
|
|
static unsigned short c_arrnFontFileType1CISOAdobeCharset[229] =
|
|
{
|
|
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
|
|
10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
|
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
|
|
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
|
|
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
|
|
50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
|
|
60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
|
|
70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
|
|
80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
|
|
90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
|
|
100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
|
|
110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
|
|
120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
|
|
130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
|
|
140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
|
|
150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
|
|
160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
|
|
170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
|
|
180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
|
|
190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
|
|
200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
|
|
210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
|
|
220, 221, 222, 223, 224, 225, 226, 227, 228
|
|
};
|
|
|
|
static unsigned short c_arrnFontFileType1CExpertCharset[166] =
|
|
{
|
|
0, 1, 229, 230, 231, 232, 233, 234, 235, 236,
|
|
237, 238, 13, 14, 15, 99, 239, 240, 241, 242,
|
|
243, 244, 245, 246, 247, 248, 27, 28, 249, 250,
|
|
251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
|
|
261, 262, 263, 264, 265, 266, 109, 110, 267, 268,
|
|
269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
|
|
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
|
|
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
|
|
299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
|
|
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
|
|
158, 155, 163, 319, 320, 321, 322, 323, 324, 325,
|
|
326, 150, 164, 169, 327, 328, 329, 330, 331, 332,
|
|
333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
|
|
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
|
|
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
|
|
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
|
|
373, 374, 375, 376, 377, 378
|
|
};
|
|
|
|
static unsigned short c_arrnFontFileType1CExpertSubsetCharset[87] =
|
|
{
|
|
0, 1, 231, 232, 235, 236, 237, 238, 13, 14,
|
|
15, 99, 239, 240, 241, 242, 243, 244, 245, 246,
|
|
247, 248, 27, 28, 249, 250, 251, 253, 254, 255,
|
|
256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
|
|
266, 109, 110, 267, 268, 269, 270, 272, 300, 301,
|
|
302, 305, 314, 315, 158, 155, 163, 320, 321, 322,
|
|
323, 324, 325, 326, 150, 164, 169, 327, 328, 329,
|
|
330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
|
|
340, 341, 342, 343, 344, 345, 346
|
|
};
|
|
|
|
int Type1NameToUnicodeW(CWCharWrapper wsName);
|
|
int Type1NameToUnicodeA(const char *sName);
|
|
|
|
#define CFF_STANDARD_STRINGS_COUNT 391 // 0..390
|
|
|
|
static const wchar_t* c_arrwsCFFStrings[] =
|
|
{
|
|
_T(".notdef"), _T("space"), _T("exclam"), _T("quotedbl"), _T("numbersign"), _T("dollar"), _T("percent"),
|
|
_T("ampersand"), _T("quoteright"), _T("parenleft"), _T("parenright"), _T("asterisk"), _T("plus"),
|
|
_T("comma"), _T("hyphen"), _T("period"), _T("slash"), _T("zero"), _T("one"), _T("two"), _T("three"), _T("four"),
|
|
_T("five"), _T("six"), _T("seven"), _T("eight"), _T("nine"), _T("colon"), _T("semicolon"), _T("less"),
|
|
_T("equal"), _T("greater"), _T("question"), _T("at"), _T("A"), _T("B"), _T("C"), _T("D"), _T("E"), _T("F"), _T("G"), _T("H"),
|
|
_T("I"), _T("J"), _T("K"), _T("L"), _T("M"), _T("N"), _T("O"), _T("P"), _T("Q"), _T("R"), _T("S"), _T("T"), _T("U"), _T("V"), _T("W"),
|
|
_T("X"), _T("Y"), _T("Z"), _T("bracketleft"), _T("backslash"), _T("bracketright"), _T("asciicircum"),
|
|
_T("underscore"), _T("quoteleft"), _T("a"), _T("b"), _T("c"), _T("d"), _T("e"), _T("f"), _T("g"), _T("h"), _T("i"), _T("j"),
|
|
_T("k"), _T("l"), _T("m"), _T("n"), _T("o"), _T("p"), _T("q"), _T("r"), _T("s"), _T("t"), _T("u"), _T("v"), _T("w"), _T("x"), _T("y"),
|
|
_T("z"), _T("braceleft"), _T("bar"), _T("braceright"), _T("asciitilde"), _T("exclamdown"), _T("cent"),
|
|
_T("sterling"), _T("fraction"), _T("yen"), _T("florin"), _T("section"), _T("currency"),
|
|
_T("quotesingle"), _T("quotedblleft"), _T("guillemotleft"), _T("guilsinglleft"),
|
|
_T("guilsinglright"), _T("fi"), _T("fl"), _T("endash"), _T("dagger"), _T("daggerdbl"),
|
|
_T("periodcentered"), _T("paragraph"), _T("bullet"), _T("quotesinglbase"), _T("quotedblbase"),
|
|
_T("quotedblright"), _T("guillemotright"), _T("ellipsis"), _T("perthousand"), _T("questiondown"),
|
|
_T("grave"), _T("acute"), _T("circumflex"), _T("tilde"), _T("macron"), _T("breve"), _T("dotaccent"),
|
|
_T("dieresis"), _T("ring"), _T("cedilla"), _T("hungarumlaut"), _T("ogonek"), _T("caron"), _T("emdash"),
|
|
_T("AE"), _T("ordfeminine"), _T("Lslash"), _T("Oslash"), _T("OE"), _T("ordmasculine"), _T("ae"),
|
|
_T("dotlessi"), _T("lslash"), _T("oslash"), _T("oe"), _T("germandbls"), _T("onesuperior"),
|
|
_T("logicalnot"), _T("mu"), _T("trademark"), _T("Eth"), _T("onehalf"), _T("plusminus"), _T("Thorn"),
|
|
_T("onequarter"), _T("divide"), _T("brokenbar"), _T("degree"), _T("thorn"), _T("threequarters"),
|
|
_T("twosuperior"), _T("registered"), _T("minus"), _T("eth"), _T("multiply"), _T("threesuperior"),
|
|
_T("copyright"), _T("Aacute"), _T("Acircumflex"), _T("Adieresis"), _T("Agrave"), _T("Aring"),
|
|
_T("Atilde"), _T("Ccedilla"), _T("Eacute"), _T("Ecircumflex"), _T("Edieresis"), _T("Egrave"),
|
|
_T("Iacute"), _T("Icircumflex"), _T("Idieresis"), _T("Igrave"), _T("Ntilde"), _T("Oacute"),
|
|
_T("Ocircumflex"), _T("Odieresis"), _T("Ograve"), _T("Otilde"), _T("Scaron"), _T("Uacute"),
|
|
_T("Ucircumflex"), _T("Udieresis"), _T("Ugrave"), _T("Yacute"), _T("Ydieresis"), _T("Zcaron"),
|
|
_T("aacute"), _T("acircumflex"), _T("adieresis"), _T("agrave"), _T("aring"), _T("atilde"),
|
|
_T("ccedilla"), _T("eacute"), _T("ecircumflex"), _T("edieresis"), _T("egrave"), _T("iacute"),
|
|
_T("icircumflex"), _T("idieresis"), _T("igrave"), _T("ntilde"), _T("oacute"), _T("ocircumflex"),
|
|
_T("odieresis"), _T("ograve"), _T("otilde"), _T("scaron"), _T("uacute"), _T("ucircumflex"),
|
|
_T("udieresis"), _T("ugrave"), _T("yacute"), _T("ydieresis"), _T("zcaron"), _T("exclamsmall"),
|
|
_T("Hungarumlautsmall"), _T("dollaroldstyle"), _T("dollarsuperior"), _T("ampersandsmall"),
|
|
_T("Acutesmall"), _T("parenleftsuperior"), _T("parenrightsuperior"), _T("266 ff"),
|
|
_T("onedotenleader"), _T("zerooldstyle"), _T("oneoldstyle"), _T("twooldstyle"),
|
|
_T("threeoldstyle"), _T("fouroldstyle"), _T("fiveoldstyle"), _T("sixoldstyle"),
|
|
_T("sevenoldstyle"), _T("eightoldstyle"), _T("nineoldstyle"), _T("commasuperior"),
|
|
_T("threequartersemdash"), _T("periodsuperior"), _T("questionsmall"), _T("asuperior"),
|
|
_T("bsuperior"), _T("centsuperior"), _T("dsuperior"), _T("esuperior"), _T("isuperior"),
|
|
_T("lsuperior"), _T("msuperior"), _T("nsuperior"), _T("osuperior"), _T("rsuperior"), _T("ssuperior"),
|
|
_T("tsuperior"), _T("ff"), _T("ffi"), _T("ffl"), _T("parenleftinferior"), _T("parenrightinferior"),
|
|
_T("Circumflexsmall"), _T("hyphensuperior"), _T("Gravesmall"), _T("Asmall"), _T("Bsmall"),
|
|
_T("Csmall"), _T("Dsmall"), _T("Esmall"), _T("Fsmall"), _T("Gsmall"), _T("Hsmall"), _T("Ismall"),
|
|
_T("Jsmall"), _T("Ksmall"), _T("Lsmall"), _T("Msmall"), _T("Nsmall"), _T("Osmall"), _T("Psmall"),
|
|
_T("Qsmall"), _T("Rsmall"), _T("Ssmall"), _T("Tsmall"), _T("Usmall"), _T("Vsmall"), _T("Wsmall"),
|
|
_T("Xsmall"), _T("Ysmall"), _T("Zsmall"), _T("colonmonetary"), _T("onefitted"), _T("rupiah"),
|
|
_T("Tildesmall"), _T("exclamdownsmall"), _T("centoldstyle"), _T("Lslashsmall"),
|
|
_T("Scaronsmall"), _T("Zcaronsmall"), _T("Dieresissmall"), _T("Brevesmall"), _T("Caronsmall"),
|
|
_T("Dotaccentsmall"), _T("Macronsmall"), _T("figuredash"), _T("hypheninferior"),
|
|
_T("Ogoneksmall"), _T("Ringsmall"), _T("Cedillasmall"), _T("questiondownsmall"), _T("oneeighth"),
|
|
_T("threeeighths"), _T("fiveeighths"), _T("seveneighths"), _T("onethird"), _T("twothirds"),
|
|
_T("zerosuperior"), _T("foursuperior"), _T("fivesuperior"), _T("sixsuperior"),
|
|
_T("sevensuperior"), _T("eightsuperior"), _T("ninesuperior"), _T("zeroinferior"),
|
|
_T("oneinferior"), _T("twoinferior"), _T("threeinferior"), _T("fourinferior"),
|
|
_T("fiveinferior"), _T("sixinferior"), _T("seveninferior"), _T("eightinferior"),
|
|
_T("nineinferior"), _T("centinferior"), _T("dollarinferior"), _T("periodinferior"),
|
|
_T("commainferior"), _T("Agravesmall"), _T("Aacutesmall"), _T("Acircumflexsmall"),
|
|
_T("Atildesmall"), _T("Adieresissmall"), _T("Aringsmall"), _T("AEsmall"), _T("Ccedillasmall"),
|
|
_T("Egravesmall"), _T("Eacutesmall"), _T("Ecircumflexsmall"), _T("Edieresissmall"),
|
|
_T("Igravesmall"), _T("Iacutesmall"), _T("Icircumflexsmall"), _T("Idieresissmall"),
|
|
_T("Ethsmall"), _T("Ntildesmall"), _T("Ogravesmall"), _T("Oacutesmall"), _T("Ocircumflexsmall"),
|
|
_T("Otildesmall"), _T("Odieresissmall"), _T("OEsmall"), _T("Oslashsmall"), _T("Ugravesmall"),
|
|
_T("Uacutesmall"), _T("Ucircumflexsmall"), _T("Udieresissmall"), _T("Yacutesmall"),
|
|
_T("Thornsmall"), _T("Ydieresissmall"), _T("001.000"), _T("001.001"), _T("001.002"), _T("001.003"),
|
|
_T("Black"), _T("Bold"), _T("Book"), _T("Light"), _T("Medium"), _T("Regular"), _T("Roman"), _T("Semibold"), NULL
|
|
};
|
|
|
|
static int GetCFFStringIndex(CWCharWrapper wsString)
|
|
{
|
|
int nPos = 0;
|
|
while ( NULL != c_arrwsCFFStrings[nPos] )
|
|
{
|
|
if ( wsString == c_arrwsCFFStrings[nPos] )
|
|
return nPos;
|
|
|
|
nPos++;
|
|
}
|
|
|
|
return -1;
|
|
}
|
|
|
|
#endif /* _FONT_FILE_ENCODINGS_H */
|