#pragma once

#define MAX_GLYPH_COUNT 256
#define NOTDEF nullptr

const char* StandardEncoding[MAX_GLYPH_COUNT] = {
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
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",
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
"exclamdown",
"cent",
"sterling",
"fraction",
"yen",
"florin",
"section",
"currency",
"quotesingle",
"quotedblleft",
"guillemotleft",
"guilsinglleft",
"guilsinglright",
"fi",
"fl",
NOTDEF,
"endash",
"dagger",
"daggerdbl",
"periodcentered",
NOTDEF,
"paragraph",
"bullet",
"quotesinglbase",
"quotedblbase",
"quotedblright",
"guillemotright",
"ellipsis",
"perthousand",
NOTDEF,
"questiondown",
NOTDEF,
"grave",
"acute",
"circumflex",
"tilde",
"macron",
"breve",
"dotaccent",
"dieresis",
NOTDEF,
"ring",
"cedilla",
NOTDEF,
"hungarumlaut",
"ogonek",
"caron",
"emdash",
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
"AE",
NOTDEF,
"ordfeminine",
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
"Lslash",
"Oslash",
"OE",
"ordmasculine",
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
"ae",
NOTDEF,
NOTDEF,
NOTDEF,
"dotlessi",
NOTDEF,
NOTDEF,
"lslash",
"oslash",
"oe",
"germandbls",
NOTDEF,
NOTDEF,
NOTDEF,
NOTDEF,
};

const char* WinAnsiEncoding[MAX_GLYPH_COUNT] = {
	NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		"space",
		"exclam",
		"quotedbl",
		"numbersign",
		"dollar",
		"percent",
		"ampersand",
		"quotesingle",
		"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",
		"grave",
		"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",
		NOTDEF,
		NOTDEF,
		NOTDEF,
		"quotesinglbase",
		"florin",
		"quotedblbase",
		"ellipsis",
		"dagger",
		"daggerdbl",
		"circumflex",
		"perthousand",
		"Scaron",
		"guilsinglleft",
		"OE",
		NOTDEF,
		NOTDEF,
		NOTDEF,
		NOTDEF,
		"quoteleft",
		"quoteright",
		"quotedblleft",
		"quotedblright",
		"bullet",
		"endash",
		"emdash",
		"tilde",
		"trademark",
		"scaron",
		"guilsinglright",
		"oe",
		NOTDEF,
		NOTDEF,
		"Ydieresis",
		"space",
		"exclamdown",
		"cent",
		"sterling",
		"currency",
		"yen",
		"brokenbar",
		"section",
		"dieresis",
		"copyright",
		"ordfeminine",
		"guillemotleft",
		"logicalnot",
		"hyphen",
		"registered",
		"macron",
		"degree",
		"plusminus",
		"twosuperior",
		"threesuperior",
		"acute",
		"mu",
		"paragraph",
		"periodcentered",
		"cedilla",
		"onesuperior",
		"ordmasculine",
		"guillemotright",
		"onequarter",
		"onehalf",
		"threequarters",
		"questiondown",
		"Agrave",
		"Aacute",
		"Acircumflex",
		"Atilde",
		"Adieresis",
		"Aring",
		"AE",
		"Ccedilla",
		"Egrave",
		"Eacute",
		"Ecircumflex",
		"Edieresis",
		"Igrave",
		"Iacute",
		"Icircumflex",
		"Idieresis",
		"Eth",
		"Ntilde",
		"Ograve",
		"Oacute",
		"Ocircumflex",
		"Otilde",
		"Odieresis",
		"multiply",
		"Oslash",
		"Ugrave",
		"Uacute",
		"Ucircumflex",
		"Udieresis",
		"Yacute",
		"Thorn",
		"germandbls",
		"agrave",
		"aacute",
		"acircumflex",
		"atilde",
		"adieresis",
		"aring",
		"ae",
		"ccedilla",
		"egrave",
		"eacute",
		"ecircumflex",
		"edieresis",
		"igrave",
		"iacute",
		"icircumflex",
		"idieresis",
		"eth",
		"ntilde",
		"ograve",
		"oacute",
		"ocircumflex",
		"otilde",
		"odieresis",
		"divide",
		"oslash",
		"ugrave",
		"uacute",
		"ucircumflex",
		"udieresis",
		"yacute",
		"thorn",
		"ydieresis"
};

const char* MacRomanEncoding[MAX_GLYPH_COUNT] =	{
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	"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",
	"grave",
	"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",
	nullptr,
	"Adieresis",
	"Aring",
	"Ccedilla",
	"Eacute",
	"Ntilde",
	"Odieresis",
	"Udieresis",
	"aacute",
	"agrave",
	"acircumflex",
	"adieresis",
	"atilde",
	"aring",
	"ccedilla",
	"eacute",
	"egrave",
	"ecircumflex",
	"edieresis",
	"iacute",
	"igrave",
	"icircumflex",
	"idieresis",
	"ntilde",
	"oacute",
	"ograve",
	"ocircumflex",
	"odieresis",
	"otilde",
	"uacute",
	"ugrave",
	"ucircumflex",
	"udieresis",
	"dagger",
	"degree",
	"cent",
	"sterling",
	"section",
	"bullet",
	"paragraph",
	"germandbls",
	"registered",
	"copyright",
	"trademark",
	"acute",
	"dieresis",
	nullptr,
	"AE",
	"Oslash",
	nullptr,
	"plusminus",
	nullptr,
	nullptr,
	"yen",
	"mu",
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	nullptr,
	"ordfeminine",
	"ordmasculine",
	nullptr,
	"ae",
	"oslash",
	"questiondown",
	"exclamdown",
	"logicalnot",
	nullptr,
	"florin",
	nullptr,
	nullptr,
	"guillemotleft",
	"guillemotright",
	"ellipsis",
	"space",
	"Agrave",
	"Atilde",
	"Otilde",
	"OE",
	"oe",
	"endash",
	"emdash",
	"quotedblleft",
	"quotedblright",
	"quoteleft",
	"quoteright",
	"divide",
	nullptr,
	"ydieresis",
	"Ydieresis",
	"fraction",
	"Euro",
	"guilsinglleft",
	"guilsinglright",
	"fi",
	"fl",
	"daggerdbl",
	"periodcentered",
	"quotesinglbase",
	"quotedblbase",
	"perthousand",
	"Acircumflex",
	"Ecircumflex",
	"Aacute",
	"Edieresis",
	"Egrave",
	"Iacute",
	"Icircumflex",
	"Idieresis",
	"Igrave",
	"Oacute",
	"Ocircumflex",
	nullptr,
	"Ograve",
	"Uacute",
	"Ucircumflex",
	"Ugrave",
	"dotlessi",
	"circumflex",
	"tilde",
	"macron",
	"breve",
	"dotaccent",
	"ring",
	"cedilla",
	"hungarumlaut",
	"ogonek",
	"caron"
};