#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 */
