Skip to content
This repository
Browse code

Merge branch 'master' into pu

  • Loading branch information...
commit 501c3d40574641ea84c1b32184280c0090ae7cb4 2 parents 8272a45 + e6d1870
Bob Ippolito etrepum authored
13 CHANGES.md
Source Rendered
... ... @@ -1,3 +1,16 @@
  1 +Version 2.3.0 released 2011-10-14
  2 +
  3 +* Handle ssl_closed message in mochiweb_http (#59)
  4 +* Added support for new MIME types (otf, eot, m4v, svg, svgz, ttc, ttf,
  5 + vcf, webm, webp, woff) (#61)
  6 +* Updated mochiweb_charref to support all HTML5 entities. Note that
  7 + if you are using this module directly, the spec has changed to return
  8 + `[integer()]` for some entities. (#64)
  9 +
  10 +Version 2.2.1 released 2011-08-31
  11 +
  12 +* Removed `mochiweb_skel` module from the pre-rebar era
  13 +
1 14 Version 2.2.0 released 2011-08-29
2 15
3 16 * Added new `mochiweb_http:start_link/1` and
45 scripts/entities.erl
... ... @@ -0,0 +1,45 @@
  1 +#!/usr/bin/env escript
  2 +%% -*- mode: erlang -*-
  3 +-export([main/1]).
  4 +
  5 +%% @doc Script used to generate mochiweb_charref.erl table.
  6 +
  7 +main(_) ->
  8 + application:start(inets),
  9 + code:add_patha("ebin"),
  10 + {ok, {_, _, HTML}} = httpc:request("http://www.w3.org/TR/html5/named-character-references.html"),
  11 + print(lists:sort(search(mochiweb_html:parse(HTML)))).
  12 +
  13 +print([F | T]) ->
  14 + io:put_chars([clause(F), ";\n"]),
  15 + print(T);
  16 +print([]) ->
  17 + io:put_chars(["entity(_) -> undefined.\n"]),
  18 + ok.
  19 +
  20 +clause({Title, [Codepoint]}) ->
  21 + ["entity(\"", Title, "\") -> 16#", Codepoint];
  22 +clause({Title, [First | Rest]}) ->
  23 + ["entity(\"", Title, "\") -> [16#", First,
  24 + [[", 16#", Codepoint] || Codepoint <- Rest],
  25 + "]"].
  26 +
  27 +
  28 +search(Elem) ->
  29 + search(Elem, []).
  30 +
  31 +search({<<"tr">>, [{<<"id">>, <<"entity-", _/binary>>} | _], Children}, Acc) ->
  32 + %% HTML5 charrefs can have more than one code point(!)
  33 + [{<<"td">>, _, [{<<"code">>, _, [TitleSemi]}]},
  34 + {<<"td">>, [], [RawCPs]} | _] = Children,
  35 + L = byte_size(TitleSemi) - 1,
  36 + <<Title:L/binary, $;>> = TitleSemi,
  37 + {match, Matches} = re:run(RawCPs, "(?:\\s*U\\+)([a-fA-F0-9]+)",
  38 + [{capture, all, binary}, global]),
  39 + [{Title, [CP || [_, CP] <- Matches]} | Acc];
  40 +search({Tag, Attrs, [H | T]}, Acc) ->
  41 + search({Tag, Attrs, T}, search(H, Acc));
  42 +search({_Tag, _Attrs, []}, Acc) ->
  43 + Acc;
  44 +search(<<_/binary>>, Acc) ->
  45 + Acc.
2  src/mochiweb.app.src
... ... @@ -1,7 +1,7 @@
1 1 %% This is generated from src/mochiweb.app.src
2 2 {application, mochiweb,
3 3 [{description, "MochiMedia Web Server"},
4   - {vsn, "2.1.0"},
  4 + {vsn, "2.3.0"},
5 5 {modules, []},
6 6 {registered, []},
7 7 {env, []},
2,385 src/mochiweb_charref.erl
... ... @@ -1,17 +1,17 @@
1 1 %% @author Bob Ippolito <bob@mochimedia.com>
2 2 %% @copyright 2007 Mochi Media, Inc.
3 3
4   -%% @doc Converts HTML 4 charrefs and entities to codepoints.
  4 +%% @doc Converts HTML 5 charrefs and entities to codepoints (or lists of code points).
5 5 -module(mochiweb_charref).
6 6 -export([charref/1]).
7 7
8 8 %% External API.
9 9
10   -%% @spec charref(S) -> integer() | undefined
11 10 %% @doc Convert a decimal charref, hex charref, or html entity to a unicode
12 11 %% codepoint, or return undefined on failure.
13 12 %% The input should not include an ampersand or semicolon.
14 13 %% charref("#38") = 38, charref("#x26") = 38, charref("amp") = 38.
  14 +-spec charref(binary() | string()) -> integer() | [integer()] | undefined.
15 15 charref(B) when is_binary(B) ->
16 16 charref(binary_to_list(B));
17 17 charref([$#, C | L]) when C =:= $x orelse C =:= $X ->
@@ -29,260 +29,2135 @@ charref(L) ->
29 29
30 30 %% Internal API.
31 31
32   -entity("nbsp") -> 160;
33   -entity("iexcl") -> 161;
34   -entity("cent") -> 162;
35   -entity("pound") -> 163;
36   -entity("curren") -> 164;
37   -entity("yen") -> 165;
38   -entity("brvbar") -> 166;
39   -entity("sect") -> 167;
40   -entity("uml") -> 168;
41   -entity("copy") -> 169;
42   -entity("ordf") -> 170;
43   -entity("laquo") -> 171;
44   -entity("not") -> 172;
45   -entity("shy") -> 173;
46   -entity("reg") -> 174;
47   -entity("macr") -> 175;
48   -entity("deg") -> 176;
49   -entity("plusmn") -> 177;
50   -entity("sup2") -> 178;
51   -entity("sup3") -> 179;
52   -entity("acute") -> 180;
53   -entity("micro") -> 181;
54   -entity("para") -> 182;
55   -entity("middot") -> 183;
56   -entity("cedil") -> 184;
57   -entity("sup1") -> 185;
58   -entity("ordm") -> 186;
59   -entity("raquo") -> 187;
60   -entity("frac14") -> 188;
61   -entity("frac12") -> 189;
62   -entity("frac34") -> 190;
63   -entity("iquest") -> 191;
64   -entity("Agrave") -> 192;
65   -entity("Aacute") -> 193;
66   -entity("Acirc") -> 194;
67   -entity("Atilde") -> 195;
68   -entity("Auml") -> 196;
69   -entity("Aring") -> 197;
70   -entity("AElig") -> 198;
71   -entity("Ccedil") -> 199;
72   -entity("Egrave") -> 200;
73   -entity("Eacute") -> 201;
74   -entity("Ecirc") -> 202;
75   -entity("Euml") -> 203;
76   -entity("Igrave") -> 204;
77   -entity("Iacute") -> 205;
78   -entity("Icirc") -> 206;
79   -entity("Iuml") -> 207;
80   -entity("ETH") -> 208;
81   -entity("Ntilde") -> 209;
82   -entity("Ograve") -> 210;
83   -entity("Oacute") -> 211;
84   -entity("Ocirc") -> 212;
85   -entity("Otilde") -> 213;
86   -entity("Ouml") -> 214;
87   -entity("times") -> 215;
88   -entity("Oslash") -> 216;
89   -entity("Ugrave") -> 217;
90   -entity("Uacute") -> 218;
91   -entity("Ucirc") -> 219;
92   -entity("Uuml") -> 220;
93   -entity("Yacute") -> 221;
94   -entity("THORN") -> 222;
95   -entity("szlig") -> 223;
96   -entity("agrave") -> 224;
97   -entity("aacute") -> 225;
98   -entity("acirc") -> 226;
99   -entity("atilde") -> 227;
100   -entity("auml") -> 228;
101   -entity("aring") -> 229;
102   -entity("aelig") -> 230;
103   -entity("ccedil") -> 231;
104   -entity("egrave") -> 232;
105   -entity("eacute") -> 233;
106   -entity("ecirc") -> 234;
107   -entity("euml") -> 235;
108   -entity("igrave") -> 236;
109   -entity("iacute") -> 237;
110   -entity("icirc") -> 238;
111   -entity("iuml") -> 239;
112   -entity("eth") -> 240;
113   -entity("ntilde") -> 241;
114   -entity("ograve") -> 242;
115   -entity("oacute") -> 243;
116   -entity("ocirc") -> 244;
117   -entity("otilde") -> 245;
118   -entity("ouml") -> 246;
119   -entity("divide") -> 247;
120   -entity("oslash") -> 248;
121   -entity("ugrave") -> 249;
122   -entity("uacute") -> 250;
123   -entity("ucirc") -> 251;
124   -entity("uuml") -> 252;
125   -entity("yacute") -> 253;
126   -entity("thorn") -> 254;
127   -entity("yuml") -> 255;
128   -entity("fnof") -> 402;
129   -entity("Alpha") -> 913;
130   -entity("Beta") -> 914;
131   -entity("Gamma") -> 915;
132   -entity("Delta") -> 916;
133   -entity("Epsilon") -> 917;
134   -entity("Zeta") -> 918;
135   -entity("Eta") -> 919;
136   -entity("Theta") -> 920;
137   -entity("Iota") -> 921;
138   -entity("Kappa") -> 922;
139   -entity("Lambda") -> 923;
140   -entity("Mu") -> 924;
141   -entity("Nu") -> 925;
142   -entity("Xi") -> 926;
143   -entity("Omicron") -> 927;
144   -entity("Pi") -> 928;
145   -entity("Rho") -> 929;
146   -entity("Sigma") -> 931;
147   -entity("Tau") -> 932;
148   -entity("Upsilon") -> 933;
149   -entity("Phi") -> 934;
150   -entity("Chi") -> 935;
151   -entity("Psi") -> 936;
152   -entity("Omega") -> 937;
153   -entity("alpha") -> 945;
154   -entity("beta") -> 946;
155   -entity("gamma") -> 947;
156   -entity("delta") -> 948;
157   -entity("epsilon") -> 949;
158   -entity("zeta") -> 950;
159   -entity("eta") -> 951;
160   -entity("theta") -> 952;
161   -entity("iota") -> 953;
162   -entity("kappa") -> 954;
163   -entity("lambda") -> 955;
164   -entity("mu") -> 956;
165   -entity("nu") -> 957;
166   -entity("xi") -> 958;
167   -entity("omicron") -> 959;
168   -entity("pi") -> 960;
169   -entity("rho") -> 961;
170   -entity("sigmaf") -> 962;
171   -entity("sigma") -> 963;
172   -entity("tau") -> 964;
173   -entity("upsilon") -> 965;
174   -entity("phi") -> 966;
175   -entity("chi") -> 967;
176   -entity("psi") -> 968;
177   -entity("omega") -> 969;
178   -entity("thetasym") -> 977;
179   -entity("upsih") -> 978;
180   -entity("piv") -> 982;
181   -entity("bull") -> 8226;
182   -entity("hellip") -> 8230;
183   -entity("prime") -> 8242;
184   -entity("Prime") -> 8243;
185   -entity("oline") -> 8254;
186   -entity("frasl") -> 8260;
187   -entity("weierp") -> 8472;
188   -entity("image") -> 8465;
189   -entity("real") -> 8476;
190   -entity("trade") -> 8482;
191   -entity("alefsym") -> 8501;
192   -entity("larr") -> 8592;
193   -entity("uarr") -> 8593;
194   -entity("rarr") -> 8594;
195   -entity("darr") -> 8595;
196   -entity("harr") -> 8596;
197   -entity("crarr") -> 8629;
198   -entity("lArr") -> 8656;
199   -entity("uArr") -> 8657;
200   -entity("rArr") -> 8658;
201   -entity("dArr") -> 8659;
202   -entity("hArr") -> 8660;
203   -entity("forall") -> 8704;
204   -entity("part") -> 8706;
205   -entity("exist") -> 8707;
206   -entity("empty") -> 8709;
207   -entity("nabla") -> 8711;
208   -entity("isin") -> 8712;
209   -entity("notin") -> 8713;
210   -entity("ni") -> 8715;
211   -entity("prod") -> 8719;
212   -entity("sum") -> 8721;
213   -entity("minus") -> 8722;
214   -entity("lowast") -> 8727;
215   -entity("radic") -> 8730;
216   -entity("prop") -> 8733;
217   -entity("infin") -> 8734;
218   -entity("ang") -> 8736;
219   -entity("and") -> 8743;
220   -entity("or") -> 8744;
221   -entity("cap") -> 8745;
222   -entity("cup") -> 8746;
223   -entity("int") -> 8747;
224   -entity("there4") -> 8756;
225   -entity("sim") -> 8764;
226   -entity("cong") -> 8773;
227   -entity("asymp") -> 8776;
228   -entity("ne") -> 8800;
229   -entity("equiv") -> 8801;
230   -entity("le") -> 8804;
231   -entity("ge") -> 8805;
232   -entity("sub") -> 8834;
233   -entity("sup") -> 8835;
234   -entity("nsub") -> 8836;
235   -entity("sube") -> 8838;
236   -entity("supe") -> 8839;
237   -entity("oplus") -> 8853;
238   -entity("otimes") -> 8855;
239   -entity("perp") -> 8869;
240   -entity("sdot") -> 8901;
241   -entity("lceil") -> 8968;
242   -entity("rceil") -> 8969;
243   -entity("lfloor") -> 8970;
244   -entity("rfloor") -> 8971;
245   -entity("lang") -> 9001;
246   -entity("rang") -> 9002;
247   -entity("loz") -> 9674;
248   -entity("spades") -> 9824;
249   -entity("clubs") -> 9827;
250   -entity("hearts") -> 9829;
251   -entity("diams") -> 9830;
252   -entity("quot") -> 34;
253   -entity("amp") -> 38;
254   -entity("lt") -> 60;
255   -entity("gt") -> 62;
256   -entity("OElig") -> 338;
257   -entity("oelig") -> 339;
258   -entity("Scaron") -> 352;
259   -entity("scaron") -> 353;
260   -entity("Yuml") -> 376;
261   -entity("circ") -> 710;
262   -entity("tilde") -> 732;
263   -entity("ensp") -> 8194;
264   -entity("emsp") -> 8195;
265   -entity("thinsp") -> 8201;
266   -entity("zwnj") -> 8204;
267   -entity("zwj") -> 8205;
268   -entity("lrm") -> 8206;
269   -entity("rlm") -> 8207;
270   -entity("ndash") -> 8211;
271   -entity("mdash") -> 8212;
272   -entity("lsquo") -> 8216;
273   -entity("rsquo") -> 8217;
274   -entity("sbquo") -> 8218;
275   -entity("ldquo") -> 8220;
276   -entity("rdquo") -> 8221;
277   -entity("bdquo") -> 8222;
278   -entity("dagger") -> 8224;
279   -entity("Dagger") -> 8225;
280   -entity("permil") -> 8240;
281   -entity("lsaquo") -> 8249;
282   -entity("rsaquo") -> 8250;
283   -entity("euro") -> 8364;
284   -entity(_) -> undefined.
  32 +%% [2011-10-14] Generated from:
  33 +%% http://www.w3.org/TR/html5/named-character-references.html
285 34
  35 +entity("AElig") -> 16#000C6;
  36 +entity("AMP") -> 16#00026;
  37 +entity("Aacute") -> 16#000C1;
  38 +entity("Abreve") -> 16#00102;
  39 +entity("Acirc") -> 16#000C2;
  40 +entity("Acy") -> 16#00410;
  41 +entity("Afr") -> 16#1D504;
  42 +entity("Agrave") -> 16#000C0;
  43 +entity("Alpha") -> 16#00391;
  44 +entity("Amacr") -> 16#00100;
  45 +entity("And") -> 16#02A53;
  46 +entity("Aogon") -> 16#00104;
  47 +entity("Aopf") -> 16#1D538;
  48 +entity("ApplyFunction") -> 16#02061;
  49 +entity("Aring") -> 16#000C5;
  50 +entity("Ascr") -> 16#1D49C;
  51 +entity("Assign") -> 16#02254;
  52 +entity("Atilde") -> 16#000C3;
  53 +entity("Auml") -> 16#000C4;
  54 +entity("Backslash") -> 16#02216;
  55 +entity("Barv") -> 16#02AE7;
  56 +entity("Barwed") -> 16#02306;
  57 +entity("Bcy") -> 16#00411;
  58 +entity("Because") -> 16#02235;
  59 +entity("Bernoullis") -> 16#0212C;
  60 +entity("Beta") -> 16#00392;
  61 +entity("Bfr") -> 16#1D505;
  62 +entity("Bopf") -> 16#1D539;
  63 +entity("Breve") -> 16#002D8;
  64 +entity("Bscr") -> 16#0212C;
  65 +entity("Bumpeq") -> 16#0224E;
  66 +entity("CHcy") -> 16#00427;
  67 +entity("COPY") -> 16#000A9;
  68 +entity("Cacute") -> 16#00106;
  69 +entity("Cap") -> 16#022D2;
  70 +entity("CapitalDifferentialD") -> 16#02145;
  71 +entity("Cayleys") -> 16#0212D;
  72 +entity("Ccaron") -> 16#0010C;
  73 +entity("Ccedil") -> 16#000C7;
  74 +entity("Ccirc") -> 16#00108;
  75 +entity("Cconint") -> 16#02230;
  76 +entity("Cdot") -> 16#0010A;
  77 +entity("Cedilla") -> 16#000B8;
  78 +entity("CenterDot") -> 16#000B7;
  79 +entity("Cfr") -> 16#0212D;
  80 +entity("Chi") -> 16#003A7;
  81 +entity("CircleDot") -> 16#02299;
  82 +entity("CircleMinus") -> 16#02296;
  83 +entity("CirclePlus") -> 16#02295;
  84 +entity("CircleTimes") -> 16#02297;
  85 +entity("ClockwiseContourIntegral") -> 16#02232;
  86 +entity("CloseCurlyDoubleQuote") -> 16#0201D;
  87 +entity("CloseCurlyQuote") -> 16#02019;
  88 +entity("Colon") -> 16#02237;
  89 +entity("Colone") -> 16#02A74;
  90 +entity("Congruent") -> 16#02261;
  91 +entity("Conint") -> 16#0222F;
  92 +entity("ContourIntegral") -> 16#0222E;
  93 +entity("Copf") -> 16#02102;
  94 +entity("Coproduct") -> 16#02210;
  95 +entity("CounterClockwiseContourIntegral") -> 16#02233;
  96 +entity("Cross") -> 16#02A2F;
  97 +entity("Cscr") -> 16#1D49E;
  98 +entity("Cup") -> 16#022D3;
  99 +entity("CupCap") -> 16#0224D;
  100 +entity("DD") -> 16#02145;
  101 +entity("DDotrahd") -> 16#02911;
  102 +entity("DJcy") -> 16#00402;
  103 +entity("DScy") -> 16#00405;
  104 +entity("DZcy") -> 16#0040F;
  105 +entity("Dagger") -> 16#02021;
  106 +entity("Darr") -> 16#021A1;
  107 +entity("Dashv") -> 16#02AE4;
  108 +entity("Dcaron") -> 16#0010E;
  109 +entity("Dcy") -> 16#00414;
  110 +entity("Del") -> 16#02207;
  111 +entity("Delta") -> 16#00394;
  112 +entity("Dfr") -> 16#1D507;
  113 +entity("DiacriticalAcute") -> 16#000B4;
  114 +entity("DiacriticalDot") -> 16#002D9;
  115 +entity("DiacriticalDoubleAcute") -> 16#002DD;
  116 +entity("DiacriticalGrave") -> 16#00060;
  117 +entity("DiacriticalTilde") -> 16#002DC;
  118 +entity("Diamond") -> 16#022C4;
  119 +entity("DifferentialD") -> 16#02146;
  120 +entity("Dopf") -> 16#1D53B;
  121 +entity("Dot") -> 16#000A8;
  122 +entity("DotDot") -> 16#020DC;
  123 +entity("DotEqual") -> 16#02250;
  124 +entity("DoubleContourIntegral") -> 16#0222F;
  125 +entity("DoubleDot") -> 16#000A8;
  126 +entity("DoubleDownArrow") -> 16#021D3;
  127 +entity("DoubleLeftArrow") -> 16#021D0;
  128 +entity("DoubleLeftRightArrow") -> 16#021D4;
  129 +entity("DoubleLeftTee") -> 16#02AE4;
  130 +entity("DoubleLongLeftArrow") -> 16#027F8;
  131 +entity("DoubleLongLeftRightArrow") -> 16#027FA;
  132 +entity("DoubleLongRightArrow") -> 16#027F9;
  133 +entity("DoubleRightArrow") -> 16#021D2;
  134 +entity("DoubleRightTee") -> 16#022A8;
  135 +entity("DoubleUpArrow") -> 16#021D1;
  136 +entity("DoubleUpDownArrow") -> 16#021D5;
  137 +entity("DoubleVerticalBar") -> 16#02225;
  138 +entity("DownArrow") -> 16#02193;
  139 +entity("DownArrowBar") -> 16#02913;
  140 +entity("DownArrowUpArrow") -> 16#021F5;
  141 +entity("DownBreve") -> 16#00311;
  142 +entity("DownLeftRightVector") -> 16#02950;
  143 +entity("DownLeftTeeVector") -> 16#0295E;
  144 +entity("DownLeftVector") -> 16#021BD;
  145 +entity("DownLeftVectorBar") -> 16#02956;
  146 +entity("DownRightTeeVector") -> 16#0295F;
  147 +entity("DownRightVector") -> 16#021C1;
  148 +entity("DownRightVectorBar") -> 16#02957;
  149 +entity("DownTee") -> 16#022A4;
  150 +entity("DownTeeArrow") -> 16#021A7;
  151 +entity("Downarrow") -> 16#021D3;
  152 +entity("Dscr") -> 16#1D49F;
  153 +entity("Dstrok") -> 16#00110;
  154 +entity("ENG") -> 16#0014A;
  155 +entity("ETH") -> 16#000D0;
  156 +entity("Eacute") -> 16#000C9;
  157 +entity("Ecaron") -> 16#0011A;
  158 +entity("Ecirc") -> 16#000CA;
  159 +entity("Ecy") -> 16#0042D;
  160 +entity("Edot") -> 16#00116;
  161 +entity("Efr") -> 16#1D508;
  162 +entity("Egrave") -> 16#000C8;
  163 +entity("Element") -> 16#02208;
  164 +entity("Emacr") -> 16#00112;
  165 +entity("EmptySmallSquare") -> 16#025FB;
  166 +entity("EmptyVerySmallSquare") -> 16#025AB;
  167 +entity("Eogon") -> 16#00118;
  168 +entity("Eopf") -> 16#1D53C;
  169 +entity("Epsilon") -> 16#00395;
  170 +entity("Equal") -> 16#02A75;
  171 +entity("EqualTilde") -> 16#02242;
  172 +entity("Equilibrium") -> 16#021CC;
  173 +entity("Escr") -> 16#02130;
  174 +entity("Esim") -> 16#02A73;
  175 +entity("Eta") -> 16#00397;
  176 +entity("Euml") -> 16#000CB;
  177 +entity("Exists") -> 16#02203;
  178 +entity("ExponentialE") -> 16#02147;
  179 +entity("Fcy") -> 16#00424;
  180 +entity("Ffr") -> 16#1D509;
  181 +entity("FilledSmallSquare") -> 16#025FC;
  182 +entity("FilledVerySmallSquare") -> 16#025AA;
  183 +entity("Fopf") -> 16#1D53D;
  184 +entity("ForAll") -> 16#02200;
  185 +entity("Fouriertrf") -> 16#02131;
  186 +entity("Fscr") -> 16#02131;
  187 +entity("GJcy") -> 16#00403;
  188 +entity("GT") -> 16#0003E;
  189 +entity("Gamma") -> 16#00393;
  190 +entity("Gammad") -> 16#003DC;
  191 +entity("Gbreve") -> 16#0011E;
  192 +entity("Gcedil") -> 16#00122;
  193 +entity("Gcirc") -> 16#0011C;
  194 +entity("Gcy") -> 16#00413;
  195 +entity("Gdot") -> 16#00120;
  196 +entity("Gfr") -> 16#1D50A;
  197 +entity("Gg") -> 16#022D9;
  198 +entity("Gopf") -> 16#1D53E;
  199 +entity("GreaterEqual") -> 16#02265;
  200 +entity("GreaterEqualLess") -> 16#022DB;
  201 +entity("GreaterFullEqual") -> 16#02267;
  202 +entity("GreaterGreater") -> 16#02AA2;
  203 +entity("GreaterLess") -> 16#02277;
  204 +entity("GreaterSlantEqual") -> 16#02A7E;
  205 +entity("GreaterTilde") -> 16#02273;
  206 +entity("Gscr") -> 16#1D4A2;
  207 +entity("Gt") -> 16#0226B;
  208 +entity("HARDcy") -> 16#0042A;
  209 +entity("Hacek") -> 16#002C7;
  210 +entity("Hat") -> 16#0005E;
  211 +entity("Hcirc") -> 16#00124;
  212 +entity("Hfr") -> 16#0210C;
  213 +entity("HilbertSpace") -> 16#0210B;
  214 +entity("Hopf") -> 16#0210D;
  215 +entity("HorizontalLine") -> 16#02500;
  216 +entity("Hscr") -> 16#0210B;
  217 +entity("Hstrok") -> 16#00126;
  218 +entity("HumpDownHump") -> 16#0224E;
  219 +entity("HumpEqual") -> 16#0224F;
  220 +entity("IEcy") -> 16#00415;
  221 +entity("IJlig") -> 16#00132;
  222 +entity("IOcy") -> 16#00401;
  223 +entity("Iacute") -> 16#000CD;
  224 +entity("Icirc") -> 16#000CE;
  225 +entity("Icy") -> 16#00418;
  226 +entity("Idot") -> 16#00130;
  227 +entity("Ifr") -> 16#02111;
  228 +entity("Igrave") -> 16#000CC;
  229 +entity("Im") -> 16#02111;
  230 +entity("Imacr") -> 16#0012A;
  231 +entity("ImaginaryI") -> 16#02148;
  232 +entity("Implies") -> 16#021D2;
  233 +entity("Int") -> 16#0222C;
  234 +entity("Integral") -> 16#0222B;
  235 +entity("Intersection") -> 16#022C2;
  236 +entity("InvisibleComma") -> 16#02063;
  237 +entity("InvisibleTimes") -> 16#02062;
  238 +entity("Iogon") -> 16#0012E;
  239 +entity("Iopf") -> 16#1D540;
  240 +entity("Iota") -> 16#00399;
  241 +entity("Iscr") -> 16#02110;
  242 +entity("Itilde") -> 16#00128;
  243 +entity("Iukcy") -> 16#00406;
  244 +entity("Iuml") -> 16#000CF;
  245 +entity("Jcirc") -> 16#00134;
  246 +entity("Jcy") -> 16#00419;
  247 +entity("Jfr") -> 16#1D50D;
  248 +entity("Jopf") -> 16#1D541;
  249 +entity("Jscr") -> 16#1D4A5;
  250 +entity("Jsercy") -> 16#00408;
  251 +entity("Jukcy") -> 16#00404;
  252 +entity("KHcy") -> 16#00425;
  253 +entity("KJcy") -> 16#0040C;
  254 +entity("Kappa") -> 16#0039A;
  255 +entity("Kcedil") -> 16#00136;
  256 +entity("Kcy") -> 16#0041A;
  257 +entity("Kfr") -> 16#1D50E;
  258 +entity("Kopf") -> 16#1D542;
  259 +entity("Kscr") -> 16#1D4A6;
  260 +entity("LJcy") -> 16#00409;
  261 +entity("LT") -> 16#0003C;
  262 +entity("Lacute") -> 16#00139;
  263 +entity("Lambda") -> 16#0039B;
  264 +entity("Lang") -> 16#027EA;
  265 +entity("Laplacetrf") -> 16#02112;
  266 +entity("Larr") -> 16#0219E;
  267 +entity("Lcaron") -> 16#0013D;
  268 +entity("Lcedil") -> 16#0013B;
  269 +entity("Lcy") -> 16#0041B;
  270 +entity("LeftAngleBracket") -> 16#027E8;
  271 +entity("LeftArrow") -> 16#02190;
  272 +entity("LeftArrowBar") -> 16#021E4;
  273 +entity("LeftArrowRightArrow") -> 16#021C6;
  274 +entity("LeftCeiling") -> 16#02308;
  275 +entity("LeftDoubleBracket") -> 16#027E6;
  276 +entity("LeftDownTeeVector") -> 16#02961;
  277 +entity("LeftDownVector") -> 16#021C3;
  278 +entity("LeftDownVectorBar") -> 16#02959;
  279 +entity("LeftFloor") -> 16#0230A;
  280 +entity("LeftRightArrow") -> 16#02194;
  281 +entity("LeftRightVector") -> 16#0294E;
  282 +entity("LeftTee") -> 16#022A3;
  283 +entity("LeftTeeArrow") -> 16#021A4;
  284 +entity("LeftTeeVector") -> 16#0295A;
  285 +entity("LeftTriangle") -> 16#022B2;
  286 +entity("LeftTriangleBar") -> 16#029CF;
  287 +entity("LeftTriangleEqual") -> 16#022B4;
  288 +entity("LeftUpDownVector") -> 16#02951;
  289 +entity("LeftUpTeeVector") -> 16#02960;
  290 +entity("LeftUpVector") -> 16#021BF;
  291 +entity("LeftUpVectorBar") -> 16#02958;
  292 +entity("LeftVector") -> 16#021BC;
  293 +entity("LeftVectorBar") -> 16#02952;
  294 +entity("Leftarrow") -> 16#021D0;
  295 +entity("Leftrightarrow") -> 16#021D4;
  296 +entity("LessEqualGreater") -> 16#022DA;
  297 +entity("LessFullEqual") -> 16#02266;
  298 +entity("LessGreater") -> 16#02276;
  299 +entity("LessLess") -> 16#02AA1;
  300 +entity("LessSlantEqual") -> 16#02A7D;
  301 +entity("LessTilde") -> 16#02272;
  302 +entity("Lfr") -> 16#1D50F;
  303 +entity("Ll") -> 16#022D8;
  304 +entity("Lleftarrow") -> 16#021DA;
  305 +entity("Lmidot") -> 16#0013F;
  306 +entity("LongLeftArrow") -> 16#027F5;
  307 +entity("LongLeftRightArrow") -> 16#027F7;
  308 +entity("LongRightArrow") -> 16#027F6;
  309 +entity("Longleftarrow") -> 16#027F8;
  310 +entity("Longleftrightarrow") -> 16#027FA;
  311 +entity("Longrightarrow") -> 16#027F9;
  312 +entity("Lopf") -> 16#1D543;
  313 +entity("LowerLeftArrow") -> 16#02199;
  314 +entity("LowerRightArrow") -> 16#02198;
  315 +entity("Lscr") -> 16#02112;
  316 +entity("Lsh") -> 16#021B0;
  317 +entity("Lstrok") -> 16#00141;
  318 +entity("Lt") -> 16#0226A;
  319 +entity("Map") -> 16#02905;
  320 +entity("Mcy") -> 16#0041C;
  321 +entity("MediumSpace") -> 16#0205F;
  322 +entity("Mellintrf") -> 16#02133;
  323 +entity("Mfr") -> 16#1D510;
  324 +entity("MinusPlus") -> 16#02213;
  325 +entity("Mopf") -> 16#1D544;
  326 +entity("Mscr") -> 16#02133;
  327 +entity("Mu") -> 16#0039C;
  328 +entity("NJcy") -> 16#0040A;
  329 +entity("Nacute") -> 16#00143;
  330 +entity("Ncaron") -> 16#00147;
  331 +entity("Ncedil") -> 16#00145;
  332 +entity("Ncy") -> 16#0041D;
  333 +entity("NegativeMediumSpace") -> 16#0200B;
  334 +entity("NegativeThickSpace") -> 16#0200B;
  335 +entity("NegativeThinSpace") -> 16#0200B;
  336 +entity("NegativeVeryThinSpace") -> 16#0200B;
  337 +entity("NestedGreaterGreater") -> 16#0226B;
  338 +entity("NestedLessLess") -> 16#0226A;
  339 +entity("NewLine") -> 16#0000A;
  340 +entity("Nfr") -> 16#1D511;
  341 +entity("NoBreak") -> 16#02060;
  342 +entity("NonBreakingSpace") -> 16#000A0;
  343 +entity("Nopf") -> 16#02115;
  344 +entity("Not") -> 16#02AEC;
  345 +entity("NotCongruent") -> 16#02262;
  346 +entity("NotCupCap") -> 16#0226D;
  347 +entity("NotDoubleVerticalBar") -> 16#02226;
  348 +entity("NotElement") -> 16#02209;
  349 +entity("NotEqual") -> 16#02260;
  350 +entity("NotEqualTilde") -> [16#02242, 16#00338];
  351 +entity("NotExists") -> 16#02204;
  352 +entity("NotGreater") -> 16#0226F;
  353 +entity("NotGreaterEqual") -> 16#02271;
  354 +entity("NotGreaterFullEqual") -> [16#02267, 16#00338];
  355 +entity("NotGreaterGreater") -> [16#0226B, 16#00338];
  356 +entity("NotGreaterLess") -> 16#02279;
  357 +entity("NotGreaterSlantEqual") -> [16#02A7E, 16#00338];
  358 +entity("NotGreaterTilde") -> 16#02275;
  359 +entity("NotHumpDownHump") -> [16#0224E, 16#00338];
  360 +entity("NotHumpEqual") -> [16#0224F, 16#00338];
  361 +entity("NotLeftTriangle") -> 16#022EA;
  362 +entity("NotLeftTriangleBar") -> [16#029CF, 16#00338];
  363 +entity("NotLeftTriangleEqual") -> 16#022EC;
  364 +entity("NotLess") -> 16#0226E;
  365 +entity("NotLessEqual") -> 16#02270;
  366 +entity("NotLessGreater") -> 16#02278;
  367 +entity("NotLessLess") -> [16#0226A, 16#00338];
  368 +entity("NotLessSlantEqual") -> [16#02A7D, 16#00338];
  369 +entity("NotLessTilde") -> 16#02274;
  370 +entity("NotNestedGreaterGreater") -> [16#02AA2, 16#00338];
  371 +entity("NotNestedLessLess") -> [16#02AA1, 16#00338];
  372 +entity("NotPrecedes") -> 16#02280;
  373 +entity("NotPrecedesEqual") -> [16#02AAF, 16#00338];
  374 +entity("NotPrecedesSlantEqual") -> 16#022E0;
  375 +entity("NotReverseElement") -> 16#0220C;
  376 +entity("NotRightTriangle") -> 16#022EB;
  377 +entity("NotRightTriangleBar") -> [16#029D0, 16#00338];
  378 +entity("NotRightTriangleEqual") -> 16#022ED;
  379 +entity("NotSquareSubset") -> [16#0228F, 16#00338];
  380 +entity("NotSquareSubsetEqual") -> 16#022E2;
  381 +entity("NotSquareSuperset") -> [16#02290, 16#00338];
  382 +entity("NotSquareSupersetEqual") -> 16#022E3;
  383 +entity("NotSubset") -> [16#02282, 16#020D2];
  384 +entity("NotSubsetEqual") -> 16#02288;
  385 +entity("NotSucceeds") -> 16#02281;
  386 +entity("NotSucceedsEqual") -> [16#02AB0, 16#00338];
  387 +entity("NotSucceedsSlantEqual") -> 16#022E1;
  388 +entity("NotSucceedsTilde") -> [16#0227F, 16#00338];
  389 +entity("NotSuperset") -> [16#02283, 16#020D2];
  390 +entity("NotSupersetEqual") -> 16#02289;
  391 +entity("NotTilde") -> 16#02241;
  392 +entity("NotTildeEqual") -> 16#02244;
  393 +entity("NotTildeFullEqual") -> 16#02247;
  394 +entity("NotTildeTilde") -> 16#02249;
  395 +entity("NotVerticalBar") -> 16#02224;
  396 +entity("Nscr") -> 16#1D4A9;
  397 +entity("Ntilde") -> 16#000D1;
  398 +entity("Nu") -> 16#0039D;
  399 +entity("OElig") -> 16#00152;
  400 +entity("Oacute") -> 16#000D3;
  401 +entity("Ocirc") -> 16#000D4;
  402 +entity("Ocy") -> 16#0041E;
  403 +entity("Odblac") -> 16#00150;
  404 +entity("Ofr") -> 16#1D512;
  405 +entity("Ograve") -> 16#000D2;
  406 +entity("Omacr") -> 16#0014C;
  407 +entity("Omega") -> 16#003A9;
  408 +entity("Omicron") -> 16#0039F;
  409 +entity("Oopf") -> 16#1D546;
  410 +entity("OpenCurlyDoubleQuote") -> 16#0201C;
  411 +entity("OpenCurlyQuote") -> 16#02018;
  412 +entity("Or") -> 16#02A54;
  413 +entity("Oscr") -> 16#1D4AA;
  414 +entity("Oslash") -> 16#000D8;
  415 +entity("Otilde") -> 16#000D5;
  416 +entity("Otimes") -> 16#02A37;
  417 +entity("Ouml") -> 16#000D6;
  418 +entity("OverBar") -> 16#0203E;
  419 +entity("OverBrace") -> 16#023DE;
  420 +entity("OverBracket") -> 16#023B4;
  421 +entity("OverParenthesis") -> 16#023DC;
  422 +entity("PartialD") -> 16#02202;
  423 +entity("Pcy") -> 16#0041F;
  424 +entity("Pfr") -> 16#1D513;
  425 +entity("Phi") -> 16#003A6;
  426 +entity("Pi") -> 16#003A0;
  427 +entity("PlusMinus") -> 16#000B1;
  428 +entity("Poincareplane") -> 16#0210C;
  429 +entity("Popf") -> 16#02119;
  430 +entity("Pr") -> 16#02ABB;
  431 +entity("Precedes") -> 16#0227A;
  432 +entity("PrecedesEqual") -> 16#02AAF;
  433 +entity("PrecedesSlantEqual") -> 16#0227C;
  434 +entity("PrecedesTilde") -> 16#0227E;
  435 +entity("Prime") -> 16#02033;
  436 +entity("Product") -> 16#0220F;
  437 +entity("Proportion") -> 16#02237;
  438 +entity("Proportional") -> 16#0221D;
  439 +entity("Pscr") -> 16#1D4AB;
  440 +entity("Psi") -> 16#003A8;
  441 +entity("QUOT") -> 16#00022;
  442 +entity("Qfr") -> 16#1D514;
  443 +entity("Qopf") -> 16#0211A;
  444 +entity("Qscr") -> 16#1D4AC;
  445 +entity("RBarr") -> 16#02910;
  446 +entity("REG") -> 16#000AE;
  447 +entity("Racute") -> 16#00154;
  448 +entity("Rang") -> 16#027EB;
  449 +entity("Rarr") -> 16#021A0;
  450 +entity("Rarrtl") -> 16#02916;
  451 +entity("Rcaron") -> 16#00158;
  452 +entity("Rcedil") -> 16#00156;
  453 +entity("Rcy") -> 16#00420;
  454 +entity("Re") -> 16#0211C;
  455 +entity("ReverseElement") -> 16#0220B;
  456 +entity("ReverseEquilibrium") -> 16#021CB;
  457 +entity("ReverseUpEquilibrium") -> 16#0296F;
  458 +entity("Rfr") -> 16#0211C;
  459 +entity("Rho") -> 16#003A1;
  460 +entity("RightAngleBracket") -> 16#027E9;
  461 +entity("RightArrow") -> 16#02192;
  462 +entity("RightArrowBar") -> 16#021E5;
  463 +entity("RightArrowLeftArrow") -> 16#021C4;
  464 +entity("RightCeiling") -> 16#02309;
  465 +entity("RightDoubleBracket") -> 16#027E7;
  466 +entity("RightDownTeeVector") -> 16#0295D;
  467 +entity("RightDownVector") -> 16#021C2;
  468 +entity("RightDownVectorBar") -> 16#02955;
  469 +entity("RightFloor") -> 16#0230B;
  470 +entity("RightTee") -> 16#022A2;
  471 +entity("RightTeeArrow") -> 16#021A6;
  472 +entity("RightTeeVector") -> 16#0295B;
  473 +entity("RightTriangle") -> 16#022B3;
  474 +entity("RightTriangleBar") -> 16#029D0;
  475 +entity("RightTriangleEqual") -> 16#022B5;
  476 +entity("RightUpDownVector") -> 16#0294F;
  477 +entity("RightUpTeeVector") -> 16#0295C;
  478 +entity("RightUpVector") -> 16#021BE;
  479 +entity("RightUpVectorBar") -> 16#02954;
  480 +entity("RightVector") -> 16#021C0;
  481 +entity("RightVectorBar") -> 16#02953;
  482 +entity("Rightarrow") -> 16#021D2;
  483 +entity("Ropf") -> 16#0211D;
  484 +entity("RoundImplies") -> 16#02970;
  485 +entity("Rrightarrow") -> 16#021DB;
  486 +entity("Rscr") -> 16#0211B;
  487 +entity("Rsh") -> 16#021B1;
  488 +entity("RuleDelayed") -> 16#029F4;
  489 +entity("SHCHcy") -> 16#00429;
  490 +entity("SHcy") -> 16#00428;
  491 +entity("SOFTcy") -> 16#0042C;
  492 +entity("Sacute") -> 16#0015A;
  493 +entity("Sc") -> 16#02ABC;
  494 +entity("Scaron") -> 16#00160;
  495 +entity("Scedil") -> 16#0015E;
  496 +entity("Scirc") -> 16#0015C;
  497 +entity("Scy") -> 16#00421;
  498 +entity("Sfr") -> 16#1D516;
  499 +entity("ShortDownArrow") -> 16#02193;
  500 +entity("ShortLeftArrow") -> 16#02190;
  501 +entity("ShortRightArrow") -> 16#02192;
  502 +entity("ShortUpArrow") -> 16#02191;
  503 +entity("Sigma") -> 16#003A3;
  504 +entity("SmallCircle") -> 16#02218;
  505 +entity("Sopf") -> 16#1D54A;
  506 +entity("Sqrt") -> 16#0221A;
  507 +entity("Square") -> 16#025A1;
  508 +entity("SquareIntersection") -> 16#02293;
  509 +entity("SquareSubset") -> 16#0228F;
  510 +entity("SquareSubsetEqual") -> 16#02291;
  511 +entity("SquareSuperset") -> 16#02290;
  512 +entity("SquareSupersetEqual") -> 16#02292;
  513 +entity("SquareUnion") -> 16#02294;
  514 +entity("Sscr") -> 16#1D4AE;
  515 +entity("Star") -> 16#022C6;
  516 +entity("Sub") -> 16#022D0;
  517 +entity("Subset") -> 16#022D0;
  518 +entity("SubsetEqual") -> 16#02286;
  519 +entity("Succeeds") -> 16#0227B;
  520 +entity("SucceedsEqual") -> 16#02AB0;
  521 +entity("SucceedsSlantEqual") -> 16#0227D;
  522 +entity("SucceedsTilde") -> 16#0227F;
  523 +entity("SuchThat") -> 16#0220B;
  524 +entity("Sum") -> 16#02211;
  525 +entity("Sup") -> 16#022D1;
  526 +entity("Superset") -> 16#02283;
  527 +entity("SupersetEqual") -> 16#02287;
  528 +entity("Supset") -> 16#022D1;
  529 +entity("THORN") -> 16#000DE;
  530 +entity("TRADE") -> 16#02122;
  531 +entity("TSHcy") -> 16#0040B;
  532 +entity("TScy") -> 16#00426;
  533 +entity("Tab") -> 16#00009;
  534 +entity("Tau") -> 16#003A4;
  535 +entity("Tcaron") -> 16#00164;
  536 +entity("Tcedil") -> 16#00162;
  537 +entity("Tcy") -> 16#00422;
  538 +entity("Tfr") -> 16#1D517;
  539 +entity("Therefore") -> 16#02234;
  540 +entity("Theta") -> 16#00398;
  541 +entity("ThickSpace") -> [16#0205F, 16#0200A];
  542 +entity("ThinSpace") -> 16#02009;
  543 +entity("Tilde") -> 16#0223C;
  544 +entity("TildeEqual") -> 16#02243;
  545 +entity("TildeFullEqual") -> 16#02245;
  546 +entity("TildeTilde") -> 16#02248;
  547 +entity("Topf") -> 16#1D54B;
  548 +entity("TripleDot") -> 16#020DB;
  549 +entity("Tscr") -> 16#1D4AF;
  550 +entity("Tstrok") -> 16#00166;
  551 +entity("Uacute") -> 16#000DA;
  552 +entity("Uarr") -> 16#0219F;
  553 +entity("Uarrocir") -> 16#02949;
  554 +entity("Ubrcy") -> 16#0040E;
  555 +entity("Ubreve") -> 16#0016C;
  556 +entity("Ucirc") -> 16#000DB;
  557 +entity("Ucy") -> 16#00423;
  558 +entity("Udblac") -> 16#00170;
  559 +entity("Ufr") -> 16#1D518;
  560 +entity("Ugrave") -> 16#000D9;
  561 +entity("Umacr") -> 16#0016A;
  562 +entity("UnderBar") -> 16#0005F;
  563 +entity("UnderBrace") -> 16#023DF;
  564 +entity("UnderBracket") -> 16#023B5;
  565 +entity("UnderParenthesis") -> 16#023DD;
  566 +entity("Union") -> 16#022C3;
  567 +entity("UnionPlus") -> 16#0228E;
  568 +entity("Uogon") -> 16#00172;
  569 +entity("Uopf") -> 16#1D54C;
  570 +entity("UpArrow") -> 16#02191;
  571 +entity("UpArrowBar") -> 16#02912;
  572 +entity("UpArrowDownArrow") -> 16#021C5;
  573 +entity("UpDownArrow") -> 16#02195;
  574 +entity("UpEquilibrium") -> 16#0296E;
  575 +entity("UpTee") -> 16#022A5;
  576 +entity("UpTeeArrow") -> 16#021A5;
  577 +entity("Uparrow") -> 16#021D1;
  578 +entity("Updownarrow") -> 16#021D5;
  579 +entity("UpperLeftArrow") -> 16#02196;
  580 +entity("UpperRightArrow") -> 16#02197;
  581 +entity("Upsi") -> 16#003D2;
  582 +entity("Upsilon") -> 16#003A5;
  583 +entity("Uring") -> 16#0016E;
  584 +entity("Uscr") -> 16#1D4B0;
  585 +entity("Utilde") -> 16#00168;
  586 +entity("Uuml") -> 16#000DC;
  587 +entity("VDash") -> 16#022AB;
  588 +entity("Vbar") -> 16#02AEB;
  589 +entity("Vcy") -> 16#00412;
  590 +entity("Vdash") -> 16#022A9;
  591 +entity("Vdashl") -> 16#02AE6;
  592 +entity("Vee") -> 16#022C1;
  593 +entity("Verbar") -> 16#02016;
  594 +entity("Vert") -> 16#02016;
  595 +entity("VerticalBar") -> 16#02223;
  596 +entity("VerticalLine") -> 16#0007C;
  597 +entity("VerticalSeparator") -> 16#02758;
  598 +entity("VerticalTilde") -> 16#02240;
  599 +entity("VeryThinSpace") -> 16#0200A;
  600 +entity("Vfr") -> 16#1D519;
  601 +entity("Vopf") -> 16#1D54D;
  602 +entity("Vscr") -> 16#1D4B1;
  603 +entity("Vvdash") -> 16#022AA;
  604 +entity("Wcirc") -> 16#00174;
  605 +entity("Wedge") -> 16#022C0;
  606 +entity("Wfr") -> 16#1D51A;
  607 +entity("Wopf") -> 16#1D54E;
  608 +entity("Wscr") -> 16#1D4B2;
  609 +entity("Xfr") -> 16#1D51B;
  610 +entity("Xi") -> 16#0039E;
  611 +entity("Xopf") -> 16#1D54F;
  612 +entity("Xscr") -> 16#1D4B3;
  613 +entity("YAcy") -> 16#0042F;
  614 +entity("YIcy") -> 16#00407;
  615 +entity("YUcy") -> 16#0042E;
  616 +entity("Yacute") -> 16#000DD;
  617 +entity("Ycirc") -> 16#00176;
  618 +entity("Ycy") -> 16#0042B;
  619 +entity("Yfr") -> 16#1D51C;
  620 +entity("Yopf") -> 16#1D550;
  621 +entity("Yscr") -> 16#1D4B4;
  622 +entity("Yuml") -> 16#00178;
  623 +entity("ZHcy") -> 16#00416;
  624 +entity("Zacute") -> 16#00179;
  625 +entity("Zcaron") -> 16#0017D;
  626 +entity("Zcy") -> 16#00417;
  627 +entity("Zdot") -> 16#0017B;
  628 +entity("ZeroWidthSpace") -> 16#0200B;
  629 +entity("Zeta") -> 16#00396;
  630 +entity("Zfr") -> 16#02128;
  631 +entity("Zopf") -> 16#02124;
  632 +entity("Zscr") -> 16#1D4B5;
  633 +entity("aacute") -> 16#000E1;
  634 +entity("abreve") -> 16#00103;
  635 +entity("ac") -> 16#0223E;
  636 +entity("acE") -> [16#0223E, 16#00333];
  637 +entity("acd") -> 16#0223F;
  638 +entity("acirc") -> 16#000E2;
  639 +entity("acute") -> 16#000B4;
  640 +entity("acy") -> 16#00430;
  641 +entity("aelig") -> 16#000E6;
  642 +entity("af") -> 16#02061;
  643 +entity("afr") -> 16#1D51E;
  644 +entity("agrave") -> 16#000E0;
  645 +entity("alefsym") -> 16#02135;
  646 +entity("aleph") -> 16#02135;
  647 +entity("alpha") -> 16#003B1;
  648 +entity("amacr") -> 16#00101;
  649 +entity("amalg") -> 16#02A3F;
  650 +entity("amp") -> 16#00026;
  651 +entity("and") -> 16#02227;
  652 +entity("andand") -> 16#02A55;
  653 +entity("andd") -> 16#02A5C;
  654 +entity("andslope") -> 16#02A58;
  655 +entity("andv") -> 16#02A5A;
  656 +entity("ang") -> 16#02220;
  657 +entity("ange") -> 16#029A4;
  658 +entity("angle") -> 16#02220;
  659 +entity("angmsd") -> 16#02221;
  660 +entity("angmsdaa") -> 16#029A8;
  661 +entity("angmsdab") -> 16#029A9;
  662 +entity("angmsdac") -> 16#029AA;
  663 +entity("angmsdad") -> 16#029AB;
  664 +entity("angmsdae") -> 16#029AC;
  665 +entity("angmsdaf") -> 16#029AD;
  666 +entity("angmsdag") -> 16#029AE;
  667 +entity("angmsdah") -> 16#029AF;
  668 +entity("angrt") -> 16#0221F;
  669 +entity("angrtvb") -> 16#022BE;
  670 +entity("angrtvbd") -> 16#0299D;
  671 +entity("angsph") -> 16#02222;
  672 +entity("angst") -> 16#000C5;
  673 +entity("angzarr") -> 16#0237C;
  674 +entity("aogon") -> 16#00105;
  675 +entity("aopf") -> 16#1D552;
  676 +entity("ap") -> 16#02248;
  677 +entity("apE") -> 16#02A70;
  678 +entity("apacir") -> 16#02A6F;
  679 +entity("ape") -> 16#0224A;
  680 +entity("apid") -> 16#0224B;
  681 +entity("apos") -> 16#00027;
  682 +entity("approx") -> 16#02248;
  683 +entity("approxeq") -> 16#0224A;
  684 +entity("aring") -> 16#000E5;
  685 +entity("ascr") -> 16#1D4B6;
  686 +entity("ast") -> 16#0002A;
  687 +entity("asymp") -> 16#02248;
  688 +entity("asympeq") -> 16#0224D;
  689 +entity("atilde") -> 16#000E3;
  690 +entity("auml") -> 16#000E4;
  691 +entity("awconint") -> 16#02233;
  692 +entity("awint") -> 16#02A11;
  693 +entity("bNot") -> 16#02AED;
  694 +entity("backcong") -> 16#0224C;
  695 +entity("backepsilon") -> 16#003F6;
  696 +entity("backprime") -> 16#02035;
  697 +entity("backsim") -> 16#0223D;
  698 +entity("backsimeq") -> 16#022CD;
  699 +entity("barvee") -> 16#022BD;
  700 +entity("barwed") -> 16#02305;
  701 +entity("barwedge") -> 16#02305;
  702 +entity("bbrk") -> 16#023B5;
  703 +entity("bbrktbrk") -> 16#023B6;
  704 +entity("bcong") -> 16#0224C;
  705 +entity("bcy") -> 16#00431;
  706 +entity("bdquo") -> 16#0201E;
  707 +entity("becaus") -> 16#02235;
  708 +entity("because") -> 16#02235;
  709 +entity("bemptyv") -> 16#029B0;
  710 +entity("bepsi") -> 16#003F6;
  711 +entity("bernou") -> 16#0212C;
  712 +entity("beta") -> 16#003B2;
  713 +entity("beth") -> 16#02136;
  714 +entity("between") -> 16#0226C;
  715 +entity("bfr") -> 16#1D51F;
  716 +entity("bigcap") -> 16#022C2;
  717 +entity("bigcirc") -> 16#025EF;
  718 +entity("bigcup") -> 16#022C3;
  719 +entity("bigodot") -> 16#02A00;
  720 +entity("bigoplus") -> 16#02A01;
  721 +entity("bigotimes") -> 16#02A02;
  722 +entity("bigsqcup") -> 16#02A06;
  723 +entity("bigstar") -> 16#02605;
  724 +entity("bigtriangledown") -> 16#025BD;
  725 +entity("bigtriangleup") -> 16#025B3;
  726 +entity("biguplus") -> 16#02A04;
  727 +entity("bigvee") -> 16#022C1;
  728 +entity("bigwedge") -> 16#022C0;
  729 +entity("bkarow") -> 16#0290D;
  730 +entity("blacklozenge") -> 16#029EB;
  731 +entity("blacksquare") -> 16#025AA;
  732 +entity("blacktriangle") -> 16#025B4;
  733 +entity("blacktriangledown") -> 16#025BE;
  734 +entity("blacktriangleleft") -> 16#025C2;
  735 +entity("blacktriangleright") -> 16#025B8;
  736 +entity("blank") -> 16#02423;
  737 +entity("blk12") -> 16#02592;
  738 +entity("blk14") -> 16#02591;
  739 +entity("blk34") -> 16#02593;
  740 +entity("block") -> 16#02588;
  741 +entity("bne") -> [16#0003D, 16#020E5];
  742 +entity("bnequiv") -> [16#02261, 16#020E5];
  743 +entity("bnot") -> 16#02310;
  744 +entity("bopf") -> 16#1D553;
  745 +entity("bot") -> 16#022A5;
  746 +entity("bottom") -> 16#022A5;
  747 +entity("bowtie") -> 16#022C8;
  748 +entity("boxDL") -> 16#02557;
  749 +entity("boxDR") -> 16#02554;
  750 +entity("boxDl") -> 16#02556;
  751 +entity("boxDr") -> 16#02553;
  752 +entity("boxH") -> 16#02550;
  753 +entity("boxHD") -> 16#02566;
  754 +entity("boxHU") -> 16#02569;
  755 +entity("boxHd") -> 16#02564;
  756 +entity("boxHu") -> 16#02567;
  757 +entity("boxUL") -> 16#0255D;
  758 +entity("boxUR") -> 16#0255A;
  759 +entity("boxUl") -> 16#0255C;
  760 +entity("boxUr") -> 16#02559;
  761 +entity("boxV") -> 16#02551;
  762 +entity("boxVH") -> 16#0256C;
  763 +entity("boxVL") -> 16#02563;
  764 +entity("boxVR") -> 16#02560;
  765 +entity("boxVh") -> 16#0256B;
  766 +entity("boxVl") -> 16#02562;
  767 +entity("boxVr") -> 16#0255F;
  768 +entity("boxbox") -> 16#029C9;
  769 +entity("boxdL") -> 16#02555;
  770 +entity("boxdR") -> 16#02552;
  771 +entity("boxdl") -> 16#02510;
  772 +entity("boxdr") -> 16#0250C;
  773 +entity("boxh") -> 16#02500;
  774 +entity("boxhD") -> 16#02565;
  775 +entity("boxhU") -> 16#02568;
  776 +entity("boxhd") -> 16#0252C;
  777 +entity("boxhu") -> 16#02534;
  778 +entity("boxminus") -> 16#0229F;
  779 +entity("boxplus") -> 16#0229E;
  780 +entity("boxtimes") -> 16#022A0;
  781 +entity("boxuL") -> 16#0255B;
  782 +entity("boxuR") -> 16#02558;
  783 +entity("boxul") -> 16#02518;
  784 +entity("boxur") -> 16#02514;
  785 +entity("boxv") -> 16#02502;
  786 +entity("boxvH") -> 16#0256A;
  787 +entity("boxvL") -> 16#02561;
  788 +entity("boxvR") -> 16#0255E;
  789 +entity("boxvh") -> 16#0253C;
  790 +entity("boxvl") -> 16#02524;
  791 +entity("boxvr") -> 16#0251C;
  792 +entity("bprime") -> 16#02035;
  793 +entity("breve") -> 16#002D8;
  794 +entity("brvbar") -> 16#000A6;
  795 +entity("bscr") -> 16#1D4B7;
  796 +entity("bsemi") -> 16#0204F;
  797 +entity("bsim") -> 16#0223D;
  798 +entity("bsime") -> 16#022CD;
  799 +entity("bsol") -> 16#0005C;
  800 +entity("bsolb") -> 16#029C5;
  801 +entity("bsolhsub") -> 16#027C8;
  802 +entity("bull") -> 16#02022;
  803 +entity("bullet") -> 16#02022;
  804 +entity("bump") -> 16#0224E;
  805 +entity("bumpE") -> 16#02AAE;
  806 +entity("bumpe") -> 16#0224F;
  807 +entity("bumpeq") -> 16#0224F;
  808 +entity("cacute") -> 16#00107;
  809 +entity("cap") -> 16#02229;
  810 +entity("capand") -> 16#02A44;
  811 +entity("capbrcup") -> 16#02A49;
  812 +entity("capcap") -> 16#02A4B;
  813 +entity("capcup") -> 16#02A47;
  814 +entity("capdot") -> 16#02A40;
  815 +entity("caps") -> [16#02229, 16#0FE00];
  816 +entity("caret") -> 16#02041;
  817 +entity("caron") -> 16#002C7;
  818 +entity("ccaps") -> 16#02A4D;
  819 +entity("ccaron") -> 16#0010D;
  820 +entity("ccedil") -> 16#000E7;
  821 +entity("ccirc") -> 16#00109;
  822 +entity("ccups") -> 16#02A4C;
  823 +entity("ccupssm") -> 16#02A50;
  824 +entity("cdot") -> 16#0010B;
  825 +entity("cedil") -> 16#000B8;
  826 +entity("cemptyv") -> 16#029B2;
  827 +entity("cent") -> 16#000A2;
  828 +entity("centerdot") -> 16#000B7;
  829 +entity("cfr") -> 16#1D520;
  830 +entity("chcy") -> 16#00447;
  831 +entity("check") -> 16#02713;
  832 +entity("checkmark") -> 16#02713;
  833 +entity("chi") -> 16#003C7;
  834 +entity("cir") -> 16#025CB;
  835 +entity("cirE") -> 16#029C3;
  836 +entity("circ") -> 16#002C6;
  837 +entity("circeq") -> 16#02257;
  838 +entity("circlearrowleft") -> 16#021BA;
  839 +entity("circlearrowright") -> 16#021BB;
  840 +entity("circledR") -> 16#000AE;
  841 +entity("circledS") -> 16#024C8;
  842 +entity("circledast") -> 16#0229B;
  843 +entity("circledcirc") -> 16#0229A;
  844 +entity("circleddash") -> 16#0229D;
  845 +entity("cire") -> 16#02257;
  846 +entity("cirfnint") -> 16#02A10;
  847 +entity("cirmid") -> 16#02AEF;
  848 +entity("cirscir") -> 16#029C2;
  849 +entity("clubs") -> 16#02663;
  850 +entity("clubsuit") -> 16#02663;
  851 +entity("colon") -> 16#0003A;
  852 +entity("colone") -> 16#02254;
  853 +entity("coloneq") -> 16#02254;
  854 +entity("comma") -> 16#0002C;
  855 +entity("commat") -> 16#00040;
  856 +entity("comp") -> 16#02201;
  857 +entity("compfn") -> 16#02218;
  858 +entity("complement") -> 16#02201;
  859 +entity("complexes") -> 16#02102;
  860 +entity("cong") -> 16#02245;
  861 +entity("congdot") -> 16#02A6D;
  862 +entity("conint") -> 16#0222E;
  863 +entity("copf") -> 16#1D554;
  864 +entity("coprod") -> 16#02210;
  865 +entity("copy") -> 16#000A9;
  866 +entity("copysr") -> 16#02117;
  867 +entity("crarr") -> 16#021B5;
  868 +entity("cross") -> 16#02717;
  869 +entity("cscr") -> 16#1D4B8;
  870 +entity("csub") -> 16#02ACF;
  871 +entity("csube") -> 16#02AD1;
  872 +entity("csup") -> 16#02AD0;