code, tests, docs
[catagits/DOM-Tiny.git] / lib / DOM / Tiny / Entities.pm
1 package DOM::Tiny::Entities;
2
3 use strict;
4 use warnings;
5 use utf8;
6 use Exporter 'import';
7
8 our @EXPORT_OK = qw(html_unescape xml_escape);
9
10 # To generate a new HTML entity table run this command
11 # perl examples/entities.pl
12 my %ENTITIES;
13 for my $line (split "\n", join('', <DATA>)) {
14   next unless $line =~ /^(\S+)\s+U\+(\S+)(?:\s+U\+(\S+))?/;
15   $ENTITIES{$1} = defined $3 ? (chr(hex $2) . chr(hex $3)) : chr(hex $2);
16 }
17
18 # Characters that should be escaped in XML
19 my %XML = (
20   '&'  => '&amp;',
21   '<'  => '&lt;',
22   '>'  => '&gt;',
23   '"'  => '&quot;',
24   '\'' => '&#39;'
25 );
26
27 sub html_unescape {
28   my $str = shift;
29   $str =~ s/&(?:\#((?:\d{1,7}|x[0-9a-fA-F]{1,6}));|(\w+;))/_decode($1, $2)/ge;
30   return $str;
31 }
32
33 sub xml_escape {
34   my $str = shift;
35   $str =~ s/([&<>"'])/$XML{$1}/ge;
36   return $str;
37 }
38
39 sub _decode {
40   my ($point, $name) = @_;
41   
42   # Code point
43   return chr($point !~ /^x/ ? $point : hex $point) unless defined $name;
44   
45   # Named character reference
46   return exists $ENTITIES{$name} ? $ENTITIES{$name} : "&$name";
47 }
48
49 1;
50
51 =encoding utf8
52
53 =head1 NAME
54
55 DOM::Tiny::Entities - Encode or decode HTML entities in strings
56
57 =head1 SYNOPSIS
58
59   use DOM::Tiny::Entities qw(html_unescape xml_escape);
60   
61   my $str = 'foo &amp; bar';
62   $str = html_unescape $str; # "foo & bar"
63   $str = xml_escape $str; # "foo &amp; bar"
64
65 =head1 DESCRIPTION
66
67 L<DOM::Tiny::Entities> contains functions for escaping and unescaping HTML
68 entities for L<DOM::Tiny>, based on functions from L<Mojo::Util>. All functions
69 are exported on demand.
70
71 =head1 FUNCTIONS
72
73 =head2 html_unescape
74
75  my $str = html_unescape $escaped;
76
77 Unescape all HTML entities in string, according to the
78 L<HTML Living Standard|https://html.spec.whatwg.org/#named-character-references-table>.
79
80  html_unescape '&lt;div&gt; # "<div>"
81
82 =head2 xml_escape
83
84  my $escaped = xml_escape $str;
85
86 Escape unsafe characters C<&>, C<< < >>, C<< > >>, C<">, and C<'> in string.
87
88  xml_escape '<div>'; # "&lt;div&gt;"
89
90 =head1 BUGS
91
92 Report any issues on the public bugtracker.
93
94 =head1 AUTHOR
95
96 Dan Book <dbook@cpan.org>
97
98 =head1 COPYRIGHT AND LICENSE
99
100 This software is Copyright (c) 2015 by Dan Book.
101
102 This is free software, licensed under:
103
104   The Artistic License 2.0 (GPL Compatible)
105
106 =head1 SEE ALSO
107
108 L<HTML::Entities>
109
110 =cut
111
112 __DATA__
113 Aacute; U+000C1
114 aacute; U+000E1
115 Abreve; U+00102
116 abreve; U+00103
117 ac; U+0223E
118 acd; U+0223F
119 acE; U+0223E U+00333
120 Acirc; U+000C2
121 acirc; U+000E2
122 acute; U+000B4
123 Acy; U+00410
124 acy; U+00430
125 AElig; U+000C6
126 aelig; U+000E6
127 af; U+02061
128 Afr; U+1D504
129 afr; U+1D51E
130 Agrave; U+000C0
131 agrave; U+000E0
132 alefsym; U+02135
133 aleph; U+02135
134 Alpha; U+00391
135 alpha; U+003B1
136 Amacr; U+00100
137 amacr; U+00101
138 amalg; U+02A3F
139 AMP; U+00026
140 amp; U+00026
141 And; U+02A53
142 and; U+02227
143 andand; U+02A55
144 andd; U+02A5C
145 andslope; U+02A58
146 andv; U+02A5A
147 ang; U+02220
148 ange; U+029A4
149 angle; U+02220
150 angmsd; U+02221
151 angmsdaa; U+029A8
152 angmsdab; U+029A9
153 angmsdac; U+029AA
154 angmsdad; U+029AB
155 angmsdae; U+029AC
156 angmsdaf; U+029AD
157 angmsdag; U+029AE
158 angmsdah; U+029AF
159 angrt; U+0221F
160 angrtvb; U+022BE
161 angrtvbd; U+0299D
162 angsph; U+02222
163 angst; U+000C5
164 angzarr; U+0237C
165 Aogon; U+00104
166 aogon; U+00105
167 Aopf; U+1D538
168 aopf; U+1D552
169 ap; U+02248
170 apacir; U+02A6F
171 apE; U+02A70
172 ape; U+0224A
173 apid; U+0224B
174 apos; U+00027
175 ApplyFunction; U+02061
176 approx; U+02248
177 approxeq; U+0224A
178 Aring; U+000C5
179 aring; U+000E5
180 Ascr; U+1D49C
181 ascr; U+1D4B6
182 Assign; U+02254
183 ast; U+0002A
184 asymp; U+02248
185 asympeq; U+0224D
186 Atilde; U+000C3
187 atilde; U+000E3
188 Auml; U+000C4
189 auml; U+000E4
190 awconint; U+02233
191 awint; U+02A11
192 backcong; U+0224C
193 backepsilon; U+003F6
194 backprime; U+02035
195 backsim; U+0223D
196 backsimeq; U+022CD
197 Backslash; U+02216
198 Barv; U+02AE7
199 barvee; U+022BD
200 Barwed; U+02306
201 barwed; U+02305
202 barwedge; U+02305
203 bbrk; U+023B5
204 bbrktbrk; U+023B6
205 bcong; U+0224C
206 Bcy; U+00411
207 bcy; U+00431
208 bdquo; U+0201E
209 becaus; U+02235
210 Because; U+02235
211 because; U+02235
212 bemptyv; U+029B0
213 bepsi; U+003F6
214 bernou; U+0212C
215 Bernoullis; U+0212C
216 Beta; U+00392
217 beta; U+003B2
218 beth; U+02136
219 between; U+0226C
220 Bfr; U+1D505
221 bfr; U+1D51F
222 bigcap; U+022C2
223 bigcirc; U+025EF
224 bigcup; U+022C3
225 bigodot; U+02A00
226 bigoplus; U+02A01
227 bigotimes; U+02A02
228 bigsqcup; U+02A06
229 bigstar; U+02605
230 bigtriangledown; U+025BD
231 bigtriangleup; U+025B3
232 biguplus; U+02A04
233 bigvee; U+022C1
234 bigwedge; U+022C0
235 bkarow; U+0290D
236 blacklozenge; U+029EB
237 blacksquare; U+025AA
238 blacktriangle; U+025B4
239 blacktriangledown; U+025BE
240 blacktriangleleft; U+025C2
241 blacktriangleright; U+025B8
242 blank; U+02423
243 blk12; U+02592
244 blk14; U+02591
245 blk34; U+02593
246 block; U+02588
247 bne; U+0003D U+020E5
248 bnequiv; U+02261 U+020E5
249 bNot; U+02AED
250 bnot; U+02310
251 Bopf; U+1D539
252 bopf; U+1D553
253 bot; U+022A5
254 bottom; U+022A5
255 bowtie; U+022C8
256 boxbox; U+029C9
257 boxDL; U+02557
258 boxDl; U+02556
259 boxdL; U+02555
260 boxdl; U+02510
261 boxDR; U+02554
262 boxDr; U+02553
263 boxdR; U+02552
264 boxdr; U+0250C
265 boxH; U+02550
266 boxh; U+02500
267 boxHD; U+02566
268 boxHd; U+02564
269 boxhD; U+02565
270 boxhd; U+0252C
271 boxHU; U+02569
272 boxHu; U+02567
273 boxhU; U+02568
274 boxhu; U+02534
275 boxminus; U+0229F
276 boxplus; U+0229E
277 boxtimes; U+022A0
278 boxUL; U+0255D
279 boxUl; U+0255C
280 boxuL; U+0255B
281 boxul; U+02518
282 boxUR; U+0255A
283 boxUr; U+02559
284 boxuR; U+02558
285 boxur; U+02514
286 boxV; U+02551
287 boxv; U+02502
288 boxVH; U+0256C
289 boxVh; U+0256B
290 boxvH; U+0256A
291 boxvh; U+0253C
292 boxVL; U+02563
293 boxVl; U+02562
294 boxvL; U+02561
295 boxvl; U+02524
296 boxVR; U+02560
297 boxVr; U+0255F
298 boxvR; U+0255E
299 boxvr; U+0251C
300 bprime; U+02035
301 Breve; U+002D8
302 breve; U+002D8
303 brvbar; U+000A6
304 Bscr; U+0212C
305 bscr; U+1D4B7
306 bsemi; U+0204F
307 bsim; U+0223D
308 bsime; U+022CD
309 bsol; U+0005C
310 bsolb; U+029C5
311 bsolhsub; U+027C8
312 bull; U+02022
313 bullet; U+02022
314 bump; U+0224E
315 bumpE; U+02AAE
316 bumpe; U+0224F
317 Bumpeq; U+0224E
318 bumpeq; U+0224F
319 Cacute; U+00106
320 cacute; U+00107
321 Cap; U+022D2
322 cap; U+02229
323 capand; U+02A44
324 capbrcup; U+02A49
325 capcap; U+02A4B
326 capcup; U+02A47
327 capdot; U+02A40
328 CapitalDifferentialD; U+02145
329 caps; U+02229 U+0FE00
330 caret; U+02041
331 caron; U+002C7
332 Cayleys; U+0212D
333 ccaps; U+02A4D
334 Ccaron; U+0010C
335 ccaron; U+0010D
336 Ccedil; U+000C7
337 ccedil; U+000E7
338 Ccirc; U+00108
339 ccirc; U+00109
340 Cconint; U+02230
341 ccups; U+02A4C
342 ccupssm; U+02A50
343 Cdot; U+0010A
344 cdot; U+0010B
345 cedil; U+000B8
346 Cedilla; U+000B8
347 cemptyv; U+029B2
348 cent; U+000A2
349 CenterDot; U+000B7
350 centerdot; U+000B7
351 Cfr; U+0212D
352 cfr; U+1D520
353 CHcy; U+00427
354 chcy; U+00447
355 check; U+02713
356 checkmark; U+02713
357 Chi; U+003A7
358 chi; U+003C7
359 cir; U+025CB
360 circ; U+002C6
361 circeq; U+02257
362 circlearrowleft; U+021BA
363 circlearrowright; U+021BB
364 circledast; U+0229B
365 circledcirc; U+0229A
366 circleddash; U+0229D
367 CircleDot; U+02299
368 circledR; U+000AE
369 circledS; U+024C8
370 CircleMinus; U+02296
371 CirclePlus; U+02295
372 CircleTimes; U+02297
373 cirE; U+029C3
374 cire; U+02257
375 cirfnint; U+02A10
376 cirmid; U+02AEF
377 cirscir; U+029C2
378 ClockwiseContourIntegral; U+02232
379 CloseCurlyDoubleQuote; U+0201D
380 CloseCurlyQuote; U+02019
381 clubs; U+02663
382 clubsuit; U+02663
383 Colon; U+02237
384 colon; U+0003A
385 Colone; U+02A74
386 colone; U+02254
387 coloneq; U+02254
388 comma; U+0002C
389 commat; U+00040
390 comp; U+02201
391 compfn; U+02218
392 complement; U+02201
393 complexes; U+02102
394 cong; U+02245
395 congdot; U+02A6D
396 Congruent; U+02261
397 Conint; U+0222F
398 conint; U+0222E
399 ContourIntegral; U+0222E
400 Copf; U+02102
401 copf; U+1D554
402 coprod; U+02210
403 Coproduct; U+02210
404 COPY; U+000A9
405 copy; U+000A9
406 copysr; U+02117
407 CounterClockwiseContourIntegral; U+02233
408 crarr; U+021B5
409 Cross; U+02A2F
410 cross; U+02717
411 Cscr; U+1D49E
412 cscr; U+1D4B8
413 csub; U+02ACF
414 csube; U+02AD1
415 csup; U+02AD0
416 csupe; U+02AD2
417 ctdot; U+022EF
418 cudarrl; U+02938
419 cudarrr; U+02935
420 cuepr; U+022DE
421 cuesc; U+022DF
422 cularr; U+021B6
423 cularrp; U+0293D
424 Cup; U+022D3
425 cup; U+0222A
426 cupbrcap; U+02A48
427 CupCap; U+0224D
428 cupcap; U+02A46
429 cupcup; U+02A4A
430 cupdot; U+0228D
431 cupor; U+02A45
432 cups; U+0222A U+0FE00
433 curarr; U+021B7
434 curarrm; U+0293C
435 curlyeqprec; U+022DE
436 curlyeqsucc; U+022DF
437 curlyvee; U+022CE
438 curlywedge; U+022CF
439 curren; U+000A4
440 curvearrowleft; U+021B6
441 curvearrowright; U+021B7
442 cuvee; U+022CE
443 cuwed; U+022CF
444 cwconint; U+02232
445 cwint; U+02231
446 cylcty; U+0232D
447 Dagger; U+02021
448 dagger; U+02020
449 daleth; U+02138
450 Darr; U+021A1
451 dArr; U+021D3
452 darr; U+02193
453 dash; U+02010
454 Dashv; U+02AE4
455 dashv; U+022A3
456 dbkarow; U+0290F
457 dblac; U+002DD
458 Dcaron; U+0010E
459 dcaron; U+0010F
460 Dcy; U+00414
461 dcy; U+00434
462 DD; U+02145
463 dd; U+02146
464 ddagger; U+02021
465 ddarr; U+021CA
466 DDotrahd; U+02911
467 ddotseq; U+02A77
468 deg; U+000B0
469 Del; U+02207
470 Delta; U+00394
471 delta; U+003B4
472 demptyv; U+029B1
473 dfisht; U+0297F
474 Dfr; U+1D507
475 dfr; U+1D521
476 dHar; U+02965
477 dharl; U+021C3
478 dharr; U+021C2
479 DiacriticalAcute; U+000B4
480 DiacriticalDot; U+002D9
481 DiacriticalDoubleAcute; U+002DD
482 DiacriticalGrave; U+00060
483 DiacriticalTilde; U+002DC
484 diam; U+022C4
485 Diamond; U+022C4
486 diamond; U+022C4
487 diamondsuit; U+02666
488 diams; U+02666
489 die; U+000A8
490 DifferentialD; U+02146
491 digamma; U+003DD
492 disin; U+022F2
493 div; U+000F7
494 divide; U+000F7
495 divideontimes; U+022C7
496 divonx; U+022C7
497 DJcy; U+00402
498 djcy; U+00452
499 dlcorn; U+0231E
500 dlcrop; U+0230D
501 dollar; U+00024
502 Dopf; U+1D53B
503 dopf; U+1D555
504 Dot; U+000A8
505 dot; U+002D9
506 DotDot; U+020DC
507 doteq; U+02250
508 doteqdot; U+02251
509 DotEqual; U+02250
510 dotminus; U+02238
511 dotplus; U+02214
512 dotsquare; U+022A1
513 doublebarwedge; U+02306
514 DoubleContourIntegral; U+0222F
515 DoubleDot; U+000A8
516 DoubleDownArrow; U+021D3
517 DoubleLeftArrow; U+021D0
518 DoubleLeftRightArrow; U+021D4
519 DoubleLeftTee; U+02AE4
520 DoubleLongLeftArrow; U+027F8
521 DoubleLongLeftRightArrow; U+027FA
522 DoubleLongRightArrow; U+027F9
523 DoubleRightArrow; U+021D2
524 DoubleRightTee; U+022A8
525 DoubleUpArrow; U+021D1
526 DoubleUpDownArrow; U+021D5
527 DoubleVerticalBar; U+02225
528 DownArrow; U+02193
529 Downarrow; U+021D3
530 downarrow; U+02193
531 DownArrowBar; U+02913
532 DownArrowUpArrow; U+021F5
533 DownBreve; U+00311
534 downdownarrows; U+021CA
535 downharpoonleft; U+021C3
536 downharpoonright; U+021C2
537 DownLeftRightVector; U+02950
538 DownLeftTeeVector; U+0295E
539 DownLeftVector; U+021BD
540 DownLeftVectorBar; U+02956
541 DownRightTeeVector; U+0295F
542 DownRightVector; U+021C1
543 DownRightVectorBar; U+02957
544 DownTee; U+022A4
545 DownTeeArrow; U+021A7
546 drbkarow; U+02910
547 drcorn; U+0231F
548 drcrop; U+0230C
549 Dscr; U+1D49F
550 dscr; U+1D4B9
551 DScy; U+00405
552 dscy; U+00455
553 dsol; U+029F6
554 Dstrok; U+00110
555 dstrok; U+00111
556 dtdot; U+022F1
557 dtri; U+025BF
558 dtrif; U+025BE
559 duarr; U+021F5
560 duhar; U+0296F
561 dwangle; U+029A6
562 DZcy; U+0040F
563 dzcy; U+0045F
564 dzigrarr; U+027FF
565 Eacute; U+000C9
566 eacute; U+000E9
567 easter; U+02A6E
568 Ecaron; U+0011A
569 ecaron; U+0011B
570 ecir; U+02256
571 Ecirc; U+000CA
572 ecirc; U+000EA
573 ecolon; U+02255
574 Ecy; U+0042D
575 ecy; U+0044D
576 eDDot; U+02A77
577 Edot; U+00116
578 eDot; U+02251
579 edot; U+00117
580 ee; U+02147
581 efDot; U+02252
582 Efr; U+1D508
583 efr; U+1D522
584 eg; U+02A9A
585 Egrave; U+000C8
586 egrave; U+000E8
587 egs; U+02A96
588 egsdot; U+02A98
589 el; U+02A99
590 Element; U+02208
591 elinters; U+023E7
592 ell; U+02113
593 els; U+02A95
594 elsdot; U+02A97
595 Emacr; U+00112
596 emacr; U+00113
597 empty; U+02205
598 emptyset; U+02205
599 EmptySmallSquare; U+025FB
600 emptyv; U+02205
601 EmptyVerySmallSquare; U+025AB
602 emsp; U+02003
603 emsp13; U+02004
604 emsp14; U+02005
605 ENG; U+0014A
606 eng; U+0014B
607 ensp; U+02002
608 Eogon; U+00118
609 eogon; U+00119
610 Eopf; U+1D53C
611 eopf; U+1D556
612 epar; U+022D5
613 eparsl; U+029E3
614 eplus; U+02A71
615 epsi; U+003B5
616 Epsilon; U+00395
617 epsilon; U+003B5
618 epsiv; U+003F5
619 eqcirc; U+02256
620 eqcolon; U+02255
621 eqsim; U+02242
622 eqslantgtr; U+02A96
623 eqslantless; U+02A95
624 Equal; U+02A75
625 equals; U+0003D
626 EqualTilde; U+02242
627 equest; U+0225F
628 Equilibrium; U+021CC
629 equiv; U+02261
630 equivDD; U+02A78
631 eqvparsl; U+029E5
632 erarr; U+02971
633 erDot; U+02253
634 Escr; U+02130
635 escr; U+0212F
636 esdot; U+02250
637 Esim; U+02A73
638 esim; U+02242
639 Eta; U+00397
640 eta; U+003B7
641 ETH; U+000D0
642 eth; U+000F0
643 Euml; U+000CB
644 euml; U+000EB
645 euro; U+020AC
646 excl; U+00021
647 exist; U+02203
648 Exists; U+02203
649 expectation; U+02130
650 ExponentialE; U+02147
651 exponentiale; U+02147
652 fallingdotseq; U+02252
653 Fcy; U+00424
654 fcy; U+00444
655 female; U+02640
656 ffilig; U+0FB03
657 fflig; U+0FB00
658 ffllig; U+0FB04
659 Ffr; U+1D509
660 ffr; U+1D523
661 filig; U+0FB01
662 FilledSmallSquare; U+025FC
663 FilledVerySmallSquare; U+025AA
664 fjlig; U+00066 U+0006A
665 flat; U+0266D
666 fllig; U+0FB02
667 fltns; U+025B1
668 fnof; U+00192
669 Fopf; U+1D53D
670 fopf; U+1D557
671 ForAll; U+02200
672 forall; U+02200
673 fork; U+022D4
674 forkv; U+02AD9
675 Fouriertrf; U+02131
676 fpartint; U+02A0D
677 frac12; U+000BD
678 frac13; U+02153
679 frac14; U+000BC
680 frac15; U+02155
681 frac16; U+02159
682 frac18; U+0215B
683 frac23; U+02154
684 frac25; U+02156
685 frac34; U+000BE
686 frac35; U+02157
687 frac38; U+0215C
688 frac45; U+02158
689 frac56; U+0215A
690 frac58; U+0215D
691 frac78; U+0215E
692 frasl; U+02044
693 frown; U+02322
694 Fscr; U+02131
695 fscr; U+1D4BB
696 gacute; U+001F5
697 Gamma; U+00393
698 gamma; U+003B3
699 Gammad; U+003DC
700 gammad; U+003DD
701 gap; U+02A86
702 Gbreve; U+0011E
703 gbreve; U+0011F
704 Gcedil; U+00122
705 Gcirc; U+0011C
706 gcirc; U+0011D
707 Gcy; U+00413
708 gcy; U+00433
709 Gdot; U+00120
710 gdot; U+00121
711 gE; U+02267
712 ge; U+02265
713 gEl; U+02A8C
714 gel; U+022DB
715 geq; U+02265
716 geqq; U+02267
717 geqslant; U+02A7E
718 ges; U+02A7E
719 gescc; U+02AA9
720 gesdot; U+02A80
721 gesdoto; U+02A82
722 gesdotol; U+02A84
723 gesl; U+022DB U+0FE00
724 gesles; U+02A94
725 Gfr; U+1D50A
726 gfr; U+1D524
727 Gg; U+022D9
728 gg; U+0226B
729 ggg; U+022D9
730 gimel; U+02137
731 GJcy; U+00403
732 gjcy; U+00453
733 gl; U+02277
734 gla; U+02AA5
735 glE; U+02A92
736 glj; U+02AA4
737 gnap; U+02A8A
738 gnapprox; U+02A8A
739 gnE; U+02269
740 gne; U+02A88
741 gneq; U+02A88
742 gneqq; U+02269
743 gnsim; U+022E7
744 Gopf; U+1D53E
745 gopf; U+1D558
746 grave; U+00060
747 GreaterEqual; U+02265
748 GreaterEqualLess; U+022DB
749 GreaterFullEqual; U+02267
750 GreaterGreater; U+02AA2
751 GreaterLess; U+02277
752 GreaterSlantEqual; U+02A7E
753 GreaterTilde; U+02273
754 Gscr; U+1D4A2
755 gscr; U+0210A
756 gsim; U+02273
757 gsime; U+02A8E
758 gsiml; U+02A90
759 GT; U+0003E
760 Gt; U+0226B
761 gt; U+0003E
762 gtcc; U+02AA7
763 gtcir; U+02A7A
764 gtdot; U+022D7
765 gtlPar; U+02995
766 gtquest; U+02A7C
767 gtrapprox; U+02A86
768 gtrarr; U+02978
769 gtrdot; U+022D7
770 gtreqless; U+022DB
771 gtreqqless; U+02A8C
772 gtrless; U+02277
773 gtrsim; U+02273
774 gvertneqq; U+02269 U+0FE00
775 gvnE; U+02269 U+0FE00
776 Hacek; U+002C7
777 hairsp; U+0200A
778 half; U+000BD
779 hamilt; U+0210B
780 HARDcy; U+0042A
781 hardcy; U+0044A
782 hArr; U+021D4
783 harr; U+02194
784 harrcir; U+02948
785 harrw; U+021AD
786 Hat; U+0005E
787 hbar; U+0210F
788 Hcirc; U+00124
789 hcirc; U+00125
790 hearts; U+02665
791 heartsuit; U+02665
792 hellip; U+02026
793 hercon; U+022B9
794 Hfr; U+0210C
795 hfr; U+1D525
796 HilbertSpace; U+0210B
797 hksearow; U+02925
798 hkswarow; U+02926
799 hoarr; U+021FF
800 homtht; U+0223B
801 hookleftarrow; U+021A9
802 hookrightarrow; U+021AA
803 Hopf; U+0210D
804 hopf; U+1D559
805 horbar; U+02015
806 HorizontalLine; U+02500
807 Hscr; U+0210B
808 hscr; U+1D4BD
809 hslash; U+0210F
810 Hstrok; U+00126
811 hstrok; U+00127
812 HumpDownHump; U+0224E
813 HumpEqual; U+0224F
814 hybull; U+02043
815 hyphen; U+02010
816 Iacute; U+000CD
817 iacute; U+000ED
818 ic; U+02063
819 Icirc; U+000CE
820 icirc; U+000EE
821 Icy; U+00418
822 icy; U+00438
823 Idot; U+00130
824 IEcy; U+00415
825 iecy; U+00435
826 iexcl; U+000A1
827 iff; U+021D4
828 Ifr; U+02111
829 ifr; U+1D526
830 Igrave; U+000CC
831 igrave; U+000EC
832 ii; U+02148
833 iiiint; U+02A0C
834 iiint; U+0222D
835 iinfin; U+029DC
836 iiota; U+02129
837 IJlig; U+00132
838 ijlig; U+00133
839 Im; U+02111
840 Imacr; U+0012A
841 imacr; U+0012B
842 image; U+02111
843 ImaginaryI; U+02148
844 imagline; U+02110
845 imagpart; U+02111
846 imath; U+00131
847 imof; U+022B7
848 imped; U+001B5
849 Implies; U+021D2
850 in; U+02208
851 incare; U+02105
852 infin; U+0221E
853 infintie; U+029DD
854 inodot; U+00131
855 Int; U+0222C
856 int; U+0222B
857 intcal; U+022BA
858 integers; U+02124
859 Integral; U+0222B
860 intercal; U+022BA
861 Intersection; U+022C2
862 intlarhk; U+02A17
863 intprod; U+02A3C
864 InvisibleComma; U+02063
865 InvisibleTimes; U+02062
866 IOcy; U+00401
867 iocy; U+00451
868 Iogon; U+0012E
869 iogon; U+0012F
870 Iopf; U+1D540
871 iopf; U+1D55A
872 Iota; U+00399
873 iota; U+003B9
874 iprod; U+02A3C
875 iquest; U+000BF
876 Iscr; U+02110
877 iscr; U+1D4BE
878 isin; U+02208
879 isindot; U+022F5
880 isinE; U+022F9
881 isins; U+022F4
882 isinsv; U+022F3
883 isinv; U+02208
884 it; U+02062
885 Itilde; U+00128
886 itilde; U+00129
887 Iukcy; U+00406
888 iukcy; U+00456
889 Iuml; U+000CF
890 iuml; U+000EF
891 Jcirc; U+00134
892 jcirc; U+00135
893 Jcy; U+00419
894 jcy; U+00439
895 Jfr; U+1D50D
896 jfr; U+1D527
897 jmath; U+00237
898 Jopf; U+1D541
899 jopf; U+1D55B
900 Jscr; U+1D4A5
901 jscr; U+1D4BF
902 Jsercy; U+00408
903 jsercy; U+00458
904 Jukcy; U+00404
905 jukcy; U+00454
906 Kappa; U+0039A
907 kappa; U+003BA
908 kappav; U+003F0
909 Kcedil; U+00136
910 kcedil; U+00137
911 Kcy; U+0041A
912 kcy; U+0043A
913 Kfr; U+1D50E
914 kfr; U+1D528
915 kgreen; U+00138
916 KHcy; U+00425
917 khcy; U+00445
918 KJcy; U+0040C
919 kjcy; U+0045C
920 Kopf; U+1D542
921 kopf; U+1D55C
922 Kscr; U+1D4A6
923 kscr; U+1D4C0
924 lAarr; U+021DA
925 Lacute; U+00139
926 lacute; U+0013A
927 laemptyv; U+029B4
928 lagran; U+02112
929 Lambda; U+0039B
930 lambda; U+003BB
931 Lang; U+027EA
932 lang; U+027E8
933 langd; U+02991
934 langle; U+027E8
935 lap; U+02A85
936 Laplacetrf; U+02112
937 laquo; U+000AB
938 Larr; U+0219E
939 lArr; U+021D0
940 larr; U+02190
941 larrb; U+021E4
942 larrbfs; U+0291F
943 larrfs; U+0291D
944 larrhk; U+021A9
945 larrlp; U+021AB
946 larrpl; U+02939
947 larrsim; U+02973
948 larrtl; U+021A2
949 lat; U+02AAB
950 lAtail; U+0291B
951 latail; U+02919
952 late; U+02AAD
953 lates; U+02AAD U+0FE00
954 lBarr; U+0290E
955 lbarr; U+0290C
956 lbbrk; U+02772
957 lbrace; U+0007B
958 lbrack; U+0005B
959 lbrke; U+0298B
960 lbrksld; U+0298F
961 lbrkslu; U+0298D
962 Lcaron; U+0013D
963 lcaron; U+0013E
964 Lcedil; U+0013B
965 lcedil; U+0013C
966 lceil; U+02308
967 lcub; U+0007B
968 Lcy; U+0041B
969 lcy; U+0043B
970 ldca; U+02936
971 ldquo; U+0201C
972 ldquor; U+0201E
973 ldrdhar; U+02967
974 ldrushar; U+0294B
975 ldsh; U+021B2
976 lE; U+02266
977 le; U+02264
978 LeftAngleBracket; U+027E8
979 LeftArrow; U+02190
980 Leftarrow; U+021D0
981 leftarrow; U+02190
982 LeftArrowBar; U+021E4
983 LeftArrowRightArrow; U+021C6
984 leftarrowtail; U+021A2
985 LeftCeiling; U+02308
986 LeftDoubleBracket; U+027E6
987 LeftDownTeeVector; U+02961
988 LeftDownVector; U+021C3
989 LeftDownVectorBar; U+02959
990 LeftFloor; U+0230A
991 leftharpoondown; U+021BD
992 leftharpoonup; U+021BC
993 leftleftarrows; U+021C7
994 LeftRightArrow; U+02194
995 Leftrightarrow; U+021D4
996 leftrightarrow; U+02194
997 leftrightarrows; U+021C6
998 leftrightharpoons; U+021CB
999 leftrightsquigarrow; U+021AD
1000 LeftRightVector; U+0294E
1001 LeftTee; U+022A3
1002 LeftTeeArrow; U+021A4
1003 LeftTeeVector; U+0295A
1004 leftthreetimes; U+022CB
1005 LeftTriangle; U+022B2
1006 LeftTriangleBar; U+029CF
1007 LeftTriangleEqual; U+022B4
1008 LeftUpDownVector; U+02951
1009 LeftUpTeeVector; U+02960
1010 LeftUpVector; U+021BF
1011 LeftUpVectorBar; U+02958
1012 LeftVector; U+021BC
1013 LeftVectorBar; U+02952
1014 lEg; U+02A8B
1015 leg; U+022DA
1016 leq; U+02264
1017 leqq; U+02266
1018 leqslant; U+02A7D
1019 les; U+02A7D
1020 lescc; U+02AA8
1021 lesdot; U+02A7F
1022 lesdoto; U+02A81
1023 lesdotor; U+02A83
1024 lesg; U+022DA U+0FE00
1025 lesges; U+02A93
1026 lessapprox; U+02A85
1027 lessdot; U+022D6
1028 lesseqgtr; U+022DA
1029 lesseqqgtr; U+02A8B
1030 LessEqualGreater; U+022DA
1031 LessFullEqual; U+02266
1032 LessGreater; U+02276
1033 lessgtr; U+02276
1034 LessLess; U+02AA1
1035 lesssim; U+02272
1036 LessSlantEqual; U+02A7D
1037 LessTilde; U+02272
1038 lfisht; U+0297C
1039 lfloor; U+0230A
1040 Lfr; U+1D50F
1041 lfr; U+1D529
1042 lg; U+02276
1043 lgE; U+02A91
1044 lHar; U+02962
1045 lhard; U+021BD
1046 lharu; U+021BC
1047 lharul; U+0296A
1048 lhblk; U+02584
1049 LJcy; U+00409
1050 ljcy; U+00459
1051 Ll; U+022D8
1052 ll; U+0226A
1053 llarr; U+021C7
1054 llcorner; U+0231E
1055 Lleftarrow; U+021DA
1056 llhard; U+0296B
1057 lltri; U+025FA
1058 Lmidot; U+0013F
1059 lmidot; U+00140
1060 lmoust; U+023B0
1061 lmoustache; U+023B0
1062 lnap; U+02A89
1063 lnapprox; U+02A89
1064 lnE; U+02268
1065 lne; U+02A87
1066 lneq; U+02A87
1067 lneqq; U+02268
1068 lnsim; U+022E6
1069 loang; U+027EC
1070 loarr; U+021FD
1071 lobrk; U+027E6
1072 LongLeftArrow; U+027F5
1073 Longleftarrow; U+027F8
1074 longleftarrow; U+027F5
1075 LongLeftRightArrow; U+027F7
1076 Longleftrightarrow; U+027FA
1077 longleftrightarrow; U+027F7
1078 longmapsto; U+027FC
1079 LongRightArrow; U+027F6
1080 Longrightarrow; U+027F9
1081 longrightarrow; U+027F6
1082 looparrowleft; U+021AB
1083 looparrowright; U+021AC
1084 lopar; U+02985
1085 Lopf; U+1D543
1086 lopf; U+1D55D
1087 loplus; U+02A2D
1088 lotimes; U+02A34
1089 lowast; U+02217
1090 lowbar; U+0005F
1091 LowerLeftArrow; U+02199
1092 LowerRightArrow; U+02198
1093 loz; U+025CA
1094 lozenge; U+025CA
1095 lozf; U+029EB
1096 lpar; U+00028
1097 lparlt; U+02993
1098 lrarr; U+021C6
1099 lrcorner; U+0231F
1100 lrhar; U+021CB
1101 lrhard; U+0296D
1102 lrm; U+0200E
1103 lrtri; U+022BF
1104 lsaquo; U+02039
1105 Lscr; U+02112
1106 lscr; U+1D4C1
1107 Lsh; U+021B0
1108 lsh; U+021B0
1109 lsim; U+02272
1110 lsime; U+02A8D
1111 lsimg; U+02A8F
1112 lsqb; U+0005B
1113 lsquo; U+02018
1114 lsquor; U+0201A
1115 Lstrok; U+00141
1116 lstrok; U+00142
1117 LT; U+0003C
1118 Lt; U+0226A
1119 lt; U+0003C
1120 ltcc; U+02AA6
1121 ltcir; U+02A79
1122 ltdot; U+022D6
1123 lthree; U+022CB
1124 ltimes; U+022C9
1125 ltlarr; U+02976
1126 ltquest; U+02A7B
1127 ltri; U+025C3
1128 ltrie; U+022B4
1129 ltrif; U+025C2
1130 ltrPar; U+02996
1131 lurdshar; U+0294A
1132 luruhar; U+02966
1133 lvertneqq; U+02268 U+0FE00
1134 lvnE; U+02268 U+0FE00
1135 macr; U+000AF
1136 male; U+02642
1137 malt; U+02720
1138 maltese; U+02720
1139 Map; U+02905
1140 map; U+021A6
1141 mapsto; U+021A6
1142 mapstodown; U+021A7
1143 mapstoleft; U+021A4
1144 mapstoup; U+021A5
1145 marker; U+025AE
1146 mcomma; U+02A29
1147 Mcy; U+0041C
1148 mcy; U+0043C
1149 mdash; U+02014
1150 mDDot; U+0223A
1151 measuredangle; U+02221
1152 MediumSpace; U+0205F
1153 Mellintrf; U+02133
1154 Mfr; U+1D510
1155 mfr; U+1D52A
1156 mho; U+02127
1157 micro; U+000B5
1158 mid; U+02223
1159 midast; U+0002A
1160 midcir; U+02AF0
1161 middot; U+000B7
1162 minus; U+02212
1163 minusb; U+0229F
1164 minusd; U+02238
1165 minusdu; U+02A2A
1166 MinusPlus; U+02213
1167 mlcp; U+02ADB
1168 mldr; U+02026
1169 mnplus; U+02213
1170 models; U+022A7
1171 Mopf; U+1D544
1172 mopf; U+1D55E
1173 mp; U+02213
1174 Mscr; U+02133
1175 mscr; U+1D4C2
1176 mstpos; U+0223E
1177 Mu; U+0039C
1178 mu; U+003BC
1179 multimap; U+022B8
1180 mumap; U+022B8
1181 nabla; U+02207
1182 Nacute; U+00143
1183 nacute; U+00144
1184 nang; U+02220 U+020D2
1185 nap; U+02249
1186 napE; U+02A70 U+00338
1187 napid; U+0224B U+00338
1188 napos; U+00149
1189 napprox; U+02249
1190 natur; U+0266E
1191 natural; U+0266E
1192 naturals; U+02115
1193 nbsp; U+000A0
1194 nbump; U+0224E U+00338
1195 nbumpe; U+0224F U+00338
1196 ncap; U+02A43
1197 Ncaron; U+00147
1198 ncaron; U+00148
1199 Ncedil; U+00145
1200 ncedil; U+00146
1201 ncong; U+02247
1202 ncongdot; U+02A6D U+00338
1203 ncup; U+02A42
1204 Ncy; U+0041D
1205 ncy; U+0043D
1206 ndash; U+02013
1207 ne; U+02260
1208 nearhk; U+02924
1209 neArr; U+021D7
1210 nearr; U+02197
1211 nearrow; U+02197
1212 nedot; U+02250 U+00338
1213 NegativeMediumSpace; U+0200B
1214 NegativeThickSpace; U+0200B
1215 NegativeThinSpace; U+0200B
1216 NegativeVeryThinSpace; U+0200B
1217 nequiv; U+02262
1218 nesear; U+02928
1219 nesim; U+02242 U+00338
1220 NestedGreaterGreater; U+0226B
1221 NestedLessLess; U+0226A
1222 NewLine; U+0000A
1223 nexist; U+02204
1224 nexists; U+02204
1225 Nfr; U+1D511
1226 nfr; U+1D52B
1227 ngE; U+02267 U+00338
1228 nge; U+02271
1229 ngeq; U+02271
1230 ngeqq; U+02267 U+00338
1231 ngeqslant; U+02A7E U+00338
1232 nges; U+02A7E U+00338
1233 nGg; U+022D9 U+00338
1234 ngsim; U+02275
1235 nGt; U+0226B U+020D2
1236 ngt; U+0226F
1237 ngtr; U+0226F
1238 nGtv; U+0226B U+00338
1239 nhArr; U+021CE
1240 nharr; U+021AE
1241 nhpar; U+02AF2
1242 ni; U+0220B
1243 nis; U+022FC
1244 nisd; U+022FA
1245 niv; U+0220B
1246 NJcy; U+0040A
1247 njcy; U+0045A
1248 nlArr; U+021CD
1249 nlarr; U+0219A
1250 nldr; U+02025
1251 nlE; U+02266 U+00338
1252 nle; U+02270
1253 nLeftarrow; U+021CD
1254 nleftarrow; U+0219A
1255 nLeftrightarrow; U+021CE
1256 nleftrightarrow; U+021AE
1257 nleq; U+02270
1258 nleqq; U+02266 U+00338
1259 nleqslant; U+02A7D U+00338
1260 nles; U+02A7D U+00338
1261 nless; U+0226E
1262 nLl; U+022D8 U+00338
1263 nlsim; U+02274
1264 nLt; U+0226A U+020D2
1265 nlt; U+0226E
1266 nltri; U+022EA
1267 nltrie; U+022EC
1268 nLtv; U+0226A U+00338
1269 nmid; U+02224
1270 NoBreak; U+02060
1271 NonBreakingSpace; U+000A0
1272 Nopf; U+02115
1273 nopf; U+1D55F
1274 Not; U+02AEC
1275 not; U+000AC
1276 NotCongruent; U+02262
1277 NotCupCap; U+0226D
1278 NotDoubleVerticalBar; U+02226
1279 NotElement; U+02209
1280 NotEqual; U+02260
1281 NotEqualTilde; U+02242 U+00338
1282 NotExists; U+02204
1283 NotGreater; U+0226F
1284 NotGreaterEqual; U+02271
1285 NotGreaterFullEqual; U+02267 U+00338
1286 NotGreaterGreater; U+0226B U+00338
1287 NotGreaterLess; U+02279
1288 NotGreaterSlantEqual; U+02A7E U+00338
1289 NotGreaterTilde; U+02275
1290 NotHumpDownHump; U+0224E U+00338
1291 NotHumpEqual; U+0224F U+00338
1292 notin; U+02209
1293 notindot; U+022F5 U+00338
1294 notinE; U+022F9 U+00338
1295 notinva; U+02209
1296 notinvb; U+022F7
1297 notinvc; U+022F6
1298 NotLeftTriangle; U+022EA
1299 NotLeftTriangleBar; U+029CF U+00338
1300 NotLeftTriangleEqual; U+022EC
1301 NotLess; U+0226E
1302 NotLessEqual; U+02270
1303 NotLessGreater; U+02278
1304 NotLessLess; U+0226A U+00338
1305 NotLessSlantEqual; U+02A7D U+00338
1306 NotLessTilde; U+02274
1307 NotNestedGreaterGreater; U+02AA2 U+00338
1308 NotNestedLessLess; U+02AA1 U+00338
1309 notni; U+0220C
1310 notniva; U+0220C
1311 notnivb; U+022FE
1312 notnivc; U+022FD
1313 NotPrecedes; U+02280
1314 NotPrecedesEqual; U+02AAF U+00338
1315 NotPrecedesSlantEqual; U+022E0
1316 NotReverseElement; U+0220C
1317 NotRightTriangle; U+022EB
1318 NotRightTriangleBar; U+029D0 U+00338
1319 NotRightTriangleEqual; U+022ED
1320 NotSquareSubset; U+0228F U+00338
1321 NotSquareSubsetEqual; U+022E2
1322 NotSquareSuperset; U+02290 U+00338
1323 NotSquareSupersetEqual; U+022E3
1324 NotSubset; U+02282 U+020D2
1325 NotSubsetEqual; U+02288
1326 NotSucceeds; U+02281
1327 NotSucceedsEqual; U+02AB0 U+00338
1328 NotSucceedsSlantEqual; U+022E1
1329 NotSucceedsTilde; U+0227F U+00338
1330 NotSuperset; U+02283 U+020D2
1331 NotSupersetEqual; U+02289
1332 NotTilde; U+02241
1333 NotTildeEqual; U+02244
1334 NotTildeFullEqual; U+02247
1335 NotTildeTilde; U+02249
1336 NotVerticalBar; U+02224
1337 npar; U+02226
1338 nparallel; U+02226
1339 nparsl; U+02AFD U+020E5
1340 npart; U+02202 U+00338
1341 npolint; U+02A14
1342 npr; U+02280
1343 nprcue; U+022E0
1344 npre; U+02AAF U+00338
1345 nprec; U+02280
1346 npreceq; U+02AAF U+00338
1347 nrArr; U+021CF
1348 nrarr; U+0219B
1349 nrarrc; U+02933 U+00338
1350 nrarrw; U+0219D U+00338
1351 nRightarrow; U+021CF
1352 nrightarrow; U+0219B
1353 nrtri; U+022EB
1354 nrtrie; U+022ED
1355 nsc; U+02281
1356 nsccue; U+022E1
1357 nsce; U+02AB0 U+00338
1358 Nscr; U+1D4A9
1359 nscr; U+1D4C3
1360 nshortmid; U+02224
1361 nshortparallel; U+02226
1362 nsim; U+02241
1363 nsime; U+02244
1364 nsimeq; U+02244
1365 nsmid; U+02224
1366 nspar; U+02226
1367 nsqsube; U+022E2
1368 nsqsupe; U+022E3
1369 nsub; U+02284
1370 nsubE; U+02AC5 U+00338
1371 nsube; U+02288
1372 nsubset; U+02282 U+020D2
1373 nsubseteq; U+02288
1374 nsubseteqq; U+02AC5 U+00338
1375 nsucc; U+02281
1376 nsucceq; U+02AB0 U+00338
1377 nsup; U+02285
1378 nsupE; U+02AC6 U+00338
1379 nsupe; U+02289
1380 nsupset; U+02283 U+020D2
1381 nsupseteq; U+02289
1382 nsupseteqq; U+02AC6 U+00338
1383 ntgl; U+02279
1384 Ntilde; U+000D1
1385 ntilde; U+000F1
1386 ntlg; U+02278
1387 ntriangleleft; U+022EA
1388 ntrianglelefteq; U+022EC
1389 ntriangleright; U+022EB
1390 ntrianglerighteq; U+022ED
1391 Nu; U+0039D
1392 nu; U+003BD
1393 num; U+00023
1394 numero; U+02116
1395 numsp; U+02007
1396 nvap; U+0224D U+020D2
1397 nVDash; U+022AF
1398 nVdash; U+022AE
1399 nvDash; U+022AD
1400 nvdash; U+022AC
1401 nvge; U+02265 U+020D2
1402 nvgt; U+0003E U+020D2
1403 nvHarr; U+02904
1404 nvinfin; U+029DE
1405 nvlArr; U+02902
1406 nvle; U+02264 U+020D2
1407 nvlt; U+0003C U+020D2
1408 nvltrie; U+022B4 U+020D2
1409 nvrArr; U+02903
1410 nvrtrie; U+022B5 U+020D2
1411 nvsim; U+0223C U+020D2
1412 nwarhk; U+02923
1413 nwArr; U+021D6
1414 nwarr; U+02196
1415 nwarrow; U+02196
1416 nwnear; U+02927
1417 Oacute; U+000D3
1418 oacute; U+000F3
1419 oast; U+0229B
1420 ocir; U+0229A
1421 Ocirc; U+000D4
1422 ocirc; U+000F4
1423 Ocy; U+0041E
1424 ocy; U+0043E
1425 odash; U+0229D
1426 Odblac; U+00150
1427 odblac; U+00151
1428 odiv; U+02A38
1429 odot; U+02299
1430 odsold; U+029BC
1431 OElig; U+00152
1432 oelig; U+00153
1433 ofcir; U+029BF
1434 Ofr; U+1D512
1435 ofr; U+1D52C
1436 ogon; U+002DB
1437 Ograve; U+000D2
1438 ograve; U+000F2
1439 ogt; U+029C1
1440 ohbar; U+029B5
1441 ohm; U+003A9
1442 oint; U+0222E
1443 olarr; U+021BA
1444 olcir; U+029BE
1445 olcross; U+029BB
1446 oline; U+0203E
1447 olt; U+029C0
1448 Omacr; U+0014C
1449 omacr; U+0014D
1450 Omega; U+003A9
1451 omega; U+003C9
1452 Omicron; U+0039F
1453 omicron; U+003BF
1454 omid; U+029B6
1455 ominus; U+02296
1456 Oopf; U+1D546
1457 oopf; U+1D560
1458 opar; U+029B7
1459 OpenCurlyDoubleQuote; U+0201C
1460 OpenCurlyQuote; U+02018
1461 operp; U+029B9
1462 oplus; U+02295
1463 Or; U+02A54
1464 or; U+02228
1465 orarr; U+021BB
1466 ord; U+02A5D
1467 order; U+02134
1468 orderof; U+02134
1469 ordf; U+000AA
1470 ordm; U+000BA
1471 origof; U+022B6
1472 oror; U+02A56
1473 orslope; U+02A57
1474 orv; U+02A5B
1475 oS; U+024C8
1476 Oscr; U+1D4AA
1477 oscr; U+02134
1478 Oslash; U+000D8
1479 oslash; U+000F8
1480 osol; U+02298
1481 Otilde; U+000D5
1482 otilde; U+000F5
1483 Otimes; U+02A37
1484 otimes; U+02297
1485 otimesas; U+02A36
1486 Ouml; U+000D6
1487 ouml; U+000F6
1488 ovbar; U+0233D
1489 OverBar; U+0203E
1490 OverBrace; U+023DE
1491 OverBracket; U+023B4
1492 OverParenthesis; U+023DC
1493 par; U+02225
1494 para; U+000B6
1495 parallel; U+02225
1496 parsim; U+02AF3
1497 parsl; U+02AFD
1498 part; U+02202
1499 PartialD; U+02202
1500 Pcy; U+0041F
1501 pcy; U+0043F
1502 percnt; U+00025
1503 period; U+0002E
1504 permil; U+02030
1505 perp; U+022A5
1506 pertenk; U+02031
1507 Pfr; U+1D513
1508 pfr; U+1D52D
1509 Phi; U+003A6
1510 phi; U+003C6
1511 phiv; U+003D5
1512 phmmat; U+02133
1513 phone; U+0260E
1514 Pi; U+003A0
1515 pi; U+003C0
1516 pitchfork; U+022D4
1517 piv; U+003D6
1518 planck; U+0210F
1519 planckh; U+0210E
1520 plankv; U+0210F
1521 plus; U+0002B
1522 plusacir; U+02A23
1523 plusb; U+0229E
1524 pluscir; U+02A22
1525 plusdo; U+02214
1526 plusdu; U+02A25
1527 pluse; U+02A72
1528 PlusMinus; U+000B1
1529 plusmn; U+000B1
1530 plussim; U+02A26
1531 plustwo; U+02A27
1532 pm; U+000B1
1533 Poincareplane; U+0210C
1534 pointint; U+02A15
1535 Popf; U+02119
1536 popf; U+1D561
1537 pound; U+000A3
1538 Pr; U+02ABB
1539 pr; U+0227A
1540 prap; U+02AB7
1541 prcue; U+0227C
1542 prE; U+02AB3
1543 pre; U+02AAF
1544 prec; U+0227A
1545 precapprox; U+02AB7
1546 preccurlyeq; U+0227C
1547 Precedes; U+0227A
1548 PrecedesEqual; U+02AAF
1549 PrecedesSlantEqual; U+0227C
1550 PrecedesTilde; U+0227E
1551 preceq; U+02AAF
1552 precnapprox; U+02AB9
1553 precneqq; U+02AB5
1554 precnsim; U+022E8
1555 precsim; U+0227E
1556 Prime; U+02033
1557 prime; U+02032
1558 primes; U+02119
1559 prnap; U+02AB9
1560 prnE; U+02AB5
1561 prnsim; U+022E8
1562 prod; U+0220F
1563 Product; U+0220F
1564 profalar; U+0232E
1565 profline; U+02312
1566 profsurf; U+02313
1567 prop; U+0221D
1568 Proportion; U+02237
1569 Proportional; U+0221D
1570 propto; U+0221D
1571 prsim; U+0227E
1572 prurel; U+022B0
1573 Pscr; U+1D4AB
1574 pscr; U+1D4C5
1575 Psi; U+003A8
1576 psi; U+003C8
1577 puncsp; U+02008
1578 Qfr; U+1D514
1579 qfr; U+1D52E
1580 qint; U+02A0C
1581 Qopf; U+0211A
1582 qopf; U+1D562
1583 qprime; U+02057
1584 Qscr; U+1D4AC
1585 qscr; U+1D4C6
1586 quaternions; U+0210D
1587 quatint; U+02A16
1588 quest; U+0003F
1589 questeq; U+0225F
1590 QUOT; U+00022
1591 quot; U+00022
1592 rAarr; U+021DB
1593 race; U+0223D U+00331
1594 Racute; U+00154
1595 racute; U+00155
1596 radic; U+0221A
1597 raemptyv; U+029B3
1598 Rang; U+027EB
1599 rang; U+027E9
1600 rangd; U+02992
1601 range; U+029A5
1602 rangle; U+027E9
1603 raquo; U+000BB
1604 Rarr; U+021A0
1605 rArr; U+021D2
1606 rarr; U+02192
1607 rarrap; U+02975
1608 rarrb; U+021E5
1609 rarrbfs; U+02920
1610 rarrc; U+02933
1611 rarrfs; U+0291E
1612 rarrhk; U+021AA
1613 rarrlp; U+021AC
1614 rarrpl; U+02945
1615 rarrsim; U+02974
1616 Rarrtl; U+02916
1617 rarrtl; U+021A3
1618 rarrw; U+0219D
1619 rAtail; U+0291C
1620 ratail; U+0291A
1621 ratio; U+02236
1622 rationals; U+0211A
1623 RBarr; U+02910
1624 rBarr; U+0290F
1625 rbarr; U+0290D
1626 rbbrk; U+02773
1627 rbrace; U+0007D
1628 rbrack; U+0005D
1629 rbrke; U+0298C
1630 rbrksld; U+0298E
1631 rbrkslu; U+02990
1632 Rcaron; U+00158
1633 rcaron; U+00159
1634 Rcedil; U+00156
1635 rcedil; U+00157
1636 rceil; U+02309
1637 rcub; U+0007D
1638 Rcy; U+00420
1639 rcy; U+00440
1640 rdca; U+02937
1641 rdldhar; U+02969
1642 rdquo; U+0201D
1643 rdquor; U+0201D
1644 rdsh; U+021B3
1645 Re; U+0211C
1646 real; U+0211C
1647 realine; U+0211B
1648 realpart; U+0211C
1649 reals; U+0211D
1650 rect; U+025AD
1651 REG; U+000AE
1652 reg; U+000AE
1653 ReverseElement; U+0220B
1654 ReverseEquilibrium; U+021CB
1655 ReverseUpEquilibrium; U+0296F
1656 rfisht; U+0297D
1657 rfloor; U+0230B
1658 Rfr; U+0211C
1659 rfr; U+1D52F
1660 rHar; U+02964
1661 rhard; U+021C1
1662 rharu; U+021C0
1663 rharul; U+0296C
1664 Rho; U+003A1
1665 rho; U+003C1
1666 rhov; U+003F1
1667 RightAngleBracket; U+027E9
1668 RightArrow; U+02192
1669 Rightarrow; U+021D2
1670 rightarrow; U+02192
1671 RightArrowBar; U+021E5
1672 RightArrowLeftArrow; U+021C4
1673 rightarrowtail; U+021A3
1674 RightCeiling; U+02309
1675 RightDoubleBracket; U+027E7
1676 RightDownTeeVector; U+0295D
1677 RightDownVector; U+021C2
1678 RightDownVectorBar; U+02955
1679 RightFloor; U+0230B
1680 rightharpoondown; U+021C1
1681 rightharpoonup; U+021C0
1682 rightleftarrows; U+021C4
1683 rightleftharpoons; U+021CC
1684 rightrightarrows; U+021C9
1685 rightsquigarrow; U+0219D
1686 RightTee; U+022A2
1687 RightTeeArrow; U+021A6
1688 RightTeeVector; U+0295B
1689 rightthreetimes; U+022CC
1690 RightTriangle; U+022B3
1691 RightTriangleBar; U+029D0
1692 RightTriangleEqual; U+022B5
1693 RightUpDownVector; U+0294F
1694 RightUpTeeVector; U+0295C
1695 RightUpVector; U+021BE
1696 RightUpVectorBar; U+02954
1697 RightVector; U+021C0
1698 RightVectorBar; U+02953
1699 ring; U+002DA
1700 risingdotseq; U+02253
1701 rlarr; U+021C4
1702 rlhar; U+021CC
1703 rlm; U+0200F
1704 rmoust; U+023B1
1705 rmoustache; U+023B1
1706 rnmid; U+02AEE
1707 roang; U+027ED
1708 roarr; U+021FE
1709 robrk; U+027E7
1710 ropar; U+02986
1711 Ropf; U+0211D
1712 ropf; U+1D563
1713 roplus; U+02A2E
1714 rotimes; U+02A35
1715 RoundImplies; U+02970
1716 rpar; U+00029
1717 rpargt; U+02994
1718 rppolint; U+02A12
1719 rrarr; U+021C9
1720 Rrightarrow; U+021DB
1721 rsaquo; U+0203A
1722 Rscr; U+0211B
1723 rscr; U+1D4C7
1724 Rsh; U+021B1
1725 rsh; U+021B1
1726 rsqb; U+0005D
1727 rsquo; U+02019
1728 rsquor; U+02019
1729 rthree; U+022CC
1730 rtimes; U+022CA
1731 rtri; U+025B9
1732 rtrie; U+022B5
1733 rtrif; U+025B8
1734 rtriltri; U+029CE
1735 RuleDelayed; U+029F4
1736 ruluhar; U+02968
1737 rx; U+0211E
1738 Sacute; U+0015A
1739 sacute; U+0015B
1740 sbquo; U+0201A
1741 Sc; U+02ABC
1742 sc; U+0227B
1743 scap; U+02AB8
1744 Scaron; U+00160
1745 scaron; U+00161
1746 sccue; U+0227D
1747 scE; U+02AB4
1748 sce; U+02AB0
1749 Scedil; U+0015E
1750 scedil; U+0015F
1751 Scirc; U+0015C
1752 scirc; U+0015D
1753 scnap; U+02ABA
1754 scnE; U+02AB6
1755 scnsim; U+022E9
1756 scpolint; U+02A13
1757 scsim; U+0227F
1758 Scy; U+00421
1759 scy; U+00441
1760 sdot; U+022C5
1761 sdotb; U+022A1
1762 sdote; U+02A66
1763 searhk; U+02925
1764 seArr; U+021D8
1765 searr; U+02198
1766 searrow; U+02198
1767 sect; U+000A7
1768 semi; U+0003B
1769 seswar; U+02929
1770 setminus; U+02216
1771 setmn; U+02216
1772 sext; U+02736
1773 Sfr; U+1D516
1774 sfr; U+1D530
1775 sfrown; U+02322
1776 sharp; U+0266F
1777 SHCHcy; U+00429
1778 shchcy; U+00449
1779 SHcy; U+00428
1780 shcy; U+00448
1781 ShortDownArrow; U+02193
1782 ShortLeftArrow; U+02190
1783 shortmid; U+02223
1784 shortparallel; U+02225
1785 ShortRightArrow; U+02192
1786 ShortUpArrow; U+02191
1787 shy; U+000AD
1788 Sigma; U+003A3
1789 sigma; U+003C3
1790 sigmaf; U+003C2
1791 sigmav; U+003C2
1792 sim; U+0223C
1793 simdot; U+02A6A
1794 sime; U+02243
1795 simeq; U+02243
1796 simg; U+02A9E
1797 simgE; U+02AA0
1798 siml; U+02A9D
1799 simlE; U+02A9F
1800 simne; U+02246
1801 simplus; U+02A24
1802 simrarr; U+02972
1803 slarr; U+02190
1804 SmallCircle; U+02218
1805 smallsetminus; U+02216
1806 smashp; U+02A33
1807 smeparsl; U+029E4
1808 smid; U+02223
1809 smile; U+02323
1810 smt; U+02AAA
1811 smte; U+02AAC
1812 smtes; U+02AAC U+0FE00
1813 SOFTcy; U+0042C
1814 softcy; U+0044C
1815 sol; U+0002F
1816 solb; U+029C4
1817 solbar; U+0233F
1818 Sopf; U+1D54A
1819 sopf; U+1D564
1820 spades; U+02660
1821 spadesuit; U+02660
1822 spar; U+02225
1823 sqcap; U+02293
1824 sqcaps; U+02293 U+0FE00
1825 sqcup; U+02294
1826 sqcups; U+02294 U+0FE00
1827 Sqrt; U+0221A
1828 sqsub; U+0228F
1829 sqsube; U+02291
1830 sqsubset; U+0228F
1831 sqsubseteq; U+02291
1832 sqsup; U+02290
1833 sqsupe; U+02292
1834 sqsupset; U+02290
1835 sqsupseteq; U+02292
1836 squ; U+025A1
1837 Square; U+025A1
1838 square; U+025A1
1839 SquareIntersection; U+02293
1840 SquareSubset; U+0228F
1841 SquareSubsetEqual; U+02291
1842 SquareSuperset; U+02290
1843 SquareSupersetEqual; U+02292
1844 SquareUnion; U+02294
1845 squarf; U+025AA
1846 squf; U+025AA
1847 srarr; U+02192
1848 Sscr; U+1D4AE
1849 sscr; U+1D4C8
1850 ssetmn; U+02216
1851 ssmile; U+02323
1852 sstarf; U+022C6
1853 Star; U+022C6
1854 star; U+02606
1855 starf; U+02605
1856 straightepsilon; U+003F5
1857 straightphi; U+003D5
1858 strns; U+000AF
1859 Sub; U+022D0
1860 sub; U+02282
1861 subdot; U+02ABD
1862 subE; U+02AC5
1863 sube; U+02286
1864 subedot; U+02AC3
1865 submult; U+02AC1
1866 subnE; U+02ACB
1867 subne; U+0228A
1868 subplus; U+02ABF
1869 subrarr; U+02979
1870 Subset; U+022D0
1871 subset; U+02282
1872 subseteq; U+02286
1873 subseteqq; U+02AC5
1874 SubsetEqual; U+02286
1875 subsetneq; U+0228A
1876 subsetneqq; U+02ACB
1877 subsim; U+02AC7
1878 subsub; U+02AD5
1879 subsup; U+02AD3
1880 succ; U+0227B
1881 succapprox; U+02AB8
1882 succcurlyeq; U+0227D
1883 Succeeds; U+0227B
1884 SucceedsEqual; U+02AB0
1885 SucceedsSlantEqual; U+0227D
1886 SucceedsTilde; U+0227F
1887 succeq; U+02AB0
1888 succnapprox; U+02ABA
1889 succneqq; U+02AB6
1890 succnsim; U+022E9
1891 succsim; U+0227F
1892 SuchThat; U+0220B
1893 Sum; U+02211
1894 sum; U+02211
1895 sung; U+0266A
1896 Sup; U+022D1
1897 sup; U+02283
1898 sup1; U+000B9
1899 sup2; U+000B2
1900 sup3; U+000B3
1901 supdot; U+02ABE
1902 supdsub; U+02AD8
1903 supE; U+02AC6
1904 supe; U+02287
1905 supedot; U+02AC4
1906 Superset; U+02283
1907 SupersetEqual; U+02287
1908 suphsol; U+027C9
1909 suphsub; U+02AD7
1910 suplarr; U+0297B
1911 supmult; U+02AC2
1912 supnE; U+02ACC
1913 supne; U+0228B
1914 supplus; U+02AC0
1915 Supset; U+022D1
1916 supset; U+02283
1917 supseteq; U+02287
1918 supseteqq; U+02AC6
1919 supsetneq; U+0228B
1920 supsetneqq; U+02ACC
1921 supsim; U+02AC8
1922 supsub; U+02AD4
1923 supsup; U+02AD6
1924 swarhk; U+02926
1925 swArr; U+021D9
1926 swarr; U+02199
1927 swarrow; U+02199
1928 swnwar; U+0292A
1929 szlig; U+000DF
1930 Tab; U+00009
1931 target; U+02316
1932 Tau; U+003A4
1933 tau; U+003C4
1934 tbrk; U+023B4
1935 Tcaron; U+00164
1936 tcaron; U+00165
1937 Tcedil; U+00162
1938 tcedil; U+00163
1939 Tcy; U+00422
1940 tcy; U+00442
1941 tdot; U+020DB
1942 telrec; U+02315
1943 Tfr; U+1D517
1944 tfr; U+1D531
1945 there4; U+02234
1946 Therefore; U+02234
1947 therefore; U+02234
1948 Theta; U+00398
1949 theta; U+003B8
1950 thetasym; U+003D1
1951 thetav; U+003D1
1952 thickapprox; U+02248
1953 thicksim; U+0223C
1954 ThickSpace; U+0205F U+0200A
1955 thinsp; U+02009
1956 ThinSpace; U+02009
1957 thkap; U+02248
1958 thksim; U+0223C
1959 THORN; U+000DE
1960 thorn; U+000FE
1961 Tilde; U+0223C
1962 tilde; U+002DC
1963 TildeEqual; U+02243
1964 TildeFullEqual; U+02245
1965 TildeTilde; U+02248
1966 times; U+000D7
1967 timesb; U+022A0
1968 timesbar; U+02A31
1969 timesd; U+02A30
1970 tint; U+0222D
1971 toea; U+02928
1972 top; U+022A4
1973 topbot; U+02336
1974 topcir; U+02AF1
1975 Topf; U+1D54B
1976 topf; U+1D565
1977 topfork; U+02ADA
1978 tosa; U+02929
1979 tprime; U+02034
1980 TRADE; U+02122
1981 trade; U+02122
1982 triangle; U+025B5
1983 triangledown; U+025BF
1984 triangleleft; U+025C3
1985 trianglelefteq; U+022B4
1986 triangleq; U+0225C
1987 triangleright; U+025B9
1988 trianglerighteq; U+022B5
1989 tridot; U+025EC
1990 trie; U+0225C
1991 triminus; U+02A3A
1992 TripleDot; U+020DB
1993 triplus; U+02A39
1994 trisb; U+029CD
1995 tritime; U+02A3B
1996 trpezium; U+023E2
1997 Tscr; U+1D4AF
1998 tscr; U+1D4C9
1999 TScy; U+00426
2000 tscy; U+00446
2001 TSHcy; U+0040B
2002 tshcy; U+0045B
2003 Tstrok; U+00166
2004 tstrok; U+00167
2005 twixt; U+0226C
2006 twoheadleftarrow; U+0219E
2007 twoheadrightarrow; U+021A0
2008 Uacute; U+000DA
2009 uacute; U+000FA
2010 Uarr; U+0219F
2011 uArr; U+021D1
2012 uarr; U+02191
2013 Uarrocir; U+02949
2014 Ubrcy; U+0040E
2015 ubrcy; U+0045E
2016 Ubreve; U+0016C
2017 ubreve; U+0016D
2018 Ucirc; U+000DB
2019 ucirc; U+000FB
2020 Ucy; U+00423
2021 ucy; U+00443
2022 udarr; U+021C5
2023 Udblac; U+00170
2024 udblac; U+00171
2025 udhar; U+0296E
2026 ufisht; U+0297E
2027 Ufr; U+1D518
2028 ufr; U+1D532
2029 Ugrave; U+000D9
2030 ugrave; U+000F9
2031 uHar; U+02963
2032 uharl; U+021BF
2033 uharr; U+021BE
2034 uhblk; U+02580
2035 ulcorn; U+0231C
2036 ulcorner; U+0231C
2037 ulcrop; U+0230F
2038 ultri; U+025F8
2039 Umacr; U+0016A
2040 umacr; U+0016B
2041 uml; U+000A8
2042 UnderBar; U+0005F
2043 UnderBrace; U+023DF
2044 UnderBracket; U+023B5
2045 UnderParenthesis; U+023DD
2046 Union; U+022C3
2047 UnionPlus; U+0228E
2048 Uogon; U+00172
2049 uogon; U+00173
2050 Uopf; U+1D54C
2051 uopf; U+1D566
2052 UpArrow; U+02191
2053 Uparrow; U+021D1
2054 uparrow; U+02191
2055 UpArrowBar; U+02912
2056 UpArrowDownArrow; U+021C5
2057 UpDownArrow; U+02195
2058 Updownarrow; U+021D5
2059 updownarrow; U+02195
2060 UpEquilibrium; U+0296E
2061 upharpoonleft; U+021BF
2062 upharpoonright; U+021BE
2063 uplus; U+0228E
2064 UpperLeftArrow; U+02196
2065 UpperRightArrow; U+02197
2066 Upsi; U+003D2
2067 upsi; U+003C5
2068 upsih; U+003D2
2069 Upsilon; U+003A5
2070 upsilon; U+003C5
2071 UpTee; U+022A5
2072 UpTeeArrow; U+021A5
2073 upuparrows; U+021C8
2074 urcorn; U+0231D
2075 urcorner; U+0231D
2076 urcrop; U+0230E
2077 Uring; U+0016E
2078 uring; U+0016F
2079 urtri; U+025F9
2080 Uscr; U+1D4B0
2081 uscr; U+1D4CA
2082 utdot; U+022F0
2083 Utilde; U+00168
2084 utilde; U+00169
2085 utri; U+025B5
2086 utrif; U+025B4
2087 uuarr; U+021C8
2088 Uuml; U+000DC
2089 uuml; U+000FC
2090 uwangle; U+029A7
2091 vangrt; U+0299C
2092 varepsilon; U+003F5
2093 varkappa; U+003F0
2094 varnothing; U+02205
2095 varphi; U+003D5
2096 varpi; U+003D6
2097 varpropto; U+0221D
2098 vArr; U+021D5
2099 varr; U+02195
2100 varrho; U+003F1
2101 varsigma; U+003C2
2102 varsubsetneq; U+0228A U+0FE00
2103 varsubsetneqq; U+02ACB U+0FE00
2104 varsupsetneq; U+0228B U+0FE00
2105 varsupsetneqq; U+02ACC U+0FE00
2106 vartheta; U+003D1
2107 vartriangleleft; U+022B2
2108 vartriangleright; U+022B3
2109 Vbar; U+02AEB
2110 vBar; U+02AE8
2111 vBarv; U+02AE9
2112 Vcy; U+00412
2113 vcy; U+00432
2114 VDash; U+022AB
2115 Vdash; U+022A9
2116 vDash; U+022A8
2117 vdash; U+022A2
2118 Vdashl; U+02AE6
2119 Vee; U+022C1
2120 vee; U+02228
2121 veebar; U+022BB
2122 veeeq; U+0225A
2123 vellip; U+022EE
2124 Verbar; U+02016
2125 verbar; U+0007C
2126 Vert; U+02016
2127 vert; U+0007C
2128 VerticalBar; U+02223
2129 VerticalLine; U+0007C
2130 VerticalSeparator; U+02758
2131 VerticalTilde; U+02240
2132 VeryThinSpace; U+0200A
2133 Vfr; U+1D519
2134 vfr; U+1D533
2135 vltri; U+022B2
2136 vnsub; U+02282 U+020D2
2137 vnsup; U+02283 U+020D2
2138 Vopf; U+1D54D
2139 vopf; U+1D567
2140 vprop; U+0221D
2141 vrtri; U+022B3
2142 Vscr; U+1D4B1
2143 vscr; U+1D4CB
2144 vsubnE; U+02ACB U+0FE00
2145 vsubne; U+0228A U+0FE00
2146 vsupnE; U+02ACC U+0FE00
2147 vsupne; U+0228B U+0FE00
2148 Vvdash; U+022AA
2149 vzigzag; U+0299A
2150 Wcirc; U+00174
2151 wcirc; U+00175
2152 wedbar; U+02A5F
2153 Wedge; U+022C0
2154 wedge; U+02227
2155 wedgeq; U+02259
2156 weierp; U+02118
2157 Wfr; U+1D51A
2158 wfr; U+1D534
2159 Wopf; U+1D54E
2160 wopf; U+1D568
2161 wp; U+02118
2162 wr; U+02240
2163 wreath; U+02240
2164 Wscr; U+1D4B2
2165 wscr; U+1D4CC
2166 xcap; U+022C2
2167 xcirc; U+025EF
2168 xcup; U+022C3
2169 xdtri; U+025BD
2170 Xfr; U+1D51B
2171 xfr; U+1D535
2172 xhArr; U+027FA
2173 xharr; U+027F7
2174 Xi; U+0039E
2175 xi; U+003BE
2176 xlArr; U+027F8
2177 xlarr; U+027F5
2178 xmap; U+027FC
2179 xnis; U+022FB
2180 xodot; U+02A00
2181 Xopf; U+1D54F
2182 xopf; U+1D569
2183 xoplus; U+02A01
2184 xotime; U+02A02
2185 xrArr; U+027F9
2186 xrarr; U+027F6
2187 Xscr; U+1D4B3
2188 xscr; U+1D4CD
2189 xsqcup; U+02A06
2190 xuplus; U+02A04
2191 xutri; U+025B3
2192 xvee; U+022C1
2193 xwedge; U+022C0
2194 Yacute; U+000DD
2195 yacute; U+000FD
2196 YAcy; U+0042F
2197 yacy; U+0044F
2198 Ycirc; U+00176
2199 ycirc; U+00177
2200 Ycy; U+0042B
2201 ycy; U+0044B
2202 yen; U+000A5
2203 Yfr; U+1D51C
2204 yfr; U+1D536
2205 YIcy; U+00407
2206 yicy; U+00457
2207 Yopf; U+1D550
2208 yopf; U+1D56A
2209 Yscr; U+1D4B4
2210 yscr; U+1D4CE
2211 YUcy; U+0042E
2212 yucy; U+0044E
2213 Yuml; U+00178
2214 yuml; U+000FF
2215 Zacute; U+00179
2216 zacute; U+0017A
2217 Zcaron; U+0017D
2218 zcaron; U+0017E
2219 Zcy; U+00417
2220 zcy; U+00437
2221 Zdot; U+0017B
2222 zdot; U+0017C
2223 zeetrf; U+02128
2224 ZeroWidthSpace; U+0200B
2225 Zeta; U+00396
2226 zeta; U+003B6
2227 Zfr; U+02128
2228 zfr; U+1D537
2229 ZHcy; U+00416
2230 zhcy; U+00436
2231 zigrarr; U+021DD
2232 Zopf; U+02124
2233 zopf; U+1D56B
2234 Zscr; U+1D4B5
2235 zscr; U+1D4CF
2236 zwj; U+0200D
2237 zwnj; U+0200C