summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile3
-rw-r--r--pdf/data_encodings.h (renamed from pdf/pdf_fontenc.c)248
-rw-r--r--pdf/data_glyphlist.h1461
-rw-r--r--pdf/mupdf.h2
-rw-r--r--pdf/pdf_encoding.c83
-rw-r--r--pdf/pdf_font.c8
-rw-r--r--pdf/pdf_fontagl.c5119
-rwxr-xr-xscripts/glyphdump.py127
-rw-r--r--win32/libmupdf.vcproj8
9 files changed, 1636 insertions, 5423 deletions
diff --git a/Makefile b/Makefile
index 0f9af691..47145b8c 100644
--- a/Makefile
+++ b/Makefile
@@ -142,9 +142,8 @@ MUPDF_SRC := \
pdf/pdf_colorspace.c \
pdf/pdf_crypt.c \
pdf/pdf_debug.c \
+ pdf/pdf_encoding.c \
pdf/pdf_font.c \
- pdf/pdf_fontagl.c \
- pdf/pdf_fontenc.c \
pdf/pdf_fontfile.c \
pdf/pdf_fontmtx.c \
pdf/pdf_function.c \
diff --git a/pdf/pdf_fontenc.c b/pdf/data_encodings.h
index daa1aa27..4a86e514 100644
--- a/pdf/pdf_fontenc.c
+++ b/pdf/data_encodings.h
@@ -1,27 +1,5 @@
-#include "fitz.h"
-#include "mupdf.h"
-
#define _notdef NULL
-void pdf_load_encoding(char **estrings, char *encoding)
-{
- char **bstrings = NULL;
- int i;
-
- if (!strcmp(encoding, "MacRomanEncoding"))
- bstrings = (char**) pdf_mac_roman;
- if (!strcmp(encoding, "MacExpertEncoding"))
- bstrings = (char**) pdf_mac_expert;
- if (!strcmp(encoding, "WinAnsiEncoding"))
- bstrings = (char**) pdf_win_ansi;
- if (!strcmp(encoding, "StandardEncoding"))
- bstrings = (char**) pdf_standard;
-
- if (bstrings)
- for (i = 0; i < 256; i++)
- estrings[i] = bstrings[i];
-}
-
const unsigned short pdf_doc_encoding[256] =
{
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -58,6 +36,47 @@ const unsigned short pdf_doc_encoding[256] =
0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff
};
+const char * const pdf_standard[256] = { _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 * const pdf_mac_roman[256] = { _notdef, _notdef,
_notdef, _notdef, _notdef, _notdef, _notdef, _notdef,
_notdef, _notdef, _notdef, _notdef, _notdef, _notdef,
@@ -96,7 +115,8 @@ const char * const pdf_mac_roman[256] = { _notdef, _notdef,
"Edieresis", "Egrave", "Iacute", "Icircumflex", "Idieresis", "Igrave",
"Oacute", "Ocircumflex", _notdef, "Ograve", "Uacute", "Ucircumflex",
"Ugrave", "dotlessi", "circumflex", "tilde", "macron", "breve",
- "dotaccent", "ring", "cedilla", "hungarumlaut", "ogonek", "caron" };
+ "dotaccent", "ring", "cedilla", "hungarumlaut", "ogonek", "caron"
+};
const char * const pdf_mac_expert[256] = { _notdef, _notdef,
_notdef, _notdef, _notdef, _notdef, _notdef, _notdef,
@@ -190,183 +210,5 @@ const char * const pdf_win_ansi[256] = { _notdef, _notdef, _notdef,
"edieresis", "igrave", "iacute", "icircumflex", "idieresis", "eth",
"ntilde", "ograve", "oacute", "ocircumflex", "otilde", "odieresis",
"divide", "oslash", "ugrave", "uacute", "ucircumflex", "udieresis",
- "yacute", "thorn", "ydieresis" };
-
-const char * const pdf_standard[256] = { _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 };
-
-#if 0
-
-const char * const pdf_expert[256] = { _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",
- "exclamsmall", "Hungarumlautsmall", _notdef, "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", _notdef, "asuperior", "bsuperior",
- "centsuperior", "dsuperior", "esuperior", _notdef, _notdef,
- _notdef, "isuperior", _notdef, _notdef, "lsuperior", "msuperior",
- "nsuperior", "osuperior", _notdef, _notdef, "rsuperior",
- "ssuperior", "tsuperior", _notdef, "ff", "fi", "fl", "ffi", "ffl",
- "parenleftinferior", _notdef, "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", _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, "exclamdownsmall",
- "centoldstyle", "Lslashsmall", _notdef, _notdef, "Scaronsmall",
- "Zcaronsmall", "Dieresissmall", "Brevesmall", "Caronsmall", _notdef,
- "Dotaccentsmall", _notdef, _notdef, "Macronsmall", _notdef,
- _notdef, "figuredash", "hypheninferior", _notdef, _notdef,
- "Ogoneksmall", "Ringsmall", "Cedillasmall", _notdef, _notdef,
- _notdef, "onequarter", "onehalf", "threequarters", "questiondownsmall",
- "oneeighth", "threeeighths", "fiveeighths", "seveneighths", "onethird",
- "twothirds", _notdef, _notdef, "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" };
-
-const char * const pdf_symbol[256] = { _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", "universal", "numbersign", "existential", "percent",
- "ampersand", "suchthat", "parenleft", "parenright", "asteriskmath",
- "plus", "comma", "minus", "period", "slash", "zero", "one", "two",
- "three", "four", "five", "six", "seven", "eight", "nine", "colon",
- "semicolon", "less", "equal", "greater", "question", "congruent",
- "Alpha", "Beta", "Chi", "Delta", "Epsilon", "Phi", "Gamma", "Eta",
- "Iota", "theta1", "Kappa", "Lambda", "Mu", "Nu", "Omicron", "Pi",
- "Theta", "Rho", "Sigma", "Tau", "Upsilon", "sigma1", "Omega", "Xi",
- "Psi", "Zeta", "bracketleft", "therefore", "bracketright",
- "perpendicular", "underscore", "radicalex", "alpha", "beta", "chi",
- "delta", "epsilon", "phi", "gamma", "eta", "iota", "phi1", "kappa",
- "lambda", "mu", "nu", "omicron", "pi", "theta", "rho", "sigma",
- "tau", "upsilon", "omega1", "omega", "xi", "psi", "zeta", "braceleft",
- "bar", "braceright", "similar", _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, "Upsilon1", "minute", "lessequal", "fraction", "infinity",
- "florin", "club", "diamond", "heart", "spade", "arrowboth",
- "arrowleft", "arrowup", "arrowright", "arrowdown", "degree",
- "plusminus", "second", "greaterequal", "multiply", "proportional",
- "partialdiff", "bullet", "divide", "notequal", "equivalence",
- "approxequal", "ellipsis", "arrowvertex", "arrowhorizex",
- "carriagereturn", "aleph", "Ifraktur", "Rfraktur", "weierstrass",
- "circlemultiply", "circleplus", "emptyset", "intersection", "union",
- "propersuperset", "reflexsuperset", "notsubset", "propersubset",
- "reflexsubset", "element", "notelement", "angle", "gradient",
- "registerserif", "copyrightserif", "trademarkserif", "product",
- "radical", "dotmath", "logicalnot", "logicaland", "logicalor",
- "arrowdblboth", "arrowdblleft", "arrowdblup", "arrowdblright",
- "arrowdbldown", "lozenge", "angleleft", "registersans", "copyrightsans",
- "trademarksans", "summation", "parenlefttp", "parenleftex",
- "parenleftbt", "bracketlefttp", "bracketleftex", "bracketleftbt",
- "bracelefttp", "braceleftmid", "braceleftbt", "braceex", _notdef,
- "angleright", "integral", "integraltp", "integralex", "integralbt",
- "parenrighttp", "parenrightex", "parenrightbt", "bracketrighttp",
- "bracketrightex", "bracketrightbt", "bracerighttp", "bracerightmid",
- "bracerightbt", _notdef };
-
-const char * const pdf_zapfdingbats[256] = { _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", "a1", "a2", "a202", "a3", "a4", "a5", "a119", "a118",
- "a117", "a11", "a12", "a13", "a14", "a15", "a16", "a105", "a17",
- "a18", "a19", "a20", "a21", "a22", "a23", "a24", "a25", "a26",
- "a27", "a28", "a6", "a7", "a8", "a9", "a10", "a29", "a30", "a31",
- "a32", "a33", "a34", "a35", "a36", "a37", "a38", "a39", "a40",
- "a41", "a42", "a43", "a44", "a45", "a46", "a47", "a48", "a49",
- "a50", "a51", "a52", "a53", "a54", "a55", "a56", "a57", "a58",
- "a59", "a60", "a61", "a62", "a63", "a64", "a65", "a66", "a67",
- "a68", "a69", "a70", "a71", "a72", "a73", "a74", "a203", "a75",
- "a204", "a76", "a77", "a78", "a79", "a81", "a82", "a83", "a84",
- "a97", "a98", "a99", "a100", _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, "a101", "a102", "a103", "a104", "a106", "a107", "a108",
- "a112", "a111", "a110", "a109", "a120", "a121", "a122", "a123",
- "a124", "a125", "a126", "a127", "a128", "a129", "a130", "a131",
- "a132", "a133", "a134", "a135", "a136", "a137", "a138", "a139",
- "a140", "a141", "a142", "a143", "a144", "a145", "a146", "a147",
- "a148", "a149", "a150", "a151", "a152", "a153", "a154", "a155",
- "a156", "a157", "a158", "a159", "a160", "a161", "a163", "a164",
- "a196", "a165", "a192", "a166", "a167", "a168", "a169", "a170",
- "a171", "a172", "a173", "a162", "a174", "a175", "a176", "a177",
- "a178", "a179", "a193", "a180", "a199", "a181", "a200", "a182",
- _notdef, "a201", "a183", "a184", "a197", "a185", "a194", "a198",
- "a186", "a195", "a187", "a188", "a189", "a190", "a191", _notdef };
-
-#endif
+ "yacute", "thorn", "ydieresis"
+};
diff --git a/pdf/data_glyphlist.h b/pdf/data_glyphlist.h
new file mode 100644
index 00000000..f1416916
--- /dev/null
+++ b/pdf/data_glyphlist.h
@@ -0,0 +1,1461 @@
+/*
+# Name: Adobe Glyph List
+# Table version: 2.0
+# Date: September 20, 2002
+#
+# See http://partners.adobe.com/asn/developer/typeforum/unicodegn.html
+#
+# Format: Semicolon-delimited fields:
+# (1) glyph name
+# (2) Unicode scalar value
+#--end
+*/
+
+static const char *agl_name_list[] = {
+"A","AE","AEacute","AEmacron","AEsmall","Aacute","Aacutesmall","Abreve",
+"Abreveacute","Abrevecyrillic","Abrevedotbelow","Abrevegrave",
+"Abrevehookabove","Abrevetilde","Acaron","Acircle","Acircumflex",
+"Acircumflexacute","Acircumflexdotbelow","Acircumflexgrave",
+"Acircumflexhookabove","Acircumflexsmall","Acircumflextilde","Acute",
+"Acutesmall","Acyrillic","Adblgrave","Adieresis","Adieresiscyrillic",
+"Adieresismacron","Adieresissmall","Adotbelow","Adotmacron","Agrave",
+"Agravesmall","Ahookabove","Aiecyrillic","Ainvertedbreve","Alpha",
+"Alphatonos","Amacron","Amonospace","Aogonek","Aring","Aringacute",
+"Aringbelow","Aringsmall","Asmall","Atilde","Atildesmall","Aybarmenian","B",
+"Bcircle","Bdotaccent","Bdotbelow","Becyrillic","Benarmenian","Beta","Bhook",
+"Blinebelow","Bmonospace","Brevesmall","Bsmall","Btopbar","C","Caarmenian",
+"Cacute","Caron","Caronsmall","Ccaron","Ccedilla","Ccedillaacute",
+"Ccedillasmall","Ccircle","Ccircumflex","Cdot","Cdotaccent","Cedillasmall",
+"Chaarmenian","Cheabkhasiancyrillic","Checyrillic",
+"Chedescenderabkhasiancyrillic","Chedescendercyrillic","Chedieresiscyrillic",
+"Cheharmenian","Chekhakassiancyrillic","Cheverticalstrokecyrillic","Chi",
+"Chook","Circumflexsmall","Cmonospace","Coarmenian","Csmall","D","DZ",
+"DZcaron","Daarmenian","Dafrican","Dcaron","Dcedilla","Dcircle",
+"Dcircumflexbelow","Dcroat","Ddotaccent","Ddotbelow","Decyrillic","Deicoptic",
+"Delta","Deltagreek","Dhook","Dieresis","DieresisAcute","DieresisGrave",
+"Dieresissmall","Digammagreek","Djecyrillic","Dlinebelow","Dmonospace",
+"Dotaccentsmall","Dslash","Dsmall","Dtopbar","Dz","Dzcaron",
+"Dzeabkhasiancyrillic","Dzecyrillic","Dzhecyrillic","E","Eacute",
+"Eacutesmall","Ebreve","Ecaron","Ecedillabreve","Echarmenian","Ecircle",
+"Ecircumflex","Ecircumflexacute","Ecircumflexbelow","Ecircumflexdotbelow",
+"Ecircumflexgrave","Ecircumflexhookabove","Ecircumflexsmall",
+"Ecircumflextilde","Ecyrillic","Edblgrave","Edieresis","Edieresissmall",
+"Edot","Edotaccent","Edotbelow","Efcyrillic","Egrave","Egravesmall",
+"Eharmenian","Ehookabove","Eightroman","Einvertedbreve","Eiotifiedcyrillic",
+"Elcyrillic","Elevenroman","Emacron","Emacronacute","Emacrongrave",
+"Emcyrillic","Emonospace","Encyrillic","Endescendercyrillic","Eng",
+"Enghecyrillic","Enhookcyrillic","Eogonek","Eopen","Epsilon","Epsilontonos",
+"Ercyrillic","Ereversed","Ereversedcyrillic","Escyrillic",
+"Esdescendercyrillic","Esh","Esmall","Eta","Etarmenian","Etatonos","Eth",
+"Ethsmall","Etilde","Etildebelow","Euro","Ezh","Ezhcaron","Ezhreversed","F",
+"Fcircle","Fdotaccent","Feharmenian","Feicoptic","Fhook","Fitacyrillic",
+"Fiveroman","Fmonospace","Fourroman","Fsmall","G","GBsquare","Gacute","Gamma",
+"Gammaafrican","Gangiacoptic","Gbreve","Gcaron","Gcedilla","Gcircle",
+"Gcircumflex","Gcommaaccent","Gdot","Gdotaccent","Gecyrillic","Ghadarmenian",
+"Ghemiddlehookcyrillic","Ghestrokecyrillic","Gheupturncyrillic","Ghook",
+"Gimarmenian","Gjecyrillic","Gmacron","Gmonospace","Grave","Gravesmall",
+"Gsmall","Gsmallhook","Gstroke","H","H18533","H18543","H18551","H22073",
+"HPsquare","Haabkhasiancyrillic","Hadescendercyrillic","Hardsigncyrillic",
+"Hbar","Hbrevebelow","Hcedilla","Hcircle","Hcircumflex","Hdieresis",
+"Hdotaccent","Hdotbelow","Hmonospace","Hoarmenian","Horicoptic","Hsmall",
+"Hungarumlaut","Hungarumlautsmall","Hzsquare","I","IAcyrillic","IJ",
+"IUcyrillic","Iacute","Iacutesmall","Ibreve","Icaron","Icircle","Icircumflex",
+"Icircumflexsmall","Icyrillic","Idblgrave","Idieresis","Idieresisacute",
+"Idieresiscyrillic","Idieresissmall","Idot","Idotaccent","Idotbelow",
+"Iebrevecyrillic","Iecyrillic","Ifraktur","Igrave","Igravesmall","Ihookabove",
+"Iicyrillic","Iinvertedbreve","Iishortcyrillic","Imacron","Imacroncyrillic",
+"Imonospace","Iniarmenian","Iocyrillic","Iogonek","Iota","Iotaafrican",
+"Iotadieresis","Iotatonos","Ismall","Istroke","Itilde","Itildebelow",
+"Izhitsacyrillic","Izhitsadblgravecyrillic","J","Jaarmenian","Jcircle",
+"Jcircumflex","Jecyrillic","Jheharmenian","Jmonospace","Jsmall","K",
+"KBsquare","KKsquare","Kabashkircyrillic","Kacute","Kacyrillic",
+"Kadescendercyrillic","Kahookcyrillic","Kappa","Kastrokecyrillic",
+"Kaverticalstrokecyrillic","Kcaron","Kcedilla","Kcircle","Kcommaaccent",
+"Kdotbelow","Keharmenian","Kenarmenian","Khacyrillic","Kheicoptic","Khook",
+"Kjecyrillic","Klinebelow","Kmonospace","Koppacyrillic","Koppagreek",
+"Ksicyrillic","Ksmall","L","LJ","LL","Lacute","Lambda","Lcaron","Lcedilla",
+"Lcircle","Lcircumflexbelow","Lcommaaccent","Ldot","Ldotaccent","Ldotbelow",
+"Ldotbelowmacron","Liwnarmenian","Lj","Ljecyrillic","Llinebelow","Lmonospace",
+"Lslash","Lslashsmall","Lsmall","M","MBsquare","Macron","Macronsmall",
+"Macute","Mcircle","Mdotaccent","Mdotbelow","Menarmenian","Mmonospace",
+"Msmall","Mturned","Mu","N","NJ","Nacute","Ncaron","Ncedilla","Ncircle",
+"Ncircumflexbelow","Ncommaaccent","Ndotaccent","Ndotbelow","Nhookleft",
+"Nineroman","Nj","Njecyrillic","Nlinebelow","Nmonospace","Nowarmenian",
+"Nsmall","Ntilde","Ntildesmall","Nu","O","OE","OEsmall","Oacute",
+"Oacutesmall","Obarredcyrillic","Obarreddieresiscyrillic","Obreve","Ocaron",
+"Ocenteredtilde","Ocircle","Ocircumflex","Ocircumflexacute",
+"Ocircumflexdotbelow","Ocircumflexgrave","Ocircumflexhookabove",
+"Ocircumflexsmall","Ocircumflextilde","Ocyrillic","Odblacute","Odblgrave",
+"Odieresis","Odieresiscyrillic","Odieresissmall","Odotbelow","Ogoneksmall",
+"Ograve","Ogravesmall","Oharmenian","Ohm","Ohookabove","Ohorn","Ohornacute",
+"Ohorndotbelow","Ohorngrave","Ohornhookabove","Ohorntilde","Ohungarumlaut",
+"Oi","Oinvertedbreve","Omacron","Omacronacute","Omacrongrave","Omega",
+"Omegacyrillic","Omegagreek","Omegaroundcyrillic","Omegatitlocyrillic",
+"Omegatonos","Omicron","Omicrontonos","Omonospace","Oneroman","Oogonek",
+"Oogonekmacron","Oopen","Oslash","Oslashacute","Oslashsmall","Osmall",
+"Ostrokeacute","Otcyrillic","Otilde","Otildeacute","Otildedieresis",
+"Otildesmall","P","Pacute","Pcircle","Pdotaccent","Pecyrillic","Peharmenian",
+"Pemiddlehookcyrillic","Phi","Phook","Pi","Piwrarmenian","Pmonospace","Psi",
+"Psicyrillic","Psmall","Q","Qcircle","Qmonospace","Qsmall","R","Raarmenian",
+"Racute","Rcaron","Rcedilla","Rcircle","Rcommaaccent","Rdblgrave",
+"Rdotaccent","Rdotbelow","Rdotbelowmacron","Reharmenian","Rfraktur","Rho",
+"Ringsmall","Rinvertedbreve","Rlinebelow","Rmonospace","Rsmall",
+"Rsmallinverted","Rsmallinvertedsuperior","S","SF010000","SF020000",
+"SF030000","SF040000","SF050000","SF060000","SF070000","SF080000","SF090000",
+"SF100000","SF110000","SF190000","SF200000","SF210000","SF220000","SF230000",
+"SF240000","SF250000","SF260000","SF270000","SF280000","SF360000","SF370000",
+"SF380000","SF390000","SF400000","SF410000","SF420000","SF430000","SF440000",
+"SF450000","SF460000","SF470000","SF480000","SF490000","SF500000","SF510000",
+"SF520000","SF530000","SF540000","Sacute","Sacutedotaccent","Sampigreek",
+"Scaron","Scarondotaccent","Scaronsmall","Scedilla","Schwa","Schwacyrillic",
+"Schwadieresiscyrillic","Scircle","Scircumflex","Scommaaccent","Sdotaccent",
+"Sdotbelow","Sdotbelowdotaccent","Seharmenian","Sevenroman","Shaarmenian",
+"Shacyrillic","Shchacyrillic","Sheicoptic","Shhacyrillic","Shimacoptic",
+"Sigma","Sixroman","Smonospace","Softsigncyrillic","Ssmall","Stigmagreek","T",
+"Tau","Tbar","Tcaron","Tcedilla","Tcircle","Tcircumflexbelow","Tcommaaccent",
+"Tdotaccent","Tdotbelow","Tecyrillic","Tedescendercyrillic","Tenroman",
+"Tetsecyrillic","Theta","Thook","Thorn","Thornsmall","Threeroman",
+"Tildesmall","Tiwnarmenian","Tlinebelow","Tmonospace","Toarmenian","Tonefive",
+"Tonesix","Tonetwo","Tretroflexhook","Tsecyrillic","Tshecyrillic","Tsmall",
+"Twelveroman","Tworoman","U","Uacute","Uacutesmall","Ubreve","Ucaron",
+"Ucircle","Ucircumflex","Ucircumflexbelow","Ucircumflexsmall","Ucyrillic",
+"Udblacute","Udblgrave","Udieresis","Udieresisacute","Udieresisbelow",
+"Udieresiscaron","Udieresiscyrillic","Udieresisgrave","Udieresismacron",
+"Udieresissmall","Udotbelow","Ugrave","Ugravesmall","Uhookabove","Uhorn",
+"Uhornacute","Uhorndotbelow","Uhorngrave","Uhornhookabove","Uhorntilde",
+"Uhungarumlaut","Uhungarumlautcyrillic","Uinvertedbreve","Ukcyrillic",
+"Umacron","Umacroncyrillic","Umacrondieresis","Umonospace","Uogonek",
+"Upsilon","Upsilon1","Upsilonacutehooksymbolgreek","Upsilonafrican",
+"Upsilondieresis","Upsilondieresishooksymbolgreek","Upsilonhooksymbol",
+"Upsilontonos","Uring","Ushortcyrillic","Usmall","Ustraightcyrillic",
+"Ustraightstrokecyrillic","Utilde","Utildeacute","Utildebelow","V","Vcircle",
+"Vdotbelow","Vecyrillic","Vewarmenian","Vhook","Vmonospace","Voarmenian",
+"Vsmall","Vtilde","W","Wacute","Wcircle","Wcircumflex","Wdieresis",
+"Wdotaccent","Wdotbelow","Wgrave","Wmonospace","Wsmall","X","Xcircle",
+"Xdieresis","Xdotaccent","Xeharmenian","Xi","Xmonospace","Xsmall","Y",
+"Yacute","Yacutesmall","Yatcyrillic","Ycircle","Ycircumflex","Ydieresis",
+"Ydieresissmall","Ydotaccent","Ydotbelow","Yericyrillic",
+"Yerudieresiscyrillic","Ygrave","Yhook","Yhookabove","Yiarmenian",
+"Yicyrillic","Yiwnarmenian","Ymonospace","Ysmall","Ytilde","Yusbigcyrillic",
+"Yusbigiotifiedcyrillic","Yuslittlecyrillic","Yuslittleiotifiedcyrillic","Z",
+"Zaarmenian","Zacute","Zcaron","Zcaronsmall","Zcircle","Zcircumflex","Zdot",
+"Zdotaccent","Zdotbelow","Zecyrillic","Zedescendercyrillic",
+"Zedieresiscyrillic","Zeta","Zhearmenian","Zhebrevecyrillic","Zhecyrillic",
+"Zhedescendercyrillic","Zhedieresiscyrillic","Zlinebelow","Zmonospace",
+"Zsmall","Zstroke","a","aabengali","aacute","aadeva","aagujarati",
+"aagurmukhi","aamatragurmukhi","aarusquare","aavowelsignbengali",
+"aavowelsigndeva","aavowelsigngujarati","abbreviationmarkarmenian",
+"abbreviationsigndeva","abengali","abopomofo","abreve","abreveacute",
+"abrevecyrillic","abrevedotbelow","abrevegrave","abrevehookabove",
+"abrevetilde","acaron","acircle","acircumflex","acircumflexacute",
+"acircumflexdotbelow","acircumflexgrave","acircumflexhookabove",
+"acircumflextilde","acute","acutebelowcmb","acutecmb","acutecomb","acutedeva",
+"acutelowmod","acutetonecmb","acyrillic","adblgrave","addakgurmukhi","adeva",
+"adieresis","adieresiscyrillic","adieresismacron","adotbelow","adotmacron",
+"ae","aeacute","aekorean","aemacron","afii00208","afii08941","afii10017",
+"afii10018","afii10019","afii10020","afii10021","afii10022","afii10023",
+"afii10024","afii10025","afii10026","afii10027","afii10028","afii10029",
+"afii10030","afii10031","afii10032","afii10033","afii10034","afii10035",
+"afii10036","afii10037","afii10038","afii10039","afii10040","afii10041",
+"afii10042","afii10043","afii10044","afii10045","afii10046","afii10047",
+"afii10048","afii10049","afii10050","afii10051","afii10052","afii10053",
+"afii10054","afii10055","afii10056","afii10057","afii10058","afii10059",
+"afii10060","afii10061","afii10062","afii10063","afii10064","afii10065",
+"afii10066","afii10067","afii10068","afii10069","afii10070","afii10071",
+"afii10072","afii10073","afii10074","afii10075","afii10076","afii10077",
+"afii10078","afii10079","afii10080","afii10081","afii10082","afii10083",
+"afii10084","afii10085","afii10086","afii10087","afii10088","afii10089",
+"afii10090","afii10091","afii10092","afii10093","afii10094","afii10095",
+"afii10096","afii10097","afii10098","afii10099","afii10100","afii10101",
+"afii10102","afii10103","afii10104","afii10105","afii10106","afii10107",
+"afii10108","afii10109","afii10110","afii10145","afii10146","afii10147",
+"afii10148","afii10192","afii10193","afii10194","afii10195","afii10196",
+"afii10831","afii10832","afii10846","afii299","afii300","afii301","afii57381",
+"afii57388","afii57392","afii57393","afii57394","afii57395","afii57396",
+"afii57397","afii57398","afii57399","afii57400","afii57401","afii57403",
+"afii57407","afii57409","afii57410","afii57411","afii57412","afii57413",
+"afii57414","afii57415","afii57416","afii57417","afii57418","afii57419",
+"afii57420","afii57421","afii57422","afii57423","afii57424","afii57425",
+"afii57426","afii57427","afii57428","afii57429","afii57430","afii57431",
+"afii57432","afii57433","afii57434","afii57440","afii57441","afii57442",
+"afii57443","afii57444","afii57445","afii57446","afii57448","afii57449",
+"afii57450","afii57451","afii57452","afii57453","afii57454","afii57455",
+"afii57456","afii57457","afii57458","afii57470","afii57505","afii57506",
+"afii57507","afii57508","afii57509","afii57511","afii57512","afii57513",
+"afii57514","afii57519","afii57534","afii57636","afii57645","afii57658",
+"afii57664","afii57665","afii57666","afii57667","afii57668","afii57669",
+"afii57670","afii57671","afii57672","afii57673","afii57674","afii57675",
+"afii57676","afii57677","afii57678","afii57679","afii57680","afii57681",
+"afii57682","afii57683","afii57684","afii57685","afii57686","afii57687",
+"afii57688","afii57689","afii57690","afii57694","afii57695","afii57700",
+"afii57705","afii57716","afii57717","afii57718","afii57723","afii57793",
+"afii57794","afii57795","afii57796","afii57797","afii57798","afii57799",
+"afii57800","afii57801","afii57802","afii57803","afii57804","afii57806",
+"afii57807","afii57839","afii57841","afii57842","afii57929","afii61248",
+"afii61289","afii61352","afii61573","afii61574","afii61575","afii61664",
+"afii63167","afii64937","agrave","agujarati","agurmukhi","ahiragana",
+"ahookabove","aibengali","aibopomofo","aideva","aiecyrillic","aigujarati",
+"aigurmukhi","aimatragurmukhi","ainarabic","ainfinalarabic",
+"aininitialarabic","ainmedialarabic","ainvertedbreve","aivowelsignbengali",
+"aivowelsigndeva","aivowelsigngujarati","akatakana","akatakanahalfwidth",
+"akorean","alef","alefarabic","alefdageshhebrew","aleffinalarabic",
+"alefhamzaabovearabic","alefhamzaabovefinalarabic","alefhamzabelowarabic",
+"alefhamzabelowfinalarabic","alefhebrew","aleflamedhebrew",
+"alefmaddaabovearabic","alefmaddaabovefinalarabic","alefmaksuraarabic",
+"alefmaksurafinalarabic","alefmaksurainitialarabic","alefmaksuramedialarabic",
+"alefpatahhebrew","alefqamatshebrew","aleph","allequal","alpha","alphatonos",
+"amacron","amonospace","ampersand","ampersandmonospace","ampersandsmall",
+"amsquare","anbopomofo","angbopomofo","angkhankhuthai","angle",
+"anglebracketleft","anglebracketleftvertical","anglebracketright",
+"anglebracketrightvertical","angleleft","angleright","angstrom","anoteleia",
+"anudattadeva","anusvarabengali","anusvaradeva","anusvaragujarati","aogonek",
+"apaatosquare","aparen","apostrophearmenian","apostrophemod","apple",
+"approaches","approxequal","approxequalorimage","approximatelyequal",
+"araeaekorean","araeakorean","arc","arighthalfring","aring","aringacute",
+"aringbelow","arrowboth","arrowdashdown","arrowdashleft","arrowdashright",
+"arrowdashup","arrowdblboth","arrowdbldown","arrowdblleft","arrowdblright",
+"arrowdblup","arrowdown","arrowdownleft","arrowdownright","arrowdownwhite",
+"arrowheaddownmod","arrowheadleftmod","arrowheadrightmod","arrowheadupmod",
+"arrowhorizex","arrowleft","arrowleftdbl","arrowleftdblstroke",
+"arrowleftoverright","arrowleftwhite","arrowright","arrowrightdblstroke",
+"arrowrightheavy","arrowrightoverleft","arrowrightwhite","arrowtableft",
+"arrowtabright","arrowup","arrowupdn","arrowupdnbse","arrowupdownbase",
+"arrowupleft","arrowupleftofdown","arrowupright","arrowupwhite","arrowvertex",
+"asciicircum","asciicircummonospace","asciitilde","asciitildemonospace",
+"ascript","ascriptturned","asmallhiragana","asmallkatakana",
+"asmallkatakanahalfwidth","asterisk","asteriskaltonearabic","asteriskarabic",
+"asteriskmath","asteriskmonospace","asterisksmall","asterism","asuperior",
+"asymptoticallyequal","at","atilde","atmonospace","atsmall","aturned",
+"aubengali","aubopomofo","audeva","augujarati","augurmukhi",
+"aulengthmarkbengali","aumatragurmukhi","auvowelsignbengali",
+"auvowelsigndeva","auvowelsigngujarati","avagrahadeva","aybarmenian","ayin",
+"ayinaltonehebrew","ayinhebrew","b","babengali","backslash",
+"backslashmonospace","badeva","bagujarati","bagurmukhi","bahiragana",
+"bahtthai","bakatakana","bar","barmonospace","bbopomofo","bcircle",
+"bdotaccent","bdotbelow","beamedsixteenthnotes","because","becyrillic",
+"beharabic","behfinalarabic","behinitialarabic","behiragana",
+"behmedialarabic","behmeeminitialarabic","behmeemisolatedarabic",
+"behnoonfinalarabic","bekatakana","benarmenian","bet","beta",
+"betasymbolgreek","betdagesh","betdageshhebrew","bethebrew","betrafehebrew",
+"bhabengali","bhadeva","bhagujarati","bhagurmukhi","bhook","bihiragana",
+"bikatakana","bilabialclick","bindigurmukhi","birusquare","blackcircle",
+"blackdiamond","blackdownpointingtriangle","blackleftpointingpointer",
+"blackleftpointingtriangle","blacklenticularbracketleft",
+"blacklenticularbracketleftvertical","blacklenticularbracketright",
+"blacklenticularbracketrightvertical","blacklowerlefttriangle",
+"blacklowerrighttriangle","blackrectangle","blackrightpointingpointer",
+"blackrightpointingtriangle","blacksmallsquare","blacksmilingface",
+"blacksquare","blackstar","blackupperlefttriangle","blackupperrighttriangle",
+"blackuppointingsmalltriangle","blackuppointingtriangle","blank","blinebelow",
+"block","bmonospace","bobaimaithai","bohiragana","bokatakana","bparen",
+"bqsquare","braceex","braceleft","braceleftbt","braceleftmid",
+"braceleftmonospace","braceleftsmall","bracelefttp","braceleftvertical",
+"braceright","bracerightbt","bracerightmid","bracerightmonospace",
+"bracerightsmall","bracerighttp","bracerightvertical","bracketleft",
+"bracketleftbt","bracketleftex","bracketleftmonospace","bracketlefttp",
+"bracketright","bracketrightbt","bracketrightex","bracketrightmonospace",
+"bracketrighttp","breve","brevebelowcmb","brevecmb","breveinvertedbelowcmb",
+"breveinvertedcmb","breveinverteddoublecmb","bridgebelowcmb",
+"bridgeinvertedbelowcmb","brokenbar","bstroke","bsuperior","btopbar",
+"buhiragana","bukatakana","bullet","bulletinverse","bulletoperator",
+"bullseye","c","caarmenian","cabengali","cacute","cadeva","cagujarati",
+"cagurmukhi","calsquare","candrabindubengali","candrabinducmb",
+"candrabindudeva","candrabindugujarati","capslock","careof","caron",
+"caronbelowcmb","caroncmb","carriagereturn","cbopomofo","ccaron","ccedilla",
+"ccedillaacute","ccircle","ccircumflex","ccurl","cdot","cdotaccent",
+"cdsquare","cedilla","cedillacmb","cent","centigrade","centinferior",
+"centmonospace","centoldstyle","centsuperior","chaarmenian","chabengali",
+"chadeva","chagujarati","chagurmukhi","chbopomofo","cheabkhasiancyrillic",
+"checkmark","checyrillic","chedescenderabkhasiancyrillic",
+"chedescendercyrillic","chedieresiscyrillic","cheharmenian",
+"chekhakassiancyrillic","cheverticalstrokecyrillic","chi",
+"chieuchacirclekorean","chieuchaparenkorean","chieuchcirclekorean",
+"chieuchkorean","chieuchparenkorean","chochangthai","chochanthai",
+"chochingthai","chochoethai","chook","cieucacirclekorean","cieucaparenkorean",
+"cieuccirclekorean","cieuckorean","cieucparenkorean","cieucuparenkorean",
+"circle","circlemultiply","circleot","circleplus","circlepostalmark",
+"circlewithlefthalfblack","circlewithrighthalfblack","circumflex",
+"circumflexbelowcmb","circumflexcmb","clear","clickalveolar","clickdental",
+"clicklateral","clickretroflex","club","clubsuitblack","clubsuitwhite",
+"cmcubedsquare","cmonospace","cmsquaredsquare","coarmenian","colon",
+"colonmonetary","colonmonospace","colonsign","colonsmall",
+"colontriangularhalfmod","colontriangularmod","comma","commaabovecmb",
+"commaaboverightcmb","commaaccent","commaarabic","commaarmenian",
+"commainferior","commamonospace","commareversedabovecmb","commareversedmod",
+"commasmall","commasuperior","commaturnedabovecmb","commaturnedmod","compass",
+"congruent","contourintegral","control","controlACK","controlBEL","controlBS",
+"controlCAN","controlCR","controlDC1","controlDC2","controlDC3","controlDC4",
+"controlDEL","controlDLE","controlEM","controlENQ","controlEOT","controlESC",
+"controlETB","controlETX","controlFF","controlFS","controlGS","controlHT",
+"controlLF","controlNAK","controlRS","controlSI","controlSO","controlSOT",
+"controlSTX","controlSUB","controlSYN","controlUS","controlVT","copyright",
+"copyrightsans","copyrightserif","cornerbracketleft",
+"cornerbracketlefthalfwidth","cornerbracketleftvertical","cornerbracketright",
+"cornerbracketrighthalfwidth","cornerbracketrightvertical",
+"corporationsquare","cosquare","coverkgsquare","cparen","cruzeiro",
+"cstretched","curlyand","curlyor","currency","cyrBreve","cyrFlex","cyrbreve",
+"cyrflex","d","daarmenian","dabengali","dadarabic","dadeva","dadfinalarabic",
+"dadinitialarabic","dadmedialarabic","dagesh","dageshhebrew","dagger",
+"daggerdbl","dagujarati","dagurmukhi","dahiragana","dakatakana","dalarabic",
+"dalet","daletdagesh","daletdageshhebrew","dalethatafpatah",
+"dalethatafpatahhebrew","dalethatafsegol","dalethatafsegolhebrew",
+"dalethebrew","dalethiriq","dalethiriqhebrew","daletholam","daletholamhebrew",
+"daletpatah","daletpatahhebrew","daletqamats","daletqamatshebrew",
+"daletqubuts","daletqubutshebrew","daletsegol","daletsegolhebrew",
+"daletsheva","daletshevahebrew","dalettsere","dalettserehebrew",
+"dalfinalarabic","dammaarabic","dammalowarabic","dammatanaltonearabic",
+"dammatanarabic","danda","dargahebrew","dargalefthebrew",
+"dasiapneumatacyrilliccmb","dblGrave","dblanglebracketleft",
+"dblanglebracketleftvertical","dblanglebracketright",
+"dblanglebracketrightvertical","dblarchinvertedbelowcmb","dblarrowleft",
+"dblarrowright","dbldanda","dblgrave","dblgravecmb","dblintegral",
+"dbllowline","dbllowlinecmb","dbloverlinecmb","dblprimemod","dblverticalbar",
+"dblverticallineabovecmb","dbopomofo","dbsquare","dcaron","dcedilla",
+"dcircle","dcircumflexbelow","dcroat","ddabengali","ddadeva","ddagujarati",
+"ddagurmukhi","ddalarabic","ddalfinalarabic","dddhadeva","ddhabengali",
+"ddhadeva","ddhagujarati","ddhagurmukhi","ddotaccent","ddotbelow",
+"decimalseparatorarabic","decimalseparatorpersian","decyrillic","degree",
+"dehihebrew","dehiragana","deicoptic","dekatakana","deleteleft","deleteright",
+"delta","deltaturned","denominatorminusonenumeratorbengali","dezh",
+"dhabengali","dhadeva","dhagujarati","dhagurmukhi","dhook","dialytikatonos",
+"dialytikatonoscmb","diamond","diamondsuitwhite","dieresis","dieresisacute",
+"dieresisbelowcmb","dieresiscmb","dieresisgrave","dieresistonos","dihiragana",
+"dikatakana","dittomark","divide","divides","divisionslash","djecyrillic",
+"dkshade","dlinebelow","dlsquare","dmacron","dmonospace","dnblock",
+"dochadathai","dodekthai","dohiragana","dokatakana","dollar","dollarinferior",
+"dollarmonospace","dollaroldstyle","dollarsmall","dollarsuperior","dong",
+"dorusquare","dotaccent","dotaccentcmb","dotbelowcmb","dotbelowcomb",
+"dotkatakana","dotlessi","dotlessj","dotlessjstrokehook","dotmath",
+"dottedcircle","doubleyodpatah","doubleyodpatahhebrew","downtackbelowcmb",
+"downtackmod","dparen","dsuperior","dtail","dtopbar","duhiragana",
+"dukatakana","dz","dzaltone","dzcaron","dzcurl","dzeabkhasiancyrillic",
+"dzecyrillic","dzhecyrillic","e","eacute","earth","ebengali","ebopomofo",
+"ebreve","ecandradeva","ecandragujarati","ecandravowelsigndeva",
+"ecandravowelsigngujarati","ecaron","ecedillabreve","echarmenian",
+"echyiwnarmenian","ecircle","ecircumflex","ecircumflexacute",
+"ecircumflexbelow","ecircumflexdotbelow","ecircumflexgrave",
+"ecircumflexhookabove","ecircumflextilde","ecyrillic","edblgrave","edeva",
+"edieresis","edot","edotaccent","edotbelow","eegurmukhi","eematragurmukhi",
+"efcyrillic","egrave","egujarati","eharmenian","ehbopomofo","ehiragana",
+"ehookabove","eibopomofo","eight","eightarabic","eightbengali","eightcircle",
+"eightcircleinversesansserif","eightdeva","eighteencircle","eighteenparen",
+"eighteenperiod","eightgujarati","eightgurmukhi","eighthackarabic",
+"eighthangzhou","eighthnotebeamed","eightideographicparen","eightinferior",
+"eightmonospace","eightoldstyle","eightparen","eightperiod","eightpersian",
+"eightroman","eightsuperior","eightthai","einvertedbreve","eiotifiedcyrillic",
+"ekatakana","ekatakanahalfwidth","ekonkargurmukhi","ekorean","elcyrillic",
+"element","elevencircle","elevenparen","elevenperiod","elevenroman",
+"ellipsis","ellipsisvertical","emacron","emacronacute","emacrongrave",
+"emcyrillic","emdash","emdashvertical","emonospace","emphasismarkarmenian",
+"emptyset","enbopomofo","encyrillic","endash","endashvertical",
+"endescendercyrillic","eng","engbopomofo","enghecyrillic","enhookcyrillic",
+"enspace","eogonek","eokorean","eopen","eopenclosed","eopenreversed",
+"eopenreversedclosed","eopenreversedhook","eparen","epsilon","epsilontonos",
+"equal","equalmonospace","equalsmall","equalsuperior","equivalence",
+"erbopomofo","ercyrillic","ereversed","ereversedcyrillic","escyrillic",
+"esdescendercyrillic","esh","eshcurl","eshortdeva","eshortvowelsigndeva",
+"eshreversedloop","eshsquatreversed","esmallhiragana","esmallkatakana",
+"esmallkatakanahalfwidth","estimated","esuperior","eta","etarmenian",
+"etatonos","eth","etilde","etildebelow","etnahtafoukhhebrew",
+"etnahtafoukhlefthebrew","etnahtahebrew","etnahtalefthebrew","eturned",
+"eukorean","euro","evowelsignbengali","evowelsigndeva","evowelsigngujarati",
+"exclam","exclamarmenian","exclamdbl","exclamdown","exclamdownsmall",
+"exclammonospace","exclamsmall","existential","ezh","ezhcaron","ezhcurl",
+"ezhreversed","ezhtail","f","fadeva","fagurmukhi","fahrenheit","fathaarabic",
+"fathalowarabic","fathatanarabic","fbopomofo","fcircle","fdotaccent",
+"feharabic","feharmenian","fehfinalarabic","fehinitialarabic",
+"fehmedialarabic","feicoptic","female","ff","ffi","ffl","fi","fifteencircle",
+"fifteenparen","fifteenperiod","figuredash","filledbox","filledrect",
+"finalkaf","finalkafdagesh","finalkafdageshhebrew","finalkafhebrew",
+"finalkafqamats","finalkafqamatshebrew","finalkafsheva","finalkafshevahebrew",
+"finalmem","finalmemhebrew","finalnun","finalnunhebrew","finalpe",
+"finalpehebrew","finaltsadi","finaltsadihebrew","firsttonechinese","fisheye",
+"fitacyrillic","five","fivearabic","fivebengali","fivecircle",
+"fivecircleinversesansserif","fivedeva","fiveeighths","fivegujarati",
+"fivegurmukhi","fivehackarabic","fivehangzhou","fiveideographicparen",
+"fiveinferior","fivemonospace","fiveoldstyle","fiveparen","fiveperiod",
+"fivepersian","fiveroman","fivesuperior","fivethai","fl","florin",
+"fmonospace","fmsquare","fofanthai","fofathai","fongmanthai","forall","four",
+"fourarabic","fourbengali","fourcircle","fourcircleinversesansserif",
+"fourdeva","fourgujarati","fourgurmukhi","fourhackarabic","fourhangzhou",
+"fourideographicparen","fourinferior","fourmonospace","fournumeratorbengali",
+"fouroldstyle","fourparen","fourperiod","fourpersian","fourroman",
+"foursuperior","fourteencircle","fourteenparen","fourteenperiod","fourthai",
+"fourthtonechinese","fparen","fraction","franc","g","gabengali","gacute",
+"gadeva","gafarabic","gaffinalarabic","gafinitialarabic","gafmedialarabic",
+"gagujarati","gagurmukhi","gahiragana","gakatakana","gamma","gammalatinsmall",
+"gammasuperior","gangiacoptic","gbopomofo","gbreve","gcaron","gcedilla",
+"gcircle","gcircumflex","gcommaaccent","gdot","gdotaccent","gecyrillic",
+"gehiragana","gekatakana","geometricallyequal","gereshaccenthebrew",
+"gereshhebrew","gereshmuqdamhebrew","germandbls","gershayimaccenthebrew",
+"gershayimhebrew","getamark","ghabengali","ghadarmenian","ghadeva",
+"ghagujarati","ghagurmukhi","ghainarabic","ghainfinalarabic",
+"ghaininitialarabic","ghainmedialarabic","ghemiddlehookcyrillic",
+"ghestrokecyrillic","gheupturncyrillic","ghhadeva","ghhagurmukhi","ghook",
+"ghzsquare","gihiragana","gikatakana","gimarmenian","gimel","gimeldagesh",
+"gimeldageshhebrew","gimelhebrew","gjecyrillic","glottalinvertedstroke",
+"glottalstop","glottalstopinverted","glottalstopmod","glottalstopreversed",
+"glottalstopreversedmod","glottalstopreversedsuperior","glottalstopstroke",
+"glottalstopstrokereversed","gmacron","gmonospace","gohiragana","gokatakana",
+"gparen","gpasquare","gradient","grave","gravebelowcmb","gravecmb",
+"gravecomb","gravedeva","gravelowmod","gravemonospace","gravetonecmb",
+"greater","greaterequal","greaterequalorless","greatermonospace",
+"greaterorequivalent","greaterorless","greateroverequal","greatersmall",
+"gscript","gstroke","guhiragana","guillemotleft","guillemotright",
+"guilsinglleft","guilsinglright","gukatakana","guramusquare","gysquare","h",
+"haabkhasiancyrillic","haaltonearabic","habengali","hadescendercyrillic",
+"hadeva","hagujarati","hagurmukhi","haharabic","hahfinalarabic",
+"hahinitialarabic","hahiragana","hahmedialarabic","haitusquare","hakatakana",
+"hakatakanahalfwidth","halantgurmukhi","hamzaarabic","hamzadammaarabic",
+"hamzadammatanarabic","hamzafathaarabic","hamzafathatanarabic",
+"hamzalowarabic","hamzalowkasraarabic","hamzalowkasratanarabic",
+"hamzasukunarabic","hangulfiller","hardsigncyrillic","harpoonleftbarbup",
+"harpoonrightbarbup","hasquare","hatafpatah","hatafpatah16","hatafpatah23",
+"hatafpatah2f","hatafpatahhebrew","hatafpatahnarrowhebrew",
+"hatafpatahquarterhebrew","hatafpatahwidehebrew","hatafqamats",
+"hatafqamats1b","hatafqamats28","hatafqamats34","hatafqamatshebrew",
+"hatafqamatsnarrowhebrew","hatafqamatsquarterhebrew","hatafqamatswidehebrew",
+"hatafsegol","hatafsegol17","hatafsegol24","hatafsegol30","hatafsegolhebrew",
+"hatafsegolnarrowhebrew","hatafsegolquarterhebrew","hatafsegolwidehebrew",
+"hbar","hbopomofo","hbrevebelow","hcedilla","hcircle","hcircumflex",
+"hdieresis","hdotaccent","hdotbelow","he","heart","heartsuitblack",
+"heartsuitwhite","hedagesh","hedageshhebrew","hehaltonearabic","heharabic",
+"hehebrew","hehfinalaltonearabic","hehfinalalttwoarabic","hehfinalarabic",
+"hehhamzaabovefinalarabic","hehhamzaaboveisolatedarabic",
+"hehinitialaltonearabic","hehinitialarabic","hehiragana",
+"hehmedialaltonearabic","hehmedialarabic","heiseierasquare","hekatakana",
+"hekatakanahalfwidth","hekutaarusquare","henghook","herutusquare","het",
+"hethebrew","hhook","hhooksuperior","hieuhacirclekorean","hieuhaparenkorean",
+"hieuhcirclekorean","hieuhkorean","hieuhparenkorean","hihiragana",
+"hikatakana","hikatakanahalfwidth","hiriq","hiriq14","hiriq21","hiriq2d",
+"hiriqhebrew","hiriqnarrowhebrew","hiriqquarterhebrew","hiriqwidehebrew",
+"hlinebelow","hmonospace","hoarmenian","hohipthai","hohiragana","hokatakana",
+"hokatakanahalfwidth","holam","holam19","holam26","holam32","holamhebrew",
+"holamnarrowhebrew","holamquarterhebrew","holamwidehebrew","honokhukthai",
+"hookabovecomb","hookcmb","hookpalatalizedbelowcmb","hookretroflexbelowcmb",
+"hoonsquare","horicoptic","horizontalbar","horncmb","hotsprings","house",
+"hparen","hsuperior","hturned","huhiragana","huiitosquare","hukatakana",
+"hukatakanahalfwidth","hungarumlaut","hungarumlautcmb","hv","hyphen",
+"hypheninferior","hyphenmonospace","hyphensmall","hyphensuperior","hyphentwo",
+"i","iacute","iacyrillic","ibengali","ibopomofo","ibreve","icaron","icircle",
+"icircumflex","icyrillic","idblgrave","ideographearthcircle",
+"ideographfirecircle","ideographicallianceparen","ideographiccallparen",
+"ideographiccentrecircle","ideographicclose","ideographiccomma",
+"ideographiccommaleft","ideographiccongratulationparen",
+"ideographiccorrectcircle","ideographicearthparen",
+"ideographicenterpriseparen","ideographicexcellentcircle",
+"ideographicfestivalparen","ideographicfinancialcircle",
+"ideographicfinancialparen","ideographicfireparen","ideographichaveparen",
+"ideographichighcircle","ideographiciterationmark","ideographiclaborcircle",
+"ideographiclaborparen","ideographicleftcircle","ideographiclowcircle",
+"ideographicmedicinecircle","ideographicmetalparen","ideographicmoonparen",
+"ideographicnameparen","ideographicperiod","ideographicprintcircle",
+"ideographicreachparen","ideographicrepresentparen",
+"ideographicresourceparen","ideographicrightcircle","ideographicsecretcircle",
+"ideographicselfparen","ideographicsocietyparen","ideographicspace",
+"ideographicspecialparen","ideographicstockparen","ideographicstudyparen",
+"ideographicsunparen","ideographicsuperviseparen","ideographicwaterparen",
+"ideographicwoodparen","ideographiczero","ideographmetalcircle",
+"ideographmooncircle","ideographnamecircle","ideographsuncircle",
+"ideographwatercircle","ideographwoodcircle","ideva","idieresis",
+"idieresisacute","idieresiscyrillic","idotbelow","iebrevecyrillic",
+"iecyrillic","ieungacirclekorean","ieungaparenkorean","ieungcirclekorean",
+"ieungkorean","ieungparenkorean","igrave","igujarati","igurmukhi","ihiragana",
+"ihookabove","iibengali","iicyrillic","iideva","iigujarati","iigurmukhi",
+"iimatragurmukhi","iinvertedbreve","iishortcyrillic","iivowelsignbengali",
+"iivowelsigndeva","iivowelsigngujarati","ij","ikatakana","ikatakanahalfwidth",
+"ikorean","ilde","iluyhebrew","imacron","imacroncyrillic",
+"imageorapproximatelyequal","imatragurmukhi","imonospace","increment",
+"infinity","iniarmenian","integral","integralbottom","integralbt",
+"integralex","integraltop","integraltp","intersection","intisquare",
+"invbullet","invcircle","invsmileface","iocyrillic","iogonek","iota",
+"iotadieresis","iotadieresistonos","iotalatin","iotatonos","iparen",
+"irigurmukhi","ismallhiragana","ismallkatakana","ismallkatakanahalfwidth",
+"issharbengali","istroke","isuperior","iterationhiragana","iterationkatakana",
+"itilde","itildebelow","iubopomofo","iucyrillic","ivowelsignbengali",
+"ivowelsigndeva","ivowelsigngujarati","izhitsacyrillic",
+"izhitsadblgravecyrillic","j","jaarmenian","jabengali","jadeva","jagujarati",
+"jagurmukhi","jbopomofo","jcaron","jcircle","jcircumflex","jcrossedtail",
+"jdotlessstroke","jecyrillic","jeemarabic","jeemfinalarabic",
+"jeeminitialarabic","jeemmedialarabic","jeharabic","jehfinalarabic",
+"jhabengali","jhadeva","jhagujarati","jhagurmukhi","jheharmenian","jis",
+"jmonospace","jparen","jsuperior","k","kabashkircyrillic","kabengali",
+"kacute","kacyrillic","kadescendercyrillic","kadeva","kaf","kafarabic",
+"kafdagesh","kafdageshhebrew","kaffinalarabic","kafhebrew","kafinitialarabic",
+"kafmedialarabic","kafrafehebrew","kagujarati","kagurmukhi","kahiragana",
+"kahookcyrillic","kakatakana","kakatakanahalfwidth","kappa",
+"kappasymbolgreek","kapyeounmieumkorean","kapyeounphieuphkorean",
+"kapyeounpieupkorean","kapyeounssangpieupkorean","karoriisquare",
+"kashidaautoarabic","kashidaautonosidebearingarabic","kasmallkatakana",
+"kasquare","kasraarabic","kasratanarabic","kastrokecyrillic",
+"katahiraprolongmarkhalfwidth","kaverticalstrokecyrillic","kbopomofo",
+"kcalsquare","kcaron","kcedilla","kcircle","kcommaaccent","kdotbelow",
+"keharmenian","kehiragana","kekatakana","kekatakanahalfwidth","kenarmenian",
+"kesmallkatakana","kgreenlandic","khabengali","khacyrillic","khadeva",
+"khagujarati","khagurmukhi","khaharabic","khahfinalarabic",
+"khahinitialarabic","khahmedialarabic","kheicoptic","khhadeva","khhagurmukhi",
+"khieukhacirclekorean","khieukhaparenkorean","khieukhcirclekorean",
+"khieukhkorean","khieukhparenkorean","khokhaithai","khokhonthai",
+"khokhuatthai","khokhwaithai","khomutthai","khook","khorakhangthai",
+"khzsquare","kihiragana","kikatakana","kikatakanahalfwidth",
+"kiroguramusquare","kiromeetorusquare","kirosquare","kiyeokacirclekorean",
+"kiyeokaparenkorean","kiyeokcirclekorean","kiyeokkorean","kiyeokparenkorean",
+"kiyeoksioskorean","kjecyrillic","klinebelow","klsquare","kmcubedsquare",
+"kmonospace","kmsquaredsquare","kohiragana","kohmsquare","kokaithai",
+"kokatakana","kokatakanahalfwidth","kooposquare","koppacyrillic",
+"koreanstandardsymbol","koroniscmb","kparen","kpasquare","ksicyrillic",
+"ktsquare","kturned","kuhiragana","kukatakana","kukatakanahalfwidth",
+"kvsquare","kwsquare","l","labengali","lacute","ladeva","lagujarati",
+"lagurmukhi","lakkhangyaothai","lamaleffinalarabic",
+"lamalefhamzaabovefinalarabic","lamalefhamzaaboveisolatedarabic",
+"lamalefhamzabelowfinalarabic","lamalefhamzabelowisolatedarabic",
+"lamalefisolatedarabic","lamalefmaddaabovefinalarabic",
+"lamalefmaddaaboveisolatedarabic","lamarabic","lambda","lambdastroke","lamed",
+"lameddagesh","lameddageshhebrew","lamedhebrew","lamedholam",
+"lamedholamdagesh","lamedholamdageshhebrew","lamedholamhebrew",
+"lamfinalarabic","lamhahinitialarabic","laminitialarabic",
+"lamjeeminitialarabic","lamkhahinitialarabic","lamlamhehisolatedarabic",
+"lammedialarabic","lammeemhahinitialarabic","lammeeminitialarabic",
+"lammeemjeeminitialarabic","lammeemkhahinitialarabic","largecircle","lbar",
+"lbelt","lbopomofo","lcaron","lcedilla","lcircle","lcircumflexbelow",
+"lcommaaccent","ldot","ldotaccent","ldotbelow","ldotbelowmacron",
+"leftangleabovecmb","lefttackbelowcmb","less","lessequal",
+"lessequalorgreater","lessmonospace","lessorequivalent","lessorgreater",
+"lessoverequal","lesssmall","lezh","lfblock","lhookretroflex","lira",
+"liwnarmenian","lj","ljecyrillic","ll","lladeva","llagujarati","llinebelow",
+"llladeva","llvocalicbengali","llvocalicdeva","llvocalicvowelsignbengali",
+"llvocalicvowelsigndeva","lmiddletilde","lmonospace","lmsquare","lochulathai",
+"logicaland","logicalnot","logicalnotreversed","logicalor","lolingthai",
+"longs","lowlinecenterline","lowlinecmb","lowlinedashed","lozenge","lparen",
+"lslash","lsquare","lsuperior","ltshade","luthai","lvocalicbengali",
+"lvocalicdeva","lvocalicvowelsignbengali","lvocalicvowelsigndeva","lxsquare",
+"m","mabengali","macron","macronbelowcmb","macroncmb","macronlowmod",
+"macronmonospace","macute","madeva","magujarati","magurmukhi",
+"mahapakhhebrew","mahapakhlefthebrew","mahiragana","maichattawalowleftthai",
+"maichattawalowrightthai","maichattawathai","maichattawaupperleftthai",
+"maieklowleftthai","maieklowrightthai","maiekthai","maiekupperleftthai",
+"maihanakatleftthai","maihanakatthai","maitaikhuleftthai","maitaikhuthai",
+"maitholowleftthai","maitholowrightthai","maithothai","maithoupperleftthai",
+"maitrilowleftthai","maitrilowrightthai","maitrithai","maitriupperleftthai",
+"maiyamokthai","makatakana","makatakanahalfwidth","male","mansyonsquare",
+"maqafhebrew","mars","masoracirclehebrew","masquare","mbopomofo","mbsquare",
+"mcircle","mcubedsquare","mdotaccent","mdotbelow","meemarabic",
+"meemfinalarabic","meeminitialarabic","meemmedialarabic",
+"meemmeeminitialarabic","meemmeemisolatedarabic","meetorusquare","mehiragana",
+"meizierasquare","mekatakana","mekatakanahalfwidth","mem","memdagesh",
+"memdageshhebrew","memhebrew","menarmenian","merkhahebrew",
+"merkhakefulahebrew","merkhakefulalefthebrew","merkhalefthebrew","mhook",
+"mhzsquare","middledotkatakanahalfwidth","middot","mieumacirclekorean",
+"mieumaparenkorean","mieumcirclekorean","mieumkorean","mieumpansioskorean",
+"mieumparenkorean","mieumpieupkorean","mieumsioskorean","mihiragana",
+"mikatakana","mikatakanahalfwidth","minus","minusbelowcmb","minuscircle",
+"minusmod","minusplus","minute","miribaarusquare","mirisquare",
+"mlonglegturned","mlsquare","mmcubedsquare","mmonospace","mmsquaredsquare",
+"mohiragana","mohmsquare","mokatakana","mokatakanahalfwidth","molsquare",
+"momathai","moverssquare","moverssquaredsquare","mparen","mpasquare",
+"mssquare","msuperior","mturned","mu","mu1","muasquare","muchgreater",
+"muchless","mufsquare","mugreek","mugsquare","muhiragana","mukatakana",
+"mukatakanahalfwidth","mulsquare","multiply","mumsquare","munahhebrew",
+"munahlefthebrew","musicalnote","musicalnotedbl","musicflatsign",
+"musicsharpsign","mussquare","muvsquare","muwsquare","mvmegasquare",
+"mvsquare","mwmegasquare","mwsquare","n","nabengali","nabla","nacute",
+"nadeva","nagujarati","nagurmukhi","nahiragana","nakatakana",
+"nakatakanahalfwidth","napostrophe","nasquare","nbopomofo","nbspace","ncaron",
+"ncedilla","ncircle","ncircumflexbelow","ncommaaccent","ndotaccent",
+"ndotbelow","nehiragana","nekatakana","nekatakanahalfwidth","newsheqelsign",
+"nfsquare","ngabengali","ngadeva","ngagujarati","ngagurmukhi","ngonguthai",
+"nhiragana","nhookleft","nhookretroflex","nieunacirclekorean",
+"nieunaparenkorean","nieuncieuckorean","nieuncirclekorean","nieunhieuhkorean",
+"nieunkorean","nieunpansioskorean","nieunparenkorean","nieunsioskorean",
+"nieuntikeutkorean","nihiragana","nikatakana","nikatakanahalfwidth",
+"nikhahitleftthai","nikhahitthai","nine","ninearabic","ninebengali",
+"ninecircle","ninecircleinversesansserif","ninedeva","ninegujarati",
+"ninegurmukhi","ninehackarabic","ninehangzhou","nineideographicparen",
+"nineinferior","ninemonospace","nineoldstyle","nineparen","nineperiod",
+"ninepersian","nineroman","ninesuperior","nineteencircle","nineteenparen",
+"nineteenperiod","ninethai","nj","njecyrillic","nkatakana",
+"nkatakanahalfwidth","nlegrightlong","nlinebelow","nmonospace","nmsquare",
+"nnabengali","nnadeva","nnagujarati","nnagurmukhi","nnnadeva","nohiragana",
+"nokatakana","nokatakanahalfwidth","nonbreakingspace","nonenthai","nonuthai",
+"noonarabic","noonfinalarabic","noonghunnaarabic","noonghunnafinalarabic",
+"noonhehinitialarabic","nooninitialarabic","noonjeeminitialarabic",
+"noonjeemisolatedarabic","noonmedialarabic","noonmeeminitialarabic",
+"noonmeemisolatedarabic","noonnoonfinalarabic","notcontains","notelement",
+"notelementof","notequal","notgreater","notgreaternorequal",
+"notgreaternorless","notidentical","notless","notlessnorequal","notparallel",
+"notprecedes","notsubset","notsucceeds","notsuperset","nowarmenian","nparen",
+"nssquare","nsuperior","ntilde","nu","nuhiragana","nukatakana",
+"nukatakanahalfwidth","nuktabengali","nuktadeva","nuktagujarati",
+"nuktagurmukhi","numbersign","numbersignmonospace","numbersignsmall",
+"numeralsigngreek","numeralsignlowergreek","numero","nun","nundagesh",
+"nundageshhebrew","nunhebrew","nvsquare","nwsquare","nyabengali","nyadeva",
+"nyagujarati","nyagurmukhi","o","oacute","oangthai","obarred",
+"obarredcyrillic","obarreddieresiscyrillic","obengali","obopomofo","obreve",
+"ocandradeva","ocandragujarati","ocandravowelsigndeva",
+"ocandravowelsigngujarati","ocaron","ocircle","ocircumflex",
+"ocircumflexacute","ocircumflexdotbelow","ocircumflexgrave",
+"ocircumflexhookabove","ocircumflextilde","ocyrillic","odblacute","odblgrave",
+"odeva","odieresis","odieresiscyrillic","odotbelow","oe","oekorean","ogonek",
+"ogonekcmb","ograve","ogujarati","oharmenian","ohiragana","ohookabove",
+"ohorn","ohornacute","ohorndotbelow","ohorngrave","ohornhookabove",
+"ohorntilde","ohungarumlaut","oi","oinvertedbreve","okatakana",
+"okatakanahalfwidth","okorean","olehebrew","omacron","omacronacute",
+"omacrongrave","omdeva","omega","omega1","omegacyrillic","omegalatinclosed",
+"omegaroundcyrillic","omegatitlocyrillic","omegatonos","omgujarati","omicron",
+"omicrontonos","omonospace","one","onearabic","onebengali","onecircle",
+"onecircleinversesansserif","onedeva","onedotenleader","oneeighth",
+"onefitted","onegujarati","onegurmukhi","onehackarabic","onehalf",
+"onehangzhou","oneideographicparen","oneinferior","onemonospace",
+"onenumeratorbengali","oneoldstyle","oneparen","oneperiod","onepersian",
+"onequarter","oneroman","onesuperior","onethai","onethird","oogonek",
+"oogonekmacron","oogurmukhi","oomatragurmukhi","oopen","oparen","openbullet",
+"option","ordfeminine","ordmasculine","orthogonal","oshortdeva",
+"oshortvowelsigndeva","oslash","oslashacute","osmallhiragana",
+"osmallkatakana","osmallkatakanahalfwidth","ostrokeacute","osuperior",
+"otcyrillic","otilde","otildeacute","otildedieresis","oubopomofo","overline",
+"overlinecenterline","overlinecmb","overlinedashed","overlinedblwavy",
+"overlinewavy","overscore","ovowelsignbengali","ovowelsigndeva",
+"ovowelsigngujarati","p","paampssquare","paasentosquare","pabengali","pacute",
+"padeva","pagedown","pageup","pagujarati","pagurmukhi","pahiragana",
+"paiyannoithai","pakatakana","palatalizationcyrilliccmb","palochkacyrillic",
+"pansioskorean","paragraph","parallel","parenleft","parenleftaltonearabic",
+"parenleftbt","parenleftex","parenleftinferior","parenleftmonospace",
+"parenleftsmall","parenleftsuperior","parenlefttp","parenleftvertical",
+"parenright","parenrightaltonearabic","parenrightbt","parenrightex",
+"parenrightinferior","parenrightmonospace","parenrightsmall",
+"parenrightsuperior","parenrighttp","parenrightvertical","partialdiff",
+"paseqhebrew","pashtahebrew","pasquare","patah","patah11","patah1d","patah2a",
+"patahhebrew","patahnarrowhebrew","patahquarterhebrew","patahwidehebrew",
+"pazerhebrew","pbopomofo","pcircle","pdotaccent","pe","pecyrillic","pedagesh",
+"pedageshhebrew","peezisquare","pefinaldageshhebrew","peharabic",
+"peharmenian","pehebrew","pehfinalarabic","pehinitialarabic","pehiragana",
+"pehmedialarabic","pekatakana","pemiddlehookcyrillic","perafehebrew",
+"percent","percentarabic","percentmonospace","percentsmall","period",
+"periodarmenian","periodcentered","periodhalfwidth","periodinferior",
+"periodmonospace","periodsmall","periodsuperior","perispomenigreekcmb",
+"perpendicular","perthousand","peseta","pfsquare","phabengali","phadeva",
+"phagujarati","phagurmukhi","phi","phi1","phieuphacirclekorean",
+"phieuphaparenkorean","phieuphcirclekorean","phieuphkorean",
+"phieuphparenkorean","philatin","phinthuthai","phisymbolgreek","phook",
+"phophanthai","phophungthai","phosamphaothai","pi","pieupacirclekorean",
+"pieupaparenkorean","pieupcieuckorean","pieupcirclekorean",
+"pieupkiyeokkorean","pieupkorean","pieupparenkorean","pieupsioskiyeokkorean",
+"pieupsioskorean","pieupsiostikeutkorean","pieupthieuthkorean",
+"pieuptikeutkorean","pihiragana","pikatakana","pisymbolgreek","piwrarmenian",
+"plus","plusbelowcmb","pluscircle","plusminus","plusmod","plusmonospace",
+"plussmall","plussuperior","pmonospace","pmsquare","pohiragana",
+"pointingindexdownwhite","pointingindexleftwhite","pointingindexrightwhite",
+"pointingindexupwhite","pokatakana","poplathai","postalmark","postalmarkface",
+"pparen","precedes","prescription","primemod","primereversed","product",
+"projective","prolongedkana","propellor","propersubset","propersuperset",
+"proportion","proportional","psi","psicyrillic","psilipneumatacyrilliccmb",
+"pssquare","puhiragana","pukatakana","pvsquare","pwsquare","q","qadeva",
+"qadmahebrew","qafarabic","qaffinalarabic","qafinitialarabic",
+"qafmedialarabic","qamats","qamats10","qamats1a","qamats1c","qamats27",
+"qamats29","qamats33","qamatsde","qamatshebrew","qamatsnarrowhebrew",
+"qamatsqatanhebrew","qamatsqatannarrowhebrew","qamatsqatanquarterhebrew",
+"qamatsqatanwidehebrew","qamatsquarterhebrew","qamatswidehebrew",
+"qarneyparahebrew","qbopomofo","qcircle","qhook","qmonospace","qof",
+"qofdagesh","qofdageshhebrew","qofhatafpatah","qofhatafpatahhebrew",
+"qofhatafsegol","qofhatafsegolhebrew","qofhebrew","qofhiriq","qofhiriqhebrew",
+"qofholam","qofholamhebrew","qofpatah","qofpatahhebrew","qofqamats",
+"qofqamatshebrew","qofqubuts","qofqubutshebrew","qofsegol","qofsegolhebrew",
+"qofsheva","qofshevahebrew","qoftsere","qoftserehebrew","qparen",
+"quarternote","qubuts","qubuts18","qubuts25","qubuts31","qubutshebrew",
+"qubutsnarrowhebrew","qubutsquarterhebrew","qubutswidehebrew","question",
+"questionarabic","questionarmenian","questiondown","questiondownsmall",
+"questiongreek","questionmonospace","questionsmall","quotedbl","quotedblbase",
+"quotedblleft","quotedblmonospace","quotedblprime","quotedblprimereversed",
+"quotedblright","quoteleft","quoteleftreversed","quotereversed","quoteright",
+"quoterightn","quotesinglbase","quotesingle","quotesinglemonospace","r",
+"raarmenian","rabengali","racute","radeva","radical","radicalex",
+"radoverssquare","radoverssquaredsquare","radsquare","rafe","rafehebrew",
+"ragujarati","ragurmukhi","rahiragana","rakatakana","rakatakanahalfwidth",
+"ralowerdiagonalbengali","ramiddlediagonalbengali","ramshorn","ratio",
+"rbopomofo","rcaron","rcedilla","rcircle","rcommaaccent","rdblgrave",
+"rdotaccent","rdotbelow","rdotbelowmacron","referencemark","reflexsubset",
+"reflexsuperset","registered","registersans","registerserif","reharabic",
+"reharmenian","rehfinalarabic","rehiragana","rehyehaleflamarabic",
+"rekatakana","rekatakanahalfwidth","resh","reshdageshhebrew","reshhatafpatah",
+"reshhatafpatahhebrew","reshhatafsegol","reshhatafsegolhebrew","reshhebrew",
+"reshhiriq","reshhiriqhebrew","reshholam","reshholamhebrew","reshpatah",
+"reshpatahhebrew","reshqamats","reshqamatshebrew","reshqubuts",
+"reshqubutshebrew","reshsegol","reshsegolhebrew","reshsheva",
+"reshshevahebrew","reshtsere","reshtserehebrew","reversedtilde","reviahebrew",
+"reviamugrashhebrew","revlogicalnot","rfishhook","rfishhookreversed",
+"rhabengali","rhadeva","rho","rhook","rhookturned","rhookturnedsuperior",
+"rhosymbolgreek","rhotichookmod","rieulacirclekorean","rieulaparenkorean",
+"rieulcirclekorean","rieulhieuhkorean","rieulkiyeokkorean",
+"rieulkiyeoksioskorean","rieulkorean","rieulmieumkorean","rieulpansioskorean",
+"rieulparenkorean","rieulphieuphkorean","rieulpieupkorean",
+"rieulpieupsioskorean","rieulsioskorean","rieulthieuthkorean",
+"rieultikeutkorean","rieulyeorinhieuhkorean","rightangle","righttackbelowcmb",
+"righttriangle","rihiragana","rikatakana","rikatakanahalfwidth","ring",
+"ringbelowcmb","ringcmb","ringhalfleft","ringhalfleftarmenian",
+"ringhalfleftbelowcmb","ringhalfleftcentered","ringhalfright",
+"ringhalfrightbelowcmb","ringhalfrightcentered","rinvertedbreve",
+"rittorusquare","rlinebelow","rlongleg","rlonglegturned","rmonospace",
+"rohiragana","rokatakana","rokatakanahalfwidth","roruathai","rparen",
+"rrabengali","rradeva","rragurmukhi","rreharabic","rrehfinalarabic",
+"rrvocalicbengali","rrvocalicdeva","rrvocalicgujarati",
+"rrvocalicvowelsignbengali","rrvocalicvowelsigndeva",
+"rrvocalicvowelsigngujarati","rsuperior","rtblock","rturned",
+"rturnedsuperior","ruhiragana","rukatakana","rukatakanahalfwidth",
+"rupeemarkbengali","rupeesignbengali","rupiah","ruthai","rvocalicbengali",
+"rvocalicdeva","rvocalicgujarati","rvocalicvowelsignbengali",
+"rvocalicvowelsigndeva","rvocalicvowelsigngujarati","s","sabengali","sacute",
+"sacutedotaccent","sadarabic","sadeva","sadfinalarabic","sadinitialarabic",
+"sadmedialarabic","sagujarati","sagurmukhi","sahiragana","sakatakana",
+"sakatakanahalfwidth","sallallahoualayhewasallamarabic","samekh",
+"samekhdagesh","samekhdageshhebrew","samekhhebrew","saraaathai","saraaethai",
+"saraaimaimalaithai","saraaimaimuanthai","saraamthai","saraathai","saraethai",
+"saraiileftthai","saraiithai","saraileftthai","saraithai","saraothai",
+"saraueeleftthai","saraueethai","saraueleftthai","sarauethai","sarauthai",
+"sarauuthai","sbopomofo","scaron","scarondotaccent","scedilla","schwa",
+"schwacyrillic","schwadieresiscyrillic","schwahook","scircle","scircumflex",
+"scommaaccent","sdotaccent","sdotbelow","sdotbelowdotaccent",
+"seagullbelowcmb","second","secondtonechinese","section","seenarabic",
+"seenfinalarabic","seeninitialarabic","seenmedialarabic","segol","segol13",
+"segol1f","segol2c","segolhebrew","segolnarrowhebrew","segolquarterhebrew",
+"segoltahebrew","segolwidehebrew","seharmenian","sehiragana","sekatakana",
+"sekatakanahalfwidth","semicolon","semicolonarabic","semicolonmonospace",
+"semicolonsmall","semivoicedmarkkana","semivoicedmarkkanahalfwidth",
+"sentisquare","sentosquare","seven","sevenarabic","sevenbengali",
+"sevencircle","sevencircleinversesansserif","sevendeva","seveneighths",
+"sevengujarati","sevengurmukhi","sevenhackarabic","sevenhangzhou",
+"sevenideographicparen","seveninferior","sevenmonospace","sevenoldstyle",
+"sevenparen","sevenperiod","sevenpersian","sevenroman","sevensuperior",
+"seventeencircle","seventeenparen","seventeenperiod","seventhai","sfthyphen",
+"shaarmenian","shabengali","shacyrillic","shaddaarabic","shaddadammaarabic",
+"shaddadammatanarabic","shaddafathaarabic","shaddafathatanarabic",
+"shaddakasraarabic","shaddakasratanarabic","shade","shadedark","shadelight",
+"shademedium","shadeva","shagujarati","shagurmukhi","shalshelethebrew",
+"shbopomofo","shchacyrillic","sheenarabic","sheenfinalarabic",
+"sheeninitialarabic","sheenmedialarabic","sheicoptic","sheqel","sheqelhebrew",
+"sheva","sheva115","sheva15","sheva22","sheva2e","shevahebrew",
+"shevanarrowhebrew","shevaquarterhebrew","shevawidehebrew","shhacyrillic",
+"shimacoptic","shin","shindagesh","shindageshhebrew","shindageshshindot",
+"shindageshshindothebrew","shindageshsindot","shindageshsindothebrew",
+"shindothebrew","shinhebrew","shinshindot","shinshindothebrew","shinsindot",
+"shinsindothebrew","shook","sigma","sigma1","sigmafinal",
+"sigmalunatesymbolgreek","sihiragana","sikatakana","sikatakanahalfwidth",
+"siluqhebrew","siluqlefthebrew","similar","sindothebrew","siosacirclekorean",
+"siosaparenkorean","sioscieuckorean","sioscirclekorean","sioskiyeokkorean",
+"sioskorean","siosnieunkorean","siosparenkorean","siospieupkorean",
+"siostikeutkorean","six","sixarabic","sixbengali","sixcircle",
+"sixcircleinversesansserif","sixdeva","sixgujarati","sixgurmukhi",
+"sixhackarabic","sixhangzhou","sixideographicparen","sixinferior",
+"sixmonospace","sixoldstyle","sixparen","sixperiod","sixpersian","sixroman",
+"sixsuperior","sixteencircle","sixteencurrencydenominatorbengali",
+"sixteenparen","sixteenperiod","sixthai","slash","slashmonospace","slong",
+"slongdotaccent","smileface","smonospace","sofpasuqhebrew","softhyphen",
+"softsigncyrillic","sohiragana","sokatakana","sokatakanahalfwidth",
+"soliduslongoverlaycmb","solidusshortoverlaycmb","sorusithai","sosalathai",
+"sosothai","sosuathai","space","spacehackarabic","spade","spadesuitblack",
+"spadesuitwhite","sparen","squarebelowcmb","squarecc","squarecm",
+"squarediagonalcrosshatchfill","squarehorizontalfill","squarekg","squarekm",
+"squarekmcapital","squareln","squarelog","squaremg","squaremil","squaremm",
+"squaremsquared","squareorthogonalcrosshatchfill",
+"squareupperlefttolowerrightfill","squareupperrighttolowerleftfill",
+"squareverticalfill","squarewhitewithsmallblack","srsquare","ssabengali",
+"ssadeva","ssagujarati","ssangcieuckorean","ssanghieuhkorean",
+"ssangieungkorean","ssangkiyeokkorean","ssangnieunkorean","ssangpieupkorean",
+"ssangsioskorean","ssangtikeutkorean","ssuperior","sterling",
+"sterlingmonospace","strokelongoverlaycmb","strokeshortoverlaycmb","subset",
+"subsetnotequal","subsetorequal","succeeds","suchthat","suhiragana",
+"sukatakana","sukatakanahalfwidth","sukunarabic","summation","sun","superset",
+"supersetnotequal","supersetorequal","svsquare","syouwaerasquare","t",
+"tabengali","tackdown","tackleft","tadeva","tagujarati","tagurmukhi",
+"taharabic","tahfinalarabic","tahinitialarabic","tahiragana",
+"tahmedialarabic","taisyouerasquare","takatakana","takatakanahalfwidth",
+"tatweelarabic","tau","tav","tavdages","tavdagesh","tavdageshhebrew",
+"tavhebrew","tbar","tbopomofo","tcaron","tccurl","tcedilla","tcheharabic",
+"tchehfinalarabic","tchehinitialarabic","tchehmedialarabic",
+"tchehmeeminitialarabic","tcircle","tcircumflexbelow","tcommaaccent",
+"tdieresis","tdotaccent","tdotbelow","tecyrillic","tedescendercyrillic",
+"teharabic","tehfinalarabic","tehhahinitialarabic","tehhahisolatedarabic",
+"tehinitialarabic","tehiragana","tehjeeminitialarabic",
+"tehjeemisolatedarabic","tehmarbutaarabic","tehmarbutafinalarabic",
+"tehmedialarabic","tehmeeminitialarabic","tehmeemisolatedarabic",
+"tehnoonfinalarabic","tekatakana","tekatakanahalfwidth","telephone",
+"telephoneblack","telishagedolahebrew","telishaqetanahebrew","tencircle",
+"tenideographicparen","tenparen","tenperiod","tenroman","tesh","tet",
+"tetdagesh","tetdageshhebrew","tethebrew","tetsecyrillic","tevirhebrew",
+"tevirlefthebrew","thabengali","thadeva","thagujarati","thagurmukhi",
+"thalarabic","thalfinalarabic","thanthakhatlowleftthai",
+"thanthakhatlowrightthai","thanthakhatthai","thanthakhatupperleftthai",
+"theharabic","thehfinalarabic","thehinitialarabic","thehmedialarabic",
+"thereexists","therefore","theta","theta1","thetasymbolgreek",
+"thieuthacirclekorean","thieuthaparenkorean","thieuthcirclekorean",
+"thieuthkorean","thieuthparenkorean","thirteencircle","thirteenparen",
+"thirteenperiod","thonangmonthothai","thook","thophuthaothai","thorn",
+"thothahanthai","thothanthai","thothongthai","thothungthai",
+"thousandcyrillic","thousandsseparatorarabic","thousandsseparatorpersian",
+"three","threearabic","threebengali","threecircle",
+"threecircleinversesansserif","threedeva","threeeighths","threegujarati",
+"threegurmukhi","threehackarabic","threehangzhou","threeideographicparen",
+"threeinferior","threemonospace","threenumeratorbengali","threeoldstyle",
+"threeparen","threeperiod","threepersian","threequarters",
+"threequartersemdash","threeroman","threesuperior","threethai","thzsquare",
+"tihiragana","tikatakana","tikatakanahalfwidth","tikeutacirclekorean",
+"tikeutaparenkorean","tikeutcirclekorean","tikeutkorean","tikeutparenkorean",
+"tilde","tildebelowcmb","tildecmb","tildecomb","tildedoublecmb",
+"tildeoperator","tildeoverlaycmb","tildeverticalcmb","timescircle",
+"tipehahebrew","tipehalefthebrew","tippigurmukhi","titlocyrilliccmb",
+"tiwnarmenian","tlinebelow","tmonospace","toarmenian","tohiragana",
+"tokatakana","tokatakanahalfwidth","tonebarextrahighmod","tonebarextralowmod",
+"tonebarhighmod","tonebarlowmod","tonebarmidmod","tonefive","tonesix",
+"tonetwo","tonos","tonsquare","topatakthai","tortoiseshellbracketleft",
+"tortoiseshellbracketleftsmall","tortoiseshellbracketleftvertical",
+"tortoiseshellbracketright","tortoiseshellbracketrightsmall",
+"tortoiseshellbracketrightvertical","totaothai","tpalatalhook","tparen",
+"trademark","trademarksans","trademarkserif","tretroflexhook","triagdn",
+"triaglf","triagrt","triagup","ts","tsadi","tsadidagesh","tsadidageshhebrew",
+"tsadihebrew","tsecyrillic","tsere","tsere12","tsere1e","tsere2b",
+"tserehebrew","tserenarrowhebrew","tserequarterhebrew","tserewidehebrew",
+"tshecyrillic","tsuperior","ttabengali","ttadeva","ttagujarati","ttagurmukhi",
+"tteharabic","ttehfinalarabic","ttehinitialarabic","ttehmedialarabic",
+"tthabengali","tthadeva","tthagujarati","tthagurmukhi","tturned","tuhiragana",
+"tukatakana","tukatakanahalfwidth","tusmallhiragana","tusmallkatakana",
+"tusmallkatakanahalfwidth","twelvecircle","twelveparen","twelveperiod",
+"twelveroman","twentycircle","twentyhangzhou","twentyparen","twentyperiod",
+"two","twoarabic","twobengali","twocircle","twocircleinversesansserif",
+"twodeva","twodotenleader","twodotleader","twodotleadervertical",
+"twogujarati","twogurmukhi","twohackarabic","twohangzhou",
+"twoideographicparen","twoinferior","twomonospace","twonumeratorbengali",
+"twooldstyle","twoparen","twoperiod","twopersian","tworoman","twostroke",
+"twosuperior","twothai","twothirds","u","uacute","ubar","ubengali",
+"ubopomofo","ubreve","ucaron","ucircle","ucircumflex","ucircumflexbelow",
+"ucyrillic","udattadeva","udblacute","udblgrave","udeva","udieresis",
+"udieresisacute","udieresisbelow","udieresiscaron","udieresiscyrillic",
+"udieresisgrave","udieresismacron","udotbelow","ugrave","ugujarati",
+"ugurmukhi","uhiragana","uhookabove","uhorn","uhornacute","uhorndotbelow",
+"uhorngrave","uhornhookabove","uhorntilde","uhungarumlaut",
+"uhungarumlautcyrillic","uinvertedbreve","ukatakana","ukatakanahalfwidth",
+"ukcyrillic","ukorean","umacron","umacroncyrillic","umacrondieresis",
+"umatragurmukhi","umonospace","underscore","underscoredbl",
+"underscoremonospace","underscorevertical","underscorewavy","union",
+"universal","uogonek","uparen","upblock","upperdothebrew","upsilon",
+"upsilondieresis","upsilondieresistonos","upsilonlatin","upsilontonos",
+"uptackbelowcmb","uptackmod","uragurmukhi","uring","ushortcyrillic",
+"usmallhiragana","usmallkatakana","usmallkatakanahalfwidth",
+"ustraightcyrillic","ustraightstrokecyrillic","utilde","utildeacute",
+"utildebelow","uubengali","uudeva","uugujarati","uugurmukhi",
+"uumatragurmukhi","uuvowelsignbengali","uuvowelsigndeva",
+"uuvowelsigngujarati","uvowelsignbengali","uvowelsigndeva",
+"uvowelsigngujarati","v","vadeva","vagujarati","vagurmukhi","vakatakana",
+"vav","vavdagesh","vavdagesh65","vavdageshhebrew","vavhebrew","vavholam",
+"vavholamhebrew","vavvavhebrew","vavyodhebrew","vcircle","vdotbelow",
+"vecyrillic","veharabic","vehfinalarabic","vehinitialarabic",
+"vehmedialarabic","vekatakana","venus","verticalbar","verticallineabovecmb",
+"verticallinebelowcmb","verticallinelowmod","verticallinemod","vewarmenian",
+"vhook","vikatakana","viramabengali","viramadeva","viramagujarati",
+"visargabengali","visargadeva","visargagujarati","vmonospace","voarmenian",
+"voicediterationhiragana","voicediterationkatakana","voicedmarkkana",
+"voicedmarkkanahalfwidth","vokatakana","vparen","vtilde","vturned",
+"vuhiragana","vukatakana","w","wacute","waekorean","wahiragana","wakatakana",
+"wakatakanahalfwidth","wakorean","wasmallhiragana","wasmallkatakana",
+"wattosquare","wavedash","wavyunderscorevertical","wawarabic",
+"wawfinalarabic","wawhamzaabovearabic","wawhamzaabovefinalarabic","wbsquare",
+"wcircle","wcircumflex","wdieresis","wdotaccent","wdotbelow","wehiragana",
+"weierstrass","wekatakana","wekorean","weokorean","wgrave","whitebullet",
+"whitecircle","whitecircleinverse","whitecornerbracketleft",
+"whitecornerbracketleftvertical","whitecornerbracketright",
+"whitecornerbracketrightvertical","whitediamond",
+"whitediamondcontainingblacksmalldiamond","whitedownpointingsmalltriangle",
+"whitedownpointingtriangle","whiteleftpointingsmalltriangle",
+"whiteleftpointingtriangle","whitelenticularbracketleft",
+"whitelenticularbracketright","whiterightpointingsmalltriangle",
+"whiterightpointingtriangle","whitesmallsquare","whitesmilingface",
+"whitesquare","whitestar","whitetelephone","whitetortoiseshellbracketleft",
+"whitetortoiseshellbracketright","whiteuppointingsmalltriangle",
+"whiteuppointingtriangle","wihiragana","wikatakana","wikorean","wmonospace",
+"wohiragana","wokatakana","wokatakanahalfwidth","won","wonmonospace",
+"wowaenthai","wparen","wring","wsuperior","wturned","wynn","x","xabovecmb",
+"xbopomofo","xcircle","xdieresis","xdotaccent","xeharmenian","xi",
+"xmonospace","xparen","xsuperior","y","yaadosquare","yabengali","yacute",
+"yadeva","yaekorean","yagujarati","yagurmukhi","yahiragana","yakatakana",
+"yakatakanahalfwidth","yakorean","yamakkanthai","yasmallhiragana",
+"yasmallkatakana","yasmallkatakanahalfwidth","yatcyrillic","ycircle",
+"ycircumflex","ydieresis","ydotaccent","ydotbelow","yeharabic",
+"yehbarreearabic","yehbarreefinalarabic","yehfinalarabic",
+"yehhamzaabovearabic","yehhamzaabovefinalarabic","yehhamzaaboveinitialarabic",
+"yehhamzaabovemedialarabic","yehinitialarabic","yehmedialarabic",
+"yehmeeminitialarabic","yehmeemisolatedarabic","yehnoonfinalarabic",
+"yehthreedotsbelowarabic","yekorean","yen","yenmonospace","yeokorean",
+"yeorinhieuhkorean","yerahbenyomohebrew","yerahbenyomolefthebrew",
+"yericyrillic","yerudieresiscyrillic","yesieungkorean",
+"yesieungpansioskorean","yesieungsioskorean","yetivhebrew","ygrave","yhook",
+"yhookabove","yiarmenian","yicyrillic","yikorean","yinyang","yiwnarmenian",
+"ymonospace","yod","yoddagesh","yoddageshhebrew","yodhebrew","yodyodhebrew",
+"yodyodpatahhebrew","yohiragana","yoikorean","yokatakana",
+"yokatakanahalfwidth","yokorean","yosmallhiragana","yosmallkatakana",
+"yosmallkatakanahalfwidth","yotgreek","yoyaekorean","yoyakorean","yoyakthai",
+"yoyingthai","yparen","ypogegrammeni","ypogegrammenigreekcmb","yr","yring",
+"ysuperior","ytilde","yturned","yuhiragana","yuikorean","yukatakana",
+"yukatakanahalfwidth","yukorean","yusbigcyrillic","yusbigiotifiedcyrillic",
+"yuslittlecyrillic","yuslittleiotifiedcyrillic","yusmallhiragana",
+"yusmallkatakana","yusmallkatakanahalfwidth","yuyekorean","yuyeokorean",
+"yyabengali","yyadeva","z","zaarmenian","zacute","zadeva","zagurmukhi",
+"zaharabic","zahfinalarabic","zahinitialarabic","zahiragana",
+"zahmedialarabic","zainarabic","zainfinalarabic","zakatakana",
+"zaqefgadolhebrew","zaqefqatanhebrew","zarqahebrew","zayin","zayindagesh",
+"zayindageshhebrew","zayinhebrew","zbopomofo","zcaron","zcircle",
+"zcircumflex","zcurl","zdot","zdotaccent","zdotbelow","zecyrillic",
+"zedescendercyrillic","zedieresiscyrillic","zehiragana","zekatakana","zero",
+"zeroarabic","zerobengali","zerodeva","zerogujarati","zerogurmukhi",
+"zerohackarabic","zeroinferior","zeromonospace","zerooldstyle","zeropersian",
+"zerosuperior","zerothai","zerowidthjoiner","zerowidthnonjoiner",
+"zerowidthspace","zeta","zhbopomofo","zhearmenian","zhebrevecyrillic",
+"zhecyrillic","zhedescendercyrillic","zhedieresiscyrillic","zihiragana",
+"zikatakana","zinorhebrew","zlinebelow","zmonospace","zohiragana",
+"zokatakana","zparen","zretroflexhook","zstroke","zuhiragana","zukatakana",
+};
+
+static const unsigned short agl_code_list[] = {
+65,198,508,482,63462,193,63457,258,7854,1232,7862,7856,7858,7860,461,9398,194,
+7844,7852,7846,7848,63458,7850,63177,63412,1040,512,196,1234,478,63460,7840,
+480,192,63456,7842,1236,514,913,902,256,65313,260,197,506,7680,63461,63329,
+195,63459,1329,66,9399,7682,7684,1041,1330,914,385,7686,65314,63220,63330,386,
+67,1342,262,63178,63221,268,199,7688,63463,9400,264,266,266,63416,1353,1212,
+1063,1214,1206,1268,1347,1227,1208,935,391,63222,65315,1361,63331,68,497,452,
+1332,393,270,7696,9401,7698,272,7690,7692,1044,1006,8710,916,394,63179,63180,
+63181,63400,988,1026,7694,65316,63223,272,63332,395,498,453,1248,1029,1039,69,
+201,63465,276,282,7708,1333,9402,202,7870,7704,7878,7872,7874,63466,7876,1028,
+516,203,63467,278,278,7864,1060,200,63464,1335,7866,8551,518,1124,1051,8554,
+274,7702,7700,1052,65317,1053,1186,330,1188,1223,280,400,917,904,1056,398,
+1069,1057,1194,425,63333,919,1336,905,208,63472,7868,7706,8364,439,494,440,70,
+9403,7710,1366,996,401,1138,8548,65318,8547,63334,71,13191,500,915,404,1002,
+286,486,290,9404,284,290,288,288,1043,1346,1172,1170,1168,403,1331,1027,7712,
+65319,63182,63328,63335,667,484,72,9679,9642,9643,9633,13259,1192,1202,1066,
+294,7722,7720,9405,292,7718,7714,7716,65320,1344,1000,63336,63183,63224,13200,
+73,1071,306,1070,205,63469,300,463,9406,206,63470,1030,520,207,7726,1252,
+63471,304,304,7882,1238,1045,8465,204,63468,7880,1048,522,1049,298,1250,65321,
+1339,1025,302,921,406,938,906,63337,407,296,7724,1140,1142,74,1345,9407,308,
+1032,1355,65322,63338,75,13189,13261,1184,7728,1050,1178,1219,922,1182,1180,
+488,310,9408,310,7730,1364,1343,1061,998,408,1036,7732,65323,1152,990,1134,
+63339,76,455,63167,313,923,317,315,9409,7740,315,319,319,7734,7736,1340,456,
+1033,7738,65324,321,63225,63340,77,13190,63184,63407,7742,9410,7744,7746,1348,
+65325,63341,412,924,78,458,323,327,325,9411,7754,325,7748,7750,413,8552,459,
+1034,7752,65326,1350,63342,209,63473,925,79,338,63226,211,63475,1256,1258,334,
+465,415,9412,212,7888,7896,7890,7892,63476,7894,1054,336,524,214,1254,63478,
+7884,63227,210,63474,1365,8486,7886,416,7898,7906,7900,7902,7904,336,418,526,
+332,7762,7760,8486,1120,937,1146,1148,911,927,908,65327,8544,490,492,390,216,
+510,63480,63343,510,1150,213,7756,7758,63477,80,7764,9413,7766,1055,1354,1190,
+934,420,928,1363,65328,936,1136,63344,81,9414,65329,63345,82,1356,340,344,342,
+9415,342,528,7768,7770,7772,1360,8476,929,63228,530,7774,65330,63346,641,694,
+83,9484,9492,9488,9496,9532,9516,9524,9500,9508,9472,9474,9569,9570,9558,9557,
+9571,9553,9559,9565,9564,9563,9566,9567,9562,9556,9577,9574,9568,9552,9580,
+9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,346,7780,992,352,7782,63229,
+350,399,1240,1242,9416,348,536,7776,7778,7784,1357,8550,1351,1064,1065,994,
+1210,1004,931,8549,65331,1068,63347,986,84,932,358,356,354,9417,7792,354,7786,
+7788,1058,1196,8553,1204,920,428,222,63486,8546,63230,1359,7790,65332,1337,
+444,388,423,430,1062,1035,63348,8555,8545,85,218,63482,364,467,9418,219,7798,
+63483,1059,368,532,220,471,7794,473,1264,475,469,63484,7908,217,63481,7910,
+431,7912,7920,7914,7916,7918,368,1266,534,1144,362,1262,7802,65333,370,933,
+978,979,433,939,980,978,910,366,1038,63349,1198,1200,360,7800,7796,86,9419,
+7806,1042,1358,434,65334,1352,63350,7804,87,7810,9420,372,7812,7814,7816,7808,
+65335,63351,88,9421,7820,7818,1341,926,65336,63352,89,221,63485,1122,9422,374,
+376,63487,7822,7924,1067,1272,7922,435,7926,1349,1031,1362,65337,63353,7928,
+1130,1132,1126,1128,90,1334,377,381,63231,9423,7824,379,379,7826,1047,1176,
+1246,918,1338,1217,1046,1174,1244,7828,65338,63354,437,97,2438,225,2310,2694,
+2566,2622,13059,2494,2366,2750,1375,2416,2437,12570,259,7855,1233,7863,7857,
+7859,7861,462,9424,226,7845,7853,7847,7849,7851,180,791,769,769,2388,719,833,
+1072,513,2673,2309,228,1235,479,7841,481,230,509,12624,483,8213,8356,1040,
+1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,
+1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,
+1070,1071,1168,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1038,
+63172,63173,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,
+1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,
+1099,1100,1101,1102,1103,1169,1106,1107,1108,1109,1110,1111,1112,1113,1114,
+1115,1116,1118,1039,1122,1138,1140,63174,1119,1123,1139,1141,63175,63176,1241,
+8206,8207,8205,1642,1548,1632,1633,1634,1635,1636,1637,1638,1639,1640,1641,
+1563,1567,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,
+1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,1600,1601,
+1602,1603,1604,1605,1606,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,
+1618,1607,1700,1662,1670,1688,1711,1657,1672,1681,1722,1746,1749,8362,1470,
+1475,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,
+1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,64298,64299,
+64331,64287,1520,1521,1522,64309,1460,1461,1462,1467,1464,1463,1456,1458,1457,
+1459,1474,1473,1465,1468,1469,1471,1472,700,8453,8467,8470,8236,8237,8238,
+8204,1645,701,224,2693,2565,12354,7843,2448,12574,2320,1237,2704,2576,2632,
+1593,65226,65227,65228,515,2504,2376,2760,12450,65393,12623,1488,1575,64304,
+65166,1571,65156,1573,65160,1488,64335,1570,65154,1609,65264,65267,65268,
+64302,64303,8501,8780,945,940,257,65345,38,65286,63270,13250,12578,12580,3674,
+8736,12296,65087,12297,65088,9001,9002,8491,903,2386,2434,2306,2690,261,13056,
+9372,1370,700,63743,8784,8776,8786,8773,12686,12685,8978,7834,229,507,7681,
+8596,8675,8672,8674,8673,8660,8659,8656,8658,8657,8595,8601,8600,8681,709,706,
+707,708,63719,8592,8656,8653,8646,8678,8594,8655,10142,8644,8680,8676,8677,
+8593,8597,8616,8616,8598,8645,8599,8679,63718,94,65342,126,65374,593,594,
+12353,12449,65383,42,1645,1645,8727,65290,65121,8258,63209,8771,64,227,65312,
+65131,592,2452,12576,2324,2708,2580,2519,2636,2508,2380,2764,2365,1377,1506,
+64288,1506,98,2476,92,65340,2348,2732,2604,12400,3647,12496,124,65372,12549,
+9425,7683,7685,9836,8757,1073,1576,65168,65169,12409,65170,64671,64520,64621,
+12505,1378,1489,946,976,64305,64305,1489,64332,2477,2349,2733,2605,595,12403,
+12499,664,2562,13105,9679,9670,9660,9668,9664,12304,65083,12305,65084,9699,
+9698,9644,9658,9654,9642,9787,9632,9733,9700,9701,9652,9650,9251,7687,9608,
+65346,3610,12412,12508,9373,13251,63732,123,63731,63730,65371,65115,63729,
+65079,125,63742,63741,65373,65116,63740,65080,91,63728,63727,65339,63726,93,
+63739,63738,65341,63737,728,814,774,815,785,865,810,826,166,384,63210,387,
+12406,12502,8226,9688,8729,9678,99,1390,2458,263,2330,2714,2586,13192,2433,
+784,2305,2689,8682,8453,711,812,780,8629,12568,269,231,7689,9426,265,597,267,
+267,13253,184,807,162,8451,63199,65504,63394,63200,1401,2459,2331,2715,2587,
+12564,1213,10003,1095,1215,1207,1269,1395,1228,1209,967,12919,12823,12905,
+12618,12809,3594,3592,3593,3596,392,12918,12822,12904,12616,12808,12828,9675,
+8855,8857,8853,12342,9680,9681,710,813,770,8999,450,448,449,451,9827,9827,
+9831,13220,65347,13216,1409,58,8353,65306,8353,65109,721,720,44,787,789,63171,
+1548,1373,63201,65292,788,701,65104,63202,786,699,9788,8773,8750,8963,6,7,8,
+24,13,17,18,19,20,127,16,25,5,4,27,23,3,12,28,29,9,10,21,30,15,14,2,1,26,22,
+31,11,169,63721,63193,12300,65378,65089,12301,65379,65090,13183,13255,13254,
+9374,8354,663,8911,8910,164,63185,63186,63188,63189,100,1380,2470,1590,2342,
+65214,65215,65216,1468,1468,8224,8225,2726,2598,12384,12480,1583,1491,64307,
+64307,1491,1491,1491,1491,1491,1491,1491,1491,1491,1491,1491,1491,1491,1491,
+1491,1491,1491,1491,1491,1491,1491,65194,1615,1615,1612,1612,2404,1447,1447,
+1157,63187,12298,65085,12299,65086,811,8660,8658,2405,63190,783,8748,8215,819,
+831,698,8214,782,12553,13256,271,7697,9427,7699,273,2465,2337,2721,2593,1672,
+64393,2396,2466,2338,2722,2594,7691,7693,1643,1643,1076,176,1453,12391,1007,
+12487,9003,8998,948,397,2552,676,2471,2343,2727,2599,599,901,836,9830,9826,
+168,63191,804,776,63192,901,12386,12482,12291,247,8739,8725,1106,9619,7695,
+13207,273,65348,9604,3598,3604,12393,12489,36,63203,65284,63268,65129,63204,
+8363,13094,729,775,803,803,12539,305,63166,644,8901,9676,64287,64287,798,725,
+9375,63211,598,396,12389,12485,499,675,454,677,1249,1109,1119,101,233,9793,
+2447,12572,277,2317,2701,2373,2757,283,7709,1381,1415,9428,234,7871,7705,7879,
+7873,7875,7877,1108,517,2319,235,279,279,7865,2575,2631,1092,232,2703,1383,
+12573,12360,7867,12575,56,1640,2542,9319,10129,2414,9329,9349,9369,2798,2670,
+1640,12328,9835,12839,8328,65304,63288,9339,9359,1784,8567,8312,3672,519,1125,
+12456,65396,2676,12628,1083,8712,9322,9342,9362,8570,8230,8942,275,7703,7701,
+1084,8212,65073,65349,1371,8709,12579,1085,8211,65074,1187,331,12581,1189,
+1224,8194,281,12627,603,666,604,606,605,9376,949,941,61,65309,65126,8316,8801,
+12582,1088,600,1101,1089,1195,643,646,2318,2374,426,645,12359,12455,65386,
+8494,63212,951,1384,942,240,7869,7707,1425,1425,1425,1425,477,12641,8364,2503,
+2375,2759,33,1372,8252,161,63393,65281,63265,8707,658,495,659,441,442,102,
+2398,2654,8457,1614,1614,1611,12552,9429,7711,1601,1414,65234,65235,65236,997,
+9792,64256,64259,64260,64257,9326,9346,9366,8210,9632,9644,1498,64314,64314,
+1498,1498,1498,1498,1498,1501,1501,1503,1503,1507,1507,1509,1509,713,9673,
+1139,53,1637,2539,9316,10126,2411,8541,2795,2667,1637,12325,12836,8325,65301,
+63285,9336,9356,1781,8564,8309,3669,64258,402,65350,13209,3615,3613,3663,8704,
+52,1636,2538,9315,10125,2410,2794,2666,1636,12324,12835,8324,65300,2551,63284,
+9335,9355,1780,8563,8308,9325,9345,9365,3668,715,9377,8260,8355,103,2455,501,
+2327,1711,64403,64404,64405,2711,2583,12364,12460,947,611,736,1003,12557,287,
+487,291,9430,285,291,289,289,1075,12370,12466,8785,1436,1523,1437,223,1438,
+1524,12307,2456,1394,2328,2712,2584,1594,65230,65231,65232,1173,1171,1169,
+2394,2650,608,13203,12366,12462,1379,1490,64306,64306,1490,1107,446,660,662,
+704,661,705,740,673,674,7713,65351,12372,12468,9378,13228,8711,96,790,768,768,
+2387,718,65344,832,62,8805,8923,65310,8819,8823,8807,65125,609,485,12368,171,
+187,8249,8250,12464,13080,13257,104,1193,1729,2489,1203,2361,2745,2617,1581,
+65186,65187,12399,65188,13098,12495,65418,2637,1569,1569,1569,1569,1569,1569,
+1569,1569,1569,12644,1098,8636,8640,13258,1458,1458,1458,1458,1458,1458,1458,
+1458,1459,1459,1459,1459,1459,1459,1459,1459,1457,1457,1457,1457,1457,1457,
+1457,1457,295,12559,7723,7721,9431,293,7719,7715,7717,1492,9829,9829,9825,
+64308,64308,1729,1607,1492,64423,65258,65258,64421,64420,64424,65259,12408,
+64425,65260,13179,12504,65421,13110,615,13113,1495,1495,614,689,12923,12827,
+12909,12622,12813,12402,12498,65419,1460,1460,1460,1460,1460,1460,1460,1460,
+7830,65352,1392,3627,12411,12507,65422,1465,1465,1465,1465,1465,1465,1465,
+1465,3630,777,777,801,802,13122,1001,8213,795,9832,8962,9379,688,613,12405,
+13107,12501,65420,733,779,405,45,63205,65293,65123,63206,8208,105,237,1103,
+2439,12583,301,464,9432,238,1110,521,12943,12939,12863,12858,12965,12294,
+12289,65380,12855,12963,12847,12861,12957,12864,12950,12854,12843,12850,12964,
+12293,12952,12856,12967,12966,12969,12846,12842,12852,12290,12958,12867,12857,
+12862,12968,12953,12866,12851,12288,12853,12849,12859,12848,12860,12844,12845,
+12295,12942,12938,12948,12944,12940,12941,2311,239,7727,1253,7883,1239,1077,
+12917,12821,12903,12615,12807,236,2695,2567,12356,7881,2440,1080,2312,2696,
+2568,2624,523,1081,2496,2368,2752,307,12452,65394,12643,732,1452,299,1251,
+8787,2623,65353,8710,8734,1387,8747,8993,8993,63733,8992,8992,8745,13061,9688,
+9689,9787,1105,303,953,970,912,617,943,9380,2674,12355,12451,65384,2554,616,
+63213,12445,12541,297,7725,12585,1102,2495,2367,2751,1141,1143,106,1393,2460,
+2332,2716,2588,12560,496,9433,309,669,607,1112,1580,65182,65183,65184,1688,
+64395,2461,2333,2717,2589,1403,12292,65354,9381,690,107,1185,2453,7729,1082,
+1179,2325,1499,1603,64315,64315,65242,1499,65243,65244,64333,2709,2581,12363,
+1220,12459,65398,954,1008,12657,12676,12664,12665,13069,1600,1600,12533,13188,
+1616,1613,1183,65392,1181,12558,13193,489,311,9434,311,7731,1412,12369,12465,
+65401,1391,12534,312,2454,1093,2326,2710,2582,1582,65190,65191,65192,999,2393,
+2649,12920,12824,12906,12619,12810,3586,3589,3587,3588,3675,409,3590,13201,
+12365,12461,65399,13077,13078,13076,12910,12814,12896,12593,12800,12595,1116,
+7733,13208,13222,65355,13218,12371,13248,3585,12467,65402,13086,1153,12927,
+835,9382,13226,1135,13263,670,12367,12463,65400,13240,13246,108,2482,314,2354,
+2738,2610,3653,65276,65272,65271,65274,65273,65275,65270,65269,1604,955,411,
+1500,64316,64316,1500,1500,1500,1500,1500,65246,64714,65247,64713,64715,65010,
+65248,64904,64716,65247,65247,9711,410,620,12556,318,316,9435,7741,316,320,
+320,7735,7737,794,792,60,8804,8922,65308,8818,8822,8806,65124,622,9612,621,
+8356,1388,457,1113,63168,2355,2739,7739,2356,2529,2401,2531,2403,619,65356,
+13264,3628,8743,172,8976,8744,3621,383,65102,818,65101,9674,9383,322,8467,
+63214,9617,3622,2444,2316,2530,2402,13267,109,2478,175,817,772,717,65507,7743,
+2350,2734,2606,1444,1444,12414,63637,63636,3659,63635,63628,63627,3656,63626,
+63620,3633,63625,3655,63631,63630,3657,63629,63634,63633,3658,63632,3654,
+12510,65423,9794,13127,1470,9794,1455,13187,12551,13268,9436,13221,7745,7747,
+1605,65250,65251,65252,64721,64584,13133,12417,13182,12513,65426,1502,64318,
+64318,1502,1396,1445,1446,1446,1445,625,13202,65381,183,12914,12818,12900,
+12609,12656,12804,12654,12655,12415,12511,65424,8722,800,8854,727,8723,8242,
+13130,13129,624,13206,13219,65357,13215,12418,13249,12514,65427,13270,3617,
+13223,13224,9384,13227,13235,63215,623,181,181,13186,8811,8810,13196,956,
+13197,12416,12512,65425,13205,215,13211,1443,1443,9834,9835,9837,9839,13234,
+13238,13244,13241,13239,13247,13245,110,2472,8711,324,2344,2728,2600,12394,
+12490,65413,329,13185,12555,160,328,326,9437,7755,326,7749,7751,12397,12493,
+65416,8362,13195,2457,2329,2713,2585,3591,12435,626,627,12911,12815,12597,
+12897,12598,12596,12648,12801,12647,12646,12395,12491,65414,63641,3661,57,
+1641,2543,9320,10130,2415,2799,2671,1641,12329,12840,8329,65305,63289,9340,
+9360,1785,8568,8313,9330,9350,9370,3673,460,1114,12531,65437,414,7753,65358,
+13210,2467,2339,2723,2595,2345,12398,12494,65417,160,3603,3609,1606,65254,
+1722,64415,65255,65255,64722,64587,65256,64725,64590,64653,8716,8713,8713,
+8800,8815,8817,8825,8802,8814,8816,8742,8832,8836,8833,8837,1398,9385,13233,
+8319,241,957,12396,12492,65415,2492,2364,2748,2620,35,65283,65119,884,885,
+8470,1504,64320,64320,1504,13237,13243,2462,2334,2718,2590,111,243,3629,629,
+1257,1259,2451,12571,335,2321,2705,2377,2761,466,9438,244,7889,7897,7891,7893,
+7895,1086,337,525,2323,246,1255,7885,339,12634,731,808,242,2707,1413,12362,
+7887,417,7899,7907,7901,7903,7905,337,419,527,12458,65397,12631,1451,333,7763,
+7761,2384,969,982,1121,631,1147,1149,974,2768,959,972,65359,49,1633,2535,9312,
+10122,2407,8228,8539,63196,2791,2663,1633,189,12321,12832,8321,65297,2548,
+63281,9332,9352,1777,188,8560,185,3665,8531,491,493,2579,2635,596,9386,9702,
+8997,170,186,8735,2322,2378,248,511,12361,12457,65387,511,63216,1151,245,7757,
+7759,12577,8254,65098,773,65097,65100,65099,175,2507,2379,2763,112,13184,
+13099,2474,7765,2346,8671,8670,2730,2602,12401,3631,12497,1156,1216,12671,182,
+8741,40,64830,63725,63724,8333,65288,65113,8317,63723,65077,41,64831,63736,
+63735,8334,65289,65114,8318,63734,65078,8706,1472,1433,13225,1463,1463,1463,
+1463,1463,1463,1463,1463,1441,12550,9439,7767,1508,1087,64324,64324,13115,
+64323,1662,1402,1508,64343,64344,12410,64345,12506,1191,64334,37,1642,65285,
+65130,46,1417,183,65377,63207,65294,65106,63208,834,8869,8240,8359,13194,2475,
+2347,2731,2603,966,981,12922,12826,12908,12621,12812,632,3642,981,421,3614,
+3612,3616,960,12915,12819,12662,12901,12658,12610,12805,12660,12612,12661,
+12663,12659,12404,12500,982,1411,43,799,8853,177,726,65291,65122,8314,65360,
+13272,12413,9759,9756,9758,9757,12509,3611,12306,12320,9387,8826,8478,697,
+8245,8719,8965,12540,8984,8834,8835,8759,8733,968,1137,1158,13232,12407,12503,
+13236,13242,113,2392,1448,1602,65238,65239,65240,1464,1464,1464,1464,1464,
+1464,1464,1464,1464,1464,1464,1464,1464,1464,1464,1464,1439,12561,9440,672,
+65361,1511,64327,64327,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,
+1511,1511,1511,1511,1511,1511,1511,1511,1511,1511,9388,9833,1467,1467,1467,
+1467,1467,1467,1467,1467,63,1567,1374,191,63423,894,65311,63295,34,8222,8220,
+65282,12318,12317,8221,8216,8219,8219,8217,329,8218,39,65287,114,1404,2480,
+341,2352,8730,63717,13230,13231,13229,1471,1471,2736,2608,12425,12521,65431,
+2545,2544,612,8758,12566,345,343,9441,343,529,7769,7771,7773,8251,8838,8839,
+174,63720,63194,1585,1408,65198,12428,1585,12524,65434,1512,64328,1512,1512,
+1512,1512,1512,1512,1512,1512,1512,1512,1512,1512,1512,1512,1512,1512,1512,
+1512,1512,1512,1512,8765,1431,1431,8976,638,639,2525,2397,961,637,635,693,
+1009,734,12913,12817,12899,12608,12602,12649,12601,12603,12652,12803,12607,
+12604,12651,12605,12606,12650,12653,8735,793,8895,12426,12522,65432,730,805,
+778,703,1369,796,723,702,825,722,531,13137,7775,636,634,65362,12429,12525,
+65435,3619,9389,2524,2353,2652,1681,64397,2528,2400,2784,2500,2372,2756,63217,
+9616,633,692,12427,12523,65433,2546,2547,63197,3620,2443,2315,2699,2499,2371,
+2755,115,2488,347,7781,1589,2360,65210,65211,65212,2744,2616,12373,12469,
+65403,65018,1505,64321,64321,1505,3634,3649,3652,3651,3635,3632,3648,63622,
+3637,63621,3636,3650,63624,3639,63623,3638,3640,3641,12569,353,7783,351,601,
+1241,1243,602,9442,349,537,7777,7779,7785,828,8243,714,167,1587,65202,65203,
+65204,1462,1462,1462,1462,1462,1462,1462,1426,1462,1405,12379,12475,65406,59,
+1563,65307,65108,12444,65439,13090,13091,55,1639,2541,9318,10128,2413,8542,
+2797,2669,1639,12327,12838,8327,65303,63287,9338,9358,1783,8566,8311,9328,
+9348,9368,3671,173,1399,2486,1096,1617,64609,64606,64608,1617,64610,64607,
+9618,9619,9617,9618,2358,2742,2614,1427,12565,1097,1588,65206,65207,65208,995,
+8362,8362,1456,1456,1456,1456,1456,1456,1456,1456,1456,1211,1005,1513,64329,
+64329,64300,64300,64301,64301,1473,1513,64298,64298,64299,64299,642,963,962,
+962,1010,12375,12471,65404,1469,1469,8764,1474,12916,12820,12670,12902,12666,
+12613,12667,12806,12669,12668,54,1638,2540,9317,10127,2412,2796,2668,1638,
+12326,12837,8326,65302,63286,9337,9357,1782,8565,8310,9327,2553,9347,9367,
+3670,47,65295,383,7835,9786,65363,1475,173,1100,12381,12477,65407,824,823,
+3625,3624,3595,3626,32,32,9824,9824,9828,9390,827,13252,13213,9641,9636,13199,
+13214,13262,13265,13266,13198,13269,13212,13217,9638,9639,9640,9637,9635,
+13275,2487,2359,2743,12617,12677,12672,12594,12645,12611,12614,12600,63218,
+163,65505,822,821,8834,8842,8838,8827,8715,12377,12473,65405,1618,8721,9788,
+8835,8843,8839,13276,13180,116,2468,8868,8867,2340,2724,2596,1591,65218,65219,
+12383,65220,13181,12479,65408,1600,964,1514,64330,64330,64330,1514,359,12554,
+357,680,355,1670,64379,64380,64381,64380,9443,7793,355,7831,7787,7789,1090,
+1197,1578,65174,64674,64524,65175,12390,64673,64523,1577,65172,65176,64676,
+64526,64627,12486,65411,8481,9742,1440,1449,9321,12841,9341,9361,8569,679,
+1496,64312,64312,1496,1205,1435,1435,2469,2341,2725,2597,1584,65196,63640,
+63639,3660,63638,1579,65178,65179,65180,8707,8756,952,977,977,12921,12825,
+12907,12620,12811,9324,9344,9364,3601,429,3602,254,3607,3600,3608,3606,1154,
+1644,1644,51,1635,2537,9314,10124,2409,8540,2793,2665,1635,12323,12834,8323,
+65299,2550,63283,9334,9354,1779,190,63198,8562,179,3667,13204,12385,12481,
+65409,12912,12816,12898,12599,12802,732,816,771,771,864,8764,820,830,8855,
+1430,1430,2672,1155,1407,7791,65364,1385,12392,12488,65412,741,745,742,744,
+743,445,389,424,900,13095,3599,12308,65117,65081,12309,65118,65082,3605,427,
+9391,8482,63722,63195,648,9660,9668,9658,9650,678,1510,64326,64326,1510,1094,
+1461,1461,1461,1461,1461,1461,1461,1461,1115,63219,2463,2335,2719,2591,1657,
+64359,64360,64361,2464,2336,2720,2592,647,12388,12484,65410,12387,12483,65391,
+9323,9343,9363,8571,9331,21316,9351,9371,50,1634,2536,9313,10123,2408,8229,
+8229,65072,2792,2664,1634,12322,12833,8322,65298,2549,63282,9333,9353,1778,
+8561,443,178,3666,8532,117,250,649,2441,12584,365,468,9444,251,7799,1091,2385,
+369,533,2313,252,472,7795,474,1265,476,470,7909,249,2697,2569,12358,7911,432,
+7913,7921,7915,7917,7919,369,1267,535,12454,65395,1145,12636,363,1263,7803,
+2625,65365,95,8215,65343,65075,65103,8746,8704,371,9392,9600,1476,965,971,944,
+650,973,797,724,2675,367,1118,12357,12453,65385,1199,1201,361,7801,7797,2442,
+2314,2698,2570,2626,2498,2370,2754,2497,2369,2753,118,2357,2741,2613,12535,
+1493,64309,64309,64309,1493,64331,64331,1520,1521,9445,7807,1074,1700,64363,
+64364,64365,12537,9792,124,781,809,716,712,1406,651,12536,2509,2381,2765,2435,
+2307,2691,65366,1400,12446,12542,12443,65438,12538,9393,7805,652,12436,12532,
+119,7811,12633,12431,12527,65436,12632,12430,12526,13143,12316,65076,1608,
+65262,1572,65158,13277,9446,373,7813,7815,7817,12433,8472,12529,12638,12637,
+7809,9702,9675,9689,12302,65091,12303,65092,9671,9672,9663,9661,9667,9665,
+12310,12311,9657,9655,9643,9786,9633,9734,9743,12312,12313,9653,9651,12432,
+12528,12639,65367,12434,12530,65382,8361,65510,3623,9394,7832,695,653,447,120,
+829,12562,9447,7821,7819,1389,958,65368,9395,739,121,13134,2479,253,2351,
+12626,2735,2607,12420,12516,65428,12625,3662,12419,12515,65388,1123,9448,375,
+255,7823,7925,1610,1746,64431,65266,1574,65162,65163,65164,65267,65268,64733,
+64600,64660,1745,12630,165,65509,12629,12678,1450,1450,1099,1273,12673,12675,
+12674,1434,7923,436,7927,1397,1111,12642,9775,1410,65369,1497,64313,64313,
+1497,1522,64287,12424,12681,12520,65430,12635,12423,12519,65390,1011,12680,
+12679,3618,3597,9396,890,837,422,7833,696,7929,654,12422,12684,12518,65429,
+12640,1131,1133,1127,1129,12421,12517,65389,12683,12682,2527,2399,122,1382,
+378,2395,2651,1592,65222,65223,12374,65224,1586,65200,12470,1429,1428,1432,
+1494,64310,64310,1494,12567,382,9449,7825,657,380,380,7827,1079,1177,1247,
+12380,12476,48,1632,2534,2406,2790,2662,1632,8320,65296,63280,1776,8304,3664,
+65279,8204,8203,950,12563,1386,1218,1078,1175,1245,12376,12472,1454,7829,
+65370,12382,12478,9397,656,438,12378,12474,
+};
+
+static const unsigned short agl_dup_offsets[] = {
+32,0,124,3,160,6,173,9,175,12,181,15,183,18,266,21,267,24,272,27,273,30,
+278,33,279,36,288,39,289,42,290,45,291,48,304,51,310,54,311,57,315,60,316,63,
+319,66,320,69,325,72,326,75,329,78,336,81,337,84,342,87,343,90,354,93,355,96,
+368,99,369,102,379,105,380,108,383,111,510,114,511,117,700,120,701,123,
+732,126,768,129,769,132,771,135,777,138,803,141,901,144,962,147,977,150,
+978,153,981,156,982,159,1025,162,1026,165,1027,168,1028,171,1029,174,1030,177,
+1031,180,1032,183,1033,186,1034,189,1035,192,1036,195,1038,198,1039,201,
+1040,204,1041,207,1042,210,1043,213,1044,216,1045,219,1046,222,1047,225,
+1048,228,1049,231,1050,234,1051,237,1052,240,1053,243,1054,246,1055,249,
+1056,252,1057,255,1058,258,1059,261,1060,264,1061,267,1062,270,1063,273,
+1064,276,1065,279,1066,282,1067,285,1068,288,1069,291,1070,294,1071,297,
+1072,300,1073,303,1074,306,1075,309,1076,312,1077,315,1078,318,1079,321,
+1080,324,1081,327,1082,330,1083,333,1084,336,1085,339,1086,342,1087,345,
+1088,348,1089,351,1090,354,1091,357,1092,360,1093,363,1094,366,1095,369,
+1096,372,1097,375,1098,378,1099,381,1100,384,1101,387,1102,390,1103,393,
+1105,396,1106,399,1107,402,1108,405,1109,408,1110,411,1111,414,1112,417,
+1113,420,1114,423,1115,426,1116,429,1118,432,1119,435,1122,438,1123,441,
+1138,444,1139,447,1140,450,1141,453,1168,456,1169,459,1241,462,1425,465,
+1430,470,1431,473,1435,476,1443,479,1444,482,1445,485,1446,488,1447,491,
+1450,494,1456,497,1457,508,1458,518,1459,528,1460,538,1461,548,1462,558,
+1463,568,1464,578,1465,596,1467,606,1468,616,1469,620,1470,624,1471,627,
+1472,631,1473,634,1474,637,1475,640,1488,643,1489,647,1490,651,1491,655,
+1492,679,1493,683,1494,687,1495,691,1496,695,1497,699,1498,703,1499,711,
+1500,715,1501,723,1502,727,1503,731,1504,735,1505,739,1506,743,1507,747,
+1508,751,1509,755,1510,759,1511,763,1512,787,1513,811,1514,815,1520,819,
+1521,822,1522,825,1548,828,1563,831,1567,834,1569,837,1570,848,1571,851,
+1572,854,1573,857,1574,860,1575,863,1576,866,1577,869,1578,872,1579,875,
+1580,878,1581,881,1582,884,1583,887,1584,890,1585,893,1586,897,1587,900,
+1588,903,1589,906,1590,909,1591,912,1592,915,1593,918,1594,921,1600,924,
+1601,929,1602,932,1603,935,1604,938,1605,941,1606,944,1607,947,1608,950,
+1609,953,1610,956,1611,959,1612,962,1613,966,1614,969,1615,973,1616,977,
+1617,980,1618,984,1632,987,1633,991,1634,995,1635,999,1636,1003,1637,1007,
+1638,1011,1639,1015,1640,1019,1641,1023,1642,1027,1643,1030,1644,1033,
+1645,1036,1657,1040,1662,1043,1670,1046,1672,1049,1681,1052,1688,1055,
+1700,1058,1711,1061,1722,1064,1729,1067,1746,1070,8204,1073,8213,1076,
+8215,1079,8219,1082,8229,1085,8353,1088,8356,1091,8362,1094,8364,1099,
+8453,1102,8467,1105,8470,1108,8486,1111,8616,1114,8656,1117,8658,1120,
+8660,1123,8704,1126,8707,1129,8710,1132,8711,1135,8713,1138,8735,1141,
+8764,1144,8773,1147,8834,1150,8835,1153,8838,1156,8839,1159,8853,1162,
+8855,1165,8976,1168,8992,1171,8993,1174,9617,1177,9618,1180,9619,1183,
+9632,1186,9633,1189,9642,1192,9643,1195,9644,1198,9650,1201,9658,1204,
+9660,1207,9668,1210,9675,1213,9679,1216,9688,1219,9689,1222,9702,1225,
+9786,1228,9787,1231,9788,1234,9792,1237,9794,1240,9824,1243,9827,1246,
+9829,1249,9835,1252,64287,1255,64298,1260,64299,1264,64300,1268,64301,1271,
+64305,1274,64306,1277,64307,1280,64308,1283,64309,1286,64310,1291,64312,1294,
+64313,1297,64314,1300,64315,1303,64316,1306,64318,1309,64320,1312,64321,1315,
+64324,1318,64326,1321,64327,1324,64329,1327,64330,1330,64331,1334,64380,1338,
+65247,1341,65255,1345,65258,1348,65267,1351,65268,1354,
+};
+
+static const char *agl_dup_names[] = {
+"space","spacehackarabic",0,"bar","verticalbar",0,"nbspace",
+"nonbreakingspace",0,"sfthyphen","softhyphen",0,"macron","overscore",0,"mu",
+"mu1",0,"middot","periodcentered",0,"Cdot","Cdotaccent",0,"cdot","cdotaccent",
+0,"Dcroat","Dslash",0,"dcroat","dmacron",0,"Edot","Edotaccent",0,"edot",
+"edotaccent",0,"Gdot","Gdotaccent",0,"gdot","gdotaccent",0,"Gcedilla",
+"Gcommaaccent",0,"gcedilla","gcommaaccent",0,"Idot","Idotaccent",0,"Kcedilla",
+"Kcommaaccent",0,"kcedilla","kcommaaccent",0,"Lcedilla","Lcommaaccent",0,
+"lcedilla","lcommaaccent",0,"Ldot","Ldotaccent",0,"ldot","ldotaccent",0,
+"Ncedilla","Ncommaaccent",0,"ncedilla","ncommaaccent",0,"napostrophe",
+"quoterightn",0,"Odblacute","Ohungarumlaut",0,"odblacute","ohungarumlaut",0,
+"Rcedilla","Rcommaaccent",0,"rcedilla","rcommaaccent",0,"Tcedilla",
+"Tcommaaccent",0,"tcedilla","tcommaaccent",0,"Udblacute","Uhungarumlaut",0,
+"udblacute","uhungarumlaut",0,"Zdot","Zdotaccent",0,"zdot","zdotaccent",0,
+"longs","slong",0,"Oslashacute","Ostrokeacute",0,"oslashacute","ostrokeacute",
+0,"afii57929","apostrophemod",0,"afii64937","commareversedmod",0,"ilde",
+"tilde",0,"gravecmb","gravecomb",0,"acutecmb","acutecomb",0,"tildecmb",
+"tildecomb",0,"hookabovecomb","hookcmb",0,"dotbelowcmb","dotbelowcomb",0,
+"dialytikatonos","dieresistonos",0,"sigma1","sigmafinal",0,"theta1",
+"thetasymbolgreek",0,"Upsilon1","Upsilonhooksymbol",0,"phi1","phisymbolgreek",
+0,"omega1","pisymbolgreek",0,"Iocyrillic","afii10023",0,"Djecyrillic",
+"afii10051",0,"Gjecyrillic","afii10052",0,"Ecyrillic","afii10053",0,
+"Dzecyrillic","afii10054",0,"Icyrillic","afii10055",0,"Yicyrillic",
+"afii10056",0,"Jecyrillic","afii10057",0,"Ljecyrillic","afii10058",0,
+"Njecyrillic","afii10059",0,"Tshecyrillic","afii10060",0,"Kjecyrillic",
+"afii10061",0,"Ushortcyrillic","afii10062",0,"Dzhecyrillic","afii10145",0,
+"Acyrillic","afii10017",0,"Becyrillic","afii10018",0,"Vecyrillic","afii10019",
+0,"Gecyrillic","afii10020",0,"Decyrillic","afii10021",0,"Iecyrillic",
+"afii10022",0,"Zhecyrillic","afii10024",0,"Zecyrillic","afii10025",0,
+"Iicyrillic","afii10026",0,"Iishortcyrillic","afii10027",0,"Kacyrillic",
+"afii10028",0,"Elcyrillic","afii10029",0,"Emcyrillic","afii10030",0,
+"Encyrillic","afii10031",0,"Ocyrillic","afii10032",0,"Pecyrillic","afii10033",
+0,"Ercyrillic","afii10034",0,"Escyrillic","afii10035",0,"Tecyrillic",
+"afii10036",0,"Ucyrillic","afii10037",0,"Efcyrillic","afii10038",0,
+"Khacyrillic","afii10039",0,"Tsecyrillic","afii10040",0,"Checyrillic",
+"afii10041",0,"Shacyrillic","afii10042",0,"Shchacyrillic","afii10043",0,
+"Hardsigncyrillic","afii10044",0,"Yericyrillic","afii10045",0,
+"Softsigncyrillic","afii10046",0,"Ereversedcyrillic","afii10047",0,
+"IUcyrillic","afii10048",0,"IAcyrillic","afii10049",0,"acyrillic","afii10065",
+0,"afii10066","becyrillic",0,"afii10067","vecyrillic",0,"afii10068",
+"gecyrillic",0,"afii10069","decyrillic",0,"afii10070","iecyrillic",0,
+"afii10072","zhecyrillic",0,"afii10073","zecyrillic",0,"afii10074",
+"iicyrillic",0,"afii10075","iishortcyrillic",0,"afii10076","kacyrillic",0,
+"afii10077","elcyrillic",0,"afii10078","emcyrillic",0,"afii10079",
+"encyrillic",0,"afii10080","ocyrillic",0,"afii10081","pecyrillic",0,
+"afii10082","ercyrillic",0,"afii10083","escyrillic",0,"afii10084",
+"tecyrillic",0,"afii10085","ucyrillic",0,"afii10086","efcyrillic",0,
+"afii10087","khacyrillic",0,"afii10088","tsecyrillic",0,"afii10089",
+"checyrillic",0,"afii10090","shacyrillic",0,"afii10091","shchacyrillic",0,
+"afii10092","hardsigncyrillic",0,"afii10093","yericyrillic",0,"afii10094",
+"softsigncyrillic",0,"afii10095","ereversedcyrillic",0,"afii10096",
+"iucyrillic",0,"afii10097","iacyrillic",0,"afii10071","iocyrillic",0,
+"afii10099","djecyrillic",0,"afii10100","gjecyrillic",0,"afii10101",
+"ecyrillic",0,"afii10102","dzecyrillic",0,"afii10103","icyrillic",0,
+"afii10104","yicyrillic",0,"afii10105","jecyrillic",0,"afii10106",
+"ljecyrillic",0,"afii10107","njecyrillic",0,"afii10108","tshecyrillic",0,
+"afii10109","kjecyrillic",0,"afii10110","ushortcyrillic",0,"afii10193",
+"dzhecyrillic",0,"Yatcyrillic","afii10146",0,"afii10194","yatcyrillic",0,
+"Fitacyrillic","afii10147",0,"afii10195","fitacyrillic",0,"Izhitsacyrillic",
+"afii10148",0,"afii10196","izhitsacyrillic",0,"Gheupturncyrillic","afii10050",
+0,"afii10098","gheupturncyrillic",0,"afii10846","schwacyrillic",0,
+"etnahtafoukhhebrew","etnahtafoukhlefthebrew","etnahtahebrew",
+"etnahtalefthebrew",0,"tipehahebrew","tipehalefthebrew",0,"reviahebrew",
+"reviamugrashhebrew",0,"tevirhebrew","tevirlefthebrew",0,"munahhebrew",
+"munahlefthebrew",0,"mahapakhhebrew","mahapakhlefthebrew",0,"merkhahebrew",
+"merkhalefthebrew",0,"merkhakefulahebrew","merkhakefulalefthebrew",0,
+"dargahebrew","dargalefthebrew",0,"yerahbenyomohebrew",
+"yerahbenyomolefthebrew",0,"afii57799","sheva","sheva115","sheva15","sheva22",
+"sheva2e","shevahebrew","shevanarrowhebrew","shevaquarterhebrew",
+"shevawidehebrew",0,"afii57801","hatafsegol","hatafsegol17","hatafsegol24",
+"hatafsegol30","hatafsegolhebrew","hatafsegolnarrowhebrew",
+"hatafsegolquarterhebrew","hatafsegolwidehebrew",0,"afii57800","hatafpatah",
+"hatafpatah16","hatafpatah23","hatafpatah2f","hatafpatahhebrew",
+"hatafpatahnarrowhebrew","hatafpatahquarterhebrew","hatafpatahwidehebrew",0,
+"afii57802","hatafqamats","hatafqamats1b","hatafqamats28","hatafqamats34",
+"hatafqamatshebrew","hatafqamatsnarrowhebrew","hatafqamatsquarterhebrew",
+"hatafqamatswidehebrew",0,"afii57793","hiriq","hiriq14","hiriq21","hiriq2d",
+"hiriqhebrew","hiriqnarrowhebrew","hiriqquarterhebrew","hiriqwidehebrew",0,
+"afii57794","tsere","tsere12","tsere1e","tsere2b","tserehebrew",
+"tserenarrowhebrew","tserequarterhebrew","tserewidehebrew",0,"afii57795",
+"segol","segol13","segol1f","segol2c","segolhebrew","segolnarrowhebrew",
+"segolquarterhebrew","segolwidehebrew",0,"afii57798","patah","patah11",
+"patah1d","patah2a","patahhebrew","patahnarrowhebrew","patahquarterhebrew",
+"patahwidehebrew",0,"afii57797","qamats","qamats10","qamats1a","qamats1c",
+"qamats27","qamats29","qamats33","qamatsde","qamatshebrew",
+"qamatsnarrowhebrew","qamatsqatanhebrew","qamatsqatannarrowhebrew",
+"qamatsqatanquarterhebrew","qamatsqatanwidehebrew","qamatsquarterhebrew",
+"qamatswidehebrew",0,"afii57806","holam","holam19","holam26","holam32",
+"holamhebrew","holamnarrowhebrew","holamquarterhebrew","holamwidehebrew",0,
+"afii57796","qubuts","qubuts18","qubuts25","qubuts31","qubutshebrew",
+"qubutsnarrowhebrew","qubutsquarterhebrew","qubutswidehebrew",0,"afii57807",
+"dagesh","dageshhebrew",0,"afii57839","siluqhebrew","siluqlefthebrew",0,
+"afii57645","maqafhebrew",0,"afii57841","rafe","rafehebrew",0,"afii57842",
+"paseqhebrew",0,"afii57804","shindothebrew",0,"afii57803","sindothebrew",0,
+"afii57658","sofpasuqhebrew",0,"afii57664","alef","alefhebrew",0,"afii57665",
+"bet","bethebrew",0,"afii57666","gimel","gimelhebrew",0,"afii57667","dalet",
+"dalethatafpatah","dalethatafpatahhebrew","dalethatafsegol",
+"dalethatafsegolhebrew","dalethebrew","dalethiriq","dalethiriqhebrew",
+"daletholam","daletholamhebrew","daletpatah","daletpatahhebrew","daletqamats",
+"daletqamatshebrew","daletqubuts","daletqubutshebrew","daletsegol",
+"daletsegolhebrew","daletsheva","daletshevahebrew","dalettsere",
+"dalettserehebrew",0,"afii57668","he","hehebrew",0,"afii57669","vav",
+"vavhebrew",0,"afii57670","zayin","zayinhebrew",0,"afii57671","het",
+"hethebrew",0,"afii57672","tet","tethebrew",0,"afii57673","yod","yodhebrew",0,
+"afii57674","finalkaf","finalkafhebrew","finalkafqamats",
+"finalkafqamatshebrew","finalkafsheva","finalkafshevahebrew",0,"afii57675",
+"kaf","kafhebrew",0,"afii57676","lamed","lamedhebrew","lamedholam",
+"lamedholamdagesh","lamedholamdageshhebrew","lamedholamhebrew",0,"afii57677",
+"finalmem","finalmemhebrew",0,"afii57678","mem","memhebrew",0,"afii57679",
+"finalnun","finalnunhebrew",0,"afii57680","nun","nunhebrew",0,"afii57681",
+"samekh","samekhhebrew",0,"afii57682","ayin","ayinhebrew",0,"afii57683",
+"finalpe","finalpehebrew",0,"afii57684","pe","pehebrew",0,"afii57685",
+"finaltsadi","finaltsadihebrew",0,"afii57686","tsadi","tsadihebrew",0,
+"afii57687","qof","qofhatafpatah","qofhatafpatahhebrew","qofhatafsegol",
+"qofhatafsegolhebrew","qofhebrew","qofhiriq","qofhiriqhebrew","qofholam",
+"qofholamhebrew","qofpatah","qofpatahhebrew","qofqamats","qofqamatshebrew",
+"qofqubuts","qofqubutshebrew","qofsegol","qofsegolhebrew","qofsheva",
+"qofshevahebrew","qoftsere","qoftserehebrew",0,"afii57688","resh",
+"reshhatafpatah","reshhatafpatahhebrew","reshhatafsegol",
+"reshhatafsegolhebrew","reshhebrew","reshhiriq","reshhiriqhebrew","reshholam",
+"reshholamhebrew","reshpatah","reshpatahhebrew","reshqamats",
+"reshqamatshebrew","reshqubuts","reshqubutshebrew","reshsegol",
+"reshsegolhebrew","reshsheva","reshshevahebrew","reshtsere","reshtserehebrew",
+0,"afii57689","shin","shinhebrew",0,"afii57690","tav","tavhebrew",0,
+"afii57716","vavvavhebrew",0,"afii57717","vavyodhebrew",0,"afii57718",
+"yodyodhebrew",0,"afii57388","commaarabic",0,"afii57403","semicolonarabic",0,
+"afii57407","questionarabic",0,"afii57409","hamzaarabic","hamzadammaarabic",
+"hamzadammatanarabic","hamzafathaarabic","hamzafathatanarabic",
+"hamzalowarabic","hamzalowkasraarabic","hamzalowkasratanarabic",
+"hamzasukunarabic",0,"afii57410","alefmaddaabovearabic",0,"afii57411",
+"alefhamzaabovearabic",0,"afii57412","wawhamzaabovearabic",0,"afii57413",
+"alefhamzabelowarabic",0,"afii57414","yehhamzaabovearabic",0,"afii57415",
+"alefarabic",0,"afii57416","beharabic",0,"afii57417","tehmarbutaarabic",0,
+"afii57418","teharabic",0,"afii57419","theharabic",0,"afii57420","jeemarabic",
+0,"afii57421","haharabic",0,"afii57422","khaharabic",0,"afii57423",
+"dalarabic",0,"afii57424","thalarabic",0,"afii57425","reharabic",
+"rehyehaleflamarabic",0,"afii57426","zainarabic",0,"afii57427","seenarabic",0,
+"afii57428","sheenarabic",0,"afii57429","sadarabic",0,"afii57430","dadarabic",
+0,"afii57431","taharabic",0,"afii57432","zaharabic",0,"afii57433","ainarabic",
+0,"afii57434","ghainarabic",0,"afii57440","kashidaautoarabic",
+"kashidaautonosidebearingarabic","tatweelarabic",0,"afii57441","feharabic",0,
+"afii57442","qafarabic",0,"afii57443","kafarabic",0,"afii57444","lamarabic",0,
+"afii57445","meemarabic",0,"afii57446","noonarabic",0,"afii57470","heharabic",
+0,"afii57448","wawarabic",0,"afii57449","alefmaksuraarabic",0,"afii57450",
+"yeharabic",0,"afii57451","fathatanarabic",0,"afii57452",
+"dammatanaltonearabic","dammatanarabic",0,"afii57453","kasratanarabic",0,
+"afii57454","fathaarabic","fathalowarabic",0,"afii57455","dammaarabic",
+"dammalowarabic",0,"afii57456","kasraarabic",0,"afii57457","shaddaarabic",
+"shaddafathatanarabic",0,"afii57458","sukunarabic",0,"afii57392","zeroarabic",
+"zerohackarabic",0,"afii57393","onearabic","onehackarabic",0,"afii57394",
+"twoarabic","twohackarabic",0,"afii57395","threearabic","threehackarabic",0,
+"afii57396","fourarabic","fourhackarabic",0,"afii57397","fivearabic",
+"fivehackarabic",0,"afii57398","sixarabic","sixhackarabic",0,"afii57399",
+"sevenarabic","sevenhackarabic",0,"afii57400","eightarabic","eighthackarabic",
+0,"afii57401","ninearabic","ninehackarabic",0,"afii57381","percentarabic",0,
+"decimalseparatorarabic","decimalseparatorpersian",0,
+"thousandsseparatorarabic","thousandsseparatorpersian",0,"afii63167",
+"asteriskaltonearabic","asteriskarabic",0,"afii57511","tteharabic",0,
+"afii57506","peharabic",0,"afii57507","tcheharabic",0,"afii57512",
+"ddalarabic",0,"afii57513","rreharabic",0,"afii57508","jeharabic",0,
+"afii57505","veharabic",0,"afii57509","gafarabic",0,"afii57514",
+"noonghunnaarabic",0,"haaltonearabic","hehaltonearabic",0,"afii57519",
+"yehbarreearabic",0,"afii61664","zerowidthnonjoiner",0,"afii00208",
+"horizontalbar",0,"dbllowline","underscoredbl",0,"quoteleftreversed",
+"quotereversed",0,"twodotenleader","twodotleader",0,"colonmonetary",
+"colonsign",0,"afii08941","lira",0,"afii57636","newsheqelsign","sheqel",
+"sheqelhebrew",0,"Euro","euro",0,"afii61248","careof",0,"afii61289","lsquare",
+0,"afii61352","numero",0,"Ohm","Omega",0,"arrowupdnbse","arrowupdownbase",0,
+"arrowdblleft","arrowleftdbl",0,"arrowdblright","dblarrowright",0,
+"arrowdblboth","dblarrowleft",0,"forall","universal",0,"existential",
+"thereexists",0,"Delta","increment",0,"gradient","nabla",0,"notelement",
+"notelementof",0,"orthogonal","rightangle",0,"similar","tildeoperator",0,
+"approximatelyequal","congruent",0,"propersubset","subset",0,"propersuperset",
+"superset",0,"reflexsubset","subsetorequal",0,"reflexsuperset",
+"supersetorequal",0,"circleplus","pluscircle",0,"circlemultiply",
+"timescircle",0,"logicalnotreversed","revlogicalnot",0,"integraltop",
+"integraltp",0,"integralbottom","integralbt",0,"ltshade","shadelight",0,
+"shade","shademedium",0,"dkshade","shadedark",0,"blacksquare","filledbox",0,
+"H22073","whitesquare",0,"H18543","blacksmallsquare",0,"H18551",
+"whitesmallsquare",0,"blackrectangle","filledrect",0,
+"blackuppointingtriangle","triagup",0,"blackrightpointingpointer","triagrt",0,
+"blackdownpointingtriangle","triagdn",0,"blackleftpointingpointer","triaglf",
+0,"circle","whitecircle",0,"H18533","blackcircle",0,"bulletinverse",
+"invbullet",0,"invcircle","whitecircleinverse",0,"openbullet","whitebullet",0,
+"smileface","whitesmilingface",0,"blacksmilingface","invsmileface",0,
+"compass","sun",0,"female","venus",0,"male","mars",0,"spade","spadesuitblack",
+0,"club","clubsuitblack",0,"heart","heartsuitblack",0,"eighthnotebeamed",
+"musicalnotedbl",0,"afii57705","doubleyodpatah","doubleyodpatahhebrew",
+"yodyodpatahhebrew",0,"afii57694","shinshindot","shinshindothebrew",0,
+"afii57695","shinsindot","shinsindothebrew",0,"shindageshshindot",
+"shindageshshindothebrew",0,"shindageshsindot","shindageshsindothebrew",0,
+"betdagesh","betdageshhebrew",0,"gimeldagesh","gimeldageshhebrew",0,
+"daletdagesh","daletdageshhebrew",0,"hedagesh","hedageshhebrew",0,"afii57723",
+"vavdagesh","vavdagesh65","vavdageshhebrew",0,"zayindagesh",
+"zayindageshhebrew",0,"tetdagesh","tetdageshhebrew",0,"yoddagesh",
+"yoddageshhebrew",0,"finalkafdagesh","finalkafdageshhebrew",0,"kafdagesh",
+"kafdageshhebrew",0,"lameddagesh","lameddageshhebrew",0,"memdagesh",
+"memdageshhebrew",0,"nundagesh","nundageshhebrew",0,"samekhdagesh",
+"samekhdageshhebrew",0,"pedagesh","pedageshhebrew",0,"tsadidagesh",
+"tsadidageshhebrew",0,"qofdagesh","qofdageshhebrew",0,"shindagesh",
+"shindageshhebrew",0,"tavdages","tavdagesh","tavdageshhebrew",0,"afii57700",
+"vavholam","vavholamhebrew",0,"tchehinitialarabic","tchehmeeminitialarabic",0,
+"laminitialarabic","lammeemjeeminitialarabic","lammeemkhahinitialarabic",0,
+"noonhehinitialarabic","nooninitialarabic",0,"hehfinalalttwoarabic",
+"hehfinalarabic",0,"alefmaksurainitialarabic","yehinitialarabic",0,
+"alefmaksuramedialarabic","yehmedialarabic",0,
+};
diff --git a/pdf/mupdf.h b/pdf/mupdf.h
index daee0396..a3509d38 100644
--- a/pdf/mupdf.h
+++ b/pdf/mupdf.h
@@ -343,7 +343,7 @@ fz_error pdf_load_system_cmap(pdf_cmap **cmapp, char *name);
void pdf_load_encoding(char **estrings, char *encoding);
int pdf_lookup_agl(char *name);
-char **pdf_lookup_agl_names(int ucs);
+const char **pdf_lookup_agl_duplicates(int ucs);
extern const unsigned short pdf_doc_encoding[256];
extern const char * const pdf_mac_roman[256];
diff --git a/pdf/pdf_encoding.c b/pdf/pdf_encoding.c
new file mode 100644
index 00000000..9a42a1c1
--- /dev/null
+++ b/pdf/pdf_encoding.c
@@ -0,0 +1,83 @@
+#include "fitz.h"
+#include "mupdf.h"
+
+#include "data_encodings.h"
+#include "data_glyphlist.h"
+
+void
+pdf_load_encoding(char **estrings, char *encoding)
+{
+ char **bstrings = NULL;
+ int i;
+
+ if (!strcmp(encoding, "StandardEncoding"))
+ bstrings = (char**) pdf_standard;
+ if (!strcmp(encoding, "MacRomanEncoding"))
+ bstrings = (char**) pdf_mac_roman;
+ if (!strcmp(encoding, "MacExpertEncoding"))
+ bstrings = (char**) pdf_mac_expert;
+ if (!strcmp(encoding, "WinAnsiEncoding"))
+ bstrings = (char**) pdf_win_ansi;
+
+ if (bstrings)
+ for (i = 0; i < 256; i++)
+ estrings[i] = bstrings[i];
+}
+
+int
+pdf_lookup_agl(char *name)
+{
+ char buf[64];
+ char *p;
+ int l = 0;
+ int r = nelem(agl_name_list) - 1;
+
+ fz_strlcpy(buf, name, sizeof buf);
+
+ /* kill anything after first period and underscore */
+ p = strchr(buf, '.');
+ if (p) p[0] = 0;
+ p = strchr(buf, '_');
+ if (p) p[0] = 0;
+
+ while (l <= r)
+ {
+ int m = (l + r) >> 1;
+ int c = strcmp(buf, agl_name_list[m]);
+ if (c < 0)
+ r = m - 1;
+ else if (c > 0)
+ l = m + 1;
+ else
+ return agl_code_list[m];
+ }
+
+ if (strstr(buf, "uni") == buf)
+ return strtol(buf + 3, NULL, 16);
+ else if (strstr(buf, "u") == buf)
+ return strtol(buf + 1, NULL, 16);
+ else if (strstr(buf, "a") == buf && strlen(buf) >= 3)
+ return strtol(buf + 1, NULL, 10);
+
+ return 0;
+}
+
+static const char *empty_dup_list[] = { 0 };
+
+const char **
+pdf_lookup_agl_duplicates(int ucs)
+{
+ int l = 0;
+ int r = nelem(agl_dup_offsets) / 2 - 1;
+ while (l <= r)
+ {
+ int m = (l + r) >> 1;
+ if (ucs < agl_dup_offsets[m << 1])
+ r = m - 1;
+ else if (ucs > agl_dup_offsets[m << 1])
+ l = m + 1;
+ else
+ return agl_dup_names + agl_dup_offsets[(m << 1) + 1];
+ }
+ return empty_dup_list;
+}
diff --git a/pdf/pdf_font.c b/pdf/pdf_font.c
index 60d6e824..f723ff6e 100644
--- a/pdf/pdf_font.c
+++ b/pdf/pdf_font.c
@@ -419,13 +419,13 @@ load_simple_font(pdf_font_desc **fontdescp, pdf_xref *xref, fz_obj *dict)
if (etable[i] == 0)
{
int aglcode = pdf_lookup_agl(estrings[i]);
- char **aglnames = pdf_lookup_agl_names(aglcode);
- while (*aglnames)
+ const char **dupnames = pdf_lookup_agl_duplicates(aglcode);
+ while (*dupnames)
{
- etable[i] = FT_Get_Name_Index(face, *aglnames);
+ etable[i] = FT_Get_Name_Index(face, (char*)*dupnames);
if (etable[i])
break;
- aglnames++;
+ dupnames++;
}
}
}
diff --git a/pdf/pdf_fontagl.c b/pdf/pdf_fontagl.c
deleted file mode 100644
index e9a7af95..00000000
--- a/pdf/pdf_fontagl.c
+++ /dev/null
@@ -1,5119 +0,0 @@
-/*
-# Name: Adobe Glyph List
-# Table version: 2.0
-# Date: September 20, 2002
-#
-# See http://partners.adobe.com/asn/developer/typeforum/unicodegn.html
-#
-# Format: Semicolon-delimited fields:
-# (1) glyph name
-# (2) Unicode scalar value
-#--end
-*/
-
-static const struct { char *name; int ucs; }
-agl_codes[] = {
-{"A", 0x0041},
-{"AE", 0x00C6},
-{"AEacute", 0x01FC},
-{"AEmacron", 0x01E2},
-{"AEsmall", 0xF7E6},
-{"Aacute", 0x00C1},
-{"Aacutesmall", 0xF7E1},
-{"Abreve", 0x0102},
-{"Abreveacute", 0x1EAE},
-{"Abrevecyrillic", 0x04D0},
-{"Abrevedotbelow", 0x1EB6},
-{"Abrevegrave", 0x1EB0},
-{"Abrevehookabove", 0x1EB2},
-{"Abrevetilde", 0x1EB4},
-{"Acaron", 0x01CD},
-{"Acircle", 0x24B6},
-{"Acircumflex", 0x00C2},
-{"Acircumflexacute", 0x1EA4},
-{"Acircumflexdotbelow", 0x1EAC},
-{"Acircumflexgrave", 0x1EA6},
-{"Acircumflexhookabove", 0x1EA8},
-{"Acircumflexsmall", 0xF7E2},
-{"Acircumflextilde", 0x1EAA},
-{"Acute", 0xF6C9},
-{"Acutesmall", 0xF7B4},
-{"Acyrillic", 0x0410},
-{"Adblgrave", 0x0200},
-{"Adieresis", 0x00C4},
-{"Adieresiscyrillic", 0x04D2},
-{"Adieresismacron", 0x01DE},
-{"Adieresissmall", 0xF7E4},
-{"Adotbelow", 0x1EA0},
-{"Adotmacron", 0x01E0},
-{"Agrave", 0x00C0},
-{"Agravesmall", 0xF7E0},
-{"Ahookabove", 0x1EA2},
-{"Aiecyrillic", 0x04D4},
-{"Ainvertedbreve", 0x0202},
-{"Alpha", 0x0391},
-{"Alphatonos", 0x0386},
-{"Amacron", 0x0100},
-{"Amonospace", 0xFF21},
-{"Aogonek", 0x0104},
-{"Aring", 0x00C5},
-{"Aringacute", 0x01FA},
-{"Aringbelow", 0x1E00},
-{"Aringsmall", 0xF7E5},
-{"Asmall", 0xF761},
-{"Atilde", 0x00C3},
-{"Atildesmall", 0xF7E3},
-{"Aybarmenian", 0x0531},
-{"B", 0x0042},
-{"Bcircle", 0x24B7},
-{"Bdotaccent", 0x1E02},
-{"Bdotbelow", 0x1E04},
-{"Becyrillic", 0x0411},
-{"Benarmenian", 0x0532},
-{"Beta", 0x0392},
-{"Bhook", 0x0181},
-{"Blinebelow", 0x1E06},
-{"Bmonospace", 0xFF22},
-{"Brevesmall", 0xF6F4},
-{"Bsmall", 0xF762},
-{"Btopbar", 0x0182},
-{"C", 0x0043},
-{"Caarmenian", 0x053E},
-{"Cacute", 0x0106},
-{"Caron", 0xF6CA},
-{"Caronsmall", 0xF6F5},
-{"Ccaron", 0x010C},
-{"Ccedilla", 0x00C7},
-{"Ccedillaacute", 0x1E08},
-{"Ccedillasmall", 0xF7E7},
-{"Ccircle", 0x24B8},
-{"Ccircumflex", 0x0108},
-{"Cdot", 0x010A},
-{"Cdotaccent", 0x010A},
-{"Cedillasmall", 0xF7B8},
-{"Chaarmenian", 0x0549},
-{"Cheabkhasiancyrillic", 0x04BC},
-{"Checyrillic", 0x0427},
-{"Chedescenderabkhasiancyrillic", 0x04BE},
-{"Chedescendercyrillic", 0x04B6},
-{"Chedieresiscyrillic", 0x04F4},
-{"Cheharmenian", 0x0543},
-{"Chekhakassiancyrillic", 0x04CB},
-{"Cheverticalstrokecyrillic", 0x04B8},
-{"Chi", 0x03A7},
-{"Chook", 0x0187},
-{"Circumflexsmall", 0xF6F6},
-{"Cmonospace", 0xFF23},
-{"Coarmenian", 0x0551},
-{"Csmall", 0xF763},
-{"D", 0x0044},
-{"DZ", 0x01F1},
-{"DZcaron", 0x01C4},
-{"Daarmenian", 0x0534},
-{"Dafrican", 0x0189},
-{"Dcaron", 0x010E},
-{"Dcedilla", 0x1E10},
-{"Dcircle", 0x24B9},
-{"Dcircumflexbelow", 0x1E12},
-{"Dcroat", 0x0110},
-{"Ddotaccent", 0x1E0A},
-{"Ddotbelow", 0x1E0C},
-{"Decyrillic", 0x0414},
-{"Deicoptic", 0x03EE},
-{"Delta", 0x2206},
-{"Deltagreek", 0x0394},
-{"Dhook", 0x018A},
-{"Dieresis", 0xF6CB},
-{"DieresisAcute", 0xF6CC},
-{"DieresisGrave", 0xF6CD},
-{"Dieresissmall", 0xF7A8},
-{"Digammagreek", 0x03DC},
-{"Djecyrillic", 0x0402},
-{"Dlinebelow", 0x1E0E},
-{"Dmonospace", 0xFF24},
-{"Dotaccentsmall", 0xF6F7},
-{"Dslash", 0x0110},
-{"Dsmall", 0xF764},
-{"Dtopbar", 0x018B},
-{"Dz", 0x01F2},
-{"Dzcaron", 0x01C5},
-{"Dzeabkhasiancyrillic", 0x04E0},
-{"Dzecyrillic", 0x0405},
-{"Dzhecyrillic", 0x040F},
-{"E", 0x0045},
-{"Eacute", 0x00C9},
-{"Eacutesmall", 0xF7E9},
-{"Ebreve", 0x0114},
-{"Ecaron", 0x011A},
-{"Ecedillabreve", 0x1E1C},
-{"Echarmenian", 0x0535},
-{"Ecircle", 0x24BA},
-{"Ecircumflex", 0x00CA},
-{"Ecircumflexacute", 0x1EBE},
-{"Ecircumflexbelow", 0x1E18},
-{"Ecircumflexdotbelow", 0x1EC6},
-{"Ecircumflexgrave", 0x1EC0},
-{"Ecircumflexhookabove", 0x1EC2},
-{"Ecircumflexsmall", 0xF7EA},
-{"Ecircumflextilde", 0x1EC4},
-{"Ecyrillic", 0x0404},
-{"Edblgrave", 0x0204},
-{"Edieresis", 0x00CB},
-{"Edieresissmall", 0xF7EB},
-{"Edot", 0x0116},
-{"Edotaccent", 0x0116},
-{"Edotbelow", 0x1EB8},
-{"Efcyrillic", 0x0424},
-{"Egrave", 0x00C8},
-{"Egravesmall", 0xF7E8},
-{"Eharmenian", 0x0537},
-{"Ehookabove", 0x1EBA},
-{"Eightroman", 0x2167},
-{"Einvertedbreve", 0x0206},
-{"Eiotifiedcyrillic", 0x0464},
-{"Elcyrillic", 0x041B},
-{"Elevenroman", 0x216A},
-{"Emacron", 0x0112},
-{"Emacronacute", 0x1E16},
-{"Emacrongrave", 0x1E14},
-{"Emcyrillic", 0x041C},
-{"Emonospace", 0xFF25},
-{"Encyrillic", 0x041D},
-{"Endescendercyrillic", 0x04A2},
-{"Eng", 0x014A},
-{"Enghecyrillic", 0x04A4},
-{"Enhookcyrillic", 0x04C7},
-{"Eogonek", 0x0118},
-{"Eopen", 0x0190},
-{"Epsilon", 0x0395},
-{"Epsilontonos", 0x0388},
-{"Ercyrillic", 0x0420},
-{"Ereversed", 0x018E},
-{"Ereversedcyrillic", 0x042D},
-{"Escyrillic", 0x0421},
-{"Esdescendercyrillic", 0x04AA},
-{"Esh", 0x01A9},
-{"Esmall", 0xF765},
-{"Eta", 0x0397},
-{"Etarmenian", 0x0538},
-{"Etatonos", 0x0389},
-{"Eth", 0x00D0},
-{"Ethsmall", 0xF7F0},
-{"Etilde", 0x1EBC},
-{"Etildebelow", 0x1E1A},
-{"Euro", 0x20AC},
-{"Ezh", 0x01B7},
-{"Ezhcaron", 0x01EE},
-{"Ezhreversed", 0x01B8},
-{"F", 0x0046},
-{"Fcircle", 0x24BB},
-{"Fdotaccent", 0x1E1E},
-{"Feharmenian", 0x0556},
-{"Feicoptic", 0x03E4},
-{"Fhook", 0x0191},
-{"Fitacyrillic", 0x0472},
-{"Fiveroman", 0x2164},
-{"Fmonospace", 0xFF26},
-{"Fourroman", 0x2163},
-{"Fsmall", 0xF766},
-{"G", 0x0047},
-{"GBsquare", 0x3387},
-{"Gacute", 0x01F4},
-{"Gamma", 0x0393},
-{"Gammaafrican", 0x0194},
-{"Gangiacoptic", 0x03EA},
-{"Gbreve", 0x011E},
-{"Gcaron", 0x01E6},
-{"Gcedilla", 0x0122},
-{"Gcircle", 0x24BC},
-{"Gcircumflex", 0x011C},
-{"Gcommaaccent", 0x0122},
-{"Gdot", 0x0120},
-{"Gdotaccent", 0x0120},
-{"Gecyrillic", 0x0413},
-{"Ghadarmenian", 0x0542},
-{"Ghemiddlehookcyrillic", 0x0494},
-{"Ghestrokecyrillic", 0x0492},
-{"Gheupturncyrillic", 0x0490},
-{"Ghook", 0x0193},
-{"Gimarmenian", 0x0533},
-{"Gjecyrillic", 0x0403},
-{"Gmacron", 0x1E20},
-{"Gmonospace", 0xFF27},
-{"Grave", 0xF6CE},
-{"Gravesmall", 0xF760},
-{"Gsmall", 0xF767},
-{"Gsmallhook", 0x029B},
-{"Gstroke", 0x01E4},
-{"H", 0x0048},
-{"H18533", 0x25CF},
-{"H18543", 0x25AA},
-{"H18551", 0x25AB},
-{"H22073", 0x25A1},
-{"HPsquare", 0x33CB},
-{"Haabkhasiancyrillic", 0x04A8},
-{"Hadescendercyrillic", 0x04B2},
-{"Hardsigncyrillic", 0x042A},
-{"Hbar", 0x0126},
-{"Hbrevebelow", 0x1E2A},
-{"Hcedilla", 0x1E28},
-{"Hcircle", 0x24BD},
-{"Hcircumflex", 0x0124},
-{"Hdieresis", 0x1E26},
-{"Hdotaccent", 0x1E22},
-{"Hdotbelow", 0x1E24},
-{"Hmonospace", 0xFF28},
-{"Hoarmenian", 0x0540},
-{"Horicoptic", 0x03E8},
-{"Hsmall", 0xF768},
-{"Hungarumlaut", 0xF6CF},
-{"Hungarumlautsmall", 0xF6F8},
-{"Hzsquare", 0x3390},
-{"I", 0x0049},
-{"IAcyrillic", 0x042F},
-{"IJ", 0x0132},
-{"IUcyrillic", 0x042E},
-{"Iacute", 0x00CD},
-{"Iacutesmall", 0xF7ED},
-{"Ibreve", 0x012C},
-{"Icaron", 0x01CF},
-{"Icircle", 0x24BE},
-{"Icircumflex", 0x00CE},
-{"Icircumflexsmall", 0xF7EE},
-{"Icyrillic", 0x0406},
-{"Idblgrave", 0x0208},
-{"Idieresis", 0x00CF},
-{"Idieresisacute", 0x1E2E},
-{"Idieresiscyrillic", 0x04E4},
-{"Idieresissmall", 0xF7EF},
-{"Idot", 0x0130},
-{"Idotaccent", 0x0130},
-{"Idotbelow", 0x1ECA},
-{"Iebrevecyrillic", 0x04D6},
-{"Iecyrillic", 0x0415},
-{"Ifraktur", 0x2111},
-{"Igrave", 0x00CC},
-{"Igravesmall", 0xF7EC},
-{"Ihookabove", 0x1EC8},
-{"Iicyrillic", 0x0418},
-{"Iinvertedbreve", 0x020A},
-{"Iishortcyrillic", 0x0419},
-{"Imacron", 0x012A},
-{"Imacroncyrillic", 0x04E2},
-{"Imonospace", 0xFF29},
-{"Iniarmenian", 0x053B},
-{"Iocyrillic", 0x0401},
-{"Iogonek", 0x012E},
-{"Iota", 0x0399},
-{"Iotaafrican", 0x0196},
-{"Iotadieresis", 0x03AA},
-{"Iotatonos", 0x038A},
-{"Ismall", 0xF769},
-{"Istroke", 0x0197},
-{"Itilde", 0x0128},
-{"Itildebelow", 0x1E2C},
-{"Izhitsacyrillic", 0x0474},
-{"Izhitsadblgravecyrillic", 0x0476},
-{"J", 0x004A},
-{"Jaarmenian", 0x0541},
-{"Jcircle", 0x24BF},
-{"Jcircumflex", 0x0134},
-{"Jecyrillic", 0x0408},
-{"Jheharmenian", 0x054B},
-{"Jmonospace", 0xFF2A},
-{"Jsmall", 0xF76A},
-{"K", 0x004B},
-{"KBsquare", 0x3385},
-{"KKsquare", 0x33CD},
-{"Kabashkircyrillic", 0x04A0},
-{"Kacute", 0x1E30},
-{"Kacyrillic", 0x041A},
-{"Kadescendercyrillic", 0x049A},
-{"Kahookcyrillic", 0x04C3},
-{"Kappa", 0x039A},
-{"Kastrokecyrillic", 0x049E},
-{"Kaverticalstrokecyrillic", 0x049C},
-{"Kcaron", 0x01E8},
-{"Kcedilla", 0x0136},
-{"Kcircle", 0x24C0},
-{"Kcommaaccent", 0x0136},
-{"Kdotbelow", 0x1E32},
-{"Keharmenian", 0x0554},
-{"Kenarmenian", 0x053F},
-{"Khacyrillic", 0x0425},
-{"Kheicoptic", 0x03E6},
-{"Khook", 0x0198},
-{"Kjecyrillic", 0x040C},
-{"Klinebelow", 0x1E34},
-{"Kmonospace", 0xFF2B},
-{"Koppacyrillic", 0x0480},
-{"Koppagreek", 0x03DE},
-{"Ksicyrillic", 0x046E},
-{"Ksmall", 0xF76B},
-{"L", 0x004C},
-{"LJ", 0x01C7},
-{"LL", 0xF6BF},
-{"Lacute", 0x0139},
-{"Lambda", 0x039B},
-{"Lcaron", 0x013D},
-{"Lcedilla", 0x013B},
-{"Lcircle", 0x24C1},
-{"Lcircumflexbelow", 0x1E3C},
-{"Lcommaaccent", 0x013B},
-{"Ldot", 0x013F},
-{"Ldotaccent", 0x013F},
-{"Ldotbelow", 0x1E36},
-{"Ldotbelowmacron", 0x1E38},
-{"Liwnarmenian", 0x053C},
-{"Lj", 0x01C8},
-{"Ljecyrillic", 0x0409},
-{"Llinebelow", 0x1E3A},
-{"Lmonospace", 0xFF2C},
-{"Lslash", 0x0141},
-{"Lslashsmall", 0xF6F9},
-{"Lsmall", 0xF76C},
-{"M", 0x004D},
-{"MBsquare", 0x3386},
-{"Macron", 0xF6D0},
-{"Macronsmall", 0xF7AF},
-{"Macute", 0x1E3E},
-{"Mcircle", 0x24C2},
-{"Mdotaccent", 0x1E40},
-{"Mdotbelow", 0x1E42},
-{"Menarmenian", 0x0544},
-{"Mmonospace", 0xFF2D},
-{"Msmall", 0xF76D},
-{"Mturned", 0x019C},
-{"Mu", 0x039C},
-{"N", 0x004E},
-{"NJ", 0x01CA},
-{"Nacute", 0x0143},
-{"Ncaron", 0x0147},
-{"Ncedilla", 0x0145},
-{"Ncircle", 0x24C3},
-{"Ncircumflexbelow", 0x1E4A},
-{"Ncommaaccent", 0x0145},
-{"Ndotaccent", 0x1E44},
-{"Ndotbelow", 0x1E46},
-{"Nhookleft", 0x019D},
-{"Nineroman", 0x2168},
-{"Nj", 0x01CB},
-{"Njecyrillic", 0x040A},
-{"Nlinebelow", 0x1E48},
-{"Nmonospace", 0xFF2E},
-{"Nowarmenian", 0x0546},
-{"Nsmall", 0xF76E},
-{"Ntilde", 0x00D1},
-{"Ntildesmall", 0xF7F1},
-{"Nu", 0x039D},
-{"O", 0x004F},
-{"OE", 0x0152},
-{"OEsmall", 0xF6FA},
-{"Oacute", 0x00D3},
-{"Oacutesmall", 0xF7F3},
-{"Obarredcyrillic", 0x04E8},
-{"Obarreddieresiscyrillic", 0x04EA},
-{"Obreve", 0x014E},
-{"Ocaron", 0x01D1},
-{"Ocenteredtilde", 0x019F},
-{"Ocircle", 0x24C4},
-{"Ocircumflex", 0x00D4},
-{"Ocircumflexacute", 0x1ED0},
-{"Ocircumflexdotbelow", 0x1ED8},
-{"Ocircumflexgrave", 0x1ED2},
-{"Ocircumflexhookabove", 0x1ED4},
-{"Ocircumflexsmall", 0xF7F4},
-{"Ocircumflextilde", 0x1ED6},
-{"Ocyrillic", 0x041E},
-{"Odblacute", 0x0150},
-{"Odblgrave", 0x020C},
-{"Odieresis", 0x00D6},
-{"Odieresiscyrillic", 0x04E6},
-{"Odieresissmall", 0xF7F6},
-{"Odotbelow", 0x1ECC},
-{"Ogoneksmall", 0xF6FB},
-{"Ograve", 0x00D2},
-{"Ogravesmall", 0xF7F2},
-{"Oharmenian", 0x0555},
-{"Ohm", 0x2126},
-{"Ohookabove", 0x1ECE},
-{"Ohorn", 0x01A0},
-{"Ohornacute", 0x1EDA},
-{"Ohorndotbelow", 0x1EE2},
-{"Ohorngrave", 0x1EDC},
-{"Ohornhookabove", 0x1EDE},
-{"Ohorntilde", 0x1EE0},
-{"Ohungarumlaut", 0x0150},
-{"Oi", 0x01A2},
-{"Oinvertedbreve", 0x020E},
-{"Omacron", 0x014C},
-{"Omacronacute", 0x1E52},
-{"Omacrongrave", 0x1E50},
-{"Omega", 0x2126},
-{"Omegacyrillic", 0x0460},
-{"Omegagreek", 0x03A9},
-{"Omegaroundcyrillic", 0x047A},
-{"Omegatitlocyrillic", 0x047C},
-{"Omegatonos", 0x038F},
-{"Omicron", 0x039F},
-{"Omicrontonos", 0x038C},
-{"Omonospace", 0xFF2F},
-{"Oneroman", 0x2160},
-{"Oogonek", 0x01EA},
-{"Oogonekmacron", 0x01EC},
-{"Oopen", 0x0186},
-{"Oslash", 0x00D8},
-{"Oslashacute", 0x01FE},
-{"Oslashsmall", 0xF7F8},
-{"Osmall", 0xF76F},
-{"Ostrokeacute", 0x01FE},
-{"Otcyrillic", 0x047E},
-{"Otilde", 0x00D5},
-{"Otildeacute", 0x1E4C},
-{"Otildedieresis", 0x1E4E},
-{"Otildesmall", 0xF7F5},
-{"P", 0x0050},
-{"Pacute", 0x1E54},
-{"Pcircle", 0x24C5},
-{"Pdotaccent", 0x1E56},
-{"Pecyrillic", 0x041F},
-{"Peharmenian", 0x054A},
-{"Pemiddlehookcyrillic", 0x04A6},
-{"Phi", 0x03A6},
-{"Phook", 0x01A4},
-{"Pi", 0x03A0},
-{"Piwrarmenian", 0x0553},
-{"Pmonospace", 0xFF30},
-{"Psi", 0x03A8},
-{"Psicyrillic", 0x0470},
-{"Psmall", 0xF770},
-{"Q", 0x0051},
-{"Qcircle", 0x24C6},
-{"Qmonospace", 0xFF31},
-{"Qsmall", 0xF771},
-{"R", 0x0052},
-{"Raarmenian", 0x054C},
-{"Racute", 0x0154},
-{"Rcaron", 0x0158},
-{"Rcedilla", 0x0156},
-{"Rcircle", 0x24C7},
-{"Rcommaaccent", 0x0156},
-{"Rdblgrave", 0x0210},
-{"Rdotaccent", 0x1E58},
-{"Rdotbelow", 0x1E5A},
-{"Rdotbelowmacron", 0x1E5C},
-{"Reharmenian", 0x0550},
-{"Rfraktur", 0x211C},
-{"Rho", 0x03A1},
-{"Ringsmall", 0xF6FC},
-{"Rinvertedbreve", 0x0212},
-{"Rlinebelow", 0x1E5E},
-{"Rmonospace", 0xFF32},
-{"Rsmall", 0xF772},
-{"Rsmallinverted", 0x0281},
-{"Rsmallinvertedsuperior", 0x02B6},
-{"S", 0x0053},
-{"SF010000", 0x250C},
-{"SF020000", 0x2514},
-{"SF030000", 0x2510},
-{"SF040000", 0x2518},
-{"SF050000", 0x253C},
-{"SF060000", 0x252C},
-{"SF070000", 0x2534},
-{"SF080000", 0x251C},
-{"SF090000", 0x2524},
-{"SF100000", 0x2500},
-{"SF110000", 0x2502},
-{"SF190000", 0x2561},
-{"SF200000", 0x2562},
-{"SF210000", 0x2556},
-{"SF220000", 0x2555},
-{"SF230000", 0x2563},
-{"SF240000", 0x2551},
-{"SF250000", 0x2557},
-{"SF260000", 0x255D},
-{"SF270000", 0x255C},
-{"SF280000", 0x255B},
-{"SF360000", 0x255E},
-{"SF370000", 0x255F},
-{"SF380000", 0x255A},
-{"SF390000", 0x2554},
-{"SF400000", 0x2569},
-{"SF410000", 0x2566},
-{"SF420000", 0x2560},
-{"SF430000", 0x2550},
-{"SF440000", 0x256C},
-{"SF450000", 0x2567},
-{"SF460000", 0x2568},
-{"SF470000", 0x2564},
-{"SF480000", 0x2565},
-{"SF490000", 0x2559},
-{"SF500000", 0x2558},
-{"SF510000", 0x2552},
-{"SF520000", 0x2553},
-{"SF530000", 0x256B},
-{"SF540000", 0x256A},
-{"Sacute", 0x015A},
-{"Sacutedotaccent", 0x1E64},
-{"Sampigreek", 0x03E0},
-{"Scaron", 0x0160},
-{"Scarondotaccent", 0x1E66},
-{"Scaronsmall", 0xF6FD},
-{"Scedilla", 0x015E},
-{"Schwa", 0x018F},
-{"Schwacyrillic", 0x04D8},
-{"Schwadieresiscyrillic", 0x04DA},
-{"Scircle", 0x24C8},
-{"Scircumflex", 0x015C},
-{"Scommaaccent", 0x0218},
-{"Sdotaccent", 0x1E60},
-{"Sdotbelow", 0x1E62},
-{"Sdotbelowdotaccent", 0x1E68},
-{"Seharmenian", 0x054D},
-{"Sevenroman", 0x2166},
-{"Shaarmenian", 0x0547},
-{"Shacyrillic", 0x0428},
-{"Shchacyrillic", 0x0429},
-{"Sheicoptic", 0x03E2},
-{"Shhacyrillic", 0x04BA},
-{"Shimacoptic", 0x03EC},
-{"Sigma", 0x03A3},
-{"Sixroman", 0x2165},
-{"Smonospace", 0xFF33},
-{"Softsigncyrillic", 0x042C},
-{"Ssmall", 0xF773},
-{"Stigmagreek", 0x03DA},
-{"T", 0x0054},
-{"Tau", 0x03A4},
-{"Tbar", 0x0166},
-{"Tcaron", 0x0164},
-{"Tcedilla", 0x0162},
-{"Tcircle", 0x24C9},
-{"Tcircumflexbelow", 0x1E70},
-{"Tcommaaccent", 0x0162},
-{"Tdotaccent", 0x1E6A},
-{"Tdotbelow", 0x1E6C},
-{"Tecyrillic", 0x0422},
-{"Tedescendercyrillic", 0x04AC},
-{"Tenroman", 0x2169},
-{"Tetsecyrillic", 0x04B4},
-{"Theta", 0x0398},
-{"Thook", 0x01AC},
-{"Thorn", 0x00DE},
-{"Thornsmall", 0xF7FE},
-{"Threeroman", 0x2162},
-{"Tildesmall", 0xF6FE},
-{"Tiwnarmenian", 0x054F},
-{"Tlinebelow", 0x1E6E},
-{"Tmonospace", 0xFF34},
-{"Toarmenian", 0x0539},
-{"Tonefive", 0x01BC},
-{"Tonesix", 0x0184},
-{"Tonetwo", 0x01A7},
-{"Tretroflexhook", 0x01AE},
-{"Tsecyrillic", 0x0426},
-{"Tshecyrillic", 0x040B},
-{"Tsmall", 0xF774},
-{"Twelveroman", 0x216B},
-{"Tworoman", 0x2161},
-{"U", 0x0055},
-{"Uacute", 0x00DA},
-{"Uacutesmall", 0xF7FA},
-{"Ubreve", 0x016C},
-{"Ucaron", 0x01D3},
-{"Ucircle", 0x24CA},
-{"Ucircumflex", 0x00DB},
-{"Ucircumflexbelow", 0x1E76},
-{"Ucircumflexsmall", 0xF7FB},
-{"Ucyrillic", 0x0423},
-{"Udblacute", 0x0170},
-{"Udblgrave", 0x0214},
-{"Udieresis", 0x00DC},
-{"Udieresisacute", 0x01D7},
-{"Udieresisbelow", 0x1E72},
-{"Udieresiscaron", 0x01D9},
-{"Udieresiscyrillic", 0x04F0},
-{"Udieresisgrave", 0x01DB},
-{"Udieresismacron", 0x01D5},
-{"Udieresissmall", 0xF7FC},
-{"Udotbelow", 0x1EE4},
-{"Ugrave", 0x00D9},
-{"Ugravesmall", 0xF7F9},
-{"Uhookabove", 0x1EE6},
-{"Uhorn", 0x01AF},
-{"Uhornacute", 0x1EE8},
-{"Uhorndotbelow", 0x1EF0},
-{"Uhorngrave", 0x1EEA},
-{"Uhornhookabove", 0x1EEC},
-{"Uhorntilde", 0x1EEE},
-{"Uhungarumlaut", 0x0170},
-{"Uhungarumlautcyrillic", 0x04F2},
-{"Uinvertedbreve", 0x0216},
-{"Ukcyrillic", 0x0478},
-{"Umacron", 0x016A},
-{"Umacroncyrillic", 0x04EE},
-{"Umacrondieresis", 0x1E7A},
-{"Umonospace", 0xFF35},
-{"Uogonek", 0x0172},
-{"Upsilon", 0x03A5},
-{"Upsilon1", 0x03D2},
-{"Upsilonacutehooksymbolgreek", 0x03D3},
-{"Upsilonafrican", 0x01B1},
-{"Upsilondieresis", 0x03AB},
-{"Upsilondieresishooksymbolgreek", 0x03D4},
-{"Upsilonhooksymbol", 0x03D2},
-{"Upsilontonos", 0x038E},
-{"Uring", 0x016E},
-{"Ushortcyrillic", 0x040E},
-{"Usmall", 0xF775},
-{"Ustraightcyrillic", 0x04AE},
-{"Ustraightstrokecyrillic", 0x04B0},
-{"Utilde", 0x0168},
-{"Utildeacute", 0x1E78},
-{"Utildebelow", 0x1E74},
-{"V", 0x0056},
-{"Vcircle", 0x24CB},
-{"Vdotbelow", 0x1E7E},
-{"Vecyrillic", 0x0412},
-{"Vewarmenian", 0x054E},
-{"Vhook", 0x01B2},
-{"Vmonospace", 0xFF36},
-{"Voarmenian", 0x0548},
-{"Vsmall", 0xF776},
-{"Vtilde", 0x1E7C},
-{"W", 0x0057},
-{"Wacute", 0x1E82},
-{"Wcircle", 0x24CC},
-{"Wcircumflex", 0x0174},
-{"Wdieresis", 0x1E84},
-{"Wdotaccent", 0x1E86},
-{"Wdotbelow", 0x1E88},
-{"Wgrave", 0x1E80},
-{"Wmonospace", 0xFF37},
-{"Wsmall", 0xF777},
-{"X", 0x0058},
-{"Xcircle", 0x24CD},
-{"Xdieresis", 0x1E8C},
-{"Xdotaccent", 0x1E8A},
-{"Xeharmenian", 0x053D},
-{"Xi", 0x039E},
-{"Xmonospace", 0xFF38},
-{"Xsmall", 0xF778},
-{"Y", 0x0059},
-{"Yacute", 0x00DD},
-{"Yacutesmall", 0xF7FD},
-{"Yatcyrillic", 0x0462},
-{"Ycircle", 0x24CE},
-{"Ycircumflex", 0x0176},
-{"Ydieresis", 0x0178},
-{"Ydieresissmall", 0xF7FF},
-{"Ydotaccent", 0x1E8E},
-{"Ydotbelow", 0x1EF4},
-{"Yericyrillic", 0x042B},
-{"Yerudieresiscyrillic", 0x04F8},
-{"Ygrave", 0x1EF2},
-{"Yhook", 0x01B3},
-{"Yhookabove", 0x1EF6},
-{"Yiarmenian", 0x0545},
-{"Yicyrillic", 0x0407},
-{"Yiwnarmenian", 0x0552},
-{"Ymonospace", 0xFF39},
-{"Ysmall", 0xF779},
-{"Ytilde", 0x1EF8},
-{"Yusbigcyrillic", 0x046A},
-{"Yusbigiotifiedcyrillic", 0x046C},
-{"Yuslittlecyrillic", 0x0466},
-{"Yuslittleiotifiedcyrillic", 0x0468},
-{"Z", 0x005A},
-{"Zaarmenian", 0x0536},
-{"Zacute", 0x0179},
-{"Zcaron", 0x017D},
-{"Zcaronsmall", 0xF6FF},
-{"Zcircle", 0x24CF},
-{"Zcircumflex", 0x1E90},
-{"Zdot", 0x017B},
-{"Zdotaccent", 0x017B},
-{"Zdotbelow", 0x1E92},
-{"Zecyrillic", 0x0417},
-{"Zedescendercyrillic", 0x0498},
-{"Zedieresiscyrillic", 0x04DE},
-{"Zeta", 0x0396},
-{"Zhearmenian", 0x053A},
-{"Zhebrevecyrillic", 0x04C1},
-{"Zhecyrillic", 0x0416},
-{"Zhedescendercyrillic", 0x0496},
-{"Zhedieresiscyrillic", 0x04DC},
-{"Zlinebelow", 0x1E94},
-{"Zmonospace", 0xFF3A},
-{"Zsmall", 0xF77A},
-{"Zstroke", 0x01B5},
-{"a", 0x0061},
-{"aabengali", 0x0986},
-{"aacute", 0x00E1},
-{"aadeva", 0x0906},
-{"aagujarati", 0x0A86},
-{"aagurmukhi", 0x0A06},
-{"aamatragurmukhi", 0x0A3E},
-{"aarusquare", 0x3303},
-{"aavowelsignbengali", 0x09BE},
-{"aavowelsigndeva", 0x093E},
-{"aavowelsigngujarati", 0x0ABE},
-{"abbreviationmarkarmenian", 0x055F},
-{"abbreviationsigndeva", 0x0970},
-{"abengali", 0x0985},
-{"abopomofo", 0x311A},
-{"abreve", 0x0103},
-{"abreveacute", 0x1EAF},
-{"abrevecyrillic", 0x04D1},
-{"abrevedotbelow", 0x1EB7},
-{"abrevegrave", 0x1EB1},
-{"abrevehookabove", 0x1EB3},
-{"abrevetilde", 0x1EB5},
-{"acaron", 0x01CE},
-{"acircle", 0x24D0},
-{"acircumflex", 0x00E2},
-{"acircumflexacute", 0x1EA5},
-{"acircumflexdotbelow", 0x1EAD},
-{"acircumflexgrave", 0x1EA7},
-{"acircumflexhookabove", 0x1EA9},
-{"acircumflextilde", 0x1EAB},
-{"acute", 0x00B4},
-{"acutebelowcmb", 0x0317},
-{"acutecmb", 0x0301},
-{"acutecomb", 0x0301},
-{"acutedeva", 0x0954},
-{"acutelowmod", 0x02CF},
-{"acutetonecmb", 0x0341},
-{"acyrillic", 0x0430},
-{"adblgrave", 0x0201},
-{"addakgurmukhi", 0x0A71},
-{"adeva", 0x0905},
-{"adieresis", 0x00E4},
-{"adieresiscyrillic", 0x04D3},
-{"adieresismacron", 0x01DF},
-{"adotbelow", 0x1EA1},
-{"adotmacron", 0x01E1},
-{"ae", 0x00E6},
-{"aeacute", 0x01FD},
-{"aekorean", 0x3150},
-{"aemacron", 0x01E3},
-{"afii00208", 0x2015},
-{"afii08941", 0x20A4},
-{"afii10017", 0x0410},
-{"afii10018", 0x0411},
-{"afii10019", 0x0412},
-{"afii10020", 0x0413},
-{"afii10021", 0x0414},
-{"afii10022", 0x0415},
-{"afii10023", 0x0401},
-{"afii10024", 0x0416},
-{"afii10025", 0x0417},
-{"afii10026", 0x0418},
-{"afii10027", 0x0419},
-{"afii10028", 0x041A},
-{"afii10029", 0x041B},
-{"afii10030", 0x041C},
-{"afii10031", 0x041D},
-{"afii10032", 0x041E},
-{"afii10033", 0x041F},
-{"afii10034", 0x0420},
-{"afii10035", 0x0421},
-{"afii10036", 0x0422},
-{"afii10037", 0x0423},
-{"afii10038", 0x0424},
-{"afii10039", 0x0425},
-{"afii10040", 0x0426},
-{"afii10041", 0x0427},
-{"afii10042", 0x0428},
-{"afii10043", 0x0429},
-{"afii10044", 0x042A},
-{"afii10045", 0x042B},
-{"afii10046", 0x042C},
-{"afii10047", 0x042D},
-{"afii10048", 0x042E},
-{"afii10049", 0x042F},
-{"afii10050", 0x0490},
-{"afii10051", 0x0402},
-{"afii10052", 0x0403},
-{"afii10053", 0x0404},
-{"afii10054", 0x0405},
-{"afii10055", 0x0406},
-{"afii10056", 0x0407},
-{"afii10057", 0x0408},
-{"afii10058", 0x0409},
-{"afii10059", 0x040A},
-{"afii10060", 0x040B},
-{"afii10061", 0x040C},
-{"afii10062", 0x040E},
-{"afii10063", 0xF6C4},
-{"afii10064", 0xF6C5},
-{"afii10065", 0x0430},
-{"afii10066", 0x0431},
-{"afii10067", 0x0432},
-{"afii10068", 0x0433},
-{"afii10069", 0x0434},
-{"afii10070", 0x0435},
-{"afii10071", 0x0451},
-{"afii10072", 0x0436},
-{"afii10073", 0x0437},
-{"afii10074", 0x0438},
-{"afii10075", 0x0439},
-{"afii10076", 0x043A},
-{"afii10077", 0x043B},
-{"afii10078", 0x043C},
-{"afii10079", 0x043D},
-{"afii10080", 0x043E},
-{"afii10081", 0x043F},
-{"afii10082", 0x0440},
-{"afii10083", 0x0441},
-{"afii10084", 0x0442},
-{"afii10085", 0x0443},
-{"afii10086", 0x0444},
-{"afii10087", 0x0445},
-{"afii10088", 0x0446},
-{"afii10089", 0x0447},
-{"afii10090", 0x0448},
-{"afii10091", 0x0449},
-{"afii10092", 0x044A},
-{"afii10093", 0x044B},
-{"afii10094", 0x044C},
-{"afii10095", 0x044D},
-{"afii10096", 0x044E},
-{"afii10097", 0x044F},
-{"afii10098", 0x0491},
-{"afii10099", 0x0452},
-{"afii10100", 0x0453},
-{"afii10101", 0x0454},
-{"afii10102", 0x0455},
-{"afii10103", 0x0456},
-{"afii10104", 0x0457},
-{"afii10105", 0x0458},
-{"afii10106", 0x0459},
-{"afii10107", 0x045A},
-{"afii10108", 0x045B},
-{"afii10109", 0x045C},
-{"afii10110", 0x045E},
-{"afii10145", 0x040F},
-{"afii10146", 0x0462},
-{"afii10147", 0x0472},
-{"afii10148", 0x0474},
-{"afii10192", 0xF6C6},
-{"afii10193", 0x045F},
-{"afii10194", 0x0463},
-{"afii10195", 0x0473},
-{"afii10196", 0x0475},
-{"afii10831", 0xF6C7},
-{"afii10832", 0xF6C8},
-{"afii10846", 0x04D9},
-{"afii299", 0x200E},
-{"afii300", 0x200F},
-{"afii301", 0x200D},
-{"afii57381", 0x066A},
-{"afii57388", 0x060C},
-{"afii57392", 0x0660},
-{"afii57393", 0x0661},
-{"afii57394", 0x0662},
-{"afii57395", 0x0663},
-{"afii57396", 0x0664},
-{"afii57397", 0x0665},
-{"afii57398", 0x0666},
-{"afii57399", 0x0667},
-{"afii57400", 0x0668},
-{"afii57401", 0x0669},
-{"afii57403", 0x061B},
-{"afii57407", 0x061F},
-{"afii57409", 0x0621},
-{"afii57410", 0x0622},
-{"afii57411", 0x0623},
-{"afii57412", 0x0624},
-{"afii57413", 0x0625},
-{"afii57414", 0x0626},
-{"afii57415", 0x0627},
-{"afii57416", 0x0628},
-{"afii57417", 0x0629},
-{"afii57418", 0x062A},
-{"afii57419", 0x062B},
-{"afii57420", 0x062C},
-{"afii57421", 0x062D},
-{"afii57422", 0x062E},
-{"afii57423", 0x062F},
-{"afii57424", 0x0630},
-{"afii57425", 0x0631},
-{"afii57426", 0x0632},
-{"afii57427", 0x0633},
-{"afii57428", 0x0634},
-{"afii57429", 0x0635},
-{"afii57430", 0x0636},
-{"afii57431", 0x0637},
-{"afii57432", 0x0638},
-{"afii57433", 0x0639},
-{"afii57434", 0x063A},
-{"afii57440", 0x0640},
-{"afii57441", 0x0641},
-{"afii57442", 0x0642},
-{"afii57443", 0x0643},
-{"afii57444", 0x0644},
-{"afii57445", 0x0645},
-{"afii57446", 0x0646},
-{"afii57448", 0x0648},
-{"afii57449", 0x0649},
-{"afii57450", 0x064A},
-{"afii57451", 0x064B},
-{"afii57452", 0x064C},
-{"afii57453", 0x064D},
-{"afii57454", 0x064E},
-{"afii57455", 0x064F},
-{"afii57456", 0x0650},
-{"afii57457", 0x0651},
-{"afii57458", 0x0652},
-{"afii57470", 0x0647},
-{"afii57505", 0x06A4},
-{"afii57506", 0x067E},
-{"afii57507", 0x0686},
-{"afii57508", 0x0698},
-{"afii57509", 0x06AF},
-{"afii57511", 0x0679},
-{"afii57512", 0x0688},
-{"afii57513", 0x0691},
-{"afii57514", 0x06BA},
-{"afii57519", 0x06D2},
-{"afii57534", 0x06D5},
-{"afii57636", 0x20AA},
-{"afii57645", 0x05BE},
-{"afii57658", 0x05C3},
-{"afii57664", 0x05D0},
-{"afii57665", 0x05D1},
-{"afii57666", 0x05D2},
-{"afii57667", 0x05D3},
-{"afii57668", 0x05D4},
-{"afii57669", 0x05D5},
-{"afii57670", 0x05D6},
-{"afii57671", 0x05D7},
-{"afii57672", 0x05D8},
-{"afii57673", 0x05D9},
-{"afii57674", 0x05DA},
-{"afii57675", 0x05DB},
-{"afii57676", 0x05DC},
-{"afii57677", 0x05DD},
-{"afii57678", 0x05DE},
-{"afii57679", 0x05DF},
-{"afii57680", 0x05E0},
-{"afii57681", 0x05E1},
-{"afii57682", 0x05E2},
-{"afii57683", 0x05E3},
-{"afii57684", 0x05E4},
-{"afii57685", 0x05E5},
-{"afii57686", 0x05E6},
-{"afii57687", 0x05E7},
-{"afii57688", 0x05E8},
-{"afii57689", 0x05E9},
-{"afii57690", 0x05EA},
-{"afii57694", 0xFB2A},
-{"afii57695", 0xFB2B},
-{"afii57700", 0xFB4B},
-{"afii57705", 0xFB1F},
-{"afii57716", 0x05F0},
-{"afii57717", 0x05F1},
-{"afii57718", 0x05F2},
-{"afii57723", 0xFB35},
-{"afii57793", 0x05B4},
-{"afii57794", 0x05B5},
-{"afii57795", 0x05B6},
-{"afii57796", 0x05BB},
-{"afii57797", 0x05B8},
-{"afii57798", 0x05B7},
-{"afii57799", 0x05B0},
-{"afii57800", 0x05B2},
-{"afii57801", 0x05B1},
-{"afii57802", 0x05B3},
-{"afii57803", 0x05C2},
-{"afii57804", 0x05C1},
-{"afii57806", 0x05B9},
-{"afii57807", 0x05BC},
-{"afii57839", 0x05BD},
-{"afii57841", 0x05BF},
-{"afii57842", 0x05C0},
-{"afii57929", 0x02BC},
-{"afii61248", 0x2105},
-{"afii61289", 0x2113},
-{"afii61352", 0x2116},
-{"afii61573", 0x202C},
-{"afii61574", 0x202D},
-{"afii61575", 0x202E},
-{"afii61664", 0x200C},
-{"afii63167", 0x066D},
-{"afii64937", 0x02BD},
-{"agrave", 0x00E0},
-{"agujarati", 0x0A85},
-{"agurmukhi", 0x0A05},
-{"ahiragana", 0x3042},
-{"ahookabove", 0x1EA3},
-{"aibengali", 0x0990},
-{"aibopomofo", 0x311E},
-{"aideva", 0x0910},
-{"aiecyrillic", 0x04D5},
-{"aigujarati", 0x0A90},
-{"aigurmukhi", 0x0A10},
-{"aimatragurmukhi", 0x0A48},
-{"ainarabic", 0x0639},
-{"ainfinalarabic", 0xFECA},
-{"aininitialarabic", 0xFECB},
-{"ainmedialarabic", 0xFECC},
-{"ainvertedbreve", 0x0203},
-{"aivowelsignbengali", 0x09C8},
-{"aivowelsigndeva", 0x0948},
-{"aivowelsigngujarati", 0x0AC8},
-{"akatakana", 0x30A2},
-{"akatakanahalfwidth", 0xFF71},
-{"akorean", 0x314F},
-{"alef", 0x05D0},
-{"alefarabic", 0x0627},
-{"alefdageshhebrew", 0xFB30},
-{"aleffinalarabic", 0xFE8E},
-{"alefhamzaabovearabic", 0x0623},
-{"alefhamzaabovefinalarabic", 0xFE84},
-{"alefhamzabelowarabic", 0x0625},
-{"alefhamzabelowfinalarabic", 0xFE88},
-{"alefhebrew", 0x05D0},
-{"aleflamedhebrew", 0xFB4F},
-{"alefmaddaabovearabic", 0x0622},
-{"alefmaddaabovefinalarabic", 0xFE82},
-{"alefmaksuraarabic", 0x0649},
-{"alefmaksurafinalarabic", 0xFEF0},
-{"alefmaksurainitialarabic", 0xFEF3},
-{"alefmaksuramedialarabic", 0xFEF4},
-{"alefpatahhebrew", 0xFB2E},
-{"alefqamatshebrew", 0xFB2F},
-{"aleph", 0x2135},
-{"allequal", 0x224C},
-{"alpha", 0x03B1},
-{"alphatonos", 0x03AC},
-{"amacron", 0x0101},
-{"amonospace", 0xFF41},
-{"ampersand", 0x0026},
-{"ampersandmonospace", 0xFF06},
-{"ampersandsmall", 0xF726},
-{"amsquare", 0x33C2},
-{"anbopomofo", 0x3122},
-{"angbopomofo", 0x3124},
-{"angkhankhuthai", 0x0E5A},
-{"angle", 0x2220},
-{"anglebracketleft", 0x3008},
-{"anglebracketleftvertical", 0xFE3F},
-{"anglebracketright", 0x3009},
-{"anglebracketrightvertical", 0xFE40},
-{"angleleft", 0x2329},
-{"angleright", 0x232A},
-{"angstrom", 0x212B},
-{"anoteleia", 0x0387},
-{"anudattadeva", 0x0952},
-{"anusvarabengali", 0x0982},
-{"anusvaradeva", 0x0902},
-{"anusvaragujarati", 0x0A82},
-{"aogonek", 0x0105},
-{"apaatosquare", 0x3300},
-{"aparen", 0x249C},
-{"apostrophearmenian", 0x055A},
-{"apostrophemod", 0x02BC},
-{"apple", 0xF8FF},
-{"approaches", 0x2250},
-{"approxequal", 0x2248},
-{"approxequalorimage", 0x2252},
-{"approximatelyequal", 0x2245},
-{"araeaekorean", 0x318E},
-{"araeakorean", 0x318D},
-{"arc", 0x2312},
-{"arighthalfring", 0x1E9A},
-{"aring", 0x00E5},
-{"aringacute", 0x01FB},
-{"aringbelow", 0x1E01},
-{"arrowboth", 0x2194},
-{"arrowdashdown", 0x21E3},
-{"arrowdashleft", 0x21E0},
-{"arrowdashright", 0x21E2},
-{"arrowdashup", 0x21E1},
-{"arrowdblboth", 0x21D4},
-{"arrowdbldown", 0x21D3},
-{"arrowdblleft", 0x21D0},
-{"arrowdblright", 0x21D2},
-{"arrowdblup", 0x21D1},
-{"arrowdown", 0x2193},
-{"arrowdownleft", 0x2199},
-{"arrowdownright", 0x2198},
-{"arrowdownwhite", 0x21E9},
-{"arrowheaddownmod", 0x02C5},
-{"arrowheadleftmod", 0x02C2},
-{"arrowheadrightmod", 0x02C3},
-{"arrowheadupmod", 0x02C4},
-{"arrowhorizex", 0xF8E7},
-{"arrowleft", 0x2190},
-{"arrowleftdbl", 0x21D0},
-{"arrowleftdblstroke", 0x21CD},
-{"arrowleftoverright", 0x21C6},
-{"arrowleftwhite", 0x21E6},
-{"arrowright", 0x2192},
-{"arrowrightdblstroke", 0x21CF},
-{"arrowrightheavy", 0x279E},
-{"arrowrightoverleft", 0x21C4},
-{"arrowrightwhite", 0x21E8},
-{"arrowtableft", 0x21E4},
-{"arrowtabright", 0x21E5},
-{"arrowup", 0x2191},
-{"arrowupdn", 0x2195},
-{"arrowupdnbse", 0x21A8},
-{"arrowupdownbase", 0x21A8},
-{"arrowupleft", 0x2196},
-{"arrowupleftofdown", 0x21C5},
-{"arrowupright", 0x2197},
-{"arrowupwhite", 0x21E7},
-{"arrowvertex", 0xF8E6},
-{"asciicircum", 0x005E},
-{"asciicircummonospace", 0xFF3E},
-{"asciitilde", 0x007E},
-{"asciitildemonospace", 0xFF5E},
-{"ascript", 0x0251},
-{"ascriptturned", 0x0252},
-{"asmallhiragana", 0x3041},
-{"asmallkatakana", 0x30A1},
-{"asmallkatakanahalfwidth", 0xFF67},
-{"asterisk", 0x002A},
-{"asteriskaltonearabic", 0x066D},
-{"asteriskarabic", 0x066D},
-{"asteriskmath", 0x2217},
-{"asteriskmonospace", 0xFF0A},
-{"asterisksmall", 0xFE61},
-{"asterism", 0x2042},
-{"asuperior", 0xF6E9},
-{"asymptoticallyequal", 0x2243},
-{"at", 0x0040},
-{"atilde", 0x00E3},
-{"atmonospace", 0xFF20},
-{"atsmall", 0xFE6B},
-{"aturned", 0x0250},
-{"aubengali", 0x0994},
-{"aubopomofo", 0x3120},
-{"audeva", 0x0914},
-{"augujarati", 0x0A94},
-{"augurmukhi", 0x0A14},
-{"aulengthmarkbengali", 0x09D7},
-{"aumatragurmukhi", 0x0A4C},
-{"auvowelsignbengali", 0x09CC},
-{"auvowelsigndeva", 0x094C},
-{"auvowelsigngujarati", 0x0ACC},
-{"avagrahadeva", 0x093D},
-{"aybarmenian", 0x0561},
-{"ayin", 0x05E2},
-{"ayinaltonehebrew", 0xFB20},
-{"ayinhebrew", 0x05E2},
-{"b", 0x0062},
-{"babengali", 0x09AC},
-{"backslash", 0x005C},
-{"backslashmonospace", 0xFF3C},
-{"badeva", 0x092C},
-{"bagujarati", 0x0AAC},
-{"bagurmukhi", 0x0A2C},
-{"bahiragana", 0x3070},
-{"bahtthai", 0x0E3F},
-{"bakatakana", 0x30D0},
-{"bar", 0x007C},
-{"barmonospace", 0xFF5C},
-{"bbopomofo", 0x3105},
-{"bcircle", 0x24D1},
-{"bdotaccent", 0x1E03},
-{"bdotbelow", 0x1E05},
-{"beamedsixteenthnotes", 0x266C},
-{"because", 0x2235},
-{"becyrillic", 0x0431},
-{"beharabic", 0x0628},
-{"behfinalarabic", 0xFE90},
-{"behinitialarabic", 0xFE91},
-{"behiragana", 0x3079},
-{"behmedialarabic", 0xFE92},
-{"behmeeminitialarabic", 0xFC9F},
-{"behmeemisolatedarabic", 0xFC08},
-{"behnoonfinalarabic", 0xFC6D},
-{"bekatakana", 0x30D9},
-{"benarmenian", 0x0562},
-{"bet", 0x05D1},
-{"beta", 0x03B2},
-{"betasymbolgreek", 0x03D0},
-{"betdagesh", 0xFB31},
-{"betdageshhebrew", 0xFB31},
-{"bethebrew", 0x05D1},
-{"betrafehebrew", 0xFB4C},
-{"bhabengali", 0x09AD},
-{"bhadeva", 0x092D},
-{"bhagujarati", 0x0AAD},
-{"bhagurmukhi", 0x0A2D},
-{"bhook", 0x0253},
-{"bihiragana", 0x3073},
-{"bikatakana", 0x30D3},
-{"bilabialclick", 0x0298},
-{"bindigurmukhi", 0x0A02},
-{"birusquare", 0x3331},
-{"blackcircle", 0x25CF},
-{"blackdiamond", 0x25C6},
-{"blackdownpointingtriangle", 0x25BC},
-{"blackleftpointingpointer", 0x25C4},
-{"blackleftpointingtriangle", 0x25C0},
-{"blacklenticularbracketleft", 0x3010},
-{"blacklenticularbracketleftvertical", 0xFE3B},
-{"blacklenticularbracketright", 0x3011},
-{"blacklenticularbracketrightvertical", 0xFE3C},
-{"blacklowerlefttriangle", 0x25E3},
-{"blacklowerrighttriangle", 0x25E2},
-{"blackrectangle", 0x25AC},
-{"blackrightpointingpointer", 0x25BA},
-{"blackrightpointingtriangle", 0x25B6},
-{"blacksmallsquare", 0x25AA},
-{"blacksmilingface", 0x263B},
-{"blacksquare", 0x25A0},
-{"blackstar", 0x2605},
-{"blackupperlefttriangle", 0x25E4},
-{"blackupperrighttriangle", 0x25E5},
-{"blackuppointingsmalltriangle", 0x25B4},
-{"blackuppointingtriangle", 0x25B2},
-{"blank", 0x2423},
-{"blinebelow", 0x1E07},
-{"block", 0x2588},
-{"bmonospace", 0xFF42},
-{"bobaimaithai", 0x0E1A},
-{"bohiragana", 0x307C},
-{"bokatakana", 0x30DC},
-{"bparen", 0x249D},
-{"bqsquare", 0x33C3},
-{"braceex", 0xF8F4},
-{"braceleft", 0x007B},
-{"braceleftbt", 0xF8F3},
-{"braceleftmid", 0xF8F2},
-{"braceleftmonospace", 0xFF5B},
-{"braceleftsmall", 0xFE5B},
-{"bracelefttp", 0xF8F1},
-{"braceleftvertical", 0xFE37},
-{"braceright", 0x007D},
-{"bracerightbt", 0xF8FE},
-{"bracerightmid", 0xF8FD},
-{"bracerightmonospace", 0xFF5D},
-{"bracerightsmall", 0xFE5C},
-{"bracerighttp", 0xF8FC},
-{"bracerightvertical", 0xFE38},
-{"bracketleft", 0x005B},
-{"bracketleftbt", 0xF8F0},
-{"bracketleftex", 0xF8EF},
-{"bracketleftmonospace", 0xFF3B},
-{"bracketlefttp", 0xF8EE},
-{"bracketright", 0x005D},
-{"bracketrightbt", 0xF8FB},
-{"bracketrightex", 0xF8FA},
-{"bracketrightmonospace", 0xFF3D},
-{"bracketrighttp", 0xF8F9},
-{"breve", 0x02D8},
-{"brevebelowcmb", 0x032E},
-{"brevecmb", 0x0306},
-{"breveinvertedbelowcmb", 0x032F},
-{"breveinvertedcmb", 0x0311},
-{"breveinverteddoublecmb", 0x0361},
-{"bridgebelowcmb", 0x032A},
-{"bridgeinvertedbelowcmb", 0x033A},
-{"brokenbar", 0x00A6},
-{"bstroke", 0x0180},
-{"bsuperior", 0xF6EA},
-{"btopbar", 0x0183},
-{"buhiragana", 0x3076},
-{"bukatakana", 0x30D6},
-{"bullet", 0x2022},
-{"bulletinverse", 0x25D8},
-{"bulletoperator", 0x2219},
-{"bullseye", 0x25CE},
-{"c", 0x0063},
-{"caarmenian", 0x056E},
-{"cabengali", 0x099A},
-{"cacute", 0x0107},
-{"cadeva", 0x091A},
-{"cagujarati", 0x0A9A},
-{"cagurmukhi", 0x0A1A},
-{"calsquare", 0x3388},
-{"candrabindubengali", 0x0981},
-{"candrabinducmb", 0x0310},
-{"candrabindudeva", 0x0901},
-{"candrabindugujarati", 0x0A81},
-{"capslock", 0x21EA},
-{"careof", 0x2105},
-{"caron", 0x02C7},
-{"caronbelowcmb", 0x032C},
-{"caroncmb", 0x030C},
-{"carriagereturn", 0x21B5},
-{"cbopomofo", 0x3118},
-{"ccaron", 0x010D},
-{"ccedilla", 0x00E7},
-{"ccedillaacute", 0x1E09},
-{"ccircle", 0x24D2},
-{"ccircumflex", 0x0109},
-{"ccurl", 0x0255},
-{"cdot", 0x010B},
-{"cdotaccent", 0x010B},
-{"cdsquare", 0x33C5},
-{"cedilla", 0x00B8},
-{"cedillacmb", 0x0327},
-{"cent", 0x00A2},
-{"centigrade", 0x2103},
-{"centinferior", 0xF6DF},
-{"centmonospace", 0xFFE0},
-{"centoldstyle", 0xF7A2},
-{"centsuperior", 0xF6E0},
-{"chaarmenian", 0x0579},
-{"chabengali", 0x099B},
-{"chadeva", 0x091B},
-{"chagujarati", 0x0A9B},
-{"chagurmukhi", 0x0A1B},
-{"chbopomofo", 0x3114},
-{"cheabkhasiancyrillic", 0x04BD},
-{"checkmark", 0x2713},
-{"checyrillic", 0x0447},
-{"chedescenderabkhasiancyrillic", 0x04BF},
-{"chedescendercyrillic", 0x04B7},
-{"chedieresiscyrillic", 0x04F5},
-{"cheharmenian", 0x0573},
-{"chekhakassiancyrillic", 0x04CC},
-{"cheverticalstrokecyrillic", 0x04B9},
-{"chi", 0x03C7},
-{"chieuchacirclekorean", 0x3277},
-{"chieuchaparenkorean", 0x3217},
-{"chieuchcirclekorean", 0x3269},
-{"chieuchkorean", 0x314A},
-{"chieuchparenkorean", 0x3209},
-{"chochangthai", 0x0E0A},
-{"chochanthai", 0x0E08},
-{"chochingthai", 0x0E09},
-{"chochoethai", 0x0E0C},
-{"chook", 0x0188},
-{"cieucacirclekorean", 0x3276},
-{"cieucaparenkorean", 0x3216},
-{"cieuccirclekorean", 0x3268},
-{"cieuckorean", 0x3148},
-{"cieucparenkorean", 0x3208},
-{"cieucuparenkorean", 0x321C},
-{"circle", 0x25CB},
-{"circlemultiply", 0x2297},
-{"circleot", 0x2299},
-{"circleplus", 0x2295},
-{"circlepostalmark", 0x3036},
-{"circlewithlefthalfblack", 0x25D0},
-{"circlewithrighthalfblack", 0x25D1},
-{"circumflex", 0x02C6},
-{"circumflexbelowcmb", 0x032D},
-{"circumflexcmb", 0x0302},
-{"clear", 0x2327},
-{"clickalveolar", 0x01C2},
-{"clickdental", 0x01C0},
-{"clicklateral", 0x01C1},
-{"clickretroflex", 0x01C3},
-{"club", 0x2663},
-{"clubsuitblack", 0x2663},
-{"clubsuitwhite", 0x2667},
-{"cmcubedsquare", 0x33A4},
-{"cmonospace", 0xFF43},
-{"cmsquaredsquare", 0x33A0},
-{"coarmenian", 0x0581},
-{"colon", 0x003A},
-{"colonmonetary", 0x20A1},
-{"colonmonospace", 0xFF1A},
-{"colonsign", 0x20A1},
-{"colonsmall", 0xFE55},
-{"colontriangularhalfmod", 0x02D1},
-{"colontriangularmod", 0x02D0},
-{"comma", 0x002C},
-{"commaabovecmb", 0x0313},
-{"commaaboverightcmb", 0x0315},
-{"commaaccent", 0xF6C3},
-{"commaarabic", 0x060C},
-{"commaarmenian", 0x055D},
-{"commainferior", 0xF6E1},
-{"commamonospace", 0xFF0C},
-{"commareversedabovecmb", 0x0314},
-{"commareversedmod", 0x02BD},
-{"commasmall", 0xFE50},
-{"commasuperior", 0xF6E2},
-{"commaturnedabovecmb", 0x0312},
-{"commaturnedmod", 0x02BB},
-{"compass", 0x263C},
-{"congruent", 0x2245},
-{"contourintegral", 0x222E},
-{"control", 0x2303},
-{"controlACK", 0x0006},
-{"controlBEL", 0x0007},
-{"controlBS", 0x0008},
-{"controlCAN", 0x0018},
-{"controlCR", 0x000D},
-{"controlDC1", 0x0011},
-{"controlDC2", 0x0012},
-{"controlDC3", 0x0013},
-{"controlDC4", 0x0014},
-{"controlDEL", 0x007F},
-{"controlDLE", 0x0010},
-{"controlEM", 0x0019},
-{"controlENQ", 0x0005},
-{"controlEOT", 0x0004},
-{"controlESC", 0x001B},
-{"controlETB", 0x0017},
-{"controlETX", 0x0003},
-{"controlFF", 0x000C},
-{"controlFS", 0x001C},
-{"controlGS", 0x001D},
-{"controlHT", 0x0009},
-{"controlLF", 0x000A},
-{"controlNAK", 0x0015},
-{"controlRS", 0x001E},
-{"controlSI", 0x000F},
-{"controlSO", 0x000E},
-{"controlSOT", 0x0002},
-{"controlSTX", 0x0001},
-{"controlSUB", 0x001A},
-{"controlSYN", 0x0016},
-{"controlUS", 0x001F},
-{"controlVT", 0x000B},
-{"copyright", 0x00A9},
-{"copyrightsans", 0xF8E9},
-{"copyrightserif", 0xF6D9},
-{"cornerbracketleft", 0x300C},
-{"cornerbracketlefthalfwidth", 0xFF62},
-{"cornerbracketleftvertical", 0xFE41},
-{"cornerbracketright", 0x300D},
-{"cornerbracketrighthalfwidth", 0xFF63},
-{"cornerbracketrightvertical", 0xFE42},
-{"corporationsquare", 0x337F},
-{"cosquare", 0x33C7},
-{"coverkgsquare", 0x33C6},
-{"cparen", 0x249E},
-{"cruzeiro", 0x20A2},
-{"cstretched", 0x0297},
-{"curlyand", 0x22CF},
-{"curlyor", 0x22CE},
-{"currency", 0x00A4},
-{"cyrBreve", 0xF6D1},
-{"cyrFlex", 0xF6D2},
-{"cyrbreve", 0xF6D4},
-{"cyrflex", 0xF6D5},
-{"d", 0x0064},
-{"daarmenian", 0x0564},
-{"dabengali", 0x09A6},
-{"dadarabic", 0x0636},
-{"dadeva", 0x0926},
-{"dadfinalarabic", 0xFEBE},
-{"dadinitialarabic", 0xFEBF},
-{"dadmedialarabic", 0xFEC0},
-{"dagesh", 0x05BC},
-{"dageshhebrew", 0x05BC},
-{"dagger", 0x2020},
-{"daggerdbl", 0x2021},
-{"dagujarati", 0x0AA6},
-{"dagurmukhi", 0x0A26},
-{"dahiragana", 0x3060},
-{"dakatakana", 0x30C0},
-{"dalarabic", 0x062F},
-{"dalet", 0x05D3},
-{"daletdagesh", 0xFB33},
-{"daletdageshhebrew", 0xFB33},
-{"dalethatafpatah", 0x05D3},
-{"dalethatafpatahhebrew", 0x05D3},
-{"dalethatafsegol", 0x05D3},
-{"dalethatafsegolhebrew", 0x05D3},
-{"dalethebrew", 0x05D3},
-{"dalethiriq", 0x05D3},
-{"dalethiriqhebrew", 0x05D3},
-{"daletholam", 0x05D3},
-{"daletholamhebrew", 0x05D3},
-{"daletpatah", 0x05D3},
-{"daletpatahhebrew", 0x05D3},
-{"daletqamats", 0x05D3},
-{"daletqamatshebrew", 0x05D3},
-{"daletqubuts", 0x05D3},
-{"daletqubutshebrew", 0x05D3},
-{"daletsegol", 0x05D3},
-{"daletsegolhebrew", 0x05D3},
-{"daletsheva", 0x05D3},
-{"daletshevahebrew", 0x05D3},
-{"dalettsere", 0x05D3},
-{"dalettserehebrew", 0x05D3},
-{"dalfinalarabic", 0xFEAA},
-{"dammaarabic", 0x064F},
-{"dammalowarabic", 0x064F},
-{"dammatanaltonearabic", 0x064C},
-{"dammatanarabic", 0x064C},
-{"danda", 0x0964},
-{"dargahebrew", 0x05A7},
-{"dargalefthebrew", 0x05A7},
-{"dasiapneumatacyrilliccmb", 0x0485},
-{"dblGrave", 0xF6D3},
-{"dblanglebracketleft", 0x300A},
-{"dblanglebracketleftvertical", 0xFE3D},
-{"dblanglebracketright", 0x300B},
-{"dblanglebracketrightvertical", 0xFE3E},
-{"dblarchinvertedbelowcmb", 0x032B},
-{"dblarrowleft", 0x21D4},
-{"dblarrowright", 0x21D2},
-{"dbldanda", 0x0965},
-{"dblgrave", 0xF6D6},
-{"dblgravecmb", 0x030F},
-{"dblintegral", 0x222C},
-{"dbllowline", 0x2017},
-{"dbllowlinecmb", 0x0333},
-{"dbloverlinecmb", 0x033F},
-{"dblprimemod", 0x02BA},
-{"dblverticalbar", 0x2016},
-{"dblverticallineabovecmb", 0x030E},
-{"dbopomofo", 0x3109},
-{"dbsquare", 0x33C8},
-{"dcaron", 0x010F},
-{"dcedilla", 0x1E11},
-{"dcircle", 0x24D3},
-{"dcircumflexbelow", 0x1E13},
-{"dcroat", 0x0111},
-{"ddabengali", 0x09A1},
-{"ddadeva", 0x0921},
-{"ddagujarati", 0x0AA1},
-{"ddagurmukhi", 0x0A21},
-{"ddalarabic", 0x0688},
-{"ddalfinalarabic", 0xFB89},
-{"dddhadeva", 0x095C},
-{"ddhabengali", 0x09A2},
-{"ddhadeva", 0x0922},
-{"ddhagujarati", 0x0AA2},
-{"ddhagurmukhi", 0x0A22},
-{"ddotaccent", 0x1E0B},
-{"ddotbelow", 0x1E0D},
-{"decimalseparatorarabic", 0x066B},
-{"decimalseparatorpersian", 0x066B},
-{"decyrillic", 0x0434},
-{"degree", 0x00B0},
-{"dehihebrew", 0x05AD},
-{"dehiragana", 0x3067},
-{"deicoptic", 0x03EF},
-{"dekatakana", 0x30C7},
-{"deleteleft", 0x232B},
-{"deleteright", 0x2326},
-{"delta", 0x03B4},
-{"deltaturned", 0x018D},
-{"denominatorminusonenumeratorbengali", 0x09F8},
-{"dezh", 0x02A4},
-{"dhabengali", 0x09A7},
-{"dhadeva", 0x0927},
-{"dhagujarati", 0x0AA7},
-{"dhagurmukhi", 0x0A27},
-{"dhook", 0x0257},
-{"dialytikatonos", 0x0385},
-{"dialytikatonoscmb", 0x0344},
-{"diamond", 0x2666},
-{"diamondsuitwhite", 0x2662},
-{"dieresis", 0x00A8},
-{"dieresisacute", 0xF6D7},
-{"dieresisbelowcmb", 0x0324},
-{"dieresiscmb", 0x0308},
-{"dieresisgrave", 0xF6D8},
-{"dieresistonos", 0x0385},
-{"dihiragana", 0x3062},
-{"dikatakana", 0x30C2},
-{"dittomark", 0x3003},
-{"divide", 0x00F7},
-{"divides", 0x2223},
-{"divisionslash", 0x2215},
-{"djecyrillic", 0x0452},
-{"dkshade", 0x2593},
-{"dlinebelow", 0x1E0F},
-{"dlsquare", 0x3397},
-{"dmacron", 0x0111},
-{"dmonospace", 0xFF44},
-{"dnblock", 0x2584},
-{"dochadathai", 0x0E0E},
-{"dodekthai", 0x0E14},
-{"dohiragana", 0x3069},
-{"dokatakana", 0x30C9},
-{"dollar", 0x0024},
-{"dollarinferior", 0xF6E3},
-{"dollarmonospace", 0xFF04},
-{"dollaroldstyle", 0xF724},
-{"dollarsmall", 0xFE69},
-{"dollarsuperior", 0xF6E4},
-{"dong", 0x20AB},
-{"dorusquare", 0x3326},
-{"dotaccent", 0x02D9},
-{"dotaccentcmb", 0x0307},
-{"dotbelowcmb", 0x0323},
-{"dotbelowcomb", 0x0323},
-{"dotkatakana", 0x30FB},
-{"dotlessi", 0x0131},
-{"dotlessj", 0xF6BE},
-{"dotlessjstrokehook", 0x0284},
-{"dotmath", 0x22C5},
-{"dottedcircle", 0x25CC},
-{"doubleyodpatah", 0xFB1F},
-{"doubleyodpatahhebrew", 0xFB1F},
-{"downtackbelowcmb", 0x031E},
-{"downtackmod", 0x02D5},
-{"dparen", 0x249F},
-{"dsuperior", 0xF6EB},
-{"dtail", 0x0256},
-{"dtopbar", 0x018C},
-{"duhiragana", 0x3065},
-{"dukatakana", 0x30C5},
-{"dz", 0x01F3},
-{"dzaltone", 0x02A3},
-{"dzcaron", 0x01C6},
-{"dzcurl", 0x02A5},
-{"dzeabkhasiancyrillic", 0x04E1},
-{"dzecyrillic", 0x0455},
-{"dzhecyrillic", 0x045F},
-{"e", 0x0065},
-{"eacute", 0x00E9},
-{"earth", 0x2641},
-{"ebengali", 0x098F},
-{"ebopomofo", 0x311C},
-{"ebreve", 0x0115},
-{"ecandradeva", 0x090D},
-{"ecandragujarati", 0x0A8D},
-{"ecandravowelsigndeva", 0x0945},
-{"ecandravowelsigngujarati", 0x0AC5},
-{"ecaron", 0x011B},
-{"ecedillabreve", 0x1E1D},
-{"echarmenian", 0x0565},
-{"echyiwnarmenian", 0x0587},
-{"ecircle", 0x24D4},
-{"ecircumflex", 0x00EA},
-{"ecircumflexacute", 0x1EBF},
-{"ecircumflexbelow", 0x1E19},
-{"ecircumflexdotbelow", 0x1EC7},
-{"ecircumflexgrave", 0x1EC1},
-{"ecircumflexhookabove", 0x1EC3},
-{"ecircumflextilde", 0x1EC5},
-{"ecyrillic", 0x0454},
-{"edblgrave", 0x0205},
-{"edeva", 0x090F},
-{"edieresis", 0x00EB},
-{"edot", 0x0117},
-{"edotaccent", 0x0117},
-{"edotbelow", 0x1EB9},
-{"eegurmukhi", 0x0A0F},
-{"eematragurmukhi", 0x0A47},
-{"efcyrillic", 0x0444},
-{"egrave", 0x00E8},
-{"egujarati", 0x0A8F},
-{"eharmenian", 0x0567},
-{"ehbopomofo", 0x311D},
-{"ehiragana", 0x3048},
-{"ehookabove", 0x1EBB},
-{"eibopomofo", 0x311F},
-{"eight", 0x0038},
-{"eightarabic", 0x0668},
-{"eightbengali", 0x09EE},
-{"eightcircle", 0x2467},
-{"eightcircleinversesansserif", 0x2791},
-{"eightdeva", 0x096E},
-{"eighteencircle", 0x2471},
-{"eighteenparen", 0x2485},
-{"eighteenperiod", 0x2499},
-{"eightgujarati", 0x0AEE},
-{"eightgurmukhi", 0x0A6E},
-{"eighthackarabic", 0x0668},
-{"eighthangzhou", 0x3028},
-{"eighthnotebeamed", 0x266B},
-{"eightideographicparen", 0x3227},
-{"eightinferior", 0x2088},
-{"eightmonospace", 0xFF18},
-{"eightoldstyle", 0xF738},
-{"eightparen", 0x247B},
-{"eightperiod", 0x248F},
-{"eightpersian", 0x06F8},
-{"eightroman", 0x2177},
-{"eightsuperior", 0x2078},
-{"eightthai", 0x0E58},
-{"einvertedbreve", 0x0207},
-{"eiotifiedcyrillic", 0x0465},
-{"ekatakana", 0x30A8},
-{"ekatakanahalfwidth", 0xFF74},
-{"ekonkargurmukhi", 0x0A74},
-{"ekorean", 0x3154},
-{"elcyrillic", 0x043B},
-{"element", 0x2208},
-{"elevencircle", 0x246A},
-{"elevenparen", 0x247E},
-{"elevenperiod", 0x2492},
-{"elevenroman", 0x217A},
-{"ellipsis", 0x2026},
-{"ellipsisvertical", 0x22EE},
-{"emacron", 0x0113},
-{"emacronacute", 0x1E17},
-{"emacrongrave", 0x1E15},
-{"emcyrillic", 0x043C},
-{"emdash", 0x2014},
-{"emdashvertical", 0xFE31},
-{"emonospace", 0xFF45},
-{"emphasismarkarmenian", 0x055B},
-{"emptyset", 0x2205},
-{"enbopomofo", 0x3123},
-{"encyrillic", 0x043D},
-{"endash", 0x2013},
-{"endashvertical", 0xFE32},
-{"endescendercyrillic", 0x04A3},
-{"eng", 0x014B},
-{"engbopomofo", 0x3125},
-{"enghecyrillic", 0x04A5},
-{"enhookcyrillic", 0x04C8},
-{"enspace", 0x2002},
-{"eogonek", 0x0119},
-{"eokorean", 0x3153},
-{"eopen", 0x025B},
-{"eopenclosed", 0x029A},
-{"eopenreversed", 0x025C},
-{"eopenreversedclosed", 0x025E},
-{"eopenreversedhook", 0x025D},
-{"eparen", 0x24A0},
-{"epsilon", 0x03B5},
-{"epsilontonos", 0x03AD},
-{"equal", 0x003D},
-{"equalmonospace", 0xFF1D},
-{"equalsmall", 0xFE66},
-{"equalsuperior", 0x207C},
-{"equivalence", 0x2261},
-{"erbopomofo", 0x3126},
-{"ercyrillic", 0x0440},
-{"ereversed", 0x0258},
-{"ereversedcyrillic", 0x044D},
-{"escyrillic", 0x0441},
-{"esdescendercyrillic", 0x04AB},
-{"esh", 0x0283},
-{"eshcurl", 0x0286},
-{"eshortdeva", 0x090E},
-{"eshortvowelsigndeva", 0x0946},
-{"eshreversedloop", 0x01AA},
-{"eshsquatreversed", 0x0285},
-{"esmallhiragana", 0x3047},
-{"esmallkatakana", 0x30A7},
-{"esmallkatakanahalfwidth", 0xFF6A},
-{"estimated", 0x212E},
-{"esuperior", 0xF6EC},
-{"eta", 0x03B7},
-{"etarmenian", 0x0568},
-{"etatonos", 0x03AE},
-{"eth", 0x00F0},
-{"etilde", 0x1EBD},
-{"etildebelow", 0x1E1B},
-{"etnahtafoukhhebrew", 0x0591},
-{"etnahtafoukhlefthebrew", 0x0591},
-{"etnahtahebrew", 0x0591},
-{"etnahtalefthebrew", 0x0591},
-{"eturned", 0x01DD},
-{"eukorean", 0x3161},
-{"euro", 0x20AC},
-{"evowelsignbengali", 0x09C7},
-{"evowelsigndeva", 0x0947},
-{"evowelsigngujarati", 0x0AC7},
-{"exclam", 0x0021},
-{"exclamarmenian", 0x055C},
-{"exclamdbl", 0x203C},
-{"exclamdown", 0x00A1},
-{"exclamdownsmall", 0xF7A1},
-{"exclammonospace", 0xFF01},
-{"exclamsmall", 0xF721},
-{"existential", 0x2203},
-{"ezh", 0x0292},
-{"ezhcaron", 0x01EF},
-{"ezhcurl", 0x0293},
-{"ezhreversed", 0x01B9},
-{"ezhtail", 0x01BA},
-{"f", 0x0066},
-{"fadeva", 0x095E},
-{"fagurmukhi", 0x0A5E},
-{"fahrenheit", 0x2109},
-{"fathaarabic", 0x064E},
-{"fathalowarabic", 0x064E},
-{"fathatanarabic", 0x064B},
-{"fbopomofo", 0x3108},
-{"fcircle", 0x24D5},
-{"fdotaccent", 0x1E1F},
-{"feharabic", 0x0641},
-{"feharmenian", 0x0586},
-{"fehfinalarabic", 0xFED2},
-{"fehinitialarabic", 0xFED3},
-{"fehmedialarabic", 0xFED4},
-{"feicoptic", 0x03E5},
-{"female", 0x2640},
-{"ff", 0xFB00},
-{"ffi", 0xFB03},
-{"ffl", 0xFB04},
-{"fi", 0xFB01},
-{"fifteencircle", 0x246E},
-{"fifteenparen", 0x2482},
-{"fifteenperiod", 0x2496},
-{"figuredash", 0x2012},
-{"filledbox", 0x25A0},
-{"filledrect", 0x25AC},
-{"finalkaf", 0x05DA},
-{"finalkafdagesh", 0xFB3A},
-{"finalkafdageshhebrew", 0xFB3A},
-{"finalkafhebrew", 0x05DA},
-{"finalkafqamats", 0x05DA},
-{"finalkafqamatshebrew", 0x05DA},
-{"finalkafsheva", 0x05DA},
-{"finalkafshevahebrew", 0x05DA},
-{"finalmem", 0x05DD},
-{"finalmemhebrew", 0x05DD},
-{"finalnun", 0x05DF},
-{"finalnunhebrew", 0x05DF},
-{"finalpe", 0x05E3},
-{"finalpehebrew", 0x05E3},
-{"finaltsadi", 0x05E5},
-{"finaltsadihebrew", 0x05E5},
-{"firsttonechinese", 0x02C9},
-{"fisheye", 0x25C9},
-{"fitacyrillic", 0x0473},
-{"five", 0x0035},
-{"fivearabic", 0x0665},
-{"fivebengali", 0x09EB},
-{"fivecircle", 0x2464},
-{"fivecircleinversesansserif", 0x278E},
-{"fivedeva", 0x096B},
-{"fiveeighths", 0x215D},
-{"fivegujarati", 0x0AEB},
-{"fivegurmukhi", 0x0A6B},
-{"fivehackarabic", 0x0665},
-{"fivehangzhou", 0x3025},
-{"fiveideographicparen", 0x3224},
-{"fiveinferior", 0x2085},
-{"fivemonospace", 0xFF15},
-{"fiveoldstyle", 0xF735},
-{"fiveparen", 0x2478},
-{"fiveperiod", 0x248C},
-{"fivepersian", 0x06F5},
-{"fiveroman", 0x2174},
-{"fivesuperior", 0x2075},
-{"fivethai", 0x0E55},
-{"fl", 0xFB02},
-{"florin", 0x0192},
-{"fmonospace", 0xFF46},
-{"fmsquare", 0x3399},
-{"fofanthai", 0x0E1F},
-{"fofathai", 0x0E1D},
-{"fongmanthai", 0x0E4F},
-{"forall", 0x2200},
-{"four", 0x0034},
-{"fourarabic", 0x0664},
-{"fourbengali", 0x09EA},
-{"fourcircle", 0x2463},
-{"fourcircleinversesansserif", 0x278D},
-{"fourdeva", 0x096A},
-{"fourgujarati", 0x0AEA},
-{"fourgurmukhi", 0x0A6A},
-{"fourhackarabic", 0x0664},
-{"fourhangzhou", 0x3024},
-{"fourideographicparen", 0x3223},
-{"fourinferior", 0x2084},
-{"fourmonospace", 0xFF14},
-{"fournumeratorbengali", 0x09F7},
-{"fouroldstyle", 0xF734},
-{"fourparen", 0x2477},
-{"fourperiod", 0x248B},
-{"fourpersian", 0x06F4},
-{"fourroman", 0x2173},
-{"foursuperior", 0x2074},
-{"fourteencircle", 0x246D},
-{"fourteenparen", 0x2481},
-{"fourteenperiod", 0x2495},
-{"fourthai", 0x0E54},
-{"fourthtonechinese", 0x02CB},
-{"fparen", 0x24A1},
-{"fraction", 0x2044},
-{"franc", 0x20A3},
-{"g", 0x0067},
-{"gabengali", 0x0997},
-{"gacute", 0x01F5},
-{"gadeva", 0x0917},
-{"gafarabic", 0x06AF},
-{"gaffinalarabic", 0xFB93},
-{"gafinitialarabic", 0xFB94},
-{"gafmedialarabic", 0xFB95},
-{"gagujarati", 0x0A97},
-{"gagurmukhi", 0x0A17},
-{"gahiragana", 0x304C},
-{"gakatakana", 0x30AC},
-{"gamma", 0x03B3},
-{"gammalatinsmall", 0x0263},
-{"gammasuperior", 0x02E0},
-{"gangiacoptic", 0x03EB},
-{"gbopomofo", 0x310D},
-{"gbreve", 0x011F},
-{"gcaron", 0x01E7},
-{"gcedilla", 0x0123},
-{"gcircle", 0x24D6},
-{"gcircumflex", 0x011D},
-{"gcommaaccent", 0x0123},
-{"gdot", 0x0121},
-{"gdotaccent", 0x0121},
-{"gecyrillic", 0x0433},
-{"gehiragana", 0x3052},
-{"gekatakana", 0x30B2},
-{"geometricallyequal", 0x2251},
-{"gereshaccenthebrew", 0x059C},
-{"gereshhebrew", 0x05F3},
-{"gereshmuqdamhebrew", 0x059D},
-{"germandbls", 0x00DF},
-{"gershayimaccenthebrew", 0x059E},
-{"gershayimhebrew", 0x05F4},
-{"getamark", 0x3013},
-{"ghabengali", 0x0998},
-{"ghadarmenian", 0x0572},
-{"ghadeva", 0x0918},
-{"ghagujarati", 0x0A98},
-{"ghagurmukhi", 0x0A18},
-{"ghainarabic", 0x063A},
-{"ghainfinalarabic", 0xFECE},
-{"ghaininitialarabic", 0xFECF},
-{"ghainmedialarabic", 0xFED0},
-{"ghemiddlehookcyrillic", 0x0495},
-{"ghestrokecyrillic", 0x0493},
-{"gheupturncyrillic", 0x0491},
-{"ghhadeva", 0x095A},
-{"ghhagurmukhi", 0x0A5A},
-{"ghook", 0x0260},
-{"ghzsquare", 0x3393},
-{"gihiragana", 0x304E},
-{"gikatakana", 0x30AE},
-{"gimarmenian", 0x0563},
-{"gimel", 0x05D2},
-{"gimeldagesh", 0xFB32},
-{"gimeldageshhebrew", 0xFB32},
-{"gimelhebrew", 0x05D2},
-{"gjecyrillic", 0x0453},
-{"glottalinvertedstroke", 0x01BE},
-{"glottalstop", 0x0294},
-{"glottalstopinverted", 0x0296},
-{"glottalstopmod", 0x02C0},
-{"glottalstopreversed", 0x0295},
-{"glottalstopreversedmod", 0x02C1},
-{"glottalstopreversedsuperior", 0x02E4},
-{"glottalstopstroke", 0x02A1},
-{"glottalstopstrokereversed", 0x02A2},
-{"gmacron", 0x1E21},
-{"gmonospace", 0xFF47},
-{"gohiragana", 0x3054},
-{"gokatakana", 0x30B4},
-{"gparen", 0x24A2},
-{"gpasquare", 0x33AC},
-{"gradient", 0x2207},
-{"grave", 0x0060},
-{"gravebelowcmb", 0x0316},
-{"gravecmb", 0x0300},
-{"gravecomb", 0x0300},
-{"gravedeva", 0x0953},
-{"gravelowmod", 0x02CE},
-{"gravemonospace", 0xFF40},
-{"gravetonecmb", 0x0340},
-{"greater", 0x003E},
-{"greaterequal", 0x2265},
-{"greaterequalorless", 0x22DB},
-{"greatermonospace", 0xFF1E},
-{"greaterorequivalent", 0x2273},
-{"greaterorless", 0x2277},
-{"greateroverequal", 0x2267},
-{"greatersmall", 0xFE65},
-{"gscript", 0x0261},
-{"gstroke", 0x01E5},
-{"guhiragana", 0x3050},
-{"guillemotleft", 0x00AB},
-{"guillemotright", 0x00BB},
-{"guilsinglleft", 0x2039},
-{"guilsinglright", 0x203A},
-{"gukatakana", 0x30B0},
-{"guramusquare", 0x3318},
-{"gysquare", 0x33C9},
-{"h", 0x0068},
-{"haabkhasiancyrillic", 0x04A9},
-{"haaltonearabic", 0x06C1},
-{"habengali", 0x09B9},
-{"hadescendercyrillic", 0x04B3},
-{"hadeva", 0x0939},
-{"hagujarati", 0x0AB9},
-{"hagurmukhi", 0x0A39},
-{"haharabic", 0x062D},
-{"hahfinalarabic", 0xFEA2},
-{"hahinitialarabic", 0xFEA3},
-{"hahiragana", 0x306F},
-{"hahmedialarabic", 0xFEA4},
-{"haitusquare", 0x332A},
-{"hakatakana", 0x30CF},
-{"hakatakanahalfwidth", 0xFF8A},
-{"halantgurmukhi", 0x0A4D},
-{"hamzaarabic", 0x0621},
-{"hamzadammaarabic", 0x0621},
-{"hamzadammatanarabic", 0x0621},
-{"hamzafathaarabic", 0x0621},
-{"hamzafathatanarabic", 0x0621},
-{"hamzalowarabic", 0x0621},
-{"hamzalowkasraarabic", 0x0621},
-{"hamzalowkasratanarabic", 0x0621},
-{"hamzasukunarabic", 0x0621},
-{"hangulfiller", 0x3164},
-{"hardsigncyrillic", 0x044A},
-{"harpoonleftbarbup", 0x21BC},
-{"harpoonrightbarbup", 0x21C0},
-{"hasquare", 0x33CA},
-{"hatafpatah", 0x05B2},
-{"hatafpatah16", 0x05B2},
-{"hatafpatah23", 0x05B2},
-{"hatafpatah2f", 0x05B2},
-{"hatafpatahhebrew", 0x05B2},
-{"hatafpatahnarrowhebrew", 0x05B2},
-{"hatafpatahquarterhebrew", 0x05B2},
-{"hatafpatahwidehebrew", 0x05B2},
-{"hatafqamats", 0x05B3},
-{"hatafqamats1b", 0x05B3},
-{"hatafqamats28", 0x05B3},
-{"hatafqamats34", 0x05B3},
-{"hatafqamatshebrew", 0x05B3},
-{"hatafqamatsnarrowhebrew", 0x05B3},
-{"hatafqamatsquarterhebrew", 0x05B3},
-{"hatafqamatswidehebrew", 0x05B3},
-{"hatafsegol", 0x05B1},
-{"hatafsegol17", 0x05B1},
-{"hatafsegol24", 0x05B1},
-{"hatafsegol30", 0x05B1},
-{"hatafsegolhebrew", 0x05B1},
-{"hatafsegolnarrowhebrew", 0x05B1},
-{"hatafsegolquarterhebrew", 0x05B1},
-{"hatafsegolwidehebrew", 0x05B1},
-{"hbar", 0x0127},
-{"hbopomofo", 0x310F},
-{"hbrevebelow", 0x1E2B},
-{"hcedilla", 0x1E29},
-{"hcircle", 0x24D7},
-{"hcircumflex", 0x0125},
-{"hdieresis", 0x1E27},
-{"hdotaccent", 0x1E23},
-{"hdotbelow", 0x1E25},
-{"he", 0x05D4},
-{"heart", 0x2665},
-{"heartsuitblack", 0x2665},
-{"heartsuitwhite", 0x2661},
-{"hedagesh", 0xFB34},
-{"hedageshhebrew", 0xFB34},
-{"hehaltonearabic", 0x06C1},
-{"heharabic", 0x0647},
-{"hehebrew", 0x05D4},
-{"hehfinalaltonearabic", 0xFBA7},
-{"hehfinalalttwoarabic", 0xFEEA},
-{"hehfinalarabic", 0xFEEA},
-{"hehhamzaabovefinalarabic", 0xFBA5},
-{"hehhamzaaboveisolatedarabic", 0xFBA4},
-{"hehinitialaltonearabic", 0xFBA8},
-{"hehinitialarabic", 0xFEEB},
-{"hehiragana", 0x3078},
-{"hehmedialaltonearabic", 0xFBA9},
-{"hehmedialarabic", 0xFEEC},
-{"heiseierasquare", 0x337B},
-{"hekatakana", 0x30D8},
-{"hekatakanahalfwidth", 0xFF8D},
-{"hekutaarusquare", 0x3336},
-{"henghook", 0x0267},
-{"herutusquare", 0x3339},
-{"het", 0x05D7},
-{"hethebrew", 0x05D7},
-{"hhook", 0x0266},
-{"hhooksuperior", 0x02B1},
-{"hieuhacirclekorean", 0x327B},
-{"hieuhaparenkorean", 0x321B},
-{"hieuhcirclekorean", 0x326D},
-{"hieuhkorean", 0x314E},
-{"hieuhparenkorean", 0x320D},
-{"hihiragana", 0x3072},
-{"hikatakana", 0x30D2},
-{"hikatakanahalfwidth", 0xFF8B},
-{"hiriq", 0x05B4},
-{"hiriq14", 0x05B4},
-{"hiriq21", 0x05B4},
-{"hiriq2d", 0x05B4},
-{"hiriqhebrew", 0x05B4},
-{"hiriqnarrowhebrew", 0x05B4},
-{"hiriqquarterhebrew", 0x05B4},
-{"hiriqwidehebrew", 0x05B4},
-{"hlinebelow", 0x1E96},
-{"hmonospace", 0xFF48},
-{"hoarmenian", 0x0570},
-{"hohipthai", 0x0E2B},
-{"hohiragana", 0x307B},
-{"hokatakana", 0x30DB},
-{"hokatakanahalfwidth", 0xFF8E},
-{"holam", 0x05B9},
-{"holam19", 0x05B9},
-{"holam26", 0x05B9},
-{"holam32", 0x05B9},
-{"holamhebrew", 0x05B9},
-{"holamnarrowhebrew", 0x05B9},
-{"holamquarterhebrew", 0x05B9},
-{"holamwidehebrew", 0x05B9},
-{"honokhukthai", 0x0E2E},
-{"hookabovecomb", 0x0309},
-{"hookcmb", 0x0309},
-{"hookpalatalizedbelowcmb", 0x0321},
-{"hookretroflexbelowcmb", 0x0322},
-{"hoonsquare", 0x3342},
-{"horicoptic", 0x03E9},
-{"horizontalbar", 0x2015},
-{"horncmb", 0x031B},
-{"hotsprings", 0x2668},
-{"house", 0x2302},
-{"hparen", 0x24A3},
-{"hsuperior", 0x02B0},
-{"hturned", 0x0265},
-{"huhiragana", 0x3075},
-{"huiitosquare", 0x3333},
-{"hukatakana", 0x30D5},
-{"hukatakanahalfwidth", 0xFF8C},
-{"hungarumlaut", 0x02DD},
-{"hungarumlautcmb", 0x030B},
-{"hv", 0x0195},
-{"hyphen", 0x002D},
-{"hypheninferior", 0xF6E5},
-{"hyphenmonospace", 0xFF0D},
-{"hyphensmall", 0xFE63},
-{"hyphensuperior", 0xF6E6},
-{"hyphentwo", 0x2010},
-{"i", 0x0069},
-{"iacute", 0x00ED},
-{"iacyrillic", 0x044F},
-{"ibengali", 0x0987},
-{"ibopomofo", 0x3127},
-{"ibreve", 0x012D},
-{"icaron", 0x01D0},
-{"icircle", 0x24D8},
-{"icircumflex", 0x00EE},
-{"icyrillic", 0x0456},
-{"idblgrave", 0x0209},
-{"ideographearthcircle", 0x328F},
-{"ideographfirecircle", 0x328B},
-{"ideographicallianceparen", 0x323F},
-{"ideographiccallparen", 0x323A},
-{"ideographiccentrecircle", 0x32A5},
-{"ideographicclose", 0x3006},
-{"ideographiccomma", 0x3001},
-{"ideographiccommaleft", 0xFF64},
-{"ideographiccongratulationparen", 0x3237},
-{"ideographiccorrectcircle", 0x32A3},
-{"ideographicearthparen", 0x322F},
-{"ideographicenterpriseparen", 0x323D},
-{"ideographicexcellentcircle", 0x329D},
-{"ideographicfestivalparen", 0x3240},
-{"ideographicfinancialcircle", 0x3296},
-{"ideographicfinancialparen", 0x3236},
-{"ideographicfireparen", 0x322B},
-{"ideographichaveparen", 0x3232},
-{"ideographichighcircle", 0x32A4},
-{"ideographiciterationmark", 0x3005},
-{"ideographiclaborcircle", 0x3298},
-{"ideographiclaborparen", 0x3238},
-{"ideographicleftcircle", 0x32A7},
-{"ideographiclowcircle", 0x32A6},
-{"ideographicmedicinecircle", 0x32A9},
-{"ideographicmetalparen", 0x322E},
-{"ideographicmoonparen", 0x322A},
-{"ideographicnameparen", 0x3234},
-{"ideographicperiod", 0x3002},
-{"ideographicprintcircle", 0x329E},
-{"ideographicreachparen", 0x3243},
-{"ideographicrepresentparen", 0x3239},
-{"ideographicresourceparen", 0x323E},
-{"ideographicrightcircle", 0x32A8},
-{"ideographicsecretcircle", 0x3299},
-{"ideographicselfparen", 0x3242},
-{"ideographicsocietyparen", 0x3233},
-{"ideographicspace", 0x3000},
-{"ideographicspecialparen", 0x3235},
-{"ideographicstockparen", 0x3231},
-{"ideographicstudyparen", 0x323B},
-{"ideographicsunparen", 0x3230},
-{"ideographicsuperviseparen", 0x323C},
-{"ideographicwaterparen", 0x322C},
-{"ideographicwoodparen", 0x322D},
-{"ideographiczero", 0x3007},
-{"ideographmetalcircle", 0x328E},
-{"ideographmooncircle", 0x328A},
-{"ideographnamecircle", 0x3294},
-{"ideographsuncircle", 0x3290},
-{"ideographwatercircle", 0x328C},
-{"ideographwoodcircle", 0x328D},
-{"ideva", 0x0907},
-{"idieresis", 0x00EF},
-{"idieresisacute", 0x1E2F},
-{"idieresiscyrillic", 0x04E5},
-{"idotbelow", 0x1ECB},
-{"iebrevecyrillic", 0x04D7},
-{"iecyrillic", 0x0435},
-{"ieungacirclekorean", 0x3275},
-{"ieungaparenkorean", 0x3215},
-{"ieungcirclekorean", 0x3267},
-{"ieungkorean", 0x3147},
-{"ieungparenkorean", 0x3207},
-{"igrave", 0x00EC},
-{"igujarati", 0x0A87},
-{"igurmukhi", 0x0A07},
-{"ihiragana", 0x3044},
-{"ihookabove", 0x1EC9},
-{"iibengali", 0x0988},
-{"iicyrillic", 0x0438},
-{"iideva", 0x0908},
-{"iigujarati", 0x0A88},
-{"iigurmukhi", 0x0A08},
-{"iimatragurmukhi", 0x0A40},
-{"iinvertedbreve", 0x020B},
-{"iishortcyrillic", 0x0439},
-{"iivowelsignbengali", 0x09C0},
-{"iivowelsigndeva", 0x0940},
-{"iivowelsigngujarati", 0x0AC0},
-{"ij", 0x0133},
-{"ikatakana", 0x30A4},
-{"ikatakanahalfwidth", 0xFF72},
-{"ikorean", 0x3163},
-{"ilde", 0x02DC},
-{"iluyhebrew", 0x05AC},
-{"imacron", 0x012B},
-{"imacroncyrillic", 0x04E3},
-{"imageorapproximatelyequal", 0x2253},
-{"imatragurmukhi", 0x0A3F},
-{"imonospace", 0xFF49},
-{"increment", 0x2206},
-{"infinity", 0x221E},
-{"iniarmenian", 0x056B},
-{"integral", 0x222B},
-{"integralbottom", 0x2321},
-{"integralbt", 0x2321},
-{"integralex", 0xF8F5},
-{"integraltop", 0x2320},
-{"integraltp", 0x2320},
-{"intersection", 0x2229},
-{"intisquare", 0x3305},
-{"invbullet", 0x25D8},
-{"invcircle", 0x25D9},
-{"invsmileface", 0x263B},
-{"iocyrillic", 0x0451},
-{"iogonek", 0x012F},
-{"iota", 0x03B9},
-{"iotadieresis", 0x03CA},
-{"iotadieresistonos", 0x0390},
-{"iotalatin", 0x0269},
-{"iotatonos", 0x03AF},
-{"iparen", 0x24A4},
-{"irigurmukhi", 0x0A72},
-{"ismallhiragana", 0x3043},
-{"ismallkatakana", 0x30A3},
-{"ismallkatakanahalfwidth", 0xFF68},
-{"issharbengali", 0x09FA},
-{"istroke", 0x0268},
-{"isuperior", 0xF6ED},
-{"iterationhiragana", 0x309D},
-{"iterationkatakana", 0x30FD},
-{"itilde", 0x0129},
-{"itildebelow", 0x1E2D},
-{"iubopomofo", 0x3129},
-{"iucyrillic", 0x044E},
-{"ivowelsignbengali", 0x09BF},
-{"ivowelsigndeva", 0x093F},
-{"ivowelsigngujarati", 0x0ABF},
-{"izhitsacyrillic", 0x0475},
-{"izhitsadblgravecyrillic", 0x0477},
-{"j", 0x006A},
-{"jaarmenian", 0x0571},
-{"jabengali", 0x099C},
-{"jadeva", 0x091C},
-{"jagujarati", 0x0A9C},
-{"jagurmukhi", 0x0A1C},
-{"jbopomofo", 0x3110},
-{"jcaron", 0x01F0},
-{"jcircle", 0x24D9},
-{"jcircumflex", 0x0135},
-{"jcrossedtail", 0x029D},
-{"jdotlessstroke", 0x025F},
-{"jecyrillic", 0x0458},
-{"jeemarabic", 0x062C},
-{"jeemfinalarabic", 0xFE9E},
-{"jeeminitialarabic", 0xFE9F},
-{"jeemmedialarabic", 0xFEA0},
-{"jeharabic", 0x0698},
-{"jehfinalarabic", 0xFB8B},
-{"jhabengali", 0x099D},
-{"jhadeva", 0x091D},
-{"jhagujarati", 0x0A9D},
-{"jhagurmukhi", 0x0A1D},
-{"jheharmenian", 0x057B},
-{"jis", 0x3004},
-{"jmonospace", 0xFF4A},
-{"jparen", 0x24A5},
-{"jsuperior", 0x02B2},
-{"k", 0x006B},
-{"kabashkircyrillic", 0x04A1},
-{"kabengali", 0x0995},
-{"kacute", 0x1E31},
-{"kacyrillic", 0x043A},
-{"kadescendercyrillic", 0x049B},
-{"kadeva", 0x0915},
-{"kaf", 0x05DB},
-{"kafarabic", 0x0643},
-{"kafdagesh", 0xFB3B},
-{"kafdageshhebrew", 0xFB3B},
-{"kaffinalarabic", 0xFEDA},
-{"kafhebrew", 0x05DB},
-{"kafinitialarabic", 0xFEDB},
-{"kafmedialarabic", 0xFEDC},
-{"kafrafehebrew", 0xFB4D},
-{"kagujarati", 0x0A95},
-{"kagurmukhi", 0x0A15},
-{"kahiragana", 0x304B},
-{"kahookcyrillic", 0x04C4},
-{"kakatakana", 0x30AB},
-{"kakatakanahalfwidth", 0xFF76},
-{"kappa", 0x03BA},
-{"kappasymbolgreek", 0x03F0},
-{"kapyeounmieumkorean", 0x3171},
-{"kapyeounphieuphkorean", 0x3184},
-{"kapyeounpieupkorean", 0x3178},
-{"kapyeounssangpieupkorean", 0x3179},
-{"karoriisquare", 0x330D},
-{"kashidaautoarabic", 0x0640},
-{"kashidaautonosidebearingarabic", 0x0640},
-{"kasmallkatakana", 0x30F5},
-{"kasquare", 0x3384},
-{"kasraarabic", 0x0650},
-{"kasratanarabic", 0x064D},
-{"kastrokecyrillic", 0x049F},
-{"katahiraprolongmarkhalfwidth", 0xFF70},
-{"kaverticalstrokecyrillic", 0x049D},
-{"kbopomofo", 0x310E},
-{"kcalsquare", 0x3389},
-{"kcaron", 0x01E9},
-{"kcedilla", 0x0137},
-{"kcircle", 0x24DA},
-{"kcommaaccent", 0x0137},
-{"kdotbelow", 0x1E33},
-{"keharmenian", 0x0584},
-{"kehiragana", 0x3051},
-{"kekatakana", 0x30B1},
-{"kekatakanahalfwidth", 0xFF79},
-{"kenarmenian", 0x056F},
-{"kesmallkatakana", 0x30F6},
-{"kgreenlandic", 0x0138},
-{"khabengali", 0x0996},
-{"khacyrillic", 0x0445},
-{"khadeva", 0x0916},
-{"khagujarati", 0x0A96},
-{"khagurmukhi", 0x0A16},
-{"khaharabic", 0x062E},
-{"khahfinalarabic", 0xFEA6},
-{"khahinitialarabic", 0xFEA7},
-{"khahmedialarabic", 0xFEA8},
-{"kheicoptic", 0x03E7},
-{"khhadeva", 0x0959},
-{"khhagurmukhi", 0x0A59},
-{"khieukhacirclekorean", 0x3278},
-{"khieukhaparenkorean", 0x3218},
-{"khieukhcirclekorean", 0x326A},
-{"khieukhkorean", 0x314B},
-{"khieukhparenkorean", 0x320A},
-{"khokhaithai", 0x0E02},
-{"khokhonthai", 0x0E05},
-{"khokhuatthai", 0x0E03},
-{"khokhwaithai", 0x0E04},
-{"khomutthai", 0x0E5B},
-{"khook", 0x0199},
-{"khorakhangthai", 0x0E06},
-{"khzsquare", 0x3391},
-{"kihiragana", 0x304D},
-{"kikatakana", 0x30AD},
-{"kikatakanahalfwidth", 0xFF77},
-{"kiroguramusquare", 0x3315},
-{"kiromeetorusquare", 0x3316},
-{"kirosquare", 0x3314},
-{"kiyeokacirclekorean", 0x326E},
-{"kiyeokaparenkorean", 0x320E},
-{"kiyeokcirclekorean", 0x3260},
-{"kiyeokkorean", 0x3131},
-{"kiyeokparenkorean", 0x3200},
-{"kiyeoksioskorean", 0x3133},
-{"kjecyrillic", 0x045C},
-{"klinebelow", 0x1E35},
-{"klsquare", 0x3398},
-{"kmcubedsquare", 0x33A6},
-{"kmonospace", 0xFF4B},
-{"kmsquaredsquare", 0x33A2},
-{"kohiragana", 0x3053},
-{"kohmsquare", 0x33C0},
-{"kokaithai", 0x0E01},
-{"kokatakana", 0x30B3},
-{"kokatakanahalfwidth", 0xFF7A},
-{"kooposquare", 0x331E},
-{"koppacyrillic", 0x0481},
-{"koreanstandardsymbol", 0x327F},
-{"koroniscmb", 0x0343},
-{"kparen", 0x24A6},
-{"kpasquare", 0x33AA},
-{"ksicyrillic", 0x046F},
-{"ktsquare", 0x33CF},
-{"kturned", 0x029E},
-{"kuhiragana", 0x304F},
-{"kukatakana", 0x30AF},
-{"kukatakanahalfwidth", 0xFF78},
-{"kvsquare", 0x33B8},
-{"kwsquare", 0x33BE},
-{"l", 0x006C},
-{"labengali", 0x09B2},
-{"lacute", 0x013A},
-{"ladeva", 0x0932},
-{"lagujarati", 0x0AB2},
-{"lagurmukhi", 0x0A32},
-{"lakkhangyaothai", 0x0E45},
-{"lamaleffinalarabic", 0xFEFC},
-{"lamalefhamzaabovefinalarabic", 0xFEF8},
-{"lamalefhamzaaboveisolatedarabic", 0xFEF7},
-{"lamalefhamzabelowfinalarabic", 0xFEFA},
-{"lamalefhamzabelowisolatedarabic", 0xFEF9},
-{"lamalefisolatedarabic", 0xFEFB},
-{"lamalefmaddaabovefinalarabic", 0xFEF6},
-{"lamalefmaddaaboveisolatedarabic", 0xFEF5},
-{"lamarabic", 0x0644},
-{"lambda", 0x03BB},
-{"lambdastroke", 0x019B},
-{"lamed", 0x05DC},
-{"lameddagesh", 0xFB3C},
-{"lameddageshhebrew", 0xFB3C},
-{"lamedhebrew", 0x05DC},
-{"lamedholam", 0x05DC},
-{"lamedholamdagesh", 0x05DC},
-{"lamedholamdageshhebrew", 0x05DC},
-{"lamedholamhebrew", 0x05DC},
-{"lamfinalarabic", 0xFEDE},
-{"lamhahinitialarabic", 0xFCCA},
-{"laminitialarabic", 0xFEDF},
-{"lamjeeminitialarabic", 0xFCC9},
-{"lamkhahinitialarabic", 0xFCCB},
-{"lamlamhehisolatedarabic", 0xFDF2},
-{"lammedialarabic", 0xFEE0},
-{"lammeemhahinitialarabic", 0xFD88},
-{"lammeeminitialarabic", 0xFCCC},
-{"lammeemjeeminitialarabic", 0xFEDF},
-{"lammeemkhahinitialarabic", 0xFEDF},
-{"largecircle", 0x25EF},
-{"lbar", 0x019A},
-{"lbelt", 0x026C},
-{"lbopomofo", 0x310C},
-{"lcaron", 0x013E},
-{"lcedilla", 0x013C},
-{"lcircle", 0x24DB},
-{"lcircumflexbelow", 0x1E3D},
-{"lcommaaccent", 0x013C},
-{"ldot", 0x0140},
-{"ldotaccent", 0x0140},
-{"ldotbelow", 0x1E37},
-{"ldotbelowmacron", 0x1E39},
-{"leftangleabovecmb", 0x031A},
-{"lefttackbelowcmb", 0x0318},
-{"less", 0x003C},
-{"lessequal", 0x2264},
-{"lessequalorgreater", 0x22DA},
-{"lessmonospace", 0xFF1C},
-{"lessorequivalent", 0x2272},
-{"lessorgreater", 0x2276},
-{"lessoverequal", 0x2266},
-{"lesssmall", 0xFE64},
-{"lezh", 0x026E},
-{"lfblock", 0x258C},
-{"lhookretroflex", 0x026D},
-{"lira", 0x20A4},
-{"liwnarmenian", 0x056C},
-{"lj", 0x01C9},
-{"ljecyrillic", 0x0459},
-{"ll", 0xF6C0},
-{"lladeva", 0x0933},
-{"llagujarati", 0x0AB3},
-{"llinebelow", 0x1E3B},
-{"llladeva", 0x0934},
-{"llvocalicbengali", 0x09E1},
-{"llvocalicdeva", 0x0961},
-{"llvocalicvowelsignbengali", 0x09E3},
-{"llvocalicvowelsigndeva", 0x0963},
-{"lmiddletilde", 0x026B},
-{"lmonospace", 0xFF4C},
-{"lmsquare", 0x33D0},
-{"lochulathai", 0x0E2C},
-{"logicaland", 0x2227},
-{"logicalnot", 0x00AC},
-{"logicalnotreversed", 0x2310},
-{"logicalor", 0x2228},
-{"lolingthai", 0x0E25},
-{"longs", 0x017F},
-{"lowlinecenterline", 0xFE4E},
-{"lowlinecmb", 0x0332},
-{"lowlinedashed", 0xFE4D},
-{"lozenge", 0x25CA},
-{"lparen", 0x24A7},
-{"lslash", 0x0142},
-{"lsquare", 0x2113},
-{"lsuperior", 0xF6EE},
-{"ltshade", 0x2591},
-{"luthai", 0x0E26},
-{"lvocalicbengali", 0x098C},
-{"lvocalicdeva", 0x090C},
-{"lvocalicvowelsignbengali", 0x09E2},
-{"lvocalicvowelsigndeva", 0x0962},
-{"lxsquare", 0x33D3},
-{"m", 0x006D},
-{"mabengali", 0x09AE},
-{"macron", 0x00AF},
-{"macronbelowcmb", 0x0331},
-{"macroncmb", 0x0304},
-{"macronlowmod", 0x02CD},
-{"macronmonospace", 0xFFE3},
-{"macute", 0x1E3F},
-{"madeva", 0x092E},
-{"magujarati", 0x0AAE},
-{"magurmukhi", 0x0A2E},
-{"mahapakhhebrew", 0x05A4},
-{"mahapakhlefthebrew", 0x05A4},
-{"mahiragana", 0x307E},
-{"maichattawalowleftthai", 0xF895},
-{"maichattawalowrightthai", 0xF894},
-{"maichattawathai", 0x0E4B},
-{"maichattawaupperleftthai", 0xF893},
-{"maieklowleftthai", 0xF88C},
-{"maieklowrightthai", 0xF88B},
-{"maiekthai", 0x0E48},
-{"maiekupperleftthai", 0xF88A},
-{"maihanakatleftthai", 0xF884},
-{"maihanakatthai", 0x0E31},
-{"maitaikhuleftthai", 0xF889},
-{"maitaikhuthai", 0x0E47},
-{"maitholowleftthai", 0xF88F},
-{"maitholowrightthai", 0xF88E},
-{"maithothai", 0x0E49},
-{"maithoupperleftthai", 0xF88D},
-{"maitrilowleftthai", 0xF892},
-{"maitrilowrightthai", 0xF891},
-{"maitrithai", 0x0E4A},
-{"maitriupperleftthai", 0xF890},
-{"maiyamokthai", 0x0E46},
-{"makatakana", 0x30DE},
-{"makatakanahalfwidth", 0xFF8F},
-{"male", 0x2642},
-{"mansyonsquare", 0x3347},
-{"maqafhebrew", 0x05BE},
-{"mars", 0x2642},
-{"masoracirclehebrew", 0x05AF},
-{"masquare", 0x3383},
-{"mbopomofo", 0x3107},
-{"mbsquare", 0x33D4},
-{"mcircle", 0x24DC},
-{"mcubedsquare", 0x33A5},
-{"mdotaccent", 0x1E41},
-{"mdotbelow", 0x1E43},
-{"meemarabic", 0x0645},
-{"meemfinalarabic", 0xFEE2},
-{"meeminitialarabic", 0xFEE3},
-{"meemmedialarabic", 0xFEE4},
-{"meemmeeminitialarabic", 0xFCD1},
-{"meemmeemisolatedarabic", 0xFC48},
-{"meetorusquare", 0x334D},
-{"mehiragana", 0x3081},
-{"meizierasquare", 0x337E},
-{"mekatakana", 0x30E1},
-{"mekatakanahalfwidth", 0xFF92},
-{"mem", 0x05DE},
-{"memdagesh", 0xFB3E},
-{"memdageshhebrew", 0xFB3E},
-{"memhebrew", 0x05DE},
-{"menarmenian", 0x0574},
-{"merkhahebrew", 0x05A5},
-{"merkhakefulahebrew", 0x05A6},
-{"merkhakefulalefthebrew", 0x05A6},
-{"merkhalefthebrew", 0x05A5},
-{"mhook", 0x0271},
-{"mhzsquare", 0x3392},
-{"middledotkatakanahalfwidth", 0xFF65},
-{"middot", 0x00B7},
-{"mieumacirclekorean", 0x3272},
-{"mieumaparenkorean", 0x3212},
-{"mieumcirclekorean", 0x3264},
-{"mieumkorean", 0x3141},
-{"mieumpansioskorean", 0x3170},
-{"mieumparenkorean", 0x3204},
-{"mieumpieupkorean", 0x316E},
-{"mieumsioskorean", 0x316F},
-{"mihiragana", 0x307F},
-{"mikatakana", 0x30DF},
-{"mikatakanahalfwidth", 0xFF90},
-{"minus", 0x2212},
-{"minusbelowcmb", 0x0320},
-{"minuscircle", 0x2296},
-{"minusmod", 0x02D7},
-{"minusplus", 0x2213},
-{"minute", 0x2032},
-{"miribaarusquare", 0x334A},
-{"mirisquare", 0x3349},
-{"mlonglegturned", 0x0270},
-{"mlsquare", 0x3396},
-{"mmcubedsquare", 0x33A3},
-{"mmonospace", 0xFF4D},
-{"mmsquaredsquare", 0x339F},
-{"mohiragana", 0x3082},
-{"mohmsquare", 0x33C1},
-{"mokatakana", 0x30E2},
-{"mokatakanahalfwidth", 0xFF93},
-{"molsquare", 0x33D6},
-{"momathai", 0x0E21},
-{"moverssquare", 0x33A7},
-{"moverssquaredsquare", 0x33A8},
-{"mparen", 0x24A8},
-{"mpasquare", 0x33AB},
-{"mssquare", 0x33B3},
-{"msuperior", 0xF6EF},
-{"mturned", 0x026F},
-{"mu", 0x00B5},
-{"mu1", 0x00B5},
-{"muasquare", 0x3382},
-{"muchgreater", 0x226B},
-{"muchless", 0x226A},
-{"mufsquare", 0x338C},
-{"mugreek", 0x03BC},
-{"mugsquare", 0x338D},
-{"muhiragana", 0x3080},
-{"mukatakana", 0x30E0},
-{"mukatakanahalfwidth", 0xFF91},
-{"mulsquare", 0x3395},
-{"multiply", 0x00D7},
-{"mumsquare", 0x339B},
-{"munahhebrew", 0x05A3},
-{"munahlefthebrew", 0x05A3},
-{"musicalnote", 0x266A},
-{"musicalnotedbl", 0x266B},
-{"musicflatsign", 0x266D},
-{"musicsharpsign", 0x266F},
-{"mussquare", 0x33B2},
-{"muvsquare", 0x33B6},
-{"muwsquare", 0x33BC},
-{"mvmegasquare", 0x33B9},
-{"mvsquare", 0x33B7},
-{"mwmegasquare", 0x33BF},
-{"mwsquare", 0x33BD},
-{"n", 0x006E},
-{"nabengali", 0x09A8},
-{"nabla", 0x2207},
-{"nacute", 0x0144},
-{"nadeva", 0x0928},
-{"nagujarati", 0x0AA8},
-{"nagurmukhi", 0x0A28},
-{"nahiragana", 0x306A},
-{"nakatakana", 0x30CA},
-{"nakatakanahalfwidth", 0xFF85},
-{"napostrophe", 0x0149},
-{"nasquare", 0x3381},
-{"nbopomofo", 0x310B},
-{"nbspace", 0x00A0},
-{"ncaron", 0x0148},
-{"ncedilla", 0x0146},
-{"ncircle", 0x24DD},
-{"ncircumflexbelow", 0x1E4B},
-{"ncommaaccent", 0x0146},
-{"ndotaccent", 0x1E45},
-{"ndotbelow", 0x1E47},
-{"nehiragana", 0x306D},
-{"nekatakana", 0x30CD},
-{"nekatakanahalfwidth", 0xFF88},
-{"newsheqelsign", 0x20AA},
-{"nfsquare", 0x338B},
-{"ngabengali", 0x0999},
-{"ngadeva", 0x0919},
-{"ngagujarati", 0x0A99},
-{"ngagurmukhi", 0x0A19},
-{"ngonguthai", 0x0E07},
-{"nhiragana", 0x3093},
-{"nhookleft", 0x0272},
-{"nhookretroflex", 0x0273},
-{"nieunacirclekorean", 0x326F},
-{"nieunaparenkorean", 0x320F},
-{"nieuncieuckorean", 0x3135},
-{"nieuncirclekorean", 0x3261},
-{"nieunhieuhkorean", 0x3136},
-{"nieunkorean", 0x3134},
-{"nieunpansioskorean", 0x3168},
-{"nieunparenkorean", 0x3201},
-{"nieunsioskorean", 0x3167},
-{"nieuntikeutkorean", 0x3166},
-{"nihiragana", 0x306B},
-{"nikatakana", 0x30CB},
-{"nikatakanahalfwidth", 0xFF86},
-{"nikhahitleftthai", 0xF899},
-{"nikhahitthai", 0x0E4D},
-{"nine", 0x0039},
-{"ninearabic", 0x0669},
-{"ninebengali", 0x09EF},
-{"ninecircle", 0x2468},
-{"ninecircleinversesansserif", 0x2792},
-{"ninedeva", 0x096F},
-{"ninegujarati", 0x0AEF},
-{"ninegurmukhi", 0x0A6F},
-{"ninehackarabic", 0x0669},
-{"ninehangzhou", 0x3029},
-{"nineideographicparen", 0x3228},
-{"nineinferior", 0x2089},
-{"ninemonospace", 0xFF19},
-{"nineoldstyle", 0xF739},
-{"nineparen", 0x247C},
-{"nineperiod", 0x2490},
-{"ninepersian", 0x06F9},
-{"nineroman", 0x2178},
-{"ninesuperior", 0x2079},
-{"nineteencircle", 0x2472},
-{"nineteenparen", 0x2486},
-{"nineteenperiod", 0x249A},
-{"ninethai", 0x0E59},
-{"nj", 0x01CC},
-{"njecyrillic", 0x045A},
-{"nkatakana", 0x30F3},
-{"nkatakanahalfwidth", 0xFF9D},
-{"nlegrightlong", 0x019E},
-{"nlinebelow", 0x1E49},
-{"nmonospace", 0xFF4E},
-{"nmsquare", 0x339A},
-{"nnabengali", 0x09A3},
-{"nnadeva", 0x0923},
-{"nnagujarati", 0x0AA3},
-{"nnagurmukhi", 0x0A23},
-{"nnnadeva", 0x0929},
-{"nohiragana", 0x306E},
-{"nokatakana", 0x30CE},
-{"nokatakanahalfwidth", 0xFF89},
-{"nonbreakingspace", 0x00A0},
-{"nonenthai", 0x0E13},
-{"nonuthai", 0x0E19},
-{"noonarabic", 0x0646},
-{"noonfinalarabic", 0xFEE6},
-{"noonghunnaarabic", 0x06BA},
-{"noonghunnafinalarabic", 0xFB9F},
-{"noonhehinitialarabic", 0xFEE7},
-{"nooninitialarabic", 0xFEE7},
-{"noonjeeminitialarabic", 0xFCD2},
-{"noonjeemisolatedarabic", 0xFC4B},
-{"noonmedialarabic", 0xFEE8},
-{"noonmeeminitialarabic", 0xFCD5},
-{"noonmeemisolatedarabic", 0xFC4E},
-{"noonnoonfinalarabic", 0xFC8D},
-{"notcontains", 0x220C},
-{"notelement", 0x2209},
-{"notelementof", 0x2209},
-{"notequal", 0x2260},
-{"notgreater", 0x226F},
-{"notgreaternorequal", 0x2271},
-{"notgreaternorless", 0x2279},
-{"notidentical", 0x2262},
-{"notless", 0x226E},
-{"notlessnorequal", 0x2270},
-{"notparallel", 0x2226},
-{"notprecedes", 0x2280},
-{"notsubset", 0x2284},
-{"notsucceeds", 0x2281},
-{"notsuperset", 0x2285},
-{"nowarmenian", 0x0576},
-{"nparen", 0x24A9},
-{"nssquare", 0x33B1},
-{"nsuperior", 0x207F},
-{"ntilde", 0x00F1},
-{"nu", 0x03BD},
-{"nuhiragana", 0x306C},
-{"nukatakana", 0x30CC},
-{"nukatakanahalfwidth", 0xFF87},
-{"nuktabengali", 0x09BC},
-{"nuktadeva", 0x093C},
-{"nuktagujarati", 0x0ABC},
-{"nuktagurmukhi", 0x0A3C},
-{"numbersign", 0x0023},
-{"numbersignmonospace", 0xFF03},
-{"numbersignsmall", 0xFE5F},
-{"numeralsigngreek", 0x0374},
-{"numeralsignlowergreek", 0x0375},
-{"numero", 0x2116},
-{"nun", 0x05E0},
-{"nundagesh", 0xFB40},
-{"nundageshhebrew", 0xFB40},
-{"nunhebrew", 0x05E0},
-{"nvsquare", 0x33B5},
-{"nwsquare", 0x33BB},
-{"nyabengali", 0x099E},
-{"nyadeva", 0x091E},
-{"nyagujarati", 0x0A9E},
-{"nyagurmukhi", 0x0A1E},
-{"o", 0x006F},
-{"oacute", 0x00F3},
-{"oangthai", 0x0E2D},
-{"obarred", 0x0275},
-{"obarredcyrillic", 0x04E9},
-{"obarreddieresiscyrillic", 0x04EB},
-{"obengali", 0x0993},
-{"obopomofo", 0x311B},
-{"obreve", 0x014F},
-{"ocandradeva", 0x0911},
-{"ocandragujarati", 0x0A91},
-{"ocandravowelsigndeva", 0x0949},
-{"ocandravowelsigngujarati", 0x0AC9},
-{"ocaron", 0x01D2},
-{"ocircle", 0x24DE},
-{"ocircumflex", 0x00F4},
-{"ocircumflexacute", 0x1ED1},
-{"ocircumflexdotbelow", 0x1ED9},
-{"ocircumflexgrave", 0x1ED3},
-{"ocircumflexhookabove", 0x1ED5},
-{"ocircumflextilde", 0x1ED7},
-{"ocyrillic", 0x043E},
-{"odblacute", 0x0151},
-{"odblgrave", 0x020D},
-{"odeva", 0x0913},
-{"odieresis", 0x00F6},
-{"odieresiscyrillic", 0x04E7},
-{"odotbelow", 0x1ECD},
-{"oe", 0x0153},
-{"oekorean", 0x315A},
-{"ogonek", 0x02DB},
-{"ogonekcmb", 0x0328},
-{"ograve", 0x00F2},
-{"ogujarati", 0x0A93},
-{"oharmenian", 0x0585},
-{"ohiragana", 0x304A},
-{"ohookabove", 0x1ECF},
-{"ohorn", 0x01A1},
-{"ohornacute", 0x1EDB},
-{"ohorndotbelow", 0x1EE3},
-{"ohorngrave", 0x1EDD},
-{"ohornhookabove", 0x1EDF},
-{"ohorntilde", 0x1EE1},
-{"ohungarumlaut", 0x0151},
-{"oi", 0x01A3},
-{"oinvertedbreve", 0x020F},
-{"okatakana", 0x30AA},
-{"okatakanahalfwidth", 0xFF75},
-{"okorean", 0x3157},
-{"olehebrew", 0x05AB},
-{"omacron", 0x014D},
-{"omacronacute", 0x1E53},
-{"omacrongrave", 0x1E51},
-{"omdeva", 0x0950},
-{"omega", 0x03C9},
-{"omega1", 0x03D6},
-{"omegacyrillic", 0x0461},
-{"omegalatinclosed", 0x0277},
-{"omegaroundcyrillic", 0x047B},
-{"omegatitlocyrillic", 0x047D},
-{"omegatonos", 0x03CE},
-{"omgujarati", 0x0AD0},
-{"omicron", 0x03BF},
-{"omicrontonos", 0x03CC},
-{"omonospace", 0xFF4F},
-{"one", 0x0031},
-{"onearabic", 0x0661},
-{"onebengali", 0x09E7},
-{"onecircle", 0x2460},
-{"onecircleinversesansserif", 0x278A},
-{"onedeva", 0x0967},
-{"onedotenleader", 0x2024},
-{"oneeighth", 0x215B},
-{"onefitted", 0xF6DC},
-{"onegujarati", 0x0AE7},
-{"onegurmukhi", 0x0A67},
-{"onehackarabic", 0x0661},
-{"onehalf", 0x00BD},
-{"onehangzhou", 0x3021},
-{"oneideographicparen", 0x3220},
-{"oneinferior", 0x2081},
-{"onemonospace", 0xFF11},
-{"onenumeratorbengali", 0x09F4},
-{"oneoldstyle", 0xF731},
-{"oneparen", 0x2474},
-{"oneperiod", 0x2488},
-{"onepersian", 0x06F1},
-{"onequarter", 0x00BC},
-{"oneroman", 0x2170},
-{"onesuperior", 0x00B9},
-{"onethai", 0x0E51},
-{"onethird", 0x2153},
-{"oogonek", 0x01EB},
-{"oogonekmacron", 0x01ED},
-{"oogurmukhi", 0x0A13},
-{"oomatragurmukhi", 0x0A4B},
-{"oopen", 0x0254},
-{"oparen", 0x24AA},
-{"openbullet", 0x25E6},
-{"option", 0x2325},
-{"ordfeminine", 0x00AA},
-{"ordmasculine", 0x00BA},
-{"orthogonal", 0x221F},
-{"oshortdeva", 0x0912},
-{"oshortvowelsigndeva", 0x094A},
-{"oslash", 0x00F8},
-{"oslashacute", 0x01FF},
-{"osmallhiragana", 0x3049},
-{"osmallkatakana", 0x30A9},
-{"osmallkatakanahalfwidth", 0xFF6B},
-{"ostrokeacute", 0x01FF},
-{"osuperior", 0xF6F0},
-{"otcyrillic", 0x047F},
-{"otilde", 0x00F5},
-{"otildeacute", 0x1E4D},
-{"otildedieresis", 0x1E4F},
-{"oubopomofo", 0x3121},
-{"overline", 0x203E},
-{"overlinecenterline", 0xFE4A},
-{"overlinecmb", 0x0305},
-{"overlinedashed", 0xFE49},
-{"overlinedblwavy", 0xFE4C},
-{"overlinewavy", 0xFE4B},
-{"overscore", 0x00AF},
-{"ovowelsignbengali", 0x09CB},
-{"ovowelsigndeva", 0x094B},
-{"ovowelsigngujarati", 0x0ACB},
-{"p", 0x0070},
-{"paampssquare", 0x3380},
-{"paasentosquare", 0x332B},
-{"pabengali", 0x09AA},
-{"pacute", 0x1E55},
-{"padeva", 0x092A},
-{"pagedown", 0x21DF},
-{"pageup", 0x21DE},
-{"pagujarati", 0x0AAA},
-{"pagurmukhi", 0x0A2A},
-{"pahiragana", 0x3071},
-{"paiyannoithai", 0x0E2F},
-{"pakatakana", 0x30D1},
-{"palatalizationcyrilliccmb", 0x0484},
-{"palochkacyrillic", 0x04C0},
-{"pansioskorean", 0x317F},
-{"paragraph", 0x00B6},
-{"parallel", 0x2225},
-{"parenleft", 0x0028},
-{"parenleftaltonearabic", 0xFD3E},
-{"parenleftbt", 0xF8ED},
-{"parenleftex", 0xF8EC},
-{"parenleftinferior", 0x208D},
-{"parenleftmonospace", 0xFF08},
-{"parenleftsmall", 0xFE59},
-{"parenleftsuperior", 0x207D},
-{"parenlefttp", 0xF8EB},
-{"parenleftvertical", 0xFE35},
-{"parenright", 0x0029},
-{"parenrightaltonearabic", 0xFD3F},
-{"parenrightbt", 0xF8F8},
-{"parenrightex", 0xF8F7},
-{"parenrightinferior", 0x208E},
-{"parenrightmonospace", 0xFF09},
-{"parenrightsmall", 0xFE5A},
-{"parenrightsuperior", 0x207E},
-{"parenrighttp", 0xF8F6},
-{"parenrightvertical", 0xFE36},
-{"partialdiff", 0x2202},
-{"paseqhebrew", 0x05C0},
-{"pashtahebrew", 0x0599},
-{"pasquare", 0x33A9},
-{"patah", 0x05B7},
-{"patah11", 0x05B7},
-{"patah1d", 0x05B7},
-{"patah2a", 0x05B7},
-{"patahhebrew", 0x05B7},
-{"patahnarrowhebrew", 0x05B7},
-{"patahquarterhebrew", 0x05B7},
-{"patahwidehebrew", 0x05B7},
-{"pazerhebrew", 0x05A1},
-{"pbopomofo", 0x3106},
-{"pcircle", 0x24DF},
-{"pdotaccent", 0x1E57},
-{"pe", 0x05E4},
-{"pecyrillic", 0x043F},
-{"pedagesh", 0xFB44},
-{"pedageshhebrew", 0xFB44},
-{"peezisquare", 0x333B},
-{"pefinaldageshhebrew", 0xFB43},
-{"peharabic", 0x067E},
-{"peharmenian", 0x057A},
-{"pehebrew", 0x05E4},
-{"pehfinalarabic", 0xFB57},
-{"pehinitialarabic", 0xFB58},
-{"pehiragana", 0x307A},
-{"pehmedialarabic", 0xFB59},
-{"pekatakana", 0x30DA},
-{"pemiddlehookcyrillic", 0x04A7},
-{"perafehebrew", 0xFB4E},
-{"percent", 0x0025},
-{"percentarabic", 0x066A},
-{"percentmonospace", 0xFF05},
-{"percentsmall", 0xFE6A},
-{"period", 0x002E},
-{"periodarmenian", 0x0589},
-{"periodcentered", 0x00B7},
-{"periodhalfwidth", 0xFF61},
-{"periodinferior", 0xF6E7},
-{"periodmonospace", 0xFF0E},
-{"periodsmall", 0xFE52},
-{"periodsuperior", 0xF6E8},
-{"perispomenigreekcmb", 0x0342},
-{"perpendicular", 0x22A5},
-{"perthousand", 0x2030},
-{"peseta", 0x20A7},
-{"pfsquare", 0x338A},
-{"phabengali", 0x09AB},
-{"phadeva", 0x092B},
-{"phagujarati", 0x0AAB},
-{"phagurmukhi", 0x0A2B},
-{"phi", 0x03C6},
-{"phi1", 0x03D5},
-{"phieuphacirclekorean", 0x327A},
-{"phieuphaparenkorean", 0x321A},
-{"phieuphcirclekorean", 0x326C},
-{"phieuphkorean", 0x314D},
-{"phieuphparenkorean", 0x320C},
-{"philatin", 0x0278},
-{"phinthuthai", 0x0E3A},
-{"phisymbolgreek", 0x03D5},
-{"phook", 0x01A5},
-{"phophanthai", 0x0E1E},
-{"phophungthai", 0x0E1C},
-{"phosamphaothai", 0x0E20},
-{"pi", 0x03C0},
-{"pieupacirclekorean", 0x3273},
-{"pieupaparenkorean", 0x3213},
-{"pieupcieuckorean", 0x3176},
-{"pieupcirclekorean", 0x3265},
-{"pieupkiyeokkorean", 0x3172},
-{"pieupkorean", 0x3142},
-{"pieupparenkorean", 0x3205},
-{"pieupsioskiyeokkorean", 0x3174},
-{"pieupsioskorean", 0x3144},
-{"pieupsiostikeutkorean", 0x3175},
-{"pieupthieuthkorean", 0x3177},
-{"pieuptikeutkorean", 0x3173},
-{"pihiragana", 0x3074},
-{"pikatakana", 0x30D4},
-{"pisymbolgreek", 0x03D6},
-{"piwrarmenian", 0x0583},
-{"plus", 0x002B},
-{"plusbelowcmb", 0x031F},
-{"pluscircle", 0x2295},
-{"plusminus", 0x00B1},
-{"plusmod", 0x02D6},
-{"plusmonospace", 0xFF0B},
-{"plussmall", 0xFE62},
-{"plussuperior", 0x207A},
-{"pmonospace", 0xFF50},
-{"pmsquare", 0x33D8},
-{"pohiragana", 0x307D},
-{"pointingindexdownwhite", 0x261F},
-{"pointingindexleftwhite", 0x261C},
-{"pointingindexrightwhite", 0x261E},
-{"pointingindexupwhite", 0x261D},
-{"pokatakana", 0x30DD},
-{"poplathai", 0x0E1B},
-{"postalmark", 0x3012},
-{"postalmarkface", 0x3020},
-{"pparen", 0x24AB},
-{"precedes", 0x227A},
-{"prescription", 0x211E},
-{"primemod", 0x02B9},
-{"primereversed", 0x2035},
-{"product", 0x220F},
-{"projective", 0x2305},
-{"prolongedkana", 0x30FC},
-{"propellor", 0x2318},
-{"propersubset", 0x2282},
-{"propersuperset", 0x2283},
-{"proportion", 0x2237},
-{"proportional", 0x221D},
-{"psi", 0x03C8},
-{"psicyrillic", 0x0471},
-{"psilipneumatacyrilliccmb", 0x0486},
-{"pssquare", 0x33B0},
-{"puhiragana", 0x3077},
-{"pukatakana", 0x30D7},
-{"pvsquare", 0x33B4},
-{"pwsquare", 0x33BA},
-{"q", 0x0071},
-{"qadeva", 0x0958},
-{"qadmahebrew", 0x05A8},
-{"qafarabic", 0x0642},
-{"qaffinalarabic", 0xFED6},
-{"qafinitialarabic", 0xFED7},
-{"qafmedialarabic", 0xFED8},
-{"qamats", 0x05B8},
-{"qamats10", 0x05B8},
-{"qamats1a", 0x05B8},
-{"qamats1c", 0x05B8},
-{"qamats27", 0x05B8},
-{"qamats29", 0x05B8},
-{"qamats33", 0x05B8},
-{"qamatsde", 0x05B8},
-{"qamatshebrew", 0x05B8},
-{"qamatsnarrowhebrew", 0x05B8},
-{"qamatsqatanhebrew", 0x05B8},
-{"qamatsqatannarrowhebrew", 0x05B8},
-{"qamatsqatanquarterhebrew", 0x05B8},
-{"qamatsqatanwidehebrew", 0x05B8},
-{"qamatsquarterhebrew", 0x05B8},
-{"qamatswidehebrew", 0x05B8},
-{"qarneyparahebrew", 0x059F},
-{"qbopomofo", 0x3111},
-{"qcircle", 0x24E0},
-{"qhook", 0x02A0},
-{"qmonospace", 0xFF51},
-{"qof", 0x05E7},
-{"qofdagesh", 0xFB47},
-{"qofdageshhebrew", 0xFB47},
-{"qofhatafpatah", 0x05E7},
-{"qofhatafpatahhebrew", 0x05E7},
-{"qofhatafsegol", 0x05E7},
-{"qofhatafsegolhebrew", 0x05E7},
-{"qofhebrew", 0x05E7},
-{"qofhiriq", 0x05E7},
-{"qofhiriqhebrew", 0x05E7},
-{"qofholam", 0x05E7},
-{"qofholamhebrew", 0x05E7},
-{"qofpatah", 0x05E7},
-{"qofpatahhebrew", 0x05E7},
-{"qofqamats", 0x05E7},
-{"qofqamatshebrew", 0x05E7},
-{"qofqubuts", 0x05E7},
-{"qofqubutshebrew", 0x05E7},
-{"qofsegol", 0x05E7},
-{"qofsegolhebrew", 0x05E7},
-{"qofsheva", 0x05E7},
-{"qofshevahebrew", 0x05E7},
-{"qoftsere", 0x05E7},
-{"qoftserehebrew", 0x05E7},
-{"qparen", 0x24AC},
-{"quarternote", 0x2669},
-{"qubuts", 0x05BB},
-{"qubuts18", 0x05BB},
-{"qubuts25", 0x05BB},
-{"qubuts31", 0x05BB},
-{"qubutshebrew", 0x05BB},
-{"qubutsnarrowhebrew", 0x05BB},
-{"qubutsquarterhebrew", 0x05BB},
-{"qubutswidehebrew", 0x05BB},
-{"question", 0x003F},
-{"questionarabic", 0x061F},
-{"questionarmenian", 0x055E},
-{"questiondown", 0x00BF},
-{"questiondownsmall", 0xF7BF},
-{"questiongreek", 0x037E},
-{"questionmonospace", 0xFF1F},
-{"questionsmall", 0xF73F},
-{"quotedbl", 0x0022},
-{"quotedblbase", 0x201E},
-{"quotedblleft", 0x201C},
-{"quotedblmonospace", 0xFF02},
-{"quotedblprime", 0x301E},
-{"quotedblprimereversed", 0x301D},
-{"quotedblright", 0x201D},
-{"quoteleft", 0x2018},
-{"quoteleftreversed", 0x201B},
-{"quotereversed", 0x201B},
-{"quoteright", 0x2019},
-{"quoterightn", 0x0149},
-{"quotesinglbase", 0x201A},
-{"quotesingle", 0x0027},
-{"quotesinglemonospace", 0xFF07},
-{"r", 0x0072},
-{"raarmenian", 0x057C},
-{"rabengali", 0x09B0},
-{"racute", 0x0155},
-{"radeva", 0x0930},
-{"radical", 0x221A},
-{"radicalex", 0xF8E5},
-{"radoverssquare", 0x33AE},
-{"radoverssquaredsquare", 0x33AF},
-{"radsquare", 0x33AD},
-{"rafe", 0x05BF},
-{"rafehebrew", 0x05BF},
-{"ragujarati", 0x0AB0},
-{"ragurmukhi", 0x0A30},
-{"rahiragana", 0x3089},
-{"rakatakana", 0x30E9},
-{"rakatakanahalfwidth", 0xFF97},
-{"ralowerdiagonalbengali", 0x09F1},
-{"ramiddlediagonalbengali", 0x09F0},
-{"ramshorn", 0x0264},
-{"ratio", 0x2236},
-{"rbopomofo", 0x3116},
-{"rcaron", 0x0159},
-{"rcedilla", 0x0157},
-{"rcircle", 0x24E1},
-{"rcommaaccent", 0x0157},
-{"rdblgrave", 0x0211},
-{"rdotaccent", 0x1E59},
-{"rdotbelow", 0x1E5B},
-{"rdotbelowmacron", 0x1E5D},
-{"referencemark", 0x203B},
-{"reflexsubset", 0x2286},
-{"reflexsuperset", 0x2287},
-{"registered", 0x00AE},
-{"registersans", 0xF8E8},
-{"registerserif", 0xF6DA},
-{"reharabic", 0x0631},
-{"reharmenian", 0x0580},
-{"rehfinalarabic", 0xFEAE},
-{"rehiragana", 0x308C},
-{"rehyehaleflamarabic", 0x0631},
-{"rekatakana", 0x30EC},
-{"rekatakanahalfwidth", 0xFF9A},
-{"resh", 0x05E8},
-{"reshdageshhebrew", 0xFB48},
-{"reshhatafpatah", 0x05E8},
-{"reshhatafpatahhebrew", 0x05E8},
-{"reshhatafsegol", 0x05E8},
-{"reshhatafsegolhebrew", 0x05E8},
-{"reshhebrew", 0x05E8},
-{"reshhiriq", 0x05E8},
-{"reshhiriqhebrew", 0x05E8},
-{"reshholam", 0x05E8},
-{"reshholamhebrew", 0x05E8},
-{"reshpatah", 0x05E8},
-{"reshpatahhebrew", 0x05E8},
-{"reshqamats", 0x05E8},
-{"reshqamatshebrew", 0x05E8},
-{"reshqubuts", 0x05E8},
-{"reshqubutshebrew", 0x05E8},
-{"reshsegol", 0x05E8},
-{"reshsegolhebrew", 0x05E8},
-{"reshsheva", 0x05E8},
-{"reshshevahebrew", 0x05E8},
-{"reshtsere", 0x05E8},
-{"reshtserehebrew", 0x05E8},
-{"reversedtilde", 0x223D},
-{"reviahebrew", 0x0597},
-{"reviamugrashhebrew", 0x0597},
-{"revlogicalnot", 0x2310},
-{"rfishhook", 0x027E},
-{"rfishhookreversed", 0x027F},
-{"rhabengali", 0x09DD},
-{"rhadeva", 0x095D},
-{"rho", 0x03C1},
-{"rhook", 0x027D},
-{"rhookturned", 0x027B},
-{"rhookturnedsuperior", 0x02B5},
-{"rhosymbolgreek", 0x03F1},
-{"rhotichookmod", 0x02DE},
-{"rieulacirclekorean", 0x3271},
-{"rieulaparenkorean", 0x3211},
-{"rieulcirclekorean", 0x3263},
-{"rieulhieuhkorean", 0x3140},
-{"rieulkiyeokkorean", 0x313A},
-{"rieulkiyeoksioskorean", 0x3169},
-{"rieulkorean", 0x3139},
-{"rieulmieumkorean", 0x313B},
-{"rieulpansioskorean", 0x316C},
-{"rieulparenkorean", 0x3203},
-{"rieulphieuphkorean", 0x313F},
-{"rieulpieupkorean", 0x313C},
-{"rieulpieupsioskorean", 0x316B},
-{"rieulsioskorean", 0x313D},
-{"rieulthieuthkorean", 0x313E},
-{"rieultikeutkorean", 0x316A},
-{"rieulyeorinhieuhkorean", 0x316D},
-{"rightangle", 0x221F},
-{"righttackbelowcmb", 0x0319},
-{"righttriangle", 0x22BF},
-{"rihiragana", 0x308A},
-{"rikatakana", 0x30EA},
-{"rikatakanahalfwidth", 0xFF98},
-{"ring", 0x02DA},
-{"ringbelowcmb", 0x0325},
-{"ringcmb", 0x030A},
-{"ringhalfleft", 0x02BF},
-{"ringhalfleftarmenian", 0x0559},
-{"ringhalfleftbelowcmb", 0x031C},
-{"ringhalfleftcentered", 0x02D3},
-{"ringhalfright", 0x02BE},
-{"ringhalfrightbelowcmb", 0x0339},
-{"ringhalfrightcentered", 0x02D2},
-{"rinvertedbreve", 0x0213},
-{"rittorusquare", 0x3351},
-{"rlinebelow", 0x1E5F},
-{"rlongleg", 0x027C},
-{"rlonglegturned", 0x027A},
-{"rmonospace", 0xFF52},
-{"rohiragana", 0x308D},
-{"rokatakana", 0x30ED},
-{"rokatakanahalfwidth", 0xFF9B},
-{"roruathai", 0x0E23},
-{"rparen", 0x24AD},
-{"rrabengali", 0x09DC},
-{"rradeva", 0x0931},
-{"rragurmukhi", 0x0A5C},
-{"rreharabic", 0x0691},
-{"rrehfinalarabic", 0xFB8D},
-{"rrvocalicbengali", 0x09E0},
-{"rrvocalicdeva", 0x0960},
-{"rrvocalicgujarati", 0x0AE0},
-{"rrvocalicvowelsignbengali", 0x09C4},
-{"rrvocalicvowelsigndeva", 0x0944},
-{"rrvocalicvowelsigngujarati", 0x0AC4},
-{"rsuperior", 0xF6F1},
-{"rtblock", 0x2590},
-{"rturned", 0x0279},
-{"rturnedsuperior", 0x02B4},
-{"ruhiragana", 0x308B},
-{"rukatakana", 0x30EB},
-{"rukatakanahalfwidth", 0xFF99},
-{"rupeemarkbengali", 0x09F2},
-{"rupeesignbengali", 0x09F3},
-{"rupiah", 0xF6DD},
-{"ruthai", 0x0E24},
-{"rvocalicbengali", 0x098B},
-{"rvocalicdeva", 0x090B},
-{"rvocalicgujarati", 0x0A8B},
-{"rvocalicvowelsignbengali", 0x09C3},
-{"rvocalicvowelsigndeva", 0x0943},
-{"rvocalicvowelsigngujarati", 0x0AC3},
-{"s", 0x0073},
-{"sabengali", 0x09B8},
-{"sacute", 0x015B},
-{"sacutedotaccent", 0x1E65},
-{"sadarabic", 0x0635},
-{"sadeva", 0x0938},
-{"sadfinalarabic", 0xFEBA},
-{"sadinitialarabic", 0xFEBB},
-{"sadmedialarabic", 0xFEBC},
-{"sagujarati", 0x0AB8},
-{"sagurmukhi", 0x0A38},
-{"sahiragana", 0x3055},
-{"sakatakana", 0x30B5},
-{"sakatakanahalfwidth", 0xFF7B},
-{"sallallahoualayhewasallamarabic", 0xFDFA},
-{"samekh", 0x05E1},
-{"samekhdagesh", 0xFB41},
-{"samekhdageshhebrew", 0xFB41},
-{"samekhhebrew", 0x05E1},
-{"saraaathai", 0x0E32},
-{"saraaethai", 0x0E41},
-{"saraaimaimalaithai", 0x0E44},
-{"saraaimaimuanthai", 0x0E43},
-{"saraamthai", 0x0E33},
-{"saraathai", 0x0E30},
-{"saraethai", 0x0E40},
-{"saraiileftthai", 0xF886},
-{"saraiithai", 0x0E35},
-{"saraileftthai", 0xF885},
-{"saraithai", 0x0E34},
-{"saraothai", 0x0E42},
-{"saraueeleftthai", 0xF888},
-{"saraueethai", 0x0E37},
-{"saraueleftthai", 0xF887},
-{"sarauethai", 0x0E36},
-{"sarauthai", 0x0E38},
-{"sarauuthai", 0x0E39},
-{"sbopomofo", 0x3119},
-{"scaron", 0x0161},
-{"scarondotaccent", 0x1E67},
-{"scedilla", 0x015F},
-{"schwa", 0x0259},
-{"schwacyrillic", 0x04D9},
-{"schwadieresiscyrillic", 0x04DB},
-{"schwahook", 0x025A},
-{"scircle", 0x24E2},
-{"scircumflex", 0x015D},
-{"scommaaccent", 0x0219},
-{"sdotaccent", 0x1E61},
-{"sdotbelow", 0x1E63},
-{"sdotbelowdotaccent", 0x1E69},
-{"seagullbelowcmb", 0x033C},
-{"second", 0x2033},
-{"secondtonechinese", 0x02CA},
-{"section", 0x00A7},
-{"seenarabic", 0x0633},
-{"seenfinalarabic", 0xFEB2},
-{"seeninitialarabic", 0xFEB3},
-{"seenmedialarabic", 0xFEB4},
-{"segol", 0x05B6},
-{"segol13", 0x05B6},
-{"segol1f", 0x05B6},
-{"segol2c", 0x05B6},
-{"segolhebrew", 0x05B6},
-{"segolnarrowhebrew", 0x05B6},
-{"segolquarterhebrew", 0x05B6},
-{"segoltahebrew", 0x0592},
-{"segolwidehebrew", 0x05B6},
-{"seharmenian", 0x057D},
-{"sehiragana", 0x305B},
-{"sekatakana", 0x30BB},
-{"sekatakanahalfwidth", 0xFF7E},
-{"semicolon", 0x003B},
-{"semicolonarabic", 0x061B},
-{"semicolonmonospace", 0xFF1B},
-{"semicolonsmall", 0xFE54},
-{"semivoicedmarkkana", 0x309C},
-{"semivoicedmarkkanahalfwidth", 0xFF9F},
-{"sentisquare", 0x3322},
-{"sentosquare", 0x3323},
-{"seven", 0x0037},
-{"sevenarabic", 0x0667},
-{"sevenbengali", 0x09ED},
-{"sevencircle", 0x2466},
-{"sevencircleinversesansserif", 0x2790},
-{"sevendeva", 0x096D},
-{"seveneighths", 0x215E},
-{"sevengujarati", 0x0AED},
-{"sevengurmukhi", 0x0A6D},
-{"sevenhackarabic", 0x0667},
-{"sevenhangzhou", 0x3027},
-{"sevenideographicparen", 0x3226},
-{"seveninferior", 0x2087},
-{"sevenmonospace", 0xFF17},
-{"sevenoldstyle", 0xF737},
-{"sevenparen", 0x247A},
-{"sevenperiod", 0x248E},
-{"sevenpersian", 0x06F7},
-{"sevenroman", 0x2176},
-{"sevensuperior", 0x2077},
-{"seventeencircle", 0x2470},
-{"seventeenparen", 0x2484},
-{"seventeenperiod", 0x2498},
-{"seventhai", 0x0E57},
-{"sfthyphen", 0x00AD},
-{"shaarmenian", 0x0577},
-{"shabengali", 0x09B6},
-{"shacyrillic", 0x0448},
-{"shaddaarabic", 0x0651},
-{"shaddadammaarabic", 0xFC61},
-{"shaddadammatanarabic", 0xFC5E},
-{"shaddafathaarabic", 0xFC60},
-{"shaddafathatanarabic", 0x0651},
-{"shaddakasraarabic", 0xFC62},
-{"shaddakasratanarabic", 0xFC5F},
-{"shade", 0x2592},
-{"shadedark", 0x2593},
-{"shadelight", 0x2591},
-{"shademedium", 0x2592},
-{"shadeva", 0x0936},
-{"shagujarati", 0x0AB6},
-{"shagurmukhi", 0x0A36},
-{"shalshelethebrew", 0x0593},
-{"shbopomofo", 0x3115},
-{"shchacyrillic", 0x0449},
-{"sheenarabic", 0x0634},
-{"sheenfinalarabic", 0xFEB6},
-{"sheeninitialarabic", 0xFEB7},
-{"sheenmedialarabic", 0xFEB8},
-{"sheicoptic", 0x03E3},
-{"sheqel", 0x20AA},
-{"sheqelhebrew", 0x20AA},
-{"sheva", 0x05B0},
-{"sheva115", 0x05B0},
-{"sheva15", 0x05B0},
-{"sheva22", 0x05B0},
-{"sheva2e", 0x05B0},
-{"shevahebrew", 0x05B0},
-{"shevanarrowhebrew", 0x05B0},
-{"shevaquarterhebrew", 0x05B0},
-{"shevawidehebrew", 0x05B0},
-{"shhacyrillic", 0x04BB},
-{"shimacoptic", 0x03ED},
-{"shin", 0x05E9},
-{"shindagesh", 0xFB49},
-{"shindageshhebrew", 0xFB49},
-{"shindageshshindot", 0xFB2C},
-{"shindageshshindothebrew", 0xFB2C},
-{"shindageshsindot", 0xFB2D},
-{"shindageshsindothebrew", 0xFB2D},
-{"shindothebrew", 0x05C1},
-{"shinhebrew", 0x05E9},
-{"shinshindot", 0xFB2A},
-{"shinshindothebrew", 0xFB2A},
-{"shinsindot", 0xFB2B},
-{"shinsindothebrew", 0xFB2B},
-{"shook", 0x0282},
-{"sigma", 0x03C3},
-{"sigma1", 0x03C2},
-{"sigmafinal", 0x03C2},
-{"sigmalunatesymbolgreek", 0x03F2},
-{"sihiragana", 0x3057},
-{"sikatakana", 0x30B7},
-{"sikatakanahalfwidth", 0xFF7C},
-{"siluqhebrew", 0x05BD},
-{"siluqlefthebrew", 0x05BD},
-{"similar", 0x223C},
-{"sindothebrew", 0x05C2},
-{"siosacirclekorean", 0x3274},
-{"siosaparenkorean", 0x3214},
-{"sioscieuckorean", 0x317E},
-{"sioscirclekorean", 0x3266},
-{"sioskiyeokkorean", 0x317A},
-{"sioskorean", 0x3145},
-{"siosnieunkorean", 0x317B},
-{"siosparenkorean", 0x3206},
-{"siospieupkorean", 0x317D},
-{"siostikeutkorean", 0x317C},
-{"six", 0x0036},
-{"sixarabic", 0x0666},
-{"sixbengali", 0x09EC},
-{"sixcircle", 0x2465},
-{"sixcircleinversesansserif", 0x278F},
-{"sixdeva", 0x096C},
-{"sixgujarati", 0x0AEC},
-{"sixgurmukhi", 0x0A6C},
-{"sixhackarabic", 0x0666},
-{"sixhangzhou", 0x3026},
-{"sixideographicparen", 0x3225},
-{"sixinferior", 0x2086},
-{"sixmonospace", 0xFF16},
-{"sixoldstyle", 0xF736},
-{"sixparen", 0x2479},
-{"sixperiod", 0x248D},
-{"sixpersian", 0x06F6},
-{"sixroman", 0x2175},
-{"sixsuperior", 0x2076},
-{"sixteencircle", 0x246F},
-{"sixteencurrencydenominatorbengali", 0x09F9},
-{"sixteenparen", 0x2483},
-{"sixteenperiod", 0x2497},
-{"sixthai", 0x0E56},
-{"slash", 0x002F},
-{"slashmonospace", 0xFF0F},
-{"slong", 0x017F},
-{"slongdotaccent", 0x1E9B},
-{"smileface", 0x263A},
-{"smonospace", 0xFF53},
-{"sofpasuqhebrew", 0x05C3},
-{"softhyphen", 0x00AD},
-{"softsigncyrillic", 0x044C},
-{"sohiragana", 0x305D},
-{"sokatakana", 0x30BD},
-{"sokatakanahalfwidth", 0xFF7F},
-{"soliduslongoverlaycmb", 0x0338},
-{"solidusshortoverlaycmb", 0x0337},
-{"sorusithai", 0x0E29},
-{"sosalathai", 0x0E28},
-{"sosothai", 0x0E0B},
-{"sosuathai", 0x0E2A},
-{"space", 0x0020},
-{"spacehackarabic", 0x0020},
-{"spade", 0x2660},
-{"spadesuitblack", 0x2660},
-{"spadesuitwhite", 0x2664},
-{"sparen", 0x24AE},
-{"squarebelowcmb", 0x033B},
-{"squarecc", 0x33C4},
-{"squarecm", 0x339D},
-{"squarediagonalcrosshatchfill", 0x25A9},
-{"squarehorizontalfill", 0x25A4},
-{"squarekg", 0x338F},
-{"squarekm", 0x339E},
-{"squarekmcapital", 0x33CE},
-{"squareln", 0x33D1},
-{"squarelog", 0x33D2},
-{"squaremg", 0x338E},
-{"squaremil", 0x33D5},
-{"squaremm", 0x339C},
-{"squaremsquared", 0x33A1},
-{"squareorthogonalcrosshatchfill", 0x25A6},
-{"squareupperlefttolowerrightfill", 0x25A7},
-{"squareupperrighttolowerleftfill", 0x25A8},
-{"squareverticalfill", 0x25A5},
-{"squarewhitewithsmallblack", 0x25A3},
-{"srsquare", 0x33DB},
-{"ssabengali", 0x09B7},
-{"ssadeva", 0x0937},
-{"ssagujarati", 0x0AB7},
-{"ssangcieuckorean", 0x3149},
-{"ssanghieuhkorean", 0x3185},
-{"ssangieungkorean", 0x3180},
-{"ssangkiyeokkorean", 0x3132},
-{"ssangnieunkorean", 0x3165},
-{"ssangpieupkorean", 0x3143},
-{"ssangsioskorean", 0x3146},
-{"ssangtikeutkorean", 0x3138},
-{"ssuperior", 0xF6F2},
-{"sterling", 0x00A3},
-{"sterlingmonospace", 0xFFE1},
-{"strokelongoverlaycmb", 0x0336},
-{"strokeshortoverlaycmb", 0x0335},
-{"subset", 0x2282},
-{"subsetnotequal", 0x228A},
-{"subsetorequal", 0x2286},
-{"succeeds", 0x227B},
-{"suchthat", 0x220B},
-{"suhiragana", 0x3059},
-{"sukatakana", 0x30B9},
-{"sukatakanahalfwidth", 0xFF7D},
-{"sukunarabic", 0x0652},
-{"summation", 0x2211},
-{"sun", 0x263C},
-{"superset", 0x2283},
-{"supersetnotequal", 0x228B},
-{"supersetorequal", 0x2287},
-{"svsquare", 0x33DC},
-{"syouwaerasquare", 0x337C},
-{"t", 0x0074},
-{"tabengali", 0x09A4},
-{"tackdown", 0x22A4},
-{"tackleft", 0x22A3},
-{"tadeva", 0x0924},
-{"tagujarati", 0x0AA4},
-{"tagurmukhi", 0x0A24},
-{"taharabic", 0x0637},
-{"tahfinalarabic", 0xFEC2},
-{"tahinitialarabic", 0xFEC3},
-{"tahiragana", 0x305F},
-{"tahmedialarabic", 0xFEC4},
-{"taisyouerasquare", 0x337D},
-{"takatakana", 0x30BF},
-{"takatakanahalfwidth", 0xFF80},
-{"tatweelarabic", 0x0640},
-{"tau", 0x03C4},
-{"tav", 0x05EA},
-{"tavdages", 0xFB4A},
-{"tavdagesh", 0xFB4A},
-{"tavdageshhebrew", 0xFB4A},
-{"tavhebrew", 0x05EA},
-{"tbar", 0x0167},
-{"tbopomofo", 0x310A},
-{"tcaron", 0x0165},
-{"tccurl", 0x02A8},
-{"tcedilla", 0x0163},
-{"tcheharabic", 0x0686},
-{"tchehfinalarabic", 0xFB7B},
-{"tchehinitialarabic", 0xFB7C},
-{"tchehmedialarabic", 0xFB7D},
-{"tchehmeeminitialarabic", 0xFB7C},
-{"tcircle", 0x24E3},
-{"tcircumflexbelow", 0x1E71},
-{"tcommaaccent", 0x0163},
-{"tdieresis", 0x1E97},
-{"tdotaccent", 0x1E6B},
-{"tdotbelow", 0x1E6D},
-{"tecyrillic", 0x0442},
-{"tedescendercyrillic", 0x04AD},
-{"teharabic", 0x062A},
-{"tehfinalarabic", 0xFE96},
-{"tehhahinitialarabic", 0xFCA2},
-{"tehhahisolatedarabic", 0xFC0C},
-{"tehinitialarabic", 0xFE97},
-{"tehiragana", 0x3066},
-{"tehjeeminitialarabic", 0xFCA1},
-{"tehjeemisolatedarabic", 0xFC0B},
-{"tehmarbutaarabic", 0x0629},
-{"tehmarbutafinalarabic", 0xFE94},
-{"tehmedialarabic", 0xFE98},
-{"tehmeeminitialarabic", 0xFCA4},
-{"tehmeemisolatedarabic", 0xFC0E},
-{"tehnoonfinalarabic", 0xFC73},
-{"tekatakana", 0x30C6},
-{"tekatakanahalfwidth", 0xFF83},
-{"telephone", 0x2121},
-{"telephoneblack", 0x260E},
-{"telishagedolahebrew", 0x05A0},
-{"telishaqetanahebrew", 0x05A9},
-{"tencircle", 0x2469},
-{"tenideographicparen", 0x3229},
-{"tenparen", 0x247D},
-{"tenperiod", 0x2491},
-{"tenroman", 0x2179},
-{"tesh", 0x02A7},
-{"tet", 0x05D8},
-{"tetdagesh", 0xFB38},
-{"tetdageshhebrew", 0xFB38},
-{"tethebrew", 0x05D8},
-{"tetsecyrillic", 0x04B5},
-{"tevirhebrew", 0x059B},
-{"tevirlefthebrew", 0x059B},
-{"thabengali", 0x09A5},
-{"thadeva", 0x0925},
-{"thagujarati", 0x0AA5},
-{"thagurmukhi", 0x0A25},
-{"thalarabic", 0x0630},
-{"thalfinalarabic", 0xFEAC},
-{"thanthakhatlowleftthai", 0xF898},
-{"thanthakhatlowrightthai", 0xF897},
-{"thanthakhatthai", 0x0E4C},
-{"thanthakhatupperleftthai", 0xF896},
-{"theharabic", 0x062B},
-{"thehfinalarabic", 0xFE9A},
-{"thehinitialarabic", 0xFE9B},
-{"thehmedialarabic", 0xFE9C},
-{"thereexists", 0x2203},
-{"therefore", 0x2234},
-{"theta", 0x03B8},
-{"theta1", 0x03D1},
-{"thetasymbolgreek", 0x03D1},
-{"thieuthacirclekorean", 0x3279},
-{"thieuthaparenkorean", 0x3219},
-{"thieuthcirclekorean", 0x326B},
-{"thieuthkorean", 0x314C},
-{"thieuthparenkorean", 0x320B},
-{"thirteencircle", 0x246C},
-{"thirteenparen", 0x2480},
-{"thirteenperiod", 0x2494},
-{"thonangmonthothai", 0x0E11},
-{"thook", 0x01AD},
-{"thophuthaothai", 0x0E12},
-{"thorn", 0x00FE},
-{"thothahanthai", 0x0E17},
-{"thothanthai", 0x0E10},
-{"thothongthai", 0x0E18},
-{"thothungthai", 0x0E16},
-{"thousandcyrillic", 0x0482},
-{"thousandsseparatorarabic", 0x066C},
-{"thousandsseparatorpersian", 0x066C},
-{"three", 0x0033},
-{"threearabic", 0x0663},
-{"threebengali", 0x09E9},
-{"threecircle", 0x2462},
-{"threecircleinversesansserif", 0x278C},
-{"threedeva", 0x0969},
-{"threeeighths", 0x215C},
-{"threegujarati", 0x0AE9},
-{"threegurmukhi", 0x0A69},
-{"threehackarabic", 0x0663},
-{"threehangzhou", 0x3023},
-{"threeideographicparen", 0x3222},
-{"threeinferior", 0x2083},
-{"threemonospace", 0xFF13},
-{"threenumeratorbengali", 0x09F6},
-{"threeoldstyle", 0xF733},
-{"threeparen", 0x2476},
-{"threeperiod", 0x248A},
-{"threepersian", 0x06F3},
-{"threequarters", 0x00BE},
-{"threequartersemdash", 0xF6DE},
-{"threeroman", 0x2172},
-{"threesuperior", 0x00B3},
-{"threethai", 0x0E53},
-{"thzsquare", 0x3394},
-{"tihiragana", 0x3061},
-{"tikatakana", 0x30C1},
-{"tikatakanahalfwidth", 0xFF81},
-{"tikeutacirclekorean", 0x3270},
-{"tikeutaparenkorean", 0x3210},
-{"tikeutcirclekorean", 0x3262},
-{"tikeutkorean", 0x3137},
-{"tikeutparenkorean", 0x3202},
-{"tilde", 0x02DC},
-{"tildebelowcmb", 0x0330},
-{"tildecmb", 0x0303},
-{"tildecomb", 0x0303},
-{"tildedoublecmb", 0x0360},
-{"tildeoperator", 0x223C},
-{"tildeoverlaycmb", 0x0334},
-{"tildeverticalcmb", 0x033E},
-{"timescircle", 0x2297},
-{"tipehahebrew", 0x0596},
-{"tipehalefthebrew", 0x0596},
-{"tippigurmukhi", 0x0A70},
-{"titlocyrilliccmb", 0x0483},
-{"tiwnarmenian", 0x057F},
-{"tlinebelow", 0x1E6F},
-{"tmonospace", 0xFF54},
-{"toarmenian", 0x0569},
-{"tohiragana", 0x3068},
-{"tokatakana", 0x30C8},
-{"tokatakanahalfwidth", 0xFF84},
-{"tonebarextrahighmod", 0x02E5},
-{"tonebarextralowmod", 0x02E9},
-{"tonebarhighmod", 0x02E6},
-{"tonebarlowmod", 0x02E8},
-{"tonebarmidmod", 0x02E7},
-{"tonefive", 0x01BD},
-{"tonesix", 0x0185},
-{"tonetwo", 0x01A8},
-{"tonos", 0x0384},
-{"tonsquare", 0x3327},
-{"topatakthai", 0x0E0F},
-{"tortoiseshellbracketleft", 0x3014},
-{"tortoiseshellbracketleftsmall", 0xFE5D},
-{"tortoiseshellbracketleftvertical", 0xFE39},
-{"tortoiseshellbracketright", 0x3015},
-{"tortoiseshellbracketrightsmall", 0xFE5E},
-{"tortoiseshellbracketrightvertical", 0xFE3A},
-{"totaothai", 0x0E15},
-{"tpalatalhook", 0x01AB},
-{"tparen", 0x24AF},
-{"trademark", 0x2122},
-{"trademarksans", 0xF8EA},
-{"trademarkserif", 0xF6DB},
-{"tretroflexhook", 0x0288},
-{"triagdn", 0x25BC},
-{"triaglf", 0x25C4},
-{"triagrt", 0x25BA},
-{"triagup", 0x25B2},
-{"ts", 0x02A6},
-{"tsadi", 0x05E6},
-{"tsadidagesh", 0xFB46},
-{"tsadidageshhebrew", 0xFB46},
-{"tsadihebrew", 0x05E6},
-{"tsecyrillic", 0x0446},
-{"tsere", 0x05B5},
-{"tsere12", 0x05B5},
-{"tsere1e", 0x05B5},
-{"tsere2b", 0x05B5},
-{"tserehebrew", 0x05B5},
-{"tserenarrowhebrew", 0x05B5},
-{"tserequarterhebrew", 0x05B5},
-{"tserewidehebrew", 0x05B5},
-{"tshecyrillic", 0x045B},
-{"tsuperior", 0xF6F3},
-{"ttabengali", 0x099F},
-{"ttadeva", 0x091F},
-{"ttagujarati", 0x0A9F},
-{"ttagurmukhi", 0x0A1F},
-{"tteharabic", 0x0679},
-{"ttehfinalarabic", 0xFB67},
-{"ttehinitialarabic", 0xFB68},
-{"ttehmedialarabic", 0xFB69},
-{"tthabengali", 0x09A0},
-{"tthadeva", 0x0920},
-{"tthagujarati", 0x0AA0},
-{"tthagurmukhi", 0x0A20},
-{"tturned", 0x0287},
-{"tuhiragana", 0x3064},
-{"tukatakana", 0x30C4},
-{"tukatakanahalfwidth", 0xFF82},
-{"tusmallhiragana", 0x3063},
-{"tusmallkatakana", 0x30C3},
-{"tusmallkatakanahalfwidth", 0xFF6F},
-{"twelvecircle", 0x246B},
-{"twelveparen", 0x247F},
-{"twelveperiod", 0x2493},
-{"twelveroman", 0x217B},
-{"twentycircle", 0x2473},
-{"twentyhangzhou", 0x5344},
-{"twentyparen", 0x2487},
-{"twentyperiod", 0x249B},
-{"two", 0x0032},
-{"twoarabic", 0x0662},
-{"twobengali", 0x09E8},
-{"twocircle", 0x2461},
-{"twocircleinversesansserif", 0x278B},
-{"twodeva", 0x0968},
-{"twodotenleader", 0x2025},
-{"twodotleader", 0x2025},
-{"twodotleadervertical", 0xFE30},
-{"twogujarati", 0x0AE8},
-{"twogurmukhi", 0x0A68},
-{"twohackarabic", 0x0662},
-{"twohangzhou", 0x3022},
-{"twoideographicparen", 0x3221},
-{"twoinferior", 0x2082},
-{"twomonospace", 0xFF12},
-{"twonumeratorbengali", 0x09F5},
-{"twooldstyle", 0xF732},
-{"twoparen", 0x2475},
-{"twoperiod", 0x2489},
-{"twopersian", 0x06F2},
-{"tworoman", 0x2171},
-{"twostroke", 0x01BB},
-{"twosuperior", 0x00B2},
-{"twothai", 0x0E52},
-{"twothirds", 0x2154},
-{"u", 0x0075},
-{"uacute", 0x00FA},
-{"ubar", 0x0289},
-{"ubengali", 0x0989},
-{"ubopomofo", 0x3128},
-{"ubreve", 0x016D},
-{"ucaron", 0x01D4},
-{"ucircle", 0x24E4},
-{"ucircumflex", 0x00FB},
-{"ucircumflexbelow", 0x1E77},
-{"ucyrillic", 0x0443},
-{"udattadeva", 0x0951},
-{"udblacute", 0x0171},
-{"udblgrave", 0x0215},
-{"udeva", 0x0909},
-{"udieresis", 0x00FC},
-{"udieresisacute", 0x01D8},
-{"udieresisbelow", 0x1E73},
-{"udieresiscaron", 0x01DA},
-{"udieresiscyrillic", 0x04F1},
-{"udieresisgrave", 0x01DC},
-{"udieresismacron", 0x01D6},
-{"udotbelow", 0x1EE5},
-{"ugrave", 0x00F9},
-{"ugujarati", 0x0A89},
-{"ugurmukhi", 0x0A09},
-{"uhiragana", 0x3046},
-{"uhookabove", 0x1EE7},
-{"uhorn", 0x01B0},
-{"uhornacute", 0x1EE9},
-{"uhorndotbelow", 0x1EF1},
-{"uhorngrave", 0x1EEB},
-{"uhornhookabove", 0x1EED},
-{"uhorntilde", 0x1EEF},
-{"uhungarumlaut", 0x0171},
-{"uhungarumlautcyrillic", 0x04F3},
-{"uinvertedbreve", 0x0217},
-{"ukatakana", 0x30A6},
-{"ukatakanahalfwidth", 0xFF73},
-{"ukcyrillic", 0x0479},
-{"ukorean", 0x315C},
-{"umacron", 0x016B},
-{"umacroncyrillic", 0x04EF},
-{"umacrondieresis", 0x1E7B},
-{"umatragurmukhi", 0x0A41},
-{"umonospace", 0xFF55},
-{"underscore", 0x005F},
-{"underscoredbl", 0x2017},
-{"underscoremonospace", 0xFF3F},
-{"underscorevertical", 0xFE33},
-{"underscorewavy", 0xFE4F},
-{"union", 0x222A},
-{"universal", 0x2200},
-{"uogonek", 0x0173},
-{"uparen", 0x24B0},
-{"upblock", 0x2580},
-{"upperdothebrew", 0x05C4},
-{"upsilon", 0x03C5},
-{"upsilondieresis", 0x03CB},
-{"upsilondieresistonos", 0x03B0},
-{"upsilonlatin", 0x028A},
-{"upsilontonos", 0x03CD},
-{"uptackbelowcmb", 0x031D},
-{"uptackmod", 0x02D4},
-{"uragurmukhi", 0x0A73},
-{"uring", 0x016F},
-{"ushortcyrillic", 0x045E},
-{"usmallhiragana", 0x3045},
-{"usmallkatakana", 0x30A5},
-{"usmallkatakanahalfwidth", 0xFF69},
-{"ustraightcyrillic", 0x04AF},
-{"ustraightstrokecyrillic", 0x04B1},
-{"utilde", 0x0169},
-{"utildeacute", 0x1E79},
-{"utildebelow", 0x1E75},
-{"uubengali", 0x098A},
-{"uudeva", 0x090A},
-{"uugujarati", 0x0A8A},
-{"uugurmukhi", 0x0A0A},
-{"uumatragurmukhi", 0x0A42},
-{"uuvowelsignbengali", 0x09C2},
-{"uuvowelsigndeva", 0x0942},
-{"uuvowelsigngujarati", 0x0AC2},
-{"uvowelsignbengali", 0x09C1},
-{"uvowelsigndeva", 0x0941},
-{"uvowelsigngujarati", 0x0AC1},
-{"v", 0x0076},
-{"vadeva", 0x0935},
-{"vagujarati", 0x0AB5},
-{"vagurmukhi", 0x0A35},
-{"vakatakana", 0x30F7},
-{"vav", 0x05D5},
-{"vavdagesh", 0xFB35},
-{"vavdagesh65", 0xFB35},
-{"vavdageshhebrew", 0xFB35},
-{"vavhebrew", 0x05D5},
-{"vavholam", 0xFB4B},
-{"vavholamhebrew", 0xFB4B},
-{"vavvavhebrew", 0x05F0},
-{"vavyodhebrew", 0x05F1},
-{"vcircle", 0x24E5},
-{"vdotbelow", 0x1E7F},
-{"vecyrillic", 0x0432},
-{"veharabic", 0x06A4},
-{"vehfinalarabic", 0xFB6B},
-{"vehinitialarabic", 0xFB6C},
-{"vehmedialarabic", 0xFB6D},
-{"vekatakana", 0x30F9},
-{"venus", 0x2640},
-{"verticalbar", 0x007C},
-{"verticallineabovecmb", 0x030D},
-{"verticallinebelowcmb", 0x0329},
-{"verticallinelowmod", 0x02CC},
-{"verticallinemod", 0x02C8},
-{"vewarmenian", 0x057E},
-{"vhook", 0x028B},
-{"vikatakana", 0x30F8},
-{"viramabengali", 0x09CD},
-{"viramadeva", 0x094D},
-{"viramagujarati", 0x0ACD},
-{"visargabengali", 0x0983},
-{"visargadeva", 0x0903},
-{"visargagujarati", 0x0A83},
-{"vmonospace", 0xFF56},
-{"voarmenian", 0x0578},
-{"voicediterationhiragana", 0x309E},
-{"voicediterationkatakana", 0x30FE},
-{"voicedmarkkana", 0x309B},
-{"voicedmarkkanahalfwidth", 0xFF9E},
-{"vokatakana", 0x30FA},
-{"vparen", 0x24B1},
-{"vtilde", 0x1E7D},
-{"vturned", 0x028C},
-{"vuhiragana", 0x3094},
-{"vukatakana", 0x30F4},
-{"w", 0x0077},
-{"wacute", 0x1E83},
-{"waekorean", 0x3159},
-{"wahiragana", 0x308F},
-{"wakatakana", 0x30EF},
-{"wakatakanahalfwidth", 0xFF9C},
-{"wakorean", 0x3158},
-{"wasmallhiragana", 0x308E},
-{"wasmallkatakana", 0x30EE},
-{"wattosquare", 0x3357},
-{"wavedash", 0x301C},
-{"wavyunderscorevertical", 0xFE34},
-{"wawarabic", 0x0648},
-{"wawfinalarabic", 0xFEEE},
-{"wawhamzaabovearabic", 0x0624},
-{"wawhamzaabovefinalarabic", 0xFE86},
-{"wbsquare", 0x33DD},
-{"wcircle", 0x24E6},
-{"wcircumflex", 0x0175},
-{"wdieresis", 0x1E85},
-{"wdotaccent", 0x1E87},
-{"wdotbelow", 0x1E89},
-{"wehiragana", 0x3091},
-{"weierstrass", 0x2118},
-{"wekatakana", 0x30F1},
-{"wekorean", 0x315E},
-{"weokorean", 0x315D},
-{"wgrave", 0x1E81},
-{"whitebullet", 0x25E6},
-{"whitecircle", 0x25CB},
-{"whitecircleinverse", 0x25D9},
-{"whitecornerbracketleft", 0x300E},
-{"whitecornerbracketleftvertical", 0xFE43},
-{"whitecornerbracketright", 0x300F},
-{"whitecornerbracketrightvertical", 0xFE44},
-{"whitediamond", 0x25C7},
-{"whitediamondcontainingblacksmalldiamond", 0x25C8},
-{"whitedownpointingsmalltriangle", 0x25BF},
-{"whitedownpointingtriangle", 0x25BD},
-{"whiteleftpointingsmalltriangle", 0x25C3},
-{"whiteleftpointingtriangle", 0x25C1},
-{"whitelenticularbracketleft", 0x3016},
-{"whitelenticularbracketright", 0x3017},
-{"whiterightpointingsmalltriangle", 0x25B9},
-{"whiterightpointingtriangle", 0x25B7},
-{"whitesmallsquare", 0x25AB},
-{"whitesmilingface", 0x263A},
-{"whitesquare", 0x25A1},
-{"whitestar", 0x2606},
-{"whitetelephone", 0x260F},
-{"whitetortoiseshellbracketleft", 0x3018},
-{"whitetortoiseshellbracketright", 0x3019},
-{"whiteuppointingsmalltriangle", 0x25B5},
-{"whiteuppointingtriangle", 0x25B3},
-{"wihiragana", 0x3090},
-{"wikatakana", 0x30F0},
-{"wikorean", 0x315F},
-{"wmonospace", 0xFF57},
-{"wohiragana", 0x3092},
-{"wokatakana", 0x30F2},
-{"wokatakanahalfwidth", 0xFF66},
-{"won", 0x20A9},
-{"wonmonospace", 0xFFE6},
-{"wowaenthai", 0x0E27},
-{"wparen", 0x24B2},
-{"wring", 0x1E98},
-{"wsuperior", 0x02B7},
-{"wturned", 0x028D},
-{"wynn", 0x01BF},
-{"x", 0x0078},
-{"xabovecmb", 0x033D},
-{"xbopomofo", 0x3112},
-{"xcircle", 0x24E7},
-{"xdieresis", 0x1E8D},
-{"xdotaccent", 0x1E8B},
-{"xeharmenian", 0x056D},
-{"xi", 0x03BE},
-{"xmonospace", 0xFF58},
-{"xparen", 0x24B3},
-{"xsuperior", 0x02E3},
-{"y", 0x0079},
-{"yaadosquare", 0x334E},
-{"yabengali", 0x09AF},
-{"yacute", 0x00FD},
-{"yadeva", 0x092F},
-{"yaekorean", 0x3152},
-{"yagujarati", 0x0AAF},
-{"yagurmukhi", 0x0A2F},
-{"yahiragana", 0x3084},
-{"yakatakana", 0x30E4},
-{"yakatakanahalfwidth", 0xFF94},
-{"yakorean", 0x3151},
-{"yamakkanthai", 0x0E4E},
-{"yasmallhiragana", 0x3083},
-{"yasmallkatakana", 0x30E3},
-{"yasmallkatakanahalfwidth", 0xFF6C},
-{"yatcyrillic", 0x0463},
-{"ycircle", 0x24E8},
-{"ycircumflex", 0x0177},
-{"ydieresis", 0x00FF},
-{"ydotaccent", 0x1E8F},
-{"ydotbelow", 0x1EF5},
-{"yeharabic", 0x064A},
-{"yehbarreearabic", 0x06D2},
-{"yehbarreefinalarabic", 0xFBAF},
-{"yehfinalarabic", 0xFEF2},
-{"yehhamzaabovearabic", 0x0626},
-{"yehhamzaabovefinalarabic", 0xFE8A},
-{"yehhamzaaboveinitialarabic", 0xFE8B},
-{"yehhamzaabovemedialarabic", 0xFE8C},
-{"yehinitialarabic", 0xFEF3},
-{"yehmedialarabic", 0xFEF4},
-{"yehmeeminitialarabic", 0xFCDD},
-{"yehmeemisolatedarabic", 0xFC58},
-{"yehnoonfinalarabic", 0xFC94},
-{"yehthreedotsbelowarabic", 0x06D1},
-{"yekorean", 0x3156},
-{"yen", 0x00A5},
-{"yenmonospace", 0xFFE5},
-{"yeokorean", 0x3155},
-{"yeorinhieuhkorean", 0x3186},
-{"yerahbenyomohebrew", 0x05AA},
-{"yerahbenyomolefthebrew", 0x05AA},
-{"yericyrillic", 0x044B},
-{"yerudieresiscyrillic", 0x04F9},
-{"yesieungkorean", 0x3181},
-{"yesieungpansioskorean", 0x3183},
-{"yesieungsioskorean", 0x3182},
-{"yetivhebrew", 0x059A},
-{"ygrave", 0x1EF3},
-{"yhook", 0x01B4},
-{"yhookabove", 0x1EF7},
-{"yiarmenian", 0x0575},
-{"yicyrillic", 0x0457},
-{"yikorean", 0x3162},
-{"yinyang", 0x262F},
-{"yiwnarmenian", 0x0582},
-{"ymonospace", 0xFF59},
-{"yod", 0x05D9},
-{"yoddagesh", 0xFB39},
-{"yoddageshhebrew", 0xFB39},
-{"yodhebrew", 0x05D9},
-{"yodyodhebrew", 0x05F2},
-{"yodyodpatahhebrew", 0xFB1F},
-{"yohiragana", 0x3088},
-{"yoikorean", 0x3189},
-{"yokatakana", 0x30E8},
-{"yokatakanahalfwidth", 0xFF96},
-{"yokorean", 0x315B},
-{"yosmallhiragana", 0x3087},
-{"yosmallkatakana", 0x30E7},
-{"yosmallkatakanahalfwidth", 0xFF6E},
-{"yotgreek", 0x03F3},
-{"yoyaekorean", 0x3188},
-{"yoyakorean", 0x3187},
-{"yoyakthai", 0x0E22},
-{"yoyingthai", 0x0E0D},
-{"yparen", 0x24B4},
-{"ypogegrammeni", 0x037A},
-{"ypogegrammenigreekcmb", 0x0345},
-{"yr", 0x01A6},
-{"yring", 0x1E99},
-{"ysuperior", 0x02B8},
-{"ytilde", 0x1EF9},
-{"yturned", 0x028E},
-{"yuhiragana", 0x3086},
-{"yuikorean", 0x318C},
-{"yukatakana", 0x30E6},
-{"yukatakanahalfwidth", 0xFF95},
-{"yukorean", 0x3160},
-{"yusbigcyrillic", 0x046B},
-{"yusbigiotifiedcyrillic", 0x046D},
-{"yuslittlecyrillic", 0x0467},
-{"yuslittleiotifiedcyrillic", 0x0469},
-{"yusmallhiragana", 0x3085},
-{"yusmallkatakana", 0x30E5},
-{"yusmallkatakanahalfwidth", 0xFF6D},
-{"yuyekorean", 0x318B},
-{"yuyeokorean", 0x318A},
-{"yyabengali", 0x09DF},
-{"yyadeva", 0x095F},
-{"z", 0x007A},
-{"zaarmenian", 0x0566},
-{"zacute", 0x017A},
-{"zadeva", 0x095B},
-{"zagurmukhi", 0x0A5B},
-{"zaharabic", 0x0638},
-{"zahfinalarabic", 0xFEC6},
-{"zahinitialarabic", 0xFEC7},
-{"zahiragana", 0x3056},
-{"zahmedialarabic", 0xFEC8},
-{"zainarabic", 0x0632},
-{"zainfinalarabic", 0xFEB0},
-{"zakatakana", 0x30B6},
-{"zaqefgadolhebrew", 0x0595},
-{"zaqefqatanhebrew", 0x0594},
-{"zarqahebrew", 0x0598},
-{"zayin", 0x05D6},
-{"zayindagesh", 0xFB36},
-{"zayindageshhebrew", 0xFB36},
-{"zayinhebrew", 0x05D6},
-{"zbopomofo", 0x3117},
-{"zcaron", 0x017E},
-{"zcircle", 0x24E9},
-{"zcircumflex", 0x1E91},
-{"zcurl", 0x0291},
-{"zdot", 0x017C},
-{"zdotaccent", 0x017C},
-{"zdotbelow", 0x1E93},
-{"zecyrillic", 0x0437},
-{"zedescendercyrillic", 0x0499},
-{"zedieresiscyrillic", 0x04DF},
-{"zehiragana", 0x305C},
-{"zekatakana", 0x30BC},
-{"zero", 0x0030},
-{"zeroarabic", 0x0660},
-{"zerobengali", 0x09E6},
-{"zerodeva", 0x0966},
-{"zerogujarati", 0x0AE6},
-{"zerogurmukhi", 0x0A66},
-{"zerohackarabic", 0x0660},
-{"zeroinferior", 0x2080},
-{"zeromonospace", 0xFF10},
-{"zerooldstyle", 0xF730},
-{"zeropersian", 0x06F0},
-{"zerosuperior", 0x2070},
-{"zerothai", 0x0E50},
-{"zerowidthjoiner", 0xFEFF},
-{"zerowidthnonjoiner", 0x200C},
-{"zerowidthspace", 0x200B},
-{"zeta", 0x03B6},
-{"zhbopomofo", 0x3113},
-{"zhearmenian", 0x056A},
-{"zhebrevecyrillic", 0x04C2},
-{"zhecyrillic", 0x0436},
-{"zhedescendercyrillic", 0x0497},
-{"zhedieresiscyrillic", 0x04DD},
-{"zihiragana", 0x3058},
-{"zikatakana", 0x30B8},
-{"zinorhebrew", 0x05AE},
-{"zlinebelow", 0x1E95},
-{"zmonospace", 0xFF5A},
-{"zohiragana", 0x305E},
-{"zokatakana", 0x30BE},
-{"zparen", 0x24B5},
-{"zretroflexhook", 0x0290},
-{"zstroke", 0x01B6},
-{"zuhiragana", 0x305A},
-{"zukatakana", 0x30BA},
-};
-
-static const struct { int ucs; int ofs; }
-agl_dup_codes[] = {
-{0x0020, 0},
-{0x007C, 3},
-{0x00A0, 6},
-{0x00AD, 9},
-{0x00AF, 12},
-{0x00B5, 15},
-{0x00B7, 18},
-{0x010A, 21},
-{0x010B, 24},
-{0x0110, 27},
-{0x0111, 30},
-{0x0116, 33},
-{0x0117, 36},
-{0x0120, 39},
-{0x0121, 42},
-{0x0122, 45},
-{0x0123, 48},
-{0x0130, 51},
-{0x0136, 54},
-{0x0137, 57},
-{0x013B, 60},
-{0x013C, 63},
-{0x013F, 66},
-{0x0140, 69},
-{0x0145, 72},
-{0x0146, 75},
-{0x0149, 78},
-{0x0150, 81},
-{0x0151, 84},
-{0x0156, 87},
-{0x0157, 90},
-{0x0162, 93},
-{0x0163, 96},
-{0x0170, 99},
-{0x0171, 102},
-{0x017B, 105},
-{0x017C, 108},
-{0x017F, 111},
-{0x01FE, 114},
-{0x01FF, 117},
-{0x02BC, 120},
-{0x02BD, 123},
-{0x02DC, 126},
-{0x0300, 129},
-{0x0301, 132},
-{0x0303, 135},
-{0x0309, 138},
-{0x0323, 141},
-{0x0385, 144},
-{0x03C2, 147},
-{0x03D1, 150},
-{0x03D2, 153},
-{0x03D5, 156},
-{0x03D6, 159},
-{0x0401, 162},
-{0x0402, 165},
-{0x0403, 168},
-{0x0404, 171},
-{0x0405, 174},
-{0x0406, 177},
-{0x0407, 180},
-{0x0408, 183},
-{0x0409, 186},
-{0x040A, 189},
-{0x040B, 192},
-{0x040C, 195},
-{0x040E, 198},
-{0x040F, 201},
-{0x0410, 204},
-{0x0411, 207},
-{0x0412, 210},
-{0x0413, 213},
-{0x0414, 216},
-{0x0415, 219},
-{0x0416, 222},
-{0x0417, 225},
-{0x0418, 228},
-{0x0419, 231},
-{0x041A, 234},
-{0x041B, 237},
-{0x041C, 240},
-{0x041D, 243},
-{0x041E, 246},
-{0x041F, 249},
-{0x0420, 252},
-{0x0421, 255},
-{0x0422, 258},
-{0x0423, 261},
-{0x0424, 264},
-{0x0425, 267},
-{0x0426, 270},
-{0x0427, 273},
-{0x0428, 276},
-{0x0429, 279},
-{0x042A, 282},
-{0x042B, 285},
-{0x042C, 288},
-{0x042D, 291},
-{0x042E, 294},
-{0x042F, 297},
-{0x0430, 300},
-{0x0431, 303},
-{0x0432, 306},
-{0x0433, 309},
-{0x0434, 312},
-{0x0435, 315},
-{0x0436, 318},
-{0x0437, 321},
-{0x0438, 324},
-{0x0439, 327},
-{0x043A, 330},
-{0x043B, 333},
-{0x043C, 336},
-{0x043D, 339},
-{0x043E, 342},
-{0x043F, 345},
-{0x0440, 348},
-{0x0441, 351},
-{0x0442, 354},
-{0x0443, 357},
-{0x0444, 360},
-{0x0445, 363},
-{0x0446, 366},
-{0x0447, 369},
-{0x0448, 372},
-{0x0449, 375},
-{0x044A, 378},
-{0x044B, 381},
-{0x044C, 384},
-{0x044D, 387},
-{0x044E, 390},
-{0x044F, 393},
-{0x0451, 396},
-{0x0452, 399},
-{0x0453, 402},
-{0x0454, 405},
-{0x0455, 408},
-{0x0456, 411},
-{0x0457, 414},
-{0x0458, 417},
-{0x0459, 420},
-{0x045A, 423},
-{0x045B, 426},
-{0x045C, 429},
-{0x045E, 432},
-{0x045F, 435},
-{0x0462, 438},
-{0x0463, 441},
-{0x0472, 444},
-{0x0473, 447},
-{0x0474, 450},
-{0x0475, 453},
-{0x0490, 456},
-{0x0491, 459},
-{0x04D9, 462},
-{0x0591, 465},
-{0x0596, 470},
-{0x0597, 473},
-{0x059B, 476},
-{0x05A3, 479},
-{0x05A4, 482},
-{0x05A5, 485},
-{0x05A6, 488},
-{0x05A7, 491},
-{0x05AA, 494},
-{0x05B0, 497},
-{0x05B1, 508},
-{0x05B2, 518},
-{0x05B3, 528},
-{0x05B4, 538},
-{0x05B5, 548},
-{0x05B6, 558},
-{0x05B7, 568},
-{0x05B8, 578},
-{0x05B9, 596},
-{0x05BB, 606},
-{0x05BC, 616},
-{0x05BD, 620},
-{0x05BE, 624},
-{0x05BF, 627},
-{0x05C0, 631},
-{0x05C1, 634},
-{0x05C2, 637},
-{0x05C3, 640},
-{0x05D0, 643},
-{0x05D1, 647},
-{0x05D2, 651},
-{0x05D3, 655},
-{0x05D4, 679},
-{0x05D5, 683},
-{0x05D6, 687},
-{0x05D7, 691},
-{0x05D8, 695},
-{0x05D9, 699},
-{0x05DA, 703},
-{0x05DB, 711},
-{0x05DC, 715},
-{0x05DD, 723},
-{0x05DE, 727},
-{0x05DF, 731},
-{0x05E0, 735},
-{0x05E1, 739},
-{0x05E2, 743},
-{0x05E3, 747},
-{0x05E4, 751},
-{0x05E5, 755},
-{0x05E6, 759},
-{0x05E7, 763},
-{0x05E8, 787},
-{0x05E9, 811},
-{0x05EA, 815},
-{0x05F0, 819},
-{0x05F1, 822},
-{0x05F2, 825},
-{0x060C, 828},
-{0x061B, 831},
-{0x061F, 834},
-{0x0621, 837},
-{0x0622, 848},
-{0x0623, 851},
-{0x0624, 854},
-{0x0625, 857},
-{0x0626, 860},
-{0x0627, 863},
-{0x0628, 866},
-{0x0629, 869},
-{0x062A, 872},
-{0x062B, 875},
-{0x062C, 878},
-{0x062D, 881},
-{0x062E, 884},
-{0x062F, 887},
-{0x0630, 890},
-{0x0631, 893},
-{0x0632, 897},
-{0x0633, 900},
-{0x0634, 903},
-{0x0635, 906},
-{0x0636, 909},
-{0x0637, 912},
-{0x0638, 915},
-{0x0639, 918},
-{0x063A, 921},
-{0x0640, 924},
-{0x0641, 929},
-{0x0642, 932},
-{0x0643, 935},
-{0x0644, 938},
-{0x0645, 941},
-{0x0646, 944},
-{0x0647, 947},
-{0x0648, 950},
-{0x0649, 953},
-{0x064A, 956},
-{0x064B, 959},
-{0x064C, 962},
-{0x064D, 966},
-{0x064E, 969},
-{0x064F, 973},
-{0x0650, 977},
-{0x0651, 980},
-{0x0652, 984},
-{0x0660, 987},
-{0x0661, 991},
-{0x0662, 995},
-{0x0663, 999},
-{0x0664, 1003},
-{0x0665, 1007},
-{0x0666, 1011},
-{0x0667, 1015},
-{0x0668, 1019},
-{0x0669, 1023},
-{0x066A, 1027},
-{0x066B, 1030},
-{0x066C, 1033},
-{0x066D, 1036},
-{0x0679, 1040},
-{0x067E, 1043},
-{0x0686, 1046},
-{0x0688, 1049},
-{0x0691, 1052},
-{0x0698, 1055},
-{0x06A4, 1058},
-{0x06AF, 1061},
-{0x06BA, 1064},
-{0x06C1, 1067},
-{0x06D2, 1070},
-{0x200C, 1073},
-{0x2015, 1076},
-{0x2017, 1079},
-{0x201B, 1082},
-{0x2025, 1085},
-{0x20A1, 1088},
-{0x20A4, 1091},
-{0x20AA, 1094},
-{0x20AC, 1099},
-{0x2105, 1102},
-{0x2113, 1105},
-{0x2116, 1108},
-{0x2126, 1111},
-{0x21A8, 1114},
-{0x21D0, 1117},
-{0x21D2, 1120},
-{0x21D4, 1123},
-{0x2200, 1126},
-{0x2203, 1129},
-{0x2206, 1132},
-{0x2207, 1135},
-{0x2209, 1138},
-{0x221F, 1141},
-{0x223C, 1144},
-{0x2245, 1147},
-{0x2282, 1150},
-{0x2283, 1153},
-{0x2286, 1156},
-{0x2287, 1159},
-{0x2295, 1162},
-{0x2297, 1165},
-{0x2310, 1168},
-{0x2320, 1171},
-{0x2321, 1174},
-{0x2591, 1177},
-{0x2592, 1180},
-{0x2593, 1183},
-{0x25A0, 1186},
-{0x25A1, 1189},
-{0x25AA, 1192},
-{0x25AB, 1195},
-{0x25AC, 1198},
-{0x25B2, 1201},
-{0x25BA, 1204},
-{0x25BC, 1207},
-{0x25C4, 1210},
-{0x25CB, 1213},
-{0x25CF, 1216},
-{0x25D8, 1219},
-{0x25D9, 1222},
-{0x25E6, 1225},
-{0x263A, 1228},
-{0x263B, 1231},
-{0x263C, 1234},
-{0x2640, 1237},
-{0x2642, 1240},
-{0x2660, 1243},
-{0x2663, 1246},
-{0x2665, 1249},
-{0x266B, 1252},
-{0xFB1F, 1255},
-{0xFB2A, 1260},
-{0xFB2B, 1264},
-{0xFB2C, 1268},
-{0xFB2D, 1271},
-{0xFB31, 1274},
-{0xFB32, 1277},
-{0xFB33, 1280},
-{0xFB34, 1283},
-{0xFB35, 1286},
-{0xFB36, 1291},
-{0xFB38, 1294},
-{0xFB39, 1297},
-{0xFB3A, 1300},
-{0xFB3B, 1303},
-{0xFB3C, 1306},
-{0xFB3E, 1309},
-{0xFB40, 1312},
-{0xFB41, 1315},
-{0xFB44, 1318},
-{0xFB46, 1321},
-{0xFB47, 1324},
-{0xFB49, 1327},
-{0xFB4A, 1330},
-{0xFB4B, 1334},
-{0xFB7C, 1338},
-{0xFEDF, 1341},
-{0xFEE7, 1345},
-{0xFEEA, 1348},
-{0xFEF3, 1351},
-{0xFEF4, 1354},
-};
-
-static char *agl_dup_names[] = {
-"space", "spacehackarabic", 0,
-"bar", "verticalbar", 0,
-"nbspace", "nonbreakingspace", 0,
-"sfthyphen", "softhyphen", 0,
-"macron", "overscore", 0,
-"mu", "mu1", 0,
-"middot", "periodcentered", 0,
-"Cdot", "Cdotaccent", 0,
-"cdot", "cdotaccent", 0,
-"Dcroat", "Dslash", 0,
-"dcroat", "dmacron", 0,
-"Edot", "Edotaccent", 0,
-"edot", "edotaccent", 0,
-"Gdot", "Gdotaccent", 0,
-"gdot", "gdotaccent", 0,
-"Gcedilla", "Gcommaaccent", 0,
-"gcedilla", "gcommaaccent", 0,
-"Idot", "Idotaccent", 0,
-"Kcedilla", "Kcommaaccent", 0,
-"kcedilla", "kcommaaccent", 0,
-"Lcedilla", "Lcommaaccent", 0,
-"lcedilla", "lcommaaccent", 0,
-"Ldot", "Ldotaccent", 0,
-"ldot", "ldotaccent", 0,
-"Ncedilla", "Ncommaaccent", 0,
-"ncedilla", "ncommaaccent", 0,
-"napostrophe", "quoterightn", 0,
-"Odblacute", "Ohungarumlaut", 0,
-"odblacute", "ohungarumlaut", 0,
-"Rcedilla", "Rcommaaccent", 0,
-"rcedilla", "rcommaaccent", 0,
-"Tcedilla", "Tcommaaccent", 0,
-"tcedilla", "tcommaaccent", 0,
-"Udblacute", "Uhungarumlaut", 0,
-"udblacute", "uhungarumlaut", 0,
-"Zdot", "Zdotaccent", 0,
-"zdot", "zdotaccent", 0,
-"longs", "slong", 0,
-"Oslashacute", "Ostrokeacute", 0,
-"oslashacute", "ostrokeacute", 0,
-"afii57929", "apostrophemod", 0,
-"afii64937", "commareversedmod", 0,
-"ilde", "tilde", 0,
-"gravecmb", "gravecomb", 0,
-"acutecmb", "acutecomb", 0,
-"tildecmb", "tildecomb", 0,
-"hookabovecomb", "hookcmb", 0,
-"dotbelowcmb", "dotbelowcomb", 0,
-"dialytikatonos", "dieresistonos", 0,
-"sigma1", "sigmafinal", 0,
-"theta1", "thetasymbolgreek", 0,
-"Upsilon1", "Upsilonhooksymbol", 0,
-"phi1", "phisymbolgreek", 0,
-"omega1", "pisymbolgreek", 0,
-"Iocyrillic", "afii10023", 0,
-"Djecyrillic", "afii10051", 0,
-"Gjecyrillic", "afii10052", 0,
-"Ecyrillic", "afii10053", 0,
-"Dzecyrillic", "afii10054", 0,
-"Icyrillic", "afii10055", 0,
-"Yicyrillic", "afii10056", 0,
-"Jecyrillic", "afii10057", 0,
-"Ljecyrillic", "afii10058", 0,
-"Njecyrillic", "afii10059", 0,
-"Tshecyrillic", "afii10060", 0,
-"Kjecyrillic", "afii10061", 0,
-"Ushortcyrillic", "afii10062", 0,
-"Dzhecyrillic", "afii10145", 0,
-"Acyrillic", "afii10017", 0,
-"Becyrillic", "afii10018", 0,
-"Vecyrillic", "afii10019", 0,
-"Gecyrillic", "afii10020", 0,
-"Decyrillic", "afii10021", 0,
-"Iecyrillic", "afii10022", 0,
-"Zhecyrillic", "afii10024", 0,
-"Zecyrillic", "afii10025", 0,
-"Iicyrillic", "afii10026", 0,
-"Iishortcyrillic", "afii10027", 0,
-"Kacyrillic", "afii10028", 0,
-"Elcyrillic", "afii10029", 0,
-"Emcyrillic", "afii10030", 0,
-"Encyrillic", "afii10031", 0,
-"Ocyrillic", "afii10032", 0,
-"Pecyrillic", "afii10033", 0,
-"Ercyrillic", "afii10034", 0,
-"Escyrillic", "afii10035", 0,
-"Tecyrillic", "afii10036", 0,
-"Ucyrillic", "afii10037", 0,
-"Efcyrillic", "afii10038", 0,
-"Khacyrillic", "afii10039", 0,
-"Tsecyrillic", "afii10040", 0,
-"Checyrillic", "afii10041", 0,
-"Shacyrillic", "afii10042", 0,
-"Shchacyrillic", "afii10043", 0,
-"Hardsigncyrillic", "afii10044", 0,
-"Yericyrillic", "afii10045", 0,
-"Softsigncyrillic", "afii10046", 0,
-"Ereversedcyrillic", "afii10047", 0,
-"IUcyrillic", "afii10048", 0,
-"IAcyrillic", "afii10049", 0,
-"acyrillic", "afii10065", 0,
-"afii10066", "becyrillic", 0,
-"afii10067", "vecyrillic", 0,
-"afii10068", "gecyrillic", 0,
-"afii10069", "decyrillic", 0,
-"afii10070", "iecyrillic", 0,
-"afii10072", "zhecyrillic", 0,
-"afii10073", "zecyrillic", 0,
-"afii10074", "iicyrillic", 0,
-"afii10075", "iishortcyrillic", 0,
-"afii10076", "kacyrillic", 0,
-"afii10077", "elcyrillic", 0,
-"afii10078", "emcyrillic", 0,
-"afii10079", "encyrillic", 0,
-"afii10080", "ocyrillic", 0,
-"afii10081", "pecyrillic", 0,
-"afii10082", "ercyrillic", 0,
-"afii10083", "escyrillic", 0,
-"afii10084", "tecyrillic", 0,
-"afii10085", "ucyrillic", 0,
-"afii10086", "efcyrillic", 0,
-"afii10087", "khacyrillic", 0,
-"afii10088", "tsecyrillic", 0,
-"afii10089", "checyrillic", 0,
-"afii10090", "shacyrillic", 0,
-"afii10091", "shchacyrillic", 0,
-"afii10092", "hardsigncyrillic", 0,
-"afii10093", "yericyrillic", 0,
-"afii10094", "softsigncyrillic", 0,
-"afii10095", "ereversedcyrillic", 0,
-"afii10096", "iucyrillic", 0,
-"afii10097", "iacyrillic", 0,
-"afii10071", "iocyrillic", 0,
-"afii10099", "djecyrillic", 0,
-"afii10100", "gjecyrillic", 0,
-"afii10101", "ecyrillic", 0,
-"afii10102", "dzecyrillic", 0,
-"afii10103", "icyrillic", 0,
-"afii10104", "yicyrillic", 0,
-"afii10105", "jecyrillic", 0,
-"afii10106", "ljecyrillic", 0,
-"afii10107", "njecyrillic", 0,
-"afii10108", "tshecyrillic", 0,
-"afii10109", "kjecyrillic", 0,
-"afii10110", "ushortcyrillic", 0,
-"afii10193", "dzhecyrillic", 0,
-"Yatcyrillic", "afii10146", 0,
-"afii10194", "yatcyrillic", 0,
-"Fitacyrillic", "afii10147", 0,
-"afii10195", "fitacyrillic", 0,
-"Izhitsacyrillic", "afii10148", 0,
-"afii10196", "izhitsacyrillic", 0,
-"Gheupturncyrillic", "afii10050", 0,
-"afii10098", "gheupturncyrillic", 0,
-"afii10846", "schwacyrillic", 0,
-"etnahtafoukhhebrew", "etnahtafoukhlefthebrew", "etnahtahebrew", "etnahtalefthebrew", 0,
-"tipehahebrew", "tipehalefthebrew", 0,
-"reviahebrew", "reviamugrashhebrew", 0,
-"tevirhebrew", "tevirlefthebrew", 0,
-"munahhebrew", "munahlefthebrew", 0,
-"mahapakhhebrew", "mahapakhlefthebrew", 0,
-"merkhahebrew", "merkhalefthebrew", 0,
-"merkhakefulahebrew", "merkhakefulalefthebrew", 0,
-"dargahebrew", "dargalefthebrew", 0,
-"yerahbenyomohebrew", "yerahbenyomolefthebrew", 0,
-"afii57799", "sheva", "sheva115", "sheva15", "sheva22", "sheva2e", "shevahebrew", "shevanarrowhebrew", "shevaquarterhebrew", "shevawidehebrew", 0,
-"afii57801", "hatafsegol", "hatafsegol17", "hatafsegol24", "hatafsegol30", "hatafsegolhebrew", "hatafsegolnarrowhebrew", "hatafsegolquarterhebrew", "hatafsegolwidehebrew", 0,
-"afii57800", "hatafpatah", "hatafpatah16", "hatafpatah23", "hatafpatah2f", "hatafpatahhebrew", "hatafpatahnarrowhebrew", "hatafpatahquarterhebrew", "hatafpatahwidehebrew", 0,
-"afii57802", "hatafqamats", "hatafqamats1b", "hatafqamats28", "hatafqamats34", "hatafqamatshebrew", "hatafqamatsnarrowhebrew", "hatafqamatsquarterhebrew", "hatafqamatswidehebrew", 0,
-"afii57793", "hiriq", "hiriq14", "hiriq21", "hiriq2d", "hiriqhebrew", "hiriqnarrowhebrew", "hiriqquarterhebrew", "hiriqwidehebrew", 0,
-"afii57794", "tsere", "tsere12", "tsere1e", "tsere2b", "tserehebrew", "tserenarrowhebrew", "tserequarterhebrew", "tserewidehebrew", 0,
-"afii57795", "segol", "segol13", "segol1f", "segol2c", "segolhebrew", "segolnarrowhebrew", "segolquarterhebrew", "segolwidehebrew", 0,
-"afii57798", "patah", "patah11", "patah1d", "patah2a", "patahhebrew", "patahnarrowhebrew", "patahquarterhebrew", "patahwidehebrew", 0,
-"afii57797", "qamats", "qamats10", "qamats1a", "qamats1c", "qamats27", "qamats29", "qamats33", "qamatsde", "qamatshebrew", "qamatsnarrowhebrew", "qamatsqatanhebrew", "qamatsqatannarrowhebrew", "qamatsqatanquarterhebrew", "qamatsqatanwidehebrew", "qamatsquarterhebrew", "qamatswidehebrew", 0,
-"afii57806", "holam", "holam19", "holam26", "holam32", "holamhebrew", "holamnarrowhebrew", "holamquarterhebrew", "holamwidehebrew", 0,
-"afii57796", "qubuts", "qubuts18", "qubuts25", "qubuts31", "qubutshebrew", "qubutsnarrowhebrew", "qubutsquarterhebrew", "qubutswidehebrew", 0,
-"afii57807", "dagesh", "dageshhebrew", 0,
-"afii57839", "siluqhebrew", "siluqlefthebrew", 0,
-"afii57645", "maqafhebrew", 0,
-"afii57841", "rafe", "rafehebrew", 0,
-"afii57842", "paseqhebrew", 0,
-"afii57804", "shindothebrew", 0,
-"afii57803", "sindothebrew", 0,
-"afii57658", "sofpasuqhebrew", 0,
-"afii57664", "alef", "alefhebrew", 0,
-"afii57665", "bet", "bethebrew", 0,
-"afii57666", "gimel", "gimelhebrew", 0,
-"afii57667", "dalet", "dalethatafpatah", "dalethatafpatahhebrew", "dalethatafsegol", "dalethatafsegolhebrew", "dalethebrew", "dalethiriq", "dalethiriqhebrew", "daletholam", "daletholamhebrew", "daletpatah", "daletpatahhebrew", "daletqamats", "daletqamatshebrew", "daletqubuts", "daletqubutshebrew", "daletsegol", "daletsegolhebrew", "daletsheva", "daletshevahebrew", "dalettsere", "dalettserehebrew", 0,
-"afii57668", "he", "hehebrew", 0,
-"afii57669", "vav", "vavhebrew", 0,
-"afii57670", "zayin", "zayinhebrew", 0,
-"afii57671", "het", "hethebrew", 0,
-"afii57672", "tet", "tethebrew", 0,
-"afii57673", "yod", "yodhebrew", 0,
-"afii57674", "finalkaf", "finalkafhebrew", "finalkafqamats", "finalkafqamatshebrew", "finalkafsheva", "finalkafshevahebrew", 0,
-"afii57675", "kaf", "kafhebrew", 0,
-"afii57676", "lamed", "lamedhebrew", "lamedholam", "lamedholamdagesh", "lamedholamdageshhebrew", "lamedholamhebrew", 0,
-"afii57677", "finalmem", "finalmemhebrew", 0,
-"afii57678", "mem", "memhebrew", 0,
-"afii57679", "finalnun", "finalnunhebrew", 0,
-"afii57680", "nun", "nunhebrew", 0,
-"afii57681", "samekh", "samekhhebrew", 0,
-"afii57682", "ayin", "ayinhebrew", 0,
-"afii57683", "finalpe", "finalpehebrew", 0,
-"afii57684", "pe", "pehebrew", 0,
-"afii57685", "finaltsadi", "finaltsadihebrew", 0,
-"afii57686", "tsadi", "tsadihebrew", 0,
-"afii57687", "qof", "qofhatafpatah", "qofhatafpatahhebrew", "qofhatafsegol", "qofhatafsegolhebrew", "qofhebrew", "qofhiriq", "qofhiriqhebrew", "qofholam", "qofholamhebrew", "qofpatah", "qofpatahhebrew", "qofqamats", "qofqamatshebrew", "qofqubuts", "qofqubutshebrew", "qofsegol", "qofsegolhebrew", "qofsheva", "qofshevahebrew", "qoftsere", "qoftserehebrew", 0,
-"afii57688", "resh", "reshhatafpatah", "reshhatafpatahhebrew", "reshhatafsegol", "reshhatafsegolhebrew", "reshhebrew", "reshhiriq", "reshhiriqhebrew", "reshholam", "reshholamhebrew", "reshpatah", "reshpatahhebrew", "reshqamats", "reshqamatshebrew", "reshqubuts", "reshqubutshebrew", "reshsegol", "reshsegolhebrew", "reshsheva", "reshshevahebrew", "reshtsere", "reshtserehebrew", 0,
-"afii57689", "shin", "shinhebrew", 0,
-"afii57690", "tav", "tavhebrew", 0,
-"afii57716", "vavvavhebrew", 0,
-"afii57717", "vavyodhebrew", 0,
-"afii57718", "yodyodhebrew", 0,
-"afii57388", "commaarabic", 0,
-"afii57403", "semicolonarabic", 0,
-"afii57407", "questionarabic", 0,
-"afii57409", "hamzaarabic", "hamzadammaarabic", "hamzadammatanarabic", "hamzafathaarabic", "hamzafathatanarabic", "hamzalowarabic", "hamzalowkasraarabic", "hamzalowkasratanarabic", "hamzasukunarabic", 0,
-"afii57410", "alefmaddaabovearabic", 0,
-"afii57411", "alefhamzaabovearabic", 0,
-"afii57412", "wawhamzaabovearabic", 0,
-"afii57413", "alefhamzabelowarabic", 0,
-"afii57414", "yehhamzaabovearabic", 0,
-"afii57415", "alefarabic", 0,
-"afii57416", "beharabic", 0,
-"afii57417", "tehmarbutaarabic", 0,
-"afii57418", "teharabic", 0,
-"afii57419", "theharabic", 0,
-"afii57420", "jeemarabic", 0,
-"afii57421", "haharabic", 0,
-"afii57422", "khaharabic", 0,
-"afii57423", "dalarabic", 0,
-"afii57424", "thalarabic", 0,
-"afii57425", "reharabic", "rehyehaleflamarabic", 0,
-"afii57426", "zainarabic", 0,
-"afii57427", "seenarabic", 0,
-"afii57428", "sheenarabic", 0,
-"afii57429", "sadarabic", 0,
-"afii57430", "dadarabic", 0,
-"afii57431", "taharabic", 0,
-"afii57432", "zaharabic", 0,
-"afii57433", "ainarabic", 0,
-"afii57434", "ghainarabic", 0,
-"afii57440", "kashidaautoarabic", "kashidaautonosidebearingarabic", "tatweelarabic", 0,
-"afii57441", "feharabic", 0,
-"afii57442", "qafarabic", 0,
-"afii57443", "kafarabic", 0,
-"afii57444", "lamarabic", 0,
-"afii57445", "meemarabic", 0,
-"afii57446", "noonarabic", 0,
-"afii57470", "heharabic", 0,
-"afii57448", "wawarabic", 0,
-"afii57449", "alefmaksuraarabic", 0,
-"afii57450", "yeharabic", 0,
-"afii57451", "fathatanarabic", 0,
-"afii57452", "dammatanaltonearabic", "dammatanarabic", 0,
-"afii57453", "kasratanarabic", 0,
-"afii57454", "fathaarabic", "fathalowarabic", 0,
-"afii57455", "dammaarabic", "dammalowarabic", 0,
-"afii57456", "kasraarabic", 0,
-"afii57457", "shaddaarabic", "shaddafathatanarabic", 0,
-"afii57458", "sukunarabic", 0,
-"afii57392", "zeroarabic", "zerohackarabic", 0,
-"afii57393", "onearabic", "onehackarabic", 0,
-"afii57394", "twoarabic", "twohackarabic", 0,
-"afii57395", "threearabic", "threehackarabic", 0,
-"afii57396", "fourarabic", "fourhackarabic", 0,
-"afii57397", "fivearabic", "fivehackarabic", 0,
-"afii57398", "sixarabic", "sixhackarabic", 0,
-"afii57399", "sevenarabic", "sevenhackarabic", 0,
-"afii57400", "eightarabic", "eighthackarabic", 0,
-"afii57401", "ninearabic", "ninehackarabic", 0,
-"afii57381", "percentarabic", 0,
-"decimalseparatorarabic", "decimalseparatorpersian", 0,
-"thousandsseparatorarabic", "thousandsseparatorpersian", 0,
-"afii63167", "asteriskaltonearabic", "asteriskarabic", 0,
-"afii57511", "tteharabic", 0,
-"afii57506", "peharabic", 0,
-"afii57507", "tcheharabic", 0,
-"afii57512", "ddalarabic", 0,
-"afii57513", "rreharabic", 0,
-"afii57508", "jeharabic", 0,
-"afii57505", "veharabic", 0,
-"afii57509", "gafarabic", 0,
-"afii57514", "noonghunnaarabic", 0,
-"haaltonearabic", "hehaltonearabic", 0,
-"afii57519", "yehbarreearabic", 0,
-"afii61664", "zerowidthnonjoiner", 0,
-"afii00208", "horizontalbar", 0,
-"dbllowline", "underscoredbl", 0,
-"quoteleftreversed", "quotereversed", 0,
-"twodotenleader", "twodotleader", 0,
-"colonmonetary", "colonsign", 0,
-"afii08941", "lira", 0,
-"afii57636", "newsheqelsign", "sheqel", "sheqelhebrew", 0,
-"Euro", "euro", 0,
-"afii61248", "careof", 0,
-"afii61289", "lsquare", 0,
-"afii61352", "numero", 0,
-"Ohm", "Omega", 0,
-"arrowupdnbse", "arrowupdownbase", 0,
-"arrowdblleft", "arrowleftdbl", 0,
-"arrowdblright", "dblarrowright", 0,
-"arrowdblboth", "dblarrowleft", 0,
-"forall", "universal", 0,
-"existential", "thereexists", 0,
-"Delta", "increment", 0,
-"gradient", "nabla", 0,
-"notelement", "notelementof", 0,
-"orthogonal", "rightangle", 0,
-"similar", "tildeoperator", 0,
-"approximatelyequal", "congruent", 0,
-"propersubset", "subset", 0,
-"propersuperset", "superset", 0,
-"reflexsubset", "subsetorequal", 0,
-"reflexsuperset", "supersetorequal", 0,
-"circleplus", "pluscircle", 0,
-"circlemultiply", "timescircle", 0,
-"logicalnotreversed", "revlogicalnot", 0,
-"integraltop", "integraltp", 0,
-"integralbottom", "integralbt", 0,
-"ltshade", "shadelight", 0,
-"shade", "shademedium", 0,
-"dkshade", "shadedark", 0,
-"blacksquare", "filledbox", 0,
-"H22073", "whitesquare", 0,
-"H18543", "blacksmallsquare", 0,
-"H18551", "whitesmallsquare", 0,
-"blackrectangle", "filledrect", 0,
-"blackuppointingtriangle", "triagup", 0,
-"blackrightpointingpointer", "triagrt", 0,
-"blackdownpointingtriangle", "triagdn", 0,
-"blackleftpointingpointer", "triaglf", 0,
-"circle", "whitecircle", 0,
-"H18533", "blackcircle", 0,
-"bulletinverse", "invbullet", 0,
-"invcircle", "whitecircleinverse", 0,
-"openbullet", "whitebullet", 0,
-"smileface", "whitesmilingface", 0,
-"blacksmilingface", "invsmileface", 0,
-"compass", "sun", 0,
-"female", "venus", 0,
-"male", "mars", 0,
-"spade", "spadesuitblack", 0,
-"club", "clubsuitblack", 0,
-"heart", "heartsuitblack", 0,
-"eighthnotebeamed", "musicalnotedbl", 0,
-"afii57705", "doubleyodpatah", "doubleyodpatahhebrew", "yodyodpatahhebrew", 0,
-"afii57694", "shinshindot", "shinshindothebrew", 0,
-"afii57695", "shinsindot", "shinsindothebrew", 0,
-"shindageshshindot", "shindageshshindothebrew", 0,
-"shindageshsindot", "shindageshsindothebrew", 0,
-"betdagesh", "betdageshhebrew", 0,
-"gimeldagesh", "gimeldageshhebrew", 0,
-"daletdagesh", "daletdageshhebrew", 0,
-"hedagesh", "hedageshhebrew", 0,
-"afii57723", "vavdagesh", "vavdagesh65", "vavdageshhebrew", 0,
-"zayindagesh", "zayindageshhebrew", 0,
-"tetdagesh", "tetdageshhebrew", 0,
-"yoddagesh", "yoddageshhebrew", 0,
-"finalkafdagesh", "finalkafdageshhebrew", 0,
-"kafdagesh", "kafdageshhebrew", 0,
-"lameddagesh", "lameddageshhebrew", 0,
-"memdagesh", "memdageshhebrew", 0,
-"nundagesh", "nundageshhebrew", 0,
-"samekhdagesh", "samekhdageshhebrew", 0,
-"pedagesh", "pedageshhebrew", 0,
-"tsadidagesh", "tsadidageshhebrew", 0,
-"qofdagesh", "qofdageshhebrew", 0,
-"shindagesh", "shindageshhebrew", 0,
-"tavdages", "tavdagesh", "tavdageshhebrew", 0,
-"afii57700", "vavholam", "vavholamhebrew", 0,
-"tchehinitialarabic", "tchehmeeminitialarabic", 0,
-"laminitialarabic", "lammeemjeeminitialarabic", "lammeemkhahinitialarabic", 0,
-"noonhehinitialarabic", "nooninitialarabic", 0,
-"hehfinalalttwoarabic", "hehfinalarabic", 0,
-"alefmaksurainitialarabic", "yehinitialarabic", 0,
-"alefmaksuramedialarabic", "yehmedialarabic", 0,
-};
-
-#include "fitz.h"
-#include "mupdf.h"
-
-int pdf_lookup_agl(char *name)
-{
- char buf[64];
- char *p;
- int l = 0;
- int r = nelem(agl_codes) - 1;
-
- fz_strlcpy(buf, name, sizeof buf);
-
- /* kill anything after first period and underscore */
- p = strchr(buf, '.');
- if (p) p[0] = 0;
- p = strchr(buf, '_');
- if (p) p[0] = 0;
-
- while (l <= r)
- {
- int m = (l + r) >> 1;
- int c = strcmp(buf, agl_codes[m].name);
- if (c < 0)
- r = m - 1;
- else if (c > 0)
- l = m + 1;
- else
- return agl_codes[m].ucs;
- }
-
- if (strstr(buf, "uni") == buf)
- return strtol(buf + 3, NULL, 16);
- else if (strstr(buf, "u") == buf)
- return strtol(buf + 1, NULL, 16);
- else if (strstr(buf, "a") == buf && strlen(buf) >= 3)
- return strtol(buf + 1, NULL, 10);
-
- return 0;
-}
-
-static char *agl_no_name[1] = { 0 };
-
-char **pdf_lookup_agl_names(int ucs)
-{
- int l = 0;
- int r = nelem(agl_dup_codes) - 1;
- while (l <= r)
- {
- int m = (l + r) >> 1;
- if (ucs < agl_dup_codes[m].ucs)
- r = m - 1;
- else if (ucs > agl_dup_codes[m].ucs)
- l = m + 1;
- else
- return agl_dup_names + agl_dup_codes[m].ofs;
- }
- return agl_no_name;
-}
diff --git a/scripts/glyphdump.py b/scripts/glyphdump.py
index 25b2afcc..a63df95f 100755
--- a/scripts/glyphdump.py
+++ b/scripts/glyphdump.py
@@ -3,15 +3,15 @@
import sys
agl = []
-comments = []
agltab = []
aglmap = {}
-aglnames = []
+
+print "/*"
f = open("glyphlist.txt", "r")
for line in f.readlines():
if line[0] == '#':
- comments.append(line.strip());
+ print line.strip()
continue
line = line[:-1]
name, list = line.split(';')
@@ -26,101 +26,52 @@ for name, ucslist in agl:
aglmap[ucs] = []
aglmap[ucs].append(name)
-print "/*"
-for line in comments:
- print line
print "*/"
print
+def dumplist(list):
+ n = 0;
+ for item in list:
+ n += len(item) + 1
+ if n > 78:
+ sys.stdout.write("\n")
+ n = len(item) + 1
+ sys.stdout.write(item)
+ sys.stdout.write(",")
+ sys.stdout.write("\n")
+
agltab.sort()
-print "static const struct { char *name; int ucs; }"
-print "aglcodes[] = {"
+namelist = []
+codelist = []
for name, ucs in agltab:
- print "{\"%s\", 0x%04X}," % (name, ucs)
-print "};"
-print
+ namelist.append("\"%s\"" % name)
+ codelist.append("%d" % ucs)
keys = aglmap.keys()
keys.sort()
-print "static const struct { int ucs; int ofs; }"
-print "agldupcodes[] = {"
+dupoffsets = []
+dupnames = []
for ucs in keys:
- namelist = aglmap[ucs]
- ofs = len(aglnames)
- if len(namelist) > 1:
- print "{0x%04X, %d}," % (ucs, ofs)
- for name in namelist:
- aglnames.append(name)
- aglnames.append(0)
+ list = aglmap[ucs]
+ ofs = len(dupnames)
+ if len(list) > 1:
+ dupoffsets.append("%d,%d" % (ucs, ofs))
+ for name in list:
+ dupnames.append("\"%s\"" % name)
+ dupnames.append("0")
+
+print "static const char *agl_name_list[] = {"
+dumplist(namelist)
print "};"
print
-
-print "static char *agldupnames[] = {"
-for name in aglnames:
- if name:
- print ("\"%s\"," % name),
- else:
- print "0,"
+print "static const unsigned short agl_code_list[] = {"
+dumplist(codelist)
print "};"
print
-
-print """
-#include "fitz.h"
-#include "mupdf.h"
-
-int pdf_lookupagl(char *name)
-{
- char buf[64];
- char *p;
- int l = 0;
- int r = nelem(aglcodes) - 1;
-
- fz_strlcpy(buf, name, sizeof buf);
-
- /* kill anything after first period and underscore */
- p = strchr(buf, '.');
- if (p) p[0] = 0;
- p = strchr(buf, '_');
- if (p) p[0] = 0;
-
- while (l <= r)
- {
- int m = (l + r) >> 1;
- int c = strcmp(buf, aglcodes[m].name);
- if (c < 0)
- r = m - 1;
- else if (c > 0)
- l = m + 1;
- else
- return aglcodes[m].ucs;
- }
-
- if (strstr(buf, "uni") == buf)
- return strtol(buf + 3, nil, 16);
- else if (strstr(buf, "u") == buf)
- return strtol(buf + 1, nil, 16);
- else if (strstr(buf, "a") == buf && strlen(buf) >= 3)
- return strtol(buf + 1, nil, 10);
-
- return 0;
-}
-
-static char *aglnoname[1] = { 0 };
-
-char **pdf_lookupaglnames(int ucs)
-{
- int l = 0;
- int r = nelem(agldupcodes) - 1;
- while (l <= r)
- {
- int m = (l + r) >> 1;
- if (ucs < agldupcodes[m].ucs)
- r = m - 1;
- else if (ucs > agldupcodes[m].ucs)
- l = m + 1;
- else
- return agldupnames + agldupcodes[m].ofs;
- }
- return aglnoname;
-}
-"""
+print "static const unsigned short agl_dup_offsets[] = {"
+dumplist(dupoffsets)
+print "};"
+print
+print "static const char *agl_dup_names[] = {"
+dumplist(dupnames)
+print "};"
diff --git a/win32/libmupdf.vcproj b/win32/libmupdf.vcproj
index 9b212ee6..e68fb697 100644
--- a/win32/libmupdf.vcproj
+++ b/win32/libmupdf.vcproj
@@ -215,15 +215,11 @@
>
</File>
<File
- RelativePath="..\pdf\pdf_font.c"
+ RelativePath="..\pdf\pdf_encoding.c"
>
</File>
<File
- RelativePath="..\pdf\pdf_fontagl.c"
- >
- </File>
- <File
- RelativePath="..\pdf\pdf_fontenc.c"
+ RelativePath="..\pdf\pdf_font.c"
>
</File>
<File