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