Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(230)

Side by Side Diff: pkg/third_party/html5lib/lib/src/constants.dart

Issue 22375011: move html5lib code into dart svn repo (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: change location of html5lib to pkg/third_party/html5lib Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 library constants;
2
3 import 'utils.dart';
4 import 'token.dart';
5
6 // TODO(jmesserly): fix up the const lists. For the bigger ones, we need faster
7 // lookup than linear search "contains". In the Python code they were
8 // frozensets.
9
10 final String EOF = null;
11
12 class ReparseException implements Exception {
13 final String message;
14 ReparseException(this.message);
15 String toString() => "ReparseException: $message";
16 }
17
18 // TODO(jmesserly): assuming the programmatic name is not important, it would be
19 // good to make these "static const" fields on an ErrorMessage class.
20 /**
21 * These are error messages emitted by [HtmlParser]. The values use Python style
22 * string formatting, as implemented by [formatStr]. That function only supports
23 * the subset of format functionality used here.
24 */
25 final Map<String, String> errorMessages = const {
26 "null-character":
27 "Null character in input stream, replaced with U+FFFD.",
28 "invalid-codepoint":
29 "Invalid codepoint in stream.",
30 "incorrectly-placed-solidus":
31 "Solidus (/) incorrectly placed in tag.",
32 "incorrect-cr-newline-entity":
33 "Incorrect CR newline entity, replaced with LF.",
34 "illegal-windows-1252-entity":
35 "Entity used with illegal number (windows-1252 reference).",
36 "cant-convert-numeric-entity":
37 "Numeric entity couldn't be converted to character "
38 "(codepoint U+%(charAsInt)08x).",
39 "illegal-codepoint-for-numeric-entity":
40 "Numeric entity represents an illegal codepoint: "
41 "U+%(charAsInt)08x.",
42 "numeric-entity-without-semicolon":
43 "Numeric entity didn't end with ';'.",
44 "expected-numeric-entity-but-got-eof":
45 "Numeric entity expected. Got end of file instead.",
46 "expected-numeric-entity":
47 "Numeric entity expected but none found.",
48 "named-entity-without-semicolon":
49 "Named entity didn't end with ';'.",
50 "expected-named-entity":
51 "Named entity expected. Got none.",
52 "attributes-in-end-tag":
53 "End tag contains unexpected attributes.",
54 'self-closing-flag-on-end-tag':
55 "End tag contains unexpected self-closing flag.",
56 "expected-tag-name-but-got-right-bracket":
57 "Expected tag name. Got '>' instead.",
58 "expected-tag-name-but-got-question-mark":
59 "Expected tag name. Got '?' instead. (HTML doesn't "
60 "support processing instructions.)",
61 "expected-tag-name":
62 "Expected tag name. Got something else instead",
63 "expected-closing-tag-but-got-right-bracket":
64 "Expected closing tag. Got '>' instead. Ignoring '</>'.",
65 "expected-closing-tag-but-got-eof":
66 "Expected closing tag. Unexpected end of file.",
67 "expected-closing-tag-but-got-char":
68 "Expected closing tag. Unexpected character '%(data)s' found.",
69 "eof-in-tag-name":
70 "Unexpected end of file in the tag name.",
71 "expected-attribute-name-but-got-eof":
72 "Unexpected end of file. Expected attribute name instead.",
73 "eof-in-attribute-name":
74 "Unexpected end of file in attribute name.",
75 "invalid-character-in-attribute-name":
76 "Invalid character in attribute name",
77 "duplicate-attribute":
78 "Dropped duplicate attribute on tag.",
79 "expected-end-of-tag-name-but-got-eof":
80 "Unexpected end of file. Expected = or end of tag.",
81 "expected-attribute-value-but-got-eof":
82 "Unexpected end of file. Expected attribute value.",
83 "expected-attribute-value-but-got-right-bracket":
84 "Expected attribute value. Got '>' instead.",
85 'equals-in-unquoted-attribute-value':
86 "Unexpected = in unquoted attribute",
87 'unexpected-character-in-unquoted-attribute-value':
88 "Unexpected character in unquoted attribute",
89 "invalid-character-after-attribute-name":
90 "Unexpected character after attribute name.",
91 "unexpected-character-after-attribute-value":
92 "Unexpected character after attribute value.",
93 "eof-in-attribute-value-double-quote":
94 "Unexpected end of file in attribute value (\".",
95 "eof-in-attribute-value-single-quote":
96 "Unexpected end of file in attribute value (').",
97 "eof-in-attribute-value-no-quotes":
98 "Unexpected end of file in attribute value.",
99 "unexpected-EOF-after-solidus-in-tag":
100 "Unexpected end of file in tag. Expected >",
101 "unexpected-character-after-soldius-in-tag":
102 "Unexpected character after / in tag. Expected >",
103 "expected-dashes-or-doctype":
104 "Expected '--' or 'DOCTYPE'. Not found.",
105 "unexpected-bang-after-double-dash-in-comment":
106 "Unexpected ! after -- in comment",
107 "unexpected-space-after-double-dash-in-comment":
108 "Unexpected space after -- in comment",
109 "incorrect-comment":
110 "Incorrect comment.",
111 "eof-in-comment":
112 "Unexpected end of file in comment.",
113 "eof-in-comment-end-dash":
114 "Unexpected end of file in comment (-)",
115 "unexpected-dash-after-double-dash-in-comment":
116 "Unexpected '-' after '--' found in comment.",
117 "eof-in-comment-double-dash":
118 "Unexpected end of file in comment (--).",
119 "eof-in-comment-end-space-state":
120 "Unexpected end of file in comment.",
121 "eof-in-comment-end-bang-state":
122 "Unexpected end of file in comment.",
123 "unexpected-char-in-comment":
124 "Unexpected character in comment found.",
125 "need-space-after-doctype":
126 "No space after literal string 'DOCTYPE'.",
127 "expected-doctype-name-but-got-right-bracket":
128 "Unexpected > character. Expected DOCTYPE name.",
129 "expected-doctype-name-but-got-eof":
130 "Unexpected end of file. Expected DOCTYPE name.",
131 "eof-in-doctype-name":
132 "Unexpected end of file in DOCTYPE name.",
133 "eof-in-doctype":
134 "Unexpected end of file in DOCTYPE.",
135 "expected-space-or-right-bracket-in-doctype":
136 "Expected space or '>'. Got '%(data)s'",
137 "unexpected-end-of-doctype":
138 "Unexpected end of DOCTYPE.",
139 "unexpected-char-in-doctype":
140 "Unexpected character in DOCTYPE.",
141 "eof-in-innerhtml":
142 "XXX innerHTML EOF",
143 "unexpected-doctype":
144 "Unexpected DOCTYPE. Ignored.",
145 "non-html-root":
146 "html needs to be the first start tag.",
147 "expected-doctype-but-got-eof":
148 "Unexpected End of file. Expected DOCTYPE.",
149 "unknown-doctype":
150 "Erroneous DOCTYPE.",
151 "expected-doctype-but-got-chars":
152 "Unexpected non-space characters. Expected DOCTYPE.",
153 "expected-doctype-but-got-start-tag":
154 "Unexpected start tag (%(name)s). Expected DOCTYPE.",
155 "expected-doctype-but-got-end-tag":
156 "Unexpected end tag (%(name)s). Expected DOCTYPE.",
157 "end-tag-after-implied-root":
158 "Unexpected end tag (%(name)s) after the (implied) root element.",
159 "expected-named-closing-tag-but-got-eof":
160 "Unexpected end of file. Expected end tag (%(name)s).",
161 "two-heads-are-not-better-than-one":
162 "Unexpected start tag head in existing head. Ignored.",
163 "unexpected-end-tag":
164 "Unexpected end tag (%(name)s). Ignored.",
165 "unexpected-start-tag-out-of-my-head":
166 "Unexpected start tag (%(name)s) that can be in head. Moved.",
167 "unexpected-start-tag":
168 "Unexpected start tag (%(name)s).",
169 "missing-end-tag":
170 "Missing end tag (%(name)s).",
171 "missing-end-tags":
172 "Missing end tags (%(name)s).",
173 "unexpected-start-tag-implies-end-tag":
174 "Unexpected start tag (%(startName)s) "
175 "implies end tag (%(endName)s).",
176 "unexpected-start-tag-treated-as":
177 "Unexpected start tag (%(originalName)s). Treated as %(newName)s.",
178 "deprecated-tag":
179 "Unexpected start tag %(name)s. Don't use it!",
180 "unexpected-start-tag-ignored":
181 "Unexpected start tag %(name)s. Ignored.",
182 "expected-one-end-tag-but-got-another":
183 "Unexpected end tag (%(gotName)s). "
184 "Missing end tag (%(expectedName)s).",
185 "end-tag-too-early":
186 "End tag (%(name)s) seen too early. Expected other end tag.",
187 "end-tag-too-early-named":
188 "Unexpected end tag (%(gotName)s). Expected end tag (%(expectedName)s).",
189 "end-tag-too-early-ignored":
190 "End tag (%(name)s) seen too early. Ignored.",
191 "adoption-agency-1.1":
192 "End tag (%(name)s) violates step 1, "
193 "paragraph 1 of the adoption agency algorithm.",
194 "adoption-agency-1.2":
195 "End tag (%(name)s) violates step 1, "
196 "paragraph 2 of the adoption agency algorithm.",
197 "adoption-agency-1.3":
198 "End tag (%(name)s) violates step 1, "
199 "paragraph 3 of the adoption agency algorithm.",
200 "unexpected-end-tag-treated-as":
201 "Unexpected end tag (%(originalName)s). Treated as %(newName)s.",
202 "no-end-tag":
203 "This element (%(name)s) has no end tag.",
204 "unexpected-implied-end-tag-in-table":
205 "Unexpected implied end tag (%(name)s) in the table phase.",
206 "unexpected-implied-end-tag-in-table-body":
207 "Unexpected implied end tag (%(name)s) in the table body phase.",
208 "unexpected-char-implies-table-voodoo":
209 "Unexpected non-space characters in "
210 "table context caused voodoo mode.",
211 "unexpected-hidden-input-in-table":
212 "Unexpected input with type hidden in table context.",
213 "unexpected-form-in-table":
214 "Unexpected form in table context.",
215 "unexpected-start-tag-implies-table-voodoo":
216 "Unexpected start tag (%(name)s) in "
217 "table context caused voodoo mode.",
218 "unexpected-end-tag-implies-table-voodoo":
219 "Unexpected end tag (%(name)s) in "
220 "table context caused voodoo mode.",
221 "unexpected-cell-in-table-body":
222 "Unexpected table cell start tag (%(name)s) "
223 "in the table body phase.",
224 "unexpected-cell-end-tag":
225 "Got table cell end tag (%(name)s) "
226 "while required end tags are missing.",
227 "unexpected-end-tag-in-table-body":
228 "Unexpected end tag (%(name)s) in the table body phase. Ignored.",
229 "unexpected-implied-end-tag-in-table-row":
230 "Unexpected implied end tag (%(name)s) in the table row phase.",
231 "unexpected-end-tag-in-table-row":
232 "Unexpected end tag (%(name)s) in the table row phase. Ignored.",
233 "unexpected-select-in-select":
234 "Unexpected select start tag in the select phase "
235 "treated as select end tag.",
236 "unexpected-input-in-select":
237 "Unexpected input start tag in the select phase.",
238 "unexpected-start-tag-in-select":
239 "Unexpected start tag token (%(name)s in the select phase. "
240 "Ignored.",
241 "unexpected-end-tag-in-select":
242 "Unexpected end tag (%(name)s) in the select phase. Ignored.",
243 "unexpected-table-element-start-tag-in-select-in-table":
244 "Unexpected table element start tag (%(name)s) in the select in table phase .",
245 "unexpected-table-element-end-tag-in-select-in-table":
246 "Unexpected table element end tag (%(name)s) in the select in table phase." ,
247 "unexpected-char-after-body":
248 "Unexpected non-space characters in the after body phase.",
249 "unexpected-start-tag-after-body":
250 "Unexpected start tag token (%(name)s)"
251 " in the after body phase.",
252 "unexpected-end-tag-after-body":
253 "Unexpected end tag token (%(name)s)"
254 " in the after body phase.",
255 "unexpected-char-in-frameset":
256 "Unepxected characters in the frameset phase. Characters ignored.",
257 "unexpected-start-tag-in-frameset":
258 "Unexpected start tag token (%(name)s)"
259 " in the frameset phase. Ignored.",
260 "unexpected-frameset-in-frameset-innerhtml":
261 "Unexpected end tag token (frameset) "
262 "in the frameset phase (innerHTML).",
263 "unexpected-end-tag-in-frameset":
264 "Unexpected end tag token (%(name)s)"
265 " in the frameset phase. Ignored.",
266 "unexpected-char-after-frameset":
267 "Unexpected non-space characters in the "
268 "after frameset phase. Ignored.",
269 "unexpected-start-tag-after-frameset":
270 "Unexpected start tag (%(name)s)"
271 " in the after frameset phase. Ignored.",
272 "unexpected-end-tag-after-frameset":
273 "Unexpected end tag (%(name)s)"
274 " in the after frameset phase. Ignored.",
275 "unexpected-end-tag-after-body-innerhtml":
276 "Unexpected end tag after body(innerHtml)",
277 "expected-eof-but-got-char":
278 "Unexpected non-space characters. Expected end of file.",
279 "expected-eof-but-got-start-tag":
280 "Unexpected start tag (%(name)s)"
281 ". Expected end of file.",
282 "expected-eof-but-got-end-tag":
283 "Unexpected end tag (%(name)s)"
284 ". Expected end of file.",
285 "eof-in-table":
286 "Unexpected end of file. Expected table content.",
287 "eof-in-select":
288 "Unexpected end of file. Expected select content.",
289 "eof-in-frameset":
290 "Unexpected end of file. Expected frameset content.",
291 "eof-in-script-in-script":
292 "Unexpected end of file. Expected script content.",
293 "eof-in-foreign-lands":
294 "Unexpected end of file. Expected foreign content",
295 "non-void-element-with-trailing-solidus":
296 "Trailing solidus not allowed on element %(name)s",
297 "unexpected-html-element-in-foreign-content":
298 "Element %(name)s not allowed in a non-html context",
299 "unexpected-end-tag-before-html":
300 "Unexpected end tag (%(name)s) before html.",
301 "undefined-error":
302 "Undefined error (this sucks and should be fixed)",
303 };
304
305 class Namespaces {
306 static const html = "http://www.w3.org/1999/xhtml";
307 static const mathml = "http://www.w3.org/1998/Math/MathML";
308 static const svg = "http://www.w3.org/2000/svg";
309 static const xlink = "http://www.w3.org/1999/xlink";
310 static const xml = "http://www.w3.org/XML/1998/namespace";
311 static const xmlns = "http://www.w3.org/2000/xmlns/";
312 Namespaces._();
313
314 static String getPrefix(String url) {
315 switch (url) {
316 case html: return 'html';
317 case mathml: return 'math';
318 case svg: return 'svg';
319 case xlink: return 'xlink';
320 case xml: return 'xml';
321 case xmlns: return 'xmlns';
322 default: throw new ArgumentError(url);
323 }
324 }
325 }
326
327 final List scopingElements = const [
328 const Pair(Namespaces.html, "applet"),
329 const Pair(Namespaces.html, "caption"),
330 const Pair(Namespaces.html, "html"),
331 const Pair(Namespaces.html, "marquee"),
332 const Pair(Namespaces.html, "object"),
333 const Pair(Namespaces.html, "table"),
334 const Pair(Namespaces.html, "td"),
335 const Pair(Namespaces.html, "th"),
336 const Pair(Namespaces.mathml, "mi"),
337 const Pair(Namespaces.mathml, "mo"),
338 const Pair(Namespaces.mathml, "mn"),
339 const Pair(Namespaces.mathml, "ms"),
340 const Pair(Namespaces.mathml, "mtext"),
341 const Pair(Namespaces.mathml, "annotation-xml"),
342 const Pair(Namespaces.svg, "foreignObject"),
343 const Pair(Namespaces.svg, "desc"),
344 const Pair(Namespaces.svg, "title")
345 ];
346
347
348 final formattingElements = const [
349 const Pair(Namespaces.html, "a"),
350 const Pair(Namespaces.html, "b"),
351 const Pair(Namespaces.html, "big"),
352 const Pair(Namespaces.html, "code"),
353 const Pair(Namespaces.html, "em"),
354 const Pair(Namespaces.html, "font"),
355 const Pair(Namespaces.html, "i"),
356 const Pair(Namespaces.html, "nobr"),
357 const Pair(Namespaces.html, "s"),
358 const Pair(Namespaces.html, "small"),
359 const Pair(Namespaces.html, "strike"),
360 const Pair(Namespaces.html, "strong"),
361 const Pair(Namespaces.html, "tt"),
362 const Pair(Namespaces.html, "")
363 ];
364
365 final specialElements = const [
366 const Pair(Namespaces.html, "address"),
367 const Pair(Namespaces.html, "applet"),
368 const Pair(Namespaces.html, "area"),
369 const Pair(Namespaces.html, "article"),
370 const Pair(Namespaces.html, "aside"),
371 const Pair(Namespaces.html, "base"),
372 const Pair(Namespaces.html, "basefont"),
373 const Pair(Namespaces.html, "bgsound"),
374 const Pair(Namespaces.html, "blockquote"),
375 const Pair(Namespaces.html, "body"),
376 const Pair(Namespaces.html, "br"),
377 const Pair(Namespaces.html, "button"),
378 const Pair(Namespaces.html, "caption"),
379 const Pair(Namespaces.html, "center"),
380 const Pair(Namespaces.html, "col"),
381 const Pair(Namespaces.html, "colgroup"),
382 const Pair(Namespaces.html, "command"),
383 const Pair(Namespaces.html, "dd"),
384 const Pair(Namespaces.html, "details"),
385 const Pair(Namespaces.html, "dir"),
386 const Pair(Namespaces.html, "div"),
387 const Pair(Namespaces.html, "dl"),
388 const Pair(Namespaces.html, "dt"),
389 const Pair(Namespaces.html, "embed"),
390 const Pair(Namespaces.html, "fieldset"),
391 const Pair(Namespaces.html, "figure"),
392 const Pair(Namespaces.html, "footer"),
393 const Pair(Namespaces.html, "form"),
394 const Pair(Namespaces.html, "frame"),
395 const Pair(Namespaces.html, "frameset"),
396 const Pair(Namespaces.html, "h1"),
397 const Pair(Namespaces.html, "h2"),
398 const Pair(Namespaces.html, "h3"),
399 const Pair(Namespaces.html, "h4"),
400 const Pair(Namespaces.html, "h5"),
401 const Pair(Namespaces.html, "h6"),
402 const Pair(Namespaces.html, "head"),
403 const Pair(Namespaces.html, "header"),
404 const Pair(Namespaces.html, "hr"),
405 const Pair(Namespaces.html, "html"),
406 const Pair(Namespaces.html, "iframe"),
407 // Note that image is commented out in the spec as "this isn't an
408 // element that can end up on the stack, so it doesn't matter,"
409 const Pair(Namespaces.html, "image"),
410 const Pair(Namespaces.html, "img"),
411 const Pair(Namespaces.html, "input"),
412 const Pair(Namespaces.html, "isindex"),
413 const Pair(Namespaces.html, "li"),
414 const Pair(Namespaces.html, "link"),
415 const Pair(Namespaces.html, "listing"),
416 const Pair(Namespaces.html, "marquee"),
417 const Pair(Namespaces.html, "men"),
418 const Pair(Namespaces.html, "meta"),
419 const Pair(Namespaces.html, "nav"),
420 const Pair(Namespaces.html, "noembed"),
421 const Pair(Namespaces.html, "noframes"),
422 const Pair(Namespaces.html, "noscript"),
423 const Pair(Namespaces.html, "object"),
424 const Pair(Namespaces.html, "ol"),
425 const Pair(Namespaces.html, "p"),
426 const Pair(Namespaces.html, "param"),
427 const Pair(Namespaces.html, "plaintext"),
428 const Pair(Namespaces.html, "pre"),
429 const Pair(Namespaces.html, "script"),
430 const Pair(Namespaces.html, "section"),
431 const Pair(Namespaces.html, "select"),
432 const Pair(Namespaces.html, "style"),
433 const Pair(Namespaces.html, "table"),
434 const Pair(Namespaces.html, "tbody"),
435 const Pair(Namespaces.html, "td"),
436 const Pair(Namespaces.html, "textarea"),
437 const Pair(Namespaces.html, "tfoot"),
438 const Pair(Namespaces.html, "th"),
439 const Pair(Namespaces.html, "thead"),
440 const Pair(Namespaces.html, "title"),
441 const Pair(Namespaces.html, "tr"),
442 const Pair(Namespaces.html, "ul"),
443 const Pair(Namespaces.html, "wbr"),
444 const Pair(Namespaces.html, "xmp"),
445 const Pair(Namespaces.svg, "foreignObject")
446 ];
447
448 final htmlIntegrationPointElements = const [
449 const Pair(Namespaces.mathml, "annotaion-xml"),
450 const Pair(Namespaces.svg, "foreignObject"),
451 const Pair(Namespaces.svg, "desc"),
452 const Pair(Namespaces.svg, "title")
453 ];
454
455 final mathmlTextIntegrationPointElements = const [
456 const Pair(Namespaces.mathml, "mi"),
457 const Pair(Namespaces.mathml, "mo"),
458 const Pair(Namespaces.mathml, "mn"),
459 const Pair(Namespaces.mathml, "ms"),
460 const Pair(Namespaces.mathml, "mtext")
461 ];
462
463 final spaceCharacters = " \n\r\t\u000C";
464
465 const int NEWLINE = 10;
466 const int RETURN = 13;
467
468 bool isWhitespace(String char) {
469 if (char == null) return false;
470 return isWhitespaceCC(char.codeUnitAt(0));
471 }
472
473 bool isWhitespaceCC(int charCode) {
474 switch (charCode) {
475 case 9: // '\t'
476 case NEWLINE: // '\n'
477 case 12: // '\f'
478 case RETURN: // '\r'
479 case 32: // ' '
480 return true;
481 }
482 return false;
483 }
484
485 final List<String> tableInsertModeElements = const [
486 "table",
487 "tbody",
488 "tfoot",
489 "thead",
490 "tr"
491 ];
492
493 // TODO(jmesserly): remove these in favor of the test functions
494 final asciiLetters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
495
496 final ZERO = 48;
497 final LOWER_A = 97;
498 final LOWER_Z = 122;
499 final UPPER_A = 65;
500 final UPPER_Z = 90;
501
502 bool isLetterOrDigit(String char) => isLetter(char) || isDigit(char);
503
504 // Note: this is intentially ASCII only
505 bool isLetter(String char) {
506 if (char == null) return false;
507 int cc = char.codeUnitAt(0);
508 return cc >= LOWER_A && cc <= LOWER_Z || cc >= UPPER_A && cc <= UPPER_Z;
509 }
510
511 bool isDigit(String char) {
512 if (char == null) return false;
513 int cc = char.codeUnitAt(0);
514 return cc >= ZERO && cc < ZERO + 10;
515 }
516
517 bool isHexDigit(String char) {
518 if (char == null) return false;
519 switch (char.codeUnitAt(0)) {
520 case 48: case 49: case 50: case 51: case 52: // '0' - '4'
521 case 53: case 54: case 55: case 56: case 57: // '5' - '9'
522 case 65: case 66: case 67: case 68: case 69: case 70: // 'A' - 'F'
523 case 97: case 98: case 99: case 100: case 101: case 102: // 'a' - 'f'
524 return true;
525 }
526 return false;
527 }
528
529 // Note: based on the original Python code, I assume we only want to convert
530 // ASCII chars to.toLowerCase() case, unlike Dart's toLowerCase function.
531 String asciiUpper2Lower(String text) {
532 if (text == null) return null;
533 var result = new List<int>(text.length);
534 for (int i = 0; i < text.length; i++) {
535 var c = text.codeUnitAt(i);
536 if (c >= UPPER_A && c <= UPPER_Z) {
537 c += LOWER_A - UPPER_A;
538 }
539 result[i] = c;
540 }
541 return new String.fromCharCodes(result);
542 }
543
544 // Heading elements need to be ordered
545 final headingElements = const [
546 "h1",
547 "h2",
548 "h3",
549 "h4",
550 "h5",
551 "h6"
552 ];
553
554 final cdataElements = const ['title', 'textarea'];
555
556 final rcdataElements = const [
557 'style',
558 'script',
559 'xmp',
560 'iframe',
561 'noembed',
562 'noframes',
563 'noscript'
564 ];
565
566 final Map<String, List<String>> booleanAttributes = const {
567 "": const ["irrelevant",],
568 "style": const ["scoped",],
569 "img": const ["ismap",],
570 "audio": const ["autoplay","controls"],
571 "video": const ["autoplay","controls"],
572 "script": const ["defer", "async"],
573 "details": const ["open",],
574 "datagrid": const ["multiple", "disabled"],
575 "command": const ["hidden", "disabled", "checked", "default"],
576 "hr": const ["noshade"],
577 "men": const ["autosubmit",],
578 "fieldset": const ["disabled", "readonly"],
579 "option": const ["disabled", "readonly", "selected"],
580 "optgroup": const ["disabled", "readonly"],
581 "button": const ["disabled", "autofocus"],
582 "input": const ["disabled", "readonly", "required", "autofocus", "checked", "i smap"],
583 "select": const ["disabled", "readonly", "autofocus", "multiple"],
584 "output": const ["disabled", "readonly"],
585 };
586
587 // entitiesWindows1252 has to be _ordered_ and needs to have an index. It
588 // therefore can't be a frozenset.
589 final List<int> entitiesWindows1252 = const [
590 8364, // 0x80 0x20AC EURO SIGN
591 65533, // 0x81 UNDEFINED
592 8218, // 0x82 0x201A SINGLE LOW-9 QUOTATION MARK
593 402, // 0x83 0x0192 LATIN SMALL LETTER F WITH HOOK
594 8222, // 0x84 0x201E DOUBLE LOW-9 QUOTATION MARK
595 8230, // 0x85 0x2026 HORIZONTAL ELLIPSIS
596 8224, // 0x86 0x2020 DAGGER
597 8225, // 0x87 0x2021 DOUBLE DAGGER
598 710, // 0x88 0x02C6 MODIFIER LETTER CIRCUMFLEX ACCENT
599 8240, // 0x89 0x2030 PER MILLE SIGN
600 352, // 0x8A 0x0160 LATIN CAPITAL LETTER S WITH CARON
601 8249, // 0x8B 0x2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK
602 338, // 0x8C 0x0152 LATIN CAPITAL LIGATURE OE
603 65533, // 0x8D UNDEFINED
604 381, // 0x8E 0x017D LATIN CAPITAL LETTER Z WITH CARON
605 65533, // 0x8F UNDEFINED
606 65533, // 0x90 UNDEFINED
607 8216, // 0x91 0x2018 LEFT SINGLE QUOTATION MARK
608 8217, // 0x92 0x2019 RIGHT SINGLE QUOTATION MARK
609 8220, // 0x93 0x201C LEFT DOUBLE QUOTATION MARK
610 8221, // 0x94 0x201D RIGHT DOUBLE QUOTATION MARK
611 8226, // 0x95 0x2022 BULLET
612 8211, // 0x96 0x2013 EN DASH
613 8212, // 0x97 0x2014 EM DASH
614 732, // 0x98 0x02DC SMALL TILDE
615 8482, // 0x99 0x2122 TRADE MARK SIGN
616 353, // 0x9A 0x0161 LATIN SMALL LETTER S WITH CARON
617 8250, // 0x9B 0x203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
618 339, // 0x9C 0x0153 LATIN SMALL LIGATURE OE
619 65533, // 0x9D UNDEFINED
620 382, // 0x9E 0x017E LATIN SMALL LETTER Z WITH CARON
621 376 // 0x9F 0x0178 LATIN CAPITAL LETTER Y WITH DIAERESIS
622 ];
623
624 final xmlEntities = const ['lt;', 'gt;', 'amp;', 'apos;', 'quot;'];
625
626 final Map<String, String> entities = const {
627 "AElig": "\xc6",
628 "AElig;": "\xc6",
629 "AMP": "&",
630 "AMP;": "&",
631 "Aacute": "\xc1",
632 "Aacute;": "\xc1",
633 "Abreve;": "\u0102",
634 "Acirc": "\xc2",
635 "Acirc;": "\xc2",
636 "Acy;": "\u0410",
637 "Afr;": "\u{01d504}",
638 "Agrave": "\xc0",
639 "Agrave;": "\xc0",
640 "Alpha;": "\u0391",
641 "Amacr;": "\u0100",
642 "And;": "\u2a53",
643 "Aogon;": "\u0104",
644 "Aopf;": "\u{01d538}",
645 "ApplyFunction;": "\u2061",
646 "Aring": "\xc5",
647 "Aring;": "\xc5",
648 "Ascr;": "\u{01d49c}",
649 "Assign;": "\u2254",
650 "Atilde": "\xc3",
651 "Atilde;": "\xc3",
652 "Auml": "\xc4",
653 "Auml;": "\xc4",
654 "Backslash;": "\u2216",
655 "Barv;": "\u2ae7",
656 "Barwed;": "\u2306",
657 "Bcy;": "\u0411",
658 "Because;": "\u2235",
659 "Bernoullis;": "\u212c",
660 "Beta;": "\u0392",
661 "Bfr;": "\u{01d505}",
662 "Bopf;": "\u{01d539}",
663 "Breve;": "\u02d8",
664 "Bscr;": "\u212c",
665 "Bumpeq;": "\u224e",
666 "CHcy;": "\u0427",
667 "COPY": "\xa9",
668 "COPY;": "\xa9",
669 "Cacute;": "\u0106",
670 "Cap;": "\u22d2",
671 "CapitalDifferentialD;": "\u2145",
672 "Cayleys;": "\u212d",
673 "Ccaron;": "\u010c",
674 "Ccedil": "\xc7",
675 "Ccedil;": "\xc7",
676 "Ccirc;": "\u0108",
677 "Cconint;": "\u2230",
678 "Cdot;": "\u010a",
679 "Cedilla;": "\xb8",
680 "CenterDot;": "\xb7",
681 "Cfr;": "\u212d",
682 "Chi;": "\u03a7",
683 "CircleDot;": "\u2299",
684 "CircleMinus;": "\u2296",
685 "CirclePlus;": "\u2295",
686 "CircleTimes;": "\u2297",
687 "ClockwiseContourIntegral;": "\u2232",
688 "CloseCurlyDoubleQuote;": "\u201d",
689 "CloseCurlyQuote;": "\u2019",
690 "Colon;": "\u2237",
691 "Colone;": "\u2a74",
692 "Congruent;": "\u2261",
693 "Conint;": "\u222f",
694 "ContourIntegral;": "\u222e",
695 "Copf;": "\u2102",
696 "Coproduct;": "\u2210",
697 "CounterClockwiseContourIntegral;": "\u2233",
698 "Cross;": "\u2a2f",
699 "Cscr;": "\u{01d49e}",
700 "Cup;": "\u22d3",
701 "CupCap;": "\u224d",
702 "DD;": "\u2145",
703 "DDotrahd;": "\u2911",
704 "DJcy;": "\u0402",
705 "DScy;": "\u0405",
706 "DZcy;": "\u040f",
707 "Dagger;": "\u2021",
708 "Darr;": "\u21a1",
709 "Dashv;": "\u2ae4",
710 "Dcaron;": "\u010e",
711 "Dcy;": "\u0414",
712 "Del;": "\u2207",
713 "Delta;": "\u0394",
714 "Dfr;": "\u{01d507}",
715 "DiacriticalAcute;": "\xb4",
716 "DiacriticalDot;": "\u02d9",
717 "DiacriticalDoubleAcute;": "\u02dd",
718 "DiacriticalGrave;": "`",
719 "DiacriticalTilde;": "\u02dc",
720 "Diamond;": "\u22c4",
721 "DifferentialD;": "\u2146",
722 "Dopf;": "\u{01d53b}",
723 "Dot;": "\xa8",
724 "DotDot;": "\u20dc",
725 "DotEqual;": "\u2250",
726 "DoubleContourIntegral;": "\u222f",
727 "DoubleDot;": "\xa8",
728 "DoubleDownArrow;": "\u21d3",
729 "DoubleLeftArrow;": "\u21d0",
730 "DoubleLeftRightArrow;": "\u21d4",
731 "DoubleLeftTee;": "\u2ae4",
732 "DoubleLongLeftArrow;": "\u27f8",
733 "DoubleLongLeftRightArrow;": "\u27fa",
734 "DoubleLongRightArrow;": "\u27f9",
735 "DoubleRightArrow;": "\u21d2",
736 "DoubleRightTee;": "\u22a8",
737 "DoubleUpArrow;": "\u21d1",
738 "DoubleUpDownArrow;": "\u21d5",
739 "DoubleVerticalBar;": "\u2225",
740 "DownArrow;": "\u2193",
741 "DownArrowBar;": "\u2913",
742 "DownArrowUpArrow;": "\u21f5",
743 "DownBreve;": "\u0311",
744 "DownLeftRightVector;": "\u2950",
745 "DownLeftTeeVector;": "\u295e",
746 "DownLeftVector;": "\u21bd",
747 "DownLeftVectorBar;": "\u2956",
748 "DownRightTeeVector;": "\u295f",
749 "DownRightVector;": "\u21c1",
750 "DownRightVectorBar;": "\u2957",
751 "DownTee;": "\u22a4",
752 "DownTeeArrow;": "\u21a7",
753 "Downarrow;": "\u21d3",
754 "Dscr;": "\u{01d49f}",
755 "Dstrok;": "\u0110",
756 "ENG;": "\u014a",
757 "ETH": "\xd0",
758 "ETH;": "\xd0",
759 "Eacute": "\xc9",
760 "Eacute;": "\xc9",
761 "Ecaron;": "\u011a",
762 "Ecirc": "\xca",
763 "Ecirc;": "\xca",
764 "Ecy;": "\u042d",
765 "Edot;": "\u0116",
766 "Efr;": "\u{01d508}",
767 "Egrave": "\xc8",
768 "Egrave;": "\xc8",
769 "Element;": "\u2208",
770 "Emacr;": "\u0112",
771 "EmptySmallSquare;": "\u25fb",
772 "EmptyVerySmallSquare;": "\u25ab",
773 "Eogon;": "\u0118",
774 "Eopf;": "\u{01d53c}",
775 "Epsilon;": "\u0395",
776 "Equal;": "\u2a75",
777 "EqualTilde;": "\u2242",
778 "Equilibrium;": "\u21cc",
779 "Escr;": "\u2130",
780 "Esim;": "\u2a73",
781 "Eta;": "\u0397",
782 "Euml": "\xcb",
783 "Euml;": "\xcb",
784 "Exists;": "\u2203",
785 "ExponentialE;": "\u2147",
786 "Fcy;": "\u0424",
787 "Ffr;": "\u{01d509}",
788 "FilledSmallSquare;": "\u25fc",
789 "FilledVerySmallSquare;": "\u25aa",
790 "Fopf;": "\u{01d53d}",
791 "ForAll;": "\u2200",
792 "Fouriertrf;": "\u2131",
793 "Fscr;": "\u2131",
794 "GJcy;": "\u0403",
795 "GT": ">",
796 "GT;": ">",
797 "Gamma;": "\u0393",
798 "Gammad;": "\u03dc",
799 "Gbreve;": "\u011e",
800 "Gcedil;": "\u0122",
801 "Gcirc;": "\u011c",
802 "Gcy;": "\u0413",
803 "Gdot;": "\u0120",
804 "Gfr;": "\u{01d50a}",
805 "Gg;": "\u22d9",
806 "Gopf;": "\u{01d53e}",
807 "GreaterEqual;": "\u2265",
808 "GreaterEqualLess;": "\u22db",
809 "GreaterFullEqual;": "\u2267",
810 "GreaterGreater;": "\u2aa2",
811 "GreaterLess;": "\u2277",
812 "GreaterSlantEqual;": "\u2a7e",
813 "GreaterTilde;": "\u2273",
814 "Gscr;": "\u{01d4a2}",
815 "Gt;": "\u226b",
816 "HARDcy;": "\u042a",
817 "Hacek;": "\u02c7",
818 "Hat;": "^",
819 "Hcirc;": "\u0124",
820 "Hfr;": "\u210c",
821 "HilbertSpace;": "\u210b",
822 "Hopf;": "\u210d",
823 "HorizontalLine;": "\u2500",
824 "Hscr;": "\u210b",
825 "Hstrok;": "\u0126",
826 "HumpDownHump;": "\u224e",
827 "HumpEqual;": "\u224f",
828 "IEcy;": "\u0415",
829 "IJlig;": "\u0132",
830 "IOcy;": "\u0401",
831 "Iacute": "\xcd",
832 "Iacute;": "\xcd",
833 "Icirc": "\xce",
834 "Icirc;": "\xce",
835 "Icy;": "\u0418",
836 "Idot;": "\u0130",
837 "Ifr;": "\u2111",
838 "Igrave": "\xcc",
839 "Igrave;": "\xcc",
840 "Im;": "\u2111",
841 "Imacr;": "\u012a",
842 "ImaginaryI;": "\u2148",
843 "Implies;": "\u21d2",
844 "Int;": "\u222c",
845 "Integral;": "\u222b",
846 "Intersection;": "\u22c2",
847 "InvisibleComma;": "\u2063",
848 "InvisibleTimes;": "\u2062",
849 "Iogon;": "\u012e",
850 "Iopf;": "\u{01d540}",
851 "Iota;": "\u0399",
852 "Iscr;": "\u2110",
853 "Itilde;": "\u0128",
854 "Iukcy;": "\u0406",
855 "Iuml": "\xcf",
856 "Iuml;": "\xcf",
857 "Jcirc;": "\u0134",
858 "Jcy;": "\u0419",
859 "Jfr;": "\u{01d50d}",
860 "Jopf;": "\u{01d541}",
861 "Jscr;": "\u{01d4a5}",
862 "Jsercy;": "\u0408",
863 "Jukcy;": "\u0404",
864 "KHcy;": "\u0425",
865 "KJcy;": "\u040c",
866 "Kappa;": "\u039a",
867 "Kcedil;": "\u0136",
868 "Kcy;": "\u041a",
869 "Kfr;": "\u{01d50e}",
870 "Kopf;": "\u{01d542}",
871 "Kscr;": "\u{01d4a6}",
872 "LJcy;": "\u0409",
873 "LT": "<",
874 "LT;": "<",
875 "Lacute;": "\u0139",
876 "Lambda;": "\u039b",
877 "Lang;": "\u27ea",
878 "Laplacetrf;": "\u2112",
879 "Larr;": "\u219e",
880 "Lcaron;": "\u013d",
881 "Lcedil;": "\u013b",
882 "Lcy;": "\u041b",
883 "LeftAngleBracket;": "\u27e8",
884 "LeftArrow;": "\u2190",
885 "LeftArrowBar;": "\u21e4",
886 "LeftArrowRightArrow;": "\u21c6",
887 "LeftCeiling;": "\u2308",
888 "LeftDoubleBracket;": "\u27e6",
889 "LeftDownTeeVector;": "\u2961",
890 "LeftDownVector;": "\u21c3",
891 "LeftDownVectorBar;": "\u2959",
892 "LeftFloor;": "\u230a",
893 "LeftRightArrow;": "\u2194",
894 "LeftRightVector;": "\u294e",
895 "LeftTee;": "\u22a3",
896 "LeftTeeArrow;": "\u21a4",
897 "LeftTeeVector;": "\u295a",
898 "LeftTriangle;": "\u22b2",
899 "LeftTriangleBar;": "\u29cf",
900 "LeftTriangleEqual;": "\u22b4",
901 "LeftUpDownVector;": "\u2951",
902 "LeftUpTeeVector;": "\u2960",
903 "LeftUpVector;": "\u21bf",
904 "LeftUpVectorBar;": "\u2958",
905 "LeftVector;": "\u21bc",
906 "LeftVectorBar;": "\u2952",
907 "Leftarrow;": "\u21d0",
908 "Leftrightarrow;": "\u21d4",
909 "LessEqualGreater;": "\u22da",
910 "LessFullEqual;": "\u2266",
911 "LessGreater;": "\u2276",
912 "LessLess;": "\u2aa1",
913 "LessSlantEqual;": "\u2a7d",
914 "LessTilde;": "\u2272",
915 "Lfr;": "\u{01d50f}",
916 "Ll;": "\u22d8",
917 "Lleftarrow;": "\u21da",
918 "Lmidot;": "\u013f",
919 "LongLeftArrow;": "\u27f5",
920 "LongLeftRightArrow;": "\u27f7",
921 "LongRightArrow;": "\u27f6",
922 "Longleftarrow;": "\u27f8",
923 "Longleftrightarrow;": "\u27fa",
924 "Longrightarrow;": "\u27f9",
925 "Lopf;": "\u{01d543}",
926 "LowerLeftArrow;": "\u2199",
927 "LowerRightArrow;": "\u2198",
928 "Lscr;": "\u2112",
929 "Lsh;": "\u21b0",
930 "Lstrok;": "\u0141",
931 "Lt;": "\u226a",
932 "Map;": "\u2905",
933 "Mcy;": "\u041c",
934 "MediumSpace;": "\u205f",
935 "Mellintrf;": "\u2133",
936 "Mfr;": "\u{01d510}",
937 "MinusPlus;": "\u2213",
938 "Mopf;": "\u{01d544}",
939 "Mscr;": "\u2133",
940 "Mu;": "\u039c",
941 "NJcy;": "\u040a",
942 "Nacute;": "\u0143",
943 "Ncaron;": "\u0147",
944 "Ncedil;": "\u0145",
945 "Ncy;": "\u041d",
946 "NegativeMediumSpace;": "\u200b",
947 "NegativeThickSpace;": "\u200b",
948 "NegativeThinSpace;": "\u200b",
949 "NegativeVeryThinSpace;": "\u200b",
950 "NestedGreaterGreater;": "\u226b",
951 "NestedLessLess;": "\u226a",
952 "NewLine;": "\n",
953 "Nfr;": "\u{01d511}",
954 "NoBreak;": "\u2060",
955 "NonBreakingSpace;": "\xa0",
956 "Nopf;": "\u2115",
957 "Not;": "\u2aec",
958 "NotCongruent;": "\u2262",
959 "NotCupCap;": "\u226d",
960 "NotDoubleVerticalBar;": "\u2226",
961 "NotElement;": "\u2209",
962 "NotEqual;": "\u2260",
963 "NotEqualTilde;": "\u2242\u0338",
964 "NotExists;": "\u2204",
965 "NotGreater;": "\u226f",
966 "NotGreaterEqual;": "\u2271",
967 "NotGreaterFullEqual;": "\u2267\u0338",
968 "NotGreaterGreater;": "\u226b\u0338",
969 "NotGreaterLess;": "\u2279",
970 "NotGreaterSlantEqual;": "\u2a7e\u0338",
971 "NotGreaterTilde;": "\u2275",
972 "NotHumpDownHump;": "\u224e\u0338",
973 "NotHumpEqual;": "\u224f\u0338",
974 "NotLeftTriangle;": "\u22ea",
975 "NotLeftTriangleBar;": "\u29cf\u0338",
976 "NotLeftTriangleEqual;": "\u22ec",
977 "NotLess;": "\u226e",
978 "NotLessEqual;": "\u2270",
979 "NotLessGreater;": "\u2278",
980 "NotLessLess;": "\u226a\u0338",
981 "NotLessSlantEqual;": "\u2a7d\u0338",
982 "NotLessTilde;": "\u2274",
983 "NotNestedGreaterGreater;": "\u2aa2\u0338",
984 "NotNestedLessLess;": "\u2aa1\u0338",
985 "NotPrecedes;": "\u2280",
986 "NotPrecedesEqual;": "\u2aaf\u0338",
987 "NotPrecedesSlantEqual;": "\u22e0",
988 "NotReverseElement;": "\u220c",
989 "NotRightTriangle;": "\u22eb",
990 "NotRightTriangleBar;": "\u29d0\u0338",
991 "NotRightTriangleEqual;": "\u22ed",
992 "NotSquareSubset;": "\u228f\u0338",
993 "NotSquareSubsetEqual;": "\u22e2",
994 "NotSquareSuperset;": "\u2290\u0338",
995 "NotSquareSupersetEqual;": "\u22e3",
996 "NotSubset;": "\u2282\u20d2",
997 "NotSubsetEqual;": "\u2288",
998 "NotSucceeds;": "\u2281",
999 "NotSucceedsEqual;": "\u2ab0\u0338",
1000 "NotSucceedsSlantEqual;": "\u22e1",
1001 "NotSucceedsTilde;": "\u227f\u0338",
1002 "NotSuperset;": "\u2283\u20d2",
1003 "NotSupersetEqual;": "\u2289",
1004 "NotTilde;": "\u2241",
1005 "NotTildeEqual;": "\u2244",
1006 "NotTildeFullEqual;": "\u2247",
1007 "NotTildeTilde;": "\u2249",
1008 "NotVerticalBar;": "\u2224",
1009 "Nscr;": "\u{01d4a9}",
1010 "Ntilde": "\xd1",
1011 "Ntilde;": "\xd1",
1012 "Nu;": "\u039d",
1013 "OElig;": "\u0152",
1014 "Oacute": "\xd3",
1015 "Oacute;": "\xd3",
1016 "Ocirc": "\xd4",
1017 "Ocirc;": "\xd4",
1018 "Ocy;": "\u041e",
1019 "Odblac;": "\u0150",
1020 "Ofr;": "\u{01d512}",
1021 "Ograve": "\xd2",
1022 "Ograve;": "\xd2",
1023 "Omacr;": "\u014c",
1024 "Omega;": "\u03a9",
1025 "Omicron;": "\u039f",
1026 "Oopf;": "\u{01d546}",
1027 "OpenCurlyDoubleQuote;": "\u201c",
1028 "OpenCurlyQuote;": "\u2018",
1029 "Or;": "\u2a54",
1030 "Oscr;": "\u{01d4aa}",
1031 "Oslash": "\xd8",
1032 "Oslash;": "\xd8",
1033 "Otilde": "\xd5",
1034 "Otilde;": "\xd5",
1035 "Otimes;": "\u2a37",
1036 "Ouml": "\xd6",
1037 "Ouml;": "\xd6",
1038 "OverBar;": "\u203e",
1039 "OverBrace;": "\u23de",
1040 "OverBracket;": "\u23b4",
1041 "OverParenthesis;": "\u23dc",
1042 "PartialD;": "\u2202",
1043 "Pcy;": "\u041f",
1044 "Pfr;": "\u{01d513}",
1045 "Phi;": "\u03a6",
1046 "Pi;": "\u03a0",
1047 "PlusMinus;": "\xb1",
1048 "Poincareplane;": "\u210c",
1049 "Popf;": "\u2119",
1050 "Pr;": "\u2abb",
1051 "Precedes;": "\u227a",
1052 "PrecedesEqual;": "\u2aaf",
1053 "PrecedesSlantEqual;": "\u227c",
1054 "PrecedesTilde;": "\u227e",
1055 "Prime;": "\u2033",
1056 "Product;": "\u220f",
1057 "Proportion;": "\u2237",
1058 "Proportional;": "\u221d",
1059 "Pscr;": "\u{01d4ab}",
1060 "Psi;": "\u03a8",
1061 "QUOT": "\"",
1062 "QUOT;": "\"",
1063 "Qfr;": "\u{01d514}",
1064 "Qopf;": "\u211a",
1065 "Qscr;": "\u{01d4ac}",
1066 "RBarr;": "\u2910",
1067 "REG": "\xae",
1068 "REG;": "\xae",
1069 "Racute;": "\u0154",
1070 "Rang;": "\u27eb",
1071 "Rarr;": "\u21a0",
1072 "Rarrtl;": "\u2916",
1073 "Rcaron;": "\u0158",
1074 "Rcedil;": "\u0156",
1075 "Rcy;": "\u0420",
1076 "Re;": "\u211c",
1077 "ReverseElement;": "\u220b",
1078 "ReverseEquilibrium;": "\u21cb",
1079 "ReverseUpEquilibrium;": "\u296f",
1080 "Rfr;": "\u211c",
1081 "Rho;": "\u03a1",
1082 "RightAngleBracket;": "\u27e9",
1083 "RightArrow;": "\u2192",
1084 "RightArrowBar;": "\u21e5",
1085 "RightArrowLeftArrow;": "\u21c4",
1086 "RightCeiling;": "\u2309",
1087 "RightDoubleBracket;": "\u27e7",
1088 "RightDownTeeVector;": "\u295d",
1089 "RightDownVector;": "\u21c2",
1090 "RightDownVectorBar;": "\u2955",
1091 "RightFloor;": "\u230b",
1092 "RightTee;": "\u22a2",
1093 "RightTeeArrow;": "\u21a6",
1094 "RightTeeVector;": "\u295b",
1095 "RightTriangle;": "\u22b3",
1096 "RightTriangleBar;": "\u29d0",
1097 "RightTriangleEqual;": "\u22b5",
1098 "RightUpDownVector;": "\u294f",
1099 "RightUpTeeVector;": "\u295c",
1100 "RightUpVector;": "\u21be",
1101 "RightUpVectorBar;": "\u2954",
1102 "RightVector;": "\u21c0",
1103 "RightVectorBar;": "\u2953",
1104 "Rightarrow;": "\u21d2",
1105 "Ropf;": "\u211d",
1106 "RoundImplies;": "\u2970",
1107 "Rrightarrow;": "\u21db",
1108 "Rscr;": "\u211b",
1109 "Rsh;": "\u21b1",
1110 "RuleDelayed;": "\u29f4",
1111 "SHCHcy;": "\u0429",
1112 "SHcy;": "\u0428",
1113 "SOFTcy;": "\u042c",
1114 "Sacute;": "\u015a",
1115 "Sc;": "\u2abc",
1116 "Scaron;": "\u0160",
1117 "Scedil;": "\u015e",
1118 "Scirc;": "\u015c",
1119 "Scy;": "\u0421",
1120 "Sfr;": "\u{01d516}",
1121 "ShortDownArrow;": "\u2193",
1122 "ShortLeftArrow;": "\u2190",
1123 "ShortRightArrow;": "\u2192",
1124 "ShortUpArrow;": "\u2191",
1125 "Sigma;": "\u03a3",
1126 "SmallCircle;": "\u2218",
1127 "Sopf;": "\u{01d54a}",
1128 "Sqrt;": "\u221a",
1129 "Square;": "\u25a1",
1130 "SquareIntersection;": "\u2293",
1131 "SquareSubset;": "\u228f",
1132 "SquareSubsetEqual;": "\u2291",
1133 "SquareSuperset;": "\u2290",
1134 "SquareSupersetEqual;": "\u2292",
1135 "SquareUnion;": "\u2294",
1136 "Sscr;": "\u{01d4ae}",
1137 "Star;": "\u22c6",
1138 "Sub;": "\u22d0",
1139 "Subset;": "\u22d0",
1140 "SubsetEqual;": "\u2286",
1141 "Succeeds;": "\u227b",
1142 "SucceedsEqual;": "\u2ab0",
1143 "SucceedsSlantEqual;": "\u227d",
1144 "SucceedsTilde;": "\u227f",
1145 "SuchThat;": "\u220b",
1146 "Sum;": "\u2211",
1147 "Sup;": "\u22d1",
1148 "Superset;": "\u2283",
1149 "SupersetEqual;": "\u2287",
1150 "Supset;": "\u22d1",
1151 "THORN": "\xde",
1152 "THORN;": "\xde",
1153 "TRADE;": "\u2122",
1154 "TSHcy;": "\u040b",
1155 "TScy;": "\u0426",
1156 "Tab;": "\t",
1157 "Tau;": "\u03a4",
1158 "Tcaron;": "\u0164",
1159 "Tcedil;": "\u0162",
1160 "Tcy;": "\u0422",
1161 "Tfr;": "\u{01d517}",
1162 "Therefore;": "\u2234",
1163 "Theta;": "\u0398",
1164 "ThickSpace;": "\u205f\u200a",
1165 "ThinSpace;": "\u2009",
1166 "Tilde;": "\u223c",
1167 "TildeEqual;": "\u2243",
1168 "TildeFullEqual;": "\u2245",
1169 "TildeTilde;": "\u2248",
1170 "Topf;": "\u{01d54b}",
1171 "TripleDot;": "\u20db",
1172 "Tscr;": "\u{01d4af}",
1173 "Tstrok;": "\u0166",
1174 "Uacute": "\xda",
1175 "Uacute;": "\xda",
1176 "Uarr;": "\u219f",
1177 "Uarrocir;": "\u2949",
1178 "Ubrcy;": "\u040e",
1179 "Ubreve;": "\u016c",
1180 "Ucirc": "\xdb",
1181 "Ucirc;": "\xdb",
1182 "Ucy;": "\u0423",
1183 "Udblac;": "\u0170",
1184 "Ufr;": "\u{01d518}",
1185 "Ugrave": "\xd9",
1186 "Ugrave;": "\xd9",
1187 "Umacr;": "\u016a",
1188 "UnderBar;": "_",
1189 "UnderBrace;": "\u23df",
1190 "UnderBracket;": "\u23b5",
1191 "UnderParenthesis;": "\u23dd",
1192 "Union;": "\u22c3",
1193 "UnionPlus;": "\u228e",
1194 "Uogon;": "\u0172",
1195 "Uopf;": "\u{01d54c}",
1196 "UpArrow;": "\u2191",
1197 "UpArrowBar;": "\u2912",
1198 "UpArrowDownArrow;": "\u21c5",
1199 "UpDownArrow;": "\u2195",
1200 "UpEquilibrium;": "\u296e",
1201 "UpTee;": "\u22a5",
1202 "UpTeeArrow;": "\u21a5",
1203 "Uparrow;": "\u21d1",
1204 "Updownarrow;": "\u21d5",
1205 "UpperLeftArrow;": "\u2196",
1206 "UpperRightArrow;": "\u2197",
1207 "Upsi;": "\u03d2",
1208 "Upsilon;": "\u03a5",
1209 "Uring;": "\u016e",
1210 "Uscr;": "\u{01d4b0}",
1211 "Utilde;": "\u0168",
1212 "Uuml": "\xdc",
1213 "Uuml;": "\xdc",
1214 "VDash;": "\u22ab",
1215 "Vbar;": "\u2aeb",
1216 "Vcy;": "\u0412",
1217 "Vdash;": "\u22a9",
1218 "Vdashl;": "\u2ae6",
1219 "Vee;": "\u22c1",
1220 "Verbar;": "\u2016",
1221 "Vert;": "\u2016",
1222 "VerticalBar;": "\u2223",
1223 "VerticalLine;": "|",
1224 "VerticalSeparator;": "\u2758",
1225 "VerticalTilde;": "\u2240",
1226 "VeryThinSpace;": "\u200a",
1227 "Vfr;": "\u{01d519}",
1228 "Vopf;": "\u{01d54d}",
1229 "Vscr;": "\u{01d4b1}",
1230 "Vvdash;": "\u22aa",
1231 "Wcirc;": "\u0174",
1232 "Wedge;": "\u22c0",
1233 "Wfr;": "\u{01d51a}",
1234 "Wopf;": "\u{01d54e}",
1235 "Wscr;": "\u{01d4b2}",
1236 "Xfr;": "\u{01d51b}",
1237 "Xi;": "\u039e",
1238 "Xopf;": "\u{01d54f}",
1239 "Xscr;": "\u{01d4b3}",
1240 "YAcy;": "\u042f",
1241 "YIcy;": "\u0407",
1242 "YUcy;": "\u042e",
1243 "Yacute": "\xdd",
1244 "Yacute;": "\xdd",
1245 "Ycirc;": "\u0176",
1246 "Ycy;": "\u042b",
1247 "Yfr;": "\u{01d51c}",
1248 "Yopf;": "\u{01d550}",
1249 "Yscr;": "\u{01d4b4}",
1250 "Yuml;": "\u0178",
1251 "ZHcy;": "\u0416",
1252 "Zacute;": "\u0179",
1253 "Zcaron;": "\u017d",
1254 "Zcy;": "\u0417",
1255 "Zdot;": "\u017b",
1256 "ZeroWidthSpace;": "\u200b",
1257 "Zeta;": "\u0396",
1258 "Zfr;": "\u2128",
1259 "Zopf;": "\u2124",
1260 "Zscr;": "\u{01d4b5}",
1261 "aacute": "\xe1",
1262 "aacute;": "\xe1",
1263 "abreve;": "\u0103",
1264 "ac;": "\u223e",
1265 "acE;": "\u223e\u0333",
1266 "acd;": "\u223f",
1267 "acirc": "\xe2",
1268 "acirc;": "\xe2",
1269 "acute": "\xb4",
1270 "acute;": "\xb4",
1271 "acy;": "\u0430",
1272 "aelig": "\xe6",
1273 "aelig;": "\xe6",
1274 "af;": "\u2061",
1275 "afr;": "\u{01d51e}",
1276 "agrave": "\xe0",
1277 "agrave;": "\xe0",
1278 "alefsym;": "\u2135",
1279 "aleph;": "\u2135",
1280 "alpha;": "\u03b1",
1281 "amacr;": "\u0101",
1282 "amalg;": "\u2a3f",
1283 "amp": "&",
1284 "amp;": "&",
1285 "and;": "\u2227",
1286 "andand;": "\u2a55",
1287 "andd;": "\u2a5c",
1288 "andslope;": "\u2a58",
1289 "andv;": "\u2a5a",
1290 "ang;": "\u2220",
1291 "ange;": "\u29a4",
1292 "angle;": "\u2220",
1293 "angmsd;": "\u2221",
1294 "angmsdaa;": "\u29a8",
1295 "angmsdab;": "\u29a9",
1296 "angmsdac;": "\u29aa",
1297 "angmsdad;": "\u29ab",
1298 "angmsdae;": "\u29ac",
1299 "angmsdaf;": "\u29ad",
1300 "angmsdag;": "\u29ae",
1301 "angmsdah;": "\u29af",
1302 "angrt;": "\u221f",
1303 "angrtvb;": "\u22be",
1304 "angrtvbd;": "\u299d",
1305 "angsph;": "\u2222",
1306 "angst;": "\xc5",
1307 "angzarr;": "\u237c",
1308 "aogon;": "\u0105",
1309 "aopf;": "\u{01d552}",
1310 "ap;": "\u2248",
1311 "apE;": "\u2a70",
1312 "apacir;": "\u2a6f",
1313 "ape;": "\u224a",
1314 "apid;": "\u224b",
1315 "apos;": "'",
1316 "approx;": "\u2248",
1317 "approxeq;": "\u224a",
1318 "aring": "\xe5",
1319 "aring;": "\xe5",
1320 "ascr;": "\u{01d4b6}",
1321 "ast;": "*",
1322 "asymp;": "\u2248",
1323 "asympeq;": "\u224d",
1324 "atilde": "\xe3",
1325 "atilde;": "\xe3",
1326 "auml": "\xe4",
1327 "auml;": "\xe4",
1328 "awconint;": "\u2233",
1329 "awint;": "\u2a11",
1330 "bNot;": "\u2aed",
1331 "backcong;": "\u224c",
1332 "backepsilon;": "\u03f6",
1333 "backprime;": "\u2035",
1334 "backsim;": "\u223d",
1335 "backsimeq;": "\u22cd",
1336 "barvee;": "\u22bd",
1337 "barwed;": "\u2305",
1338 "barwedge;": "\u2305",
1339 "bbrk;": "\u23b5",
1340 "bbrktbrk;": "\u23b6",
1341 "bcong;": "\u224c",
1342 "bcy;": "\u0431",
1343 "bdquo;": "\u201e",
1344 "becaus;": "\u2235",
1345 "because;": "\u2235",
1346 "bemptyv;": "\u29b0",
1347 "bepsi;": "\u03f6",
1348 "bernou;": "\u212c",
1349 "beta;": "\u03b2",
1350 "beth;": "\u2136",
1351 "between;": "\u226c",
1352 "bfr;": "\u{01d51f}",
1353 "bigcap;": "\u22c2",
1354 "bigcirc;": "\u25ef",
1355 "bigcup;": "\u22c3",
1356 "bigodot;": "\u2a00",
1357 "bigoplus;": "\u2a01",
1358 "bigotimes;": "\u2a02",
1359 "bigsqcup;": "\u2a06",
1360 "bigstar;": "\u2605",
1361 "bigtriangledown;": "\u25bd",
1362 "bigtriangleup;": "\u25b3",
1363 "biguplus;": "\u2a04",
1364 "bigvee;": "\u22c1",
1365 "bigwedge;": "\u22c0",
1366 "bkarow;": "\u290d",
1367 "blacklozenge;": "\u29eb",
1368 "blacksquare;": "\u25aa",
1369 "blacktriangle;": "\u25b4",
1370 "blacktriangledown;": "\u25be",
1371 "blacktriangleleft;": "\u25c2",
1372 "blacktriangleright;": "\u25b8",
1373 "blank;": "\u2423",
1374 "blk12;": "\u2592",
1375 "blk14;": "\u2591",
1376 "blk34;": "\u2593",
1377 "block;": "\u2588",
1378 "bne;": "=\u20e5",
1379 "bnequiv;": "\u2261\u20e5",
1380 "bnot;": "\u2310",
1381 "bopf;": "\u{01d553}",
1382 "bot;": "\u22a5",
1383 "bottom;": "\u22a5",
1384 "bowtie;": "\u22c8",
1385 "boxDL;": "\u2557",
1386 "boxDR;": "\u2554",
1387 "boxDl;": "\u2556",
1388 "boxDr;": "\u2553",
1389 "boxH;": "\u2550",
1390 "boxHD;": "\u2566",
1391 "boxHU;": "\u2569",
1392 "boxHd;": "\u2564",
1393 "boxHu;": "\u2567",
1394 "boxUL;": "\u255d",
1395 "boxUR;": "\u255a",
1396 "boxUl;": "\u255c",
1397 "boxUr;": "\u2559",
1398 "boxV;": "\u2551",
1399 "boxVH;": "\u256c",
1400 "boxVL;": "\u2563",
1401 "boxVR;": "\u2560",
1402 "boxVh;": "\u256b",
1403 "boxVl;": "\u2562",
1404 "boxVr;": "\u255f",
1405 "boxbox;": "\u29c9",
1406 "boxdL;": "\u2555",
1407 "boxdR;": "\u2552",
1408 "boxdl;": "\u2510",
1409 "boxdr;": "\u250c",
1410 "boxh;": "\u2500",
1411 "boxhD;": "\u2565",
1412 "boxhU;": "\u2568",
1413 "boxhd;": "\u252c",
1414 "boxhu;": "\u2534",
1415 "boxminus;": "\u229f",
1416 "boxplus;": "\u229e",
1417 "boxtimes;": "\u22a0",
1418 "boxuL;": "\u255b",
1419 "boxuR;": "\u2558",
1420 "boxul;": "\u2518",
1421 "boxur;": "\u2514",
1422 "boxv;": "\u2502",
1423 "boxvH;": "\u256a",
1424 "boxvL;": "\u2561",
1425 "boxvR;": "\u255e",
1426 "boxvh;": "\u253c",
1427 "boxvl;": "\u2524",
1428 "boxvr;": "\u251c",
1429 "bprime;": "\u2035",
1430 "breve;": "\u02d8",
1431 "brvbar": "\xa6",
1432 "brvbar;": "\xa6",
1433 "bscr;": "\u{01d4b7}",
1434 "bsemi;": "\u204f",
1435 "bsim;": "\u223d",
1436 "bsime;": "\u22cd",
1437 "bsol;": "\\",
1438 "bsolb;": "\u29c5",
1439 "bsolhsub;": "\u27c8",
1440 "bull;": "\u2022",
1441 "bullet;": "\u2022",
1442 "bump;": "\u224e",
1443 "bumpE;": "\u2aae",
1444 "bumpe;": "\u224f",
1445 "bumpeq;": "\u224f",
1446 "cacute;": "\u0107",
1447 "cap;": "\u2229",
1448 "capand;": "\u2a44",
1449 "capbrcup;": "\u2a49",
1450 "capcap;": "\u2a4b",
1451 "capcup;": "\u2a47",
1452 "capdot;": "\u2a40",
1453 "caps;": "\u2229\ufe00",
1454 "caret;": "\u2041",
1455 "caron;": "\u02c7",
1456 "ccaps;": "\u2a4d",
1457 "ccaron;": "\u010d",
1458 "ccedil": "\xe7",
1459 "ccedil;": "\xe7",
1460 "ccirc;": "\u0109",
1461 "ccups;": "\u2a4c",
1462 "ccupssm;": "\u2a50",
1463 "cdot;": "\u010b",
1464 "cedil": "\xb8",
1465 "cedil;": "\xb8",
1466 "cemptyv;": "\u29b2",
1467 "cent": "\xa2",
1468 "cent;": "\xa2",
1469 "centerdot;": "\xb7",
1470 "cfr;": "\u{01d520}",
1471 "chcy;": "\u0447",
1472 "check;": "\u2713",
1473 "checkmark;": "\u2713",
1474 "chi;": "\u03c7",
1475 "cir;": "\u25cb",
1476 "cirE;": "\u29c3",
1477 "circ;": "\u02c6",
1478 "circeq;": "\u2257",
1479 "circlearrowleft;": "\u21ba",
1480 "circlearrowright;": "\u21bb",
1481 "circledR;": "\xae",
1482 "circledS;": "\u24c8",
1483 "circledast;": "\u229b",
1484 "circledcirc;": "\u229a",
1485 "circleddash;": "\u229d",
1486 "cire;": "\u2257",
1487 "cirfnint;": "\u2a10",
1488 "cirmid;": "\u2aef",
1489 "cirscir;": "\u29c2",
1490 "clubs;": "\u2663",
1491 "clubsuit;": "\u2663",
1492 "colon;": ":",
1493 "colone;": "\u2254",
1494 "coloneq;": "\u2254",
1495 "comma;": ",",
1496 "commat;": "@",
1497 "comp;": "\u2201",
1498 "compfn;": "\u2218",
1499 "complement;": "\u2201",
1500 "complexes;": "\u2102",
1501 "cong;": "\u2245",
1502 "congdot;": "\u2a6d",
1503 "conint;": "\u222e",
1504 "copf;": "\u{01d554}",
1505 "coprod;": "\u2210",
1506 "copy": "\xa9",
1507 "copy;": "\xa9",
1508 "copysr;": "\u2117",
1509 "crarr;": "\u21b5",
1510 "cross;": "\u2717",
1511 "cscr;": "\u{01d4b8}",
1512 "csub;": "\u2acf",
1513 "csube;": "\u2ad1",
1514 "csup;": "\u2ad0",
1515 "csupe;": "\u2ad2",
1516 "ctdot;": "\u22ef",
1517 "cudarrl;": "\u2938",
1518 "cudarrr;": "\u2935",
1519 "cuepr;": "\u22de",
1520 "cuesc;": "\u22df",
1521 "cularr;": "\u21b6",
1522 "cularrp;": "\u293d",
1523 "cup;": "\u222a",
1524 "cupbrcap;": "\u2a48",
1525 "cupcap;": "\u2a46",
1526 "cupcup;": "\u2a4a",
1527 "cupdot;": "\u228d",
1528 "cupor;": "\u2a45",
1529 "cups;": "\u222a\ufe00",
1530 "curarr;": "\u21b7",
1531 "curarrm;": "\u293c",
1532 "curlyeqprec;": "\u22de",
1533 "curlyeqsucc;": "\u22df",
1534 "curlyvee;": "\u22ce",
1535 "curlywedge;": "\u22cf",
1536 "curren": "\xa4",
1537 "curren;": "\xa4",
1538 "curvearrowleft;": "\u21b6",
1539 "curvearrowright;": "\u21b7",
1540 "cuvee;": "\u22ce",
1541 "cuwed;": "\u22cf",
1542 "cwconint;": "\u2232",
1543 "cwint;": "\u2231",
1544 "cylcty;": "\u232d",
1545 "dArr;": "\u21d3",
1546 "dHar;": "\u2965",
1547 "dagger;": "\u2020",
1548 "daleth;": "\u2138",
1549 "darr;": "\u2193",
1550 "dash;": "\u2010",
1551 "dashv;": "\u22a3",
1552 "dbkarow;": "\u290f",
1553 "dblac;": "\u02dd",
1554 "dcaron;": "\u010f",
1555 "dcy;": "\u0434",
1556 "dd;": "\u2146",
1557 "ddagger;": "\u2021",
1558 "ddarr;": "\u21ca",
1559 "ddotseq;": "\u2a77",
1560 "deg": "\xb0",
1561 "deg;": "\xb0",
1562 "delta;": "\u03b4",
1563 "demptyv;": "\u29b1",
1564 "dfisht;": "\u297f",
1565 "dfr;": "\u{01d521}",
1566 "dharl;": "\u21c3",
1567 "dharr;": "\u21c2",
1568 "diam;": "\u22c4",
1569 "diamond;": "\u22c4",
1570 "diamondsuit;": "\u2666",
1571 "diams;": "\u2666",
1572 "die;": "\xa8",
1573 "digamma;": "\u03dd",
1574 "disin;": "\u22f2",
1575 "div;": "\xf7",
1576 "divide": "\xf7",
1577 "divide;": "\xf7",
1578 "divideontimes;": "\u22c7",
1579 "divonx;": "\u22c7",
1580 "djcy;": "\u0452",
1581 "dlcorn;": "\u231e",
1582 "dlcrop;": "\u230d",
1583 "dollar;": "\$",
1584 "dopf;": "\u{01d555}",
1585 "dot;": "\u02d9",
1586 "doteq;": "\u2250",
1587 "doteqdot;": "\u2251",
1588 "dotminus;": "\u2238",
1589 "dotplus;": "\u2214",
1590 "dotsquare;": "\u22a1",
1591 "doublebarwedge;": "\u2306",
1592 "downarrow;": "\u2193",
1593 "downdownarrows;": "\u21ca",
1594 "downharpoonleft;": "\u21c3",
1595 "downharpoonright;": "\u21c2",
1596 "drbkarow;": "\u2910",
1597 "drcorn;": "\u231f",
1598 "drcrop;": "\u230c",
1599 "dscr;": "\u{01d4b9}",
1600 "dscy;": "\u0455",
1601 "dsol;": "\u29f6",
1602 "dstrok;": "\u0111",
1603 "dtdot;": "\u22f1",
1604 "dtri;": "\u25bf",
1605 "dtrif;": "\u25be",
1606 "duarr;": "\u21f5",
1607 "duhar;": "\u296f",
1608 "dwangle;": "\u29a6",
1609 "dzcy;": "\u045f",
1610 "dzigrarr;": "\u27ff",
1611 "eDDot;": "\u2a77",
1612 "eDot;": "\u2251",
1613 "eacute": "\xe9",
1614 "eacute;": "\xe9",
1615 "easter;": "\u2a6e",
1616 "ecaron;": "\u011b",
1617 "ecir;": "\u2256",
1618 "ecirc": "\xea",
1619 "ecirc;": "\xea",
1620 "ecolon;": "\u2255",
1621 "ecy;": "\u044d",
1622 "edot;": "\u0117",
1623 "ee;": "\u2147",
1624 "efDot;": "\u2252",
1625 "efr;": "\u{01d522}",
1626 "eg;": "\u2a9a",
1627 "egrave": "\xe8",
1628 "egrave;": "\xe8",
1629 "egs;": "\u2a96",
1630 "egsdot;": "\u2a98",
1631 "el;": "\u2a99",
1632 "elinters;": "\u23e7",
1633 "ell;": "\u2113",
1634 "els;": "\u2a95",
1635 "elsdot;": "\u2a97",
1636 "emacr;": "\u0113",
1637 "empty;": "\u2205",
1638 "emptyset;": "\u2205",
1639 "emptyv;": "\u2205",
1640 "emsp13;": "\u2004",
1641 "emsp14;": "\u2005",
1642 "emsp;": "\u2003",
1643 "eng;": "\u014b",
1644 "ensp;": "\u2002",
1645 "eogon;": "\u0119",
1646 "eopf;": "\u{01d556}",
1647 "epar;": "\u22d5",
1648 "eparsl;": "\u29e3",
1649 "eplus;": "\u2a71",
1650 "epsi;": "\u03b5",
1651 "epsilon;": "\u03b5",
1652 "epsiv;": "\u03f5",
1653 "eqcirc;": "\u2256",
1654 "eqcolon;": "\u2255",
1655 "eqsim;": "\u2242",
1656 "eqslantgtr;": "\u2a96",
1657 "eqslantless;": "\u2a95",
1658 "equals;": "=",
1659 "equest;": "\u225f",
1660 "equiv;": "\u2261",
1661 "equivDD;": "\u2a78",
1662 "eqvparsl;": "\u29e5",
1663 "erDot;": "\u2253",
1664 "erarr;": "\u2971",
1665 "escr;": "\u212f",
1666 "esdot;": "\u2250",
1667 "esim;": "\u2242",
1668 "eta;": "\u03b7",
1669 "eth": "\xf0",
1670 "eth;": "\xf0",
1671 "euml": "\xeb",
1672 "euml;": "\xeb",
1673 "euro;": "\u20ac",
1674 "excl;": "!",
1675 "exist;": "\u2203",
1676 "expectation;": "\u2130",
1677 "exponentiale;": "\u2147",
1678 "fallingdotseq;": "\u2252",
1679 "fcy;": "\u0444",
1680 "female;": "\u2640",
1681 "ffilig;": "\ufb03",
1682 "fflig;": "\ufb00",
1683 "ffllig;": "\ufb04",
1684 "ffr;": "\u{01d523}",
1685 "filig;": "\ufb01",
1686 "fjlig;": "fj",
1687 "flat;": "\u266d",
1688 "fllig;": "\ufb02",
1689 "fltns;": "\u25b1",
1690 "fnof;": "\u0192",
1691 "fopf;": "\u{01d557}",
1692 "forall;": "\u2200",
1693 "fork;": "\u22d4",
1694 "forkv;": "\u2ad9",
1695 "fpartint;": "\u2a0d",
1696 "frac12": "\xbd",
1697 "frac12;": "\xbd",
1698 "frac13;": "\u2153",
1699 "frac14": "\xbc",
1700 "frac14;": "\xbc",
1701 "frac15;": "\u2155",
1702 "frac16;": "\u2159",
1703 "frac18;": "\u215b",
1704 "frac23;": "\u2154",
1705 "frac25;": "\u2156",
1706 "frac34": "\xbe",
1707 "frac34;": "\xbe",
1708 "frac35;": "\u2157",
1709 "frac38;": "\u215c",
1710 "frac45;": "\u2158",
1711 "frac56;": "\u215a",
1712 "frac58;": "\u215d",
1713 "frac78;": "\u215e",
1714 "frasl;": "\u2044",
1715 "frown;": "\u2322",
1716 "fscr;": "\u{01d4bb}",
1717 "gE;": "\u2267",
1718 "gEl;": "\u2a8c",
1719 "gacute;": "\u01f5",
1720 "gamma;": "\u03b3",
1721 "gammad;": "\u03dd",
1722 "gap;": "\u2a86",
1723 "gbreve;": "\u011f",
1724 "gcirc;": "\u011d",
1725 "gcy;": "\u0433",
1726 "gdot;": "\u0121",
1727 "ge;": "\u2265",
1728 "gel;": "\u22db",
1729 "geq;": "\u2265",
1730 "geqq;": "\u2267",
1731 "geqslant;": "\u2a7e",
1732 "ges;": "\u2a7e",
1733 "gescc;": "\u2aa9",
1734 "gesdot;": "\u2a80",
1735 "gesdoto;": "\u2a82",
1736 "gesdotol;": "\u2a84",
1737 "gesl;": "\u22db\ufe00",
1738 "gesles;": "\u2a94",
1739 "gfr;": "\u{01d524}",
1740 "gg;": "\u226b",
1741 "ggg;": "\u22d9",
1742 "gimel;": "\u2137",
1743 "gjcy;": "\u0453",
1744 "gl;": "\u2277",
1745 "glE;": "\u2a92",
1746 "gla;": "\u2aa5",
1747 "glj;": "\u2aa4",
1748 "gnE;": "\u2269",
1749 "gnap;": "\u2a8a",
1750 "gnapprox;": "\u2a8a",
1751 "gne;": "\u2a88",
1752 "gneq;": "\u2a88",
1753 "gneqq;": "\u2269",
1754 "gnsim;": "\u22e7",
1755 "gopf;": "\u{01d558}",
1756 "grave;": "`",
1757 "gscr;": "\u210a",
1758 "gsim;": "\u2273",
1759 "gsime;": "\u2a8e",
1760 "gsiml;": "\u2a90",
1761 "gt": ">",
1762 "gt;": ">",
1763 "gtcc;": "\u2aa7",
1764 "gtcir;": "\u2a7a",
1765 "gtdot;": "\u22d7",
1766 "gtlPar;": "\u2995",
1767 "gtquest;": "\u2a7c",
1768 "gtrapprox;": "\u2a86",
1769 "gtrarr;": "\u2978",
1770 "gtrdot;": "\u22d7",
1771 "gtreqless;": "\u22db",
1772 "gtreqqless;": "\u2a8c",
1773 "gtrless;": "\u2277",
1774 "gtrsim;": "\u2273",
1775 "gvertneqq;": "\u2269\ufe00",
1776 "gvnE;": "\u2269\ufe00",
1777 "hArr;": "\u21d4",
1778 "hairsp;": "\u200a",
1779 "half;": "\xbd",
1780 "hamilt;": "\u210b",
1781 "hardcy;": "\u044a",
1782 "harr;": "\u2194",
1783 "harrcir;": "\u2948",
1784 "harrw;": "\u21ad",
1785 "hbar;": "\u210f",
1786 "hcirc;": "\u0125",
1787 "hearts;": "\u2665",
1788 "heartsuit;": "\u2665",
1789 "hellip;": "\u2026",
1790 "hercon;": "\u22b9",
1791 "hfr;": "\u{01d525}",
1792 "hksearow;": "\u2925",
1793 "hkswarow;": "\u2926",
1794 "hoarr;": "\u21ff",
1795 "homtht;": "\u223b",
1796 "hookleftarrow;": "\u21a9",
1797 "hookrightarrow;": "\u21aa",
1798 "hopf;": "\u{01d559}",
1799 "horbar;": "\u2015",
1800 "hscr;": "\u{01d4bd}",
1801 "hslash;": "\u210f",
1802 "hstrok;": "\u0127",
1803 "hybull;": "\u2043",
1804 "hyphen;": "\u2010",
1805 "iacute": "\xed",
1806 "iacute;": "\xed",
1807 "ic;": "\u2063",
1808 "icirc": "\xee",
1809 "icirc;": "\xee",
1810 "icy;": "\u0438",
1811 "iecy;": "\u0435",
1812 "iexcl": "\xa1",
1813 "iexcl;": "\xa1",
1814 "iff;": "\u21d4",
1815 "ifr;": "\u{01d526}",
1816 "igrave": "\xec",
1817 "igrave;": "\xec",
1818 "ii;": "\u2148",
1819 "iiiint;": "\u2a0c",
1820 "iiint;": "\u222d",
1821 "iinfin;": "\u29dc",
1822 "iiota;": "\u2129",
1823 "ijlig;": "\u0133",
1824 "imacr;": "\u012b",
1825 "image;": "\u2111",
1826 "imagline;": "\u2110",
1827 "imagpart;": "\u2111",
1828 "imath;": "\u0131",
1829 "imof;": "\u22b7",
1830 "imped;": "\u01b5",
1831 "in;": "\u2208",
1832 "incare;": "\u2105",
1833 "infin;": "\u221e",
1834 "infintie;": "\u29dd",
1835 "inodot;": "\u0131",
1836 "int;": "\u222b",
1837 "intcal;": "\u22ba",
1838 "integers;": "\u2124",
1839 "intercal;": "\u22ba",
1840 "intlarhk;": "\u2a17",
1841 "intprod;": "\u2a3c",
1842 "iocy;": "\u0451",
1843 "iogon;": "\u012f",
1844 "iopf;": "\u{01d55a}",
1845 "iota;": "\u03b9",
1846 "iprod;": "\u2a3c",
1847 "iquest": "\xbf",
1848 "iquest;": "\xbf",
1849 "iscr;": "\u{01d4be}",
1850 "isin;": "\u2208",
1851 "isinE;": "\u22f9",
1852 "isindot;": "\u22f5",
1853 "isins;": "\u22f4",
1854 "isinsv;": "\u22f3",
1855 "isinv;": "\u2208",
1856 "it;": "\u2062",
1857 "itilde;": "\u0129",
1858 "iukcy;": "\u0456",
1859 "iuml": "\xef",
1860 "iuml;": "\xef",
1861 "jcirc;": "\u0135",
1862 "jcy;": "\u0439",
1863 "jfr;": "\u{01d527}",
1864 "jmath;": "\u0237",
1865 "jopf;": "\u{01d55b}",
1866 "jscr;": "\u{01d4bf}",
1867 "jsercy;": "\u0458",
1868 "jukcy;": "\u0454",
1869 "kappa;": "\u03ba",
1870 "kappav;": "\u03f0",
1871 "kcedil;": "\u0137",
1872 "kcy;": "\u043a",
1873 "kfr;": "\u{01d528}",
1874 "kgreen;": "\u0138",
1875 "khcy;": "\u0445",
1876 "kjcy;": "\u045c",
1877 "kopf;": "\u{01d55c}",
1878 "kscr;": "\u{01d4c0}",
1879 "lAarr;": "\u21da",
1880 "lArr;": "\u21d0",
1881 "lAtail;": "\u291b",
1882 "lBarr;": "\u290e",
1883 "lE;": "\u2266",
1884 "lEg;": "\u2a8b",
1885 "lHar;": "\u2962",
1886 "lacute;": "\u013a",
1887 "laemptyv;": "\u29b4",
1888 "lagran;": "\u2112",
1889 "lambda;": "\u03bb",
1890 "lang;": "\u27e8",
1891 "langd;": "\u2991",
1892 "langle;": "\u27e8",
1893 "lap;": "\u2a85",
1894 "laquo": "\xab",
1895 "laquo;": "\xab",
1896 "larr;": "\u2190",
1897 "larrb;": "\u21e4",
1898 "larrbfs;": "\u291f",
1899 "larrfs;": "\u291d",
1900 "larrhk;": "\u21a9",
1901 "larrlp;": "\u21ab",
1902 "larrpl;": "\u2939",
1903 "larrsim;": "\u2973",
1904 "larrtl;": "\u21a2",
1905 "lat;": "\u2aab",
1906 "latail;": "\u2919",
1907 "late;": "\u2aad",
1908 "lates;": "\u2aad\ufe00",
1909 "lbarr;": "\u290c",
1910 "lbbrk;": "\u2772",
1911 "lbrace;": "{",
1912 "lbrack;": "[",
1913 "lbrke;": "\u298b",
1914 "lbrksld;": "\u298f",
1915 "lbrkslu;": "\u298d",
1916 "lcaron;": "\u013e",
1917 "lcedil;": "\u013c",
1918 "lceil;": "\u2308",
1919 "lcub;": "{",
1920 "lcy;": "\u043b",
1921 "ldca;": "\u2936",
1922 "ldquo;": "\u201c",
1923 "ldquor;": "\u201e",
1924 "ldrdhar;": "\u2967",
1925 "ldrushar;": "\u294b",
1926 "ldsh;": "\u21b2",
1927 "le;": "\u2264",
1928 "leftarrow;": "\u2190",
1929 "leftarrowtail;": "\u21a2",
1930 "leftharpoondown;": "\u21bd",
1931 "leftharpoonup;": "\u21bc",
1932 "leftleftarrows;": "\u21c7",
1933 "leftrightarrow;": "\u2194",
1934 "leftrightarrows;": "\u21c6",
1935 "leftrightharpoons;": "\u21cb",
1936 "leftrightsquigarrow;": "\u21ad",
1937 "leftthreetimes;": "\u22cb",
1938 "leg;": "\u22da",
1939 "leq;": "\u2264",
1940 "leqq;": "\u2266",
1941 "leqslant;": "\u2a7d",
1942 "les;": "\u2a7d",
1943 "lescc;": "\u2aa8",
1944 "lesdot;": "\u2a7f",
1945 "lesdoto;": "\u2a81",
1946 "lesdotor;": "\u2a83",
1947 "lesg;": "\u22da\ufe00",
1948 "lesges;": "\u2a93",
1949 "lessapprox;": "\u2a85",
1950 "lessdot;": "\u22d6",
1951 "lesseqgtr;": "\u22da",
1952 "lesseqqgtr;": "\u2a8b",
1953 "lessgtr;": "\u2276",
1954 "lesssim;": "\u2272",
1955 "lfisht;": "\u297c",
1956 "lfloor;": "\u230a",
1957 "lfr;": "\u{01d529}",
1958 "lg;": "\u2276",
1959 "lgE;": "\u2a91",
1960 "lhard;": "\u21bd",
1961 "lharu;": "\u21bc",
1962 "lharul;": "\u296a",
1963 "lhblk;": "\u2584",
1964 "ljcy;": "\u0459",
1965 "ll;": "\u226a",
1966 "llarr;": "\u21c7",
1967 "llcorner;": "\u231e",
1968 "llhard;": "\u296b",
1969 "lltri;": "\u25fa",
1970 "lmidot;": "\u0140",
1971 "lmoust;": "\u23b0",
1972 "lmoustache;": "\u23b0",
1973 "lnE;": "\u2268",
1974 "lnap;": "\u2a89",
1975 "lnapprox;": "\u2a89",
1976 "lne;": "\u2a87",
1977 "lneq;": "\u2a87",
1978 "lneqq;": "\u2268",
1979 "lnsim;": "\u22e6",
1980 "loang;": "\u27ec",
1981 "loarr;": "\u21fd",
1982 "lobrk;": "\u27e6",
1983 "longleftarrow;": "\u27f5",
1984 "longleftrightarrow;": "\u27f7",
1985 "longmapsto;": "\u27fc",
1986 "longrightarrow;": "\u27f6",
1987 "looparrowleft;": "\u21ab",
1988 "looparrowright;": "\u21ac",
1989 "lopar;": "\u2985",
1990 "lopf;": "\u{01d55d}",
1991 "loplus;": "\u2a2d",
1992 "lotimes;": "\u2a34",
1993 "lowast;": "\u2217",
1994 "lowbar;": "_",
1995 "loz;": "\u25ca",
1996 "lozenge;": "\u25ca",
1997 "lozf;": "\u29eb",
1998 "lpar;": "(",
1999 "lparlt;": "\u2993",
2000 "lrarr;": "\u21c6",
2001 "lrcorner;": "\u231f",
2002 "lrhar;": "\u21cb",
2003 "lrhard;": "\u296d",
2004 "lrm;": "\u200e",
2005 "lrtri;": "\u22bf",
2006 "lsaquo;": "\u2039",
2007 "lscr;": "\u{01d4c1}",
2008 "lsh;": "\u21b0",
2009 "lsim;": "\u2272",
2010 "lsime;": "\u2a8d",
2011 "lsimg;": "\u2a8f",
2012 "lsqb;": "[",
2013 "lsquo;": "\u2018",
2014 "lsquor;": "\u201a",
2015 "lstrok;": "\u0142",
2016 "lt": "<",
2017 "lt;": "<",
2018 "ltcc;": "\u2aa6",
2019 "ltcir;": "\u2a79",
2020 "ltdot;": "\u22d6",
2021 "lthree;": "\u22cb",
2022 "ltimes;": "\u22c9",
2023 "ltlarr;": "\u2976",
2024 "ltquest;": "\u2a7b",
2025 "ltrPar;": "\u2996",
2026 "ltri;": "\u25c3",
2027 "ltrie;": "\u22b4",
2028 "ltrif;": "\u25c2",
2029 "lurdshar;": "\u294a",
2030 "luruhar;": "\u2966",
2031 "lvertneqq;": "\u2268\ufe00",
2032 "lvnE;": "\u2268\ufe00",
2033 "mDDot;": "\u223a",
2034 "macr": "\xaf",
2035 "macr;": "\xaf",
2036 "male;": "\u2642",
2037 "malt;": "\u2720",
2038 "maltese;": "\u2720",
2039 "map;": "\u21a6",
2040 "mapsto;": "\u21a6",
2041 "mapstodown;": "\u21a7",
2042 "mapstoleft;": "\u21a4",
2043 "mapstoup;": "\u21a5",
2044 "marker;": "\u25ae",
2045 "mcomma;": "\u2a29",
2046 "mcy;": "\u043c",
2047 "mdash;": "\u2014",
2048 "measuredangle;": "\u2221",
2049 "mfr;": "\u{01d52a}",
2050 "mho;": "\u2127",
2051 "micro": "\xb5",
2052 "micro;": "\xb5",
2053 "mid;": "\u2223",
2054 "midast;": "*",
2055 "midcir;": "\u2af0",
2056 "middot": "\xb7",
2057 "middot;": "\xb7",
2058 "minus;": "\u2212",
2059 "minusb;": "\u229f",
2060 "minusd;": "\u2238",
2061 "minusdu;": "\u2a2a",
2062 "mlcp;": "\u2adb",
2063 "mldr;": "\u2026",
2064 "mnplus;": "\u2213",
2065 "models;": "\u22a7",
2066 "mopf;": "\u{01d55e}",
2067 "mp;": "\u2213",
2068 "mscr;": "\u{01d4c2}",
2069 "mstpos;": "\u223e",
2070 "mu;": "\u03bc",
2071 "multimap;": "\u22b8",
2072 "mumap;": "\u22b8",
2073 "nGg;": "\u22d9\u0338",
2074 "nGt;": "\u226b\u20d2",
2075 "nGtv;": "\u226b\u0338",
2076 "nLeftarrow;": "\u21cd",
2077 "nLeftrightarrow;": "\u21ce",
2078 "nLl;": "\u22d8\u0338",
2079 "nLt;": "\u226a\u20d2",
2080 "nLtv;": "\u226a\u0338",
2081 "nRightarrow;": "\u21cf",
2082 "nVDash;": "\u22af",
2083 "nVdash;": "\u22ae",
2084 "nabla;": "\u2207",
2085 "nacute;": "\u0144",
2086 "nang;": "\u2220\u20d2",
2087 "nap;": "\u2249",
2088 "napE;": "\u2a70\u0338",
2089 "napid;": "\u224b\u0338",
2090 "napos;": "\u0149",
2091 "napprox;": "\u2249",
2092 "natur;": "\u266e",
2093 "natural;": "\u266e",
2094 "naturals;": "\u2115",
2095 "nbsp": "\xa0",
2096 "nbsp;": "\xa0",
2097 "nbump;": "\u224e\u0338",
2098 "nbumpe;": "\u224f\u0338",
2099 "ncap;": "\u2a43",
2100 "ncaron;": "\u0148",
2101 "ncedil;": "\u0146",
2102 "ncong;": "\u2247",
2103 "ncongdot;": "\u2a6d\u0338",
2104 "ncup;": "\u2a42",
2105 "ncy;": "\u043d",
2106 "ndash;": "\u2013",
2107 "ne;": "\u2260",
2108 "neArr;": "\u21d7",
2109 "nearhk;": "\u2924",
2110 "nearr;": "\u2197",
2111 "nearrow;": "\u2197",
2112 "nedot;": "\u2250\u0338",
2113 "nequiv;": "\u2262",
2114 "nesear;": "\u2928",
2115 "nesim;": "\u2242\u0338",
2116 "nexist;": "\u2204",
2117 "nexists;": "\u2204",
2118 "nfr;": "\u{01d52b}",
2119 "ngE;": "\u2267\u0338",
2120 "nge;": "\u2271",
2121 "ngeq;": "\u2271",
2122 "ngeqq;": "\u2267\u0338",
2123 "ngeqslant;": "\u2a7e\u0338",
2124 "nges;": "\u2a7e\u0338",
2125 "ngsim;": "\u2275",
2126 "ngt;": "\u226f",
2127 "ngtr;": "\u226f",
2128 "nhArr;": "\u21ce",
2129 "nharr;": "\u21ae",
2130 "nhpar;": "\u2af2",
2131 "ni;": "\u220b",
2132 "nis;": "\u22fc",
2133 "nisd;": "\u22fa",
2134 "niv;": "\u220b",
2135 "njcy;": "\u045a",
2136 "nlArr;": "\u21cd",
2137 "nlE;": "\u2266\u0338",
2138 "nlarr;": "\u219a",
2139 "nldr;": "\u2025",
2140 "nle;": "\u2270",
2141 "nleftarrow;": "\u219a",
2142 "nleftrightarrow;": "\u21ae",
2143 "nleq;": "\u2270",
2144 "nleqq;": "\u2266\u0338",
2145 "nleqslant;": "\u2a7d\u0338",
2146 "nles;": "\u2a7d\u0338",
2147 "nless;": "\u226e",
2148 "nlsim;": "\u2274",
2149 "nlt;": "\u226e",
2150 "nltri;": "\u22ea",
2151 "nltrie;": "\u22ec",
2152 "nmid;": "\u2224",
2153 "nopf;": "\u{01d55f}",
2154 "not": "\xac",
2155 "not;": "\xac",
2156 "notin;": "\u2209",
2157 "notinE;": "\u22f9\u0338",
2158 "notindot;": "\u22f5\u0338",
2159 "notinva;": "\u2209",
2160 "notinvb;": "\u22f7",
2161 "notinvc;": "\u22f6",
2162 "notni;": "\u220c",
2163 "notniva;": "\u220c",
2164 "notnivb;": "\u22fe",
2165 "notnivc;": "\u22fd",
2166 "npar;": "\u2226",
2167 "nparallel;": "\u2226",
2168 "nparsl;": "\u2afd\u20e5",
2169 "npart;": "\u2202\u0338",
2170 "npolint;": "\u2a14",
2171 "npr;": "\u2280",
2172 "nprcue;": "\u22e0",
2173 "npre;": "\u2aaf\u0338",
2174 "nprec;": "\u2280",
2175 "npreceq;": "\u2aaf\u0338",
2176 "nrArr;": "\u21cf",
2177 "nrarr;": "\u219b",
2178 "nrarrc;": "\u2933\u0338",
2179 "nrarrw;": "\u219d\u0338",
2180 "nrightarrow;": "\u219b",
2181 "nrtri;": "\u22eb",
2182 "nrtrie;": "\u22ed",
2183 "nsc;": "\u2281",
2184 "nsccue;": "\u22e1",
2185 "nsce;": "\u2ab0\u0338",
2186 "nscr;": "\u{01d4c3}",
2187 "nshortmid;": "\u2224",
2188 "nshortparallel;": "\u2226",
2189 "nsim;": "\u2241",
2190 "nsime;": "\u2244",
2191 "nsimeq;": "\u2244",
2192 "nsmid;": "\u2224",
2193 "nspar;": "\u2226",
2194 "nsqsube;": "\u22e2",
2195 "nsqsupe;": "\u22e3",
2196 "nsub;": "\u2284",
2197 "nsubE;": "\u2ac5\u0338",
2198 "nsube;": "\u2288",
2199 "nsubset;": "\u2282\u20d2",
2200 "nsubseteq;": "\u2288",
2201 "nsubseteqq;": "\u2ac5\u0338",
2202 "nsucc;": "\u2281",
2203 "nsucceq;": "\u2ab0\u0338",
2204 "nsup;": "\u2285",
2205 "nsupE;": "\u2ac6\u0338",
2206 "nsupe;": "\u2289",
2207 "nsupset;": "\u2283\u20d2",
2208 "nsupseteq;": "\u2289",
2209 "nsupseteqq;": "\u2ac6\u0338",
2210 "ntgl;": "\u2279",
2211 "ntilde": "\xf1",
2212 "ntilde;": "\xf1",
2213 "ntlg;": "\u2278",
2214 "ntriangleleft;": "\u22ea",
2215 "ntrianglelefteq;": "\u22ec",
2216 "ntriangleright;": "\u22eb",
2217 "ntrianglerighteq;": "\u22ed",
2218 "nu;": "\u03bd",
2219 "num;": "#",
2220 "numero;": "\u2116",
2221 "numsp;": "\u2007",
2222 "nvDash;": "\u22ad",
2223 "nvHarr;": "\u2904",
2224 "nvap;": "\u224d\u20d2",
2225 "nvdash;": "\u22ac",
2226 "nvge;": "\u2265\u20d2",
2227 "nvgt;": ">\u20d2",
2228 "nvinfin;": "\u29de",
2229 "nvlArr;": "\u2902",
2230 "nvle;": "\u2264\u20d2",
2231 "nvlt;": "<\u20d2",
2232 "nvltrie;": "\u22b4\u20d2",
2233 "nvrArr;": "\u2903",
2234 "nvrtrie;": "\u22b5\u20d2",
2235 "nvsim;": "\u223c\u20d2",
2236 "nwArr;": "\u21d6",
2237 "nwarhk;": "\u2923",
2238 "nwarr;": "\u2196",
2239 "nwarrow;": "\u2196",
2240 "nwnear;": "\u2927",
2241 "oS;": "\u24c8",
2242 "oacute": "\xf3",
2243 "oacute;": "\xf3",
2244 "oast;": "\u229b",
2245 "ocir;": "\u229a",
2246 "ocirc": "\xf4",
2247 "ocirc;": "\xf4",
2248 "ocy;": "\u043e",
2249 "odash;": "\u229d",
2250 "odblac;": "\u0151",
2251 "odiv;": "\u2a38",
2252 "odot;": "\u2299",
2253 "odsold;": "\u29bc",
2254 "oelig;": "\u0153",
2255 "ofcir;": "\u29bf",
2256 "ofr;": "\u{01d52c}",
2257 "ogon;": "\u02db",
2258 "ograve": "\xf2",
2259 "ograve;": "\xf2",
2260 "ogt;": "\u29c1",
2261 "ohbar;": "\u29b5",
2262 "ohm;": "\u03a9",
2263 "oint;": "\u222e",
2264 "olarr;": "\u21ba",
2265 "olcir;": "\u29be",
2266 "olcross;": "\u29bb",
2267 "oline;": "\u203e",
2268 "olt;": "\u29c0",
2269 "omacr;": "\u014d",
2270 "omega;": "\u03c9",
2271 "omicron;": "\u03bf",
2272 "omid;": "\u29b6",
2273 "ominus;": "\u2296",
2274 "oopf;": "\u{01d560}",
2275 "opar;": "\u29b7",
2276 "operp;": "\u29b9",
2277 "oplus;": "\u2295",
2278 "or;": "\u2228",
2279 "orarr;": "\u21bb",
2280 "ord;": "\u2a5d",
2281 "order;": "\u2134",
2282 "orderof;": "\u2134",
2283 "ordf": "\xaa",
2284 "ordf;": "\xaa",
2285 "ordm": "\xba",
2286 "ordm;": "\xba",
2287 "origof;": "\u22b6",
2288 "oror;": "\u2a56",
2289 "orslope;": "\u2a57",
2290 "orv;": "\u2a5b",
2291 "oscr;": "\u2134",
2292 "oslash": "\xf8",
2293 "oslash;": "\xf8",
2294 "osol;": "\u2298",
2295 "otilde": "\xf5",
2296 "otilde;": "\xf5",
2297 "otimes;": "\u2297",
2298 "otimesas;": "\u2a36",
2299 "ouml": "\xf6",
2300 "ouml;": "\xf6",
2301 "ovbar;": "\u233d",
2302 "par;": "\u2225",
2303 "para": "\xb6",
2304 "para;": "\xb6",
2305 "parallel;": "\u2225",
2306 "parsim;": "\u2af3",
2307 "parsl;": "\u2afd",
2308 "part;": "\u2202",
2309 "pcy;": "\u043f",
2310 "percnt;": "%",
2311 "period;": ".",
2312 "permil;": "\u2030",
2313 "perp;": "\u22a5",
2314 "pertenk;": "\u2031",
2315 "pfr;": "\u{01d52d}",
2316 "phi;": "\u03c6",
2317 "phiv;": "\u03d5",
2318 "phmmat;": "\u2133",
2319 "phone;": "\u260e",
2320 "pi;": "\u03c0",
2321 "pitchfork;": "\u22d4",
2322 "piv;": "\u03d6",
2323 "planck;": "\u210f",
2324 "planckh;": "\u210e",
2325 "plankv;": "\u210f",
2326 "plus;": "+",
2327 "plusacir;": "\u2a23",
2328 "plusb;": "\u229e",
2329 "pluscir;": "\u2a22",
2330 "plusdo;": "\u2214",
2331 "plusdu;": "\u2a25",
2332 "pluse;": "\u2a72",
2333 "plusmn": "\xb1",
2334 "plusmn;": "\xb1",
2335 "plussim;": "\u2a26",
2336 "plustwo;": "\u2a27",
2337 "pm;": "\xb1",
2338 "pointint;": "\u2a15",
2339 "popf;": "\u{01d561}",
2340 "pound": "\xa3",
2341 "pound;": "\xa3",
2342 "pr;": "\u227a",
2343 "prE;": "\u2ab3",
2344 "prap;": "\u2ab7",
2345 "prcue;": "\u227c",
2346 "pre;": "\u2aaf",
2347 "prec;": "\u227a",
2348 "precapprox;": "\u2ab7",
2349 "preccurlyeq;": "\u227c",
2350 "preceq;": "\u2aaf",
2351 "precnapprox;": "\u2ab9",
2352 "precneqq;": "\u2ab5",
2353 "precnsim;": "\u22e8",
2354 "precsim;": "\u227e",
2355 "prime;": "\u2032",
2356 "primes;": "\u2119",
2357 "prnE;": "\u2ab5",
2358 "prnap;": "\u2ab9",
2359 "prnsim;": "\u22e8",
2360 "prod;": "\u220f",
2361 "profalar;": "\u232e",
2362 "profline;": "\u2312",
2363 "profsurf;": "\u2313",
2364 "prop;": "\u221d",
2365 "propto;": "\u221d",
2366 "prsim;": "\u227e",
2367 "prurel;": "\u22b0",
2368 "pscr;": "\u{01d4c5}",
2369 "psi;": "\u03c8",
2370 "puncsp;": "\u2008",
2371 "qfr;": "\u{01d52e}",
2372 "qint;": "\u2a0c",
2373 "qopf;": "\u{01d562}",
2374 "qprime;": "\u2057",
2375 "qscr;": "\u{01d4c6}",
2376 "quaternions;": "\u210d",
2377 "quatint;": "\u2a16",
2378 "quest;": "?",
2379 "questeq;": "\u225f",
2380 "quot": "\"",
2381 "quot;": "\"",
2382 "rAarr;": "\u21db",
2383 "rArr;": "\u21d2",
2384 "rAtail;": "\u291c",
2385 "rBarr;": "\u290f",
2386 "rHar;": "\u2964",
2387 "race;": "\u223d\u0331",
2388 "racute;": "\u0155",
2389 "radic;": "\u221a",
2390 "raemptyv;": "\u29b3",
2391 "rang;": "\u27e9",
2392 "rangd;": "\u2992",
2393 "range;": "\u29a5",
2394 "rangle;": "\u27e9",
2395 "raquo": "\xbb",
2396 "raquo;": "\xbb",
2397 "rarr;": "\u2192",
2398 "rarrap;": "\u2975",
2399 "rarrb;": "\u21e5",
2400 "rarrbfs;": "\u2920",
2401 "rarrc;": "\u2933",
2402 "rarrfs;": "\u291e",
2403 "rarrhk;": "\u21aa",
2404 "rarrlp;": "\u21ac",
2405 "rarrpl;": "\u2945",
2406 "rarrsim;": "\u2974",
2407 "rarrtl;": "\u21a3",
2408 "rarrw;": "\u219d",
2409 "ratail;": "\u291a",
2410 "ratio;": "\u2236",
2411 "rationals;": "\u211a",
2412 "rbarr;": "\u290d",
2413 "rbbrk;": "\u2773",
2414 "rbrace;": "}",
2415 "rbrack;": "]",
2416 "rbrke;": "\u298c",
2417 "rbrksld;": "\u298e",
2418 "rbrkslu;": "\u2990",
2419 "rcaron;": "\u0159",
2420 "rcedil;": "\u0157",
2421 "rceil;": "\u2309",
2422 "rcub;": "}",
2423 "rcy;": "\u0440",
2424 "rdca;": "\u2937",
2425 "rdldhar;": "\u2969",
2426 "rdquo;": "\u201d",
2427 "rdquor;": "\u201d",
2428 "rdsh;": "\u21b3",
2429 "real;": "\u211c",
2430 "realine;": "\u211b",
2431 "realpart;": "\u211c",
2432 "reals;": "\u211d",
2433 "rect;": "\u25ad",
2434 "reg": "\xae",
2435 "reg;": "\xae",
2436 "rfisht;": "\u297d",
2437 "rfloor;": "\u230b",
2438 "rfr;": "\u{01d52f}",
2439 "rhard;": "\u21c1",
2440 "rharu;": "\u21c0",
2441 "rharul;": "\u296c",
2442 "rho;": "\u03c1",
2443 "rhov;": "\u03f1",
2444 "rightarrow;": "\u2192",
2445 "rightarrowtail;": "\u21a3",
2446 "rightharpoondown;": "\u21c1",
2447 "rightharpoonup;": "\u21c0",
2448 "rightleftarrows;": "\u21c4",
2449 "rightleftharpoons;": "\u21cc",
2450 "rightrightarrows;": "\u21c9",
2451 "rightsquigarrow;": "\u219d",
2452 "rightthreetimes;": "\u22cc",
2453 "ring;": "\u02da",
2454 "risingdotseq;": "\u2253",
2455 "rlarr;": "\u21c4",
2456 "rlhar;": "\u21cc",
2457 "rlm;": "\u200f",
2458 "rmoust;": "\u23b1",
2459 "rmoustache;": "\u23b1",
2460 "rnmid;": "\u2aee",
2461 "roang;": "\u27ed",
2462 "roarr;": "\u21fe",
2463 "robrk;": "\u27e7",
2464 "ropar;": "\u2986",
2465 "ropf;": "\u{01d563}",
2466 "roplus;": "\u2a2e",
2467 "rotimes;": "\u2a35",
2468 "rpar;": ")",
2469 "rpargt;": "\u2994",
2470 "rppolint;": "\u2a12",
2471 "rrarr;": "\u21c9",
2472 "rsaquo;": "\u203a",
2473 "rscr;": "\u{01d4c7}",
2474 "rsh;": "\u21b1",
2475 "rsqb;": "]",
2476 "rsquo;": "\u2019",
2477 "rsquor;": "\u2019",
2478 "rthree;": "\u22cc",
2479 "rtimes;": "\u22ca",
2480 "rtri;": "\u25b9",
2481 "rtrie;": "\u22b5",
2482 "rtrif;": "\u25b8",
2483 "rtriltri;": "\u29ce",
2484 "ruluhar;": "\u2968",
2485 "rx;": "\u211e",
2486 "sacute;": "\u015b",
2487 "sbquo;": "\u201a",
2488 "sc;": "\u227b",
2489 "scE;": "\u2ab4",
2490 "scap;": "\u2ab8",
2491 "scaron;": "\u0161",
2492 "sccue;": "\u227d",
2493 "sce;": "\u2ab0",
2494 "scedil;": "\u015f",
2495 "scirc;": "\u015d",
2496 "scnE;": "\u2ab6",
2497 "scnap;": "\u2aba",
2498 "scnsim;": "\u22e9",
2499 "scpolint;": "\u2a13",
2500 "scsim;": "\u227f",
2501 "scy;": "\u0441",
2502 "sdot;": "\u22c5",
2503 "sdotb;": "\u22a1",
2504 "sdote;": "\u2a66",
2505 "seArr;": "\u21d8",
2506 "searhk;": "\u2925",
2507 "searr;": "\u2198",
2508 "searrow;": "\u2198",
2509 "sect": "\xa7",
2510 "sect;": "\xa7",
2511 "semi;": ";",
2512 "seswar;": "\u2929",
2513 "setminus;": "\u2216",
2514 "setmn;": "\u2216",
2515 "sext;": "\u2736",
2516 "sfr;": "\u{01d530}",
2517 "sfrown;": "\u2322",
2518 "sharp;": "\u266f",
2519 "shchcy;": "\u0449",
2520 "shcy;": "\u0448",
2521 "shortmid;": "\u2223",
2522 "shortparallel;": "\u2225",
2523 "shy": "\xad",
2524 "shy;": "\xad",
2525 "sigma;": "\u03c3",
2526 "sigmaf;": "\u03c2",
2527 "sigmav;": "\u03c2",
2528 "sim;": "\u223c",
2529 "simdot;": "\u2a6a",
2530 "sime;": "\u2243",
2531 "simeq;": "\u2243",
2532 "simg;": "\u2a9e",
2533 "simgE;": "\u2aa0",
2534 "siml;": "\u2a9d",
2535 "simlE;": "\u2a9f",
2536 "simne;": "\u2246",
2537 "simplus;": "\u2a24",
2538 "simrarr;": "\u2972",
2539 "slarr;": "\u2190",
2540 "smallsetminus;": "\u2216",
2541 "smashp;": "\u2a33",
2542 "smeparsl;": "\u29e4",
2543 "smid;": "\u2223",
2544 "smile;": "\u2323",
2545 "smt;": "\u2aaa",
2546 "smte;": "\u2aac",
2547 "smtes;": "\u2aac\ufe00",
2548 "softcy;": "\u044c",
2549 "sol;": "/",
2550 "solb;": "\u29c4",
2551 "solbar;": "\u233f",
2552 "sopf;": "\u{01d564}",
2553 "spades;": "\u2660",
2554 "spadesuit;": "\u2660",
2555 "spar;": "\u2225",
2556 "sqcap;": "\u2293",
2557 "sqcaps;": "\u2293\ufe00",
2558 "sqcup;": "\u2294",
2559 "sqcups;": "\u2294\ufe00",
2560 "sqsub;": "\u228f",
2561 "sqsube;": "\u2291",
2562 "sqsubset;": "\u228f",
2563 "sqsubseteq;": "\u2291",
2564 "sqsup;": "\u2290",
2565 "sqsupe;": "\u2292",
2566 "sqsupset;": "\u2290",
2567 "sqsupseteq;": "\u2292",
2568 "squ;": "\u25a1",
2569 "square;": "\u25a1",
2570 "squarf;": "\u25aa",
2571 "squf;": "\u25aa",
2572 "srarr;": "\u2192",
2573 "sscr;": "\u{01d4c8}",
2574 "ssetmn;": "\u2216",
2575 "ssmile;": "\u2323",
2576 "sstarf;": "\u22c6",
2577 "star;": "\u2606",
2578 "starf;": "\u2605",
2579 "straightepsilon;": "\u03f5",
2580 "straightphi;": "\u03d5",
2581 "strns;": "\xaf",
2582 "sub;": "\u2282",
2583 "subE;": "\u2ac5",
2584 "subdot;": "\u2abd",
2585 "sube;": "\u2286",
2586 "subedot;": "\u2ac3",
2587 "submult;": "\u2ac1",
2588 "subnE;": "\u2acb",
2589 "subne;": "\u228a",
2590 "subplus;": "\u2abf",
2591 "subrarr;": "\u2979",
2592 "subset;": "\u2282",
2593 "subseteq;": "\u2286",
2594 "subseteqq;": "\u2ac5",
2595 "subsetneq;": "\u228a",
2596 "subsetneqq;": "\u2acb",
2597 "subsim;": "\u2ac7",
2598 "subsub;": "\u2ad5",
2599 "subsup;": "\u2ad3",
2600 "succ;": "\u227b",
2601 "succapprox;": "\u2ab8",
2602 "succcurlyeq;": "\u227d",
2603 "succeq;": "\u2ab0",
2604 "succnapprox;": "\u2aba",
2605 "succneqq;": "\u2ab6",
2606 "succnsim;": "\u22e9",
2607 "succsim;": "\u227f",
2608 "sum;": "\u2211",
2609 "sung;": "\u266a",
2610 "sup1": "\xb9",
2611 "sup1;": "\xb9",
2612 "sup2": "\xb2",
2613 "sup2;": "\xb2",
2614 "sup3": "\xb3",
2615 "sup3;": "\xb3",
2616 "sup;": "\u2283",
2617 "supE;": "\u2ac6",
2618 "supdot;": "\u2abe",
2619 "supdsub;": "\u2ad8",
2620 "supe;": "\u2287",
2621 "supedot;": "\u2ac4",
2622 "suphsol;": "\u27c9",
2623 "suphsub;": "\u2ad7",
2624 "suplarr;": "\u297b",
2625 "supmult;": "\u2ac2",
2626 "supnE;": "\u2acc",
2627 "supne;": "\u228b",
2628 "supplus;": "\u2ac0",
2629 "supset;": "\u2283",
2630 "supseteq;": "\u2287",
2631 "supseteqq;": "\u2ac6",
2632 "supsetneq;": "\u228b",
2633 "supsetneqq;": "\u2acc",
2634 "supsim;": "\u2ac8",
2635 "supsub;": "\u2ad4",
2636 "supsup;": "\u2ad6",
2637 "swArr;": "\u21d9",
2638 "swarhk;": "\u2926",
2639 "swarr;": "\u2199",
2640 "swarrow;": "\u2199",
2641 "swnwar;": "\u292a",
2642 "szlig": "\xdf",
2643 "szlig;": "\xdf",
2644 "target;": "\u2316",
2645 "tau;": "\u03c4",
2646 "tbrk;": "\u23b4",
2647 "tcaron;": "\u0165",
2648 "tcedil;": "\u0163",
2649 "tcy;": "\u0442",
2650 "tdot;": "\u20db",
2651 "telrec;": "\u2315",
2652 "tfr;": "\u{01d531}",
2653 "there4;": "\u2234",
2654 "therefore;": "\u2234",
2655 "theta;": "\u03b8",
2656 "thetasym;": "\u03d1",
2657 "thetav;": "\u03d1",
2658 "thickapprox;": "\u2248",
2659 "thicksim;": "\u223c",
2660 "thinsp;": "\u2009",
2661 "thkap;": "\u2248",
2662 "thksim;": "\u223c",
2663 "thorn": "\xfe",
2664 "thorn;": "\xfe",
2665 "tilde;": "\u02dc",
2666 "times": "\xd7",
2667 "times;": "\xd7",
2668 "timesb;": "\u22a0",
2669 "timesbar;": "\u2a31",
2670 "timesd;": "\u2a30",
2671 "tint;": "\u222d",
2672 "toea;": "\u2928",
2673 "top;": "\u22a4",
2674 "topbot;": "\u2336",
2675 "topcir;": "\u2af1",
2676 "topf;": "\u{01d565}",
2677 "topfork;": "\u2ada",
2678 "tosa;": "\u2929",
2679 "tprime;": "\u2034",
2680 "trade;": "\u2122",
2681 "triangle;": "\u25b5",
2682 "triangledown;": "\u25bf",
2683 "triangleleft;": "\u25c3",
2684 "trianglelefteq;": "\u22b4",
2685 "triangleq;": "\u225c",
2686 "triangleright;": "\u25b9",
2687 "trianglerighteq;": "\u22b5",
2688 "tridot;": "\u25ec",
2689 "trie;": "\u225c",
2690 "triminus;": "\u2a3a",
2691 "triplus;": "\u2a39",
2692 "trisb;": "\u29cd",
2693 "tritime;": "\u2a3b",
2694 "trpezium;": "\u23e2",
2695 "tscr;": "\u{01d4c9}",
2696 "tscy;": "\u0446",
2697 "tshcy;": "\u045b",
2698 "tstrok;": "\u0167",
2699 "twixt;": "\u226c",
2700 "twoheadleftarrow;": "\u219e",
2701 "twoheadrightarrow;": "\u21a0",
2702 "uArr;": "\u21d1",
2703 "uHar;": "\u2963",
2704 "uacute": "\xfa",
2705 "uacute;": "\xfa",
2706 "uarr;": "\u2191",
2707 "ubrcy;": "\u045e",
2708 "ubreve;": "\u016d",
2709 "ucirc": "\xfb",
2710 "ucirc;": "\xfb",
2711 "ucy;": "\u0443",
2712 "udarr;": "\u21c5",
2713 "udblac;": "\u0171",
2714 "udhar;": "\u296e",
2715 "ufisht;": "\u297e",
2716 "ufr;": "\u{01d532}",
2717 "ugrave": "\xf9",
2718 "ugrave;": "\xf9",
2719 "uharl;": "\u21bf",
2720 "uharr;": "\u21be",
2721 "uhblk;": "\u2580",
2722 "ulcorn;": "\u231c",
2723 "ulcorner;": "\u231c",
2724 "ulcrop;": "\u230f",
2725 "ultri;": "\u25f8",
2726 "umacr;": "\u016b",
2727 "uml": "\xa8",
2728 "uml;": "\xa8",
2729 "uogon;": "\u0173",
2730 "uopf;": "\u{01d566}",
2731 "uparrow;": "\u2191",
2732 "updownarrow;": "\u2195",
2733 "upharpoonleft;": "\u21bf",
2734 "upharpoonright;": "\u21be",
2735 "uplus;": "\u228e",
2736 "upsi;": "\u03c5",
2737 "upsih;": "\u03d2",
2738 "upsilon;": "\u03c5",
2739 "upuparrows;": "\u21c8",
2740 "urcorn;": "\u231d",
2741 "urcorner;": "\u231d",
2742 "urcrop;": "\u230e",
2743 "uring;": "\u016f",
2744 "urtri;": "\u25f9",
2745 "uscr;": "\u{01d4ca}",
2746 "utdot;": "\u22f0",
2747 "utilde;": "\u0169",
2748 "utri;": "\u25b5",
2749 "utrif;": "\u25b4",
2750 "uuarr;": "\u21c8",
2751 "uuml": "\xfc",
2752 "uuml;": "\xfc",
2753 "uwangle;": "\u29a7",
2754 "vArr;": "\u21d5",
2755 "vBar;": "\u2ae8",
2756 "vBarv;": "\u2ae9",
2757 "vDash;": "\u22a8",
2758 "vangrt;": "\u299c",
2759 "varepsilon;": "\u03f5",
2760 "varkappa;": "\u03f0",
2761 "varnothing;": "\u2205",
2762 "varphi;": "\u03d5",
2763 "varpi;": "\u03d6",
2764 "varpropto;": "\u221d",
2765 "varr;": "\u2195",
2766 "varrho;": "\u03f1",
2767 "varsigma;": "\u03c2",
2768 "varsubsetneq;": "\u228a\ufe00",
2769 "varsubsetneqq;": "\u2acb\ufe00",
2770 "varsupsetneq;": "\u228b\ufe00",
2771 "varsupsetneqq;": "\u2acc\ufe00",
2772 "vartheta;": "\u03d1",
2773 "vartriangleleft;": "\u22b2",
2774 "vartriangleright;": "\u22b3",
2775 "vcy;": "\u0432",
2776 "vdash;": "\u22a2",
2777 "vee;": "\u2228",
2778 "veebar;": "\u22bb",
2779 "veeeq;": "\u225a",
2780 "vellip;": "\u22ee",
2781 "verbar;": "|",
2782 "vert;": "|",
2783 "vfr;": "\u{01d533}",
2784 "vltri;": "\u22b2",
2785 "vnsub;": "\u2282\u20d2",
2786 "vnsup;": "\u2283\u20d2",
2787 "vopf;": "\u{01d567}",
2788 "vprop;": "\u221d",
2789 "vrtri;": "\u22b3",
2790 "vscr;": "\u{01d4cb}",
2791 "vsubnE;": "\u2acb\ufe00",
2792 "vsubne;": "\u228a\ufe00",
2793 "vsupnE;": "\u2acc\ufe00",
2794 "vsupne;": "\u228b\ufe00",
2795 "vzigzag;": "\u299a",
2796 "wcirc;": "\u0175",
2797 "wedbar;": "\u2a5f",
2798 "wedge;": "\u2227",
2799 "wedgeq;": "\u2259",
2800 "weierp;": "\u2118",
2801 "wfr;": "\u{01d534}",
2802 "wopf;": "\u{01d568}",
2803 "wp;": "\u2118",
2804 "wr;": "\u2240",
2805 "wreath;": "\u2240",
2806 "wscr;": "\u{01d4cc}",
2807 "xcap;": "\u22c2",
2808 "xcirc;": "\u25ef",
2809 "xcup;": "\u22c3",
2810 "xdtri;": "\u25bd",
2811 "xfr;": "\u{01d535}",
2812 "xhArr;": "\u27fa",
2813 "xharr;": "\u27f7",
2814 "xi;": "\u03be",
2815 "xlArr;": "\u27f8",
2816 "xlarr;": "\u27f5",
2817 "xmap;": "\u27fc",
2818 "xnis;": "\u22fb",
2819 "xodot;": "\u2a00",
2820 "xopf;": "\u{01d569}",
2821 "xoplus;": "\u2a01",
2822 "xotime;": "\u2a02",
2823 "xrArr;": "\u27f9",
2824 "xrarr;": "\u27f6",
2825 "xscr;": "\u{01d4cd}",
2826 "xsqcup;": "\u2a06",
2827 "xuplus;": "\u2a04",
2828 "xutri;": "\u25b3",
2829 "xvee;": "\u22c1",
2830 "xwedge;": "\u22c0",
2831 "yacute": "\xfd",
2832 "yacute;": "\xfd",
2833 "yacy;": "\u044f",
2834 "ycirc;": "\u0177",
2835 "ycy;": "\u044b",
2836 "yen": "\xa5",
2837 "yen;": "\xa5",
2838 "yfr;": "\u{01d536}",
2839 "yicy;": "\u0457",
2840 "yopf;": "\u{01d56a}",
2841 "yscr;": "\u{01d4ce}",
2842 "yucy;": "\u044e",
2843 "yuml": "\xff",
2844 "yuml;": "\xff",
2845 "zacute;": "\u017a",
2846 "zcaron;": "\u017e",
2847 "zcy;": "\u0437",
2848 "zdot;": "\u017c",
2849 "zeetrf;": "\u2128",
2850 "zeta;": "\u03b6",
2851 "zfr;": "\u{01d537}",
2852 "zhcy;": "\u0436",
2853 "zigrarr;": "\u21dd",
2854 "zopf;": "\u{01d56b}",
2855 "zscr;": "\u{01d4cf}",
2856 "zwj;": "\u200d",
2857 "zwnj;": "\u200c",
2858 };
2859
2860 Map<int, String> replacementCharacters = (() {
2861 // TODO(jmesserly): fix this when Dart has literal maps with int keys.
2862 var r = new Map<int, String>();
2863 r[0x00] = "\uFFFD";
2864 r[0x0d] = "\u000D";
2865 r[0x80] = "\u20AC";
2866 r[0x81] = "\u0081";
2867 r[0x81] = "\u0081";
2868 r[0x82] = "\u201A";
2869 r[0x83] = "\u0192";
2870 r[0x84] = "\u201E";
2871 r[0x85] = "\u2026";
2872 r[0x86] = "\u2020";
2873 r[0x87] = "\u2021";
2874 r[0x88] = "\u02C6";
2875 r[0x89] = "\u2030";
2876 r[0x8A] = "\u0160";
2877 r[0x8B] = "\u2039";
2878 r[0x8C] = "\u0152";
2879 r[0x8D] = "\u008D";
2880 r[0x8E] = "\u017D";
2881 r[0x8F] = "\u008F";
2882 r[0x90] = "\u0090";
2883 r[0x91] = "\u2018";
2884 r[0x92] = "\u2019";
2885 r[0x93] = "\u201C";
2886 r[0x94] = "\u201D";
2887 r[0x95] = "\u2022";
2888 r[0x96] = "\u2013";
2889 r[0x97] = "\u2014";
2890 r[0x98] = "\u02DC";
2891 r[0x99] = "\u2122";
2892 r[0x9A] = "\u0161";
2893 r[0x9B] = "\u203A";
2894 r[0x9C] = "\u0153";
2895 r[0x9D] = "\u009D";
2896 r[0x9E] = "\u017E";
2897 r[0x9F] = "\u0178";
2898 return r;
2899 })();
2900
2901 final Map<String, String> encodings = const {
2902 '437': 'cp437',
2903 '850': 'cp850',
2904 '852': 'cp852',
2905 '855': 'cp855',
2906 '857': 'cp857',
2907 '860': 'cp860',
2908 '861': 'cp861',
2909 '862': 'cp862',
2910 '863': 'cp863',
2911 '865': 'cp865',
2912 '866': 'cp866',
2913 '869': 'cp869',
2914 'ansix341968': 'ascii',
2915 'ansix341986': 'ascii',
2916 'arabic': 'iso8859-6',
2917 'ascii': 'ascii',
2918 'asmo708': 'iso8859-6',
2919 'big5': 'big5',
2920 'big5hkscs': 'big5hkscs',
2921 'chinese': 'gbk',
2922 'cp037': 'cp037',
2923 'cp1026': 'cp1026',
2924 'cp154': 'ptcp154',
2925 'cp367': 'ascii',
2926 'cp424': 'cp424',
2927 'cp437': 'cp437',
2928 'cp500': 'cp500',
2929 'cp775': 'cp775',
2930 'cp819': 'windows-1252',
2931 'cp850': 'cp850',
2932 'cp852': 'cp852',
2933 'cp855': 'cp855',
2934 'cp857': 'cp857',
2935 'cp860': 'cp860',
2936 'cp861': 'cp861',
2937 'cp862': 'cp862',
2938 'cp863': 'cp863',
2939 'cp864': 'cp864',
2940 'cp865': 'cp865',
2941 'cp866': 'cp866',
2942 'cp869': 'cp869',
2943 'cp936': 'gbk',
2944 'cpgr': 'cp869',
2945 'cpis': 'cp861',
2946 'csascii': 'ascii',
2947 'csbig5': 'big5',
2948 'cseuckr': 'cp949',
2949 'cseucpkdfmtjapanese': 'euc_jp',
2950 'csgb2312': 'gbk',
2951 'cshproman8': 'hp-roman8',
2952 'csibm037': 'cp037',
2953 'csibm1026': 'cp1026',
2954 'csibm424': 'cp424',
2955 'csibm500': 'cp500',
2956 'csibm855': 'cp855',
2957 'csibm857': 'cp857',
2958 'csibm860': 'cp860',
2959 'csibm861': 'cp861',
2960 'csibm863': 'cp863',
2961 'csibm864': 'cp864',
2962 'csibm865': 'cp865',
2963 'csibm866': 'cp866',
2964 'csibm869': 'cp869',
2965 'csiso2022jp': 'iso2022_jp',
2966 'csiso2022jp2': 'iso2022_jp_2',
2967 'csiso2022kr': 'iso2022_kr',
2968 'csiso58gb231280': 'gbk',
2969 'csisolatin1': 'windows-1252',
2970 'csisolatin2': 'iso8859-2',
2971 'csisolatin3': 'iso8859-3',
2972 'csisolatin4': 'iso8859-4',
2973 'csisolatin5': 'windows-1254',
2974 'csisolatin6': 'iso8859-10',
2975 'csisolatinarabic': 'iso8859-6',
2976 'csisolatincyrillic': 'iso8859-5',
2977 'csisolatingreek': 'iso8859-7',
2978 'csisolatinhebrew': 'iso8859-8',
2979 'cskoi8r': 'koi8-r',
2980 'csksc56011987': 'cp949',
2981 'cspc775baltic': 'cp775',
2982 'cspc850multilingual': 'cp850',
2983 'cspc862latinhebrew': 'cp862',
2984 'cspc8codepage437': 'cp437',
2985 'cspcp852': 'cp852',
2986 'csptcp154': 'ptcp154',
2987 'csshiftjis': 'shift_jis',
2988 'csunicode11utf7': 'utf-7',
2989 'cyrillic': 'iso8859-5',
2990 'cyrillicasian': 'ptcp154',
2991 'ebcdiccpbe': 'cp500',
2992 'ebcdiccpca': 'cp037',
2993 'ebcdiccpch': 'cp500',
2994 'ebcdiccphe': 'cp424',
2995 'ebcdiccpnl': 'cp037',
2996 'ebcdiccpus': 'cp037',
2997 'ebcdiccpwt': 'cp037',
2998 'ecma114': 'iso8859-6',
2999 'ecma118': 'iso8859-7',
3000 'elot928': 'iso8859-7',
3001 'eucjp': 'euc_jp',
3002 'euckr': 'cp949',
3003 'extendedunixcodepackedformatforjapanese': 'euc_jp',
3004 'gb18030': 'gb18030',
3005 'gb2312': 'gbk',
3006 'gb231280': 'gbk',
3007 'gbk': 'gbk',
3008 'greek': 'iso8859-7',
3009 'greek8': 'iso8859-7',
3010 'hebrew': 'iso8859-8',
3011 'hproman8': 'hp-roman8',
3012 'hzgb2312': 'hz',
3013 'ibm037': 'cp037',
3014 'ibm1026': 'cp1026',
3015 'ibm367': 'ascii',
3016 'ibm424': 'cp424',
3017 'ibm437': 'cp437',
3018 'ibm500': 'cp500',
3019 'ibm775': 'cp775',
3020 'ibm819': 'windows-1252',
3021 'ibm850': 'cp850',
3022 'ibm852': 'cp852',
3023 'ibm855': 'cp855',
3024 'ibm857': 'cp857',
3025 'ibm860': 'cp860',
3026 'ibm861': 'cp861',
3027 'ibm862': 'cp862',
3028 'ibm863': 'cp863',
3029 'ibm864': 'cp864',
3030 'ibm865': 'cp865',
3031 'ibm866': 'cp866',
3032 'ibm869': 'cp869',
3033 'iso2022jp': 'iso2022_jp',
3034 'iso2022jp2': 'iso2022_jp_2',
3035 'iso2022kr': 'iso2022_kr',
3036 'iso646irv1991': 'ascii',
3037 'iso646us': 'ascii',
3038 'iso88591': 'windows-1252',
3039 'iso885910': 'iso8859-10',
3040 'iso8859101992': 'iso8859-10',
3041 'iso885911987': 'windows-1252',
3042 'iso885913': 'iso8859-13',
3043 'iso885914': 'iso8859-14',
3044 'iso8859141998': 'iso8859-14',
3045 'iso885915': 'iso8859-15',
3046 'iso885916': 'iso8859-16',
3047 'iso8859162001': 'iso8859-16',
3048 'iso88592': 'iso8859-2',
3049 'iso885921987': 'iso8859-2',
3050 'iso88593': 'iso8859-3',
3051 'iso885931988': 'iso8859-3',
3052 'iso88594': 'iso8859-4',
3053 'iso885941988': 'iso8859-4',
3054 'iso88595': 'iso8859-5',
3055 'iso885951988': 'iso8859-5',
3056 'iso88596': 'iso8859-6',
3057 'iso885961987': 'iso8859-6',
3058 'iso88597': 'iso8859-7',
3059 'iso885971987': 'iso8859-7',
3060 'iso88598': 'iso8859-8',
3061 'iso885981988': 'iso8859-8',
3062 'iso88599': 'windows-1254',
3063 'iso885991989': 'windows-1254',
3064 'isoceltic': 'iso8859-14',
3065 'isoir100': 'windows-1252',
3066 'isoir101': 'iso8859-2',
3067 'isoir109': 'iso8859-3',
3068 'isoir110': 'iso8859-4',
3069 'isoir126': 'iso8859-7',
3070 'isoir127': 'iso8859-6',
3071 'isoir138': 'iso8859-8',
3072 'isoir144': 'iso8859-5',
3073 'isoir148': 'windows-1254',
3074 'isoir149': 'cp949',
3075 'isoir157': 'iso8859-10',
3076 'isoir199': 'iso8859-14',
3077 'isoir226': 'iso8859-16',
3078 'isoir58': 'gbk',
3079 'isoir6': 'ascii',
3080 'koi8r': 'koi8-r',
3081 'koi8u': 'koi8-u',
3082 'korean': 'cp949',
3083 'ksc5601': 'cp949',
3084 'ksc56011987': 'cp949',
3085 'ksc56011989': 'cp949',
3086 'l1': 'windows-1252',
3087 'l10': 'iso8859-16',
3088 'l2': 'iso8859-2',
3089 'l3': 'iso8859-3',
3090 'l4': 'iso8859-4',
3091 'l5': 'windows-1254',
3092 'l6': 'iso8859-10',
3093 'l8': 'iso8859-14',
3094 'latin1': 'windows-1252',
3095 'latin10': 'iso8859-16',
3096 'latin2': 'iso8859-2',
3097 'latin3': 'iso8859-3',
3098 'latin4': 'iso8859-4',
3099 'latin5': 'windows-1254',
3100 'latin6': 'iso8859-10',
3101 'latin8': 'iso8859-14',
3102 'latin9': 'iso8859-15',
3103 'ms936': 'gbk',
3104 'mskanji': 'shift_jis',
3105 'pt154': 'ptcp154',
3106 'ptcp154': 'ptcp154',
3107 'r8': 'hp-roman8',
3108 'roman8': 'hp-roman8',
3109 'shiftjis': 'shift_jis',
3110 'tis620': 'cp874',
3111 'unicode11utf7': 'utf-7',
3112 'us': 'ascii',
3113 'usascii': 'ascii',
3114 'utf16': 'utf-16',
3115 'utf16be': 'utf-16-be',
3116 'utf16le': 'utf-16-le',
3117 'utf8': 'utf-8',
3118 'windows1250': 'cp1250',
3119 'windows1251': 'cp1251',
3120 'windows1252': 'cp1252',
3121 'windows1253': 'cp1253',
3122 'windows1254': 'cp1254',
3123 'windows1255': 'cp1255',
3124 'windows1256': 'cp1256',
3125 'windows1257': 'cp1257',
3126 'windows1258': 'cp1258',
3127 'windows936': 'gbk',
3128 'x-x-big5': 'big5'
3129 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698