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