summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.SH9
-rw-r--r--doop.c360
-rw-r--r--embed.h43
-rw-r--r--embedvar.h32
-rw-r--r--global.sym43
-rw-r--r--handy.h48
-rw-r--r--lib/unicode/ArabLink.pl31
-rw-r--r--lib/unicode/ArabLnkGrp.pl62
-rw-r--r--lib/unicode/Bidirectional.pl369
-rw-r--r--lib/unicode/Block.pl71
-rw-r--r--lib/unicode/Category.pl1326
-rw-r--r--lib/unicode/CombiningClass.pl217
-rw-r--r--lib/unicode/Decomposition.pl3089
-rw-r--r--lib/unicode/In/AlphabeticPresentationForms.pl3
-rw-r--r--lib/unicode/In/Arabic.pl3
-rw-r--r--lib/unicode/In/ArabicPresentationForms-A.pl3
-rw-r--r--lib/unicode/In/ArabicPresentationForms-B.pl3
-rw-r--r--lib/unicode/In/Armenian.pl3
-rw-r--r--lib/unicode/In/Arrows.pl3
-rw-r--r--lib/unicode/In/BasicLatin.pl3
-rw-r--r--lib/unicode/In/Bengali.pl3
-rw-r--r--lib/unicode/In/BlockElements.pl3
-rw-r--r--lib/unicode/In/Bopomofo.pl3
-rw-r--r--lib/unicode/In/BoxDrawing.pl3
-rw-r--r--lib/unicode/In/CJKCompatibility.pl3
-rw-r--r--lib/unicode/In/CJKCompatibilityForms.pl3
-rw-r--r--lib/unicode/In/CJKCompatibilityIdeographs.pl3
-rw-r--r--lib/unicode/In/CJKSymbolsandPunctuation.pl3
-rw-r--r--lib/unicode/In/CJKUnifiedIdeographs.pl3
-rw-r--r--lib/unicode/In/CombiningDiacriticalMarks.pl3
-rw-r--r--lib/unicode/In/CombiningHalfMarks.pl3
-rw-r--r--lib/unicode/In/CombiningMarksforSymbols.pl3
-rw-r--r--lib/unicode/In/ControlPictures.pl3
-rw-r--r--lib/unicode/In/CurrencySymbols.pl3
-rw-r--r--lib/unicode/In/Cyrillic.pl3
-rw-r--r--lib/unicode/In/Devanagari.pl3
-rw-r--r--lib/unicode/In/Dingbats.pl3
-rw-r--r--lib/unicode/In/EnclosedAlphanumerics.pl3
-rw-r--r--lib/unicode/In/EnclosedCJKLettersandMonths.pl3
-rw-r--r--lib/unicode/In/GeneralPunctuation.pl3
-rw-r--r--lib/unicode/In/GeometricShapes.pl3
-rw-r--r--lib/unicode/In/Georgian.pl3
-rw-r--r--lib/unicode/In/Greek.pl3
-rw-r--r--lib/unicode/In/GreekExtended.pl3
-rw-r--r--lib/unicode/In/Gujarati.pl3
-rw-r--r--lib/unicode/In/Gurmukhi.pl3
-rw-r--r--lib/unicode/In/HalfwidthandFullwidthForms.pl3
-rw-r--r--lib/unicode/In/HangulCompatibilityJamo.pl3
-rw-r--r--lib/unicode/In/HangulJamo.pl3
-rw-r--r--lib/unicode/In/HangulSyllables.pl3
-rw-r--r--lib/unicode/In/Hebrew.pl3
-rw-r--r--lib/unicode/In/HighPrivateUseSurrogates.pl3
-rw-r--r--lib/unicode/In/HighSurrogates.pl3
-rw-r--r--lib/unicode/In/Hiragana.pl3
-rw-r--r--lib/unicode/In/IPAExtensions.pl3
-rw-r--r--lib/unicode/In/Kanbun.pl3
-rw-r--r--lib/unicode/In/Kannada.pl3
-rw-r--r--lib/unicode/In/Katakana.pl3
-rw-r--r--lib/unicode/In/Lao.pl3
-rw-r--r--lib/unicode/In/Latin-1Supplement.pl3
-rw-r--r--lib/unicode/In/LatinExtended-A.pl3
-rw-r--r--lib/unicode/In/LatinExtended-B.pl3
-rw-r--r--lib/unicode/In/LatinExtendedAdditional.pl3
-rw-r--r--lib/unicode/In/LetterlikeSymbols.pl3
-rw-r--r--lib/unicode/In/LowSurrogates.pl3
-rw-r--r--lib/unicode/In/Malayalam.pl3
-rw-r--r--lib/unicode/In/MathematicalOperators.pl3
-rw-r--r--lib/unicode/In/MiscellaneousSymbols.pl3
-rw-r--r--lib/unicode/In/MiscellaneousTechnical.pl3
-rw-r--r--lib/unicode/In/NumberForms.pl3
-rw-r--r--lib/unicode/In/OpticalCharacterRecognition.pl3
-rw-r--r--lib/unicode/In/Oriya.pl3
-rw-r--r--lib/unicode/In/PrivateUse.pl3
-rw-r--r--lib/unicode/In/SmallFormVariants.pl3
-rw-r--r--lib/unicode/In/SpacingModifierLetters.pl3
-rw-r--r--lib/unicode/In/Specials.pl3
-rw-r--r--lib/unicode/In/SuperscriptsandSubscripts.pl3
-rw-r--r--lib/unicode/In/Tamil.pl3
-rw-r--r--lib/unicode/In/Telugu.pl3
-rw-r--r--lib/unicode/In/Thai.pl3
-rw-r--r--lib/unicode/In/Tibetan.pl3
-rw-r--r--lib/unicode/Is/Alnum.pl224
-rw-r--r--lib/unicode/Is/Alpha.pl208
-rw-r--r--lib/unicode/Is/BidiAN.pl4
-rw-r--r--lib/unicode/Is/BidiB.pl3
-rw-r--r--lib/unicode/Is/BidiCS.pl6
-rw-r--r--lib/unicode/Is/BidiEN.pl10
-rw-r--r--lib/unicode/Is/BidiES.pl3
-rw-r--r--lib/unicode/Is/BidiET.pl13
-rw-r--r--lib/unicode/Is/BidiL.pl243
-rw-r--r--lib/unicode/Is/BidiON.pl66
-rw-r--r--lib/unicode/Is/BidiR.pl31
-rw-r--r--lib/unicode/Is/BidiS.pl3
-rw-r--r--lib/unicode/Is/BidiWS.pl7
-rw-r--r--lib/unicode/Is/C.pl12
-rw-r--r--lib/unicode/Is/Cc.pl4
-rw-r--r--lib/unicode/Is/Cn.pl2
-rw-r--r--lib/unicode/Is/Co.pl3
-rw-r--r--lib/unicode/Is/DCcircle.pl7
-rw-r--r--lib/unicode/Is/DCcompat.pl81
-rw-r--r--lib/unicode/Is/DCfinal.pl115
-rw-r--r--lib/unicode/Is/DCfont.pl12
-rw-r--r--lib/unicode/Is/DCinital.pl56
-rw-r--r--lib/unicode/Is/DCinitial.pl77
-rw-r--r--lib/unicode/Is/DCisolated.pl100
-rw-r--r--lib/unicode/Is/DCnarrow.pl8
-rw-r--r--lib/unicode/Is/DCnoBreak.pl5
-rw-r--r--lib/unicode/Is/DCsmall.pl5
-rw-r--r--lib/unicode/Is/DCsquare.pl5
-rw-r--r--lib/unicode/Is/DCsub.pl3
-rw-r--r--lib/unicode/Is/DCsuper.pl11
-rw-r--r--lib/unicode/Is/DCvertical.pl3
-rw-r--r--lib/unicode/Is/DCwide.pl5
-rw-r--r--lib/unicode/Is/DecoCanon.pl189
-rw-r--r--lib/unicode/Is/DecoCompat.pl119
-rw-r--r--lib/unicode/Is/Digit.pl18
-rw-r--r--lib/unicode/Is/L.pl214
-rw-r--r--lib/unicode/Is/Ll.pl356
-rw-r--r--lib/unicode/Is/Lm.pl18
-rw-r--r--lib/unicode/Is/Lo.pl139
-rw-r--r--lib/unicode/Is/Lower.pl356
-rw-r--r--lib/unicode/Is/Lt.pl6
-rw-r--r--lib/unicode/Is/Lu.pl361
-rw-r--r--lib/unicode/Is/M.pl89
-rw-r--r--lib/unicode/Is/Mc.pl42
-rw-r--r--lib/unicode/Is/Mirrored.pl42
-rw-r--r--lib/unicode/Is/Mn.pl82
-rw-r--r--lib/unicode/Is/N.pl34
-rw-r--r--lib/unicode/Is/Nd.pl18
-rw-r--r--lib/unicode/Is/No.pl18
-rw-r--r--lib/unicode/Is/P.pl69
-rw-r--r--lib/unicode/Is/Pd.pl11
-rw-r--r--lib/unicode/Is/Pe.pl41
-rw-r--r--lib/unicode/Is/Po.pl60
-rw-r--r--lib/unicode/Is/Print.pl301
-rw-r--r--lib/unicode/Is/Ps.pl42
-rw-r--r--lib/unicode/Is/S.pl112
-rw-r--r--lib/unicode/Is/Sc.pl11
-rw-r--r--lib/unicode/Is/Sm.pl28
-rw-r--r--lib/unicode/Is/So.pl77
-rw-r--r--lib/unicode/Is/Space.pl9
-rw-r--r--lib/unicode/Is/Upper.pl361
-rw-r--r--lib/unicode/Is/Z.pl7
-rw-r--r--lib/unicode/Is/Zl.pl3
-rw-r--r--lib/unicode/Is/Zp.pl3
-rw-r--r--lib/unicode/Is/Zs.pl6
-rw-r--r--lib/unicode/JamoShort.pl69
-rw-r--r--lib/unicode/Makefile5
-rw-r--r--lib/unicode/Name.pl6522
-rw-r--r--lib/unicode/Number.pl331
-rw-r--r--lib/unicode/To/Digit.pl23
-rw-r--r--lib/unicode/To/Lower.pl374
-rw-r--r--lib/unicode/To/Title.pl374
-rw-r--r--lib/unicode/To/Upper.pl380
-rw-r--r--lib/unicode/UnicodeData-Latest.txt6590
-rwxr-xr-xlib/unicode/arabshp.txt134
-rwxr-xr-xlib/unicode/blocks.txt71
-rwxr-xr-xlib/unicode/index2.txt2882
-rwxr-xr-xlib/unicode/jamo2.txt69
-rwxr-xr-xlib/unicode/mktables.PL294
-rwxr-xr-xlib/unicode/names2.txt12902
-rwxr-xr-xlib/unicode/props2.txt51
-rwxr-xr-xlib/unicode/readme.txt301
-rw-r--r--lib/utf8.pm181
-rw-r--r--lib/utf8_heavy.pl224
-rw-r--r--mg.c22
-rw-r--r--op.c210
-rw-r--r--op.h3
-rw-r--r--perl.h5
-rw-r--r--perlvars.h18
-rw-r--r--pod/perlfunc.pod33
-rw-r--r--pod/perlop.pod20
-rw-r--r--pod/perlre.pod5
-rw-r--r--pp.c281
-rw-r--r--pp_ctl.c92
-rw-r--r--pp_hot.c40
-rw-r--r--proto.h24
-rw-r--r--regcomp.c788
-rw-r--r--regcomp.h13
-rw-r--r--regcomp.sym18
-rw-r--r--regexec.c928
-rw-r--r--regexp.h29
-rw-r--r--regnodes.h170
-rw-r--r--sv.c104
-rwxr-xr-xt/UTEST192
-rwxr-xr-xt/op/vec.t4
-rw-r--r--toke.c186
-rw-r--r--utf8.c638
-rw-r--r--utf8.h27
-rw-r--r--util.c20
-rw-r--r--vms/vmsish.h6
191 files changed, 45647 insertions, 487 deletions
diff --git a/Makefile.SH b/Makefile.SH
index 050e471e7d..34bf4c447a 100644
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -210,18 +210,18 @@ h1 = EXTERN.h INTERN.h XSUB.h av.h config.h cop.h cv.h dosish.h
h2 = embed.h form.h gv.h handy.h hv.h keywords.h mg.h op.h
h3 = opcode.h patchlevel.h perl.h perly.h pp.h proto.h regcomp.h
h4 = regexp.h scope.h sv.h unixish.h util.h iperlsys.h thread.h
-h5 = bytecode.h byterun.h
+h5 = bytecode.h byterun.h utf8.h
h = $(h1) $(h2) $(h3) $(h4) $(h5)
c1 = $(mallocsrc) av.c scope.c op.c doop.c doio.c dump.c hv.c mg.c byterun.c
-c2 = perl.c perly.c pp.c pp_hot.c pp_ctl.c pp_sys.c regcomp.c regexec.c
+c2 = perl.c perly.c pp.c pp_hot.c pp_ctl.c pp_sys.c regcomp.c regexec.c utf8.c
c3 = gv.c sv.c taint.c toke.c util.c deb.c run.c universal.c globals.c perlio.c
c = $(c1) $(c2) $(c3) miniperlmain.c perlmain.c
obj1 = $(mallocobj) gv$(OBJ_EXT) toke$(OBJ_EXT) perly$(OBJ_EXT) op$(OBJ_EXT) regcomp$(OBJ_EXT) dump$(OBJ_EXT) util$(OBJ_EXT) mg$(OBJ_EXT) byterun$(OBJ_EXT)
obj2 = hv$(OBJ_EXT) av$(OBJ_EXT) run$(OBJ_EXT) pp_hot$(OBJ_EXT) sv$(OBJ_EXT) pp$(OBJ_EXT) scope$(OBJ_EXT) pp_ctl$(OBJ_EXT) pp_sys$(OBJ_EXT)
-obj3 = doop$(OBJ_EXT) doio$(OBJ_EXT) regexec$(OBJ_EXT) taint$(OBJ_EXT) deb$(OBJ_EXT) universal$(OBJ_EXT) globals$(OBJ_EXT) perlio$(OBJ_EXT)
+obj3 = doop$(OBJ_EXT) doio$(OBJ_EXT) regexec$(OBJ_EXT) utf8$(OBJ_EXT) taint$(OBJ_EXT) deb$(OBJ_EXT) universal$(OBJ_EXT) globals$(OBJ_EXT) perlio$(OBJ_EXT)
obj = $(obj1) $(obj2) $(obj3) $(ARCHOBJS)
@@ -581,6 +581,9 @@ test-prep: miniperl perl preplibrary utilities $(dynamic_ext) $(nonxs_ext)
test check: test-prep
cd t && $(LDLIBPTH) ./perl TEST </dev/tty
+utest ucheck: test-prep
+ cd t && $(LDLIBPTH) ./perl UTEST </dev/tty
+
# For testing without a tty or controling terminal. See t/op/stat.t
test-notty: test-prep
cd t && PERL_SKIP_TTY_TEST=1 $(LDLIBPTH) ./perl TEST
diff --git a/doop.c b/doop.c
index e80fa489ce..9dc9b047b4 100644
--- a/doop.c
+++ b/doop.c
@@ -22,72 +22,320 @@ I32
do_trans(SV *sv, OP *arg)
{
dTHR;
- register short *tbl;
register U8 *s;
register U8 *send;
register U8 *d;
- register I32 ch;
register I32 matches = 0;
register I32 squash = PL_op->op_private & OPpTRANS_SQUASH;
- register U8 *p;
STRLEN len;
if (SvREADONLY(sv) && !(PL_op->op_private & OPpTRANS_COUNTONLY))
croak(no_modify);
- tbl = (short*)cPVOP->op_pv;
- s = (U8*)SvPV(sv, len);
- if (!len)
- return 0;
- if (!SvPOKp(sv))
- s = (U8*)SvPV_force(sv, len);
- (void)SvPOK_only(sv);
- send = s + len;
- if (!tbl || !s)
- croak("panic: do_trans");
- DEBUG_t( deb("2.TBL\n"));
- if (!PL_op->op_private) {
- while (s < send) {
- if ((ch = tbl[*s]) >= 0) {
- matches++;
- *s = ch;
+
+ if (PL_op->op_private & (OPpTRANS_FROM_UTF|OPpTRANS_TO_UTF)) {
+ SV* rv = (SV*)cSVOP->op_sv;
+ HV* hv = (HV*)SvRV(rv);
+ SV** svp = hv_fetch(hv, "NONE", 4, FALSE);
+ UV none = svp ? SvUV(*svp) : 0x7fffffff;
+ UV extra = none + 1;
+ I32 del = PL_op->op_private & OPpTRANS_DELETE;
+ UV final;
+ register UV uv;
+ UV puv;
+ char *dst;
+ register I32 from_utf = PL_op->op_private & OPpTRANS_FROM_UTF;
+ register I32 to_utf = PL_op->op_private & OPpTRANS_TO_UTF;
+
+ s = (U8*)SvPV(sv, len);
+ if (!len)
+ return 0;
+ if (!SvPOKp(sv))
+ s = (U8*)SvPV_force(sv, len);
+ (void)SvPOK_only(sv);
+ send = s + len;
+ DEBUG_t( deb("2.TBL\n"));
+ if (PL_op->op_private == (OPpTRANS_FROM_UTF|OPpTRANS_TO_UTF)) { /* no other flags */
+ svp = hv_fetch(hv, "FINAL", 5, FALSE);
+ if (svp)
+ final = SvUV(*svp);
+
+ d = s;
+ while (s < send) {
+ if ((uv = swash_fetch(rv, s)) < none) {
+ s += UTF8SKIP(s);
+ matches++;
+ d = uv_to_utf8(d, uv);
+ }
+ else if (uv == none) {
+ int i;
+ for (i = UTF8SKIP(s); i; i--)
+ *d++ = *s++;
+ }
+ else if (uv == extra) {
+ s += UTF8SKIP(s);
+ matches++;
+ d = uv_to_utf8(d, final);
+ }
+ else
+ s += UTF8SKIP(s);
}
- s++;
+ *d = '\0';
+ SvCUR_set(sv, d - (U8*)SvPVX(sv));
+ SvSETMAGIC(sv);
}
- SvSETMAGIC(sv);
- }
- else if (PL_op->op_private & OPpTRANS_COUNTONLY) {
- while (s < send) {
- if (tbl[*s] >= 0)
- matches++;
- s++;
+ else if (PL_op->op_private == OPpTRANS_FROM_UTF) { /* no other flags */
+ svp = hv_fetch(hv, "FINAL", 5, FALSE);
+ if (svp)
+ final = SvUV(*svp);
+
+ d = s;
+ while (s < send) {
+ if ((uv = swash_fetch(rv, s)) < none) {
+ s += UTF8SKIP(s);
+ matches++;
+ *d++ = (U8)uv;
+ }
+ else if (uv == none) {
+ I32 ulen;
+ uv = utf8_to_uv(s, &ulen);
+ s += ulen;
+ *d++ = (U8)uv;
+ }
+ else if (uv == extra) {
+ s += UTF8SKIP(s);
+ matches++;
+ *d++ = (U8)final;
+ }
+ else
+ s += UTF8SKIP(s);
+ }
+ *d = '\0';
+ SvCUR_set(sv, d - (U8*)SvPVX(sv));
+ SvSETMAGIC(sv);
+ }
+ else if (PL_op->op_private == OPpTRANS_TO_UTF) { /* no other flags */
+ svp = hv_fetch(hv, "FINAL", 5, FALSE);
+ if (svp)
+ final = SvUV(*svp);
+
+ d = s;
+ while (s < send) {
+ U8 tmpbuf[10];
+ uv_to_utf8(tmpbuf, *s); /* XXX suboptimal */
+ if ((uv = swash_fetch(rv, tmpbuf)) < none) {
+ s += UTF8SKIP(s);
+ matches++;
+ d = uv_to_utf8(d, uv);
+ }
+ else if (uv == none) {
+ I32 ulen;
+ uv = utf8_to_uv(s, &ulen);
+ s += ulen;
+ d = uv_to_utf8(d, uv);
+ }
+ else if (uv == extra) {
+ s += UTF8SKIP(s);
+ matches++;
+ d = uv_to_utf8(d, final);
+ }
+ else
+ s += UTF8SKIP(s);
+ }
+ *d = '\0';
+ SvCUR_set(sv, d - (U8*)SvPVX(sv));
+ SvSETMAGIC(sv);
+ }
+ else if (PL_op->op_private & OPpTRANS_COUNTONLY) {
+ if (from_utf) {
+ while (s < send) {
+ if (swash_fetch(rv, s) < none)
+ matches++;
+ s += UTF8SKIP(s);
+ }
+ }
+ else {
+ while (s < send) {
+ char tmpbuf[10];
+ uv_to_utf8(tmpbuf, *s); /* XXX suboptimal */
+ if (swash_fetch(rv, tmpbuf) < none)
+ matches++;
+ s += UTF8SKIP(s);
+ }
+ }
}
+ else {
+ I32 bits = 16;
+ U8 *dst;
+
+ svp = hv_fetch(hv, "BITS", 4, FALSE);
+ if (svp)
+ bits = (I32)SvIV(*svp);
+
+ svp = hv_fetch(hv, "FINAL", 5, FALSE);
+ if (svp)
+ final = SvUV(*svp);
+
+ Newz(801, d, len * (bits >> 3) + 1, char);
+ dst = d;
+
+ puv = 0xfeedface;
+ if (squash) {
+ while (s < send) {
+ if (from_utf)
+ uv = swash_fetch(rv, s);
+ else {
+ char tmpbuf[10];
+ uv_to_utf8(tmpbuf, *s); /* XXX suboptimal */
+ uv = swash_fetch(rv, tmpbuf);
+ }
+ if (uv < none) {
+ matches++;
+ if (uv != puv) {
+ if (to_utf)
+ d = uv_to_utf8(d, uv);
+ else
+ *d++ = (U8)uv;
+ }
+ puv = uv;
+ s += UTF8SKIP(s);
+ continue;
+ }
+ else if (uv == none) { /* "none" is unmapped character */
+ int i;
+ if (to_utf) {
+ for (i = UTF8SKIP(s); i; --i)
+ *d++ = *s++;
+ }
+ else {
+ I32 ulen;
+ *d++ = (U8)utf8_to_uv(s, &ulen);
+ s += ulen;
+ }
+ puv = 0xfeedface;
+ continue;
+ }
+ else if (uv == extra && !del) {
+ matches++;
+ if (to_utf)
+ d = uv_to_utf8(d, final);
+ else
+ *d++ = (U8)final;
+ s += UTF8SKIP(s);
+ puv = 0xfeedface;
+ continue;
+ }
+ matches++; /* "none+1" is delete character */
+ s += UTF8SKIP(s);
+ }
+ }
+ else {
+ while (s < send) {
+ if (from_utf)
+ uv = swash_fetch(rv, s);
+ else {
+ char tmpbuf[10];
+ uv_to_utf8(tmpbuf, *s); /* XXX suboptimal */
+ uv = swash_fetch(rv, tmpbuf);
+ }
+ if (uv < none) {
+ if (to_utf)
+ d = uv_to_utf8(d, uv);
+ else
+ *d++ = (U8)uv;
+ matches++;
+ s += UTF8SKIP(s);
+ continue;
+ }
+ else if (uv == none) { /* "none" is unmapped character */
+ int i;
+ if (to_utf) {
+ for (i = UTF8SKIP(s); i; --i)
+ *d++ = *s++;
+ }
+ else {
+ I32 ulen;
+ *d++ = (U8)utf8_to_uv(s, &ulen);
+ s += ulen;
+ }
+ continue;
+ }
+ else if (uv == extra && !del) {
+ matches++;
+ if (to_utf)
+ d = uv_to_utf8(d, final);
+ else
+ *d++ = (U8)final;
+ s += UTF8SKIP(s);
+ continue;
+ }
+ matches++; /* "none+1" is delete character */
+ s += UTF8SKIP(s);
+ }
+ }
+ sv_usepvn_mg(sv, dst, d - dst);
+ }
+ return matches;
}
else {
- d = s;
- p = send;
- while (s < send) {
- if ((ch = tbl[*s]) >= 0) {
- *d = ch;
- matches++;
- if (squash) {
- if (p == d - 1 && *p == *d)
- matches--;
+ register short *tbl;
+ register I32 ch;
+ register U8 *p;
+
+ tbl = (short*)cPVOP->op_pv;
+ s = (U8*)SvPV(sv, len);
+ if (!len)
+ return 0;
+ if (!SvPOKp(sv))
+ s = (U8*)SvPV_force(sv, len);
+ (void)SvPOK_only(sv);
+ send = s + len;
+ if (!tbl || !s)
+ croak("panic: do_trans");
+ DEBUG_t( deb("2.TBL\n"));
+ if (!PL_op->op_private) {
+ while (s < send) {
+ if ((ch = tbl[*s]) >= 0) {
+ matches++;
+ *s = ch;
+ }
+ s++;
+ }
+ SvSETMAGIC(sv);
+ }
+ else if (PL_op->op_private & OPpTRANS_COUNTONLY) {
+ while (s < send) {
+ if (tbl[*s] >= 0)
+ matches++;
+ s++;
+ }
+ }
+ else {
+ d = s;
+ p = send;
+ while (s < send) {
+ if ((ch = tbl[*s]) >= 0) {
+ *d = ch;
+ matches++;
+ if (squash) {
+ if (p == d - 1 && *p == *d)
+ matches--;
+ else
+ p = d++;
+ }
else
- p = d++;
+ d++;
}
- else
- d++;
+ else if (ch == -1) /* -1 is unmapped character */
+ *d++ = *s; /* -2 is delete character */
+ s++;
}
- else if (ch == -1) /* -1 is unmapped character */
- *d++ = *s; /* -2 is delete character */
- s++;
+ matches += send - d; /* account for disappeared chars */
+ *d = '\0';
+ SvCUR_set(sv, d - (U8*)SvPVX(sv));
+ SvSETMAGIC(sv);
}
- matches += send - d; /* account for disappeared chars */
- *d = '\0';
- SvCUR_set(sv, d - (U8*)SvPVX(sv));
- SvSETMAGIC(sv);
+ return matches;
}
- return matches;
}
void
@@ -240,6 +488,24 @@ do_chop(register SV *astr, register SV *sv)
s = SvPV(sv, len);
if (len && !SvPOK(sv))
s = SvPV_force(sv, len);
+ if (IN_UTF8) {
+ if (s && len) {
+ char *send = s + len;
+ char *start = s;
+ s = send - 1;
+ while ((*s & 0xc0) == 0x80)
+ --s;
+ if (UTF8SKIP(s) != send - s)
+ warn("Malformed UTF-8 character");
+ sv_setpvn(astr, s, send - s);
+ *s = '\0';
+ SvCUR_set(sv, s - start);
+ SvNIOK_off(sv);
+ }
+ else
+ sv_setpvn(astr, "", 0);
+ }
+ else
if (s && len) {
s += --len;
sv_setpvn(astr, s, 1);
diff --git a/embed.h b/embed.h
index e7f8a50fcf..6026c18922 100644
--- a/embed.h
+++ b/embed.h
@@ -257,6 +257,31 @@
#define intuit_more Perl_intuit_more
#define invert Perl_invert
#define io_close Perl_io_close
+#define is_uni_alnum Perl_is_uni_alnum
+#define is_uni_alnum_lc Perl_is_uni_alnum_lc
+#define is_uni_alpha Perl_is_uni_alpha
+#define is_uni_alpha_lc Perl_is_uni_alpha_lc
+#define is_uni_digit Perl_is_uni_digit
+#define is_uni_digit_lc Perl_is_uni_digit_lc
+#define is_uni_idfirst Perl_is_uni_idfirst
+#define is_uni_idfirst_lc Perl_is_uni_idfirst_lc
+#define is_uni_lower Perl_is_uni_lower
+#define is_uni_lower_lc Perl_is_uni_lower_lc
+#define is_uni_print Perl_is_uni_print
+#define is_uni_print_lc Perl_is_uni_print_lc
+#define is_uni_space Perl_is_uni_space
+#define is_uni_space_lc Perl_is_uni_space_lc
+#define is_uni_upper Perl_is_uni_upper
+#define is_uni_upper_lc Perl_is_uni_upper_lc
+#define is_utf8_alnum Perl_is_utf8_alnum
+#define is_utf8_alpha Perl_is_utf8_alpha
+#define is_utf8_digit Perl_is_utf8_digit
+#define is_utf8_idfirst Perl_is_utf8_idfirst
+#define is_utf8_lower Perl_is_utf8_lower
+#define is_utf8_mark Perl_is_utf8_mark
+#define is_utf8_print Perl_is_utf8_print
+#define is_utf8_space Perl_is_utf8_space
+#define is_utf8_upper Perl_is_utf8_upper
#define jmaybe Perl_jmaybe
#define keyword Perl_keyword
#define know_next Perl_know_next
@@ -967,6 +992,7 @@
#define sv_isobject Perl_sv_isobject
#define sv_iv Perl_sv_iv
#define sv_len Perl_sv_len
+#define sv_len_utf8 Perl_sv_len_utf8
#define sv_magic Perl_sv_magic
#define sv_mortalcopy Perl_sv_mortalcopy
#define sv_newmortal Perl_sv_newmortal
@@ -1013,15 +1039,32 @@
#define sv_uv Perl_sv_uv
#define sv_vcatpvfn Perl_sv_vcatpvfn
#define sv_vsetpvfn Perl_sv_vsetpvfn
+#define swash_fetch Perl_swash_fetch
+#define swash_init Perl_swash_init
#define taint_env Perl_taint_env
#define taint_proper Perl_taint_proper
+#define to_uni_lower Perl_to_uni_lower
+#define to_uni_lower_lc Perl_to_uni_lower_lc
+#define to_uni_title Perl_to_uni_title
+#define to_uni_title_lc Perl_to_uni_title_lc
+#define to_uni_upper Perl_to_uni_upper
+#define to_uni_upper_lc Perl_to_uni_upper_lc
+#define to_utf8_lower Perl_to_utf8_lower
+#define to_utf8_title Perl_to_utf8_title
+#define to_utf8_upper Perl_to_utf8_upper
#define too_few_arguments Perl_too_few_arguments
#define too_many_arguments Perl_too_many_arguments
#define unlnk Perl_unlnk
#define unlock_condpair Perl_unlock_condpair
#define unshare_hek Perl_unshare_hek
#define unsharepvn Perl_unsharepvn
+#define utf16_to_utf8 Perl_utf16_to_utf8
+#define utf16_to_utf8_reversed Perl_utf16_to_utf8_reversed
+#define utf8_distance Perl_utf8_distance
+#define utf8_hop Perl_utf8_hop
+#define utf8_to_uv Perl_utf8_to_uv
#define utilize Perl_utilize
+#define uv_to_utf8 Perl_uv_to_utf8
#define varies Perl_varies
#define vivify_defelem Perl_vivify_defelem
#define vivify_ref Perl_vivify_ref
diff --git a/embedvar.h b/embedvar.h
index 7a258b0cce..e1c9e9a550 100644
--- a/embedvar.h
+++ b/embedvar.h
@@ -670,6 +670,11 @@
#define PL_in_my_stash (PL_Vars.Gin_my_stash)
#define PL_last_lop (PL_Vars.Glast_lop)
#define PL_last_lop_op (PL_Vars.Glast_lop_op)
+#define PL_last_swash_hv (PL_Vars.Glast_swash_hv)
+#define PL_last_swash_key (PL_Vars.Glast_swash_key)
+#define PL_last_swash_klen (PL_Vars.Glast_swash_klen)
+#define PL_last_swash_slen (PL_Vars.Glast_swash_slen)
+#define PL_last_swash_tmps (PL_Vars.Glast_swash_tmps)
#define PL_last_uni (PL_Vars.Glast_uni)
#define PL_lex_brackets (PL_Vars.Glex_brackets)
#define PL_lex_brackstack (PL_Vars.Glex_brackstack)
@@ -737,6 +742,17 @@
#define PL_threadsv_names (PL_Vars.Gthreadsv_names)
#define PL_tokenbuf (PL_Vars.Gtokenbuf)
#define PL_uid (PL_Vars.Guid)
+#define PL_utf8_alnum (PL_Vars.Gutf8_alnum)
+#define PL_utf8_alpha (PL_Vars.Gutf8_alpha)
+#define PL_utf8_digit (PL_Vars.Gutf8_digit)
+#define PL_utf8_lower (PL_Vars.Gutf8_lower)
+#define PL_utf8_mark (PL_Vars.Gutf8_mark)
+#define PL_utf8_print (PL_Vars.Gutf8_print)
+#define PL_utf8_space (PL_Vars.Gutf8_space)
+#define PL_utf8_tolower (PL_Vars.Gutf8_tolower)
+#define PL_utf8_totitle (PL_Vars.Gutf8_totitle)
+#define PL_utf8_toupper (PL_Vars.Gutf8_toupper)
+#define PL_utf8_upper (PL_Vars.Gutf8_upper)
#define PL_xiv_arenaroot (PL_Vars.Gxiv_arenaroot)
#define PL_xiv_root (PL_Vars.Gxiv_root)
#define PL_xnv_root (PL_Vars.Gxnv_root)
@@ -780,6 +796,11 @@
#define PL_Gin_my_stash PL_in_my_stash
#define PL_Glast_lop PL_last_lop
#define PL_Glast_lop_op PL_last_lop_op
+#define PL_Glast_swash_hv PL_last_swash_hv
+#define PL_Glast_swash_key PL_last_swash_key
+#define PL_Glast_swash_klen PL_last_swash_klen
+#define PL_Glast_swash_slen PL_last_swash_slen
+#define PL_Glast_swash_tmps PL_last_swash_tmps
#define PL_Glast_uni PL_last_uni
#define PL_Glex_brackets PL_lex_brackets
#define PL_Glex_brackstack PL_lex_brackstack
@@ -847,6 +868,17 @@
#define PL_Gthreadsv_names PL_threadsv_names
#define PL_Gtokenbuf PL_tokenbuf
#define PL_Guid PL_uid
+#define PL_Gutf8_alnum PL_utf8_alnum
+#define PL_Gutf8_alpha PL_utf8_alpha
+#define PL_Gutf8_digit PL_utf8_digit
+#define PL_Gutf8_lower PL_utf8_lower
+#define PL_Gutf8_mark PL_utf8_mark
+#define PL_Gutf8_print PL_utf8_print
+#define PL_Gutf8_space PL_utf8_space
+#define PL_Gutf8_tolower PL_utf8_tolower
+#define PL_Gutf8_totitle PL_utf8_totitle
+#define PL_Gutf8_toupper PL_utf8_toupper
+#define PL_Gutf8_upper PL_utf8_upper
#define PL_Gxiv_arenaroot PL_xiv_arenaroot
#define PL_Gxiv_root PL_xiv_root
#define PL_Gxnv_root PL_xnv_root
diff --git a/global.sym b/global.sym
index 9a9ada6e7a..ac13e65c06 100644
--- a/global.sym
+++ b/global.sym
@@ -362,6 +362,31 @@ instr
intro_my
intuit_more
invert
+is_uni_alnum
+is_uni_alnum_lc
+is_uni_alpha
+is_uni_alpha_lc
+is_uni_digit
+is_uni_digit_lc
+is_uni_idfirst
+is_uni_idfirst_lc
+is_uni_lower
+is_uni_lower_lc
+is_uni_print
+is_uni_print_lc
+is_uni_space
+is_uni_space_lc
+is_uni_upper
+is_uni_upper_lc
+is_utf8_alnum
+is_utf8_alpha
+is_utf8_digit
+is_utf8_idfirst
+is_utf8_lower
+is_utf8_mark
+is_utf8_print
+is_utf8_space
+is_utf8_upper
jmaybe
keyword
leave_scope
@@ -1006,6 +1031,7 @@ sv_isa
sv_isobject
sv_iv
sv_len
+sv_len_utf8
sv_magic
sv_mortalcopy
sv_newmortal
@@ -1052,15 +1078,32 @@ sv_usepvn_mg
sv_uv
sv_vcatpvfn
sv_vsetpvfn
+swash_fetch
+swash_init
taint_env
taint_proper
+to_uni_lower
+to_uni_lower_lc
+to_uni_title
+to_uni_title_lc
+to_uni_upper
+to_uni_upper_lc
+to_utf8_lower
+to_utf8_title
+to_utf8_upper
too_few_arguments
too_many_arguments
unlnk
unlock_condpair
unshare_hek
unsharepvn
+utf16_to_utf8
+utf16_to_utf8_reversed
+utf8_distance
+utf8_hop
+utf8_to_uv
utilize
+uv_to_utf8
wait4pid
warn
watch
diff --git a/handy.h b/handy.h
index e74a3069a8..bda9d5ca28 100644
--- a/handy.h
+++ b/handy.h
@@ -238,6 +238,54 @@ typedef unsigned short U16;
# endif
#endif /* USE_NEXT_CTYPE */
+#define isALNUM_uni(c) is_uni_alnum(c)
+#define isIDFIRST_uni(c) is_uni_idfirst(c)
+#define isALPHA_uni(c) is_uni_alpha(c)
+#define isSPACE_uni(c) is_uni_space(c)
+#define isDIGIT_uni(c) is_uni_digit(c)
+#define isUPPER_uni(c) is_uni_upper(c)
+#define isLOWER_uni(c) is_uni_lower(c)
+#define isPRINT_uni(c) is_uni_print(c)
+#define toUPPER_uni(c) to_uni_upper(c)
+#define toTITLE_uni(c) to_uni_title(c)
+#define toLOWER_uni(c) to_uni_lower(c)
+
+#define isALNUM_LC_uni(c) (c < 256 ? isALNUM_LC(c) : is_uni_alnum_lc(c))
+#define isIDFIRST_LC_uni(c) (c < 256 ? isIDFIRST_LC(c) : is_uni_idfirst_lc(c))
+#define isALPHA_LC_uni(c) (c < 256 ? isALPHA_LC(c) : is_uni_alpha_lc(c))
+#define isSPACE_LC_uni(c) (c < 256 ? isSPACE_LC(c) : is_uni_space_lc(c))
+#define isDIGIT_LC_uni(c) (c < 256 ? isDIGIT_LC(c) : is_uni_digit_lc(c))
+#define isUPPER_LC_uni(c) (c < 256 ? isUPPER_LC(c) : is_uni_upper_lc(c))
+#define isLOWER_LC_uni(c) (c < 256 ? isLOWER_LC(c) : is_uni_lower_lc(c))
+#define isPRINT_LC_uni(c) (c < 256 ? isPRINT_LC(c) : is_uni_print_lc(c))
+#define toUPPER_LC_uni(c) (c < 256 ? toUPPER_LC(c) : to_uni_upper_lc(c))
+#define toTITLE_LC_uni(c) (c < 256 ? toUPPER_LC(c) : to_uni_title_lc(c))
+#define toLOWER_LC_uni(c) (c < 256 ? toLOWER_LC(c) : to_uni_lower_lc(c))
+
+#define isALNUM_utf8(p) is_utf8_alnum(p)
+#define isIDFIRST_utf8(p) is_utf8_idfirst(p)
+#define isALPHA_utf8(p) is_utf8_alpha(p)
+#define isSPACE_utf8(p) is_utf8_space(p)
+#define isDIGIT_utf8(p) is_utf8_digit(p)
+#define isUPPER_utf8(p) is_utf8_upper(p)
+#define isLOWER_utf8(p) is_utf8_lower(p)
+#define isPRINT_utf8(p) is_utf8_print(p)
+#define toUPPER_utf8(p) to_utf8_upper(p)
+#define toTITLE_utf8(p) to_utf8_title(p)
+#define toLOWER_utf8(p) to_utf8_lower(p)
+
+#define isALNUM_LC_utf8(p) isALNUM_LC_uni(utf8_to_uv(p, 0))
+#define isIDFIRST_LC_utf8(p) isIDFIRST_LC_uni(utf8_to_uv(p, 0))
+#define isALPHA_LC_utf8(p) isALPHA_LC_uni(utf8_to_uv(p, 0))
+#define isSPACE_LC_utf8(p) isSPACE_LC_uni(utf8_to_uv(p, 0))
+#define isDIGIT_LC_utf8(p) isDIGIT_LC_uni(utf8_to_uv(p, 0))
+#define isUPPER_LC_utf8(p) isUPPER_LC_uni(utf8_to_uv(p, 0))
+#define isLOWER_LC_utf8(p) isLOWER_LC_uni(utf8_to_uv(p, 0))
+#define isPRINT_LC_utf8(p) isPRINT_LC_uni(utf8_to_uv(p, 0))
+#define toUPPER_LC_utf8(p) toUPPER_LC_uni(utf8_to_uv(p, 0))
+#define toTITLE_LC_utf8(p) toTITLE_LC_uni(utf8_to_uv(p, 0))
+#define toLOWER_LC_utf8(p) toLOWER_LC_uni(utf8_to_uv(p, 0))
+
/* This conversion works both ways, strangely enough. */
#define toCTRL(c) (toUPPER(c) ^ 64)
diff --git a/lib/unicode/ArabLink.pl b/lib/unicode/ArabLink.pl
new file mode 100644
index 0000000000..ee4630eda7
--- /dev/null
+++ b/lib/unicode/ArabLink.pl
@@ -0,0 +1,31 @@
+return <<'END';
+0622 0625 R
+0626 D
+0627 R
+0628 D
+0629 R
+062a 062e D
+062f 0632 R
+0633 063a D
+0640 C
+0641 0647 D
+0648 0649 R
+064a D
+0671 U
+0672 0673 R
+0674 U
+0675 0677 R
+0678 0687 D
+0688 0699 R
+069a 06b7 D
+06ba 06be D
+06c0 R
+06c1 D
+06c2 06cb R
+06cc D
+06cd R
+06ce D
+06d0 06d1 D
+06d2 06d3 R
+06d5 U
+END
diff --git a/lib/unicode/ArabLnkGrp.pl b/lib/unicode/ArabLnkGrp.pl
new file mode 100644
index 0000000000..e107eb7829
--- /dev/null
+++ b/lib/unicode/ArabLnkGrp.pl
@@ -0,0 +1,62 @@
+return <<'END';
+0622 0623 ALEF
+0624 WAW
+0625 ALEF
+0626 YA
+0627 ALEF
+0628 BAA
+0629 TAA MARBUTAH
+062a 062b BAA
+062c 062e HAA
+062f 0630 DAL
+0631 0632 RA
+0633 0634 SEEN
+0635 0636 SAD
+0637 0638 TAH
+0639 063a AIN
+0640 <no shaping>
+0641 FA
+0642 QAF
+0643 CAF
+0644 LAM
+0645 MEEM
+0646 NOON
+0647 HA
+0648 WAW
+0649 ALEF MAQSURAH
+064a YA
+0671 <no shaping>
+0672 0673 ALEF
+0674 <no shaping>
+0675 ALEF
+0676 0677 WAW
+0678 YA
+0679 0680 BAA
+0681 0687 HAA
+0688 0690 DAL
+0691 0699 RA
+069a 069c SEEN
+069d 069e SAD
+069f TAH
+06a0 AIN
+06a1 06a6 FA
+06a7 06a8 QAF
+06a9 GAF
+06aa SWASH CAF
+06ab GAF
+06ac 06ae CAF
+06af 06b4 GAF
+06b5 06b7 LAM
+06ba 06bd NOON
+06be KNOTTED HA
+06c0 TAA MARBUTAH
+06c1 HA GOAL
+06c2 06c3 HAMZAH ON HA GOAL
+06c4 06cb WAW
+06cc YA
+06cd ALEF MAQSURAH
+06ce YA
+06d0 06d1 YA
+06d2 06d3 YA BARREE
+06d5 <no shaping>
+END
diff --git a/lib/unicode/Bidirectional.pl b/lib/unicode/Bidirectional.pl
new file mode 100644
index 0000000000..1523d505c1
--- /dev/null
+++ b/lib/unicode/Bidirectional.pl
@@ -0,0 +1,369 @@
+return <<'END';
+0000 0008 ON
+0009 S
+000a 001f ON
+0020 WS
+0021 0022 ON
+0023 0025 ET
+0026 002a ON
+002b ET
+002c CS
+002d ET
+002e CS
+002f ES
+0030 0039 EN
+003a CS
+003b 0040 ON
+0041 005a L
+005b 0060 ON
+0061 007a L
+007b 009f ON
+00a0 WS
+00a1 ON
+00a2 00a5 ET
+00a6 00af ON
+00b0 00b1 ET
+00b2 00b3 EN
+00b4 00b8 ON
+00b9 EN
+00ba 00bf ON
+00c0 00d6 L
+00d7 ON
+00d8 00f6 L
+00f7 ON
+00f8 01f5 L
+01fa 0217 L
+0250 02a8 L
+02b0 02de L
+02e0 02e9 L
+0300 0345 L
+0360 0361 L
+0374 0375 L
+037a L
+037e L
+0384 038a L
+038c L
+038e 03a1 L
+03a3 03ce L
+03d0 03d6 L
+03da L
+03dc L
+03de L
+03e0 L
+03e2 03f3 L
+0401 040c L
+040e 044f L
+0451 045c L
+045e 0486 L
+0490 04c4 L
+04c7 04c8 L
+04cb 04cc L
+04d0 04eb L
+04ee 04f5 L
+04f8 04f9 L
+0531 0556 L
+0559 055f L
+0561 0587 L
+0589 L
+0591 05a1 R
+05a3 05b9 R
+05bb 05c4 R
+05d0 05ea R
+05f0 05f4 R
+060c R
+061b R
+061f R
+0621 063a R
+0640 0652 R
+0660 0669 AN
+066a ET
+066b 066c AN
+066d R
+0670 06b7 R
+06ba 06be R
+06c0 06ce R
+06d0 06ed R
+06f0 06f9 EN
+0901 0903 L
+0905 0939 L
+093c 094d L
+0950 0954 L
+0958 0970 L
+0981 0983 L
+0985 098c L
+098f 0990 L
+0993 09a8 L
+09aa 09b0 L
+09b2 L
+09b6 09b9 L
+09bc L
+09be 09c4 L
+09c7 09c8 L
+09cb 09cd L
+09d7 L
+09dc 09dd L
+09df 09e3 L
+09e6 09fa L
+0a02 L
+0a05 0a0a L
+0a0f 0a10 L
+0a13 0a28 L
+0a2a 0a30 L
+0a32 0a33 L
+0a35 0a36 L
+0a38 0a39 L
+0a3c L
+0a3e 0a42 L
+0a47 0a48 L
+0a4b 0a4d L
+0a59 0a5c L
+0a5e L
+0a66 0a74 L
+0a81 0a83 L
+0a85 0a8b L
+0a8d L
+0a8f 0a91 L
+0a93 0aa8 L
+0aaa 0ab0 L
+0ab2 0ab3 L
+0ab5 0ab9 L
+0abc 0ac5 L
+0ac7 0ac9 L
+0acb 0acd L
+0ad0 L
+0ae0 L
+0ae6 0aef L
+0b01 0b03 L
+0b05 0b0c L
+0b0f 0b10 L
+0b13 0b28 L
+0b2a 0b30 L
+0b32 0b33 L
+0b36 0b39 L
+0b3c 0b43 L
+0b47 0b48 L
+0b4b 0b4d L
+0b56 0b57 L
+0b5c 0b5d L
+0b5f 0b61 L
+0b66 0b70 L
+0b82 0b83 L
+0b85 0b8a L
+0b8e 0b90 L
+0b92 0b95 L
+0b99 0b9a L
+0b9c L
+0b9e 0b9f L
+0ba3 0ba4 L
+0ba8 0baa L
+0bae 0bb5 L
+0bb7 0bb9 L
+0bbe 0bc2 L
+0bc6 0bc8 L
+0bca 0bcd L
+0bd7 L
+0be7 0bf2 L
+0c01 0c03 L
+0c05 0c0c L
+0c0e 0c10 L
+0c12 0c28 L
+0c2a 0c33 L
+0c35 0c39 L
+0c3e 0c44 L
+0c46 0c48 L
+0c4a 0c4d L
+0c55 0c56 L
+0c60 0c61 L
+0c66 0c6f L
+0c82 0c83 L
+0c85 0c8c L
+0c8e 0c90 L
+0c92 0ca8 L
+0caa 0cb3 L
+0cb5 0cb9 L
+0cbe 0cc4 L
+0cc6 0cc8 L
+0cca 0ccd L
+0cd5 0cd6 L
+0cde L
+0ce0 0ce1 L
+0ce6 0cef L
+0d02 0d03 L
+0d05 0d0c L
+0d0e 0d10 L
+0d12 0d28 L
+0d2a 0d39 L
+0d3e 0d43 L
+0d46 0d48 L
+0d4a 0d4d L
+0d57 L
+0d60 0d61 L
+0d66 0d6f L
+0e01 0e3a L
+0e3f 0e5b L
+0e81 0e82 L
+0e84 L
+0e87 0e88 L
+0e8a L
+0e8d L
+0e94 0e97 L
+0e99 0e9f L
+0ea1 0ea3 L
+0ea5 L
+0ea7 L
+0eaa 0eab L
+0ead 0eb9 L
+0ebb 0ebd L
+0ec0 0ec4 L
+0ec6 L
+0ec8 0ecd L
+0ed0 0ed9 L
+0edc 0edd L
+0f00 0f47 L
+0f49 0f69 L
+0f71 0f8b L
+0f90 0f95 L
+0f97 L
+0f99 0fad L
+0fb1 0fb7 L
+0fb9 L
+10a0 10c5 L
+10d0 10f6 L
+10fb L
+1100 1159 L
+115f 11a2 L
+11a8 11f9 L
+1e00 1e9b L
+1ea0 1ef9 L
+1f00 1f15 L
+1f18 1f1d L
+1f20 1f45 L
+1f48 1f4d L
+1f50 1f57 L
+1f59 L
+1f5b L
+1f5d L
+1f5f 1f7d L
+1f80 1fb4 L
+1fb6 1fc4 L
+1fc6 1fd3 L
+1fd6 1fdb L
+1fdd 1fef L
+1ff2 1ff4 L
+1ff6 1ffe L
+2000 2006 WS
+2007 CS
+2008 200b WS
+200c 200d ON
+200e L
+200f R
+2010 2027 ON
+2028 2029 B
+202a 202e ON
+2030 2034 ET
+2035 2046 ON
+206a 206f ON
+2070 EN
+2074 2079 EN
+207a 207b ET
+207c 207f ON
+2080 2089 EN
+208a 208b ET
+208c 208e ON
+20a0 20ac ET
+20d0 20e1 L
+2100 2138 ON
+2153 215f ON
+2160 2182 L
+2190 21ea ON
+2200 2211 ON
+2212 2213 ET
+2214 22f1 ON
+2300 ON
+2302 2335 ON
+2336 237a L
+2400 2424 ON
+2440 244a ON
+2460 24ea ON
+2500 2595 ON
+25a0 25ef ON
+2600 2613 ON
+261a 266f ON
+2701 2704 ON
+2706 2709 ON
+270c 2727 ON
+2729 274b ON
+274d ON
+274f 2752 ON
+2756 ON
+2758 275e ON
+2761 2767 ON
+2776 2794 ON
+2798 27af ON
+27b1 27be ON
+3000 WS
+3001 3020 ON
+3021 302f L
+3030 3037 ON
+303f ON
+3041 3094 L
+3099 309e L
+30a1 30fe L
+3105 312c L
+3131 318e L
+3190 319f L
+3200 321c L
+3220 3243 L
+3260 327b L
+327f 32b0 L
+32c0 32cb L
+32d0 32fe L
+3300 3376 L
+337b 33dd L
+33e0 33fe L
+4e00 9fa5 L
+ac00 d7a3 L
+d800 db7f L
+db80 dbff L
+dc00 dfff L
+e000 f8ff L
+f900 fa2d L
+fb00 fb06 L
+fb13 fb17 L
+fb1e fb36 R
+fb38 fb3c R
+fb3e R
+fb40 fb41 R
+fb43 fb44 R
+fb46 fbb1 R
+fbd3 fd3d R
+fd3e fd3f ON
+fd50 fd8f R
+fd92 fdc7 R
+fdf0 fdfb R
+fe20 fe23 ON
+fe30 fe44 ON
+fe49 fe52 ON
+fe54 fe66 ON
+fe68 fe6b ON
+fe70 fe72 R
+fe74 R
+fe76 fefc R
+feff ON
+ff01 ff0f ON
+ff10 ff19 EN
+ff1a ff20 ON
+ff21 ff3a L
+ff3b ff40 ON
+ff41 ff5a L
+ff5b ff5e ON
+ff61 ff64 ON
+ff65 ffbe L
+ffc2 ffc7 L
+ffca ffcf L
+ffd2 ffd7 L
+ffda ffdc L
+ffe0 ffe6 ON
+ffe8 ffee ON
+fffc fffd ON
+END
diff --git a/lib/unicode/Block.pl b/lib/unicode/Block.pl
new file mode 100644
index 0000000000..1c0b280f4c
--- /dev/null
+++ b/lib/unicode/Block.pl
@@ -0,0 +1,71 @@
+return <<'END';
+0000 007F Basic Latin
+0080 00FF Latin-1 Supplement
+0100 017F Latin Extended-A
+0180 024F Latin Extended-B
+0250 02AF IPA Extensions
+02B0 02FF Spacing Modifier Letters
+0300 036F Combining Diacritical Marks
+0370 03FF Greek
+0400 04FF Cyrillic
+0530 058F Armenian
+0590 05FF Hebrew
+0600 06FF Arabic
+0900 097F Devanagari
+0980 09FF Bengali
+0A00 0A7F Gurmukhi
+0A80 0AFF Gujarati
+0B00 0B7F Oriya
+0B80 0BFF Tamil
+0C00 0C7F Telugu
+0C80 0CFF Kannada
+0D00 0D7F Malayalam
+0E00 0E7F Thai
+0E80 0EFF Lao
+0F00 0FBF Tibetan
+10A0 10FF Georgian
+1100 11FF Hangul Jamo
+1E00 1EFF Latin Extended Additional
+1F00 1FFF Greek Extended
+2000 206F General Punctuation
+2070 209F Superscripts and Subscripts
+20A0 20CF Currency Symbols
+20D0 20FF Combining Marks for Symbols
+2100 214F Letterlike Symbols
+2150 218F Number Forms
+2190 21FF Arrows
+2200 22FF Mathematical Operators
+2300 23FF Miscellaneous Technical
+2400 243F Control Pictures
+2440 245F Optical Character Recognition
+2460 24FF Enclosed Alphanumerics
+2500 257F Box Drawing
+2580 259F Block Elements
+25A0 25FF Geometric Shapes
+2600 26FF Miscellaneous Symbols
+2700 27BF Dingbats
+3000 303F CJK Symbols and Punctuation
+3040 309F Hiragana
+30A0 30FF Katakana
+3100 312F Bopomofo
+3130 318F Hangul Compatibility Jamo
+3190 319F Kanbun
+3200 32FF Enclosed CJK Letters and Months
+3300 33FF CJK Compatibility
+4E00 9FFF CJK Unified Ideographs
+AC00 D7A3 Hangul Syllables
+D800 DB7F High Surrogates
+DB80 DBFF High Private Use Surrogates
+DC00 DFFF Low Surrogates
+E000 F8FF Private Use
+F900 FAFF CJK Compatibility Ideographs
+FB00 FB4F Alphabetic Presentation Forms
+FB50 FDFF Arabic Presentation Forms-A
+FE20 FE2F Combining Half Marks
+FE30 FE4F CJK Compatibility Forms
+FE50 FE6F Small Form Variants
+FE70 FEFF Arabic Presentation Forms-B
+FF00 FFEF Halfwidth and Fullwidth Forms
+FEFF FEFF Specials
+FFF0 FFFF Specials
+END
diff --git a/lib/unicode/Category.pl b/lib/unicode/Category.pl
new file mode 100644
index 0000000000..18d6ab5aea
--- /dev/null
+++ b/lib/unicode/Category.pl
@@ -0,0 +1,1326 @@
+return <<'END';
+0000 001f Cc
+0020 Zs
+0021 0023 Po
+0024 Sc
+0025 0027 Po
+0028 Ps
+0029 Pe
+002a Po
+002b Sm
+002c Po
+002d Pd
+002e 002f Po
+0030 0039 Nd
+003a 003b Po
+003c 003e Sm
+003f 0040 Po
+0041 005a Lu
+005b Ps
+005c Po
+005d Pe
+005e Sk
+005f Pc
+0060 Sk
+0061 007a Ll
+007b Ps
+007c Sm
+007d Pe
+007e Sm
+007f 009f Cc
+00a0 Zs
+00a1 Po
+00a2 00a5 Sc
+00a6 00a7 So
+00a8 Sk
+00a9 So
+00aa Ll
+00ab Ps
+00ac Sm
+00ad Pd
+00ae So
+00af Sk
+00b0 So
+00b1 Sm
+00b2 00b3 No
+00b4 Sk
+00b5 Ll
+00b6 So
+00b7 Po
+00b8 Sk
+00b9 No
+00ba Ll
+00bb Pe
+00bc 00be No
+00bf Po
+00c0 00d6 Lu
+00d7 Sm
+00d8 00de Lu
+00df 00f6 Ll
+00f7 Sm
+00f8 00ff Ll
+0100 Lu
+0101 Ll
+0102 Lu
+0103 Ll
+0104 Lu
+0105 Ll
+0106 Lu
+0107 Ll
+0108 Lu
+0109 Ll
+010a Lu
+010b Ll
+010c Lu
+010d Ll
+010e Lu
+010f Ll
+0110 Lu
+0111 Ll
+0112 Lu
+0113 Ll
+0114 Lu
+0115 Ll
+0116 Lu
+0117 Ll
+0118 Lu
+0119 Ll
+011a Lu
+011b Ll
+011c Lu
+011d Ll
+011e Lu
+011f Ll
+0120 Lu
+0121 Ll
+0122 Lu
+0123 Ll
+0124 Lu
+0125 Ll
+0126 Lu
+0127 Ll
+0128 Lu
+0129 Ll
+012a Lu
+012b Ll
+012c Lu
+012d Ll
+012e Lu
+012f Ll
+0130 Lu
+0131 Ll
+0132 Lu
+0133 Ll
+0134 Lu
+0135 Ll
+0136 Lu
+0137 0138 Ll
+0139 Lu
+013a Ll
+013b Lu
+013c Ll
+013d Lu
+013e Ll
+013f Lu
+0140 Ll
+0141 Lu
+0142 Ll
+0143 Lu
+0144 Ll
+0145 Lu
+0146 Ll
+0147 Lu
+0148 0149 Ll
+014a Lu
+014b Ll
+014c Lu
+014d Ll
+014e Lu
+014f Ll
+0150 Lu
+0151 Ll
+0152 Lu
+0153 Ll
+0154 Lu
+0155 Ll
+0156 Lu
+0157 Ll
+0158 Lu
+0159 Ll
+015a Lu
+015b Ll
+015c Lu
+015d Ll
+015e Lu
+015f Ll
+0160 Lu
+0161 Ll
+0162 Lu
+0163 Ll
+0164 Lu
+0165 Ll
+0166 Lu
+0167 Ll
+0168 Lu
+0169 Ll
+016a Lu
+016b Ll
+016c Lu
+016d Ll
+016e Lu
+016f Ll
+0170 Lu
+0171 Ll
+0172 Lu
+0173 Ll
+0174 Lu
+0175 Ll
+0176 Lu
+0177 Ll
+0178 0179 Lu
+017a Ll
+017b Lu
+017c Ll
+017d Lu
+017e 0180 Ll
+0181 0182 Lu
+0183 Ll
+0184 Lu
+0185 Ll
+0186 0187 Lu
+0188 Ll
+0189 018b Lu
+018c 018d Ll
+018e 0191 Lu
+0192 Ll
+0193 0194 Lu
+0195 Ll
+0196 0198 Lu
+0199 019b Ll
+019c 019d Lu
+019e Ll
+019f 01a0 Lu
+01a1 Ll
+01a2 Lu
+01a3 Ll
+01a4 Lu
+01a5 Ll
+01a6 01a7 Lu
+01a8 Ll
+01a9 Lu
+01aa Lo
+01ab Ll
+01ac Lu
+01ad Ll
+01ae 01af Lu
+01b0 Ll
+01b1 01b3 Lu
+01b4 Ll
+01b5 Lu
+01b6 Ll
+01b7 01b8 Lu
+01b9 01ba Ll
+01bb Lo
+01bc Lu
+01bd Ll
+01be 01c3 Lo
+01c4 Lu
+01c5 Lt
+01c6 Ll
+01c7 Lu
+01c8 Lt
+01c9 Ll
+01ca Lu
+01cb Lt
+01cc Ll
+01cd Lu
+01ce Ll
+01cf Lu
+01d0 Ll
+01d1 Lu
+01d2 Ll
+01d3 Lu
+01d4 Ll
+01d5 Lu
+01d6 Ll
+01d7 Lu
+01d8 Ll
+01d9 Lu
+01da Ll
+01db Lu
+01dc 01dd Ll
+01de Lu
+01df Ll
+01e0 Lu
+01e1 Ll
+01e2 Lu
+01e3 Ll
+01e4 Lu
+01e5 Ll
+01e6 Lu
+01e7 Ll
+01e8 Lu
+01e9 Ll
+01ea Lu
+01eb Ll
+01ec Lu
+01ed Ll
+01ee Lu
+01ef 01f0 Ll
+01f1 Lu
+01f2 Lt
+01f3 Ll
+01f4 Lu
+01f5 Ll
+01fa Lu
+01fb Ll
+01fc Lu
+01fd Ll
+01fe Lu
+01ff Ll
+0200 Lu
+0201 Ll
+0202 Lu
+0203 Ll
+0204 Lu
+0205 Ll
+0206 Lu
+0207 Ll
+0208 Lu
+0209 Ll
+020a Lu
+020b Ll
+020c Lu
+020d Ll
+020e Lu
+020f Ll
+0210 Lu
+0211 Ll
+0212 Lu
+0213 Ll
+0214 Lu
+0215 Ll
+0216 Lu
+0217 Ll
+0250 02a8 Ll
+02b0 02b8 Lm
+02b9 02ba Sk
+02bb 02c1 Lm
+02c2 02cf Sk
+02d0 02d1 Lm
+02d2 02de Sk
+02e0 02e4 Lm
+02e5 02e9 Sk
+0300 0345 Mn
+0360 0361 Mn
+0374 0375 Po
+037a Lm
+037e Po
+0384 0385 Sk
+0386 Lu
+0387 Po
+0388 038a Lu
+038c Lu
+038e 038f Lu
+0390 Ll
+0391 03a1 Lu
+03a3 03ab Lu
+03ac 03ce Ll
+03d0 03d1 Ll
+03d2 03d4 Lu
+03d5 03d6 Ll
+03da Lu
+03dc Lu
+03de Lu
+03e0 Lu
+03e2 Lu
+03e3 Ll
+03e4 Lu
+03e5 Ll
+03e6 Lu
+03e7 Ll
+03e8 Lu
+03e9 Ll
+03ea Lu
+03eb Ll
+03ec Lu
+03ed Ll
+03ee Lu
+03ef 03f2 Ll
+03f3 Lo
+0401 040c Lu
+040e 042f Lu
+0430 044f Ll
+0451 045c Ll
+045e 045f Ll
+0460 Lu
+0461 Ll
+0462 Lu
+0463 Ll
+0464 Lu
+0465 Ll
+0466 Lu
+0467 Ll
+0468 Lu
+0469 Ll
+046a Lu
+046b Ll
+046c Lu
+046d Ll
+046e Lu
+046f Ll
+0470 Lu
+0471 Ll
+0472 Lu
+0473 Ll
+0474 Lu
+0475 Ll
+0476 Lu
+0477 Ll
+0478 Lu
+0479 Ll
+047a Lu
+047b Ll
+047c Lu
+047d Ll
+047e Lu
+047f Ll
+0480 Lu
+0481 Ll
+0482 So
+0483 0486 Mn
+0490 Lu
+0491 Ll
+0492 Lu
+0493 Ll
+0494 Lu
+0495 Ll
+0496 Lu
+0497 Ll
+0498 Lu
+0499 Ll
+049a Lu
+049b Ll
+049c Lu
+049d Ll
+049e Lu
+049f Ll
+04a0 Lu
+04a1 Ll
+04a2 Lu
+04a3 Ll
+04a4 Lu
+04a5 Ll
+04a6 Lu
+04a7 Ll
+04a8 Lu
+04a9 Ll
+04aa Lu
+04ab Ll
+04ac Lu
+04ad Ll
+04ae Lu
+04af Ll
+04b0 Lu
+04b1 Ll
+04b2 Lu
+04b3 Ll
+04b4 Lu
+04b5 Ll
+04b6 Lu
+04b7 Ll
+04b8 Lu
+04b9 Ll
+04ba Lu
+04bb Ll
+04bc Lu
+04bd Ll
+04be Lu
+04bf Ll
+04c0 Lo
+04c1 Lu
+04c2 Ll
+04c3 Lu
+04c4 Ll
+04c7 Lu
+04c8 Ll
+04cb Lu
+04cc Ll
+04d0 Lu
+04d1 Ll
+04d2 Lu
+04d3 Ll
+04d4 Lu
+04d5 Ll
+04d6 Lu
+04d7 Ll
+04d8 Lu
+04d9 Ll
+04da Lu
+04db Ll
+04dc Lu
+04dd Ll
+04de Lu
+04df Ll
+04e0 Lu
+04e1 Ll
+04e2 Lu
+04e3 Ll
+04e4 Lu
+04e5 Ll
+04e6 Lu
+04e7 Ll
+04e8 Lu
+04e9 Ll
+04ea Lu
+04eb Ll
+04ee Lu
+04ef Ll
+04f0 Lu
+04f1 Ll
+04f2 Lu
+04f3 Ll
+04f4 Lu
+04f5 Ll
+04f8 Lu
+04f9 Ll
+0531 0556 Lu
+0559 Lm
+055a 055f Po
+0561 0587 Ll
+0589 Po
+0591 05a1 Mn
+05a3 05b9 Mn
+05bb 05bd Mn
+05be Po
+05bf Mn
+05c0 Po
+05c1 05c2 Mn
+05c3 Po
+05c4 Mn
+05d0 05ea Lo
+05f0 05f2 Lo
+05f3 05f4 Po
+060c Po
+061b Po
+061f Po
+0621 063a Lo
+0640 Lm
+0641 064a Lo
+064b 0652 Mn
+0660 0669 Nd
+066a 066d Po
+0670 Mn
+0671 06b7 Lo
+06ba 06be Lo
+06c0 06ce Lo
+06d0 06d3 Lo
+06d4 Po
+06d5 Lo
+06d6 06dc Mn
+06dd 06de Me
+06df 06e4 Mn
+06e5 06e6 Lm
+06e7 06e8 Mn
+06e9 So
+06ea 06ed Mn
+06f0 06f9 Nd
+0901 0902 Mn
+0903 Mc
+0905 0939 Lo
+093c Mn
+093d Lo
+093e 0940 Mc
+0941 0948 Mn
+0949 094c Mc
+094d Mn
+0950 So
+0951 0954 Mn
+0958 0961 Lo
+0962 0963 Mn
+0964 0965 Po
+0966 096f Nd
+0970 Po
+0981 Mn
+0982 0983 Mc
+0985 098c Lo
+098f 0990 Lo
+0993 09a8 Lo
+09aa 09b0 Lo
+09b2 Lo
+09b6 09b9 Lo
+09bc Mn
+09be 09c0 Mc
+09c1 09c4 Mn
+09c7 09c8 Mc
+09cb 09cc Mc
+09cd Mn
+09d7 Mc
+09dc 09dd Lo
+09df 09e1 Lo
+09e2 09e3 Mn
+09e6 09ef Nd
+09f0 09f1 Lo
+09f2 09f3 Sc
+09f4 09f9 No
+09fa So
+0a02 Mn
+0a05 0a0a Lo
+0a0f 0a10 Lo
+0a13 0a28 Lo
+0a2a 0a30 Lo
+0a32 0a33 Lo
+0a35 0a36 Lo
+0a38 0a39 Lo
+0a3c Mn
+0a3e 0a40 Mc
+0a41 0a42 Mn
+0a47 0a48 Mn
+0a4b 0a4d Mn
+0a59 0a5c Lo
+0a5e Lo
+0a66 0a6f Nd
+0a70 0a71 Mn
+0a72 0a74 Lo
+0a81 0a82 Mn
+0a83 Mc
+0a85 0a8b Lo
+0a8d Lo
+0a8f 0a91 Lo
+0a93 0aa8 Lo
+0aaa 0ab0 Lo
+0ab2 0ab3 Lo
+0ab5 0ab9 Lo
+0abc Mn
+0abd Lo
+0abe 0ac0 Mc
+0ac1 0ac5 Mn
+0ac7 0ac8 Mn
+0ac9 Mc
+0acb 0acc Mc
+0acd Mn
+0ad0 So
+0ae0 Lo
+0ae6 0aef Nd
+0b01 Mn
+0b02 0b03 Mc
+0b05 0b0c Lo
+0b0f 0b10 Lo
+0b13 0b28 Lo
+0b2a 0b30 Lo
+0b32 0b33 Lo
+0b36 0b39 Lo
+0b3c Mn
+0b3d Lo
+0b3e Mc
+0b3f Mn
+0b40 Mc
+0b41 0b43 Mn
+0b47 0b48 Mc
+0b4b 0b4c Mc
+0b4d Mn
+0b56 Mn
+0b57 Mc
+0b5c 0b5d Lo
+0b5f 0b61 Lo
+0b66 0b6f Nd
+0b70 So
+0b82 Mn
+0b83 Mc
+0b85 0b8a Lo
+0b8e 0b90 Lo
+0b92 0b95 Lo
+0b99 0b9a Lo
+0b9c Lo
+0b9e 0b9f Lo
+0ba3 0ba4 Lo
+0ba8 0baa Lo
+0bae 0bb5 Lo
+0bb7 0bb9 Lo
+0bbe 0bbf Mc
+0bc0 Mn
+0bc1 0bc2 Mc
+0bc6 0bc8 Mc
+0bca 0bcc Mc
+0bcd Mn
+0bd7 Mc
+0be7 0bef Nd
+0bf0 0bf2 No
+0c01 0c03 Mc
+0c05 0c0c Lo
+0c0e 0c10 Lo
+0c12 0c28 Lo
+0c2a 0c33 Lo
+0c35 0c39 Lo
+0c3e 0c40 Mn
+0c41 0c44 Mc
+0c46 0c48 Mn
+0c4a 0c4d Mn
+0c55 0c56 Mn
+0c60 0c61 Lo
+0c66 0c6f Nd
+0c82 0c83 Mc
+0c85 0c8c Lo
+0c8e 0c90 Lo
+0c92 0ca8 Lo
+0caa 0cb3 Lo
+0cb5 0cb9 Lo
+0cbe Mc
+0cbf Mn
+0cc0 0cc4 Mc
+0cc6 Mn
+0cc7 0cc8 Mc
+0cca 0ccb Mc
+0ccc 0ccd Mn
+0cd5 0cd6 Mc
+0cde Lo
+0ce0 0ce1 Lo
+0ce6 0cef Nd
+0d02 0d03 Mc
+0d05 0d0c Lo
+0d0e 0d10 Lo
+0d12 0d28 Lo
+0d2a 0d39 Lo
+0d3e 0d40 Mc
+0d41 0d43 Mn
+0d46 0d48 Mc
+0d4a 0d4c Mc
+0d4d Mn
+0d57 Mc
+0d60 0d61 Lo
+0d66 0d6f Nd
+0e01 0e2e Lo
+0e2f Po
+0e30 Lo
+0e31 Mn
+0e32 0e33 Lo
+0e34 0e3a Mn
+0e3f Sc
+0e40 0e45 Lo
+0e46 Lm
+0e47 0e4e Mn
+0e4f So
+0e50 0e59 Nd
+0e5a 0e5b Po
+0e81 0e82 Lo
+0e84 Lo
+0e87 0e88 Lo
+0e8a Lo
+0e8d Lo
+0e94 0e97 Lo
+0e99 0e9f Lo
+0ea1 0ea3 Lo
+0ea5 Lo
+0ea7 Lo
+0eaa 0eab Lo
+0ead 0eae Lo
+0eaf Po
+0eb0 Lo
+0eb1 Mn
+0eb2 0eb3 Lo
+0eb4 0eb9 Mn
+0ebb 0ebc Mn
+0ebd Lo
+0ec0 0ec4 Lo
+0ec6 Lm
+0ec8 0ecd Mn
+0ed0 0ed9 Nd
+0edc 0edd Lo
+0f00 0f03 So
+0f04 0f12 Po
+0f13 0f17 So
+0f18 0f19 Mn
+0f1a 0f1f So
+0f20 0f29 Nd
+0f2a 0f33 No
+0f34 So
+0f35 Mn
+0f36 So
+0f37 Mn
+0f38 So
+0f39 Mn
+0f3a Ps
+0f3b Pe
+0f3c Ps
+0f3d Pe
+0f3e 0f3f Mc
+0f40 0f47 Lo
+0f49 0f69 Lo
+0f71 0f7e Mn
+0f7f Mc
+0f80 0f84 Mn
+0f85 Po
+0f86 0f8b Mn
+0f90 0f95 Mn
+0f97 Mn
+0f99 0fad Mn
+0fb1 0fb7 Mn
+0fb9 Mn
+10a0 10c5 Lu
+10d0 10f6 Ll
+10fb Po
+1100 1159 Lo
+115f 11a2 Lo
+11a8 11f9 Lo
+1e00 Lu
+1e01 Ll
+1e02 Lu
+1e03 Ll
+1e04 Lu
+1e05 Ll
+1e06 Lu
+1e07 Ll
+1e08 Lu
+1e09 Ll
+1e0a Lu
+1e0b Ll
+1e0c Lu
+1e0d Ll
+1e0e Lu
+1e0f Ll
+1e10 Lu
+1e11 Ll
+1e12 Lu
+1e13 Ll
+1e14 Lu
+1e15 Ll
+1e16 Lu
+1e17 Ll
+1e18 Lu
+1e19 Ll
+1e1a Lu
+1e1b Ll
+1e1c Lu
+1e1d Ll
+1e1e Lu
+1e1f Ll
+1e20 Lu
+1e21 Ll
+1e22 Lu
+1e23 Ll
+1e24 Lu
+1e25 Ll
+1e26 Lu
+1e27 Ll
+1e28 Lu
+1e29 Ll
+1e2a Lu
+1e2b Ll
+1e2c Lu
+1e2d Ll
+1e2e Lu
+1e2f Ll
+1e30 Lu
+1e31 Ll
+1e32 Lu
+1e33 Ll
+1e34 Lu
+1e35 Ll
+1e36 Lu
+1e37 Ll
+1e38 Lu
+1e39 Ll
+1e3a Lu
+1e3b Ll
+1e3c Lu
+1e3d Ll
+1e3e Lu
+1e3f Ll
+1e40 Lu
+1e41 Ll
+1e42 Lu
+1e43 Ll
+1e44 Lu
+1e45 Ll
+1e46 Lu
+1e47 Ll
+1e48 Lu
+1e49 Ll
+1e4a Lu
+1e4b Ll
+1e4c Lu
+1e4d Ll
+1e4e Lu
+1e4f Ll
+1e50 Lu
+1e51 Ll
+1e52 Lu
+1e53 Ll
+1e54 Lu
+1e55 Ll
+1e56 Lu
+1e57 Ll
+1e58 Lu
+1e59 Ll
+1e5a Lu
+1e5b Ll
+1e5c Lu
+1e5d Ll
+1e5e Lu
+1e5f Ll
+1e60 Lu
+1e61 Ll
+1e62 Lu
+1e63 Ll
+1e64 Lu
+1e65 Ll
+1e66 Lu
+1e67 Ll
+1e68 Lu
+1e69 Ll
+1e6a Lu
+1e6b Ll
+1e6c Lu
+1e6d Ll
+1e6e Lu
+1e6f Ll
+1e70 Lu
+1e71 Ll
+1e72 Lu
+1e73 Ll
+1e74 Lu
+1e75 Ll
+1e76 Lu
+1e77 Ll
+1e78 Lu
+1e79 Ll
+1e7a Lu
+1e7b Ll
+1e7c Lu
+1e7d Ll
+1e7e Lu
+1e7f Ll
+1e80 Lu
+1e81 Ll
+1e82 Lu
+1e83 Ll
+1e84 Lu
+1e85 Ll
+1e86 Lu
+1e87 Ll
+1e88 Lu
+1e89 Ll
+1e8a Lu
+1e8b Ll
+1e8c Lu
+1e8d Ll
+1e8e Lu
+1e8f Ll
+1e90 Lu
+1e91 Ll
+1e92 Lu
+1e93 Ll
+1e94 Lu
+1e95 1e9b Ll
+1ea0 Lu
+1ea1 Ll
+1ea2 Lu
+1ea3 Ll
+1ea4 Lu
+1ea5 Ll
+1ea6 Lu
+1ea7 Ll
+1ea8 Lu
+1ea9 Ll
+1eaa Lu
+1eab Ll
+1eac Lu
+1ead Ll
+1eae Lu
+1eaf Ll
+1eb0 Lu
+1eb1 Ll
+1eb2 Lu
+1eb3 Ll
+1eb4 Lu
+1eb5 Ll
+1eb6 Lu
+1eb7 Ll
+1eb8 Lu
+1eb9 Ll
+1eba Lu
+1ebb Ll
+1ebc Lu
+1ebd Ll
+1ebe Lu
+1ebf Ll
+1ec0 Lu
+1ec1 Ll
+1ec2 Lu
+1ec3 Ll
+1ec4 Lu
+1ec5 Ll
+1ec6 Lu
+1ec7 Ll
+1ec8 Lu
+1ec9 Ll
+1eca Lu
+1ecb Ll
+1ecc Lu
+1ecd Ll
+1ece Lu
+1ecf Ll
+1ed0 Lu
+1ed1 Ll
+1ed2 Lu
+1ed3 Ll
+1ed4 Lu
+1ed5 Ll
+1ed6 Lu
+1ed7 Ll
+1ed8 Lu
+1ed9 Ll
+1eda Lu
+1edb Ll
+1edc Lu
+1edd Ll
+1ede Lu
+1edf Ll
+1ee0 Lu
+1ee1 Ll
+1ee2 Lu
+1ee3 Ll
+1ee4 Lu
+1ee5 Ll
+1ee6 Lu
+1ee7 Ll
+1ee8 Lu
+1ee9 Ll
+1eea Lu
+1eeb Ll
+1eec Lu
+1eed Ll
+1eee Lu
+1eef Ll
+1ef0 Lu
+1ef1 Ll
+1ef2 Lu
+1ef3 Ll
+1ef4 Lu
+1ef5 Ll
+1ef6 Lu
+1ef7 Ll
+1ef8 Lu
+1ef9 Ll
+1f00 1f07 Ll
+1f08 1f0f Lu
+1f10 1f15 Ll
+1f18 1f1d Lu
+1f20 1f27 Ll
+1f28 1f2f Lu
+1f30 1f37 Ll
+1f38 1f3f Lu
+1f40 1f45 Ll
+1f48 1f4d Lu
+1f50 1f57 Ll
+1f59 Lu
+1f5b Lu
+1f5d Lu
+1f5f Lu
+1f60 1f67 Ll
+1f68 1f6f Lu
+1f70 1f7d Ll
+1f80 1f87 Ll
+1f88 1f8f Lu
+1f90 1f97 Ll
+1f98 1f9f Lu
+1fa0 1fa7 Ll
+1fa8 1faf Lu
+1fb0 1fb4 Ll
+1fb6 1fb7 Ll
+1fb8 1fbc Lu
+1fbd Sk
+1fbe Lu
+1fbf 1fc1 Sk
+1fc2 1fc4 Ll
+1fc6 1fc7 Ll
+1fc8 1fcc Lu
+1fcd 1fcf Sk
+1fd0 1fd3 Ll
+1fd6 1fd7 Ll
+1fd8 1fdb Lu
+1fdd 1fdf Sk
+1fe0 1fe7 Ll
+1fe8 1fec Lu
+1fed 1fef Sk
+1ff2 1ff4 Ll
+1ff6 1ff7 Ll
+1ff8 1ffc Lu
+1ffd 1ffe Sk
+2000 200b Zs
+200c 200f Cf
+2010 2015 Pd
+2016 2017 Po
+2018 Ps
+2019 Pe
+201a 201c Ps
+201d Pe
+201e 201f Ps
+2020 2027 Po
+2028 Zl
+2029 Zp
+202a 202e Cf
+2030 2038 Po
+2039 Ps
+203a Pe
+203b 203e Po
+203f 2040 Pc
+2041 2043 Po
+2044 Sm
+2045 Ps
+2046 Pe
+206a 206f Cf
+2070 No
+2074 2079 No
+207a 207c Sm
+207d Ps
+207e Pe
+207f Ll
+2080 2089 No
+208a 208c Sm
+208d Ps
+208e Pe
+20a0 20ac Sc
+20d0 20dc Mn
+20dd 20e0 Me
+20e1 Mn
+2100 2101 So
+2102 Lu
+2103 2106 So
+2107 Lu
+2108 2109 So
+210a Ll
+210b 210d Lu
+210e 210f Ll
+2110 2112 Lu
+2113 Ll
+2114 So
+2115 Lu
+2116 2117 So
+2118 211d Lu
+211e 2123 So
+2124 Lu
+2125 So
+2126 Lu
+2127 So
+2128 Lu
+2129 So
+212a 212d Lu
+212e 212f Ll
+2130 2131 Lu
+2132 So
+2133 Lu
+2134 Ll
+2135 2138 Lo
+2153 215f No
+2160 2182 Nl
+2190 2194 Sm
+2195 21d1 So
+21d2 Sm
+21d3 So
+21d4 Sm
+21d5 21ea So
+2200 22f1 Sm
+2300 So
+2302 2307 So
+2308 230b Sm
+230c 231f So
+2320 2321 Sm
+2322 2328 So
+2329 Ps
+232a Pe
+232b 237a So
+2400 2424 So
+2440 244a So
+2460 249b No
+249c 24e9 So
+24ea No
+2500 2595 So
+25a0 25ef So
+2600 2613 So
+261a 266f So
+2701 2704 So
+2706 2709 So
+270c 2727 So
+2729 274b So
+274d So
+274f 2752 So
+2756 So
+2758 275e So
+2761 2767 So
+2776 2793 No
+2794 So
+2798 27af So
+27b1 27be So
+3000 Zs
+3001 3003 Po
+3004 So
+3005 Lm
+3006 Po
+3007 Nl
+3008 Ps
+3009 Pe
+300a Ps
+300b Pe
+300c Ps
+300d Pe
+300e Ps
+300f Pe
+3010 Ps
+3011 Pe
+3012 3013 So
+3014 Ps
+3015 Pe
+3016 Ps
+3017 Pe
+3018 Ps
+3019 Pe
+301a Ps
+301b Pe
+301c Pd
+301d Ps
+301e 301f Pe
+3020 So
+3021 3029 Nl
+302a 302f Mn
+3030 Pd
+3031 3035 Lm
+3036 3037 So
+303f So
+3041 3094 Lo
+3099 309a Mn
+309b 309e Lm
+30a1 30fa Lo
+30fb Po
+30fc 30fe Lm
+3105 312c Lo
+3131 318e Lo
+3190 3191 So
+3192 3195 No
+3196 319f So
+3200 321c So
+3220 3229 No
+322a 3243 So
+3260 327b So
+327f So
+3280 3289 No
+328a 32b0 So
+32c0 32cb So
+32d0 32fe So
+3300 3376 So
+337b 33dd So
+33e0 33fe So
+4e00 9fa5 Lo
+ac00 d7a3 Lo
+d800 db7f Cs
+db80 dbff Cs
+dc00 dfff Cs
+e000 f8ff Co
+f900 fa2d Lo
+fb00 fb06 Ll
+fb13 fb17 Ll
+fb1e Mn
+fb1f fb28 Lo
+fb29 Sm
+fb2a fb36 Lo
+fb38 fb3c Lo
+fb3e Lo
+fb40 fb41 Lo
+fb43 fb44 Lo
+fb46 fbb1 Lo
+fbd3 fd3d Lo
+fd3e Ps
+fd3f Pe
+fd50 fd8f Lo
+fd92 fdc7 Lo
+fdf0 fdfb Lo
+fe20 fe23 Mn
+fe30 Po
+fe31 fe32 Pd
+fe33 fe34 Pc
+fe35 Ps
+fe36 Pe
+fe37 Ps
+fe38 Pe
+fe39 Ps
+fe3a Pe
+fe3b Ps
+fe3c Pe
+fe3d Ps
+fe3e Pe
+fe3f Ps
+fe40 Pe
+fe41 Ps
+fe42 Pe
+fe43 Ps
+fe44 Pe
+fe49 fe4c Po
+fe4d fe4f Pc
+fe50 fe52 Po
+fe54 fe57 Po
+fe58 Pd
+fe59 Ps
+fe5a Pe
+fe5b Ps
+fe5c Pe
+fe5d Ps
+fe5e Pe
+fe5f fe61 Po
+fe62 Sm
+fe63 Pd
+fe64 fe66 Sm
+fe68 Po
+fe69 Sc
+fe6a fe6b Po
+fe70 fe72 Lo
+fe74 Lo
+fe76 fefc Lo
+feff Cf
+ff01 ff03 Po
+ff04 Sc
+ff05 ff07 Po
+ff08 Ps
+ff09 Pe
+ff0a Po
+ff0b Sm
+ff0c Po
+ff0d Pd
+ff0e ff0f Po
+ff10 ff19 Nd
+ff1a ff1b Po
+ff1c ff1e Sm
+ff1f ff20 Po
+ff21 ff3a Lu
+ff3b Ps
+ff3c Po
+ff3d Pe
+ff3e Sk
+ff3f Pc
+ff40 Sk
+ff41 ff5a Ll
+ff5b Ps
+ff5c Sm
+ff5d Pe
+ff5e Sm
+ff61 Po
+ff62 Ps
+ff63 Pe
+ff64 ff65 Po
+ff66 ff6f Lo
+ff70 Lm
+ff71 ff9d Lo
+ff9e ff9f Lm
+ffa0 ffbe Lo
+ffc2 ffc7 Lo
+ffca ffcf Lo
+ffd2 ffd7 Lo
+ffda ffdc Lo
+ffe0 ffe1 Sc
+ffe2 Sm
+ffe3 Sk
+ffe4 So
+ffe5 ffe6 Sc
+ffe8 ffec Sm
+ffed ffee So
+fffc fffd So
+END
diff --git a/lib/unicode/CombiningClass.pl b/lib/unicode/CombiningClass.pl
new file mode 100644
index 0000000000..f50c7bb36e
--- /dev/null
+++ b/lib/unicode/CombiningClass.pl
@@ -0,0 +1,217 @@
+return <<'END';
+0300 0314 230
+0315 232
+0316 0319 220
+031a 232
+031b 216
+031c 0320 220
+0321 0322 202
+0323 0326 220
+0327 0328 202
+0329 0333 220
+0334 0338 1
+0339 033c 220
+033d 0344 230
+0345 220
+0360 0361 234
+0483 0486 230
+0591 220
+0592 0595 230
+0596 220
+0597 0599 230
+059a 222
+059b 220
+059c 05a1 230
+05a3 05a7 220
+05a8 05a9 230
+05aa 220
+05ab 05ac 230
+05ad 222
+05ae 05af 230
+05b0 10
+05b1 11
+05b2 12
+05b3 13
+05b4 14
+05b5 15
+05b6 16
+05b7 17
+05b8 18
+05b9 19
+05bb 20
+05bc 21
+05bd 22
+05bf 23
+05c1 24
+05c2 25
+05c4 230
+064b 27
+064c 28
+064d 29
+064e 30
+064f 31
+0650 32
+0651 33
+0652 34
+0670 35
+06d6 06dc 230
+06df 06e2 230
+06e3 220
+06e4 230
+06e7 06e8 230
+06ea 220
+06eb 06ec 230
+06ed 220
+0901 37
+0902 36
+093c 7
+0941 38
+0942 39
+0943 40
+0944 41
+0945 42
+0946 43
+0947 44
+0948 45
+094d 9
+0951 46
+0952 47
+0953 0954 230
+0962 48
+0963 49
+0981 50
+09bc 7
+09c1 51
+09c2 52
+09c3 53
+09c4 54
+09cd 9
+09e2 55
+09e3 56
+0a02 57
+0a3c 7
+0a41 58
+0a42 59
+0a47 60
+0a48 61
+0a4b 62
+0a4c 63
+0a4d 9
+0a70 64
+0a71 65
+0a81 67
+0a82 66
+0abc 7
+0ac1 68
+0ac2 69
+0ac3 70
+0ac4 71
+0ac5 72
+0ac7 73
+0ac8 74
+0acd 9
+0b01 75
+0b3c 7
+0b3f 76
+0b41 77
+0b42 78
+0b43 79
+0b4d 9
+0b56 230
+0bc0 80
+0bcd 9
+0c3e 81
+0c3f 82
+0c40 83
+0c46 84
+0c47 85
+0c48 86
+0c4a 87
+0c4b 88
+0c4c 89
+0c4d 9
+0c55 90
+0c56 91
+0cbf 92
+0cc6 93
+0ccc 94
+0ccd 9
+0d41 95
+0d42 96
+0d43 97
+0d4d 9
+0e31 98
+0e34 99
+0e35 100
+0e36 101
+0e37 102
+0e38 103
+0e39 104
+0e3a 105
+0e47 106
+0e48 107
+0e49 108
+0e4a 109
+0e4b 110
+0e4c 111
+0e4d 112
+0e4e 128
+0eb1 113
+0eb4 114
+0eb5 115
+0eb6 116
+0eb7 117
+0eb8 118
+0eb9 119
+0ebb 120
+0ebc 121
+0ec8 122
+0ec9 123
+0eca 124
+0ecb 125
+0ecc 126
+0ecd 127
+0f18 0f19 220
+0f35 230
+0f37 230
+0f39 216
+0f3e 0f3f 220
+0f71 145
+0f72 130
+0f73 131
+0f74 132
+0f75 133
+0f76 134
+0f77 135
+0f78 136
+0f79 137
+0f7a 138
+0f7b 139
+0f7c 140
+0f7d 141
+0f7e 142
+0f80 143
+0f81 144
+0f82 0f83 230
+0f84 9
+0f86 0f8b 230
+0f90 0f95 6
+0f97 6
+0f99 0fad 6
+0fb1 0fb7 6
+0fb9 6
+20d0 20d1 230
+20d2 20d3 1
+20d4 20d7 230
+20d8 20da 1
+20db 20dc 230
+20e1 1
+302a 218
+302b 228
+302c 232
+302d 222
+302e 302f 224
+3099 309a 8
+fb1e 26
+fe20 fe23 230
+END
diff --git a/lib/unicode/Decomposition.pl b/lib/unicode/Decomposition.pl
new file mode 100644
index 0000000000..4bb9852319
--- /dev/null
+++ b/lib/unicode/Decomposition.pl
@@ -0,0 +1,3089 @@
+return <<'END';
+005e <compat> 0020 0302
+005f <compat> 0020 0332
+0060 <compat> 0020 0300
+00a0 <noBreak> 0020
+00a8 <compat> 0020 0308
+00aa <super> 0061
+00af <compat> 0020 0304
+00b2 <super> 0032
+00b3 <super> 0033
+00b4 <compat> 0020 0301
+00b5 <compat> 03BC
+00b8 <compat> 0020 0327
+00b9 <super> 0031
+00ba <super> 006F
+00bc <fraction> 0031 2044 0034
+00bd <fraction> 0031 2044 0032
+00be <fraction> 0033 2044 0034
+00c0 0041 0300
+00c1 0041 0301
+00c2 0041 0302
+00c3 0041 0303
+00c4 0041 0308
+00c5 0041 030A
+00c7 0043 0327
+00c8 0045 0300
+00c9 0045 0301
+00ca 0045 0302
+00cb 0045 0308
+00cc 0049 0300
+00cd 0049 0301
+00ce 0049 0302
+00cf 0049 0308
+00d1 004E 0303
+00d2 004F 0300
+00d3 004F 0301
+00d4 004F 0302
+00d5 004F 0303
+00d6 004F 0308
+00d9 0055 0300
+00da 0055 0301
+00db 0055 0302
+00dc 0055 0308
+00dd 0059 0301
+00e0 0061 0300
+00e1 0061 0301
+00e2 0061 0302
+00e3 0061 0303
+00e4 0061 0308
+00e5 0061 030A
+00e7 0063 0327
+00e8 0065 0300
+00e9 0065 0301
+00ea 0065 0302
+00eb 0065 0308
+00ec 0069 0300
+00ed 0069 0301
+00ee 0069 0302
+00ef 0069 0308
+00f1 006E 0303
+00f2 006F 0300
+00f3 006F 0301
+00f4 006F 0302
+00f5 006F 0303
+00f6 006F 0308
+00f9 0075 0300
+00fa 0075 0301
+00fb 0075 0302
+00fc 0075 0308
+00fd 0079 0301
+00ff 0079 0308
+0100 0041 0304
+0101 0061 0304
+0102 0041 0306
+0103 0061 0306
+0104 0041 0328
+0105 0061 0328
+0106 0043 0301
+0107 0063 0301
+0108 0043 0302
+0109 0063 0302
+010a 0043 0307
+010b 0063 0307
+010c 0043 030C
+010d 0063 030C
+010e 0044 030C
+010f 0064 030C
+0112 0045 0304
+0113 0065 0304
+0114 0045 0306
+0115 0065 0306
+0116 0045 0307
+0117 0065 0307
+0118 0045 0328
+0119 0065 0328
+011a 0045 030C
+011b 0065 030C
+011c 0047 0302
+011d 0067 0302
+011e 0047 0306
+011f 0067 0306
+0120 0047 0307
+0121 0067 0307
+0122 0047 0327
+0123 0067 0327
+0124 0048 0302
+0125 0068 0302
+0128 0049 0303
+0129 0069 0303
+012a 0049 0304
+012b 0069 0304
+012c 0049 0306
+012d 0069 0306
+012e 0049 0328
+012f 0069 0328
+0130 0049 0307
+0132 <compat> 0049 004A
+0133 <compat> 0069 006A
+0134 004A 0302
+0135 006A 0302
+0136 004B 0327
+0137 006B 0327
+0139 004C 0301
+013a 006C 0301
+013b 004C 0327
+013c 006C 0327
+013d 004C 030C
+013e 006C 030C
+013f <compat> 004C 00B7
+0140 <compat> 006C 00B7
+0143 004E 0301
+0144 006E 0301
+0145 004E 0327
+0146 006E 0327
+0147 004E 030C
+0148 006E 030C
+0149 <compat> 02BC 006E
+014c 004F 0304
+014d 006F 0304
+014e 004F 0306
+014f 006F 0306
+0150 004F 030B
+0151 006F 030B
+0154 0052 0301
+0155 0072 0301
+0156 0052 0327
+0157 0072 0327
+0158 0052 030C
+0159 0072 030C
+015a 0053 0301
+015b 0073 0301
+015c 0053 0302
+015d 0073 0302
+015e 0053 0327
+015f 0073 0327
+0160 0053 030C
+0161 0073 030C
+0162 0054 0327
+0163 0074 0327
+0164 0054 030C
+0165 0074 030C
+0168 0055 0303
+0169 0075 0303
+016a 0055 0304
+016b 0075 0304
+016c 0055 0306
+016d 0075 0306
+016e 0055 030A
+016f 0075 030A
+0170 0055 030B
+0171 0075 030B
+0172 0055 0328
+0173 0075 0328
+0174 0057 0302
+0175 0077 0302
+0176 0059 0302
+0177 0079 0302
+0178 0059 0308
+0179 005A 0301
+017a 007A 0301
+017b 005A 0307
+017c 007A 0307
+017d 005A 030C
+017e 007A 030C
+017f <compat> 0073
+01a0 004F 031B
+01a1 006F 031B
+01af 0055 031B
+01b0 0075 031B
+01c4 <compat> 0044 017D
+01c5 <compat> 0044 017E
+01c6 <compat> 0064 017E
+01c7 <compat> 004C 004A
+01c8 <compat> 004C 006A
+01c9 <compat> 006C 006A
+01ca <compat> 004E 004A
+01cb <compat> 004E 006A
+01cc <compat> 006E 006A
+01cd 0041 030C
+01ce 0061 030C
+01cf 0049 030C
+01d0 0069 030C
+01d1 004F 030C
+01d2 006F 030C
+01d3 0055 030C
+01d4 0075 030C
+01d5 00DC 0304
+01d6 00FC 0304
+01d7 00DC 0301
+01d8 00FC 0301
+01d9 00DC 030C
+01da 00FC 030C
+01db 00DC 0300
+01dc 00FC 0300
+01de 00C4 0304
+01df 00E4 0304
+01e0 0041 0307 0304
+01e1 0061 0307 0304
+01e2 00C6 0304
+01e3 00E6 0304
+01e6 0047 030C
+01e7 0067 030C
+01e8 004B 030C
+01e9 006B 030C
+01ea 004F 0328
+01eb 006F 0328
+01ec 01EA 0304
+01ed 01EB 0304
+01ee 01B7 030C
+01ef 0292 030C
+01f0 006A 030C
+01f1 <compat> 0044 005A
+01f2 <compat> 0044 007A
+01f3 <compat> 0064 007A
+01f4 0047 0301
+01f5 0067 0301
+01fa 00C5 0301
+01fb 00E5 0301
+01fc 00C6 0301
+01fd 00E6 0301
+01fe 00D8 0301
+01ff 00F8 0301
+0200 0041 030F
+0201 0061 030F
+0202 0041 0311
+0203 0061 0311
+0204 0045 030F
+0205 0065 030F
+0206 0045 0311
+0207 0065 0311
+0208 0049 030F
+0209 0069 030F
+020a 0049 0311
+020b 0069 0311
+020c 004F 030F
+020d 006F 030F
+020e 004F 0311
+020f 006F 0311
+0210 0052 030F
+0211 0072 030F
+0212 0052 0311
+0213 0072 0311
+0214 0055 030F
+0215 0075 030F
+0216 0055 0311
+0217 0075 0311
+02b0 <super> 0068
+02b1 <super> 0266
+02b2 <super> 006A
+02b3 <super> 0072
+02b4 <super> 0279
+02b5 <super> 027B
+02b6 <super> 0281
+02b7 <super> 0077
+02b8 <super> 0079
+02d8 <compat> 0020 0306
+02d9 <compat> 0020 0307
+02da <compat> 0020 030A
+02db <compat> 0020 0328
+02dc <compat> 0020 0303
+02dd <compat> 0020 030B
+02e0 <super> 0263
+02e1 <super> 006C
+02e2 <super> 0073
+02e3 <super> 0078
+02e4 <super> 0295
+0310 0306 0307
+0340 0300
+0341 0301
+0343 0313
+0344 0308 030D
+0374 02B9
+037a <compat> 0020 0345
+037e 003B
+0384 <compat> 0020 030D
+0385 00A8 030D
+0386 0391 030D
+0387 00B7
+0388 0395 030D
+0389 0397 030D
+038a 0399 030D
+038c 039F 030D
+038e 03A5 030D
+038f 03A9 030D
+0390 03B9 0344
+03aa 0399 0308
+03ab 03A5 0308
+03ac 03B1 030D
+03ad 03B5 030D
+03ae 03B7 030D
+03af 03B9 030D
+03b0 03C5 0344
+03ca 03B9 0308
+03cb 03C5 0308
+03cc 03BF 030D
+03cd 03C5 030D
+03ce 03C9 030D
+03d3 03D2 030D
+03d4 03D2 0308
+0401 0415 0308
+0403 0413 0301
+0407 0406 0308
+040c 041A 0301
+040e 0423 0306
+0419 0418 0306
+0439 0438 0306
+0451 0435 0308
+0453 0433 0301
+0457 0456 0308
+045c 043A 0301
+045e 0443 0306
+0476 0474 030F
+0477 0475 030F
+04c1 0416 0306
+04c2 0436 0306
+04d0 0410 0306
+04d1 0430 0306
+04d2 0410 0308
+04d3 0430 0308
+04d4 00C6
+04d5 00E6
+04d6 0415 0306
+04d7 0435 0306
+04d8 018F
+04d9 0259
+04da 018F 0308
+04db 0259 0308
+04dc 0416 0308
+04dd 0436 0308
+04de 0417 0308
+04df 0437 0308
+04e0 01B7
+04e1 0292
+04e2 0418 0304
+04e3 0438 0304
+04e4 0418 0308
+04e5 0438 0308
+04e6 041E 0308
+04e7 043E 0308
+04e8 019F
+04e9 0275
+04ea 019F 0308
+04eb 0275 0308
+04ee 0423 0304
+04ef 0443 0304
+04f0 0423 0308
+04f1 0443 0308
+04f2 0423 030B
+04f3 0443 030B
+04f4 0427 0308
+04f5 0447 0308
+04f8 042B 0308
+04f9 044B 0308
+0587 <compat> 0565 0582
+0929 0928 093C
+0931 0930 093C
+0934 0933 093C
+0958 0915 093C
+0959 0916 093C
+095a 0917 093C
+095b 091C 093C
+095c 0921 093C
+095d 0922 093C
+095e 092B 093C
+095f 092F 093C
+09b0 09AC 09BC
+09cb 09C7 09BE
+09cc 09C7 09D7
+09dc 09A1 09BC
+09dd 09A2 09BC
+09df 09AF 09BC
+0a59 0A16 0A3C
+0a5a 0A17 0A3C
+0a5b 0A1C 0A3C
+0a5c 0A21 0A3C
+0a5e 0A2B 0A3C
+0b48 0B47 0B56
+0b4b 0B47 0B3E
+0b4c 0B47 0B57
+0b5c 0B21 0B3C
+0b5d 0B22 0B3C
+0b5f 0B2F 0B3C
+0b94 0B92 0BD7
+0bca 0BC6 0BBE
+0bcb 0BC7 0BBE
+0bcc 0BC6 0BD7
+0c48 0C46 0C56
+0cc0 0CBF 0CD5
+0cc7 0CC6 0CD5
+0cc8 0CC6 0CD6
+0cca 0CC6 0CC2
+0ccb 0CC6 0CC2 0CD5
+0d4a 0D46 0D3E
+0d4b 0D47 0D3E
+0d4c 0D46 0D57
+0e33 0E4D 0E32
+0eb3 0ECD 0EB2
+0edc <compat> 0EAB 0E99
+0edd <compat> 0EAB 0EA1
+0f43 0F42 0FB7
+0f4d 0F4C 0FB7
+0f52 0F51 0FB7
+0f57 0F56 0FB7
+0f5c 0F5B 0FB7
+0f69 0F40 0FB5
+0f73 0F72 0F71
+0f75 0F74 0F71
+0f76 0FB2 0F80
+0f77 0F76 0F71
+0f78 0FB3 0F80
+0f79 0F78 0F71
+0f81 0F80 0F71
+0f93 0F92 0FB7
+0f9d 0F9C 0FB7
+0fa2 0FA1 0FB7
+0fa7 0FA6 0FB7
+0fac 0FAB 0FB7
+0fb9 0F90 0FB5
+1101 <compat> 1100 1100
+1104 <compat> 1103 1103
+1108 <compat> 1107 1107
+110a <compat> 1109 1109
+110d <compat> 110C 110C
+1113 <compat> 1102 1100
+1114 <compat> 1102 1102
+1115 <compat> 1102 1103
+1116 <compat> 1102 1107
+1117 <compat> 1103 1100
+1118 <compat> 1105 1102
+1119 <compat> 1105 1105
+111a <compat> 1105 1112
+111b <compat> 1105 110B
+111c <compat> 1106 1107
+111d <compat> 1106 110B
+111e <compat> 1107 1100
+111f <compat> 1107 1102
+1120 <compat> 1107 1103
+1121 <compat> 1107 1109
+1122 <compat> 1107 1109 1100
+1123 <compat> 1107 1109 1103
+1124 <compat> 1107 1109 1107
+1125 <compat> 1107 1109 1109
+1126 <compat> 1107 1109 110C
+1127 <compat> 1107 110C
+1128 <compat> 1107 110E
+1129 <compat> 1107 1110
+112a <compat> 1107 1111
+112b <compat> 1107 110B
+112c <compat> 1107 1107 110B
+112d <compat> 1109 1100
+112e <compat> 1109 1102
+112f <compat> 1109 1103
+1130 <compat> 1109 1105
+1131 <compat> 1109 1106
+1132 <compat> 1109 1107
+1133 <compat> 1109 1107 1100
+1134 <compat> 1109 1109 1109
+1135 <compat> 1109 110B
+1136 <compat> 1109 110C
+1137 <compat> 1109 110E
+1138 <compat> 1109 110F
+1139 <compat> 1109 1110
+113a <compat> 1109 1111
+113b <compat> 1109 1112
+113d <compat> 113C 113C
+113f <compat> 113E 113E
+1141 <compat> 110B 1100
+1142 <compat> 110B 1103
+1143 <compat> 110B 1106
+1144 <compat> 110B 1107
+1145 <compat> 110B 1109
+1146 <compat> 110B 1140
+1147 <compat> 110B 110B
+1148 <compat> 110B 110C
+1149 <compat> 110B 110E
+114a <compat> 110B 1110
+114b <compat> 110B 1111
+114d <compat> 110C 110B
+114f <compat> 114E 114E
+1151 <compat> 1150 1150
+1152 <compat> 110E 110F
+1153 <compat> 110E 1112
+1156 <compat> 1111 1107
+1157 <compat> 1111 110B
+1158 <compat> 1112 1112
+1162 <compat> 1161 1175
+1164 <compat> 1163 1175
+1166 <compat> 1165 1175
+1168 <compat> 1167 1175
+116a <compat> 1169 1161
+116b <compat> 1169 1161 1175
+116c <compat> 1169 1175
+116f <compat> 116E 1165
+1170 <compat> 116E 1165 1175
+1171 <compat> 116E 1175
+1174 <compat> 1173 1175
+1176 <compat> 1161 1169
+1177 <compat> 1161 116E
+1178 <compat> 1163 1169
+1179 <compat> 1163 116D
+117a <compat> 1165 1169
+117b <compat> 1165 116E
+117c <compat> 1165 1173
+117d <compat> 1167 1169
+117e <compat> 1167 116E
+117f <compat> 1169 1165
+1180 <compat> 1169 1166
+1181 <compat> 1169 1168
+1182 <compat> 1169 1169
+1183 <compat> 1169 116E
+1184 <compat> 116D 1163
+1185 <compat> 116D 1164
+1186 <compat> 116D 1167
+1187 <compat> 116D 1169
+1188 <compat> 116D 1175
+1189 <compat> 116E 1161
+118a <compat> 116E 1162
+118b <compat> 116E 1165 1173
+118c <compat> 116E 1168
+118d <compat> 116E 116E
+118e <compat> 1172 1161
+118f <compat> 1172 1165
+1190 <compat> 1172 1166
+1191 <compat> 1172 1167
+1192 <compat> 1172 1168
+1193 <compat> 1172 116E
+1194 <compat> 1172 1175
+1195 <compat> 1173 116E
+1196 <compat> 1173 1173
+1197 <compat> 1174 116E
+1198 <compat> 1175 1161
+1199 <compat> 1175 1163
+119a <compat> 1175 1169
+119b <compat> 1175 116E
+119c <compat> 1175 1173
+119d <compat> 1175 119E
+119f <compat> 119E 1165
+11a0 <compat> 119E 116E
+11a1 <compat> 119E 1175
+11a2 <compat> 119E 119E
+11a9 <compat> 11A8 11A8
+11aa <compat> 11A8 11BA
+11ac <compat> 11AB 11BD
+11ad <compat> 11AB 11C2
+11b0 <compat> 11AF 11A8
+11b1 <compat> 11AF 11B7
+11b2 <compat> 11AF 11B8
+11b3 <compat> 11AF 11BA
+11b4 <compat> 11AF 11C0
+11b5 <compat> 11AF 11C1
+11b6 <compat> 11AF 11C2
+11b9 <compat> 11B8 11BA
+11bb <compat> 11BA 11BA
+11c3 <compat> 11A8 11AF
+11c4 <compat> 11A8 11BA 11A8
+11c5 <compat> 11AB 11A8
+11c6 <compat> 11AB 11AE
+11c7 <compat> 11AB 11BA
+11c8 <compat> 11AB 11EB
+11c9 <compat> 11AB 11C0
+11ca <compat> 11AE 11A8
+11cb <compat> 11AE 11AF
+11cc <compat> 11AF 11A8 11BA
+11cd <compat> 11AF 11AB
+11ce <compat> 11AF 11AE
+11cf <compat> 11AF 11AE 11C2
+11d0 <compat> 11AF 11AF
+11d1 <compat> 11AF 11B7 11A8
+11d2 <compat> 11AF 11B7 11BA
+11d3 <compat> 11AF 11B8 11BA
+11d4 <compat> 11AF 11B8 11C2
+11d5 <compat> 11AF 11B8 11BC
+11d6 <compat> 11AF 11BA 11BA
+11d7 <compat> 11AF 11EB
+11d8 <compat> 11AF 11BF
+11d9 <compat> 11AF 11F9
+11da <compat> 11B7 11A8
+11db <compat> 11B7 11AF
+11dc <compat> 11B7 11B8
+11dd <compat> 11B7 11BA
+11de <compat> 11B7 11BA 11BA
+11df <compat> 11B7 11EB
+11e0 <compat> 11B7 11BE
+11e1 <compat> 11B7 11C2
+11e2 <compat> 11B7 11BC
+11e3 <compat> 11B8 11AF
+11e4 <compat> 11B8 11C1
+11e5 <compat> 11B8 11C2
+11e6 <compat> 11B8 11BC
+11e7 <compat> 11BA 11A8
+11e8 <compat> 11BA 11AE
+11e9 <compat> 11BA 11AF
+11ea <compat> 11BA 11B8
+11ec <compat> 11BC 11A8
+11ed <compat> 11BC 11A8 11A8
+11ee <compat> 11BC 11BC
+11ef <compat> 11BC 11BF
+11f1 <compat> 11F0 11BA
+11f2 <compat> 11F0 11EB
+11f3 <compat> 11C1 11B8
+11f4 <compat> 11C1 11BC
+11f5 <compat> 11C2 11AB
+11f6 <compat> 11C2 11AF
+11f7 <compat> 11C2 11B7
+11f8 <compat> 11C2 11B8
+1e00 0041 0325
+1e01 0061 0325
+1e02 0042 0307
+1e03 0062 0307
+1e04 0042 0323
+1e05 0062 0323
+1e06 0042 0331
+1e07 0062 0331
+1e08 00C7 0301
+1e09 00E7 0301
+1e0a 0044 0307
+1e0b 0064 0307
+1e0c 0044 0323
+1e0d 0064 0323
+1e0e 0044 0331
+1e0f 0064 0331
+1e10 0044 0327
+1e11 0064 0327
+1e12 0044 032D
+1e13 0064 032D
+1e14 0112 0300
+1e15 0113 0300
+1e16 0112 0301
+1e17 0113 0301
+1e18 0045 032D
+1e19 0065 032D
+1e1a 0045 0330
+1e1b 0065 0330
+1e1c 0114 0327
+1e1d 0115 0327
+1e1e 0046 0307
+1e1f 0066 0307
+1e20 0047 0304
+1e21 0067 0304
+1e22 0048 0307
+1e23 0068 0307
+1e24 0048 0323
+1e25 0068 0323
+1e26 0048 0308
+1e27 0068 0308
+1e28 0048 0327
+1e29 0068 0327
+1e2a 0048 032E
+1e2b 0068 032E
+1e2c 0049 0330
+1e2d 0069 0330
+1e2e 00CF 0301
+1e2f 00EF 0301
+1e30 004B 0301
+1e31 006B 0301
+1e32 004B 0323
+1e33 006B 0323
+1e34 004B 0331
+1e35 006B 0331
+1e36 004C 0323
+1e37 006C 0323
+1e38 1E36 0304
+1e39 1E37 0304
+1e3a 004C 0331
+1e3b 006C 0331
+1e3c 004C 032D
+1e3d 006C 032D
+1e3e 004D 0301
+1e3f 006D 0301
+1e40 004D 0307
+1e41 006D 0307
+1e42 004D 0323
+1e43 006D 0323
+1e44 004E 0307
+1e45 006E 0307
+1e46 004E 0323
+1e47 006E 0323
+1e48 004E 0331
+1e49 006E 0331
+1e4a 004E 032D
+1e4b 006E 032D
+1e4c 00D5 0301
+1e4d 00F5 0301
+1e4e 00D5 0308
+1e4f 00F5 0308
+1e50 014C 0300
+1e51 014D 0300
+1e52 014C 0301
+1e53 014D 0301
+1e54 0050 0301
+1e55 0070 0301
+1e56 0050 0307
+1e57 0070 0307
+1e58 0052 0307
+1e59 0072 0307
+1e5a 0052 0323
+1e5b 0072 0323
+1e5c 1E5A 0304
+1e5d 1E5B 0304
+1e5e 0052 0331
+1e5f 0072 0331
+1e60 0053 0307
+1e61 0073 0307
+1e62 0053 0323
+1e63 0073 0323
+1e64 015A 0307
+1e65 015B 0307
+1e66 0160 0307
+1e67 0161 0307
+1e68 1E62 0307
+1e69 1E63 0307
+1e6a 0054 0307
+1e6b 0074 0307
+1e6c 0054 0323
+1e6d 0074 0323
+1e6e 0054 0331
+1e6f 0074 0331
+1e70 0054 032D
+1e71 0074 032D
+1e72 0055 0324
+1e73 0075 0324
+1e74 0055 0330
+1e75 0075 0330
+1e76 0055 032D
+1e77 0075 032D
+1e78 0168 0301
+1e79 0169 0301
+1e7a 016A 0308
+1e7b 016B 0308
+1e7c 0056 0303
+1e7d 0076 0303
+1e7e 0056 0323
+1e7f 0076 0323
+1e80 0057 0300
+1e81 0077 0300
+1e82 0057 0301
+1e83 0077 0301
+1e84 0057 0308
+1e85 0077 0308
+1e86 0057 0307
+1e87 0077 0307
+1e88 0057 0323
+1e89 0077 0323
+1e8a 0058 0307
+1e8b 0078 0307
+1e8c 0058 0308
+1e8d 0078 0308
+1e8e 0059 0307
+1e8f 0079 0307
+1e90 005A 0302
+1e91 007A 0302
+1e92 005A 0323
+1e93 007A 0323
+1e94 005A 0331
+1e95 007A 0331
+1e96 0068 0331
+1e97 0074 0308
+1e98 0077 030A
+1e99 0079 030A
+1e9b 017F 0307
+1ea0 0041 0323
+1ea1 0061 0323
+1ea2 0041 0309
+1ea3 0061 0309
+1ea4 00C2 0301
+1ea5 00E2 0301
+1ea6 00C2 0300
+1ea7 00E2 0300
+1ea8 00C2 0309
+1ea9 00E2 0309
+1eaa 00C2 0303
+1eab 00E2 0303
+1eac 00C2 0323
+1ead 00E2 0323
+1eae 0102 0301
+1eaf 0103 0301
+1eb0 0102 0300
+1eb1 0103 0300
+1eb2 0102 0309
+1eb3 0103 0309
+1eb4 0102 0303
+1eb5 0103 0303
+1eb6 0102 0323
+1eb7 0103 0323
+1eb8 0045 0323
+1eb9 0065 0323
+1eba 0045 0309
+1ebb 0065 0309
+1ebc 0045 0303
+1ebd 0065 0303
+1ebe 00CA 0301
+1ebf 00EA 0301
+1ec0 00CA 0300
+1ec1 00EA 0300
+1ec2 00CA 0309
+1ec3 00EA 0309
+1ec4 00CA 0303
+1ec5 00EA 0303
+1ec6 00CA 0323
+1ec7 00EA 0323
+1ec8 0049 0309
+1ec9 0069 0309
+1eca 0049 0323
+1ecb 0069 0323
+1ecc 004F 0323
+1ecd 006F 0323
+1ece 004F 0309
+1ecf 006F 0309
+1ed0 00D4 0301
+1ed1 00F4 0301
+1ed2 00D4 0300
+1ed3 00F4 0300
+1ed4 00D4 0309
+1ed5 00F4 0309
+1ed6 00D4 0303
+1ed7 00F4 0303
+1ed8 00D4 0323
+1ed9 00F4 0323
+1eda 01A0 0301
+1edb 01A1 0301
+1edc 01A0 0300
+1edd 01A1 0300
+1ede 01A0 0309
+1edf 01A1 0309
+1ee0 01A0 0303
+1ee1 01A1 0303
+1ee2 01A0 0323
+1ee3 01A1 0323
+1ee4 0055 0323
+1ee5 0075 0323
+1ee6 0055 0309
+1ee7 0075 0309
+1ee8 01AF 0301
+1ee9 01B0 0301
+1eea 01AF 0300
+1eeb 01B0 0300
+1eec 01AF 0309
+1eed 01B0 0309
+1eee 01AF 0303
+1eef 01B0 0303
+1ef0 01AF 0323
+1ef1 01B0 0323
+1ef2 0059 0300
+1ef3 0079 0300
+1ef4 0059 0323
+1ef5 0079 0323
+1ef6 0059 0309
+1ef7 0079 0309
+1ef8 0059 0303
+1ef9 0079 0303
+1f00 03B1 0313
+1f01 03B1 0314
+1f02 1F00 0300
+1f03 1F01 0300
+1f04 1F00 0301
+1f05 1F01 0301
+1f06 1F00 0342
+1f07 1F01 0342
+1f08 0391 0313
+1f09 0391 0314
+1f0a 1F08 0300
+1f0b 1F09 0300
+1f0c 1F08 0301
+1f0d 1F09 0301
+1f0e 1F08 0342
+1f0f 1F09 0342
+1f10 03B5 0313
+1f11 03B5 0314
+1f12 1F10 0300
+1f13 1F11 0300
+1f14 1F10 0301
+1f15 1F11 0301
+1f18 0395 0313
+1f19 0395 0314
+1f1a 1F18 0300
+1f1b 1F19 0300
+1f1c 1F18 0301
+1f1d 1F19 0301
+1f20 03B7 0313
+1f21 03B7 0314
+1f22 1F20 0300
+1f23 1F21 0300
+1f24 1F20 0301
+1f25 1F21 0301
+1f26 1F20 0342
+1f27 1F21 0342
+1f28 0397 0313
+1f29 0397 0314
+1f2a 1F28 0300
+1f2b 1F29 0300
+1f2c 1F28 0301
+1f2d 1F29 0301
+1f2e 1F28 0342
+1f2f 1F29 0342
+1f30 03B9 0313
+1f31 03B9 0314
+1f32 1F30 0300
+1f33 1F31 0300
+1f34 1F30 0301
+1f35 1F31 0301
+1f36 1F30 0342
+1f37 1F31 0342
+1f38 0399 0313
+1f39 0399 0314
+1f3a 1F38 0300
+1f3b 1F39 0300
+1f3c 1F38 0301
+1f3d 1F39 0301
+1f3e 1F38 0342
+1f3f 1F39 0342
+1f40 03BF 0313
+1f41 03BF 0314
+1f42 1F40 0300
+1f43 1F41 0300
+1f44 1F40 0301
+1f45 1F41 0301
+1f48 039F 0313
+1f49 039F 0314
+1f4a 1F48 0300
+1f4b 1F49 0300
+1f4c 1F48 0301
+1f4d 1F49 0301
+1f50 03C5 0313
+1f51 03C5 0314
+1f52 1F50 0300
+1f53 1F51 0300
+1f54 1F50 0301
+1f55 1F51 0301
+1f56 1F50 0342
+1f57 1F51 0342
+1f59 03A5 0314
+1f5b 1F59 0300
+1f5d 1F59 0301
+1f5f 1F59 0342
+1f60 03C9 0313
+1f61 03C9 0314
+1f62 1F60 0300
+1f63 1F61 0300
+1f64 1F60 0301
+1f65 1F61 0301
+1f66 1F60 0342
+1f67 1F61 0342
+1f68 03A9 0313
+1f69 03A9 0314
+1f6a 1F68 0300
+1f6b 1F69 0300
+1f6c 1F68 0301
+1f6d 1F69 0301
+1f6e 1F68 0342
+1f6f 1F69 0342
+1f70 03B1 0300
+1f71 03B1 0301
+1f72 03B5 0300
+1f73 03B5 0301
+1f74 03B7 0300
+1f75 03B7 0301
+1f76 03B9 0300
+1f77 03B9 0301
+1f78 03BF 0300
+1f79 03BF 0301
+1f7a 03C5 0300
+1f7b 03C5 0301
+1f7c 03C9 0300
+1f7d 03C9 0301
+1f80 1F00 0345
+1f81 1F01 0345
+1f82 1F02 0345
+1f83 1F03 0345
+1f84 1F04 0345
+1f85 1F05 0345
+1f86 1F06 0345
+1f87 1F07 0345
+1f88 1F08 0345
+1f89 1F09 0345
+1f8a 1F0A 0345
+1f8b 1F0B 0345
+1f8c 1F0C 0345
+1f8d 1F0D 0345
+1f8e 1F0E 0345
+1f8f 1F0F 0345
+1f90 1F20 0345
+1f91 1F21 0345
+1f92 1F22 0345
+1f93 1F23 0345
+1f94 1F24 0345
+1f95 1F25 0345
+1f96 1F26 0345
+1f97 1F27 0345
+1f98 1F28 0345
+1f99 1F29 0345
+1f9a 1F2A 0345
+1f9b 1F2B 0345
+1f9c 1F2C 0345
+1f9d 1F2D 0345
+1f9e 1F2E 0345
+1f9f 1F2F 0345
+1fa0 1F60 0345
+1fa1 1F61 0345
+1fa2 1F62 0345
+1fa3 1F63 0345
+1fa4 1F64 0345
+1fa5 1F65 0345
+1fa6 1F66 0345
+1fa7 1F67 0345
+1fa8 1F68 0345
+1fa9 1F69 0345
+1faa 1F6A 0345
+1fab 1F6B 0345
+1fac 1F6C 0345
+1fad 1F6D 0345
+1fae 1F6E 0345
+1faf 1F6F 0345
+1fb0 03B1 0306
+1fb1 03B1 0304
+1fb2 1F70 0345
+1fb3 03B1 0345
+1fb4 1F71 0345
+1fb6 03B1 0342
+1fb7 1FB6 0345
+1fb8 0391 0306
+1fb9 0391 0304
+1fba 0391 0300
+1fbb 0391 0301
+1fbc 0391 0345
+1fbd <compat> 0020 0313
+1fbe 03B9
+1fbf <compat> 0020 0313
+1fc0 <compat> 0020 0342
+1fc1 00A8 0342
+1fc2 1F74 0345
+1fc3 03B7 0345
+1fc4 1F75 0345
+1fc6 03B7 0342
+1fc7 1FC6 0345
+1fc8 0395 0300
+1fc9 0395 0301
+1fca 0397 0300
+1fcb 0397 0301
+1fcc 0397 0345
+1fcd 1FBF 0300
+1fce 1FBF 0301
+1fcf 1FBF 0342
+1fd0 03B9 0306
+1fd1 03B9 0304
+1fd2 03CA 0300
+1fd3 03CA 0301
+1fd6 03B9 0342
+1fd7 03CA 0342
+1fd8 0399 0306
+1fd9 0399 0304
+1fda 0399 0300
+1fdb 0399 0301
+1fdd 1FFE 0300
+1fde 1FFE 0301
+1fdf 1FFE 0342
+1fe0 03C5 0306
+1fe1 03C5 0304
+1fe2 03CB 0300
+1fe3 03CB 0301
+1fe4 03C1 0313
+1fe5 03C1 0314
+1fe6 03C5 0342
+1fe7 03CB 0342
+1fe8 03A5 0306
+1fe9 03A5 0304
+1fea 03A5 0300
+1feb 03A5 0301
+1fec 03A1 0314
+1fed 00A8 0300
+1fee 00A8 0301
+1fef 0060
+1ff2 1F7C 0345
+1ff3 03C9 0345
+1ff4 1F79 0345
+1ff6 03C9 0342
+1ff7 1FF6 0345
+1ff8 039F 0300
+1ff9 039F 0301
+1ffa 03A9 0300
+1ffb 03A9 0301
+1ffc 03A9 0345
+1ffd 00B4
+1ffe <compat> 0020 0314
+2000 2002
+2001 2003
+2002 2006 <compat> 0020
+2007 <noBreak> 0020
+2008 200a <compat> 0020
+2011 <noBreak> 2010
+2017 <compat> 0020 0333
+2024 <compat> 002E
+2025 <compat> 002E 002E
+2026 <compat> 002E 002E 002E
+2033 <compat> 2032 2032
+2034 <compat> 2032 2032 2032
+2036 <compat> 2035 2035
+2037 <compat> 2035 2035 2035
+203c <compat> 0021 0021
+203e <compat> 0020 0305
+2070 <super> 0030
+2074 <super> 0034
+2075 <super> 0035
+2076 <super> 0036
+2077 <super> 0037
+2078 <super> 0038
+2079 <super> 0039
+207a <super> 002B
+207b <super> 2212
+207c <super> 003D
+207d <super> 0028
+207e <super> 0029
+207f <super> 006E
+2080 <sub> 0030
+2081 <sub> 0031
+2082 <sub> 0032
+2083 <sub> 0033
+2084 <sub> 0034
+2085 <sub> 0035
+2086 <sub> 0036
+2087 <sub> 0037
+2088 <sub> 0038
+2089 <sub> 0039
+208a <sub> 002B
+208b <sub> 2212
+208c <sub> 003D
+208d <sub> 0028
+208e <sub> 0029
+20a8 <compat> 0052 0073
+2102 <font> 0043
+2103 <compat> 00B0 0043
+2107 <compat> 0190
+2109 <compat> 00B0 0046
+210a <font> 0067
+210b 210d <font> 0048
+210e <font> 0068
+210f <font> 0127
+2110 2111 <font> 0049
+2112 <font> 004C
+2113 <font> 006C
+2115 <font> 004E
+2116 <compat> 004E 006F
+2118 2119 <font> 0050
+211a <font> 0051
+211b 211d <font> 0052
+2120 <super> 0053 004D
+2121 <super> 0054 0045 004C
+2122 <super> 0054 004D
+2124 <font> 005A
+2126 03A9
+2128 <font> 005A
+212a 004B
+212b 00C5
+212c <font> 0042
+212d <font> 0043
+212f <font> 0065
+2130 <font> 0045
+2131 <font> 0046
+2133 <font> 004D
+2134 <font> 006F
+2135 <compat> 05D0
+2136 <compat> 05D1
+2137 <compat> 05D2
+2138 <compat> 05D3
+2153 <fraction> 0031 2044 0033
+2154 <fraction> 0032 2044 0033
+2155 <fraction> 0031 2044 0035
+2156 <fraction> 0032 2044 0035
+2157 <fraction> 0033 2044 0035
+2158 <fraction> 0034 2044 0035
+2159 <fraction> 0031 2044 0036
+215a <fraction> 0035 2044 0036
+215b <fraction> 0031 2044 0038
+215c <fraction> 0033 2044 0038
+215d <fraction> 0035 2044 0038
+215e <fraction> 0037 2044 0038
+215f <fraction> 0031 2044
+2160 <compat> 0049
+2161 <compat> 0049 0049
+2162 <compat> 0049 0049 0049
+2163 <compat> 0049 0056
+2164 <compat> 0056
+2165 <compat> 0056 0049
+2166 <compat> 0056 0049 0049
+2167 <compat> 0056 0049 0049 0049
+2168 <compat> 0049 0058
+2169 <compat> 0058
+216a <compat> 0058 0049
+216b <compat> 0058 0049 0049
+216c <compat> 004C
+216d <compat> 0043
+216e <compat> 0044
+216f <compat> 004D
+2170 <compat> 0069
+2171 <compat> 0069 0069
+2172 <compat> 0069 0069 0069
+2173 <compat> 0069 0076
+2174 <compat> 0076
+2175 <compat> 0076 0069
+2176 <compat> 0076 0069 0069
+2177 <compat> 0076 0069 0069 0069
+2178 <compat> 0069 0078
+2179 <compat> 0078
+217a <compat> 0078 0069
+217b <compat> 0078 0069 0069
+217c <compat> 006C
+217d <compat> 0063
+217e <compat> 0064
+217f <compat> 006D
+2204 2203 0338
+2209 2208 0338
+220c 220B 0338
+2224 2223 0338
+2226 2225 0338
+222c <compat> 222B 222B
+222d <compat> 222B 222B 222B
+222f <compat> 222E 222E
+2230 <compat> 222E 222E 222E
+2241 007E 0338
+2244 2243 0338
+2247 2245 0338
+2249 2248 0338
+2260 003D 0338
+2262 2261 0338
+226d 224D 0338
+226e 003C 0338
+226f 003E 0338
+2270 2264 0338
+2271 2265 0338
+2274 2272 0338
+2275 2273 0338
+2278 2276 0338
+2279 2277 0338
+2280 227A 0338
+2281 227B 0338
+2284 2282 0338
+2285 2283 0338
+2288 2286 0338
+2289 2287 0338
+22ac 22A2 0338
+22ad 22A8 0338
+22ae 22A9 0338
+22af 22AB 0338
+22e0 227C 0338
+22e1 227D 0338
+22e2 2291 0338
+22e3 2292 0338
+22ea 22B2 0338
+22eb 22B3 0338
+22ec 22B4 0338
+22ed 22B5 0338
+2329 3008
+232a 3009
+2460 <circle> 0031
+2461 <circle> 0032
+2462 <circle> 0033
+2463 <circle> 0034
+2464 <circle> 0035
+2465 <circle> 0036
+2466 <circle> 0037
+2467 <circle> 0038
+2468 <circle> 0039
+2469 <circle> 0031 0030
+246a <circle> 0031 0031
+246b <circle> 0031 0032
+246c <circle> 0031 0033
+246d <circle> 0031 0034
+246e <circle> 0031 0035
+246f <circle> 0031 0036
+2470 <circle> 0031 0037
+2471 <circle> 0031 0038
+2472 <circle> 0031 0039
+2473 <circle> 0032 0030
+2474 <compat> 0028 0031 0029
+2475 <compat> 0028 0032 0029
+2476 <compat> 0028 0033 0029
+2477 <compat> 0028 0034 0029
+2478 <compat> 0028 0035 0029
+2479 <compat> 0028 0036 0029
+247a <compat> 0028 0037 0029
+247b <compat> 0028 0038 0029
+247c <compat> 0028 0039 0029
+247d <compat> 0028 0031 0030 0029
+247e <compat> 0028 0031 0031 0029
+247f <compat> 0028 0031 0032 0029
+2480 <compat> 0028 0031 0033 0029
+2481 <compat> 0028 0031 0034 0029
+2482 <compat> 0028 0031 0035 0029
+2483 <compat> 0028 0031 0036 0029
+2484 <compat> 0028 0031 0037 0029
+2485 <compat> 0028 0031 0038 0029
+2486 <compat> 0028 0031 0039 0029
+2487 <compat> 0028 0032 0030 0029
+2488 <compat> 0031 002E
+2489 <compat> 0032 002E
+248a <compat> 0033 002E
+248b <compat> 0034 002E
+248c <compat> 0035 002E
+248d <compat> 0036 002E
+248e <compat> 0037 002E
+248f <compat> 0038 002E
+2490 <compat> 0039 002E
+2491 <compat> 0031 0030 002E
+2492 <compat> 0031 0031 002E
+2493 <compat> 0031 0032 002E
+2494 <compat> 0031 0033 002E
+2495 <compat> 0031 0034 002E
+2496 <compat> 0031 0035 002E
+2497 <compat> 0031 0036 002E
+2498 <compat> 0031 0037 002E
+2499 <compat> 0031 0038 002E
+249a <compat> 0031 0039 002E
+249b <compat> 0032 0030 002E
+249c <compat> 0028 0061 0029
+249d <compat> 0028 0062 0029
+249e <compat> 0028 0063 0029
+249f <compat> 0028 0064 0029
+24a0 <compat> 0028 0065 0029
+24a1 <compat> 0028 0066 0029
+24a2 <compat> 0028 0067 0029
+24a3 <compat> 0028 0068 0029
+24a4 <compat> 0028 0069 0029
+24a5 <compat> 0028 006A 0029
+24a6 <compat> 0028 006B 0029
+24a7 <compat> 0028 006C 0029
+24a8 <compat> 0028 006D 0029
+24a9 <compat> 0028 006E 0029
+24aa <compat> 0028 006F 0029
+24ab <compat> 0028 0070 0029
+24ac <compat> 0028 0071 0029
+24ad <compat> 0028 0072 0029
+24ae <compat> 0028 0073 0029
+24af <compat> 0028 0074 0029
+24b0 <compat> 0028 0075 0029
+24b1 <compat> 0028 0076 0029
+24b2 <compat> 0028 0077 0029
+24b3 <compat> 0028 0078 0029
+24b4 <compat> 0028 0079 0029
+24b5 <compat> 0028 007A 0029
+24b6 <circle> 0041
+24b7 <circle> 0042
+24b8 <circle> 0043
+24b9 <circle> 0044
+24ba <circle> 0045
+24bb <circle> 0046
+24bc <circle> 0047
+24bd <circle> 0048
+24be <circle> 0049
+24bf <circle> 004A
+24c0 <circle> 004B
+24c1 <circle> 004C
+24c2 <circle> 004D
+24c3 <circle> 004E
+24c4 <circle> 004F
+24c5 <circle> 0050
+24c6 <circle> 0051
+24c7 <circle> 0052
+24c8 <circle> 0053
+24c9 <circle> 0054
+24ca <circle> 0055
+24cb <circle> 0056
+24cc <circle> 0057
+24cd <circle> 0058
+24ce <circle> 0059
+24cf <circle> 005A
+24d0 <circle> 0061
+24d1 <circle> 0062
+24d2 <circle> 0063
+24d3 <circle> 0064
+24d4 <circle> 0065
+24d5 <circle> 0066
+24d6 <circle> 0067
+24d7 <circle> 0068
+24d8 <circle> 0069
+24d9 <circle> 006A
+24da <circle> 006B
+24db <circle> 006C
+24dc <circle> 006D
+24dd <circle> 006E
+24de <circle> 006F
+24df <circle> 0070
+24e0 <circle> 0071
+24e1 <circle> 0072
+24e2 <circle> 0073
+24e3 <circle> 0074
+24e4 <circle> 0075
+24e5 <circle> 0076
+24e6 <circle> 0077
+24e7 <circle> 0078
+24e8 <circle> 0079
+24e9 <circle> 007A
+24ea <circle> 0030
+3000 <wide> 0020
+3036 <compat> 3012
+304c 304B 3099
+304e 304D 3099
+3050 304F 3099
+3052 3051 3099
+3054 3053 3099
+3056 3055 3099
+3058 3057 3099
+305a 3059 3099
+305c 305B 3099
+305e 305D 3099
+3060 305F 3099
+3062 3061 3099
+3065 3064 3099
+3067 3066 3099
+3069 3068 3099
+3070 306F 3099
+3071 306F 309A
+3073 3072 3099
+3074 3072 309A
+3076 3075 3099
+3077 3075 309A
+3079 3078 3099
+307a 3078 309A
+307c 307B 3099
+307d 307B 309A
+3094 3046 3099
+309b <compat> 0020 3099
+309c <compat> 0020 309A
+309e 309D 3099
+30ac 30AB 3099
+30ae 30AD 3099
+30b0 30AF 3099
+30b2 30B1 3099
+30b4 30B3 3099
+30b6 30B5 3099
+30b8 30B7 3099
+30ba 30B9 3099
+30bc 30BB 3099
+30be 30BD 3099
+30c0 30BF 3099
+30c2 30C1 3099
+30c5 30C4 3099
+30c7 30C6 3099
+30c9 30C8 3099
+30d0 30CF 3099
+30d1 30CF 309A
+30d3 30D2 3099
+30d4 30D2 309A
+30d6 30D5 3099
+30d7 30D5 309A
+30d9 30D8 3099
+30da 30D8 309A
+30dc 30DB 3099
+30dd 30DB 309A
+30f4 30A6 3099
+30f7 30EF 3099
+30f8 30F0 3099
+30f9 30F1 3099
+30fa 30F2 3099
+30fe 30FD 3099
+3131 <compat> 1100
+3132 <compat> 1101
+3133 <compat> 11AA
+3134 <compat> 1102
+3135 <compat> 11AC
+3136 <compat> 11AD
+3137 <compat> 1103
+3138 <compat> 1104
+3139 <compat> 1105
+313a <compat> 11B0
+313b <compat> 11B1
+313c <compat> 11B2
+313d <compat> 11B3
+313e <compat> 11B4
+313f <compat> 11B5
+3140 <compat> 111A
+3141 <compat> 1106
+3142 <compat> 1107
+3143 <compat> 1108
+3144 <compat> 1121
+3145 <compat> 1109
+3146 <compat> 110A
+3147 <compat> 110B
+3148 <compat> 110C
+3149 <compat> 110D
+314a <compat> 110E
+314b <compat> 110F
+314c <compat> 1110
+314d <compat> 1111
+314e <compat> 1112
+314f <compat> 1161
+3150 <compat> 1162
+3151 <compat> 1163
+3152 <compat> 1164
+3153 <compat> 1165
+3154 <compat> 1166
+3155 <compat> 1167
+3156 <compat> 1168
+3157 <compat> 1169
+3158 <compat> 116A
+3159 <compat> 116B
+315a <compat> 116C
+315b <compat> 116D
+315c <compat> 116E
+315d <compat> 116F
+315e <compat> 1170
+315f <compat> 1171
+3160 <compat> 1172
+3161 <compat> 1173
+3162 <compat> 1174
+3163 <compat> 1175
+3164 <compat> 1160
+3165 <compat> 1114
+3166 <compat> 1115
+3167 <compat> 11C7
+3168 <compat> 11C8
+3169 <compat> 11CC
+316a <compat> 11CE
+316b <compat> 11D3
+316c <compat> 11D7
+316d <compat> 11D9
+316e <compat> 111C
+316f <compat> 11DD
+3170 <compat> 11DF
+3171 <compat> 111D
+3172 <compat> 111E
+3173 <compat> 1120
+3174 <compat> 1122
+3175 <compat> 1123
+3176 <compat> 1127
+3177 <compat> 1129
+3178 <compat> 112B
+3179 <compat> 112C
+317a <compat> 112D
+317b <compat> 112E
+317c <compat> 112F
+317d <compat> 1132
+317e <compat> 1136
+317f <compat> 1140
+3180 <compat> 1147
+3181 <compat> 114C
+3182 <compat> 11F1
+3183 <compat> 11F2
+3184 <compat> 1157
+3185 <compat> 1158
+3186 <compat> 1159
+3187 <compat> 1184
+3188 <compat> 1185
+3189 <compat> 1188
+318a <compat> 1191
+318b <compat> 1192
+318c <compat> 1194
+318d <compat> 119E
+318e <compat> 11A1
+3192 <super> 4E00
+3193 <super> 4E8C
+3194 <super> 4E09
+3195 <super> 56DB
+3196 <super> 4E0A
+3197 <super> 4E2D
+3198 <super> 4E0B
+3199 <super> 7532
+319a <super> 4E59
+319b <super> 4E19
+319c <super> 4E01
+319d <super> 5929
+319e <super> 5730
+319f <super> 4EBA
+3200 <compat> 0028 1100 0029
+3201 <compat> 0028 1102 0029
+3202 <compat> 0028 1103 0029
+3203 <compat> 0028 1105 0029
+3204 <compat> 0028 1106 0029
+3205 <compat> 0028 1107 0029
+3206 <compat> 0028 1109 0029
+3207 <compat> 0028 110B 0029
+3208 <compat> 0028 110C 0029
+3209 <compat> 0028 110E 0029
+320a <compat> 0028 110F 0029
+320b <compat> 0028 1110 0029
+320c <compat> 0028 1111 0029
+320d <compat> 0028 1112 0029
+320e <compat> 0028 1100 1161 0029
+320f <compat> 0028 1102 1161 0029
+3210 <compat> 0028 1103 1161 0029
+3211 <compat> 0028 1105 1161 0029
+3212 <compat> 0028 1106 1161 0029
+3213 <compat> 0028 1107 1161 0029
+3214 <compat> 0028 1109 1161 0029
+3215 <compat> 0028 110B 1161 0029
+3216 <compat> 0028 110C 1161 0029
+3217 <compat> 0028 110E 1161 0029
+3218 <compat> 0028 110F 1161 0029
+3219 <compat> 0028 1110 1161 0029
+321a <compat> 0028 1111 1161 0029
+321b <compat> 0028 1112 1161 0029
+321c <compat> 0028 110C 116E 0029
+3220 <compat> 0028 4E00 0029
+3221 <compat> 0028 4E8C 0029
+3222 <compat> 0028 4E09 0029
+3223 <compat> 0028 56DB 0029
+3224 <compat> 0028 4E94 0029
+3225 <compat> 0028 516D 0029
+3226 <compat> 0028 4E03 0029
+3227 <compat> 0028 516B 0029
+3228 <compat> 0028 4E5D 0029
+3229 <compat> 0028 5341 0029
+322a <compat> 0028 6708 0029
+322b <compat> 0028 706B 0029
+322c <compat> 0028 6C34 0029
+322d <compat> 0028 6728 0029
+322e <compat> 0028 91D1 0029
+322f <compat> 0028 571F 0029
+3230 <compat> 0028 65E5 0029
+3231 <compat> 0028 682A 0029
+3232 <compat> 0028 6709 0029
+3233 <compat> 0028 793E 0029
+3234 <compat> 0028 540D 0029
+3235 <compat> 0028 7279 0029
+3236 <compat> 0028 8CA1 0029
+3237 <compat> 0028 795D 0029
+3238 <compat> 0028 52B4 0029
+3239 <compat> 0028 4EE3 0029
+323a <compat> 0028 547C 0029
+323b <compat> 0028 5B66 0029
+323c <compat> 0028 76E3 0029
+323d <compat> 0028 4F01 0029
+323e <compat> 0028 8CC7 0029
+323f <compat> 0028 5354 0029
+3240 <compat> 0028 796D 0029
+3241 <compat> 0028 4F11 0029
+3242 <compat> 0028 81EA 0029
+3243 <compat> 0028 81F3 0029
+3260 <circle> 1100
+3261 <circle> 1102
+3262 <circle> 1103
+3263 <circle> 1105
+3264 <circle> 1106
+3265 <circle> 1107
+3266 <circle> 1109
+3267 <circle> 110B
+3268 <circle> 110C
+3269 <circle> 110E
+326a <circle> 110F
+326b <circle> 1110
+326c <circle> 1111
+326d <circle> 1112
+326e <circle> 1100 1161
+326f <circle> 1102 1161
+3270 <circle> 1103 1161
+3271 <circle> 1105 1161
+3272 <circle> 1106 1161
+3273 <circle> 1107 1161
+3274 <circle> 1109 1161
+3275 <circle> 110B 1161
+3276 <circle> 110C 1161
+3277 <circle> 110E 1161
+3278 <circle> 110F 1161
+3279 <circle> 1110 1161
+327a <circle> 1111 1161
+327b <circle> 1112 1161
+3280 <circle> 4E00
+3281 <circle> 4E8C
+3282 <circle> 4E09
+3283 <circle> 56DB
+3284 <circle> 4E94
+3285 <circle> 516D
+3286 <circle> 4E03
+3287 <circle> 516B
+3288 <circle> 4E5D
+3289 <circle> 5341
+328a <circle> 6708
+328b <circle> 706B
+328c <circle> 6C34
+328d <circle> 6728
+328e <circle> 91D1
+328f <circle> 571F
+3290 <circle> 65E5
+3291 <circle> 682A
+3292 <circle> 6709
+3293 <circle> 793E
+3294 <circle> 540D
+3295 <circle> 7279
+3296 <circle> 8CA1
+3297 <circle> 795D
+3298 <circle> 52B4
+3299 <circle> 79D8
+329a <circle> 7537
+329b <circle> 5973
+329c <circle> 9069
+329d <circle> 512A
+329e <circle> 5370
+329f <circle> 6CE8
+32a0 <circle> 9805
+32a1 <circle> 4F11
+32a2 <circle> 5199
+32a3 <circle> 6B63
+32a4 <circle> 4E0A
+32a5 <circle> 4E2D
+32a6 <circle> 4E0B
+32a7 <circle> 5DE6
+32a8 <circle> 53F3
+32a9 <circle> 533B
+32aa <circle> 5B97
+32ab <circle> 5B66
+32ac <circle> 76E3
+32ad <circle> 4F01
+32ae <circle> 8CC7
+32af <circle> 5354
+32b0 <circle> 591C
+32c0 <compat> 0031 6708
+32c1 <compat> 0032 6708
+32c2 <compat> 0033 6708
+32c3 <compat> 0034 6708
+32c4 <compat> 0035 6708
+32c5 <compat> 0036 6708
+32c6 <compat> 0037 6708
+32c7 <compat> 0038 6708
+32c8 <compat> 0039 6708
+32c9 <compat> 0031 0030 6708
+32ca <compat> 0031 0031 6708
+32cb <compat> 0031 0032 6708
+32d0 <circle> 30A2
+32d1 <circle> 30A4
+32d2 <circle> 30A6
+32d3 <circle> 30A8
+32d4 <circle> 30AA
+32d5 <circle> 30AB
+32d6 <circle> 30AD
+32d7 <circle> 30AF
+32d8 <circle> 30B1
+32d9 <circle> 30B3
+32da <circle> 30B5
+32db <circle> 30B7
+32dc <circle> 30B9
+32dd <circle> 30BB
+32de <circle> 30BD
+32df <circle> 30BF
+32e0 <circle> 30C1
+32e1 <circle> 30C4
+32e2 <circle> 30C6
+32e3 <circle> 30C8
+32e4 <circle> 30CA
+32e5 <circle> 30CB
+32e6 <circle> 30CC
+32e7 <circle> 30CD
+32e8 <circle> 30CE
+32e9 <circle> 30CF
+32ea <circle> 30D2
+32eb <circle> 30D5
+32ec <circle> 30D8
+32ed <circle> 30DB
+32ee <circle> 30DE
+32ef <circle> 30DF
+32f0 <circle> 30E0
+32f1 <circle> 30E1
+32f2 <circle> 30E2
+32f3 <circle> 30E4
+32f4 <circle> 30E6
+32f5 <circle> 30E8
+32f6 <circle> 30E9
+32f7 <circle> 30EA
+32f8 <circle> 30EB
+32f9 <circle> 30EC
+32fa <circle> 30ED
+32fb <circle> 30EF
+32fc <circle> 30F0
+32fd <circle> 30F1
+32fe <circle> 30F2
+3300 <square> 30A2 30D1 30FC 30C8
+3301 <square> 30A2 30EB 30D5 30A1
+3302 <square> 30A2 30F3 30DA 30A2
+3303 <square> 30A2 30FC 30EB
+3304 <square> 30A4 30CB 30F3 30B0
+3305 <square> 30A4 30F3 30C1
+3306 <square> 30A6 30A9 30F3
+3307 <square> 30A8 30B9 30AF 30FC 30C9
+3308 <square> 30A8 30FC 30AB 30FC
+3309 <square> 30AA 30F3 30B9
+330a <square> 30AA 30FC 30E0
+330b <square> 30AB 30A4 30EA
+330c <square> 30AB 30E9 30C3 30C8
+330d <square> 30AB 30ED 30EA 30FC
+330e <square> 30AC 30ED 30F3
+330f <square> 30AC 30F3 30DE
+3310 <square> 30AE 30AC
+3311 <square> 30AE 30CB 30FC
+3312 <square> 30AD 30E5 30EA 30FC
+3313 <square> 30AE 30EB 30C0 30FC
+3314 <square> 30AD 30ED
+3315 <square> 30AD 30ED 30B0 30E9 30E0
+3316 <square> 30AD 30ED 30E1 30FC 30C8 30EB
+3317 <square> 30AD 30ED 30EF 30C3 30C8
+3318 <square> 30B0 30E9 30E0
+3319 <square> 30B0 30E9 30E0 30C8 30F3
+331a <square> 30AF 30EB 30BC 30A4 30ED
+331b <square> 30AF 30ED 30FC 30CD
+331c <square> 30B1 30FC 30B9
+331d <square> 30B3 30EB 30CA
+331e <square> 30B3 30FC 30DD
+331f <square> 30B5 30A4 30AF 30EB
+3320 <square> 30B5 30F3 30C1 30FC 30E0
+3321 <square> 30B7 30EA 30F3 30B0
+3322 <square> 30BB 30F3 30C1
+3323 <square> 30BB 30F3 30C8
+3324 <square> 30C0 30FC 30B9
+3325 <square> 30C7 30B7
+3326 <square> 30C9 30EB
+3327 <square> 30C8 30F3
+3328 <square> 30CA 30CE
+3329 <square> 30CE 30C3 30C8
+332a <square> 30CF 30A4 30C4
+332b <square> 30D1 30FC 30BB 30F3 30C8
+332c <square> 30D1 30FC 30C4
+332d <square> 30D0 30FC 30EC 30EB
+332e <square> 30D4 30A2 30B9 30C8 30EB
+332f <square> 30D4 30AF 30EB
+3330 <square> 30D4 30B3
+3331 <square> 30D3 30EB
+3332 <square> 30D5 30A1 30E9 30C3 30C9
+3333 <square> 30D5 30A3 30FC 30C8
+3334 <square> 30D6 30C3 30B7 30A7 30EB
+3335 <square> 30D5 30E9 30F3
+3336 <square> 30D8 30AF 30BF 30FC 30EB
+3337 <square> 30DA 30BD
+3338 <square> 30DA 30CB 30D2
+3339 <square> 30D8 30EB 30C4
+333a <square> 30DA 30F3 30B9
+333b <square> 30DA 30FC 30B8
+333c <square> 30D9 30FC 30BF
+333d <square> 30DD 30A4 30F3 30C8
+333e <square> 30DC 30EB 30C8
+333f <square> 30DB 30F3
+3340 <square> 30DD 30F3 30C9
+3341 <square> 30DB 30FC 30EB
+3342 <square> 30DB 30FC 30F3
+3343 <square> 30DE 30A4 30AF 30ED
+3344 <square> 30DE 30A4 30EB
+3345 <square> 30DE 30C3 30CF
+3346 <square> 30DE 30EB 30AF
+3347 <square> 30DE 30F3 30B7 30E7 30F3
+3348 <square> 30DF 30AF 30ED 30F3
+3349 <square> 30DF 30EA
+334a <square> 30DF 30EA 30D0 30FC 30EB
+334b <square> 30E1 30AC
+334c <square> 30E1 30AC 30C8 30F3
+334d <square> 30E1 30FC 30C8 30EB
+334e <square> 30E4 30FC 30C9
+334f <square> 30E4 30FC 30EB
+3350 <square> 30E6 30A2 30F3
+3351 <square> 30EA 30C3 30C8 30EB
+3352 <square> 30EA 30E9
+3353 <square> 30EB 30D4 30FC
+3354 <square> 30EB 30FC 30D6 30EB
+3355 <square> 30EC 30E0
+3356 <square> 30EC 30F3 30C8 30B2 30F3
+3357 <square> 30EF 30C3 30C8
+3358 <compat> 0030 70B9
+3359 <compat> 0031 70B9
+335a <compat> 0032 70B9
+335b <compat> 0033 70B9
+335c <compat> 0034 70B9
+335d <compat> 0035 70B9
+335e <compat> 0036 70B9
+335f <compat> 0037 70B9
+3360 <compat> 0038 70B9
+3361 <compat> 0039 70B9
+3362 <compat> 0031 0030 70B9
+3363 <compat> 0031 0031 70B9
+3364 <compat> 0031 0032 70B9
+3365 <compat> 0031 0033 70B9
+3366 <compat> 0031 0034 70B9
+3367 <compat> 0031 0035 70B9
+3368 <compat> 0031 0036 70B9
+3369 <compat> 0031 0037 70B9
+336a <compat> 0031 0038 70B9
+336b <compat> 0031 0039 70B9
+336c <compat> 0032 0030 70B9
+336d <compat> 0032 0031 70B9
+336e <compat> 0032 0032 70B9
+336f <compat> 0032 0033 70B9
+3370 <compat> 0032 0034 70B9
+3371 <square> 0068 0050 0061
+3372 <square> 0064 0061
+3373 <square> 0041 0055
+3374 <square> 0062 0061 0072
+3375 <square> 006F 0056
+3376 <square> 0070 0063
+337b <square> 5E73 6210
+337c <square> 662D 548C
+337d <square> 5927 6B63
+337e <square> 660E 6CBB
+337f <square> 682A 5F0F 4F1A 793E
+3380 <square> 0070 0041
+3381 <square> 006E 0041
+3382 <square> 03BC 0041
+3383 <square> 006D 0041
+3384 <square> 006B 0041
+3385 <square> 004B 0042
+3386 <square> 004D 0042
+3387 <square> 0047 0042
+3388 <square> 0063 0061 006C
+3389 <square> 006B 0063 0061 006C
+338a <square> 0070 0046
+338b <square> 006E 0046
+338c <square> 03BC 0046
+338d <square> 03BC 0067
+338e <square> 006D 0067
+338f <square> 006B 0067
+3390 <square> 0048 007A
+3391 <square> 006B 0048 007A
+3392 <square> 004D 0048 007A
+3393 <square> 0047 0048 007A
+3394 <square> 0054 0048 007A
+3395 <square> 03BC 2113
+3396 <square> 006D 2113
+3397 <square> 0064 2113
+3398 <square> 006B 2113
+3399 <square> 0066 006D
+339a <square> 006E 006D
+339b <square> 03BC 006D
+339c <square> 006D 006D
+339d <square> 0063 006D
+339e <square> 006B 006D
+339f <square> 006D 006D 00B2
+33a0 <square> 0063 006D 00B2
+33a1 <square> 006D 00B2
+33a2 <square> 006B 006D 00B2
+33a3 <square> 006D 006D 00B3
+33a4 <square> 0063 006D 00B3
+33a5 <square> 006D 00B3
+33a6 <square> 006B 006D 00B3
+33a7 <square> 006D 2215 0073
+33a8 <square> 006D 2215 0073 00B2
+33a9 <square> 0050 0061
+33aa <square> 006B 0050 0061
+33ab <square> 004D 0050 0061
+33ac <square> 0047 0050 0061
+33ad <square> 0072 0061 0064
+33ae <square> 0072 0061 0064 2215 0073
+33af <square> 0072 0061 0064 2215 0073 00B2
+33b0 <square> 0070 0073
+33b1 <square> 006E 0073
+33b2 <square> 03BC 0073
+33b3 <square> 006D 0073
+33b4 <square> 0070 0056
+33b5 <square> 006E 0056
+33b6 <square> 03BC 0056
+33b7 <square> 006D 0056
+33b8 <square> 006B 0056
+33b9 <square> 004D 0056
+33ba <square> 0070 0057
+33bb <square> 006E 0057
+33bc <square> 03BC 0057
+33bd <square> 006D 0057
+33be <square> 006B 0057
+33bf <square> 004D 0057
+33c0 <square> 006B 03A9
+33c1 <square> 004D 03A9
+33c2 <square> 0061 002E 006D 002E
+33c3 <square> 0042 0071
+33c4 <square> 0063 0063
+33c5 <square> 0063 0064
+33c6 <square> 0043 2215 006B 0067
+33c7 <square> 0043 006F 002E
+33c8 <square> 0064 0042
+33c9 <square> 0047 0079
+33ca <square> 0068 0061
+33cb <square> 0048 0050
+33cc <square> 0069 006E
+33cd <square> 004B 004B
+33ce <square> 004B 004D
+33cf <square> 006B 0074
+33d0 <square> 006C 006D
+33d1 <square> 006C 006E
+33d2 <square> 006C 006F 0067
+33d3 <square> 006C 0078
+33d4 <square> 006D 0062
+33d5 <square> 006D 0069 006C
+33d6 <square> 006D 006F 006C
+33d7 <square> 0050 0048
+33d8 <square> 0070 002E 006D 002E
+33d9 <square> 0050 0050 004D
+33da <square> 0050 0052
+33db <square> 0073 0072
+33dc <square> 0053 0076
+33dd <square> 0057 0062
+33e0 <compat> 0031 65E5
+33e1 <compat> 0032 65E5
+33e2 <compat> 0033 65E5
+33e3 <compat> 0034 65E5
+33e4 <compat> 0035 65E5
+33e5 <compat> 0036 65E5
+33e6 <compat> 0037 65E5
+33e7 <compat> 0038 65E5
+33e8 <compat> 0039 65E5
+33e9 <compat> 0031 0030 65E5
+33ea <compat> 0031 0031 65E5
+33eb <compat> 0031 0032 65E5
+33ec <compat> 0031 0033 65E5
+33ed <compat> 0031 0034 65E5
+33ee <compat> 0031 0035 65E5
+33ef <compat> 0031 0036 65E5
+33f0 <compat> 0031 0037 65E5
+33f1 <compat> 0031 0038 65E5
+33f2 <compat> 0031 0039 65E5
+33f3 <compat> 0032 0030 65E5
+33f4 <compat> 0032 0031 65E5
+33f5 <compat> 0032 0032 65E5
+33f6 <compat> 0032 0033 65E5
+33f7 <compat> 0032 0034 65E5
+33f8 <compat> 0032 0035 65E5
+33f9 <compat> 0032 0036 65E5
+33fa <compat> 0032 0037 65E5
+33fb <compat> 0032 0038 65E5
+33fc <compat> 0032 0039 65E5
+33fd <compat> 0033 0030 65E5
+33fe <compat> 0033 0031 65E5
+fb00 <compat> 0066 0066
+fb01 <compat> 0066 0069
+fb02 <compat> 0066 006C
+fb03 <compat> 0066 0066 0069
+fb04 <compat> 0066 0066 006C
+fb05 <compat> 017F 0074
+fb06 <compat> 0073 0074
+fb13 <compat> 0574 0576
+fb14 <compat> 0574 0565
+fb15 <compat> 0574 056B
+fb16 <compat> 057E 0576
+fb17 <compat> 0574 056D
+fb1f 05F2 05B7
+fb20 <font> 05E2
+fb21 <font> 05D0
+fb22 <font> 05D3
+fb23 <font> 05D4
+fb24 <font> 05DB
+fb25 <font> 05DC
+fb26 <font> 05DD
+fb27 <font> 05E8
+fb28 <font> 05EA
+fb29 <font> 002B
+fb2a 05E9 05C1
+fb2b 05E9 05C2
+fb2c 05E9 05BC 05C1
+fb2d 05E9 05BC 05C2
+fb2e 05D0 05B7
+fb2f 05D0 05B8
+fb30 05D0 05BC
+fb31 05D1 05BC
+fb32 05D2 05BC
+fb33 05D3 05BC
+fb34 05D4 05BC
+fb35 05D5 05BC
+fb36 05D6 05BC
+fb38 05D8 05BC
+fb39 05D9 05BC
+fb3a 05DA 05BC
+fb3b 05DB 05BC
+fb3c 05DC 05BC
+fb3e 05DE 05BC
+fb40 05E0 05BC
+fb41 05E1 05BC
+fb43 05E3 05BC
+fb44 05E4 05BC
+fb46 05E6 05BC
+fb47 05E7 05BC
+fb48 05E8 05BC
+fb49 05E9 05BC
+fb4a 05EA 05BC
+fb4b 05D5 05B9
+fb4c 05D1 05BF
+fb4d 05DB 05BF
+fb4e 05E4 05BF
+fb4f <compat> 05D0 05DC
+fb50 <isolated> 0671
+fb51 <final> 0671
+fb52 <isolated> 067B
+fb53 <final> 067B
+fb54 <initial> 067B
+fb55 <medial> 067B
+fb56 <isolated> 067E
+fb57 <final> 067E
+fb58 <initial> 067E
+fb59 <medial> 067E
+fb5a <isolated> 0680
+fb5b <final> 0680
+fb5c <initial> 0680
+fb5d <medial> 0680
+fb5e <isolated> 067A
+fb5f <final> 067A
+fb60 <initial> 067A
+fb61 <medial> 067A
+fb62 <isolated> 067F
+fb63 <final> 067F
+fb64 <initial> 067F
+fb65 <medial> 067F
+fb66 <isolated> 0679
+fb67 <final> 0679
+fb68 <initial> 0679
+fb69 <medial> 0679
+fb6a <isolated> 06A4
+fb6b <final> 06A4
+fb6c <initial> 06A4
+fb6d <medial> 06A4
+fb6e <isolated> 06A6
+fb6f <final> 06A6
+fb70 <initial> 06A6
+fb71 <medial> 06A6
+fb72 <isolated> 0684
+fb73 <final> 0684
+fb74 <initial> 0684
+fb75 <medial> 0684
+fb76 <isolated> 0683
+fb77 <final> 0683
+fb78 <initial> 0683
+fb79 <medial> 0683
+fb7a <isolated> 0686
+fb7b <final> 0686
+fb7c <initial> 0686
+fb7d <medial> 0686
+fb7e <isolated> 0687
+fb7f <final> 0687
+fb80 <initial> 0687
+fb81 <medial> 0687
+fb82 <isolated> 068D
+fb83 <final> 068D
+fb84 <isolated> 068C
+fb85 <final> 068C
+fb86 <isolated> 068E
+fb87 <final> 068E
+fb88 <isolated> 0688
+fb89 <final> 0688
+fb8a <isolated> 0698
+fb8b <final> 0698
+fb8c <isolated> 0691
+fb8d <final> 0691
+fb8e <isolated> 06A9
+fb8f <final> 06A9
+fb90 <initial> 06A9
+fb91 <medial> 06A9
+fb92 <isolated> 06AF
+fb93 <final> 06AF
+fb94 <initial> 06AF
+fb95 <medial> 06AF
+fb96 <isolated> 06B3
+fb97 <final> 06B3
+fb98 <initial> 06B3
+fb99 <medial> 06B3
+fb9a <isolated> 06B1
+fb9b <final> 06B1
+fb9c <initial> 06B1
+fb9d <medial> 06B1
+fb9e <isolated> 06BA
+fb9f <final> 06BA
+fba0 <isolated> 06BB
+fba1 <final> 06BB
+fba2 <initial> 06BB
+fba3 <medial> 06BB
+fba4 <isolated> 06C0
+fba5 <final> 06C0
+fba6 <isolated> 06C1
+fba7 <final> 06C1
+fba8 <initial> 06C1
+fba9 <medial> 06C1
+fbaa <isolated> 06BE
+fbab <final> 06BE
+fbac <initial> 06BE
+fbad <medial> 06BE
+fbae <isolated> 06D2
+fbaf <final> 06D2
+fbb0 <isolated> 06D3
+fbb1 <final> 06D3
+fbd3 <isolated> 06AD
+fbd4 <final> 06AD
+fbd5 <initial> 06AD
+fbd6 <medial> 06AD
+fbd7 <isolated> 06C7
+fbd8 <final> 06C7
+fbd9 <isolated> 06C6
+fbda <final> 06C6
+fbdb <isolated> 06C8
+fbdc <final> 06C8
+fbdd <isolated> 0677
+fbde <isolated> 06CB
+fbdf <final> 06CB
+fbe0 <isolated> 06C5
+fbe1 <final> 06C5
+fbe2 <isolated> 06C9
+fbe3 <final> 06C9
+fbe4 <isolated> 06D0
+fbe5 <final> 06D0
+fbe6 <initial> 06D0
+fbe7 <medial> 06D0
+fbe8 <initial> 0649
+fbe9 <medial> 0649
+fbea <isolated> 0626 0627
+fbeb <final> 0626 0627
+fbec <isolated> 0626 06D5
+fbed <final> 0626 06D5
+fbee <isolated> 0626 0648
+fbef <final> 0626 0648
+fbf0 <isolated> 0626 06C7
+fbf1 <final> 0626 06C7
+fbf2 <isolated> 0626 06C6
+fbf3 <final> 0626 06C6
+fbf4 <isolated> 0626 06C8
+fbf5 <final> 0626 06C8
+fbf6 <isolated> 0626 06D0
+fbf7 <final> 0626 06D0
+fbf8 <initial> 0626 06D0
+fbf9 <isolated> 0626 0649
+fbfa <final> 0626 0649
+fbfb <initial> 0626 0649
+fbfc <isolated> 06CC
+fbfd <final> 06CC
+fbfe <initial> 06CC
+fbff <medial> 06CC
+fc00 <isolated> 0626 062C
+fc01 <isolated> 0626 062D
+fc02 <isolated> 0626 0645
+fc03 <isolated> 0626 0649
+fc04 <isolated> 0626 064A
+fc05 <isolated> 0628 062C
+fc06 <isolated> 0628 062D
+fc07 <isolated> 0628 062E
+fc08 <isolated> 0628 0645
+fc09 <isolated> 0628 0649
+fc0a <isolated> 0628 064A
+fc0b <isolated> 062A 062C
+fc0c <isolated> 062A 062D
+fc0d <isolated> 062A 062E
+fc0e <isolated> 062A 0645
+fc0f <isolated> 062A 0649
+fc10 <isolated> 062A 064A
+fc11 <isolated> 062B 062C
+fc12 <isolated> 062B 0645
+fc13 <isolated> 062B 0649
+fc14 <isolated> 062B 064A
+fc15 <isolated> 062C 062D
+fc16 <isolated> 062C 0645
+fc17 <isolated> 062D 062C
+fc18 <isolated> 062D 0645
+fc19 <isolated> 062E 062C
+fc1a <isolated> 062E 062D
+fc1b <isolated> 062E 0645
+fc1c <isolated> 0633 062C
+fc1d <isolated> 0633 062D
+fc1e <isolated> 0633 062E
+fc1f <isolated> 0633 0645
+fc20 <isolated> 0635 062D
+fc21 <isolated> 0635 0645
+fc22 <isolated> 0636 062C
+fc23 <isolated> 0636 062D
+fc24 <isolated> 0636 062E
+fc25 <isolated> 0636 0645
+fc26 <isolated> 0637 062D
+fc27 <isolated> 0637 0645
+fc28 <isolated> 0638 0645
+fc29 <isolated> 0639 062C
+fc2a <isolated> 0639 0645
+fc2b <isolated> 063A 062C
+fc2c <isolated> 063A 0645
+fc2d <isolated> 0641 062C
+fc2e <isolated> 0641 062D
+fc2f <isolated> 0641 062E
+fc30 <isolated> 0641 0645
+fc31 <isolated> 0641 0649
+fc32 <isolated> 0641 064A
+fc33 <isolated> 0642 062D
+fc34 <isolated> 0642 0645
+fc35 <isolated> 0642 0649
+fc36 <isolated> 0642 064A
+fc37 <isolated> 0643 0627
+fc38 <isolated> 0643 062C
+fc39 <isolated> 0643 062D
+fc3a <isolated> 0643 062E
+fc3b <isolated> 0643 0644
+fc3c <isolated> 0643 0645
+fc3d <isolated> 0643 0649
+fc3e <isolated> 0643 064A
+fc3f <isolated> 0644 062C
+fc40 <isolated> 0644 062D
+fc41 <isolated> 0644 062E
+fc42 <isolated> 0644 0645
+fc43 <isolated> 0644 0649
+fc44 <isolated> 0644 064A
+fc45 <isolated> 0645 062C
+fc46 <isolated> 0645 062D
+fc47 <isolated> 0645 062E
+fc48 <isolated> 0645 0645
+fc49 <isolated> 0645 0649
+fc4a <isolated> 0645 064A
+fc4b <isolated> 0646 062C
+fc4c <isolated> 0646 062D
+fc4d <isolated> 0646 062E
+fc4e <isolated> 0646 0645
+fc4f <isolated> 0646 0649
+fc50 <isolated> 0646 064A
+fc51 <isolated> 0647 062C
+fc52 <isolated> 0647 0645
+fc53 <isolated> 0647 0649
+fc54 <isolated> 0647 064A
+fc55 <isolated> 064A 062C
+fc56 <isolated> 064A 062D
+fc57 <isolated> 064A 062E
+fc58 <isolated> 064A 0645
+fc59 <isolated> 064A 0649
+fc5a <isolated> 064A 064A
+fc5b <isolated> 0630 0670
+fc5c <isolated> 0631 0670
+fc5d <isolated> 0649 0670
+fc5e <isolated> 0020 0651 064C
+fc5f <isolated> 0020 0651 064D
+fc60 <isolated> 0020 0651 064E
+fc61 <isolated> 0020 0651 064F
+fc62 <isolated> 0020 0651 0650
+fc63 <isolated> 0020 0651 0670
+fc64 <final> 0626 0631
+fc65 <final> 0626 0632
+fc66 <final> 0626 0645
+fc67 <final> 0626 0646
+fc68 <final> 0626 0649
+fc69 <final> 0626 064A
+fc6a <final> 0628 0631
+fc6b <final> 0628 0632
+fc6c <final> 0628 0645
+fc6d <final> 0628 0646
+fc6e <final> 0628 0649
+fc6f <final> 0628 064A
+fc70 <final> 062A 0631
+fc71 <final> 062A 0632
+fc72 <final> 062A 0645
+fc73 <final> 062A 0646
+fc74 <final> 062A 0649
+fc75 <final> 062A 064A
+fc76 <final> 062B 0631
+fc77 <final> 062B 0632
+fc78 <final> 062B 0645
+fc79 <final> 062B 0646
+fc7a <final> 062B 0649
+fc7b <final> 062B 064A
+fc7c <final> 0641 0649
+fc7d <final> 0641 064A
+fc7e <final> 0642 0649
+fc7f <final> 0642 064A
+fc80 <final> 0643 0627
+fc81 <final> 0643 0644
+fc82 <final> 0643 0645
+fc83 <final> 0643 0649
+fc84 <final> 0643 064A
+fc85 <final> 0644 0645
+fc86 <final> 0644 0649
+fc87 <final> 0644 064A
+fc88 <final> 0645 0627
+fc89 <final> 0645 0645
+fc8a <final> 0646 0631
+fc8b <final> 0646 0632
+fc8c <final> 0646 0645
+fc8d <final> 0646 0646
+fc8e <final> 0646 0649
+fc8f <final> 0646 064A
+fc90 <final> 0649 0670
+fc91 <final> 064A 0631
+fc92 <final> 064A 0632
+fc93 <final> 064A 0645
+fc94 <final> 064A 0646
+fc95 <final> 064A 0649
+fc96 <final> 064A 064A
+fc97 <initial> 0626 062C
+fc98 <initial> 0626 062D
+fc99 <initial> 0626 062E
+fc9a <initial> 0626 0645
+fc9b <initial> 0626 0647
+fc9c <initial> 0628 062C
+fc9d <initial> 0628 062D
+fc9e <initial> 0628 062E
+fc9f <initial> 0628 0645
+fca0 <initial> 0628 0647
+fca1 <initial> 062A 062C
+fca2 <initial> 062A 062D
+fca3 <initial> 062A 062E
+fca4 <initial> 062A 0645
+fca5 <initial> 062A 0647
+fca6 <initial> 062B 0645
+fca7 <initial> 062C 062D
+fca8 <initial> 062C 0645
+fca9 <initial> 062D 062C
+fcaa <initial> 062D 0645
+fcab <initial> 062E 062C
+fcac <initial> 062E 0645
+fcad <initial> 0633 062C
+fcae <initial> 0633 062D
+fcaf <initial> 0633 062E
+fcb0 <initial> 0633 0645
+fcb1 <initial> 0635 062D
+fcb2 <initial> 0635 062E
+fcb3 <initial> 0635 0645
+fcb4 <initial> 0636 062C
+fcb5 <initial> 0636 062D
+fcb6 <initial> 0636 062E
+fcb7 <initial> 0636 0645
+fcb8 <initial> 0637 062D
+fcb9 <initial> 0638 0645
+fcba <initial> 0639 062C
+fcbb <initial> 0639 0645
+fcbc <initial> 063A 062C
+fcbd <initial> 063A 0645
+fcbe <initial> 0641 062C
+fcbf <initial> 0641 062D
+fcc0 <initial> 0641 062E
+fcc1 <initial> 0641 0645
+fcc2 <initial> 0642 062D
+fcc3 <initial> 0642 0645
+fcc4 <initial> 0643 062C
+fcc5 <initial> 0643 062D
+fcc6 <initial> 0643 062E
+fcc7 <initial> 0643 0644
+fcc8 <initial> 0643 0645
+fcc9 <initial> 0644 062C
+fcca <initial> 0644 062D
+fccb <initial> 0644 062E
+fccc <initial> 0644 0645
+fccd <initial> 0644 0647
+fcce <initial> 0645 062C
+fccf <initial> 0645 062D
+fcd0 <initial> 0645 062E
+fcd1 <initial> 0645 0645
+fcd2 <initial> 0646 062C
+fcd3 <initial> 0646 062D
+fcd4 <initial> 0646 062E
+fcd5 <initial> 0646 0645
+fcd6 <initial> 0646 0647
+fcd7 <initial> 0647 062C
+fcd8 <initial> 0647 0645
+fcd9 <initial> 0647 0670
+fcda <initial> 064A 062C
+fcdb <initial> 064A 062D
+fcdc <initial> 064A 062E
+fcdd <initial> 064A 0645
+fcde <initial> 064A 0647
+fcdf <medial> 0626 0645
+fce0 <medial> 0626 0647
+fce1 <medial> 0628 0645
+fce2 <medial> 0628 0647
+fce3 <medial> 062A 0645
+fce4 <medial> 062A 0647
+fce5 <medial> 062B 0645
+fce6 <medial> 062B 0647
+fce7 <medial> 0633 0645
+fce8 <medial> 0633 0647
+fce9 <medial> 0634 0645
+fcea <medial> 0634 0647
+fceb <medial> 0643 0644
+fcec <medial> 0643 0645
+fced <medial> 0644 0645
+fcee <medial> 0646 0645
+fcef <medial> 0646 0647
+fcf0 <medial> 064A 0645
+fcf1 <medial> 064A 0647
+fcf2 <medial> 0640 0651 064E
+fcf3 <medial> 0640 0651 064F
+fcf4 <medial> 0640 0651 0650
+fcf5 <isolated> 0637 0649
+fcf6 <isolated> 0637 064A
+fcf7 <isolated> 0639 0649
+fcf8 <isolated> 0639 064A
+fcf9 <isolated> 063A 0649
+fcfa <isolated> 063A 064A
+fcfb <isolated> 0633 0649
+fcfc <isolated> 0633 064A
+fcfd <isolated> 0634 0649
+fcfe <isolated> 0634 064A
+fcff <isolated> 062D 0649
+fd00 <isolated> 062D 064A
+fd01 <isolated> 062C 0649
+fd02 <isolated> 062C 064A
+fd03 <isolated> 062E 0649
+fd04 <isolated> 062E 064A
+fd05 <isolated> 0635 0649
+fd06 <isolated> 0635 064A
+fd07 <isolated> 0636 0649
+fd08 <isolated> 0636 064A
+fd09 <isolated> 0634 062C
+fd0a <isolated> 0634 062D
+fd0b <isolated> 0634 062E
+fd0c <isolated> 0634 0645
+fd0d <isolated> 0634 0631
+fd0e <isolated> 0633 0631
+fd0f <isolated> 0635 0631
+fd10 <isolated> 0636 0631
+fd11 <final> 0637 0649
+fd12 <final> 0637 064A
+fd13 <final> 0639 0649
+fd14 <final> 0639 064A
+fd15 <final> 063A 0649
+fd16 <final> 063A 064A
+fd17 <final> 0633 0649
+fd18 <final> 0633 064A
+fd19 <final> 0634 0649
+fd1a <final> 0634 064A
+fd1b <final> 062D 0649
+fd1c <final> 062D 064A
+fd1d <final> 062C 0649
+fd1e <final> 062C 064A
+fd1f <final> 062E 0649
+fd20 <final> 062E 064A
+fd21 <final> 0635 0649
+fd22 <final> 0635 064A
+fd23 <final> 0636 0649
+fd24 <final> 0636 064A
+fd25 <final> 0634 062C
+fd26 <final> 0634 062D
+fd27 <final> 0634 062E
+fd28 <final> 0634 0645
+fd29 <final> 0634 0631
+fd2a <final> 0633 0631
+fd2b <final> 0635 0631
+fd2c <final> 0636 0631
+fd2d <initial> 0634 062C
+fd2e <initial> 0634 062D
+fd2f <initial> 0634 062E
+fd30 <initial> 0634 0645
+fd31 <initial> 0633 0647
+fd32 <initial> 0634 0647
+fd33 <initial> 0637 0645
+fd34 <medial> 0633 062C
+fd35 <medial> 0633 062D
+fd36 <medial> 0633 062E
+fd37 <medial> 0634 062C
+fd38 <medial> 0634 062D
+fd39 <medial> 0634 062E
+fd3a <medial> 0637 0645
+fd3b <medial> 0638 0645
+fd3c <final> 0627 064B
+fd3d <isolated> 0627 064B
+fd50 <initial> 062A 062C 0645
+fd51 <final> 062A 062D 062C
+fd52 <initial> 062A 062D 062C
+fd53 <initial> 062A 062D 0645
+fd54 <initial> 062A 062E 0645
+fd55 <initial> 062A 0645 062C
+fd56 <initial> 062A 0645 062D
+fd57 <initial> 062A 0645 062E
+fd58 <final> 062C 0645 062D
+fd59 <initial> 062C 0645 062D
+fd5a <final> 062D 0645 064A
+fd5b <final> 062D 0645 0649
+fd5c <initial> 0633 062D 062C
+fd5d <initial> 0633 062C 062D
+fd5e <final> 0633 062C 0649
+fd5f <final> 0633 0645 062D
+fd60 <initial> 0633 0645 062D
+fd61 <initial> 0633 0645 062C
+fd62 <final> 0633 0645 0645
+fd63 <initial> 0633 0645 0645
+fd64 <final> 0635 062D 062D
+fd65 <initial> 0635 062D 062D
+fd66 <final> 0635 0645 0645
+fd67 <final> 0634 062D 0645
+fd68 <initial> 0634 062D 0645
+fd69 <final> 0634 062C 064A
+fd6a <final> 0634 0645 062E
+fd6b <initial> 0634 0645 062E
+fd6c <final> 0634 0645 0645
+fd6d <initial> 0634 0645 0645
+fd6e <final> 0636 062D 0649
+fd6f <final> 0636 062E 0645
+fd70 <initial> 0636 062E 0645
+fd71 <final> 0637 0645 062D
+fd72 <initial> 0637 0645 062D
+fd73 <initial> 0637 0645 0645
+fd74 <final> 0637 0645 064A
+fd75 <final> 0639 062C 0645
+fd76 <final> 0639 0645 0645
+fd77 <initial> 0639 0645 0645
+fd78 <final> 0639 0645 0649
+fd79 <final> 063A 0645 0645
+fd7a <final> 063A 0645 064A
+fd7b <final> 063A 0645 0649
+fd7c <final> 0641 062E 0645
+fd7d <initial> 0641 062E 0645
+fd7e <final> 0642 0645 062D
+fd7f <final> 0642 0645 0645
+fd80 <final> 0644 062D 0645
+fd81 <final> 0644 062D 064A
+fd82 <final> 0644 062D 0649
+fd83 <initial> 0644 062C 062C
+fd84 <final> 0644 062C 062C
+fd85 <final> 0644 062E 0645
+fd86 <initial> 0644 062E 0645
+fd87 <final> 0644 0645 062D
+fd88 <initial> 0644 0645 062D
+fd89 <initial> 0645 062D 062C
+fd8a <initial> 0645 062D 0645
+fd8b <final> 0645 062D 064A
+fd8c <initial> 0645 062C 062D
+fd8d <initial> 0645 062C 0645
+fd8e <initial> 0645 062E 062C
+fd8f <initial> 0645 062E 0645
+fd92 <initial> 0645 062C 062E
+fd93 <initial> 0647 0645 062C
+fd94 <initial> 0647 0645 0645
+fd95 <initial> 0646 062D 0645
+fd96 <final> 0646 062D 0649
+fd97 <final> 0646 062C 0645
+fd98 <initial> 0646 062C 0645
+fd99 <final> 0646 062C 0649
+fd9a <final> 0646 0645 064A
+fd9b <final> 0646 0645 0649
+fd9c <final> 064A 0645 0645
+fd9d <initial> 064A 0645 0645
+fd9e <final> 0628 062E 064A
+fd9f <final> 062A 062C 064A
+fda0 <final> 062A 062C 0649
+fda1 <final> 062A 062E 064A
+fda2 <final> 062A 062E 0649
+fda3 <final> 062A 0645 064A
+fda4 <final> 062A 0645 0649
+fda5 <final> 062C 0645 064A
+fda6 <final> 062C 062D 0649
+fda7 <final> 062C 0645 0649
+fda8 <final> 0633 062E 0649
+fda9 <final> 0635 062D 064A
+fdaa <final> 0634 062D 064A
+fdab <final> 0636 062D 064A
+fdac <final> 0644 062C 064A
+fdad <final> 0644 0645 064A
+fdae <final> 064A 062D 064A
+fdaf <final> 064A 062C 064A
+fdb0 <final> 064A 0645 064A
+fdb1 <final> 0645 0645 064A
+fdb2 <final> 0642 0645 064A
+fdb3 <final> 0646 062D 064A
+fdb4 <initial> 0642 0645 062D
+fdb5 <initial> 0644 062D 0645
+fdb6 <final> 0639 0645 064A
+fdb7 <final> 0643 0645 064A
+fdb8 <initial> 0646 062C 062D
+fdb9 <final> 0645 062E 064A
+fdba <initial> 0644 062C 0645
+fdbb <final> 0643 0645 0645
+fdbc <final> 0644 062C 0645
+fdbd <final> 0646 062C 062D
+fdbe <final> 062C 062D 064A
+fdbf <final> 062D 062C 064A
+fdc0 <final> 0645 062C 064A
+fdc1 <final> 0641 0645 064A
+fdc2 <final> 0628 062D 064A
+fdc3 <initial> 0643 0645 0645
+fdc4 <initial> 0639 062C 0645
+fdc5 <initial> 0635 0645 0645
+fdc6 <final> 0633 062E 064A
+fdc7 <final> 0646 062C 064A
+fdf0 <isolated> 0635 0644 06D2
+fdf1 <isolated> 0642 0644 06D2
+fdf2 <isolated> 0627 0644 0644 0647
+fdf3 <isolated> 0627 0643 0628 0631
+fdf4 <isolated> 0645 062D 0645 062F
+fdf5 <isolated> 0635 0644 0639 0645
+fdf6 <isolated> 0631 0633 0648 0644
+fdf7 <isolated> 0639 0644 064A 0647
+fdf8 <isolated> 0648 0633 0644 0645
+fdf9 <isolated> 0635 0644 0649
+fdfa <isolated> 0635 0644 0649 0020 0627 0644 0644 0647 0020 0639 0644 064A 0647 0020 0648 0633 0644 0645
+fdfb <isolated> 062C 0644 0020 062C 0644 0627 0644 0647
+fe30 <vertical> 2025
+fe31 <vertical> 2014
+fe32 <vertical> 2013
+fe33 fe34 <vertical> 005F
+fe35 <vertical> 0028
+fe36 <vertical> 0029
+fe37 <vertical> 007B
+fe38 <vertical> 007D
+fe39 <vertical> 3014
+fe3a <vertical> 3015
+fe3b <vertical> 3010
+fe3c <vertical> 3011
+fe3d <vertical> 300A
+fe3e <vertical> 300B
+fe3f <vertical> 3008
+fe40 <vertical> 3009
+fe41 <vertical> 300C
+fe42 <vertical> 300D
+fe43 <vertical> 300E
+fe44 <vertical> 300F
+fe49 fe4c <compat> 203E
+fe4d fe4f <compat> 005F
+fe50 <small> 002C
+fe51 <small> 3001
+fe52 <small> 002E
+fe54 <small> 003B
+fe55 <small> 003A
+fe56 <small> 003F
+fe57 <small> 0021
+fe58 <small> 2014
+fe59 <small> 0028
+fe5a <small> 0029
+fe5b <small> 007B
+fe5c <small> 007D
+fe5d <small> 3014
+fe5e <small> 3015
+fe5f <small> 0023
+fe60 <small> 0026
+fe61 <small> 002A
+fe62 <small> 002B
+fe63 <small> 002D
+fe64 <small> 003C
+fe65 <small> 003E
+fe66 <small> 003D
+fe68 <small> 005C
+fe69 <small> 0024
+fe6a <small> 0025
+fe6b <small> 0040
+fe70 <isolated> 0020 064B
+fe71 <medial> 0640 064B
+fe72 <isolated> 0020 064C
+fe74 <isolated> 0020 064D
+fe76 <isolated> 0020 064E
+fe77 <medial> 0640 064E
+fe78 <isolated> 0020 064F
+fe79 <medial> 0640 064F
+fe7a <isolated> 0020 0650
+fe7b <medial> 0640 0650
+fe7c <isolated> 0020 0651
+fe7d <medial> 0640 0651
+fe7e <isolated> 0020 0652
+fe7f <medial> 0640 0652
+fe80 <isolated> 0621
+fe81 <isolated> 0622
+fe82 <final> 0622
+fe83 <isolated> 0623
+fe84 <final> 0623
+fe85 <isolated> 0624
+fe86 <final> 0624
+fe87 <isolated> 0625
+fe88 <final> 0625
+fe89 <isolated> 0626
+fe8a <final> 0626
+fe8b <initial> 0626
+fe8c <medial> 0626
+fe8d <isolated> 0627
+fe8e <final> 0627
+fe8f <isolated> 0628
+fe90 <final> 0628
+fe91 <initial> 0628
+fe92 <medial> 0628
+fe93 <isolated> 0629
+fe94 <final> 0629
+fe95 <isolated> 062A
+fe96 <final> 062A
+fe97 <initial> 062A
+fe98 <medial> 062A
+fe99 <isolated> 062B
+fe9a <final> 062B
+fe9b <initial> 062B
+fe9c <medial> 062B
+fe9d <isolated> 062C
+fe9e <final> 062C
+fe9f <initial> 062C
+fea0 <medial> 062C
+fea1 <isolated> 062D
+fea2 <final> 062D
+fea3 <initial> 062D
+fea4 <medial> 062D
+fea5 <isolated> 062E
+fea6 <final> 062E
+fea7 <initial> 062E
+fea8 <medial> 062E
+fea9 <isolated> 062F
+feaa <final> 062F
+feab <isolated> 0630
+feac <final> 0630
+fead <isolated> 0631
+feae <final> 0631
+feaf <isolated> 0632
+feb0 <final> 0632
+feb1 <isolated> 0633
+feb2 <final> 0633
+feb3 <initial> 0633
+feb4 <medial> 0633
+feb5 <isolated> 0634
+feb6 <final> 0634
+feb7 <initial> 0634
+feb8 <medial> 0634
+feb9 <isolated> 0635
+feba <final> 0635
+febb <initial> 0635
+febc <medial> 0635
+febd <isolated> 0636
+febe <final> 0636
+febf <initial> 0636
+fec0 <medial> 0636
+fec1 <isolated> 0637
+fec2 <final> 0637
+fec3 <initial> 0637
+fec4 <medial> 0637
+fec5 <isolated> 0638
+fec6 <final> 0638
+fec7 <initial> 0638
+fec8 <medial> 0638
+fec9 <isolated> 0639
+feca <final> 0639
+fecb <initial> 0639
+fecc <medial> 0639
+fecd <isolated> 063A
+fece <final> 063A
+fecf <initial> 063A
+fed0 <medial> 063A
+fed1 <isolated> 0641
+fed2 <final> 0641
+fed3 <initial> 0641
+fed4 <medial> 0641
+fed5 <isolated> 0642
+fed6 <final> 0642
+fed7 <initial> 0642
+fed8 <medial> 0642
+fed9 <isolated> 0643
+feda <final> 0643
+fedb <initial> 0643
+fedc <medial> 0643
+fedd <isolated> 0644
+fede <final> 0644
+fedf <initial> 0644
+fee0 <medial> 0644
+fee1 <isolated> 0645
+fee2 <final> 0645
+fee3 <initial> 0645
+fee4 <medial> 0645
+fee5 <isolated> 0646
+fee6 <final> 0646
+fee7 <initial> 0646
+fee8 <medial> 0646
+fee9 <isolated> 0647
+feea <final> 0647
+feeb <initial> 0647
+feec <medial> 0647
+feed <isolated> 0648
+feee <final> 0648
+feef <isolated> 0649
+fef0 <final> 0649
+fef1 <isolated> 064A
+fef2 <final> 064A
+fef3 <initial> 064A
+fef4 <medial> 064A
+fef5 <isolated> 0644 0622
+fef6 <final> 0644 0622
+fef7 <isolated> 0644 0623
+fef8 <final> 0644 0623
+fef9 <isolated> 0644 0625
+fefa <final> 0644 0625
+fefb <isolated> 0644 0627
+fefc <final> 0644 0627
+ff01 <wide> 0021
+ff02 <wide> 0022
+ff03 <wide> 0023
+ff04 <wide> 0024
+ff05 <wide> 0025
+ff06 <wide> 0026
+ff07 <wide> 0027
+ff08 <wide> 0028
+ff09 <wide> 0029
+ff0a <wide> 002A
+ff0b <wide> 002B
+ff0c <wide> 002C
+ff0d <wide> 002D
+ff0e <wide> 002E
+ff0f <wide> 002F
+ff10 <wide> 0030
+ff11 <wide> 0031
+ff12 <wide> 0032
+ff13 <wide> 0033
+ff14 <wide> 0034
+ff15 <wide> 0035
+ff16 <wide> 0036
+ff17 <wide> 0037
+ff18 <wide> 0038
+ff19 <wide> 0039
+ff1a <wide> 003A
+ff1b <wide> 003B
+ff1c <wide> 003C
+ff1d <wide> 003D
+ff1e <wide> 003E
+ff1f <wide> 003F
+ff20 <wide> 0040
+ff21 <wide> 0041
+ff22 <wide> 0042
+ff23 <wide> 0043
+ff24 <wide> 0044
+ff25 <wide> 0045
+ff26 <wide> 0046
+ff27 <wide> 0047
+ff28 <wide> 0048
+ff29 <wide> 0049
+ff2a <wide> 004A
+ff2b <wide> 004B
+ff2c <wide> 004C
+ff2d <wide> 004D
+ff2e <wide> 004E
+ff2f <wide> 004F
+ff30 <wide> 0050
+ff31 <wide> 0051
+ff32 <wide> 0052
+ff33 <wide> 0053
+ff34 <wide> 0054
+ff35 <wide> 0055
+ff36 <wide> 0056
+ff37 <wide> 0057
+ff38 <wide> 0058
+ff39 <wide> 0059
+ff3a <wide> 005A
+ff3b <wide> 005B
+ff3c <wide> 005C
+ff3d <wide> 005D
+ff3e <wide> 005E
+ff3f <wide> 005F
+ff40 <wide> 0060
+ff41 <wide> 0061
+ff42 <wide> 0062
+ff43 <wide> 0063
+ff44 <wide> 0064
+ff45 <wide> 0065
+ff46 <wide> 0066
+ff47 <wide> 0067
+ff48 <wide> 0068
+ff49 <wide> 0069
+ff4a <wide> 006A
+ff4b <wide> 006B
+ff4c <wide> 006C
+ff4d <wide> 006D
+ff4e <wide> 006E
+ff4f <wide> 006F
+ff50 <wide> 0070
+ff51 <wide> 0071
+ff52 <wide> 0072
+ff53 <wide> 0073
+ff54 <wide> 0074
+ff55 <wide> 0075
+ff56 <wide> 0076
+ff57 <wide> 0077
+ff58 <wide> 0078
+ff59 <wide> 0079
+ff5a <wide> 007A
+ff5b <wide> 007B
+ff5c <wide> 007C
+ff5d <wide> 007D
+ff5e <wide> 007E
+ff61 <narrow> 3002
+ff62 <narrow> 300C
+ff63 <narrow> 300D
+ff64 <narrow> 3001
+ff65 <narrow> 30FB
+ff66 <narrow> 30F2
+ff67 <narrow> 30A1
+ff68 <narrow> 30A3
+ff69 <narrow> 30A5
+ff6a <narrow> 30A7
+ff6b <narrow> 30A9
+ff6c <narrow> 30E3
+ff6d <narrow> 30E5
+ff6e <narrow> 30E7
+ff6f <narrow> 30C3
+ff70 <narrow> 30FC
+ff71 <narrow> 30A2
+ff72 <narrow> 30A4
+ff73 <narrow> 30A6
+ff74 <narrow> 30A8
+ff75 <narrow> 30AA
+ff76 <narrow> 30AB
+ff77 <narrow> 30AD
+ff78 <narrow> 30AF
+ff79 <narrow> 30B1
+ff7a <narrow> 30B3
+ff7b <narrow> 30B5
+ff7c <narrow> 30B7
+ff7d <narrow> 30B9
+ff7e <narrow> 30BB
+ff7f <narrow> 30BD
+ff80 <narrow> 30BF
+ff81 <narrow> 30C1
+ff82 <narrow> 30C4
+ff83 <narrow> 30C6
+ff84 <narrow> 30C8
+ff85 <narrow> 30CA
+ff86 <narrow> 30CB
+ff87 <narrow> 30CC
+ff88 <narrow> 30CD
+ff89 <narrow> 30CE
+ff8a <narrow> 30CF
+ff8b <narrow> 30D2
+ff8c <narrow> 30D5
+ff8d <narrow> 30D8
+ff8e <narrow> 30DB
+ff8f <narrow> 30DE
+ff90 <narrow> 30DF
+ff91 <narrow> 30E0
+ff92 <narrow> 30E1
+ff93 <narrow> 30E2
+ff94 <narrow> 30E4
+ff95 <narrow> 30E6
+ff96 <narrow> 30E8
+ff97 <narrow> 30E9
+ff98 <narrow> 30EA
+ff99 <narrow> 30EB
+ff9a <narrow> 30EC
+ff9b <narrow> 30ED
+ff9c <narrow> 30EF
+ff9d <narrow> 30F3
+ff9e <narrow> 309B
+ff9f <narrow> 309C
+ffa0 <narrow> 3164
+ffa1 <narrow> 3131
+ffa2 <narrow> 3132
+ffa3 <narrow> 3133
+ffa4 <narrow> 3134
+ffa5 <narrow> 3135
+ffa6 <narrow> 3136
+ffa7 <narrow> 3137
+ffa8 <narrow> 3138
+ffa9 <narrow> 3139
+ffaa <narrow> 313A
+ffab <narrow> 313B
+ffac <narrow> 313C
+ffad <narrow> 313D
+ffae <narrow> 313E
+ffaf <narrow> 313F
+ffb0 <narrow> 3140
+ffb1 <narrow> 3141
+ffb2 <narrow> 3142
+ffb3 <narrow> 3143
+ffb4 <narrow> 3144
+ffb5 <narrow> 3145
+ffb6 <narrow> 3146
+ffb7 <narrow> 3147
+ffb8 <narrow> 3148
+ffb9 <narrow> 3149
+ffba <narrow> 314A
+ffbb <narrow> 314B
+ffbc <narrow> 314C
+ffbd <narrow> 314D
+ffbe <narrow> 314E
+ffc2 <narrow> 314F
+ffc3 <narrow> 3150
+ffc4 <narrow> 3151
+ffc5 <narrow> 3152
+ffc6 <narrow> 3153
+ffc7 <narrow> 3154
+ffca <narrow> 3155
+ffcb <narrow> 3156
+ffcc <narrow> 3157
+ffcd <narrow> 3158
+ffce <narrow> 3159
+ffcf <narrow> 315A
+ffd2 <narrow> 315B
+ffd3 <narrow> 315C
+ffd4 <narrow> 315D
+ffd5 <narrow> 315E
+ffd6 <narrow> 315F
+ffd7 <narrow> 3160
+ffda <narrow> 3161
+ffdb <narrow> 3162
+ffdc <narrow> 3163
+ffe0 <wide> 00A2
+ffe1 <wide> 00A3
+ffe2 <wide> 00AC
+ffe3 <wide> 00AF
+ffe4 <wide> 00A6
+ffe5 <wide> 00A5
+ffe6 <wide> 20A9
+ffe8 <narrow> 2502
+ffe9 <narrow> 2190
+ffea <narrow> 2191
+ffeb <narrow> 2192
+ffec <narrow> 2193
+ffed <narrow> 25A0
+ffee <narrow> 25CB
+END
diff --git a/lib/unicode/In/AlphabeticPresentationForms.pl b/lib/unicode/In/AlphabeticPresentationForms.pl
new file mode 100644
index 0000000000..93ded27a55
--- /dev/null
+++ b/lib/unicode/In/AlphabeticPresentationForms.pl
@@ -0,0 +1,3 @@
+return <<'END';
+FB00 FB4F
+END
diff --git a/lib/unicode/In/Arabic.pl b/lib/unicode/In/Arabic.pl
new file mode 100644
index 0000000000..a9645d55a2
--- /dev/null
+++ b/lib/unicode/In/Arabic.pl
@@ -0,0 +1,3 @@
+return <<'END';
+0600 06FF
+END
diff --git a/lib/unicode/In/ArabicPresentationForms-A.pl b/lib/unicode/In/ArabicPresentationForms-A.pl
new file mode 100644
index 0000000000..b87293762a
--- /dev/null
+++ b/lib/unicode/In/ArabicPresentationForms-A.pl
@@ -0,0 +1,3 @@
+return <<'END';
+FB50 FDFF
+END
diff --git a/lib/unicode/In/ArabicPresentationForms-B.pl b/lib/unicode/In/ArabicPresentationForms-B.pl
new file mode 100644
index 0000000000..0740d3b2ea
--- /dev/null
+++ b/lib/unicode/In/ArabicPresentationForms-B.pl
@@ -0,0 +1,3 @@
+return <<'END';
+FE70 FEFF
+END
diff --git a/lib/unicode/In/Armenian.pl b/lib/unicode/In/Armenian.pl
new file mode 100644
index 0000000000..f86fd3c58a
--- /dev/null
+++ b/lib/unicode/In/Armenian.pl
@@ -0,0 +1,3 @@
+return <<'END';
+0530 058F
+END
diff --git a/lib/unicode/In/Arrows.pl b/lib/unicode/In/Arrows.pl
new file mode 100644
index 0000000000..3910c8dacd
--- /dev/null
+++ b/lib/unicode/In/Arrows.pl
@@ -0,0 +1,3 @@
+return <<'END';
+2190 21FF
+END
diff --git a/lib/unicode/In/BasicLatin.pl b/lib/unicode/In/BasicLatin.pl
new file mode 100644
index 0000000000..9ce83b3d2d
--- /dev/null
+++ b/lib/unicode/In/BasicLatin.pl
@@ -0,0 +1,3 @@
+return <<'END';
+0000 007F
+END
diff --git a/lib/unicode/In/Bengali.pl b/lib/unicode/In/Bengali.pl
new file mode 100644
index 0000000000..0589b85d81
--- /dev/null
+++ b/lib/unicode/In/Bengali.pl
@@ -0,0 +1,3 @@
+return <<'END';
+0980 09FF
+END
diff --git a/lib/unicode/In/BlockElements.pl b/lib/unicode/In/BlockElements.pl
new file mode 100644
index 0000000000..a52c848d11
--- /dev/null
+++ b/lib/unicode/In/BlockElements.pl
@@ -0,0 +1,3 @@
+return <<'END';
+2580 259F
+END
diff --git a/lib/unicode/In/Bopomofo.pl b/lib/unicode/In/Bopomofo.pl
new file mode 100644
index 0000000000..5af1356e3e
--- /dev/null
+++ b/lib/unicode/In/Bopomofo.pl
@@ -0,0 +1,3 @@
+return <<'END';
+3100 312F
+END
diff --git a/lib/unicode/In/BoxDrawing.pl b/lib/unicode/In/BoxDrawing.pl
new file mode 100644
index 0000000000..c9c1d1e5bc
--- /dev/null
+++ b/lib/unicode/In/BoxDrawing.pl
@@ -0,0 +1,3 @@
+return <<'END';
+2500 257F
+END
diff --git a/lib/unicode/In/CJKCompatibility.pl b/lib/unicode/In/CJKCompatibility.pl
new file mode 100644
index 0000000000..66cbc545c9
--- /dev/null
+++ b/lib/unicode/In/CJKCompatibility.pl
@@ -0,0 +1,3 @@
+return <<'END';
+3300 33FF
+END
diff --git a/lib/unicode/In/CJKCompatibilityForms.pl b/lib/unicode/In/CJKCompatibilityForms.pl
new file mode 100644
index 0000000000..e65dbd3aba
--- /dev/null
+++ b/lib/unicode/In/CJKCompatibilityForms.pl
@@ -0,0 +1,3 @@
+return <<'END';
+FE30 FE4F
+END
diff --git a/lib/unicode/In/CJKCompatibilityIdeographs.pl b/lib/unicode/In/CJKCompatibilityIdeographs.pl
new file mode 100644
index 0000000000..b6822621e8
--- /dev/null
+++ b/lib/unicode/In/CJKCompatibilityIdeographs.pl
@@ -0,0 +1,3 @@
+return <<'END';
+F900 FAFF
+END
diff --git a/lib/unicode/In/CJKSymbolsandPunctuation.pl b/lib/unicode/In/CJKSymbolsandPunctuation.pl
new file mode 100644
index 0000000000..bdf4ab90f2
--- /dev/null
+++ b/lib/unicode/In/CJKSymbolsandPunctuation.pl
@@ -0,0 +1,3 @@
+return <<'END';
+3000 303F
+END
diff --git a/lib/unicode/In/CJKUnifiedIdeographs.pl b/lib/unicode/In/CJKUnifiedIdeographs.pl
new file mode 100644
index 0000000000..04d0a08e05
--- /dev/null
+++ b/lib/unicode/In/CJKUnifiedIdeographs.pl
@@ -0,0 +1,3 @@
+return <<'END';
+4E00 9FFF
+END
diff --git a/lib/unicode/In/CombiningDiacriticalMarks.pl b/lib/unicode/In/CombiningDiacriticalMarks.pl
new file mode 100644
index 0000000000..2308c52d25
--- /dev/null
+++ b/lib/unicode/In/CombiningDiacriticalMarks.pl
@@ -0,0 +1,3 @@
+return <<'END';
+0300 036F
+END
diff --git a/lib/unicode/In/CombiningHalfMarks.pl b/lib/unicode/In/CombiningHalfMarks.pl
new file mode 100644
index 0000000000..004d8052a2
--- /dev/null
+++ b/lib/unicode/In/CombiningHalfMarks.pl
@@ -0,0 +1,3 @@
+return <<'END';
+FE20 FE2F
+END
diff --git a/lib/unicode/In/CombiningMarksforSymbols.pl b/lib/unicode/In/CombiningMarksforSymbols.pl
new file mode 100644
index 0000000000..b80f637a56
--- /dev/null
+++ b/lib/unicode/In/CombiningMarksforSymbols.pl
@@ -0,0 +1,3 @@
+return <<'END';
+20D0 20FF
+END
diff --git a/lib/unicode/In/ControlPictures.pl b/lib/unicode/In/ControlPictures.pl
new file mode 100644
index 0000000000..cfaa3c545b
--- /dev/null
+++ b/lib/unicode/In/ControlPictures.pl
@@ -0,0 +1,3 @@
+return <<'END';
+2400 243F
+END
diff --git a/lib/unicode/In/CurrencySymbols.pl b/lib/unicode/In/CurrencySymbols.pl
new file mode 100644
index 0000000000..1a89d72a49
--- /dev/null
+++ b/lib/unicode/In/CurrencySymbols.pl
@@ -0,0 +1,3 @@
+return <<'END';
+20A0 20CF
+END
diff --git a/lib/unicode/In/Cyrillic.pl b/lib/unicode/In/Cyrillic.pl
new file mode 100644
index 0000000000..657824c1b9
--- /dev/null
+++ b/lib/unicode/In/Cyrillic.pl
@@ -0,0 +1,3 @@
+return <<'END';
+0400 04FF
+END
diff --git a/lib/unicode/In/Devanagari.pl b/lib/unicode/In/Devanagari.pl
new file mode 100644
index 0000000000..1a0bffc2aa
--- /dev/null
+++ b/lib/unicode/In/Devanagari.pl
@@ -0,0 +1,3 @@
+return <<'END';
+0900 097F
+END
diff --git a/lib/unicode/In/Dingbats.pl b/lib/unicode/In/Dingbats.pl
new file mode 100644
index 0000000000..3800470f4e
--- /dev/null
+++ b/lib/unicode/In/Dingbats.pl
@@ -0,0 +1,3 @@
+return <<'END';
+2700 27BF
+END
diff --git a/lib/unicode/In/EnclosedAlphanumerics.pl b/lib/unicode/In/EnclosedAlphanumerics.pl
new file mode 100644
index 0000000000..760ebd16e8
--- /dev/null
+++ b/lib/unicode/In/EnclosedAlphanumerics.pl
@@ -0,0 +1,3 @@
+return <<'END';
+2460 24FF
+END
diff --git a/lib/unicode/In/EnclosedCJKLettersandMonths.pl b/lib/unicode/In/EnclosedCJKLettersandMonths.pl
new file mode 100644
index 0000000000..96a9d75796
--- /dev/null
+++ b/lib/unicode/In/EnclosedCJKLettersandMonths.pl
@@ -0,0 +1,3 @@
+return <<'END';
+3200 32FF
+END
diff --git a/lib/unicode/In/GeneralPunctuation.pl b/lib/unicode/In/GeneralPunctuation.pl
new file mode 100644
index 0000000000..a582d1f159
--- /dev/null
+++ b/lib/unicode/In/GeneralPunctuation.pl
@@ -0,0 +1,3 @@
+return <<'END';
+2000 206F
+END
diff --git a/lib/unicode/In/GeometricShapes.pl b/lib/unicode/In/GeometricShapes.pl
new file mode 100644
index 0000000000..46086b8e8b
--- /dev/null
+++ b/lib/unicode/In/GeometricShapes.pl
@@ -0,0 +1,3 @@
+return <<'END';
+25A0 25FF
+END
diff --git a/lib/unicode/In/Georgian.pl b/lib/unicode/In/Georgian.pl
new file mode 100644
index 0000000000..df1230d700
--- /dev/null
+++ b/lib/unicode/In/Georgian.pl
@@ -0,0 +1,3 @@
+return <<'END';
+10A0 10FF
+END
diff --git a/lib/unicode/In/Greek.pl b/lib/unicode/In/Greek.pl
new file mode 100644
index 0000000000..10c1cf85ea
--- /dev/null
+++ b/lib/unicode/In/Greek.pl
@@ -0,0 +1,3 @@
+return <<'END';
+0370 03FF
+END
diff --git a/lib/unicode/In/GreekExtended.pl b/lib/unicode/In/GreekExtended.pl
new file mode 100644
index 0000000000..f588406f43
--- /dev/null
+++ b/lib/unicode/In/GreekExtended.pl
@@ -0,0 +1,3 @@
+return <<'END';
+1F00 1FFF
+END
diff --git a/lib/unicode/In/Gujarati.pl b/lib/unicode/In/Gujarati.pl
new file mode 100644
index 0000000000..8a31d92571
--- /dev/null
+++ b/lib/unicode/In/Gujarati.pl
@@ -0,0 +1,3 @@
+return <<'END';
+0A80 0AFF
+END
diff --git a/lib/unicode/In/Gurmukhi.pl b/lib/unicode/In/Gurmukhi.pl
new file mode 100644
index 0000000000..1b6857e181
--- /dev/null
+++ b/lib/unicode/In/Gurmukhi.pl
@@ -0,0 +1,3 @@
+return <<'END';
+0A00 0A7F
+END
diff --git a/lib/unicode/In/HalfwidthandFullwidthForms.pl b/lib/unicode/In/HalfwidthandFullwidthForms.pl
new file mode 100644
index 0000000000..d7ff603e42
--- /dev/null
+++ b/lib/unicode/In/HalfwidthandFullwidthForms.pl
@@ -0,0 +1,3 @@
+return <<'END';
+FF00 FFEF
+END
diff --git a/lib/unicode/In/HangulCompatibilityJamo.pl b/lib/unicode/In/HangulCompatibilityJamo.pl
new file mode 100644
index 0000000000..e602d4553d
--- /dev/null
+++ b/lib/unicode/In/HangulCompatibilityJamo.pl
@@ -0,0 +1,3 @@
+return <<'END';
+3130 318F
+END
diff --git a/lib/unicode/In/HangulJamo.pl b/lib/unicode/In/HangulJamo.pl
new file mode 100644
index 0000000000..dd5df946d8
--- /dev/null
+++ b/lib/unicode/In/HangulJamo.pl
@@ -0,0 +1,3 @@
+return <<'END';
+1100 11FF
+END
diff --git a/lib/unicode/In/HangulSyllables.pl b/lib/unicode/In/HangulSyllables.pl
new file mode 100644
index 0000000000..95bc194dff
--- /dev/null
+++ b/lib/unicode/In/HangulSyllables.pl
@@ -0,0 +1,3 @@
+return <<'END';
+AC00 D7A3
+END
diff --git a/lib/unicode/In/Hebrew.pl b/lib/unicode/In/Hebrew.pl
new file mode 100644
index 0000000000..e34e6feb39
--- /dev/null
+++ b/lib/unicode/In/Hebrew.pl
@@ -0,0 +1,3 @@
+return <<'END';
+0590 05FF
+END
diff --git a/lib/unicode/In/HighPrivateUseSurrogates.pl b/lib/unicode/In/HighPrivateUseSurrogates.pl
new file mode 100644
index 0000000000..000cb70d01
--- /dev/null
+++ b/lib/unicode/In/HighPrivateUseSurrogates.pl
@@ -0,0 +1,3 @@
+return <<'END';
+DB80 DBFF
+END
diff --git a/lib/unicode/In/HighSurrogates.pl b/lib/unicode/In/HighSurrogates.pl
new file mode 100644
index 0000000000..95c7498511
--- /dev/null
+++ b/lib/unicode/In/HighSurrogates.pl
@@ -0,0 +1,3 @@
+return <<'END';
+D800 DB7F
+END
diff --git a/lib/unicode/In/Hiragana.pl b/lib/unicode/In/Hiragana.pl
new file mode 100644
index 0000000000..ce8c3ed223
--- /dev/null
+++ b/lib/unicode/In/Hiragana.pl
@@ -0,0 +1,3 @@
+return <<'END';
+3040 309F
+END
diff --git a/lib/unicode/In/IPAExtensions.pl b/lib/unicode/In/IPAExtensions.pl
new file mode 100644
index 0000000000..106d84bb83
--- /dev/null
+++ b/lib/unicode/In/IPAExtensions.pl
@@ -0,0 +1,3 @@
+return <<'END';
+0250 02AF
+END
diff --git a/lib/unicode/In/Kanbun.pl b/lib/unicode/In/Kanbun.pl
new file mode 100644
index 0000000000..6d575a86bc
--- /dev/null
+++ b/lib/unicode/In/Kanbun.pl
@@ -0,0 +1,3 @@
+return <<'END';
+3190 319F
+END
diff --git a/lib/unicode/In/Kannada.pl b/lib/unicode/In/Kannada.pl
new file mode 100644
index 0000000000..ad70ade385
--- /dev/null
+++ b/lib/unicode/In/Kannada.pl
@@ -0,0 +1,3 @@
+return <<'END';
+0C80 0CFF
+END
diff --git a/lib/unicode/In/Katakana.pl b/lib/unicode/In/Katakana.pl
new file mode 100644
index 0000000000..cb0f30e474
--- /dev/null
+++ b/lib/unicode/In/Katakana.pl
@@ -0,0 +1,3 @@
+return <<'END';
+30A0 30FF
+END
diff --git a/lib/unicode/In/Lao.pl b/lib/unicode/In/Lao.pl
new file mode 100644
index 0000000000..ff2d587264
--- /dev/null
+++ b/lib/unicode/In/Lao.pl
@@ -0,0 +1,3 @@
+return <<'END';
+0E80 0EFF
+END
diff --git a/lib/unicode/In/Latin-1Supplement.pl b/lib/unicode/In/Latin-1Supplement.pl
new file mode 100644
index 0000000000..3c8b04cac0
--- /dev/null
+++ b/lib/unicode/In/Latin-1Supplement.pl
@@ -0,0 +1,3 @@
+return <<'END';
+0080 00FF
+END
diff --git a/lib/unicode/In/LatinExtended-A.pl b/lib/unicode/In/LatinExtended-A.pl
new file mode 100644
index 0000000000..872689f969
--- /dev/null
+++ b/lib/unicode/In/LatinExtended-A.pl
@@ -0,0 +1,3 @@
+return <<'END';
+0100 017F
+END
diff --git a/lib/unicode/In/LatinExtended-B.pl b/lib/unicode/In/LatinExtended-B.pl
new file mode 100644
index 0000000000..be497d6bfb
--- /dev/null
+++ b/lib/unicode/In/LatinExtended-B.pl
@@ -0,0 +1,3 @@
+return <<'END';
+0180 024F
+END
diff --git a/lib/unicode/In/LatinExtendedAdditional.pl b/lib/unicode/In/LatinExtendedAdditional.pl
new file mode 100644
index 0000000000..3f1cda1271
--- /dev/null
+++ b/lib/unicode/In/LatinExtendedAdditional.pl
@@ -0,0 +1,3 @@
+return <<'END';
+1E00 1EFF
+END
diff --git a/lib/unicode/In/LetterlikeSymbols.pl b/lib/unicode/In/LetterlikeSymbols.pl
new file mode 100644
index 0000000000..96ab07b446
--- /dev/null
+++ b/lib/unicode/In/LetterlikeSymbols.pl
@@ -0,0 +1,3 @@
+return <<'END';
+2100 214F
+END
diff --git a/lib/unicode/In/LowSurrogates.pl b/lib/unicode/In/LowSurrogates.pl
new file mode 100644
index 0000000000..a30148c54e
--- /dev/null
+++ b/lib/unicode/In/LowSurrogates.pl
@@ -0,0 +1,3 @@
+return <<'END';
+DC00 DFFF
+END
diff --git a/lib/unicode/In/Malayalam.pl b/lib/unicode/In/Malayalam.pl
new file mode 100644
index 0000000000..784bac9004
--- /dev/null
+++ b/lib/unicode/In/Malayalam.pl
@@ -0,0 +1,3 @@
+return <<'END';
+0D00 0D7F
+END
diff --git a/lib/unicode/In/MathematicalOperators.pl b/lib/unicode/In/MathematicalOperators.pl
new file mode 100644
index 0000000000..b1c2db47cb
--- /dev/null
+++ b/lib/unicode/In/MathematicalOperators.pl
@@ -0,0 +1,3 @@
+return <<'END';
+2200 22FF
+END
diff --git a/lib/unicode/In/MiscellaneousSymbols.pl b/lib/unicode/In/MiscellaneousSymbols.pl
new file mode 100644
index 0000000000..5c6dcd4271
--- /dev/null
+++ b/lib/unicode/In/MiscellaneousSymbols.pl
@@ -0,0 +1,3 @@
+return <<'END';
+2600 26FF
+END
diff --git a/lib/unicode/In/MiscellaneousTechnical.pl b/lib/unicode/In/MiscellaneousTechnical.pl
new file mode 100644
index 0000000000..0eb7d1e34b
--- /dev/null
+++ b/lib/unicode/In/MiscellaneousTechnical.pl
@@ -0,0 +1,3 @@
+return <<'END';
+2300 23FF
+END
diff --git a/lib/unicode/In/NumberForms.pl b/lib/unicode/In/NumberForms.pl
new file mode 100644
index 0000000000..7d83d317b9
--- /dev/null
+++ b/lib/unicode/In/NumberForms.pl
@@ -0,0 +1,3 @@
+return <<'END';
+2150 218F
+END
diff --git a/lib/unicode/In/OpticalCharacterRecognition.pl b/lib/unicode/In/OpticalCharacterRecognition.pl
new file mode 100644
index 0000000000..9168cc758b
--- /dev/null
+++ b/lib/unicode/In/OpticalCharacterRecognition.pl
@@ -0,0 +1,3 @@
+return <<'END';
+2440 245F
+END
diff --git a/lib/unicode/In/Oriya.pl b/lib/unicode/In/Oriya.pl
new file mode 100644
index 0000000000..4d61ed359a
--- /dev/null
+++ b/lib/unicode/In/Oriya.pl
@@ -0,0 +1,3 @@
+return <<'END';
+0B00 0B7F
+END
diff --git a/lib/unicode/In/PrivateUse.pl b/lib/unicode/In/PrivateUse.pl
new file mode 100644
index 0000000000..5b90e4d9b3
--- /dev/null
+++ b/lib/unicode/In/PrivateUse.pl
@@ -0,0 +1,3 @@
+return <<'END';
+E000 F8FF
+END
diff --git a/lib/unicode/In/SmallFormVariants.pl b/lib/unicode/In/SmallFormVariants.pl
new file mode 100644
index 0000000000..4153052890
--- /dev/null
+++ b/lib/unicode/In/SmallFormVariants.pl
@@ -0,0 +1,3 @@
+return <<'END';
+FE50 FE6F
+END
diff --git a/lib/unicode/In/SpacingModifierLetters.pl b/lib/unicode/In/SpacingModifierLetters.pl
new file mode 100644
index 0000000000..69179e615d
--- /dev/null
+++ b/lib/unicode/In/SpacingModifierLetters.pl
@@ -0,0 +1,3 @@
+return <<'END';
+02B0 02FF
+END
diff --git a/lib/unicode/In/Specials.pl b/lib/unicode/In/Specials.pl
new file mode 100644
index 0000000000..f9d3943455
--- /dev/null
+++ b/lib/unicode/In/Specials.pl
@@ -0,0 +1,3 @@
+return <<'END';
+FFF0 FFFF
+END
diff --git a/lib/unicode/In/SuperscriptsandSubscripts.pl b/lib/unicode/In/SuperscriptsandSubscripts.pl
new file mode 100644
index 0000000000..c4041aae3e
--- /dev/null
+++ b/lib/unicode/In/SuperscriptsandSubscripts.pl
@@ -0,0 +1,3 @@
+return <<'END';
+2070 209F
+END
diff --git a/lib/unicode/In/Tamil.pl b/lib/unicode/In/Tamil.pl
new file mode 100644
index 0000000000..27f61fa3d7
--- /dev/null
+++ b/lib/unicode/In/Tamil.pl
@@ -0,0 +1,3 @@
+return <<'END';
+0B80 0BFF
+END
diff --git a/lib/unicode/In/Telugu.pl b/lib/unicode/In/Telugu.pl
new file mode 100644
index 0000000000..7342ec2cb1
--- /dev/null
+++ b/lib/unicode/In/Telugu.pl
@@ -0,0 +1,3 @@
+return <<'END';
+0C00 0C7F
+END
diff --git a/lib/unicode/In/Thai.pl b/lib/unicode/In/Thai.pl
new file mode 100644
index 0000000000..c5c789c3e0
--- /dev/null
+++ b/lib/unicode/In/Thai.pl
@@ -0,0 +1,3 @@
+return <<'END';
+0E00 0E7F
+END
diff --git a/lib/unicode/In/Tibetan.pl b/lib/unicode/In/Tibetan.pl
new file mode 100644
index 0000000000..b46705d95b
--- /dev/null
+++ b/lib/unicode/In/Tibetan.pl
@@ -0,0 +1,3 @@
+return <<'END';
+0F00 0FBF
+END
diff --git a/lib/unicode/Is/Alnum.pl b/lib/unicode/Is/Alnum.pl
new file mode 100644
index 0000000000..4d1570fcc0
--- /dev/null
+++ b/lib/unicode/Is/Alnum.pl
@@ -0,0 +1,224 @@
+return <<'END';
+0030 0039
+0041 005a
+005f
+0061 007a
+00aa
+00b5
+00ba
+00c0 00d6
+00d8 00f6
+00f8 01c4
+01c6 01c7
+01c9 01ca
+01cc 01f1
+01f3 01f5
+01fa 0217
+0250 02a8
+0386
+0388 038a
+038c
+038e 03a1
+03a3 03ce
+03d0 03d6
+03da
+03dc
+03de
+03e0
+03e2 03f3
+0401 040c
+040e 044f
+0451 045c
+045e 0481
+0490 04c4
+04c7 04c8
+04cb 04cc
+04d0 04eb
+04ee 04f5
+04f8 04f9
+0531 0556
+0561 0587
+05d0 05ea
+05f0 05f2
+0621 063a
+0641 064a
+0660 0669
+0671 06b7
+06ba 06be
+06c0 06ce
+06d0 06d3
+06d5
+06f0 06f9
+0905 0939
+093d
+0958 0961
+0966 096f
+0985 098c
+098f 0990
+0993 09a8
+09aa 09b0
+09b2
+09b6 09b9
+09dc 09dd
+09df 09e1
+09e6 09f1
+0a05 0a0a
+0a0f 0a10
+0a13 0a28
+0a2a 0a30
+0a32 0a33
+0a35 0a36
+0a38 0a39
+0a59 0a5c
+0a5e
+0a66 0a6f
+0a72 0a74
+0a85 0a8b
+0a8d
+0a8f 0a91
+0a93 0aa8
+0aaa 0ab0
+0ab2 0ab3
+0ab5 0ab9
+0abd
+0ae0
+0ae6 0aef
+0b05 0b0c
+0b0f 0b10
+0b13 0b28
+0b2a 0b30
+0b32 0b33
+0b36 0b39
+0b3d
+0b5c 0b5d
+0b5f 0b61
+0b66 0b6f
+0b85 0b8a
+0b8e 0b90
+0b92 0b95
+0b99 0b9a
+0b9c
+0b9e 0b9f
+0ba3 0ba4
+0ba8 0baa
+0bae 0bb5
+0bb7 0bb9
+0be7 0bef
+0c05 0c0c
+0c0e 0c10
+0c12 0c28
+0c2a 0c33
+0c35 0c39
+0c60 0c61
+0c66 0c6f
+0c85 0c8c
+0c8e 0c90
+0c92 0ca8
+0caa 0cb3
+0cb5 0cb9
+0cde
+0ce0 0ce1
+0ce6 0cef
+0d05 0d0c
+0d0e 0d10
+0d12 0d28
+0d2a 0d39
+0d60 0d61
+0d66 0d6f
+0e01 0e2e
+0e30
+0e32 0e33
+0e40 0e45
+0e50 0e59
+0e81 0e82
+0e84
+0e87 0e88
+0e8a
+0e8d
+0e94 0e97
+0e99 0e9f
+0ea1 0ea3
+0ea5
+0ea7
+0eaa 0eab
+0ead 0eae
+0eb0
+0eb2 0eb3
+0ebd
+0ec0 0ec4
+0ed0 0ed9
+0edc 0edd
+0f20 0f29
+0f40 0f47
+0f49 0f69
+10a0 10c5
+10d0 10f6
+1100 1159
+115f 11a2
+11a8 11f9
+1e00 1e9b
+1ea0 1ef9
+1f00 1f15
+1f18 1f1d
+1f20 1f45
+1f48 1f4d
+1f50 1f57
+1f59
+1f5b
+1f5d
+1f5f 1f7d
+1f80 1fb4
+1fb6 1fbc
+1fbe
+1fc2 1fc4
+1fc6 1fcc
+1fd0 1fd3
+1fd6 1fdb
+1fe0 1fec
+1ff2 1ff4
+1ff6 1ffc
+207f
+2102
+2107
+210a 2113
+2115
+2118 211d
+2124
+2126
+2128
+212a 2131
+2133 2138
+3041 3094
+30a1 30fa
+3105 312c
+3131 318e
+4e00 9fa5
+ac00 d7a3
+f900 fa2d
+fb00 fb06
+fb13 fb17
+fb1f fb28
+fb2a fb36
+fb38 fb3c
+fb3e
+fb40 fb41
+fb43 fb44
+fb46 fbb1
+fbd3 fd3d
+fd50 fd8f
+fd92 fdc7
+fdf0 fdfb
+fe70 fe72
+fe74
+fe76 fefc
+ff10 ff19
+ff21 ff3a
+ff41 ff5a
+ff66 ff6f
+ff71 ff9d
+ffa0 ffbe
+ffc2 ffc7
+ffca ffcf
+ffd2 ffd7
+ffda ffdc
+END
diff --git a/lib/unicode/Is/Alpha.pl b/lib/unicode/Is/Alpha.pl
new file mode 100644
index 0000000000..af8b9b6e93
--- /dev/null
+++ b/lib/unicode/Is/Alpha.pl
@@ -0,0 +1,208 @@
+return <<'END';
+0041 005a
+0061 007a
+00aa
+00b5
+00ba
+00c0 00d6
+00d8 00f6
+00f8 01c4
+01c6 01c7
+01c9 01ca
+01cc 01f1
+01f3 01f5
+01fa 0217
+0250 02a8
+0386
+0388 038a
+038c
+038e 03a1
+03a3 03ce
+03d0 03d6
+03da
+03dc
+03de
+03e0
+03e2 03f3
+0401 040c
+040e 044f
+0451 045c
+045e 0481
+0490 04c4
+04c7 04c8
+04cb 04cc
+04d0 04eb
+04ee 04f5
+04f8 04f9
+0531 0556
+0561 0587
+05d0 05ea
+05f0 05f2
+0621 063a
+0641 064a
+0671 06b7
+06ba 06be
+06c0 06ce
+06d0 06d3
+06d5
+0905 0939
+093d
+0958 0961
+0985 098c
+098f 0990
+0993 09a8
+09aa 09b0
+09b2
+09b6 09b9
+09dc 09dd
+09df 09e1
+09f0 09f1
+0a05 0a0a
+0a0f 0a10
+0a13 0a28
+0a2a 0a30
+0a32 0a33
+0a35 0a36
+0a38 0a39
+0a59 0a5c
+0a5e
+0a72 0a74
+0a85 0a8b
+0a8d
+0a8f 0a91
+0a93 0aa8
+0aaa 0ab0
+0ab2 0ab3
+0ab5 0ab9
+0abd
+0ae0
+0b05 0b0c
+0b0f 0b10
+0b13 0b28
+0b2a 0b30
+0b32 0b33
+0b36 0b39
+0b3d
+0b5c 0b5d
+0b5f 0b61
+0b85 0b8a
+0b8e 0b90
+0b92 0b95
+0b99 0b9a
+0b9c
+0b9e 0b9f
+0ba3 0ba4
+0ba8 0baa
+0bae 0bb5
+0bb7 0bb9
+0c05 0c0c
+0c0e 0c10
+0c12 0c28
+0c2a 0c33
+0c35 0c39
+0c60 0c61
+0c85 0c8c
+0c8e 0c90
+0c92 0ca8
+0caa 0cb3
+0cb5 0cb9
+0cde
+0ce0 0ce1
+0d05 0d0c
+0d0e 0d10
+0d12 0d28
+0d2a 0d39
+0d60 0d61
+0e01 0e2e
+0e30
+0e32 0e33
+0e40 0e45
+0e81 0e82
+0e84
+0e87 0e88
+0e8a
+0e8d
+0e94 0e97
+0e99 0e9f
+0ea1 0ea3
+0ea5
+0ea7
+0eaa 0eab
+0ead 0eae
+0eb0
+0eb2 0eb3
+0ebd
+0ec0 0ec4
+0edc 0edd
+0f40 0f47
+0f49 0f69
+10a0 10c5
+10d0 10f6
+1100 1159
+115f 11a2
+11a8 11f9
+1e00 1e9b
+1ea0 1ef9
+1f00 1f15
+1f18 1f1d
+1f20 1f45
+1f48 1f4d
+1f50 1f57
+1f59
+1f5b
+1f5d
+1f5f 1f7d
+1f80 1fb4
+1fb6 1fbc
+1fbe
+1fc2 1fc4
+1fc6 1fcc
+1fd0 1fd3
+1fd6 1fdb
+1fe0 1fec
+1ff2 1ff4
+1ff6 1ffc
+207f
+2102
+2107
+210a 2113
+2115
+2118 211d
+2124
+2126
+2128
+212a 2131
+2133 2138
+3041 3094
+30a1 30fa
+3105 312c
+3131 318e
+4e00 9fa5
+ac00 d7a3
+f900 fa2d
+fb00 fb06
+fb13 fb17
+fb1f fb28
+fb2a fb36
+fb38 fb3c
+fb3e
+fb40 fb41
+fb43 fb44
+fb46 fbb1
+fbd3 fd3d
+fd50 fd8f
+fd92 fdc7
+fdf0 fdfb
+fe70 fe72
+fe74
+fe76 fefc
+ff21 ff3a
+ff41 ff5a
+ff66 ff6f
+ff71 ff9d
+ffa0 ffbe
+ffc2 ffc7
+ffca ffcf
+ffd2 ffd7
+ffda ffdc
+END
diff --git a/lib/unicode/Is/BidiAN.pl b/lib/unicode/Is/BidiAN.pl
new file mode 100644
index 0000000000..e3639ba9f9
--- /dev/null
+++ b/lib/unicode/Is/BidiAN.pl
@@ -0,0 +1,4 @@
+return <<'END';
+0660 0669
+066b 066c
+END
diff --git a/lib/unicode/Is/BidiB.pl b/lib/unicode/Is/BidiB.pl
new file mode 100644
index 0000000000..c40e3c430d
--- /dev/null
+++ b/lib/unicode/Is/BidiB.pl
@@ -0,0 +1,3 @@
+return <<'END';
+2028 2029
+END
diff --git a/lib/unicode/Is/BidiCS.pl b/lib/unicode/Is/BidiCS.pl
new file mode 100644
index 0000000000..e7cab2de4b
--- /dev/null
+++ b/lib/unicode/Is/BidiCS.pl
@@ -0,0 +1,6 @@
+return <<'END';
+002c
+002e
+003a
+2007
+END
diff --git a/lib/unicode/Is/BidiEN.pl b/lib/unicode/Is/BidiEN.pl
new file mode 100644
index 0000000000..3e13986991
--- /dev/null
+++ b/lib/unicode/Is/BidiEN.pl
@@ -0,0 +1,10 @@
+return <<'END';
+0030 0039
+00b2 00b3
+00b9
+06f0 06f9
+2070
+2074 2079
+2080 2089
+ff10 ff19
+END
diff --git a/lib/unicode/Is/BidiES.pl b/lib/unicode/Is/BidiES.pl
new file mode 100644
index 0000000000..fb1fb2f6cc
--- /dev/null
+++ b/lib/unicode/Is/BidiES.pl
@@ -0,0 +1,3 @@
+return <<'END';
+002f
+END
diff --git a/lib/unicode/Is/BidiET.pl b/lib/unicode/Is/BidiET.pl
new file mode 100644
index 0000000000..d3ea1c7ce3
--- /dev/null
+++ b/lib/unicode/Is/BidiET.pl
@@ -0,0 +1,13 @@
+return <<'END';
+0023 0025
+002b
+002d
+00a2 00a5
+00b0 00b1
+066a
+2030 2034
+207a 207b
+208a 208b
+20a0 20ac
+2212 2213
+END
diff --git a/lib/unicode/Is/BidiL.pl b/lib/unicode/Is/BidiL.pl
new file mode 100644
index 0000000000..85de325625
--- /dev/null
+++ b/lib/unicode/Is/BidiL.pl
@@ -0,0 +1,243 @@
+return <<'END';
+0041 005a
+0061 007a
+00c0 00d6
+00d8 00f6
+00f8 01f5
+01fa 0217
+0250 02a8
+02b0 02de
+02e0 02e9
+0300 0345
+0360 0361
+0374 0375
+037a
+037e
+0384 038a
+038c
+038e 03a1
+03a3 03ce
+03d0 03d6
+03da
+03dc
+03de
+03e0
+03e2 03f3
+0401 040c
+040e 044f
+0451 045c
+045e 0486
+0490 04c4
+04c7 04c8
+04cb 04cc
+04d0 04eb
+04ee 04f5
+04f8 04f9
+0531 0556
+0559 055f
+0561 0587
+0589
+0901 0903
+0905 0939
+093c 094d
+0950 0954
+0958 0970
+0981 0983
+0985 098c
+098f 0990
+0993 09a8
+09aa 09b0
+09b2
+09b6 09b9
+09bc
+09be 09c4
+09c7 09c8
+09cb 09cd
+09d7
+09dc 09dd
+09df 09e3
+09e6 09fa
+0a02
+0a05 0a0a
+0a0f 0a10
+0a13 0a28
+0a2a 0a30
+0a32 0a33
+0a35 0a36
+0a38 0a39
+0a3c
+0a3e 0a42
+0a47 0a48
+0a4b 0a4d
+0a59 0a5c
+0a5e
+0a66 0a74
+0a81 0a83
+0a85 0a8b
+0a8d
+0a8f 0a91
+0a93 0aa8
+0aaa 0ab0
+0ab2 0ab3
+0ab5 0ab9
+0abc 0ac5
+0ac7 0ac9
+0acb 0acd
+0ad0
+0ae0
+0ae6 0aef
+0b01 0b03
+0b05 0b0c
+0b0f 0b10
+0b13 0b28
+0b2a 0b30
+0b32 0b33
+0b36 0b39
+0b3c 0b43
+0b47 0b48
+0b4b 0b4d
+0b56 0b57
+0b5c 0b5d
+0b5f 0b61
+0b66 0b70
+0b82 0b83
+0b85 0b8a
+0b8e 0b90
+0b92 0b95
+0b99 0b9a
+0b9c
+0b9e 0b9f
+0ba3 0ba4
+0ba8 0baa
+0bae 0bb5
+0bb7 0bb9
+0bbe 0bc2
+0bc6 0bc8
+0bca 0bcd
+0bd7
+0be7 0bf2
+0c01 0c03
+0c05 0c0c
+0c0e 0c10
+0c12 0c28
+0c2a 0c33
+0c35 0c39
+0c3e 0c44
+0c46 0c48
+0c4a 0c4d
+0c55 0c56
+0c60 0c61
+0c66 0c6f
+0c82 0c83
+0c85 0c8c
+0c8e 0c90
+0c92 0ca8
+0caa 0cb3
+0cb5 0cb9
+0cbe 0cc4
+0cc6 0cc8
+0cca 0ccd
+0cd5 0cd6
+0cde
+0ce0 0ce1
+0ce6 0cef
+0d02 0d03
+0d05 0d0c
+0d0e 0d10
+0d12 0d28
+0d2a 0d39
+0d3e 0d43
+0d46 0d48
+0d4a 0d4d
+0d57
+0d60 0d61
+0d66 0d6f
+0e01 0e3a
+0e3f 0e5b
+0e81 0e82
+0e84
+0e87 0e88
+0e8a
+0e8d
+0e94 0e97
+0e99 0e9f
+0ea1 0ea3
+0ea5
+0ea7
+0eaa 0eab
+0ead 0eb9
+0ebb 0ebd
+0ec0 0ec4
+0ec6
+0ec8 0ecd
+0ed0 0ed9
+0edc 0edd
+0f00 0f47
+0f49 0f69
+0f71 0f8b
+0f90 0f95
+0f97
+0f99 0fad
+0fb1 0fb7
+0fb9
+10a0 10c5
+10d0 10f6
+10fb
+1100 1159
+115f 11a2
+11a8 11f9
+1e00 1e9b
+1ea0 1ef9
+1f00 1f15
+1f18 1f1d
+1f20 1f45
+1f48 1f4d
+1f50 1f57
+1f59
+1f5b
+1f5d
+1f5f 1f7d
+1f80 1fb4
+1fb6 1fc4
+1fc6 1fd3
+1fd6 1fdb
+1fdd 1fef
+1ff2 1ff4
+1ff6 1ffe
+200e
+20d0 20e1
+2160 2182
+2336 237a
+3021 302f
+3041 3094
+3099 309e
+30a1 30fe
+3105 312c
+3131 318e
+3190 319f
+3200 321c
+3220 3243
+3260 327b
+327f 32b0
+32c0 32cb
+32d0 32fe
+3300 3376
+337b 33dd
+33e0 33fe
+4e00 9fa5
+ac00 d7a3
+d800 db7f
+db80 dbff
+dc00 dfff
+e000 f8ff
+f900 fa2d
+fb00 fb06
+fb13 fb17
+ff21 ff3a
+ff41 ff5a
+ff65 ffbe
+ffc2 ffc7
+ffca ffcf
+ffd2 ffd7
+ffda ffdc
+END
diff --git a/lib/unicode/Is/BidiON.pl b/lib/unicode/Is/BidiON.pl
new file mode 100644
index 0000000000..aa8ae8d499
--- /dev/null
+++ b/lib/unicode/Is/BidiON.pl
@@ -0,0 +1,66 @@
+return <<'END';
+0000 0008
+000a 001f
+0021 0022
+0026 002a
+003b 0040
+005b 0060
+007b 009f
+00a1
+00a6 00af
+00b4 00b8
+00ba 00bf
+00d7
+00f7
+200c 200d
+2010 2027
+202a 202e
+2035 2046
+206a 206f
+207c 207f
+208c 208e
+2100 2138
+2153 215f
+2190 21ea
+2200 2211
+2214 22f1
+2300
+2302 2335
+2400 2424
+2440 244a
+2460 24ea
+2500 2595
+25a0 25ef
+2600 2613
+261a 266f
+2701 2704
+2706 2709
+270c 2727
+2729 274b
+274d
+274f 2752
+2756
+2758 275e
+2761 2767
+2776 2794
+2798 27af
+27b1 27be
+3001 3020
+3030 3037
+303f
+fd3e fd3f
+fe20 fe23
+fe30 fe44
+fe49 fe52
+fe54 fe66
+fe68 fe6b
+feff
+ff01 ff0f
+ff1a ff20
+ff3b ff40
+ff5b ff5e
+ff61 ff64
+ffe0 ffe6
+ffe8 ffee
+fffc fffd
+END
diff --git a/lib/unicode/Is/BidiR.pl b/lib/unicode/Is/BidiR.pl
new file mode 100644
index 0000000000..e726bcb222
--- /dev/null
+++ b/lib/unicode/Is/BidiR.pl
@@ -0,0 +1,31 @@
+return <<'END';
+0591 05a1
+05a3 05b9
+05bb 05c4
+05d0 05ea
+05f0 05f4
+060c
+061b
+061f
+0621 063a
+0640 0652
+066d
+0670 06b7
+06ba 06be
+06c0 06ce
+06d0 06ed
+200f
+fb1e fb36
+fb38 fb3c
+fb3e
+fb40 fb41
+fb43 fb44
+fb46 fbb1
+fbd3 fd3d
+fd50 fd8f
+fd92 fdc7
+fdf0 fdfb
+fe70 fe72
+fe74
+fe76 fefc
+END
diff --git a/lib/unicode/Is/BidiS.pl b/lib/unicode/Is/BidiS.pl
new file mode 100644
index 0000000000..17f19de9bd
--- /dev/null
+++ b/lib/unicode/Is/BidiS.pl
@@ -0,0 +1,3 @@
+return <<'END';
+0009
+END
diff --git a/lib/unicode/Is/BidiWS.pl b/lib/unicode/Is/BidiWS.pl
new file mode 100644
index 0000000000..a459f2d4d9
--- /dev/null
+++ b/lib/unicode/Is/BidiWS.pl
@@ -0,0 +1,7 @@
+return <<'END';
+0020
+00a0
+2000 2006
+2008 200b
+3000
+END
diff --git a/lib/unicode/Is/C.pl b/lib/unicode/Is/C.pl
new file mode 100644
index 0000000000..274239f9d2
--- /dev/null
+++ b/lib/unicode/Is/C.pl
@@ -0,0 +1,12 @@
+return <<'END';
+0000 001f
+007f 009f
+200c 200f
+202a 202e
+206a 206f
+d800 db7f
+db80 dbff
+dc00 dfff
+e000 f8ff
+feff
+END
diff --git a/lib/unicode/Is/Cc.pl b/lib/unicode/Is/Cc.pl
new file mode 100644
index 0000000000..2894c68bdb
--- /dev/null
+++ b/lib/unicode/Is/Cc.pl
@@ -0,0 +1,4 @@
+return <<'END';
+0000 001f
+007f 009f
+END
diff --git a/lib/unicode/Is/Cn.pl b/lib/unicode/Is/Cn.pl
new file mode 100644
index 0000000000..3054fd6216
--- /dev/null
+++ b/lib/unicode/Is/Cn.pl
@@ -0,0 +1,2 @@
+return <<'END';
+END
diff --git a/lib/unicode/Is/Co.pl b/lib/unicode/Is/Co.pl
new file mode 100644
index 0000000000..39445370fc
--- /dev/null
+++ b/lib/unicode/Is/Co.pl
@@ -0,0 +1,3 @@
+return <<'END';
+e000 f8ff
+END
diff --git a/lib/unicode/Is/DCcircle.pl b/lib/unicode/Is/DCcircle.pl
new file mode 100644
index 0000000000..a9d58a44d0
--- /dev/null
+++ b/lib/unicode/Is/DCcircle.pl
@@ -0,0 +1,7 @@
+return <<'END';
+2460 2473
+24b6 24ea
+3260 327b
+3280 32b0
+32d0 32fe
+END
diff --git a/lib/unicode/Is/DCcompat.pl b/lib/unicode/Is/DCcompat.pl
new file mode 100644
index 0000000000..1c7eded5c1
--- /dev/null
+++ b/lib/unicode/Is/DCcompat.pl
@@ -0,0 +1,81 @@
+return <<'END';
+005e 0060
+00a8
+00af
+00b4 00b5
+00b8
+0132 0133
+013f 0140
+0149
+017f
+01c4 01cc
+01f1 01f3
+02d8 02dd
+037a
+0384
+0587
+0edc 0edd
+1101
+1104
+1108
+110a
+110d
+1113 113b
+113d
+113f
+1141 114b
+114d
+114f
+1151 1153
+1156 1158
+1162
+1164
+1166
+1168
+116a 116c
+116f 1171
+1174
+1176 119d
+119f 11a2
+11a9 11aa
+11ac 11ad
+11b0 11b6
+11b9
+11bb
+11c3 11ea
+11ec 11ef
+11f1 11f8
+1fbd
+1fbf 1fc0
+1ffe
+2002 2006
+2008 200a
+2017
+2024 2026
+2033 2034
+2036 2037
+203c
+203e
+20a8
+2103
+2107
+2109
+2116
+2135 2138
+2160 217f
+222c 222d
+222f 2230
+2474 24b5
+3036
+309b 309c
+3131 318e
+3200 321c
+3220 3243
+32c0 32cb
+3358 3370
+33e0 33fe
+fb00 fb06
+fb13 fb17
+fb4f
+fe49 fe4f
+END
diff --git a/lib/unicode/Is/DCfinal.pl b/lib/unicode/Is/DCfinal.pl
new file mode 100644
index 0000000000..091bd64c71
--- /dev/null
+++ b/lib/unicode/Is/DCfinal.pl
@@ -0,0 +1,115 @@
+return <<'END';
+fb51
+fb53
+fb57
+fb5b
+fb5f
+fb63
+fb67
+fb6b
+fb6f
+fb73
+fb77
+fb7b
+fb7f
+fb83
+fb85
+fb87
+fb89
+fb8b
+fb8d
+fb8f
+fb93
+fb97
+fb9b
+fb9f
+fba1
+fba5
+fba7
+fbab
+fbaf
+fbb1
+fbd4
+fbd8
+fbda
+fbdc
+fbdf
+fbe1
+fbe3
+fbe5
+fbeb
+fbed
+fbef
+fbf1
+fbf3
+fbf5
+fbf7
+fbfa
+fbfd
+fc64 fc96
+fd11 fd2c
+fd3c
+fd51
+fd58
+fd5a fd5b
+fd5e fd5f
+fd62
+fd64
+fd66 fd67
+fd69 fd6a
+fd6c
+fd6e fd6f
+fd71
+fd74 fd76
+fd78 fd7c
+fd7e fd82
+fd84 fd85
+fd87
+fd8b
+fd96 fd97
+fd99 fd9c
+fd9e fdb3
+fdb6 fdb7
+fdb9
+fdbb fdc2
+fdc6 fdc7
+fe82
+fe84
+fe86
+fe88
+fe8a
+fe8e
+fe90
+fe94
+fe96
+fe9a
+fe9e
+fea2
+fea6
+feaa
+feac
+feae
+feb0
+feb2
+feb6
+feba
+febe
+fec2
+fec6
+feca
+fece
+fed2
+fed6
+feda
+fede
+fee2
+fee6
+feea
+feee
+fef0
+fef2
+fef6
+fef8
+fefa
+fefc
+END
diff --git a/lib/unicode/Is/DCfont.pl b/lib/unicode/Is/DCfont.pl
new file mode 100644
index 0000000000..9b0b86b967
--- /dev/null
+++ b/lib/unicode/Is/DCfont.pl
@@ -0,0 +1,12 @@
+return <<'END';
+2102
+210a 2113
+2115
+2118 211d
+2124
+2128
+212c 212d
+212f 2131
+2133 2134
+fb20 fb29
+END
diff --git a/lib/unicode/Is/DCinital.pl b/lib/unicode/Is/DCinital.pl
new file mode 100644
index 0000000000..4faba29494
--- /dev/null
+++ b/lib/unicode/Is/DCinital.pl
@@ -0,0 +1,56 @@
+return <<'END';
+fb55
+fb59
+fb5d
+fb61
+fb65
+fb69
+fb6d
+fb71
+fb75
+fb79
+fb7d
+fb81
+fb91
+fb95
+fb99
+fb9d
+fba3
+fba9
+fbad
+fbd6
+fbe7
+fbe9
+fbff
+fcdf fcf4
+fd34 fd3b
+fe71
+fe77
+fe79
+fe7b
+fe7d
+fe7f
+fe8c
+fe92
+fe98
+fe9c
+fea0
+fea4
+fea8
+feb4
+feb8
+febc
+fec0
+fec4
+fec8
+fecc
+fed0
+fed4
+fed8
+fedc
+fee0
+fee4
+fee8
+feec
+fef4
+END
diff --git a/lib/unicode/Is/DCinitial.pl b/lib/unicode/Is/DCinitial.pl
new file mode 100644
index 0000000000..b4e2b33873
--- /dev/null
+++ b/lib/unicode/Is/DCinitial.pl
@@ -0,0 +1,77 @@
+return <<'END';
+fb54
+fb58
+fb5c
+fb60
+fb64
+fb68
+fb6c
+fb70
+fb74
+fb78
+fb7c
+fb80
+fb90
+fb94
+fb98
+fb9c
+fba2
+fba8
+fbac
+fbd5
+fbe6
+fbe8
+fbf8
+fbfb
+fbfe
+fc97 fcde
+fd2d fd33
+fd50
+fd52 fd57
+fd59
+fd5c fd5d
+fd60 fd61
+fd63
+fd65
+fd68
+fd6b
+fd6d
+fd70
+fd72 fd73
+fd77
+fd7d
+fd83
+fd86
+fd88 fd8a
+fd8c fd8f
+fd92 fd95
+fd98
+fd9d
+fdb4 fdb5
+fdb8
+fdba
+fdc3 fdc5
+fe8b
+fe91
+fe97
+fe9b
+fe9f
+fea3
+fea7
+feb3
+feb7
+febb
+febf
+fec3
+fec7
+fecb
+fecf
+fed3
+fed7
+fedb
+fedf
+fee3
+fee7
+feeb
+fef3
+END
diff --git a/lib/unicode/Is/DCisolated.pl b/lib/unicode/Is/DCisolated.pl
new file mode 100644
index 0000000000..de7574214b
--- /dev/null
+++ b/lib/unicode/Is/DCisolated.pl
@@ -0,0 +1,100 @@
+return <<'END';
+fb50
+fb52
+fb56
+fb5a
+fb5e
+fb62
+fb66
+fb6a
+fb6e
+fb72
+fb76
+fb7a
+fb7e
+fb82
+fb84
+fb86
+fb88
+fb8a
+fb8c
+fb8e
+fb92
+fb96
+fb9a
+fb9e
+fba0
+fba4
+fba6
+fbaa
+fbae
+fbb0
+fbd3
+fbd7
+fbd9
+fbdb
+fbdd fbde
+fbe0
+fbe2
+fbe4
+fbea
+fbec
+fbee
+fbf0
+fbf2
+fbf4
+fbf6
+fbf9
+fbfc
+fc00 fc63
+fcf5 fd10
+fd3d
+fdf0 fdfb
+fe70
+fe72
+fe74
+fe76
+fe78
+fe7a
+fe7c
+fe7e
+fe80 fe81
+fe83
+fe85
+fe87
+fe89
+fe8d
+fe8f
+fe93
+fe95
+fe99
+fe9d
+fea1
+fea5
+fea9
+feab
+fead
+feaf
+feb1
+feb5
+feb9
+febd
+fec1
+fec5
+fec9
+fecd
+fed1
+fed5
+fed9
+fedd
+fee1
+fee5
+fee9
+feed
+feef
+fef1
+fef5
+fef7
+fef9
+fefb
+END
diff --git a/lib/unicode/Is/DCnarrow.pl b/lib/unicode/Is/DCnarrow.pl
new file mode 100644
index 0000000000..a4f448a6ec
--- /dev/null
+++ b/lib/unicode/Is/DCnarrow.pl
@@ -0,0 +1,8 @@
+return <<'END';
+ff61 ffbe
+ffc2 ffc7
+ffca ffcf
+ffd2 ffd7
+ffda ffdc
+ffe8 ffee
+END
diff --git a/lib/unicode/Is/DCnoBreak.pl b/lib/unicode/Is/DCnoBreak.pl
new file mode 100644
index 0000000000..0f9cac27bd
--- /dev/null
+++ b/lib/unicode/Is/DCnoBreak.pl
@@ -0,0 +1,5 @@
+return <<'END';
+00a0
+2007
+2011
+END
diff --git a/lib/unicode/Is/DCsmall.pl b/lib/unicode/Is/DCsmall.pl
new file mode 100644
index 0000000000..2e05334032
--- /dev/null
+++ b/lib/unicode/Is/DCsmall.pl
@@ -0,0 +1,5 @@
+return <<'END';
+fe50 fe52
+fe54 fe66
+fe68 fe6b
+END
diff --git a/lib/unicode/Is/DCsquare.pl b/lib/unicode/Is/DCsquare.pl
new file mode 100644
index 0000000000..76b4ad8c6f
--- /dev/null
+++ b/lib/unicode/Is/DCsquare.pl
@@ -0,0 +1,5 @@
+return <<'END';
+3300 3357
+3371 3376
+337b 33dd
+END
diff --git a/lib/unicode/Is/DCsub.pl b/lib/unicode/Is/DCsub.pl
new file mode 100644
index 0000000000..d446ad49f7
--- /dev/null
+++ b/lib/unicode/Is/DCsub.pl
@@ -0,0 +1,3 @@
+return <<'END';
+2080 208e
+END
diff --git a/lib/unicode/Is/DCsuper.pl b/lib/unicode/Is/DCsuper.pl
new file mode 100644
index 0000000000..89dc6b8010
--- /dev/null
+++ b/lib/unicode/Is/DCsuper.pl
@@ -0,0 +1,11 @@
+return <<'END';
+00aa
+00b2 00b3
+00b9 00ba
+02b0 02b8
+02e0 02e4
+2070
+2074 207f
+2120 2122
+3192 319f
+END
diff --git a/lib/unicode/Is/DCvertical.pl b/lib/unicode/Is/DCvertical.pl
new file mode 100644
index 0000000000..1c00407743
--- /dev/null
+++ b/lib/unicode/Is/DCvertical.pl
@@ -0,0 +1,3 @@
+return <<'END';
+fe30 fe44
+END
diff --git a/lib/unicode/Is/DCwide.pl b/lib/unicode/Is/DCwide.pl
new file mode 100644
index 0000000000..b693b21380
--- /dev/null
+++ b/lib/unicode/Is/DCwide.pl
@@ -0,0 +1,5 @@
+return <<'END';
+3000
+ff01 ff5e
+ffe0 ffe6
+END
diff --git a/lib/unicode/Is/DecoCanon.pl b/lib/unicode/Is/DecoCanon.pl
new file mode 100644
index 0000000000..51cbb6c267
--- /dev/null
+++ b/lib/unicode/Is/DecoCanon.pl
@@ -0,0 +1,189 @@
+return <<'END';
+00c0 00c5
+00c7 00cf
+00d1 00d6
+00d9 00dd
+00e0 00e5
+00e7 00ef
+00f1 00f6
+00f9 00fd
+00ff 010f
+0112 0125
+0128 0130
+0134 0137
+0139 013e
+0143 0148
+014c 0151
+0154 0165
+0168 017e
+01a0 01a1
+01af 01b0
+01cd 01dc
+01de 01e3
+01e6 01f0
+01f4 01f5
+01fa 0217
+0310
+0340 0341
+0343 0344
+0374
+037e
+0385 038a
+038c
+038e 0390
+03aa 03b0
+03ca 03ce
+03d3 03d4
+0401
+0403
+0407
+040c
+040e
+0419
+0439
+0451
+0453
+0457
+045c
+045e
+0476 0477
+04c1 04c2
+04d0 04eb
+04ee 04f5
+04f8 04f9
+0929
+0931
+0934
+0958 095f
+09b0
+09cb 09cc
+09dc 09dd
+09df
+0a59 0a5c
+0a5e
+0b48
+0b4b 0b4c
+0b5c 0b5d
+0b5f
+0b94
+0bca 0bcc
+0c48
+0cc0
+0cc7 0cc8
+0cca 0ccb
+0d4a 0d4c
+0e33
+0eb3
+0f43
+0f4d
+0f52
+0f57
+0f5c
+0f69
+0f73
+0f75 0f79
+0f81
+0f93
+0f9d
+0fa2
+0fa7
+0fac
+0fb9
+1e00 1e99
+1e9b
+1ea0 1ef9
+1f00 1f15
+1f18 1f1d
+1f20 1f45
+1f48 1f4d
+1f50 1f57
+1f59
+1f5b
+1f5d
+1f5f 1f7d
+1f80 1fb4
+1fb6 1fbc
+1fbe
+1fc1 1fc4
+1fc6 1fd3
+1fd6 1fdb
+1fdd 1fef
+1ff2 1ff4
+1ff6 1ffd
+2000 2001
+2126
+212a 212b
+2204
+2209
+220c
+2224
+2226
+2241
+2244
+2247
+2249
+2260
+2262
+226d 2271
+2274 2275
+2278 2279
+2280 2281
+2284 2285
+2288 2289
+22ac 22af
+22e0 22e3
+22ea 22ed
+2329 232a
+304c
+304e
+3050
+3052
+3054
+3056
+3058
+305a
+305c
+305e
+3060
+3062
+3065
+3067
+3069
+3070 3071
+3073 3074
+3076 3077
+3079 307a
+307c 307d
+3094
+309e
+30ac
+30ae
+30b0
+30b2
+30b4
+30b6
+30b8
+30ba
+30bc
+30be
+30c0
+30c2
+30c5
+30c7
+30c9
+30d0 30d1
+30d3 30d4
+30d6 30d7
+30d9 30da
+30dc 30dd
+30f4
+30f7 30fa
+30fe
+fb1f
+fb2a fb36
+fb38 fb3c
+fb3e
+fb40 fb41
+fb43 fb44
+fb46 fb4e
+END
diff --git a/lib/unicode/Is/DecoCompat.pl b/lib/unicode/Is/DecoCompat.pl
new file mode 100644
index 0000000000..7eb8587b2e
--- /dev/null
+++ b/lib/unicode/Is/DecoCompat.pl
@@ -0,0 +1,119 @@
+return <<'END';
+005e 0060
+00a0
+00a8
+00aa
+00af
+00b2 00b5
+00b8 00ba
+00bc 00be
+0132 0133
+013f 0140
+0149
+017f
+01c4 01cc
+01f1 01f3
+02b0 02b8
+02d8 02dd
+02e0 02e4
+037a
+0384
+0587
+0edc 0edd
+1101
+1104
+1108
+110a
+110d
+1113 113b
+113d
+113f
+1141 114b
+114d
+114f
+1151 1153
+1156 1158
+1162
+1164
+1166
+1168
+116a 116c
+116f 1171
+1174
+1176 119d
+119f 11a2
+11a9 11aa
+11ac 11ad
+11b0 11b6
+11b9
+11bb
+11c3 11ea
+11ec 11ef
+11f1 11f8
+1fbd
+1fbf 1fc0
+1ffe
+2002 200a
+2011
+2017
+2024 2026
+2033 2034
+2036 2037
+203c
+203e
+2070
+2074 208e
+20a8
+2102 2103
+2107
+2109 2113
+2115 2116
+2118 211d
+2120 2122
+2124
+2128
+212c 212d
+212f 2131
+2133 2138
+2153 217f
+222c 222d
+222f 2230
+2460 24ea
+3000
+3036
+309b 309c
+3131 318e
+3192 319f
+3200 321c
+3220 3243
+3260 327b
+3280 32b0
+32c0 32cb
+32d0 32fe
+3300 3376
+337b 33dd
+33e0 33fe
+fb00 fb06
+fb13 fb17
+fb20 fb29
+fb4f fbb1
+fbd3 fd3d
+fd50 fd8f
+fd92 fdc7
+fdf0 fdfb
+fe30 fe44
+fe49 fe52
+fe54 fe66
+fe68 fe6b
+fe70 fe72
+fe74
+fe76 fefc
+ff01 ff5e
+ff61 ffbe
+ffc2 ffc7
+ffca ffcf
+ffd2 ffd7
+ffda ffdc
+ffe0 ffe6
+ffe8 ffee
+END
diff --git a/lib/unicode/Is/Digit.pl b/lib/unicode/Is/Digit.pl
new file mode 100644
index 0000000000..1853270508
--- /dev/null
+++ b/lib/unicode/Is/Digit.pl
@@ -0,0 +1,18 @@
+return <<'END';
+0030 0039
+0660 0669
+06f0 06f9
+0966 096f
+09e6 09ef
+0a66 0a6f
+0ae6 0aef
+0b66 0b6f
+0be7 0bef
+0c66 0c6f
+0ce6 0cef
+0d66 0d6f
+0e50 0e59
+0ed0 0ed9
+0f20 0f29
+ff10 ff19
+END
diff --git a/lib/unicode/Is/L.pl b/lib/unicode/Is/L.pl
new file mode 100644
index 0000000000..a937c0c999
--- /dev/null
+++ b/lib/unicode/Is/L.pl
@@ -0,0 +1,214 @@
+return <<'END';
+0041 005a
+0061 007a
+00aa
+00b5
+00ba
+00c0 00d6
+00d8 00f6
+00f8 01f5
+01fa 0217
+0250 02a8
+02b0 02b8
+02bb 02c1
+02d0 02d1
+02e0 02e4
+037a
+0386
+0388 038a
+038c
+038e 03a1
+03a3 03ce
+03d0 03d6
+03da
+03dc
+03de
+03e0
+03e2 03f3
+0401 040c
+040e 044f
+0451 045c
+045e 0481
+0490 04c4
+04c7 04c8
+04cb 04cc
+04d0 04eb
+04ee 04f5
+04f8 04f9
+0531 0556
+0559
+0561 0587
+05d0 05ea
+05f0 05f2
+0621 063a
+0640 064a
+0671 06b7
+06ba 06be
+06c0 06ce
+06d0 06d3
+06d5
+06e5 06e6
+0905 0939
+093d
+0958 0961
+0985 098c
+098f 0990
+0993 09a8
+09aa 09b0
+09b2
+09b6 09b9
+09dc 09dd
+09df 09e1
+09f0 09f1
+0a05 0a0a
+0a0f 0a10
+0a13 0a28
+0a2a 0a30
+0a32 0a33
+0a35 0a36
+0a38 0a39
+0a59 0a5c
+0a5e
+0a72 0a74
+0a85 0a8b
+0a8d
+0a8f 0a91
+0a93 0aa8
+0aaa 0ab0
+0ab2 0ab3
+0ab5 0ab9
+0abd
+0ae0
+0b05 0b0c
+0b0f 0b10
+0b13 0b28
+0b2a 0b30
+0b32 0b33
+0b36 0b39
+0b3d
+0b5c 0b5d
+0b5f 0b61
+0b85 0b8a
+0b8e 0b90
+0b92 0b95
+0b99 0b9a
+0b9c
+0b9e 0b9f
+0ba3 0ba4
+0ba8 0baa
+0bae 0bb5
+0bb7 0bb9
+0c05 0c0c
+0c0e 0c10
+0c12 0c28
+0c2a 0c33
+0c35 0c39
+0c60 0c61
+0c85 0c8c
+0c8e 0c90
+0c92 0ca8
+0caa 0cb3
+0cb5 0cb9
+0cde
+0ce0 0ce1
+0d05 0d0c
+0d0e 0d10
+0d12 0d28
+0d2a 0d39
+0d60 0d61
+0e01 0e2e
+0e30
+0e32 0e33
+0e40 0e46
+0e81 0e82
+0e84
+0e87 0e88
+0e8a
+0e8d
+0e94 0e97
+0e99 0e9f
+0ea1 0ea3
+0ea5
+0ea7
+0eaa 0eab
+0ead 0eae
+0eb0
+0eb2 0eb3
+0ebd
+0ec0 0ec4
+0ec6
+0edc 0edd
+0f40 0f47
+0f49 0f69
+10a0 10c5
+10d0 10f6
+1100 1159
+115f 11a2
+11a8 11f9
+1e00 1e9b
+1ea0 1ef9
+1f00 1f15
+1f18 1f1d
+1f20 1f45
+1f48 1f4d
+1f50 1f57
+1f59
+1f5b
+1f5d
+1f5f 1f7d
+1f80 1fb4
+1fb6 1fbc
+1fbe
+1fc2 1fc4
+1fc6 1fcc
+1fd0 1fd3
+1fd6 1fdb
+1fe0 1fec
+1ff2 1ff4
+1ff6 1ffc
+207f
+2102
+2107
+210a 2113
+2115
+2118 211d
+2124
+2126
+2128
+212a 2131
+2133 2138
+3005
+3031 3035
+3041 3094
+309b 309e
+30a1 30fa
+30fc 30fe
+3105 312c
+3131 318e
+4e00 9fa5
+ac00 d7a3
+f900 fa2d
+fb00 fb06
+fb13 fb17
+fb1f fb28
+fb2a fb36
+fb38 fb3c
+fb3e
+fb40 fb41
+fb43 fb44
+fb46 fbb1
+fbd3 fd3d
+fd50 fd8f
+fd92 fdc7
+fdf0 fdfb
+fe70 fe72
+fe74
+fe76 fefc
+ff21 ff3a
+ff41 ff5a
+ff66 ffbe
+ffc2 ffc7
+ffca ffcf
+ffd2 ffd7
+ffda ffdc
+END
diff --git a/lib/unicode/Is/Ll.pl b/lib/unicode/Is/Ll.pl
new file mode 100644
index 0000000000..7b34adfd05
--- /dev/null
+++ b/lib/unicode/Is/Ll.pl
@@ -0,0 +1,356 @@
+return <<'END';
+0061 007a
+00aa
+00b5
+00ba
+00df 00f6
+00f8 00ff
+0101
+0103
+0105
+0107
+0109
+010b
+010d
+010f
+0111
+0113
+0115
+0117
+0119
+011b
+011d
+011f
+0121
+0123
+0125
+0127
+0129
+012b
+012d
+012f
+0131
+0133
+0135
+0137 0138
+013a
+013c
+013e
+0140
+0142
+0144
+0146
+0148 0149
+014b
+014d
+014f
+0151
+0153
+0155
+0157
+0159
+015b
+015d
+015f
+0161
+0163
+0165
+0167
+0169
+016b
+016d
+016f
+0171
+0173
+0175
+0177
+017a
+017c
+017e 0180
+0183
+0185
+0188
+018c 018d
+0192
+0195
+0199 019b
+019e
+01a1
+01a3
+01a5
+01a8
+01ab
+01ad
+01b0
+01b4
+01b6
+01b9 01ba
+01bd
+01c6
+01c9
+01cc
+01ce
+01d0
+01d2
+01d4
+01d6
+01d8
+01da
+01dc 01dd
+01df
+01e1
+01e3
+01e5
+01e7
+01e9
+01eb
+01ed
+01ef 01f0
+01f3
+01f5
+01fb
+01fd
+01ff
+0201
+0203
+0205
+0207
+0209
+020b
+020d
+020f
+0211
+0213
+0215
+0217
+0250 02a8
+0390
+03ac 03ce
+03d0 03d1
+03d5 03d6
+03e3
+03e5
+03e7
+03e9
+03eb
+03ed
+03ef 03f2
+0430 044f
+0451 045c
+045e 045f
+0461
+0463
+0465
+0467
+0469
+046b
+046d
+046f
+0471
+0473
+0475
+0477
+0479
+047b
+047d
+047f
+0481
+0491
+0493
+0495
+0497
+0499
+049b
+049d
+049f
+04a1
+04a3
+04a5
+04a7
+04a9
+04ab
+04ad
+04af
+04b1
+04b3
+04b5
+04b7
+04b9
+04bb
+04bd
+04bf
+04c2
+04c4
+04c8
+04cc
+04d1
+04d3
+04d5
+04d7
+04d9
+04db
+04dd
+04df
+04e1
+04e3
+04e5
+04e7
+04e9
+04eb
+04ef
+04f1
+04f3
+04f5
+04f9
+0561 0587
+10d0 10f6
+1e01
+1e03
+1e05
+1e07
+1e09
+1e0b
+1e0d
+1e0f
+1e11
+1e13
+1e15
+1e17
+1e19
+1e1b
+1e1d
+1e1f
+1e21
+1e23
+1e25
+1e27
+1e29
+1e2b
+1e2d
+1e2f
+1e31
+1e33
+1e35
+1e37
+1e39
+1e3b
+1e3d
+1e3f
+1e41
+1e43
+1e45
+1e47
+1e49
+1e4b
+1e4d
+1e4f
+1e51
+1e53
+1e55
+1e57
+1e59
+1e5b
+1e5d
+1e5f
+1e61
+1e63
+1e65
+1e67
+1e69
+1e6b
+1e6d
+1e6f
+1e71
+1e73
+1e75
+1e77
+1e79
+1e7b
+1e7d
+1e7f
+1e81
+1e83
+1e85
+1e87
+1e89
+1e8b
+1e8d
+1e8f
+1e91
+1e93
+1e95 1e9b
+1ea1
+1ea3
+1ea5
+1ea7
+1ea9
+1eab
+1ead
+1eaf
+1eb1
+1eb3
+1eb5
+1eb7
+1eb9
+1ebb
+1ebd
+1ebf
+1ec1
+1ec3
+1ec5
+1ec7
+1ec9
+1ecb
+1ecd
+1ecf
+1ed1
+1ed3
+1ed5
+1ed7
+1ed9
+1edb
+1edd
+1edf
+1ee1
+1ee3
+1ee5
+1ee7
+1ee9
+1eeb
+1eed
+1eef
+1ef1
+1ef3
+1ef5
+1ef7
+1ef9
+1f00 1f07
+1f10 1f15
+1f20 1f27
+1f30 1f37
+1f40 1f45
+1f50 1f57
+1f60 1f67
+1f70 1f7d
+1f80 1f87
+1f90 1f97
+1fa0 1fa7
+1fb0 1fb4
+1fb6 1fb7
+1fc2 1fc4
+1fc6 1fc7
+1fd0 1fd3
+1fd6 1fd7
+1fe0 1fe7
+1ff2 1ff4
+1ff6 1ff7
+207f
+210a
+210e 210f
+2113
+212e 212f
+2134
+fb00 fb06
+fb13 fb17
+ff41 ff5a
+END
diff --git a/lib/unicode/Is/Lm.pl b/lib/unicode/Is/Lm.pl
new file mode 100644
index 0000000000..9035aa532a
--- /dev/null
+++ b/lib/unicode/Is/Lm.pl
@@ -0,0 +1,18 @@
+return <<'END';
+02b0 02b8
+02bb 02c1
+02d0 02d1
+02e0 02e4
+037a
+0559
+0640
+06e5 06e6
+0e46
+0ec6
+3005
+3031 3035
+309b 309e
+30fc 30fe
+ff70
+ff9e ff9f
+END
diff --git a/lib/unicode/Is/Lo.pl b/lib/unicode/Is/Lo.pl
new file mode 100644
index 0000000000..8cd7e335cb
--- /dev/null
+++ b/lib/unicode/Is/Lo.pl
@@ -0,0 +1,139 @@
+return <<'END';
+01aa
+01bb
+01be 01c3
+03f3
+04c0
+05d0 05ea
+05f0 05f2
+0621 063a
+0641 064a
+0671 06b7
+06ba 06be
+06c0 06ce
+06d0 06d3
+06d5
+0905 0939
+093d
+0958 0961
+0985 098c
+098f 0990
+0993 09a8
+09aa 09b0
+09b2
+09b6 09b9
+09dc 09dd
+09df 09e1
+09f0 09f1
+0a05 0a0a
+0a0f 0a10
+0a13 0a28
+0a2a 0a30
+0a32 0a33
+0a35 0a36
+0a38 0a39
+0a59 0a5c
+0a5e
+0a72 0a74
+0a85 0a8b
+0a8d
+0a8f 0a91
+0a93 0aa8
+0aaa 0ab0
+0ab2 0ab3
+0ab5 0ab9
+0abd
+0ae0
+0b05 0b0c
+0b0f 0b10
+0b13 0b28
+0b2a 0b30
+0b32 0b33
+0b36 0b39
+0b3d
+0b5c 0b5d
+0b5f 0b61
+0b85 0b8a
+0b8e 0b90
+0b92 0b95
+0b99 0b9a
+0b9c
+0b9e 0b9f
+0ba3 0ba4
+0ba8 0baa
+0bae 0bb5
+0bb7 0bb9
+0c05 0c0c
+0c0e 0c10
+0c12 0c28
+0c2a 0c33
+0c35 0c39
+0c60 0c61
+0c85 0c8c
+0c8e 0c90
+0c92 0ca8
+0caa 0cb3
+0cb5 0cb9
+0cde
+0ce0 0ce1
+0d05 0d0c
+0d0e 0d10
+0d12 0d28
+0d2a 0d39
+0d60 0d61
+0e01 0e2e
+0e30
+0e32 0e33
+0e40 0e45
+0e81 0e82
+0e84
+0e87 0e88
+0e8a
+0e8d
+0e94 0e97
+0e99 0e9f
+0ea1 0ea3
+0ea5
+0ea7
+0eaa 0eab
+0ead 0eae
+0eb0
+0eb2 0eb3
+0ebd
+0ec0 0ec4
+0edc 0edd
+0f40 0f47
+0f49 0f69
+1100 1159
+115f 11a2
+11a8 11f9
+2135 2138
+3041 3094
+30a1 30fa
+3105 312c
+3131 318e
+4e00 9fa5
+ac00 d7a3
+f900 fa2d
+fb1f fb28
+fb2a fb36
+fb38 fb3c
+fb3e
+fb40 fb41
+fb43 fb44
+fb46 fbb1
+fbd3 fd3d
+fd50 fd8f
+fd92 fdc7
+fdf0 fdfb
+fe70 fe72
+fe74
+fe76 fefc
+ff66 ff6f
+ff71 ff9d
+ffa0 ffbe
+ffc2 ffc7
+ffca ffcf
+ffd2 ffd7
+ffda ffdc
+END
diff --git a/lib/unicode/Is/Lower.pl b/lib/unicode/Is/Lower.pl
new file mode 100644
index 0000000000..7b34adfd05
--- /dev/null
+++ b/lib/unicode/Is/Lower.pl
@@ -0,0 +1,356 @@
+return <<'END';
+0061 007a
+00aa
+00b5
+00ba
+00df 00f6
+00f8 00ff
+0101
+0103
+0105
+0107
+0109
+010b
+010d
+010f
+0111
+0113
+0115
+0117
+0119
+011b
+011d
+011f
+0121
+0123
+0125
+0127
+0129
+012b
+012d
+012f
+0131
+0133
+0135
+0137 0138
+013a
+013c
+013e
+0140
+0142
+0144
+0146
+0148 0149
+014b
+014d
+014f
+0151
+0153
+0155
+0157
+0159
+015b
+015d
+015f
+0161
+0163
+0165
+0167
+0169
+016b
+016d
+016f
+0171
+0173
+0175
+0177
+017a
+017c
+017e 0180
+0183
+0185
+0188
+018c 018d
+0192
+0195
+0199 019b
+019e
+01a1
+01a3
+01a5
+01a8
+01ab
+01ad
+01b0
+01b4
+01b6
+01b9 01ba
+01bd
+01c6
+01c9
+01cc
+01ce
+01d0
+01d2
+01d4
+01d6
+01d8
+01da
+01dc 01dd
+01df
+01e1
+01e3
+01e5
+01e7
+01e9
+01eb
+01ed
+01ef 01f0
+01f3
+01f5
+01fb
+01fd
+01ff
+0201
+0203
+0205
+0207
+0209
+020b
+020d
+020f
+0211
+0213
+0215
+0217
+0250 02a8
+0390
+03ac 03ce
+03d0 03d1
+03d5 03d6
+03e3
+03e5
+03e7
+03e9
+03eb
+03ed
+03ef 03f2
+0430 044f
+0451 045c
+045e 045f
+0461
+0463
+0465
+0467
+0469
+046b
+046d
+046f
+0471
+0473
+0475
+0477
+0479
+047b
+047d
+047f
+0481
+0491
+0493
+0495
+0497
+0499
+049b
+049d
+049f
+04a1
+04a3
+04a5
+04a7
+04a9
+04ab
+04ad
+04af
+04b1
+04b3
+04b5
+04b7
+04b9
+04bb
+04bd
+04bf
+04c2
+04c4
+04c8
+04cc
+04d1
+04d3
+04d5
+04d7
+04d9
+04db
+04dd
+04df
+04e1
+04e3
+04e5
+04e7
+04e9
+04eb
+04ef
+04f1
+04f3
+04f5
+04f9
+0561 0587
+10d0 10f6
+1e01
+1e03
+1e05
+1e07
+1e09
+1e0b
+1e0d
+1e0f
+1e11
+1e13
+1e15
+1e17
+1e19
+1e1b
+1e1d
+1e1f
+1e21
+1e23
+1e25
+1e27
+1e29
+1e2b
+1e2d
+1e2f
+1e31
+1e33
+1e35
+1e37
+1e39
+1e3b
+1e3d
+1e3f
+1e41
+1e43
+1e45
+1e47
+1e49
+1e4b
+1e4d
+1e4f
+1e51
+1e53
+1e55
+1e57
+1e59
+1e5b
+1e5d
+1e5f
+1e61
+1e63
+1e65
+1e67
+1e69
+1e6b
+1e6d
+1e6f
+1e71
+1e73
+1e75
+1e77
+1e79
+1e7b
+1e7d
+1e7f
+1e81
+1e83
+1e85
+1e87
+1e89
+1e8b
+1e8d
+1e8f
+1e91
+1e93
+1e95 1e9b
+1ea1
+1ea3
+1ea5
+1ea7
+1ea9
+1eab
+1ead
+1eaf
+1eb1
+1eb3
+1eb5
+1eb7
+1eb9
+1ebb
+1ebd
+1ebf
+1ec1
+1ec3
+1ec5
+1ec7
+1ec9
+1ecb
+1ecd
+1ecf
+1ed1
+1ed3
+1ed5
+1ed7
+1ed9
+1edb
+1edd
+1edf
+1ee1
+1ee3
+1ee5
+1ee7
+1ee9
+1eeb
+1eed
+1eef
+1ef1
+1ef3
+1ef5
+1ef7
+1ef9
+1f00 1f07
+1f10 1f15
+1f20 1f27
+1f30 1f37
+1f40 1f45
+1f50 1f57
+1f60 1f67
+1f70 1f7d
+1f80 1f87
+1f90 1f97
+1fa0 1fa7
+1fb0 1fb4
+1fb6 1fb7
+1fc2 1fc4
+1fc6 1fc7
+1fd0 1fd3
+1fd6 1fd7
+1fe0 1fe7
+1ff2 1ff4
+1ff6 1ff7
+207f
+210a
+210e 210f
+2113
+212e 212f
+2134
+fb00 fb06
+fb13 fb17
+ff41 ff5a
+END
diff --git a/lib/unicode/Is/Lt.pl b/lib/unicode/Is/Lt.pl
new file mode 100644
index 0000000000..282f31df5f
--- /dev/null
+++ b/lib/unicode/Is/Lt.pl
@@ -0,0 +1,6 @@
+return <<'END';
+01c5
+01c8
+01cb
+01f2
+END
diff --git a/lib/unicode/Is/Lu.pl b/lib/unicode/Is/Lu.pl
new file mode 100644
index 0000000000..dfb7835361
--- /dev/null
+++ b/lib/unicode/Is/Lu.pl
@@ -0,0 +1,361 @@
+return <<'END';
+0041 005a
+00c0 00d6
+00d8 00de
+0100
+0102
+0104
+0106
+0108
+010a
+010c
+010e
+0110
+0112
+0114
+0116
+0118
+011a
+011c
+011e
+0120
+0122
+0124
+0126
+0128
+012a
+012c
+012e
+0130
+0132
+0134
+0136
+0139
+013b
+013d
+013f
+0141
+0143
+0145
+0147
+014a
+014c
+014e
+0150
+0152
+0154
+0156
+0158
+015a
+015c
+015e
+0160
+0162
+0164
+0166
+0168
+016a
+016c
+016e
+0170
+0172
+0174
+0176
+0178 0179
+017b
+017d
+0181 0182
+0184
+0186 0187
+0189 018b
+018e 0191
+0193 0194
+0196 0198
+019c 019d
+019f 01a0
+01a2
+01a4
+01a6 01a7
+01a9
+01ac
+01ae 01af
+01b1 01b3
+01b5
+01b7 01b8
+01bc
+01c4
+01c7
+01ca
+01cd
+01cf
+01d1
+01d3
+01d5
+01d7
+01d9
+01db
+01de
+01e0
+01e2
+01e4
+01e6
+01e8
+01ea
+01ec
+01ee
+01f1
+01f4
+01fa
+01fc
+01fe
+0200
+0202
+0204
+0206
+0208
+020a
+020c
+020e
+0210
+0212
+0214
+0216
+0386
+0388 038a
+038c
+038e 038f
+0391 03a1
+03a3 03ab
+03d2 03d4
+03da
+03dc
+03de
+03e0
+03e2
+03e4
+03e6
+03e8
+03ea
+03ec
+03ee
+0401 040c
+040e 042f
+0460
+0462
+0464
+0466
+0468
+046a
+046c
+046e
+0470
+0472
+0474
+0476
+0478
+047a
+047c
+047e
+0480
+0490
+0492
+0494
+0496
+0498
+049a
+049c
+049e
+04a0
+04a2
+04a4
+04a6
+04a8
+04aa
+04ac
+04ae
+04b0
+04b2
+04b4
+04b6
+04b8
+04ba
+04bc
+04be
+04c1
+04c3
+04c7
+04cb
+04d0
+04d2
+04d4
+04d6
+04d8
+04da
+04dc
+04de
+04e0
+04e2
+04e4
+04e6
+04e8
+04ea
+04ee
+04f0
+04f2
+04f4
+04f8
+0531 0556
+10a0 10c5
+1e00
+1e02
+1e04
+1e06
+1e08
+1e0a
+1e0c
+1e0e
+1e10
+1e12
+1e14
+1e16
+1e18
+1e1a
+1e1c
+1e1e
+1e20
+1e22
+1e24
+1e26
+1e28
+1e2a
+1e2c
+1e2e
+1e30
+1e32
+1e34
+1e36
+1e38
+1e3a
+1e3c
+1e3e
+1e40
+1e42
+1e44
+1e46
+1e48
+1e4a
+1e4c
+1e4e
+1e50
+1e52
+1e54
+1e56
+1e58
+1e5a
+1e5c
+1e5e
+1e60
+1e62
+1e64
+1e66
+1e68
+1e6a
+1e6c
+1e6e
+1e70
+1e72
+1e74
+1e76
+1e78
+1e7a
+1e7c
+1e7e
+1e80
+1e82
+1e84
+1e86
+1e88
+1e8a
+1e8c
+1e8e
+1e90
+1e92
+1e94
+1ea0
+1ea2
+1ea4
+1ea6
+1ea8
+1eaa
+1eac
+1eae
+1eb0
+1eb2
+1eb4
+1eb6
+1eb8
+1eba
+1ebc
+1ebe
+1ec0
+1ec2
+1ec4
+1ec6
+1ec8
+1eca
+1ecc
+1ece
+1ed0
+1ed2
+1ed4
+1ed6
+1ed8
+1eda
+1edc
+1ede
+1ee0
+1ee2
+1ee4
+1ee6
+1ee8
+1eea
+1eec
+1eee
+1ef0
+1ef2
+1ef4
+1ef6
+1ef8
+1f08 1f0f
+1f18 1f1d
+1f28 1f2f
+1f38 1f3f
+1f48 1f4d
+1f59
+1f5b
+1f5d
+1f5f
+1f68 1f6f
+1f88 1f8f
+1f98 1f9f
+1fa8 1faf
+1fb8 1fbc
+1fbe
+1fc8 1fcc
+1fd8 1fdb
+1fe8 1fec
+1ff8 1ffc
+2102
+2107
+210b 210d
+2110 2112
+2115
+2118 211d
+2124
+2126
+2128
+212a 212d
+2130 2131
+2133
+ff21 ff3a
+END
diff --git a/lib/unicode/Is/M.pl b/lib/unicode/Is/M.pl
new file mode 100644
index 0000000000..0a2f005da0
--- /dev/null
+++ b/lib/unicode/Is/M.pl
@@ -0,0 +1,89 @@
+return <<'END';
+0300 0345
+0360 0361
+0483 0486
+0591 05a1
+05a3 05b9
+05bb 05bd
+05bf
+05c1 05c2
+05c4
+064b 0652
+0670
+06d6 06e4
+06e7 06e8
+06ea 06ed
+0901 0903
+093c
+093e 094d
+0951 0954
+0962 0963
+0981 0983
+09bc
+09be 09c4
+09c7 09c8
+09cb 09cd
+09d7
+09e2 09e3
+0a02
+0a3c
+0a3e 0a42
+0a47 0a48
+0a4b 0a4d
+0a70 0a71
+0a81 0a83
+0abc
+0abe 0ac5
+0ac7 0ac9
+0acb 0acd
+0b01 0b03
+0b3c
+0b3e 0b43
+0b47 0b48
+0b4b 0b4d
+0b56 0b57
+0b82 0b83
+0bbe 0bc2
+0bc6 0bc8
+0bca 0bcd
+0bd7
+0c01 0c03
+0c3e 0c44
+0c46 0c48
+0c4a 0c4d
+0c55 0c56
+0c82 0c83
+0cbe 0cc4
+0cc6 0cc8
+0cca 0ccd
+0cd5 0cd6
+0d02 0d03
+0d3e 0d43
+0d46 0d48
+0d4a 0d4d
+0d57
+0e31
+0e34 0e3a
+0e47 0e4e
+0eb1
+0eb4 0eb9
+0ebb 0ebc
+0ec8 0ecd
+0f18 0f19
+0f35
+0f37
+0f39
+0f3e 0f3f
+0f71 0f84
+0f86 0f8b
+0f90 0f95
+0f97
+0f99 0fad
+0fb1 0fb7
+0fb9
+20d0 20e1
+302a 302f
+3099 309a
+fb1e
+fe20 fe23
+END
diff --git a/lib/unicode/Is/Mc.pl b/lib/unicode/Is/Mc.pl
new file mode 100644
index 0000000000..385a15b543
--- /dev/null
+++ b/lib/unicode/Is/Mc.pl
@@ -0,0 +1,42 @@
+return <<'END';
+0903
+093e 0940
+0949 094c
+0982 0983
+09be 09c0
+09c7 09c8
+09cb 09cc
+09d7
+0a3e 0a40
+0a83
+0abe 0ac0
+0ac9
+0acb 0acc
+0b02 0b03
+0b3e
+0b40
+0b47 0b48
+0b4b 0b4c
+0b57
+0b83
+0bbe 0bbf
+0bc1 0bc2
+0bc6 0bc8
+0bca 0bcc
+0bd7
+0c01 0c03
+0c41 0c44
+0c82 0c83
+0cbe
+0cc0 0cc4
+0cc7 0cc8
+0cca 0ccb
+0cd5 0cd6
+0d02 0d03
+0d3e 0d40
+0d46 0d48
+0d4a 0d4c
+0d57
+0f3e 0f3f
+0f7f
+END
diff --git a/lib/unicode/Is/Mirrored.pl b/lib/unicode/Is/Mirrored.pl
new file mode 100644
index 0000000000..bb78be507f
--- /dev/null
+++ b/lib/unicode/Is/Mirrored.pl
@@ -0,0 +1,42 @@
+return <<'END';
+0028 0029
+003c
+003e
+005b
+005d
+007b
+007d
+2045 2046
+207d 207e
+208d 208e
+2201 2204
+2208 220d
+2211
+2215 2216
+221a 221d
+221f 2222
+2224
+2226
+222b 2233
+2239
+223b 224c
+2252 2255
+225f 2260
+2262
+2264 226b
+226e 228c
+228f 2292
+2298
+22a2 22a3
+22a6 22b8
+22be 22bf
+22c9 22cd
+22d0 22d1
+22d6 22ed
+22f0 22f1
+2308 230b
+2320 2321
+2329 232a
+3008 3011
+3014 301b
+END
diff --git a/lib/unicode/Is/Mn.pl b/lib/unicode/Is/Mn.pl
new file mode 100644
index 0000000000..cff1c481be
--- /dev/null
+++ b/lib/unicode/Is/Mn.pl
@@ -0,0 +1,82 @@
+return <<'END';
+0300 0345
+0360 0361
+0483 0486
+0591 05a1
+05a3 05b9
+05bb 05bd
+05bf
+05c1 05c2
+05c4
+064b 0652
+0670
+06d6 06dc
+06df 06e4
+06e7 06e8
+06ea 06ed
+0901 0902
+093c
+0941 0948
+094d
+0951 0954
+0962 0963
+0981
+09bc
+09c1 09c4
+09cd
+09e2 09e3
+0a02
+0a3c
+0a41 0a42
+0a47 0a48
+0a4b 0a4d
+0a70 0a71
+0a81 0a82
+0abc
+0ac1 0ac5
+0ac7 0ac8
+0acd
+0b01
+0b3c
+0b3f
+0b41 0b43
+0b4d
+0b56
+0b82
+0bc0
+0bcd
+0c3e 0c40
+0c46 0c48
+0c4a 0c4d
+0c55 0c56
+0cbf
+0cc6
+0ccc 0ccd
+0d41 0d43
+0d4d
+0e31
+0e34 0e3a
+0e47 0e4e
+0eb1
+0eb4 0eb9
+0ebb 0ebc
+0ec8 0ecd
+0f18 0f19
+0f35
+0f37
+0f39
+0f71 0f7e
+0f80 0f84
+0f86 0f8b
+0f90 0f95
+0f97
+0f99 0fad
+0fb1 0fb7
+0fb9
+20d0 20dc
+20e1
+302a 302f
+3099 309a
+fb1e
+fe20 fe23
+END
diff --git a/lib/unicode/Is/N.pl b/lib/unicode/Is/N.pl
new file mode 100644
index 0000000000..66e83f4a58
--- /dev/null
+++ b/lib/unicode/Is/N.pl
@@ -0,0 +1,34 @@
+return <<'END';
+0030 0039
+00b2 00b3
+00b9
+00bc 00be
+0660 0669
+06f0 06f9
+0966 096f
+09e6 09ef
+09f4 09f9
+0a66 0a6f
+0ae6 0aef
+0b66 0b6f
+0be7 0bf2
+0c66 0c6f
+0ce6 0cef
+0d66 0d6f
+0e50 0e59
+0ed0 0ed9
+0f20 0f33
+2070
+2074 2079
+2080 2089
+2153 2182
+2460 249b
+24ea
+2776 2793
+3007
+3021 3029
+3192 3195
+3220 3229
+3280 3289
+ff10 ff19
+END
diff --git a/lib/unicode/Is/Nd.pl b/lib/unicode/Is/Nd.pl
new file mode 100644
index 0000000000..1853270508
--- /dev/null
+++ b/lib/unicode/Is/Nd.pl
@@ -0,0 +1,18 @@
+return <<'END';
+0030 0039
+0660 0669
+06f0 06f9
+0966 096f
+09e6 09ef
+0a66 0a6f
+0ae6 0aef
+0b66 0b6f
+0be7 0bef
+0c66 0c6f
+0ce6 0cef
+0d66 0d6f
+0e50 0e59
+0ed0 0ed9
+0f20 0f29
+ff10 ff19
+END
diff --git a/lib/unicode/Is/No.pl b/lib/unicode/Is/No.pl
new file mode 100644
index 0000000000..4874e434f5
--- /dev/null
+++ b/lib/unicode/Is/No.pl
@@ -0,0 +1,18 @@
+return <<'END';
+00b2 00b3
+00b9
+00bc 00be
+09f4 09f9
+0bf0 0bf2
+0f2a 0f33
+2070
+2074 2079
+2080 2089
+2153 215f
+2460 249b
+24ea
+2776 2793
+3192 3195
+3220 3229
+3280 3289
+END
diff --git a/lib/unicode/Is/P.pl b/lib/unicode/Is/P.pl
new file mode 100644
index 0000000000..b7117cb40a
--- /dev/null
+++ b/lib/unicode/Is/P.pl
@@ -0,0 +1,69 @@
+return <<'END';
+0021 0023
+0025 002a
+002c 002f
+003a 003b
+003f 0040
+005b 005d
+005f
+007b
+007d
+00a1
+00ab
+00ad
+00b7
+00bb
+00bf
+0374 0375
+037e
+0387
+055a 055f
+0589
+05be
+05c0
+05c3
+05f3 05f4
+060c
+061b
+061f
+066a 066d
+06d4
+0964 0965
+0970
+0e2f
+0e5a 0e5b
+0eaf
+0f04 0f12
+0f3a 0f3d
+0f85
+10fb
+2010 2027
+2030 2043
+2045 2046
+207d 207e
+208d 208e
+2329 232a
+3001 3003
+3006
+3008 3011
+3014 301f
+3030
+30fb
+fd3e fd3f
+fe30 fe44
+fe49 fe52
+fe54 fe61
+fe63
+fe68
+fe6a fe6b
+ff01 ff03
+ff05 ff0a
+ff0c ff0f
+ff1a ff1b
+ff1f ff20
+ff3b ff3d
+ff3f
+ff5b
+ff5d
+ff61 ff65
+END
diff --git a/lib/unicode/Is/Pd.pl b/lib/unicode/Is/Pd.pl
new file mode 100644
index 0000000000..0b05079c36
--- /dev/null
+++ b/lib/unicode/Is/Pd.pl
@@ -0,0 +1,11 @@
+return <<'END';
+002d
+00ad
+2010 2015
+301c
+3030
+fe31 fe32
+fe58
+fe63
+ff0d
+END
diff --git a/lib/unicode/Is/Pe.pl b/lib/unicode/Is/Pe.pl
new file mode 100644
index 0000000000..40b66e8c08
--- /dev/null
+++ b/lib/unicode/Is/Pe.pl
@@ -0,0 +1,41 @@
+return <<'END';
+0029
+005d
+007d
+00bb
+0f3b
+0f3d
+2019
+201d
+203a
+2046
+207e
+208e
+232a
+3009
+300b
+300d
+300f
+3011
+3015
+3017
+3019
+301b
+301e 301f
+fd3f
+fe36
+fe38
+fe3a
+fe3c
+fe3e
+fe40
+fe42
+fe44
+fe5a
+fe5c
+fe5e
+ff09
+ff3d
+ff5d
+ff63
+END
diff --git a/lib/unicode/Is/Po.pl b/lib/unicode/Is/Po.pl
new file mode 100644
index 0000000000..6db4e3fe4b
--- /dev/null
+++ b/lib/unicode/Is/Po.pl
@@ -0,0 +1,60 @@
+return <<'END';
+0021 0023
+0025 0027
+002a
+002c
+002e 002f
+003a 003b
+003f 0040
+005c
+00a1
+00b7
+00bf
+0374 0375
+037e
+0387
+055a 055f
+0589
+05be
+05c0
+05c3
+05f3 05f4
+060c
+061b
+061f
+066a 066d
+06d4
+0964 0965
+0970
+0e2f
+0e5a 0e5b
+0eaf
+0f04 0f12
+0f85
+10fb
+2016 2017
+2020 2027
+2030 2038
+203b 203e
+2041 2043
+3001 3003
+3006
+30fb
+fe30
+fe49 fe4c
+fe50 fe52
+fe54 fe57
+fe5f fe61
+fe68
+fe6a fe6b
+ff01 ff03
+ff05 ff07
+ff0a
+ff0c
+ff0e ff0f
+ff1a ff1b
+ff1f ff20
+ff3c
+ff61
+ff64 ff65
+END
diff --git a/lib/unicode/Is/Print.pl b/lib/unicode/Is/Print.pl
new file mode 100644
index 0000000000..eef2d314c0
--- /dev/null
+++ b/lib/unicode/Is/Print.pl
@@ -0,0 +1,301 @@
+return <<'END';
+0020 007e
+00a0 01f5
+01fa 0217
+0250 02a8
+02b0 02de
+02e0 02e9
+0300 0345
+0360 0361
+0374 0375
+037a
+037e
+0384 038a
+038c
+038e 03a1
+03a3 03ce
+03d0 03d6
+03da
+03dc
+03de
+03e0
+03e2 03f3
+0401 040c
+040e 044f
+0451 045c
+045e 0486
+0490 04c4
+04c7 04c8
+04cb 04cc
+04d0 04eb
+04ee 04f5
+04f8 04f9
+0531 0556
+0559 055f
+0561 0587
+0589
+0591 05a1
+05a3 05b9
+05bb 05c4
+05d0 05ea
+05f0 05f4
+060c
+061b
+061f
+0621 063a
+0640 0652
+0660 066d
+0670 06b7
+06ba 06be
+06c0 06ce
+06d0 06ed
+06f0 06f9
+0901 0903
+0905 0939
+093c 094d
+0950 0954
+0958 0970
+0981 0983
+0985 098c
+098f 0990
+0993 09a8
+09aa 09b0
+09b2
+09b6 09b9
+09bc
+09be 09c4
+09c7 09c8
+09cb 09cd
+09d7
+09dc 09dd
+09df 09e3
+09e6 09fa
+0a02
+0a05 0a0a
+0a0f 0a10
+0a13 0a28
+0a2a 0a30
+0a32 0a33
+0a35 0a36
+0a38 0a39
+0a3c
+0a3e 0a42
+0a47 0a48
+0a4b 0a4d
+0a59 0a5c
+0a5e
+0a66 0a74
+0a81 0a83
+0a85 0a8b
+0a8d
+0a8f 0a91
+0a93 0aa8
+0aaa 0ab0
+0ab2 0ab3
+0ab5 0ab9
+0abc 0ac5
+0ac7 0ac9
+0acb 0acd
+0ad0
+0ae0
+0ae6 0aef
+0b01 0b03
+0b05 0b0c
+0b0f 0b10
+0b13 0b28
+0b2a 0b30
+0b32 0b33
+0b36 0b39
+0b3c 0b43
+0b47 0b48
+0b4b 0b4d
+0b56 0b57
+0b5c 0b5d
+0b5f 0b61
+0b66 0b70
+0b82 0b83
+0b85 0b8a
+0b8e 0b90
+0b92 0b95
+0b99 0b9a
+0b9c
+0b9e 0b9f
+0ba3 0ba4
+0ba8 0baa
+0bae 0bb5
+0bb7 0bb9
+0bbe 0bc2
+0bc6 0bc8
+0bca 0bcd
+0bd7
+0be7 0bf2
+0c01 0c03
+0c05 0c0c
+0c0e 0c10
+0c12 0c28
+0c2a 0c33
+0c35 0c39
+0c3e 0c44
+0c46 0c48
+0c4a 0c4d
+0c55 0c56
+0c60 0c61
+0c66 0c6f
+0c82 0c83
+0c85 0c8c
+0c8e 0c90
+0c92 0ca8
+0caa 0cb3
+0cb5 0cb9
+0cbe 0cc4
+0cc6 0cc8
+0cca 0ccd
+0cd5 0cd6
+0cde
+0ce0 0ce1
+0ce6 0cef
+0d02 0d03
+0d05 0d0c
+0d0e 0d10
+0d12 0d28
+0d2a 0d39
+0d3e 0d43
+0d46 0d48
+0d4a 0d4d
+0d57
+0d60 0d61
+0d66 0d6f
+0e01 0e3a
+0e3f 0e5b
+0e81 0e82
+0e84
+0e87 0e88
+0e8a
+0e8d
+0e94 0e97
+0e99 0e9f
+0ea1 0ea3
+0ea5
+0ea7
+0eaa 0eab
+0ead 0eb9
+0ebb 0ebd
+0ec0 0ec4
+0ec6
+0ec8 0ecd
+0ed0 0ed9
+0edc 0edd
+0f00 0f47
+0f49 0f69
+0f71 0f8b
+0f90 0f95
+0f97
+0f99 0fad
+0fb1 0fb7
+0fb9
+10a0 10c5
+10d0 10f6
+10fb
+1100 1159
+115f 11a2
+11a8 11f9
+1e00 1e9b
+1ea0 1ef9
+1f00 1f15
+1f18 1f1d
+1f20 1f45
+1f48 1f4d
+1f50 1f57
+1f59
+1f5b
+1f5d
+1f5f 1f7d
+1f80 1fb4
+1fb6 1fc4
+1fc6 1fd3
+1fd6 1fdb
+1fdd 1fef
+1ff2 1ff4
+1ff6 1ffe
+2000 200b
+2010 2029
+2030 2046
+2070
+2074 208e
+20a0 20ac
+20d0 20e1
+2100 2138
+2153 2182
+2190 21ea
+2200 22f1
+2300
+2302 237a
+2400 2424
+2440 244a
+2460 24ea
+2500 2595
+25a0 25ef
+2600 2613
+261a 266f
+2701 2704
+2706 2709
+270c 2727
+2729 274b
+274d
+274f 2752
+2756
+2758 275e
+2761 2767
+2776 2794
+2798 27af
+27b1 27be
+3000 3037
+303f
+3041 3094
+3099 309e
+30a1 30fe
+3105 312c
+3131 318e
+3190 319f
+3200 321c
+3220 3243
+3260 327b
+327f 32b0
+32c0 32cb
+32d0 32fe
+3300 3376
+337b 33dd
+33e0 33fe
+4e00 9fa5
+ac00 d7a3
+f900 fa2d
+fb00 fb06
+fb13 fb17
+fb1e fb36
+fb38 fb3c
+fb3e
+fb40 fb41
+fb43 fb44
+fb46 fbb1
+fbd3 fd3f
+fd50 fd8f
+fd92 fdc7
+fdf0 fdfb
+fe20 fe23
+fe30 fe44
+fe49 fe52
+fe54 fe66
+fe68 fe6b
+fe70 fe72
+fe74
+fe76 fefc
+ff01 ff5e
+ff61 ffbe
+ffc2 ffc7
+ffca ffcf
+ffd2 ffd7
+ffda ffdc
+ffe0 ffe6
+ffe8 ffee
+fffc fffd
+END
diff --git a/lib/unicode/Is/Ps.pl b/lib/unicode/Is/Ps.pl
new file mode 100644
index 0000000000..12ea0b1cc4
--- /dev/null
+++ b/lib/unicode/Is/Ps.pl
@@ -0,0 +1,42 @@
+return <<'END';
+0028
+005b
+007b
+00ab
+0f3a
+0f3c
+2018
+201a 201c
+201e 201f
+2039
+2045
+207d
+208d
+2329
+3008
+300a
+300c
+300e
+3010
+3014
+3016
+3018
+301a
+301d
+fd3e
+fe35
+fe37
+fe39
+fe3b
+fe3d
+fe3f
+fe41
+fe43
+fe59
+fe5b
+fe5d
+ff08
+ff3b
+ff5b
+ff62
+END
diff --git a/lib/unicode/Is/S.pl b/lib/unicode/Is/S.pl
new file mode 100644
index 0000000000..c3f20947fe
--- /dev/null
+++ b/lib/unicode/Is/S.pl
@@ -0,0 +1,112 @@
+return <<'END';
+0024
+002b
+003c 003e
+005e
+0060
+007c
+007e
+00a2 00a9
+00ac
+00ae 00b1
+00b4
+00b6
+00b8
+00d7
+00f7
+02b9 02ba
+02c2 02cf
+02d2 02de
+02e5 02e9
+0384 0385
+0482
+06e9
+0950
+09f2 09f3
+09fa
+0ad0
+0b70
+0e3f
+0e4f
+0f00 0f03
+0f13 0f17
+0f1a 0f1f
+0f34
+0f36
+0f38
+1fbd
+1fbf 1fc1
+1fcd 1fcf
+1fdd 1fdf
+1fed 1fef
+1ffd 1ffe
+2044
+207a 207c
+208a 208c
+20a0 20ac
+2100 2101
+2103 2106
+2108 2109
+2114
+2116 2117
+211e 2123
+2125
+2127
+2129
+2132
+2190 21ea
+2200 22f1
+2300
+2302 2328
+232b 237a
+2400 2424
+2440 244a
+249c 24e9
+2500 2595
+25a0 25ef
+2600 2613
+261a 266f
+2701 2704
+2706 2709
+270c 2727
+2729 274b
+274d
+274f 2752
+2756
+2758 275e
+2761 2767
+2794
+2798 27af
+27b1 27be
+3004
+3012 3013
+3020
+3036 3037
+303f
+3190 3191
+3196 319f
+3200 321c
+322a 3243
+3260 327b
+327f
+328a 32b0
+32c0 32cb
+32d0 32fe
+3300 3376
+337b 33dd
+33e0 33fe
+fb29
+fe62
+fe64 fe66
+fe69
+ff04
+ff0b
+ff1c ff1e
+ff3e
+ff40
+ff5c
+ff5e
+ffe0 ffe6
+ffe8 ffee
+fffc fffd
+END
diff --git a/lib/unicode/Is/Sc.pl b/lib/unicode/Is/Sc.pl
new file mode 100644
index 0000000000..72e22f5195
--- /dev/null
+++ b/lib/unicode/Is/Sc.pl
@@ -0,0 +1,11 @@
+return <<'END';
+0024
+00a2 00a5
+09f2 09f3
+0e3f
+20a0 20ac
+fe69
+ff04
+ffe0 ffe1
+ffe5 ffe6
+END
diff --git a/lib/unicode/Is/Sm.pl b/lib/unicode/Is/Sm.pl
new file mode 100644
index 0000000000..f06ad2a0ba
--- /dev/null
+++ b/lib/unicode/Is/Sm.pl
@@ -0,0 +1,28 @@
+return <<'END';
+002b
+003c 003e
+007c
+007e
+00ac
+00b1
+00d7
+00f7
+2044
+207a 207c
+208a 208c
+2190 2194
+21d2
+21d4
+2200 22f1
+2308 230b
+2320 2321
+fb29
+fe62
+fe64 fe66
+ff0b
+ff1c ff1e
+ff5c
+ff5e
+ffe2
+ffe8 ffec
+END
diff --git a/lib/unicode/Is/So.pl b/lib/unicode/Is/So.pl
new file mode 100644
index 0000000000..0c548e6783
--- /dev/null
+++ b/lib/unicode/Is/So.pl
@@ -0,0 +1,77 @@
+return <<'END';
+00a6 00a7
+00a9
+00ae
+00b0
+00b6
+0482
+06e9
+0950
+09fa
+0ad0
+0b70
+0e4f
+0f00 0f03
+0f13 0f17
+0f1a 0f1f
+0f34
+0f36
+0f38
+2100 2101
+2103 2106
+2108 2109
+2114
+2116 2117
+211e 2123
+2125
+2127
+2129
+2132
+2195 21d1
+21d3
+21d5 21ea
+2300
+2302 2307
+230c 231f
+2322 2328
+232b 237a
+2400 2424
+2440 244a
+249c 24e9
+2500 2595
+25a0 25ef
+2600 2613
+261a 266f
+2701 2704
+2706 2709
+270c 2727
+2729 274b
+274d
+274f 2752
+2756
+2758 275e
+2761 2767
+2794
+2798 27af
+27b1 27be
+3004
+3012 3013
+3020
+3036 3037
+303f
+3190 3191
+3196 319f
+3200 321c
+322a 3243
+3260 327b
+327f
+328a 32b0
+32c0 32cb
+32d0 32fe
+3300 3376
+337b 33dd
+33e0 33fe
+ffe4
+ffed ffee
+fffc fffd
+END
diff --git a/lib/unicode/Is/Space.pl b/lib/unicode/Is/Space.pl
new file mode 100644
index 0000000000..715afc3ef3
--- /dev/null
+++ b/lib/unicode/Is/Space.pl
@@ -0,0 +1,9 @@
+return <<'END';
+0009 000a
+000c 000d
+0020
+00a0
+2000 200b
+2028 2029
+3000
+END
diff --git a/lib/unicode/Is/Upper.pl b/lib/unicode/Is/Upper.pl
new file mode 100644
index 0000000000..dfb7835361
--- /dev/null
+++ b/lib/unicode/Is/Upper.pl
@@ -0,0 +1,361 @@
+return <<'END';
+0041 005a
+00c0 00d6
+00d8 00de
+0100
+0102
+0104
+0106
+0108
+010a
+010c
+010e
+0110
+0112
+0114
+0116
+0118
+011a
+011c
+011e
+0120
+0122
+0124
+0126
+0128
+012a
+012c
+012e
+0130
+0132
+0134
+0136
+0139
+013b
+013d
+013f
+0141
+0143
+0145
+0147
+014a
+014c
+014e
+0150
+0152
+0154
+0156
+0158
+015a
+015c
+015e
+0160
+0162
+0164
+0166
+0168
+016a
+016c
+016e
+0170
+0172
+0174
+0176
+0178 0179
+017b
+017d
+0181 0182
+0184
+0186 0187
+0189 018b
+018e 0191
+0193 0194
+0196 0198
+019c 019d
+019f 01a0
+01a2
+01a4
+01a6 01a7
+01a9
+01ac
+01ae 01af
+01b1 01b3
+01b5
+01b7 01b8
+01bc
+01c4
+01c7
+01ca
+01cd
+01cf
+01d1
+01d3
+01d5
+01d7
+01d9
+01db
+01de
+01e0
+01e2
+01e4
+01e6
+01e8
+01ea
+01ec
+01ee
+01f1
+01f4
+01fa
+01fc
+01fe
+0200
+0202
+0204
+0206
+0208
+020a
+020c
+020e
+0210
+0212
+0214
+0216
+0386
+0388 038a
+038c
+038e 038f
+0391 03a1
+03a3 03ab
+03d2 03d4
+03da
+03dc
+03de
+03e0
+03e2
+03e4
+03e6
+03e8
+03ea
+03ec
+03ee
+0401 040c
+040e 042f
+0460
+0462
+0464
+0466
+0468
+046a
+046c
+046e
+0470
+0472
+0474
+0476
+0478
+047a
+047c
+047e
+0480
+0490
+0492
+0494
+0496
+0498
+049a
+049c
+049e
+04a0
+04a2
+04a4
+04a6
+04a8
+04aa
+04ac
+04ae
+04b0
+04b2
+04b4
+04b6
+04b8
+04ba
+04bc
+04be
+04c1
+04c3
+04c7
+04cb
+04d0
+04d2
+04d4
+04d6
+04d8
+04da
+04dc
+04de
+04e0
+04e2
+04e4
+04e6
+04e8
+04ea
+04ee
+04f0
+04f2
+04f4
+04f8
+0531 0556
+10a0 10c5
+1e00
+1e02
+1e04
+1e06
+1e08
+1e0a
+1e0c
+1e0e
+1e10
+1e12
+1e14
+1e16
+1e18
+1e1a
+1e1c
+1e1e
+1e20
+1e22
+1e24
+1e26
+1e28
+1e2a
+1e2c
+1e2e
+1e30
+1e32
+1e34
+1e36
+1e38
+1e3a
+1e3c
+1e3e
+1e40
+1e42
+1e44
+1e46
+1e48
+1e4a
+1e4c
+1e4e
+1e50
+1e52
+1e54
+1e56
+1e58
+1e5a
+1e5c
+1e5e
+1e60
+1e62
+1e64
+1e66
+1e68
+1e6a
+1e6c
+1e6e
+1e70
+1e72
+1e74
+1e76
+1e78
+1e7a
+1e7c
+1e7e
+1e80
+1e82
+1e84
+1e86
+1e88
+1e8a
+1e8c
+1e8e
+1e90
+1e92
+1e94
+1ea0
+1ea2
+1ea4
+1ea6
+1ea8
+1eaa
+1eac
+1eae
+1eb0
+1eb2
+1eb4
+1eb6
+1eb8
+1eba
+1ebc
+1ebe
+1ec0
+1ec2
+1ec4
+1ec6
+1ec8
+1eca
+1ecc
+1ece
+1ed0
+1ed2
+1ed4
+1ed6
+1ed8
+1eda
+1edc
+1ede
+1ee0
+1ee2
+1ee4
+1ee6
+1ee8
+1eea
+1eec
+1eee
+1ef0
+1ef2
+1ef4
+1ef6
+1ef8
+1f08 1f0f
+1f18 1f1d
+1f28 1f2f
+1f38 1f3f
+1f48 1f4d
+1f59
+1f5b
+1f5d
+1f5f
+1f68 1f6f
+1f88 1f8f
+1f98 1f9f
+1fa8 1faf
+1fb8 1fbc
+1fbe
+1fc8 1fcc
+1fd8 1fdb
+1fe8 1fec
+1ff8 1ffc
+2102
+2107
+210b 210d
+2110 2112
+2115
+2118 211d
+2124
+2126
+2128
+212a 212d
+2130 2131
+2133
+ff21 ff3a
+END
diff --git a/lib/unicode/Is/Z.pl b/lib/unicode/Is/Z.pl
new file mode 100644
index 0000000000..9e83d9427f
--- /dev/null
+++ b/lib/unicode/Is/Z.pl
@@ -0,0 +1,7 @@
+return <<'END';
+0020
+00a0
+2000 200b
+2028 2029
+3000
+END
diff --git a/lib/unicode/Is/Zl.pl b/lib/unicode/Is/Zl.pl
new file mode 100644
index 0000000000..cdc04d65d6
--- /dev/null
+++ b/lib/unicode/Is/Zl.pl
@@ -0,0 +1,3 @@
+return <<'END';
+2028
+END
diff --git a/lib/unicode/Is/Zp.pl b/lib/unicode/Is/Zp.pl
new file mode 100644
index 0000000000..3a6981114d
--- /dev/null
+++ b/lib/unicode/Is/Zp.pl
@@ -0,0 +1,3 @@
+return <<'END';
+2029
+END
diff --git a/lib/unicode/Is/Zs.pl b/lib/unicode/Is/Zs.pl
new file mode 100644
index 0000000000..87d4455d02
--- /dev/null
+++ b/lib/unicode/Is/Zs.pl
@@ -0,0 +1,6 @@
+return <<'END';
+0020
+00a0
+2000 200b
+3000
+END
diff --git a/lib/unicode/JamoShort.pl b/lib/unicode/JamoShort.pl
new file mode 100644
index 0000000000..6aad4da35d
--- /dev/null
+++ b/lib/unicode/JamoShort.pl
@@ -0,0 +1,69 @@
+return <<'END';
+1100 G
+1101 GG
+1102 N
+1103 D
+1104 DD
+1105 L
+1106 M
+1107 B
+1108 BB
+1109 S
+110a SS
+110b
+110c J
+110d JJ
+110e C
+110f K
+1110 T
+1111 P
+1112 H
+1161 A
+1162 AE
+1163 YA
+1164 YAE
+1165 EO
+1166 E
+1167 YEO
+1168 YE
+1169 O
+116a WA
+116b WAE
+116c OE
+116d YO
+116e U
+116f WEO
+1170 WE
+1171 WI
+1172 YU
+1173 EU
+1174 YI
+1175 I
+11a8 G
+11a9 GG
+11aa GS
+11ab N
+11ac NJ
+11ad NH
+11ae D
+11af L
+11b0 LG
+11b1 LM
+11b2 LB
+11b3 LS
+11b4 LT
+11b5 LP
+11b6 LH
+11b7 M
+11b8 B
+11b9 BS
+11ba S
+11bb SS
+11bc NG
+11bd J
+11be C
+11bf K
+11c0 T
+11c1 P
+11c2 H
+END
diff --git a/lib/unicode/Makefile b/lib/unicode/Makefile
new file mode 100644
index 0000000000..6a23d80355
--- /dev/null
+++ b/lib/unicode/Makefile
@@ -0,0 +1,5 @@
+all:
+ ./mktables.PL
+
+clean:
+ rm -f *.pl */*.pl
diff --git a/lib/unicode/Name.pl b/lib/unicode/Name.pl
new file mode 100644
index 0000000000..c22595f5ad
--- /dev/null
+++ b/lib/unicode/Name.pl
@@ -0,0 +1,6522 @@
+return <<'END';
+0000 001f <control>
+0020 SPACE
+0021 EXCLAMATION MARK
+0022 QUOTATION MARK
+0023 NUMBER SIGN
+0024 DOLLAR SIGN
+0025 PERCENT SIGN
+0026 AMPERSAND
+0027 APOSTROPHE
+0028 LEFT PARENTHESIS
+0029 RIGHT PARENTHESIS
+002a ASTERISK
+002b PLUS SIGN
+002c COMMA
+002d HYPHEN-MINUS
+002e FULL STOP
+002f SOLIDUS
+0030 DIGIT ZERO
+0031 DIGIT ONE
+0032 DIGIT TWO
+0033 DIGIT THREE
+0034 DIGIT FOUR
+0035 DIGIT FIVE
+0036 DIGIT SIX
+0037 DIGIT SEVEN
+0038 DIGIT EIGHT
+0039 DIGIT NINE
+003a COLON
+003b SEMICOLON
+003c LESS-THAN SIGN
+003d EQUALS SIGN
+003e GREATER-THAN SIGN
+003f QUESTION MARK
+0040 COMMERCIAL AT
+0041 LATIN CAPITAL LETTER A
+0042 LATIN CAPITAL LETTER B
+0043 LATIN CAPITAL LETTER C
+0044 LATIN CAPITAL LETTER D
+0045 LATIN CAPITAL LETTER E
+0046 LATIN CAPITAL LETTER F
+0047 LATIN CAPITAL LETTER G
+0048 LATIN CAPITAL LETTER H
+0049 LATIN CAPITAL LETTER I
+004a LATIN CAPITAL LETTER J
+004b LATIN CAPITAL LETTER K
+004c LATIN CAPITAL LETTER L
+004d LATIN CAPITAL LETTER M
+004e LATIN CAPITAL LETTER N
+004f LATIN CAPITAL LETTER O
+0050 LATIN CAPITAL LETTER P
+0051 LATIN CAPITAL LETTER Q
+0052 LATIN CAPITAL LETTER R
+0053 LATIN CAPITAL LETTER S
+0054 LATIN CAPITAL LETTER T
+0055 LATIN CAPITAL LETTER U
+0056 LATIN CAPITAL LETTER V
+0057 LATIN CAPITAL LETTER W
+0058 LATIN CAPITAL LETTER X
+0059 LATIN CAPITAL LETTER Y
+005a LATIN CAPITAL LETTER Z
+005b LEFT SQUARE BRACKET
+005c REVERSE SOLIDUS
+005d RIGHT SQUARE BRACKET
+005e CIRCUMFLEX ACCENT
+005f LOW LINE
+0060 GRAVE ACCENT
+0061 LATIN SMALL LETTER A
+0062 LATIN SMALL LETTER B
+0063 LATIN SMALL LETTER C
+0064 LATIN SMALL LETTER D
+0065 LATIN SMALL LETTER E
+0066 LATIN SMALL LETTER F
+0067 LATIN SMALL LETTER G
+0068 LATIN SMALL LETTER H
+0069 LATIN SMALL LETTER I
+006a LATIN SMALL LETTER J
+006b LATIN SMALL LETTER K
+006c LATIN SMALL LETTER L
+006d LATIN SMALL LETTER M
+006e LATIN SMALL LETTER N
+006f LATIN SMALL LETTER O
+0070 LATIN SMALL LETTER P
+0071 LATIN SMALL LETTER Q
+0072 LATIN SMALL LETTER R
+0073 LATIN SMALL LETTER S
+0074 LATIN SMALL LETTER T
+0075 LATIN SMALL LETTER U
+0076 LATIN SMALL LETTER V
+0077 LATIN SMALL LETTER W
+0078 LATIN SMALL LETTER X
+0079 LATIN SMALL LETTER Y
+007a LATIN SMALL LETTER Z
+007b LEFT CURLY BRACKET
+007c VERTICAL LINE
+007d RIGHT CURLY BRACKET
+007e TILDE
+007f 009f <control>
+00a0 NO-BREAK SPACE
+00a1 INVERTED EXCLAMATION MARK
+00a2 CENT SIGN
+00a3 POUND SIGN
+00a4 CURRENCY SIGN
+00a5 YEN SIGN
+00a6 BROKEN BAR
+00a7 SECTION SIGN
+00a8 DIAERESIS
+00a9 COPYRIGHT SIGN
+00aa FEMININE ORDINAL INDICATOR
+00ab LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+00ac NOT SIGN
+00ad SOFT HYPHEN
+00ae REGISTERED SIGN
+00af MACRON
+00b0 DEGREE SIGN
+00b1 PLUS-MINUS SIGN
+00b2 SUPERSCRIPT TWO
+00b3 SUPERSCRIPT THREE
+00b4 ACUTE ACCENT
+00b5 MICRO SIGN
+00b6 PILCROW SIGN
+00b7 MIDDLE DOT
+00b8 CEDILLA
+00b9 SUPERSCRIPT ONE
+00ba MASCULINE ORDINAL INDICATOR
+00bb RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+00bc VULGAR FRACTION ONE QUARTER
+00bd VULGAR FRACTION ONE HALF
+00be VULGAR FRACTION THREE QUARTERS
+00bf INVERTED QUESTION MARK
+00c0 LATIN CAPITAL LETTER A WITH GRAVE
+00c1 LATIN CAPITAL LETTER A WITH ACUTE
+00c2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+00c3 LATIN CAPITAL LETTER A WITH TILDE
+00c4 LATIN CAPITAL LETTER A WITH DIAERESIS
+00c5 LATIN CAPITAL LETTER A WITH RING ABOVE
+00c6 LATIN CAPITAL LETTER AE
+00c7 LATIN CAPITAL LETTER C WITH CEDILLA
+00c8 LATIN CAPITAL LETTER E WITH GRAVE
+00c9 LATIN CAPITAL LETTER E WITH ACUTE
+00ca LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+00cb LATIN CAPITAL LETTER E WITH DIAERESIS
+00cc LATIN CAPITAL LETTER I WITH GRAVE
+00cd LATIN CAPITAL LETTER I WITH ACUTE
+00ce LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+00cf LATIN CAPITAL LETTER I WITH DIAERESIS
+00d0 LATIN CAPITAL LETTER ETH
+00d1 LATIN CAPITAL LETTER N WITH TILDE
+00d2 LATIN CAPITAL LETTER O WITH GRAVE
+00d3 LATIN CAPITAL LETTER O WITH ACUTE
+00d4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+00d5 LATIN CAPITAL LETTER O WITH TILDE
+00d6 LATIN CAPITAL LETTER O WITH DIAERESIS
+00d7 MULTIPLICATION SIGN
+00d8 LATIN CAPITAL LETTER O WITH STROKE
+00d9 LATIN CAPITAL LETTER U WITH GRAVE
+00da LATIN CAPITAL LETTER U WITH ACUTE
+00db LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+00dc LATIN CAPITAL LETTER U WITH DIAERESIS
+00dd LATIN CAPITAL LETTER Y WITH ACUTE
+00de LATIN CAPITAL LETTER THORN
+00df LATIN SMALL LETTER SHARP S
+00e0 LATIN SMALL LETTER A WITH GRAVE
+00e1 LATIN SMALL LETTER A WITH ACUTE
+00e2 LATIN SMALL LETTER A WITH CIRCUMFLEX
+00e3 LATIN SMALL LETTER A WITH TILDE
+00e4 LATIN SMALL LETTER A WITH DIAERESIS
+00e5 LATIN SMALL LETTER A WITH RING ABOVE
+00e6 LATIN SMALL LETTER AE
+00e7 LATIN SMALL LETTER C WITH CEDILLA
+00e8 LATIN SMALL LETTER E WITH GRAVE
+00e9 LATIN SMALL LETTER E WITH ACUTE
+00ea LATIN SMALL LETTER E WITH CIRCUMFLEX
+00eb LATIN SMALL LETTER E WITH DIAERESIS
+00ec LATIN SMALL LETTER I WITH GRAVE
+00ed LATIN SMALL LETTER I WITH ACUTE
+00ee LATIN SMALL LETTER I WITH CIRCUMFLEX
+00ef LATIN SMALL LETTER I WITH DIAERESIS
+00f0 LATIN SMALL LETTER ETH
+00f1 LATIN SMALL LETTER N WITH TILDE
+00f2 LATIN SMALL LETTER O WITH GRAVE
+00f3 LATIN SMALL LETTER O WITH ACUTE
+00f4 LATIN SMALL LETTER O WITH CIRCUMFLEX
+00f5 LATIN SMALL LETTER O WITH TILDE
+00f6 LATIN SMALL LETTER O WITH DIAERESIS
+00f7 DIVISION SIGN
+00f8 LATIN SMALL LETTER O WITH STROKE
+00f9 LATIN SMALL LETTER U WITH GRAVE
+00fa LATIN SMALL LETTER U WITH ACUTE
+00fb LATIN SMALL LETTER U WITH CIRCUMFLEX
+00fc LATIN SMALL LETTER U WITH DIAERESIS
+00fd LATIN SMALL LETTER Y WITH ACUTE
+00fe LATIN SMALL LETTER THORN
+00ff LATIN SMALL LETTER Y WITH DIAERESIS
+0100 LATIN CAPITAL LETTER A WITH MACRON
+0101 LATIN SMALL LETTER A WITH MACRON
+0102 LATIN CAPITAL LETTER A WITH BREVE
+0103 LATIN SMALL LETTER A WITH BREVE
+0104 LATIN CAPITAL LETTER A WITH OGONEK
+0105 LATIN SMALL LETTER A WITH OGONEK
+0106 LATIN CAPITAL LETTER C WITH ACUTE
+0107 LATIN SMALL LETTER C WITH ACUTE
+0108 LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+0109 LATIN SMALL LETTER C WITH CIRCUMFLEX
+010a LATIN CAPITAL LETTER C WITH DOT ABOVE
+010b LATIN SMALL LETTER C WITH DOT ABOVE
+010c LATIN CAPITAL LETTER C WITH CARON
+010d LATIN SMALL LETTER C WITH CARON
+010e LATIN CAPITAL LETTER D WITH CARON
+010f LATIN SMALL LETTER D WITH CARON
+0110 LATIN CAPITAL LETTER D WITH STROKE
+0111 LATIN SMALL LETTER D WITH STROKE
+0112 LATIN CAPITAL LETTER E WITH MACRON
+0113 LATIN SMALL LETTER E WITH MACRON
+0114 LATIN CAPITAL LETTER E WITH BREVE
+0115 LATIN SMALL LETTER E WITH BREVE
+0116 LATIN CAPITAL LETTER E WITH DOT ABOVE
+0117 LATIN SMALL LETTER E WITH DOT ABOVE
+0118 LATIN CAPITAL LETTER E WITH OGONEK
+0119 LATIN SMALL LETTER E WITH OGONEK
+011a LATIN CAPITAL LETTER E WITH CARON
+011b LATIN SMALL LETTER E WITH CARON
+011c LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+011d LATIN SMALL LETTER G WITH CIRCUMFLEX
+011e LATIN CAPITAL LETTER G WITH BREVE
+011f LATIN SMALL LETTER G WITH BREVE
+0120 LATIN CAPITAL LETTER G WITH DOT ABOVE
+0121 LATIN SMALL LETTER G WITH DOT ABOVE
+0122 LATIN CAPITAL LETTER G WITH CEDILLA
+0123 LATIN SMALL LETTER G WITH CEDILLA
+0124 LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+0125 LATIN SMALL LETTER H WITH CIRCUMFLEX
+0126 LATIN CAPITAL LETTER H WITH STROKE
+0127 LATIN SMALL LETTER H WITH STROKE
+0128 LATIN CAPITAL LETTER I WITH TILDE
+0129 LATIN SMALL LETTER I WITH TILDE
+012a LATIN CAPITAL LETTER I WITH MACRON
+012b LATIN SMALL LETTER I WITH MACRON
+012c LATIN CAPITAL LETTER I WITH BREVE
+012d LATIN SMALL LETTER I WITH BREVE
+012e LATIN CAPITAL LETTER I WITH OGONEK
+012f LATIN SMALL LETTER I WITH OGONEK
+0130 LATIN CAPITAL LETTER I WITH DOT ABOVE
+0131 LATIN SMALL LETTER DOTLESS I
+0132 LATIN CAPITAL LIGATURE IJ
+0133 LATIN SMALL LIGATURE IJ
+0134 LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+0135 LATIN SMALL LETTER J WITH CIRCUMFLEX
+0136 LATIN CAPITAL LETTER K WITH CEDILLA
+0137 LATIN SMALL LETTER K WITH CEDILLA
+0138 LATIN SMALL LETTER KRA
+0139 LATIN CAPITAL LETTER L WITH ACUTE
+013a LATIN SMALL LETTER L WITH ACUTE
+013b LATIN CAPITAL LETTER L WITH CEDILLA
+013c LATIN SMALL LETTER L WITH CEDILLA
+013d LATIN CAPITAL LETTER L WITH CARON
+013e LATIN SMALL LETTER L WITH CARON
+013f LATIN CAPITAL LETTER L WITH MIDDLE DOT
+0140 LATIN SMALL LETTER L WITH MIDDLE DOT
+0141 LATIN CAPITAL LETTER L WITH STROKE
+0142 LATIN SMALL LETTER L WITH STROKE
+0143 LATIN CAPITAL LETTER N WITH ACUTE
+0144 LATIN SMALL LETTER N WITH ACUTE
+0145 LATIN CAPITAL LETTER N WITH CEDILLA
+0146 LATIN SMALL LETTER N WITH CEDILLA
+0147 LATIN CAPITAL LETTER N WITH CARON
+0148 LATIN SMALL LETTER N WITH CARON
+0149 LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+014a LATIN CAPITAL LETTER ENG
+014b LATIN SMALL LETTER ENG
+014c LATIN CAPITAL LETTER O WITH MACRON
+014d LATIN SMALL LETTER O WITH MACRON
+014e LATIN CAPITAL LETTER O WITH BREVE
+014f LATIN SMALL LETTER O WITH BREVE
+0150 LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0151 LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0152 LATIN CAPITAL LIGATURE OE
+0153 LATIN SMALL LIGATURE OE
+0154 LATIN CAPITAL LETTER R WITH ACUTE
+0155 LATIN SMALL LETTER R WITH ACUTE
+0156 LATIN CAPITAL LETTER R WITH CEDILLA
+0157 LATIN SMALL LETTER R WITH CEDILLA
+0158 LATIN CAPITAL LETTER R WITH CARON
+0159 LATIN SMALL LETTER R WITH CARON
+015a LATIN CAPITAL LETTER S WITH ACUTE
+015b LATIN SMALL LETTER S WITH ACUTE
+015c LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+015d LATIN SMALL LETTER S WITH CIRCUMFLEX
+015e LATIN CAPITAL LETTER S WITH CEDILLA
+015f LATIN SMALL LETTER S WITH CEDILLA
+0160 LATIN CAPITAL LETTER S WITH CARON
+0161 LATIN SMALL LETTER S WITH CARON
+0162 LATIN CAPITAL LETTER T WITH CEDILLA
+0163 LATIN SMALL LETTER T WITH CEDILLA
+0164 LATIN CAPITAL LETTER T WITH CARON
+0165 LATIN SMALL LETTER T WITH CARON
+0166 LATIN CAPITAL LETTER T WITH STROKE
+0167 LATIN SMALL LETTER T WITH STROKE
+0168 LATIN CAPITAL LETTER U WITH TILDE
+0169 LATIN SMALL LETTER U WITH TILDE
+016a LATIN CAPITAL LETTER U WITH MACRON
+016b LATIN SMALL LETTER U WITH MACRON
+016c LATIN CAPITAL LETTER U WITH BREVE
+016d LATIN SMALL LETTER U WITH BREVE
+016e LATIN CAPITAL LETTER U WITH RING ABOVE
+016f LATIN SMALL LETTER U WITH RING ABOVE
+0170 LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0171 LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0172 LATIN CAPITAL LETTER U WITH OGONEK
+0173 LATIN SMALL LETTER U WITH OGONEK
+0174 LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+0175 LATIN SMALL LETTER W WITH CIRCUMFLEX
+0176 LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+0177 LATIN SMALL LETTER Y WITH CIRCUMFLEX
+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS
+0179 LATIN CAPITAL LETTER Z WITH ACUTE
+017a LATIN SMALL LETTER Z WITH ACUTE
+017b LATIN CAPITAL LETTER Z WITH DOT ABOVE
+017c LATIN SMALL LETTER Z WITH DOT ABOVE
+017d LATIN CAPITAL LETTER Z WITH CARON
+017e LATIN SMALL LETTER Z WITH CARON
+017f LATIN SMALL LETTER LONG S
+0180 LATIN SMALL LETTER B WITH STROKE
+0181 LATIN CAPITAL LETTER B WITH HOOK
+0182 LATIN CAPITAL LETTER B WITH TOPBAR
+0183 LATIN SMALL LETTER B WITH TOPBAR
+0184 LATIN CAPITAL LETTER TONE SIX
+0185 LATIN SMALL LETTER TONE SIX
+0186 LATIN CAPITAL LETTER OPEN O
+0187 LATIN CAPITAL LETTER C WITH HOOK
+0188 LATIN SMALL LETTER C WITH HOOK
+0189 LATIN CAPITAL LETTER AFRICAN D
+018a LATIN CAPITAL LETTER D WITH HOOK
+018b LATIN CAPITAL LETTER D WITH TOPBAR
+018c LATIN SMALL LETTER D WITH TOPBAR
+018d LATIN SMALL LETTER TURNED DELTA
+018e LATIN CAPITAL LETTER REVERSED E
+018f LATIN CAPITAL LETTER SCHWA
+0190 LATIN CAPITAL LETTER OPEN E
+0191 LATIN CAPITAL LETTER F WITH HOOK
+0192 LATIN SMALL LETTER F WITH HOOK
+0193 LATIN CAPITAL LETTER G WITH HOOK
+0194 LATIN CAPITAL LETTER GAMMA
+0195 LATIN SMALL LETTER HV
+0196 LATIN CAPITAL LETTER IOTA
+0197 LATIN CAPITAL LETTER I WITH STROKE
+0198 LATIN CAPITAL LETTER K WITH HOOK
+0199 LATIN SMALL LETTER K WITH HOOK
+019a LATIN SMALL LETTER L WITH BAR
+019b LATIN SMALL LETTER LAMBDA WITH STROKE
+019c LATIN CAPITAL LETTER TURNED M
+019d LATIN CAPITAL LETTER N WITH LEFT HOOK
+019e LATIN SMALL LETTER N WITH LONG RIGHT LEG
+019f LATIN CAPITAL LETTER O WITH MIDDLE TILDE
+01a0 LATIN CAPITAL LETTER O WITH HORN
+01a1 LATIN SMALL LETTER O WITH HORN
+01a2 LATIN CAPITAL LETTER OI
+01a3 LATIN SMALL LETTER OI
+01a4 LATIN CAPITAL LETTER P WITH HOOK
+01a5 LATIN SMALL LETTER P WITH HOOK
+01a6 LATIN LETTER YR
+01a7 LATIN CAPITAL LETTER TONE TWO
+01a8 LATIN SMALL LETTER TONE TWO
+01a9 LATIN CAPITAL LETTER ESH
+01aa LATIN LETTER REVERSED ESH LOOP
+01ab LATIN SMALL LETTER T WITH PALATAL HOOK
+01ac LATIN CAPITAL LETTER T WITH HOOK
+01ad LATIN SMALL LETTER T WITH HOOK
+01ae LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
+01af LATIN CAPITAL LETTER U WITH HORN
+01b0 LATIN SMALL LETTER U WITH HORN
+01b1 LATIN CAPITAL LETTER UPSILON
+01b2 LATIN CAPITAL LETTER V WITH HOOK
+01b3 LATIN CAPITAL LETTER Y WITH HOOK
+01b4 LATIN SMALL LETTER Y WITH HOOK
+01b5 LATIN CAPITAL LETTER Z WITH STROKE
+01b6 LATIN SMALL LETTER Z WITH STROKE
+01b7 LATIN CAPITAL LETTER EZH
+01b8 LATIN CAPITAL LETTER EZH REVERSED
+01b9 LATIN SMALL LETTER EZH REVERSED
+01ba LATIN SMALL LETTER EZH WITH TAIL
+01bb LATIN LETTER TWO WITH STROKE
+01bc LATIN CAPITAL LETTER TONE FIVE
+01bd LATIN SMALL LETTER TONE FIVE
+01be LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE
+01bf LATIN LETTER WYNN
+01c0 LATIN LETTER DENTAL CLICK
+01c1 LATIN LETTER LATERAL CLICK
+01c2 LATIN LETTER ALVEOLAR CLICK
+01c3 LATIN LETTER RETROFLEX CLICK
+01c4 LATIN CAPITAL LETTER DZ WITH CARON
+01c5 LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
+01c6 LATIN SMALL LETTER DZ WITH CARON
+01c7 LATIN CAPITAL LETTER LJ
+01c8 LATIN CAPITAL LETTER L WITH SMALL LETTER J
+01c9 LATIN SMALL LETTER LJ
+01ca LATIN CAPITAL LETTER NJ
+01cb LATIN CAPITAL LETTER N WITH SMALL LETTER J
+01cc LATIN SMALL LETTER NJ
+01cd LATIN CAPITAL LETTER A WITH CARON
+01ce LATIN SMALL LETTER A WITH CARON
+01cf LATIN CAPITAL LETTER I WITH CARON
+01d0 LATIN SMALL LETTER I WITH CARON
+01d1 LATIN CAPITAL LETTER O WITH CARON
+01d2 LATIN SMALL LETTER O WITH CARON
+01d3 LATIN CAPITAL LETTER U WITH CARON
+01d4 LATIN SMALL LETTER U WITH CARON
+01d5 LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01d6 LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01d7 LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01d8 LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01d9 LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+01da LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01db LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01dc LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01dd LATIN SMALL LETTER TURNED E
+01de LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+01df LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01e0 LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
+01e1 LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
+01e2 LATIN CAPITAL LETTER AE WITH MACRON
+01e3 LATIN SMALL LETTER AE WITH MACRON
+01e4 LATIN CAPITAL LETTER G WITH STROKE
+01e5 LATIN SMALL LETTER G WITH STROKE
+01e6 LATIN CAPITAL LETTER G WITH CARON
+01e7 LATIN SMALL LETTER G WITH CARON
+01e8 LATIN CAPITAL LETTER K WITH CARON
+01e9 LATIN SMALL LETTER K WITH CARON
+01ea LATIN CAPITAL LETTER O WITH OGONEK
+01eb LATIN SMALL LETTER O WITH OGONEK
+01ec LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
+01ed LATIN SMALL LETTER O WITH OGONEK AND MACRON
+01ee LATIN CAPITAL LETTER EZH WITH CARON
+01ef LATIN SMALL LETTER EZH WITH CARON
+01f0 LATIN SMALL LETTER J WITH CARON
+01f1 LATIN CAPITAL LETTER DZ
+01f2 LATIN CAPITAL LETTER D WITH SMALL LETTER Z
+01f3 LATIN SMALL LETTER DZ
+01f4 LATIN CAPITAL LETTER G WITH ACUTE
+01f5 LATIN SMALL LETTER G WITH ACUTE
+01fa LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+01fb LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01fc LATIN CAPITAL LETTER AE WITH ACUTE
+01fd LATIN SMALL LETTER AE WITH ACUTE
+01fe LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+01ff LATIN SMALL LETTER O WITH STROKE AND ACUTE
+0200 LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
+0201 LATIN SMALL LETTER A WITH DOUBLE GRAVE
+0202 LATIN CAPITAL LETTER A WITH INVERTED BREVE
+0203 LATIN SMALL LETTER A WITH INVERTED BREVE
+0204 LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
+0205 LATIN SMALL LETTER E WITH DOUBLE GRAVE
+0206 LATIN CAPITAL LETTER E WITH INVERTED BREVE
+0207 LATIN SMALL LETTER E WITH INVERTED BREVE
+0208 LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
+0209 LATIN SMALL LETTER I WITH DOUBLE GRAVE
+020a LATIN CAPITAL LETTER I WITH INVERTED BREVE
+020b LATIN SMALL LETTER I WITH INVERTED BREVE
+020c LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
+020d LATIN SMALL LETTER O WITH DOUBLE GRAVE
+020e LATIN CAPITAL LETTER O WITH INVERTED BREVE
+020f LATIN SMALL LETTER O WITH INVERTED BREVE
+0210 LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
+0211 LATIN SMALL LETTER R WITH DOUBLE GRAVE
+0212 LATIN CAPITAL LETTER R WITH INVERTED BREVE
+0213 LATIN SMALL LETTER R WITH INVERTED BREVE
+0214 LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
+0215 LATIN SMALL LETTER U WITH DOUBLE GRAVE
+0216 LATIN CAPITAL LETTER U WITH INVERTED BREVE
+0217 LATIN SMALL LETTER U WITH INVERTED BREVE
+0250 LATIN SMALL LETTER TURNED A
+0251 LATIN SMALL LETTER ALPHA
+0252 LATIN SMALL LETTER TURNED ALPHA
+0253 LATIN SMALL LETTER B WITH HOOK
+0254 LATIN SMALL LETTER OPEN O
+0255 LATIN SMALL LETTER C WITH CURL
+0256 LATIN SMALL LETTER D WITH TAIL
+0257 LATIN SMALL LETTER D WITH HOOK
+0258 LATIN SMALL LETTER REVERSED E
+0259 LATIN SMALL LETTER SCHWA
+025a LATIN SMALL LETTER SCHWA WITH HOOK
+025b LATIN SMALL LETTER OPEN E
+025c LATIN SMALL LETTER REVERSED OPEN E
+025d LATIN SMALL LETTER REVERSED OPEN E WITH HOOK
+025e LATIN SMALL LETTER CLOSED REVERSED OPEN E
+025f LATIN SMALL LETTER DOTLESS J WITH STROKE
+0260 LATIN SMALL LETTER G WITH HOOK
+0261 LATIN SMALL LETTER SCRIPT G
+0262 LATIN LETTER SMALL CAPITAL G
+0263 LATIN SMALL LETTER GAMMA
+0264 LATIN SMALL LETTER RAMS HORN
+0265 LATIN SMALL LETTER TURNED H
+0266 LATIN SMALL LETTER H WITH HOOK
+0267 LATIN SMALL LETTER HENG WITH HOOK
+0268 LATIN SMALL LETTER I WITH STROKE
+0269 LATIN SMALL LETTER IOTA
+026a LATIN LETTER SMALL CAPITAL I
+026b LATIN SMALL LETTER L WITH MIDDLE TILDE
+026c LATIN SMALL LETTER L WITH BELT
+026d LATIN SMALL LETTER L WITH RETROFLEX HOOK
+026e LATIN SMALL LETTER LEZH
+026f LATIN SMALL LETTER TURNED M
+0270 LATIN SMALL LETTER TURNED M WITH LONG LEG
+0271 LATIN SMALL LETTER M WITH HOOK
+0272 LATIN SMALL LETTER N WITH LEFT HOOK
+0273 LATIN SMALL LETTER N WITH RETROFLEX HOOK
+0274 LATIN LETTER SMALL CAPITAL N
+0275 LATIN SMALL LETTER BARRED O
+0276 LATIN LETTER SMALL CAPITAL OE
+0277 LATIN SMALL LETTER CLOSED OMEGA
+0278 LATIN SMALL LETTER PHI
+0279 LATIN SMALL LETTER TURNED R
+027a LATIN SMALL LETTER TURNED R WITH LONG LEG
+027b LATIN SMALL LETTER TURNED R WITH HOOK
+027c LATIN SMALL LETTER R WITH LONG LEG
+027d LATIN SMALL LETTER R WITH TAIL
+027e LATIN SMALL LETTER R WITH FISHHOOK
+027f LATIN SMALL LETTER REVERSED R WITH FISHHOOK
+0280 LATIN LETTER SMALL CAPITAL R
+0281 LATIN LETTER SMALL CAPITAL INVERTED R
+0282 LATIN SMALL LETTER S WITH HOOK
+0283 LATIN SMALL LETTER ESH
+0284 LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK
+0285 LATIN SMALL LETTER SQUAT REVERSED ESH
+0286 LATIN SMALL LETTER ESH WITH CURL
+0287 LATIN SMALL LETTER TURNED T
+0288 LATIN SMALL LETTER T WITH RETROFLEX HOOK
+0289 LATIN SMALL LETTER U BAR
+028a LATIN SMALL LETTER UPSILON
+028b LATIN SMALL LETTER V WITH HOOK
+028c LATIN SMALL LETTER TURNED V
+028d LATIN SMALL LETTER TURNED W
+028e LATIN SMALL LETTER TURNED Y
+028f LATIN LETTER SMALL CAPITAL Y
+0290 LATIN SMALL LETTER Z WITH RETROFLEX HOOK
+0291 LATIN SMALL LETTER Z WITH CURL
+0292 LATIN SMALL LETTER EZH
+0293 LATIN SMALL LETTER EZH WITH CURL
+0294 LATIN LETTER GLOTTAL STOP
+0295 LATIN LETTER PHARYNGEAL VOICED FRICATIVE
+0296 LATIN LETTER INVERTED GLOTTAL STOP
+0297 LATIN LETTER STRETCHED C
+0298 LATIN LETTER BILABIAL CLICK
+0299 LATIN LETTER SMALL CAPITAL B
+029a LATIN SMALL LETTER CLOSED OPEN E
+029b LATIN LETTER SMALL CAPITAL G WITH HOOK
+029c LATIN LETTER SMALL CAPITAL H
+029d LATIN SMALL LETTER J WITH CROSSED-TAIL
+029e LATIN SMALL LETTER TURNED K
+029f LATIN LETTER SMALL CAPITAL L
+02a0 LATIN SMALL LETTER Q WITH HOOK
+02a1 LATIN LETTER GLOTTAL STOP WITH STROKE
+02a2 LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE
+02a3 LATIN SMALL LETTER DZ DIGRAPH
+02a4 LATIN SMALL LETTER DEZH DIGRAPH
+02a5 LATIN SMALL LETTER DZ DIGRAPH WITH CURL
+02a6 LATIN SMALL LETTER TS DIGRAPH
+02a7 LATIN SMALL LETTER TESH DIGRAPH
+02a8 LATIN SMALL LETTER TC DIGRAPH WITH CURL
+02b0 MODIFIER LETTER SMALL H
+02b1 MODIFIER LETTER SMALL H WITH HOOK
+02b2 MODIFIER LETTER SMALL J
+02b3 MODIFIER LETTER SMALL R
+02b4 MODIFIER LETTER SMALL TURNED R
+02b5 MODIFIER LETTER SMALL TURNED R WITH HOOK
+02b6 MODIFIER LETTER SMALL CAPITAL INVERTED R
+02b7 MODIFIER LETTER SMALL W
+02b8 MODIFIER LETTER SMALL Y
+02b9 MODIFIER LETTER PRIME
+02ba MODIFIER LETTER DOUBLE PRIME
+02bb MODIFIER LETTER TURNED COMMA
+02bc MODIFIER LETTER APOSTROPHE
+02bd MODIFIER LETTER REVERSED COMMA
+02be MODIFIER LETTER RIGHT HALF RING
+02bf MODIFIER LETTER LEFT HALF RING
+02c0 MODIFIER LETTER GLOTTAL STOP
+02c1 MODIFIER LETTER REVERSED GLOTTAL STOP
+02c2 MODIFIER LETTER LEFT ARROWHEAD
+02c3 MODIFIER LETTER RIGHT ARROWHEAD
+02c4 MODIFIER LETTER UP ARROWHEAD
+02c5 MODIFIER LETTER DOWN ARROWHEAD
+02c6 MODIFIER LETTER CIRCUMFLEX ACCENT
+02c7 CARON
+02c8 MODIFIER LETTER VERTICAL LINE
+02c9 MODIFIER LETTER MACRON
+02ca MODIFIER LETTER ACUTE ACCENT
+02cb MODIFIER LETTER GRAVE ACCENT
+02cc MODIFIER LETTER LOW VERTICAL LINE
+02cd MODIFIER LETTER LOW MACRON
+02ce MODIFIER LETTER LOW GRAVE ACCENT
+02cf MODIFIER LETTER LOW ACUTE ACCENT
+02d0 MODIFIER LETTER TRIANGULAR COLON
+02d1 MODIFIER LETTER HALF TRIANGULAR COLON
+02d2 MODIFIER LETTER CENTRED RIGHT HALF RING
+02d3 MODIFIER LETTER CENTRED LEFT HALF RING
+02d4 MODIFIER LETTER UP TACK
+02d5 MODIFIER LETTER DOWN TACK
+02d6 MODIFIER LETTER PLUS SIGN
+02d7 MODIFIER LETTER MINUS SIGN
+02d8 BREVE
+02d9 DOT ABOVE
+02da RING ABOVE
+02db OGONEK
+02dc SMALL TILDE
+02dd DOUBLE ACUTE ACCENT
+02de MODIFIER LETTER RHOTIC HOOK
+02e0 MODIFIER LETTER SMALL GAMMA
+02e1 MODIFIER LETTER SMALL L
+02e2 MODIFIER LETTER SMALL S
+02e3 MODIFIER LETTER SMALL X
+02e4 MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
+02e5 MODIFIER LETTER EXTRA-HIGH TONE BAR
+02e6 MODIFIER LETTER HIGH TONE BAR
+02e7 MODIFIER LETTER MID TONE BAR
+02e8 MODIFIER LETTER LOW TONE BAR
+02e9 MODIFIER LETTER EXTRA-LOW TONE BAR
+0300 COMBINING GRAVE ACCENT
+0301 COMBINING ACUTE ACCENT
+0302 COMBINING CIRCUMFLEX ACCENT
+0303 COMBINING TILDE
+0304 COMBINING MACRON
+0305 COMBINING OVERLINE
+0306 COMBINING BREVE
+0307 COMBINING DOT ABOVE
+0308 COMBINING DIAERESIS
+0309 COMBINING HOOK ABOVE
+030a COMBINING RING ABOVE
+030b COMBINING DOUBLE ACUTE ACCENT
+030c COMBINING CARON
+030d COMBINING VERTICAL LINE ABOVE
+030e COMBINING DOUBLE VERTICAL LINE ABOVE
+030f COMBINING DOUBLE GRAVE ACCENT
+0310 COMBINING CANDRABINDU
+0311 COMBINING INVERTED BREVE
+0312 COMBINING TURNED COMMA ABOVE
+0313 COMBINING COMMA ABOVE
+0314 COMBINING REVERSED COMMA ABOVE
+0315 COMBINING COMMA ABOVE RIGHT
+0316 COMBINING GRAVE ACCENT BELOW
+0317 COMBINING ACUTE ACCENT BELOW
+0318 COMBINING LEFT TACK BELOW
+0319 COMBINING RIGHT TACK BELOW
+031a COMBINING LEFT ANGLE ABOVE
+031b COMBINING HORN
+031c COMBINING LEFT HALF RING BELOW
+031d COMBINING UP TACK BELOW
+031e COMBINING DOWN TACK BELOW
+031f COMBINING PLUS SIGN BELOW
+0320 COMBINING MINUS SIGN BELOW
+0321 COMBINING PALATALIZED HOOK BELOW
+0322 COMBINING RETROFLEX HOOK BELOW
+0323 COMBINING DOT BELOW
+0324 COMBINING DIAERESIS BELOW
+0325 COMBINING RING BELOW
+0326 COMBINING COMMA BELOW
+0327 COMBINING CEDILLA
+0328 COMBINING OGONEK
+0329 COMBINING VERTICAL LINE BELOW
+032a COMBINING BRIDGE BELOW
+032b COMBINING INVERTED DOUBLE ARCH BELOW
+032c COMBINING CARON BELOW
+032d COMBINING CIRCUMFLEX ACCENT BELOW
+032e COMBINING BREVE BELOW
+032f COMBINING INVERTED BREVE BELOW
+0330 COMBINING TILDE BELOW
+0331 COMBINING MACRON BELOW
+0332 COMBINING LOW LINE
+0333 COMBINING DOUBLE LOW LINE
+0334 COMBINING TILDE OVERLAY
+0335 COMBINING SHORT STROKE OVERLAY
+0336 COMBINING LONG STROKE OVERLAY
+0337 COMBINING SHORT SOLIDUS OVERLAY
+0338 COMBINING LONG SOLIDUS OVERLAY
+0339 COMBINING RIGHT HALF RING BELOW
+033a COMBINING INVERTED BRIDGE BELOW
+033b COMBINING SQUARE BELOW
+033c COMBINING SEAGULL BELOW
+033d COMBINING X ABOVE
+033e COMBINING VERTICAL TILDE
+033f COMBINING DOUBLE OVERLINE
+0340 COMBINING GRAVE TONE MARK
+0341 COMBINING ACUTE TONE MARK
+0342 COMBINING GREEK PERISPOMENI
+0343 COMBINING GREEK KORONIS
+0344 COMBINING GREEK DIALYTIKA TONOS
+0345 COMBINING GREEK YPOGEGRAMMENI
+0360 COMBINING DOUBLE TILDE
+0361 COMBINING DOUBLE INVERTED BREVE
+0374 GREEK NUMERAL SIGN
+0375 GREEK LOWER NUMERAL SIGN
+037a GREEK YPOGEGRAMMENI
+037e GREEK QUESTION MARK
+0384 GREEK TONOS
+0385 GREEK DIALYTIKA TONOS
+0386 GREEK CAPITAL LETTER ALPHA WITH TONOS
+0387 GREEK ANO TELEIA
+0388 GREEK CAPITAL LETTER EPSILON WITH TONOS
+0389 GREEK CAPITAL LETTER ETA WITH TONOS
+038a GREEK CAPITAL LETTER IOTA WITH TONOS
+038c GREEK CAPITAL LETTER OMICRON WITH TONOS
+038e GREEK CAPITAL LETTER UPSILON WITH TONOS
+038f GREEK CAPITAL LETTER OMEGA WITH TONOS
+0390 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+0391 GREEK CAPITAL LETTER ALPHA
+0392 GREEK CAPITAL LETTER BETA
+0393 GREEK CAPITAL LETTER GAMMA
+0394 GREEK CAPITAL LETTER DELTA
+0395 GREEK CAPITAL LETTER EPSILON
+0396 GREEK CAPITAL LETTER ZETA
+0397 GREEK CAPITAL LETTER ETA
+0398 GREEK CAPITAL LETTER THETA
+0399 GREEK CAPITAL LETTER IOTA
+039a GREEK CAPITAL LETTER KAPPA
+039b GREEK CAPITAL LETTER LAMDA
+039c GREEK CAPITAL LETTER MU
+039d GREEK CAPITAL LETTER NU
+039e GREEK CAPITAL LETTER XI
+039f GREEK CAPITAL LETTER OMICRON
+03a0 GREEK CAPITAL LETTER PI
+03a1 GREEK CAPITAL LETTER RHO
+03a3 GREEK CAPITAL LETTER SIGMA
+03a4 GREEK CAPITAL LETTER TAU
+03a5 GREEK CAPITAL LETTER UPSILON
+03a6 GREEK CAPITAL LETTER PHI
+03a7 GREEK CAPITAL LETTER CHI
+03a8 GREEK CAPITAL LETTER PSI
+03a9 GREEK CAPITAL LETTER OMEGA
+03aa GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+03ab GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+03ac GREEK SMALL LETTER ALPHA WITH TONOS
+03ad GREEK SMALL LETTER EPSILON WITH TONOS
+03ae GREEK SMALL LETTER ETA WITH TONOS
+03af GREEK SMALL LETTER IOTA WITH TONOS
+03b0 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+03b1 GREEK SMALL LETTER ALPHA
+03b2 GREEK SMALL LETTER BETA
+03b3 GREEK SMALL LETTER GAMMA
+03b4 GREEK SMALL LETTER DELTA
+03b5 GREEK SMALL LETTER EPSILON
+03b6 GREEK SMALL LETTER ZETA
+03b7 GREEK SMALL LETTER ETA
+03b8 GREEK SMALL LETTER THETA
+03b9 GREEK SMALL LETTER IOTA
+03ba GREEK SMALL LETTER KAPPA
+03bb GREEK SMALL LETTER LAMDA
+03bc GREEK SMALL LETTER MU
+03bd GREEK SMALL LETTER NU
+03be GREEK SMALL LETTER XI
+03bf GREEK SMALL LETTER OMICRON
+03c0 GREEK SMALL LETTER PI
+03c1 GREEK SMALL LETTER RHO
+03c2 GREEK SMALL LETTER FINAL SIGMA
+03c3 GREEK SMALL LETTER SIGMA
+03c4 GREEK SMALL LETTER TAU
+03c5 GREEK SMALL LETTER UPSILON
+03c6 GREEK SMALL LETTER PHI
+03c7 GREEK SMALL LETTER CHI
+03c8 GREEK SMALL LETTER PSI
+03c9 GREEK SMALL LETTER OMEGA
+03ca GREEK SMALL LETTER IOTA WITH DIALYTIKA
+03cb GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+03cc GREEK SMALL LETTER OMICRON WITH TONOS
+03cd GREEK SMALL LETTER UPSILON WITH TONOS
+03ce GREEK SMALL LETTER OMEGA WITH TONOS
+03d0 GREEK BETA SYMBOL
+03d1 GREEK THETA SYMBOL
+03d2 GREEK UPSILON WITH HOOK SYMBOL
+03d3 GREEK UPSILON WITH ACUTE AND HOOK SYMBOL
+03d4 GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL
+03d5 GREEK PHI SYMBOL
+03d6 GREEK PI SYMBOL
+03da GREEK LETTER STIGMA
+03dc GREEK LETTER DIGAMMA
+03de GREEK LETTER KOPPA
+03e0 GREEK LETTER SAMPI
+03e2 COPTIC CAPITAL LETTER SHEI
+03e3 COPTIC SMALL LETTER SHEI
+03e4 COPTIC CAPITAL LETTER FEI
+03e5 COPTIC SMALL LETTER FEI
+03e6 COPTIC CAPITAL LETTER KHEI
+03e7 COPTIC SMALL LETTER KHEI
+03e8 COPTIC CAPITAL LETTER HORI
+03e9 COPTIC SMALL LETTER HORI
+03ea COPTIC CAPITAL LETTER GANGIA
+03eb COPTIC SMALL LETTER GANGIA
+03ec COPTIC CAPITAL LETTER SHIMA
+03ed COPTIC SMALL LETTER SHIMA
+03ee COPTIC CAPITAL LETTER DEI
+03ef COPTIC SMALL LETTER DEI
+03f0 GREEK KAPPA SYMBOL
+03f1 GREEK RHO SYMBOL
+03f2 GREEK LUNATE SIGMA SYMBOL
+03f3 GREEK LETTER YOT
+0401 CYRILLIC CAPITAL LETTER IO
+0402 CYRILLIC CAPITAL LETTER DJE
+0403 CYRILLIC CAPITAL LETTER GJE
+0404 CYRILLIC CAPITAL LETTER UKRAINIAN IE
+0405 CYRILLIC CAPITAL LETTER DZE
+0406 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+0407 CYRILLIC CAPITAL LETTER YI
+0408 CYRILLIC CAPITAL LETTER JE
+0409 CYRILLIC CAPITAL LETTER LJE
+040a CYRILLIC CAPITAL LETTER NJE
+040b CYRILLIC CAPITAL LETTER TSHE
+040c CYRILLIC CAPITAL LETTER KJE
+040e CYRILLIC CAPITAL LETTER SHORT U
+040f CYRILLIC CAPITAL LETTER DZHE
+0410 CYRILLIC CAPITAL LETTER A
+0411 CYRILLIC CAPITAL LETTER BE
+0412 CYRILLIC CAPITAL LETTER VE
+0413 CYRILLIC CAPITAL LETTER GHE
+0414 CYRILLIC CAPITAL LETTER DE
+0415 CYRILLIC CAPITAL LETTER IE
+0416 CYRILLIC CAPITAL LETTER ZHE
+0417 CYRILLIC CAPITAL LETTER ZE
+0418 CYRILLIC CAPITAL LETTER I
+0419 CYRILLIC CAPITAL LETTER SHORT I
+041a CYRILLIC CAPITAL LETTER KA
+041b CYRILLIC CAPITAL LETTER EL
+041c CYRILLIC CAPITAL LETTER EM
+041d CYRILLIC CAPITAL LETTER EN
+041e CYRILLIC CAPITAL LETTER O
+041f CYRILLIC CAPITAL LETTER PE
+0420 CYRILLIC CAPITAL LETTER ER
+0421 CYRILLIC CAPITAL LETTER ES
+0422 CYRILLIC CAPITAL LETTER TE
+0423 CYRILLIC CAPITAL LETTER U
+0424 CYRILLIC CAPITAL LETTER EF
+0425 CYRILLIC CAPITAL LETTER HA
+0426 CYRILLIC CAPITAL LETTER TSE
+0427 CYRILLIC CAPITAL LETTER CHE
+0428 CYRILLIC CAPITAL LETTER SHA
+0429 CYRILLIC CAPITAL LETTER SHCHA
+042a CYRILLIC CAPITAL LETTER HARD SIGN
+042b CYRILLIC CAPITAL LETTER YERU
+042c CYRILLIC CAPITAL LETTER SOFT SIGN
+042d CYRILLIC CAPITAL LETTER E
+042e CYRILLIC CAPITAL LETTER YU
+042f CYRILLIC CAPITAL LETTER YA
+0430 CYRILLIC SMALL LETTER A
+0431 CYRILLIC SMALL LETTER BE
+0432 CYRILLIC SMALL LETTER VE
+0433 CYRILLIC SMALL LETTER GHE
+0434 CYRILLIC SMALL LETTER DE
+0435 CYRILLIC SMALL LETTER IE
+0436 CYRILLIC SMALL LETTER ZHE
+0437 CYRILLIC SMALL LETTER ZE
+0438 CYRILLIC SMALL LETTER I
+0439 CYRILLIC SMALL LETTER SHORT I
+043a CYRILLIC SMALL LETTER KA
+043b CYRILLIC SMALL LETTER EL
+043c CYRILLIC SMALL LETTER EM
+043d CYRILLIC SMALL LETTER EN
+043e CYRILLIC SMALL LETTER O
+043f CYRILLIC SMALL LETTER PE
+0440 CYRILLIC SMALL LETTER ER
+0441 CYRILLIC SMALL LETTER ES
+0442 CYRILLIC SMALL LETTER TE
+0443 CYRILLIC SMALL LETTER U
+0444 CYRILLIC SMALL LETTER EF
+0445 CYRILLIC SMALL LETTER HA
+0446 CYRILLIC SMALL LETTER TSE
+0447 CYRILLIC SMALL LETTER CHE
+0448 CYRILLIC SMALL LETTER SHA
+0449 CYRILLIC SMALL LETTER SHCHA
+044a CYRILLIC SMALL LETTER HARD SIGN
+044b CYRILLIC SMALL LETTER YERU
+044c CYRILLIC SMALL LETTER SOFT SIGN
+044d CYRILLIC SMALL LETTER E
+044e CYRILLIC SMALL LETTER YU
+044f CYRILLIC SMALL LETTER YA
+0451 CYRILLIC SMALL LETTER IO
+0452 CYRILLIC SMALL LETTER DJE
+0453 CYRILLIC SMALL LETTER GJE
+0454 CYRILLIC SMALL LETTER UKRAINIAN IE
+0455 CYRILLIC SMALL LETTER DZE
+0456 CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0457 CYRILLIC SMALL LETTER YI
+0458 CYRILLIC SMALL LETTER JE
+0459 CYRILLIC SMALL LETTER LJE
+045a CYRILLIC SMALL LETTER NJE
+045b CYRILLIC SMALL LETTER TSHE
+045c CYRILLIC SMALL LETTER KJE
+045e CYRILLIC SMALL LETTER SHORT U
+045f CYRILLIC SMALL LETTER DZHE
+0460 CYRILLIC CAPITAL LETTER OMEGA
+0461 CYRILLIC SMALL LETTER OMEGA
+0462 CYRILLIC CAPITAL LETTER YAT
+0463 CYRILLIC SMALL LETTER YAT
+0464 CYRILLIC CAPITAL LETTER IOTIFIED E
+0465 CYRILLIC SMALL LETTER IOTIFIED E
+0466 CYRILLIC CAPITAL LETTER LITTLE YUS
+0467 CYRILLIC SMALL LETTER LITTLE YUS
+0468 CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
+0469 CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
+046a CYRILLIC CAPITAL LETTER BIG YUS
+046b CYRILLIC SMALL LETTER BIG YUS
+046c CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
+046d CYRILLIC SMALL LETTER IOTIFIED BIG YUS
+046e CYRILLIC CAPITAL LETTER KSI
+046f CYRILLIC SMALL LETTER KSI
+0470 CYRILLIC CAPITAL LETTER PSI
+0471 CYRILLIC SMALL LETTER PSI
+0472 CYRILLIC CAPITAL LETTER FITA
+0473 CYRILLIC SMALL LETTER FITA
+0474 CYRILLIC CAPITAL LETTER IZHITSA
+0475 CYRILLIC SMALL LETTER IZHITSA
+0476 CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0477 CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0478 CYRILLIC CAPITAL LETTER UK
+0479 CYRILLIC SMALL LETTER UK
+047a CYRILLIC CAPITAL LETTER ROUND OMEGA
+047b CYRILLIC SMALL LETTER ROUND OMEGA
+047c CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
+047d CYRILLIC SMALL LETTER OMEGA WITH TITLO
+047e CYRILLIC CAPITAL LETTER OT
+047f CYRILLIC SMALL LETTER OT
+0480 CYRILLIC CAPITAL LETTER KOPPA
+0481 CYRILLIC SMALL LETTER KOPPA
+0482 CYRILLIC THOUSANDS SIGN
+0483 COMBINING CYRILLIC TITLO
+0484 COMBINING CYRILLIC PALATALIZATION
+0485 COMBINING CYRILLIC DASIA PNEUMATA
+0486 COMBINING CYRILLIC PSILI PNEUMATA
+0490 CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+0491 CYRILLIC SMALL LETTER GHE WITH UPTURN
+0492 CYRILLIC CAPITAL LETTER GHE WITH STROKE
+0493 CYRILLIC SMALL LETTER GHE WITH STROKE
+0494 CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
+0495 CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
+0496 CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
+0497 CYRILLIC SMALL LETTER ZHE WITH DESCENDER
+0498 CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
+0499 CYRILLIC SMALL LETTER ZE WITH DESCENDER
+049a CYRILLIC CAPITAL LETTER KA WITH DESCENDER
+049b CYRILLIC SMALL LETTER KA WITH DESCENDER
+049c CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
+049d CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
+049e CYRILLIC CAPITAL LETTER KA WITH STROKE
+049f CYRILLIC SMALL LETTER KA WITH STROKE
+04a0 CYRILLIC CAPITAL LETTER BASHKIR KA
+04a1 CYRILLIC SMALL LETTER BASHKIR KA
+04a2 CYRILLIC CAPITAL LETTER EN WITH DESCENDER
+04a3 CYRILLIC SMALL LETTER EN WITH DESCENDER
+04a4 CYRILLIC CAPITAL LIGATURE EN GHE
+04a5 CYRILLIC SMALL LIGATURE EN GHE
+04a6 CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
+04a7 CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
+04a8 CYRILLIC CAPITAL LETTER ABKHASIAN HA
+04a9 CYRILLIC SMALL LETTER ABKHASIAN HA
+04aa CYRILLIC CAPITAL LETTER ES WITH DESCENDER
+04ab CYRILLIC SMALL LETTER ES WITH DESCENDER
+04ac CYRILLIC CAPITAL LETTER TE WITH DESCENDER
+04ad CYRILLIC SMALL LETTER TE WITH DESCENDER
+04ae CYRILLIC CAPITAL LETTER STRAIGHT U
+04af CYRILLIC SMALL LETTER STRAIGHT U
+04b0 CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
+04b1 CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
+04b2 CYRILLIC CAPITAL LETTER HA WITH DESCENDER
+04b3 CYRILLIC SMALL LETTER HA WITH DESCENDER
+04b4 CYRILLIC CAPITAL LIGATURE TE TSE
+04b5 CYRILLIC SMALL LIGATURE TE TSE
+04b6 CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
+04b7 CYRILLIC SMALL LETTER CHE WITH DESCENDER
+04b8 CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
+04b9 CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
+04ba CYRILLIC CAPITAL LETTER SHHA
+04bb CYRILLIC SMALL LETTER SHHA
+04bc CYRILLIC CAPITAL LETTER ABKHASIAN CHE
+04bd CYRILLIC SMALL LETTER ABKHASIAN CHE
+04be CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
+04bf CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
+04c0 CYRILLIC LETTER PALOCHKA
+04c1 CYRILLIC CAPITAL LETTER ZHE WITH BREVE
+04c2 CYRILLIC SMALL LETTER ZHE WITH BREVE
+04c3 CYRILLIC CAPITAL LETTER KA WITH HOOK
+04c4 CYRILLIC SMALL LETTER KA WITH HOOK
+04c7 CYRILLIC CAPITAL LETTER EN WITH HOOK
+04c8 CYRILLIC SMALL LETTER EN WITH HOOK
+04cb CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
+04cc CYRILLIC SMALL LETTER KHAKASSIAN CHE
+04d0 CYRILLIC CAPITAL LETTER A WITH BREVE
+04d1 CYRILLIC SMALL LETTER A WITH BREVE
+04d2 CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04d3 CYRILLIC SMALL LETTER A WITH DIAERESIS
+04d4 CYRILLIC CAPITAL LIGATURE A IE
+04d5 CYRILLIC SMALL LIGATURE A IE
+04d6 CYRILLIC CAPITAL LETTER IE WITH BREVE
+04d7 CYRILLIC SMALL LETTER IE WITH BREVE
+04d8 CYRILLIC CAPITAL LETTER SCHWA
+04d9 CYRILLIC SMALL LETTER SCHWA
+04da CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+04db CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04dc CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+04dd CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04de CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+04df CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04e0 CYRILLIC CAPITAL LETTER ABKHASIAN DZE
+04e1 CYRILLIC SMALL LETTER ABKHASIAN DZE
+04e2 CYRILLIC CAPITAL LETTER I WITH MACRON
+04e3 CYRILLIC SMALL LETTER I WITH MACRON
+04e4 CYRILLIC CAPITAL LETTER I WITH DIAERESIS
+04e5 CYRILLIC SMALL LETTER I WITH DIAERESIS
+04e6 CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04e7 CYRILLIC SMALL LETTER O WITH DIAERESIS
+04e8 CYRILLIC CAPITAL LETTER BARRED O
+04e9 CYRILLIC SMALL LETTER BARRED O
+04ea CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+04eb CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04ee CYRILLIC CAPITAL LETTER U WITH MACRON
+04ef CYRILLIC SMALL LETTER U WITH MACRON
+04f0 CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04f1 CYRILLIC SMALL LETTER U WITH DIAERESIS
+04f2 CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04f3 CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04f4 CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04f5 CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04f8 CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+04f9 CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+0531 ARMENIAN CAPITAL LETTER AYB
+0532 ARMENIAN CAPITAL LETTER BEN
+0533 ARMENIAN CAPITAL LETTER GIM
+0534 ARMENIAN CAPITAL LETTER DA
+0535 ARMENIAN CAPITAL LETTER ECH
+0536 ARMENIAN CAPITAL LETTER ZA
+0537 ARMENIAN CAPITAL LETTER EH
+0538 ARMENIAN CAPITAL LETTER ET
+0539 ARMENIAN CAPITAL LETTER TO
+053a ARMENIAN CAPITAL LETTER ZHE
+053b ARMENIAN CAPITAL LETTER INI
+053c ARMENIAN CAPITAL LETTER LIWN
+053d ARMENIAN CAPITAL LETTER XEH
+053e ARMENIAN CAPITAL LETTER CA
+053f ARMENIAN CAPITAL LETTER KEN
+0540 ARMENIAN CAPITAL LETTER HO
+0541 ARMENIAN CAPITAL LETTER JA
+0542 ARMENIAN CAPITAL LETTER GHAD
+0543 ARMENIAN CAPITAL LETTER CHEH
+0544 ARMENIAN CAPITAL LETTER MEN
+0545 ARMENIAN CAPITAL LETTER YI
+0546 ARMENIAN CAPITAL LETTER NOW
+0547 ARMENIAN CAPITAL LETTER SHA
+0548 ARMENIAN CAPITAL LETTER VO
+0549 ARMENIAN CAPITAL LETTER CHA
+054a ARMENIAN CAPITAL LETTER PEH
+054b ARMENIAN CAPITAL LETTER JHEH
+054c ARMENIAN CAPITAL LETTER RA
+054d ARMENIAN CAPITAL LETTER SEH
+054e ARMENIAN CAPITAL LETTER VEW
+054f ARMENIAN CAPITAL LETTER TIWN
+0550 ARMENIAN CAPITAL LETTER REH
+0551 ARMENIAN CAPITAL LETTER CO
+0552 ARMENIAN CAPITAL LETTER YIWN
+0553 ARMENIAN CAPITAL LETTER PIWR
+0554 ARMENIAN CAPITAL LETTER KEH
+0555 ARMENIAN CAPITAL LETTER OH
+0556 ARMENIAN CAPITAL LETTER FEH
+0559 ARMENIAN MODIFIER LETTER LEFT HALF RING
+055a ARMENIAN APOSTROPHE
+055b ARMENIAN EMPHASIS MARK
+055c ARMENIAN EXCLAMATION MARK
+055d ARMENIAN COMMA
+055e ARMENIAN QUESTION MARK
+055f ARMENIAN ABBREVIATION MARK
+0561 ARMENIAN SMALL LETTER AYB
+0562 ARMENIAN SMALL LETTER BEN
+0563 ARMENIAN SMALL LETTER GIM
+0564 ARMENIAN SMALL LETTER DA
+0565 ARMENIAN SMALL LETTER ECH
+0566 ARMENIAN SMALL LETTER ZA
+0567 ARMENIAN SMALL LETTER EH
+0568 ARMENIAN SMALL LETTER ET
+0569 ARMENIAN SMALL LETTER TO
+056a ARMENIAN SMALL LETTER ZHE
+056b ARMENIAN SMALL LETTER INI
+056c ARMENIAN SMALL LETTER LIWN
+056d ARMENIAN SMALL LETTER XEH
+056e ARMENIAN SMALL LETTER CA
+056f ARMENIAN SMALL LETTER KEN
+0570 ARMENIAN SMALL LETTER HO
+0571 ARMENIAN SMALL LETTER JA
+0572 ARMENIAN SMALL LETTER GHAD
+0573 ARMENIAN SMALL LETTER CHEH
+0574 ARMENIAN SMALL LETTER MEN
+0575 ARMENIAN SMALL LETTER YI
+0576 ARMENIAN SMALL LETTER NOW
+0577 ARMENIAN SMALL LETTER SHA
+0578 ARMENIAN SMALL LETTER VO
+0579 ARMENIAN SMALL LETTER CHA
+057a ARMENIAN SMALL LETTER PEH
+057b ARMENIAN SMALL LETTER JHEH
+057c ARMENIAN SMALL LETTER RA
+057d ARMENIAN SMALL LETTER SEH
+057e ARMENIAN SMALL LETTER VEW
+057f ARMENIAN SMALL LETTER TIWN
+0580 ARMENIAN SMALL LETTER REH
+0581 ARMENIAN SMALL LETTER CO
+0582 ARMENIAN SMALL LETTER YIWN
+0583 ARMENIAN SMALL LETTER PIWR
+0584 ARMENIAN SMALL LETTER KEH
+0585 ARMENIAN SMALL LETTER OH
+0586 ARMENIAN SMALL LETTER FEH
+0587 ARMENIAN SMALL LIGATURE ECH YIWN
+0589 ARMENIAN FULL STOP
+0591 HEBREW ACCENT ETNAHTA
+0592 HEBREW ACCENT SEGOL
+0593 HEBREW ACCENT SHALSHELET
+0594 HEBREW ACCENT ZAQEF QATAN
+0595 HEBREW ACCENT ZAQEF GADOL
+0596 HEBREW ACCENT TIPEHA
+0597 HEBREW ACCENT REVIA
+0598 HEBREW ACCENT ZARQA
+0599 HEBREW ACCENT PASHTA
+059a HEBREW ACCENT YETIV
+059b HEBREW ACCENT TEVIR
+059c HEBREW ACCENT GERESH
+059d HEBREW ACCENT GERESH MUQDAM
+059e HEBREW ACCENT GERSHAYIM
+059f HEBREW ACCENT QARNEY PARA
+05a0 HEBREW ACCENT TELISHA GEDOLA
+05a1 HEBREW ACCENT PAZER
+05a3 HEBREW ACCENT MUNAH
+05a4 HEBREW ACCENT MAHAPAKH
+05a5 HEBREW ACCENT MERKHA
+05a6 HEBREW ACCENT MERKHA KEFULA
+05a7 HEBREW ACCENT DARGA
+05a8 HEBREW ACCENT QADMA
+05a9 HEBREW ACCENT TELISHA QETANA
+05aa HEBREW ACCENT YERAH BEN YOMO
+05ab HEBREW ACCENT OLE
+05ac HEBREW ACCENT ILUY
+05ad HEBREW ACCENT DEHI
+05ae HEBREW ACCENT ZINOR
+05af HEBREW MARK MASORA CIRCLE
+05b0 HEBREW POINT SHEVA
+05b1 HEBREW POINT HATAF SEGOL
+05b2 HEBREW POINT HATAF PATAH
+05b3 HEBREW POINT HATAF QAMATS
+05b4 HEBREW POINT HIRIQ
+05b5 HEBREW POINT TSERE
+05b6 HEBREW POINT SEGOL
+05b7 HEBREW POINT PATAH
+05b8 HEBREW POINT QAMATS
+05b9 HEBREW POINT HOLAM
+05bb HEBREW POINT QUBUTS
+05bc HEBREW POINT DAGESH OR MAPIQ
+05bd HEBREW POINT METEG
+05be HEBREW PUNCTUATION MAQAF
+05bf HEBREW POINT RAFE
+05c0 HEBREW PUNCTUATION PASEQ
+05c1 HEBREW POINT SHIN DOT
+05c2 HEBREW POINT SIN DOT
+05c3 HEBREW PUNCTUATION SOF PASUQ
+05c4 HEBREW MARK UPPER DOT
+05d0 HEBREW LETTER ALEF
+05d1 HEBREW LETTER BET
+05d2 HEBREW LETTER GIMEL
+05d3 HEBREW LETTER DALET
+05d4 HEBREW LETTER HE
+05d5 HEBREW LETTER VAV
+05d6 HEBREW LETTER ZAYIN
+05d7 HEBREW LETTER HET
+05d8 HEBREW LETTER TET
+05d9 HEBREW LETTER YOD
+05da HEBREW LETTER FINAL KAF
+05db HEBREW LETTER KAF
+05dc HEBREW LETTER LAMED
+05dd HEBREW LETTER FINAL MEM
+05de HEBREW LETTER MEM
+05df HEBREW LETTER FINAL NUN
+05e0 HEBREW LETTER NUN
+05e1 HEBREW LETTER SAMEKH
+05e2 HEBREW LETTER AYIN
+05e3 HEBREW LETTER FINAL PE
+05e4 HEBREW LETTER PE
+05e5 HEBREW LETTER FINAL TSADI
+05e6 HEBREW LETTER TSADI
+05e7 HEBREW LETTER QOF
+05e8 HEBREW LETTER RESH
+05e9 HEBREW LETTER SHIN
+05ea HEBREW LETTER TAV
+05f0 HEBREW LIGATURE YIDDISH DOUBLE VAV
+05f1 HEBREW LIGATURE YIDDISH VAV YOD
+05f2 HEBREW LIGATURE YIDDISH DOUBLE YOD
+05f3 HEBREW PUNCTUATION GERESH
+05f4 HEBREW PUNCTUATION GERSHAYIM
+060c ARABIC COMMA
+061b ARABIC SEMICOLON
+061f ARABIC QUESTION MARK
+0621 ARABIC LETTER HAMZA
+0622 ARABIC LETTER ALEF WITH MADDA ABOVE
+0623 ARABIC LETTER ALEF WITH HAMZA ABOVE
+0624 ARABIC LETTER WAW WITH HAMZA ABOVE
+0625 ARABIC LETTER ALEF WITH HAMZA BELOW
+0626 ARABIC LETTER YEH WITH HAMZA ABOVE
+0627 ARABIC LETTER ALEF
+0628 ARABIC LETTER BEH
+0629 ARABIC LETTER TEH MARBUTA
+062a ARABIC LETTER TEH
+062b ARABIC LETTER THEH
+062c ARABIC LETTER JEEM
+062d ARABIC LETTER HAH
+062e ARABIC LETTER KHAH
+062f ARABIC LETTER DAL
+0630 ARABIC LETTER THAL
+0631 ARABIC LETTER REH
+0632 ARABIC LETTER ZAIN
+0633 ARABIC LETTER SEEN
+0634 ARABIC LETTER SHEEN
+0635 ARABIC LETTER SAD
+0636 ARABIC LETTER DAD
+0637 ARABIC LETTER TAH
+0638 ARABIC LETTER ZAH
+0639 ARABIC LETTER AIN
+063a ARABIC LETTER GHAIN
+0640 ARABIC TATWEEL
+0641 ARABIC LETTER FEH
+0642 ARABIC LETTER QAF
+0643 ARABIC LETTER KAF
+0644 ARABIC LETTER LAM
+0645 ARABIC LETTER MEEM
+0646 ARABIC LETTER NOON
+0647 ARABIC LETTER HEH
+0648 ARABIC LETTER WAW
+0649 ARABIC LETTER ALEF MAKSURA
+064a ARABIC LETTER YEH
+064b ARABIC FATHATAN
+064c ARABIC DAMMATAN
+064d ARABIC KASRATAN
+064e ARABIC FATHA
+064f ARABIC DAMMA
+0650 ARABIC KASRA
+0651 ARABIC SHADDA
+0652 ARABIC SUKUN
+0660 ARABIC-INDIC DIGIT ZERO
+0661 ARABIC-INDIC DIGIT ONE
+0662 ARABIC-INDIC DIGIT TWO
+0663 ARABIC-INDIC DIGIT THREE
+0664 ARABIC-INDIC DIGIT FOUR
+0665 ARABIC-INDIC DIGIT FIVE
+0666 ARABIC-INDIC DIGIT SIX
+0667 ARABIC-INDIC DIGIT SEVEN
+0668 ARABIC-INDIC DIGIT EIGHT
+0669 ARABIC-INDIC DIGIT NINE
+066a ARABIC PERCENT SIGN
+066b ARABIC DECIMAL SEPARATOR
+066c ARABIC THOUSANDS SEPARATOR
+066d ARABIC FIVE POINTED STAR
+0670 ARABIC LETTER SUPERSCRIPT ALEF
+0671 ARABIC LETTER ALEF WASLA
+0672 ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
+0673 ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
+0674 ARABIC LETTER HIGH HAMZA
+0675 ARABIC LETTER HIGH HAMZA ALEF
+0676 ARABIC LETTER HIGH HAMZA WAW
+0677 ARABIC LETTER U WITH HAMZA ABOVE
+0678 ARABIC LETTER HIGH HAMZA YEH
+0679 ARABIC LETTER TTEH
+067a ARABIC LETTER TTEHEH
+067b ARABIC LETTER BEEH
+067c ARABIC LETTER TEH WITH RING
+067d ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS
+067e ARABIC LETTER PEH
+067f ARABIC LETTER TEHEH
+0680 ARABIC LETTER BEHEH
+0681 ARABIC LETTER HAH WITH HAMZA ABOVE
+0682 ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE
+0683 ARABIC LETTER NYEH
+0684 ARABIC LETTER DYEH
+0685 ARABIC LETTER HAH WITH THREE DOTS ABOVE
+0686 ARABIC LETTER TCHEH
+0687 ARABIC LETTER TCHEHEH
+0688 ARABIC LETTER DDAL
+0689 ARABIC LETTER DAL WITH RING
+068a ARABIC LETTER DAL WITH DOT BELOW
+068b ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH
+068c ARABIC LETTER DAHAL
+068d ARABIC LETTER DDAHAL
+068e ARABIC LETTER DUL
+068f ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS
+0690 ARABIC LETTER DAL WITH FOUR DOTS ABOVE
+0691 ARABIC LETTER RREH
+0692 ARABIC LETTER REH WITH SMALL V
+0693 ARABIC LETTER REH WITH RING
+0694 ARABIC LETTER REH WITH DOT BELOW
+0695 ARABIC LETTER REH WITH SMALL V BELOW
+0696 ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE
+0697 ARABIC LETTER REH WITH TWO DOTS ABOVE
+0698 ARABIC LETTER JEH
+0699 ARABIC LETTER REH WITH FOUR DOTS ABOVE
+069a ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE
+069b ARABIC LETTER SEEN WITH THREE DOTS BELOW
+069c ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE
+069d ARABIC LETTER SAD WITH TWO DOTS BELOW
+069e ARABIC LETTER SAD WITH THREE DOTS ABOVE
+069f ARABIC LETTER TAH WITH THREE DOTS ABOVE
+06a0 ARABIC LETTER AIN WITH THREE DOTS ABOVE
+06a1 ARABIC LETTER DOTLESS FEH
+06a2 ARABIC LETTER FEH WITH DOT MOVED BELOW
+06a3 ARABIC LETTER FEH WITH DOT BELOW
+06a4 ARABIC LETTER VEH
+06a5 ARABIC LETTER FEH WITH THREE DOTS BELOW
+06a6 ARABIC LETTER PEHEH
+06a7 ARABIC LETTER QAF WITH DOT ABOVE
+06a8 ARABIC LETTER QAF WITH THREE DOTS ABOVE
+06a9 ARABIC LETTER KEHEH
+06aa ARABIC LETTER SWASH KAF
+06ab ARABIC LETTER KAF WITH RING
+06ac ARABIC LETTER KAF WITH DOT ABOVE
+06ad ARABIC LETTER NG
+06ae ARABIC LETTER KAF WITH THREE DOTS BELOW
+06af ARABIC LETTER GAF
+06b0 ARABIC LETTER GAF WITH RING
+06b1 ARABIC LETTER NGOEH
+06b2 ARABIC LETTER GAF WITH TWO DOTS BELOW
+06b3 ARABIC LETTER GUEH
+06b4 ARABIC LETTER GAF WITH THREE DOTS ABOVE
+06b5 ARABIC LETTER LAM WITH SMALL V
+06b6 ARABIC LETTER LAM WITH DOT ABOVE
+06b7 ARABIC LETTER LAM WITH THREE DOTS ABOVE
+06ba ARABIC LETTER NOON GHUNNA
+06bb ARABIC LETTER RNOON
+06bc ARABIC LETTER NOON WITH RING
+06bd ARABIC LETTER NOON WITH THREE DOTS ABOVE
+06be ARABIC LETTER HEH DOACHASHMEE
+06c0 ARABIC LETTER HEH WITH YEH ABOVE
+06c1 ARABIC LETTER HEH GOAL
+06c2 ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
+06c3 ARABIC LETTER TEH MARBUTA GOAL
+06c4 ARABIC LETTER WAW WITH RING
+06c5 ARABIC LETTER KIRGHIZ OE
+06c6 ARABIC LETTER OE
+06c7 ARABIC LETTER U
+06c8 ARABIC LETTER YU
+06c9 ARABIC LETTER KIRGHIZ YU
+06ca ARABIC LETTER WAW WITH TWO DOTS ABOVE
+06cb ARABIC LETTER VE
+06cc ARABIC LETTER FARSI YEH
+06cd ARABIC LETTER YEH WITH TAIL
+06ce ARABIC LETTER YEH WITH SMALL V
+06d0 ARABIC LETTER E
+06d1 ARABIC LETTER YEH WITH THREE DOTS BELOW
+06d2 ARABIC LETTER YEH BARREE
+06d3 ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
+06d4 ARABIC FULL STOP
+06d5 ARABIC LETTER AE
+06d6 ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA
+06d7 ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA
+06d8 ARABIC SMALL HIGH MEEM INITIAL FORM
+06d9 ARABIC SMALL HIGH LAM ALEF
+06da ARABIC SMALL HIGH JEEM
+06db ARABIC SMALL HIGH THREE DOTS
+06dc ARABIC SMALL HIGH SEEN
+06dd ARABIC END OF AYAH
+06de ARABIC START OF RUB EL HIZB
+06df ARABIC SMALL HIGH ROUNDED ZERO
+06e0 ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO
+06e1 ARABIC SMALL HIGH DOTLESS HEAD OF KHAH
+06e2 ARABIC SMALL HIGH MEEM ISOLATED FORM
+06e3 ARABIC SMALL LOW SEEN
+06e4 ARABIC SMALL HIGH MADDA
+06e5 ARABIC SMALL WAW
+06e6 ARABIC SMALL YEH
+06e7 ARABIC SMALL HIGH YEH
+06e8 ARABIC SMALL HIGH NOON
+06e9 ARABIC PLACE OF SAJDAH
+06ea ARABIC EMPTY CENTRE LOW STOP
+06eb ARABIC EMPTY CENTRE HIGH STOP
+06ec ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE
+06ed ARABIC SMALL LOW MEEM
+06f0 EXTENDED ARABIC-INDIC DIGIT ZERO
+06f1 EXTENDED ARABIC-INDIC DIGIT ONE
+06f2 EXTENDED ARABIC-INDIC DIGIT TWO
+06f3 EXTENDED ARABIC-INDIC DIGIT THREE
+06f4 EXTENDED ARABIC-INDIC DIGIT FOUR
+06f5 EXTENDED ARABIC-INDIC DIGIT FIVE
+06f6 EXTENDED ARABIC-INDIC DIGIT SIX
+06f7 EXTENDED ARABIC-INDIC DIGIT SEVEN
+06f8 EXTENDED ARABIC-INDIC DIGIT EIGHT
+06f9 EXTENDED ARABIC-INDIC DIGIT NINE
+0901 DEVANAGARI SIGN CANDRABINDU
+0902 DEVANAGARI SIGN ANUSVARA
+0903 DEVANAGARI SIGN VISARGA
+0905 DEVANAGARI LETTER A
+0906 DEVANAGARI LETTER AA
+0907 DEVANAGARI LETTER I
+0908 DEVANAGARI LETTER II
+0909 DEVANAGARI LETTER U
+090a DEVANAGARI LETTER UU
+090b DEVANAGARI LETTER VOCALIC R
+090c DEVANAGARI LETTER VOCALIC L
+090d DEVANAGARI LETTER CANDRA E
+090e DEVANAGARI LETTER SHORT E
+090f DEVANAGARI LETTER E
+0910 DEVANAGARI LETTER AI
+0911 DEVANAGARI LETTER CANDRA O
+0912 DEVANAGARI LETTER SHORT O
+0913 DEVANAGARI LETTER O
+0914 DEVANAGARI LETTER AU
+0915 DEVANAGARI LETTER KA
+0916 DEVANAGARI LETTER KHA
+0917 DEVANAGARI LETTER GA
+0918 DEVANAGARI LETTER GHA
+0919 DEVANAGARI LETTER NGA
+091a DEVANAGARI LETTER CA
+091b DEVANAGARI LETTER CHA
+091c DEVANAGARI LETTER JA
+091d DEVANAGARI LETTER JHA
+091e DEVANAGARI LETTER NYA
+091f DEVANAGARI LETTER TTA
+0920 DEVANAGARI LETTER TTHA
+0921 DEVANAGARI LETTER DDA
+0922 DEVANAGARI LETTER DDHA
+0923 DEVANAGARI LETTER NNA
+0924 DEVANAGARI LETTER TA
+0925 DEVANAGARI LETTER THA
+0926 DEVANAGARI LETTER DA
+0927 DEVANAGARI LETTER DHA
+0928 DEVANAGARI LETTER NA
+0929 DEVANAGARI LETTER NNNA
+092a DEVANAGARI LETTER PA
+092b DEVANAGARI LETTER PHA
+092c DEVANAGARI LETTER BA
+092d DEVANAGARI LETTER BHA
+092e DEVANAGARI LETTER MA
+092f DEVANAGARI LETTER YA
+0930 DEVANAGARI LETTER RA
+0931 DEVANAGARI LETTER RRA
+0932 DEVANAGARI LETTER LA
+0933 DEVANAGARI LETTER LLA
+0934 DEVANAGARI LETTER LLLA
+0935 DEVANAGARI LETTER VA
+0936 DEVANAGARI LETTER SHA
+0937 DEVANAGARI LETTER SSA
+0938 DEVANAGARI LETTER SA
+0939 DEVANAGARI LETTER HA
+093c DEVANAGARI SIGN NUKTA
+093d DEVANAGARI SIGN AVAGRAHA
+093e DEVANAGARI VOWEL SIGN AA
+093f DEVANAGARI VOWEL SIGN I
+0940 DEVANAGARI VOWEL SIGN II
+0941 DEVANAGARI VOWEL SIGN U
+0942 DEVANAGARI VOWEL SIGN UU
+0943 DEVANAGARI VOWEL SIGN VOCALIC R
+0944 DEVANAGARI VOWEL SIGN VOCALIC RR
+0945 DEVANAGARI VOWEL SIGN CANDRA E
+0946 DEVANAGARI VOWEL SIGN SHORT E
+0947 DEVANAGARI VOWEL SIGN E
+0948 DEVANAGARI VOWEL SIGN AI
+0949 DEVANAGARI VOWEL SIGN CANDRA O
+094a DEVANAGARI VOWEL SIGN SHORT O
+094b DEVANAGARI VOWEL SIGN O
+094c DEVANAGARI VOWEL SIGN AU
+094d DEVANAGARI SIGN VIRAMA
+0950 DEVANAGARI OM
+0951 DEVANAGARI STRESS SIGN UDATTA
+0952 DEVANAGARI STRESS SIGN ANUDATTA
+0953 DEVANAGARI GRAVE ACCENT
+0954 DEVANAGARI ACUTE ACCENT
+0958 DEVANAGARI LETTER QA
+0959 DEVANAGARI LETTER KHHA
+095a DEVANAGARI LETTER GHHA
+095b DEVANAGARI LETTER ZA
+095c DEVANAGARI LETTER DDDHA
+095d DEVANAGARI LETTER RHA
+095e DEVANAGARI LETTER FA
+095f DEVANAGARI LETTER YYA
+0960 DEVANAGARI LETTER VOCALIC RR
+0961 DEVANAGARI LETTER VOCALIC LL
+0962 DEVANAGARI VOWEL SIGN VOCALIC L
+0963 DEVANAGARI VOWEL SIGN VOCALIC LL
+0964 DEVANAGARI DANDA
+0965 DEVANAGARI DOUBLE DANDA
+0966 DEVANAGARI DIGIT ZERO
+0967 DEVANAGARI DIGIT ONE
+0968 DEVANAGARI DIGIT TWO
+0969 DEVANAGARI DIGIT THREE
+096a DEVANAGARI DIGIT FOUR
+096b DEVANAGARI DIGIT FIVE
+096c DEVANAGARI DIGIT SIX
+096d DEVANAGARI DIGIT SEVEN
+096e DEVANAGARI DIGIT EIGHT
+096f DEVANAGARI DIGIT NINE
+0970 DEVANAGARI ABBREVIATION SIGN
+0981 BENGALI SIGN CANDRABINDU
+0982 BENGALI SIGN ANUSVARA
+0983 BENGALI SIGN VISARGA
+0985 BENGALI LETTER A
+0986 BENGALI LETTER AA
+0987 BENGALI LETTER I
+0988 BENGALI LETTER II
+0989 BENGALI LETTER U
+098a BENGALI LETTER UU
+098b BENGALI LETTER VOCALIC R
+098c BENGALI LETTER VOCALIC L
+098f BENGALI LETTER E
+0990 BENGALI LETTER AI
+0993 BENGALI LETTER O
+0994 BENGALI LETTER AU
+0995 BENGALI LETTER KA
+0996 BENGALI LETTER KHA
+0997 BENGALI LETTER GA
+0998 BENGALI LETTER GHA
+0999 BENGALI LETTER NGA
+099a BENGALI LETTER CA
+099b BENGALI LETTER CHA
+099c BENGALI LETTER JA
+099d BENGALI LETTER JHA
+099e BENGALI LETTER NYA
+099f BENGALI LETTER TTA
+09a0 BENGALI LETTER TTHA
+09a1 BENGALI LETTER DDA
+09a2 BENGALI LETTER DDHA
+09a3 BENGALI LETTER NNA
+09a4 BENGALI LETTER TA
+09a5 BENGALI LETTER THA
+09a6 BENGALI LETTER DA
+09a7 BENGALI LETTER DHA
+09a8 BENGALI LETTER NA
+09aa BENGALI LETTER PA
+09ab BENGALI LETTER PHA
+09ac BENGALI LETTER BA
+09ad BENGALI LETTER BHA
+09ae BENGALI LETTER MA
+09af BENGALI LETTER YA
+09b0 BENGALI LETTER RA
+09b2 BENGALI LETTER LA
+09b6 BENGALI LETTER SHA
+09b7 BENGALI LETTER SSA
+09b8 BENGALI LETTER SA
+09b9 BENGALI LETTER HA
+09bc BENGALI SIGN NUKTA
+09be BENGALI VOWEL SIGN AA
+09bf BENGALI VOWEL SIGN I
+09c0 BENGALI VOWEL SIGN II
+09c1 BENGALI VOWEL SIGN U
+09c2 BENGALI VOWEL SIGN UU
+09c3 BENGALI VOWEL SIGN VOCALIC R
+09c4 BENGALI VOWEL SIGN VOCALIC RR
+09c7 BENGALI VOWEL SIGN E
+09c8 BENGALI VOWEL SIGN AI
+09cb BENGALI VOWEL SIGN O
+09cc BENGALI VOWEL SIGN AU
+09cd BENGALI SIGN VIRAMA
+09d7 BENGALI AU LENGTH MARK
+09dc BENGALI LETTER RRA
+09dd BENGALI LETTER RHA
+09df BENGALI LETTER YYA
+09e0 BENGALI LETTER VOCALIC RR
+09e1 BENGALI LETTER VOCALIC LL
+09e2 BENGALI VOWEL SIGN VOCALIC L
+09e3 BENGALI VOWEL SIGN VOCALIC LL
+09e6 BENGALI DIGIT ZERO
+09e7 BENGALI DIGIT ONE
+09e8 BENGALI DIGIT TWO
+09e9 BENGALI DIGIT THREE
+09ea BENGALI DIGIT FOUR
+09eb BENGALI DIGIT FIVE
+09ec BENGALI DIGIT SIX
+09ed BENGALI DIGIT SEVEN
+09ee BENGALI DIGIT EIGHT
+09ef BENGALI DIGIT NINE
+09f0 BENGALI LETTER RA WITH MIDDLE DIAGONAL
+09f1 BENGALI LETTER RA WITH LOWER DIAGONAL
+09f2 BENGALI RUPEE MARK
+09f3 BENGALI RUPEE SIGN
+09f4 BENGALI CURRENCY NUMERATOR ONE
+09f5 BENGALI CURRENCY NUMERATOR TWO
+09f6 BENGALI CURRENCY NUMERATOR THREE
+09f7 BENGALI CURRENCY NUMERATOR FOUR
+09f8 BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
+09f9 BENGALI CURRENCY DENOMINATOR SIXTEEN
+09fa BENGALI ISSHAR
+0a02 GURMUKHI SIGN BINDI
+0a05 GURMUKHI LETTER A
+0a06 GURMUKHI LETTER AA
+0a07 GURMUKHI LETTER I
+0a08 GURMUKHI LETTER II
+0a09 GURMUKHI LETTER U
+0a0a GURMUKHI LETTER UU
+0a0f GURMUKHI LETTER EE
+0a10 GURMUKHI LETTER AI
+0a13 GURMUKHI LETTER OO
+0a14 GURMUKHI LETTER AU
+0a15 GURMUKHI LETTER KA
+0a16 GURMUKHI LETTER KHA
+0a17 GURMUKHI LETTER GA
+0a18 GURMUKHI LETTER GHA
+0a19 GURMUKHI LETTER NGA
+0a1a GURMUKHI LETTER CA
+0a1b GURMUKHI LETTER CHA
+0a1c GURMUKHI LETTER JA
+0a1d GURMUKHI LETTER JHA
+0a1e GURMUKHI LETTER NYA
+0a1f GURMUKHI LETTER TTA
+0a20 GURMUKHI LETTER TTHA
+0a21 GURMUKHI LETTER DDA
+0a22 GURMUKHI LETTER DDHA
+0a23 GURMUKHI LETTER NNA
+0a24 GURMUKHI LETTER TA
+0a25 GURMUKHI LETTER THA
+0a26 GURMUKHI LETTER DA
+0a27 GURMUKHI LETTER DHA
+0a28 GURMUKHI LETTER NA
+0a2a GURMUKHI LETTER PA
+0a2b GURMUKHI LETTER PHA
+0a2c GURMUKHI LETTER BA
+0a2d GURMUKHI LETTER BHA
+0a2e GURMUKHI LETTER MA
+0a2f GURMUKHI LETTER YA
+0a30 GURMUKHI LETTER RA
+0a32 GURMUKHI LETTER LA
+0a33 GURMUKHI LETTER LLA
+0a35 GURMUKHI LETTER VA
+0a36 GURMUKHI LETTER SHA
+0a38 GURMUKHI LETTER SA
+0a39 GURMUKHI LETTER HA
+0a3c GURMUKHI SIGN NUKTA
+0a3e GURMUKHI VOWEL SIGN AA
+0a3f GURMUKHI VOWEL SIGN I
+0a40 GURMUKHI VOWEL SIGN II
+0a41 GURMUKHI VOWEL SIGN U
+0a42 GURMUKHI VOWEL SIGN UU
+0a47 GURMUKHI VOWEL SIGN EE
+0a48 GURMUKHI VOWEL SIGN AI
+0a4b GURMUKHI VOWEL SIGN OO
+0a4c GURMUKHI VOWEL SIGN AU
+0a4d GURMUKHI SIGN VIRAMA
+0a59 GURMUKHI LETTER KHHA
+0a5a GURMUKHI LETTER GHHA
+0a5b GURMUKHI LETTER ZA
+0a5c GURMUKHI LETTER RRA
+0a5e GURMUKHI LETTER FA
+0a66 GURMUKHI DIGIT ZERO
+0a67 GURMUKHI DIGIT ONE
+0a68 GURMUKHI DIGIT TWO
+0a69 GURMUKHI DIGIT THREE
+0a6a GURMUKHI DIGIT FOUR
+0a6b GURMUKHI DIGIT FIVE
+0a6c GURMUKHI DIGIT SIX
+0a6d GURMUKHI DIGIT SEVEN
+0a6e GURMUKHI DIGIT EIGHT
+0a6f GURMUKHI DIGIT NINE
+0a70 GURMUKHI TIPPI
+0a71 GURMUKHI ADDAK
+0a72 GURMUKHI IRI
+0a73 GURMUKHI URA
+0a74 GURMUKHI EK ONKAR
+0a81 GUJARATI SIGN CANDRABINDU
+0a82 GUJARATI SIGN ANUSVARA
+0a83 GUJARATI SIGN VISARGA
+0a85 GUJARATI LETTER A
+0a86 GUJARATI LETTER AA
+0a87 GUJARATI LETTER I
+0a88 GUJARATI LETTER II
+0a89 GUJARATI LETTER U
+0a8a GUJARATI LETTER UU
+0a8b GUJARATI LETTER VOCALIC R
+0a8d GUJARATI VOWEL CANDRA E
+0a8f GUJARATI LETTER E
+0a90 GUJARATI LETTER AI
+0a91 GUJARATI VOWEL CANDRA O
+0a93 GUJARATI LETTER O
+0a94 GUJARATI LETTER AU
+0a95 GUJARATI LETTER KA
+0a96 GUJARATI LETTER KHA
+0a97 GUJARATI LETTER GA
+0a98 GUJARATI LETTER GHA
+0a99 GUJARATI LETTER NGA
+0a9a GUJARATI LETTER CA
+0a9b GUJARATI LETTER CHA
+0a9c GUJARATI LETTER JA
+0a9d GUJARATI LETTER JHA
+0a9e GUJARATI LETTER NYA
+0a9f GUJARATI LETTER TTA
+0aa0 GUJARATI LETTER TTHA
+0aa1 GUJARATI LETTER DDA
+0aa2 GUJARATI LETTER DDHA
+0aa3 GUJARATI LETTER NNA
+0aa4 GUJARATI LETTER TA
+0aa5 GUJARATI LETTER THA
+0aa6 GUJARATI LETTER DA
+0aa7 GUJARATI LETTER DHA
+0aa8 GUJARATI LETTER NA
+0aaa GUJARATI LETTER PA
+0aab GUJARATI LETTER PHA
+0aac GUJARATI LETTER BA
+0aad GUJARATI LETTER BHA
+0aae GUJARATI LETTER MA
+0aaf GUJARATI LETTER YA
+0ab0 GUJARATI LETTER RA
+0ab2 GUJARATI LETTER LA
+0ab3 GUJARATI LETTER LLA
+0ab5 GUJARATI LETTER VA
+0ab6 GUJARATI LETTER SHA
+0ab7 GUJARATI LETTER SSA
+0ab8 GUJARATI LETTER SA
+0ab9 GUJARATI LETTER HA
+0abc GUJARATI SIGN NUKTA
+0abd GUJARATI SIGN AVAGRAHA
+0abe GUJARATI VOWEL SIGN AA
+0abf GUJARATI VOWEL SIGN I
+0ac0 GUJARATI VOWEL SIGN II
+0ac1 GUJARATI VOWEL SIGN U
+0ac2 GUJARATI VOWEL SIGN UU
+0ac3 GUJARATI VOWEL SIGN VOCALIC R
+0ac4 GUJARATI VOWEL SIGN VOCALIC RR
+0ac5 GUJARATI VOWEL SIGN CANDRA E
+0ac7 GUJARATI VOWEL SIGN E
+0ac8 GUJARATI VOWEL SIGN AI
+0ac9 GUJARATI VOWEL SIGN CANDRA O
+0acb GUJARATI VOWEL SIGN O
+0acc GUJARATI VOWEL SIGN AU
+0acd GUJARATI SIGN VIRAMA
+0ad0 GUJARATI OM
+0ae0 GUJARATI LETTER VOCALIC RR
+0ae6 GUJARATI DIGIT ZERO
+0ae7 GUJARATI DIGIT ONE
+0ae8 GUJARATI DIGIT TWO
+0ae9 GUJARATI DIGIT THREE
+0aea GUJARATI DIGIT FOUR
+0aeb GUJARATI DIGIT FIVE
+0aec GUJARATI DIGIT SIX
+0aed GUJARATI DIGIT SEVEN
+0aee GUJARATI DIGIT EIGHT
+0aef GUJARATI DIGIT NINE
+0b01 ORIYA SIGN CANDRABINDU
+0b02 ORIYA SIGN ANUSVARA
+0b03 ORIYA SIGN VISARGA
+0b05 ORIYA LETTER A
+0b06 ORIYA LETTER AA
+0b07 ORIYA LETTER I
+0b08 ORIYA LETTER II
+0b09 ORIYA LETTER U
+0b0a ORIYA LETTER UU
+0b0b ORIYA LETTER VOCALIC R
+0b0c ORIYA LETTER VOCALIC L
+0b0f ORIYA LETTER E
+0b10 ORIYA LETTER AI
+0b13 ORIYA LETTER O
+0b14 ORIYA LETTER AU
+0b15 ORIYA LETTER KA
+0b16 ORIYA LETTER KHA
+0b17 ORIYA LETTER GA
+0b18 ORIYA LETTER GHA
+0b19 ORIYA LETTER NGA
+0b1a ORIYA LETTER CA
+0b1b ORIYA LETTER CHA
+0b1c ORIYA LETTER JA
+0b1d ORIYA LETTER JHA
+0b1e ORIYA LETTER NYA
+0b1f ORIYA LETTER TTA
+0b20 ORIYA LETTER TTHA
+0b21 ORIYA LETTER DDA
+0b22 ORIYA LETTER DDHA
+0b23 ORIYA LETTER NNA
+0b24 ORIYA LETTER TA
+0b25 ORIYA LETTER THA
+0b26 ORIYA LETTER DA
+0b27 ORIYA LETTER DHA
+0b28 ORIYA LETTER NA
+0b2a ORIYA LETTER PA
+0b2b ORIYA LETTER PHA
+0b2c ORIYA LETTER BA
+0b2d ORIYA LETTER BHA
+0b2e ORIYA LETTER MA
+0b2f ORIYA LETTER YA
+0b30 ORIYA LETTER RA
+0b32 ORIYA LETTER LA
+0b33 ORIYA LETTER LLA
+0b36 ORIYA LETTER SHA
+0b37 ORIYA LETTER SSA
+0b38 ORIYA LETTER SA
+0b39 ORIYA LETTER HA
+0b3c ORIYA SIGN NUKTA
+0b3d ORIYA SIGN AVAGRAHA
+0b3e ORIYA VOWEL SIGN AA
+0b3f ORIYA VOWEL SIGN I
+0b40 ORIYA VOWEL SIGN II
+0b41 ORIYA VOWEL SIGN U
+0b42 ORIYA VOWEL SIGN UU
+0b43 ORIYA VOWEL SIGN VOCALIC R
+0b47 ORIYA VOWEL SIGN E
+0b48 ORIYA VOWEL SIGN AI
+0b4b ORIYA VOWEL SIGN O
+0b4c ORIYA VOWEL SIGN AU
+0b4d ORIYA SIGN VIRAMA
+0b56 ORIYA AI LENGTH MARK
+0b57 ORIYA AU LENGTH MARK
+0b5c ORIYA LETTER RRA
+0b5d ORIYA LETTER RHA
+0b5f ORIYA LETTER YYA
+0b60 ORIYA LETTER VOCALIC RR
+0b61 ORIYA LETTER VOCALIC LL
+0b66 ORIYA DIGIT ZERO
+0b67 ORIYA DIGIT ONE
+0b68 ORIYA DIGIT TWO
+0b69 ORIYA DIGIT THREE
+0b6a ORIYA DIGIT FOUR
+0b6b ORIYA DIGIT FIVE
+0b6c ORIYA DIGIT SIX
+0b6d ORIYA DIGIT SEVEN
+0b6e ORIYA DIGIT EIGHT
+0b6f ORIYA DIGIT NINE
+0b70 ORIYA ISSHAR
+0b82 TAMIL SIGN ANUSVARA
+0b83 TAMIL SIGN VISARGA
+0b85 TAMIL LETTER A
+0b86 TAMIL LETTER AA
+0b87 TAMIL LETTER I
+0b88 TAMIL LETTER II
+0b89 TAMIL LETTER U
+0b8a TAMIL LETTER UU
+0b8e TAMIL LETTER E
+0b8f TAMIL LETTER EE
+0b90 TAMIL LETTER AI
+0b92 TAMIL LETTER O
+0b93 TAMIL LETTER OO
+0b94 TAMIL LETTER AU
+0b95 TAMIL LETTER KA
+0b99 TAMIL LETTER NGA
+0b9a TAMIL LETTER CA
+0b9c TAMIL LETTER JA
+0b9e TAMIL LETTER NYA
+0b9f TAMIL LETTER TTA
+0ba3 TAMIL LETTER NNA
+0ba4 TAMIL LETTER TA
+0ba8 TAMIL LETTER NA
+0ba9 TAMIL LETTER NNNA
+0baa TAMIL LETTER PA
+0bae TAMIL LETTER MA
+0baf TAMIL LETTER YA
+0bb0 TAMIL LETTER RA
+0bb1 TAMIL LETTER RRA
+0bb2 TAMIL LETTER LA
+0bb3 TAMIL LETTER LLA
+0bb4 TAMIL LETTER LLLA
+0bb5 TAMIL LETTER VA
+0bb7 TAMIL LETTER SSA
+0bb8 TAMIL LETTER SA
+0bb9 TAMIL LETTER HA
+0bbe TAMIL VOWEL SIGN AA
+0bbf TAMIL VOWEL SIGN I
+0bc0 TAMIL VOWEL SIGN II
+0bc1 TAMIL VOWEL SIGN U
+0bc2 TAMIL VOWEL SIGN UU
+0bc6 TAMIL VOWEL SIGN E
+0bc7 TAMIL VOWEL SIGN EE
+0bc8 TAMIL VOWEL SIGN AI
+0bca TAMIL VOWEL SIGN O
+0bcb TAMIL VOWEL SIGN OO
+0bcc TAMIL VOWEL SIGN AU
+0bcd TAMIL SIGN VIRAMA
+0bd7 TAMIL AU LENGTH MARK
+0be7 TAMIL DIGIT ONE
+0be8 TAMIL DIGIT TWO
+0be9 TAMIL DIGIT THREE
+0bea TAMIL DIGIT FOUR
+0beb TAMIL DIGIT FIVE
+0bec TAMIL DIGIT SIX
+0bed TAMIL DIGIT SEVEN
+0bee TAMIL DIGIT EIGHT
+0bef TAMIL DIGIT NINE
+0bf0 TAMIL NUMBER TEN
+0bf1 TAMIL NUMBER ONE HUNDRED
+0bf2 TAMIL NUMBER ONE THOUSAND
+0c01 TELUGU SIGN CANDRABINDU
+0c02 TELUGU SIGN ANUSVARA
+0c03 TELUGU SIGN VISARGA
+0c05 TELUGU LETTER A
+0c06 TELUGU LETTER AA
+0c07 TELUGU LETTER I
+0c08 TELUGU LETTER II
+0c09 TELUGU LETTER U
+0c0a TELUGU LETTER UU
+0c0b TELUGU LETTER VOCALIC R
+0c0c TELUGU LETTER VOCALIC L
+0c0e TELUGU LETTER E
+0c0f TELUGU LETTER EE
+0c10 TELUGU LETTER AI
+0c12 TELUGU LETTER O
+0c13 TELUGU LETTER OO
+0c14 TELUGU LETTER AU
+0c15 TELUGU LETTER KA
+0c16 TELUGU LETTER KHA
+0c17 TELUGU LETTER GA
+0c18 TELUGU LETTER GHA
+0c19 TELUGU LETTER NGA
+0c1a TELUGU LETTER CA
+0c1b TELUGU LETTER CHA
+0c1c TELUGU LETTER JA
+0c1d TELUGU LETTER JHA
+0c1e TELUGU LETTER NYA
+0c1f TELUGU LETTER TTA
+0c20 TELUGU LETTER TTHA
+0c21 TELUGU LETTER DDA
+0c22 TELUGU LETTER DDHA
+0c23 TELUGU LETTER NNA
+0c24 TELUGU LETTER TA
+0c25 TELUGU LETTER THA
+0c26 TELUGU LETTER DA
+0c27 TELUGU LETTER DHA
+0c28 TELUGU LETTER NA
+0c2a TELUGU LETTER PA
+0c2b TELUGU LETTER PHA
+0c2c TELUGU LETTER BA
+0c2d TELUGU LETTER BHA
+0c2e TELUGU LETTER MA
+0c2f TELUGU LETTER YA
+0c30 TELUGU LETTER RA
+0c31 TELUGU LETTER RRA
+0c32 TELUGU LETTER LA
+0c33 TELUGU LETTER LLA
+0c35 TELUGU LETTER VA
+0c36 TELUGU LETTER SHA
+0c37 TELUGU LETTER SSA
+0c38 TELUGU LETTER SA
+0c39 TELUGU LETTER HA
+0c3e TELUGU VOWEL SIGN AA
+0c3f TELUGU VOWEL SIGN I
+0c40 TELUGU VOWEL SIGN II
+0c41 TELUGU VOWEL SIGN U
+0c42 TELUGU VOWEL SIGN UU
+0c43 TELUGU VOWEL SIGN VOCALIC R
+0c44 TELUGU VOWEL SIGN VOCALIC RR
+0c46 TELUGU VOWEL SIGN E
+0c47 TELUGU VOWEL SIGN EE
+0c48 TELUGU VOWEL SIGN AI
+0c4a TELUGU VOWEL SIGN O
+0c4b TELUGU VOWEL SIGN OO
+0c4c TELUGU VOWEL SIGN AU
+0c4d TELUGU SIGN VIRAMA
+0c55 TELUGU LENGTH MARK
+0c56 TELUGU AI LENGTH MARK
+0c60 TELUGU LETTER VOCALIC RR
+0c61 TELUGU LETTER VOCALIC LL
+0c66 TELUGU DIGIT ZERO
+0c67 TELUGU DIGIT ONE
+0c68 TELUGU DIGIT TWO
+0c69 TELUGU DIGIT THREE
+0c6a TELUGU DIGIT FOUR
+0c6b TELUGU DIGIT FIVE
+0c6c TELUGU DIGIT SIX
+0c6d TELUGU DIGIT SEVEN
+0c6e TELUGU DIGIT EIGHT
+0c6f TELUGU DIGIT NINE
+0c82 KANNADA SIGN ANUSVARA
+0c83 KANNADA SIGN VISARGA
+0c85 KANNADA LETTER A
+0c86 KANNADA LETTER AA
+0c87 KANNADA LETTER I
+0c88 KANNADA LETTER II
+0c89 KANNADA LETTER U
+0c8a KANNADA LETTER UU
+0c8b KANNADA LETTER VOCALIC R
+0c8c KANNADA LETTER VOCALIC L
+0c8e KANNADA LETTER E
+0c8f KANNADA LETTER EE
+0c90 KANNADA LETTER AI
+0c92 KANNADA LETTER O
+0c93 KANNADA LETTER OO
+0c94 KANNADA LETTER AU
+0c95 KANNADA LETTER KA
+0c96 KANNADA LETTER KHA
+0c97 KANNADA LETTER GA
+0c98 KANNADA LETTER GHA
+0c99 KANNADA LETTER NGA
+0c9a KANNADA LETTER CA
+0c9b KANNADA LETTER CHA
+0c9c KANNADA LETTER JA
+0c9d KANNADA LETTER JHA
+0c9e KANNADA LETTER NYA
+0c9f KANNADA LETTER TTA
+0ca0 KANNADA LETTER TTHA
+0ca1 KANNADA LETTER DDA
+0ca2 KANNADA LETTER DDHA
+0ca3 KANNADA LETTER NNA
+0ca4 KANNADA LETTER TA
+0ca5 KANNADA LETTER THA
+0ca6 KANNADA LETTER DA
+0ca7 KANNADA LETTER DHA
+0ca8 KANNADA LETTER NA
+0caa KANNADA LETTER PA
+0cab KANNADA LETTER PHA
+0cac KANNADA LETTER BA
+0cad KANNADA LETTER BHA
+0cae KANNADA LETTER MA
+0caf KANNADA LETTER YA
+0cb0 KANNADA LETTER RA
+0cb1 KANNADA LETTER RRA
+0cb2 KANNADA LETTER LA
+0cb3 KANNADA LETTER LLA
+0cb5 KANNADA LETTER VA
+0cb6 KANNADA LETTER SHA
+0cb7 KANNADA LETTER SSA
+0cb8 KANNADA LETTER SA
+0cb9 KANNADA LETTER HA
+0cbe KANNADA VOWEL SIGN AA
+0cbf KANNADA VOWEL SIGN I
+0cc0 KANNADA VOWEL SIGN II
+0cc1 KANNADA VOWEL SIGN U
+0cc2 KANNADA VOWEL SIGN UU
+0cc3 KANNADA VOWEL SIGN VOCALIC R
+0cc4 KANNADA VOWEL SIGN VOCALIC RR
+0cc6 KANNADA VOWEL SIGN E
+0cc7 KANNADA VOWEL SIGN EE
+0cc8 KANNADA VOWEL SIGN AI
+0cca KANNADA VOWEL SIGN O
+0ccb KANNADA VOWEL SIGN OO
+0ccc KANNADA VOWEL SIGN AU
+0ccd KANNADA SIGN VIRAMA
+0cd5 KANNADA LENGTH MARK
+0cd6 KANNADA AI LENGTH MARK
+0cde KANNADA LETTER FA
+0ce0 KANNADA LETTER VOCALIC RR
+0ce1 KANNADA LETTER VOCALIC LL
+0ce6 KANNADA DIGIT ZERO
+0ce7 KANNADA DIGIT ONE
+0ce8 KANNADA DIGIT TWO
+0ce9 KANNADA DIGIT THREE
+0cea KANNADA DIGIT FOUR
+0ceb KANNADA DIGIT FIVE
+0cec KANNADA DIGIT SIX
+0ced KANNADA DIGIT SEVEN
+0cee KANNADA DIGIT EIGHT
+0cef KANNADA DIGIT NINE
+0d02 MALAYALAM SIGN ANUSVARA
+0d03 MALAYALAM SIGN VISARGA
+0d05 MALAYALAM LETTER A
+0d06 MALAYALAM LETTER AA
+0d07 MALAYALAM LETTER I
+0d08 MALAYALAM LETTER II
+0d09 MALAYALAM LETTER U
+0d0a MALAYALAM LETTER UU
+0d0b MALAYALAM LETTER VOCALIC R
+0d0c MALAYALAM LETTER VOCALIC L
+0d0e MALAYALAM LETTER E
+0d0f MALAYALAM LETTER EE
+0d10 MALAYALAM LETTER AI
+0d12 MALAYALAM LETTER O
+0d13 MALAYALAM LETTER OO
+0d14 MALAYALAM LETTER AU
+0d15 MALAYALAM LETTER KA
+0d16 MALAYALAM LETTER KHA
+0d17 MALAYALAM LETTER GA
+0d18 MALAYALAM LETTER GHA
+0d19 MALAYALAM LETTER NGA
+0d1a MALAYALAM LETTER CA
+0d1b MALAYALAM LETTER CHA
+0d1c MALAYALAM LETTER JA
+0d1d MALAYALAM LETTER JHA
+0d1e MALAYALAM LETTER NYA
+0d1f MALAYALAM LETTER TTA
+0d20 MALAYALAM LETTER TTHA
+0d21 MALAYALAM LETTER DDA
+0d22 MALAYALAM LETTER DDHA
+0d23 MALAYALAM LETTER NNA
+0d24 MALAYALAM LETTER TA
+0d25 MALAYALAM LETTER THA
+0d26 MALAYALAM LETTER DA
+0d27 MALAYALAM LETTER DHA
+0d28 MALAYALAM LETTER NA
+0d2a MALAYALAM LETTER PA
+0d2b MALAYALAM LETTER PHA
+0d2c MALAYALAM LETTER BA
+0d2d MALAYALAM LETTER BHA
+0d2e MALAYALAM LETTER MA
+0d2f MALAYALAM LETTER YA
+0d30 MALAYALAM LETTER RA
+0d31 MALAYALAM LETTER RRA
+0d32 MALAYALAM LETTER LA
+0d33 MALAYALAM LETTER LLA
+0d34 MALAYALAM LETTER LLLA
+0d35 MALAYALAM LETTER VA
+0d36 MALAYALAM LETTER SHA
+0d37 MALAYALAM LETTER SSA
+0d38 MALAYALAM LETTER SA
+0d39 MALAYALAM LETTER HA
+0d3e MALAYALAM VOWEL SIGN AA
+0d3f MALAYALAM VOWEL SIGN I
+0d40 MALAYALAM VOWEL SIGN II
+0d41 MALAYALAM VOWEL SIGN U
+0d42 MALAYALAM VOWEL SIGN UU
+0d43 MALAYALAM VOWEL SIGN VOCALIC R
+0d46 MALAYALAM VOWEL SIGN E
+0d47 MALAYALAM VOWEL SIGN EE
+0d48 MALAYALAM VOWEL SIGN AI
+0d4a MALAYALAM VOWEL SIGN O
+0d4b MALAYALAM VOWEL SIGN OO
+0d4c MALAYALAM VOWEL SIGN AU
+0d4d MALAYALAM SIGN VIRAMA
+0d57 MALAYALAM AU LENGTH MARK
+0d60 MALAYALAM LETTER VOCALIC RR
+0d61 MALAYALAM LETTER VOCALIC LL
+0d66 MALAYALAM DIGIT ZERO
+0d67 MALAYALAM DIGIT ONE
+0d68 MALAYALAM DIGIT TWO
+0d69 MALAYALAM DIGIT THREE
+0d6a MALAYALAM DIGIT FOUR
+0d6b MALAYALAM DIGIT FIVE
+0d6c MALAYALAM DIGIT SIX
+0d6d MALAYALAM DIGIT SEVEN
+0d6e MALAYALAM DIGIT EIGHT
+0d6f MALAYALAM DIGIT NINE
+0e01 THAI CHARACTER KO KAI
+0e02 THAI CHARACTER KHO KHAI
+0e03 THAI CHARACTER KHO KHUAT
+0e04 THAI CHARACTER KHO KHWAI
+0e05 THAI CHARACTER KHO KHON
+0e06 THAI CHARACTER KHO RAKHANG
+0e07 THAI CHARACTER NGO NGU
+0e08 THAI CHARACTER CHO CHAN
+0e09 THAI CHARACTER CHO CHING
+0e0a THAI CHARACTER CHO CHANG
+0e0b THAI CHARACTER SO SO
+0e0c THAI CHARACTER CHO CHOE
+0e0d THAI CHARACTER YO YING
+0e0e THAI CHARACTER DO CHADA
+0e0f THAI CHARACTER TO PATAK
+0e10 THAI CHARACTER THO THAN
+0e11 THAI CHARACTER THO NANGMONTHO
+0e12 THAI CHARACTER THO PHUTHAO
+0e13 THAI CHARACTER NO NEN
+0e14 THAI CHARACTER DO DEK
+0e15 THAI CHARACTER TO TAO
+0e16 THAI CHARACTER THO THUNG
+0e17 THAI CHARACTER THO THAHAN
+0e18 THAI CHARACTER THO THONG
+0e19 THAI CHARACTER NO NU
+0e1a THAI CHARACTER BO BAIMAI
+0e1b THAI CHARACTER PO PLA
+0e1c THAI CHARACTER PHO PHUNG
+0e1d THAI CHARACTER FO FA
+0e1e THAI CHARACTER PHO PHAN
+0e1f THAI CHARACTER FO FAN
+0e20 THAI CHARACTER PHO SAMPHAO
+0e21 THAI CHARACTER MO MA
+0e22 THAI CHARACTER YO YAK
+0e23 THAI CHARACTER RO RUA
+0e24 THAI CHARACTER RU
+0e25 THAI CHARACTER LO LING
+0e26 THAI CHARACTER LU
+0e27 THAI CHARACTER WO WAEN
+0e28 THAI CHARACTER SO SALA
+0e29 THAI CHARACTER SO RUSI
+0e2a THAI CHARACTER SO SUA
+0e2b THAI CHARACTER HO HIP
+0e2c THAI CHARACTER LO CHULA
+0e2d THAI CHARACTER O ANG
+0e2e THAI CHARACTER HO NOKHUK
+0e2f THAI CHARACTER PAIYANNOI
+0e30 THAI CHARACTER SARA A
+0e31 THAI CHARACTER MAI HAN-AKAT
+0e32 THAI CHARACTER SARA AA
+0e33 THAI CHARACTER SARA AM
+0e34 THAI CHARACTER SARA I
+0e35 THAI CHARACTER SARA II
+0e36 THAI CHARACTER SARA UE
+0e37 THAI CHARACTER SARA UEE
+0e38 THAI CHARACTER SARA U
+0e39 THAI CHARACTER SARA UU
+0e3a THAI CHARACTER PHINTHU
+0e3f THAI CURRENCY SYMBOL BAHT
+0e40 THAI CHARACTER SARA E
+0e41 THAI CHARACTER SARA AE
+0e42 THAI CHARACTER SARA O
+0e43 THAI CHARACTER SARA AI MAIMUAN
+0e44 THAI CHARACTER SARA AI MAIMALAI
+0e45 THAI CHARACTER LAKKHANGYAO
+0e46 THAI CHARACTER MAIYAMOK
+0e47 THAI CHARACTER MAITAIKHU
+0e48 THAI CHARACTER MAI EK
+0e49 THAI CHARACTER MAI THO
+0e4a THAI CHARACTER MAI TRI
+0e4b THAI CHARACTER MAI CHATTAWA
+0e4c THAI CHARACTER THANTHAKHAT
+0e4d THAI CHARACTER NIKHAHIT
+0e4e THAI CHARACTER YAMAKKAN
+0e4f THAI CHARACTER FONGMAN
+0e50 THAI DIGIT ZERO
+0e51 THAI DIGIT ONE
+0e52 THAI DIGIT TWO
+0e53 THAI DIGIT THREE
+0e54 THAI DIGIT FOUR
+0e55 THAI DIGIT FIVE
+0e56 THAI DIGIT SIX
+0e57 THAI DIGIT SEVEN
+0e58 THAI DIGIT EIGHT
+0e59 THAI DIGIT NINE
+0e5a THAI CHARACTER ANGKHANKHU
+0e5b THAI CHARACTER KHOMUT
+0e81 LAO LETTER KO
+0e82 LAO LETTER KHO SUNG
+0e84 LAO LETTER KHO TAM
+0e87 LAO LETTER NGO
+0e88 LAO LETTER CO
+0e8a LAO LETTER SO TAM
+0e8d LAO LETTER NYO
+0e94 LAO LETTER DO
+0e95 LAO LETTER TO
+0e96 LAO LETTER THO SUNG
+0e97 LAO LETTER THO TAM
+0e99 LAO LETTER NO
+0e9a LAO LETTER BO
+0e9b LAO LETTER PO
+0e9c LAO LETTER PHO SUNG
+0e9d LAO LETTER FO TAM
+0e9e LAO LETTER PHO TAM
+0e9f LAO LETTER FO SUNG
+0ea1 LAO LETTER MO
+0ea2 LAO LETTER YO
+0ea3 LAO LETTER LO LING
+0ea5 LAO LETTER LO LOOT
+0ea7 LAO LETTER WO
+0eaa LAO LETTER SO SUNG
+0eab LAO LETTER HO SUNG
+0ead LAO LETTER O
+0eae LAO LETTER HO TAM
+0eaf LAO ELLIPSIS
+0eb0 LAO VOWEL SIGN A
+0eb1 LAO VOWEL SIGN MAI KAN
+0eb2 LAO VOWEL SIGN AA
+0eb3 LAO VOWEL SIGN AM
+0eb4 LAO VOWEL SIGN I
+0eb5 LAO VOWEL SIGN II
+0eb6 LAO VOWEL SIGN Y
+0eb7 LAO VOWEL SIGN YY
+0eb8 LAO VOWEL SIGN U
+0eb9 LAO VOWEL SIGN UU
+0ebb LAO VOWEL SIGN MAI KON
+0ebc LAO SEMIVOWEL SIGN LO
+0ebd LAO SEMIVOWEL SIGN NYO
+0ec0 LAO VOWEL SIGN E
+0ec1 LAO VOWEL SIGN EI
+0ec2 LAO VOWEL SIGN O
+0ec3 LAO VOWEL SIGN AY
+0ec4 LAO VOWEL SIGN AI
+0ec6 LAO KO LA
+0ec8 LAO TONE MAI EK
+0ec9 LAO TONE MAI THO
+0eca LAO TONE MAI TI
+0ecb LAO TONE MAI CATAWA
+0ecc LAO CANCELLATION MARK
+0ecd LAO NIGGAHITA
+0ed0 LAO DIGIT ZERO
+0ed1 LAO DIGIT ONE
+0ed2 LAO DIGIT TWO
+0ed3 LAO DIGIT THREE
+0ed4 LAO DIGIT FOUR
+0ed5 LAO DIGIT FIVE
+0ed6 LAO DIGIT SIX
+0ed7 LAO DIGIT SEVEN
+0ed8 LAO DIGIT EIGHT
+0ed9 LAO DIGIT NINE
+0edc LAO HO NO
+0edd LAO HO MO
+0f00 TIBETAN SYLLABLE OM
+0f01 TIBETAN MARK GTER YIG MGO TRUNCATED A
+0f02 TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA
+0f03 TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
+0f04 TIBETAN MARK INITIAL YIG MGO MDUN MA
+0f05 TIBETAN MARK CLOSING YIG MGO SGAB MA
+0f06 TIBETAN MARK CARET YIG MGO PHUR SHAD MA
+0f07 TIBETAN MARK YIG MGO TSHEG SHAD MA
+0f08 TIBETAN MARK SBRUL SHAD
+0f09 TIBETAN MARK BSKUR YIG MGO
+0f0a TIBETAN MARK BKA- SHOG YIG MGO
+0f0b TIBETAN MARK INTERSYLLABIC TSHEG
+0f0c TIBETAN MARK DELIMITER TSHEG BSTAR
+0f0d TIBETAN MARK SHAD
+0f0e TIBETAN MARK NYIS SHAD
+0f0f TIBETAN MARK TSHEG SHAD
+0f10 TIBETAN MARK NYIS TSHEG SHAD
+0f11 TIBETAN MARK RIN CHEN SPUNGS SHAD
+0f12 TIBETAN MARK RGYA GRAM SHAD
+0f13 TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN
+0f14 TIBETAN MARK GTER TSHEG
+0f15 TIBETAN LOGOTYPE SIGN CHAD RTAGS
+0f16 TIBETAN LOGOTYPE SIGN LHAG RTAGS
+0f17 TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
+0f18 TIBETAN ASTROLOGICAL SIGN -KHYUD PA
+0f19 TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
+0f1a TIBETAN SIGN RDEL DKAR GCIG
+0f1b TIBETAN SIGN RDEL DKAR GNYIS
+0f1c TIBETAN SIGN RDEL DKAR GSUM
+0f1d TIBETAN SIGN RDEL NAG GCIG
+0f1e TIBETAN SIGN RDEL NAG GNYIS
+0f1f TIBETAN SIGN RDEL DKAR RDEL NAG
+0f20 TIBETAN DIGIT ZERO
+0f21 TIBETAN DIGIT ONE
+0f22 TIBETAN DIGIT TWO
+0f23 TIBETAN DIGIT THREE
+0f24 TIBETAN DIGIT FOUR
+0f25 TIBETAN DIGIT FIVE
+0f26 TIBETAN DIGIT SIX
+0f27 TIBETAN DIGIT SEVEN
+0f28 TIBETAN DIGIT EIGHT
+0f29 TIBETAN DIGIT NINE
+0f2a TIBETAN DIGIT HALF ONE
+0f2b TIBETAN DIGIT HALF TWO
+0f2c TIBETAN DIGIT HALF THREE
+0f2d TIBETAN DIGIT HALF FOUR
+0f2e TIBETAN DIGIT HALF FIVE
+0f2f TIBETAN DIGIT HALF SIX
+0f30 TIBETAN DIGIT HALF SEVEN
+0f31 TIBETAN DIGIT HALF EIGHT
+0f32 TIBETAN DIGIT HALF NINE
+0f33 TIBETAN DIGIT HALF ZERO
+0f34 TIBETAN MARK BSDUS RTAGS
+0f35 TIBETAN MARK NGAS BZUNG NYI ZLA
+0f36 TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
+0f37 TIBETAN MARK NGAS BZUNG SGOR RTAGS
+0f38 TIBETAN MARK CHE MGO
+0f39 TIBETAN MARK TSA -PHRU
+0f3a TIBETAN MARK GUG RTAGS GYON
+0f3b TIBETAN MARK GUG RTAGS GYAS
+0f3c TIBETAN MARK ANG KHANG GYON
+0f3d TIBETAN MARK ANG KHANG GYAS
+0f3e TIBETAN SIGN YAR TSHES
+0f3f TIBETAN SIGN MAR TSHES
+0f40 TIBETAN LETTER KA
+0f41 TIBETAN LETTER KHA
+0f42 TIBETAN LETTER GA
+0f43 TIBETAN LETTER GHA
+0f44 TIBETAN LETTER NGA
+0f45 TIBETAN LETTER CA
+0f46 TIBETAN LETTER CHA
+0f47 TIBETAN LETTER JA
+0f49 TIBETAN LETTER NYA
+0f4a TIBETAN LETTER TTA
+0f4b TIBETAN LETTER TTHA
+0f4c TIBETAN LETTER DDA
+0f4d TIBETAN LETTER DDHA
+0f4e TIBETAN LETTER NNA
+0f4f TIBETAN LETTER TA
+0f50 TIBETAN LETTER THA
+0f51 TIBETAN LETTER DA
+0f52 TIBETAN LETTER DHA
+0f53 TIBETAN LETTER NA
+0f54 TIBETAN LETTER PA
+0f55 TIBETAN LETTER PHA
+0f56 TIBETAN LETTER BA
+0f57 TIBETAN LETTER BHA
+0f58 TIBETAN LETTER MA
+0f59 TIBETAN LETTER TSA
+0f5a TIBETAN LETTER TSHA
+0f5b TIBETAN LETTER DZA
+0f5c TIBETAN LETTER DZHA
+0f5d TIBETAN LETTER WA
+0f5e TIBETAN LETTER ZHA
+0f5f TIBETAN LETTER ZA
+0f60 TIBETAN LETTER -A
+0f61 TIBETAN LETTER YA
+0f62 TIBETAN LETTER RA
+0f63 TIBETAN LETTER LA
+0f64 TIBETAN LETTER SHA
+0f65 TIBETAN LETTER SSA
+0f66 TIBETAN LETTER SA
+0f67 TIBETAN LETTER HA
+0f68 TIBETAN LETTER A
+0f69 TIBETAN LETTER KSSA
+0f71 TIBETAN VOWEL SIGN AA
+0f72 TIBETAN VOWEL SIGN I
+0f73 TIBETAN VOWEL SIGN II
+0f74 TIBETAN VOWEL SIGN U
+0f75 TIBETAN VOWEL SIGN UU
+0f76 TIBETAN VOWEL SIGN VOCALIC R
+0f77 TIBETAN VOWEL SIGN VOCALIC RR
+0f78 TIBETAN VOWEL SIGN VOCALIC L
+0f79 TIBETAN VOWEL SIGN VOCALIC LL
+0f7a TIBETAN VOWEL SIGN E
+0f7b TIBETAN VOWEL SIGN EE
+0f7c TIBETAN VOWEL SIGN O
+0f7d TIBETAN VOWEL SIGN OO
+0f7e TIBETAN SIGN RJES SU NGA RO
+0f7f TIBETAN SIGN RNAM BCAD
+0f80 TIBETAN VOWEL SIGN REVERSED I
+0f81 TIBETAN VOWEL SIGN REVERSED II
+0f82 TIBETAN SIGN NYI ZLA NAA DA
+0f83 TIBETAN SIGN SNA LDAN
+0f84 TIBETAN MARK HALANTA
+0f85 TIBETAN MARK PALUTA
+0f86 TIBETAN SIGN LCI RTAGS
+0f87 TIBETAN SIGN YANG RTAGS
+0f88 TIBETAN SIGN LCE TSA CAN
+0f89 TIBETAN SIGN MCHU CAN
+0f8a TIBETAN SIGN GRU CAN RGYINGS
+0f8b TIBETAN SIGN GRU MED RGYINGS
+0f90 TIBETAN SUBJOINED LETTER KA
+0f91 TIBETAN SUBJOINED LETTER KHA
+0f92 TIBETAN SUBJOINED LETTER GA
+0f93 TIBETAN SUBJOINED LETTER GHA
+0f94 TIBETAN SUBJOINED LETTER NGA
+0f95 TIBETAN SUBJOINED LETTER CA
+0f97 TIBETAN SUBJOINED LETTER JA
+0f99 TIBETAN SUBJOINED LETTER NYA
+0f9a TIBETAN SUBJOINED LETTER TTA
+0f9b TIBETAN SUBJOINED LETTER TTHA
+0f9c TIBETAN SUBJOINED LETTER DDA
+0f9d TIBETAN SUBJOINED LETTER DDHA
+0f9e TIBETAN SUBJOINED LETTER NNA
+0f9f TIBETAN SUBJOINED LETTER TA
+0fa0 TIBETAN SUBJOINED LETTER THA
+0fa1 TIBETAN SUBJOINED LETTER DA
+0fa2 TIBETAN SUBJOINED LETTER DHA
+0fa3 TIBETAN SUBJOINED LETTER NA
+0fa4 TIBETAN SUBJOINED LETTER PA
+0fa5 TIBETAN SUBJOINED LETTER PHA
+0fa6 TIBETAN SUBJOINED LETTER BA
+0fa7 TIBETAN SUBJOINED LETTER BHA
+0fa8 TIBETAN SUBJOINED LETTER MA
+0fa9 TIBETAN SUBJOINED LETTER TSA
+0faa TIBETAN SUBJOINED LETTER TSHA
+0fab TIBETAN SUBJOINED LETTER DZA
+0fac TIBETAN SUBJOINED LETTER DZHA
+0fad TIBETAN SUBJOINED LETTER WA
+0fb1 TIBETAN SUBJOINED LETTER YA
+0fb2 TIBETAN SUBJOINED LETTER RA
+0fb3 TIBETAN SUBJOINED LETTER LA
+0fb4 TIBETAN SUBJOINED LETTER SHA
+0fb5 TIBETAN SUBJOINED LETTER SSA
+0fb6 TIBETAN SUBJOINED LETTER SA
+0fb7 TIBETAN SUBJOINED LETTER HA
+0fb9 TIBETAN SUBJOINED LETTER KSSA
+10a0 GEORGIAN CAPITAL LETTER AN
+10a1 GEORGIAN CAPITAL LETTER BAN
+10a2 GEORGIAN CAPITAL LETTER GAN
+10a3 GEORGIAN CAPITAL LETTER DON
+10a4 GEORGIAN CAPITAL LETTER EN
+10a5 GEORGIAN CAPITAL LETTER VIN
+10a6 GEORGIAN CAPITAL LETTER ZEN
+10a7 GEORGIAN CAPITAL LETTER TAN
+10a8 GEORGIAN CAPITAL LETTER IN
+10a9 GEORGIAN CAPITAL LETTER KAN
+10aa GEORGIAN CAPITAL LETTER LAS
+10ab GEORGIAN CAPITAL LETTER MAN
+10ac GEORGIAN CAPITAL LETTER NAR
+10ad GEORGIAN CAPITAL LETTER ON
+10ae GEORGIAN CAPITAL LETTER PAR
+10af GEORGIAN CAPITAL LETTER ZHAR
+10b0 GEORGIAN CAPITAL LETTER RAE
+10b1 GEORGIAN CAPITAL LETTER SAN
+10b2 GEORGIAN CAPITAL LETTER TAR
+10b3 GEORGIAN CAPITAL LETTER UN
+10b4 GEORGIAN CAPITAL LETTER PHAR
+10b5 GEORGIAN CAPITAL LETTER KHAR
+10b6 GEORGIAN CAPITAL LETTER GHAN
+10b7 GEORGIAN CAPITAL LETTER QAR
+10b8 GEORGIAN CAPITAL LETTER SHIN
+10b9 GEORGIAN CAPITAL LETTER CHIN
+10ba GEORGIAN CAPITAL LETTER CAN
+10bb GEORGIAN CAPITAL LETTER JIL
+10bc GEORGIAN CAPITAL LETTER CIL
+10bd GEORGIAN CAPITAL LETTER CHAR
+10be GEORGIAN CAPITAL LETTER XAN
+10bf GEORGIAN CAPITAL LETTER JHAN
+10c0 GEORGIAN CAPITAL LETTER HAE
+10c1 GEORGIAN CAPITAL LETTER HE
+10c2 GEORGIAN CAPITAL LETTER HIE
+10c3 GEORGIAN CAPITAL LETTER WE
+10c4 GEORGIAN CAPITAL LETTER HAR
+10c5 GEORGIAN CAPITAL LETTER HOE
+10d0 GEORGIAN LETTER AN
+10d1 GEORGIAN LETTER BAN
+10d2 GEORGIAN LETTER GAN
+10d3 GEORGIAN LETTER DON
+10d4 GEORGIAN LETTER EN
+10d5 GEORGIAN LETTER VIN
+10d6 GEORGIAN LETTER ZEN
+10d7 GEORGIAN LETTER TAN
+10d8 GEORGIAN LETTER IN
+10d9 GEORGIAN LETTER KAN
+10da GEORGIAN LETTER LAS
+10db GEORGIAN LETTER MAN
+10dc GEORGIAN LETTER NAR
+10dd GEORGIAN LETTER ON
+10de GEORGIAN LETTER PAR
+10df GEORGIAN LETTER ZHAR
+10e0 GEORGIAN LETTER RAE
+10e1 GEORGIAN LETTER SAN
+10e2 GEORGIAN LETTER TAR
+10e3 GEORGIAN LETTER UN
+10e4 GEORGIAN LETTER PHAR
+10e5 GEORGIAN LETTER KHAR
+10e6 GEORGIAN LETTER GHAN
+10e7 GEORGIAN LETTER QAR
+10e8 GEORGIAN LETTER SHIN
+10e9 GEORGIAN LETTER CHIN
+10ea GEORGIAN LETTER CAN
+10eb GEORGIAN LETTER JIL
+10ec GEORGIAN LETTER CIL
+10ed GEORGIAN LETTER CHAR
+10ee GEORGIAN LETTER XAN
+10ef GEORGIAN LETTER JHAN
+10f0 GEORGIAN LETTER HAE
+10f1 GEORGIAN LETTER HE
+10f2 GEORGIAN LETTER HIE
+10f3 GEORGIAN LETTER WE
+10f4 GEORGIAN LETTER HAR
+10f5 GEORGIAN LETTER HOE
+10f6 GEORGIAN LETTER FI
+10fb GEORGIAN PARAGRAPH SEPARATOR
+1100 HANGUL CHOSEONG KIYEOK
+1101 HANGUL CHOSEONG SSANGKIYEOK
+1102 HANGUL CHOSEONG NIEUN
+1103 HANGUL CHOSEONG TIKEUT
+1104 HANGUL CHOSEONG SSANGTIKEUT
+1105 HANGUL CHOSEONG RIEUL
+1106 HANGUL CHOSEONG MIEUM
+1107 HANGUL CHOSEONG PIEUP
+1108 HANGUL CHOSEONG SSANGPIEUP
+1109 HANGUL CHOSEONG SIOS
+110a HANGUL CHOSEONG SSANGSIOS
+110b HANGUL CHOSEONG IEUNG
+110c HANGUL CHOSEONG CIEUC
+110d HANGUL CHOSEONG SSANGCIEUC
+110e HANGUL CHOSEONG CHIEUCH
+110f HANGUL CHOSEONG KHIEUKH
+1110 HANGUL CHOSEONG THIEUTH
+1111 HANGUL CHOSEONG PHIEUPH
+1112 HANGUL CHOSEONG HIEUH
+1113 HANGUL CHOSEONG NIEUN-KIYEOK
+1114 HANGUL CHOSEONG SSANGNIEUN
+1115 HANGUL CHOSEONG NIEUN-TIKEUT
+1116 HANGUL CHOSEONG NIEUN-PIEUP
+1117 HANGUL CHOSEONG TIKEUT-KIYEOK
+1118 HANGUL CHOSEONG RIEUL-NIEUN
+1119 HANGUL CHOSEONG SSANGRIEUL
+111a HANGUL CHOSEONG RIEUL-HIEUH
+111b HANGUL CHOSEONG KAPYEOUNRIEUL
+111c HANGUL CHOSEONG MIEUM-PIEUP
+111d HANGUL CHOSEONG KAPYEOUNMIEUM
+111e HANGUL CHOSEONG PIEUP-KIYEOK
+111f HANGUL CHOSEONG PIEUP-NIEUN
+1120 HANGUL CHOSEONG PIEUP-TIKEUT
+1121 HANGUL CHOSEONG PIEUP-SIOS
+1122 HANGUL CHOSEONG PIEUP-SIOS-KIYEOK
+1123 HANGUL CHOSEONG PIEUP-SIOS-TIKEUT
+1124 HANGUL CHOSEONG PIEUP-SIOS-PIEUP
+1125 HANGUL CHOSEONG PIEUP-SSANGSIOS
+1126 HANGUL CHOSEONG PIEUP-SIOS-CIEUC
+1127 HANGUL CHOSEONG PIEUP-CIEUC
+1128 HANGUL CHOSEONG PIEUP-CHIEUCH
+1129 HANGUL CHOSEONG PIEUP-THIEUTH
+112a HANGUL CHOSEONG PIEUP-PHIEUPH
+112b HANGUL CHOSEONG KAPYEOUNPIEUP
+112c HANGUL CHOSEONG KAPYEOUNSSANGPIEUP
+112d HANGUL CHOSEONG SIOS-KIYEOK
+112e HANGUL CHOSEONG SIOS-NIEUN
+112f HANGUL CHOSEONG SIOS-TIKEUT
+1130 HANGUL CHOSEONG SIOS-RIEUL
+1131 HANGUL CHOSEONG SIOS-MIEUM
+1132 HANGUL CHOSEONG SIOS-PIEUP
+1133 HANGUL CHOSEONG SIOS-PIEUP-KIYEOK
+1134 HANGUL CHOSEONG SIOS-SSANGSIOS
+1135 HANGUL CHOSEONG SIOS-IEUNG
+1136 HANGUL CHOSEONG SIOS-CIEUC
+1137 HANGUL CHOSEONG SIOS-CHIEUCH
+1138 HANGUL CHOSEONG SIOS-KHIEUKH
+1139 HANGUL CHOSEONG SIOS-THIEUTH
+113a HANGUL CHOSEONG SIOS-PHIEUPH
+113b HANGUL CHOSEONG SIOS-HIEUH
+113c HANGUL CHOSEONG CHITUEUMSIOS
+113d HANGUL CHOSEONG CHITUEUMSSANGSIOS
+113e HANGUL CHOSEONG CEONGCHIEUMSIOS
+113f HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS
+1140 HANGUL CHOSEONG PANSIOS
+1141 HANGUL CHOSEONG IEUNG-KIYEOK
+1142 HANGUL CHOSEONG IEUNG-TIKEUT
+1143 HANGUL CHOSEONG IEUNG-MIEUM
+1144 HANGUL CHOSEONG IEUNG-PIEUP
+1145 HANGUL CHOSEONG IEUNG-SIOS
+1146 HANGUL CHOSEONG IEUNG-PANSIOS
+1147 HANGUL CHOSEONG SSANGIEUNG
+1148 HANGUL CHOSEONG IEUNG-CIEUC
+1149 HANGUL CHOSEONG IEUNG-CHIEUCH
+114a HANGUL CHOSEONG IEUNG-THIEUTH
+114b HANGUL CHOSEONG IEUNG-PHIEUPH
+114c HANGUL CHOSEONG YESIEUNG
+114d HANGUL CHOSEONG CIEUC-IEUNG
+114e HANGUL CHOSEONG CHITUEUMCIEUC
+114f HANGUL CHOSEONG CHITUEUMSSANGCIEUC
+1150 HANGUL CHOSEONG CEONGCHIEUMCIEUC
+1151 HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC
+1152 HANGUL CHOSEONG CHIEUCH-KHIEUKH
+1153 HANGUL CHOSEONG CHIEUCH-HIEUH
+1154 HANGUL CHOSEONG CHITUEUMCHIEUCH
+1155 HANGUL CHOSEONG CEONGCHIEUMCHIEUCH
+1156 HANGUL CHOSEONG PHIEUPH-PIEUP
+1157 HANGUL CHOSEONG KAPYEOUNPHIEUPH
+1158 HANGUL CHOSEONG SSANGHIEUH
+1159 HANGUL CHOSEONG YEORINHIEUH
+115f HANGUL CHOSEONG FILLER
+1160 HANGUL JUNGSEONG FILLER
+1161 HANGUL JUNGSEONG A
+1162 HANGUL JUNGSEONG AE
+1163 HANGUL JUNGSEONG YA
+1164 HANGUL JUNGSEONG YAE
+1165 HANGUL JUNGSEONG EO
+1166 HANGUL JUNGSEONG E
+1167 HANGUL JUNGSEONG YEO
+1168 HANGUL JUNGSEONG YE
+1169 HANGUL JUNGSEONG O
+116a HANGUL JUNGSEONG WA
+116b HANGUL JUNGSEONG WAE
+116c HANGUL JUNGSEONG OE
+116d HANGUL JUNGSEONG YO
+116e HANGUL JUNGSEONG U
+116f HANGUL JUNGSEONG WEO
+1170 HANGUL JUNGSEONG WE
+1171 HANGUL JUNGSEONG WI
+1172 HANGUL JUNGSEONG YU
+1173 HANGUL JUNGSEONG EU
+1174 HANGUL JUNGSEONG YI
+1175 HANGUL JUNGSEONG I
+1176 HANGUL JUNGSEONG A-O
+1177 HANGUL JUNGSEONG A-U
+1178 HANGUL JUNGSEONG YA-O
+1179 HANGUL JUNGSEONG YA-YO
+117a HANGUL JUNGSEONG EO-O
+117b HANGUL JUNGSEONG EO-U
+117c HANGUL JUNGSEONG EO-EU
+117d HANGUL JUNGSEONG YEO-O
+117e HANGUL JUNGSEONG YEO-U
+117f HANGUL JUNGSEONG O-EO
+1180 HANGUL JUNGSEONG O-E
+1181 HANGUL JUNGSEONG O-YE
+1182 HANGUL JUNGSEONG O-O
+1183 HANGUL JUNGSEONG O-U
+1184 HANGUL JUNGSEONG YO-YA
+1185 HANGUL JUNGSEONG YO-YAE
+1186 HANGUL JUNGSEONG YO-YEO
+1187 HANGUL JUNGSEONG YO-O
+1188 HANGUL JUNGSEONG YO-I
+1189 HANGUL JUNGSEONG U-A
+118a HANGUL JUNGSEONG U-AE
+118b HANGUL JUNGSEONG U-EO-EU
+118c HANGUL JUNGSEONG U-YE
+118d HANGUL JUNGSEONG U-U
+118e HANGUL JUNGSEONG YU-A
+118f HANGUL JUNGSEONG YU-EO
+1190 HANGUL JUNGSEONG YU-E
+1191 HANGUL JUNGSEONG YU-YEO
+1192 HANGUL JUNGSEONG YU-YE
+1193 HANGUL JUNGSEONG YU-U
+1194 HANGUL JUNGSEONG YU-I
+1195 HANGUL JUNGSEONG EU-U
+1196 HANGUL JUNGSEONG EU-EU
+1197 HANGUL JUNGSEONG YI-U
+1198 HANGUL JUNGSEONG I-A
+1199 HANGUL JUNGSEONG I-YA
+119a HANGUL JUNGSEONG I-O
+119b HANGUL JUNGSEONG I-U
+119c HANGUL JUNGSEONG I-EU
+119d HANGUL JUNGSEONG I-ARAEA
+119e HANGUL JUNGSEONG ARAEA
+119f HANGUL JUNGSEONG ARAEA-EO
+11a0 HANGUL JUNGSEONG ARAEA-U
+11a1 HANGUL JUNGSEONG ARAEA-I
+11a2 HANGUL JUNGSEONG SSANGARAEA
+11a8 HANGUL JONGSEONG KIYEOK
+11a9 HANGUL JONGSEONG SSANGKIYEOK
+11aa HANGUL JONGSEONG KIYEOK-SIOS
+11ab HANGUL JONGSEONG NIEUN
+11ac HANGUL JONGSEONG NIEUN-CIEUC
+11ad HANGUL JONGSEONG NIEUN-HIEUH
+11ae HANGUL JONGSEONG TIKEUT
+11af HANGUL JONGSEONG RIEUL
+11b0 HANGUL JONGSEONG RIEUL-KIYEOK
+11b1 HANGUL JONGSEONG RIEUL-MIEUM
+11b2 HANGUL JONGSEONG RIEUL-PIEUP
+11b3 HANGUL JONGSEONG RIEUL-SIOS
+11b4 HANGUL JONGSEONG RIEUL-THIEUTH
+11b5 HANGUL JONGSEONG RIEUL-PHIEUPH
+11b6 HANGUL JONGSEONG RIEUL-HIEUH
+11b7 HANGUL JONGSEONG MIEUM
+11b8 HANGUL JONGSEONG PIEUP
+11b9 HANGUL JONGSEONG PIEUP-SIOS
+11ba HANGUL JONGSEONG SIOS
+11bb HANGUL JONGSEONG SSANGSIOS
+11bc HANGUL JONGSEONG IEUNG
+11bd HANGUL JONGSEONG CIEUC
+11be HANGUL JONGSEONG CHIEUCH
+11bf HANGUL JONGSEONG KHIEUKH
+11c0 HANGUL JONGSEONG THIEUTH
+11c1 HANGUL JONGSEONG PHIEUPH
+11c2 HANGUL JONGSEONG HIEUH
+11c3 HANGUL JONGSEONG KIYEOK-RIEUL
+11c4 HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK
+11c5 HANGUL JONGSEONG NIEUN-KIYEOK
+11c6 HANGUL JONGSEONG NIEUN-TIKEUT
+11c7 HANGUL JONGSEONG NIEUN-SIOS
+11c8 HANGUL JONGSEONG NIEUN-PANSIOS
+11c9 HANGUL JONGSEONG NIEUN-THIEUTH
+11ca HANGUL JONGSEONG TIKEUT-KIYEOK
+11cb HANGUL JONGSEONG TIKEUT-RIEUL
+11cc HANGUL JONGSEONG RIEUL-KIYEOK-SIOS
+11cd HANGUL JONGSEONG RIEUL-NIEUN
+11ce HANGUL JONGSEONG RIEUL-TIKEUT
+11cf HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH
+11d0 HANGUL JONGSEONG SSANGRIEUL
+11d1 HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK
+11d2 HANGUL JONGSEONG RIEUL-MIEUM-SIOS
+11d3 HANGUL JONGSEONG RIEUL-PIEUP-SIOS
+11d4 HANGUL JONGSEONG RIEUL-PIEUP-HIEUH
+11d5 HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP
+11d6 HANGUL JONGSEONG RIEUL-SSANGSIOS
+11d7 HANGUL JONGSEONG RIEUL-PANSIOS
+11d8 HANGUL JONGSEONG RIEUL-KHIEUKH
+11d9 HANGUL JONGSEONG RIEUL-YEORINHIEUH
+11da HANGUL JONGSEONG MIEUM-KIYEOK
+11db HANGUL JONGSEONG MIEUM-RIEUL
+11dc HANGUL JONGSEONG MIEUM-PIEUP
+11dd HANGUL JONGSEONG MIEUM-SIOS
+11de HANGUL JONGSEONG MIEUM-SSANGSIOS
+11df HANGUL JONGSEONG MIEUM-PANSIOS
+11e0 HANGUL JONGSEONG MIEUM-CHIEUCH
+11e1 HANGUL JONGSEONG MIEUM-HIEUH
+11e2 HANGUL JONGSEONG KAPYEOUNMIEUM
+11e3 HANGUL JONGSEONG PIEUP-RIEUL
+11e4 HANGUL JONGSEONG PIEUP-PHIEUPH
+11e5 HANGUL JONGSEONG PIEUP-HIEUH
+11e6 HANGUL JONGSEONG KAPYEOUNPIEUP
+11e7 HANGUL JONGSEONG SIOS-KIYEOK
+11e8 HANGUL JONGSEONG SIOS-TIKEUT
+11e9 HANGUL JONGSEONG SIOS-RIEUL
+11ea HANGUL JONGSEONG SIOS-PIEUP
+11eb HANGUL JONGSEONG PANSIOS
+11ec HANGUL JONGSEONG IEUNG-KIYEOK
+11ed HANGUL JONGSEONG IEUNG-SSANGKIYEOK
+11ee HANGUL JONGSEONG SSANGIEUNG
+11ef HANGUL JONGSEONG IEUNG-KHIEUKH
+11f0 HANGUL JONGSEONG YESIEUNG
+11f1 HANGUL JONGSEONG YESIEUNG-SIOS
+11f2 HANGUL JONGSEONG YESIEUNG-PANSIOS
+11f3 HANGUL JONGSEONG PHIEUPH-PIEUP
+11f4 HANGUL JONGSEONG KAPYEOUNPHIEUPH
+11f5 HANGUL JONGSEONG HIEUH-NIEUN
+11f6 HANGUL JONGSEONG HIEUH-RIEUL
+11f7 HANGUL JONGSEONG HIEUH-MIEUM
+11f8 HANGUL JONGSEONG HIEUH-PIEUP
+11f9 HANGUL JONGSEONG YEORINHIEUH
+1e00 LATIN CAPITAL LETTER A WITH RING BELOW
+1e01 LATIN SMALL LETTER A WITH RING BELOW
+1e02 LATIN CAPITAL LETTER B WITH DOT ABOVE
+1e03 LATIN SMALL LETTER B WITH DOT ABOVE
+1e04 LATIN CAPITAL LETTER B WITH DOT BELOW
+1e05 LATIN SMALL LETTER B WITH DOT BELOW
+1e06 LATIN CAPITAL LETTER B WITH LINE BELOW
+1e07 LATIN SMALL LETTER B WITH LINE BELOW
+1e08 LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
+1e09 LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
+1e0a LATIN CAPITAL LETTER D WITH DOT ABOVE
+1e0b LATIN SMALL LETTER D WITH DOT ABOVE
+1e0c LATIN CAPITAL LETTER D WITH DOT BELOW
+1e0d LATIN SMALL LETTER D WITH DOT BELOW
+1e0e LATIN CAPITAL LETTER D WITH LINE BELOW
+1e0f LATIN SMALL LETTER D WITH LINE BELOW
+1e10 LATIN CAPITAL LETTER D WITH CEDILLA
+1e11 LATIN SMALL LETTER D WITH CEDILLA
+1e12 LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
+1e13 LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW
+1e14 LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
+1e15 LATIN SMALL LETTER E WITH MACRON AND GRAVE
+1e16 LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
+1e17 LATIN SMALL LETTER E WITH MACRON AND ACUTE
+1e18 LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
+1e19 LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW
+1e1a LATIN CAPITAL LETTER E WITH TILDE BELOW
+1e1b LATIN SMALL LETTER E WITH TILDE BELOW
+1e1c LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
+1e1d LATIN SMALL LETTER E WITH CEDILLA AND BREVE
+1e1e LATIN CAPITAL LETTER F WITH DOT ABOVE
+1e1f LATIN SMALL LETTER F WITH DOT ABOVE
+1e20 LATIN CAPITAL LETTER G WITH MACRON
+1e21 LATIN SMALL LETTER G WITH MACRON
+1e22 LATIN CAPITAL LETTER H WITH DOT ABOVE
+1e23 LATIN SMALL LETTER H WITH DOT ABOVE
+1e24 LATIN CAPITAL LETTER H WITH DOT BELOW
+1e25 LATIN SMALL LETTER H WITH DOT BELOW
+1e26 LATIN CAPITAL LETTER H WITH DIAERESIS
+1e27 LATIN SMALL LETTER H WITH DIAERESIS
+1e28 LATIN CAPITAL LETTER H WITH CEDILLA
+1e29 LATIN SMALL LETTER H WITH CEDILLA
+1e2a LATIN CAPITAL LETTER H WITH BREVE BELOW
+1e2b LATIN SMALL LETTER H WITH BREVE BELOW
+1e2c LATIN CAPITAL LETTER I WITH TILDE BELOW
+1e2d LATIN SMALL LETTER I WITH TILDE BELOW
+1e2e LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
+1e2f LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
+1e30 LATIN CAPITAL LETTER K WITH ACUTE
+1e31 LATIN SMALL LETTER K WITH ACUTE
+1e32 LATIN CAPITAL LETTER K WITH DOT BELOW
+1e33 LATIN SMALL LETTER K WITH DOT BELOW
+1e34 LATIN CAPITAL LETTER K WITH LINE BELOW
+1e35 LATIN SMALL LETTER K WITH LINE BELOW
+1e36 LATIN CAPITAL LETTER L WITH DOT BELOW
+1e37 LATIN SMALL LETTER L WITH DOT BELOW
+1e38 LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
+1e39 LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
+1e3a LATIN CAPITAL LETTER L WITH LINE BELOW
+1e3b LATIN SMALL LETTER L WITH LINE BELOW
+1e3c LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
+1e3d LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW
+1e3e LATIN CAPITAL LETTER M WITH ACUTE
+1e3f LATIN SMALL LETTER M WITH ACUTE
+1e40 LATIN CAPITAL LETTER M WITH DOT ABOVE
+1e41 LATIN SMALL LETTER M WITH DOT ABOVE
+1e42 LATIN CAPITAL LETTER M WITH DOT BELOW
+1e43 LATIN SMALL LETTER M WITH DOT BELOW
+1e44 LATIN CAPITAL LETTER N WITH DOT ABOVE
+1e45 LATIN SMALL LETTER N WITH DOT ABOVE
+1e46 LATIN CAPITAL LETTER N WITH DOT BELOW
+1e47 LATIN SMALL LETTER N WITH DOT BELOW
+1e48 LATIN CAPITAL LETTER N WITH LINE BELOW
+1e49 LATIN SMALL LETTER N WITH LINE BELOW
+1e4a LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
+1e4b LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW
+1e4c LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
+1e4d LATIN SMALL LETTER O WITH TILDE AND ACUTE
+1e4e LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
+1e4f LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
+1e50 LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
+1e51 LATIN SMALL LETTER O WITH MACRON AND GRAVE
+1e52 LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
+1e53 LATIN SMALL LETTER O WITH MACRON AND ACUTE
+1e54 LATIN CAPITAL LETTER P WITH ACUTE
+1e55 LATIN SMALL LETTER P WITH ACUTE
+1e56 LATIN CAPITAL LETTER P WITH DOT ABOVE
+1e57 LATIN SMALL LETTER P WITH DOT ABOVE
+1e58 LATIN CAPITAL LETTER R WITH DOT ABOVE
+1e59 LATIN SMALL LETTER R WITH DOT ABOVE
+1e5a LATIN CAPITAL LETTER R WITH DOT BELOW
+1e5b LATIN SMALL LETTER R WITH DOT BELOW
+1e5c LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
+1e5d LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
+1e5e LATIN CAPITAL LETTER R WITH LINE BELOW
+1e5f LATIN SMALL LETTER R WITH LINE BELOW
+1e60 LATIN CAPITAL LETTER S WITH DOT ABOVE
+1e61 LATIN SMALL LETTER S WITH DOT ABOVE
+1e62 LATIN CAPITAL LETTER S WITH DOT BELOW
+1e63 LATIN SMALL LETTER S WITH DOT BELOW
+1e64 LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
+1e65 LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
+1e66 LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
+1e67 LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
+1e68 LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
+1e69 LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
+1e6a LATIN CAPITAL LETTER T WITH DOT ABOVE
+1e6b LATIN SMALL LETTER T WITH DOT ABOVE
+1e6c LATIN CAPITAL LETTER T WITH DOT BELOW
+1e6d LATIN SMALL LETTER T WITH DOT BELOW
+1e6e LATIN CAPITAL LETTER T WITH LINE BELOW
+1e6f LATIN SMALL LETTER T WITH LINE BELOW
+1e70 LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
+1e71 LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW
+1e72 LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
+1e73 LATIN SMALL LETTER U WITH DIAERESIS BELOW
+1e74 LATIN CAPITAL LETTER U WITH TILDE BELOW
+1e75 LATIN SMALL LETTER U WITH TILDE BELOW
+1e76 LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
+1e77 LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW
+1e78 LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
+1e79 LATIN SMALL LETTER U WITH TILDE AND ACUTE
+1e7a LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
+1e7b LATIN SMALL LETTER U WITH MACRON AND DIAERESIS
+1e7c LATIN CAPITAL LETTER V WITH TILDE
+1e7d LATIN SMALL LETTER V WITH TILDE
+1e7e LATIN CAPITAL LETTER V WITH DOT BELOW
+1e7f LATIN SMALL LETTER V WITH DOT BELOW
+1e80 LATIN CAPITAL LETTER W WITH GRAVE
+1e81 LATIN SMALL LETTER W WITH GRAVE
+1e82 LATIN CAPITAL LETTER W WITH ACUTE
+1e83 LATIN SMALL LETTER W WITH ACUTE
+1e84 LATIN CAPITAL LETTER W WITH DIAERESIS
+1e85 LATIN SMALL LETTER W WITH DIAERESIS
+1e86 LATIN CAPITAL LETTER W WITH DOT ABOVE
+1e87 LATIN SMALL LETTER W WITH DOT ABOVE
+1e88 LATIN CAPITAL LETTER W WITH DOT BELOW
+1e89 LATIN SMALL LETTER W WITH DOT BELOW
+1e8a LATIN CAPITAL LETTER X WITH DOT ABOVE
+1e8b LATIN SMALL LETTER X WITH DOT ABOVE
+1e8c LATIN CAPITAL LETTER X WITH DIAERESIS
+1e8d LATIN SMALL LETTER X WITH DIAERESIS
+1e8e LATIN CAPITAL LETTER Y WITH DOT ABOVE
+1e8f LATIN SMALL LETTER Y WITH DOT ABOVE
+1e90 LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
+1e91 LATIN SMALL LETTER Z WITH CIRCUMFLEX
+1e92 LATIN CAPITAL LETTER Z WITH DOT BELOW
+1e93 LATIN SMALL LETTER Z WITH DOT BELOW
+1e94 LATIN CAPITAL LETTER Z WITH LINE BELOW
+1e95 LATIN SMALL LETTER Z WITH LINE BELOW
+1e96 LATIN SMALL LETTER H WITH LINE BELOW
+1e97 LATIN SMALL LETTER T WITH DIAERESIS
+1e98 LATIN SMALL LETTER W WITH RING ABOVE
+1e99 LATIN SMALL LETTER Y WITH RING ABOVE
+1e9a LATIN SMALL LETTER A WITH RIGHT HALF RING
+1e9b LATIN SMALL LETTER LONG S WITH DOT ABOVE
+1ea0 LATIN CAPITAL LETTER A WITH DOT BELOW
+1ea1 LATIN SMALL LETTER A WITH DOT BELOW
+1ea2 LATIN CAPITAL LETTER A WITH HOOK ABOVE
+1ea3 LATIN SMALL LETTER A WITH HOOK ABOVE
+1ea4 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+1ea5 LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
+1ea6 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+1ea7 LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
+1ea8 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1ea9 LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1eaa LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+1eab LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
+1eac LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+1ead LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+1eae LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
+1eaf LATIN SMALL LETTER A WITH BREVE AND ACUTE
+1eb0 LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
+1eb1 LATIN SMALL LETTER A WITH BREVE AND GRAVE
+1eb2 LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
+1eb3 LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
+1eb4 LATIN CAPITAL LETTER A WITH BREVE AND TILDE
+1eb5 LATIN SMALL LETTER A WITH BREVE AND TILDE
+1eb6 LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
+1eb7 LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
+1eb8 LATIN CAPITAL LETTER E WITH DOT BELOW
+1eb9 LATIN SMALL LETTER E WITH DOT BELOW
+1eba LATIN CAPITAL LETTER E WITH HOOK ABOVE
+1ebb LATIN SMALL LETTER E WITH HOOK ABOVE
+1ebc LATIN CAPITAL LETTER E WITH TILDE
+1ebd LATIN SMALL LETTER E WITH TILDE
+1ebe LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+1ebf LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1ec0 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+1ec1 LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1ec2 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1ec3 LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1ec4 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1ec5 LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1ec6 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1ec7 LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1ec8 LATIN CAPITAL LETTER I WITH HOOK ABOVE
+1ec9 LATIN SMALL LETTER I WITH HOOK ABOVE
+1eca LATIN CAPITAL LETTER I WITH DOT BELOW
+1ecb LATIN SMALL LETTER I WITH DOT BELOW
+1ecc LATIN CAPITAL LETTER O WITH DOT BELOW
+1ecd LATIN SMALL LETTER O WITH DOT BELOW
+1ece LATIN CAPITAL LETTER O WITH HOOK ABOVE
+1ecf LATIN SMALL LETTER O WITH HOOK ABOVE
+1ed0 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ed1 LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ed2 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ed3 LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ed4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ed5 LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ed6 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ed7 LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ed8 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ed9 LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1eda LATIN CAPITAL LETTER O WITH HORN AND ACUTE
+1edb LATIN SMALL LETTER O WITH HORN AND ACUTE
+1edc LATIN CAPITAL LETTER O WITH HORN AND GRAVE
+1edd LATIN SMALL LETTER O WITH HORN AND GRAVE
+1ede LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
+1edf LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
+1ee0 LATIN CAPITAL LETTER O WITH HORN AND TILDE
+1ee1 LATIN SMALL LETTER O WITH HORN AND TILDE
+1ee2 LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+1ee3 LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+1ee4 LATIN CAPITAL LETTER U WITH DOT BELOW
+1ee5 LATIN SMALL LETTER U WITH DOT BELOW
+1ee6 LATIN CAPITAL LETTER U WITH HOOK ABOVE
+1ee7 LATIN SMALL LETTER U WITH HOOK ABOVE
+1ee8 LATIN CAPITAL LETTER U WITH HORN AND ACUTE
+1ee9 LATIN SMALL LETTER U WITH HORN AND ACUTE
+1eea LATIN CAPITAL LETTER U WITH HORN AND GRAVE
+1eeb LATIN SMALL LETTER U WITH HORN AND GRAVE
+1eec LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
+1eed LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
+1eee LATIN CAPITAL LETTER U WITH HORN AND TILDE
+1eef LATIN SMALL LETTER U WITH HORN AND TILDE
+1ef0 LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
+1ef1 LATIN SMALL LETTER U WITH HORN AND DOT BELOW
+1ef2 LATIN CAPITAL LETTER Y WITH GRAVE
+1ef3 LATIN SMALL LETTER Y WITH GRAVE
+1ef4 LATIN CAPITAL LETTER Y WITH DOT BELOW
+1ef5 LATIN SMALL LETTER Y WITH DOT BELOW
+1ef6 LATIN CAPITAL LETTER Y WITH HOOK ABOVE
+1ef7 LATIN SMALL LETTER Y WITH HOOK ABOVE
+1ef8 LATIN CAPITAL LETTER Y WITH TILDE
+1ef9 LATIN SMALL LETTER Y WITH TILDE
+1f00 GREEK SMALL LETTER ALPHA WITH PSILI
+1f01 GREEK SMALL LETTER ALPHA WITH DASIA
+1f02 GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA
+1f03 GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA
+1f04 GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA
+1f05 GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA
+1f06 GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI
+1f07 GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
+1f08 GREEK CAPITAL LETTER ALPHA WITH PSILI
+1f09 GREEK CAPITAL LETTER ALPHA WITH DASIA
+1f0a GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA
+1f0b GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA
+1f0c GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA
+1f0d GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA
+1f0e GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI
+1f0f GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
+1f10 GREEK SMALL LETTER EPSILON WITH PSILI
+1f11 GREEK SMALL LETTER EPSILON WITH DASIA
+1f12 GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA
+1f13 GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA
+1f14 GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA
+1f15 GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
+1f18 GREEK CAPITAL LETTER EPSILON WITH PSILI
+1f19 GREEK CAPITAL LETTER EPSILON WITH DASIA
+1f1a GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA
+1f1b GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA
+1f1c GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA
+1f1d GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
+1f20 GREEK SMALL LETTER ETA WITH PSILI
+1f21 GREEK SMALL LETTER ETA WITH DASIA
+1f22 GREEK SMALL LETTER ETA WITH PSILI AND VARIA
+1f23 GREEK SMALL LETTER ETA WITH DASIA AND VARIA
+1f24 GREEK SMALL LETTER ETA WITH PSILI AND OXIA
+1f25 GREEK SMALL LETTER ETA WITH DASIA AND OXIA
+1f26 GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI
+1f27 GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
+1f28 GREEK CAPITAL LETTER ETA WITH PSILI
+1f29 GREEK CAPITAL LETTER ETA WITH DASIA
+1f2a GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA
+1f2b GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA
+1f2c GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA
+1f2d GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA
+1f2e GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI
+1f2f GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
+1f30 GREEK SMALL LETTER IOTA WITH PSILI
+1f31 GREEK SMALL LETTER IOTA WITH DASIA
+1f32 GREEK SMALL LETTER IOTA WITH PSILI AND VARIA
+1f33 GREEK SMALL LETTER IOTA WITH DASIA AND VARIA
+1f34 GREEK SMALL LETTER IOTA WITH PSILI AND OXIA
+1f35 GREEK SMALL LETTER IOTA WITH DASIA AND OXIA
+1f36 GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI
+1f37 GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
+1f38 GREEK CAPITAL LETTER IOTA WITH PSILI
+1f39 GREEK CAPITAL LETTER IOTA WITH DASIA
+1f3a GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA
+1f3b GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA
+1f3c GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA
+1f3d GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA
+1f3e GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI
+1f3f GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
+1f40 GREEK SMALL LETTER OMICRON WITH PSILI
+1f41 GREEK SMALL LETTER OMICRON WITH DASIA
+1f42 GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA
+1f43 GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA
+1f44 GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA
+1f45 GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
+1f48 GREEK CAPITAL LETTER OMICRON WITH PSILI
+1f49 GREEK CAPITAL LETTER OMICRON WITH DASIA
+1f4a GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA
+1f4b GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA
+1f4c GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA
+1f4d GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
+1f50 GREEK SMALL LETTER UPSILON WITH PSILI
+1f51 GREEK SMALL LETTER UPSILON WITH DASIA
+1f52 GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
+1f53 GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA
+1f54 GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
+1f55 GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA
+1f56 GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
+1f57 GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
+1f59 GREEK CAPITAL LETTER UPSILON WITH DASIA
+1f5b GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
+1f5d GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
+1f5f GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
+1f60 GREEK SMALL LETTER OMEGA WITH PSILI
+1f61 GREEK SMALL LETTER OMEGA WITH DASIA
+1f62 GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA
+1f63 GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA
+1f64 GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA
+1f65 GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA
+1f66 GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI
+1f67 GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
+1f68 GREEK CAPITAL LETTER OMEGA WITH PSILI
+1f69 GREEK CAPITAL LETTER OMEGA WITH DASIA
+1f6a GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA
+1f6b GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA
+1f6c GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA
+1f6d GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA
+1f6e GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI
+1f6f GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
+1f70 GREEK SMALL LETTER ALPHA WITH VARIA
+1f71 GREEK SMALL LETTER ALPHA WITH OXIA
+1f72 GREEK SMALL LETTER EPSILON WITH VARIA
+1f73 GREEK SMALL LETTER EPSILON WITH OXIA
+1f74 GREEK SMALL LETTER ETA WITH VARIA
+1f75 GREEK SMALL LETTER ETA WITH OXIA
+1f76 GREEK SMALL LETTER IOTA WITH VARIA
+1f77 GREEK SMALL LETTER IOTA WITH OXIA
+1f78 GREEK SMALL LETTER OMICRON WITH VARIA
+1f79 GREEK SMALL LETTER OMICRON WITH OXIA
+1f7a GREEK SMALL LETTER UPSILON WITH VARIA
+1f7b GREEK SMALL LETTER UPSILON WITH OXIA
+1f7c GREEK SMALL LETTER OMEGA WITH VARIA
+1f7d GREEK SMALL LETTER OMEGA WITH OXIA
+1f80 GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
+1f81 GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
+1f82 GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+1f83 GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+1f84 GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+1f85 GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+1f86 GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+1f87 GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+1f88 GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI
+1f89 GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
+1f8a GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+1f8b GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+1f8c GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+1f8d GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+1f8e GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+1f8f GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+1f90 GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
+1f91 GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
+1f92 GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+1f93 GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+1f94 GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+1f95 GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+1f96 GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+1f97 GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+1f98 GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
+1f99 GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
+1f9a GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+1f9b GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+1f9c GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+1f9d GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+1f9e GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+1f9f GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+1fa0 GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
+1fa1 GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
+1fa2 GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+1fa3 GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+1fa4 GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+1fa5 GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+1fa6 GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+1fa7 GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+1fa8 GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
+1fa9 GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
+1faa GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+1fab GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+1fac GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+1fad GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+1fae GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+1faf GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+1fb0 GREEK SMALL LETTER ALPHA WITH VRACHY
+1fb1 GREEK SMALL LETTER ALPHA WITH MACRON
+1fb2 GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
+1fb3 GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
+1fb4 GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
+1fb6 GREEK SMALL LETTER ALPHA WITH PERISPOMENI
+1fb7 GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
+1fb8 GREEK CAPITAL LETTER ALPHA WITH VRACHY
+1fb9 GREEK CAPITAL LETTER ALPHA WITH MACRON
+1fba GREEK CAPITAL LETTER ALPHA WITH VARIA
+1fbb GREEK CAPITAL LETTER ALPHA WITH OXIA
+1fbc GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
+1fbd GREEK KORONIS
+1fbe GREEK PROSGEGRAMMENI
+1fbf GREEK PSILI
+1fc0 GREEK PERISPOMENI
+1fc1 GREEK DIALYTIKA AND PERISPOMENI
+1fc2 GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
+1fc3 GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
+1fc4 GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
+1fc6 GREEK SMALL LETTER ETA WITH PERISPOMENI
+1fc7 GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
+1fc8 GREEK CAPITAL LETTER EPSILON WITH VARIA
+1fc9 GREEK CAPITAL LETTER EPSILON WITH OXIA
+1fca GREEK CAPITAL LETTER ETA WITH VARIA
+1fcb GREEK CAPITAL LETTER ETA WITH OXIA
+1fcc GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
+1fcd GREEK PSILI AND VARIA
+1fce GREEK PSILI AND OXIA
+1fcf GREEK PSILI AND PERISPOMENI
+1fd0 GREEK SMALL LETTER IOTA WITH VRACHY
+1fd1 GREEK SMALL LETTER IOTA WITH MACRON
+1fd2 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
+1fd3 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
+1fd6 GREEK SMALL LETTER IOTA WITH PERISPOMENI
+1fd7 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
+1fd8 GREEK CAPITAL LETTER IOTA WITH VRACHY
+1fd9 GREEK CAPITAL LETTER IOTA WITH MACRON
+1fda GREEK CAPITAL LETTER IOTA WITH VARIA
+1fdb GREEK CAPITAL LETTER IOTA WITH OXIA
+1fdd GREEK DASIA AND VARIA
+1fde GREEK DASIA AND OXIA
+1fdf GREEK DASIA AND PERISPOMENI
+1fe0 GREEK SMALL LETTER UPSILON WITH VRACHY
+1fe1 GREEK SMALL LETTER UPSILON WITH MACRON
+1fe2 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
+1fe3 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
+1fe4 GREEK SMALL LETTER RHO WITH PSILI
+1fe5 GREEK SMALL LETTER RHO WITH DASIA
+1fe6 GREEK SMALL LETTER UPSILON WITH PERISPOMENI
+1fe7 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
+1fe8 GREEK CAPITAL LETTER UPSILON WITH VRACHY
+1fe9 GREEK CAPITAL LETTER UPSILON WITH MACRON
+1fea GREEK CAPITAL LETTER UPSILON WITH VARIA
+1feb GREEK CAPITAL LETTER UPSILON WITH OXIA
+1fec GREEK CAPITAL LETTER RHO WITH DASIA
+1fed GREEK DIALYTIKA AND VARIA
+1fee GREEK DIALYTIKA AND OXIA
+1fef GREEK VARIA
+1ff2 GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
+1ff3 GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
+1ff4 GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
+1ff6 GREEK SMALL LETTER OMEGA WITH PERISPOMENI
+1ff7 GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
+1ff8 GREEK CAPITAL LETTER OMICRON WITH VARIA
+1ff9 GREEK CAPITAL LETTER OMICRON WITH OXIA
+1ffa GREEK CAPITAL LETTER OMEGA WITH VARIA
+1ffb GREEK CAPITAL LETTER OMEGA WITH OXIA
+1ffc GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
+1ffd GREEK OXIA
+1ffe GREEK DASIA
+2000 EN QUAD
+2001 EM QUAD
+2002 EN SPACE
+2003 EM SPACE
+2004 THREE-PER-EM SPACE
+2005 FOUR-PER-EM SPACE
+2006 SIX-PER-EM SPACE
+2007 FIGURE SPACE
+2008 PUNCTUATION SPACE
+2009 THIN SPACE
+200a HAIR SPACE
+200b ZERO WIDTH SPACE
+200c ZERO WIDTH NON-JOINER
+200d ZERO WIDTH JOINER
+200e LEFT-TO-RIGHT MARK
+200f RIGHT-TO-LEFT MARK
+2010 HYPHEN
+2011 NON-BREAKING HYPHEN
+2012 FIGURE DASH
+2013 EN DASH
+2014 EM DASH
+2015 HORIZONTAL BAR
+2016 DOUBLE VERTICAL LINE
+2017 DOUBLE LOW LINE
+2018 LEFT SINGLE QUOTATION MARK
+2019 RIGHT SINGLE QUOTATION MARK
+201a SINGLE LOW-9 QUOTATION MARK
+201b SINGLE HIGH-REVERSED-9 QUOTATION MARK
+201c LEFT DOUBLE QUOTATION MARK
+201d RIGHT DOUBLE QUOTATION MARK
+201e DOUBLE LOW-9 QUOTATION MARK
+201f DOUBLE HIGH-REVERSED-9 QUOTATION MARK
+2020 DAGGER
+2021 DOUBLE DAGGER
+2022 BULLET
+2023 TRIANGULAR BULLET
+2024 ONE DOT LEADER
+2025 TWO DOT LEADER
+2026 HORIZONTAL ELLIPSIS
+2027 HYPHENATION POINT
+2028 LINE SEPARATOR
+2029 PARAGRAPH SEPARATOR
+202a LEFT-TO-RIGHT EMBEDDING
+202b RIGHT-TO-LEFT EMBEDDING
+202c POP DIRECTIONAL FORMATTING
+202d LEFT-TO-RIGHT OVERRIDE
+202e RIGHT-TO-LEFT OVERRIDE
+2030 PER MILLE SIGN
+2031 PER TEN THOUSAND SIGN
+2032 PRIME
+2033 DOUBLE PRIME
+2034 TRIPLE PRIME
+2035 REVERSED PRIME
+2036 REVERSED DOUBLE PRIME
+2037 REVERSED TRIPLE PRIME
+2038 CARET
+2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+203a SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+203b REFERENCE MARK
+203c DOUBLE EXCLAMATION MARK
+203d INTERROBANG
+203e OVERLINE
+203f UNDERTIE
+2040 CHARACTER TIE
+2041 CARET INSERTION POINT
+2042 ASTERISM
+2043 HYPHEN BULLET
+2044 FRACTION SLASH
+2045 LEFT SQUARE BRACKET WITH QUILL
+2046 RIGHT SQUARE BRACKET WITH QUILL
+206a INHIBIT SYMMETRIC SWAPPING
+206b ACTIVATE SYMMETRIC SWAPPING
+206c INHIBIT ARABIC FORM SHAPING
+206d ACTIVATE ARABIC FORM SHAPING
+206e NATIONAL DIGIT SHAPES
+206f NOMINAL DIGIT SHAPES
+2070 SUPERSCRIPT ZERO
+2074 SUPERSCRIPT FOUR
+2075 SUPERSCRIPT FIVE
+2076 SUPERSCRIPT SIX
+2077 SUPERSCRIPT SEVEN
+2078 SUPERSCRIPT EIGHT
+2079 SUPERSCRIPT NINE
+207a SUPERSCRIPT PLUS SIGN
+207b SUPERSCRIPT MINUS
+207c SUPERSCRIPT EQUALS SIGN
+207d SUPERSCRIPT LEFT PARENTHESIS
+207e SUPERSCRIPT RIGHT PARENTHESIS
+207f SUPERSCRIPT LATIN SMALL LETTER N
+2080 SUBSCRIPT ZERO
+2081 SUBSCRIPT ONE
+2082 SUBSCRIPT TWO
+2083 SUBSCRIPT THREE
+2084 SUBSCRIPT FOUR
+2085 SUBSCRIPT FIVE
+2086 SUBSCRIPT SIX
+2087 SUBSCRIPT SEVEN
+2088 SUBSCRIPT EIGHT
+2089 SUBSCRIPT NINE
+208a SUBSCRIPT PLUS SIGN
+208b SUBSCRIPT MINUS
+208c SUBSCRIPT EQUALS SIGN
+208d SUBSCRIPT LEFT PARENTHESIS
+208e SUBSCRIPT RIGHT PARENTHESIS
+20a0 EURO-CURRENCY SIGN
+20a1 COLON SIGN
+20a2 CRUZEIRO SIGN
+20a3 FRENCH FRANC SIGN
+20a4 LIRA SIGN
+20a5 MILL SIGN
+20a6 NAIRA SIGN
+20a7 PESETA SIGN
+20a8 RUPEE SIGN
+20a9 WON SIGN
+20aa NEW SHEQEL SIGN
+20ab DONG SIGN
+20ac EURO SIGN
+20d0 COMBINING LEFT HARPOON ABOVE
+20d1 COMBINING RIGHT HARPOON ABOVE
+20d2 COMBINING LONG VERTICAL LINE OVERLAY
+20d3 COMBINING SHORT VERTICAL LINE OVERLAY
+20d4 COMBINING ANTICLOCKWISE ARROW ABOVE
+20d5 COMBINING CLOCKWISE ARROW ABOVE
+20d6 COMBINING LEFT ARROW ABOVE
+20d7 COMBINING RIGHT ARROW ABOVE
+20d8 COMBINING RING OVERLAY
+20d9 COMBINING CLOCKWISE RING OVERLAY
+20da COMBINING ANTICLOCKWISE RING OVERLAY
+20db COMBINING THREE DOTS ABOVE
+20dc COMBINING FOUR DOTS ABOVE
+20dd COMBINING ENCLOSING CIRCLE
+20de COMBINING ENCLOSING SQUARE
+20df COMBINING ENCLOSING DIAMOND
+20e0 COMBINING ENCLOSING CIRCLE BACKSLASH
+20e1 COMBINING LEFT RIGHT ARROW ABOVE
+2100 ACCOUNT OF
+2101 ADDRESSED TO THE SUBJECT
+2102 DOUBLE-STRUCK CAPITAL C
+2103 DEGREE CELSIUS
+2104 CENTRE LINE SYMBOL
+2105 CARE OF
+2106 CADA UNA
+2107 EULER CONSTANT
+2108 SCRUPLE
+2109 DEGREE FAHRENHEIT
+210a SCRIPT SMALL G
+210b SCRIPT CAPITAL H
+210c BLACK-LETTER CAPITAL H
+210d DOUBLE-STRUCK CAPITAL H
+210e PLANCK CONSTANT
+210f PLANCK CONSTANT OVER TWO PI
+2110 SCRIPT CAPITAL I
+2111 BLACK-LETTER CAPITAL I
+2112 SCRIPT CAPITAL L
+2113 SCRIPT SMALL L
+2114 L B BAR SYMBOL
+2115 DOUBLE-STRUCK CAPITAL N
+2116 NUMERO SIGN
+2117 SOUND RECORDING COPYRIGHT
+2118 SCRIPT CAPITAL P
+2119 DOUBLE-STRUCK CAPITAL P
+211a DOUBLE-STRUCK CAPITAL Q
+211b SCRIPT CAPITAL R
+211c BLACK-LETTER CAPITAL R
+211d DOUBLE-STRUCK CAPITAL R
+211e PRESCRIPTION TAKE
+211f RESPONSE
+2120 SERVICE MARK
+2121 TELEPHONE SIGN
+2122 TRADE MARK SIGN
+2123 VERSICLE
+2124 DOUBLE-STRUCK CAPITAL Z
+2125 OUNCE SIGN
+2126 OHM SIGN
+2127 INVERTED OHM SIGN
+2128 BLACK-LETTER CAPITAL Z
+2129 TURNED GREEK SMALL LETTER IOTA
+212a KELVIN SIGN
+212b ANGSTROM SIGN
+212c SCRIPT CAPITAL B
+212d BLACK-LETTER CAPITAL C
+212e ESTIMATED SYMBOL
+212f SCRIPT SMALL E
+2130 SCRIPT CAPITAL E
+2131 SCRIPT CAPITAL F
+2132 TURNED CAPITAL F
+2133 SCRIPT CAPITAL M
+2134 SCRIPT SMALL O
+2135 ALEF SYMBOL
+2136 BET SYMBOL
+2137 GIMEL SYMBOL
+2138 DALET SYMBOL
+2153 VULGAR FRACTION ONE THIRD
+2154 VULGAR FRACTION TWO THIRDS
+2155 VULGAR FRACTION ONE FIFTH
+2156 VULGAR FRACTION TWO FIFTHS
+2157 VULGAR FRACTION THREE FIFTHS
+2158 VULGAR FRACTION FOUR FIFTHS
+2159 VULGAR FRACTION ONE SIXTH
+215a VULGAR FRACTION FIVE SIXTHS
+215b VULGAR FRACTION ONE EIGHTH
+215c VULGAR FRACTION THREE EIGHTHS
+215d VULGAR FRACTION FIVE EIGHTHS
+215e VULGAR FRACTION SEVEN EIGHTHS
+215f FRACTION NUMERATOR ONE
+2160 ROMAN NUMERAL ONE
+2161 ROMAN NUMERAL TWO
+2162 ROMAN NUMERAL THREE
+2163 ROMAN NUMERAL FOUR
+2164 ROMAN NUMERAL FIVE
+2165 ROMAN NUMERAL SIX
+2166 ROMAN NUMERAL SEVEN
+2167 ROMAN NUMERAL EIGHT
+2168 ROMAN NUMERAL NINE
+2169 ROMAN NUMERAL TEN
+216a ROMAN NUMERAL ELEVEN
+216b ROMAN NUMERAL TWELVE
+216c ROMAN NUMERAL FIFTY
+216d ROMAN NUMERAL ONE HUNDRED
+216e ROMAN NUMERAL FIVE HUNDRED
+216f ROMAN NUMERAL ONE THOUSAND
+2170 SMALL ROMAN NUMERAL ONE
+2171 SMALL ROMAN NUMERAL TWO
+2172 SMALL ROMAN NUMERAL THREE
+2173 SMALL ROMAN NUMERAL FOUR
+2174 SMALL ROMAN NUMERAL FIVE
+2175 SMALL ROMAN NUMERAL SIX
+2176 SMALL ROMAN NUMERAL SEVEN
+2177 SMALL ROMAN NUMERAL EIGHT
+2178 SMALL ROMAN NUMERAL NINE
+2179 SMALL ROMAN NUMERAL TEN
+217a SMALL ROMAN NUMERAL ELEVEN
+217b SMALL ROMAN NUMERAL TWELVE
+217c SMALL ROMAN NUMERAL FIFTY
+217d SMALL ROMAN NUMERAL ONE HUNDRED
+217e SMALL ROMAN NUMERAL FIVE HUNDRED
+217f SMALL ROMAN NUMERAL ONE THOUSAND
+2180 ROMAN NUMERAL ONE THOUSAND C D
+2181 ROMAN NUMERAL FIVE THOUSAND
+2182 ROMAN NUMERAL TEN THOUSAND
+2190 LEFTWARDS ARROW
+2191 UPWARDS ARROW
+2192 RIGHTWARDS ARROW
+2193 DOWNWARDS ARROW
+2194 LEFT RIGHT ARROW
+2195 UP DOWN ARROW
+2196 NORTH WEST ARROW
+2197 NORTH EAST ARROW
+2198 SOUTH EAST ARROW
+2199 SOUTH WEST ARROW
+219a LEFTWARDS ARROW WITH STROKE
+219b RIGHTWARDS ARROW WITH STROKE
+219c LEFTWARDS WAVE ARROW
+219d RIGHTWARDS WAVE ARROW
+219e LEFTWARDS TWO HEADED ARROW
+219f UPWARDS TWO HEADED ARROW
+21a0 RIGHTWARDS TWO HEADED ARROW
+21a1 DOWNWARDS TWO HEADED ARROW
+21a2 LEFTWARDS ARROW WITH TAIL
+21a3 RIGHTWARDS ARROW WITH TAIL
+21a4 LEFTWARDS ARROW FROM BAR
+21a5 UPWARDS ARROW FROM BAR
+21a6 RIGHTWARDS ARROW FROM BAR
+21a7 DOWNWARDS ARROW FROM BAR
+21a8 UP DOWN ARROW WITH BASE
+21a9 LEFTWARDS ARROW WITH HOOK
+21aa RIGHTWARDS ARROW WITH HOOK
+21ab LEFTWARDS ARROW WITH LOOP
+21ac RIGHTWARDS ARROW WITH LOOP
+21ad LEFT RIGHT WAVE ARROW
+21ae LEFT RIGHT ARROW WITH STROKE
+21af DOWNWARDS ZIGZAG ARROW
+21b0 UPWARDS ARROW WITH TIP LEFTWARDS
+21b1 UPWARDS ARROW WITH TIP RIGHTWARDS
+21b2 DOWNWARDS ARROW WITH TIP LEFTWARDS
+21b3 DOWNWARDS ARROW WITH TIP RIGHTWARDS
+21b4 RIGHTWARDS ARROW WITH CORNER DOWNWARDS
+21b5 DOWNWARDS ARROW WITH CORNER LEFTWARDS
+21b6 ANTICLOCKWISE TOP SEMICIRCLE ARROW
+21b7 CLOCKWISE TOP SEMICIRCLE ARROW
+21b8 NORTH WEST ARROW TO LONG BAR
+21b9 LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR
+21ba ANTICLOCKWISE OPEN CIRCLE ARROW
+21bb CLOCKWISE OPEN CIRCLE ARROW
+21bc LEFTWARDS HARPOON WITH BARB UPWARDS
+21bd LEFTWARDS HARPOON WITH BARB DOWNWARDS
+21be UPWARDS HARPOON WITH BARB RIGHTWARDS
+21bf UPWARDS HARPOON WITH BARB LEFTWARDS
+21c0 RIGHTWARDS HARPOON WITH BARB UPWARDS
+21c1 RIGHTWARDS HARPOON WITH BARB DOWNWARDS
+21c2 DOWNWARDS HARPOON WITH BARB RIGHTWARDS
+21c3 DOWNWARDS HARPOON WITH BARB LEFTWARDS
+21c4 RIGHTWARDS ARROW OVER LEFTWARDS ARROW
+21c5 UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
+21c6 LEFTWARDS ARROW OVER RIGHTWARDS ARROW
+21c7 LEFTWARDS PAIRED ARROWS
+21c8 UPWARDS PAIRED ARROWS
+21c9 RIGHTWARDS PAIRED ARROWS
+21ca DOWNWARDS PAIRED ARROWS
+21cb LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
+21cc RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
+21cd LEFTWARDS DOUBLE ARROW WITH STROKE
+21ce LEFT RIGHT DOUBLE ARROW WITH STROKE
+21cf RIGHTWARDS DOUBLE ARROW WITH STROKE
+21d0 LEFTWARDS DOUBLE ARROW
+21d1 UPWARDS DOUBLE ARROW
+21d2 RIGHTWARDS DOUBLE ARROW
+21d3 DOWNWARDS DOUBLE ARROW
+21d4 LEFT RIGHT DOUBLE ARROW
+21d5 UP DOWN DOUBLE ARROW
+21d6 NORTH WEST DOUBLE ARROW
+21d7 NORTH EAST DOUBLE ARROW
+21d8 SOUTH EAST DOUBLE ARROW
+21d9 SOUTH WEST DOUBLE ARROW
+21da LEFTWARDS TRIPLE ARROW
+21db RIGHTWARDS TRIPLE ARROW
+21dc LEFTWARDS SQUIGGLE ARROW
+21dd RIGHTWARDS SQUIGGLE ARROW
+21de UPWARDS ARROW WITH DOUBLE STROKE
+21df DOWNWARDS ARROW WITH DOUBLE STROKE
+21e0 LEFTWARDS DASHED ARROW
+21e1 UPWARDS DASHED ARROW
+21e2 RIGHTWARDS DASHED ARROW
+21e3 DOWNWARDS DASHED ARROW
+21e4 LEFTWARDS ARROW TO BAR
+21e5 RIGHTWARDS ARROW TO BAR
+21e6 LEFTWARDS WHITE ARROW
+21e7 UPWARDS WHITE ARROW
+21e8 RIGHTWARDS WHITE ARROW
+21e9 DOWNWARDS WHITE ARROW
+21ea UPWARDS WHITE ARROW FROM BAR
+2200 FOR ALL
+2201 COMPLEMENT
+2202 PARTIAL DIFFERENTIAL
+2203 THERE EXISTS
+2204 THERE DOES NOT EXIST
+2205 EMPTY SET
+2206 INCREMENT
+2207 NABLA
+2208 ELEMENT OF
+2209 NOT AN ELEMENT OF
+220a SMALL ELEMENT OF
+220b CONTAINS AS MEMBER
+220c DOES NOT CONTAIN AS MEMBER
+220d SMALL CONTAINS AS MEMBER
+220e END OF PROOF
+220f N-ARY PRODUCT
+2210 N-ARY COPRODUCT
+2211 N-ARY SUMMATION
+2212 MINUS SIGN
+2213 MINUS-OR-PLUS SIGN
+2214 DOT PLUS
+2215 DIVISION SLASH
+2216 SET MINUS
+2217 ASTERISK OPERATOR
+2218 RING OPERATOR
+2219 BULLET OPERATOR
+221a SQUARE ROOT
+221b CUBE ROOT
+221c FOURTH ROOT
+221d PROPORTIONAL TO
+221e INFINITY
+221f RIGHT ANGLE
+2220 ANGLE
+2221 MEASURED ANGLE
+2222 SPHERICAL ANGLE
+2223 DIVIDES
+2224 DOES NOT DIVIDE
+2225 PARALLEL TO
+2226 NOT PARALLEL TO
+2227 LOGICAL AND
+2228 LOGICAL OR
+2229 INTERSECTION
+222a UNION
+222b INTEGRAL
+222c DOUBLE INTEGRAL
+222d TRIPLE INTEGRAL
+222e CONTOUR INTEGRAL
+222f SURFACE INTEGRAL
+2230 VOLUME INTEGRAL
+2231 CLOCKWISE INTEGRAL
+2232 CLOCKWISE CONTOUR INTEGRAL
+2233 ANTICLOCKWISE CONTOUR INTEGRAL
+2234 THEREFORE
+2235 BECAUSE
+2236 RATIO
+2237 PROPORTION
+2238 DOT MINUS
+2239 EXCESS
+223a GEOMETRIC PROPORTION
+223b HOMOTHETIC
+223c TILDE OPERATOR
+223d REVERSED TILDE
+223e INVERTED LAZY S
+223f SINE WAVE
+2240 WREATH PRODUCT
+2241 NOT TILDE
+2242 MINUS TILDE
+2243 ASYMPTOTICALLY EQUAL TO
+2244 NOT ASYMPTOTICALLY EQUAL TO
+2245 APPROXIMATELY EQUAL TO
+2246 APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
+2247 NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
+2248 ALMOST EQUAL TO
+2249 NOT ALMOST EQUAL TO
+224a ALMOST EQUAL OR EQUAL TO
+224b TRIPLE TILDE
+224c ALL EQUAL TO
+224d EQUIVALENT TO
+224e GEOMETRICALLY EQUIVALENT TO
+224f DIFFERENCE BETWEEN
+2250 APPROACHES THE LIMIT
+2251 GEOMETRICALLY EQUAL TO
+2252 APPROXIMATELY EQUAL TO OR THE IMAGE OF
+2253 IMAGE OF OR APPROXIMATELY EQUAL TO
+2254 COLON EQUALS
+2255 EQUALS COLON
+2256 RING IN EQUAL TO
+2257 RING EQUAL TO
+2258 CORRESPONDS TO
+2259 ESTIMATES
+225a EQUIANGULAR TO
+225b STAR EQUALS
+225c DELTA EQUAL TO
+225d EQUAL TO BY DEFINITION
+225e MEASURED BY
+225f QUESTIONED EQUAL TO
+2260 NOT EQUAL TO
+2261 IDENTICAL TO
+2262 NOT IDENTICAL TO
+2263 STRICTLY EQUIVALENT TO
+2264 LESS-THAN OR EQUAL TO
+2265 GREATER-THAN OR EQUAL TO
+2266 LESS-THAN OVER EQUAL TO
+2267 GREATER-THAN OVER EQUAL TO
+2268 LESS-THAN BUT NOT EQUAL TO
+2269 GREATER-THAN BUT NOT EQUAL TO
+226a MUCH LESS-THAN
+226b MUCH GREATER-THAN
+226c BETWEEN
+226d NOT EQUIVALENT TO
+226e NOT LESS-THAN
+226f NOT GREATER-THAN
+2270 NEITHER LESS-THAN NOR EQUAL TO
+2271 NEITHER GREATER-THAN NOR EQUAL TO
+2272 LESS-THAN OR EQUIVALENT TO
+2273 GREATER-THAN OR EQUIVALENT TO
+2274 NEITHER LESS-THAN NOR EQUIVALENT TO
+2275 NEITHER GREATER-THAN NOR EQUIVALENT TO
+2276 LESS-THAN OR GREATER-THAN
+2277 GREATER-THAN OR LESS-THAN
+2278 NEITHER LESS-THAN NOR GREATER-THAN
+2279 NEITHER GREATER-THAN NOR LESS-THAN
+227a PRECEDES
+227b SUCCEEDS
+227c PRECEDES OR EQUAL TO
+227d SUCCEEDS OR EQUAL TO
+227e PRECEDES OR EQUIVALENT TO
+227f SUCCEEDS OR EQUIVALENT TO
+2280 DOES NOT PRECEDE
+2281 DOES NOT SUCCEED
+2282 SUBSET OF
+2283 SUPERSET OF
+2284 NOT A SUBSET OF
+2285 NOT A SUPERSET OF
+2286 SUBSET OF OR EQUAL TO
+2287 SUPERSET OF OR EQUAL TO
+2288 NEITHER A SUBSET OF NOR EQUAL TO
+2289 NEITHER A SUPERSET OF NOR EQUAL TO
+228a SUBSET OF WITH NOT EQUAL TO
+228b SUPERSET OF WITH NOT EQUAL TO
+228c MULTISET
+228d MULTISET MULTIPLICATION
+228e MULTISET UNION
+228f SQUARE IMAGE OF
+2290 SQUARE ORIGINAL OF
+2291 SQUARE IMAGE OF OR EQUAL TO
+2292 SQUARE ORIGINAL OF OR EQUAL TO
+2293 SQUARE CAP
+2294 SQUARE CUP
+2295 CIRCLED PLUS
+2296 CIRCLED MINUS
+2297 CIRCLED TIMES
+2298 CIRCLED DIVISION SLASH
+2299 CIRCLED DOT OPERATOR
+229a CIRCLED RING OPERATOR
+229b CIRCLED ASTERISK OPERATOR
+229c CIRCLED EQUALS
+229d CIRCLED DASH
+229e SQUARED PLUS
+229f SQUARED MINUS
+22a0 SQUARED TIMES
+22a1 SQUARED DOT OPERATOR
+22a2 RIGHT TACK
+22a3 LEFT TACK
+22a4 DOWN TACK
+22a5 UP TACK
+22a6 ASSERTION
+22a7 MODELS
+22a8 TRUE
+22a9 FORCES
+22aa TRIPLE VERTICAL BAR RIGHT TURNSTILE
+22ab DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
+22ac DOES NOT PROVE
+22ad NOT TRUE
+22ae DOES NOT FORCE
+22af NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
+22b0 PRECEDES UNDER RELATION
+22b1 SUCCEEDS UNDER RELATION
+22b2 NORMAL SUBGROUP OF
+22b3 CONTAINS AS NORMAL SUBGROUP
+22b4 NORMAL SUBGROUP OF OR EQUAL TO
+22b5 CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
+22b6 ORIGINAL OF
+22b7 IMAGE OF
+22b8 MULTIMAP
+22b9 HERMITIAN CONJUGATE MATRIX
+22ba INTERCALATE
+22bb XOR
+22bc NAND
+22bd NOR
+22be RIGHT ANGLE WITH ARC
+22bf RIGHT TRIANGLE
+22c0 N-ARY LOGICAL AND
+22c1 N-ARY LOGICAL OR
+22c2 N-ARY INTERSECTION
+22c3 N-ARY UNION
+22c4 DIAMOND OPERATOR
+22c5 DOT OPERATOR
+22c6 STAR OPERATOR
+22c7 DIVISION TIMES
+22c8 BOWTIE
+22c9 LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
+22ca RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
+22cb LEFT SEMIDIRECT PRODUCT
+22cc RIGHT SEMIDIRECT PRODUCT
+22cd REVERSED TILDE EQUALS
+22ce CURLY LOGICAL OR
+22cf CURLY LOGICAL AND
+22d0 DOUBLE SUBSET
+22d1 DOUBLE SUPERSET
+22d2 DOUBLE INTERSECTION
+22d3 DOUBLE UNION
+22d4 PITCHFORK
+22d5 EQUAL AND PARALLEL TO
+22d6 LESS-THAN WITH DOT
+22d7 GREATER-THAN WITH DOT
+22d8 VERY MUCH LESS-THAN
+22d9 VERY MUCH GREATER-THAN
+22da LESS-THAN EQUAL TO OR GREATER-THAN
+22db GREATER-THAN EQUAL TO OR LESS-THAN
+22dc EQUAL TO OR LESS-THAN
+22dd EQUAL TO OR GREATER-THAN
+22de EQUAL TO OR PRECEDES
+22df EQUAL TO OR SUCCEEDS
+22e0 DOES NOT PRECEDE OR EQUAL
+22e1 DOES NOT SUCCEED OR EQUAL
+22e2 NOT SQUARE IMAGE OF OR EQUAL TO
+22e3 NOT SQUARE ORIGINAL OF OR EQUAL TO
+22e4 SQUARE IMAGE OF OR NOT EQUAL TO
+22e5 SQUARE ORIGINAL OF OR NOT EQUAL TO
+22e6 LESS-THAN BUT NOT EQUIVALENT TO
+22e7 GREATER-THAN BUT NOT EQUIVALENT TO
+22e8 PRECEDES BUT NOT EQUIVALENT TO
+22e9 SUCCEEDS BUT NOT EQUIVALENT TO
+22ea NOT NORMAL SUBGROUP OF
+22eb DOES NOT CONTAIN AS NORMAL SUBGROUP
+22ec NOT NORMAL SUBGROUP OF OR EQUAL TO
+22ed DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
+22ee VERTICAL ELLIPSIS
+22ef MIDLINE HORIZONTAL ELLIPSIS
+22f0 UP RIGHT DIAGONAL ELLIPSIS
+22f1 DOWN RIGHT DIAGONAL ELLIPSIS
+2300 DIAMETER SIGN
+2302 HOUSE
+2303 UP ARROWHEAD
+2304 DOWN ARROWHEAD
+2305 PROJECTIVE
+2306 PERSPECTIVE
+2307 WAVY LINE
+2308 LEFT CEILING
+2309 RIGHT CEILING
+230a LEFT FLOOR
+230b RIGHT FLOOR
+230c BOTTOM RIGHT CROP
+230d BOTTOM LEFT CROP
+230e TOP RIGHT CROP
+230f TOP LEFT CROP
+2310 REVERSED NOT SIGN
+2311 SQUARE LOZENGE
+2312 ARC
+2313 SEGMENT
+2314 SECTOR
+2315 TELEPHONE RECORDER
+2316 POSITION INDICATOR
+2317 VIEWDATA SQUARE
+2318 PLACE OF INTEREST SIGN
+2319 TURNED NOT SIGN
+231a WATCH
+231b HOURGLASS
+231c TOP LEFT CORNER
+231d TOP RIGHT CORNER
+231e BOTTOM LEFT CORNER
+231f BOTTOM RIGHT CORNER
+2320 TOP HALF INTEGRAL
+2321 BOTTOM HALF INTEGRAL
+2322 FROWN
+2323 SMILE
+2324 UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS
+2325 OPTION KEY
+2326 ERASE TO THE RIGHT
+2327 X IN A RECTANGLE BOX
+2328 KEYBOARD
+2329 LEFT-POINTING ANGLE BRACKET
+232a RIGHT-POINTING ANGLE BRACKET
+232b ERASE TO THE LEFT
+232c BENZENE RING
+232d CYLINDRICITY
+232e ALL AROUND-PROFILE
+232f SYMMETRY
+2330 TOTAL RUNOUT
+2331 DIMENSION ORIGIN
+2332 CONICAL TAPER
+2333 SLOPE
+2334 COUNTERBORE
+2335 COUNTERSINK
+2336 APL FUNCTIONAL SYMBOL I-BEAM
+2337 APL FUNCTIONAL SYMBOL SQUISH QUAD
+2338 APL FUNCTIONAL SYMBOL QUAD EQUAL
+2339 APL FUNCTIONAL SYMBOL QUAD DIVIDE
+233a APL FUNCTIONAL SYMBOL QUAD DIAMOND
+233b APL FUNCTIONAL SYMBOL QUAD JOT
+233c APL FUNCTIONAL SYMBOL QUAD CIRCLE
+233d APL FUNCTIONAL SYMBOL CIRCLE STILE
+233e APL FUNCTIONAL SYMBOL CIRCLE JOT
+233f APL FUNCTIONAL SYMBOL SLASH BAR
+2340 APL FUNCTIONAL SYMBOL BACKSLASH BAR
+2341 APL FUNCTIONAL SYMBOL QUAD SLASH
+2342 APL FUNCTIONAL SYMBOL QUAD BACKSLASH
+2343 APL FUNCTIONAL SYMBOL QUAD LESS-THAN
+2344 APL FUNCTIONAL SYMBOL QUAD GREATER-THAN
+2345 APL FUNCTIONAL SYMBOL LEFTWARDS VANE
+2346 APL FUNCTIONAL SYMBOL RIGHTWARDS VANE
+2347 APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW
+2348 APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW
+2349 APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH
+234a APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR
+234b APL FUNCTIONAL SYMBOL DELTA STILE
+234c APL FUNCTIONAL SYMBOL QUAD DOWN CARET
+234d APL FUNCTIONAL SYMBOL QUAD DELTA
+234e APL FUNCTIONAL SYMBOL DOWN TACK JOT
+234f APL FUNCTIONAL SYMBOL UPWARDS VANE
+2350 APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW
+2351 APL FUNCTIONAL SYMBOL UP TACK OVERBAR
+2352 APL FUNCTIONAL SYMBOL DEL STILE
+2353 APL FUNCTIONAL SYMBOL QUAD UP CARET
+2354 APL FUNCTIONAL SYMBOL QUAD DEL
+2355 APL FUNCTIONAL SYMBOL UP TACK JOT
+2356 APL FUNCTIONAL SYMBOL DOWNWARDS VANE
+2357 APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW
+2358 APL FUNCTIONAL SYMBOL QUOTE UNDERBAR
+2359 APL FUNCTIONAL SYMBOL DELTA UNDERBAR
+235a APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR
+235b APL FUNCTIONAL SYMBOL JOT UNDERBAR
+235c APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR
+235d APL FUNCTIONAL SYMBOL UP SHOE JOT
+235e APL FUNCTIONAL SYMBOL QUOTE QUAD
+235f APL FUNCTIONAL SYMBOL CIRCLE STAR
+2360 APL FUNCTIONAL SYMBOL QUAD COLON
+2361 APL FUNCTIONAL SYMBOL UP TACK DIAERESIS
+2362 APL FUNCTIONAL SYMBOL DEL DIAERESIS
+2363 APL FUNCTIONAL SYMBOL STAR DIAERESIS
+2364 APL FUNCTIONAL SYMBOL JOT DIAERESIS
+2365 APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS
+2366 APL FUNCTIONAL SYMBOL DOWN SHOE STILE
+2367 APL FUNCTIONAL SYMBOL LEFT SHOE STILE
+2368 APL FUNCTIONAL SYMBOL TILDE DIAERESIS
+2369 APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS
+236a APL FUNCTIONAL SYMBOL COMMA BAR
+236b APL FUNCTIONAL SYMBOL DEL TILDE
+236c APL FUNCTIONAL SYMBOL ZILDE
+236d APL FUNCTIONAL SYMBOL STILE TILDE
+236e APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR
+236f APL FUNCTIONAL SYMBOL QUAD NOT EQUAL
+2370 APL FUNCTIONAL SYMBOL QUAD QUESTION
+2371 APL FUNCTIONAL SYMBOL DOWN CARET TILDE
+2372 APL FUNCTIONAL SYMBOL UP CARET TILDE
+2373 APL FUNCTIONAL SYMBOL IOTA
+2374 APL FUNCTIONAL SYMBOL RHO
+2375 APL FUNCTIONAL SYMBOL OMEGA
+2376 APL FUNCTIONAL SYMBOL ALPHA UNDERBAR
+2377 APL FUNCTIONAL SYMBOL EPSILON UNDERBAR
+2378 APL FUNCTIONAL SYMBOL IOTA UNDERBAR
+2379 APL FUNCTIONAL SYMBOL OMEGA UNDERBAR
+237a APL FUNCTIONAL SYMBOL ALPHA
+2400 SYMBOL FOR NULL
+2401 SYMBOL FOR START OF HEADING
+2402 SYMBOL FOR START OF TEXT
+2403 SYMBOL FOR END OF TEXT
+2404 SYMBOL FOR END OF TRANSMISSION
+2405 SYMBOL FOR ENQUIRY
+2406 SYMBOL FOR ACKNOWLEDGE
+2407 SYMBOL FOR BELL
+2408 SYMBOL FOR BACKSPACE
+2409 SYMBOL FOR HORIZONTAL TABULATION
+240a SYMBOL FOR LINE FEED
+240b SYMBOL FOR VERTICAL TABULATION
+240c SYMBOL FOR FORM FEED
+240d SYMBOL FOR CARRIAGE RETURN
+240e SYMBOL FOR SHIFT OUT
+240f SYMBOL FOR SHIFT IN
+2410 SYMBOL FOR DATA LINK ESCAPE
+2411 SYMBOL FOR DEVICE CONTROL ONE
+2412 SYMBOL FOR DEVICE CONTROL TWO
+2413 SYMBOL FOR DEVICE CONTROL THREE
+2414 SYMBOL FOR DEVICE CONTROL FOUR
+2415 SYMBOL FOR NEGATIVE ACKNOWLEDGE
+2416 SYMBOL FOR SYNCHRONOUS IDLE
+2417 SYMBOL FOR END OF TRANSMISSION BLOCK
+2418 SYMBOL FOR CANCEL
+2419 SYMBOL FOR END OF MEDIUM
+241a SYMBOL FOR SUBSTITUTE
+241b SYMBOL FOR ESCAPE
+241c SYMBOL FOR FILE SEPARATOR
+241d SYMBOL FOR GROUP SEPARATOR
+241e SYMBOL FOR RECORD SEPARATOR
+241f SYMBOL FOR UNIT SEPARATOR
+2420 SYMBOL FOR SPACE
+2421 SYMBOL FOR DELETE
+2422 BLANK SYMBOL
+2423 OPEN BOX
+2424 SYMBOL FOR NEWLINE
+2440 OCR HOOK
+2441 OCR CHAIR
+2442 OCR FORK
+2443 OCR INVERTED FORK
+2444 OCR BELT BUCKLE
+2445 OCR BOW TIE
+2446 OCR BRANCH BANK IDENTIFICATION
+2447 OCR AMOUNT OF CHECK
+2448 OCR DASH
+2449 OCR CUSTOMER ACCOUNT NUMBER
+244a OCR DOUBLE BACKSLASH
+2460 CIRCLED DIGIT ONE
+2461 CIRCLED DIGIT TWO
+2462 CIRCLED DIGIT THREE
+2463 CIRCLED DIGIT FOUR
+2464 CIRCLED DIGIT FIVE
+2465 CIRCLED DIGIT SIX
+2466 CIRCLED DIGIT SEVEN
+2467 CIRCLED DIGIT EIGHT
+2468 CIRCLED DIGIT NINE
+2469 CIRCLED NUMBER TEN
+246a CIRCLED NUMBER ELEVEN
+246b CIRCLED NUMBER TWELVE
+246c CIRCLED NUMBER THIRTEEN
+246d CIRCLED NUMBER FOURTEEN
+246e CIRCLED NUMBER FIFTEEN
+246f CIRCLED NUMBER SIXTEEN
+2470 CIRCLED NUMBER SEVENTEEN
+2471 CIRCLED NUMBER EIGHTEEN
+2472 CIRCLED NUMBER NINETEEN
+2473 CIRCLED NUMBER TWENTY
+2474 PARENTHESIZED DIGIT ONE
+2475 PARENTHESIZED DIGIT TWO
+2476 PARENTHESIZED DIGIT THREE
+2477 PARENTHESIZED DIGIT FOUR
+2478 PARENTHESIZED DIGIT FIVE
+2479 PARENTHESIZED DIGIT SIX
+247a PARENTHESIZED DIGIT SEVEN
+247b PARENTHESIZED DIGIT EIGHT
+247c PARENTHESIZED DIGIT NINE
+247d PARENTHESIZED NUMBER TEN
+247e PARENTHESIZED NUMBER ELEVEN
+247f PARENTHESIZED NUMBER TWELVE
+2480 PARENTHESIZED NUMBER THIRTEEN
+2481 PARENTHESIZED NUMBER FOURTEEN
+2482 PARENTHESIZED NUMBER FIFTEEN
+2483 PARENTHESIZED NUMBER SIXTEEN
+2484 PARENTHESIZED NUMBER SEVENTEEN
+2485 PARENTHESIZED NUMBER EIGHTEEN
+2486 PARENTHESIZED NUMBER NINETEEN
+2487 PARENTHESIZED NUMBER TWENTY
+2488 DIGIT ONE FULL STOP
+2489 DIGIT TWO FULL STOP
+248a DIGIT THREE FULL STOP
+248b DIGIT FOUR FULL STOP
+248c DIGIT FIVE FULL STOP
+248d DIGIT SIX FULL STOP
+248e DIGIT SEVEN FULL STOP
+248f DIGIT EIGHT FULL STOP
+2490 DIGIT NINE FULL STOP
+2491 NUMBER TEN FULL STOP
+2492 NUMBER ELEVEN FULL STOP
+2493 NUMBER TWELVE FULL STOP
+2494 NUMBER THIRTEEN FULL STOP
+2495 NUMBER FOURTEEN FULL STOP
+2496 NUMBER FIFTEEN FULL STOP
+2497 NUMBER SIXTEEN FULL STOP
+2498 NUMBER SEVENTEEN FULL STOP
+2499 NUMBER EIGHTEEN FULL STOP
+249a NUMBER NINETEEN FULL STOP
+249b NUMBER TWENTY FULL STOP
+249c PARENTHESIZED LATIN SMALL LETTER A
+249d PARENTHESIZED LATIN SMALL LETTER B
+249e PARENTHESIZED LATIN SMALL LETTER C
+249f PARENTHESIZED LATIN SMALL LETTER D
+24a0 PARENTHESIZED LATIN SMALL LETTER E
+24a1 PARENTHESIZED LATIN SMALL LETTER F
+24a2 PARENTHESIZED LATIN SMALL LETTER G
+24a3 PARENTHESIZED LATIN SMALL LETTER H
+24a4 PARENTHESIZED LATIN SMALL LETTER I
+24a5 PARENTHESIZED LATIN SMALL LETTER J
+24a6 PARENTHESIZED LATIN SMALL LETTER K
+24a7 PARENTHESIZED LATIN SMALL LETTER L
+24a8 PARENTHESIZED LATIN SMALL LETTER M
+24a9 PARENTHESIZED LATIN SMALL LETTER N
+24aa PARENTHESIZED LATIN SMALL LETTER O
+24ab PARENTHESIZED LATIN SMALL LETTER P
+24ac PARENTHESIZED LATIN SMALL LETTER Q
+24ad PARENTHESIZED LATIN SMALL LETTER R
+24ae PARENTHESIZED LATIN SMALL LETTER S
+24af PARENTHESIZED LATIN SMALL LETTER T
+24b0 PARENTHESIZED LATIN SMALL LETTER U
+24b1 PARENTHESIZED LATIN SMALL LETTER V
+24b2 PARENTHESIZED LATIN SMALL LETTER W
+24b3 PARENTHESIZED LATIN SMALL LETTER X
+24b4 PARENTHESIZED LATIN SMALL LETTER Y
+24b5 PARENTHESIZED LATIN SMALL LETTER Z
+24b6 CIRCLED LATIN CAPITAL LETTER A
+24b7 CIRCLED LATIN CAPITAL LETTER B
+24b8 CIRCLED LATIN CAPITAL LETTER C
+24b9 CIRCLED LATIN CAPITAL LETTER D
+24ba CIRCLED LATIN CAPITAL LETTER E
+24bb CIRCLED LATIN CAPITAL LETTER F
+24bc CIRCLED LATIN CAPITAL LETTER G
+24bd CIRCLED LATIN CAPITAL LETTER H
+24be CIRCLED LATIN CAPITAL LETTER I
+24bf CIRCLED LATIN CAPITAL LETTER J
+24c0 CIRCLED LATIN CAPITAL LETTER K
+24c1 CIRCLED LATIN CAPITAL LETTER L
+24c2 CIRCLED LATIN CAPITAL LETTER M
+24c3 CIRCLED LATIN CAPITAL LETTER N
+24c4 CIRCLED LATIN CAPITAL LETTER O
+24c5 CIRCLED LATIN CAPITAL LETTER P
+24c6 CIRCLED LATIN CAPITAL LETTER Q
+24c7 CIRCLED LATIN CAPITAL LETTER R
+24c8 CIRCLED LATIN CAPITAL LETTER S
+24c9 CIRCLED LATIN CAPITAL LETTER T
+24ca CIRCLED LATIN CAPITAL LETTER U
+24cb CIRCLED LATIN CAPITAL LETTER V
+24cc CIRCLED LATIN CAPITAL LETTER W
+24cd CIRCLED LATIN CAPITAL LETTER X
+24ce CIRCLED LATIN CAPITAL LETTER Y
+24cf CIRCLED LATIN CAPITAL LETTER Z
+24d0 CIRCLED LATIN SMALL LETTER A
+24d1 CIRCLED LATIN SMALL LETTER B
+24d2 CIRCLED LATIN SMALL LETTER C
+24d3 CIRCLED LATIN SMALL LETTER D
+24d4 CIRCLED LATIN SMALL LETTER E
+24d5 CIRCLED LATIN SMALL LETTER F
+24d6 CIRCLED LATIN SMALL LETTER G
+24d7 CIRCLED LATIN SMALL LETTER H
+24d8 CIRCLED LATIN SMALL LETTER I
+24d9 CIRCLED LATIN SMALL LETTER J
+24da CIRCLED LATIN SMALL LETTER K
+24db CIRCLED LATIN SMALL LETTER L
+24dc CIRCLED LATIN SMALL LETTER M
+24dd CIRCLED LATIN SMALL LETTER N
+24de CIRCLED LATIN SMALL LETTER O
+24df CIRCLED LATIN SMALL LETTER P
+24e0 CIRCLED LATIN SMALL LETTER Q
+24e1 CIRCLED LATIN SMALL LETTER R
+24e2 CIRCLED LATIN SMALL LETTER S
+24e3 CIRCLED LATIN SMALL LETTER T
+24e4 CIRCLED LATIN SMALL LETTER U
+24e5 CIRCLED LATIN SMALL LETTER V
+24e6 CIRCLED LATIN SMALL LETTER W
+24e7 CIRCLED LATIN SMALL LETTER X
+24e8 CIRCLED LATIN SMALL LETTER Y
+24e9 CIRCLED LATIN SMALL LETTER Z
+24ea CIRCLED DIGIT ZERO
+2500 BOX DRAWINGS LIGHT HORIZONTAL
+2501 BOX DRAWINGS HEAVY HORIZONTAL
+2502 BOX DRAWINGS LIGHT VERTICAL
+2503 BOX DRAWINGS HEAVY VERTICAL
+2504 BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL
+2505 BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL
+2506 BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
+2507 BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL
+2508 BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL
+2509 BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL
+250a BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL
+250b BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL
+250c BOX DRAWINGS LIGHT DOWN AND RIGHT
+250d BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY
+250e BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT
+250f BOX DRAWINGS HEAVY DOWN AND RIGHT
+2510 BOX DRAWINGS LIGHT DOWN AND LEFT
+2511 BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY
+2512 BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT
+2513 BOX DRAWINGS HEAVY DOWN AND LEFT
+2514 BOX DRAWINGS LIGHT UP AND RIGHT
+2515 BOX DRAWINGS UP LIGHT AND RIGHT HEAVY
+2516 BOX DRAWINGS UP HEAVY AND RIGHT LIGHT
+2517 BOX DRAWINGS HEAVY UP AND RIGHT
+2518 BOX DRAWINGS LIGHT UP AND LEFT
+2519 BOX DRAWINGS UP LIGHT AND LEFT HEAVY
+251a BOX DRAWINGS UP HEAVY AND LEFT LIGHT
+251b BOX DRAWINGS HEAVY UP AND LEFT
+251c BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+251d BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
+251e BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT
+251f BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT
+2520 BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
+2521 BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY
+2522 BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY
+2523 BOX DRAWINGS HEAVY VERTICAL AND RIGHT
+2524 BOX DRAWINGS LIGHT VERTICAL AND LEFT
+2525 BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
+2526 BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT
+2527 BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT
+2528 BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
+2529 BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY
+252a BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY
+252b BOX DRAWINGS HEAVY VERTICAL AND LEFT
+252c BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+252d BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT
+252e BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT
+252f BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
+2530 BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
+2531 BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY
+2532 BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY
+2533 BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
+2534 BOX DRAWINGS LIGHT UP AND HORIZONTAL
+2535 BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT
+2536 BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT
+2537 BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
+2538 BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
+2539 BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY
+253a BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY
+253b BOX DRAWINGS HEAVY UP AND HORIZONTAL
+253c BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+253d BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT
+253e BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT
+253f BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
+2540 BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT
+2541 BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT
+2542 BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
+2543 BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT
+2544 BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT
+2545 BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT
+2546 BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT
+2547 BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY
+2548 BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY
+2549 BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY
+254a BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY
+254b BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
+254c BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL
+254d BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL
+254e BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL
+254f BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
+2550 BOX DRAWINGS DOUBLE HORIZONTAL
+2551 BOX DRAWINGS DOUBLE VERTICAL
+2552 BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+2553 BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+2554 BOX DRAWINGS DOUBLE DOWN AND RIGHT
+2555 BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+2556 BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+2557 BOX DRAWINGS DOUBLE DOWN AND LEFT
+2558 BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+2559 BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+255a BOX DRAWINGS DOUBLE UP AND RIGHT
+255b BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+255c BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+255d BOX DRAWINGS DOUBLE UP AND LEFT
+255e BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+255f BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+2560 BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+2561 BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+2562 BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+2563 BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+2564 BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+2565 BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+2566 BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+2567 BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+2568 BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+2569 BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+256a BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+256b BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+256c BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+256d BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
+256e BOX DRAWINGS LIGHT ARC DOWN AND LEFT
+256f BOX DRAWINGS LIGHT ARC UP AND LEFT
+2570 BOX DRAWINGS LIGHT ARC UP AND RIGHT
+2571 BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
+2572 BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
+2573 BOX DRAWINGS LIGHT DIAGONAL CROSS
+2574 BOX DRAWINGS LIGHT LEFT
+2575 BOX DRAWINGS LIGHT UP
+2576 BOX DRAWINGS LIGHT RIGHT
+2577 BOX DRAWINGS LIGHT DOWN
+2578 BOX DRAWINGS HEAVY LEFT
+2579 BOX DRAWINGS HEAVY UP
+257a BOX DRAWINGS HEAVY RIGHT
+257b BOX DRAWINGS HEAVY DOWN
+257c BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT
+257d BOX DRAWINGS LIGHT UP AND HEAVY DOWN
+257e BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT
+257f BOX DRAWINGS HEAVY UP AND LIGHT DOWN
+2580 UPPER HALF BLOCK
+2581 LOWER ONE EIGHTH BLOCK
+2582 LOWER ONE QUARTER BLOCK
+2583 LOWER THREE EIGHTHS BLOCK
+2584 LOWER HALF BLOCK
+2585 LOWER FIVE EIGHTHS BLOCK
+2586 LOWER THREE QUARTERS BLOCK
+2587 LOWER SEVEN EIGHTHS BLOCK
+2588 FULL BLOCK
+2589 LEFT SEVEN EIGHTHS BLOCK
+258a LEFT THREE QUARTERS BLOCK
+258b LEFT FIVE EIGHTHS BLOCK
+258c LEFT HALF BLOCK
+258d LEFT THREE EIGHTHS BLOCK
+258e LEFT ONE QUARTER BLOCK
+258f LEFT ONE EIGHTH BLOCK
+2590 RIGHT HALF BLOCK
+2591 LIGHT SHADE
+2592 MEDIUM SHADE
+2593 DARK SHADE
+2594 UPPER ONE EIGHTH BLOCK
+2595 RIGHT ONE EIGHTH BLOCK
+25a0 BLACK SQUARE
+25a1 WHITE SQUARE
+25a2 WHITE SQUARE WITH ROUNDED CORNERS
+25a3 WHITE SQUARE CONTAINING BLACK SMALL SQUARE
+25a4 SQUARE WITH HORIZONTAL FILL
+25a5 SQUARE WITH VERTICAL FILL
+25a6 SQUARE WITH ORTHOGONAL CROSSHATCH FILL
+25a7 SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL
+25a8 SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL
+25a9 SQUARE WITH DIAGONAL CROSSHATCH FILL
+25aa BLACK SMALL SQUARE
+25ab WHITE SMALL SQUARE
+25ac BLACK RECTANGLE
+25ad WHITE RECTANGLE
+25ae BLACK VERTICAL RECTANGLE
+25af WHITE VERTICAL RECTANGLE
+25b0 BLACK PARALLELOGRAM
+25b1 WHITE PARALLELOGRAM
+25b2 BLACK UP-POINTING TRIANGLE
+25b3 WHITE UP-POINTING TRIANGLE
+25b4 BLACK UP-POINTING SMALL TRIANGLE
+25b5 WHITE UP-POINTING SMALL TRIANGLE
+25b6 BLACK RIGHT-POINTING TRIANGLE
+25b7 WHITE RIGHT-POINTING TRIANGLE
+25b8 BLACK RIGHT-POINTING SMALL TRIANGLE
+25b9 WHITE RIGHT-POINTING SMALL TRIANGLE
+25ba BLACK RIGHT-POINTING POINTER
+25bb WHITE RIGHT-POINTING POINTER
+25bc BLACK DOWN-POINTING TRIANGLE
+25bd WHITE DOWN-POINTING TRIANGLE
+25be BLACK DOWN-POINTING SMALL TRIANGLE
+25bf WHITE DOWN-POINTING SMALL TRIANGLE
+25c0 BLACK LEFT-POINTING TRIANGLE
+25c1 WHITE LEFT-POINTING TRIANGLE
+25c2 BLACK LEFT-POINTING SMALL TRIANGLE
+25c3 WHITE LEFT-POINTING SMALL TRIANGLE
+25c4 BLACK LEFT-POINTING POINTER
+25c5 WHITE LEFT-POINTING POINTER
+25c6 BLACK DIAMOND
+25c7 WHITE DIAMOND
+25c8 WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND
+25c9 FISHEYE
+25ca LOZENGE
+25cb WHITE CIRCLE
+25cc DOTTED CIRCLE
+25cd CIRCLE WITH VERTICAL FILL
+25ce BULLSEYE
+25cf BLACK CIRCLE
+25d0 CIRCLE WITH LEFT HALF BLACK
+25d1 CIRCLE WITH RIGHT HALF BLACK
+25d2 CIRCLE WITH LOWER HALF BLACK
+25d3 CIRCLE WITH UPPER HALF BLACK
+25d4 CIRCLE WITH UPPER RIGHT QUADRANT BLACK
+25d5 CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK
+25d6 LEFT HALF BLACK CIRCLE
+25d7 RIGHT HALF BLACK CIRCLE
+25d8 INVERSE BULLET
+25d9 INVERSE WHITE CIRCLE
+25da UPPER HALF INVERSE WHITE CIRCLE
+25db LOWER HALF INVERSE WHITE CIRCLE
+25dc UPPER LEFT QUADRANT CIRCULAR ARC
+25dd UPPER RIGHT QUADRANT CIRCULAR ARC
+25de LOWER RIGHT QUADRANT CIRCULAR ARC
+25df LOWER LEFT QUADRANT CIRCULAR ARC
+25e0 UPPER HALF CIRCLE
+25e1 LOWER HALF CIRCLE
+25e2 BLACK LOWER RIGHT TRIANGLE
+25e3 BLACK LOWER LEFT TRIANGLE
+25e4 BLACK UPPER LEFT TRIANGLE
+25e5 BLACK UPPER RIGHT TRIANGLE
+25e6 WHITE BULLET
+25e7 SQUARE WITH LEFT HALF BLACK
+25e8 SQUARE WITH RIGHT HALF BLACK
+25e9 SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK
+25ea SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK
+25eb WHITE SQUARE WITH VERTICAL BISECTING LINE
+25ec WHITE UP-POINTING TRIANGLE WITH DOT
+25ed UP-POINTING TRIANGLE WITH LEFT HALF BLACK
+25ee UP-POINTING TRIANGLE WITH RIGHT HALF BLACK
+25ef LARGE CIRCLE
+2600 BLACK SUN WITH RAYS
+2601 CLOUD
+2602 UMBRELLA
+2603 SNOWMAN
+2604 COMET
+2605 BLACK STAR
+2606 WHITE STAR
+2607 LIGHTNING
+2608 THUNDERSTORM
+2609 SUN
+260a ASCENDING NODE
+260b DESCENDING NODE
+260c CONJUNCTION
+260d OPPOSITION
+260e BLACK TELEPHONE
+260f WHITE TELEPHONE
+2610 BALLOT BOX
+2611 BALLOT BOX WITH CHECK
+2612 BALLOT BOX WITH X
+2613 SALTIRE
+261a BLACK LEFT POINTING INDEX
+261b BLACK RIGHT POINTING INDEX
+261c WHITE LEFT POINTING INDEX
+261d WHITE UP POINTING INDEX
+261e WHITE RIGHT POINTING INDEX
+261f WHITE DOWN POINTING INDEX
+2620 SKULL AND CROSSBONES
+2621 CAUTION SIGN
+2622 RADIOACTIVE SIGN
+2623 BIOHAZARD SIGN
+2624 CADUCEUS
+2625 ANKH
+2626 ORTHODOX CROSS
+2627 CHI RHO
+2628 CROSS OF LORRAINE
+2629 CROSS OF JERUSALEM
+262a STAR AND CRESCENT
+262b FARSI SYMBOL
+262c ADI SHAKTI
+262d HAMMER AND SICKLE
+262e PEACE SYMBOL
+262f YIN YANG
+2630 TRIGRAM FOR HEAVEN
+2631 TRIGRAM FOR LAKE
+2632 TRIGRAM FOR FIRE
+2633 TRIGRAM FOR THUNDER
+2634 TRIGRAM FOR WIND
+2635 TRIGRAM FOR WATER
+2636 TRIGRAM FOR MOUNTAIN
+2637 TRIGRAM FOR EARTH
+2638 WHEEL OF DHARMA
+2639 WHITE FROWNING FACE
+263a WHITE SMILING FACE
+263b BLACK SMILING FACE
+263c WHITE SUN WITH RAYS
+263d FIRST QUARTER MOON
+263e LAST QUARTER MOON
+263f MERCURY
+2640 FEMALE SIGN
+2641 EARTH
+2642 MALE SIGN
+2643 JUPITER
+2644 SATURN
+2645 URANUS
+2646 NEPTUNE
+2647 PLUTO
+2648 ARIES
+2649 TAURUS
+264a GEMINI
+264b CANCER
+264c LEO
+264d VIRGO
+264e LIBRA
+264f SCORPIUS
+2650 SAGITTARIUS
+2651 CAPRICORN
+2652 AQUARIUS
+2653 PISCES
+2654 WHITE CHESS KING
+2655 WHITE CHESS QUEEN
+2656 WHITE CHESS ROOK
+2657 WHITE CHESS BISHOP
+2658 WHITE CHESS KNIGHT
+2659 WHITE CHESS PAWN
+265a BLACK CHESS KING
+265b BLACK CHESS QUEEN
+265c BLACK CHESS ROOK
+265d BLACK CHESS BISHOP
+265e BLACK CHESS KNIGHT
+265f BLACK CHESS PAWN
+2660 BLACK SPADE SUIT
+2661 WHITE HEART SUIT
+2662 WHITE DIAMOND SUIT
+2663 BLACK CLUB SUIT
+2664 WHITE SPADE SUIT
+2665 BLACK HEART SUIT
+2666 BLACK DIAMOND SUIT
+2667 WHITE CLUB SUIT
+2668 HOT SPRINGS
+2669 QUARTER NOTE
+266a EIGHTH NOTE
+266b BEAMED EIGHTH NOTES
+266c BEAMED SIXTEENTH NOTES
+266d MUSIC FLAT SIGN
+266e MUSIC NATURAL SIGN
+266f MUSIC SHARP SIGN
+2701 UPPER BLADE SCISSORS
+2702 BLACK SCISSORS
+2703 LOWER BLADE SCISSORS
+2704 WHITE SCISSORS
+2706 TELEPHONE LOCATION SIGN
+2707 TAPE DRIVE
+2708 AIRPLANE
+2709 ENVELOPE
+270c VICTORY HAND
+270d WRITING HAND
+270e LOWER RIGHT PENCIL
+270f PENCIL
+2710 UPPER RIGHT PENCIL
+2711 WHITE NIB
+2712 BLACK NIB
+2713 CHECK MARK
+2714 HEAVY CHECK MARK
+2715 MULTIPLICATION X
+2716 HEAVY MULTIPLICATION X
+2717 BALLOT X
+2718 HEAVY BALLOT X
+2719 OUTLINED GREEK CROSS
+271a HEAVY GREEK CROSS
+271b OPEN CENTRE CROSS
+271c HEAVY OPEN CENTRE CROSS
+271d LATIN CROSS
+271e SHADOWED WHITE LATIN CROSS
+271f OUTLINED LATIN CROSS
+2720 MALTESE CROSS
+2721 STAR OF DAVID
+2722 FOUR TEARDROP-SPOKED ASTERISK
+2723 FOUR BALLOON-SPOKED ASTERISK
+2724 HEAVY FOUR BALLOON-SPOKED ASTERISK
+2725 FOUR CLUB-SPOKED ASTERISK
+2726 BLACK FOUR POINTED STAR
+2727 WHITE FOUR POINTED STAR
+2729 STRESS OUTLINED WHITE STAR
+272a CIRCLED WHITE STAR
+272b OPEN CENTRE BLACK STAR
+272c BLACK CENTRE WHITE STAR
+272d OUTLINED BLACK STAR
+272e HEAVY OUTLINED BLACK STAR
+272f PINWHEEL STAR
+2730 SHADOWED WHITE STAR
+2731 HEAVY ASTERISK
+2732 OPEN CENTRE ASTERISK
+2733 EIGHT SPOKED ASTERISK
+2734 EIGHT POINTED BLACK STAR
+2735 EIGHT POINTED PINWHEEL STAR
+2736 SIX POINTED BLACK STAR
+2737 EIGHT POINTED RECTILINEAR BLACK STAR
+2738 HEAVY EIGHT POINTED RECTILINEAR BLACK STAR
+2739 TWELVE POINTED BLACK STAR
+273a SIXTEEN POINTED ASTERISK
+273b TEARDROP-SPOKED ASTERISK
+273c OPEN CENTRE TEARDROP-SPOKED ASTERISK
+273d HEAVY TEARDROP-SPOKED ASTERISK
+273e SIX PETALLED BLACK AND WHITE FLORETTE
+273f BLACK FLORETTE
+2740 WHITE FLORETTE
+2741 EIGHT PETALLED OUTLINED BLACK FLORETTE
+2742 CIRCLED OPEN CENTRE EIGHT POINTED STAR
+2743 HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
+2744 SNOWFLAKE
+2745 TIGHT TRIFOLIATE SNOWFLAKE
+2746 HEAVY CHEVRON SNOWFLAKE
+2747 SPARKLE
+2748 HEAVY SPARKLE
+2749 BALLOON-SPOKED ASTERISK
+274a EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
+274b HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
+274d SHADOWED WHITE CIRCLE
+274f LOWER RIGHT DROP-SHADOWED WHITE SQUARE
+2750 UPPER RIGHT DROP-SHADOWED WHITE SQUARE
+2751 LOWER RIGHT SHADOWED WHITE SQUARE
+2752 UPPER RIGHT SHADOWED WHITE SQUARE
+2756 BLACK DIAMOND MINUS WHITE X
+2758 LIGHT VERTICAL BAR
+2759 MEDIUM VERTICAL BAR
+275a HEAVY VERTICAL BAR
+275b HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT
+275c HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT
+275d HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
+275e HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
+2761 CURVED STEM PARAGRAPH SIGN ORNAMENT
+2762 HEAVY EXCLAMATION MARK ORNAMENT
+2763 HEAVY HEART EXCLAMATION MARK ORNAMENT
+2764 HEAVY BLACK HEART
+2765 ROTATED HEAVY BLACK HEART BULLET
+2766 FLORAL HEART
+2767 ROTATED FLORAL HEART BULLET
+2776 DINGBAT NEGATIVE CIRCLED DIGIT ONE
+2777 DINGBAT NEGATIVE CIRCLED DIGIT TWO
+2778 DINGBAT NEGATIVE CIRCLED DIGIT THREE
+2779 DINGBAT NEGATIVE CIRCLED DIGIT FOUR
+277a DINGBAT NEGATIVE CIRCLED DIGIT FIVE
+277b DINGBAT NEGATIVE CIRCLED DIGIT SIX
+277c DINGBAT NEGATIVE CIRCLED DIGIT SEVEN
+277d DINGBAT NEGATIVE CIRCLED DIGIT EIGHT
+277e DINGBAT NEGATIVE CIRCLED DIGIT NINE
+277f DINGBAT NEGATIVE CIRCLED NUMBER TEN
+2780 DINGBAT CIRCLED SANS-SERIF DIGIT ONE
+2781 DINGBAT CIRCLED SANS-SERIF DIGIT TWO
+2782 DINGBAT CIRCLED SANS-SERIF DIGIT THREE
+2783 DINGBAT CIRCLED SANS-SERIF DIGIT FOUR
+2784 DINGBAT CIRCLED SANS-SERIF DIGIT FIVE
+2785 DINGBAT CIRCLED SANS-SERIF DIGIT SIX
+2786 DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN
+2787 DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT
+2788 DINGBAT CIRCLED SANS-SERIF DIGIT NINE
+2789 DINGBAT CIRCLED SANS-SERIF NUMBER TEN
+278a DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE
+278b DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO
+278c DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE
+278d DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR
+278e DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE
+278f DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX
+2790 DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN
+2791 DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT
+2792 DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE
+2793 DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
+2794 HEAVY WIDE-HEADED RIGHTWARDS ARROW
+2798 HEAVY SOUTH EAST ARROW
+2799 HEAVY RIGHTWARDS ARROW
+279a HEAVY NORTH EAST ARROW
+279b DRAFTING POINT RIGHTWARDS ARROW
+279c HEAVY ROUND-TIPPED RIGHTWARDS ARROW
+279d TRIANGLE-HEADED RIGHTWARDS ARROW
+279e HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW
+279f DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
+27a0 HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
+27a1 BLACK RIGHTWARDS ARROW
+27a2 THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD
+27a3 THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD
+27a4 BLACK RIGHTWARDS ARROWHEAD
+27a5 HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW
+27a6 HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW
+27a7 SQUAT BLACK RIGHTWARDS ARROW
+27a8 HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW
+27a9 RIGHT-SHADED WHITE RIGHTWARDS ARROW
+27aa LEFT-SHADED WHITE RIGHTWARDS ARROW
+27ab BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW
+27ac FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW
+27ad HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27ae HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27af NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27b1 NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27b2 CIRCLED HEAVY WHITE RIGHTWARDS ARROW
+27b3 WHITE-FEATHERED RIGHTWARDS ARROW
+27b4 BLACK-FEATHERED SOUTH EAST ARROW
+27b5 BLACK-FEATHERED RIGHTWARDS ARROW
+27b6 BLACK-FEATHERED NORTH EAST ARROW
+27b7 HEAVY BLACK-FEATHERED SOUTH EAST ARROW
+27b8 HEAVY BLACK-FEATHERED RIGHTWARDS ARROW
+27b9 HEAVY BLACK-FEATHERED NORTH EAST ARROW
+27ba TEARDROP-BARBED RIGHTWARDS ARROW
+27bb HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW
+27bc WEDGE-TAILED RIGHTWARDS ARROW
+27bd HEAVY WEDGE-TAILED RIGHTWARDS ARROW
+27be OPEN-OUTLINED RIGHTWARDS ARROW
+3000 IDEOGRAPHIC SPACE
+3001 IDEOGRAPHIC COMMA
+3002 IDEOGRAPHIC FULL STOP
+3003 DITTO MARK
+3004 JAPANESE INDUSTRIAL STANDARD SYMBOL
+3005 IDEOGRAPHIC ITERATION MARK
+3006 IDEOGRAPHIC CLOSING MARK
+3007 IDEOGRAPHIC NUMBER ZERO
+3008 LEFT ANGLE BRACKET
+3009 RIGHT ANGLE BRACKET
+300a LEFT DOUBLE ANGLE BRACKET
+300b RIGHT DOUBLE ANGLE BRACKET
+300c LEFT CORNER BRACKET
+300d RIGHT CORNER BRACKET
+300e LEFT WHITE CORNER BRACKET
+300f RIGHT WHITE CORNER BRACKET
+3010 LEFT BLACK LENTICULAR BRACKET
+3011 RIGHT BLACK LENTICULAR BRACKET
+3012 POSTAL MARK
+3013 GETA MARK
+3014 LEFT TORTOISE SHELL BRACKET
+3015 RIGHT TORTOISE SHELL BRACKET
+3016 LEFT WHITE LENTICULAR BRACKET
+3017 RIGHT WHITE LENTICULAR BRACKET
+3018 LEFT WHITE TORTOISE SHELL BRACKET
+3019 RIGHT WHITE TORTOISE SHELL BRACKET
+301a LEFT WHITE SQUARE BRACKET
+301b RIGHT WHITE SQUARE BRACKET
+301c WAVE DASH
+301d REVERSED DOUBLE PRIME QUOTATION MARK
+301e DOUBLE PRIME QUOTATION MARK
+301f LOW DOUBLE PRIME QUOTATION MARK
+3020 POSTAL MARK FACE
+3021 HANGZHOU NUMERAL ONE
+3022 HANGZHOU NUMERAL TWO
+3023 HANGZHOU NUMERAL THREE
+3024 HANGZHOU NUMERAL FOUR
+3025 HANGZHOU NUMERAL FIVE
+3026 HANGZHOU NUMERAL SIX
+3027 HANGZHOU NUMERAL SEVEN
+3028 HANGZHOU NUMERAL EIGHT
+3029 HANGZHOU NUMERAL NINE
+302a IDEOGRAPHIC LEVEL TONE MARK
+302b IDEOGRAPHIC RISING TONE MARK
+302c IDEOGRAPHIC DEPARTING TONE MARK
+302d IDEOGRAPHIC ENTERING TONE MARK
+302e HANGUL SINGLE DOT TONE MARK
+302f HANGUL DOUBLE DOT TONE MARK
+3030 WAVY DASH
+3031 VERTICAL KANA REPEAT MARK
+3032 VERTICAL KANA REPEAT WITH VOICED SOUND MARK
+3033 VERTICAL KANA REPEAT MARK UPPER HALF
+3034 VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF
+3035 VERTICAL KANA REPEAT MARK LOWER HALF
+3036 CIRCLED POSTAL MARK
+3037 IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
+303f IDEOGRAPHIC HALF FILL SPACE
+3041 HIRAGANA LETTER SMALL A
+3042 HIRAGANA LETTER A
+3043 HIRAGANA LETTER SMALL I
+3044 HIRAGANA LETTER I
+3045 HIRAGANA LETTER SMALL U
+3046 HIRAGANA LETTER U
+3047 HIRAGANA LETTER SMALL E
+3048 HIRAGANA LETTER E
+3049 HIRAGANA LETTER SMALL O
+304a HIRAGANA LETTER O
+304b HIRAGANA LETTER KA
+304c HIRAGANA LETTER GA
+304d HIRAGANA LETTER KI
+304e HIRAGANA LETTER GI
+304f HIRAGANA LETTER KU
+3050 HIRAGANA LETTER GU
+3051 HIRAGANA LETTER KE
+3052 HIRAGANA LETTER GE
+3053 HIRAGANA LETTER KO
+3054 HIRAGANA LETTER GO
+3055 HIRAGANA LETTER SA
+3056 HIRAGANA LETTER ZA
+3057 HIRAGANA LETTER SI
+3058 HIRAGANA LETTER ZI
+3059 HIRAGANA LETTER SU
+305a HIRAGANA LETTER ZU
+305b HIRAGANA LETTER SE
+305c HIRAGANA LETTER ZE
+305d HIRAGANA LETTER SO
+305e HIRAGANA LETTER ZO
+305f HIRAGANA LETTER TA
+3060 HIRAGANA LETTER DA
+3061 HIRAGANA LETTER TI
+3062 HIRAGANA LETTER DI
+3063 HIRAGANA LETTER SMALL TU
+3064 HIRAGANA LETTER TU
+3065 HIRAGANA LETTER DU
+3066 HIRAGANA LETTER TE
+3067 HIRAGANA LETTER DE
+3068 HIRAGANA LETTER TO
+3069 HIRAGANA LETTER DO
+306a HIRAGANA LETTER NA
+306b HIRAGANA LETTER NI
+306c HIRAGANA LETTER NU
+306d HIRAGANA LETTER NE
+306e HIRAGANA LETTER NO
+306f HIRAGANA LETTER HA
+3070 HIRAGANA LETTER BA
+3071 HIRAGANA LETTER PA
+3072 HIRAGANA LETTER HI
+3073 HIRAGANA LETTER BI
+3074 HIRAGANA LETTER PI
+3075 HIRAGANA LETTER HU
+3076 HIRAGANA LETTER BU
+3077 HIRAGANA LETTER PU
+3078 HIRAGANA LETTER HE
+3079 HIRAGANA LETTER BE
+307a HIRAGANA LETTER PE
+307b HIRAGANA LETTER HO
+307c HIRAGANA LETTER BO
+307d HIRAGANA LETTER PO
+307e HIRAGANA LETTER MA
+307f HIRAGANA LETTER MI
+3080 HIRAGANA LETTER MU
+3081 HIRAGANA LETTER ME
+3082 HIRAGANA LETTER MO
+3083 HIRAGANA LETTER SMALL YA
+3084 HIRAGANA LETTER YA
+3085 HIRAGANA LETTER SMALL YU
+3086 HIRAGANA LETTER YU
+3087 HIRAGANA LETTER SMALL YO
+3088 HIRAGANA LETTER YO
+3089 HIRAGANA LETTER RA
+308a HIRAGANA LETTER RI
+308b HIRAGANA LETTER RU
+308c HIRAGANA LETTER RE
+308d HIRAGANA LETTER RO
+308e HIRAGANA LETTER SMALL WA
+308f HIRAGANA LETTER WA
+3090 HIRAGANA LETTER WI
+3091 HIRAGANA LETTER WE
+3092 HIRAGANA LETTER WO
+3093 HIRAGANA LETTER N
+3094 HIRAGANA LETTER VU
+3099 COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK
+309a COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+309b KATAKANA-HIRAGANA VOICED SOUND MARK
+309c KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+309d HIRAGANA ITERATION MARK
+309e HIRAGANA VOICED ITERATION MARK
+30a1 KATAKANA LETTER SMALL A
+30a2 KATAKANA LETTER A
+30a3 KATAKANA LETTER SMALL I
+30a4 KATAKANA LETTER I
+30a5 KATAKANA LETTER SMALL U
+30a6 KATAKANA LETTER U
+30a7 KATAKANA LETTER SMALL E
+30a8 KATAKANA LETTER E
+30a9 KATAKANA LETTER SMALL O
+30aa KATAKANA LETTER O
+30ab KATAKANA LETTER KA
+30ac KATAKANA LETTER GA
+30ad KATAKANA LETTER KI
+30ae KATAKANA LETTER GI
+30af KATAKANA LETTER KU
+30b0 KATAKANA LETTER GU
+30b1 KATAKANA LETTER KE
+30b2 KATAKANA LETTER GE
+30b3 KATAKANA LETTER KO
+30b4 KATAKANA LETTER GO
+30b5 KATAKANA LETTER SA
+30b6 KATAKANA LETTER ZA
+30b7 KATAKANA LETTER SI
+30b8 KATAKANA LETTER ZI
+30b9 KATAKANA LETTER SU
+30ba KATAKANA LETTER ZU
+30bb KATAKANA LETTER SE
+30bc KATAKANA LETTER ZE
+30bd KATAKANA LETTER SO
+30be KATAKANA LETTER ZO
+30bf KATAKANA LETTER TA
+30c0 KATAKANA LETTER DA
+30c1 KATAKANA LETTER TI
+30c2 KATAKANA LETTER DI
+30c3 KATAKANA LETTER SMALL TU
+30c4 KATAKANA LETTER TU
+30c5 KATAKANA LETTER DU
+30c6 KATAKANA LETTER TE
+30c7 KATAKANA LETTER DE
+30c8 KATAKANA LETTER TO
+30c9 KATAKANA LETTER DO
+30ca KATAKANA LETTER NA
+30cb KATAKANA LETTER NI
+30cc KATAKANA LETTER NU
+30cd KATAKANA LETTER NE
+30ce KATAKANA LETTER NO
+30cf KATAKANA LETTER HA
+30d0 KATAKANA LETTER BA
+30d1 KATAKANA LETTER PA
+30d2 KATAKANA LETTER HI
+30d3 KATAKANA LETTER BI
+30d4 KATAKANA LETTER PI
+30d5 KATAKANA LETTER HU
+30d6 KATAKANA LETTER BU
+30d7 KATAKANA LETTER PU
+30d8 KATAKANA LETTER HE
+30d9 KATAKANA LETTER BE
+30da KATAKANA LETTER PE
+30db KATAKANA LETTER HO
+30dc KATAKANA LETTER BO
+30dd KATAKANA LETTER PO
+30de KATAKANA LETTER MA
+30df KATAKANA LETTER MI
+30e0 KATAKANA LETTER MU
+30e1 KATAKANA LETTER ME
+30e2 KATAKANA LETTER MO
+30e3 KATAKANA LETTER SMALL YA
+30e4 KATAKANA LETTER YA
+30e5 KATAKANA LETTER SMALL YU
+30e6 KATAKANA LETTER YU
+30e7 KATAKANA LETTER SMALL YO
+30e8 KATAKANA LETTER YO
+30e9 KATAKANA LETTER RA
+30ea KATAKANA LETTER RI
+30eb KATAKANA LETTER RU
+30ec KATAKANA LETTER RE
+30ed KATAKANA LETTER RO
+30ee KATAKANA LETTER SMALL WA
+30ef KATAKANA LETTER WA
+30f0 KATAKANA LETTER WI
+30f1 KATAKANA LETTER WE
+30f2 KATAKANA LETTER WO
+30f3 KATAKANA LETTER N
+30f4 KATAKANA LETTER VU
+30f5 KATAKANA LETTER SMALL KA
+30f6 KATAKANA LETTER SMALL KE
+30f7 KATAKANA LETTER VA
+30f8 KATAKANA LETTER VI
+30f9 KATAKANA LETTER VE
+30fa KATAKANA LETTER VO
+30fb KATAKANA MIDDLE DOT
+30fc KATAKANA-HIRAGANA PROLONGED SOUND MARK
+30fd KATAKANA ITERATION MARK
+30fe KATAKANA VOICED ITERATION MARK
+3105 BOPOMOFO LETTER B
+3106 BOPOMOFO LETTER P
+3107 BOPOMOFO LETTER M
+3108 BOPOMOFO LETTER F
+3109 BOPOMOFO LETTER D
+310a BOPOMOFO LETTER T
+310b BOPOMOFO LETTER N
+310c BOPOMOFO LETTER L
+310d BOPOMOFO LETTER G
+310e BOPOMOFO LETTER K
+310f BOPOMOFO LETTER H
+3110 BOPOMOFO LETTER J
+3111 BOPOMOFO LETTER Q
+3112 BOPOMOFO LETTER X
+3113 BOPOMOFO LETTER ZH
+3114 BOPOMOFO LETTER CH
+3115 BOPOMOFO LETTER SH
+3116 BOPOMOFO LETTER R
+3117 BOPOMOFO LETTER Z
+3118 BOPOMOFO LETTER C
+3119 BOPOMOFO LETTER S
+311a BOPOMOFO LETTER A
+311b BOPOMOFO LETTER O
+311c BOPOMOFO LETTER E
+311d BOPOMOFO LETTER EH
+311e BOPOMOFO LETTER AI
+311f BOPOMOFO LETTER EI
+3120 BOPOMOFO LETTER AU
+3121 BOPOMOFO LETTER OU
+3122 BOPOMOFO LETTER AN
+3123 BOPOMOFO LETTER EN
+3124 BOPOMOFO LETTER ANG
+3125 BOPOMOFO LETTER ENG
+3126 BOPOMOFO LETTER ER
+3127 BOPOMOFO LETTER I
+3128 BOPOMOFO LETTER U
+3129 BOPOMOFO LETTER IU
+312a BOPOMOFO LETTER V
+312b BOPOMOFO LETTER NG
+312c BOPOMOFO LETTER GN
+3131 HANGUL LETTER KIYEOK
+3132 HANGUL LETTER SSANGKIYEOK
+3133 HANGUL LETTER KIYEOK-SIOS
+3134 HANGUL LETTER NIEUN
+3135 HANGUL LETTER NIEUN-CIEUC
+3136 HANGUL LETTER NIEUN-HIEUH
+3137 HANGUL LETTER TIKEUT
+3138 HANGUL LETTER SSANGTIKEUT
+3139 HANGUL LETTER RIEUL
+313a HANGUL LETTER RIEUL-KIYEOK
+313b HANGUL LETTER RIEUL-MIEUM
+313c HANGUL LETTER RIEUL-PIEUP
+313d HANGUL LETTER RIEUL-SIOS
+313e HANGUL LETTER RIEUL-THIEUTH
+313f HANGUL LETTER RIEUL-PHIEUPH
+3140 HANGUL LETTER RIEUL-HIEUH
+3141 HANGUL LETTER MIEUM
+3142 HANGUL LETTER PIEUP
+3143 HANGUL LETTER SSANGPIEUP
+3144 HANGUL LETTER PIEUP-SIOS
+3145 HANGUL LETTER SIOS
+3146 HANGUL LETTER SSANGSIOS
+3147 HANGUL LETTER IEUNG
+3148 HANGUL LETTER CIEUC
+3149 HANGUL LETTER SSANGCIEUC
+314a HANGUL LETTER CHIEUCH
+314b HANGUL LETTER KHIEUKH
+314c HANGUL LETTER THIEUTH
+314d HANGUL LETTER PHIEUPH
+314e HANGUL LETTER HIEUH
+314f HANGUL LETTER A
+3150 HANGUL LETTER AE
+3151 HANGUL LETTER YA
+3152 HANGUL LETTER YAE
+3153 HANGUL LETTER EO
+3154 HANGUL LETTER E
+3155 HANGUL LETTER YEO
+3156 HANGUL LETTER YE
+3157 HANGUL LETTER O
+3158 HANGUL LETTER WA
+3159 HANGUL LETTER WAE
+315a HANGUL LETTER OE
+315b HANGUL LETTER YO
+315c HANGUL LETTER U
+315d HANGUL LETTER WEO
+315e HANGUL LETTER WE
+315f HANGUL LETTER WI
+3160 HANGUL LETTER YU
+3161 HANGUL LETTER EU
+3162 HANGUL LETTER YI
+3163 HANGUL LETTER I
+3164 HANGUL FILLER
+3165 HANGUL LETTER SSANGNIEUN
+3166 HANGUL LETTER NIEUN-TIKEUT
+3167 HANGUL LETTER NIEUN-SIOS
+3168 HANGUL LETTER NIEUN-PANSIOS
+3169 HANGUL LETTER RIEUL-KIYEOK-SIOS
+316a HANGUL LETTER RIEUL-TIKEUT
+316b HANGUL LETTER RIEUL-PIEUP-SIOS
+316c HANGUL LETTER RIEUL-PANSIOS
+316d HANGUL LETTER RIEUL-YEORINHIEUH
+316e HANGUL LETTER MIEUM-PIEUP
+316f HANGUL LETTER MIEUM-SIOS
+3170 HANGUL LETTER MIEUM-PANSIOS
+3171 HANGUL LETTER KAPYEOUNMIEUM
+3172 HANGUL LETTER PIEUP-KIYEOK
+3173 HANGUL LETTER PIEUP-TIKEUT
+3174 HANGUL LETTER PIEUP-SIOS-KIYEOK
+3175 HANGUL LETTER PIEUP-SIOS-TIKEUT
+3176 HANGUL LETTER PIEUP-CIEUC
+3177 HANGUL LETTER PIEUP-THIEUTH
+3178 HANGUL LETTER KAPYEOUNPIEUP
+3179 HANGUL LETTER KAPYEOUNSSANGPIEUP
+317a HANGUL LETTER SIOS-KIYEOK
+317b HANGUL LETTER SIOS-NIEUN
+317c HANGUL LETTER SIOS-TIKEUT
+317d HANGUL LETTER SIOS-PIEUP
+317e HANGUL LETTER SIOS-CIEUC
+317f HANGUL LETTER PANSIOS
+3180 HANGUL LETTER SSANGIEUNG
+3181 HANGUL LETTER YESIEUNG
+3182 HANGUL LETTER YESIEUNG-SIOS
+3183 HANGUL LETTER YESIEUNG-PANSIOS
+3184 HANGUL LETTER KAPYEOUNPHIEUPH
+3185 HANGUL LETTER SSANGHIEUH
+3186 HANGUL LETTER YEORINHIEUH
+3187 HANGUL LETTER YO-YA
+3188 HANGUL LETTER YO-YAE
+3189 HANGUL LETTER YO-I
+318a HANGUL LETTER YU-YEO
+318b HANGUL LETTER YU-YE
+318c HANGUL LETTER YU-I
+318d HANGUL LETTER ARAEA
+318e HANGUL LETTER ARAEAE
+3190 IDEOGRAPHIC ANNOTATION LINKING MARK
+3191 IDEOGRAPHIC ANNOTATION REVERSE MARK
+3192 IDEOGRAPHIC ANNOTATION ONE MARK
+3193 IDEOGRAPHIC ANNOTATION TWO MARK
+3194 IDEOGRAPHIC ANNOTATION THREE MARK
+3195 IDEOGRAPHIC ANNOTATION FOUR MARK
+3196 IDEOGRAPHIC ANNOTATION TOP MARK
+3197 IDEOGRAPHIC ANNOTATION MIDDLE MARK
+3198 IDEOGRAPHIC ANNOTATION BOTTOM MARK
+3199 IDEOGRAPHIC ANNOTATION FIRST MARK
+319a IDEOGRAPHIC ANNOTATION SECOND MARK
+319b IDEOGRAPHIC ANNOTATION THIRD MARK
+319c IDEOGRAPHIC ANNOTATION FOURTH MARK
+319d IDEOGRAPHIC ANNOTATION HEAVEN MARK
+319e IDEOGRAPHIC ANNOTATION EARTH MARK
+319f IDEOGRAPHIC ANNOTATION MAN MARK
+3200 PARENTHESIZED HANGUL KIYEOK
+3201 PARENTHESIZED HANGUL NIEUN
+3202 PARENTHESIZED HANGUL TIKEUT
+3203 PARENTHESIZED HANGUL RIEUL
+3204 PARENTHESIZED HANGUL MIEUM
+3205 PARENTHESIZED HANGUL PIEUP
+3206 PARENTHESIZED HANGUL SIOS
+3207 PARENTHESIZED HANGUL IEUNG
+3208 PARENTHESIZED HANGUL CIEUC
+3209 PARENTHESIZED HANGUL CHIEUCH
+320a PARENTHESIZED HANGUL KHIEUKH
+320b PARENTHESIZED HANGUL THIEUTH
+320c PARENTHESIZED HANGUL PHIEUPH
+320d PARENTHESIZED HANGUL HIEUH
+320e PARENTHESIZED HANGUL KIYEOK A
+320f PARENTHESIZED HANGUL NIEUN A
+3210 PARENTHESIZED HANGUL TIKEUT A
+3211 PARENTHESIZED HANGUL RIEUL A
+3212 PARENTHESIZED HANGUL MIEUM A
+3213 PARENTHESIZED HANGUL PIEUP A
+3214 PARENTHESIZED HANGUL SIOS A
+3215 PARENTHESIZED HANGUL IEUNG A
+3216 PARENTHESIZED HANGUL CIEUC A
+3217 PARENTHESIZED HANGUL CHIEUCH A
+3218 PARENTHESIZED HANGUL KHIEUKH A
+3219 PARENTHESIZED HANGUL THIEUTH A
+321a PARENTHESIZED HANGUL PHIEUPH A
+321b PARENTHESIZED HANGUL HIEUH A
+321c PARENTHESIZED HANGUL CIEUC U
+3220 PARENTHESIZED IDEOGRAPH ONE
+3221 PARENTHESIZED IDEOGRAPH TWO
+3222 PARENTHESIZED IDEOGRAPH THREE
+3223 PARENTHESIZED IDEOGRAPH FOUR
+3224 PARENTHESIZED IDEOGRAPH FIVE
+3225 PARENTHESIZED IDEOGRAPH SIX
+3226 PARENTHESIZED IDEOGRAPH SEVEN
+3227 PARENTHESIZED IDEOGRAPH EIGHT
+3228 PARENTHESIZED IDEOGRAPH NINE
+3229 PARENTHESIZED IDEOGRAPH TEN
+322a PARENTHESIZED IDEOGRAPH MOON
+322b PARENTHESIZED IDEOGRAPH FIRE
+322c PARENTHESIZED IDEOGRAPH WATER
+322d PARENTHESIZED IDEOGRAPH WOOD
+322e PARENTHESIZED IDEOGRAPH METAL
+322f PARENTHESIZED IDEOGRAPH EARTH
+3230 PARENTHESIZED IDEOGRAPH SUN
+3231 PARENTHESIZED IDEOGRAPH STOCK
+3232 PARENTHESIZED IDEOGRAPH HAVE
+3233 PARENTHESIZED IDEOGRAPH SOCIETY
+3234 PARENTHESIZED IDEOGRAPH NAME
+3235 PARENTHESIZED IDEOGRAPH SPECIAL
+3236 PARENTHESIZED IDEOGRAPH FINANCIAL
+3237 PARENTHESIZED IDEOGRAPH CONGRATULATION
+3238 PARENTHESIZED IDEOGRAPH LABOR
+3239 PARENTHESIZED IDEOGRAPH REPRESENT
+323a PARENTHESIZED IDEOGRAPH CALL
+323b PARENTHESIZED IDEOGRAPH STUDY
+323c PARENTHESIZED IDEOGRAPH SUPERVISE
+323d PARENTHESIZED IDEOGRAPH ENTERPRISE
+323e PARENTHESIZED IDEOGRAPH RESOURCE
+323f PARENTHESIZED IDEOGRAPH ALLIANCE
+3240 PARENTHESIZED IDEOGRAPH FESTIVAL
+3241 PARENTHESIZED IDEOGRAPH REST
+3242 PARENTHESIZED IDEOGRAPH SELF
+3243 PARENTHESIZED IDEOGRAPH REACH
+3260 CIRCLED HANGUL KIYEOK
+3261 CIRCLED HANGUL NIEUN
+3262 CIRCLED HANGUL TIKEUT
+3263 CIRCLED HANGUL RIEUL
+3264 CIRCLED HANGUL MIEUM
+3265 CIRCLED HANGUL PIEUP
+3266 CIRCLED HANGUL SIOS
+3267 CIRCLED HANGUL IEUNG
+3268 CIRCLED HANGUL CIEUC
+3269 CIRCLED HANGUL CHIEUCH
+326a CIRCLED HANGUL KHIEUKH
+326b CIRCLED HANGUL THIEUTH
+326c CIRCLED HANGUL PHIEUPH
+326d CIRCLED HANGUL HIEUH
+326e CIRCLED HANGUL KIYEOK A
+326f CIRCLED HANGUL NIEUN A
+3270 CIRCLED HANGUL TIKEUT A
+3271 CIRCLED HANGUL RIEUL A
+3272 CIRCLED HANGUL MIEUM A
+3273 CIRCLED HANGUL PIEUP A
+3274 CIRCLED HANGUL SIOS A
+3275 CIRCLED HANGUL IEUNG A
+3276 CIRCLED HANGUL CIEUC A
+3277 CIRCLED HANGUL CHIEUCH A
+3278 CIRCLED HANGUL KHIEUKH A
+3279 CIRCLED HANGUL THIEUTH A
+327a CIRCLED HANGUL PHIEUPH A
+327b CIRCLED HANGUL HIEUH A
+327f KOREAN STANDARD SYMBOL
+3280 CIRCLED IDEOGRAPH ONE
+3281 CIRCLED IDEOGRAPH TWO
+3282 CIRCLED IDEOGRAPH THREE
+3283 CIRCLED IDEOGRAPH FOUR
+3284 CIRCLED IDEOGRAPH FIVE
+3285 CIRCLED IDEOGRAPH SIX
+3286 CIRCLED IDEOGRAPH SEVEN
+3287 CIRCLED IDEOGRAPH EIGHT
+3288 CIRCLED IDEOGRAPH NINE
+3289 CIRCLED IDEOGRAPH TEN
+328a CIRCLED IDEOGRAPH MOON
+328b CIRCLED IDEOGRAPH FIRE
+328c CIRCLED IDEOGRAPH WATER
+328d CIRCLED IDEOGRAPH WOOD
+328e CIRCLED IDEOGRAPH METAL
+328f CIRCLED IDEOGRAPH EARTH
+3290 CIRCLED IDEOGRAPH SUN
+3291 CIRCLED IDEOGRAPH STOCK
+3292 CIRCLED IDEOGRAPH HAVE
+3293 CIRCLED IDEOGRAPH SOCIETY
+3294 CIRCLED IDEOGRAPH NAME
+3295 CIRCLED IDEOGRAPH SPECIAL
+3296 CIRCLED IDEOGRAPH FINANCIAL
+3297 CIRCLED IDEOGRAPH CONGRATULATION
+3298 CIRCLED IDEOGRAPH LABOR
+3299 CIRCLED IDEOGRAPH SECRET
+329a CIRCLED IDEOGRAPH MALE
+329b CIRCLED IDEOGRAPH FEMALE
+329c CIRCLED IDEOGRAPH SUITABLE
+329d CIRCLED IDEOGRAPH EXCELLENT
+329e CIRCLED IDEOGRAPH PRINT
+329f CIRCLED IDEOGRAPH ATTENTION
+32a0 CIRCLED IDEOGRAPH ITEM
+32a1 CIRCLED IDEOGRAPH REST
+32a2 CIRCLED IDEOGRAPH COPY
+32a3 CIRCLED IDEOGRAPH CORRECT
+32a4 CIRCLED IDEOGRAPH HIGH
+32a5 CIRCLED IDEOGRAPH CENTRE
+32a6 CIRCLED IDEOGRAPH LOW
+32a7 CIRCLED IDEOGRAPH LEFT
+32a8 CIRCLED IDEOGRAPH RIGHT
+32a9 CIRCLED IDEOGRAPH MEDICINE
+32aa CIRCLED IDEOGRAPH RELIGION
+32ab CIRCLED IDEOGRAPH STUDY
+32ac CIRCLED IDEOGRAPH SUPERVISE
+32ad CIRCLED IDEOGRAPH ENTERPRISE
+32ae CIRCLED IDEOGRAPH RESOURCE
+32af CIRCLED IDEOGRAPH ALLIANCE
+32b0 CIRCLED IDEOGRAPH NIGHT
+32c0 IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
+32c1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
+32c2 IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
+32c3 IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
+32c4 IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
+32c5 IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
+32c6 IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
+32c7 IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
+32c8 IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
+32c9 IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
+32ca IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
+32cb IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
+32d0 CIRCLED KATAKANA A
+32d1 CIRCLED KATAKANA I
+32d2 CIRCLED KATAKANA U
+32d3 CIRCLED KATAKANA E
+32d4 CIRCLED KATAKANA O
+32d5 CIRCLED KATAKANA KA
+32d6 CIRCLED KATAKANA KI
+32d7 CIRCLED KATAKANA KU
+32d8 CIRCLED KATAKANA KE
+32d9 CIRCLED KATAKANA KO
+32da CIRCLED KATAKANA SA
+32db CIRCLED KATAKANA SI
+32dc CIRCLED KATAKANA SU
+32dd CIRCLED KATAKANA SE
+32de CIRCLED KATAKANA SO
+32df CIRCLED KATAKANA TA
+32e0 CIRCLED KATAKANA TI
+32e1 CIRCLED KATAKANA TU
+32e2 CIRCLED KATAKANA TE
+32e3 CIRCLED KATAKANA TO
+32e4 CIRCLED KATAKANA NA
+32e5 CIRCLED KATAKANA NI
+32e6 CIRCLED KATAKANA NU
+32e7 CIRCLED KATAKANA NE
+32e8 CIRCLED KATAKANA NO
+32e9 CIRCLED KATAKANA HA
+32ea CIRCLED KATAKANA HI
+32eb CIRCLED KATAKANA HU
+32ec CIRCLED KATAKANA HE
+32ed CIRCLED KATAKANA HO
+32ee CIRCLED KATAKANA MA
+32ef CIRCLED KATAKANA MI
+32f0 CIRCLED KATAKANA MU
+32f1 CIRCLED KATAKANA ME
+32f2 CIRCLED KATAKANA MO
+32f3 CIRCLED KATAKANA YA
+32f4 CIRCLED KATAKANA YU
+32f5 CIRCLED KATAKANA YO
+32f6 CIRCLED KATAKANA RA
+32f7 CIRCLED KATAKANA RI
+32f8 CIRCLED KATAKANA RU
+32f9 CIRCLED KATAKANA RE
+32fa CIRCLED KATAKANA RO
+32fb CIRCLED KATAKANA WA
+32fc CIRCLED KATAKANA WI
+32fd CIRCLED KATAKANA WE
+32fe CIRCLED KATAKANA WO
+3300 SQUARE APAATO
+3301 SQUARE ARUHUA
+3302 SQUARE ANPEA
+3303 SQUARE AARU
+3304 SQUARE ININGU
+3305 SQUARE INTI
+3306 SQUARE UON
+3307 SQUARE ESUKUUDO
+3308 SQUARE EEKAA
+3309 SQUARE ONSU
+330a SQUARE OOMU
+330b SQUARE KAIRI
+330c SQUARE KARATTO
+330d SQUARE KARORII
+330e SQUARE GARON
+330f SQUARE GANMA
+3310 SQUARE GIGA
+3311 SQUARE GINII
+3312 SQUARE KYURII
+3313 SQUARE GIRUDAA
+3314 SQUARE KIRO
+3315 SQUARE KIROGURAMU
+3316 SQUARE KIROMEETORU
+3317 SQUARE KIROWATTO
+3318 SQUARE GURAMU
+3319 SQUARE GURAMUTON
+331a SQUARE KURUZEIRO
+331b SQUARE KUROONE
+331c SQUARE KEESU
+331d SQUARE KORUNA
+331e SQUARE KOOPO
+331f SQUARE SAIKURU
+3320 SQUARE SANTIIMU
+3321 SQUARE SIRINGU
+3322 SQUARE SENTI
+3323 SQUARE SENTO
+3324 SQUARE DAASU
+3325 SQUARE DESI
+3326 SQUARE DORU
+3327 SQUARE TON
+3328 SQUARE NANO
+3329 SQUARE NOTTO
+332a SQUARE HAITU
+332b SQUARE PAASENTO
+332c SQUARE PAATU
+332d SQUARE BAARERU
+332e SQUARE PIASUTORU
+332f SQUARE PIKURU
+3330 SQUARE PIKO
+3331 SQUARE BIRU
+3332 SQUARE HUARADDO
+3333 SQUARE HUIITO
+3334 SQUARE BUSSYERU
+3335 SQUARE HURAN
+3336 SQUARE HEKUTAARU
+3337 SQUARE PESO
+3338 SQUARE PENIHI
+3339 SQUARE HERUTU
+333a SQUARE PENSU
+333b SQUARE PEEZI
+333c SQUARE BEETA
+333d SQUARE POINTO
+333e SQUARE BORUTO
+333f SQUARE HON
+3340 SQUARE PONDO
+3341 SQUARE HOORU
+3342 SQUARE HOON
+3343 SQUARE MAIKURO
+3344 SQUARE MAIRU
+3345 SQUARE MAHHA
+3346 SQUARE MARUKU
+3347 SQUARE MANSYON
+3348 SQUARE MIKURON
+3349 SQUARE MIRI
+334a SQUARE MIRIBAARU
+334b SQUARE MEGA
+334c SQUARE MEGATON
+334d SQUARE MEETORU
+334e SQUARE YAADO
+334f SQUARE YAARU
+3350 SQUARE YUAN
+3351 SQUARE RITTORU
+3352 SQUARE RIRA
+3353 SQUARE RUPII
+3354 SQUARE RUUBURU
+3355 SQUARE REMU
+3356 SQUARE RENTOGEN
+3357 SQUARE WATTO
+3358 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
+3359 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
+335a IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
+335b IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
+335c IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
+335d IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
+335e IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
+335f IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
+3360 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
+3361 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
+3362 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
+3363 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
+3364 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
+3365 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
+3366 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
+3367 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
+3368 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
+3369 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
+336a IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
+336b IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
+336c IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
+336d IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
+336e IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
+336f IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
+3370 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
+3371 SQUARE HPA
+3372 SQUARE DA
+3373 SQUARE AU
+3374 SQUARE BAR
+3375 SQUARE OV
+3376 SQUARE PC
+337b SQUARE ERA NAME HEISEI
+337c SQUARE ERA NAME SYOUWA
+337d SQUARE ERA NAME TAISYOU
+337e SQUARE ERA NAME MEIZI
+337f SQUARE CORPORATION
+3380 SQUARE PA AMPS
+3381 SQUARE NA
+3382 SQUARE MU A
+3383 SQUARE MA
+3384 SQUARE KA
+3385 SQUARE KB
+3386 SQUARE MB
+3387 SQUARE GB
+3388 SQUARE CAL
+3389 SQUARE KCAL
+338a SQUARE PF
+338b SQUARE NF
+338c SQUARE MU F
+338d SQUARE MU G
+338e SQUARE MG
+338f SQUARE KG
+3390 SQUARE HZ
+3391 SQUARE KHZ
+3392 SQUARE MHZ
+3393 SQUARE GHZ
+3394 SQUARE THZ
+3395 SQUARE MU L
+3396 SQUARE ML
+3397 SQUARE DL
+3398 SQUARE KL
+3399 SQUARE FM
+339a SQUARE NM
+339b SQUARE MU M
+339c SQUARE MM
+339d SQUARE CM
+339e SQUARE KM
+339f SQUARE MM SQUARED
+33a0 SQUARE CM SQUARED
+33a1 SQUARE M SQUARED
+33a2 SQUARE KM SQUARED
+33a3 SQUARE MM CUBED
+33a4 SQUARE CM CUBED
+33a5 SQUARE M CUBED
+33a6 SQUARE KM CUBED
+33a7 SQUARE M OVER S
+33a8 SQUARE M OVER S SQUARED
+33a9 SQUARE PA
+33aa SQUARE KPA
+33ab SQUARE MPA
+33ac SQUARE GPA
+33ad SQUARE RAD
+33ae SQUARE RAD OVER S
+33af SQUARE RAD OVER S SQUARED
+33b0 SQUARE PS
+33b1 SQUARE NS
+33b2 SQUARE MU S
+33b3 SQUARE MS
+33b4 SQUARE PV
+33b5 SQUARE NV
+33b6 SQUARE MU V
+33b7 SQUARE MV
+33b8 SQUARE KV
+33b9 SQUARE MV MEGA
+33ba SQUARE PW
+33bb SQUARE NW
+33bc SQUARE MU W
+33bd SQUARE MW
+33be SQUARE KW
+33bf SQUARE MW MEGA
+33c0 SQUARE K OHM
+33c1 SQUARE M OHM
+33c2 SQUARE AM
+33c3 SQUARE BQ
+33c4 SQUARE CC
+33c5 SQUARE CD
+33c6 SQUARE C OVER KG
+33c7 SQUARE CO
+33c8 SQUARE DB
+33c9 SQUARE GY
+33ca SQUARE HA
+33cb SQUARE HP
+33cc SQUARE IN
+33cd SQUARE KK
+33ce SQUARE KM CAPITAL
+33cf SQUARE KT
+33d0 SQUARE LM
+33d1 SQUARE LN
+33d2 SQUARE LOG
+33d3 SQUARE LX
+33d4 SQUARE MB SMALL
+33d5 SQUARE MIL
+33d6 SQUARE MOL
+33d7 SQUARE PH
+33d8 SQUARE PM
+33d9 SQUARE PPM
+33da SQUARE PR
+33db SQUARE SR
+33dc SQUARE SV
+33dd SQUARE WB
+33e0 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
+33e1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
+33e2 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
+33e3 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
+33e4 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
+33e5 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
+33e6 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
+33e7 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
+33e8 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
+33e9 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
+33ea IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
+33eb IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
+33ec IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
+33ed IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
+33ee IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
+33ef IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
+33f0 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
+33f1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
+33f2 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
+33f3 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
+33f4 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
+33f5 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
+33f6 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
+33f7 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
+33f8 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
+33f9 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
+33fa IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
+33fb IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
+33fc IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
+33fd IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
+33fe IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
+4e00 9fa5 <CJK Ideograph, First>
+ac00 d7a3 <Hangul Syllable, First>
+d800 db7f <Unassigned High Surrogate, First>
+db80 dbff <Private Use High Surrogate, First>
+dc00 dfff <Low Surrogate, First>
+e000 f8ff <Private Use, First>
+f900 fa2d <CJK Compatibility Ideograph, First>
+fb00 LATIN SMALL LIGATURE FF
+fb01 LATIN SMALL LIGATURE FI
+fb02 LATIN SMALL LIGATURE FL
+fb03 LATIN SMALL LIGATURE FFI
+fb04 LATIN SMALL LIGATURE FFL
+fb05 LATIN SMALL LIGATURE LONG S T
+fb06 LATIN SMALL LIGATURE ST
+fb13 ARMENIAN SMALL LIGATURE MEN NOW
+fb14 ARMENIAN SMALL LIGATURE MEN ECH
+fb15 ARMENIAN SMALL LIGATURE MEN INI
+fb16 ARMENIAN SMALL LIGATURE VEW NOW
+fb17 ARMENIAN SMALL LIGATURE MEN XEH
+fb1e HEBREW POINT JUDEO-SPANISH VARIKA
+fb1f HEBREW LIGATURE YIDDISH YOD YOD PATAH
+fb20 HEBREW LETTER ALTERNATIVE AYIN
+fb21 HEBREW LETTER WIDE ALEF
+fb22 HEBREW LETTER WIDE DALET
+fb23 HEBREW LETTER WIDE HE
+fb24 HEBREW LETTER WIDE KAF
+fb25 HEBREW LETTER WIDE LAMED
+fb26 HEBREW LETTER WIDE FINAL MEM
+fb27 HEBREW LETTER WIDE RESH
+fb28 HEBREW LETTER WIDE TAV
+fb29 HEBREW LETTER ALTERNATIVE PLUS SIGN
+fb2a HEBREW LETTER SHIN WITH SHIN DOT
+fb2b HEBREW LETTER SHIN WITH SIN DOT
+fb2c HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT
+fb2d HEBREW LETTER SHIN WITH DAGESH AND SIN DOT
+fb2e HEBREW LETTER ALEF WITH PATAH
+fb2f HEBREW LETTER ALEF WITH QAMATS
+fb30 HEBREW LETTER ALEF WITH MAPIQ
+fb31 HEBREW LETTER BET WITH DAGESH
+fb32 HEBREW LETTER GIMEL WITH DAGESH
+fb33 HEBREW LETTER DALET WITH DAGESH
+fb34 HEBREW LETTER HE WITH MAPIQ
+fb35 HEBREW LETTER VAV WITH DAGESH
+fb36 HEBREW LETTER ZAYIN WITH DAGESH
+fb38 HEBREW LETTER TET WITH DAGESH
+fb39 HEBREW LETTER YOD WITH DAGESH
+fb3a HEBREW LETTER FINAL KAF WITH DAGESH
+fb3b HEBREW LETTER KAF WITH DAGESH
+fb3c HEBREW LETTER LAMED WITH DAGESH
+fb3e HEBREW LETTER MEM WITH DAGESH
+fb40 HEBREW LETTER NUN WITH DAGESH
+fb41 HEBREW LETTER SAMEKH WITH DAGESH
+fb43 HEBREW LETTER FINAL PE WITH DAGESH
+fb44 HEBREW LETTER PE WITH DAGESH
+fb46 HEBREW LETTER TSADI WITH DAGESH
+fb47 HEBREW LETTER QOF WITH DAGESH
+fb48 HEBREW LETTER RESH WITH DAGESH
+fb49 HEBREW LETTER SHIN WITH DAGESH
+fb4a HEBREW LETTER TAV WITH DAGESH
+fb4b HEBREW LETTER VAV WITH HOLAM
+fb4c HEBREW LETTER BET WITH RAFE
+fb4d HEBREW LETTER KAF WITH RAFE
+fb4e HEBREW LETTER PE WITH RAFE
+fb4f HEBREW LIGATURE ALEF LAMED
+fb50 ARABIC LETTER ALEF WASLA ISOLATED FORM
+fb51 ARABIC LETTER ALEF WASLA FINAL FORM
+fb52 ARABIC LETTER BEEH ISOLATED FORM
+fb53 ARABIC LETTER BEEH FINAL FORM
+fb54 ARABIC LETTER BEEH INITIAL FORM
+fb55 ARABIC LETTER BEEH MEDIAL FORM
+fb56 ARABIC LETTER PEH ISOLATED FORM
+fb57 ARABIC LETTER PEH FINAL FORM
+fb58 ARABIC LETTER PEH INITIAL FORM
+fb59 ARABIC LETTER PEH MEDIAL FORM
+fb5a ARABIC LETTER BEHEH ISOLATED FORM
+fb5b ARABIC LETTER BEHEH FINAL FORM
+fb5c ARABIC LETTER BEHEH INITIAL FORM
+fb5d ARABIC LETTER BEHEH MEDIAL FORM
+fb5e ARABIC LETTER TTEHEH ISOLATED FORM
+fb5f ARABIC LETTER TTEHEH FINAL FORM
+fb60 ARABIC LETTER TTEHEH INITIAL FORM
+fb61 ARABIC LETTER TTEHEH MEDIAL FORM
+fb62 ARABIC LETTER TEHEH ISOLATED FORM
+fb63 ARABIC LETTER TEHEH FINAL FORM
+fb64 ARABIC LETTER TEHEH INITIAL FORM
+fb65 ARABIC LETTER TEHEH MEDIAL FORM
+fb66 ARABIC LETTER TTEH ISOLATED FORM
+fb67 ARABIC LETTER TTEH FINAL FORM
+fb68 ARABIC LETTER TTEH INITIAL FORM
+fb69 ARABIC LETTER TTEH MEDIAL FORM
+fb6a ARABIC LETTER VEH ISOLATED FORM
+fb6b ARABIC LETTER VEH FINAL FORM
+fb6c ARABIC LETTER VEH INITIAL FORM
+fb6d ARABIC LETTER VEH MEDIAL FORM
+fb6e ARABIC LETTER PEHEH ISOLATED FORM
+fb6f ARABIC LETTER PEHEH FINAL FORM
+fb70 ARABIC LETTER PEHEH INITIAL FORM
+fb71 ARABIC LETTER PEHEH MEDIAL FORM
+fb72 ARABIC LETTER DYEH ISOLATED FORM
+fb73 ARABIC LETTER DYEH FINAL FORM
+fb74 ARABIC LETTER DYEH INITIAL FORM
+fb75 ARABIC LETTER DYEH MEDIAL FORM
+fb76 ARABIC LETTER NYEH ISOLATED FORM
+fb77 ARABIC LETTER NYEH FINAL FORM
+fb78 ARABIC LETTER NYEH INITIAL FORM
+fb79 ARABIC LETTER NYEH MEDIAL FORM
+fb7a ARABIC LETTER TCHEH ISOLATED FORM
+fb7b ARABIC LETTER TCHEH FINAL FORM
+fb7c ARABIC LETTER TCHEH INITIAL FORM
+fb7d ARABIC LETTER TCHEH MEDIAL FORM
+fb7e ARABIC LETTER TCHEHEH ISOLATED FORM
+fb7f ARABIC LETTER TCHEHEH FINAL FORM
+fb80 ARABIC LETTER TCHEHEH INITIAL FORM
+fb81 ARABIC LETTER TCHEHEH MEDIAL FORM
+fb82 ARABIC LETTER DDAHAL ISOLATED FORM
+fb83 ARABIC LETTER DDAHAL FINAL FORM
+fb84 ARABIC LETTER DAHAL ISOLATED FORM
+fb85 ARABIC LETTER DAHAL FINAL FORM
+fb86 ARABIC LETTER DUL ISOLATED FORM
+fb87 ARABIC LETTER DUL FINAL FORM
+fb88 ARABIC LETTER DDAL ISOLATED FORM
+fb89 ARABIC LETTER DDAL FINAL FORM
+fb8a ARABIC LETTER JEH ISOLATED FORM
+fb8b ARABIC LETTER JEH FINAL FORM
+fb8c ARABIC LETTER RREH ISOLATED FORM
+fb8d ARABIC LETTER RREH FINAL FORM
+fb8e ARABIC LETTER KEHEH ISOLATED FORM
+fb8f ARABIC LETTER KEHEH FINAL FORM
+fb90 ARABIC LETTER KEHEH INITIAL FORM
+fb91 ARABIC LETTER KEHEH MEDIAL FORM
+fb92 ARABIC LETTER GAF ISOLATED FORM
+fb93 ARABIC LETTER GAF FINAL FORM
+fb94 ARABIC LETTER GAF INITIAL FORM
+fb95 ARABIC LETTER GAF MEDIAL FORM
+fb96 ARABIC LETTER GUEH ISOLATED FORM
+fb97 ARABIC LETTER GUEH FINAL FORM
+fb98 ARABIC LETTER GUEH INITIAL FORM
+fb99 ARABIC LETTER GUEH MEDIAL FORM
+fb9a ARABIC LETTER NGOEH ISOLATED FORM
+fb9b ARABIC LETTER NGOEH FINAL FORM
+fb9c ARABIC LETTER NGOEH INITIAL FORM
+fb9d ARABIC LETTER NGOEH MEDIAL FORM
+fb9e ARABIC LETTER NOON GHUNNA ISOLATED FORM
+fb9f ARABIC LETTER NOON GHUNNA FINAL FORM
+fba0 ARABIC LETTER RNOON ISOLATED FORM
+fba1 ARABIC LETTER RNOON FINAL FORM
+fba2 ARABIC LETTER RNOON INITIAL FORM
+fba3 ARABIC LETTER RNOON MEDIAL FORM
+fba4 ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM
+fba5 ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM
+fba6 ARABIC LETTER HEH GOAL ISOLATED FORM
+fba7 ARABIC LETTER HEH GOAL FINAL FORM
+fba8 ARABIC LETTER HEH GOAL INITIAL FORM
+fba9 ARABIC LETTER HEH GOAL MEDIAL FORM
+fbaa ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM
+fbab ARABIC LETTER HEH DOACHASHMEE FINAL FORM
+fbac ARABIC LETTER HEH DOACHASHMEE INITIAL FORM
+fbad ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM
+fbae ARABIC LETTER YEH BARREE ISOLATED FORM
+fbaf ARABIC LETTER YEH BARREE FINAL FORM
+fbb0 ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM
+fbb1 ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
+fbd3 ARABIC LETTER NG ISOLATED FORM
+fbd4 ARABIC LETTER NG FINAL FORM
+fbd5 ARABIC LETTER NG INITIAL FORM
+fbd6 ARABIC LETTER NG MEDIAL FORM
+fbd7 ARABIC LETTER U ISOLATED FORM
+fbd8 ARABIC LETTER U FINAL FORM
+fbd9 ARABIC LETTER OE ISOLATED FORM
+fbda ARABIC LETTER OE FINAL FORM
+fbdb ARABIC LETTER YU ISOLATED FORM
+fbdc ARABIC LETTER YU FINAL FORM
+fbdd ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM
+fbde ARABIC LETTER VE ISOLATED FORM
+fbdf ARABIC LETTER VE FINAL FORM
+fbe0 ARABIC LETTER KIRGHIZ OE ISOLATED FORM
+fbe1 ARABIC LETTER KIRGHIZ OE FINAL FORM
+fbe2 ARABIC LETTER KIRGHIZ YU ISOLATED FORM
+fbe3 ARABIC LETTER KIRGHIZ YU FINAL FORM
+fbe4 ARABIC LETTER E ISOLATED FORM
+fbe5 ARABIC LETTER E FINAL FORM
+fbe6 ARABIC LETTER E INITIAL FORM
+fbe7 ARABIC LETTER E MEDIAL FORM
+fbe8 ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
+fbe9 ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM
+fbea ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM
+fbeb ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM
+fbec ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM
+fbed ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM
+fbee ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM
+fbef ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM
+fbf0 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM
+fbf1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM
+fbf2 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM
+fbf3 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM
+fbf4 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM
+fbf5 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM
+fbf6 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM
+fbf7 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM
+fbf8 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM
+fbf9 ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
+fbfa ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
+fbfb ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM
+fbfc ARABIC LETTER FARSI YEH ISOLATED FORM
+fbfd ARABIC LETTER FARSI YEH FINAL FORM
+fbfe ARABIC LETTER FARSI YEH INITIAL FORM
+fbff ARABIC LETTER FARSI YEH MEDIAL FORM
+fc00 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM
+fc01 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM
+fc02 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM
+fc03 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
+fc04 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM
+fc05 ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM
+fc06 ARABIC LIGATURE BEH WITH HAH ISOLATED FORM
+fc07 ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM
+fc08 ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM
+fc09 ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM
+fc0a ARABIC LIGATURE BEH WITH YEH ISOLATED FORM
+fc0b ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM
+fc0c ARABIC LIGATURE TEH WITH HAH ISOLATED FORM
+fc0d ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM
+fc0e ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM
+fc0f ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM
+fc10 ARABIC LIGATURE TEH WITH YEH ISOLATED FORM
+fc11 ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM
+fc12 ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM
+fc13 ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM
+fc14 ARABIC LIGATURE THEH WITH YEH ISOLATED FORM
+fc15 ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM
+fc16 ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM
+fc17 ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM
+fc18 ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM
+fc19 ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM
+fc1a ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM
+fc1b ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM
+fc1c ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM
+fc1d ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM
+fc1e ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM
+fc1f ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM
+fc20 ARABIC LIGATURE SAD WITH HAH ISOLATED FORM
+fc21 ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM
+fc22 ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM
+fc23 ARABIC LIGATURE DAD WITH HAH ISOLATED FORM
+fc24 ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM
+fc25 ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM
+fc26 ARABIC LIGATURE TAH WITH HAH ISOLATED FORM
+fc27 ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM
+fc28 ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM
+fc29 ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM
+fc2a ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM
+fc2b ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM
+fc2c ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM
+fc2d ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM
+fc2e ARABIC LIGATURE FEH WITH HAH ISOLATED FORM
+fc2f ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM
+fc30 ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM
+fc31 ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM
+fc32 ARABIC LIGATURE FEH WITH YEH ISOLATED FORM
+fc33 ARABIC LIGATURE QAF WITH HAH ISOLATED FORM
+fc34 ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM
+fc35 ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM
+fc36 ARABIC LIGATURE QAF WITH YEH ISOLATED FORM
+fc37 ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM
+fc38 ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM
+fc39 ARABIC LIGATURE KAF WITH HAH ISOLATED FORM
+fc3a ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM
+fc3b ARABIC LIGATURE KAF WITH LAM ISOLATED FORM
+fc3c ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM
+fc3d ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM
+fc3e ARABIC LIGATURE KAF WITH YEH ISOLATED FORM
+fc3f ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM
+fc40 ARABIC LIGATURE LAM WITH HAH ISOLATED FORM
+fc41 ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM
+fc42 ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM
+fc43 ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM
+fc44 ARABIC LIGATURE LAM WITH YEH ISOLATED FORM
+fc45 ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM
+fc46 ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM
+fc47 ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM
+fc48 ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM
+fc49 ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM
+fc4a ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM
+fc4b ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM
+fc4c ARABIC LIGATURE NOON WITH HAH ISOLATED FORM
+fc4d ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM
+fc4e ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM
+fc4f ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM
+fc50 ARABIC LIGATURE NOON WITH YEH ISOLATED FORM
+fc51 ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM
+fc52 ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM
+fc53 ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM
+fc54 ARABIC LIGATURE HEH WITH YEH ISOLATED FORM
+fc55 ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM
+fc56 ARABIC LIGATURE YEH WITH HAH ISOLATED FORM
+fc57 ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM
+fc58 ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM
+fc59 ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM
+fc5a ARABIC LIGATURE YEH WITH YEH ISOLATED FORM
+fc5b ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM
+fc5c ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM
+fc5d ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM
+fc5e ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM
+fc5f ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM
+fc60 ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM
+fc61 ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM
+fc62 ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM
+fc63 ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM
+fc64 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM
+fc65 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM
+fc66 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM
+fc67 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM
+fc68 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
+fc69 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM
+fc6a ARABIC LIGATURE BEH WITH REH FINAL FORM
+fc6b ARABIC LIGATURE BEH WITH ZAIN FINAL FORM
+fc6c ARABIC LIGATURE BEH WITH MEEM FINAL FORM
+fc6d ARABIC LIGATURE BEH WITH NOON FINAL FORM
+fc6e ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM
+fc6f ARABIC LIGATURE BEH WITH YEH FINAL FORM
+fc70 ARABIC LIGATURE TEH WITH REH FINAL FORM
+fc71 ARABIC LIGATURE TEH WITH ZAIN FINAL FORM
+fc72 ARABIC LIGATURE TEH WITH MEEM FINAL FORM
+fc73 ARABIC LIGATURE TEH WITH NOON FINAL FORM
+fc74 ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM
+fc75 ARABIC LIGATURE TEH WITH YEH FINAL FORM
+fc76 ARABIC LIGATURE THEH WITH REH FINAL FORM
+fc77 ARABIC LIGATURE THEH WITH ZAIN FINAL FORM
+fc78 ARABIC LIGATURE THEH WITH MEEM FINAL FORM
+fc79 ARABIC LIGATURE THEH WITH NOON FINAL FORM
+fc7a ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM
+fc7b ARABIC LIGATURE THEH WITH YEH FINAL FORM
+fc7c ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM
+fc7d ARABIC LIGATURE FEH WITH YEH FINAL FORM
+fc7e ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM
+fc7f ARABIC LIGATURE QAF WITH YEH FINAL FORM
+fc80 ARABIC LIGATURE KAF WITH ALEF FINAL FORM
+fc81 ARABIC LIGATURE KAF WITH LAM FINAL FORM
+fc82 ARABIC LIGATURE KAF WITH MEEM FINAL FORM
+fc83 ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM
+fc84 ARABIC LIGATURE KAF WITH YEH FINAL FORM
+fc85 ARABIC LIGATURE LAM WITH MEEM FINAL FORM
+fc86 ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM
+fc87 ARABIC LIGATURE LAM WITH YEH FINAL FORM
+fc88 ARABIC LIGATURE MEEM WITH ALEF FINAL FORM
+fc89 ARABIC LIGATURE MEEM WITH MEEM FINAL FORM
+fc8a ARABIC LIGATURE NOON WITH REH FINAL FORM
+fc8b ARABIC LIGATURE NOON WITH ZAIN FINAL FORM
+fc8c ARABIC LIGATURE NOON WITH MEEM FINAL FORM
+fc8d ARABIC LIGATURE NOON WITH NOON FINAL FORM
+fc8e ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM
+fc8f ARABIC LIGATURE NOON WITH YEH FINAL FORM
+fc90 ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM
+fc91 ARABIC LIGATURE YEH WITH REH FINAL FORM
+fc92 ARABIC LIGATURE YEH WITH ZAIN FINAL FORM
+fc93 ARABIC LIGATURE YEH WITH MEEM FINAL FORM
+fc94 ARABIC LIGATURE YEH WITH NOON FINAL FORM
+fc95 ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM
+fc96 ARABIC LIGATURE YEH WITH YEH FINAL FORM
+fc97 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM
+fc98 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM
+fc99 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM
+fc9a ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM
+fc9b ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM
+fc9c ARABIC LIGATURE BEH WITH JEEM INITIAL FORM
+fc9d ARABIC LIGATURE BEH WITH HAH INITIAL FORM
+fc9e ARABIC LIGATURE BEH WITH KHAH INITIAL FORM
+fc9f ARABIC LIGATURE BEH WITH MEEM INITIAL FORM
+fca0 ARABIC LIGATURE BEH WITH HEH INITIAL FORM
+fca1 ARABIC LIGATURE TEH WITH JEEM INITIAL FORM
+fca2 ARABIC LIGATURE TEH WITH HAH INITIAL FORM
+fca3 ARABIC LIGATURE TEH WITH KHAH INITIAL FORM
+fca4 ARABIC LIGATURE TEH WITH MEEM INITIAL FORM
+fca5 ARABIC LIGATURE TEH WITH HEH INITIAL FORM
+fca6 ARABIC LIGATURE THEH WITH MEEM INITIAL FORM
+fca7 ARABIC LIGATURE JEEM WITH HAH INITIAL FORM
+fca8 ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM
+fca9 ARABIC LIGATURE HAH WITH JEEM INITIAL FORM
+fcaa ARABIC LIGATURE HAH WITH MEEM INITIAL FORM
+fcab ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM
+fcac ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM
+fcad ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM
+fcae ARABIC LIGATURE SEEN WITH HAH INITIAL FORM
+fcaf ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM
+fcb0 ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM
+fcb1 ARABIC LIGATURE SAD WITH HAH INITIAL FORM
+fcb2 ARABIC LIGATURE SAD WITH KHAH INITIAL FORM
+fcb3 ARABIC LIGATURE SAD WITH MEEM INITIAL FORM
+fcb4 ARABIC LIGATURE DAD WITH JEEM INITIAL FORM
+fcb5 ARABIC LIGATURE DAD WITH HAH INITIAL FORM
+fcb6 ARABIC LIGATURE DAD WITH KHAH INITIAL FORM
+fcb7 ARABIC LIGATURE DAD WITH MEEM INITIAL FORM
+fcb8 ARABIC LIGATURE TAH WITH HAH INITIAL FORM
+fcb9 ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM
+fcba ARABIC LIGATURE AIN WITH JEEM INITIAL FORM
+fcbb ARABIC LIGATURE AIN WITH MEEM INITIAL FORM
+fcbc ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM
+fcbd ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM
+fcbe ARABIC LIGATURE FEH WITH JEEM INITIAL FORM
+fcbf ARABIC LIGATURE FEH WITH HAH INITIAL FORM
+fcc0 ARABIC LIGATURE FEH WITH KHAH INITIAL FORM
+fcc1 ARABIC LIGATURE FEH WITH MEEM INITIAL FORM
+fcc2 ARABIC LIGATURE QAF WITH HAH INITIAL FORM
+fcc3 ARABIC LIGATURE QAF WITH MEEM INITIAL FORM
+fcc4 ARABIC LIGATURE KAF WITH JEEM INITIAL FORM
+fcc5 ARABIC LIGATURE KAF WITH HAH INITIAL FORM
+fcc6 ARABIC LIGATURE KAF WITH KHAH INITIAL FORM
+fcc7 ARABIC LIGATURE KAF WITH LAM INITIAL FORM
+fcc8 ARABIC LIGATURE KAF WITH MEEM INITIAL FORM
+fcc9 ARABIC LIGATURE LAM WITH JEEM INITIAL FORM
+fcca ARABIC LIGATURE LAM WITH HAH INITIAL FORM
+fccb ARABIC LIGATURE LAM WITH KHAH INITIAL FORM
+fccc ARABIC LIGATURE LAM WITH MEEM INITIAL FORM
+fccd ARABIC LIGATURE LAM WITH HEH INITIAL FORM
+fcce ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM
+fccf ARABIC LIGATURE MEEM WITH HAH INITIAL FORM
+fcd0 ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM
+fcd1 ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM
+fcd2 ARABIC LIGATURE NOON WITH JEEM INITIAL FORM
+fcd3 ARABIC LIGATURE NOON WITH HAH INITIAL FORM
+fcd4 ARABIC LIGATURE NOON WITH KHAH INITIAL FORM
+fcd5 ARABIC LIGATURE NOON WITH MEEM INITIAL FORM
+fcd6 ARABIC LIGATURE NOON WITH HEH INITIAL FORM
+fcd7 ARABIC LIGATURE HEH WITH JEEM INITIAL FORM
+fcd8 ARABIC LIGATURE HEH WITH MEEM INITIAL FORM
+fcd9 ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM
+fcda ARABIC LIGATURE YEH WITH JEEM INITIAL FORM
+fcdb ARABIC LIGATURE YEH WITH HAH INITIAL FORM
+fcdc ARABIC LIGATURE YEH WITH KHAH INITIAL FORM
+fcdd ARABIC LIGATURE YEH WITH MEEM INITIAL FORM
+fcde ARABIC LIGATURE YEH WITH HEH INITIAL FORM
+fcdf ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM
+fce0 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM
+fce1 ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM
+fce2 ARABIC LIGATURE BEH WITH HEH MEDIAL FORM
+fce3 ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM
+fce4 ARABIC LIGATURE TEH WITH HEH MEDIAL FORM
+fce5 ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM
+fce6 ARABIC LIGATURE THEH WITH HEH MEDIAL FORM
+fce7 ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM
+fce8 ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM
+fce9 ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM
+fcea ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM
+fceb ARABIC LIGATURE KAF WITH LAM MEDIAL FORM
+fcec ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM
+fced ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM
+fcee ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM
+fcef ARABIC LIGATURE NOON WITH HEH MEDIAL FORM
+fcf0 ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM
+fcf1 ARABIC LIGATURE YEH WITH HEH MEDIAL FORM
+fcf2 ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM
+fcf3 ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM
+fcf4 ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM
+fcf5 ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM
+fcf6 ARABIC LIGATURE TAH WITH YEH ISOLATED FORM
+fcf7 ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM
+fcf8 ARABIC LIGATURE AIN WITH YEH ISOLATED FORM
+fcf9 ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM
+fcfa ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM
+fcfb ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM
+fcfc ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM
+fcfd ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM
+fcfe ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM
+fcff ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM
+fd00 ARABIC LIGATURE HAH WITH YEH ISOLATED FORM
+fd01 ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM
+fd02 ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM
+fd03 ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM
+fd04 ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM
+fd05 ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM
+fd06 ARABIC LIGATURE SAD WITH YEH ISOLATED FORM
+fd07 ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM
+fd08 ARABIC LIGATURE DAD WITH YEH ISOLATED FORM
+fd09 ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM
+fd0a ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM
+fd0b ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM
+fd0c ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM
+fd0d ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM
+fd0e ARABIC LIGATURE SEEN WITH REH ISOLATED FORM
+fd0f ARABIC LIGATURE SAD WITH REH ISOLATED FORM
+fd10 ARABIC LIGATURE DAD WITH REH ISOLATED FORM
+fd11 ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM
+fd12 ARABIC LIGATURE TAH WITH YEH FINAL FORM
+fd13 ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM
+fd14 ARABIC LIGATURE AIN WITH YEH FINAL FORM
+fd15 ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM
+fd16 ARABIC LIGATURE GHAIN WITH YEH FINAL FORM
+fd17 ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM
+fd18 ARABIC LIGATURE SEEN WITH YEH FINAL FORM
+fd19 ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM
+fd1a ARABIC LIGATURE SHEEN WITH YEH FINAL FORM
+fd1b ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM
+fd1c ARABIC LIGATURE HAH WITH YEH FINAL FORM
+fd1d ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM
+fd1e ARABIC LIGATURE JEEM WITH YEH FINAL FORM
+fd1f ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM
+fd20 ARABIC LIGATURE KHAH WITH YEH FINAL FORM
+fd21 ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM
+fd22 ARABIC LIGATURE SAD WITH YEH FINAL FORM
+fd23 ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM
+fd24 ARABIC LIGATURE DAD WITH YEH FINAL FORM
+fd25 ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM
+fd26 ARABIC LIGATURE SHEEN WITH HAH FINAL FORM
+fd27 ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM
+fd28 ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM
+fd29 ARABIC LIGATURE SHEEN WITH REH FINAL FORM
+fd2a ARABIC LIGATURE SEEN WITH REH FINAL FORM
+fd2b ARABIC LIGATURE SAD WITH REH FINAL FORM
+fd2c ARABIC LIGATURE DAD WITH REH FINAL FORM
+fd2d ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM
+fd2e ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM
+fd2f ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM
+fd30 ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM
+fd31 ARABIC LIGATURE SEEN WITH HEH INITIAL FORM
+fd32 ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM
+fd33 ARABIC LIGATURE TAH WITH MEEM INITIAL FORM
+fd34 ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM
+fd35 ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM
+fd36 ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM
+fd37 ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM
+fd38 ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM
+fd39 ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM
+fd3a ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM
+fd3b ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM
+fd3c ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM
+fd3d ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
+fd3e ORNATE LEFT PARENTHESIS
+fd3f ORNATE RIGHT PARENTHESIS
+fd50 ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM
+fd51 ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM
+fd52 ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM
+fd53 ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM
+fd54 ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM
+fd55 ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM
+fd56 ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM
+fd57 ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM
+fd58 ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM
+fd59 ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM
+fd5a ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM
+fd5b ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM
+fd5c ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM
+fd5d ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM
+fd5e ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM
+fd5f ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM
+fd60 ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM
+fd61 ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM
+fd62 ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM
+fd63 ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM
+fd64 ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM
+fd65 ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM
+fd66 ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM
+fd67 ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM
+fd68 ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM
+fd69 ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM
+fd6a ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM
+fd6b ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM
+fd6c ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM
+fd6d ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM
+fd6e ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM
+fd6f ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM
+fd70 ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM
+fd71 ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM
+fd72 ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM
+fd73 ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM
+fd74 ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM
+fd75 ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM
+fd76 ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM
+fd77 ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM
+fd78 ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
+fd79 ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM
+fd7a ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM
+fd7b ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
+fd7c ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM
+fd7d ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM
+fd7e ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM
+fd7f ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM
+fd80 ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM
+fd81 ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM
+fd82 ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM
+fd83 ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM
+fd84 ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM
+fd85 ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM
+fd86 ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM
+fd87 ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM
+fd88 ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM
+fd89 ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM
+fd8a ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM
+fd8b ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM
+fd8c ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM
+fd8d ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM
+fd8e ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM
+fd8f ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
+fd92 ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM
+fd93 ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM
+fd94 ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM
+fd95 ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM
+fd96 ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM
+fd97 ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM
+fd98 ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM
+fd99 ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM
+fd9a ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM
+fd9b ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM
+fd9c ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM
+fd9d ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM
+fd9e ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM
+fd9f ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM
+fda0 ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM
+fda1 ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM
+fda2 ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM
+fda3 ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM
+fda4 ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM
+fda5 ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM
+fda6 ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM
+fda7 ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM
+fda8 ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM
+fda9 ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM
+fdaa ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM
+fdab ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM
+fdac ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM
+fdad ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM
+fdae ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM
+fdaf ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM
+fdb0 ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM
+fdb1 ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM
+fdb2 ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM
+fdb3 ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM
+fdb4 ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM
+fdb5 ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM
+fdb6 ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM
+fdb7 ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM
+fdb8 ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM
+fdb9 ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM
+fdba ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM
+fdbb ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM
+fdbc ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM
+fdbd ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM
+fdbe ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM
+fdbf ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM
+fdc0 ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM
+fdc1 ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM
+fdc2 ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM
+fdc3 ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM
+fdc4 ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM
+fdc5 ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM
+fdc6 ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM
+fdc7 ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
+fdf0 ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM
+fdf1 ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM
+fdf2 ARABIC LIGATURE ALLAH ISOLATED FORM
+fdf3 ARABIC LIGATURE AKBAR ISOLATED FORM
+fdf4 ARABIC LIGATURE MOHAMMAD ISOLATED FORM
+fdf5 ARABIC LIGATURE SALAM ISOLATED FORM
+fdf6 ARABIC LIGATURE RASOUL ISOLATED FORM
+fdf7 ARABIC LIGATURE ALAYHE ISOLATED FORM
+fdf8 ARABIC LIGATURE WASALLAM ISOLATED FORM
+fdf9 ARABIC LIGATURE SALLA ISOLATED FORM
+fdfa ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM
+fdfb ARABIC LIGATURE JALLAJALALOUHOU
+fe20 COMBINING LIGATURE LEFT HALF
+fe21 COMBINING LIGATURE RIGHT HALF
+fe22 COMBINING DOUBLE TILDE LEFT HALF
+fe23 COMBINING DOUBLE TILDE RIGHT HALF
+fe30 PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
+fe31 PRESENTATION FORM FOR VERTICAL EM DASH
+fe32 PRESENTATION FORM FOR VERTICAL EN DASH
+fe33 PRESENTATION FORM FOR VERTICAL LOW LINE
+fe34 PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
+fe35 PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
+fe36 PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
+fe37 PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
+fe38 PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
+fe39 PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
+fe3a PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
+fe3b PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
+fe3c PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
+fe3d PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
+fe3e PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
+fe3f PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
+fe40 PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
+fe41 PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
+fe42 PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
+fe43 PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
+fe44 PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
+fe49 DASHED OVERLINE
+fe4a CENTRELINE OVERLINE
+fe4b WAVY OVERLINE
+fe4c DOUBLE WAVY OVERLINE
+fe4d DASHED LOW LINE
+fe4e CENTRELINE LOW LINE
+fe4f WAVY LOW LINE
+fe50 SMALL COMMA
+fe51 SMALL IDEOGRAPHIC COMMA
+fe52 SMALL FULL STOP
+fe54 SMALL SEMICOLON
+fe55 SMALL COLON
+fe56 SMALL QUESTION MARK
+fe57 SMALL EXCLAMATION MARK
+fe58 SMALL EM DASH
+fe59 SMALL LEFT PARENTHESIS
+fe5a SMALL RIGHT PARENTHESIS
+fe5b SMALL LEFT CURLY BRACKET
+fe5c SMALL RIGHT CURLY BRACKET
+fe5d SMALL LEFT TORTOISE SHELL BRACKET
+fe5e SMALL RIGHT TORTOISE SHELL BRACKET
+fe5f SMALL NUMBER SIGN
+fe60 SMALL AMPERSAND
+fe61 SMALL ASTERISK
+fe62 SMALL PLUS SIGN
+fe63 SMALL HYPHEN-MINUS
+fe64 SMALL LESS-THAN SIGN
+fe65 SMALL GREATER-THAN SIGN
+fe66 SMALL EQUALS SIGN
+fe68 SMALL REVERSE SOLIDUS
+fe69 SMALL DOLLAR SIGN
+fe6a SMALL PERCENT SIGN
+fe6b SMALL COMMERCIAL AT
+fe70 ARABIC FATHATAN ISOLATED FORM
+fe71 ARABIC TATWEEL WITH FATHATAN ABOVE
+fe72 ARABIC DAMMATAN ISOLATED FORM
+fe74 ARABIC KASRATAN ISOLATED FORM
+fe76 ARABIC FATHA ISOLATED FORM
+fe77 ARABIC FATHA MEDIAL FORM
+fe78 ARABIC DAMMA ISOLATED FORM
+fe79 ARABIC DAMMA MEDIAL FORM
+fe7a ARABIC KASRA ISOLATED FORM
+fe7b ARABIC KASRA MEDIAL FORM
+fe7c ARABIC SHADDA ISOLATED FORM
+fe7d ARABIC SHADDA MEDIAL FORM
+fe7e ARABIC SUKUN ISOLATED FORM
+fe7f ARABIC SUKUN MEDIAL FORM
+fe80 ARABIC LETTER HAMZA ISOLATED FORM
+fe81 ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
+fe82 ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
+fe83 ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
+fe84 ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
+fe85 ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
+fe86 ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM
+fe87 ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM
+fe88 ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM
+fe89 ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM
+fe8a ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM
+fe8b ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
+fe8c ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM
+fe8d ARABIC LETTER ALEF ISOLATED FORM
+fe8e ARABIC LETTER ALEF FINAL FORM
+fe8f ARABIC LETTER BEH ISOLATED FORM
+fe90 ARABIC LETTER BEH FINAL FORM
+fe91 ARABIC LETTER BEH INITIAL FORM
+fe92 ARABIC LETTER BEH MEDIAL FORM
+fe93 ARABIC LETTER TEH MARBUTA ISOLATED FORM
+fe94 ARABIC LETTER TEH MARBUTA FINAL FORM
+fe95 ARABIC LETTER TEH ISOLATED FORM
+fe96 ARABIC LETTER TEH FINAL FORM
+fe97 ARABIC LETTER TEH INITIAL FORM
+fe98 ARABIC LETTER TEH MEDIAL FORM
+fe99 ARABIC LETTER THEH ISOLATED FORM
+fe9a ARABIC LETTER THEH FINAL FORM
+fe9b ARABIC LETTER THEH INITIAL FORM
+fe9c ARABIC LETTER THEH MEDIAL FORM
+fe9d ARABIC LETTER JEEM ISOLATED FORM
+fe9e ARABIC LETTER JEEM FINAL FORM
+fe9f ARABIC LETTER JEEM INITIAL FORM
+fea0 ARABIC LETTER JEEM MEDIAL FORM
+fea1 ARABIC LETTER HAH ISOLATED FORM
+fea2 ARABIC LETTER HAH FINAL FORM
+fea3 ARABIC LETTER HAH INITIAL FORM
+fea4 ARABIC LETTER HAH MEDIAL FORM
+fea5 ARABIC LETTER KHAH ISOLATED FORM
+fea6 ARABIC LETTER KHAH FINAL FORM
+fea7 ARABIC LETTER KHAH INITIAL FORM
+fea8 ARABIC LETTER KHAH MEDIAL FORM
+fea9 ARABIC LETTER DAL ISOLATED FORM
+feaa ARABIC LETTER DAL FINAL FORM
+feab ARABIC LETTER THAL ISOLATED FORM
+feac ARABIC LETTER THAL FINAL FORM
+fead ARABIC LETTER REH ISOLATED FORM
+feae ARABIC LETTER REH FINAL FORM
+feaf ARABIC LETTER ZAIN ISOLATED FORM
+feb0 ARABIC LETTER ZAIN FINAL FORM
+feb1 ARABIC LETTER SEEN ISOLATED FORM
+feb2 ARABIC LETTER SEEN FINAL FORM
+feb3 ARABIC LETTER SEEN INITIAL FORM
+feb4 ARABIC LETTER SEEN MEDIAL FORM
+feb5 ARABIC LETTER SHEEN ISOLATED FORM
+feb6 ARABIC LETTER SHEEN FINAL FORM
+feb7 ARABIC LETTER SHEEN INITIAL FORM
+feb8 ARABIC LETTER SHEEN MEDIAL FORM
+feb9 ARABIC LETTER SAD ISOLATED FORM
+feba ARABIC LETTER SAD FINAL FORM
+febb ARABIC LETTER SAD INITIAL FORM
+febc ARABIC LETTER SAD MEDIAL FORM
+febd ARABIC LETTER DAD ISOLATED FORM
+febe ARABIC LETTER DAD FINAL FORM
+febf ARABIC LETTER DAD INITIAL FORM
+fec0 ARABIC LETTER DAD MEDIAL FORM
+fec1 ARABIC LETTER TAH ISOLATED FORM
+fec2 ARABIC LETTER TAH FINAL FORM
+fec3 ARABIC LETTER TAH INITIAL FORM
+fec4 ARABIC LETTER TAH MEDIAL FORM
+fec5 ARABIC LETTER ZAH ISOLATED FORM
+fec6 ARABIC LETTER ZAH FINAL FORM
+fec7 ARABIC LETTER ZAH INITIAL FORM
+fec8 ARABIC LETTER ZAH MEDIAL FORM
+fec9 ARABIC LETTER AIN ISOLATED FORM
+feca ARABIC LETTER AIN FINAL FORM
+fecb ARABIC LETTER AIN INITIAL FORM
+fecc ARABIC LETTER AIN MEDIAL FORM
+fecd ARABIC LETTER GHAIN ISOLATED FORM
+fece ARABIC LETTER GHAIN FINAL FORM
+fecf ARABIC LETTER GHAIN INITIAL FORM
+fed0 ARABIC LETTER GHAIN MEDIAL FORM
+fed1 ARABIC LETTER FEH ISOLATED FORM
+fed2 ARABIC LETTER FEH FINAL FORM
+fed3 ARABIC LETTER FEH INITIAL FORM
+fed4 ARABIC LETTER FEH MEDIAL FORM
+fed5 ARABIC LETTER QAF ISOLATED FORM
+fed6 ARABIC LETTER QAF FINAL FORM
+fed7 ARABIC LETTER QAF INITIAL FORM
+fed8 ARABIC LETTER QAF MEDIAL FORM
+fed9 ARABIC LETTER KAF ISOLATED FORM
+feda ARABIC LETTER KAF FINAL FORM
+fedb ARABIC LETTER KAF INITIAL FORM
+fedc ARABIC LETTER KAF MEDIAL FORM
+fedd ARABIC LETTER LAM ISOLATED FORM
+fede ARABIC LETTER LAM FINAL FORM
+fedf ARABIC LETTER LAM INITIAL FORM
+fee0 ARABIC LETTER LAM MEDIAL FORM
+fee1 ARABIC LETTER MEEM ISOLATED FORM
+fee2 ARABIC LETTER MEEM FINAL FORM
+fee3 ARABIC LETTER MEEM INITIAL FORM
+fee4 ARABIC LETTER MEEM MEDIAL FORM
+fee5 ARABIC LETTER NOON ISOLATED FORM
+fee6 ARABIC LETTER NOON FINAL FORM
+fee7 ARABIC LETTER NOON INITIAL FORM
+fee8 ARABIC LETTER NOON MEDIAL FORM
+fee9 ARABIC LETTER HEH ISOLATED FORM
+feea ARABIC LETTER HEH FINAL FORM
+feeb ARABIC LETTER HEH INITIAL FORM
+feec ARABIC LETTER HEH MEDIAL FORM
+feed ARABIC LETTER WAW ISOLATED FORM
+feee ARABIC LETTER WAW FINAL FORM
+feef ARABIC LETTER ALEF MAKSURA ISOLATED FORM
+fef0 ARABIC LETTER ALEF MAKSURA FINAL FORM
+fef1 ARABIC LETTER YEH ISOLATED FORM
+fef2 ARABIC LETTER YEH FINAL FORM
+fef3 ARABIC LETTER YEH INITIAL FORM
+fef4 ARABIC LETTER YEH MEDIAL FORM
+fef5 ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
+fef6 ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
+fef7 ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
+fef8 ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
+fef9 ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM
+fefa ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM
+fefb ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
+fefc ARABIC LIGATURE LAM WITH ALEF FINAL FORM
+feff ZERO WIDTH NO-BREAK SPACE
+ff01 FULLWIDTH EXCLAMATION MARK
+ff02 FULLWIDTH QUOTATION MARK
+ff03 FULLWIDTH NUMBER SIGN
+ff04 FULLWIDTH DOLLAR SIGN
+ff05 FULLWIDTH PERCENT SIGN
+ff06 FULLWIDTH AMPERSAND
+ff07 FULLWIDTH APOSTROPHE
+ff08 FULLWIDTH LEFT PARENTHESIS
+ff09 FULLWIDTH RIGHT PARENTHESIS
+ff0a FULLWIDTH ASTERISK
+ff0b FULLWIDTH PLUS SIGN
+ff0c FULLWIDTH COMMA
+ff0d FULLWIDTH HYPHEN-MINUS
+ff0e FULLWIDTH FULL STOP
+ff0f FULLWIDTH SOLIDUS
+ff10 FULLWIDTH DIGIT ZERO
+ff11 FULLWIDTH DIGIT ONE
+ff12 FULLWIDTH DIGIT TWO
+ff13 FULLWIDTH DIGIT THREE
+ff14 FULLWIDTH DIGIT FOUR
+ff15 FULLWIDTH DIGIT FIVE
+ff16 FULLWIDTH DIGIT SIX
+ff17 FULLWIDTH DIGIT SEVEN
+ff18 FULLWIDTH DIGIT EIGHT
+ff19 FULLWIDTH DIGIT NINE
+ff1a FULLWIDTH COLON
+ff1b FULLWIDTH SEMICOLON
+ff1c FULLWIDTH LESS-THAN SIGN
+ff1d FULLWIDTH EQUALS SIGN
+ff1e FULLWIDTH GREATER-THAN SIGN
+ff1f FULLWIDTH QUESTION MARK
+ff20 FULLWIDTH COMMERCIAL AT
+ff21 FULLWIDTH LATIN CAPITAL LETTER A
+ff22 FULLWIDTH LATIN CAPITAL LETTER B
+ff23 FULLWIDTH LATIN CAPITAL LETTER C
+ff24 FULLWIDTH LATIN CAPITAL LETTER D
+ff25 FULLWIDTH LATIN CAPITAL LETTER E
+ff26 FULLWIDTH LATIN CAPITAL LETTER F
+ff27 FULLWIDTH LATIN CAPITAL LETTER G
+ff28 FULLWIDTH LATIN CAPITAL LETTER H
+ff29 FULLWIDTH LATIN CAPITAL LETTER I
+ff2a FULLWIDTH LATIN CAPITAL LETTER J
+ff2b FULLWIDTH LATIN CAPITAL LETTER K
+ff2c FULLWIDTH LATIN CAPITAL LETTER L
+ff2d FULLWIDTH LATIN CAPITAL LETTER M
+ff2e FULLWIDTH LATIN CAPITAL LETTER N
+ff2f FULLWIDTH LATIN CAPITAL LETTER O
+ff30 FULLWIDTH LATIN CAPITAL LETTER P
+ff31 FULLWIDTH LATIN CAPITAL LETTER Q
+ff32 FULLWIDTH LATIN CAPITAL LETTER R
+ff33 FULLWIDTH LATIN CAPITAL LETTER S
+ff34 FULLWIDTH LATIN CAPITAL LETTER T
+ff35 FULLWIDTH LATIN CAPITAL LETTER U
+ff36 FULLWIDTH LATIN CAPITAL LETTER V
+ff37 FULLWIDTH LATIN CAPITAL LETTER W
+ff38 FULLWIDTH LATIN CAPITAL LETTER X
+ff39 FULLWIDTH LATIN CAPITAL LETTER Y
+ff3a FULLWIDTH LATIN CAPITAL LETTER Z
+ff3b FULLWIDTH LEFT SQUARE BRACKET
+ff3c FULLWIDTH REVERSE SOLIDUS
+ff3d FULLWIDTH RIGHT SQUARE BRACKET
+ff3e FULLWIDTH CIRCUMFLEX ACCENT
+ff3f FULLWIDTH LOW LINE
+ff40 FULLWIDTH GRAVE ACCENT
+ff41 FULLWIDTH LATIN SMALL LETTER A
+ff42 FULLWIDTH LATIN SMALL LETTER B
+ff43 FULLWIDTH LATIN SMALL LETTER C
+ff44 FULLWIDTH LATIN SMALL LETTER D
+ff45 FULLWIDTH LATIN SMALL LETTER E
+ff46 FULLWIDTH LATIN SMALL LETTER F
+ff47 FULLWIDTH LATIN SMALL LETTER G
+ff48 FULLWIDTH LATIN SMALL LETTER H
+ff49 FULLWIDTH LATIN SMALL LETTER I
+ff4a FULLWIDTH LATIN SMALL LETTER J
+ff4b FULLWIDTH LATIN SMALL LETTER K
+ff4c FULLWIDTH LATIN SMALL LETTER L
+ff4d FULLWIDTH LATIN SMALL LETTER M
+ff4e FULLWIDTH LATIN SMALL LETTER N
+ff4f FULLWIDTH LATIN SMALL LETTER O
+ff50 FULLWIDTH LATIN SMALL LETTER P
+ff51 FULLWIDTH LATIN SMALL LETTER Q
+ff52 FULLWIDTH LATIN SMALL LETTER R
+ff53 FULLWIDTH LATIN SMALL LETTER S
+ff54 FULLWIDTH LATIN SMALL LETTER T
+ff55 FULLWIDTH LATIN SMALL LETTER U
+ff56 FULLWIDTH LATIN SMALL LETTER V
+ff57 FULLWIDTH LATIN SMALL LETTER W
+ff58 FULLWIDTH LATIN SMALL LETTER X
+ff59 FULLWIDTH LATIN SMALL LETTER Y
+ff5a FULLWIDTH LATIN SMALL LETTER Z
+ff5b FULLWIDTH LEFT CURLY BRACKET
+ff5c FULLWIDTH VERTICAL LINE
+ff5d FULLWIDTH RIGHT CURLY BRACKET
+ff5e FULLWIDTH TILDE
+ff61 HALFWIDTH IDEOGRAPHIC FULL STOP
+ff62 HALFWIDTH LEFT CORNER BRACKET
+ff63 HALFWIDTH RIGHT CORNER BRACKET
+ff64 HALFWIDTH IDEOGRAPHIC COMMA
+ff65 HALFWIDTH KATAKANA MIDDLE DOT
+ff66 HALFWIDTH KATAKANA LETTER WO
+ff67 HALFWIDTH KATAKANA LETTER SMALL A
+ff68 HALFWIDTH KATAKANA LETTER SMALL I
+ff69 HALFWIDTH KATAKANA LETTER SMALL U
+ff6a HALFWIDTH KATAKANA LETTER SMALL E
+ff6b HALFWIDTH KATAKANA LETTER SMALL O
+ff6c HALFWIDTH KATAKANA LETTER SMALL YA
+ff6d HALFWIDTH KATAKANA LETTER SMALL YU
+ff6e HALFWIDTH KATAKANA LETTER SMALL YO
+ff6f HALFWIDTH KATAKANA LETTER SMALL TU
+ff70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
+ff71 HALFWIDTH KATAKANA LETTER A
+ff72 HALFWIDTH KATAKANA LETTER I
+ff73 HALFWIDTH KATAKANA LETTER U
+ff74 HALFWIDTH KATAKANA LETTER E
+ff75 HALFWIDTH KATAKANA LETTER O
+ff76 HALFWIDTH KATAKANA LETTER KA
+ff77 HALFWIDTH KATAKANA LETTER KI
+ff78 HALFWIDTH KATAKANA LETTER KU
+ff79 HALFWIDTH KATAKANA LETTER KE
+ff7a HALFWIDTH KATAKANA LETTER KO
+ff7b HALFWIDTH KATAKANA LETTER SA
+ff7c HALFWIDTH KATAKANA LETTER SI
+ff7d HALFWIDTH KATAKANA LETTER SU
+ff7e HALFWIDTH KATAKANA LETTER SE
+ff7f HALFWIDTH KATAKANA LETTER SO
+ff80 HALFWIDTH KATAKANA LETTER TA
+ff81 HALFWIDTH KATAKANA LETTER TI
+ff82 HALFWIDTH KATAKANA LETTER TU
+ff83 HALFWIDTH KATAKANA LETTER TE
+ff84 HALFWIDTH KATAKANA LETTER TO
+ff85 HALFWIDTH KATAKANA LETTER NA
+ff86 HALFWIDTH KATAKANA LETTER NI
+ff87 HALFWIDTH KATAKANA LETTER NU
+ff88 HALFWIDTH KATAKANA LETTER NE
+ff89 HALFWIDTH KATAKANA LETTER NO
+ff8a HALFWIDTH KATAKANA LETTER HA
+ff8b HALFWIDTH KATAKANA LETTER HI
+ff8c HALFWIDTH KATAKANA LETTER HU
+ff8d HALFWIDTH KATAKANA LETTER HE
+ff8e HALFWIDTH KATAKANA LETTER HO
+ff8f HALFWIDTH KATAKANA LETTER MA
+ff90 HALFWIDTH KATAKANA LETTER MI
+ff91 HALFWIDTH KATAKANA LETTER MU
+ff92 HALFWIDTH KATAKANA LETTER ME
+ff93 HALFWIDTH KATAKANA LETTER MO
+ff94 HALFWIDTH KATAKANA LETTER YA
+ff95 HALFWIDTH KATAKANA LETTER YU
+ff96 HALFWIDTH KATAKANA LETTER YO
+ff97 HALFWIDTH KATAKANA LETTER RA
+ff98 HALFWIDTH KATAKANA LETTER RI
+ff99 HALFWIDTH KATAKANA LETTER RU
+ff9a HALFWIDTH KATAKANA LETTER RE
+ff9b HALFWIDTH KATAKANA LETTER RO
+ff9c HALFWIDTH KATAKANA LETTER WA
+ff9d HALFWIDTH KATAKANA LETTER N
+ff9e HALFWIDTH KATAKANA VOICED SOUND MARK
+ff9f HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
+ffa0 HALFWIDTH HANGUL FILLER
+ffa1 HALFWIDTH HANGUL LETTER KIYEOK
+ffa2 HALFWIDTH HANGUL LETTER SSANGKIYEOK
+ffa3 HALFWIDTH HANGUL LETTER KIYEOK-SIOS
+ffa4 HALFWIDTH HANGUL LETTER NIEUN
+ffa5 HALFWIDTH HANGUL LETTER NIEUN-CIEUC
+ffa6 HALFWIDTH HANGUL LETTER NIEUN-HIEUH
+ffa7 HALFWIDTH HANGUL LETTER TIKEUT
+ffa8 HALFWIDTH HANGUL LETTER SSANGTIKEUT
+ffa9 HALFWIDTH HANGUL LETTER RIEUL
+ffaa HALFWIDTH HANGUL LETTER RIEUL-KIYEOK
+ffab HALFWIDTH HANGUL LETTER RIEUL-MIEUM
+ffac HALFWIDTH HANGUL LETTER RIEUL-PIEUP
+ffad HALFWIDTH HANGUL LETTER RIEUL-SIOS
+ffae HALFWIDTH HANGUL LETTER RIEUL-THIEUTH
+ffaf HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH
+ffb0 HALFWIDTH HANGUL LETTER RIEUL-HIEUH
+ffb1 HALFWIDTH HANGUL LETTER MIEUM
+ffb2 HALFWIDTH HANGUL LETTER PIEUP
+ffb3 HALFWIDTH HANGUL LETTER SSANGPIEUP
+ffb4 HALFWIDTH HANGUL LETTER PIEUP-SIOS
+ffb5 HALFWIDTH HANGUL LETTER SIOS
+ffb6 HALFWIDTH HANGUL LETTER SSANGSIOS
+ffb7 HALFWIDTH HANGUL LETTER IEUNG
+ffb8 HALFWIDTH HANGUL LETTER CIEUC
+ffb9 HALFWIDTH HANGUL LETTER SSANGCIEUC
+ffba HALFWIDTH HANGUL LETTER CHIEUCH
+ffbb HALFWIDTH HANGUL LETTER KHIEUKH
+ffbc HALFWIDTH HANGUL LETTER THIEUTH
+ffbd HALFWIDTH HANGUL LETTER PHIEUPH
+ffbe HALFWIDTH HANGUL LETTER HIEUH
+ffc2 HALFWIDTH HANGUL LETTER A
+ffc3 HALFWIDTH HANGUL LETTER AE
+ffc4 HALFWIDTH HANGUL LETTER YA
+ffc5 HALFWIDTH HANGUL LETTER YAE
+ffc6 HALFWIDTH HANGUL LETTER EO
+ffc7 HALFWIDTH HANGUL LETTER E
+ffca HALFWIDTH HANGUL LETTER YEO
+ffcb HALFWIDTH HANGUL LETTER YE
+ffcc HALFWIDTH HANGUL LETTER O
+ffcd HALFWIDTH HANGUL LETTER WA
+ffce HALFWIDTH HANGUL LETTER WAE
+ffcf HALFWIDTH HANGUL LETTER OE
+ffd2 HALFWIDTH HANGUL LETTER YO
+ffd3 HALFWIDTH HANGUL LETTER U
+ffd4 HALFWIDTH HANGUL LETTER WEO
+ffd5 HALFWIDTH HANGUL LETTER WE
+ffd6 HALFWIDTH HANGUL LETTER WI
+ffd7 HALFWIDTH HANGUL LETTER YU
+ffda HALFWIDTH HANGUL LETTER EU
+ffdb HALFWIDTH HANGUL LETTER YI
+ffdc HALFWIDTH HANGUL LETTER I
+ffe0 FULLWIDTH CENT SIGN
+ffe1 FULLWIDTH POUND SIGN
+ffe2 FULLWIDTH NOT SIGN
+ffe3 FULLWIDTH MACRON
+ffe4 FULLWIDTH BROKEN BAR
+ffe5 FULLWIDTH YEN SIGN
+ffe6 FULLWIDTH WON SIGN
+ffe8 HALFWIDTH FORMS LIGHT VERTICAL
+ffe9 HALFWIDTH LEFTWARDS ARROW
+ffea HALFWIDTH UPWARDS ARROW
+ffeb HALFWIDTH RIGHTWARDS ARROW
+ffec HALFWIDTH DOWNWARDS ARROW
+ffed HALFWIDTH BLACK SQUARE
+ffee HALFWIDTH WHITE CIRCLE
+fffc OBJECT REPLACEMENT CHARACTER
+fffd REPLACEMENT CHARACTER
+END
diff --git a/lib/unicode/Number.pl b/lib/unicode/Number.pl
new file mode 100644
index 0000000000..c87d46fb18
--- /dev/null
+++ b/lib/unicode/Number.pl
@@ -0,0 +1,331 @@
+return <<'END';
+0031 1
+0032 2
+0033 3
+0034 4
+0035 5
+0036 6
+0037 7
+0038 8
+0039 9
+00b2 2
+00b3 3
+00b9 1
+00bc 1/4
+00bd 1/2
+00be 3/4
+0661 1
+0662 2
+0663 3
+0664 4
+0665 5
+0666 6
+0667 7
+0668 8
+0669 9
+06f1 1
+06f2 2
+06f3 3
+06f4 4
+06f5 5
+06f6 6
+06f7 7
+06f8 8
+06f9 9
+0967 1
+0968 2
+0969 3
+096a 4
+096b 5
+096c 6
+096d 7
+096e 8
+096f 9
+09e7 1
+09e8 2
+09e9 3
+09ea 4
+09eb 5
+09ec 6
+09ed 7
+09ee 8
+09ef 9
+09f4 1
+09f5 2
+09f6 3
+09f7 4
+09f8 -1
+09f9 16
+0a67 1
+0a68 2
+0a69 3
+0a6a 4
+0a6b 5
+0a6c 6
+0a6d 7
+0a6e 8
+0a6f 9
+0ae7 1
+0ae8 2
+0ae9 3
+0aea 4
+0aeb 5
+0aec 6
+0aed 7
+0aee 8
+0aef 9
+0b67 1
+0b68 2
+0b69 3
+0b6a 4
+0b6b 5
+0b6c 6
+0b6d 7
+0b6e 8
+0b6f 9
+0be7 1
+0be8 2
+0be9 3
+0bea 4
+0beb 5
+0bec 6
+0bed 7
+0bee 8
+0bef 9
+0bf0 10
+0bf1 100
+0bf2 1000
+0c67 1
+0c68 2
+0c69 3
+0c6a 4
+0c6b 5
+0c6c 6
+0c6d 7
+0c6e 8
+0c6f 9
+0ce7 1
+0ce8 2
+0ce9 3
+0cea 4
+0ceb 5
+0cec 6
+0ced 7
+0cee 8
+0cef 9
+0d67 1
+0d68 2
+0d69 3
+0d6a 4
+0d6b 5
+0d6c 6
+0d6d 7
+0d6e 8
+0d6f 9
+0e51 1
+0e52 2
+0e53 3
+0e54 4
+0e55 5
+0e56 6
+0e57 7
+0e58 8
+0e59 9
+0ed1 1
+0ed2 2
+0ed3 3
+0ed4 4
+0ed5 5
+0ed6 6
+0ed7 7
+0ed8 8
+0ed9 9
+0f21 1
+0f22 2
+0f23 3
+0f24 4
+0f25 5
+0f26 6
+0f27 7
+0f28 8
+0f29 9
+2074 4
+2075 5
+2076 6
+2077 7
+2078 8
+2079 9
+2081 1
+2082 2
+2083 3
+2084 4
+2085 5
+2086 6
+2087 7
+2088 8
+2089 9
+2153 1/3
+2154 2/3
+2155 1/5
+2156 2/5
+2157 3/5
+2158 4/5
+2159 1/6
+215a 5/6
+215b 1/8
+215c 3/8
+215d 5/8
+215e 7/8
+215f 2160 1
+2161 2
+2162 3
+2163 4
+2164 5
+2165 6
+2166 7
+2167 8
+2168 9
+2169 10
+216a 11
+216b 12
+216c 50
+216d 100
+216e 500
+216f 1000
+2170 1
+2171 2
+2172 3
+2173 4
+2174 5
+2175 6
+2176 7
+2177 8
+2178 9
+2179 10
+217a 11
+217b 12
+217c 50
+217d 100
+217e 500
+217f 2180 1000
+2181 5000
+2182 10000
+2460 1
+2461 2
+2462 3
+2463 4
+2464 5
+2465 6
+2466 7
+2467 8
+2468 9
+2469 10
+246a 11
+246b 12
+246c 13
+246d 14
+246e 15
+246f 16
+2470 17
+2471 18
+2472 19
+2473 20
+2474 1
+2475 2
+2476 3
+2477 4
+2478 5
+2479 6
+247a 7
+247b 8
+247c 9
+247d 10
+247e 11
+247f 12
+2480 13
+2481 14
+2482 15
+2483 16
+2484 17
+2485 18
+2486 19
+2487 20
+2488 1
+2489 2
+248a 3
+248b 4
+248c 5
+248d 6
+248e 7
+248f 8
+2490 9
+2491 10
+2492 11
+2493 12
+2494 13
+2495 14
+2496 15
+2497 16
+2498 17
+2499 18
+249a 19
+249b 20
+2776 1
+2777 2
+2778 3
+2779 4
+277a 5
+277b 6
+277c 7
+277d 8
+277e 9
+277f 10
+2780 1
+2781 2
+2782 3
+2783 4
+2784 5
+2785 6
+2786 7
+2787 8
+2788 9
+2789 10
+278a 1
+278b 2
+278c 3
+278d 4
+278e 5
+278f 6
+2790 7
+2791 8
+2792 9
+2793 10
+3021 1
+3022 2
+3023 3
+3024 4
+3025 5
+3026 6
+3027 7
+3028 8
+3029 9
+3280 1
+3281 2
+3282 3
+3283 4
+3284 5
+3285 6
+3286 7
+3287 8
+3288 9
+3289 10
+ff11 1
+ff12 2
+ff13 3
+ff14 4
+ff15 5
+ff16 6
+ff17 7
+ff18 8
+ff19 9
+END
diff --git a/lib/unicode/To/Digit.pl b/lib/unicode/To/Digit.pl
new file mode 100644
index 0000000000..8f60c4f3b7
--- /dev/null
+++ b/lib/unicode/To/Digit.pl
@@ -0,0 +1,23 @@
+return <<'END';
+0030 0039 0000
+00b2 00b3 0002
+00b9 0001
+0660 0669 0000
+06f0 06f9 0000
+0966 096f 0000
+09e6 09ef 0000
+0a66 0a6f 0000
+0ae6 0aef 0000
+0b66 0b6f 0000
+0be7 0bef 0001
+0c66 0c6f 0000
+0ce6 0cef 0000
+0d66 0d6f 0000
+0e50 0e59 0000
+0ed0 0ed9 0000
+0f20 0f29 0000
+2070 0000
+2074 2079 0004
+2080 2089 0000
+ff10 ff19 0000
+END
diff --git a/lib/unicode/To/Lower.pl b/lib/unicode/To/Lower.pl
new file mode 100644
index 0000000000..4a86d3edd9
--- /dev/null
+++ b/lib/unicode/To/Lower.pl
@@ -0,0 +1,374 @@
+return <<'END';
+0041 005a 0061
+00c0 00d6 00e0
+00d8 00de 00f8
+0100 0101
+0102 0103
+0104 0105
+0106 0107
+0108 0109
+010a 010b
+010c 010d
+010e 010f
+0110 0111
+0112 0113
+0114 0115
+0116 0117
+0118 0119
+011a 011b
+011c 011d
+011e 011f
+0120 0121
+0122 0123
+0124 0125
+0126 0127
+0128 0129
+012a 012b
+012c 012d
+012e 012f
+0130 0069
+0132 0133
+0134 0135
+0136 0137
+0139 013a
+013b 013c
+013d 013e
+013f 0140
+0141 0142
+0143 0144
+0145 0146
+0147 0148
+014a 014b
+014c 014d
+014e 014f
+0150 0151
+0152 0153
+0154 0155
+0156 0157
+0158 0159
+015a 015b
+015c 015d
+015e 015f
+0160 0161
+0162 0163
+0164 0165
+0166 0167
+0168 0169
+016a 016b
+016c 016d
+016e 016f
+0170 0171
+0172 0173
+0174 0175
+0176 0177
+0178 00ff
+0179 017a
+017b 017c
+017d 017e
+0181 0253
+0182 0183
+0184 0185
+0186 0254
+0187 0188
+0189 018a 0256
+018b 018c
+018e 01dd
+018f 0259
+0190 025b
+0191 0192
+0193 0260
+0194 0263
+0196 0269
+0197 0268
+0198 0199
+019c 026f
+019d 0272
+019f 0275
+01a0 01a1
+01a2 01a3
+01a4 01a5
+01a7 01a8
+01a9 0283
+01ac 01ad
+01ae 0288
+01af 01b0
+01b1 01b2 028a
+01b3 01b4
+01b5 01b6
+01b7 0292
+01b8 01b9
+01bc 01bd
+01c4 01c6
+01c5 01c6
+01c7 01c9
+01c8 01c9
+01ca 01cc
+01cb 01cc
+01cd 01ce
+01cf 01d0
+01d1 01d2
+01d3 01d4
+01d5 01d6
+01d7 01d8
+01d9 01da
+01db 01dc
+01de 01df
+01e0 01e1
+01e2 01e3
+01e4 01e5
+01e6 01e7
+01e8 01e9
+01ea 01eb
+01ec 01ed
+01ee 01ef
+01f1 01f3
+01f2 01f3
+01f4 01f5
+01fa 01fb
+01fc 01fd
+01fe 01ff
+0200 0201
+0202 0203
+0204 0205
+0206 0207
+0208 0209
+020a 020b
+020c 020d
+020e 020f
+0210 0211
+0212 0213
+0214 0215
+0216 0217
+0275 019f
+0386 03ac
+0388 038a 03ad
+038c 03cc
+038e 038f 03cd
+0391 03a1 03b1
+03a3 03ab 03c3
+03e2 03e3
+03e4 03e5
+03e6 03e7
+03e8 03e9
+03ea 03eb
+03ec 03ed
+03ee 03ef
+0401 040c 0451
+040e 040f 045e
+0410 042f 0430
+0460 0461
+0462 0463
+0464 0465
+0466 0467
+0468 0469
+046a 046b
+046c 046d
+046e 046f
+0470 0471
+0472 0473
+0474 0475
+0476 0477
+0478 0479
+047a 047b
+047c 047d
+047e 047f
+0480 0481
+0490 0491
+0492 0493
+0494 0495
+0496 0497
+0498 0499
+049a 049b
+049c 049d
+049e 049f
+04a0 04a1
+04a2 04a3
+04a4 04a5
+04a6 04a7
+04a8 04a9
+04aa 04ab
+04ac 04ad
+04ae 04af
+04b0 04b1
+04b2 04b3
+04b4 04b5
+04b6 04b7
+04b8 04b9
+04ba 04bb
+04bc 04bd
+04be 04bf
+04c1 04c2
+04c3 04c4
+04c7 04c8
+04cb 04cc
+04d0 04d1
+04d2 04d3
+04d4 04d5
+04d6 04d7
+04d8 04d9
+04da 04db
+04dc 04dd
+04de 04df
+04e0 04e1
+04e2 04e3
+04e4 04e5
+04e6 04e7
+04e8 04e9
+04ea 04eb
+04ee 04ef
+04f0 04f1
+04f2 04f3
+04f4 04f5
+04f8 04f9
+0531 0556 0561
+10a0 10c5 10d0
+1e00 1e01
+1e02 1e03
+1e04 1e05
+1e06 1e07
+1e08 1e09
+1e0a 1e0b
+1e0c 1e0d
+1e0e 1e0f
+1e10 1e11
+1e12 1e13
+1e14 1e15
+1e16 1e17
+1e18 1e19
+1e1a 1e1b
+1e1c 1e1d
+1e1e 1e1f
+1e20 1e21
+1e22 1e23
+1e24 1e25
+1e26 1e27
+1e28 1e29
+1e2a 1e2b
+1e2c 1e2d
+1e2e 1e2f
+1e30 1e31
+1e32 1e33
+1e34 1e35
+1e36 1e37
+1e38 1e39
+1e3a 1e3b
+1e3c 1e3d
+1e3e 1e3f
+1e40 1e41
+1e42 1e43
+1e44 1e45
+1e46 1e47
+1e48 1e49
+1e4a 1e4b
+1e4c 1e4d
+1e4e 1e4f
+1e50 1e51
+1e52 1e53
+1e54 1e55
+1e56 1e57
+1e58 1e59
+1e5a 1e5b
+1e5c 1e5d
+1e5e 1e5f
+1e60 1e61
+1e62 1e63
+1e64 1e65
+1e66 1e67
+1e68 1e69
+1e6a 1e6b
+1e6c 1e6d
+1e6e 1e6f
+1e70 1e71
+1e72 1e73
+1e74 1e75
+1e76 1e77
+1e78 1e79
+1e7a 1e7b
+1e7c 1e7d
+1e7e 1e7f
+1e80 1e81
+1e82 1e83
+1e84 1e85
+1e86 1e87
+1e88 1e89
+1e8a 1e8b
+1e8c 1e8d
+1e8e 1e8f
+1e90 1e91
+1e92 1e93
+1e94 1e95
+1ea0 1ea1
+1ea2 1ea3
+1ea4 1ea5
+1ea6 1ea7
+1ea8 1ea9
+1eaa 1eab
+1eac 1ead
+1eae 1eaf
+1eb0 1eb1
+1eb2 1eb3
+1eb4 1eb5
+1eb6 1eb7
+1eb8 1eb9
+1eba 1ebb
+1ebc 1ebd
+1ebe 1ebf
+1ec0 1ec1
+1ec2 1ec3
+1ec4 1ec5
+1ec6 1ec7
+1ec8 1ec9
+1eca 1ecb
+1ecc 1ecd
+1ece 1ecf
+1ed0 1ed1
+1ed2 1ed3
+1ed4 1ed5
+1ed6 1ed7
+1ed8 1ed9
+1eda 1edb
+1edc 1edd
+1ede 1edf
+1ee0 1ee1
+1ee2 1ee3
+1ee4 1ee5
+1ee6 1ee7
+1ee8 1ee9
+1eea 1eeb
+1eec 1eed
+1eee 1eef
+1ef0 1ef1
+1ef2 1ef3
+1ef4 1ef5
+1ef6 1ef7
+1ef8 1ef9
+1f08 1f0f 1f00
+1f18 1f1d 1f10
+1f28 1f2f 1f20
+1f38 1f3f 1f30
+1f48 1f4d 1f40
+1f59 1f51
+1f5b 1f53
+1f5d 1f55
+1f5f 1f57
+1f68 1f6f 1f60
+1f88 1f8f 1f80
+1f98 1f9f 1f90
+1fa8 1faf 1fa0
+1fb8 1fb9 1fb0
+1fba 1fbb 1f70
+1fbc 1fb3
+1fc8 1fcb 1f72
+1fcc 1fc3
+1fd8 1fd9 1fd0
+1fda 1fdb 1f76
+1fe8 1fe9 1fe0
+1fea 1feb 1f7a
+1fec 1fe5
+1ff8 1ff9 1f78
+1ffa 1ffb 1f7c
+1ffc 1ff3
+2160 216f 2170
+24b6 24cf 24d0
+ff21 ff3a ff41
+END
diff --git a/lib/unicode/To/Title.pl b/lib/unicode/To/Title.pl
new file mode 100644
index 0000000000..06ef76c9f3
--- /dev/null
+++ b/lib/unicode/To/Title.pl
@@ -0,0 +1,374 @@
+return <<'END';
+0061 007a 0041
+00e0 00f6 00c0
+00f8 00fe 00d8
+00ff 0178
+0101 0100
+0103 0102
+0105 0104
+0107 0106
+0109 0108
+010b 010a
+010d 010c
+010f 010e
+0111 0110
+0113 0112
+0115 0114
+0117 0116
+0119 0118
+011b 011a
+011d 011c
+011f 011e
+0121 0120
+0123 0122
+0125 0124
+0127 0126
+0129 0128
+012b 012a
+012d 012c
+012f 012e
+0131 0049
+0133 0132
+0135 0134
+0137 0136
+013a 0139
+013c 013b
+013e 013d
+0140 013f
+0142 0141
+0144 0143
+0146 0145
+0148 0147
+014b 014a
+014d 014c
+014f 014e
+0151 0150
+0153 0152
+0155 0154
+0157 0156
+0159 0158
+015b 015a
+015d 015c
+015f 015e
+0161 0160
+0163 0162
+0165 0164
+0167 0166
+0169 0168
+016b 016a
+016d 016c
+016f 016e
+0171 0170
+0173 0172
+0175 0174
+0177 0176
+017a 0179
+017c 017b
+017e 017d
+017f 0053
+0183 0182
+0185 0184
+0188 0187
+018c 018b
+0192 0191
+0199 0198
+01a1 01a0
+01a3 01a2
+01a5 01a4
+01a8 01a7
+01ad 01ac
+01b0 01af
+01b4 01b3
+01b6 01b5
+01b9 01b8
+01bd 01bc
+01c4 01c5
+01c6 01c5
+01c7 01c8
+01c9 01c8
+01ca 01cb
+01cc 01cb
+01ce 01cd
+01d0 01cf
+01d2 01d1
+01d4 01d3
+01d6 01d5
+01d8 01d7
+01da 01d9
+01dc 01db
+01dd 018e
+01df 01de
+01e1 01e0
+01e3 01e2
+01e5 01e4
+01e7 01e6
+01e9 01e8
+01eb 01ea
+01ed 01ec
+01ef 01ee
+01f1 01f2
+01f3 01f2
+01f5 01f4
+01fb 01fa
+01fd 01fc
+01ff 01fe
+0201 0200
+0203 0202
+0205 0204
+0207 0206
+0209 0208
+020b 020a
+020d 020c
+020f 020e
+0211 0210
+0213 0212
+0215 0214
+0217 0216
+0253 0181
+0254 0186
+0256 0257 0189
+0259 018f
+025b 0190
+0260 0193
+0263 0194
+0268 0197
+0269 0196
+026f 019c
+0272 019d
+0283 01a9
+0288 01ae
+028a 028b 01b1
+0292 01b7
+03ac 0386
+03ad 03af 0388
+03b1 03c1 0391
+03c2 03a3
+03c3 03cb 03a3
+03cc 038c
+03cd 03ce 038e
+03e3 03e2
+03e5 03e4
+03e7 03e6
+03e9 03e8
+03eb 03ea
+03ed 03ec
+03ef 03ee
+0430 044f 0410
+0451 045c 0401
+045e 045f 040e
+0461 0460
+0463 0462
+0465 0464
+0467 0466
+0469 0468
+046b 046a
+046d 046c
+046f 046e
+0471 0470
+0473 0472
+0475 0474
+0477 0476
+0479 0478
+047b 047a
+047d 047c
+047f 047e
+0481 0480
+0491 0490
+0493 0492
+0495 0494
+0497 0496
+0499 0498
+049b 049a
+049d 049c
+049f 049e
+04a1 04a0
+04a3 04a2
+04a5 04a4
+04a7 04a6
+04a9 04a8
+04ab 04aa
+04ad 04ac
+04af 04ae
+04b1 04b0
+04b3 04b2
+04b5 04b4
+04b7 04b6
+04b9 04b8
+04bb 04ba
+04bd 04bc
+04bf 04be
+04c2 04c1
+04c4 04c3
+04c8 04c7
+04cc 04cb
+04d1 04d0
+04d3 04d2
+04d5 04d4
+04d7 04d6
+04d9 04d8
+04db 04da
+04dd 04dc
+04df 04de
+04e1 04e0
+04e3 04e2
+04e5 04e4
+04e7 04e6
+04e9 04e8
+04eb 04ea
+04ef 04ee
+04f1 04f0
+04f3 04f2
+04f5 04f4
+04f9 04f8
+0561 0586 0531
+1e01 1e00
+1e03 1e02
+1e05 1e04
+1e07 1e06
+1e09 1e08
+1e0b 1e0a
+1e0d 1e0c
+1e0f 1e0e
+1e11 1e10
+1e13 1e12
+1e15 1e14
+1e17 1e16
+1e19 1e18
+1e1b 1e1a
+1e1d 1e1c
+1e1f 1e1e
+1e21 1e20
+1e23 1e22
+1e25 1e24
+1e27 1e26
+1e29 1e28
+1e2b 1e2a
+1e2d 1e2c
+1e2f 1e2e
+1e31 1e30
+1e33 1e32
+1e35 1e34
+1e37 1e36
+1e39 1e38
+1e3b 1e3a
+1e3d 1e3c
+1e3f 1e3e
+1e41 1e40
+1e43 1e42
+1e45 1e44
+1e47 1e46
+1e49 1e48
+1e4b 1e4a
+1e4d 1e4c
+1e4f 1e4e
+1e51 1e50
+1e53 1e52
+1e55 1e54
+1e57 1e56
+1e59 1e58
+1e5b 1e5a
+1e5d 1e5c
+1e5f 1e5e
+1e61 1e60
+1e63 1e62
+1e65 1e64
+1e67 1e66
+1e69 1e68
+1e6b 1e6a
+1e6d 1e6c
+1e6f 1e6e
+1e71 1e70
+1e73 1e72
+1e75 1e74
+1e77 1e76
+1e79 1e78
+1e7b 1e7a
+1e7d 1e7c
+1e7f 1e7e
+1e81 1e80
+1e83 1e82
+1e85 1e84
+1e87 1e86
+1e89 1e88
+1e8b 1e8a
+1e8d 1e8c
+1e8f 1e8e
+1e91 1e90
+1e93 1e92
+1e95 1e94
+1e9b 1e60
+1ea1 1ea0
+1ea3 1ea2
+1ea5 1ea4
+1ea7 1ea6
+1ea9 1ea8
+1eab 1eaa
+1ead 1eac
+1eaf 1eae
+1eb1 1eb0
+1eb3 1eb2
+1eb5 1eb4
+1eb7 1eb6
+1eb9 1eb8
+1ebb 1eba
+1ebd 1ebc
+1ebf 1ebe
+1ec1 1ec0
+1ec3 1ec2
+1ec5 1ec4
+1ec7 1ec6
+1ec9 1ec8
+1ecb 1eca
+1ecd 1ecc
+1ecf 1ece
+1ed1 1ed0
+1ed3 1ed2
+1ed5 1ed4
+1ed7 1ed6
+1ed9 1ed8
+1edb 1eda
+1edd 1edc
+1edf 1ede
+1ee1 1ee0
+1ee3 1ee2
+1ee5 1ee4
+1ee7 1ee6
+1ee9 1ee8
+1eeb 1eea
+1eed 1eec
+1eef 1eee
+1ef1 1ef0
+1ef3 1ef2
+1ef5 1ef4
+1ef7 1ef6
+1ef9 1ef8
+1f00 1f07 1f08
+1f10 1f15 1f18
+1f20 1f27 1f28
+1f30 1f37 1f38
+1f40 1f45 1f48
+1f51 1f59
+1f53 1f5b
+1f55 1f5d
+1f57 1f5f
+1f60 1f67 1f68
+1f70 1f71 1fba
+1f72 1f75 1fc8
+1f76 1f77 1fda
+1f78 1f79 1ff8
+1f7a 1f7b 1fea
+1f7c 1f7d 1ffa
+1f80 1f87 1f88
+1f90 1f97 1f98
+1fa0 1fa7 1fa8
+1fb0 1fb1 1fb8
+1fb3 1fbc
+1fc3 1fcc
+1fd0 1fd1 1fd8
+1fe0 1fe1 1fe8
+1fe5 1fec
+1ff3 1ffc
+2170 217f 2160
+24d0 24e9 24b6
+ff41 ff5a ff21
+END
diff --git a/lib/unicode/To/Upper.pl b/lib/unicode/To/Upper.pl
new file mode 100644
index 0000000000..2415c03a6a
--- /dev/null
+++ b/lib/unicode/To/Upper.pl
@@ -0,0 +1,380 @@
+return <<'END';
+0061 007a 0041
+00e0 00f6 00c0
+00f8 00fe 00d8
+00ff 0178
+0101 0100
+0103 0102
+0105 0104
+0107 0106
+0109 0108
+010b 010a
+010d 010c
+010f 010e
+0111 0110
+0113 0112
+0115 0114
+0117 0116
+0119 0118
+011b 011a
+011d 011c
+011f 011e
+0121 0120
+0123 0122
+0125 0124
+0127 0126
+0129 0128
+012b 012a
+012d 012c
+012f 012e
+0131 0049
+0133 0132
+0135 0134
+0137 0136
+013a 0139
+013c 013b
+013e 013d
+0140 013f
+0142 0141
+0144 0143
+0146 0145
+0148 0147
+014b 014a
+014d 014c
+014f 014e
+0151 0150
+0153 0152
+0155 0154
+0157 0156
+0159 0158
+015b 015a
+015d 015c
+015f 015e
+0161 0160
+0163 0162
+0165 0164
+0167 0166
+0169 0168
+016b 016a
+016d 016c
+016f 016e
+0171 0170
+0173 0172
+0175 0174
+0177 0176
+017a 0179
+017c 017b
+017e 017d
+017f 0053
+0183 0182
+0185 0184
+0188 0187
+018c 018b
+0192 0191
+0199 0198
+01a1 01a0
+01a3 01a2
+01a5 01a4
+01a8 01a7
+01ad 01ac
+01b0 01af
+01b4 01b3
+01b6 01b5
+01b9 01b8
+01bd 01bc
+01c5 01c4
+01c6 01c4
+01c8 01c7
+01c9 01c7
+01cb 01ca
+01cc 01ca
+01ce 01cd
+01d0 01cf
+01d2 01d1
+01d4 01d3
+01d6 01d5
+01d8 01d7
+01da 01d9
+01dc 01db
+01dd 018e
+01df 01de
+01e1 01e0
+01e3 01e2
+01e5 01e4
+01e7 01e6
+01e9 01e8
+01eb 01ea
+01ed 01ec
+01ef 01ee
+01f2 01f1
+01f3 01f1
+01f5 01f4
+01fb 01fa
+01fd 01fc
+01ff 01fe
+0201 0200
+0203 0202
+0205 0204
+0207 0206
+0209 0208
+020b 020a
+020d 020c
+020f 020e
+0211 0210
+0213 0212
+0215 0214
+0217 0216
+0253 0181
+0254 0186
+0256 0257 0189
+0259 018f
+025b 0190
+0260 0193
+0263 0194
+0268 0197
+0269 0196
+026f 019c
+0272 019d
+0283 01a9
+0288 01ae
+028a 028b 01b1
+0292 01b7
+03ac 0386
+03ad 03af 0388
+03b1 03c1 0391
+03c2 03a3
+03c3 03cb 03a3
+03cc 038c
+03cd 03ce 038e
+03d0 0392
+03d1 0398
+03d5 03a6
+03d6 03a0
+03e3 03e2
+03e5 03e4
+03e7 03e6
+03e9 03e8
+03eb 03ea
+03ed 03ec
+03ef 03ee
+03f0 039a
+03f1 03a1
+0430 044f 0410
+0451 045c 0401
+045e 045f 040e
+0461 0460
+0463 0462
+0465 0464
+0467 0466
+0469 0468
+046b 046a
+046d 046c
+046f 046e
+0471 0470
+0473 0472
+0475 0474
+0477 0476
+0479 0478
+047b 047a
+047d 047c
+047f 047e
+0481 0480
+0491 0490
+0493 0492
+0495 0494
+0497 0496
+0499 0498
+049b 049a
+049d 049c
+049f 049e
+04a1 04a0
+04a3 04a2
+04a5 04a4
+04a7 04a6
+04a9 04a8
+04ab 04aa
+04ad 04ac
+04af 04ae
+04b1 04b0
+04b3 04b2
+04b5 04b4
+04b7 04b6
+04b9 04b8
+04bb 04ba
+04bd 04bc
+04bf 04be
+04c2 04c1
+04c4 04c3
+04c8 04c7
+04cc 04cb
+04d1 04d0
+04d3 04d2
+04d5 04d4
+04d7 04d6
+04d9 04d8
+04db 04da
+04dd 04dc
+04df 04de
+04e1 04e0
+04e3 04e2
+04e5 04e4
+04e7 04e6
+04e9 04e8
+04eb 04ea
+04ef 04ee
+04f1 04f0
+04f3 04f2
+04f5 04f4
+04f9 04f8
+0561 0586 0531
+1e01 1e00
+1e03 1e02
+1e05 1e04
+1e07 1e06
+1e09 1e08
+1e0b 1e0a
+1e0d 1e0c
+1e0f 1e0e
+1e11 1e10
+1e13 1e12
+1e15 1e14
+1e17 1e16
+1e19 1e18
+1e1b 1e1a
+1e1d 1e1c
+1e1f 1e1e
+1e21 1e20
+1e23 1e22
+1e25 1e24
+1e27 1e26
+1e29 1e28
+1e2b 1e2a
+1e2d 1e2c
+1e2f 1e2e
+1e31 1e30
+1e33 1e32
+1e35 1e34
+1e37 1e36
+1e39 1e38
+1e3b 1e3a
+1e3d 1e3c
+1e3f 1e3e
+1e41 1e40
+1e43 1e42
+1e45 1e44
+1e47 1e46
+1e49 1e48
+1e4b 1e4a
+1e4d 1e4c
+1e4f 1e4e
+1e51 1e50
+1e53 1e52
+1e55 1e54
+1e57 1e56
+1e59 1e58
+1e5b 1e5a
+1e5d 1e5c
+1e5f 1e5e
+1e61 1e60
+1e63 1e62
+1e65 1e64
+1e67 1e66
+1e69 1e68
+1e6b 1e6a
+1e6d 1e6c
+1e6f 1e6e
+1e71 1e70
+1e73 1e72
+1e75 1e74
+1e77 1e76
+1e79 1e78
+1e7b 1e7a
+1e7d 1e7c
+1e7f 1e7e
+1e81 1e80
+1e83 1e82
+1e85 1e84
+1e87 1e86
+1e89 1e88
+1e8b 1e8a
+1e8d 1e8c
+1e8f 1e8e
+1e91 1e90
+1e93 1e92
+1e95 1e94
+1e9b 1e60
+1ea1 1ea0
+1ea3 1ea2
+1ea5 1ea4
+1ea7 1ea6
+1ea9 1ea8
+1eab 1eaa
+1ead 1eac
+1eaf 1eae
+1eb1 1eb0
+1eb3 1eb2
+1eb5 1eb4
+1eb7 1eb6
+1eb9 1eb8
+1ebb 1eba
+1ebd 1ebc
+1ebf 1ebe
+1ec1 1ec0
+1ec3 1ec2
+1ec5 1ec4
+1ec7 1ec6
+1ec9 1ec8
+1ecb 1eca
+1ecd 1ecc
+1ecf 1ece
+1ed1 1ed0
+1ed3 1ed2
+1ed5 1ed4
+1ed7 1ed6
+1ed9 1ed8
+1edb 1eda
+1edd 1edc
+1edf 1ede
+1ee1 1ee0
+1ee3 1ee2
+1ee5 1ee4
+1ee7 1ee6
+1ee9 1ee8
+1eeb 1eea
+1eed 1eec
+1eef 1eee
+1ef1 1ef0
+1ef3 1ef2
+1ef5 1ef4
+1ef7 1ef6
+1ef9 1ef8
+1f00 1f07 1f08
+1f10 1f15 1f18
+1f20 1f27 1f28
+1f30 1f37 1f38
+1f40 1f45 1f48
+1f51 1f59
+1f53 1f5b
+1f55 1f5d
+1f57 1f5f
+1f60 1f67 1f68
+1f70 1f71 1fba
+1f72 1f75 1fc8
+1f76 1f77 1fda
+1f78 1f79 1ff8
+1f7a 1f7b 1fea
+1f7c 1f7d 1ffa
+1f80 1f87 1f88
+1f90 1f97 1f98
+1fa0 1fa7 1fa8
+1fb0 1fb1 1fb8
+1fb3 1fbc
+1fc3 1fcc
+1fd0 1fd1 1fd8
+1fe0 1fe1 1fe8
+1fe5 1fec
+1ff3 1ffc
+2170 217f 2160
+24d0 24e9 24b6
+ff41 ff5a ff21
+END
diff --git a/lib/unicode/UnicodeData-Latest.txt b/lib/unicode/UnicodeData-Latest.txt
new file mode 100644
index 0000000000..bca59e61d0
--- /dev/null
+++ b/lib/unicode/UnicodeData-Latest.txt
@@ -0,0 +1,6590 @@
+0000;<control>;Cc;0;ON;;;;;N;NULL;;;;
+0001;<control>;Cc;0;ON;;;;;N;START OF HEADING;;;;
+0002;<control>;Cc;0;ON;;;;;N;START OF TEXT;;;;
+0003;<control>;Cc;0;ON;;;;;N;END OF TEXT;;;;
+0004;<control>;Cc;0;ON;;;;;N;END OF TRANSMISSION;;;;
+0005;<control>;Cc;0;ON;;;;;N;ENQUIRY;;;;
+0006;<control>;Cc;0;ON;;;;;N;ACKNOWLEDGE;;;;
+0007;<control>;Cc;0;ON;;;;;N;BELL;;;;
+0008;<control>;Cc;0;ON;;;;;N;BACKSPACE;;;;
+0009;<control>;Cc;0;S;;;;;N;HORIZONTAL TABULATION;;;;
+000A;<control>;Cc;0;ON;;;;;N;LINE FEED;;;;
+000B;<control>;Cc;0;ON;;;;;N;VERTICAL TABULATION;;;;
+000C;<control>;Cc;0;ON;;;;;N;FORM FEED;;;;
+000D;<control>;Cc;0;ON;;;;;N;CARRIAGE RETURN;;;;
+000E;<control>;Cc;0;ON;;;;;N;SHIFT OUT;;;;
+000F;<control>;Cc;0;ON;;;;;N;SHIFT IN;;;;
+0010;<control>;Cc;0;ON;;;;;N;DATA LINK ESCAPE;;;;
+0011;<control>;Cc;0;ON;;;;;N;DEVICE CONTROL ONE;;;;
+0012;<control>;Cc;0;ON;;;;;N;DEVICE CONTROL TWO;;;;
+0013;<control>;Cc;0;ON;;;;;N;DEVICE CONTROL THREE;;;;
+0014;<control>;Cc;0;ON;;;;;N;DEVICE CONTROL FOUR;;;;
+0015;<control>;Cc;0;ON;;;;;N;NEGATIVE ACKNOWLEDGE;;;;
+0016;<control>;Cc;0;ON;;;;;N;SYNCHRONOUS IDLE;;;;
+0017;<control>;Cc;0;ON;;;;;N;END OF TRANSMISSION BLOCK;;;;
+0018;<control>;Cc;0;ON;;;;;N;CANCEL;;;;
+0019;<control>;Cc;0;ON;;;;;N;END OF MEDIUM;;;;
+001A;<control>;Cc;0;ON;;;;;N;SUBSTITUTE;;;;
+001B;<control>;Cc;0;ON;;;;;N;ESCAPE;;;;
+001C;<control>;Cc;0;ON;;;;;N;FILE SEPARATOR;;;;
+001D;<control>;Cc;0;ON;;;;;N;GROUP SEPARATOR;;;;
+001E;<control>;Cc;0;ON;;;;;N;RECORD SEPARATOR;;;;
+001F;<control>;Cc;0;ON;;;;;N;UNIT SEPARATOR;;;;
+0020;SPACE;Zs;0;WS;;;;;N;;;;;
+0021;EXCLAMATION MARK;Po;0;ON;;;;;N;;;;;
+0022;QUOTATION MARK;Po;0;ON;;;;;N;;;;;
+0023;NUMBER SIGN;Po;0;ET;;;;;N;;;;;
+0024;DOLLAR SIGN;Sc;0;ET;;;;;N;;;;;
+0025;PERCENT SIGN;Po;0;ET;;;;;N;;;;;
+0026;AMPERSAND;Po;0;ON;;;;;N;;;;;
+0027;APOSTROPHE;Po;0;ON;;;;;N;APOSTROPHE-QUOTE;;;;
+0028;LEFT PARENTHESIS;Ps;0;ON;;;;;Y;OPENING PARENTHESIS;;;;
+0029;RIGHT PARENTHESIS;Pe;0;ON;;;;;Y;CLOSING PARENTHESIS;;;;
+002A;ASTERISK;Po;0;ON;;;;;N;;;;;
+002B;PLUS SIGN;Sm;0;ET;;;;;N;;;;;
+002C;COMMA;Po;0;CS;;;;;N;;;;;
+002D;HYPHEN-MINUS;Pd;0;ET;;;;;N;;;;;
+002E;FULL STOP;Po;0;CS;;;;;N;PERIOD;;;;
+002F;SOLIDUS;Po;0;ES;;;;;N;SLASH;;;;
+0030;DIGIT ZERO;Nd;0;EN;;0;0;0;N;;;;;
+0031;DIGIT ONE;Nd;0;EN;;1;1;1;N;;;;;
+0032;DIGIT TWO;Nd;0;EN;;2;2;2;N;;;;;
+0033;DIGIT THREE;Nd;0;EN;;3;3;3;N;;;;;
+0034;DIGIT FOUR;Nd;0;EN;;4;4;4;N;;;;;
+0035;DIGIT FIVE;Nd;0;EN;;5;5;5;N;;;;;
+0036;DIGIT SIX;Nd;0;EN;;6;6;6;N;;;;;
+0037;DIGIT SEVEN;Nd;0;EN;;7;7;7;N;;;;;
+0038;DIGIT EIGHT;Nd;0;EN;;8;8;8;N;;;;;
+0039;DIGIT NINE;Nd;0;EN;;9;9;9;N;;;;;
+003A;COLON;Po;0;CS;;;;;N;;;;;
+003B;SEMICOLON;Po;0;ON;;;;;N;;;;;
+003C;LESS-THAN SIGN;Sm;0;ON;;;;;Y;;;;;
+003D;EQUALS SIGN;Sm;0;ON;;;;;N;;;;;
+003E;GREATER-THAN SIGN;Sm;0;ON;;;;;Y;;;;;
+003F;QUESTION MARK;Po;0;ON;;;;;N;;;;;
+0040;COMMERCIAL AT;Po;0;ON;;;;;N;;;;;
+0041;LATIN CAPITAL LETTER A;Lu;0;L;;;;;N;;;;0061;
+0042;LATIN CAPITAL LETTER B;Lu;0;L;;;;;N;;;;0062;
+0043;LATIN CAPITAL LETTER C;Lu;0;L;;;;;N;;;;0063;
+0044;LATIN CAPITAL LETTER D;Lu;0;L;;;;;N;;;;0064;
+0045;LATIN CAPITAL LETTER E;Lu;0;L;;;;;N;;;;0065;
+0046;LATIN CAPITAL LETTER F;Lu;0;L;;;;;N;;;;0066;
+0047;LATIN CAPITAL LETTER G;Lu;0;L;;;;;N;;;;0067;
+0048;LATIN CAPITAL LETTER H;Lu;0;L;;;;;N;;;;0068;
+0049;LATIN CAPITAL LETTER I;Lu;0;L;;;;;N;;;;0069;
+004A;LATIN CAPITAL LETTER J;Lu;0;L;;;;;N;;;;006A;
+004B;LATIN CAPITAL LETTER K;Lu;0;L;;;;;N;;;;006B;
+004C;LATIN CAPITAL LETTER L;Lu;0;L;;;;;N;;;;006C;
+004D;LATIN CAPITAL LETTER M;Lu;0;L;;;;;N;;;;006D;
+004E;LATIN CAPITAL LETTER N;Lu;0;L;;;;;N;;;;006E;
+004F;LATIN CAPITAL LETTER O;Lu;0;L;;;;;N;;;;006F;
+0050;LATIN CAPITAL LETTER P;Lu;0;L;;;;;N;;;;0070;
+0051;LATIN CAPITAL LETTER Q;Lu;0;L;;;;;N;;;;0071;
+0052;LATIN CAPITAL LETTER R;Lu;0;L;;;;;N;;;;0072;
+0053;LATIN CAPITAL LETTER S;Lu;0;L;;;;;N;;;;0073;
+0054;LATIN CAPITAL LETTER T;Lu;0;L;;;;;N;;;;0074;
+0055;LATIN CAPITAL LETTER U;Lu;0;L;;;;;N;;;;0075;
+0056;LATIN CAPITAL LETTER V;Lu;0;L;;;;;N;;;;0076;
+0057;LATIN CAPITAL LETTER W;Lu;0;L;;;;;N;;;;0077;
+0058;LATIN CAPITAL LETTER X;Lu;0;L;;;;;N;;;;0078;
+0059;LATIN CAPITAL LETTER Y;Lu;0;L;;;;;N;;;;0079;
+005A;LATIN CAPITAL LETTER Z;Lu;0;L;;;;;N;;;;007A;
+005B;LEFT SQUARE BRACKET;Ps;0;ON;;;;;Y;OPENING SQUARE BRACKET;;;;
+005C;REVERSE SOLIDUS;Po;0;ON;;;;;N;BACKSLASH;;;;
+005D;RIGHT SQUARE BRACKET;Pe;0;ON;;;;;Y;CLOSING SQUARE BRACKET;;;;
+005E;CIRCUMFLEX ACCENT;Sk;0;ON;<compat> 0020 0302;;;;N;SPACING CIRCUMFLEX;;;;
+005F;LOW LINE;Pc;0;ON;<compat> 0020 0332;;;;N;SPACING UNDERSCORE;;;;
+0060;GRAVE ACCENT;Sk;0;ON;<compat> 0020 0300;;;;N;SPACING GRAVE;;;;
+0061;LATIN SMALL LETTER A;Ll;0;L;;;;;N;;;0041;;0041
+0062;LATIN SMALL LETTER B;Ll;0;L;;;;;N;;;0042;;0042
+0063;LATIN SMALL LETTER C;Ll;0;L;;;;;N;;;0043;;0043
+0064;LATIN SMALL LETTER D;Ll;0;L;;;;;N;;;0044;;0044
+0065;LATIN SMALL LETTER E;Ll;0;L;;;;;N;;;0045;;0045
+0066;LATIN SMALL LETTER F;Ll;0;L;;;;;N;;;0046;;0046
+0067;LATIN SMALL LETTER G;Ll;0;L;;;;;N;;;0047;;0047
+0068;LATIN SMALL LETTER H;Ll;0;L;;;;;N;;;0048;;0048
+0069;LATIN SMALL LETTER I;Ll;0;L;;;;;N;;;0049;;0049
+006A;LATIN SMALL LETTER J;Ll;0;L;;;;;N;;;004A;;004A
+006B;LATIN SMALL LETTER K;Ll;0;L;;;;;N;;;004B;;004B
+006C;LATIN SMALL LETTER L;Ll;0;L;;;;;N;;;004C;;004C
+006D;LATIN SMALL LETTER M;Ll;0;L;;;;;N;;;004D;;004D
+006E;LATIN SMALL LETTER N;Ll;0;L;;;;;N;;;004E;;004E
+006F;LATIN SMALL LETTER O;Ll;0;L;;;;;N;;;004F;;004F
+0070;LATIN SMALL LETTER P;Ll;0;L;;;;;N;;;0050;;0050
+0071;LATIN SMALL LETTER Q;Ll;0;L;;;;;N;;;0051;;0051
+0072;LATIN SMALL LETTER R;Ll;0;L;;;;;N;;;0052;;0052
+0073;LATIN SMALL LETTER S;Ll;0;L;;;;;N;;;0053;;0053
+0074;LATIN SMALL LETTER T;Ll;0;L;;;;;N;;;0054;;0054
+0075;LATIN SMALL LETTER U;Ll;0;L;;;;;N;;;0055;;0055
+0076;LATIN SMALL LETTER V;Ll;0;L;;;;;N;;;0056;;0056
+0077;LATIN SMALL LETTER W;Ll;0;L;;;;;N;;;0057;;0057
+0078;LATIN SMALL LETTER X;Ll;0;L;;;;;N;;;0058;;0058
+0079;LATIN SMALL LETTER Y;Ll;0;L;;;;;N;;;0059;;0059
+007A;LATIN SMALL LETTER Z;Ll;0;L;;;;;N;;;005A;;005A
+007B;LEFT CURLY BRACKET;Ps;0;ON;;;;;Y;OPENING CURLY BRACKET;;;;
+007C;VERTICAL LINE;Sm;0;ON;;;;;N;VERTICAL BAR;;;;
+007D;RIGHT CURLY BRACKET;Pe;0;ON;;;;;Y;CLOSING CURLY BRACKET;;;;
+007E;TILDE;Sm;0;ON;;;;;N;;;;;
+007F;<control>;Cc;0;ON;;;;;N;DELETE;;;;
+0080;<control>;Cc;0;ON;;;;;N;;;;;
+0081;<control>;Cc;0;ON;;;;;N;;;;;
+0082;<control>;Cc;0;ON;;;;;N;;;;;
+0083;<control>;Cc;0;ON;;;;;N;;;;;
+0084;<control>;Cc;0;ON;;;;;N;;;;;
+0085;<control>;Cc;0;ON;;;;;N;;;;;
+0086;<control>;Cc;0;ON;;;;;N;;;;;
+0087;<control>;Cc;0;ON;;;;;N;;;;;
+0088;<control>;Cc;0;ON;;;;;N;;;;;
+0089;<control>;Cc;0;ON;;;;;N;;;;;
+008A;<control>;Cc;0;ON;;;;;N;;;;;
+008B;<control>;Cc;0;ON;;;;;N;;;;;
+008C;<control>;Cc;0;ON;;;;;N;;;;;
+008D;<control>;Cc;0;ON;;;;;N;;;;;
+008E;<control>;Cc;0;ON;;;;;N;;;;;
+008F;<control>;Cc;0;ON;;;;;N;;;;;
+0090;<control>;Cc;0;ON;;;;;N;;;;;
+0091;<control>;Cc;0;ON;;;;;N;;;;;
+0092;<control>;Cc;0;ON;;;;;N;;;;;
+0093;<control>;Cc;0;ON;;;;;N;;;;;
+0094;<control>;Cc;0;ON;;;;;N;;;;;
+0095;<control>;Cc;0;ON;;;;;N;;;;;
+0096;<control>;Cc;0;ON;;;;;N;;;;;
+0097;<control>;Cc;0;ON;;;;;N;;;;;
+0098;<control>;Cc;0;ON;;;;;N;;;;;
+0099;<control>;Cc;0;ON;;;;;N;;;;;
+009A;<control>;Cc;0;ON;;;;;N;;;;;
+009B;<control>;Cc;0;ON;;;;;N;;;;;
+009C;<control>;Cc;0;ON;;;;;N;;;;;
+009D;<control>;Cc;0;ON;;;;;N;;;;;
+009E;<control>;Cc;0;ON;;;;;N;;;;;
+009F;<control>;Cc;0;ON;;;;;N;;;;;
+00A0;NO-BREAK SPACE;Zs;0;WS;<noBreak> 0020;;;;N;NON-BREAKING SPACE;;;;
+00A1;INVERTED EXCLAMATION MARK;Po;0;ON;;;;;N;;;;;
+00A2;CENT SIGN;Sc;0;ET;;;;;N;;;;;
+00A3;POUND SIGN;Sc;0;ET;;;;;N;;;;;
+00A4;CURRENCY SIGN;Sc;0;ET;;;;;N;;;;;
+00A5;YEN SIGN;Sc;0;ET;;;;;N;;;;;
+00A6;BROKEN BAR;So;0;ON;;;;;N;BROKEN VERTICAL BAR;;;;
+00A7;SECTION SIGN;So;0;ON;;;;;N;;;;;
+00A8;DIAERESIS;Sk;0;ON;<compat> 0020 0308;;;;N;SPACING DIAERESIS;;;;
+00A9;COPYRIGHT SIGN;So;0;ON;;;;;N;;;;;
+00AA;FEMININE ORDINAL INDICATOR;Ll;0;ON;<super> 0061;;;;N;;;;;
+00AB;LEFT-POINTING DOUBLE ANGLE QUOTATION MARK;Ps;0;ON;;;;;N;LEFT POINTING GUILLEMET;;;;
+00AC;NOT SIGN;Sm;0;ON;;;;;N;;;;;
+00AD;SOFT HYPHEN;Pd;0;ON;;;;;N;;;;;
+00AE;REGISTERED SIGN;So;0;ON;;;;;N;REGISTERED TRADE MARK SIGN;;;;
+00AF;MACRON;Sk;0;ON;<compat> 0020 0304;;;;N;SPACING MACRON;;;;
+00B0;DEGREE SIGN;So;0;ET;;;;;N;;;;;
+00B1;PLUS-MINUS SIGN;Sm;0;ET;;;;;N;PLUS-OR-MINUS SIGN;;;;
+00B2;SUPERSCRIPT TWO;No;0;EN;<super> 0032;2;2;2;N;SUPERSCRIPT DIGIT TWO;;;;
+00B3;SUPERSCRIPT THREE;No;0;EN;<super> 0033;3;3;3;N;SUPERSCRIPT DIGIT THREE;;;;
+00B4;ACUTE ACCENT;Sk;0;ON;<compat> 0020 0301;;;;N;SPACING ACUTE;;;;
+00B5;MICRO SIGN;Ll;0;ON;<compat> 03BC;;;;N;;;;;
+00B6;PILCROW SIGN;So;0;ON;;;;;N;PARAGRAPH SIGN;;;;
+00B7;MIDDLE DOT;Po;0;ON;;;;;N;;;;;
+00B8;CEDILLA;Sk;0;ON;<compat> 0020 0327;;;;N;SPACING CEDILLA;;;;
+00B9;SUPERSCRIPT ONE;No;0;EN;<super> 0031;1;1;1;N;SUPERSCRIPT DIGIT ONE;;;;
+00BA;MASCULINE ORDINAL INDICATOR;Ll;0;ON;<super> 006F;;;;N;;;;;
+00BB;RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK;Pe;0;ON;;;;;N;RIGHT POINTING GUILLEMET;;;;
+00BC;VULGAR FRACTION ONE QUARTER;No;0;ON;<fraction> 0031 2044 0034;;;1/4;N;FRACTION ONE QUARTER;;;;
+00BD;VULGAR FRACTION ONE HALF;No;0;ON;<fraction> 0031 2044 0032;;;1/2;N;FRACTION ONE HALF;;;;
+00BE;VULGAR FRACTION THREE QUARTERS;No;0;ON;<fraction> 0033 2044 0034;;;3/4;N;FRACTION THREE QUARTERS;;;;
+00BF;INVERTED QUESTION MARK;Po;0;ON;;;;;N;;;;;
+00C0;LATIN CAPITAL LETTER A WITH GRAVE;Lu;0;L;0041 0300;;;;N;LATIN CAPITAL LETTER A GRAVE;;;00E0;
+00C1;LATIN CAPITAL LETTER A WITH ACUTE;Lu;0;L;0041 0301;;;;N;LATIN CAPITAL LETTER A ACUTE;;;00E1;
+00C2;LATIN CAPITAL LETTER A WITH CIRCUMFLEX;Lu;0;L;0041 0302;;;;N;LATIN CAPITAL LETTER A CIRCUMFLEX;;;00E2;
+00C3;LATIN CAPITAL LETTER A WITH TILDE;Lu;0;L;0041 0303;;;;N;LATIN CAPITAL LETTER A TILDE;;;00E3;
+00C4;LATIN CAPITAL LETTER A WITH DIAERESIS;Lu;0;L;0041 0308;;;;N;LATIN CAPITAL LETTER A DIAERESIS;;;00E4;
+00C5;LATIN CAPITAL LETTER A WITH RING ABOVE;Lu;0;L;0041 030A;;;;N;LATIN CAPITAL LETTER A RING;;;00E5;
+00C6;LATIN CAPITAL LETTER AE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER A E;;;00E6;
+00C7;LATIN CAPITAL LETTER C WITH CEDILLA;Lu;0;L;0043 0327;;;;N;LATIN CAPITAL LETTER C CEDILLA;;;00E7;
+00C8;LATIN CAPITAL LETTER E WITH GRAVE;Lu;0;L;0045 0300;;;;N;LATIN CAPITAL LETTER E GRAVE;;;00E8;
+00C9;LATIN CAPITAL LETTER E WITH ACUTE;Lu;0;L;0045 0301;;;;N;LATIN CAPITAL LETTER E ACUTE;;;00E9;
+00CA;LATIN CAPITAL LETTER E WITH CIRCUMFLEX;Lu;0;L;0045 0302;;;;N;LATIN CAPITAL LETTER E CIRCUMFLEX;;;00EA;
+00CB;LATIN CAPITAL LETTER E WITH DIAERESIS;Lu;0;L;0045 0308;;;;N;LATIN CAPITAL LETTER E DIAERESIS;;;00EB;
+00CC;LATIN CAPITAL LETTER I WITH GRAVE;Lu;0;L;0049 0300;;;;N;LATIN CAPITAL LETTER I GRAVE;;;00EC;
+00CD;LATIN CAPITAL LETTER I WITH ACUTE;Lu;0;L;0049 0301;;;;N;LATIN CAPITAL LETTER I ACUTE;;;00ED;
+00CE;LATIN CAPITAL LETTER I WITH CIRCUMFLEX;Lu;0;L;0049 0302;;;;N;LATIN CAPITAL LETTER I CIRCUMFLEX;;;00EE;
+00CF;LATIN CAPITAL LETTER I WITH DIAERESIS;Lu;0;L;0049 0308;;;;N;LATIN CAPITAL LETTER I DIAERESIS;;;00EF;
+00D0;LATIN CAPITAL LETTER ETH;Lu;0;L;;;;;N;;Icelandic;;00F0;
+00D1;LATIN CAPITAL LETTER N WITH TILDE;Lu;0;L;004E 0303;;;;N;LATIN CAPITAL LETTER N TILDE;;;00F1;
+00D2;LATIN CAPITAL LETTER O WITH GRAVE;Lu;0;L;004F 0300;;;;N;LATIN CAPITAL LETTER O GRAVE;;;00F2;
+00D3;LATIN CAPITAL LETTER O WITH ACUTE;Lu;0;L;004F 0301;;;;N;LATIN CAPITAL LETTER O ACUTE;;;00F3;
+00D4;LATIN CAPITAL LETTER O WITH CIRCUMFLEX;Lu;0;L;004F 0302;;;;N;LATIN CAPITAL LETTER O CIRCUMFLEX;;;00F4;
+00D5;LATIN CAPITAL LETTER O WITH TILDE;Lu;0;L;004F 0303;;;;N;LATIN CAPITAL LETTER O TILDE;;;00F5;
+00D6;LATIN CAPITAL LETTER O WITH DIAERESIS;Lu;0;L;004F 0308;;;;N;LATIN CAPITAL LETTER O DIAERESIS;;;00F6;
+00D7;MULTIPLICATION SIGN;Sm;0;ON;;;;;N;;;;;
+00D8;LATIN CAPITAL LETTER O WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O SLASH;;;00F8;
+00D9;LATIN CAPITAL LETTER U WITH GRAVE;Lu;0;L;0055 0300;;;;N;LATIN CAPITAL LETTER U GRAVE;;;00F9;
+00DA;LATIN CAPITAL LETTER U WITH ACUTE;Lu;0;L;0055 0301;;;;N;LATIN CAPITAL LETTER U ACUTE;;;00FA;
+00DB;LATIN CAPITAL LETTER U WITH CIRCUMFLEX;Lu;0;L;0055 0302;;;;N;LATIN CAPITAL LETTER U CIRCUMFLEX;;;00FB;
+00DC;LATIN CAPITAL LETTER U WITH DIAERESIS;Lu;0;L;0055 0308;;;;N;LATIN CAPITAL LETTER U DIAERESIS;;;00FC;
+00DD;LATIN CAPITAL LETTER Y WITH ACUTE;Lu;0;L;0059 0301;;;;N;LATIN CAPITAL LETTER Y ACUTE;;;00FD;
+00DE;LATIN CAPITAL LETTER THORN;Lu;0;L;;;;;N;;Icelandic;;00FE;
+00DF;LATIN SMALL LETTER SHARP S;Ll;0;L;;;;;N;;German;;;
+00E0;LATIN SMALL LETTER A WITH GRAVE;Ll;0;L;0061 0300;;;;N;LATIN SMALL LETTER A GRAVE;;00C0;;00C0
+00E1;LATIN SMALL LETTER A WITH ACUTE;Ll;0;L;0061 0301;;;;N;LATIN SMALL LETTER A ACUTE;;00C1;;00C1
+00E2;LATIN SMALL LETTER A WITH CIRCUMFLEX;Ll;0;L;0061 0302;;;;N;LATIN SMALL LETTER A CIRCUMFLEX;;00C2;;00C2
+00E3;LATIN SMALL LETTER A WITH TILDE;Ll;0;L;0061 0303;;;;N;LATIN SMALL LETTER A TILDE;;00C3;;00C3
+00E4;LATIN SMALL LETTER A WITH DIAERESIS;Ll;0;L;0061 0308;;;;N;LATIN SMALL LETTER A DIAERESIS;;00C4;;00C4
+00E5;LATIN SMALL LETTER A WITH RING ABOVE;Ll;0;L;0061 030A;;;;N;LATIN SMALL LETTER A RING;;00C5;;00C5
+00E6;LATIN SMALL LETTER AE;Ll;0;L;;;;;N;LATIN SMALL LETTER A E;;00C6;;00C6
+00E7;LATIN SMALL LETTER C WITH CEDILLA;Ll;0;L;0063 0327;;;;N;LATIN SMALL LETTER C CEDILLA;;00C7;;00C7
+00E8;LATIN SMALL LETTER E WITH GRAVE;Ll;0;L;0065 0300;;;;N;LATIN SMALL LETTER E GRAVE;;00C8;;00C8
+00E9;LATIN SMALL LETTER E WITH ACUTE;Ll;0;L;0065 0301;;;;N;LATIN SMALL LETTER E ACUTE;;00C9;;00C9
+00EA;LATIN SMALL LETTER E WITH CIRCUMFLEX;Ll;0;L;0065 0302;;;;N;LATIN SMALL LETTER E CIRCUMFLEX;;00CA;;00CA
+00EB;LATIN SMALL LETTER E WITH DIAERESIS;Ll;0;L;0065 0308;;;;N;LATIN SMALL LETTER E DIAERESIS;;00CB;;00CB
+00EC;LATIN SMALL LETTER I WITH GRAVE;Ll;0;L;0069 0300;;;;N;LATIN SMALL LETTER I GRAVE;;00CC;;00CC
+00ED;LATIN SMALL LETTER I WITH ACUTE;Ll;0;L;0069 0301;;;;N;LATIN SMALL LETTER I ACUTE;;00CD;;00CD
+00EE;LATIN SMALL LETTER I WITH CIRCUMFLEX;Ll;0;L;0069 0302;;;;N;LATIN SMALL LETTER I CIRCUMFLEX;;00CE;;00CE
+00EF;LATIN SMALL LETTER I WITH DIAERESIS;Ll;0;L;0069 0308;;;;N;LATIN SMALL LETTER I DIAERESIS;;00CF;;00CF
+00F0;LATIN SMALL LETTER ETH;Ll;0;L;;;;;N;;Icelandic;00D0;;00D0
+00F1;LATIN SMALL LETTER N WITH TILDE;Ll;0;L;006E 0303;;;;N;LATIN SMALL LETTER N TILDE;;00D1;;00D1
+00F2;LATIN SMALL LETTER O WITH GRAVE;Ll;0;L;006F 0300;;;;N;LATIN SMALL LETTER O GRAVE;;00D2;;00D2
+00F3;LATIN SMALL LETTER O WITH ACUTE;Ll;0;L;006F 0301;;;;N;LATIN SMALL LETTER O ACUTE;;00D3;;00D3
+00F4;LATIN SMALL LETTER O WITH CIRCUMFLEX;Ll;0;L;006F 0302;;;;N;LATIN SMALL LETTER O CIRCUMFLEX;;00D4;;00D4
+00F5;LATIN SMALL LETTER O WITH TILDE;Ll;0;L;006F 0303;;;;N;LATIN SMALL LETTER O TILDE;;00D5;;00D5
+00F6;LATIN SMALL LETTER O WITH DIAERESIS;Ll;0;L;006F 0308;;;;N;LATIN SMALL LETTER O DIAERESIS;;00D6;;00D6
+00F7;DIVISION SIGN;Sm;0;ON;;;;;N;;;;;
+00F8;LATIN SMALL LETTER O WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER O SLASH;;00D8;;00D8
+00F9;LATIN SMALL LETTER U WITH GRAVE;Ll;0;L;0075 0300;;;;N;LATIN SMALL LETTER U GRAVE;;00D9;;00D9
+00FA;LATIN SMALL LETTER U WITH ACUTE;Ll;0;L;0075 0301;;;;N;LATIN SMALL LETTER U ACUTE;;00DA;;00DA
+00FB;LATIN SMALL LETTER U WITH CIRCUMFLEX;Ll;0;L;0075 0302;;;;N;LATIN SMALL LETTER U CIRCUMFLEX;;00DB;;00DB
+00FC;LATIN SMALL LETTER U WITH DIAERESIS;Ll;0;L;0075 0308;;;;N;LATIN SMALL LETTER U DIAERESIS;;00DC;;00DC
+00FD;LATIN SMALL LETTER Y WITH ACUTE;Ll;0;L;0079 0301;;;;N;LATIN SMALL LETTER Y ACUTE;;00DD;;00DD
+00FE;LATIN SMALL LETTER THORN;Ll;0;L;;;;;N;;Icelandic;00DE;;00DE
+00FF;LATIN SMALL LETTER Y WITH DIAERESIS;Ll;0;L;0079 0308;;;;N;LATIN SMALL LETTER Y DIAERESIS;;0178;;0178
+0100;LATIN CAPITAL LETTER A WITH MACRON;Lu;0;L;0041 0304;;;;N;LATIN CAPITAL LETTER A MACRON;;;0101;
+0101;LATIN SMALL LETTER A WITH MACRON;Ll;0;L;0061 0304;;;;N;LATIN SMALL LETTER A MACRON;;0100;;0100
+0102;LATIN CAPITAL LETTER A WITH BREVE;Lu;0;L;0041 0306;;;;N;LATIN CAPITAL LETTER A BREVE;;;0103;
+0103;LATIN SMALL LETTER A WITH BREVE;Ll;0;L;0061 0306;;;;N;LATIN SMALL LETTER A BREVE;;0102;;0102
+0104;LATIN CAPITAL LETTER A WITH OGONEK;Lu;0;L;0041 0328;;;;N;LATIN CAPITAL LETTER A OGONEK;;;0105;
+0105;LATIN SMALL LETTER A WITH OGONEK;Ll;0;L;0061 0328;;;;N;LATIN SMALL LETTER A OGONEK;;0104;;0104
+0106;LATIN CAPITAL LETTER C WITH ACUTE;Lu;0;L;0043 0301;;;;N;LATIN CAPITAL LETTER C ACUTE;;;0107;
+0107;LATIN SMALL LETTER C WITH ACUTE;Ll;0;L;0063 0301;;;;N;LATIN SMALL LETTER C ACUTE;;0106;;0106
+0108;LATIN CAPITAL LETTER C WITH CIRCUMFLEX;Lu;0;L;0043 0302;;;;N;LATIN CAPITAL LETTER C CIRCUMFLEX;;;0109;
+0109;LATIN SMALL LETTER C WITH CIRCUMFLEX;Ll;0;L;0063 0302;;;;N;LATIN SMALL LETTER C CIRCUMFLEX;;0108;;0108
+010A;LATIN CAPITAL LETTER C WITH DOT ABOVE;Lu;0;L;0043 0307;;;;N;LATIN CAPITAL LETTER C DOT;;;010B;
+010B;LATIN SMALL LETTER C WITH DOT ABOVE;Ll;0;L;0063 0307;;;;N;LATIN SMALL LETTER C DOT;;010A;;010A
+010C;LATIN CAPITAL LETTER C WITH CARON;Lu;0;L;0043 030C;;;;N;LATIN CAPITAL LETTER C HACEK;;;010D;
+010D;LATIN SMALL LETTER C WITH CARON;Ll;0;L;0063 030C;;;;N;LATIN SMALL LETTER C HACEK;;010C;;010C
+010E;LATIN CAPITAL LETTER D WITH CARON;Lu;0;L;0044 030C;;;;N;LATIN CAPITAL LETTER D HACEK;;;010F;
+010F;LATIN SMALL LETTER D WITH CARON;Ll;0;L;0064 030C;;;;N;LATIN SMALL LETTER D HACEK;;010E;;010E
+0110;LATIN CAPITAL LETTER D WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D BAR;;;0111;
+0111;LATIN SMALL LETTER D WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER D BAR;;0110;;0110
+0112;LATIN CAPITAL LETTER E WITH MACRON;Lu;0;L;0045 0304;;;;N;LATIN CAPITAL LETTER E MACRON;;;0113;
+0113;LATIN SMALL LETTER E WITH MACRON;Ll;0;L;0065 0304;;;;N;LATIN SMALL LETTER E MACRON;;0112;;0112
+0114;LATIN CAPITAL LETTER E WITH BREVE;Lu;0;L;0045 0306;;;;N;LATIN CAPITAL LETTER E BREVE;;;0115;
+0115;LATIN SMALL LETTER E WITH BREVE;Ll;0;L;0065 0306;;;;N;LATIN SMALL LETTER E BREVE;;0114;;0114
+0116;LATIN CAPITAL LETTER E WITH DOT ABOVE;Lu;0;L;0045 0307;;;;N;LATIN CAPITAL LETTER E DOT;;;0117;
+0117;LATIN SMALL LETTER E WITH DOT ABOVE;Ll;0;L;0065 0307;;;;N;LATIN SMALL LETTER E DOT;;0116;;0116
+0118;LATIN CAPITAL LETTER E WITH OGONEK;Lu;0;L;0045 0328;;;;N;LATIN CAPITAL LETTER E OGONEK;;;0119;
+0119;LATIN SMALL LETTER E WITH OGONEK;Ll;0;L;0065 0328;;;;N;LATIN SMALL LETTER E OGONEK;;0118;;0118
+011A;LATIN CAPITAL LETTER E WITH CARON;Lu;0;L;0045 030C;;;;N;LATIN CAPITAL LETTER E HACEK;;;011B;
+011B;LATIN SMALL LETTER E WITH CARON;Ll;0;L;0065 030C;;;;N;LATIN SMALL LETTER E HACEK;;011A;;011A
+011C;LATIN CAPITAL LETTER G WITH CIRCUMFLEX;Lu;0;L;0047 0302;;;;N;LATIN CAPITAL LETTER G CIRCUMFLEX;;;011D;
+011D;LATIN SMALL LETTER G WITH CIRCUMFLEX;Ll;0;L;0067 0302;;;;N;LATIN SMALL LETTER G CIRCUMFLEX;;011C;;011C
+011E;LATIN CAPITAL LETTER G WITH BREVE;Lu;0;L;0047 0306;;;;N;LATIN CAPITAL LETTER G BREVE;;;011F;
+011F;LATIN SMALL LETTER G WITH BREVE;Ll;0;L;0067 0306;;;;N;LATIN SMALL LETTER G BREVE;;011E;;011E
+0120;LATIN CAPITAL LETTER G WITH DOT ABOVE;Lu;0;L;0047 0307;;;;N;LATIN CAPITAL LETTER G DOT;;;0121;
+0121;LATIN SMALL LETTER G WITH DOT ABOVE;Ll;0;L;0067 0307;;;;N;LATIN SMALL LETTER G DOT;;0120;;0120
+0122;LATIN CAPITAL LETTER G WITH CEDILLA;Lu;0;L;0047 0327;;;;N;LATIN CAPITAL LETTER G CEDILLA;;;0123;
+0123;LATIN SMALL LETTER G WITH CEDILLA;Ll;0;L;0067 0327;;;;N;LATIN SMALL LETTER G CEDILLA;;0122;;0122
+0124;LATIN CAPITAL LETTER H WITH CIRCUMFLEX;Lu;0;L;0048 0302;;;;N;LATIN CAPITAL LETTER H CIRCUMFLEX;;;0125;
+0125;LATIN SMALL LETTER H WITH CIRCUMFLEX;Ll;0;L;0068 0302;;;;N;LATIN SMALL LETTER H CIRCUMFLEX;;0124;;0124
+0126;LATIN CAPITAL LETTER H WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER H BAR;;;0127;
+0127;LATIN SMALL LETTER H WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER H BAR;;0126;;0126
+0128;LATIN CAPITAL LETTER I WITH TILDE;Lu;0;L;0049 0303;;;;N;LATIN CAPITAL LETTER I TILDE;;;0129;
+0129;LATIN SMALL LETTER I WITH TILDE;Ll;0;L;0069 0303;;;;N;LATIN SMALL LETTER I TILDE;;0128;;0128
+012A;LATIN CAPITAL LETTER I WITH MACRON;Lu;0;L;0049 0304;;;;N;LATIN CAPITAL LETTER I MACRON;;;012B;
+012B;LATIN SMALL LETTER I WITH MACRON;Ll;0;L;0069 0304;;;;N;LATIN SMALL LETTER I MACRON;;012A;;012A
+012C;LATIN CAPITAL LETTER I WITH BREVE;Lu;0;L;0049 0306;;;;N;LATIN CAPITAL LETTER I BREVE;;;012D;
+012D;LATIN SMALL LETTER I WITH BREVE;Ll;0;L;0069 0306;;;;N;LATIN SMALL LETTER I BREVE;;012C;;012C
+012E;LATIN CAPITAL LETTER I WITH OGONEK;Lu;0;L;0049 0328;;;;N;LATIN CAPITAL LETTER I OGONEK;;;012F;
+012F;LATIN SMALL LETTER I WITH OGONEK;Ll;0;L;0069 0328;;;;N;LATIN SMALL LETTER I OGONEK;;012E;;012E
+0130;LATIN CAPITAL LETTER I WITH DOT ABOVE;Lu;0;L;0049 0307;;;;N;LATIN CAPITAL LETTER I DOT;;;0069;
+0131;LATIN SMALL LETTER DOTLESS I;Ll;0;L;;;;;N;;;0049;;0049
+0132;LATIN CAPITAL LIGATURE IJ;Lu;0;L;<compat> 0049 004A;;;;N;LATIN CAPITAL LETTER I J;;;0133;
+0133;LATIN SMALL LIGATURE IJ;Ll;0;L;<compat> 0069 006A;;;;N;LATIN SMALL LETTER I J;;0132;;0132
+0134;LATIN CAPITAL LETTER J WITH CIRCUMFLEX;Lu;0;L;004A 0302;;;;N;LATIN CAPITAL LETTER J CIRCUMFLEX;;;0135;
+0135;LATIN SMALL LETTER J WITH CIRCUMFLEX;Ll;0;L;006A 0302;;;;N;LATIN SMALL LETTER J CIRCUMFLEX;;0134;;0134
+0136;LATIN CAPITAL LETTER K WITH CEDILLA;Lu;0;L;004B 0327;;;;N;LATIN CAPITAL LETTER K CEDILLA;;;0137;
+0137;LATIN SMALL LETTER K WITH CEDILLA;Ll;0;L;006B 0327;;;;N;LATIN SMALL LETTER K CEDILLA;;0136;;0136
+0138;LATIN SMALL LETTER KRA;Ll;0;L;;;;;N;;Greenlandic;;;
+0139;LATIN CAPITAL LETTER L WITH ACUTE;Lu;0;L;004C 0301;;;;N;LATIN CAPITAL LETTER L ACUTE;;;013A;
+013A;LATIN SMALL LETTER L WITH ACUTE;Ll;0;L;006C 0301;;;;N;LATIN SMALL LETTER L ACUTE;;0139;;0139
+013B;LATIN CAPITAL LETTER L WITH CEDILLA;Lu;0;L;004C 0327;;;;N;LATIN CAPITAL LETTER L CEDILLA;;;013C;
+013C;LATIN SMALL LETTER L WITH CEDILLA;Ll;0;L;006C 0327;;;;N;LATIN SMALL LETTER L CEDILLA;;013B;;013B
+013D;LATIN CAPITAL LETTER L WITH CARON;Lu;0;L;004C 030C;;;;N;LATIN CAPITAL LETTER L HACEK;;;013E;
+013E;LATIN SMALL LETTER L WITH CARON;Ll;0;L;006C 030C;;;;N;LATIN SMALL LETTER L HACEK;;013D;;013D
+013F;LATIN CAPITAL LETTER L WITH MIDDLE DOT;Lu;0;L;<compat> 004C 00B7;;;;N;;;;0140;
+0140;LATIN SMALL LETTER L WITH MIDDLE DOT;Ll;0;L;<compat> 006C 00B7;;;;N;;;013F;;013F
+0141;LATIN CAPITAL LETTER L WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER L SLASH;;;0142;
+0142;LATIN SMALL LETTER L WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER L SLASH;;0141;;0141
+0143;LATIN CAPITAL LETTER N WITH ACUTE;Lu;0;L;004E 0301;;;;N;LATIN CAPITAL LETTER N ACUTE;;;0144;
+0144;LATIN SMALL LETTER N WITH ACUTE;Ll;0;L;006E 0301;;;;N;LATIN SMALL LETTER N ACUTE;;0143;;0143
+0145;LATIN CAPITAL LETTER N WITH CEDILLA;Lu;0;L;004E 0327;;;;N;LATIN CAPITAL LETTER N CEDILLA;;;0146;
+0146;LATIN SMALL LETTER N WITH CEDILLA;Ll;0;L;006E 0327;;;;N;LATIN SMALL LETTER N CEDILLA;;0145;;0145
+0147;LATIN CAPITAL LETTER N WITH CARON;Lu;0;L;004E 030C;;;;N;LATIN CAPITAL LETTER N HACEK;;;0148;
+0148;LATIN SMALL LETTER N WITH CARON;Ll;0;L;006E 030C;;;;N;LATIN SMALL LETTER N HACEK;;0147;;0147
+0149;LATIN SMALL LETTER N PRECEDED BY APOSTROPHE;Ll;0;L;<compat> 02BC 006E;;;;N;LATIN SMALL LETTER APOSTROPHE N;;;;
+014A;LATIN CAPITAL LETTER ENG;Lu;0;L;;;;;N;;Sami;;014B;
+014B;LATIN SMALL LETTER ENG;Ll;0;L;;;;;N;;Sami;014A;;014A
+014C;LATIN CAPITAL LETTER O WITH MACRON;Lu;0;L;004F 0304;;;;N;LATIN CAPITAL LETTER O MACRON;;;014D;
+014D;LATIN SMALL LETTER O WITH MACRON;Ll;0;L;006F 0304;;;;N;LATIN SMALL LETTER O MACRON;;014C;;014C
+014E;LATIN CAPITAL LETTER O WITH BREVE;Lu;0;L;004F 0306;;;;N;LATIN CAPITAL LETTER O BREVE;;;014F;
+014F;LATIN SMALL LETTER O WITH BREVE;Ll;0;L;006F 0306;;;;N;LATIN SMALL LETTER O BREVE;;014E;;014E
+0150;LATIN CAPITAL LETTER O WITH DOUBLE ACUTE;Lu;0;L;004F 030B;;;;N;LATIN CAPITAL LETTER O DOUBLE ACUTE;;;0151;
+0151;LATIN SMALL LETTER O WITH DOUBLE ACUTE;Ll;0;L;006F 030B;;;;N;LATIN SMALL LETTER O DOUBLE ACUTE;;0150;;0150
+0152;LATIN CAPITAL LIGATURE OE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O E;;;0153;
+0153;LATIN SMALL LIGATURE OE;Ll;0;L;;;;;N;LATIN SMALL LETTER O E;;0152;;0152
+0154;LATIN CAPITAL LETTER R WITH ACUTE;Lu;0;L;0052 0301;;;;N;LATIN CAPITAL LETTER R ACUTE;;;0155;
+0155;LATIN SMALL LETTER R WITH ACUTE;Ll;0;L;0072 0301;;;;N;LATIN SMALL LETTER R ACUTE;;0154;;0154
+0156;LATIN CAPITAL LETTER R WITH CEDILLA;Lu;0;L;0052 0327;;;;N;LATIN CAPITAL LETTER R CEDILLA;;;0157;
+0157;LATIN SMALL LETTER R WITH CEDILLA;Ll;0;L;0072 0327;;;;N;LATIN SMALL LETTER R CEDILLA;;0156;;0156
+0158;LATIN CAPITAL LETTER R WITH CARON;Lu;0;L;0052 030C;;;;N;LATIN CAPITAL LETTER R HACEK;;;0159;
+0159;LATIN SMALL LETTER R WITH CARON;Ll;0;L;0072 030C;;;;N;LATIN SMALL LETTER R HACEK;;0158;;0158
+015A;LATIN CAPITAL LETTER S WITH ACUTE;Lu;0;L;0053 0301;;;;N;LATIN CAPITAL LETTER S ACUTE;;;015B;
+015B;LATIN SMALL LETTER S WITH ACUTE;Ll;0;L;0073 0301;;;;N;LATIN SMALL LETTER S ACUTE;;015A;;015A
+015C;LATIN CAPITAL LETTER S WITH CIRCUMFLEX;Lu;0;L;0053 0302;;;;N;LATIN CAPITAL LETTER S CIRCUMFLEX;;;015D;
+015D;LATIN SMALL LETTER S WITH CIRCUMFLEX;Ll;0;L;0073 0302;;;;N;LATIN SMALL LETTER S CIRCUMFLEX;;015C;;015C
+015E;LATIN CAPITAL LETTER S WITH CEDILLA;Lu;0;L;0053 0327;;;;N;LATIN CAPITAL LETTER S CEDILLA;;;015F;
+015F;LATIN SMALL LETTER S WITH CEDILLA;Ll;0;L;0073 0327;;;;N;LATIN SMALL LETTER S CEDILLA;;015E;;015E
+0160;LATIN CAPITAL LETTER S WITH CARON;Lu;0;L;0053 030C;;;;N;LATIN CAPITAL LETTER S HACEK;;;0161;
+0161;LATIN SMALL LETTER S WITH CARON;Ll;0;L;0073 030C;;;;N;LATIN SMALL LETTER S HACEK;;0160;;0160
+0162;LATIN CAPITAL LETTER T WITH CEDILLA;Lu;0;L;0054 0327;;;;N;LATIN CAPITAL LETTER T CEDILLA;;;0163;
+0163;LATIN SMALL LETTER T WITH CEDILLA;Ll;0;L;0074 0327;;;;N;LATIN SMALL LETTER T CEDILLA;;0162;;0162
+0164;LATIN CAPITAL LETTER T WITH CARON;Lu;0;L;0054 030C;;;;N;LATIN CAPITAL LETTER T HACEK;;;0165;
+0165;LATIN SMALL LETTER T WITH CARON;Ll;0;L;0074 030C;;;;N;LATIN SMALL LETTER T HACEK;;0164;;0164
+0166;LATIN CAPITAL LETTER T WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER T BAR;;;0167;
+0167;LATIN SMALL LETTER T WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER T BAR;;0166;;0166
+0168;LATIN CAPITAL LETTER U WITH TILDE;Lu;0;L;0055 0303;;;;N;LATIN CAPITAL LETTER U TILDE;;;0169;
+0169;LATIN SMALL LETTER U WITH TILDE;Ll;0;L;0075 0303;;;;N;LATIN SMALL LETTER U TILDE;;0168;;0168
+016A;LATIN CAPITAL LETTER U WITH MACRON;Lu;0;L;0055 0304;;;;N;LATIN CAPITAL LETTER U MACRON;;;016B;
+016B;LATIN SMALL LETTER U WITH MACRON;Ll;0;L;0075 0304;;;;N;LATIN SMALL LETTER U MACRON;;016A;;016A
+016C;LATIN CAPITAL LETTER U WITH BREVE;Lu;0;L;0055 0306;;;;N;LATIN CAPITAL LETTER U BREVE;;;016D;
+016D;LATIN SMALL LETTER U WITH BREVE;Ll;0;L;0075 0306;;;;N;LATIN SMALL LETTER U BREVE;;016C;;016C
+016E;LATIN CAPITAL LETTER U WITH RING ABOVE;Lu;0;L;0055 030A;;;;N;LATIN CAPITAL LETTER U RING;;;016F;
+016F;LATIN SMALL LETTER U WITH RING ABOVE;Ll;0;L;0075 030A;;;;N;LATIN SMALL LETTER U RING;;016E;;016E
+0170;LATIN CAPITAL LETTER U WITH DOUBLE ACUTE;Lu;0;L;0055 030B;;;;N;LATIN CAPITAL LETTER U DOUBLE ACUTE;;;0171;
+0171;LATIN SMALL LETTER U WITH DOUBLE ACUTE;Ll;0;L;0075 030B;;;;N;LATIN SMALL LETTER U DOUBLE ACUTE;;0170;;0170
+0172;LATIN CAPITAL LETTER U WITH OGONEK;Lu;0;L;0055 0328;;;;N;LATIN CAPITAL LETTER U OGONEK;;;0173;
+0173;LATIN SMALL LETTER U WITH OGONEK;Ll;0;L;0075 0328;;;;N;LATIN SMALL LETTER U OGONEK;;0172;;0172
+0174;LATIN CAPITAL LETTER W WITH CIRCUMFLEX;Lu;0;L;0057 0302;;;;N;LATIN CAPITAL LETTER W CIRCUMFLEX;;;0175;
+0175;LATIN SMALL LETTER W WITH CIRCUMFLEX;Ll;0;L;0077 0302;;;;N;LATIN SMALL LETTER W CIRCUMFLEX;;0174;;0174
+0176;LATIN CAPITAL LETTER Y WITH CIRCUMFLEX;Lu;0;L;0059 0302;;;;N;LATIN CAPITAL LETTER Y CIRCUMFLEX;;;0177;
+0177;LATIN SMALL LETTER Y WITH CIRCUMFLEX;Ll;0;L;0079 0302;;;;N;LATIN SMALL LETTER Y CIRCUMFLEX;;0176;;0176
+0178;LATIN CAPITAL LETTER Y WITH DIAERESIS;Lu;0;L;0059 0308;;;;N;LATIN CAPITAL LETTER Y DIAERESIS;;;00FF;
+0179;LATIN CAPITAL LETTER Z WITH ACUTE;Lu;0;L;005A 0301;;;;N;LATIN CAPITAL LETTER Z ACUTE;;;017A;
+017A;LATIN SMALL LETTER Z WITH ACUTE;Ll;0;L;007A 0301;;;;N;LATIN SMALL LETTER Z ACUTE;;0179;;0179
+017B;LATIN CAPITAL LETTER Z WITH DOT ABOVE;Lu;0;L;005A 0307;;;;N;LATIN CAPITAL LETTER Z DOT;;;017C;
+017C;LATIN SMALL LETTER Z WITH DOT ABOVE;Ll;0;L;007A 0307;;;;N;LATIN SMALL LETTER Z DOT;;017B;;017B
+017D;LATIN CAPITAL LETTER Z WITH CARON;Lu;0;L;005A 030C;;;;N;LATIN CAPITAL LETTER Z HACEK;;;017E;
+017E;LATIN SMALL LETTER Z WITH CARON;Ll;0;L;007A 030C;;;;N;LATIN SMALL LETTER Z HACEK;;017D;;017D
+017F;LATIN SMALL LETTER LONG S;Ll;0;L;<compat> 0073;;;;N;;;0053;;0053
+0180;LATIN SMALL LETTER B WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER B BAR;;;;
+0181;LATIN CAPITAL LETTER B WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER B HOOK;;;0253;
+0182;LATIN CAPITAL LETTER B WITH TOPBAR;Lu;0;L;;;;;N;LATIN CAPITAL LETTER B TOPBAR;;;0183;
+0183;LATIN SMALL LETTER B WITH TOPBAR;Ll;0;L;;;;;N;LATIN SMALL LETTER B TOPBAR;;0182;;0182
+0184;LATIN CAPITAL LETTER TONE SIX;Lu;0;L;;;;;N;;;;0185;
+0185;LATIN SMALL LETTER TONE SIX;Ll;0;L;;;;;N;;;0184;;0184
+0186;LATIN CAPITAL LETTER OPEN O;Lu;0;L;;;;;N;;;;0254;
+0187;LATIN CAPITAL LETTER C WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER C HOOK;;;0188;
+0188;LATIN SMALL LETTER C WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER C HOOK;;0187;;0187
+0189;LATIN CAPITAL LETTER AFRICAN D;Lu;0;L;;;;;N;;;;0256;
+018A;LATIN CAPITAL LETTER D WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D HOOK;;;0257;
+018B;LATIN CAPITAL LETTER D WITH TOPBAR;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D TOPBAR;;;018C;
+018C;LATIN SMALL LETTER D WITH TOPBAR;Ll;0;L;;;;;N;LATIN SMALL LETTER D TOPBAR;;018B;;018B
+018D;LATIN SMALL LETTER TURNED DELTA;Ll;0;L;;;;;N;;;;;
+018E;LATIN CAPITAL LETTER REVERSED E;Lu;0;L;;;;;N;LATIN CAPITAL LETTER TURNED E;;;01DD;
+018F;LATIN CAPITAL LETTER SCHWA;Lu;0;L;;;;;N;;;;0259;
+0190;LATIN CAPITAL LETTER OPEN E;Lu;0;L;;;;;N;LATIN CAPITAL LETTER EPSILON;;;025B;
+0191;LATIN CAPITAL LETTER F WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER F HOOK;;;0192;
+0192;LATIN SMALL LETTER F WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT F;;0191;;0191
+0193;LATIN CAPITAL LETTER G WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER G HOOK;;;0260;
+0194;LATIN CAPITAL LETTER GAMMA;Lu;0;L;;;;;N;;;;0263;
+0195;LATIN SMALL LETTER HV;Ll;0;L;;;;;N;LATIN SMALL LETTER H V;;;;
+0196;LATIN CAPITAL LETTER IOTA;Lu;0;L;;;;;N;;;;0269;
+0197;LATIN CAPITAL LETTER I WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER BARRED I;;;0268;
+0198;LATIN CAPITAL LETTER K WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER K HOOK;;;0199;
+0199;LATIN SMALL LETTER K WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER K HOOK;;0198;;0198
+019A;LATIN SMALL LETTER L WITH BAR;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED L;;;;
+019B;LATIN SMALL LETTER LAMBDA WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED LAMBDA;;;;
+019C;LATIN CAPITAL LETTER TURNED M;Lu;0;L;;;;;N;;;;026F;
+019D;LATIN CAPITAL LETTER N WITH LEFT HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER N HOOK;;;0272;
+019E;LATIN SMALL LETTER N WITH LONG RIGHT LEG;Ll;0;L;;;;;N;;;;;
+019F;LATIN CAPITAL LETTER O WITH MIDDLE TILDE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER BARRED O;;;0275;
+01A0;LATIN CAPITAL LETTER O WITH HORN;Lu;0;L;004F 031B;;;;N;LATIN CAPITAL LETTER O HORN;;;01A1;
+01A1;LATIN SMALL LETTER O WITH HORN;Ll;0;L;006F 031B;;;;N;LATIN SMALL LETTER O HORN;;01A0;;01A0
+01A2;LATIN CAPITAL LETTER OI;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O I;;;01A3;
+01A3;LATIN SMALL LETTER OI;Ll;0;L;;;;;N;LATIN SMALL LETTER O I;;01A2;;01A2
+01A4;LATIN CAPITAL LETTER P WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER P HOOK;;;01A5;
+01A5;LATIN SMALL LETTER P WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER P HOOK;;01A4;;01A4
+01A6;LATIN LETTER YR;Lu;0;L;;;;;N;LATIN LETTER Y R;;;;
+01A7;LATIN CAPITAL LETTER TONE TWO;Lu;0;L;;;;;N;;;;01A8;
+01A8;LATIN SMALL LETTER TONE TWO;Ll;0;L;;;;;N;;;01A7;;01A7
+01A9;LATIN CAPITAL LETTER ESH;Lu;0;L;;;;;N;;;;0283;
+01AA;LATIN LETTER REVERSED ESH LOOP;Lo;0;L;;;;;N;;;;;
+01AB;LATIN SMALL LETTER T WITH PALATAL HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER T PALATAL HOOK;;;;
+01AC;LATIN CAPITAL LETTER T WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER T HOOK;;;01AD;
+01AD;LATIN SMALL LETTER T WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER T HOOK;;01AC;;01AC
+01AE;LATIN CAPITAL LETTER T WITH RETROFLEX HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER T RETROFLEX HOOK;;;0288;
+01AF;LATIN CAPITAL LETTER U WITH HORN;Lu;0;L;0055 031B;;;;N;LATIN CAPITAL LETTER U HORN;;;01B0;
+01B0;LATIN SMALL LETTER U WITH HORN;Ll;0;L;0075 031B;;;;N;LATIN SMALL LETTER U HORN;;01AF;;01AF
+01B1;LATIN CAPITAL LETTER UPSILON;Lu;0;L;;;;;N;;;;028A;
+01B2;LATIN CAPITAL LETTER V WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER SCRIPT V;;;028B;
+01B3;LATIN CAPITAL LETTER Y WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER Y HOOK;;;01B4;
+01B4;LATIN SMALL LETTER Y WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Y HOOK;;01B3;;01B3
+01B5;LATIN CAPITAL LETTER Z WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER Z BAR;;;01B6;
+01B6;LATIN SMALL LETTER Z WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER Z BAR;;01B5;;01B5
+01B7;LATIN CAPITAL LETTER EZH;Lu;0;L;;;;;N;LATIN CAPITAL LETTER YOGH;;;0292;
+01B8;LATIN CAPITAL LETTER EZH REVERSED;Lu;0;L;;;;;N;LATIN CAPITAL LETTER REVERSED YOGH;;;01B9;
+01B9;LATIN SMALL LETTER EZH REVERSED;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED YOGH;;01B8;;01B8
+01BA;LATIN SMALL LETTER EZH WITH TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER YOGH WITH TAIL;;;;
+01BB;LATIN LETTER TWO WITH STROKE;Lo;0;L;;;;;N;LATIN LETTER TWO BAR;;;;
+01BC;LATIN CAPITAL LETTER TONE FIVE;Lu;0;L;;;;;N;;;;01BD;
+01BD;LATIN SMALL LETTER TONE FIVE;Ll;0;L;;;;;N;;;01BC;;01BC
+01BE;LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE;Lo;0;L;;;;;N;LATIN LETTER INVERTED GLOTTAL STOP BAR;;;;
+01BF;LATIN LETTER WYNN;Lo;0;L;;;;;N;;;;;
+01C0;LATIN LETTER DENTAL CLICK;Lo;0;L;;;;;N;LATIN LETTER PIPE;;;;
+01C1;LATIN LETTER LATERAL CLICK;Lo;0;L;;;;;N;LATIN LETTER DOUBLE PIPE;;;;
+01C2;LATIN LETTER ALVEOLAR CLICK;Lo;0;L;;;;;N;LATIN LETTER PIPE DOUBLE BAR;;;;
+01C3;LATIN LETTER RETROFLEX CLICK;Lo;0;L;;;;;N;LATIN LETTER EXCLAMATION MARK;;;;
+01C4;LATIN CAPITAL LETTER DZ WITH CARON;Lu;0;L;<compat> 0044 017D;;;;N;LATIN CAPITAL LETTER D Z HACEK;;;01C6;01C5
+01C5;LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON;Lt;0;L;<compat> 0044 017E;;;;N;LATIN LETTER CAPITAL D SMALL Z HACEK;;01C4;01C6;
+01C6;LATIN SMALL LETTER DZ WITH CARON;Ll;0;L;<compat> 0064 017E;;;;N;LATIN SMALL LETTER D Z HACEK;;01C4;;01C5
+01C7;LATIN CAPITAL LETTER LJ;Lu;0;L;<compat> 004C 004A;;;;N;LATIN CAPITAL LETTER L J;;;01C9;01C8
+01C8;LATIN CAPITAL LETTER L WITH SMALL LETTER J;Lt;0;L;<compat> 004C 006A;;;;N;LATIN LETTER CAPITAL L SMALL J;;01C7;01C9;
+01C9;LATIN SMALL LETTER LJ;Ll;0;L;<compat> 006C 006A;;;;N;LATIN SMALL LETTER L J;;01C7;;01C8
+01CA;LATIN CAPITAL LETTER NJ;Lu;0;L;<compat> 004E 004A;;;;N;LATIN CAPITAL LETTER N J;;;01CC;01CB
+01CB;LATIN CAPITAL LETTER N WITH SMALL LETTER J;Lt;0;L;<compat> 004E 006A;;;;N;LATIN LETTER CAPITAL N SMALL J;;01CA;01CC;
+01CC;LATIN SMALL LETTER NJ;Ll;0;L;<compat> 006E 006A;;;;N;LATIN SMALL LETTER N J;;01CA;;01CB
+01CD;LATIN CAPITAL LETTER A WITH CARON;Lu;0;L;0041 030C;;;;N;LATIN CAPITAL LETTER A HACEK;;;01CE;
+01CE;LATIN SMALL LETTER A WITH CARON;Ll;0;L;0061 030C;;;;N;LATIN SMALL LETTER A HACEK;;01CD;;01CD
+01CF;LATIN CAPITAL LETTER I WITH CARON;Lu;0;L;0049 030C;;;;N;LATIN CAPITAL LETTER I HACEK;;;01D0;
+01D0;LATIN SMALL LETTER I WITH CARON;Ll;0;L;0069 030C;;;;N;LATIN SMALL LETTER I HACEK;;01CF;;01CF
+01D1;LATIN CAPITAL LETTER O WITH CARON;Lu;0;L;004F 030C;;;;N;LATIN CAPITAL LETTER O HACEK;;;01D2;
+01D2;LATIN SMALL LETTER O WITH CARON;Ll;0;L;006F 030C;;;;N;LATIN SMALL LETTER O HACEK;;01D1;;01D1
+01D3;LATIN CAPITAL LETTER U WITH CARON;Lu;0;L;0055 030C;;;;N;LATIN CAPITAL LETTER U HACEK;;;01D4;
+01D4;LATIN SMALL LETTER U WITH CARON;Ll;0;L;0075 030C;;;;N;LATIN SMALL LETTER U HACEK;;01D3;;01D3
+01D5;LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON;Lu;0;L;00DC 0304;;;;N;LATIN CAPITAL LETTER U DIAERESIS MACRON;;;01D6;
+01D6;LATIN SMALL LETTER U WITH DIAERESIS AND MACRON;Ll;0;L;00FC 0304;;;;N;LATIN SMALL LETTER U DIAERESIS MACRON;;01D5;;01D5
+01D7;LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE;Lu;0;L;00DC 0301;;;;N;LATIN CAPITAL LETTER U DIAERESIS ACUTE;;;01D8;
+01D8;LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE;Ll;0;L;00FC 0301;;;;N;LATIN SMALL LETTER U DIAERESIS ACUTE;;01D7;;01D7
+01D9;LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON;Lu;0;L;00DC 030C;;;;N;LATIN CAPITAL LETTER U DIAERESIS HACEK;;;01DA;
+01DA;LATIN SMALL LETTER U WITH DIAERESIS AND CARON;Ll;0;L;00FC 030C;;;;N;LATIN SMALL LETTER U DIAERESIS HACEK;;01D9;;01D9
+01DB;LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE;Lu;0;L;00DC 0300;;;;N;LATIN CAPITAL LETTER U DIAERESIS GRAVE;;;01DC;
+01DC;LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE;Ll;0;L;00FC 0300;;;;N;LATIN SMALL LETTER U DIAERESIS GRAVE;;01DB;;01DB
+01DD;LATIN SMALL LETTER TURNED E;Ll;0;L;;;;;N;;;018E;;018E
+01DE;LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON;Lu;0;L;00C4 0304;;;;N;LATIN CAPITAL LETTER A DIAERESIS MACRON;;;01DF;
+01DF;LATIN SMALL LETTER A WITH DIAERESIS AND MACRON;Ll;0;L;00E4 0304;;;;N;LATIN SMALL LETTER A DIAERESIS MACRON;;01DE;;01DE
+01E0;LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON;Lu;0;L;0041 0307 0304;;;;N;LATIN CAPITAL LETTER A DOT MACRON;;;01E1;
+01E1;LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON;Ll;0;L;0061 0307 0304;;;;N;LATIN SMALL LETTER A DOT MACRON;;01E0;;01E0
+01E2;LATIN CAPITAL LETTER AE WITH MACRON;Lu;0;L;00C6 0304;;;;N;LATIN CAPITAL LETTER A E MACRON;;;01E3;
+01E3;LATIN SMALL LETTER AE WITH MACRON;Ll;0;L;00E6 0304;;;;N;LATIN SMALL LETTER A E MACRON;;01E2;;01E2
+01E4;LATIN CAPITAL LETTER G WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER G BAR;;;01E5;
+01E5;LATIN SMALL LETTER G WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER G BAR;;01E4;;01E4
+01E6;LATIN CAPITAL LETTER G WITH CARON;Lu;0;L;0047 030C;;;;N;LATIN CAPITAL LETTER G HACEK;;;01E7;
+01E7;LATIN SMALL LETTER G WITH CARON;Ll;0;L;0067 030C;;;;N;LATIN SMALL LETTER G HACEK;;01E6;;01E6
+01E8;LATIN CAPITAL LETTER K WITH CARON;Lu;0;L;004B 030C;;;;N;LATIN CAPITAL LETTER K HACEK;;;01E9;
+01E9;LATIN SMALL LETTER K WITH CARON;Ll;0;L;006B 030C;;;;N;LATIN SMALL LETTER K HACEK;;01E8;;01E8
+01EA;LATIN CAPITAL LETTER O WITH OGONEK;Lu;0;L;004F 0328;;;;N;LATIN CAPITAL LETTER O OGONEK;;;01EB;
+01EB;LATIN SMALL LETTER O WITH OGONEK;Ll;0;L;006F 0328;;;;N;LATIN SMALL LETTER O OGONEK;;01EA;;01EA
+01EC;LATIN CAPITAL LETTER O WITH OGONEK AND MACRON;Lu;0;L;01EA 0304;;;;N;LATIN CAPITAL LETTER O OGONEK MACRON;;;01ED;
+01ED;LATIN SMALL LETTER O WITH OGONEK AND MACRON;Ll;0;L;01EB 0304;;;;N;LATIN SMALL LETTER O OGONEK MACRON;;01EC;;01EC
+01EE;LATIN CAPITAL LETTER EZH WITH CARON;Lu;0;L;01B7 030C;;;;N;LATIN CAPITAL LETTER YOGH HACEK;;;01EF;
+01EF;LATIN SMALL LETTER EZH WITH CARON;Ll;0;L;0292 030C;;;;N;LATIN SMALL LETTER YOGH HACEK;;01EE;;01EE
+01F0;LATIN SMALL LETTER J WITH CARON;Ll;0;L;006A 030C;;;;N;LATIN SMALL LETTER J HACEK;;;;
+01F1;LATIN CAPITAL LETTER DZ;Lu;0;L;<compat> 0044 005A;;;;N;;;;01F3;01F2
+01F2;LATIN CAPITAL LETTER D WITH SMALL LETTER Z;Lt;0;L;<compat> 0044 007A;;;;N;;;01F1;01F3;
+01F3;LATIN SMALL LETTER DZ;Ll;0;L;<compat> 0064 007A;;;;N;;;01F1;;01F2
+01F4;LATIN CAPITAL LETTER G WITH ACUTE;Lu;0;L;0047 0301;;;;N;;;;01F5;
+01F5;LATIN SMALL LETTER G WITH ACUTE;Ll;0;L;0067 0301;;;;N;;;01F4;;01F4
+01FA;LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE;Lu;0;L;00C5 0301;;;;N;;;;01FB;
+01FB;LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE;Ll;0;L;00E5 0301;;;;N;;;01FA;;01FA
+01FC;LATIN CAPITAL LETTER AE WITH ACUTE;Lu;0;L;00C6 0301;;;;N;;;;01FD;
+01FD;LATIN SMALL LETTER AE WITH ACUTE;Ll;0;L;00E6 0301;;;;N;;;01FC;;01FC
+01FE;LATIN CAPITAL LETTER O WITH STROKE AND ACUTE;Lu;0;L;00D8 0301;;;;N;;;;01FF;
+01FF;LATIN SMALL LETTER O WITH STROKE AND ACUTE;Ll;0;L;00F8 0301;;;;N;;;01FE;;01FE
+0200;LATIN CAPITAL LETTER A WITH DOUBLE GRAVE;Lu;0;L;0041 030F;;;;N;;;;0201;
+0201;LATIN SMALL LETTER A WITH DOUBLE GRAVE;Ll;0;L;0061 030F;;;;N;;;0200;;0200
+0202;LATIN CAPITAL LETTER A WITH INVERTED BREVE;Lu;0;L;0041 0311;;;;N;;;;0203;
+0203;LATIN SMALL LETTER A WITH INVERTED BREVE;Ll;0;L;0061 0311;;;;N;;;0202;;0202
+0204;LATIN CAPITAL LETTER E WITH DOUBLE GRAVE;Lu;0;L;0045 030F;;;;N;;;;0205;
+0205;LATIN SMALL LETTER E WITH DOUBLE GRAVE;Ll;0;L;0065 030F;;;;N;;;0204;;0204
+0206;LATIN CAPITAL LETTER E WITH INVERTED BREVE;Lu;0;L;0045 0311;;;;N;;;;0207;
+0207;LATIN SMALL LETTER E WITH INVERTED BREVE;Ll;0;L;0065 0311;;;;N;;;0206;;0206
+0208;LATIN CAPITAL LETTER I WITH DOUBLE GRAVE;Lu;0;L;0049 030F;;;;N;;;;0209;
+0209;LATIN SMALL LETTER I WITH DOUBLE GRAVE;Ll;0;L;0069 030F;;;;N;;;0208;;0208
+020A;LATIN CAPITAL LETTER I WITH INVERTED BREVE;Lu;0;L;0049 0311;;;;N;;;;020B;
+020B;LATIN SMALL LETTER I WITH INVERTED BREVE;Ll;0;L;0069 0311;;;;N;;;020A;;020A
+020C;LATIN CAPITAL LETTER O WITH DOUBLE GRAVE;Lu;0;L;004F 030F;;;;N;;;;020D;
+020D;LATIN SMALL LETTER O WITH DOUBLE GRAVE;Ll;0;L;006F 030F;;;;N;;;020C;;020C
+020E;LATIN CAPITAL LETTER O WITH INVERTED BREVE;Lu;0;L;004F 0311;;;;N;;;;020F;
+020F;LATIN SMALL LETTER O WITH INVERTED BREVE;Ll;0;L;006F 0311;;;;N;;;020E;;020E
+0210;LATIN CAPITAL LETTER R WITH DOUBLE GRAVE;Lu;0;L;0052 030F;;;;N;;;;0211;
+0211;LATIN SMALL LETTER R WITH DOUBLE GRAVE;Ll;0;L;0072 030F;;;;N;;;0210;;0210
+0212;LATIN CAPITAL LETTER R WITH INVERTED BREVE;Lu;0;L;0052 0311;;;;N;;;;0213;
+0213;LATIN SMALL LETTER R WITH INVERTED BREVE;Ll;0;L;0072 0311;;;;N;;;0212;;0212
+0214;LATIN CAPITAL LETTER U WITH DOUBLE GRAVE;Lu;0;L;0055 030F;;;;N;;;;0215;
+0215;LATIN SMALL LETTER U WITH DOUBLE GRAVE;Ll;0;L;0075 030F;;;;N;;;0214;;0214
+0216;LATIN CAPITAL LETTER U WITH INVERTED BREVE;Lu;0;L;0055 0311;;;;N;;;;0217;
+0217;LATIN SMALL LETTER U WITH INVERTED BREVE;Ll;0;L;0075 0311;;;;N;;;0216;;0216
+0250;LATIN SMALL LETTER TURNED A;Ll;0;L;;;;;N;;;;;
+0251;LATIN SMALL LETTER ALPHA;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT A;;;;
+0252;LATIN SMALL LETTER TURNED ALPHA;Ll;0;L;;;;;N;LATIN SMALL LETTER TURNED SCRIPT A;;;;
+0253;LATIN SMALL LETTER B WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER B HOOK;;0181;;0181
+0254;LATIN SMALL LETTER OPEN O;Ll;0;L;;;;;N;;;0186;;0186
+0255;LATIN SMALL LETTER C WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER C CURL;;;;
+0256;LATIN SMALL LETTER D WITH TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER D RETROFLEX HOOK;;0189;;0189
+0257;LATIN SMALL LETTER D WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER D HOOK;;018A;;018A
+0258;LATIN SMALL LETTER REVERSED E;Ll;0;L;;;;;N;;;;;
+0259;LATIN SMALL LETTER SCHWA;Ll;0;L;;;;;N;;;018F;;018F
+025A;LATIN SMALL LETTER SCHWA WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCHWA HOOK;;;;
+025B;LATIN SMALL LETTER OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER EPSILON;;0190;;0190
+025C;LATIN SMALL LETTER REVERSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED EPSILON;;;;
+025D;LATIN SMALL LETTER REVERSED OPEN E WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED EPSILON HOOK;;;;
+025E;LATIN SMALL LETTER CLOSED REVERSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER CLOSED REVERSED EPSILON;;;;
+025F;LATIN SMALL LETTER DOTLESS J WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER DOTLESS J BAR;;;;
+0260;LATIN SMALL LETTER G WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER G HOOK;;0193;;0193
+0261;LATIN SMALL LETTER SCRIPT G;Ll;0;L;;;;;N;;;;;
+0262;LATIN LETTER SMALL CAPITAL G;Ll;0;L;;;;;N;;;;;
+0263;LATIN SMALL LETTER GAMMA;Ll;0;L;;;;;N;;;0194;;0194
+0264;LATIN SMALL LETTER RAMS HORN;Ll;0;L;;;;;N;LATIN SMALL LETTER BABY GAMMA;;;;
+0265;LATIN SMALL LETTER TURNED H;Ll;0;L;;;;;N;;;;;
+0266;LATIN SMALL LETTER H WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER H HOOK;;;;
+0267;LATIN SMALL LETTER HENG WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER HENG HOOK;;;;
+0268;LATIN SMALL LETTER I WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED I;;0197;;0197
+0269;LATIN SMALL LETTER IOTA;Ll;0;L;;;;;N;;;0196;;0196
+026A;LATIN LETTER SMALL CAPITAL I;Ll;0;L;;;;;N;;;;;
+026B;LATIN SMALL LETTER L WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
+026C;LATIN SMALL LETTER L WITH BELT;Ll;0;L;;;;;N;LATIN SMALL LETTER L BELT;;;;
+026D;LATIN SMALL LETTER L WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER L RETROFLEX HOOK;;;;
+026E;LATIN SMALL LETTER LEZH;Ll;0;L;;;;;N;LATIN SMALL LETTER L YOGH;;;;
+026F;LATIN SMALL LETTER TURNED M;Ll;0;L;;;;;N;;;019C;;019C
+0270;LATIN SMALL LETTER TURNED M WITH LONG LEG;Ll;0;L;;;;;N;;;;;
+0271;LATIN SMALL LETTER M WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER M HOOK;;;;
+0272;LATIN SMALL LETTER N WITH LEFT HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER N HOOK;;019D;;019D
+0273;LATIN SMALL LETTER N WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER N RETROFLEX HOOK;;;;
+0274;LATIN LETTER SMALL CAPITAL N;Ll;0;L;;;;;N;;;;;
+0275;LATIN SMALL LETTER BARRED O;Ll;0;L;;;;;N;;;;019F;
+0276;LATIN LETTER SMALL CAPITAL OE;Ll;0;L;;;;;N;LATIN LETTER SMALL CAPITAL O E;;;;
+0277;LATIN SMALL LETTER CLOSED OMEGA;Ll;0;L;;;;;N;;;;;
+0278;LATIN SMALL LETTER PHI;Ll;0;L;;;;;N;;;;;
+0279;LATIN SMALL LETTER TURNED R;Ll;0;L;;;;;N;;;;;
+027A;LATIN SMALL LETTER TURNED R WITH LONG LEG;Ll;0;L;;;;;N;;;;;
+027B;LATIN SMALL LETTER TURNED R WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER TURNED R HOOK;;;;
+027C;LATIN SMALL LETTER R WITH LONG LEG;Ll;0;L;;;;;N;;;;;
+027D;LATIN SMALL LETTER R WITH TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER R HOOK;;;;
+027E;LATIN SMALL LETTER R WITH FISHHOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER FISHHOOK R;;;;
+027F;LATIN SMALL LETTER REVERSED R WITH FISHHOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED FISHHOOK R;;;;
+0280;LATIN LETTER SMALL CAPITAL R;Ll;0;L;;;;;N;;;;;
+0281;LATIN LETTER SMALL CAPITAL INVERTED R;Ll;0;L;;;;;N;;;;;
+0282;LATIN SMALL LETTER S WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER S HOOK;;;;
+0283;LATIN SMALL LETTER ESH;Ll;0;L;;;;;N;;;01A9;;01A9
+0284;LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER DOTLESS J BAR HOOK;;;;
+0285;LATIN SMALL LETTER SQUAT REVERSED ESH;Ll;0;L;;;;;N;;;;;
+0286;LATIN SMALL LETTER ESH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER ESH CURL;;;;
+0287;LATIN SMALL LETTER TURNED T;Ll;0;L;;;;;N;;;;;
+0288;LATIN SMALL LETTER T WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER T RETROFLEX HOOK;;01AE;;01AE
+0289;LATIN SMALL LETTER U BAR;Ll;0;L;;;;;N;;;;;
+028A;LATIN SMALL LETTER UPSILON;Ll;0;L;;;;;N;;;01B1;;01B1
+028B;LATIN SMALL LETTER V WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT V;;01B2;;01B2
+028C;LATIN SMALL LETTER TURNED V;Ll;0;L;;;;;N;;;;;
+028D;LATIN SMALL LETTER TURNED W;Ll;0;L;;;;;N;;;;;
+028E;LATIN SMALL LETTER TURNED Y;Ll;0;L;;;;;N;;;;;
+028F;LATIN LETTER SMALL CAPITAL Y;Ll;0;L;;;;;N;;;;;
+0290;LATIN SMALL LETTER Z WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Z RETROFLEX HOOK;;;;
+0291;LATIN SMALL LETTER Z WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER Z CURL;;;;
+0292;LATIN SMALL LETTER EZH;Ll;0;L;;;;;N;LATIN SMALL LETTER YOGH;;01B7;;01B7
+0293;LATIN SMALL LETTER EZH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER YOGH CURL;;;;
+0294;LATIN LETTER GLOTTAL STOP;Ll;0;L;;;;;N;;;;;
+0295;LATIN LETTER PHARYNGEAL VOICED FRICATIVE;Ll;0;L;;;;;N;LATIN LETTER REVERSED GLOTTAL STOP;;;;
+0296;LATIN LETTER INVERTED GLOTTAL STOP;Ll;0;L;;;;;N;;;;;
+0297;LATIN LETTER STRETCHED C;Ll;0;L;;;;;N;;;;;
+0298;LATIN LETTER BILABIAL CLICK;Ll;0;L;;;;;N;LATIN LETTER BULLSEYE;;;;
+0299;LATIN LETTER SMALL CAPITAL B;Ll;0;L;;;;;N;;;;;
+029A;LATIN SMALL LETTER CLOSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER CLOSED EPSILON;;;;
+029B;LATIN LETTER SMALL CAPITAL G WITH HOOK;Ll;0;L;;;;;N;LATIN LETTER SMALL CAPITAL G HOOK;;;;
+029C;LATIN LETTER SMALL CAPITAL H;Ll;0;L;;;;;N;;;;;
+029D;LATIN SMALL LETTER J WITH CROSSED-TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER CROSSED-TAIL J;;;;
+029E;LATIN SMALL LETTER TURNED K;Ll;0;L;;;;;N;;;;;
+029F;LATIN LETTER SMALL CAPITAL L;Ll;0;L;;;;;N;;;;;
+02A0;LATIN SMALL LETTER Q WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Q HOOK;;;;
+02A1;LATIN LETTER GLOTTAL STOP WITH STROKE;Ll;0;L;;;;;N;LATIN LETTER GLOTTAL STOP BAR;;;;
+02A2;LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE;Ll;0;L;;;;;N;LATIN LETTER REVERSED GLOTTAL STOP BAR;;;;
+02A3;LATIN SMALL LETTER DZ DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER D Z;;;;
+02A4;LATIN SMALL LETTER DEZH DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER D YOGH;;;;
+02A5;LATIN SMALL LETTER DZ DIGRAPH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER D Z CURL;;;;
+02A6;LATIN SMALL LETTER TS DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER T S;;;;
+02A7;LATIN SMALL LETTER TESH DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER T ESH;;;;
+02A8;LATIN SMALL LETTER TC DIGRAPH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER T C CURL;;;;
+02B0;MODIFIER LETTER SMALL H;Lm;0;L;<super> 0068;;;;N;;;;;
+02B1;MODIFIER LETTER SMALL H WITH HOOK;Lm;0;L;<super> 0266;;;;N;MODIFIER LETTER SMALL H HOOK;;;;
+02B2;MODIFIER LETTER SMALL J;Lm;0;L;<super> 006A;;;;N;;;;;
+02B3;MODIFIER LETTER SMALL R;Lm;0;L;<super> 0072;;;;N;;;;;
+02B4;MODIFIER LETTER SMALL TURNED R;Lm;0;L;<super> 0279;;;;N;;;;;
+02B5;MODIFIER LETTER SMALL TURNED R WITH HOOK;Lm;0;L;<super> 027B;;;;N;MODIFIER LETTER SMALL TURNED R HOOK;;;;
+02B6;MODIFIER LETTER SMALL CAPITAL INVERTED R;Lm;0;L;<super> 0281;;;;N;;;;;
+02B7;MODIFIER LETTER SMALL W;Lm;0;L;<super> 0077;;;;N;;;;;
+02B8;MODIFIER LETTER SMALL Y;Lm;0;L;<super> 0079;;;;N;;;;;
+02B9;MODIFIER LETTER PRIME;Sk;0;L;;;;;N;;;;;
+02BA;MODIFIER LETTER DOUBLE PRIME;Sk;0;L;;;;;N;;;;;
+02BB;MODIFIER LETTER TURNED COMMA;Lm;0;L;;;;;N;;;;;
+02BC;MODIFIER LETTER APOSTROPHE;Lm;0;L;;;;;N;;;;;
+02BD;MODIFIER LETTER REVERSED COMMA;Lm;0;L;;;;;N;;;;;
+02BE;MODIFIER LETTER RIGHT HALF RING;Lm;0;L;;;;;N;;;;;
+02BF;MODIFIER LETTER LEFT HALF RING;Lm;0;L;;;;;N;;;;;
+02C0;MODIFIER LETTER GLOTTAL STOP;Lm;0;L;;;;;N;;;;;
+02C1;MODIFIER LETTER REVERSED GLOTTAL STOP;Lm;0;L;;;;;N;;;;;
+02C2;MODIFIER LETTER LEFT ARROWHEAD;Sk;0;L;;;;;N;;;;;
+02C3;MODIFIER LETTER RIGHT ARROWHEAD;Sk;0;L;;;;;N;;;;;
+02C4;MODIFIER LETTER UP ARROWHEAD;Sk;0;L;;;;;N;;;;;
+02C5;MODIFIER LETTER DOWN ARROWHEAD;Sk;0;L;;;;;N;;;;;
+02C6;MODIFIER LETTER CIRCUMFLEX ACCENT;Sk;0;L;;;;;N;MODIFIER LETTER CIRCUMFLEX;;;;
+02C7;CARON;Sk;0;L;;;;;N;MODIFIER LETTER HACEK;Mandarin Chinese third tone;;;
+02C8;MODIFIER LETTER VERTICAL LINE;Sk;0;L;;;;;N;;;;;
+02C9;MODIFIER LETTER MACRON;Sk;0;L;;;;;N;;Mandarin Chinese first tone;;;
+02CA;MODIFIER LETTER ACUTE ACCENT;Sk;0;L;;;;;N;MODIFIER LETTER ACUTE;Mandarin Chinese second tone;;;
+02CB;MODIFIER LETTER GRAVE ACCENT;Sk;0;L;;;;;N;MODIFIER LETTER GRAVE;Mandarin Chinese fourth tone;;;
+02CC;MODIFIER LETTER LOW VERTICAL LINE;Sk;0;L;;;;;N;;;;;
+02CD;MODIFIER LETTER LOW MACRON;Sk;0;L;;;;;N;;;;;
+02CE;MODIFIER LETTER LOW GRAVE ACCENT;Sk;0;L;;;;;N;MODIFIER LETTER LOW GRAVE;;;;
+02CF;MODIFIER LETTER LOW ACUTE ACCENT;Sk;0;L;;;;;N;MODIFIER LETTER LOW ACUTE;;;;
+02D0;MODIFIER LETTER TRIANGULAR COLON;Lm;0;L;;;;;N;;;;;
+02D1;MODIFIER LETTER HALF TRIANGULAR COLON;Lm;0;L;;;;;N;;;;;
+02D2;MODIFIER LETTER CENTRED RIGHT HALF RING;Sk;0;L;;;;;N;MODIFIER LETTER CENTERED RIGHT HALF RING;;;;
+02D3;MODIFIER LETTER CENTRED LEFT HALF RING;Sk;0;L;;;;;N;MODIFIER LETTER CENTERED LEFT HALF RING;;;;
+02D4;MODIFIER LETTER UP TACK;Sk;0;L;;;;;N;;;;;
+02D5;MODIFIER LETTER DOWN TACK;Sk;0;L;;;;;N;;;;;
+02D6;MODIFIER LETTER PLUS SIGN;Sk;0;L;;;;;N;;;;;
+02D7;MODIFIER LETTER MINUS SIGN;Sk;0;L;;;;;N;;;;;
+02D8;BREVE;Sk;0;L;<compat> 0020 0306;;;;N;SPACING BREVE;;;;
+02D9;DOT ABOVE;Sk;0;L;<compat> 0020 0307;;;;N;SPACING DOT ABOVE;Mandarin Chinese light tone;;;
+02DA;RING ABOVE;Sk;0;L;<compat> 0020 030A;;;;N;SPACING RING ABOVE;;;;
+02DB;OGONEK;Sk;0;L;<compat> 0020 0328;;;;N;SPACING OGONEK;;;;
+02DC;SMALL TILDE;Sk;0;L;<compat> 0020 0303;;;;N;SPACING TILDE;;;;
+02DD;DOUBLE ACUTE ACCENT;Sk;0;L;<compat> 0020 030B;;;;N;SPACING DOUBLE ACUTE;;;;
+02DE;MODIFIER LETTER RHOTIC HOOK;Sk;0;L;;;;;N;;;;;
+02E0;MODIFIER LETTER SMALL GAMMA;Lm;0;L;<super> 0263;;;;N;;;;;
+02E1;MODIFIER LETTER SMALL L;Lm;0;L;<super> 006C;;;;N;;;;;
+02E2;MODIFIER LETTER SMALL S;Lm;0;L;<super> 0073;;;;N;;;;;
+02E3;MODIFIER LETTER SMALL X;Lm;0;L;<super> 0078;;;;N;;;;;
+02E4;MODIFIER LETTER SMALL REVERSED GLOTTAL STOP;Lm;0;L;<super> 0295;;;;N;;;;;
+02E5;MODIFIER LETTER EXTRA-HIGH TONE BAR;Sk;0;L;;;;;N;;;;;
+02E6;MODIFIER LETTER HIGH TONE BAR;Sk;0;L;;;;;N;;;;;
+02E7;MODIFIER LETTER MID TONE BAR;Sk;0;L;;;;;N;;;;;
+02E8;MODIFIER LETTER LOW TONE BAR;Sk;0;L;;;;;N;;;;;
+02E9;MODIFIER LETTER EXTRA-LOW TONE BAR;Sk;0;L;;;;;N;;;;;
+0300;COMBINING GRAVE ACCENT;Mn;230;L;;;;;N;NON-SPACING GRAVE;Varia;;;
+0301;COMBINING ACUTE ACCENT;Mn;230;L;;;;;N;NON-SPACING ACUTE;Oxia;;;
+0302;COMBINING CIRCUMFLEX ACCENT;Mn;230;L;;;;;N;NON-SPACING CIRCUMFLEX;;;;
+0303;COMBINING TILDE;Mn;230;L;;;;;N;NON-SPACING TILDE;;;;
+0304;COMBINING MACRON;Mn;230;L;;;;;N;NON-SPACING MACRON;;;;
+0305;COMBINING OVERLINE;Mn;230;L;;;;;N;NON-SPACING OVERSCORE;;;;
+0306;COMBINING BREVE;Mn;230;L;;;;;N;NON-SPACING BREVE;Vrachy;;;
+0307;COMBINING DOT ABOVE;Mn;230;L;;;;;N;NON-SPACING DOT ABOVE;;;;
+0308;COMBINING DIAERESIS;Mn;230;L;;;;;N;NON-SPACING DIAERESIS;Dialytika;;;
+0309;COMBINING HOOK ABOVE;Mn;230;L;;;;;N;NON-SPACING HOOK ABOVE;;;;
+030A;COMBINING RING ABOVE;Mn;230;L;;;;;N;NON-SPACING RING ABOVE;;;;
+030B;COMBINING DOUBLE ACUTE ACCENT;Mn;230;L;;;;;N;NON-SPACING DOUBLE ACUTE;;;;
+030C;COMBINING CARON;Mn;230;L;;;;;N;NON-SPACING HACEK;;;;
+030D;COMBINING VERTICAL LINE ABOVE;Mn;230;L;;;;;N;NON-SPACING VERTICAL LINE ABOVE;Tonos;;;
+030E;COMBINING DOUBLE VERTICAL LINE ABOVE;Mn;230;L;;;;;N;NON-SPACING DOUBLE VERTICAL LINE ABOVE;;;;
+030F;COMBINING DOUBLE GRAVE ACCENT;Mn;230;L;;;;;N;NON-SPACING DOUBLE GRAVE;;;;
+0310;COMBINING CANDRABINDU;Mn;230;L;0306 0307;;;;N;NON-SPACING CANDRABINDU;;;;
+0311;COMBINING INVERTED BREVE;Mn;230;L;;;;;N;NON-SPACING INVERTED BREVE;;;;
+0312;COMBINING TURNED COMMA ABOVE;Mn;230;L;;;;;N;NON-SPACING TURNED COMMA ABOVE;;;;
+0313;COMBINING COMMA ABOVE;Mn;230;L;;;;;N;NON-SPACING COMMA ABOVE;Psili;;;
+0314;COMBINING REVERSED COMMA ABOVE;Mn;230;L;;;;;N;NON-SPACING REVERSED COMMA ABOVE;Dasia;;;
+0315;COMBINING COMMA ABOVE RIGHT;Mn;232;L;;;;;N;NON-SPACING COMMA ABOVE RIGHT;;;;
+0316;COMBINING GRAVE ACCENT BELOW;Mn;220;L;;;;;N;NON-SPACING GRAVE BELOW;;;;
+0317;COMBINING ACUTE ACCENT BELOW;Mn;220;L;;;;;N;NON-SPACING ACUTE BELOW;;;;
+0318;COMBINING LEFT TACK BELOW;Mn;220;L;;;;;N;NON-SPACING LEFT TACK BELOW;;;;
+0319;COMBINING RIGHT TACK BELOW;Mn;220;L;;;;;N;NON-SPACING RIGHT TACK BELOW;;;;
+031A;COMBINING LEFT ANGLE ABOVE;Mn;232;L;;;;;N;NON-SPACING LEFT ANGLE ABOVE;;;;
+031B;COMBINING HORN;Mn;216;L;;;;;N;NON-SPACING HORN;;;;
+031C;COMBINING LEFT HALF RING BELOW;Mn;220;L;;;;;N;NON-SPACING LEFT HALF RING BELOW;;;;
+031D;COMBINING UP TACK BELOW;Mn;220;L;;;;;N;NON-SPACING UP TACK BELOW;;;;
+031E;COMBINING DOWN TACK BELOW;Mn;220;L;;;;;N;NON-SPACING DOWN TACK BELOW;;;;
+031F;COMBINING PLUS SIGN BELOW;Mn;220;L;;;;;N;NON-SPACING PLUS SIGN BELOW;;;;
+0320;COMBINING MINUS SIGN BELOW;Mn;220;L;;;;;N;NON-SPACING MINUS SIGN BELOW;;;;
+0321;COMBINING PALATALIZED HOOK BELOW;Mn;202;L;;;;;N;NON-SPACING PALATALIZED HOOK BELOW;;;;
+0322;COMBINING RETROFLEX HOOK BELOW;Mn;202;L;;;;;N;NON-SPACING RETROFLEX HOOK BELOW;;;;
+0323;COMBINING DOT BELOW;Mn;220;L;;;;;N;NON-SPACING DOT BELOW;;;;
+0324;COMBINING DIAERESIS BELOW;Mn;220;L;;;;;N;NON-SPACING DOUBLE DOT BELOW;;;;
+0325;COMBINING RING BELOW;Mn;220;L;;;;;N;NON-SPACING RING BELOW;;;;
+0326;COMBINING COMMA BELOW;Mn;220;L;;;;;N;NON-SPACING COMMA BELOW;;;;
+0327;COMBINING CEDILLA;Mn;202;L;;;;;N;NON-SPACING CEDILLA;;;;
+0328;COMBINING OGONEK;Mn;202;L;;;;;N;NON-SPACING OGONEK;;;;
+0329;COMBINING VERTICAL LINE BELOW;Mn;220;L;;;;;N;NON-SPACING VERTICAL LINE BELOW;;;;
+032A;COMBINING BRIDGE BELOW;Mn;220;L;;;;;N;NON-SPACING BRIDGE BELOW;;;;
+032B;COMBINING INVERTED DOUBLE ARCH BELOW;Mn;220;L;;;;;N;NON-SPACING INVERTED DOUBLE ARCH BELOW;;;;
+032C;COMBINING CARON BELOW;Mn;220;L;;;;;N;NON-SPACING HACEK BELOW;;;;
+032D;COMBINING CIRCUMFLEX ACCENT BELOW;Mn;220;L;;;;;N;NON-SPACING CIRCUMFLEX BELOW;;;;
+032E;COMBINING BREVE BELOW;Mn;220;L;;;;;N;NON-SPACING BREVE BELOW;;;;
+032F;COMBINING INVERTED BREVE BELOW;Mn;220;L;;;;;N;NON-SPACING INVERTED BREVE BELOW;;;;
+0330;COMBINING TILDE BELOW;Mn;220;L;;;;;N;NON-SPACING TILDE BELOW;;;;
+0331;COMBINING MACRON BELOW;Mn;220;L;;;;;N;NON-SPACING MACRON BELOW;;;;
+0332;COMBINING LOW LINE;Mn;220;L;;;;;N;NON-SPACING UNDERSCORE;;;;
+0333;COMBINING DOUBLE LOW LINE;Mn;220;L;;;;;N;NON-SPACING DOUBLE UNDERSCORE;;;;
+0334;COMBINING TILDE OVERLAY;Mn;1;L;;;;;N;NON-SPACING TILDE OVERLAY;;;;
+0335;COMBINING SHORT STROKE OVERLAY;Mn;1;L;;;;;N;NON-SPACING SHORT BAR OVERLAY;;;;
+0336;COMBINING LONG STROKE OVERLAY;Mn;1;L;;;;;N;NON-SPACING LONG BAR OVERLAY;;;;
+0337;COMBINING SHORT SOLIDUS OVERLAY;Mn;1;L;;;;;N;NON-SPACING SHORT SLASH OVERLAY;;;;
+0338;COMBINING LONG SOLIDUS OVERLAY;Mn;1;L;;;;;N;NON-SPACING LONG SLASH OVERLAY;;;;
+0339;COMBINING RIGHT HALF RING BELOW;Mn;220;L;;;;;N;NON-SPACING RIGHT HALF RING BELOW;;;;
+033A;COMBINING INVERTED BRIDGE BELOW;Mn;220;L;;;;;N;NON-SPACING INVERTED BRIDGE BELOW;;;;
+033B;COMBINING SQUARE BELOW;Mn;220;L;;;;;N;NON-SPACING SQUARE BELOW;;;;
+033C;COMBINING SEAGULL BELOW;Mn;220;L;;;;;N;NON-SPACING SEAGULL BELOW;;;;
+033D;COMBINING X ABOVE;Mn;230;L;;;;;N;NON-SPACING X ABOVE;;;;
+033E;COMBINING VERTICAL TILDE;Mn;230;L;;;;;N;NON-SPACING VERTICAL TILDE;;;;
+033F;COMBINING DOUBLE OVERLINE;Mn;230;L;;;;;N;NON-SPACING DOUBLE OVERSCORE;;;;
+0340;COMBINING GRAVE TONE MARK;Mn;230;L;0300;;;;N;NON-SPACING GRAVE TONE MARK;Vietnamese;;;
+0341;COMBINING ACUTE TONE MARK;Mn;230;L;0301;;;;N;NON-SPACING ACUTE TONE MARK;Vietnamese;;;
+0342;COMBINING GREEK PERISPOMENI;Mn;230;L;;;;;N;;;;;
+0343;COMBINING GREEK KORONIS;Mn;230;L;0313;;;;N;;;;;
+0344;COMBINING GREEK DIALYTIKA TONOS;Mn;230;L;0308 030D;;;;N;GREEK NON-SPACING DIAERESIS TONOS;;;;
+0345;COMBINING GREEK YPOGEGRAMMENI;Mn;220;L;;;;;N;GREEK NON-SPACING IOTA BELOW;;;;
+0360;COMBINING DOUBLE TILDE;Mn;234;L;;;;;N;;;;;
+0361;COMBINING DOUBLE INVERTED BREVE;Mn;234;L;;;;;N;;;;;
+0374;GREEK NUMERAL SIGN;Po;0;L;02B9;;;;N;GREEK UPPER NUMERAL SIGN;Dexia keraia;;;
+0375;GREEK LOWER NUMERAL SIGN;Po;0;L;;;;;N;;Aristeri keraia;;;
+037A;GREEK YPOGEGRAMMENI;Lm;0;L;<compat> 0020 0345;;;;N;GREEK SPACING IOTA BELOW;;;;
+037E;GREEK QUESTION MARK;Po;0;L;003B;;;;N;;Erotimatiko;;;
+0384;GREEK TONOS;Sk;0;L;<compat> 0020 030D;;;;N;GREEK SPACING TONOS;;;;
+0385;GREEK DIALYTIKA TONOS;Sk;0;L;00A8 030D;;;;N;GREEK SPACING DIAERESIS TONOS;;;;
+0386;GREEK CAPITAL LETTER ALPHA WITH TONOS;Lu;0;L;0391 030D;;;;N;GREEK CAPITAL LETTER ALPHA TONOS;;;03AC;
+0387;GREEK ANO TELEIA;Po;0;L;00B7;;;;N;;;;;
+0388;GREEK CAPITAL LETTER EPSILON WITH TONOS;Lu;0;L;0395 030D;;;;N;GREEK CAPITAL LETTER EPSILON TONOS;;;03AD;
+0389;GREEK CAPITAL LETTER ETA WITH TONOS;Lu;0;L;0397 030D;;;;N;GREEK CAPITAL LETTER ETA TONOS;;;03AE;
+038A;GREEK CAPITAL LETTER IOTA WITH TONOS;Lu;0;L;0399 030D;;;;N;GREEK CAPITAL LETTER IOTA TONOS;;;03AF;
+038C;GREEK CAPITAL LETTER OMICRON WITH TONOS;Lu;0;L;039F 030D;;;;N;GREEK CAPITAL LETTER OMICRON TONOS;;;03CC;
+038E;GREEK CAPITAL LETTER UPSILON WITH TONOS;Lu;0;L;03A5 030D;;;;N;GREEK CAPITAL LETTER UPSILON TONOS;;;03CD;
+038F;GREEK CAPITAL LETTER OMEGA WITH TONOS;Lu;0;L;03A9 030D;;;;N;GREEK CAPITAL LETTER OMEGA TONOS;;;03CE;
+0390;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS;Ll;0;L;03B9 0344;;;;N;GREEK SMALL LETTER IOTA DIAERESIS TONOS;;;;
+0391;GREEK CAPITAL LETTER ALPHA;Lu;0;L;;;;;N;;;;03B1;
+0392;GREEK CAPITAL LETTER BETA;Lu;0;L;;;;;N;;;;03B2;
+0393;GREEK CAPITAL LETTER GAMMA;Lu;0;L;;;;;N;;;;03B3;
+0394;GREEK CAPITAL LETTER DELTA;Lu;0;L;;;;;N;;;;03B4;
+0395;GREEK CAPITAL LETTER EPSILON;Lu;0;L;;;;;N;;;;03B5;
+0396;GREEK CAPITAL LETTER ZETA;Lu;0;L;;;;;N;;;;03B6;
+0397;GREEK CAPITAL LETTER ETA;Lu;0;L;;;;;N;;;;03B7;
+0398;GREEK CAPITAL LETTER THETA;Lu;0;L;;;;;N;;;;03B8;
+0399;GREEK CAPITAL LETTER IOTA;Lu;0;L;;;;;N;;;;03B9;
+039A;GREEK CAPITAL LETTER KAPPA;Lu;0;L;;;;;N;;;;03BA;
+039B;GREEK CAPITAL LETTER LAMDA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER LAMBDA;;;03BB;
+039C;GREEK CAPITAL LETTER MU;Lu;0;L;;;;;N;;;;03BC;
+039D;GREEK CAPITAL LETTER NU;Lu;0;L;;;;;N;;;;03BD;
+039E;GREEK CAPITAL LETTER XI;Lu;0;L;;;;;N;;;;03BE;
+039F;GREEK CAPITAL LETTER OMICRON;Lu;0;L;;;;;N;;;;03BF;
+03A0;GREEK CAPITAL LETTER PI;Lu;0;L;;;;;N;;;;03C0;
+03A1;GREEK CAPITAL LETTER RHO;Lu;0;L;;;;;N;;;;03C1;
+03A3;GREEK CAPITAL LETTER SIGMA;Lu;0;L;;;;;N;;;;03C3;
+03A4;GREEK CAPITAL LETTER TAU;Lu;0;L;;;;;N;;;;03C4;
+03A5;GREEK CAPITAL LETTER UPSILON;Lu;0;L;;;;;N;;;;03C5;
+03A6;GREEK CAPITAL LETTER PHI;Lu;0;L;;;;;N;;;;03C6;
+03A7;GREEK CAPITAL LETTER CHI;Lu;0;L;;;;;N;;;;03C7;
+03A8;GREEK CAPITAL LETTER PSI;Lu;0;L;;;;;N;;;;03C8;
+03A9;GREEK CAPITAL LETTER OMEGA;Lu;0;L;;;;;N;;;;03C9;
+03AA;GREEK CAPITAL LETTER IOTA WITH DIALYTIKA;Lu;0;L;0399 0308;;;;N;GREEK CAPITAL LETTER IOTA DIAERESIS;;;03CA;
+03AB;GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA;Lu;0;L;03A5 0308;;;;N;GREEK CAPITAL LETTER UPSILON DIAERESIS;;;03CB;
+03AC;GREEK SMALL LETTER ALPHA WITH TONOS;Ll;0;L;03B1 030D;;;;N;GREEK SMALL LETTER ALPHA TONOS;;0386;;0386
+03AD;GREEK SMALL LETTER EPSILON WITH TONOS;Ll;0;L;03B5 030D;;;;N;GREEK SMALL LETTER EPSILON TONOS;;0388;;0388
+03AE;GREEK SMALL LETTER ETA WITH TONOS;Ll;0;L;03B7 030D;;;;N;GREEK SMALL LETTER ETA TONOS;;0389;;0389
+03AF;GREEK SMALL LETTER IOTA WITH TONOS;Ll;0;L;03B9 030D;;;;N;GREEK SMALL LETTER IOTA TONOS;;038A;;038A
+03B0;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS;Ll;0;L;03C5 0344;;;;N;GREEK SMALL LETTER UPSILON DIAERESIS TONOS;;;;
+03B1;GREEK SMALL LETTER ALPHA;Ll;0;L;;;;;N;;;0391;;0391
+03B2;GREEK SMALL LETTER BETA;Ll;0;L;;;;;N;;;0392;;0392
+03B3;GREEK SMALL LETTER GAMMA;Ll;0;L;;;;;N;;;0393;;0393
+03B4;GREEK SMALL LETTER DELTA;Ll;0;L;;;;;N;;;0394;;0394
+03B5;GREEK SMALL LETTER EPSILON;Ll;0;L;;;;;N;;;0395;;0395
+03B6;GREEK SMALL LETTER ZETA;Ll;0;L;;;;;N;;;0396;;0396
+03B7;GREEK SMALL LETTER ETA;Ll;0;L;;;;;N;;;0397;;0397
+03B8;GREEK SMALL LETTER THETA;Ll;0;L;;;;;N;;;0398;;0398
+03B9;GREEK SMALL LETTER IOTA;Ll;0;L;;;;;N;;;0399;;0399
+03BA;GREEK SMALL LETTER KAPPA;Ll;0;L;;;;;N;;;039A;;039A
+03BB;GREEK SMALL LETTER LAMDA;Ll;0;L;;;;;N;GREEK SMALL LETTER LAMBDA;;039B;;039B
+03BC;GREEK SMALL LETTER MU;Ll;0;L;;;;;N;;;039C;;039C
+03BD;GREEK SMALL LETTER NU;Ll;0;L;;;;;N;;;039D;;039D
+03BE;GREEK SMALL LETTER XI;Ll;0;L;;;;;N;;;039E;;039E
+03BF;GREEK SMALL LETTER OMICRON;Ll;0;L;;;;;N;;;039F;;039F
+03C0;GREEK SMALL LETTER PI;Ll;0;L;;;;;N;;;03A0;;03A0
+03C1;GREEK SMALL LETTER RHO;Ll;0;L;;;;;N;;;03A1;;03A1
+03C2;GREEK SMALL LETTER FINAL SIGMA;Ll;0;L;;;;;N;;;03A3;;03A3
+03C3;GREEK SMALL LETTER SIGMA;Ll;0;L;;;;;N;;;03A3;;03A3
+03C4;GREEK SMALL LETTER TAU;Ll;0;L;;;;;N;;;03A4;;03A4
+03C5;GREEK SMALL LETTER UPSILON;Ll;0;L;;;;;N;;;03A5;;03A5
+03C6;GREEK SMALL LETTER PHI;Ll;0;L;;;;;N;;;03A6;;03A6
+03C7;GREEK SMALL LETTER CHI;Ll;0;L;;;;;N;;;03A7;;03A7
+03C8;GREEK SMALL LETTER PSI;Ll;0;L;;;;;N;;;03A8;;03A8
+03C9;GREEK SMALL LETTER OMEGA;Ll;0;L;;;;;N;;;03A9;;03A9
+03CA;GREEK SMALL LETTER IOTA WITH DIALYTIKA;Ll;0;L;03B9 0308;;;;N;GREEK SMALL LETTER IOTA DIAERESIS;;03AA;;03AA
+03CB;GREEK SMALL LETTER UPSILON WITH DIALYTIKA;Ll;0;L;03C5 0308;;;;N;GREEK SMALL LETTER UPSILON DIAERESIS;;03AB;;03AB
+03CC;GREEK SMALL LETTER OMICRON WITH TONOS;Ll;0;L;03BF 030D;;;;N;GREEK SMALL LETTER OMICRON TONOS;;038C;;038C
+03CD;GREEK SMALL LETTER UPSILON WITH TONOS;Ll;0;L;03C5 030D;;;;N;GREEK SMALL LETTER UPSILON TONOS;;038E;;038E
+03CE;GREEK SMALL LETTER OMEGA WITH TONOS;Ll;0;L;03C9 030D;;;;N;GREEK SMALL LETTER OMEGA TONOS;;038F;;038F
+03D0;GREEK BETA SYMBOL;Ll;0;L;;;;;N;GREEK SMALL LETTER CURLED BETA;;0392;;
+03D1;GREEK THETA SYMBOL;Ll;0;L;;;;;N;GREEK SMALL LETTER SCRIPT THETA;;0398;;
+03D2;GREEK UPSILON WITH HOOK SYMBOL;Lu;0;L;;;;;N;GREEK CAPITAL LETTER UPSILON HOOK;;;;
+03D3;GREEK UPSILON WITH ACUTE AND HOOK SYMBOL;Lu;0;L;03D2 030D;;;;N;GREEK CAPITAL LETTER UPSILON HOOK TONOS;;;;
+03D4;GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL;Lu;0;L;03D2 0308;;;;N;GREEK CAPITAL LETTER UPSILON HOOK DIAERESIS;;;;
+03D5;GREEK PHI SYMBOL;Ll;0;L;;;;;N;GREEK SMALL LETTER SCRIPT PHI;;03A6;;
+03D6;GREEK PI SYMBOL;Ll;0;L;;;;;N;GREEK SMALL LETTER OMEGA PI;;03A0;;
+03DA;GREEK LETTER STIGMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER STIGMA;;;;
+03DC;GREEK LETTER DIGAMMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER DIGAMMA;;;;
+03DE;GREEK LETTER KOPPA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER KOPPA;;;;
+03E0;GREEK LETTER SAMPI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER SAMPI;;;;
+03E2;COPTIC CAPITAL LETTER SHEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER SHEI;;;03E3;
+03E3;COPTIC SMALL LETTER SHEI;Ll;0;L;;;;;N;GREEK SMALL LETTER SHEI;;03E2;;03E2
+03E4;COPTIC CAPITAL LETTER FEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER FEI;;;03E5;
+03E5;COPTIC SMALL LETTER FEI;Ll;0;L;;;;;N;GREEK SMALL LETTER FEI;;03E4;;03E4
+03E6;COPTIC CAPITAL LETTER KHEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER KHEI;;;03E7;
+03E7;COPTIC SMALL LETTER KHEI;Ll;0;L;;;;;N;GREEK SMALL LETTER KHEI;;03E6;;03E6
+03E8;COPTIC CAPITAL LETTER HORI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER HORI;;;03E9;
+03E9;COPTIC SMALL LETTER HORI;Ll;0;L;;;;;N;GREEK SMALL LETTER HORI;;03E8;;03E8
+03EA;COPTIC CAPITAL LETTER GANGIA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER GANGIA;;;03EB;
+03EB;COPTIC SMALL LETTER GANGIA;Ll;0;L;;;;;N;GREEK SMALL LETTER GANGIA;;03EA;;03EA
+03EC;COPTIC CAPITAL LETTER SHIMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER SHIMA;;;03ED;
+03ED;COPTIC SMALL LETTER SHIMA;Ll;0;L;;;;;N;GREEK SMALL LETTER SHIMA;;03EC;;03EC
+03EE;COPTIC CAPITAL LETTER DEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER DEI;;;03EF;
+03EF;COPTIC SMALL LETTER DEI;Ll;0;L;;;;;N;GREEK SMALL LETTER DEI;;03EE;;03EE
+03F0;GREEK KAPPA SYMBOL;Ll;0;L;;;;;N;GREEK SMALL LETTER SCRIPT KAPPA;;039A;;
+03F1;GREEK RHO SYMBOL;Ll;0;L;;;;;N;GREEK SMALL LETTER TAILED RHO;;03A1;;
+03F2;GREEK LUNATE SIGMA SYMBOL;Ll;0;L;;;;;N;GREEK SMALL LETTER LUNATE SIGMA;;;;
+03F3;GREEK LETTER YOT;Lo;0;L;;;;;N;;;;;
+0401;CYRILLIC CAPITAL LETTER IO;Lu;0;L;0415 0308;;;;N;;;;0451;
+0402;CYRILLIC CAPITAL LETTER DJE;Lu;0;L;;;;;N;;Serbocroatian;;0452;
+0403;CYRILLIC CAPITAL LETTER GJE;Lu;0;L;0413 0301;;;;N;;;;0453;
+0404;CYRILLIC CAPITAL LETTER UKRAINIAN IE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER E;;;0454;
+0405;CYRILLIC CAPITAL LETTER DZE;Lu;0;L;;;;;N;;;;0455;
+0406;CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER I;;;0456;
+0407;CYRILLIC CAPITAL LETTER YI;Lu;0;L;0406 0308;;;;N;;Ukrainian;;0457;
+0408;CYRILLIC CAPITAL LETTER JE;Lu;0;L;;;;;N;;;;0458;
+0409;CYRILLIC CAPITAL LETTER LJE;Lu;0;L;;;;;N;;;;0459;
+040A;CYRILLIC CAPITAL LETTER NJE;Lu;0;L;;;;;N;;;;045A;
+040B;CYRILLIC CAPITAL LETTER TSHE;Lu;0;L;;;;;N;;Serbocroatian;;045B;
+040C;CYRILLIC CAPITAL LETTER KJE;Lu;0;L;041A 0301;;;;N;;;;045C;
+040E;CYRILLIC CAPITAL LETTER SHORT U;Lu;0;L;0423 0306;;;;N;;Byelorussian;;045E;
+040F;CYRILLIC CAPITAL LETTER DZHE;Lu;0;L;;;;;N;;;;045F;
+0410;CYRILLIC CAPITAL LETTER A;Lu;0;L;;;;;N;;;;0430;
+0411;CYRILLIC CAPITAL LETTER BE;Lu;0;L;;;;;N;;;;0431;
+0412;CYRILLIC CAPITAL LETTER VE;Lu;0;L;;;;;N;;;;0432;
+0413;CYRILLIC CAPITAL LETTER GHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE;;;0433;
+0414;CYRILLIC CAPITAL LETTER DE;Lu;0;L;;;;;N;;;;0434;
+0415;CYRILLIC CAPITAL LETTER IE;Lu;0;L;;;;;N;;;;0435;
+0416;CYRILLIC CAPITAL LETTER ZHE;Lu;0;L;;;;;N;;;;0436;
+0417;CYRILLIC CAPITAL LETTER ZE;Lu;0;L;;;;;N;;;;0437;
+0418;CYRILLIC CAPITAL LETTER I;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER II;;;0438;
+0419;CYRILLIC CAPITAL LETTER SHORT I;Lu;0;L;0418 0306;;;;N;CYRILLIC CAPITAL LETTER SHORT II;;;0439;
+041A;CYRILLIC CAPITAL LETTER KA;Lu;0;L;;;;;N;;;;043A;
+041B;CYRILLIC CAPITAL LETTER EL;Lu;0;L;;;;;N;;;;043B;
+041C;CYRILLIC CAPITAL LETTER EM;Lu;0;L;;;;;N;;;;043C;
+041D;CYRILLIC CAPITAL LETTER EN;Lu;0;L;;;;;N;;;;043D;
+041E;CYRILLIC CAPITAL LETTER O;Lu;0;L;;;;;N;;;;043E;
+041F;CYRILLIC CAPITAL LETTER PE;Lu;0;L;;;;;N;;;;043F;
+0420;CYRILLIC CAPITAL LETTER ER;Lu;0;L;;;;;N;;;;0440;
+0421;CYRILLIC CAPITAL LETTER ES;Lu;0;L;;;;;N;;;;0441;
+0422;CYRILLIC CAPITAL LETTER TE;Lu;0;L;;;;;N;;;;0442;
+0423;CYRILLIC CAPITAL LETTER U;Lu;0;L;;;;;N;;;;0443;
+0424;CYRILLIC CAPITAL LETTER EF;Lu;0;L;;;;;N;;;;0444;
+0425;CYRILLIC CAPITAL LETTER HA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KHA;;;0445;
+0426;CYRILLIC CAPITAL LETTER TSE;Lu;0;L;;;;;N;;;;0446;
+0427;CYRILLIC CAPITAL LETTER CHE;Lu;0;L;;;;;N;;;;0447;
+0428;CYRILLIC CAPITAL LETTER SHA;Lu;0;L;;;;;N;;;;0448;
+0429;CYRILLIC CAPITAL LETTER SHCHA;Lu;0;L;;;;;N;;;;0449;
+042A;CYRILLIC CAPITAL LETTER HARD SIGN;Lu;0;L;;;;;N;;;;044A;
+042B;CYRILLIC CAPITAL LETTER YERU;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER YERI;;;044B;
+042C;CYRILLIC CAPITAL LETTER SOFT SIGN;Lu;0;L;;;;;N;;;;044C;
+042D;CYRILLIC CAPITAL LETTER E;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER REVERSED E;;;044D;
+042E;CYRILLIC CAPITAL LETTER YU;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IU;;;044E;
+042F;CYRILLIC CAPITAL LETTER YA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IA;;;044F;
+0430;CYRILLIC SMALL LETTER A;Ll;0;L;;;;;N;;;0410;;0410
+0431;CYRILLIC SMALL LETTER BE;Ll;0;L;;;;;N;;;0411;;0411
+0432;CYRILLIC SMALL LETTER VE;Ll;0;L;;;;;N;;;0412;;0412
+0433;CYRILLIC SMALL LETTER GHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE;;0413;;0413
+0434;CYRILLIC SMALL LETTER DE;Ll;0;L;;;;;N;;;0414;;0414
+0435;CYRILLIC SMALL LETTER IE;Ll;0;L;;;;;N;;;0415;;0415
+0436;CYRILLIC SMALL LETTER ZHE;Ll;0;L;;;;;N;;;0416;;0416
+0437;CYRILLIC SMALL LETTER ZE;Ll;0;L;;;;;N;;;0417;;0417
+0438;CYRILLIC SMALL LETTER I;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER II;;0418;;0418
+0439;CYRILLIC SMALL LETTER SHORT I;Ll;0;L;0438 0306;;;;N;CYRILLIC SMALL LETTER SHORT II;;0419;;0419
+043A;CYRILLIC SMALL LETTER KA;Ll;0;L;;;;;N;;;041A;;041A
+043B;CYRILLIC SMALL LETTER EL;Ll;0;L;;;;;N;;;041B;;041B
+043C;CYRILLIC SMALL LETTER EM;Ll;0;L;;;;;N;;;041C;;041C
+043D;CYRILLIC SMALL LETTER EN;Ll;0;L;;;;;N;;;041D;;041D
+043E;CYRILLIC SMALL LETTER O;Ll;0;L;;;;;N;;;041E;;041E
+043F;CYRILLIC SMALL LETTER PE;Ll;0;L;;;;;N;;;041F;;041F
+0440;CYRILLIC SMALL LETTER ER;Ll;0;L;;;;;N;;;0420;;0420
+0441;CYRILLIC SMALL LETTER ES;Ll;0;L;;;;;N;;;0421;;0421
+0442;CYRILLIC SMALL LETTER TE;Ll;0;L;;;;;N;;;0422;;0422
+0443;CYRILLIC SMALL LETTER U;Ll;0;L;;;;;N;;;0423;;0423
+0444;CYRILLIC SMALL LETTER EF;Ll;0;L;;;;;N;;;0424;;0424
+0445;CYRILLIC SMALL LETTER HA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KHA;;0425;;0425
+0446;CYRILLIC SMALL LETTER TSE;Ll;0;L;;;;;N;;;0426;;0426
+0447;CYRILLIC SMALL LETTER CHE;Ll;0;L;;;;;N;;;0427;;0427
+0448;CYRILLIC SMALL LETTER SHA;Ll;0;L;;;;;N;;;0428;;0428
+0449;CYRILLIC SMALL LETTER SHCHA;Ll;0;L;;;;;N;;;0429;;0429
+044A;CYRILLIC SMALL LETTER HARD SIGN;Ll;0;L;;;;;N;;;042A;;042A
+044B;CYRILLIC SMALL LETTER YERU;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER YERI;;042B;;042B
+044C;CYRILLIC SMALL LETTER SOFT SIGN;Ll;0;L;;;;;N;;;042C;;042C
+044D;CYRILLIC SMALL LETTER E;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER REVERSED E;;042D;;042D
+044E;CYRILLIC SMALL LETTER YU;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IU;;042E;;042E
+044F;CYRILLIC SMALL LETTER YA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IA;;042F;;042F
+0451;CYRILLIC SMALL LETTER IO;Ll;0;L;0435 0308;;;;N;;;0401;;0401
+0452;CYRILLIC SMALL LETTER DJE;Ll;0;L;;;;;N;;Serbocroatian;0402;;0402
+0453;CYRILLIC SMALL LETTER GJE;Ll;0;L;0433 0301;;;;N;;;0403;;0403
+0454;CYRILLIC SMALL LETTER UKRAINIAN IE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER E;;0404;;0404
+0455;CYRILLIC SMALL LETTER DZE;Ll;0;L;;;;;N;;;0405;;0405
+0456;CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER I;;0406;;0406
+0457;CYRILLIC SMALL LETTER YI;Ll;0;L;0456 0308;;;;N;;Ukrainian;0407;;0407
+0458;CYRILLIC SMALL LETTER JE;Ll;0;L;;;;;N;;;0408;;0408
+0459;CYRILLIC SMALL LETTER LJE;Ll;0;L;;;;;N;;;0409;;0409
+045A;CYRILLIC SMALL LETTER NJE;Ll;0;L;;;;;N;;;040A;;040A
+045B;CYRILLIC SMALL LETTER TSHE;Ll;0;L;;;;;N;;Serbocroatian;040B;;040B
+045C;CYRILLIC SMALL LETTER KJE;Ll;0;L;043A 0301;;;;N;;;040C;;040C
+045E;CYRILLIC SMALL LETTER SHORT U;Ll;0;L;0443 0306;;;;N;;Byelorussian;040E;;040E
+045F;CYRILLIC SMALL LETTER DZHE;Ll;0;L;;;;;N;;;040F;;040F
+0460;CYRILLIC CAPITAL LETTER OMEGA;Lu;0;L;;;;;N;;;;0461;
+0461;CYRILLIC SMALL LETTER OMEGA;Ll;0;L;;;;;N;;;0460;;0460
+0462;CYRILLIC CAPITAL LETTER YAT;Lu;0;L;;;;;N;;;;0463;
+0463;CYRILLIC SMALL LETTER YAT;Ll;0;L;;;;;N;;;0462;;0462
+0464;CYRILLIC CAPITAL LETTER IOTIFIED E;Lu;0;L;;;;;N;;;;0465;
+0465;CYRILLIC SMALL LETTER IOTIFIED E;Ll;0;L;;;;;N;;;0464;;0464
+0466;CYRILLIC CAPITAL LETTER LITTLE YUS;Lu;0;L;;;;;N;;;;0467;
+0467;CYRILLIC SMALL LETTER LITTLE YUS;Ll;0;L;;;;;N;;;0466;;0466
+0468;CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS;Lu;0;L;;;;;N;;;;0469;
+0469;CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS;Ll;0;L;;;;;N;;;0468;;0468
+046A;CYRILLIC CAPITAL LETTER BIG YUS;Lu;0;L;;;;;N;;;;046B;
+046B;CYRILLIC SMALL LETTER BIG YUS;Ll;0;L;;;;;N;;;046A;;046A
+046C;CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS;Lu;0;L;;;;;N;;;;046D;
+046D;CYRILLIC SMALL LETTER IOTIFIED BIG YUS;Ll;0;L;;;;;N;;;046C;;046C
+046E;CYRILLIC CAPITAL LETTER KSI;Lu;0;L;;;;;N;;;;046F;
+046F;CYRILLIC SMALL LETTER KSI;Ll;0;L;;;;;N;;;046E;;046E
+0470;CYRILLIC CAPITAL LETTER PSI;Lu;0;L;;;;;N;;;;0471;
+0471;CYRILLIC SMALL LETTER PSI;Ll;0;L;;;;;N;;;0470;;0470
+0472;CYRILLIC CAPITAL LETTER FITA;Lu;0;L;;;;;N;;;;0473;
+0473;CYRILLIC SMALL LETTER FITA;Ll;0;L;;;;;N;;;0472;;0472
+0474;CYRILLIC CAPITAL LETTER IZHITSA;Lu;0;L;;;;;N;;;;0475;
+0475;CYRILLIC SMALL LETTER IZHITSA;Ll;0;L;;;;;N;;;0474;;0474
+0476;CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT;Lu;0;L;0474 030F;;;;N;CYRILLIC CAPITAL LETTER IZHITSA DOUBLE GRAVE;;;0477;
+0477;CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT;Ll;0;L;0475 030F;;;;N;CYRILLIC SMALL LETTER IZHITSA DOUBLE GRAVE;;0476;;0476
+0478;CYRILLIC CAPITAL LETTER UK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER UK DIGRAPH;;;0479;
+0479;CYRILLIC SMALL LETTER UK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER UK DIGRAPH;;0478;;0478
+047A;CYRILLIC CAPITAL LETTER ROUND OMEGA;Lu;0;L;;;;;N;;;;047B;
+047B;CYRILLIC SMALL LETTER ROUND OMEGA;Ll;0;L;;;;;N;;;047A;;047A
+047C;CYRILLIC CAPITAL LETTER OMEGA WITH TITLO;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER OMEGA TITLO;;;047D;
+047D;CYRILLIC SMALL LETTER OMEGA WITH TITLO;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER OMEGA TITLO;;047C;;047C
+047E;CYRILLIC CAPITAL LETTER OT;Lu;0;L;;;;;N;;;;047F;
+047F;CYRILLIC SMALL LETTER OT;Ll;0;L;;;;;N;;;047E;;047E
+0480;CYRILLIC CAPITAL LETTER KOPPA;Lu;0;L;;;;;N;;;;0481;
+0481;CYRILLIC SMALL LETTER KOPPA;Ll;0;L;;;;;N;;;0480;;0480
+0482;CYRILLIC THOUSANDS SIGN;So;0;L;;;;;N;;;;;
+0483;COMBINING CYRILLIC TITLO;Mn;230;L;;;;;N;CYRILLIC NON-SPACING TITLO;;;;
+0484;COMBINING CYRILLIC PALATALIZATION;Mn;230;L;;;;;N;CYRILLIC NON-SPACING PALATALIZATION;;;;
+0485;COMBINING CYRILLIC DASIA PNEUMATA;Mn;230;L;;;;;N;CYRILLIC NON-SPACING DASIA PNEUMATA;;;;
+0486;COMBINING CYRILLIC PSILI PNEUMATA;Mn;230;L;;;;;N;CYRILLIC NON-SPACING PSILI PNEUMATA;;;;
+0490;CYRILLIC CAPITAL LETTER GHE WITH UPTURN;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE WITH UPTURN;;;0491;
+0491;CYRILLIC SMALL LETTER GHE WITH UPTURN;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE WITH UPTURN;;0490;;0490
+0492;CYRILLIC CAPITAL LETTER GHE WITH STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE BAR;;;0493;
+0493;CYRILLIC SMALL LETTER GHE WITH STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE BAR;;0492;;0492
+0494;CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE HOOK;;;0495;
+0495;CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE HOOK;;0494;;0494
+0496;CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER ZHE WITH RIGHT DESCENDER;;;0497;
+0497;CYRILLIC SMALL LETTER ZHE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER ZHE WITH RIGHT DESCENDER;;0496;;0496
+0498;CYRILLIC CAPITAL LETTER ZE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER ZE CEDILLA;;;0499;
+0499;CYRILLIC SMALL LETTER ZE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER ZE CEDILLA;;0498;;0498
+049A;CYRILLIC CAPITAL LETTER KA WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA WITH RIGHT DESCENDER;;;049B;
+049B;CYRILLIC SMALL LETTER KA WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA WITH RIGHT DESCENDER;;049A;;049A
+049C;CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA VERTICAL BAR;;;049D;
+049D;CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA VERTICAL BAR;;049C;;049C
+049E;CYRILLIC CAPITAL LETTER KA WITH STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA BAR;;;049F;
+049F;CYRILLIC SMALL LETTER KA WITH STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA BAR;;049E;;049E
+04A0;CYRILLIC CAPITAL LETTER BASHKIR KA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER REVERSED GE KA;;;04A1;
+04A1;CYRILLIC SMALL LETTER BASHKIR KA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER REVERSED GE KA;;04A0;;04A0
+04A2;CYRILLIC CAPITAL LETTER EN WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER EN WITH RIGHT DESCENDER;;;04A3;
+04A3;CYRILLIC SMALL LETTER EN WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER EN WITH RIGHT DESCENDER;;04A2;;04A2
+04A4;CYRILLIC CAPITAL LIGATURE EN GHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER EN GE;;;04A5;
+04A5;CYRILLIC SMALL LIGATURE EN GHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER EN GE;;04A4;;04A4
+04A6;CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER PE HOOK;Abkhasian;;04A7;
+04A7;CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER PE HOOK;Abkhasian;04A6;;04A6
+04A8;CYRILLIC CAPITAL LETTER ABKHASIAN HA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER O HOOK;;;04A9;
+04A9;CYRILLIC SMALL LETTER ABKHASIAN HA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER O HOOK;;04A8;;04A8
+04AA;CYRILLIC CAPITAL LETTER ES WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER ES CEDILLA;;;04AB;
+04AB;CYRILLIC SMALL LETTER ES WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER ES CEDILLA;;04AA;;04AA
+04AC;CYRILLIC CAPITAL LETTER TE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER TE WITH RIGHT DESCENDER;;;04AD;
+04AD;CYRILLIC SMALL LETTER TE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER TE WITH RIGHT DESCENDER;;04AC;;04AC
+04AE;CYRILLIC CAPITAL LETTER STRAIGHT U;Lu;0;L;;;;;N;;;;04AF;
+04AF;CYRILLIC SMALL LETTER STRAIGHT U;Ll;0;L;;;;;N;;;04AE;;04AE
+04B0;CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER STRAIGHT U BAR;;;04B1;
+04B1;CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER STRAIGHT U BAR;;04B0;;04B0
+04B2;CYRILLIC CAPITAL LETTER HA WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KHA WITH RIGHT DESCENDER;;;04B3;
+04B3;CYRILLIC SMALL LETTER HA WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KHA WITH RIGHT DESCENDER;;04B2;;04B2
+04B4;CYRILLIC CAPITAL LIGATURE TE TSE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER TE TSE;Abkhasian;;04B5;
+04B5;CYRILLIC SMALL LIGATURE TE TSE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER TE TSE;Abkhasian;04B4;;04B4
+04B6;CYRILLIC CAPITAL LETTER CHE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER CHE WITH RIGHT DESCENDER;;;04B7;
+04B7;CYRILLIC SMALL LETTER CHE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER CHE WITH RIGHT DESCENDER;;04B6;;04B6
+04B8;CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER CHE VERTICAL BAR;;;04B9;
+04B9;CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER CHE VERTICAL BAR;;04B8;;04B8
+04BA;CYRILLIC CAPITAL LETTER SHHA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER H;;;04BB;
+04BB;CYRILLIC SMALL LETTER SHHA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER H;;04BA;;04BA
+04BC;CYRILLIC CAPITAL LETTER ABKHASIAN CHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IE HOOK;;;04BD;
+04BD;CYRILLIC SMALL LETTER ABKHASIAN CHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IE HOOK;;04BC;;04BC
+04BE;CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IE HOOK OGONEK;;;04BF;
+04BF;CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IE HOOK OGONEK;;04BE;;04BE
+04C0;CYRILLIC LETTER PALOCHKA;Lo;0;L;;;;;N;CYRILLIC LETTER I;;;;
+04C1;CYRILLIC CAPITAL LETTER ZHE WITH BREVE;Lu;0;L;0416 0306;;;;N;CYRILLIC CAPITAL LETTER SHORT ZHE;;;04C2;
+04C2;CYRILLIC SMALL LETTER ZHE WITH BREVE;Ll;0;L;0436 0306;;;;N;CYRILLIC SMALL LETTER SHORT ZHE;;04C1;;04C1
+04C3;CYRILLIC CAPITAL LETTER KA WITH HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA HOOK;;;04C4;
+04C4;CYRILLIC SMALL LETTER KA WITH HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA HOOK;;04C3;;04C3
+04C7;CYRILLIC CAPITAL LETTER EN WITH HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER EN HOOK;;;04C8;
+04C8;CYRILLIC SMALL LETTER EN WITH HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER EN HOOK;;04C7;;04C7
+04CB;CYRILLIC CAPITAL LETTER KHAKASSIAN CHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER CHE WITH LEFT DESCENDER;;;04CC;
+04CC;CYRILLIC SMALL LETTER KHAKASSIAN CHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER CHE WITH LEFT DESCENDER;;04CB;;04CB
+04D0;CYRILLIC CAPITAL LETTER A WITH BREVE;Lu;0;L;0410 0306;;;;N;;;;04D1;
+04D1;CYRILLIC SMALL LETTER A WITH BREVE;Ll;0;L;0430 0306;;;;N;;;04D0;;04D0
+04D2;CYRILLIC CAPITAL LETTER A WITH DIAERESIS;Lu;0;L;0410 0308;;;;N;;;;04D3;
+04D3;CYRILLIC SMALL LETTER A WITH DIAERESIS;Ll;0;L;0430 0308;;;;N;;;04D2;;04D2
+04D4;CYRILLIC CAPITAL LIGATURE A IE;Lu;0;L;00C6;;;;N;;;;04D5;
+04D5;CYRILLIC SMALL LIGATURE A IE;Ll;0;L;00E6;;;;N;;;04D4;;04D4
+04D6;CYRILLIC CAPITAL LETTER IE WITH BREVE;Lu;0;L;0415 0306;;;;N;;;;04D7;
+04D7;CYRILLIC SMALL LETTER IE WITH BREVE;Ll;0;L;0435 0306;;;;N;;;04D6;;04D6
+04D8;CYRILLIC CAPITAL LETTER SCHWA;Lu;0;L;018F;;;;N;;;;04D9;
+04D9;CYRILLIC SMALL LETTER SCHWA;Ll;0;L;0259;;;;N;;;04D8;;04D8
+04DA;CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS;Lu;0;L;018F 0308;;;;N;;;;04DB;
+04DB;CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS;Ll;0;L;0259 0308;;;;N;;;04DA;;04DA
+04DC;CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS;Lu;0;L;0416 0308;;;;N;;;;04DD;
+04DD;CYRILLIC SMALL LETTER ZHE WITH DIAERESIS;Ll;0;L;0436 0308;;;;N;;;04DC;;04DC
+04DE;CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS;Lu;0;L;0417 0308;;;;N;;;;04DF;
+04DF;CYRILLIC SMALL LETTER ZE WITH DIAERESIS;Ll;0;L;0437 0308;;;;N;;;04DE;;04DE
+04E0;CYRILLIC CAPITAL LETTER ABKHASIAN DZE;Lu;0;L;01B7;;;;N;;;;04E1;
+04E1;CYRILLIC SMALL LETTER ABKHASIAN DZE;Ll;0;L;0292;;;;N;;;04E0;;04E0
+04E2;CYRILLIC CAPITAL LETTER I WITH MACRON;Lu;0;L;0418 0304;;;;N;;;;04E3;
+04E3;CYRILLIC SMALL LETTER I WITH MACRON;Ll;0;L;0438 0304;;;;N;;;04E2;;04E2
+04E4;CYRILLIC CAPITAL LETTER I WITH DIAERESIS;Lu;0;L;0418 0308;;;;N;;;;04E5;
+04E5;CYRILLIC SMALL LETTER I WITH DIAERESIS;Ll;0;L;0438 0308;;;;N;;;04E4;;04E4
+04E6;CYRILLIC CAPITAL LETTER O WITH DIAERESIS;Lu;0;L;041E 0308;;;;N;;;;04E7;
+04E7;CYRILLIC SMALL LETTER O WITH DIAERESIS;Ll;0;L;043E 0308;;;;N;;;04E6;;04E6
+04E8;CYRILLIC CAPITAL LETTER BARRED O;Lu;0;L;019F;;;;N;;;;04E9;
+04E9;CYRILLIC SMALL LETTER BARRED O;Ll;0;L;0275;;;;N;;;04E8;;04E8
+04EA;CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS;Lu;0;L;019F 0308;;;;N;;;;04EB;
+04EB;CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS;Ll;0;L;0275 0308;;;;N;;;04EA;;04EA
+04EE;CYRILLIC CAPITAL LETTER U WITH MACRON;Lu;0;L;0423 0304;;;;N;;;;04EF;
+04EF;CYRILLIC SMALL LETTER U WITH MACRON;Ll;0;L;0443 0304;;;;N;;;04EE;;04EE
+04F0;CYRILLIC CAPITAL LETTER U WITH DIAERESIS;Lu;0;L;0423 0308;;;;N;;;;04F1;
+04F1;CYRILLIC SMALL LETTER U WITH DIAERESIS;Ll;0;L;0443 0308;;;;N;;;04F0;;04F0
+04F2;CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE;Lu;0;L;0423 030B;;;;N;;;;04F3;
+04F3;CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE;Ll;0;L;0443 030B;;;;N;;;04F2;;04F2
+04F4;CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS;Lu;0;L;0427 0308;;;;N;;;;04F5;
+04F5;CYRILLIC SMALL LETTER CHE WITH DIAERESIS;Ll;0;L;0447 0308;;;;N;;;04F4;;04F4
+04F8;CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS;Lu;0;L;042B 0308;;;;N;;;;04F9;
+04F9;CYRILLIC SMALL LETTER YERU WITH DIAERESIS;Ll;0;L;044B 0308;;;;N;;;04F8;;04F8
+0531;ARMENIAN CAPITAL LETTER AYB;Lu;0;L;;;;;N;;;;0561;
+0532;ARMENIAN CAPITAL LETTER BEN;Lu;0;L;;;;;N;;;;0562;
+0533;ARMENIAN CAPITAL LETTER GIM;Lu;0;L;;;;;N;;;;0563;
+0534;ARMENIAN CAPITAL LETTER DA;Lu;0;L;;;;;N;;;;0564;
+0535;ARMENIAN CAPITAL LETTER ECH;Lu;0;L;;;;;N;;;;0565;
+0536;ARMENIAN CAPITAL LETTER ZA;Lu;0;L;;;;;N;;;;0566;
+0537;ARMENIAN CAPITAL LETTER EH;Lu;0;L;;;;;N;;;;0567;
+0538;ARMENIAN CAPITAL LETTER ET;Lu;0;L;;;;;N;;;;0568;
+0539;ARMENIAN CAPITAL LETTER TO;Lu;0;L;;;;;N;;;;0569;
+053A;ARMENIAN CAPITAL LETTER ZHE;Lu;0;L;;;;;N;;;;056A;
+053B;ARMENIAN CAPITAL LETTER INI;Lu;0;L;;;;;N;;;;056B;
+053C;ARMENIAN CAPITAL LETTER LIWN;Lu;0;L;;;;;N;;;;056C;
+053D;ARMENIAN CAPITAL LETTER XEH;Lu;0;L;;;;;N;;;;056D;
+053E;ARMENIAN CAPITAL LETTER CA;Lu;0;L;;;;;N;;;;056E;
+053F;ARMENIAN CAPITAL LETTER KEN;Lu;0;L;;;;;N;;;;056F;
+0540;ARMENIAN CAPITAL LETTER HO;Lu;0;L;;;;;N;;;;0570;
+0541;ARMENIAN CAPITAL LETTER JA;Lu;0;L;;;;;N;;;;0571;
+0542;ARMENIAN CAPITAL LETTER GHAD;Lu;0;L;;;;;N;ARMENIAN CAPITAL LETTER LAD;;;0572;
+0543;ARMENIAN CAPITAL LETTER CHEH;Lu;0;L;;;;;N;;;;0573;
+0544;ARMENIAN CAPITAL LETTER MEN;Lu;0;L;;;;;N;;;;0574;
+0545;ARMENIAN CAPITAL LETTER YI;Lu;0;L;;;;;N;;;;0575;
+0546;ARMENIAN CAPITAL LETTER NOW;Lu;0;L;;;;;N;;;;0576;
+0547;ARMENIAN CAPITAL LETTER SHA;Lu;0;L;;;;;N;;;;0577;
+0548;ARMENIAN CAPITAL LETTER VO;Lu;0;L;;;;;N;;;;0578;
+0549;ARMENIAN CAPITAL LETTER CHA;Lu;0;L;;;;;N;;;;0579;
+054A;ARMENIAN CAPITAL LETTER PEH;Lu;0;L;;;;;N;;;;057A;
+054B;ARMENIAN CAPITAL LETTER JHEH;Lu;0;L;;;;;N;;;;057B;
+054C;ARMENIAN CAPITAL LETTER RA;Lu;0;L;;;;;N;;;;057C;
+054D;ARMENIAN CAPITAL LETTER SEH;Lu;0;L;;;;;N;;;;057D;
+054E;ARMENIAN CAPITAL LETTER VEW;Lu;0;L;;;;;N;;;;057E;
+054F;ARMENIAN CAPITAL LETTER TIWN;Lu;0;L;;;;;N;;;;057F;
+0550;ARMENIAN CAPITAL LETTER REH;Lu;0;L;;;;;N;;;;0580;
+0551;ARMENIAN CAPITAL LETTER CO;Lu;0;L;;;;;N;;;;0581;
+0552;ARMENIAN CAPITAL LETTER YIWN;Lu;0;L;;;;;N;;;;0582;
+0553;ARMENIAN CAPITAL LETTER PIWR;Lu;0;L;;;;;N;;;;0583;
+0554;ARMENIAN CAPITAL LETTER KEH;Lu;0;L;;;;;N;;;;0584;
+0555;ARMENIAN CAPITAL LETTER OH;Lu;0;L;;;;;N;;;;0585;
+0556;ARMENIAN CAPITAL LETTER FEH;Lu;0;L;;;;;N;;;;0586;
+0559;ARMENIAN MODIFIER LETTER LEFT HALF RING;Lm;0;L;;;;;N;;;;;
+055A;ARMENIAN APOSTROPHE;Po;0;L;;;;;N;ARMENIAN MODIFIER LETTER RIGHT HALF RING;;;;
+055B;ARMENIAN EMPHASIS MARK;Po;0;L;;;;;N;;;;;
+055C;ARMENIAN EXCLAMATION MARK;Po;0;L;;;;;N;;;;;
+055D;ARMENIAN COMMA;Po;0;L;;;;;N;;;;;
+055E;ARMENIAN QUESTION MARK;Po;0;L;;;;;N;;;;;
+055F;ARMENIAN ABBREVIATION MARK;Po;0;L;;;;;N;;;;;
+0561;ARMENIAN SMALL LETTER AYB;Ll;0;L;;;;;N;;;0531;;0531
+0562;ARMENIAN SMALL LETTER BEN;Ll;0;L;;;;;N;;;0532;;0532
+0563;ARMENIAN SMALL LETTER GIM;Ll;0;L;;;;;N;;;0533;;0533
+0564;ARMENIAN SMALL LETTER DA;Ll;0;L;;;;;N;;;0534;;0534
+0565;ARMENIAN SMALL LETTER ECH;Ll;0;L;;;;;N;;;0535;;0535
+0566;ARMENIAN SMALL LETTER ZA;Ll;0;L;;;;;N;;;0536;;0536
+0567;ARMENIAN SMALL LETTER EH;Ll;0;L;;;;;N;;;0537;;0537
+0568;ARMENIAN SMALL LETTER ET;Ll;0;L;;;;;N;;;0538;;0538
+0569;ARMENIAN SMALL LETTER TO;Ll;0;L;;;;;N;;;0539;;0539
+056A;ARMENIAN SMALL LETTER ZHE;Ll;0;L;;;;;N;;;053A;;053A
+056B;ARMENIAN SMALL LETTER INI;Ll;0;L;;;;;N;;;053B;;053B
+056C;ARMENIAN SMALL LETTER LIWN;Ll;0;L;;;;;N;;;053C;;053C
+056D;ARMENIAN SMALL LETTER XEH;Ll;0;L;;;;;N;;;053D;;053D
+056E;ARMENIAN SMALL LETTER CA;Ll;0;L;;;;;N;;;053E;;053E
+056F;ARMENIAN SMALL LETTER KEN;Ll;0;L;;;;;N;;;053F;;053F
+0570;ARMENIAN SMALL LETTER HO;Ll;0;L;;;;;N;;;0540;;0540
+0571;ARMENIAN SMALL LETTER JA;Ll;0;L;;;;;N;;;0541;;0541
+0572;ARMENIAN SMALL LETTER GHAD;Ll;0;L;;;;;N;ARMENIAN SMALL LETTER LAD;;0542;;0542
+0573;ARMENIAN SMALL LETTER CHEH;Ll;0;L;;;;;N;;;0543;;0543
+0574;ARMENIAN SMALL LETTER MEN;Ll;0;L;;;;;N;;;0544;;0544
+0575;ARMENIAN SMALL LETTER YI;Ll;0;L;;;;;N;;;0545;;0545
+0576;ARMENIAN SMALL LETTER NOW;Ll;0;L;;;;;N;;;0546;;0546
+0577;ARMENIAN SMALL LETTER SHA;Ll;0;L;;;;;N;;;0547;;0547
+0578;ARMENIAN SMALL LETTER VO;Ll;0;L;;;;;N;;;0548;;0548
+0579;ARMENIAN SMALL LETTER CHA;Ll;0;L;;;;;N;;;0549;;0549
+057A;ARMENIAN SMALL LETTER PEH;Ll;0;L;;;;;N;;;054A;;054A
+057B;ARMENIAN SMALL LETTER JHEH;Ll;0;L;;;;;N;;;054B;;054B
+057C;ARMENIAN SMALL LETTER RA;Ll;0;L;;;;;N;;;054C;;054C
+057D;ARMENIAN SMALL LETTER SEH;Ll;0;L;;;;;N;;;054D;;054D
+057E;ARMENIAN SMALL LETTER VEW;Ll;0;L;;;;;N;;;054E;;054E
+057F;ARMENIAN SMALL LETTER TIWN;Ll;0;L;;;;;N;;;054F;;054F
+0580;ARMENIAN SMALL LETTER REH;Ll;0;L;;;;;N;;;0550;;0550
+0581;ARMENIAN SMALL LETTER CO;Ll;0;L;;;;;N;;;0551;;0551
+0582;ARMENIAN SMALL LETTER YIWN;Ll;0;L;;;;;N;;;0552;;0552
+0583;ARMENIAN SMALL LETTER PIWR;Ll;0;L;;;;;N;;;0553;;0553
+0584;ARMENIAN SMALL LETTER KEH;Ll;0;L;;;;;N;;;0554;;0554
+0585;ARMENIAN SMALL LETTER OH;Ll;0;L;;;;;N;;;0555;;0555
+0586;ARMENIAN SMALL LETTER FEH;Ll;0;L;;;;;N;;;0556;;0556
+0587;ARMENIAN SMALL LIGATURE ECH YIWN;Ll;0;L;<compat> 0565 0582;;;;N;;;;;
+0589;ARMENIAN FULL STOP;Po;0;L;;;;;N;ARMENIAN PERIOD;;;;
+0591;HEBREW ACCENT ETNAHTA;Mn;220;R;;;;;N;;;;;
+0592;HEBREW ACCENT SEGOL;Mn;230;R;;;;;N;;;;;
+0593;HEBREW ACCENT SHALSHELET;Mn;230;R;;;;;N;;;;;
+0594;HEBREW ACCENT ZAQEF QATAN;Mn;230;R;;;;;N;;;;;
+0595;HEBREW ACCENT ZAQEF GADOL;Mn;230;R;;;;;N;;;;;
+0596;HEBREW ACCENT TIPEHA;Mn;220;R;;;;;N;;;;;
+0597;HEBREW ACCENT REVIA;Mn;230;R;;;;;N;;;;;
+0598;HEBREW ACCENT ZARQA;Mn;230;R;;;;;N;;;;;
+0599;HEBREW ACCENT PASHTA;Mn;230;R;;;;;N;;;;;
+059A;HEBREW ACCENT YETIV;Mn;222;R;;;;;N;;;;;
+059B;HEBREW ACCENT TEVIR;Mn;220;R;;;;;N;;;;;
+059C;HEBREW ACCENT GERESH;Mn;230;R;;;;;N;;;;;
+059D;HEBREW ACCENT GERESH MUQDAM;Mn;230;R;;;;;N;;;;;
+059E;HEBREW ACCENT GERSHAYIM;Mn;230;R;;;;;N;;;;;
+059F;HEBREW ACCENT QARNEY PARA;Mn;230;R;;;;;N;;;;;
+05A0;HEBREW ACCENT TELISHA GEDOLA;Mn;230;R;;;;;N;;;;;
+05A1;HEBREW ACCENT PAZER;Mn;230;R;;;;;N;;;;;
+05A3;HEBREW ACCENT MUNAH;Mn;220;R;;;;;N;;;;;
+05A4;HEBREW ACCENT MAHAPAKH;Mn;220;R;;;;;N;;;;;
+05A5;HEBREW ACCENT MERKHA;Mn;220;R;;;;;N;;;;;
+05A6;HEBREW ACCENT MERKHA KEFULA;Mn;220;R;;;;;N;;;;;
+05A7;HEBREW ACCENT DARGA;Mn;220;R;;;;;N;;;;;
+05A8;HEBREW ACCENT QADMA;Mn;230;R;;;;;N;;;;;
+05A9;HEBREW ACCENT TELISHA QETANA;Mn;230;R;;;;;N;;;;;
+05AA;HEBREW ACCENT YERAH BEN YOMO;Mn;220;R;;;;;N;;;;;
+05AB;HEBREW ACCENT OLE;Mn;230;R;;;;;N;;;;;
+05AC;HEBREW ACCENT ILUY;Mn;230;R;;;;;N;;;;;
+05AD;HEBREW ACCENT DEHI;Mn;222;R;;;;;N;;;;;
+05AE;HEBREW ACCENT ZINOR;Mn;230;R;;;;;N;;;;;
+05AF;HEBREW MARK MASORA CIRCLE;Mn;230;R;;;;;N;;;;;
+05B0;HEBREW POINT SHEVA;Mn;10;R;;;;;N;;;;;
+05B1;HEBREW POINT HATAF SEGOL;Mn;11;R;;;;;N;;;;;
+05B2;HEBREW POINT HATAF PATAH;Mn;12;R;;;;;N;;;;;
+05B3;HEBREW POINT HATAF QAMATS;Mn;13;R;;;;;N;;;;;
+05B4;HEBREW POINT HIRIQ;Mn;14;R;;;;;N;;;;;
+05B5;HEBREW POINT TSERE;Mn;15;R;;;;;N;;;;;
+05B6;HEBREW POINT SEGOL;Mn;16;R;;;;;N;;;;;
+05B7;HEBREW POINT PATAH;Mn;17;R;;;;;N;;;;;
+05B8;HEBREW POINT QAMATS;Mn;18;R;;;;;N;;;;;
+05B9;HEBREW POINT HOLAM;Mn;19;R;;;;;N;;;;;
+05BB;HEBREW POINT QUBUTS;Mn;20;R;;;;;N;;;;;
+05BC;HEBREW POINT DAGESH OR MAPIQ;Mn;21;R;;;;;N;HEBREW POINT DAGESH;;;;
+05BD;HEBREW POINT METEG;Mn;22;R;;;;;N;;;;;
+05BE;HEBREW PUNCTUATION MAQAF;Po;0;R;;;;;N;;;;;
+05BF;HEBREW POINT RAFE;Mn;23;R;;;;;N;;;;;
+05C0;HEBREW PUNCTUATION PASEQ;Po;0;R;;;;;N;HEBREW POINT PASEQ;;;;
+05C1;HEBREW POINT SHIN DOT;Mn;24;R;;;;;N;;;;;
+05C2;HEBREW POINT SIN DOT;Mn;25;R;;;;;N;;;;;
+05C3;HEBREW PUNCTUATION SOF PASUQ;Po;0;R;;;;;N;;;;;
+05C4;HEBREW MARK UPPER DOT;Mn;230;R;;;;;N;;;;;
+05D0;HEBREW LETTER ALEF;Lo;0;R;;;;;N;;;;;
+05D1;HEBREW LETTER BET;Lo;0;R;;;;;N;;;;;
+05D2;HEBREW LETTER GIMEL;Lo;0;R;;;;;N;;;;;
+05D3;HEBREW LETTER DALET;Lo;0;R;;;;;N;;;;;
+05D4;HEBREW LETTER HE;Lo;0;R;;;;;N;;;;;
+05D5;HEBREW LETTER VAV;Lo;0;R;;;;;N;;;;;
+05D6;HEBREW LETTER ZAYIN;Lo;0;R;;;;;N;;;;;
+05D7;HEBREW LETTER HET;Lo;0;R;;;;;N;;;;;
+05D8;HEBREW LETTER TET;Lo;0;R;;;;;N;;;;;
+05D9;HEBREW LETTER YOD;Lo;0;R;;;;;N;;;;;
+05DA;HEBREW LETTER FINAL KAF;Lo;0;R;;;;;N;;;;;
+05DB;HEBREW LETTER KAF;Lo;0;R;;;;;N;;;;;
+05DC;HEBREW LETTER LAMED;Lo;0;R;;;;;N;;;;;
+05DD;HEBREW LETTER FINAL MEM;Lo;0;R;;;;;N;;;;;
+05DE;HEBREW LETTER MEM;Lo;0;R;;;;;N;;;;;
+05DF;HEBREW LETTER FINAL NUN;Lo;0;R;;;;;N;;;;;
+05E0;HEBREW LETTER NUN;Lo;0;R;;;;;N;;;;;
+05E1;HEBREW LETTER SAMEKH;Lo;0;R;;;;;N;;;;;
+05E2;HEBREW LETTER AYIN;Lo;0;R;;;;;N;;;;;
+05E3;HEBREW LETTER FINAL PE;Lo;0;R;;;;;N;;;;;
+05E4;HEBREW LETTER PE;Lo;0;R;;;;;N;;;;;
+05E5;HEBREW LETTER FINAL TSADI;Lo;0;R;;;;;N;;;;;
+05E6;HEBREW LETTER TSADI;Lo;0;R;;;;;N;;;;;
+05E7;HEBREW LETTER QOF;Lo;0;R;;;;;N;;;;;
+05E8;HEBREW LETTER RESH;Lo;0;R;;;;;N;;;;;
+05E9;HEBREW LETTER SHIN;Lo;0;R;;;;;N;;;;;
+05EA;HEBREW LETTER TAV;Lo;0;R;;;;;N;;;;;
+05F0;HEBREW LIGATURE YIDDISH DOUBLE VAV;Lo;0;R;;;;;N;HEBREW LETTER DOUBLE VAV;;;;
+05F1;HEBREW LIGATURE YIDDISH VAV YOD;Lo;0;R;;;;;N;HEBREW LETTER VAV YOD;;;;
+05F2;HEBREW LIGATURE YIDDISH DOUBLE YOD;Lo;0;R;;;;;N;HEBREW LETTER DOUBLE YOD;;;;
+05F3;HEBREW PUNCTUATION GERESH;Po;0;R;;;;;N;;;;;
+05F4;HEBREW PUNCTUATION GERSHAYIM;Po;0;R;;;;;N;;;;;
+060C;ARABIC COMMA;Po;0;R;;;;;N;;;;;
+061B;ARABIC SEMICOLON;Po;0;R;;;;;N;;;;;
+061F;ARABIC QUESTION MARK;Po;0;R;;;;;N;;;;;
+0621;ARABIC LETTER HAMZA;Lo;0;R;;;;;N;ARABIC LETTER HAMZAH;;;;
+0622;ARABIC LETTER ALEF WITH MADDA ABOVE;Lo;0;R;;;;;N;ARABIC LETTER MADDAH ON ALEF;;;;
+0623;ARABIC LETTER ALEF WITH HAMZA ABOVE;Lo;0;R;;;;;N;ARABIC LETTER HAMZAH ON ALEF;;;;
+0624;ARABIC LETTER WAW WITH HAMZA ABOVE;Lo;0;R;;;;;N;ARABIC LETTER HAMZAH ON WAW;;;;
+0625;ARABIC LETTER ALEF WITH HAMZA BELOW;Lo;0;R;;;;;N;ARABIC LETTER HAMZAH UNDER ALEF;;;;
+0626;ARABIC LETTER YEH WITH HAMZA ABOVE;Lo;0;R;;;;;N;ARABIC LETTER HAMZAH ON YA;;;;
+0627;ARABIC LETTER ALEF;Lo;0;R;;;;;N;;;;;
+0628;ARABIC LETTER BEH;Lo;0;R;;;;;N;ARABIC LETTER BAA;;;;
+0629;ARABIC LETTER TEH MARBUTA;Lo;0;R;;;;;N;ARABIC LETTER TAA MARBUTAH;;;;
+062A;ARABIC LETTER TEH;Lo;0;R;;;;;N;ARABIC LETTER TAA;;;;
+062B;ARABIC LETTER THEH;Lo;0;R;;;;;N;ARABIC LETTER THAA;;;;
+062C;ARABIC LETTER JEEM;Lo;0;R;;;;;N;;;;;
+062D;ARABIC LETTER HAH;Lo;0;R;;;;;N;ARABIC LETTER HAA;;;;
+062E;ARABIC LETTER KHAH;Lo;0;R;;;;;N;ARABIC LETTER KHAA;;;;
+062F;ARABIC LETTER DAL;Lo;0;R;;;;;N;;;;;
+0630;ARABIC LETTER THAL;Lo;0;R;;;;;N;;;;;
+0631;ARABIC LETTER REH;Lo;0;R;;;;;N;ARABIC LETTER RA;;;;
+0632;ARABIC LETTER ZAIN;Lo;0;R;;;;;N;;;;;
+0633;ARABIC LETTER SEEN;Lo;0;R;;;;;N;;;;;
+0634;ARABIC LETTER SHEEN;Lo;0;R;;;;;N;;;;;
+0635;ARABIC LETTER SAD;Lo;0;R;;;;;N;;;;;
+0636;ARABIC LETTER DAD;Lo;0;R;;;;;N;;;;;
+0637;ARABIC LETTER TAH;Lo;0;R;;;;;N;;;;;
+0638;ARABIC LETTER ZAH;Lo;0;R;;;;;N;ARABIC LETTER DHAH;;;;
+0639;ARABIC LETTER AIN;Lo;0;R;;;;;N;;;;;
+063A;ARABIC LETTER GHAIN;Lo;0;R;;;;;N;;;;;
+0640;ARABIC TATWEEL;Lm;0;R;;;;;N;;;;;
+0641;ARABIC LETTER FEH;Lo;0;R;;;;;N;ARABIC LETTER FA;;;;
+0642;ARABIC LETTER QAF;Lo;0;R;;;;;N;;;;;
+0643;ARABIC LETTER KAF;Lo;0;R;;;;;N;ARABIC LETTER CAF;;;;
+0644;ARABIC LETTER LAM;Lo;0;R;;;;;N;;;;;
+0645;ARABIC LETTER MEEM;Lo;0;R;;;;;N;;;;;
+0646;ARABIC LETTER NOON;Lo;0;R;;;;;N;;;;;
+0647;ARABIC LETTER HEH;Lo;0;R;;;;;N;ARABIC LETTER HA;;;;
+0648;ARABIC LETTER WAW;Lo;0;R;;;;;N;;;;;
+0649;ARABIC LETTER ALEF MAKSURA;Lo;0;R;;;;;N;ARABIC LETTER ALEF MAQSURAH;;;;
+064A;ARABIC LETTER YEH;Lo;0;R;;;;;N;ARABIC LETTER YA;;;;
+064B;ARABIC FATHATAN;Mn;27;R;;;;;N;;;;;
+064C;ARABIC DAMMATAN;Mn;28;R;;;;;N;;;;;
+064D;ARABIC KASRATAN;Mn;29;R;;;;;N;;;;;
+064E;ARABIC FATHA;Mn;30;R;;;;;N;ARABIC FATHAH;;;;
+064F;ARABIC DAMMA;Mn;31;R;;;;;N;ARABIC DAMMAH;;;;
+0650;ARABIC KASRA;Mn;32;R;;;;;N;ARABIC KASRAH;;;;
+0651;ARABIC SHADDA;Mn;33;R;;;;;N;ARABIC SHADDAH;;;;
+0652;ARABIC SUKUN;Mn;34;R;;;;;N;;;;;
+0660;ARABIC-INDIC DIGIT ZERO;Nd;0;AN;;0;0;0;N;;;;;
+0661;ARABIC-INDIC DIGIT ONE;Nd;0;AN;;1;1;1;N;;;;;
+0662;ARABIC-INDIC DIGIT TWO;Nd;0;AN;;2;2;2;N;;;;;
+0663;ARABIC-INDIC DIGIT THREE;Nd;0;AN;;3;3;3;N;;;;;
+0664;ARABIC-INDIC DIGIT FOUR;Nd;0;AN;;4;4;4;N;;;;;
+0665;ARABIC-INDIC DIGIT FIVE;Nd;0;AN;;5;5;5;N;;;;;
+0666;ARABIC-INDIC DIGIT SIX;Nd;0;AN;;6;6;6;N;;;;;
+0667;ARABIC-INDIC DIGIT SEVEN;Nd;0;AN;;7;7;7;N;;;;;
+0668;ARABIC-INDIC DIGIT EIGHT;Nd;0;AN;;8;8;8;N;;;;;
+0669;ARABIC-INDIC DIGIT NINE;Nd;0;AN;;9;9;9;N;;;;;
+066A;ARABIC PERCENT SIGN;Po;0;ET;;;;;N;;;;;
+066B;ARABIC DECIMAL SEPARATOR;Po;0;AN;;;;;N;;;;;
+066C;ARABIC THOUSANDS SEPARATOR;Po;0;AN;;;;;N;;;;;
+066D;ARABIC FIVE POINTED STAR;Po;0;R;;;;;N;;;;;
+0670;ARABIC LETTER SUPERSCRIPT ALEF;Mn;35;R;;;;;N;ARABIC ALEF ABOVE;;;;
+0671;ARABIC LETTER ALEF WASLA;Lo;0;R;;;;;N;ARABIC LETTER HAMZAT WASL ON ALEF;;;;
+0672;ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE;Lo;0;R;;;;;N;ARABIC LETTER WAVY HAMZAH ON ALEF;;;;
+0673;ARABIC LETTER ALEF WITH WAVY HAMZA BELOW;Lo;0;R;;;;;N;ARABIC LETTER WAVY HAMZAH UNDER ALEF;;;;
+0674;ARABIC LETTER HIGH HAMZA;Lo;0;R;;;;;N;ARABIC LETTER HIGH HAMZAH;;;;
+0675;ARABIC LETTER HIGH HAMZA ALEF;Lo;0;R;;;;;N;ARABIC LETTER HIGH HAMZAH ALEF;;;;
+0676;ARABIC LETTER HIGH HAMZA WAW;Lo;0;R;;;;;N;ARABIC LETTER HIGH HAMZAH WAW;;;;
+0677;ARABIC LETTER U WITH HAMZA ABOVE;Lo;0;R;;;;;N;ARABIC LETTER HIGH HAMZAH WAW WITH DAMMAH;;;;
+0678;ARABIC LETTER HIGH HAMZA YEH;Lo;0;R;;;;;N;ARABIC LETTER HIGH HAMZAH YA;;;;
+0679;ARABIC LETTER TTEH;Lo;0;R;;;;;N;ARABIC LETTER TAA WITH SMALL TAH;;;;
+067A;ARABIC LETTER TTEHEH;Lo;0;R;;;;;N;ARABIC LETTER TAA WITH TWO DOTS VERTICAL ABOVE;;;;
+067B;ARABIC LETTER BEEH;Lo;0;R;;;;;N;ARABIC LETTER BAA WITH TWO DOTS VERTICAL BELOW;;;;
+067C;ARABIC LETTER TEH WITH RING;Lo;0;R;;;;;N;ARABIC LETTER TAA WITH RING;;;;
+067D;ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS;Lo;0;R;;;;;N;ARABIC LETTER TAA WITH THREE DOTS ABOVE DOWNWARD;;;;
+067E;ARABIC LETTER PEH;Lo;0;R;;;;;N;ARABIC LETTER TAA WITH THREE DOTS BELOW;;;;
+067F;ARABIC LETTER TEHEH;Lo;0;R;;;;;N;ARABIC LETTER TAA WITH FOUR DOTS ABOVE;;;;
+0680;ARABIC LETTER BEHEH;Lo;0;R;;;;;N;ARABIC LETTER BAA WITH FOUR DOTS BELOW;;;;
+0681;ARABIC LETTER HAH WITH HAMZA ABOVE;Lo;0;R;;;;;N;ARABIC LETTER HAMZAH ON HAA;;;;
+0682;ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE;Lo;0;R;;;;;N;ARABIC LETTER HAA WITH TWO DOTS VERTICAL ABOVE;;;;
+0683;ARABIC LETTER NYEH;Lo;0;R;;;;;N;ARABIC LETTER HAA WITH MIDDLE TWO DOTS;;;;
+0684;ARABIC LETTER DYEH;Lo;0;R;;;;;N;ARABIC LETTER HAA WITH MIDDLE TWO DOTS VERTICAL;;;;
+0685;ARABIC LETTER HAH WITH THREE DOTS ABOVE;Lo;0;R;;;;;N;ARABIC LETTER HAA WITH THREE DOTS ABOVE;;;;
+0686;ARABIC LETTER TCHEH;Lo;0;R;;;;;N;ARABIC LETTER HAA WITH MIDDLE THREE DOTS DOWNWARD;;;;
+0687;ARABIC LETTER TCHEHEH;Lo;0;R;;;;;N;ARABIC LETTER HAA WITH MIDDLE FOUR DOTS;;;;
+0688;ARABIC LETTER DDAL;Lo;0;R;;;;;N;ARABIC LETTER DAL WITH SMALL TAH;;;;
+0689;ARABIC LETTER DAL WITH RING;Lo;0;R;;;;;N;;;;;
+068A;ARABIC LETTER DAL WITH DOT BELOW;Lo;0;R;;;;;N;;;;;
+068B;ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH;Lo;0;R;;;;;N;;;;;
+068C;ARABIC LETTER DAHAL;Lo;0;R;;;;;N;ARABIC LETTER DAL WITH TWO DOTS ABOVE;;;;
+068D;ARABIC LETTER DDAHAL;Lo;0;R;;;;;N;ARABIC LETTER DAL WITH TWO DOTS BELOW;;;;
+068E;ARABIC LETTER DUL;Lo;0;R;;;;;N;ARABIC LETTER DAL WITH THREE DOTS ABOVE;;;;
+068F;ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS;Lo;0;R;;;;;N;ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARD;;;;
+0690;ARABIC LETTER DAL WITH FOUR DOTS ABOVE;Lo;0;R;;;;;N;;;;;
+0691;ARABIC LETTER RREH;Lo;0;R;;;;;N;ARABIC LETTER RA WITH SMALL TAH;;;;
+0692;ARABIC LETTER REH WITH SMALL V;Lo;0;R;;;;;N;ARABIC LETTER RA WITH SMALL V;;;;
+0693;ARABIC LETTER REH WITH RING;Lo;0;R;;;;;N;ARABIC LETTER RA WITH RING;;;;
+0694;ARABIC LETTER REH WITH DOT BELOW;Lo;0;R;;;;;N;ARABIC LETTER RA WITH DOT BELOW;;;;
+0695;ARABIC LETTER REH WITH SMALL V BELOW;Lo;0;R;;;;;N;ARABIC LETTER RA WITH SMALL V BELOW;;;;
+0696;ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE;Lo;0;R;;;;;N;ARABIC LETTER RA WITH DOT BELOW AND DOT ABOVE;;;;
+0697;ARABIC LETTER REH WITH TWO DOTS ABOVE;Lo;0;R;;;;;N;ARABIC LETTER RA WITH TWO DOTS ABOVE;;;;
+0698;ARABIC LETTER JEH;Lo;0;R;;;;;N;ARABIC LETTER RA WITH THREE DOTS ABOVE;;;;
+0699;ARABIC LETTER REH WITH FOUR DOTS ABOVE;Lo;0;R;;;;;N;ARABIC LETTER RA WITH FOUR DOTS ABOVE;;;;
+069A;ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE;Lo;0;R;;;;;N;;;;;
+069B;ARABIC LETTER SEEN WITH THREE DOTS BELOW;Lo;0;R;;;;;N;;;;;
+069C;ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE;Lo;0;R;;;;;N;;;;;
+069D;ARABIC LETTER SAD WITH TWO DOTS BELOW;Lo;0;R;;;;;N;;;;;
+069E;ARABIC LETTER SAD WITH THREE DOTS ABOVE;Lo;0;R;;;;;N;;;;;
+069F;ARABIC LETTER TAH WITH THREE DOTS ABOVE;Lo;0;R;;;;;N;;;;;
+06A0;ARABIC LETTER AIN WITH THREE DOTS ABOVE;Lo;0;R;;;;;N;;;;;
+06A1;ARABIC LETTER DOTLESS FEH;Lo;0;R;;;;;N;ARABIC LETTER DOTLESS FA;;;;
+06A2;ARABIC LETTER FEH WITH DOT MOVED BELOW;Lo;0;R;;;;;N;ARABIC LETTER FA WITH DOT MOVED BELOW;;;;
+06A3;ARABIC LETTER FEH WITH DOT BELOW;Lo;0;R;;;;;N;ARABIC LETTER FA WITH DOT BELOW;;;;
+06A4;ARABIC LETTER VEH;Lo;0;R;;;;;N;ARABIC LETTER FA WITH THREE DOTS ABOVE;;;;
+06A5;ARABIC LETTER FEH WITH THREE DOTS BELOW;Lo;0;R;;;;;N;ARABIC LETTER FA WITH THREE DOTS BELOW;;;;
+06A6;ARABIC LETTER PEHEH;Lo;0;R;;;;;N;ARABIC LETTER FA WITH FOUR DOTS ABOVE;;;;
+06A7;ARABIC LETTER QAF WITH DOT ABOVE;Lo;0;R;;;;;N;;;;;
+06A8;ARABIC LETTER QAF WITH THREE DOTS ABOVE;Lo;0;R;;;;;N;;;;;
+06A9;ARABIC LETTER KEHEH;Lo;0;R;;;;;N;ARABIC LETTER OPEN CAF;;;;
+06AA;ARABIC LETTER SWASH KAF;Lo;0;R;;;;;N;ARABIC LETTER SWASH CAF;;;;
+06AB;ARABIC LETTER KAF WITH RING;Lo;0;R;;;;;N;ARABIC LETTER CAF WITH RING;;;;
+06AC;ARABIC LETTER KAF WITH DOT ABOVE;Lo;0;R;;;;;N;ARABIC LETTER CAF WITH DOT ABOVE;;;;
+06AD;ARABIC LETTER NG;Lo;0;R;;;;;N;ARABIC LETTER CAF WITH THREE DOTS ABOVE;;;;
+06AE;ARABIC LETTER KAF WITH THREE DOTS BELOW;Lo;0;R;;;;;N;ARABIC LETTER CAF WITH THREE DOTS BELOW;;;;
+06AF;ARABIC LETTER GAF;Lo;0;R;;;;;N;;;;;
+06B0;ARABIC LETTER GAF WITH RING;Lo;0;R;;;;;N;;;;;
+06B1;ARABIC LETTER NGOEH;Lo;0;R;;;;;N;ARABIC LETTER GAF WITH TWO DOTS ABOVE;;;;
+06B2;ARABIC LETTER GAF WITH TWO DOTS BELOW;Lo;0;R;;;;;N;;;;;
+06B3;ARABIC LETTER GUEH;Lo;0;R;;;;;N;ARABIC LETTER GAF WITH TWO DOTS VERTICAL BELOW;;;;
+06B4;ARABIC LETTER GAF WITH THREE DOTS ABOVE;Lo;0;R;;;;;N;;;;;
+06B5;ARABIC LETTER LAM WITH SMALL V;Lo;0;R;;;;;N;;;;;
+06B6;ARABIC LETTER LAM WITH DOT ABOVE;Lo;0;R;;;;;N;;;;;
+06B7;ARABIC LETTER LAM WITH THREE DOTS ABOVE;Lo;0;R;;;;;N;;;;;
+06BA;ARABIC LETTER NOON GHUNNA;Lo;0;R;;;;;N;ARABIC LETTER DOTLESS NOON;;;;
+06BB;ARABIC LETTER RNOON;Lo;0;R;;;;;N;ARABIC LETTER DOTLESS NOON WITH SMALL TAH;;;;
+06BC;ARABIC LETTER NOON WITH RING;Lo;0;R;;;;;N;;;;;
+06BD;ARABIC LETTER NOON WITH THREE DOTS ABOVE;Lo;0;R;;;;;N;;;;;
+06BE;ARABIC LETTER HEH DOACHASHMEE;Lo;0;R;;;;;N;ARABIC LETTER KNOTTED HA;;;;
+06C0;ARABIC LETTER HEH WITH YEH ABOVE;Lo;0;R;;;;;N;ARABIC LETTER HAMZAH ON HA;;;;
+06C1;ARABIC LETTER HEH GOAL;Lo;0;R;;;;;N;ARABIC LETTER HA GOAL;;;;
+06C2;ARABIC LETTER HEH GOAL WITH HAMZA ABOVE;Lo;0;R;;;;;N;ARABIC LETTER HAMZAH ON HA GOAL;;;;
+06C3;ARABIC LETTER TEH MARBUTA GOAL;Lo;0;R;;;;;N;ARABIC LETTER TAA MARBUTAH GOAL;;;;
+06C4;ARABIC LETTER WAW WITH RING;Lo;0;R;;;;;N;;;;;
+06C5;ARABIC LETTER KIRGHIZ OE;Lo;0;R;;;;;N;ARABIC LETTER WAW WITH BAR;;;;
+06C6;ARABIC LETTER OE;Lo;0;R;;;;;N;ARABIC LETTER WAW WITH SMALL V;;;;
+06C7;ARABIC LETTER U;Lo;0;R;;;;;N;ARABIC LETTER WAW WITH DAMMAH;;;;
+06C8;ARABIC LETTER YU;Lo;0;R;;;;;N;ARABIC LETTER WAW WITH ALEF ABOVE;;;;
+06C9;ARABIC LETTER KIRGHIZ YU;Lo;0;R;;;;;N;ARABIC LETTER WAW WITH INVERTED SMALL V;;;;
+06CA;ARABIC LETTER WAW WITH TWO DOTS ABOVE;Lo;0;R;;;;;N;;;;;
+06CB;ARABIC LETTER VE;Lo;0;R;;;;;N;ARABIC LETTER WAW WITH THREE DOTS ABOVE;;;;
+06CC;ARABIC LETTER FARSI YEH;Lo;0;R;;;;;N;ARABIC LETTER DOTLESS YA;;;;
+06CD;ARABIC LETTER YEH WITH TAIL;Lo;0;R;;;;;N;ARABIC LETTER YA WITH TAIL;;;;
+06CE;ARABIC LETTER YEH WITH SMALL V;Lo;0;R;;;;;N;ARABIC LETTER YA WITH SMALL V;;;;
+06D0;ARABIC LETTER E;Lo;0;R;;;;;N;ARABIC LETTER YA WITH TWO DOTS VERTICAL BELOW;;;;
+06D1;ARABIC LETTER YEH WITH THREE DOTS BELOW;Lo;0;R;;;;;N;ARABIC LETTER YA WITH THREE DOTS BELOW;;;;
+06D2;ARABIC LETTER YEH BARREE;Lo;0;R;;;;;N;ARABIC LETTER YA BARREE;;;;
+06D3;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE;Lo;0;R;;;;;N;ARABIC LETTER HAMZAH ON YA BARREE;;;;
+06D4;ARABIC FULL STOP;Po;0;R;;;;;N;ARABIC PERIOD;;;;
+06D5;ARABIC LETTER AE;Lo;0;R;;;;;N;;;;;
+06D6;ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA;Mn;230;R;;;;;N;;;;;
+06D7;ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA;Mn;230;R;;;;;N;;;;;
+06D8;ARABIC SMALL HIGH MEEM INITIAL FORM;Mn;230;R;;;;;N;;;;;
+06D9;ARABIC SMALL HIGH LAM ALEF;Mn;230;R;;;;;N;;;;;
+06DA;ARABIC SMALL HIGH JEEM;Mn;230;R;;;;;N;;;;;
+06DB;ARABIC SMALL HIGH THREE DOTS;Mn;230;R;;;;;N;;;;;
+06DC;ARABIC SMALL HIGH SEEN;Mn;230;R;;;;;N;;;;;
+06DD;ARABIC END OF AYAH;Me;0;R;;;;;N;;;;;
+06DE;ARABIC START OF RUB EL HIZB;Me;0;R;;;;;N;;;;;
+06DF;ARABIC SMALL HIGH ROUNDED ZERO;Mn;230;R;;;;;N;;;;;
+06E0;ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO;Mn;230;R;;;;;N;;;;;
+06E1;ARABIC SMALL HIGH DOTLESS HEAD OF KHAH;Mn;230;R;;;;;N;;;;;
+06E2;ARABIC SMALL HIGH MEEM ISOLATED FORM;Mn;230;R;;;;;N;;;;;
+06E3;ARABIC SMALL LOW SEEN;Mn;220;R;;;;;N;;;;;
+06E4;ARABIC SMALL HIGH MADDA;Mn;230;R;;;;;N;;;;;
+06E5;ARABIC SMALL WAW;Lm;0;R;;;;;N;;;;;
+06E6;ARABIC SMALL YEH;Lm;0;R;;;;;N;;;;;
+06E7;ARABIC SMALL HIGH YEH;Mn;230;R;;;;;N;;;;;
+06E8;ARABIC SMALL HIGH NOON;Mn;230;R;;;;;N;;;;;
+06E9;ARABIC PLACE OF SAJDAH;So;0;R;;;;;N;;;;;
+06EA;ARABIC EMPTY CENTRE LOW STOP;Mn;220;R;;;;;N;;;;;
+06EB;ARABIC EMPTY CENTRE HIGH STOP;Mn;230;R;;;;;N;;;;;
+06EC;ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE;Mn;230;R;;;;;N;;;;;
+06ED;ARABIC SMALL LOW MEEM;Mn;220;R;;;;;N;;;;;
+06F0;EXTENDED ARABIC-INDIC DIGIT ZERO;Nd;0;EN;;0;0;0;N;EASTERN ARABIC-INDIC DIGIT ZERO;;;;
+06F1;EXTENDED ARABIC-INDIC DIGIT ONE;Nd;0;EN;;1;1;1;N;EASTERN ARABIC-INDIC DIGIT ONE;;;;
+06F2;EXTENDED ARABIC-INDIC DIGIT TWO;Nd;0;EN;;2;2;2;N;EASTERN ARABIC-INDIC DIGIT TWO;;;;
+06F3;EXTENDED ARABIC-INDIC DIGIT THREE;Nd;0;EN;;3;3;3;N;EASTERN ARABIC-INDIC DIGIT THREE;;;;
+06F4;EXTENDED ARABIC-INDIC DIGIT FOUR;Nd;0;EN;;4;4;4;N;EASTERN ARABIC-INDIC DIGIT FOUR;;;;
+06F5;EXTENDED ARABIC-INDIC DIGIT FIVE;Nd;0;EN;;5;5;5;N;EASTERN ARABIC-INDIC DIGIT FIVE;;;;
+06F6;EXTENDED ARABIC-INDIC DIGIT SIX;Nd;0;EN;;6;6;6;N;EASTERN ARABIC-INDIC DIGIT SIX;;;;
+06F7;EXTENDED ARABIC-INDIC DIGIT SEVEN;Nd;0;EN;;7;7;7;N;EASTERN ARABIC-INDIC DIGIT SEVEN;;;;
+06F8;EXTENDED ARABIC-INDIC DIGIT EIGHT;Nd;0;EN;;8;8;8;N;EASTERN ARABIC-INDIC DIGIT EIGHT;;;;
+06F9;EXTENDED ARABIC-INDIC DIGIT NINE;Nd;0;EN;;9;9;9;N;EASTERN ARABIC-INDIC DIGIT NINE;;;;
+0901;DEVANAGARI SIGN CANDRABINDU;Mn;37;L;;;;;N;;;;;
+0902;DEVANAGARI SIGN ANUSVARA;Mn;36;L;;;;;N;;;;;
+0903;DEVANAGARI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+0905;DEVANAGARI LETTER A;Lo;0;L;;;;;N;;;;;
+0906;DEVANAGARI LETTER AA;Lo;0;L;;;;;N;;;;;
+0907;DEVANAGARI LETTER I;Lo;0;L;;;;;N;;;;;
+0908;DEVANAGARI LETTER II;Lo;0;L;;;;;N;;;;;
+0909;DEVANAGARI LETTER U;Lo;0;L;;;;;N;;;;;
+090A;DEVANAGARI LETTER UU;Lo;0;L;;;;;N;;;;;
+090B;DEVANAGARI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+090C;DEVANAGARI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+090D;DEVANAGARI LETTER CANDRA E;Lo;0;L;;;;;N;;;;;
+090E;DEVANAGARI LETTER SHORT E;Lo;0;L;;;;;N;;;;;
+090F;DEVANAGARI LETTER E;Lo;0;L;;;;;N;;;;;
+0910;DEVANAGARI LETTER AI;Lo;0;L;;;;;N;;;;;
+0911;DEVANAGARI LETTER CANDRA O;Lo;0;L;;;;;N;;;;;
+0912;DEVANAGARI LETTER SHORT O;Lo;0;L;;;;;N;;;;;
+0913;DEVANAGARI LETTER O;Lo;0;L;;;;;N;;;;;
+0914;DEVANAGARI LETTER AU;Lo;0;L;;;;;N;;;;;
+0915;DEVANAGARI LETTER KA;Lo;0;L;;;;;N;;;;;
+0916;DEVANAGARI LETTER KHA;Lo;0;L;;;;;N;;;;;
+0917;DEVANAGARI LETTER GA;Lo;0;L;;;;;N;;;;;
+0918;DEVANAGARI LETTER GHA;Lo;0;L;;;;;N;;;;;
+0919;DEVANAGARI LETTER NGA;Lo;0;L;;;;;N;;;;;
+091A;DEVANAGARI LETTER CA;Lo;0;L;;;;;N;;;;;
+091B;DEVANAGARI LETTER CHA;Lo;0;L;;;;;N;;;;;
+091C;DEVANAGARI LETTER JA;Lo;0;L;;;;;N;;;;;
+091D;DEVANAGARI LETTER JHA;Lo;0;L;;;;;N;;;;;
+091E;DEVANAGARI LETTER NYA;Lo;0;L;;;;;N;;;;;
+091F;DEVANAGARI LETTER TTA;Lo;0;L;;;;;N;;;;;
+0920;DEVANAGARI LETTER TTHA;Lo;0;L;;;;;N;;;;;
+0921;DEVANAGARI LETTER DDA;Lo;0;L;;;;;N;;;;;
+0922;DEVANAGARI LETTER DDHA;Lo;0;L;;;;;N;;;;;
+0923;DEVANAGARI LETTER NNA;Lo;0;L;;;;;N;;;;;
+0924;DEVANAGARI LETTER TA;Lo;0;L;;;;;N;;;;;
+0925;DEVANAGARI LETTER THA;Lo;0;L;;;;;N;;;;;
+0926;DEVANAGARI LETTER DA;Lo;0;L;;;;;N;;;;;
+0927;DEVANAGARI LETTER DHA;Lo;0;L;;;;;N;;;;;
+0928;DEVANAGARI LETTER NA;Lo;0;L;;;;;N;;;;;
+0929;DEVANAGARI LETTER NNNA;Lo;0;L;0928 093C;;;;N;;;;;
+092A;DEVANAGARI LETTER PA;Lo;0;L;;;;;N;;;;;
+092B;DEVANAGARI LETTER PHA;Lo;0;L;;;;;N;;;;;
+092C;DEVANAGARI LETTER BA;Lo;0;L;;;;;N;;;;;
+092D;DEVANAGARI LETTER BHA;Lo;0;L;;;;;N;;;;;
+092E;DEVANAGARI LETTER MA;Lo;0;L;;;;;N;;;;;
+092F;DEVANAGARI LETTER YA;Lo;0;L;;;;;N;;;;;
+0930;DEVANAGARI LETTER RA;Lo;0;L;;;;;N;;;;;
+0931;DEVANAGARI LETTER RRA;Lo;0;L;0930 093C;;;;N;;;;;
+0932;DEVANAGARI LETTER LA;Lo;0;L;;;;;N;;;;;
+0933;DEVANAGARI LETTER LLA;Lo;0;L;;;;;N;;;;;
+0934;DEVANAGARI LETTER LLLA;Lo;0;L;0933 093C;;;;N;;;;;
+0935;DEVANAGARI LETTER VA;Lo;0;L;;;;;N;;;;;
+0936;DEVANAGARI LETTER SHA;Lo;0;L;;;;;N;;;;;
+0937;DEVANAGARI LETTER SSA;Lo;0;L;;;;;N;;;;;
+0938;DEVANAGARI LETTER SA;Lo;0;L;;;;;N;;;;;
+0939;DEVANAGARI LETTER HA;Lo;0;L;;;;;N;;;;;
+093C;DEVANAGARI SIGN NUKTA;Mn;7;L;;;;;N;;;;;
+093D;DEVANAGARI SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
+093E;DEVANAGARI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+093F;DEVANAGARI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+0940;DEVANAGARI VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+0941;DEVANAGARI VOWEL SIGN U;Mn;38;L;;;;;N;;;;;
+0942;DEVANAGARI VOWEL SIGN UU;Mn;39;L;;;;;N;;;;;
+0943;DEVANAGARI VOWEL SIGN VOCALIC R;Mn;40;L;;;;;N;;;;;
+0944;DEVANAGARI VOWEL SIGN VOCALIC RR;Mn;41;L;;;;;N;;;;;
+0945;DEVANAGARI VOWEL SIGN CANDRA E;Mn;42;L;;;;;N;;;;;
+0946;DEVANAGARI VOWEL SIGN SHORT E;Mn;43;L;;;;;N;;;;;
+0947;DEVANAGARI VOWEL SIGN E;Mn;44;L;;;;;N;;;;;
+0948;DEVANAGARI VOWEL SIGN AI;Mn;45;L;;;;;N;;;;;
+0949;DEVANAGARI VOWEL SIGN CANDRA O;Mc;0;L;;;;;N;;;;;
+094A;DEVANAGARI VOWEL SIGN SHORT O;Mc;0;L;;;;;N;;;;;
+094B;DEVANAGARI VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
+094C;DEVANAGARI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
+094D;DEVANAGARI SIGN VIRAMA;Mn;9;L;;;;;N;;;;;
+0950;DEVANAGARI OM;So;0;L;;;;;N;;;;;
+0951;DEVANAGARI STRESS SIGN UDATTA;Mn;46;L;;;;;N;;;;;
+0952;DEVANAGARI STRESS SIGN ANUDATTA;Mn;47;L;;;;;N;;;;;
+0953;DEVANAGARI GRAVE ACCENT;Mn;230;L;;;;;N;;;;;
+0954;DEVANAGARI ACUTE ACCENT;Mn;230;L;;;;;N;;;;;
+0958;DEVANAGARI LETTER QA;Lo;0;L;0915 093C;;;;N;;;;;
+0959;DEVANAGARI LETTER KHHA;Lo;0;L;0916 093C;;;;N;;;;;
+095A;DEVANAGARI LETTER GHHA;Lo;0;L;0917 093C;;;;N;;;;;
+095B;DEVANAGARI LETTER ZA;Lo;0;L;091C 093C;;;;N;;;;;
+095C;DEVANAGARI LETTER DDDHA;Lo;0;L;0921 093C;;;;N;;;;;
+095D;DEVANAGARI LETTER RHA;Lo;0;L;0922 093C;;;;N;;;;;
+095E;DEVANAGARI LETTER FA;Lo;0;L;092B 093C;;;;N;;;;;
+095F;DEVANAGARI LETTER YYA;Lo;0;L;092F 093C;;;;N;;;;;
+0960;DEVANAGARI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+0961;DEVANAGARI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+0962;DEVANAGARI VOWEL SIGN VOCALIC L;Mn;48;L;;;;;N;;;;;
+0963;DEVANAGARI VOWEL SIGN VOCALIC LL;Mn;49;L;;;;;N;;;;;
+0964;DEVANAGARI DANDA;Po;0;L;;;;;N;;;;;
+0965;DEVANAGARI DOUBLE DANDA;Po;0;L;;;;;N;;;;;
+0966;DEVANAGARI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+0967;DEVANAGARI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+0968;DEVANAGARI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+0969;DEVANAGARI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+096A;DEVANAGARI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+096B;DEVANAGARI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+096C;DEVANAGARI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+096D;DEVANAGARI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+096E;DEVANAGARI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+096F;DEVANAGARI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+0970;DEVANAGARI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
+0981;BENGALI SIGN CANDRABINDU;Mn;50;L;;;;;N;;;;;
+0982;BENGALI SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
+0983;BENGALI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+0985;BENGALI LETTER A;Lo;0;L;;;;;N;;;;;
+0986;BENGALI LETTER AA;Lo;0;L;;;;;N;;;;;
+0987;BENGALI LETTER I;Lo;0;L;;;;;N;;;;;
+0988;BENGALI LETTER II;Lo;0;L;;;;;N;;;;;
+0989;BENGALI LETTER U;Lo;0;L;;;;;N;;;;;
+098A;BENGALI LETTER UU;Lo;0;L;;;;;N;;;;;
+098B;BENGALI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+098C;BENGALI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+098F;BENGALI LETTER E;Lo;0;L;;;;;N;;;;;
+0990;BENGALI LETTER AI;Lo;0;L;;;;;N;;;;;
+0993;BENGALI LETTER O;Lo;0;L;;;;;N;;;;;
+0994;BENGALI LETTER AU;Lo;0;L;;;;;N;;;;;
+0995;BENGALI LETTER KA;Lo;0;L;;;;;N;;;;;
+0996;BENGALI LETTER KHA;Lo;0;L;;;;;N;;;;;
+0997;BENGALI LETTER GA;Lo;0;L;;;;;N;;;;;
+0998;BENGALI LETTER GHA;Lo;0;L;;;;;N;;;;;
+0999;BENGALI LETTER NGA;Lo;0;L;;;;;N;;;;;
+099A;BENGALI LETTER CA;Lo;0;L;;;;;N;;;;;
+099B;BENGALI LETTER CHA;Lo;0;L;;;;;N;;;;;
+099C;BENGALI LETTER JA;Lo;0;L;;;;;N;;;;;
+099D;BENGALI LETTER JHA;Lo;0;L;;;;;N;;;;;
+099E;BENGALI LETTER NYA;Lo;0;L;;;;;N;;;;;
+099F;BENGALI LETTER TTA;Lo;0;L;;;;;N;;;;;
+09A0;BENGALI LETTER TTHA;Lo;0;L;;;;;N;;;;;
+09A1;BENGALI LETTER DDA;Lo;0;L;;;;;N;;;;;
+09A2;BENGALI LETTER DDHA;Lo;0;L;;;;;N;;;;;
+09A3;BENGALI LETTER NNA;Lo;0;L;;;;;N;;;;;
+09A4;BENGALI LETTER TA;Lo;0;L;;;;;N;;;;;
+09A5;BENGALI LETTER THA;Lo;0;L;;;;;N;;;;;
+09A6;BENGALI LETTER DA;Lo;0;L;;;;;N;;;;;
+09A7;BENGALI LETTER DHA;Lo;0;L;;;;;N;;;;;
+09A8;BENGALI LETTER NA;Lo;0;L;;;;;N;;;;;
+09AA;BENGALI LETTER PA;Lo;0;L;;;;;N;;;;;
+09AB;BENGALI LETTER PHA;Lo;0;L;;;;;N;;;;;
+09AC;BENGALI LETTER BA;Lo;0;L;;;;;N;;;;;
+09AD;BENGALI LETTER BHA;Lo;0;L;;;;;N;;;;;
+09AE;BENGALI LETTER MA;Lo;0;L;;;;;N;;;;;
+09AF;BENGALI LETTER YA;Lo;0;L;;;;;N;;;;;
+09B0;BENGALI LETTER RA;Lo;0;L;09AC 09BC;;;;N;;;;;
+09B2;BENGALI LETTER LA;Lo;0;L;;;;;N;;;;;
+09B6;BENGALI LETTER SHA;Lo;0;L;;;;;N;;;;;
+09B7;BENGALI LETTER SSA;Lo;0;L;;;;;N;;;;;
+09B8;BENGALI LETTER SA;Lo;0;L;;;;;N;;;;;
+09B9;BENGALI LETTER HA;Lo;0;L;;;;;N;;;;;
+09BC;BENGALI SIGN NUKTA;Mn;7;L;;;;;N;;;;;
+09BE;BENGALI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+09BF;BENGALI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+09C0;BENGALI VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+09C1;BENGALI VOWEL SIGN U;Mn;51;L;;;;;N;;;;;
+09C2;BENGALI VOWEL SIGN UU;Mn;52;L;;;;;N;;;;;
+09C3;BENGALI VOWEL SIGN VOCALIC R;Mn;53;L;;;;;N;;;;;
+09C4;BENGALI VOWEL SIGN VOCALIC RR;Mn;54;L;;;;;N;;;;;
+09C7;BENGALI VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+09C8;BENGALI VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
+09CB;BENGALI VOWEL SIGN O;Mc;0;L;09C7 09BE;;;;N;;;;;
+09CC;BENGALI VOWEL SIGN AU;Mc;0;L;09C7 09D7;;;;N;;;;;
+09CD;BENGALI SIGN VIRAMA;Mn;9;L;;;;;N;;;;;
+09D7;BENGALI AU LENGTH MARK;Mc;0;L;;;;;N;;;;;
+09DC;BENGALI LETTER RRA;Lo;0;L;09A1 09BC;;;;N;;;;;
+09DD;BENGALI LETTER RHA;Lo;0;L;09A2 09BC;;;;N;;;;;
+09DF;BENGALI LETTER YYA;Lo;0;L;09AF 09BC;;;;N;;;;;
+09E0;BENGALI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+09E1;BENGALI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+09E2;BENGALI VOWEL SIGN VOCALIC L;Mn;55;L;;;;;N;;;;;
+09E3;BENGALI VOWEL SIGN VOCALIC LL;Mn;56;L;;;;;N;;;;;
+09E6;BENGALI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+09E7;BENGALI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+09E8;BENGALI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+09E9;BENGALI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+09EA;BENGALI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+09EB;BENGALI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+09EC;BENGALI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+09ED;BENGALI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+09EE;BENGALI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+09EF;BENGALI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+09F0;BENGALI LETTER RA WITH MIDDLE DIAGONAL;Lo;0;L;;;;;N;;Assamese;;;
+09F1;BENGALI LETTER RA WITH LOWER DIAGONAL;Lo;0;L;;;;;N;BENGALI LETTER VA WITH LOWER DIAGONAL;Assamese;;;
+09F2;BENGALI RUPEE MARK;Sc;0;L;;;;;N;;;;;
+09F3;BENGALI RUPEE SIGN;Sc;0;L;;;;;N;;;;;
+09F4;BENGALI CURRENCY NUMERATOR ONE;No;0;L;;;;1;N;;;;;
+09F5;BENGALI CURRENCY NUMERATOR TWO;No;0;L;;;;2;N;;;;;
+09F6;BENGALI CURRENCY NUMERATOR THREE;No;0;L;;;;3;N;;;;;
+09F7;BENGALI CURRENCY NUMERATOR FOUR;No;0;L;;;;4;N;;;;;
+09F8;BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR;No;0;L;;;;-1;N;;;;;
+09F9;BENGALI CURRENCY DENOMINATOR SIXTEEN;No;0;L;;;;16;N;;;;;
+09FA;BENGALI ISSHAR;So;0;L;;;;;N;;;;;
+0A02;GURMUKHI SIGN BINDI;Mn;57;L;;;;;N;;;;;
+0A05;GURMUKHI LETTER A;Lo;0;L;;;;;N;;;;;
+0A06;GURMUKHI LETTER AA;Lo;0;L;;;;;N;;;;;
+0A07;GURMUKHI LETTER I;Lo;0;L;;;;;N;;;;;
+0A08;GURMUKHI LETTER II;Lo;0;L;;;;;N;;;;;
+0A09;GURMUKHI LETTER U;Lo;0;L;;;;;N;;;;;
+0A0A;GURMUKHI LETTER UU;Lo;0;L;;;;;N;;;;;
+0A0F;GURMUKHI LETTER EE;Lo;0;L;;;;;N;;;;;
+0A10;GURMUKHI LETTER AI;Lo;0;L;;;;;N;;;;;
+0A13;GURMUKHI LETTER OO;Lo;0;L;;;;;N;;;;;
+0A14;GURMUKHI LETTER AU;Lo;0;L;;;;;N;;;;;
+0A15;GURMUKHI LETTER KA;Lo;0;L;;;;;N;;;;;
+0A16;GURMUKHI LETTER KHA;Lo;0;L;;;;;N;;;;;
+0A17;GURMUKHI LETTER GA;Lo;0;L;;;;;N;;;;;
+0A18;GURMUKHI LETTER GHA;Lo;0;L;;;;;N;;;;;
+0A19;GURMUKHI LETTER NGA;Lo;0;L;;;;;N;;;;;
+0A1A;GURMUKHI LETTER CA;Lo;0;L;;;;;N;;;;;
+0A1B;GURMUKHI LETTER CHA;Lo;0;L;;;;;N;;;;;
+0A1C;GURMUKHI LETTER JA;Lo;0;L;;;;;N;;;;;
+0A1D;GURMUKHI LETTER JHA;Lo;0;L;;;;;N;;;;;
+0A1E;GURMUKHI LETTER NYA;Lo;0;L;;;;;N;;;;;
+0A1F;GURMUKHI LETTER TTA;Lo;0;L;;;;;N;;;;;
+0A20;GURMUKHI LETTER TTHA;Lo;0;L;;;;;N;;;;;
+0A21;GURMUKHI LETTER DDA;Lo;0;L;;;;;N;;;;;
+0A22;GURMUKHI LETTER DDHA;Lo;0;L;;;;;N;;;;;
+0A23;GURMUKHI LETTER NNA;Lo;0;L;;;;;N;;;;;
+0A24;GURMUKHI LETTER TA;Lo;0;L;;;;;N;;;;;
+0A25;GURMUKHI LETTER THA;Lo;0;L;;;;;N;;;;;
+0A26;GURMUKHI LETTER DA;Lo;0;L;;;;;N;;;;;
+0A27;GURMUKHI LETTER DHA;Lo;0;L;;;;;N;;;;;
+0A28;GURMUKHI LETTER NA;Lo;0;L;;;;;N;;;;;
+0A2A;GURMUKHI LETTER PA;Lo;0;L;;;;;N;;;;;
+0A2B;GURMUKHI LETTER PHA;Lo;0;L;;;;;N;;;;;
+0A2C;GURMUKHI LETTER BA;Lo;0;L;;;;;N;;;;;
+0A2D;GURMUKHI LETTER BHA;Lo;0;L;;;;;N;;;;;
+0A2E;GURMUKHI LETTER MA;Lo;0;L;;;;;N;;;;;
+0A2F;GURMUKHI LETTER YA;Lo;0;L;;;;;N;;;;;
+0A30;GURMUKHI LETTER RA;Lo;0;L;;;;;N;;;;;
+0A32;GURMUKHI LETTER LA;Lo;0;L;;;;;N;;;;;
+0A33;GURMUKHI LETTER LLA;Lo;0;L;;;;;N;;;;;
+0A35;GURMUKHI LETTER VA;Lo;0;L;;;;;N;;;;;
+0A36;GURMUKHI LETTER SHA;Lo;0;L;;;;;N;;;;;
+0A38;GURMUKHI LETTER SA;Lo;0;L;;;;;N;;;;;
+0A39;GURMUKHI LETTER HA;Lo;0;L;;;;;N;;;;;
+0A3C;GURMUKHI SIGN NUKTA;Mn;7;L;;;;;N;;;;;
+0A3E;GURMUKHI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+0A3F;GURMUKHI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+0A40;GURMUKHI VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+0A41;GURMUKHI VOWEL SIGN U;Mn;58;L;;;;;N;;;;;
+0A42;GURMUKHI VOWEL SIGN UU;Mn;59;L;;;;;N;;;;;
+0A47;GURMUKHI VOWEL SIGN EE;Mn;60;L;;;;;N;;;;;
+0A48;GURMUKHI VOWEL SIGN AI;Mn;61;L;;;;;N;;;;;
+0A4B;GURMUKHI VOWEL SIGN OO;Mn;62;L;;;;;N;;;;;
+0A4C;GURMUKHI VOWEL SIGN AU;Mn;63;L;;;;;N;;;;;
+0A4D;GURMUKHI SIGN VIRAMA;Mn;9;L;;;;;N;;;;;
+0A59;GURMUKHI LETTER KHHA;Lo;0;L;0A16 0A3C;;;;N;;;;;
+0A5A;GURMUKHI LETTER GHHA;Lo;0;L;0A17 0A3C;;;;N;;;;;
+0A5B;GURMUKHI LETTER ZA;Lo;0;L;0A1C 0A3C;;;;N;;;;;
+0A5C;GURMUKHI LETTER RRA;Lo;0;L;0A21 0A3C;;;;N;;;;;
+0A5E;GURMUKHI LETTER FA;Lo;0;L;0A2B 0A3C;;;;N;;;;;
+0A66;GURMUKHI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+0A67;GURMUKHI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+0A68;GURMUKHI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+0A69;GURMUKHI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+0A6A;GURMUKHI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+0A6B;GURMUKHI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+0A6C;GURMUKHI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+0A6D;GURMUKHI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+0A6E;GURMUKHI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+0A6F;GURMUKHI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+0A70;GURMUKHI TIPPI;Mn;64;L;;;;;N;;;;;
+0A71;GURMUKHI ADDAK;Mn;65;L;;;;;N;;;;;
+0A72;GURMUKHI IRI;Lo;0;L;;;;;N;;;;;
+0A73;GURMUKHI URA;Lo;0;L;;;;;N;;;;;
+0A74;GURMUKHI EK ONKAR;Lo;0;L;;;;;N;;;;;
+0A81;GUJARATI SIGN CANDRABINDU;Mn;67;L;;;;;N;;;;;
+0A82;GUJARATI SIGN ANUSVARA;Mn;66;L;;;;;N;;;;;
+0A83;GUJARATI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+0A85;GUJARATI LETTER A;Lo;0;L;;;;;N;;;;;
+0A86;GUJARATI LETTER AA;Lo;0;L;;;;;N;;;;;
+0A87;GUJARATI LETTER I;Lo;0;L;;;;;N;;;;;
+0A88;GUJARATI LETTER II;Lo;0;L;;;;;N;;;;;
+0A89;GUJARATI LETTER U;Lo;0;L;;;;;N;;;;;
+0A8A;GUJARATI LETTER UU;Lo;0;L;;;;;N;;;;;
+0A8B;GUJARATI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+0A8D;GUJARATI VOWEL CANDRA E;Lo;0;L;;;;;N;;;;;
+0A8F;GUJARATI LETTER E;Lo;0;L;;;;;N;;;;;
+0A90;GUJARATI LETTER AI;Lo;0;L;;;;;N;;;;;
+0A91;GUJARATI VOWEL CANDRA O;Lo;0;L;;;;;N;;;;;
+0A93;GUJARATI LETTER O;Lo;0;L;;;;;N;;;;;
+0A94;GUJARATI LETTER AU;Lo;0;L;;;;;N;;;;;
+0A95;GUJARATI LETTER KA;Lo;0;L;;;;;N;;;;;
+0A96;GUJARATI LETTER KHA;Lo;0;L;;;;;N;;;;;
+0A97;GUJARATI LETTER GA;Lo;0;L;;;;;N;;;;;
+0A98;GUJARATI LETTER GHA;Lo;0;L;;;;;N;;;;;
+0A99;GUJARATI LETTER NGA;Lo;0;L;;;;;N;;;;;
+0A9A;GUJARATI LETTER CA;Lo;0;L;;;;;N;;;;;
+0A9B;GUJARATI LETTER CHA;Lo;0;L;;;;;N;;;;;
+0A9C;GUJARATI LETTER JA;Lo;0;L;;;;;N;;;;;
+0A9D;GUJARATI LETTER JHA;Lo;0;L;;;;;N;;;;;
+0A9E;GUJARATI LETTER NYA;Lo;0;L;;;;;N;;;;;
+0A9F;GUJARATI LETTER TTA;Lo;0;L;;;;;N;;;;;
+0AA0;GUJARATI LETTER TTHA;Lo;0;L;;;;;N;;;;;
+0AA1;GUJARATI LETTER DDA;Lo;0;L;;;;;N;;;;;
+0AA2;GUJARATI LETTER DDHA;Lo;0;L;;;;;N;;;;;
+0AA3;GUJARATI LETTER NNA;Lo;0;L;;;;;N;;;;;
+0AA4;GUJARATI LETTER TA;Lo;0;L;;;;;N;;;;;
+0AA5;GUJARATI LETTER THA;Lo;0;L;;;;;N;;;;;
+0AA6;GUJARATI LETTER DA;Lo;0;L;;;;;N;;;;;
+0AA7;GUJARATI LETTER DHA;Lo;0;L;;;;;N;;;;;
+0AA8;GUJARATI LETTER NA;Lo;0;L;;;;;N;;;;;
+0AAA;GUJARATI LETTER PA;Lo;0;L;;;;;N;;;;;
+0AAB;GUJARATI LETTER PHA;Lo;0;L;;;;;N;;;;;
+0AAC;GUJARATI LETTER BA;Lo;0;L;;;;;N;;;;;
+0AAD;GUJARATI LETTER BHA;Lo;0;L;;;;;N;;;;;
+0AAE;GUJARATI LETTER MA;Lo;0;L;;;;;N;;;;;
+0AAF;GUJARATI LETTER YA;Lo;0;L;;;;;N;;;;;
+0AB0;GUJARATI LETTER RA;Lo;0;L;;;;;N;;;;;
+0AB2;GUJARATI LETTER LA;Lo;0;L;;;;;N;;;;;
+0AB3;GUJARATI LETTER LLA;Lo;0;L;;;;;N;;;;;
+0AB5;GUJARATI LETTER VA;Lo;0;L;;;;;N;;;;;
+0AB6;GUJARATI LETTER SHA;Lo;0;L;;;;;N;;;;;
+0AB7;GUJARATI LETTER SSA;Lo;0;L;;;;;N;;;;;
+0AB8;GUJARATI LETTER SA;Lo;0;L;;;;;N;;;;;
+0AB9;GUJARATI LETTER HA;Lo;0;L;;;;;N;;;;;
+0ABC;GUJARATI SIGN NUKTA;Mn;7;L;;;;;N;;;;;
+0ABD;GUJARATI SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
+0ABE;GUJARATI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+0ABF;GUJARATI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+0AC0;GUJARATI VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+0AC1;GUJARATI VOWEL SIGN U;Mn;68;L;;;;;N;;;;;
+0AC2;GUJARATI VOWEL SIGN UU;Mn;69;L;;;;;N;;;;;
+0AC3;GUJARATI VOWEL SIGN VOCALIC R;Mn;70;L;;;;;N;;;;;
+0AC4;GUJARATI VOWEL SIGN VOCALIC RR;Mn;71;L;;;;;N;;;;;
+0AC5;GUJARATI VOWEL SIGN CANDRA E;Mn;72;L;;;;;N;;;;;
+0AC7;GUJARATI VOWEL SIGN E;Mn;73;L;;;;;N;;;;;
+0AC8;GUJARATI VOWEL SIGN AI;Mn;74;L;;;;;N;;;;;
+0AC9;GUJARATI VOWEL SIGN CANDRA O;Mc;0;L;;;;;N;;;;;
+0ACB;GUJARATI VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
+0ACC;GUJARATI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
+0ACD;GUJARATI SIGN VIRAMA;Mn;9;L;;;;;N;;;;;
+0AD0;GUJARATI OM;So;0;L;;;;;N;;;;;
+0AE0;GUJARATI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+0AE6;GUJARATI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+0AE7;GUJARATI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+0AE8;GUJARATI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+0AE9;GUJARATI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+0AEA;GUJARATI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+0AEB;GUJARATI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+0AEC;GUJARATI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+0AED;GUJARATI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+0AEE;GUJARATI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+0AEF;GUJARATI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+0B01;ORIYA SIGN CANDRABINDU;Mn;75;L;;;;;N;;;;;
+0B02;ORIYA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
+0B03;ORIYA SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+0B05;ORIYA LETTER A;Lo;0;L;;;;;N;;;;;
+0B06;ORIYA LETTER AA;Lo;0;L;;;;;N;;;;;
+0B07;ORIYA LETTER I;Lo;0;L;;;;;N;;;;;
+0B08;ORIYA LETTER II;Lo;0;L;;;;;N;;;;;
+0B09;ORIYA LETTER U;Lo;0;L;;;;;N;;;;;
+0B0A;ORIYA LETTER UU;Lo;0;L;;;;;N;;;;;
+0B0B;ORIYA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+0B0C;ORIYA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+0B0F;ORIYA LETTER E;Lo;0;L;;;;;N;;;;;
+0B10;ORIYA LETTER AI;Lo;0;L;;;;;N;;;;;
+0B13;ORIYA LETTER O;Lo;0;L;;;;;N;;;;;
+0B14;ORIYA LETTER AU;Lo;0;L;;;;;N;;;;;
+0B15;ORIYA LETTER KA;Lo;0;L;;;;;N;;;;;
+0B16;ORIYA LETTER KHA;Lo;0;L;;;;;N;;;;;
+0B17;ORIYA LETTER GA;Lo;0;L;;;;;N;;;;;
+0B18;ORIYA LETTER GHA;Lo;0;L;;;;;N;;;;;
+0B19;ORIYA LETTER NGA;Lo;0;L;;;;;N;;;;;
+0B1A;ORIYA LETTER CA;Lo;0;L;;;;;N;;;;;
+0B1B;ORIYA LETTER CHA;Lo;0;L;;;;;N;;;;;
+0B1C;ORIYA LETTER JA;Lo;0;L;;;;;N;;;;;
+0B1D;ORIYA LETTER JHA;Lo;0;L;;;;;N;;;;;
+0B1E;ORIYA LETTER NYA;Lo;0;L;;;;;N;;;;;
+0B1F;ORIYA LETTER TTA;Lo;0;L;;;;;N;;;;;
+0B20;ORIYA LETTER TTHA;Lo;0;L;;;;;N;;;;;
+0B21;ORIYA LETTER DDA;Lo;0;L;;;;;N;;;;;
+0B22;ORIYA LETTER DDHA;Lo;0;L;;;;;N;;;;;
+0B23;ORIYA LETTER NNA;Lo;0;L;;;;;N;;;;;
+0B24;ORIYA LETTER TA;Lo;0;L;;;;;N;;;;;
+0B25;ORIYA LETTER THA;Lo;0;L;;;;;N;;;;;
+0B26;ORIYA LETTER DA;Lo;0;L;;;;;N;;;;;
+0B27;ORIYA LETTER DHA;Lo;0;L;;;;;N;;;;;
+0B28;ORIYA LETTER NA;Lo;0;L;;;;;N;;;;;
+0B2A;ORIYA LETTER PA;Lo;0;L;;;;;N;;;;;
+0B2B;ORIYA LETTER PHA;Lo;0;L;;;;;N;;;;;
+0B2C;ORIYA LETTER BA;Lo;0;L;;;;;N;;;;;
+0B2D;ORIYA LETTER BHA;Lo;0;L;;;;;N;;;;;
+0B2E;ORIYA LETTER MA;Lo;0;L;;;;;N;;;;;
+0B2F;ORIYA LETTER YA;Lo;0;L;;;;;N;;;;;
+0B30;ORIYA LETTER RA;Lo;0;L;;;;;N;;;;;
+0B32;ORIYA LETTER LA;Lo;0;L;;;;;N;;;;;
+0B33;ORIYA LETTER LLA;Lo;0;L;;;;;N;;;;;
+0B36;ORIYA LETTER SHA;Lo;0;L;;;;;N;;;;;
+0B37;ORIYA LETTER SSA;Lo;0;L;;;;;N;;;;;
+0B38;ORIYA LETTER SA;Lo;0;L;;;;;N;;;;;
+0B39;ORIYA LETTER HA;Lo;0;L;;;;;N;;;;;
+0B3C;ORIYA SIGN NUKTA;Mn;7;L;;;;;N;;;;;
+0B3D;ORIYA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
+0B3E;ORIYA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+0B3F;ORIYA VOWEL SIGN I;Mn;76;L;;;;;N;;;;;
+0B40;ORIYA VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+0B41;ORIYA VOWEL SIGN U;Mn;77;L;;;;;N;;;;;
+0B42;ORIYA VOWEL SIGN UU;Mn;78;L;;;;;N;;;;;
+0B43;ORIYA VOWEL SIGN VOCALIC R;Mn;79;L;;;;;N;;;;;
+0B47;ORIYA VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+0B48;ORIYA VOWEL SIGN AI;Mc;0;L;0B47 0B56;;;;N;;;;;
+0B4B;ORIYA VOWEL SIGN O;Mc;0;L;0B47 0B3E;;;;N;;;;;
+0B4C;ORIYA VOWEL SIGN AU;Mc;0;L;0B47 0B57;;;;N;;;;;
+0B4D;ORIYA SIGN VIRAMA;Mn;9;L;;;;;N;;;;;
+0B56;ORIYA AI LENGTH MARK;Mn;230;L;;;;;N;;;;;
+0B57;ORIYA AU LENGTH MARK;Mc;0;L;;;;;N;;;;;
+0B5C;ORIYA LETTER RRA;Lo;0;L;0B21 0B3C;;;;N;;;;;
+0B5D;ORIYA LETTER RHA;Lo;0;L;0B22 0B3C;;;;N;;;;;
+0B5F;ORIYA LETTER YYA;Lo;0;L;0B2F 0B3C;;;;N;;;;;
+0B60;ORIYA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+0B61;ORIYA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+0B66;ORIYA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+0B67;ORIYA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+0B68;ORIYA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+0B69;ORIYA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+0B6A;ORIYA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+0B6B;ORIYA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+0B6C;ORIYA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+0B6D;ORIYA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+0B6E;ORIYA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+0B6F;ORIYA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+0B70;ORIYA ISSHAR;So;0;L;;;;;N;;;;;
+0B82;TAMIL SIGN ANUSVARA;Mn;0;L;;;;;N;;;;;
+0B83;TAMIL SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+0B85;TAMIL LETTER A;Lo;0;L;;;;;N;;;;;
+0B86;TAMIL LETTER AA;Lo;0;L;;;;;N;;;;;
+0B87;TAMIL LETTER I;Lo;0;L;;;;;N;;;;;
+0B88;TAMIL LETTER II;Lo;0;L;;;;;N;;;;;
+0B89;TAMIL LETTER U;Lo;0;L;;;;;N;;;;;
+0B8A;TAMIL LETTER UU;Lo;0;L;;;;;N;;;;;
+0B8E;TAMIL LETTER E;Lo;0;L;;;;;N;;;;;
+0B8F;TAMIL LETTER EE;Lo;0;L;;;;;N;;;;;
+0B90;TAMIL LETTER AI;Lo;0;L;;;;;N;;;;;
+0B92;TAMIL LETTER O;Lo;0;L;;;;;N;;;;;
+0B93;TAMIL LETTER OO;Lo;0;L;;;;;N;;;;;
+0B94;TAMIL LETTER AU;Lo;0;L;0B92 0BD7;;;;N;;;;;
+0B95;TAMIL LETTER KA;Lo;0;L;;;;;N;;;;;
+0B99;TAMIL LETTER NGA;Lo;0;L;;;;;N;;;;;
+0B9A;TAMIL LETTER CA;Lo;0;L;;;;;N;;;;;
+0B9C;TAMIL LETTER JA;Lo;0;L;;;;;N;;;;;
+0B9E;TAMIL LETTER NYA;Lo;0;L;;;;;N;;;;;
+0B9F;TAMIL LETTER TTA;Lo;0;L;;;;;N;;;;;
+0BA3;TAMIL LETTER NNA;Lo;0;L;;;;;N;;;;;
+0BA4;TAMIL LETTER TA;Lo;0;L;;;;;N;;;;;
+0BA8;TAMIL LETTER NA;Lo;0;L;;;;;N;;;;;
+0BA9;TAMIL LETTER NNNA;Lo;0;L;;;;;N;;;;;
+0BAA;TAMIL LETTER PA;Lo;0;L;;;;;N;;;;;
+0BAE;TAMIL LETTER MA;Lo;0;L;;;;;N;;;;;
+0BAF;TAMIL LETTER YA;Lo;0;L;;;;;N;;;;;
+0BB0;TAMIL LETTER RA;Lo;0;L;;;;;N;;;;;
+0BB1;TAMIL LETTER RRA;Lo;0;L;;;;;N;;;;;
+0BB2;TAMIL LETTER LA;Lo;0;L;;;;;N;;;;;
+0BB3;TAMIL LETTER LLA;Lo;0;L;;;;;N;;;;;
+0BB4;TAMIL LETTER LLLA;Lo;0;L;;;;;N;;;;;
+0BB5;TAMIL LETTER VA;Lo;0;L;;;;;N;;;;;
+0BB7;TAMIL LETTER SSA;Lo;0;L;;;;;N;;;;;
+0BB8;TAMIL LETTER SA;Lo;0;L;;;;;N;;;;;
+0BB9;TAMIL LETTER HA;Lo;0;L;;;;;N;;;;;
+0BBE;TAMIL VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+0BBF;TAMIL VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+0BC0;TAMIL VOWEL SIGN II;Mn;80;L;;;;;N;;;;;
+0BC1;TAMIL VOWEL SIGN U;Mc;0;L;;;;;N;;;;;
+0BC2;TAMIL VOWEL SIGN UU;Mc;0;L;;;;;N;;;;;
+0BC6;TAMIL VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+0BC7;TAMIL VOWEL SIGN EE;Mc;0;L;;;;;N;;;;;
+0BC8;TAMIL VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
+0BCA;TAMIL VOWEL SIGN O;Mc;0;L;0BC6 0BBE;;;;N;;;;;
+0BCB;TAMIL VOWEL SIGN OO;Mc;0;L;0BC7 0BBE;;;;N;;;;;
+0BCC;TAMIL VOWEL SIGN AU;Mc;0;L;0BC6 0BD7;;;;N;;;;;
+0BCD;TAMIL SIGN VIRAMA;Mn;9;L;;;;;N;;;;;
+0BD7;TAMIL AU LENGTH MARK;Mc;0;L;;;;;N;;;;;
+0BE7;TAMIL DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+0BE8;TAMIL DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+0BE9;TAMIL DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+0BEA;TAMIL DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+0BEB;TAMIL DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+0BEC;TAMIL DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+0BED;TAMIL DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+0BEE;TAMIL DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+0BEF;TAMIL DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+0BF0;TAMIL NUMBER TEN;No;0;L;;;;10;N;;;;;
+0BF1;TAMIL NUMBER ONE HUNDRED;No;0;L;;;;100;N;;;;;
+0BF2;TAMIL NUMBER ONE THOUSAND;No;0;L;;;;1000;N;;;;;
+0C01;TELUGU SIGN CANDRABINDU;Mc;0;L;;;;;N;;;;;
+0C02;TELUGU SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
+0C03;TELUGU SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+0C05;TELUGU LETTER A;Lo;0;L;;;;;N;;;;;
+0C06;TELUGU LETTER AA;Lo;0;L;;;;;N;;;;;
+0C07;TELUGU LETTER I;Lo;0;L;;;;;N;;;;;
+0C08;TELUGU LETTER II;Lo;0;L;;;;;N;;;;;
+0C09;TELUGU LETTER U;Lo;0;L;;;;;N;;;;;
+0C0A;TELUGU LETTER UU;Lo;0;L;;;;;N;;;;;
+0C0B;TELUGU LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+0C0C;TELUGU LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+0C0E;TELUGU LETTER E;Lo;0;L;;;;;N;;;;;
+0C0F;TELUGU LETTER EE;Lo;0;L;;;;;N;;;;;
+0C10;TELUGU LETTER AI;Lo;0;L;;;;;N;;;;;
+0C12;TELUGU LETTER O;Lo;0;L;;;;;N;;;;;
+0C13;TELUGU LETTER OO;Lo;0;L;;;;;N;;;;;
+0C14;TELUGU LETTER AU;Lo;0;L;;;;;N;;;;;
+0C15;TELUGU LETTER KA;Lo;0;L;;;;;N;;;;;
+0C16;TELUGU LETTER KHA;Lo;0;L;;;;;N;;;;;
+0C17;TELUGU LETTER GA;Lo;0;L;;;;;N;;;;;
+0C18;TELUGU LETTER GHA;Lo;0;L;;;;;N;;;;;
+0C19;TELUGU LETTER NGA;Lo;0;L;;;;;N;;;;;
+0C1A;TELUGU LETTER CA;Lo;0;L;;;;;N;;;;;
+0C1B;TELUGU LETTER CHA;Lo;0;L;;;;;N;;;;;
+0C1C;TELUGU LETTER JA;Lo;0;L;;;;;N;;;;;
+0C1D;TELUGU LETTER JHA;Lo;0;L;;;;;N;;;;;
+0C1E;TELUGU LETTER NYA;Lo;0;L;;;;;N;;;;;
+0C1F;TELUGU LETTER TTA;Lo;0;L;;;;;N;;;;;
+0C20;TELUGU LETTER TTHA;Lo;0;L;;;;;N;;;;;
+0C21;TELUGU LETTER DDA;Lo;0;L;;;;;N;;;;;
+0C22;TELUGU LETTER DDHA;Lo;0;L;;;;;N;;;;;
+0C23;TELUGU LETTER NNA;Lo;0;L;;;;;N;;;;;
+0C24;TELUGU LETTER TA;Lo;0;L;;;;;N;;;;;
+0C25;TELUGU LETTER THA;Lo;0;L;;;;;N;;;;;
+0C26;TELUGU LETTER DA;Lo;0;L;;;;;N;;;;;
+0C27;TELUGU LETTER DHA;Lo;0;L;;;;;N;;;;;
+0C28;TELUGU LETTER NA;Lo;0;L;;;;;N;;;;;
+0C2A;TELUGU LETTER PA;Lo;0;L;;;;;N;;;;;
+0C2B;TELUGU LETTER PHA;Lo;0;L;;;;;N;;;;;
+0C2C;TELUGU LETTER BA;Lo;0;L;;;;;N;;;;;
+0C2D;TELUGU LETTER BHA;Lo;0;L;;;;;N;;;;;
+0C2E;TELUGU LETTER MA;Lo;0;L;;;;;N;;;;;
+0C2F;TELUGU LETTER YA;Lo;0;L;;;;;N;;;;;
+0C30;TELUGU LETTER RA;Lo;0;L;;;;;N;;;;;
+0C31;TELUGU LETTER RRA;Lo;0;L;;;;;N;;;;;
+0C32;TELUGU LETTER LA;Lo;0;L;;;;;N;;;;;
+0C33;TELUGU LETTER LLA;Lo;0;L;;;;;N;;;;;
+0C35;TELUGU LETTER VA;Lo;0;L;;;;;N;;;;;
+0C36;TELUGU LETTER SHA;Lo;0;L;;;;;N;;;;;
+0C37;TELUGU LETTER SSA;Lo;0;L;;;;;N;;;;;
+0C38;TELUGU LETTER SA;Lo;0;L;;;;;N;;;;;
+0C39;TELUGU LETTER HA;Lo;0;L;;;;;N;;;;;
+0C3E;TELUGU VOWEL SIGN AA;Mn;81;L;;;;;N;;;;;
+0C3F;TELUGU VOWEL SIGN I;Mn;82;L;;;;;N;;;;;
+0C40;TELUGU VOWEL SIGN II;Mn;83;L;;;;;N;;;;;
+0C41;TELUGU VOWEL SIGN U;Mc;0;L;;;;;N;;;;;
+0C42;TELUGU VOWEL SIGN UU;Mc;0;L;;;;;N;;;;;
+0C43;TELUGU VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;;
+0C44;TELUGU VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;;
+0C46;TELUGU VOWEL SIGN E;Mn;84;L;;;;;N;;;;;
+0C47;TELUGU VOWEL SIGN EE;Mn;85;L;;;;;N;;;;;
+0C48;TELUGU VOWEL SIGN AI;Mn;86;L;0C46 0C56;;;;N;;;;;
+0C4A;TELUGU VOWEL SIGN O;Mn;87;L;;;;;N;;;;;
+0C4B;TELUGU VOWEL SIGN OO;Mn;88;L;;;;;N;;;;;
+0C4C;TELUGU VOWEL SIGN AU;Mn;89;L;;;;;N;;;;;
+0C4D;TELUGU SIGN VIRAMA;Mn;9;L;;;;;N;;;;;
+0C55;TELUGU LENGTH MARK;Mn;90;L;;;;;N;;;;;
+0C56;TELUGU AI LENGTH MARK;Mn;91;L;;;;;N;;;;;
+0C60;TELUGU LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+0C61;TELUGU LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+0C66;TELUGU DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+0C67;TELUGU DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+0C68;TELUGU DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+0C69;TELUGU DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+0C6A;TELUGU DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+0C6B;TELUGU DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+0C6C;TELUGU DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+0C6D;TELUGU DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+0C6E;TELUGU DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+0C6F;TELUGU DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+0C82;KANNADA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
+0C83;KANNADA SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+0C85;KANNADA LETTER A;Lo;0;L;;;;;N;;;;;
+0C86;KANNADA LETTER AA;Lo;0;L;;;;;N;;;;;
+0C87;KANNADA LETTER I;Lo;0;L;;;;;N;;;;;
+0C88;KANNADA LETTER II;Lo;0;L;;;;;N;;;;;
+0C89;KANNADA LETTER U;Lo;0;L;;;;;N;;;;;
+0C8A;KANNADA LETTER UU;Lo;0;L;;;;;N;;;;;
+0C8B;KANNADA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+0C8C;KANNADA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+0C8E;KANNADA LETTER E;Lo;0;L;;;;;N;;;;;
+0C8F;KANNADA LETTER EE;Lo;0;L;;;;;N;;;;;
+0C90;KANNADA LETTER AI;Lo;0;L;;;;;N;;;;;
+0C92;KANNADA LETTER O;Lo;0;L;;;;;N;;;;;
+0C93;KANNADA LETTER OO;Lo;0;L;;;;;N;;;;;
+0C94;KANNADA LETTER AU;Lo;0;L;;;;;N;;;;;
+0C95;KANNADA LETTER KA;Lo;0;L;;;;;N;;;;;
+0C96;KANNADA LETTER KHA;Lo;0;L;;;;;N;;;;;
+0C97;KANNADA LETTER GA;Lo;0;L;;;;;N;;;;;
+0C98;KANNADA LETTER GHA;Lo;0;L;;;;;N;;;;;
+0C99;KANNADA LETTER NGA;Lo;0;L;;;;;N;;;;;
+0C9A;KANNADA LETTER CA;Lo;0;L;;;;;N;;;;;
+0C9B;KANNADA LETTER CHA;Lo;0;L;;;;;N;;;;;
+0C9C;KANNADA LETTER JA;Lo;0;L;;;;;N;;;;;
+0C9D;KANNADA LETTER JHA;Lo;0;L;;;;;N;;;;;
+0C9E;KANNADA LETTER NYA;Lo;0;L;;;;;N;;;;;
+0C9F;KANNADA LETTER TTA;Lo;0;L;;;;;N;;;;;
+0CA0;KANNADA LETTER TTHA;Lo;0;L;;;;;N;;;;;
+0CA1;KANNADA LETTER DDA;Lo;0;L;;;;;N;;;;;
+0CA2;KANNADA LETTER DDHA;Lo;0;L;;;;;N;;;;;
+0CA3;KANNADA LETTER NNA;Lo;0;L;;;;;N;;;;;
+0CA4;KANNADA LETTER TA;Lo;0;L;;;;;N;;;;;
+0CA5;KANNADA LETTER THA;Lo;0;L;;;;;N;;;;;
+0CA6;KANNADA LETTER DA;Lo;0;L;;;;;N;;;;;
+0CA7;KANNADA LETTER DHA;Lo;0;L;;;;;N;;;;;
+0CA8;KANNADA LETTER NA;Lo;0;L;;;;;N;;;;;
+0CAA;KANNADA LETTER PA;Lo;0;L;;;;;N;;;;;
+0CAB;KANNADA LETTER PHA;Lo;0;L;;;;;N;;;;;
+0CAC;KANNADA LETTER BA;Lo;0;L;;;;;N;;;;;
+0CAD;KANNADA LETTER BHA;Lo;0;L;;;;;N;;;;;
+0CAE;KANNADA LETTER MA;Lo;0;L;;;;;N;;;;;
+0CAF;KANNADA LETTER YA;Lo;0;L;;;;;N;;;;;
+0CB0;KANNADA LETTER RA;Lo;0;L;;;;;N;;;;;
+0CB1;KANNADA LETTER RRA;Lo;0;L;;;;;N;;;;;
+0CB2;KANNADA LETTER LA;Lo;0;L;;;;;N;;;;;
+0CB3;KANNADA LETTER LLA;Lo;0;L;;;;;N;;;;;
+0CB5;KANNADA LETTER VA;Lo;0;L;;;;;N;;;;;
+0CB6;KANNADA LETTER SHA;Lo;0;L;;;;;N;;;;;
+0CB7;KANNADA LETTER SSA;Lo;0;L;;;;;N;;;;;
+0CB8;KANNADA LETTER SA;Lo;0;L;;;;;N;;;;;
+0CB9;KANNADA LETTER HA;Lo;0;L;;;;;N;;;;;
+0CBE;KANNADA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+0CBF;KANNADA VOWEL SIGN I;Mn;92;L;;;;;N;;;;;
+0CC0;KANNADA VOWEL SIGN II;Mc;0;L;0CBF 0CD5;;;;N;;;;;
+0CC1;KANNADA VOWEL SIGN U;Mc;0;L;;;;;N;;;;;
+0CC2;KANNADA VOWEL SIGN UU;Mc;0;L;;;;;N;;;;;
+0CC3;KANNADA VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;;
+0CC4;KANNADA VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;;
+0CC6;KANNADA VOWEL SIGN E;Mn;93;L;;;;;N;;;;;
+0CC7;KANNADA VOWEL SIGN EE;Mc;0;L;0CC6 0CD5;;;;N;;;;;
+0CC8;KANNADA VOWEL SIGN AI;Mc;0;L;0CC6 0CD6;;;;N;;;;;
+0CCA;KANNADA VOWEL SIGN O;Mc;0;L;0CC6 0CC2;;;;N;;;;;
+0CCB;KANNADA VOWEL SIGN OO;Mc;0;L;0CC6 0CC2 0CD5;;;;N;;;;;
+0CCC;KANNADA VOWEL SIGN AU;Mn;94;L;;;;;N;;;;;
+0CCD;KANNADA SIGN VIRAMA;Mn;9;L;;;;;N;;;;;
+0CD5;KANNADA LENGTH MARK;Mc;0;L;;;;;N;;;;;
+0CD6;KANNADA AI LENGTH MARK;Mc;0;L;;;;;N;;;;;
+0CDE;KANNADA LETTER FA;Lo;0;L;;;;;N;;;;;
+0CE0;KANNADA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+0CE1;KANNADA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+0CE6;KANNADA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+0CE7;KANNADA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+0CE8;KANNADA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+0CE9;KANNADA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+0CEA;KANNADA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+0CEB;KANNADA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+0CEC;KANNADA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+0CED;KANNADA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+0CEE;KANNADA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+0CEF;KANNADA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+0D02;MALAYALAM SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
+0D03;MALAYALAM SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+0D05;MALAYALAM LETTER A;Lo;0;L;;;;;N;;;;;
+0D06;MALAYALAM LETTER AA;Lo;0;L;;;;;N;;;;;
+0D07;MALAYALAM LETTER I;Lo;0;L;;;;;N;;;;;
+0D08;MALAYALAM LETTER II;Lo;0;L;;;;;N;;;;;
+0D09;MALAYALAM LETTER U;Lo;0;L;;;;;N;;;;;
+0D0A;MALAYALAM LETTER UU;Lo;0;L;;;;;N;;;;;
+0D0B;MALAYALAM LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+0D0C;MALAYALAM LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+0D0E;MALAYALAM LETTER E;Lo;0;L;;;;;N;;;;;
+0D0F;MALAYALAM LETTER EE;Lo;0;L;;;;;N;;;;;
+0D10;MALAYALAM LETTER AI;Lo;0;L;;;;;N;;;;;
+0D12;MALAYALAM LETTER O;Lo;0;L;;;;;N;;;;;
+0D13;MALAYALAM LETTER OO;Lo;0;L;;;;;N;;;;;
+0D14;MALAYALAM LETTER AU;Lo;0;L;;;;;N;;;;;
+0D15;MALAYALAM LETTER KA;Lo;0;L;;;;;N;;;;;
+0D16;MALAYALAM LETTER KHA;Lo;0;L;;;;;N;;;;;
+0D17;MALAYALAM LETTER GA;Lo;0;L;;;;;N;;;;;
+0D18;MALAYALAM LETTER GHA;Lo;0;L;;;;;N;;;;;
+0D19;MALAYALAM LETTER NGA;Lo;0;L;;;;;N;;;;;
+0D1A;MALAYALAM LETTER CA;Lo;0;L;;;;;N;;;;;
+0D1B;MALAYALAM LETTER CHA;Lo;0;L;;;;;N;;;;;
+0D1C;MALAYALAM LETTER JA;Lo;0;L;;;;;N;;;;;
+0D1D;MALAYALAM LETTER JHA;Lo;0;L;;;;;N;;;;;
+0D1E;MALAYALAM LETTER NYA;Lo;0;L;;;;;N;;;;;
+0D1F;MALAYALAM LETTER TTA;Lo;0;L;;;;;N;;;;;
+0D20;MALAYALAM LETTER TTHA;Lo;0;L;;;;;N;;;;;
+0D21;MALAYALAM LETTER DDA;Lo;0;L;;;;;N;;;;;
+0D22;MALAYALAM LETTER DDHA;Lo;0;L;;;;;N;;;;;
+0D23;MALAYALAM LETTER NNA;Lo;0;L;;;;;N;;;;;
+0D24;MALAYALAM LETTER TA;Lo;0;L;;;;;N;;;;;
+0D25;MALAYALAM LETTER THA;Lo;0;L;;;;;N;;;;;
+0D26;MALAYALAM LETTER DA;Lo;0;L;;;;;N;;;;;
+0D27;MALAYALAM LETTER DHA;Lo;0;L;;;;;N;;;;;
+0D28;MALAYALAM LETTER NA;Lo;0;L;;;;;N;;;;;
+0D2A;MALAYALAM LETTER PA;Lo;0;L;;;;;N;;;;;
+0D2B;MALAYALAM LETTER PHA;Lo;0;L;;;;;N;;;;;
+0D2C;MALAYALAM LETTER BA;Lo;0;L;;;;;N;;;;;
+0D2D;MALAYALAM LETTER BHA;Lo;0;L;;;;;N;;;;;
+0D2E;MALAYALAM LETTER MA;Lo;0;L;;;;;N;;;;;
+0D2F;MALAYALAM LETTER YA;Lo;0;L;;;;;N;;;;;
+0D30;MALAYALAM LETTER RA;Lo;0;L;;;;;N;;;;;
+0D31;MALAYALAM LETTER RRA;Lo;0;L;;;;;N;;;;;
+0D32;MALAYALAM LETTER LA;Lo;0;L;;;;;N;;;;;
+0D33;MALAYALAM LETTER LLA;Lo;0;L;;;;;N;;;;;
+0D34;MALAYALAM LETTER LLLA;Lo;0;L;;;;;N;;;;;
+0D35;MALAYALAM LETTER VA;Lo;0;L;;;;;N;;;;;
+0D36;MALAYALAM LETTER SHA;Lo;0;L;;;;;N;;;;;
+0D37;MALAYALAM LETTER SSA;Lo;0;L;;;;;N;;;;;
+0D38;MALAYALAM LETTER SA;Lo;0;L;;;;;N;;;;;
+0D39;MALAYALAM LETTER HA;Lo;0;L;;;;;N;;;;;
+0D3E;MALAYALAM VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+0D3F;MALAYALAM VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+0D40;MALAYALAM VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+0D41;MALAYALAM VOWEL SIGN U;Mn;95;L;;;;;N;;;;;
+0D42;MALAYALAM VOWEL SIGN UU;Mn;96;L;;;;;N;;;;;
+0D43;MALAYALAM VOWEL SIGN VOCALIC R;Mn;97;L;;;;;N;;;;;
+0D46;MALAYALAM VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+0D47;MALAYALAM VOWEL SIGN EE;Mc;0;L;;;;;N;;;;;
+0D48;MALAYALAM VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
+0D4A;MALAYALAM VOWEL SIGN O;Mc;0;L;0D46 0D3E;;;;N;;;;;
+0D4B;MALAYALAM VOWEL SIGN OO;Mc;0;L;0D47 0D3E;;;;N;;;;;
+0D4C;MALAYALAM VOWEL SIGN AU;Mc;0;L;0D46 0D57;;;;N;;;;;
+0D4D;MALAYALAM SIGN VIRAMA;Mn;9;L;;;;;N;;;;;
+0D57;MALAYALAM AU LENGTH MARK;Mc;0;L;;;;;N;;;;;
+0D60;MALAYALAM LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+0D61;MALAYALAM LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+0D66;MALAYALAM DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+0D67;MALAYALAM DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+0D68;MALAYALAM DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+0D69;MALAYALAM DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+0D6A;MALAYALAM DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+0D6B;MALAYALAM DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+0D6C;MALAYALAM DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+0D6D;MALAYALAM DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+0D6E;MALAYALAM DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+0D6F;MALAYALAM DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+0E01;THAI CHARACTER KO KAI;Lo;0;L;;;;;N;THAI LETTER KO KAI;;;;
+0E02;THAI CHARACTER KHO KHAI;Lo;0;L;;;;;N;THAI LETTER KHO KHAI;;;;
+0E03;THAI CHARACTER KHO KHUAT;Lo;0;L;;;;;N;THAI LETTER KHO KHUAT;;;;
+0E04;THAI CHARACTER KHO KHWAI;Lo;0;L;;;;;N;THAI LETTER KHO KHWAI;;;;
+0E05;THAI CHARACTER KHO KHON;Lo;0;L;;;;;N;THAI LETTER KHO KHON;;;;
+0E06;THAI CHARACTER KHO RAKHANG;Lo;0;L;;;;;N;THAI LETTER KHO RAKHANG;;;;
+0E07;THAI CHARACTER NGO NGU;Lo;0;L;;;;;N;THAI LETTER NGO NGU;;;;
+0E08;THAI CHARACTER CHO CHAN;Lo;0;L;;;;;N;THAI LETTER CHO CHAN;;;;
+0E09;THAI CHARACTER CHO CHING;Lo;0;L;;;;;N;THAI LETTER CHO CHING;;;;
+0E0A;THAI CHARACTER CHO CHANG;Lo;0;L;;;;;N;THAI LETTER CHO CHANG;;;;
+0E0B;THAI CHARACTER SO SO;Lo;0;L;;;;;N;THAI LETTER SO SO;;;;
+0E0C;THAI CHARACTER CHO CHOE;Lo;0;L;;;;;N;THAI LETTER CHO CHOE;;;;
+0E0D;THAI CHARACTER YO YING;Lo;0;L;;;;;N;THAI LETTER YO YING;;;;
+0E0E;THAI CHARACTER DO CHADA;Lo;0;L;;;;;N;THAI LETTER DO CHADA;;;;
+0E0F;THAI CHARACTER TO PATAK;Lo;0;L;;;;;N;THAI LETTER TO PATAK;;;;
+0E10;THAI CHARACTER THO THAN;Lo;0;L;;;;;N;THAI LETTER THO THAN;;;;
+0E11;THAI CHARACTER THO NANGMONTHO;Lo;0;L;;;;;N;THAI LETTER THO NANGMONTHO;;;;
+0E12;THAI CHARACTER THO PHUTHAO;Lo;0;L;;;;;N;THAI LETTER THO PHUTHAO;;;;
+0E13;THAI CHARACTER NO NEN;Lo;0;L;;;;;N;THAI LETTER NO NEN;;;;
+0E14;THAI CHARACTER DO DEK;Lo;0;L;;;;;N;THAI LETTER DO DEK;;;;
+0E15;THAI CHARACTER TO TAO;Lo;0;L;;;;;N;THAI LETTER TO TAO;;;;
+0E16;THAI CHARACTER THO THUNG;Lo;0;L;;;;;N;THAI LETTER THO THUNG;;;;
+0E17;THAI CHARACTER THO THAHAN;Lo;0;L;;;;;N;THAI LETTER THO THAHAN;;;;
+0E18;THAI CHARACTER THO THONG;Lo;0;L;;;;;N;THAI LETTER THO THONG;;;;
+0E19;THAI CHARACTER NO NU;Lo;0;L;;;;;N;THAI LETTER NO NU;;;;
+0E1A;THAI CHARACTER BO BAIMAI;Lo;0;L;;;;;N;THAI LETTER BO BAIMAI;;;;
+0E1B;THAI CHARACTER PO PLA;Lo;0;L;;;;;N;THAI LETTER PO PLA;;;;
+0E1C;THAI CHARACTER PHO PHUNG;Lo;0;L;;;;;N;THAI LETTER PHO PHUNG;;;;
+0E1D;THAI CHARACTER FO FA;Lo;0;L;;;;;N;THAI LETTER FO FA;;;;
+0E1E;THAI CHARACTER PHO PHAN;Lo;0;L;;;;;N;THAI LETTER PHO PHAN;;;;
+0E1F;THAI CHARACTER FO FAN;Lo;0;L;;;;;N;THAI LETTER FO FAN;;;;
+0E20;THAI CHARACTER PHO SAMPHAO;Lo;0;L;;;;;N;THAI LETTER PHO SAMPHAO;;;;
+0E21;THAI CHARACTER MO MA;Lo;0;L;;;;;N;THAI LETTER MO MA;;;;
+0E22;THAI CHARACTER YO YAK;Lo;0;L;;;;;N;THAI LETTER YO YAK;;;;
+0E23;THAI CHARACTER RO RUA;Lo;0;L;;;;;N;THAI LETTER RO RUA;;;;
+0E24;THAI CHARACTER RU;Lo;0;L;;;;;N;THAI LETTER RU;;;;
+0E25;THAI CHARACTER LO LING;Lo;0;L;;;;;N;THAI LETTER LO LING;;;;
+0E26;THAI CHARACTER LU;Lo;0;L;;;;;N;THAI LETTER LU;;;;
+0E27;THAI CHARACTER WO WAEN;Lo;0;L;;;;;N;THAI LETTER WO WAEN;;;;
+0E28;THAI CHARACTER SO SALA;Lo;0;L;;;;;N;THAI LETTER SO SALA;;;;
+0E29;THAI CHARACTER SO RUSI;Lo;0;L;;;;;N;THAI LETTER SO RUSI;;;;
+0E2A;THAI CHARACTER SO SUA;Lo;0;L;;;;;N;THAI LETTER SO SUA;;;;
+0E2B;THAI CHARACTER HO HIP;Lo;0;L;;;;;N;THAI LETTER HO HIP;;;;
+0E2C;THAI CHARACTER LO CHULA;Lo;0;L;;;;;N;THAI LETTER LO CHULA;;;;
+0E2D;THAI CHARACTER O ANG;Lo;0;L;;;;;N;THAI LETTER O ANG;;;;
+0E2E;THAI CHARACTER HO NOKHUK;Lo;0;L;;;;;N;THAI LETTER HO NOK HUK;;;;
+0E2F;THAI CHARACTER PAIYANNOI;Po;0;L;;;;;N;THAI PAI YAN NOI;;;;
+0E30;THAI CHARACTER SARA A;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA A;;;;
+0E31;THAI CHARACTER MAI HAN-AKAT;Mn;98;L;;;;;N;THAI VOWEL SIGN MAI HAN-AKAT;;;;
+0E32;THAI CHARACTER SARA AA;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA AA;;;;
+0E33;THAI CHARACTER SARA AM;Lo;0;L;0E4D 0E32;;;;N;THAI VOWEL SIGN SARA AM;;;;
+0E34;THAI CHARACTER SARA I;Mn;99;L;;;;;N;THAI VOWEL SIGN SARA I;;;;
+0E35;THAI CHARACTER SARA II;Mn;100;L;;;;;N;THAI VOWEL SIGN SARA II;;;;
+0E36;THAI CHARACTER SARA UE;Mn;101;L;;;;;N;THAI VOWEL SIGN SARA UE;;;;
+0E37;THAI CHARACTER SARA UEE;Mn;102;L;;;;;N;THAI VOWEL SIGN SARA UEE;;;;
+0E38;THAI CHARACTER SARA U;Mn;103;L;;;;;N;THAI VOWEL SIGN SARA U;;;;
+0E39;THAI CHARACTER SARA UU;Mn;104;L;;;;;N;THAI VOWEL SIGN SARA UU;;;;
+0E3A;THAI CHARACTER PHINTHU;Mn;105;L;;;;;N;THAI VOWEL SIGN PHINTHU;;;;
+0E3F;THAI CURRENCY SYMBOL BAHT;Sc;0;L;;;;;N;THAI BAHT SIGN;;;;
+0E40;THAI CHARACTER SARA E;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA E;;;;
+0E41;THAI CHARACTER SARA AE;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA AE;;;;
+0E42;THAI CHARACTER SARA O;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA O;;;;
+0E43;THAI CHARACTER SARA AI MAIMUAN;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA MAI MUAN;;;;
+0E44;THAI CHARACTER SARA AI MAIMALAI;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA MAI MALAI;;;;
+0E45;THAI CHARACTER LAKKHANGYAO;Lo;0;L;;;;;N;THAI LAK KHANG YAO;;;;
+0E46;THAI CHARACTER MAIYAMOK;Lm;0;L;;;;;N;THAI MAI YAMOK;;;;
+0E47;THAI CHARACTER MAITAIKHU;Mn;106;L;;;;;N;THAI VOWEL SIGN MAI TAI KHU;;;;
+0E48;THAI CHARACTER MAI EK;Mn;107;L;;;;;N;THAI TONE MAI EK;;;;
+0E49;THAI CHARACTER MAI THO;Mn;108;L;;;;;N;THAI TONE MAI THO;;;;
+0E4A;THAI CHARACTER MAI TRI;Mn;109;L;;;;;N;THAI TONE MAI TRI;;;;
+0E4B;THAI CHARACTER MAI CHATTAWA;Mn;110;L;;;;;N;THAI TONE MAI CHATTAWA;;;;
+0E4C;THAI CHARACTER THANTHAKHAT;Mn;111;L;;;;;N;THAI THANTHAKHAT;;;;
+0E4D;THAI CHARACTER NIKHAHIT;Mn;112;L;;;;;N;THAI NIKKHAHIT;;;;
+0E4E;THAI CHARACTER YAMAKKAN;Mn;128;L;;;;;N;THAI YAMAKKAN;;;;
+0E4F;THAI CHARACTER FONGMAN;So;0;L;;;;;N;THAI FONGMAN;;;;
+0E50;THAI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+0E51;THAI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+0E52;THAI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+0E53;THAI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+0E54;THAI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+0E55;THAI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+0E56;THAI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+0E57;THAI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+0E58;THAI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+0E59;THAI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+0E5A;THAI CHARACTER ANGKHANKHU;Po;0;L;;;;;N;THAI ANGKHANKHU;;;;
+0E5B;THAI CHARACTER KHOMUT;Po;0;L;;;;;N;THAI KHOMUT;;;;
+0E81;LAO LETTER KO;Lo;0;L;;;;;N;;;;;
+0E82;LAO LETTER KHO SUNG;Lo;0;L;;;;;N;;;;;
+0E84;LAO LETTER KHO TAM;Lo;0;L;;;;;N;;;;;
+0E87;LAO LETTER NGO;Lo;0;L;;;;;N;;;;;
+0E88;LAO LETTER CO;Lo;0;L;;;;;N;;;;;
+0E8A;LAO LETTER SO TAM;Lo;0;L;;;;;N;;;;;
+0E8D;LAO LETTER NYO;Lo;0;L;;;;;N;;;;;
+0E94;LAO LETTER DO;Lo;0;L;;;;;N;;;;;
+0E95;LAO LETTER TO;Lo;0;L;;;;;N;;;;;
+0E96;LAO LETTER THO SUNG;Lo;0;L;;;;;N;;;;;
+0E97;LAO LETTER THO TAM;Lo;0;L;;;;;N;;;;;
+0E99;LAO LETTER NO;Lo;0;L;;;;;N;;;;;
+0E9A;LAO LETTER BO;Lo;0;L;;;;;N;;;;;
+0E9B;LAO LETTER PO;Lo;0;L;;;;;N;;;;;
+0E9C;LAO LETTER PHO SUNG;Lo;0;L;;;;;N;;;;;
+0E9D;LAO LETTER FO TAM;Lo;0;L;;;;;N;;;;;
+0E9E;LAO LETTER PHO TAM;Lo;0;L;;;;;N;;;;;
+0E9F;LAO LETTER FO SUNG;Lo;0;L;;;;;N;;;;;
+0EA1;LAO LETTER MO;Lo;0;L;;;;;N;;;;;
+0EA2;LAO LETTER YO;Lo;0;L;;;;;N;;;;;
+0EA3;LAO LETTER LO LING;Lo;0;L;;;;;N;;;;;
+0EA5;LAO LETTER LO LOOT;Lo;0;L;;;;;N;;;;;
+0EA7;LAO LETTER WO;Lo;0;L;;;;;N;;;;;
+0EAA;LAO LETTER SO SUNG;Lo;0;L;;;;;N;;;;;
+0EAB;LAO LETTER HO SUNG;Lo;0;L;;;;;N;;;;;
+0EAD;LAO LETTER O;Lo;0;L;;;;;N;;;;;
+0EAE;LAO LETTER HO TAM;Lo;0;L;;;;;N;;;;;
+0EAF;LAO ELLIPSIS;Po;0;L;;;;;N;;;;;
+0EB0;LAO VOWEL SIGN A;Lo;0;L;;;;;N;;;;;
+0EB1;LAO VOWEL SIGN MAI KAN;Mn;113;L;;;;;N;;;;;
+0EB2;LAO VOWEL SIGN AA;Lo;0;L;;;;;N;;;;;
+0EB3;LAO VOWEL SIGN AM;Lo;0;L;0ECD 0EB2;;;;N;;;;;
+0EB4;LAO VOWEL SIGN I;Mn;114;L;;;;;N;;;;;
+0EB5;LAO VOWEL SIGN II;Mn;115;L;;;;;N;;;;;
+0EB6;LAO VOWEL SIGN Y;Mn;116;L;;;;;N;;;;;
+0EB7;LAO VOWEL SIGN YY;Mn;117;L;;;;;N;;;;;
+0EB8;LAO VOWEL SIGN U;Mn;118;L;;;;;N;;;;;
+0EB9;LAO VOWEL SIGN UU;Mn;119;L;;;;;N;;;;;
+0EBB;LAO VOWEL SIGN MAI KON;Mn;120;L;;;;;N;;;;;
+0EBC;LAO SEMIVOWEL SIGN LO;Mn;121;L;;;;;N;;;;;
+0EBD;LAO SEMIVOWEL SIGN NYO;Lo;0;L;;;;;N;;;;;
+0EC0;LAO VOWEL SIGN E;Lo;0;L;;;;;N;;;;;
+0EC1;LAO VOWEL SIGN EI;Lo;0;L;;;;;N;;;;;
+0EC2;LAO VOWEL SIGN O;Lo;0;L;;;;;N;;;;;
+0EC3;LAO VOWEL SIGN AY;Lo;0;L;;;;;N;;;;;
+0EC4;LAO VOWEL SIGN AI;Lo;0;L;;;;;N;;;;;
+0EC6;LAO KO LA;Lm;0;L;;;;;N;;;;;
+0EC8;LAO TONE MAI EK;Mn;122;L;;;;;N;;;;;
+0EC9;LAO TONE MAI THO;Mn;123;L;;;;;N;;;;;
+0ECA;LAO TONE MAI TI;Mn;124;L;;;;;N;;;;;
+0ECB;LAO TONE MAI CATAWA;Mn;125;L;;;;;N;;;;;
+0ECC;LAO CANCELLATION MARK;Mn;126;L;;;;;N;;;;;
+0ECD;LAO NIGGAHITA;Mn;127;L;;;;;N;;;;;
+0ED0;LAO DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+0ED1;LAO DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+0ED2;LAO DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+0ED3;LAO DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+0ED4;LAO DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+0ED5;LAO DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+0ED6;LAO DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+0ED7;LAO DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+0ED8;LAO DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+0ED9;LAO DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+0EDC;LAO HO NO;Lo;0;L;<compat> 0EAB 0E99;;;;N;;;;;
+0EDD;LAO HO MO;Lo;0;L;<compat> 0EAB 0EA1;;;;N;;;;;
+0F00;TIBETAN SYLLABLE OM;So;0;L;;;;;N;;;;;
+0F01;TIBETAN MARK GTER YIG MGO TRUNCATED A;So;0;L;;;;;N;;ter yik go a thung;;;
+0F02;TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA;So;0;L;;;;;N;;ter yik go wum nam chey ma;;;
+0F03;TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA;So;0;L;;;;;N;;ter yik go wum ter tsek ma;;;
+0F04;TIBETAN MARK INITIAL YIG MGO MDUN MA;Po;0;L;;;;;N;;yik go dun ma;;;
+0F05;TIBETAN MARK CLOSING YIG MGO SGAB MA;Po;0;L;;;;;N;;yik go kab ma;;;
+0F06;TIBETAN MARK CARET YIG MGO PHUR SHAD MA;Po;0;L;;;;;N;;yik go pur shey ma;;;
+0F07;TIBETAN MARK YIG MGO TSHEG SHAD MA;Po;0;L;;;;;N;;yik go tsek shey ma;;;
+0F08;TIBETAN MARK SBRUL SHAD;Po;0;L;;;;;N;;drul shey;;;
+0F09;TIBETAN MARK BSKUR YIG MGO;Po;0;L;;;;;N;;kur yik go;;;
+0F0A;TIBETAN MARK BKA- SHOG YIG MGO;Po;0;L;;;;;N;;ka sho yik go;;;
+0F0B;TIBETAN MARK INTERSYLLABIC TSHEG;Po;0;L;;;;;N;;tsek;;;
+0F0C;TIBETAN MARK DELIMITER TSHEG BSTAR;Po;0;L;;;;;N;;tsek tar;;;
+0F0D;TIBETAN MARK SHAD;Po;0;L;;;;;N;;shey;;;
+0F0E;TIBETAN MARK NYIS SHAD;Po;0;L;;;;;N;;nyi shey;;;
+0F0F;TIBETAN MARK TSHEG SHAD;Po;0;L;;;;;N;;tsek shey;;;
+0F10;TIBETAN MARK NYIS TSHEG SHAD;Po;0;L;;;;;N;;nyi tsek shey;;;
+0F11;TIBETAN MARK RIN CHEN SPUNGS SHAD;Po;0;L;;;;;N;;rinchen pung shey;;;
+0F12;TIBETAN MARK RGYA GRAM SHAD;Po;0;L;;;;;N;;gya tram shey;;;
+0F13;TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN;So;0;L;;;;;N;;dzu ta me long chen;;;
+0F14;TIBETAN MARK GTER TSHEG;So;0;L;;;;;N;;ter tsek;;;
+0F15;TIBETAN LOGOTYPE SIGN CHAD RTAGS;So;0;L;;;;;N;;che ta;;;
+0F16;TIBETAN LOGOTYPE SIGN LHAG RTAGS;So;0;L;;;;;N;;hlak ta;;;
+0F17;TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS;So;0;L;;;;;N;;trachen char ta;;;
+0F18;TIBETAN ASTROLOGICAL SIGN -KHYUD PA;Mn;220;L;;;;;N;;kyu pa;;;
+0F19;TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS;Mn;220;L;;;;;N;;dong tsu;;;
+0F1A;TIBETAN SIGN RDEL DKAR GCIG;So;0;L;;;;;N;;deka chig;;;
+0F1B;TIBETAN SIGN RDEL DKAR GNYIS;So;0;L;;;;;N;;deka nyi;;;
+0F1C;TIBETAN SIGN RDEL DKAR GSUM;So;0;L;;;;;N;;deka sum;;;
+0F1D;TIBETAN SIGN RDEL NAG GCIG;So;0;L;;;;;N;;dena chig;;;
+0F1E;TIBETAN SIGN RDEL NAG GNYIS;So;0;L;;;;;N;;dena nyi;;;
+0F1F;TIBETAN SIGN RDEL DKAR RDEL NAG;So;0;L;;;;;N;;deka dena;;;
+0F20;TIBETAN DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+0F21;TIBETAN DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+0F22;TIBETAN DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+0F23;TIBETAN DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+0F24;TIBETAN DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+0F25;TIBETAN DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+0F26;TIBETAN DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+0F27;TIBETAN DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+0F28;TIBETAN DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+0F29;TIBETAN DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+0F2A;TIBETAN DIGIT HALF ONE;No;0;L;;;;;N;;;;;
+0F2B;TIBETAN DIGIT HALF TWO;No;0;L;;;;;N;;;;;
+0F2C;TIBETAN DIGIT HALF THREE;No;0;L;;;;;N;;;;;
+0F2D;TIBETAN DIGIT HALF FOUR;No;0;L;;;;;N;;;;;
+0F2E;TIBETAN DIGIT HALF FIVE;No;0;L;;;;;N;;;;;
+0F2F;TIBETAN DIGIT HALF SIX;No;0;L;;;;;N;;;;;
+0F30;TIBETAN DIGIT HALF SEVEN;No;0;L;;;;;N;;;;;
+0F31;TIBETAN DIGIT HALF EIGHT;No;0;L;;;;;N;;;;;
+0F32;TIBETAN DIGIT HALF NINE;No;0;L;;;;;N;;;;;
+0F33;TIBETAN DIGIT HALF ZERO;No;0;L;;;;;N;;;;;
+0F34;TIBETAN MARK BSDUS RTAGS;So;0;L;;;;;N;;du ta;;;
+0F35;TIBETAN MARK NGAS BZUNG NYI ZLA;Mn;230;L;;;;;N;;nge zung nyi da;;;
+0F36;TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN;So;0;L;;;;;N;;dzu ta shi mig chen;;;
+0F37;TIBETAN MARK NGAS BZUNG SGOR RTAGS;Mn;230;L;;;;;N;;nge zung gor ta;;;
+0F38;TIBETAN MARK CHE MGO;So;0;L;;;;;N;;che go;;;
+0F39;TIBETAN MARK TSA -PHRU;Mn;216;L;;;;;N;;tsa tru;;;
+0F3A;TIBETAN MARK GUG RTAGS GYON;Ps;0;L;;;;;N;;gug ta yun;;;
+0F3B;TIBETAN MARK GUG RTAGS GYAS;Pe;0;L;;;;;N;;gug ta ye;;;
+0F3C;TIBETAN MARK ANG KHANG GYON;Ps;0;L;;;;;N;;ang kang yun;;;
+0F3D;TIBETAN MARK ANG KHANG GYAS;Pe;0;L;;;;;N;;ang kang ye;;;
+0F3E;TIBETAN SIGN YAR TSHES;Mc;220;L;;;;;N;;yar tse;;;
+0F3F;TIBETAN SIGN MAR TSHES;Mc;220;L;;;;;N;;mar tse;;;
+0F40;TIBETAN LETTER KA;Lo;0;L;;;;;N;;;;;
+0F41;TIBETAN LETTER KHA;Lo;0;L;;;;;N;;;;;
+0F42;TIBETAN LETTER GA;Lo;0;L;;;;;N;;;;;
+0F43;TIBETAN LETTER GHA;Lo;0;L;0F42 0FB7;;;;N;;;;;
+0F44;TIBETAN LETTER NGA;Lo;0;L;;;;;N;;;;;
+0F45;TIBETAN LETTER CA;Lo;0;L;;;;;N;;;;;
+0F46;TIBETAN LETTER CHA;Lo;0;L;;;;;N;;;;;
+0F47;TIBETAN LETTER JA;Lo;0;L;;;;;N;;;;;
+0F49;TIBETAN LETTER NYA;Lo;0;L;;;;;N;;;;;
+0F4A;TIBETAN LETTER TTA;Lo;0;L;;;;;N;;;;;
+0F4B;TIBETAN LETTER TTHA;Lo;0;L;;;;;N;;;;;
+0F4C;TIBETAN LETTER DDA;Lo;0;L;;;;;N;;;;;
+0F4D;TIBETAN LETTER DDHA;Lo;0;L;0F4C 0FB7;;;;N;;;;;
+0F4E;TIBETAN LETTER NNA;Lo;0;L;;;;;N;;;;;
+0F4F;TIBETAN LETTER TA;Lo;0;L;;;;;N;;;;;
+0F50;TIBETAN LETTER THA;Lo;0;L;;;;;N;;;;;
+0F51;TIBETAN LETTER DA;Lo;0;L;;;;;N;;;;;
+0F52;TIBETAN LETTER DHA;Lo;0;L;0F51 0FB7;;;;N;;;;;
+0F53;TIBETAN LETTER NA;Lo;0;L;;;;;N;;;;;
+0F54;TIBETAN LETTER PA;Lo;0;L;;;;;N;;;;;
+0F55;TIBETAN LETTER PHA;Lo;0;L;;;;;N;;;;;
+0F56;TIBETAN LETTER BA;Lo;0;L;;;;;N;;;;;
+0F57;TIBETAN LETTER BHA;Lo;0;L;0F56 0FB7;;;;N;;;;;
+0F58;TIBETAN LETTER MA;Lo;0;L;;;;;N;;;;;
+0F59;TIBETAN LETTER TSA;Lo;0;L;;;;;N;;;;;
+0F5A;TIBETAN LETTER TSHA;Lo;0;L;;;;;N;;;;;
+0F5B;TIBETAN LETTER DZA;Lo;0;L;;;;;N;;;;;
+0F5C;TIBETAN LETTER DZHA;Lo;0;L;0F5B 0FB7;;;;N;;;;;
+0F5D;TIBETAN LETTER WA;Lo;0;L;;;;;N;;;;;
+0F5E;TIBETAN LETTER ZHA;Lo;0;L;;;;;N;;;;;
+0F5F;TIBETAN LETTER ZA;Lo;0;L;;;;;N;;;;;
+0F60;TIBETAN LETTER -A;Lo;0;L;;;;;N;;;;;
+0F61;TIBETAN LETTER YA;Lo;0;L;;;;;N;;;;;
+0F62;TIBETAN LETTER RA;Lo;0;L;;;;;N;;;;;
+0F63;TIBETAN LETTER LA;Lo;0;L;;;;;N;;;;;
+0F64;TIBETAN LETTER SHA;Lo;0;L;;;;;N;;;;;
+0F65;TIBETAN LETTER SSA;Lo;0;L;;;;;N;;;;;
+0F66;TIBETAN LETTER SA;Lo;0;L;;;;;N;;;;;
+0F67;TIBETAN LETTER HA;Lo;0;L;;;;;N;;;;;
+0F68;TIBETAN LETTER A;Lo;0;L;;;;;N;;;;;
+0F69;TIBETAN LETTER KSSA;Lo;0;L;0F40 0FB5;;;;N;;;;;
+0F71;TIBETAN VOWEL SIGN AA;Mn;145;L;;;;;N;;;;;
+0F72;TIBETAN VOWEL SIGN I;Mn;130;L;;;;;N;;;;;
+0F73;TIBETAN VOWEL SIGN II;Mn;131;L;0F72 0F71;;;;N;;;;;
+0F74;TIBETAN VOWEL SIGN U;Mn;132;L;;;;;N;;;;;
+0F75;TIBETAN VOWEL SIGN UU;Mn;133;L;0F74 0F71;;;;N;;;;;
+0F76;TIBETAN VOWEL SIGN VOCALIC R;Mn;134;L;0FB2 0F80;;;;N;;;;;
+0F77;TIBETAN VOWEL SIGN VOCALIC RR;Mn;135;L;0F76 0F71;;;;N;;;;;
+0F78;TIBETAN VOWEL SIGN VOCALIC L;Mn;136;L;0FB3 0F80;;;;N;;;;;
+0F79;TIBETAN VOWEL SIGN VOCALIC LL;Mn;137;L;0F78 0F71;;;;N;;;;;
+0F7A;TIBETAN VOWEL SIGN E;Mn;138;L;;;;;N;;;;;
+0F7B;TIBETAN VOWEL SIGN EE;Mn;139;L;;;;;N;;;;;
+0F7C;TIBETAN VOWEL SIGN O;Mn;140;L;;;;;N;;;;;
+0F7D;TIBETAN VOWEL SIGN OO;Mn;141;L;;;;;N;;;;;
+0F7E;TIBETAN SIGN RJES SU NGA RO;Mn;142;L;;;;;N;;je su nga ro;;;
+0F7F;TIBETAN SIGN RNAM BCAD;Mc;0;L;;;;;N;;nam chey;;;
+0F80;TIBETAN VOWEL SIGN REVERSED I;Mn;143;L;;;;;N;;;;;
+0F81;TIBETAN VOWEL SIGN REVERSED II;Mn;144;L;0F80 0F71;;;;N;;;;;
+0F82;TIBETAN SIGN NYI ZLA NAA DA;Mn;230;L;;;;;N;;nyi da na da;;;
+0F83;TIBETAN SIGN SNA LDAN;Mn;230;L;;;;;N;;nan de;;;
+0F84;TIBETAN MARK HALANTA;Mn;9;L;;;;;N;;;;;
+0F85;TIBETAN MARK PALUTA;Po;0;L;;;;;N;;;;;
+0F86;TIBETAN SIGN LCI RTAGS;Mn;230;L;;;;;N;;ji ta;;;
+0F87;TIBETAN SIGN YANG RTAGS;Mn;230;L;;;;;N;;yang ta;;;
+0F88;TIBETAN SIGN LCE TSA CAN;Mn;230;L;;;;;N;;che tsa chen;;;
+0F89;TIBETAN SIGN MCHU CAN;Mn;230;L;;;;;N;;chu chen;;;
+0F8A;TIBETAN SIGN GRU CAN RGYINGS;Mn;230;L;;;;;N;;tru chen ging;;;
+0F8B;TIBETAN SIGN GRU MED RGYINGS;Mn;230;L;;;;;N;;tru me ging;;;
+0F90;TIBETAN SUBJOINED LETTER KA;Mn;6;L;;;;;N;;;;;
+0F91;TIBETAN SUBJOINED LETTER KHA;Mn;6;L;;;;;N;;;;;
+0F92;TIBETAN SUBJOINED LETTER GA;Mn;6;L;;;;;N;;;;;
+0F93;TIBETAN SUBJOINED LETTER GHA;Mn;6;L;0F92 0FB7;;;;N;;;;;
+0F94;TIBETAN SUBJOINED LETTER NGA;Mn;6;L;;;;;N;;;;;
+0F95;TIBETAN SUBJOINED LETTER CA;Mn;6;L;;;;;N;;;;;
+0F97;TIBETAN SUBJOINED LETTER JA;Mn;6;L;;;;;N;;;;;
+0F99;TIBETAN SUBJOINED LETTER NYA;Mn;6;L;;;;;N;;;;;
+0F9A;TIBETAN SUBJOINED LETTER TTA;Mn;6;L;;;;;N;;;;;
+0F9B;TIBETAN SUBJOINED LETTER TTHA;Mn;6;L;;;;;N;;;;;
+0F9C;TIBETAN SUBJOINED LETTER DDA;Mn;6;L;;;;;N;;;;;
+0F9D;TIBETAN SUBJOINED LETTER DDHA;Mn;6;L;0F9C 0FB7;;;;N;;;;;
+0F9E;TIBETAN SUBJOINED LETTER NNA;Mn;6;L;;;;;N;;;;;
+0F9F;TIBETAN SUBJOINED LETTER TA;Mn;6;L;;;;;N;;;;;
+0FA0;TIBETAN SUBJOINED LETTER THA;Mn;6;L;;;;;N;;;;;
+0FA1;TIBETAN SUBJOINED LETTER DA;Mn;6;L;;;;;N;;;;;
+0FA2;TIBETAN SUBJOINED LETTER DHA;Mn;6;L;0FA1 0FB7;;;;N;;;;;
+0FA3;TIBETAN SUBJOINED LETTER NA;Mn;6;L;;;;;N;;;;;
+0FA4;TIBETAN SUBJOINED LETTER PA;Mn;6;L;;;;;N;;;;;
+0FA5;TIBETAN SUBJOINED LETTER PHA;Mn;6;L;;;;;N;;;;;
+0FA6;TIBETAN SUBJOINED LETTER BA;Mn;6;L;;;;;N;;;;;
+0FA7;TIBETAN SUBJOINED LETTER BHA;Mn;6;L;0FA6 0FB7;;;;N;;;;;
+0FA8;TIBETAN SUBJOINED LETTER MA;Mn;6;L;;;;;N;;;;;
+0FA9;TIBETAN SUBJOINED LETTER TSA;Mn;6;L;;;;;N;;;;;
+0FAA;TIBETAN SUBJOINED LETTER TSHA;Mn;6;L;;;;;N;;;;;
+0FAB;TIBETAN SUBJOINED LETTER DZA;Mn;6;L;;;;;N;;;;;
+0FAC;TIBETAN SUBJOINED LETTER DZHA;Mn;6;L;0FAB 0FB7;;;;N;;;;;
+0FAD;TIBETAN SUBJOINED LETTER WA;Mn;6;L;;;;;N;;;;;
+0FB1;TIBETAN SUBJOINED LETTER YA;Mn;6;L;;;;;N;;;;;
+0FB2;TIBETAN SUBJOINED LETTER RA;Mn;6;L;;;;;N;;;;;
+0FB3;TIBETAN SUBJOINED LETTER LA;Mn;6;L;;;;;N;;;;;
+0FB4;TIBETAN SUBJOINED LETTER SHA;Mn;6;L;;;;;N;;;;;
+0FB5;TIBETAN SUBJOINED LETTER SSA;Mn;6;L;;;;;N;;;;;
+0FB6;TIBETAN SUBJOINED LETTER SA;Mn;6;L;;;;;N;;;;;
+0FB7;TIBETAN SUBJOINED LETTER HA;Mn;6;L;;;;;N;;;;;
+0FB9;TIBETAN SUBJOINED LETTER KSSA;Mn;6;L;0F90 0FB5;;;;N;;;;;
+10A0;GEORGIAN CAPITAL LETTER AN;Lu;0;L;;;;;N;;Khutsuri;;10D0;
+10A1;GEORGIAN CAPITAL LETTER BAN;Lu;0;L;;;;;N;;Khutsuri;;10D1;
+10A2;GEORGIAN CAPITAL LETTER GAN;Lu;0;L;;;;;N;;Khutsuri;;10D2;
+10A3;GEORGIAN CAPITAL LETTER DON;Lu;0;L;;;;;N;;Khutsuri;;10D3;
+10A4;GEORGIAN CAPITAL LETTER EN;Lu;0;L;;;;;N;;Khutsuri;;10D4;
+10A5;GEORGIAN CAPITAL LETTER VIN;Lu;0;L;;;;;N;;Khutsuri;;10D5;
+10A6;GEORGIAN CAPITAL LETTER ZEN;Lu;0;L;;;;;N;;Khutsuri;;10D6;
+10A7;GEORGIAN CAPITAL LETTER TAN;Lu;0;L;;;;;N;;Khutsuri;;10D7;
+10A8;GEORGIAN CAPITAL LETTER IN;Lu;0;L;;;;;N;;Khutsuri;;10D8;
+10A9;GEORGIAN CAPITAL LETTER KAN;Lu;0;L;;;;;N;;Khutsuri;;10D9;
+10AA;GEORGIAN CAPITAL LETTER LAS;Lu;0;L;;;;;N;;Khutsuri;;10DA;
+10AB;GEORGIAN CAPITAL LETTER MAN;Lu;0;L;;;;;N;;Khutsuri;;10DB;
+10AC;GEORGIAN CAPITAL LETTER NAR;Lu;0;L;;;;;N;;Khutsuri;;10DC;
+10AD;GEORGIAN CAPITAL LETTER ON;Lu;0;L;;;;;N;;Khutsuri;;10DD;
+10AE;GEORGIAN CAPITAL LETTER PAR;Lu;0;L;;;;;N;;Khutsuri;;10DE;
+10AF;GEORGIAN CAPITAL LETTER ZHAR;Lu;0;L;;;;;N;;Khutsuri;;10DF;
+10B0;GEORGIAN CAPITAL LETTER RAE;Lu;0;L;;;;;N;;Khutsuri;;10E0;
+10B1;GEORGIAN CAPITAL LETTER SAN;Lu;0;L;;;;;N;;Khutsuri;;10E1;
+10B2;GEORGIAN CAPITAL LETTER TAR;Lu;0;L;;;;;N;;Khutsuri;;10E2;
+10B3;GEORGIAN CAPITAL LETTER UN;Lu;0;L;;;;;N;;Khutsuri;;10E3;
+10B4;GEORGIAN CAPITAL LETTER PHAR;Lu;0;L;;;;;N;;Khutsuri;;10E4;
+10B5;GEORGIAN CAPITAL LETTER KHAR;Lu;0;L;;;;;N;;Khutsuri;;10E5;
+10B6;GEORGIAN CAPITAL LETTER GHAN;Lu;0;L;;;;;N;;Khutsuri;;10E6;
+10B7;GEORGIAN CAPITAL LETTER QAR;Lu;0;L;;;;;N;;Khutsuri;;10E7;
+10B8;GEORGIAN CAPITAL LETTER SHIN;Lu;0;L;;;;;N;;Khutsuri;;10E8;
+10B9;GEORGIAN CAPITAL LETTER CHIN;Lu;0;L;;;;;N;;Khutsuri;;10E9;
+10BA;GEORGIAN CAPITAL LETTER CAN;Lu;0;L;;;;;N;;Khutsuri;;10EA;
+10BB;GEORGIAN CAPITAL LETTER JIL;Lu;0;L;;;;;N;;Khutsuri;;10EB;
+10BC;GEORGIAN CAPITAL LETTER CIL;Lu;0;L;;;;;N;;Khutsuri;;10EC;
+10BD;GEORGIAN CAPITAL LETTER CHAR;Lu;0;L;;;;;N;;Khutsuri;;10ED;
+10BE;GEORGIAN CAPITAL LETTER XAN;Lu;0;L;;;;;N;;Khutsuri;;10EE;
+10BF;GEORGIAN CAPITAL LETTER JHAN;Lu;0;L;;;;;N;;Khutsuri;;10EF;
+10C0;GEORGIAN CAPITAL LETTER HAE;Lu;0;L;;;;;N;;Khutsuri;;10F0;
+10C1;GEORGIAN CAPITAL LETTER HE;Lu;0;L;;;;;N;;Khutsuri;;10F1;
+10C2;GEORGIAN CAPITAL LETTER HIE;Lu;0;L;;;;;N;;Khutsuri;;10F2;
+10C3;GEORGIAN CAPITAL LETTER WE;Lu;0;L;;;;;N;;Khutsuri;;10F3;
+10C4;GEORGIAN CAPITAL LETTER HAR;Lu;0;L;;;;;N;;Khutsuri;;10F4;
+10C5;GEORGIAN CAPITAL LETTER HOE;Lu;0;L;;;;;N;;Khutsuri;;10F5;
+10D0;GEORGIAN LETTER AN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER AN;;;;
+10D1;GEORGIAN LETTER BAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER BAN;;;;
+10D2;GEORGIAN LETTER GAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER GAN;;;;
+10D3;GEORGIAN LETTER DON;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER DON;;;;
+10D4;GEORGIAN LETTER EN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER EN;;;;
+10D5;GEORGIAN LETTER VIN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER VIN;;;;
+10D6;GEORGIAN LETTER ZEN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER ZEN;;;;
+10D7;GEORGIAN LETTER TAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER TAN;;;;
+10D8;GEORGIAN LETTER IN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER IN;;;;
+10D9;GEORGIAN LETTER KAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER KAN;;;;
+10DA;GEORGIAN LETTER LAS;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER LAS;;;;
+10DB;GEORGIAN LETTER MAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER MAN;;;;
+10DC;GEORGIAN LETTER NAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER NAR;;;;
+10DD;GEORGIAN LETTER ON;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER ON;;;;
+10DE;GEORGIAN LETTER PAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER PAR;;;;
+10DF;GEORGIAN LETTER ZHAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER ZHAR;;;;
+10E0;GEORGIAN LETTER RAE;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER RAE;;;;
+10E1;GEORGIAN LETTER SAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER SAN;;;;
+10E2;GEORGIAN LETTER TAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER TAR;;;;
+10E3;GEORGIAN LETTER UN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER UN;;;;
+10E4;GEORGIAN LETTER PHAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER PHAR;;;;
+10E5;GEORGIAN LETTER KHAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER KHAR;;;;
+10E6;GEORGIAN LETTER GHAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER GHAN;;;;
+10E7;GEORGIAN LETTER QAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER QAR;;;;
+10E8;GEORGIAN LETTER SHIN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER SHIN;;;;
+10E9;GEORGIAN LETTER CHIN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER CHIN;;;;
+10EA;GEORGIAN LETTER CAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER CAN;;;;
+10EB;GEORGIAN LETTER JIL;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER JIL;;;;
+10EC;GEORGIAN LETTER CIL;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER CIL;;;;
+10ED;GEORGIAN LETTER CHAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER CHAR;;;;
+10EE;GEORGIAN LETTER XAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER XAN;;;;
+10EF;GEORGIAN LETTER JHAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER JHAN;;;;
+10F0;GEORGIAN LETTER HAE;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER HAE;;;;
+10F1;GEORGIAN LETTER HE;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER HE;;;;
+10F2;GEORGIAN LETTER HIE;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER HIE;;;;
+10F3;GEORGIAN LETTER WE;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER WE;;;;
+10F4;GEORGIAN LETTER HAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER HAR;;;;
+10F5;GEORGIAN LETTER HOE;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER HOE;;;;
+10F6;GEORGIAN LETTER FI;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER FI;;;;
+10FB;GEORGIAN PARAGRAPH SEPARATOR;Po;0;L;;;;;N;;;;;
+1100;HANGUL CHOSEONG KIYEOK;Lo;0;L;;;;;N;;;;;
+1101;HANGUL CHOSEONG SSANGKIYEOK;Lo;0;L;<compat> 1100 1100;;;;N;;;;;
+1102;HANGUL CHOSEONG NIEUN;Lo;0;L;;;;;N;;;;;
+1103;HANGUL CHOSEONG TIKEUT;Lo;0;L;;;;;N;;;;;
+1104;HANGUL CHOSEONG SSANGTIKEUT;Lo;0;L;<compat> 1103 1103;;;;N;;;;;
+1105;HANGUL CHOSEONG RIEUL;Lo;0;L;;;;;N;;;;;
+1106;HANGUL CHOSEONG MIEUM;Lo;0;L;;;;;N;;;;;
+1107;HANGUL CHOSEONG PIEUP;Lo;0;L;;;;;N;;;;;
+1108;HANGUL CHOSEONG SSANGPIEUP;Lo;0;L;<compat> 1107 1107;;;;N;;;;;
+1109;HANGUL CHOSEONG SIOS;Lo;0;L;;;;;N;;;;;
+110A;HANGUL CHOSEONG SSANGSIOS;Lo;0;L;<compat> 1109 1109;;;;N;;;;;
+110B;HANGUL CHOSEONG IEUNG;Lo;0;L;;;;;N;;;;;
+110C;HANGUL CHOSEONG CIEUC;Lo;0;L;;;;;N;;;;;
+110D;HANGUL CHOSEONG SSANGCIEUC;Lo;0;L;<compat> 110C 110C;;;;N;;;;;
+110E;HANGUL CHOSEONG CHIEUCH;Lo;0;L;;;;;N;;;;;
+110F;HANGUL CHOSEONG KHIEUKH;Lo;0;L;;;;;N;;;;;
+1110;HANGUL CHOSEONG THIEUTH;Lo;0;L;;;;;N;;;;;
+1111;HANGUL CHOSEONG PHIEUPH;Lo;0;L;;;;;N;;;;;
+1112;HANGUL CHOSEONG HIEUH;Lo;0;L;;;;;N;;;;;
+1113;HANGUL CHOSEONG NIEUN-KIYEOK;Lo;0;L;<compat> 1102 1100;;;;N;;;;;
+1114;HANGUL CHOSEONG SSANGNIEUN;Lo;0;L;<compat> 1102 1102;;;;N;;;;;
+1115;HANGUL CHOSEONG NIEUN-TIKEUT;Lo;0;L;<compat> 1102 1103;;;;N;;;;;
+1116;HANGUL CHOSEONG NIEUN-PIEUP;Lo;0;L;<compat> 1102 1107;;;;N;;;;;
+1117;HANGUL CHOSEONG TIKEUT-KIYEOK;Lo;0;L;<compat> 1103 1100;;;;N;;;;;
+1118;HANGUL CHOSEONG RIEUL-NIEUN;Lo;0;L;<compat> 1105 1102;;;;N;;;;;
+1119;HANGUL CHOSEONG SSANGRIEUL;Lo;0;L;<compat> 1105 1105;;;;N;;;;;
+111A;HANGUL CHOSEONG RIEUL-HIEUH;Lo;0;L;<compat> 1105 1112;;;;N;;;;;
+111B;HANGUL CHOSEONG KAPYEOUNRIEUL;Lo;0;L;<compat> 1105 110B;;;;N;;;;;
+111C;HANGUL CHOSEONG MIEUM-PIEUP;Lo;0;L;<compat> 1106 1107;;;;N;;;;;
+111D;HANGUL CHOSEONG KAPYEOUNMIEUM;Lo;0;L;<compat> 1106 110B;;;;N;;;;;
+111E;HANGUL CHOSEONG PIEUP-KIYEOK;Lo;0;L;<compat> 1107 1100;;;;N;;;;;
+111F;HANGUL CHOSEONG PIEUP-NIEUN;Lo;0;L;<compat> 1107 1102;;;;N;;;;;
+1120;HANGUL CHOSEONG PIEUP-TIKEUT;Lo;0;L;<compat> 1107 1103;;;;N;;;;;
+1121;HANGUL CHOSEONG PIEUP-SIOS;Lo;0;L;<compat> 1107 1109;;;;N;;;;;
+1122;HANGUL CHOSEONG PIEUP-SIOS-KIYEOK;Lo;0;L;<compat> 1107 1109 1100;;;;N;;;;;
+1123;HANGUL CHOSEONG PIEUP-SIOS-TIKEUT;Lo;0;L;<compat> 1107 1109 1103;;;;N;;;;;
+1124;HANGUL CHOSEONG PIEUP-SIOS-PIEUP;Lo;0;L;<compat> 1107 1109 1107;;;;N;;;;;
+1125;HANGUL CHOSEONG PIEUP-SSANGSIOS;Lo;0;L;<compat> 1107 1109 1109;;;;N;;;;;
+1126;HANGUL CHOSEONG PIEUP-SIOS-CIEUC;Lo;0;L;<compat> 1107 1109 110C;;;;N;;;;;
+1127;HANGUL CHOSEONG PIEUP-CIEUC;Lo;0;L;<compat> 1107 110C;;;;N;;;;;
+1128;HANGUL CHOSEONG PIEUP-CHIEUCH;Lo;0;L;<compat> 1107 110E;;;;N;;;;;
+1129;HANGUL CHOSEONG PIEUP-THIEUTH;Lo;0;L;<compat> 1107 1110;;;;N;;;;;
+112A;HANGUL CHOSEONG PIEUP-PHIEUPH;Lo;0;L;<compat> 1107 1111;;;;N;;;;;
+112B;HANGUL CHOSEONG KAPYEOUNPIEUP;Lo;0;L;<compat> 1107 110B;;;;N;;;;;
+112C;HANGUL CHOSEONG KAPYEOUNSSANGPIEUP;Lo;0;L;<compat> 1107 1107 110B;;;;N;;;;;
+112D;HANGUL CHOSEONG SIOS-KIYEOK;Lo;0;L;<compat> 1109 1100;;;;N;;;;;
+112E;HANGUL CHOSEONG SIOS-NIEUN;Lo;0;L;<compat> 1109 1102;;;;N;;;;;
+112F;HANGUL CHOSEONG SIOS-TIKEUT;Lo;0;L;<compat> 1109 1103;;;;N;;;;;
+1130;HANGUL CHOSEONG SIOS-RIEUL;Lo;0;L;<compat> 1109 1105;;;;N;;;;;
+1131;HANGUL CHOSEONG SIOS-MIEUM;Lo;0;L;<compat> 1109 1106;;;;N;;;;;
+1132;HANGUL CHOSEONG SIOS-PIEUP;Lo;0;L;<compat> 1109 1107;;;;N;;;;;
+1133;HANGUL CHOSEONG SIOS-PIEUP-KIYEOK;Lo;0;L;<compat> 1109 1107 1100;;;;N;;;;;
+1134;HANGUL CHOSEONG SIOS-SSANGSIOS;Lo;0;L;<compat> 1109 1109 1109;;;;N;;;;;
+1135;HANGUL CHOSEONG SIOS-IEUNG;Lo;0;L;<compat> 1109 110B;;;;N;;;;;
+1136;HANGUL CHOSEONG SIOS-CIEUC;Lo;0;L;<compat> 1109 110C;;;;N;;;;;
+1137;HANGUL CHOSEONG SIOS-CHIEUCH;Lo;0;L;<compat> 1109 110E;;;;N;;;;;
+1138;HANGUL CHOSEONG SIOS-KHIEUKH;Lo;0;L;<compat> 1109 110F;;;;N;;;;;
+1139;HANGUL CHOSEONG SIOS-THIEUTH;Lo;0;L;<compat> 1109 1110;;;;N;;;;;
+113A;HANGUL CHOSEONG SIOS-PHIEUPH;Lo;0;L;<compat> 1109 1111;;;;N;;;;;
+113B;HANGUL CHOSEONG SIOS-HIEUH;Lo;0;L;<compat> 1109 1112;;;;N;;;;;
+113C;HANGUL CHOSEONG CHITUEUMSIOS;Lo;0;L;;;;;N;;;;;
+113D;HANGUL CHOSEONG CHITUEUMSSANGSIOS;Lo;0;L;<compat> 113C 113C;;;;N;;;;;
+113E;HANGUL CHOSEONG CEONGCHIEUMSIOS;Lo;0;L;;;;;N;;;;;
+113F;HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS;Lo;0;L;<compat> 113E 113E;;;;N;;;;;
+1140;HANGUL CHOSEONG PANSIOS;Lo;0;L;;;;;N;;;;;
+1141;HANGUL CHOSEONG IEUNG-KIYEOK;Lo;0;L;<compat> 110B 1100;;;;N;;;;;
+1142;HANGUL CHOSEONG IEUNG-TIKEUT;Lo;0;L;<compat> 110B 1103;;;;N;;;;;
+1143;HANGUL CHOSEONG IEUNG-MIEUM;Lo;0;L;<compat> 110B 1106;;;;N;;;;;
+1144;HANGUL CHOSEONG IEUNG-PIEUP;Lo;0;L;<compat> 110B 1107;;;;N;;;;;
+1145;HANGUL CHOSEONG IEUNG-SIOS;Lo;0;L;<compat> 110B 1109;;;;N;;;;;
+1146;HANGUL CHOSEONG IEUNG-PANSIOS;Lo;0;L;<compat> 110B 1140;;;;N;;;;;
+1147;HANGUL CHOSEONG SSANGIEUNG;Lo;0;L;<compat> 110B 110B;;;;N;;;;;
+1148;HANGUL CHOSEONG IEUNG-CIEUC;Lo;0;L;<compat> 110B 110C;;;;N;;;;;
+1149;HANGUL CHOSEONG IEUNG-CHIEUCH;Lo;0;L;<compat> 110B 110E;;;;N;;;;;
+114A;HANGUL CHOSEONG IEUNG-THIEUTH;Lo;0;L;<compat> 110B 1110;;;;N;;;;;
+114B;HANGUL CHOSEONG IEUNG-PHIEUPH;Lo;0;L;<compat> 110B 1111;;;;N;;;;;
+114C;HANGUL CHOSEONG YESIEUNG;Lo;0;L;;;;;N;;;;;
+114D;HANGUL CHOSEONG CIEUC-IEUNG;Lo;0;L;<compat> 110C 110B;;;;N;;;;;
+114E;HANGUL CHOSEONG CHITUEUMCIEUC;Lo;0;L;;;;;N;;;;;
+114F;HANGUL CHOSEONG CHITUEUMSSANGCIEUC;Lo;0;L;<compat> 114E 114E;;;;N;;;;;
+1150;HANGUL CHOSEONG CEONGCHIEUMCIEUC;Lo;0;L;;;;;N;;;;;
+1151;HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC;Lo;0;L;<compat> 1150 1150;;;;N;;;;;
+1152;HANGUL CHOSEONG CHIEUCH-KHIEUKH;Lo;0;L;<compat> 110E 110F;;;;N;;;;;
+1153;HANGUL CHOSEONG CHIEUCH-HIEUH;Lo;0;L;<compat> 110E 1112;;;;N;;;;;
+1154;HANGUL CHOSEONG CHITUEUMCHIEUCH;Lo;0;L;;;;;N;;;;;
+1155;HANGUL CHOSEONG CEONGCHIEUMCHIEUCH;Lo;0;L;;;;;N;;;;;
+1156;HANGUL CHOSEONG PHIEUPH-PIEUP;Lo;0;L;<compat> 1111 1107;;;;N;;;;;
+1157;HANGUL CHOSEONG KAPYEOUNPHIEUPH;Lo;0;L;<compat> 1111 110B;;;;N;;;;;
+1158;HANGUL CHOSEONG SSANGHIEUH;Lo;0;L;<compat> 1112 1112;;;;N;;;;;
+1159;HANGUL CHOSEONG YEORINHIEUH;Lo;0;L;;;;;N;;;;;
+115F;HANGUL CHOSEONG FILLER;Lo;0;L;;;;;N;;;;;
+1160;HANGUL JUNGSEONG FILLER;Lo;0;L;;;;;N;;;;;
+1161;HANGUL JUNGSEONG A;Lo;0;L;;;;;N;;;;;
+1162;HANGUL JUNGSEONG AE;Lo;0;L;<compat> 1161 1175;;;;N;;;;;
+1163;HANGUL JUNGSEONG YA;Lo;0;L;;;;;N;;;;;
+1164;HANGUL JUNGSEONG YAE;Lo;0;L;<compat> 1163 1175;;;;N;;;;;
+1165;HANGUL JUNGSEONG EO;Lo;0;L;;;;;N;;;;;
+1166;HANGUL JUNGSEONG E;Lo;0;L;<compat> 1165 1175;;;;N;;;;;
+1167;HANGUL JUNGSEONG YEO;Lo;0;L;;;;;N;;;;;
+1168;HANGUL JUNGSEONG YE;Lo;0;L;<compat> 1167 1175;;;;N;;;;;
+1169;HANGUL JUNGSEONG O;Lo;0;L;;;;;N;;;;;
+116A;HANGUL JUNGSEONG WA;Lo;0;L;<compat> 1169 1161;;;;N;;;;;
+116B;HANGUL JUNGSEONG WAE;Lo;0;L;<compat> 1169 1161 1175;;;;N;;;;;
+116C;HANGUL JUNGSEONG OE;Lo;0;L;<compat> 1169 1175;;;;N;;;;;
+116D;HANGUL JUNGSEONG YO;Lo;0;L;;;;;N;;;;;
+116E;HANGUL JUNGSEONG U;Lo;0;L;;;;;N;;;;;
+116F;HANGUL JUNGSEONG WEO;Lo;0;L;<compat> 116E 1165;;;;N;;;;;
+1170;HANGUL JUNGSEONG WE;Lo;0;L;<compat> 116E 1165 1175;;;;N;;;;;
+1171;HANGUL JUNGSEONG WI;Lo;0;L;<compat> 116E 1175;;;;N;;;;;
+1172;HANGUL JUNGSEONG YU;Lo;0;L;;;;;N;;;;;
+1173;HANGUL JUNGSEONG EU;Lo;0;L;;;;;N;;;;;
+1174;HANGUL JUNGSEONG YI;Lo;0;L;<compat> 1173 1175;;;;N;;;;;
+1175;HANGUL JUNGSEONG I;Lo;0;L;;;;;N;;;;;
+1176;HANGUL JUNGSEONG A-O;Lo;0;L;<compat> 1161 1169;;;;N;;;;;
+1177;HANGUL JUNGSEONG A-U;Lo;0;L;<compat> 1161 116E;;;;N;;;;;
+1178;HANGUL JUNGSEONG YA-O;Lo;0;L;<compat> 1163 1169;;;;N;;;;;
+1179;HANGUL JUNGSEONG YA-YO;Lo;0;L;<compat> 1163 116D;;;;N;;;;;
+117A;HANGUL JUNGSEONG EO-O;Lo;0;L;<compat> 1165 1169;;;;N;;;;;
+117B;HANGUL JUNGSEONG EO-U;Lo;0;L;<compat> 1165 116E;;;;N;;;;;
+117C;HANGUL JUNGSEONG EO-EU;Lo;0;L;<compat> 1165 1173;;;;N;;;;;
+117D;HANGUL JUNGSEONG YEO-O;Lo;0;L;<compat> 1167 1169;;;;N;;;;;
+117E;HANGUL JUNGSEONG YEO-U;Lo;0;L;<compat> 1167 116E;;;;N;;;;;
+117F;HANGUL JUNGSEONG O-EO;Lo;0;L;<compat> 1169 1165;;;;N;;;;;
+1180;HANGUL JUNGSEONG O-E;Lo;0;L;<compat> 1169 1166;;;;N;;;;;
+1181;HANGUL JUNGSEONG O-YE;Lo;0;L;<compat> 1169 1168;;;;N;;;;;
+1182;HANGUL JUNGSEONG O-O;Lo;0;L;<compat> 1169 1169;;;;N;;;;;
+1183;HANGUL JUNGSEONG O-U;Lo;0;L;<compat> 1169 116E;;;;N;;;;;
+1184;HANGUL JUNGSEONG YO-YA;Lo;0;L;<compat> 116D 1163;;;;N;;;;;
+1185;HANGUL JUNGSEONG YO-YAE;Lo;0;L;<compat> 116D 1164;;;;N;;;;;
+1186;HANGUL JUNGSEONG YO-YEO;Lo;0;L;<compat> 116D 1167;;;;N;;;;;
+1187;HANGUL JUNGSEONG YO-O;Lo;0;L;<compat> 116D 1169;;;;N;;;;;
+1188;HANGUL JUNGSEONG YO-I;Lo;0;L;<compat> 116D 1175;;;;N;;;;;
+1189;HANGUL JUNGSEONG U-A;Lo;0;L;<compat> 116E 1161;;;;N;;;;;
+118A;HANGUL JUNGSEONG U-AE;Lo;0;L;<compat> 116E 1162;;;;N;;;;;
+118B;HANGUL JUNGSEONG U-EO-EU;Lo;0;L;<compat> 116E 1165 1173;;;;N;;;;;
+118C;HANGUL JUNGSEONG U-YE;Lo;0;L;<compat> 116E 1168;;;;N;;;;;
+118D;HANGUL JUNGSEONG U-U;Lo;0;L;<compat> 116E 116E;;;;N;;;;;
+118E;HANGUL JUNGSEONG YU-A;Lo;0;L;<compat> 1172 1161;;;;N;;;;;
+118F;HANGUL JUNGSEONG YU-EO;Lo;0;L;<compat> 1172 1165;;;;N;;;;;
+1190;HANGUL JUNGSEONG YU-E;Lo;0;L;<compat> 1172 1166;;;;N;;;;;
+1191;HANGUL JUNGSEONG YU-YEO;Lo;0;L;<compat> 1172 1167;;;;N;;;;;
+1192;HANGUL JUNGSEONG YU-YE;Lo;0;L;<compat> 1172 1168;;;;N;;;;;
+1193;HANGUL JUNGSEONG YU-U;Lo;0;L;<compat> 1172 116E;;;;N;;;;;
+1194;HANGUL JUNGSEONG YU-I;Lo;0;L;<compat> 1172 1175;;;;N;;;;;
+1195;HANGUL JUNGSEONG EU-U;Lo;0;L;<compat> 1173 116E;;;;N;;;;;
+1196;HANGUL JUNGSEONG EU-EU;Lo;0;L;<compat> 1173 1173;;;;N;;;;;
+1197;HANGUL JUNGSEONG YI-U;Lo;0;L;<compat> 1174 116E;;;;N;;;;;
+1198;HANGUL JUNGSEONG I-A;Lo;0;L;<compat> 1175 1161;;;;N;;;;;
+1199;HANGUL JUNGSEONG I-YA;Lo;0;L;<compat> 1175 1163;;;;N;;;;;
+119A;HANGUL JUNGSEONG I-O;Lo;0;L;<compat> 1175 1169;;;;N;;;;;
+119B;HANGUL JUNGSEONG I-U;Lo;0;L;<compat> 1175 116E;;;;N;;;;;
+119C;HANGUL JUNGSEONG I-EU;Lo;0;L;<compat> 1175 1173;;;;N;;;;;
+119D;HANGUL JUNGSEONG I-ARAEA;Lo;0;L;<compat> 1175 119E;;;;N;;;;;
+119E;HANGUL JUNGSEONG ARAEA;Lo;0;L;;;;;N;;;;;
+119F;HANGUL JUNGSEONG ARAEA-EO;Lo;0;L;<compat> 119E 1165;;;;N;;;;;
+11A0;HANGUL JUNGSEONG ARAEA-U;Lo;0;L;<compat> 119E 116E;;;;N;;;;;
+11A1;HANGUL JUNGSEONG ARAEA-I;Lo;0;L;<compat> 119E 1175;;;;N;;;;;
+11A2;HANGUL JUNGSEONG SSANGARAEA;Lo;0;L;<compat> 119E 119E;;;;N;;;;;
+11A8;HANGUL JONGSEONG KIYEOK;Lo;0;L;;;;;N;;;;;
+11A9;HANGUL JONGSEONG SSANGKIYEOK;Lo;0;L;<compat> 11A8 11A8;;;;N;;;;;
+11AA;HANGUL JONGSEONG KIYEOK-SIOS;Lo;0;L;<compat> 11A8 11BA;;;;N;;;;;
+11AB;HANGUL JONGSEONG NIEUN;Lo;0;L;;;;;N;;;;;
+11AC;HANGUL JONGSEONG NIEUN-CIEUC;Lo;0;L;<compat> 11AB 11BD;;;;N;;;;;
+11AD;HANGUL JONGSEONG NIEUN-HIEUH;Lo;0;L;<compat> 11AB 11C2;;;;N;;;;;
+11AE;HANGUL JONGSEONG TIKEUT;Lo;0;L;;;;;N;;;;;
+11AF;HANGUL JONGSEONG RIEUL;Lo;0;L;;;;;N;;;;;
+11B0;HANGUL JONGSEONG RIEUL-KIYEOK;Lo;0;L;<compat> 11AF 11A8;;;;N;;;;;
+11B1;HANGUL JONGSEONG RIEUL-MIEUM;Lo;0;L;<compat> 11AF 11B7;;;;N;;;;;
+11B2;HANGUL JONGSEONG RIEUL-PIEUP;Lo;0;L;<compat> 11AF 11B8;;;;N;;;;;
+11B3;HANGUL JONGSEONG RIEUL-SIOS;Lo;0;L;<compat> 11AF 11BA;;;;N;;;;;
+11B4;HANGUL JONGSEONG RIEUL-THIEUTH;Lo;0;L;<compat> 11AF 11C0;;;;N;;;;;
+11B5;HANGUL JONGSEONG RIEUL-PHIEUPH;Lo;0;L;<compat> 11AF 11C1;;;;N;;;;;
+11B6;HANGUL JONGSEONG RIEUL-HIEUH;Lo;0;L;<compat> 11AF 11C2;;;;N;;;;;
+11B7;HANGUL JONGSEONG MIEUM;Lo;0;L;;;;;N;;;;;
+11B8;HANGUL JONGSEONG PIEUP;Lo;0;L;;;;;N;;;;;
+11B9;HANGUL JONGSEONG PIEUP-SIOS;Lo;0;L;<compat> 11B8 11BA;;;;N;;;;;
+11BA;HANGUL JONGSEONG SIOS;Lo;0;L;;;;;N;;;;;
+11BB;HANGUL JONGSEONG SSANGSIOS;Lo;0;L;<compat> 11BA 11BA;;;;N;;;;;
+11BC;HANGUL JONGSEONG IEUNG;Lo;0;L;;;;;N;;;;;
+11BD;HANGUL JONGSEONG CIEUC;Lo;0;L;;;;;N;;;;;
+11BE;HANGUL JONGSEONG CHIEUCH;Lo;0;L;;;;;N;;;;;
+11BF;HANGUL JONGSEONG KHIEUKH;Lo;0;L;;;;;N;;;;;
+11C0;HANGUL JONGSEONG THIEUTH;Lo;0;L;;;;;N;;;;;
+11C1;HANGUL JONGSEONG PHIEUPH;Lo;0;L;;;;;N;;;;;
+11C2;HANGUL JONGSEONG HIEUH;Lo;0;L;;;;;N;;;;;
+11C3;HANGUL JONGSEONG KIYEOK-RIEUL;Lo;0;L;<compat> 11A8 11AF;;;;N;;;;;
+11C4;HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK;Lo;0;L;<compat> 11A8 11BA 11A8;;;;N;;;;;
+11C5;HANGUL JONGSEONG NIEUN-KIYEOK;Lo;0;L;<compat> 11AB 11A8;;;;N;;;;;
+11C6;HANGUL JONGSEONG NIEUN-TIKEUT;Lo;0;L;<compat> 11AB 11AE;;;;N;;;;;
+11C7;HANGUL JONGSEONG NIEUN-SIOS;Lo;0;L;<compat> 11AB 11BA;;;;N;;;;;
+11C8;HANGUL JONGSEONG NIEUN-PANSIOS;Lo;0;L;<compat> 11AB 11EB;;;;N;;;;;
+11C9;HANGUL JONGSEONG NIEUN-THIEUTH;Lo;0;L;<compat> 11AB 11C0;;;;N;;;;;
+11CA;HANGUL JONGSEONG TIKEUT-KIYEOK;Lo;0;L;<compat> 11AE 11A8;;;;N;;;;;
+11CB;HANGUL JONGSEONG TIKEUT-RIEUL;Lo;0;L;<compat> 11AE 11AF;;;;N;;;;;
+11CC;HANGUL JONGSEONG RIEUL-KIYEOK-SIOS;Lo;0;L;<compat> 11AF 11A8 11BA;;;;N;;;;;
+11CD;HANGUL JONGSEONG RIEUL-NIEUN;Lo;0;L;<compat> 11AF 11AB;;;;N;;;;;
+11CE;HANGUL JONGSEONG RIEUL-TIKEUT;Lo;0;L;<compat> 11AF 11AE;;;;N;;;;;
+11CF;HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH;Lo;0;L;<compat> 11AF 11AE 11C2;;;;N;;;;;
+11D0;HANGUL JONGSEONG SSANGRIEUL;Lo;0;L;<compat> 11AF 11AF;;;;N;;;;;
+11D1;HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK;Lo;0;L;<compat> 11AF 11B7 11A8;;;;N;;;;;
+11D2;HANGUL JONGSEONG RIEUL-MIEUM-SIOS;Lo;0;L;<compat> 11AF 11B7 11BA;;;;N;;;;;
+11D3;HANGUL JONGSEONG RIEUL-PIEUP-SIOS;Lo;0;L;<compat> 11AF 11B8 11BA;;;;N;;;;;
+11D4;HANGUL JONGSEONG RIEUL-PIEUP-HIEUH;Lo;0;L;<compat> 11AF 11B8 11C2;;;;N;;;;;
+11D5;HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP;Lo;0;L;<compat> 11AF 11B8 11BC;;;;N;;;;;
+11D6;HANGUL JONGSEONG RIEUL-SSANGSIOS;Lo;0;L;<compat> 11AF 11BA 11BA;;;;N;;;;;
+11D7;HANGUL JONGSEONG RIEUL-PANSIOS;Lo;0;L;<compat> 11AF 11EB;;;;N;;;;;
+11D8;HANGUL JONGSEONG RIEUL-KHIEUKH;Lo;0;L;<compat> 11AF 11BF;;;;N;;;;;
+11D9;HANGUL JONGSEONG RIEUL-YEORINHIEUH;Lo;0;L;<compat> 11AF 11F9;;;;N;;;;;
+11DA;HANGUL JONGSEONG MIEUM-KIYEOK;Lo;0;L;<compat> 11B7 11A8;;;;N;;;;;
+11DB;HANGUL JONGSEONG MIEUM-RIEUL;Lo;0;L;<compat> 11B7 11AF;;;;N;;;;;
+11DC;HANGUL JONGSEONG MIEUM-PIEUP;Lo;0;L;<compat> 11B7 11B8;;;;N;;;;;
+11DD;HANGUL JONGSEONG MIEUM-SIOS;Lo;0;L;<compat> 11B7 11BA;;;;N;;;;;
+11DE;HANGUL JONGSEONG MIEUM-SSANGSIOS;Lo;0;L;<compat> 11B7 11BA 11BA;;;;N;;;;;
+11DF;HANGUL JONGSEONG MIEUM-PANSIOS;Lo;0;L;<compat> 11B7 11EB;;;;N;;;;;
+11E0;HANGUL JONGSEONG MIEUM-CHIEUCH;Lo;0;L;<compat> 11B7 11BE;;;;N;;;;;
+11E1;HANGUL JONGSEONG MIEUM-HIEUH;Lo;0;L;<compat> 11B7 11C2;;;;N;;;;;
+11E2;HANGUL JONGSEONG KAPYEOUNMIEUM;Lo;0;L;<compat> 11B7 11BC;;;;N;;;;;
+11E3;HANGUL JONGSEONG PIEUP-RIEUL;Lo;0;L;<compat> 11B8 11AF;;;;N;;;;;
+11E4;HANGUL JONGSEONG PIEUP-PHIEUPH;Lo;0;L;<compat> 11B8 11C1;;;;N;;;;;
+11E5;HANGUL JONGSEONG PIEUP-HIEUH;Lo;0;L;<compat> 11B8 11C2;;;;N;;;;;
+11E6;HANGUL JONGSEONG KAPYEOUNPIEUP;Lo;0;L;<compat> 11B8 11BC;;;;N;;;;;
+11E7;HANGUL JONGSEONG SIOS-KIYEOK;Lo;0;L;<compat> 11BA 11A8;;;;N;;;;;
+11E8;HANGUL JONGSEONG SIOS-TIKEUT;Lo;0;L;<compat> 11BA 11AE;;;;N;;;;;
+11E9;HANGUL JONGSEONG SIOS-RIEUL;Lo;0;L;<compat> 11BA 11AF;;;;N;;;;;
+11EA;HANGUL JONGSEONG SIOS-PIEUP;Lo;0;L;<compat> 11BA 11B8;;;;N;;;;;
+11EB;HANGUL JONGSEONG PANSIOS;Lo;0;L;;;;;N;;;;;
+11EC;HANGUL JONGSEONG IEUNG-KIYEOK;Lo;0;L;<compat> 11BC 11A8;;;;N;;;;;
+11ED;HANGUL JONGSEONG IEUNG-SSANGKIYEOK;Lo;0;L;<compat> 11BC 11A8 11A8;;;;N;;;;;
+11EE;HANGUL JONGSEONG SSANGIEUNG;Lo;0;L;<compat> 11BC 11BC;;;;N;;;;;
+11EF;HANGUL JONGSEONG IEUNG-KHIEUKH;Lo;0;L;<compat> 11BC 11BF;;;;N;;;;;
+11F0;HANGUL JONGSEONG YESIEUNG;Lo;0;L;;;;;N;;;;;
+11F1;HANGUL JONGSEONG YESIEUNG-SIOS;Lo;0;L;<compat> 11F0 11BA;;;;N;;;;;
+11F2;HANGUL JONGSEONG YESIEUNG-PANSIOS;Lo;0;L;<compat> 11F0 11EB;;;;N;;;;;
+11F3;HANGUL JONGSEONG PHIEUPH-PIEUP;Lo;0;L;<compat> 11C1 11B8;;;;N;;;;;
+11F4;HANGUL JONGSEONG KAPYEOUNPHIEUPH;Lo;0;L;<compat> 11C1 11BC;;;;N;;;;;
+11F5;HANGUL JONGSEONG HIEUH-NIEUN;Lo;0;L;<compat> 11C2 11AB;;;;N;;;;;
+11F6;HANGUL JONGSEONG HIEUH-RIEUL;Lo;0;L;<compat> 11C2 11AF;;;;N;;;;;
+11F7;HANGUL JONGSEONG HIEUH-MIEUM;Lo;0;L;<compat> 11C2 11B7;;;;N;;;;;
+11F8;HANGUL JONGSEONG HIEUH-PIEUP;Lo;0;L;<compat> 11C2 11B8;;;;N;;;;;
+11F9;HANGUL JONGSEONG YEORINHIEUH;Lo;0;L;;;;;N;;;;;
+1E00;LATIN CAPITAL LETTER A WITH RING BELOW;Lu;0;L;0041 0325;;;;N;;;;1E01;
+1E01;LATIN SMALL LETTER A WITH RING BELOW;Ll;0;L;0061 0325;;;;N;;;1E00;;1E00
+1E02;LATIN CAPITAL LETTER B WITH DOT ABOVE;Lu;0;L;0042 0307;;;;N;;;;1E03;
+1E03;LATIN SMALL LETTER B WITH DOT ABOVE;Ll;0;L;0062 0307;;;;N;;;1E02;;1E02
+1E04;LATIN CAPITAL LETTER B WITH DOT BELOW;Lu;0;L;0042 0323;;;;N;;;;1E05;
+1E05;LATIN SMALL LETTER B WITH DOT BELOW;Ll;0;L;0062 0323;;;;N;;;1E04;;1E04
+1E06;LATIN CAPITAL LETTER B WITH LINE BELOW;Lu;0;L;0042 0331;;;;N;;;;1E07;
+1E07;LATIN SMALL LETTER B WITH LINE BELOW;Ll;0;L;0062 0331;;;;N;;;1E06;;1E06
+1E08;LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE;Lu;0;L;00C7 0301;;;;N;;;;1E09;
+1E09;LATIN SMALL LETTER C WITH CEDILLA AND ACUTE;Ll;0;L;00E7 0301;;;;N;;;1E08;;1E08
+1E0A;LATIN CAPITAL LETTER D WITH DOT ABOVE;Lu;0;L;0044 0307;;;;N;;;;1E0B;
+1E0B;LATIN SMALL LETTER D WITH DOT ABOVE;Ll;0;L;0064 0307;;;;N;;;1E0A;;1E0A
+1E0C;LATIN CAPITAL LETTER D WITH DOT BELOW;Lu;0;L;0044 0323;;;;N;;;;1E0D;
+1E0D;LATIN SMALL LETTER D WITH DOT BELOW;Ll;0;L;0064 0323;;;;N;;;1E0C;;1E0C
+1E0E;LATIN CAPITAL LETTER D WITH LINE BELOW;Lu;0;L;0044 0331;;;;N;;;;1E0F;
+1E0F;LATIN SMALL LETTER D WITH LINE BELOW;Ll;0;L;0064 0331;;;;N;;;1E0E;;1E0E
+1E10;LATIN CAPITAL LETTER D WITH CEDILLA;Lu;0;L;0044 0327;;;;N;;;;1E11;
+1E11;LATIN SMALL LETTER D WITH CEDILLA;Ll;0;L;0064 0327;;;;N;;;1E10;;1E10
+1E12;LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW;Lu;0;L;0044 032D;;;;N;;;;1E13;
+1E13;LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW;Ll;0;L;0064 032D;;;;N;;;1E12;;1E12
+1E14;LATIN CAPITAL LETTER E WITH MACRON AND GRAVE;Lu;0;L;0112 0300;;;;N;;;;1E15;
+1E15;LATIN SMALL LETTER E WITH MACRON AND GRAVE;Ll;0;L;0113 0300;;;;N;;;1E14;;1E14
+1E16;LATIN CAPITAL LETTER E WITH MACRON AND ACUTE;Lu;0;L;0112 0301;;;;N;;;;1E17;
+1E17;LATIN SMALL LETTER E WITH MACRON AND ACUTE;Ll;0;L;0113 0301;;;;N;;;1E16;;1E16
+1E18;LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW;Lu;0;L;0045 032D;;;;N;;;;1E19;
+1E19;LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW;Ll;0;L;0065 032D;;;;N;;;1E18;;1E18
+1E1A;LATIN CAPITAL LETTER E WITH TILDE BELOW;Lu;0;L;0045 0330;;;;N;;;;1E1B;
+1E1B;LATIN SMALL LETTER E WITH TILDE BELOW;Ll;0;L;0065 0330;;;;N;;;1E1A;;1E1A
+1E1C;LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE;Lu;0;L;0114 0327;;;;N;;;;1E1D;
+1E1D;LATIN SMALL LETTER E WITH CEDILLA AND BREVE;Ll;0;L;0115 0327;;;;N;;;1E1C;;1E1C
+1E1E;LATIN CAPITAL LETTER F WITH DOT ABOVE;Lu;0;L;0046 0307;;;;N;;;;1E1F;
+1E1F;LATIN SMALL LETTER F WITH DOT ABOVE;Ll;0;L;0066 0307;;;;N;;;1E1E;;1E1E
+1E20;LATIN CAPITAL LETTER G WITH MACRON;Lu;0;L;0047 0304;;;;N;;;;1E21;
+1E21;LATIN SMALL LETTER G WITH MACRON;Ll;0;L;0067 0304;;;;N;;;1E20;;1E20
+1E22;LATIN CAPITAL LETTER H WITH DOT ABOVE;Lu;0;L;0048 0307;;;;N;;;;1E23;
+1E23;LATIN SMALL LETTER H WITH DOT ABOVE;Ll;0;L;0068 0307;;;;N;;;1E22;;1E22
+1E24;LATIN CAPITAL LETTER H WITH DOT BELOW;Lu;0;L;0048 0323;;;;N;;;;1E25;
+1E25;LATIN SMALL LETTER H WITH DOT BELOW;Ll;0;L;0068 0323;;;;N;;;1E24;;1E24
+1E26;LATIN CAPITAL LETTER H WITH DIAERESIS;Lu;0;L;0048 0308;;;;N;;;;1E27;
+1E27;LATIN SMALL LETTER H WITH DIAERESIS;Ll;0;L;0068 0308;;;;N;;;1E26;;1E26
+1E28;LATIN CAPITAL LETTER H WITH CEDILLA;Lu;0;L;0048 0327;;;;N;;;;1E29;
+1E29;LATIN SMALL LETTER H WITH CEDILLA;Ll;0;L;0068 0327;;;;N;;;1E28;;1E28
+1E2A;LATIN CAPITAL LETTER H WITH BREVE BELOW;Lu;0;L;0048 032E;;;;N;;;;1E2B;
+1E2B;LATIN SMALL LETTER H WITH BREVE BELOW;Ll;0;L;0068 032E;;;;N;;;1E2A;;1E2A
+1E2C;LATIN CAPITAL LETTER I WITH TILDE BELOW;Lu;0;L;0049 0330;;;;N;;;;1E2D;
+1E2D;LATIN SMALL LETTER I WITH TILDE BELOW;Ll;0;L;0069 0330;;;;N;;;1E2C;;1E2C
+1E2E;LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE;Lu;0;L;00CF 0301;;;;N;;;;1E2F;
+1E2F;LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE;Ll;0;L;00EF 0301;;;;N;;;1E2E;;1E2E
+1E30;LATIN CAPITAL LETTER K WITH ACUTE;Lu;0;L;004B 0301;;;;N;;;;1E31;
+1E31;LATIN SMALL LETTER K WITH ACUTE;Ll;0;L;006B 0301;;;;N;;;1E30;;1E30
+1E32;LATIN CAPITAL LETTER K WITH DOT BELOW;Lu;0;L;004B 0323;;;;N;;;;1E33;
+1E33;LATIN SMALL LETTER K WITH DOT BELOW;Ll;0;L;006B 0323;;;;N;;;1E32;;1E32
+1E34;LATIN CAPITAL LETTER K WITH LINE BELOW;Lu;0;L;004B 0331;;;;N;;;;1E35;
+1E35;LATIN SMALL LETTER K WITH LINE BELOW;Ll;0;L;006B 0331;;;;N;;;1E34;;1E34
+1E36;LATIN CAPITAL LETTER L WITH DOT BELOW;Lu;0;L;004C 0323;;;;N;;;;1E37;
+1E37;LATIN SMALL LETTER L WITH DOT BELOW;Ll;0;L;006C 0323;;;;N;;;1E36;;1E36
+1E38;LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON;Lu;0;L;1E36 0304;;;;N;;;;1E39;
+1E39;LATIN SMALL LETTER L WITH DOT BELOW AND MACRON;Ll;0;L;1E37 0304;;;;N;;;1E38;;1E38
+1E3A;LATIN CAPITAL LETTER L WITH LINE BELOW;Lu;0;L;004C 0331;;;;N;;;;1E3B;
+1E3B;LATIN SMALL LETTER L WITH LINE BELOW;Ll;0;L;006C 0331;;;;N;;;1E3A;;1E3A
+1E3C;LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW;Lu;0;L;004C 032D;;;;N;;;;1E3D;
+1E3D;LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW;Ll;0;L;006C 032D;;;;N;;;1E3C;;1E3C
+1E3E;LATIN CAPITAL LETTER M WITH ACUTE;Lu;0;L;004D 0301;;;;N;;;;1E3F;
+1E3F;LATIN SMALL LETTER M WITH ACUTE;Ll;0;L;006D 0301;;;;N;;;1E3E;;1E3E
+1E40;LATIN CAPITAL LETTER M WITH DOT ABOVE;Lu;0;L;004D 0307;;;;N;;;;1E41;
+1E41;LATIN SMALL LETTER M WITH DOT ABOVE;Ll;0;L;006D 0307;;;;N;;;1E40;;1E40
+1E42;LATIN CAPITAL LETTER M WITH DOT BELOW;Lu;0;L;004D 0323;;;;N;;;;1E43;
+1E43;LATIN SMALL LETTER M WITH DOT BELOW;Ll;0;L;006D 0323;;;;N;;;1E42;;1E42
+1E44;LATIN CAPITAL LETTER N WITH DOT ABOVE;Lu;0;L;004E 0307;;;;N;;;;1E45;
+1E45;LATIN SMALL LETTER N WITH DOT ABOVE;Ll;0;L;006E 0307;;;;N;;;1E44;;1E44
+1E46;LATIN CAPITAL LETTER N WITH DOT BELOW;Lu;0;L;004E 0323;;;;N;;;;1E47;
+1E47;LATIN SMALL LETTER N WITH DOT BELOW;Ll;0;L;006E 0323;;;;N;;;1E46;;1E46
+1E48;LATIN CAPITAL LETTER N WITH LINE BELOW;Lu;0;L;004E 0331;;;;N;;;;1E49;
+1E49;LATIN SMALL LETTER N WITH LINE BELOW;Ll;0;L;006E 0331;;;;N;;;1E48;;1E48
+1E4A;LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW;Lu;0;L;004E 032D;;;;N;;;;1E4B;
+1E4B;LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW;Ll;0;L;006E 032D;;;;N;;;1E4A;;1E4A
+1E4C;LATIN CAPITAL LETTER O WITH TILDE AND ACUTE;Lu;0;L;00D5 0301;;;;N;;;;1E4D;
+1E4D;LATIN SMALL LETTER O WITH TILDE AND ACUTE;Ll;0;L;00F5 0301;;;;N;;;1E4C;;1E4C
+1E4E;LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS;Lu;0;L;00D5 0308;;;;N;;;;1E4F;
+1E4F;LATIN SMALL LETTER O WITH TILDE AND DIAERESIS;Ll;0;L;00F5 0308;;;;N;;;1E4E;;1E4E
+1E50;LATIN CAPITAL LETTER O WITH MACRON AND GRAVE;Lu;0;L;014C 0300;;;;N;;;;1E51;
+1E51;LATIN SMALL LETTER O WITH MACRON AND GRAVE;Ll;0;L;014D 0300;;;;N;;;1E50;;1E50
+1E52;LATIN CAPITAL LETTER O WITH MACRON AND ACUTE;Lu;0;L;014C 0301;;;;N;;;;1E53;
+1E53;LATIN SMALL LETTER O WITH MACRON AND ACUTE;Ll;0;L;014D 0301;;;;N;;;1E52;;1E52
+1E54;LATIN CAPITAL LETTER P WITH ACUTE;Lu;0;L;0050 0301;;;;N;;;;1E55;
+1E55;LATIN SMALL LETTER P WITH ACUTE;Ll;0;L;0070 0301;;;;N;;;1E54;;1E54
+1E56;LATIN CAPITAL LETTER P WITH DOT ABOVE;Lu;0;L;0050 0307;;;;N;;;;1E57;
+1E57;LATIN SMALL LETTER P WITH DOT ABOVE;Ll;0;L;0070 0307;;;;N;;;1E56;;1E56
+1E58;LATIN CAPITAL LETTER R WITH DOT ABOVE;Lu;0;L;0052 0307;;;;N;;;;1E59;
+1E59;LATIN SMALL LETTER R WITH DOT ABOVE;Ll;0;L;0072 0307;;;;N;;;1E58;;1E58
+1E5A;LATIN CAPITAL LETTER R WITH DOT BELOW;Lu;0;L;0052 0323;;;;N;;;;1E5B;
+1E5B;LATIN SMALL LETTER R WITH DOT BELOW;Ll;0;L;0072 0323;;;;N;;;1E5A;;1E5A
+1E5C;LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON;Lu;0;L;1E5A 0304;;;;N;;;;1E5D;
+1E5D;LATIN SMALL LETTER R WITH DOT BELOW AND MACRON;Ll;0;L;1E5B 0304;;;;N;;;1E5C;;1E5C
+1E5E;LATIN CAPITAL LETTER R WITH LINE BELOW;Lu;0;L;0052 0331;;;;N;;;;1E5F;
+1E5F;LATIN SMALL LETTER R WITH LINE BELOW;Ll;0;L;0072 0331;;;;N;;;1E5E;;1E5E
+1E60;LATIN CAPITAL LETTER S WITH DOT ABOVE;Lu;0;L;0053 0307;;;;N;;;;1E61;
+1E61;LATIN SMALL LETTER S WITH DOT ABOVE;Ll;0;L;0073 0307;;;;N;;;1E60;;1E60
+1E62;LATIN CAPITAL LETTER S WITH DOT BELOW;Lu;0;L;0053 0323;;;;N;;;;1E63;
+1E63;LATIN SMALL LETTER S WITH DOT BELOW;Ll;0;L;0073 0323;;;;N;;;1E62;;1E62
+1E64;LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE;Lu;0;L;015A 0307;;;;N;;;;1E65;
+1E65;LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE;Ll;0;L;015B 0307;;;;N;;;1E64;;1E64
+1E66;LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE;Lu;0;L;0160 0307;;;;N;;;;1E67;
+1E67;LATIN SMALL LETTER S WITH CARON AND DOT ABOVE;Ll;0;L;0161 0307;;;;N;;;1E66;;1E66
+1E68;LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE;Lu;0;L;1E62 0307;;;;N;;;;1E69;
+1E69;LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE;Ll;0;L;1E63 0307;;;;N;;;1E68;;1E68
+1E6A;LATIN CAPITAL LETTER T WITH DOT ABOVE;Lu;0;L;0054 0307;;;;N;;;;1E6B;
+1E6B;LATIN SMALL LETTER T WITH DOT ABOVE;Ll;0;L;0074 0307;;;;N;;;1E6A;;1E6A
+1E6C;LATIN CAPITAL LETTER T WITH DOT BELOW;Lu;0;L;0054 0323;;;;N;;;;1E6D;
+1E6D;LATIN SMALL LETTER T WITH DOT BELOW;Ll;0;L;0074 0323;;;;N;;;1E6C;;1E6C
+1E6E;LATIN CAPITAL LETTER T WITH LINE BELOW;Lu;0;L;0054 0331;;;;N;;;;1E6F;
+1E6F;LATIN SMALL LETTER T WITH LINE BELOW;Ll;0;L;0074 0331;;;;N;;;1E6E;;1E6E
+1E70;LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW;Lu;0;L;0054 032D;;;;N;;;;1E71;
+1E71;LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW;Ll;0;L;0074 032D;;;;N;;;1E70;;1E70
+1E72;LATIN CAPITAL LETTER U WITH DIAERESIS BELOW;Lu;0;L;0055 0324;;;;N;;;;1E73;
+1E73;LATIN SMALL LETTER U WITH DIAERESIS BELOW;Ll;0;L;0075 0324;;;;N;;;1E72;;1E72
+1E74;LATIN CAPITAL LETTER U WITH TILDE BELOW;Lu;0;L;0055 0330;;;;N;;;;1E75;
+1E75;LATIN SMALL LETTER U WITH TILDE BELOW;Ll;0;L;0075 0330;;;;N;;;1E74;;1E74
+1E76;LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW;Lu;0;L;0055 032D;;;;N;;;;1E77;
+1E77;LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW;Ll;0;L;0075 032D;;;;N;;;1E76;;1E76
+1E78;LATIN CAPITAL LETTER U WITH TILDE AND ACUTE;Lu;0;L;0168 0301;;;;N;;;;1E79;
+1E79;LATIN SMALL LETTER U WITH TILDE AND ACUTE;Ll;0;L;0169 0301;;;;N;;;1E78;;1E78
+1E7A;LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS;Lu;0;L;016A 0308;;;;N;;;;1E7B;
+1E7B;LATIN SMALL LETTER U WITH MACRON AND DIAERESIS;Ll;0;L;016B 0308;;;;N;;;1E7A;;1E7A
+1E7C;LATIN CAPITAL LETTER V WITH TILDE;Lu;0;L;0056 0303;;;;N;;;;1E7D;
+1E7D;LATIN SMALL LETTER V WITH TILDE;Ll;0;L;0076 0303;;;;N;;;1E7C;;1E7C
+1E7E;LATIN CAPITAL LETTER V WITH DOT BELOW;Lu;0;L;0056 0323;;;;N;;;;1E7F;
+1E7F;LATIN SMALL LETTER V WITH DOT BELOW;Ll;0;L;0076 0323;;;;N;;;1E7E;;1E7E
+1E80;LATIN CAPITAL LETTER W WITH GRAVE;Lu;0;L;0057 0300;;;;N;;;;1E81;
+1E81;LATIN SMALL LETTER W WITH GRAVE;Ll;0;L;0077 0300;;;;N;;;1E80;;1E80
+1E82;LATIN CAPITAL LETTER W WITH ACUTE;Lu;0;L;0057 0301;;;;N;;;;1E83;
+1E83;LATIN SMALL LETTER W WITH ACUTE;Ll;0;L;0077 0301;;;;N;;;1E82;;1E82
+1E84;LATIN CAPITAL LETTER W WITH DIAERESIS;Lu;0;L;0057 0308;;;;N;;;;1E85;
+1E85;LATIN SMALL LETTER W WITH DIAERESIS;Ll;0;L;0077 0308;;;;N;;;1E84;;1E84
+1E86;LATIN CAPITAL LETTER W WITH DOT ABOVE;Lu;0;L;0057 0307;;;;N;;;;1E87;
+1E87;LATIN SMALL LETTER W WITH DOT ABOVE;Ll;0;L;0077 0307;;;;N;;;1E86;;1E86
+1E88;LATIN CAPITAL LETTER W WITH DOT BELOW;Lu;0;L;0057 0323;;;;N;;;;1E89;
+1E89;LATIN SMALL LETTER W WITH DOT BELOW;Ll;0;L;0077 0323;;;;N;;;1E88;;1E88
+1E8A;LATIN CAPITAL LETTER X WITH DOT ABOVE;Lu;0;L;0058 0307;;;;N;;;;1E8B;
+1E8B;LATIN SMALL LETTER X WITH DOT ABOVE;Ll;0;L;0078 0307;;;;N;;;1E8A;;1E8A
+1E8C;LATIN CAPITAL LETTER X WITH DIAERESIS;Lu;0;L;0058 0308;;;;N;;;;1E8D;
+1E8D;LATIN SMALL LETTER X WITH DIAERESIS;Ll;0;L;0078 0308;;;;N;;;1E8C;;1E8C
+1E8E;LATIN CAPITAL LETTER Y WITH DOT ABOVE;Lu;0;L;0059 0307;;;;N;;;;1E8F;
+1E8F;LATIN SMALL LETTER Y WITH DOT ABOVE;Ll;0;L;0079 0307;;;;N;;;1E8E;;1E8E
+1E90;LATIN CAPITAL LETTER Z WITH CIRCUMFLEX;Lu;0;L;005A 0302;;;;N;;;;1E91;
+1E91;LATIN SMALL LETTER Z WITH CIRCUMFLEX;Ll;0;L;007A 0302;;;;N;;;1E90;;1E90
+1E92;LATIN CAPITAL LETTER Z WITH DOT BELOW;Lu;0;L;005A 0323;;;;N;;;;1E93;
+1E93;LATIN SMALL LETTER Z WITH DOT BELOW;Ll;0;L;007A 0323;;;;N;;;1E92;;1E92
+1E94;LATIN CAPITAL LETTER Z WITH LINE BELOW;Lu;0;L;005A 0331;;;;N;;;;1E95;
+1E95;LATIN SMALL LETTER Z WITH LINE BELOW;Ll;0;L;007A 0331;;;;N;;;1E94;;1E94
+1E96;LATIN SMALL LETTER H WITH LINE BELOW;Ll;0;L;0068 0331;;;;N;;;;;
+1E97;LATIN SMALL LETTER T WITH DIAERESIS;Ll;0;L;0074 0308;;;;N;;;;;
+1E98;LATIN SMALL LETTER W WITH RING ABOVE;Ll;0;L;0077 030A;;;;N;;;;;
+1E99;LATIN SMALL LETTER Y WITH RING ABOVE;Ll;0;L;0079 030A;;;;N;;;;;
+1E9A;LATIN SMALL LETTER A WITH RIGHT HALF RING;Ll;0;L;;;;;N;;;;;
+1E9B;LATIN SMALL LETTER LONG S WITH DOT ABOVE;Ll;0;L;017F 0307;;;;N;;;1E60;;1E60
+1EA0;LATIN CAPITAL LETTER A WITH DOT BELOW;Lu;0;L;0041 0323;;;;N;;;;1EA1;
+1EA1;LATIN SMALL LETTER A WITH DOT BELOW;Ll;0;L;0061 0323;;;;N;;;1EA0;;1EA0
+1EA2;LATIN CAPITAL LETTER A WITH HOOK ABOVE;Lu;0;L;0041 0309;;;;N;;;;1EA3;
+1EA3;LATIN SMALL LETTER A WITH HOOK ABOVE;Ll;0;L;0061 0309;;;;N;;;1EA2;;1EA2
+1EA4;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE;Lu;0;L;00C2 0301;;;;N;;;;1EA5;
+1EA5;LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE;Ll;0;L;00E2 0301;;;;N;;;1EA4;;1EA4
+1EA6;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE;Lu;0;L;00C2 0300;;;;N;;;;1EA7;
+1EA7;LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE;Ll;0;L;00E2 0300;;;;N;;;1EA6;;1EA6
+1EA8;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE;Lu;0;L;00C2 0309;;;;N;;;;1EA9;
+1EA9;LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE;Ll;0;L;00E2 0309;;;;N;;;1EA8;;1EA8
+1EAA;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE;Lu;0;L;00C2 0303;;;;N;;;;1EAB;
+1EAB;LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE;Ll;0;L;00E2 0303;;;;N;;;1EAA;;1EAA
+1EAC;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;00C2 0323;;;;N;;;;1EAD;
+1EAD;LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;00E2 0323;;;;N;;;1EAC;;1EAC
+1EAE;LATIN CAPITAL LETTER A WITH BREVE AND ACUTE;Lu;0;L;0102 0301;;;;N;;;;1EAF;
+1EAF;LATIN SMALL LETTER A WITH BREVE AND ACUTE;Ll;0;L;0103 0301;;;;N;;;1EAE;;1EAE
+1EB0;LATIN CAPITAL LETTER A WITH BREVE AND GRAVE;Lu;0;L;0102 0300;;;;N;;;;1EB1;
+1EB1;LATIN SMALL LETTER A WITH BREVE AND GRAVE;Ll;0;L;0103 0300;;;;N;;;1EB0;;1EB0
+1EB2;LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE;Lu;0;L;0102 0309;;;;N;;;;1EB3;
+1EB3;LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE;Ll;0;L;0103 0309;;;;N;;;1EB2;;1EB2
+1EB4;LATIN CAPITAL LETTER A WITH BREVE AND TILDE;Lu;0;L;0102 0303;;;;N;;;;1EB5;
+1EB5;LATIN SMALL LETTER A WITH BREVE AND TILDE;Ll;0;L;0103 0303;;;;N;;;1EB4;;1EB4
+1EB6;LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW;Lu;0;L;0102 0323;;;;N;;;;1EB7;
+1EB7;LATIN SMALL LETTER A WITH BREVE AND DOT BELOW;Ll;0;L;0103 0323;;;;N;;;1EB6;;1EB6
+1EB8;LATIN CAPITAL LETTER E WITH DOT BELOW;Lu;0;L;0045 0323;;;;N;;;;1EB9;
+1EB9;LATIN SMALL LETTER E WITH DOT BELOW;Ll;0;L;0065 0323;;;;N;;;1EB8;;1EB8
+1EBA;LATIN CAPITAL LETTER E WITH HOOK ABOVE;Lu;0;L;0045 0309;;;;N;;;;1EBB;
+1EBB;LATIN SMALL LETTER E WITH HOOK ABOVE;Ll;0;L;0065 0309;;;;N;;;1EBA;;1EBA
+1EBC;LATIN CAPITAL LETTER E WITH TILDE;Lu;0;L;0045 0303;;;;N;;;;1EBD;
+1EBD;LATIN SMALL LETTER E WITH TILDE;Ll;0;L;0065 0303;;;;N;;;1EBC;;1EBC
+1EBE;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE;Lu;0;L;00CA 0301;;;;N;;;;1EBF;
+1EBF;LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE;Ll;0;L;00EA 0301;;;;N;;;1EBE;;1EBE
+1EC0;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE;Lu;0;L;00CA 0300;;;;N;;;;1EC1;
+1EC1;LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE;Ll;0;L;00EA 0300;;;;N;;;1EC0;;1EC0
+1EC2;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE;Lu;0;L;00CA 0309;;;;N;;;;1EC3;
+1EC3;LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE;Ll;0;L;00EA 0309;;;;N;;;1EC2;;1EC2
+1EC4;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE;Lu;0;L;00CA 0303;;;;N;;;;1EC5;
+1EC5;LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE;Ll;0;L;00EA 0303;;;;N;;;1EC4;;1EC4
+1EC6;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;00CA 0323;;;;N;;;;1EC7;
+1EC7;LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;00EA 0323;;;;N;;;1EC6;;1EC6
+1EC8;LATIN CAPITAL LETTER I WITH HOOK ABOVE;Lu;0;L;0049 0309;;;;N;;;;1EC9;
+1EC9;LATIN SMALL LETTER I WITH HOOK ABOVE;Ll;0;L;0069 0309;;;;N;;;1EC8;;1EC8
+1ECA;LATIN CAPITAL LETTER I WITH DOT BELOW;Lu;0;L;0049 0323;;;;N;;;;1ECB;
+1ECB;LATIN SMALL LETTER I WITH DOT BELOW;Ll;0;L;0069 0323;;;;N;;;1ECA;;1ECA
+1ECC;LATIN CAPITAL LETTER O WITH DOT BELOW;Lu;0;L;004F 0323;;;;N;;;;1ECD;
+1ECD;LATIN SMALL LETTER O WITH DOT BELOW;Ll;0;L;006F 0323;;;;N;;;1ECC;;1ECC
+1ECE;LATIN CAPITAL LETTER O WITH HOOK ABOVE;Lu;0;L;004F 0309;;;;N;;;;1ECF;
+1ECF;LATIN SMALL LETTER O WITH HOOK ABOVE;Ll;0;L;006F 0309;;;;N;;;1ECE;;1ECE
+1ED0;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE;Lu;0;L;00D4 0301;;;;N;;;;1ED1;
+1ED1;LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE;Ll;0;L;00F4 0301;;;;N;;;1ED0;;1ED0
+1ED2;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE;Lu;0;L;00D4 0300;;;;N;;;;1ED3;
+1ED3;LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE;Ll;0;L;00F4 0300;;;;N;;;1ED2;;1ED2
+1ED4;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE;Lu;0;L;00D4 0309;;;;N;;;;1ED5;
+1ED5;LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE;Ll;0;L;00F4 0309;;;;N;;;1ED4;;1ED4
+1ED6;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE;Lu;0;L;00D4 0303;;;;N;;;;1ED7;
+1ED7;LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE;Ll;0;L;00F4 0303;;;;N;;;1ED6;;1ED6
+1ED8;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;00D4 0323;;;;N;;;;1ED9;
+1ED9;LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;00F4 0323;;;;N;;;1ED8;;1ED8
+1EDA;LATIN CAPITAL LETTER O WITH HORN AND ACUTE;Lu;0;L;01A0 0301;;;;N;;;;1EDB;
+1EDB;LATIN SMALL LETTER O WITH HORN AND ACUTE;Ll;0;L;01A1 0301;;;;N;;;1EDA;;1EDA
+1EDC;LATIN CAPITAL LETTER O WITH HORN AND GRAVE;Lu;0;L;01A0 0300;;;;N;;;;1EDD;
+1EDD;LATIN SMALL LETTER O WITH HORN AND GRAVE;Ll;0;L;01A1 0300;;;;N;;;1EDC;;1EDC
+1EDE;LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE;Lu;0;L;01A0 0309;;;;N;;;;1EDF;
+1EDF;LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE;Ll;0;L;01A1 0309;;;;N;;;1EDE;;1EDE
+1EE0;LATIN CAPITAL LETTER O WITH HORN AND TILDE;Lu;0;L;01A0 0303;;;;N;;;;1EE1;
+1EE1;LATIN SMALL LETTER O WITH HORN AND TILDE;Ll;0;L;01A1 0303;;;;N;;;1EE0;;1EE0
+1EE2;LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW;Lu;0;L;01A0 0323;;;;N;;;;1EE3;
+1EE3;LATIN SMALL LETTER O WITH HORN AND DOT BELOW;Ll;0;L;01A1 0323;;;;N;;;1EE2;;1EE2
+1EE4;LATIN CAPITAL LETTER U WITH DOT BELOW;Lu;0;L;0055 0323;;;;N;;;;1EE5;
+1EE5;LATIN SMALL LETTER U WITH DOT BELOW;Ll;0;L;0075 0323;;;;N;;;1EE4;;1EE4
+1EE6;LATIN CAPITAL LETTER U WITH HOOK ABOVE;Lu;0;L;0055 0309;;;;N;;;;1EE7;
+1EE7;LATIN SMALL LETTER U WITH HOOK ABOVE;Ll;0;L;0075 0309;;;;N;;;1EE6;;1EE6
+1EE8;LATIN CAPITAL LETTER U WITH HORN AND ACUTE;Lu;0;L;01AF 0301;;;;N;;;;1EE9;
+1EE9;LATIN SMALL LETTER U WITH HORN AND ACUTE;Ll;0;L;01B0 0301;;;;N;;;1EE8;;1EE8
+1EEA;LATIN CAPITAL LETTER U WITH HORN AND GRAVE;Lu;0;L;01AF 0300;;;;N;;;;1EEB;
+1EEB;LATIN SMALL LETTER U WITH HORN AND GRAVE;Ll;0;L;01B0 0300;;;;N;;;1EEA;;1EEA
+1EEC;LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE;Lu;0;L;01AF 0309;;;;N;;;;1EED;
+1EED;LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE;Ll;0;L;01B0 0309;;;;N;;;1EEC;;1EEC
+1EEE;LATIN CAPITAL LETTER U WITH HORN AND TILDE;Lu;0;L;01AF 0303;;;;N;;;;1EEF;
+1EEF;LATIN SMALL LETTER U WITH HORN AND TILDE;Ll;0;L;01B0 0303;;;;N;;;1EEE;;1EEE
+1EF0;LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW;Lu;0;L;01AF 0323;;;;N;;;;1EF1;
+1EF1;LATIN SMALL LETTER U WITH HORN AND DOT BELOW;Ll;0;L;01B0 0323;;;;N;;;1EF0;;1EF0
+1EF2;LATIN CAPITAL LETTER Y WITH GRAVE;Lu;0;L;0059 0300;;;;N;;;;1EF3;
+1EF3;LATIN SMALL LETTER Y WITH GRAVE;Ll;0;L;0079 0300;;;;N;;;1EF2;;1EF2
+1EF4;LATIN CAPITAL LETTER Y WITH DOT BELOW;Lu;0;L;0059 0323;;;;N;;;;1EF5;
+1EF5;LATIN SMALL LETTER Y WITH DOT BELOW;Ll;0;L;0079 0323;;;;N;;;1EF4;;1EF4
+1EF6;LATIN CAPITAL LETTER Y WITH HOOK ABOVE;Lu;0;L;0059 0309;;;;N;;;;1EF7;
+1EF7;LATIN SMALL LETTER Y WITH HOOK ABOVE;Ll;0;L;0079 0309;;;;N;;;1EF6;;1EF6
+1EF8;LATIN CAPITAL LETTER Y WITH TILDE;Lu;0;L;0059 0303;;;;N;;;;1EF9;
+1EF9;LATIN SMALL LETTER Y WITH TILDE;Ll;0;L;0079 0303;;;;N;;;1EF8;;1EF8
+1F00;GREEK SMALL LETTER ALPHA WITH PSILI;Ll;0;L;03B1 0313;;;;N;;;1F08;;1F08
+1F01;GREEK SMALL LETTER ALPHA WITH DASIA;Ll;0;L;03B1 0314;;;;N;;;1F09;;1F09
+1F02;GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA;Ll;0;L;1F00 0300;;;;N;;;1F0A;;1F0A
+1F03;GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA;Ll;0;L;1F01 0300;;;;N;;;1F0B;;1F0B
+1F04;GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA;Ll;0;L;1F00 0301;;;;N;;;1F0C;;1F0C
+1F05;GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA;Ll;0;L;1F01 0301;;;;N;;;1F0D;;1F0D
+1F06;GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI;Ll;0;L;1F00 0342;;;;N;;;1F0E;;1F0E
+1F07;GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI;Ll;0;L;1F01 0342;;;;N;;;1F0F;;1F0F
+1F08;GREEK CAPITAL LETTER ALPHA WITH PSILI;Lu;0;L;0391 0313;;;;N;;;;1F00;
+1F09;GREEK CAPITAL LETTER ALPHA WITH DASIA;Lu;0;L;0391 0314;;;;N;;;;1F01;
+1F0A;GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA;Lu;0;L;1F08 0300;;;;N;;;;1F02;
+1F0B;GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA;Lu;0;L;1F09 0300;;;;N;;;;1F03;
+1F0C;GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA;Lu;0;L;1F08 0301;;;;N;;;;1F04;
+1F0D;GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA;Lu;0;L;1F09 0301;;;;N;;;;1F05;
+1F0E;GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI;Lu;0;L;1F08 0342;;;;N;;;;1F06;
+1F0F;GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI;Lu;0;L;1F09 0342;;;;N;;;;1F07;
+1F10;GREEK SMALL LETTER EPSILON WITH PSILI;Ll;0;L;03B5 0313;;;;N;;;1F18;;1F18
+1F11;GREEK SMALL LETTER EPSILON WITH DASIA;Ll;0;L;03B5 0314;;;;N;;;1F19;;1F19
+1F12;GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA;Ll;0;L;1F10 0300;;;;N;;;1F1A;;1F1A
+1F13;GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA;Ll;0;L;1F11 0300;;;;N;;;1F1B;;1F1B
+1F14;GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA;Ll;0;L;1F10 0301;;;;N;;;1F1C;;1F1C
+1F15;GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA;Ll;0;L;1F11 0301;;;;N;;;1F1D;;1F1D
+1F18;GREEK CAPITAL LETTER EPSILON WITH PSILI;Lu;0;L;0395 0313;;;;N;;;;1F10;
+1F19;GREEK CAPITAL LETTER EPSILON WITH DASIA;Lu;0;L;0395 0314;;;;N;;;;1F11;
+1F1A;GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA;Lu;0;L;1F18 0300;;;;N;;;;1F12;
+1F1B;GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA;Lu;0;L;1F19 0300;;;;N;;;;1F13;
+1F1C;GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA;Lu;0;L;1F18 0301;;;;N;;;;1F14;
+1F1D;GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA;Lu;0;L;1F19 0301;;;;N;;;;1F15;
+1F20;GREEK SMALL LETTER ETA WITH PSILI;Ll;0;L;03B7 0313;;;;N;;;1F28;;1F28
+1F21;GREEK SMALL LETTER ETA WITH DASIA;Ll;0;L;03B7 0314;;;;N;;;1F29;;1F29
+1F22;GREEK SMALL LETTER ETA WITH PSILI AND VARIA;Ll;0;L;1F20 0300;;;;N;;;1F2A;;1F2A
+1F23;GREEK SMALL LETTER ETA WITH DASIA AND VARIA;Ll;0;L;1F21 0300;;;;N;;;1F2B;;1F2B
+1F24;GREEK SMALL LETTER ETA WITH PSILI AND OXIA;Ll;0;L;1F20 0301;;;;N;;;1F2C;;1F2C
+1F25;GREEK SMALL LETTER ETA WITH DASIA AND OXIA;Ll;0;L;1F21 0301;;;;N;;;1F2D;;1F2D
+1F26;GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI;Ll;0;L;1F20 0342;;;;N;;;1F2E;;1F2E
+1F27;GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI;Ll;0;L;1F21 0342;;;;N;;;1F2F;;1F2F
+1F28;GREEK CAPITAL LETTER ETA WITH PSILI;Lu;0;L;0397 0313;;;;N;;;;1F20;
+1F29;GREEK CAPITAL LETTER ETA WITH DASIA;Lu;0;L;0397 0314;;;;N;;;;1F21;
+1F2A;GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA;Lu;0;L;1F28 0300;;;;N;;;;1F22;
+1F2B;GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA;Lu;0;L;1F29 0300;;;;N;;;;1F23;
+1F2C;GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA;Lu;0;L;1F28 0301;;;;N;;;;1F24;
+1F2D;GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA;Lu;0;L;1F29 0301;;;;N;;;;1F25;
+1F2E;GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI;Lu;0;L;1F28 0342;;;;N;;;;1F26;
+1F2F;GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI;Lu;0;L;1F29 0342;;;;N;;;;1F27;
+1F30;GREEK SMALL LETTER IOTA WITH PSILI;Ll;0;L;03B9 0313;;;;N;;;1F38;;1F38
+1F31;GREEK SMALL LETTER IOTA WITH DASIA;Ll;0;L;03B9 0314;;;;N;;;1F39;;1F39
+1F32;GREEK SMALL LETTER IOTA WITH PSILI AND VARIA;Ll;0;L;1F30 0300;;;;N;;;1F3A;;1F3A
+1F33;GREEK SMALL LETTER IOTA WITH DASIA AND VARIA;Ll;0;L;1F31 0300;;;;N;;;1F3B;;1F3B
+1F34;GREEK SMALL LETTER IOTA WITH PSILI AND OXIA;Ll;0;L;1F30 0301;;;;N;;;1F3C;;1F3C
+1F35;GREEK SMALL LETTER IOTA WITH DASIA AND OXIA;Ll;0;L;1F31 0301;;;;N;;;1F3D;;1F3D
+1F36;GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI;Ll;0;L;1F30 0342;;;;N;;;1F3E;;1F3E
+1F37;GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI;Ll;0;L;1F31 0342;;;;N;;;1F3F;;1F3F
+1F38;GREEK CAPITAL LETTER IOTA WITH PSILI;Lu;0;L;0399 0313;;;;N;;;;1F30;
+1F39;GREEK CAPITAL LETTER IOTA WITH DASIA;Lu;0;L;0399 0314;;;;N;;;;1F31;
+1F3A;GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA;Lu;0;L;1F38 0300;;;;N;;;;1F32;
+1F3B;GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA;Lu;0;L;1F39 0300;;;;N;;;;1F33;
+1F3C;GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA;Lu;0;L;1F38 0301;;;;N;;;;1F34;
+1F3D;GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA;Lu;0;L;1F39 0301;;;;N;;;;1F35;
+1F3E;GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI;Lu;0;L;1F38 0342;;;;N;;;;1F36;
+1F3F;GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI;Lu;0;L;1F39 0342;;;;N;;;;1F37;
+1F40;GREEK SMALL LETTER OMICRON WITH PSILI;Ll;0;L;03BF 0313;;;;N;;;1F48;;1F48
+1F41;GREEK SMALL LETTER OMICRON WITH DASIA;Ll;0;L;03BF 0314;;;;N;;;1F49;;1F49
+1F42;GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA;Ll;0;L;1F40 0300;;;;N;;;1F4A;;1F4A
+1F43;GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA;Ll;0;L;1F41 0300;;;;N;;;1F4B;;1F4B
+1F44;GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA;Ll;0;L;1F40 0301;;;;N;;;1F4C;;1F4C
+1F45;GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA;Ll;0;L;1F41 0301;;;;N;;;1F4D;;1F4D
+1F48;GREEK CAPITAL LETTER OMICRON WITH PSILI;Lu;0;L;039F 0313;;;;N;;;;1F40;
+1F49;GREEK CAPITAL LETTER OMICRON WITH DASIA;Lu;0;L;039F 0314;;;;N;;;;1F41;
+1F4A;GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA;Lu;0;L;1F48 0300;;;;N;;;;1F42;
+1F4B;GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA;Lu;0;L;1F49 0300;;;;N;;;;1F43;
+1F4C;GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA;Lu;0;L;1F48 0301;;;;N;;;;1F44;
+1F4D;GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA;Lu;0;L;1F49 0301;;;;N;;;;1F45;
+1F50;GREEK SMALL LETTER UPSILON WITH PSILI;Ll;0;L;03C5 0313;;;;N;;;;;
+1F51;GREEK SMALL LETTER UPSILON WITH DASIA;Ll;0;L;03C5 0314;;;;N;;;1F59;;1F59
+1F52;GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA;Ll;0;L;1F50 0300;;;;N;;;;;
+1F53;GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA;Ll;0;L;1F51 0300;;;;N;;;1F5B;;1F5B
+1F54;GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA;Ll;0;L;1F50 0301;;;;N;;;;;
+1F55;GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA;Ll;0;L;1F51 0301;;;;N;;;1F5D;;1F5D
+1F56;GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI;Ll;0;L;1F50 0342;;;;N;;;;;
+1F57;GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI;Ll;0;L;1F51 0342;;;;N;;;1F5F;;1F5F
+1F59;GREEK CAPITAL LETTER UPSILON WITH DASIA;Lu;0;L;03A5 0314;;;;N;;;;1F51;
+1F5B;GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA;Lu;0;L;1F59 0300;;;;N;;;;1F53;
+1F5D;GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA;Lu;0;L;1F59 0301;;;;N;;;;1F55;
+1F5F;GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI;Lu;0;L;1F59 0342;;;;N;;;;1F57;
+1F60;GREEK SMALL LETTER OMEGA WITH PSILI;Ll;0;L;03C9 0313;;;;N;;;1F68;;1F68
+1F61;GREEK SMALL LETTER OMEGA WITH DASIA;Ll;0;L;03C9 0314;;;;N;;;1F69;;1F69
+1F62;GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA;Ll;0;L;1F60 0300;;;;N;;;1F6A;;1F6A
+1F63;GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA;Ll;0;L;1F61 0300;;;;N;;;1F6B;;1F6B
+1F64;GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA;Ll;0;L;1F60 0301;;;;N;;;1F6C;;1F6C
+1F65;GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA;Ll;0;L;1F61 0301;;;;N;;;1F6D;;1F6D
+1F66;GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI;Ll;0;L;1F60 0342;;;;N;;;1F6E;;1F6E
+1F67;GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI;Ll;0;L;1F61 0342;;;;N;;;1F6F;;1F6F
+1F68;GREEK CAPITAL LETTER OMEGA WITH PSILI;Lu;0;L;03A9 0313;;;;N;;;;1F60;
+1F69;GREEK CAPITAL LETTER OMEGA WITH DASIA;Lu;0;L;03A9 0314;;;;N;;;;1F61;
+1F6A;GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA;Lu;0;L;1F68 0300;;;;N;;;;1F62;
+1F6B;GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA;Lu;0;L;1F69 0300;;;;N;;;;1F63;
+1F6C;GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA;Lu;0;L;1F68 0301;;;;N;;;;1F64;
+1F6D;GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA;Lu;0;L;1F69 0301;;;;N;;;;1F65;
+1F6E;GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI;Lu;0;L;1F68 0342;;;;N;;;;1F66;
+1F6F;GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI;Lu;0;L;1F69 0342;;;;N;;;;1F67;
+1F70;GREEK SMALL LETTER ALPHA WITH VARIA;Ll;0;L;03B1 0300;;;;N;;;1FBA;;1FBA
+1F71;GREEK SMALL LETTER ALPHA WITH OXIA;Ll;0;L;03B1 0301;;;;N;;;1FBB;;1FBB
+1F72;GREEK SMALL LETTER EPSILON WITH VARIA;Ll;0;L;03B5 0300;;;;N;;;1FC8;;1FC8
+1F73;GREEK SMALL LETTER EPSILON WITH OXIA;Ll;0;L;03B5 0301;;;;N;;;1FC9;;1FC9
+1F74;GREEK SMALL LETTER ETA WITH VARIA;Ll;0;L;03B7 0300;;;;N;;;1FCA;;1FCA
+1F75;GREEK SMALL LETTER ETA WITH OXIA;Ll;0;L;03B7 0301;;;;N;;;1FCB;;1FCB
+1F76;GREEK SMALL LETTER IOTA WITH VARIA;Ll;0;L;03B9 0300;;;;N;;;1FDA;;1FDA
+1F77;GREEK SMALL LETTER IOTA WITH OXIA;Ll;0;L;03B9 0301;;;;N;;;1FDB;;1FDB
+1F78;GREEK SMALL LETTER OMICRON WITH VARIA;Ll;0;L;03BF 0300;;;;N;;;1FF8;;1FF8
+1F79;GREEK SMALL LETTER OMICRON WITH OXIA;Ll;0;L;03BF 0301;;;;N;;;1FF9;;1FF9
+1F7A;GREEK SMALL LETTER UPSILON WITH VARIA;Ll;0;L;03C5 0300;;;;N;;;1FEA;;1FEA
+1F7B;GREEK SMALL LETTER UPSILON WITH OXIA;Ll;0;L;03C5 0301;;;;N;;;1FEB;;1FEB
+1F7C;GREEK SMALL LETTER OMEGA WITH VARIA;Ll;0;L;03C9 0300;;;;N;;;1FFA;;1FFA
+1F7D;GREEK SMALL LETTER OMEGA WITH OXIA;Ll;0;L;03C9 0301;;;;N;;;1FFB;;1FFB
+1F80;GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI;Ll;0;L;1F00 0345;;;;N;;;1F88;;1F88
+1F81;GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI;Ll;0;L;1F01 0345;;;;N;;;1F89;;1F89
+1F82;GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F02 0345;;;;N;;;1F8A;;1F8A
+1F83;GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F03 0345;;;;N;;;1F8B;;1F8B
+1F84;GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F04 0345;;;;N;;;1F8C;;1F8C
+1F85;GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F05 0345;;;;N;;;1F8D;;1F8D
+1F86;GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F06 0345;;;;N;;;1F8E;;1F8E
+1F87;GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F07 0345;;;;N;;;1F8F;;1F8F
+1F88;GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI;Lu;0;L;1F08 0345;;;;N;;;;1F80;
+1F89;GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI;Lu;0;L;1F09 0345;;;;N;;;;1F81;
+1F8A;GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lu;0;L;1F0A 0345;;;;N;;;;1F82;
+1F8B;GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lu;0;L;1F0B 0345;;;;N;;;;1F83;
+1F8C;GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lu;0;L;1F0C 0345;;;;N;;;;1F84;
+1F8D;GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lu;0;L;1F0D 0345;;;;N;;;;1F85;
+1F8E;GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lu;0;L;1F0E 0345;;;;N;;;;1F86;
+1F8F;GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lu;0;L;1F0F 0345;;;;N;;;;1F87;
+1F90;GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI;Ll;0;L;1F20 0345;;;;N;;;1F98;;1F98
+1F91;GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI;Ll;0;L;1F21 0345;;;;N;;;1F99;;1F99
+1F92;GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F22 0345;;;;N;;;1F9A;;1F9A
+1F93;GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F23 0345;;;;N;;;1F9B;;1F9B
+1F94;GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F24 0345;;;;N;;;1F9C;;1F9C
+1F95;GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F25 0345;;;;N;;;1F9D;;1F9D
+1F96;GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F26 0345;;;;N;;;1F9E;;1F9E
+1F97;GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F27 0345;;;;N;;;1F9F;;1F9F
+1F98;GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI;Lu;0;L;1F28 0345;;;;N;;;;1F90;
+1F99;GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI;Lu;0;L;1F29 0345;;;;N;;;;1F91;
+1F9A;GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lu;0;L;1F2A 0345;;;;N;;;;1F92;
+1F9B;GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lu;0;L;1F2B 0345;;;;N;;;;1F93;
+1F9C;GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lu;0;L;1F2C 0345;;;;N;;;;1F94;
+1F9D;GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lu;0;L;1F2D 0345;;;;N;;;;1F95;
+1F9E;GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lu;0;L;1F2E 0345;;;;N;;;;1F96;
+1F9F;GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lu;0;L;1F2F 0345;;;;N;;;;1F97;
+1FA0;GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI;Ll;0;L;1F60 0345;;;;N;;;1FA8;;1FA8
+1FA1;GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI;Ll;0;L;1F61 0345;;;;N;;;1FA9;;1FA9
+1FA2;GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F62 0345;;;;N;;;1FAA;;1FAA
+1FA3;GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F63 0345;;;;N;;;1FAB;;1FAB
+1FA4;GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F64 0345;;;;N;;;1FAC;;1FAC
+1FA5;GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F65 0345;;;;N;;;1FAD;;1FAD
+1FA6;GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F66 0345;;;;N;;;1FAE;;1FAE
+1FA7;GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F67 0345;;;;N;;;1FAF;;1FAF
+1FA8;GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI;Lu;0;L;1F68 0345;;;;N;;;;1FA0;
+1FA9;GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI;Lu;0;L;1F69 0345;;;;N;;;;1FA1;
+1FAA;GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lu;0;L;1F6A 0345;;;;N;;;;1FA2;
+1FAB;GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lu;0;L;1F6B 0345;;;;N;;;;1FA3;
+1FAC;GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lu;0;L;1F6C 0345;;;;N;;;;1FA4;
+1FAD;GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lu;0;L;1F6D 0345;;;;N;;;;1FA5;
+1FAE;GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lu;0;L;1F6E 0345;;;;N;;;;1FA6;
+1FAF;GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lu;0;L;1F6F 0345;;;;N;;;;1FA7;
+1FB0;GREEK SMALL LETTER ALPHA WITH VRACHY;Ll;0;L;03B1 0306;;;;N;;;1FB8;;1FB8
+1FB1;GREEK SMALL LETTER ALPHA WITH MACRON;Ll;0;L;03B1 0304;;;;N;;;1FB9;;1FB9
+1FB2;GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI;Ll;0;L;1F70 0345;;;;N;;;;;
+1FB3;GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI;Ll;0;L;03B1 0345;;;;N;;;1FBC;;1FBC
+1FB4;GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;1F71 0345;;;;N;;;;;
+1FB6;GREEK SMALL LETTER ALPHA WITH PERISPOMENI;Ll;0;L;03B1 0342;;;;N;;;;;
+1FB7;GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1FB6 0345;;;;N;;;;;
+1FB8;GREEK CAPITAL LETTER ALPHA WITH VRACHY;Lu;0;L;0391 0306;;;;N;;;;1FB0;
+1FB9;GREEK CAPITAL LETTER ALPHA WITH MACRON;Lu;0;L;0391 0304;;;;N;;;;1FB1;
+1FBA;GREEK CAPITAL LETTER ALPHA WITH VARIA;Lu;0;L;0391 0300;;;;N;;;;1F70;
+1FBB;GREEK CAPITAL LETTER ALPHA WITH OXIA;Lu;0;L;0391 0301;;;;N;;;;1F71;
+1FBC;GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI;Lu;0;L;0391 0345;;;;N;;;;1FB3;
+1FBD;GREEK KORONIS;Sk;0;L;<compat> 0020 0313;;;;N;;;;;
+1FBE;GREEK PROSGEGRAMMENI;Lu;0;L;03B9;;;;N;;;;;
+1FBF;GREEK PSILI;Sk;0;L;<compat> 0020 0313;;;;N;;;;;
+1FC0;GREEK PERISPOMENI;Sk;0;L;<compat> 0020 0342;;;;N;;;;;
+1FC1;GREEK DIALYTIKA AND PERISPOMENI;Sk;0;L;00A8 0342;;;;N;;;;;
+1FC2;GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI;Ll;0;L;1F74 0345;;;;N;;;;;
+1FC3;GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI;Ll;0;L;03B7 0345;;;;N;;;1FCC;;1FCC
+1FC4;GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;1F75 0345;;;;N;;;;;
+1FC6;GREEK SMALL LETTER ETA WITH PERISPOMENI;Ll;0;L;03B7 0342;;;;N;;;;;
+1FC7;GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1FC6 0345;;;;N;;;;;
+1FC8;GREEK CAPITAL LETTER EPSILON WITH VARIA;Lu;0;L;0395 0300;;;;N;;;;1F72;
+1FC9;GREEK CAPITAL LETTER EPSILON WITH OXIA;Lu;0;L;0395 0301;;;;N;;;;1F73;
+1FCA;GREEK CAPITAL LETTER ETA WITH VARIA;Lu;0;L;0397 0300;;;;N;;;;1F74;
+1FCB;GREEK CAPITAL LETTER ETA WITH OXIA;Lu;0;L;0397 0301;;;;N;;;;1F75;
+1FCC;GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI;Lu;0;L;0397 0345;;;;N;;;;1FC3;
+1FCD;GREEK PSILI AND VARIA;Sk;0;L;1FBF 0300;;;;N;;;;;
+1FCE;GREEK PSILI AND OXIA;Sk;0;L;1FBF 0301;;;;N;;;;;
+1FCF;GREEK PSILI AND PERISPOMENI;Sk;0;L;1FBF 0342;;;;N;;;;;
+1FD0;GREEK SMALL LETTER IOTA WITH VRACHY;Ll;0;L;03B9 0306;;;;N;;;1FD8;;1FD8
+1FD1;GREEK SMALL LETTER IOTA WITH MACRON;Ll;0;L;03B9 0304;;;;N;;;1FD9;;1FD9
+1FD2;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA;Ll;0;L;03CA 0300;;;;N;;;;;
+1FD3;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA;Ll;0;L;03CA 0301;;;;N;;;;;
+1FD6;GREEK SMALL LETTER IOTA WITH PERISPOMENI;Ll;0;L;03B9 0342;;;;N;;;;;
+1FD7;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI;Ll;0;L;03CA 0342;;;;N;;;;;
+1FD8;GREEK CAPITAL LETTER IOTA WITH VRACHY;Lu;0;L;0399 0306;;;;N;;;;1FD0;
+1FD9;GREEK CAPITAL LETTER IOTA WITH MACRON;Lu;0;L;0399 0304;;;;N;;;;1FD1;
+1FDA;GREEK CAPITAL LETTER IOTA WITH VARIA;Lu;0;L;0399 0300;;;;N;;;;1F76;
+1FDB;GREEK CAPITAL LETTER IOTA WITH OXIA;Lu;0;L;0399 0301;;;;N;;;;1F77;
+1FDD;GREEK DASIA AND VARIA;Sk;0;L;1FFE 0300;;;;N;;;;;
+1FDE;GREEK DASIA AND OXIA;Sk;0;L;1FFE 0301;;;;N;;;;;
+1FDF;GREEK DASIA AND PERISPOMENI;Sk;0;L;1FFE 0342;;;;N;;;;;
+1FE0;GREEK SMALL LETTER UPSILON WITH VRACHY;Ll;0;L;03C5 0306;;;;N;;;1FE8;;1FE8
+1FE1;GREEK SMALL LETTER UPSILON WITH MACRON;Ll;0;L;03C5 0304;;;;N;;;1FE9;;1FE9
+1FE2;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA;Ll;0;L;03CB 0300;;;;N;;;;;
+1FE3;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA;Ll;0;L;03CB 0301;;;;N;;;;;
+1FE4;GREEK SMALL LETTER RHO WITH PSILI;Ll;0;L;03C1 0313;;;;N;;;;;
+1FE5;GREEK SMALL LETTER RHO WITH DASIA;Ll;0;L;03C1 0314;;;;N;;;1FEC;;1FEC
+1FE6;GREEK SMALL LETTER UPSILON WITH PERISPOMENI;Ll;0;L;03C5 0342;;;;N;;;;;
+1FE7;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI;Ll;0;L;03CB 0342;;;;N;;;;;
+1FE8;GREEK CAPITAL LETTER UPSILON WITH VRACHY;Lu;0;L;03A5 0306;;;;N;;;;1FE0;
+1FE9;GREEK CAPITAL LETTER UPSILON WITH MACRON;Lu;0;L;03A5 0304;;;;N;;;;1FE1;
+1FEA;GREEK CAPITAL LETTER UPSILON WITH VARIA;Lu;0;L;03A5 0300;;;;N;;;;1F7A;
+1FEB;GREEK CAPITAL LETTER UPSILON WITH OXIA;Lu;0;L;03A5 0301;;;;N;;;;1F7B;
+1FEC;GREEK CAPITAL LETTER RHO WITH DASIA;Lu;0;L;03A1 0314;;;;N;;;;1FE5;
+1FED;GREEK DIALYTIKA AND VARIA;Sk;0;L;00A8 0300;;;;N;;;;;
+1FEE;GREEK DIALYTIKA AND OXIA;Sk;0;L;00A8 0301;;;;N;;;;;
+1FEF;GREEK VARIA;Sk;0;L;0060;;;;N;;;;;
+1FF2;GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI;Ll;0;L;1F7C 0345;;;;N;;;;;
+1FF3;GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI;Ll;0;L;03C9 0345;;;;N;;;1FFC;;1FFC
+1FF4;GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;1F79 0345;;;;N;;;;;
+1FF6;GREEK SMALL LETTER OMEGA WITH PERISPOMENI;Ll;0;L;03C9 0342;;;;N;;;;;
+1FF7;GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1FF6 0345;;;;N;;;;;
+1FF8;GREEK CAPITAL LETTER OMICRON WITH VARIA;Lu;0;L;039F 0300;;;;N;;;;1F78;
+1FF9;GREEK CAPITAL LETTER OMICRON WITH OXIA;Lu;0;L;039F 0301;;;;N;;;;1F79;
+1FFA;GREEK CAPITAL LETTER OMEGA WITH VARIA;Lu;0;L;03A9 0300;;;;N;;;;1F7C;
+1FFB;GREEK CAPITAL LETTER OMEGA WITH OXIA;Lu;0;L;03A9 0301;;;;N;;;;1F7D;
+1FFC;GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI;Lu;0;L;03A9 0345;;;;N;;;;1FF3;
+1FFD;GREEK OXIA;Sk;0;L;00B4;;;;N;;;;;
+1FFE;GREEK DASIA;Sk;0;L;<compat> 0020 0314;;;;N;;;;;
+2000;EN QUAD;Zs;0;WS;2002;;;;N;;;;;
+2001;EM QUAD;Zs;0;WS;2003;;;;N;;;;;
+2002;EN SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
+2003;EM SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
+2004;THREE-PER-EM SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
+2005;FOUR-PER-EM SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
+2006;SIX-PER-EM SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
+2007;FIGURE SPACE;Zs;0;CS;<noBreak> 0020;;;;N;;;;;
+2008;PUNCTUATION SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
+2009;THIN SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
+200A;HAIR SPACE;Zs;0;WS;<compat> 0020;;;;N;;;;;
+200B;ZERO WIDTH SPACE;Zs;0;WS;;;;;N;;;;;
+200C;ZERO WIDTH NON-JOINER;Cf;0;ON;;;;;N;;;;;
+200D;ZERO WIDTH JOINER;Cf;0;ON;;;;;N;;;;;
+200E;LEFT-TO-RIGHT MARK;Cf;0;L;;;;;N;;;;;
+200F;RIGHT-TO-LEFT MARK;Cf;0;R;;;;;N;;;;;
+2010;HYPHEN;Pd;0;ON;;;;;N;;;;;
+2011;NON-BREAKING HYPHEN;Pd;0;ON;<noBreak> 2010;;;;N;;;;;
+2012;FIGURE DASH;Pd;0;ON;;;;;N;;;;;
+2013;EN DASH;Pd;0;ON;;;;;N;;;;;
+2014;EM DASH;Pd;0;ON;;;;;N;;;;;
+2015;HORIZONTAL BAR;Pd;0;ON;;;;;N;QUOTATION DASH;;;;
+2016;DOUBLE VERTICAL LINE;Po;0;ON;;;;;N;DOUBLE VERTICAL BAR;;;;
+2017;DOUBLE LOW LINE;Po;0;ON;<compat> 0020 0333;;;;N;SPACING DOUBLE UNDERSCORE;;;;
+2018;LEFT SINGLE QUOTATION MARK;Ps;0;ON;;;;;N;SINGLE TURNED COMMA QUOTATION MARK;;;;
+2019;RIGHT SINGLE QUOTATION MARK;Pe;0;ON;;;;;N;SINGLE COMMA QUOTATION MARK;;;;
+201A;SINGLE LOW-9 QUOTATION MARK;Ps;0;ON;;;;;N;LOW SINGLE COMMA QUOTATION MARK;;;;
+201B;SINGLE HIGH-REVERSED-9 QUOTATION MARK;Ps;0;ON;;;;;N;SINGLE REVERSED COMMA QUOTATION MARK;;;;
+201C;LEFT DOUBLE QUOTATION MARK;Ps;0;ON;;;;;N;DOUBLE TURNED COMMA QUOTATION MARK;;;;
+201D;RIGHT DOUBLE QUOTATION MARK;Pe;0;ON;;;;;N;DOUBLE COMMA QUOTATION MARK;;;;
+201E;DOUBLE LOW-9 QUOTATION MARK;Ps;0;ON;;;;;N;LOW DOUBLE COMMA QUOTATION MARK;;;;
+201F;DOUBLE HIGH-REVERSED-9 QUOTATION MARK;Ps;0;ON;;;;;N;DOUBLE REVERSED COMMA QUOTATION MARK;;;;
+2020;DAGGER;Po;0;ON;;;;;N;;;;;
+2021;DOUBLE DAGGER;Po;0;ON;;;;;N;;;;;
+2022;BULLET;Po;0;ON;;;;;N;;;;;
+2023;TRIANGULAR BULLET;Po;0;ON;;;;;N;;;;;
+2024;ONE DOT LEADER;Po;0;ON;<compat> 002E;;;;N;;;;;
+2025;TWO DOT LEADER;Po;0;ON;<compat> 002E 002E;;;;N;;;;;
+2026;HORIZONTAL ELLIPSIS;Po;0;ON;<compat> 002E 002E 002E;;;;N;;;;;
+2027;HYPHENATION POINT;Po;0;ON;;;;;N;;;;;
+2028;LINE SEPARATOR;Zl;0;B;;;;;N;;;;;
+2029;PARAGRAPH SEPARATOR;Zp;0;B;;;;;N;;;;;
+202A;LEFT-TO-RIGHT EMBEDDING;Cf;0;ON;;;;;N;;;;;
+202B;RIGHT-TO-LEFT EMBEDDING;Cf;0;ON;;;;;N;;;;;
+202C;POP DIRECTIONAL FORMATTING;Cf;0;ON;;;;;N;;;;;
+202D;LEFT-TO-RIGHT OVERRIDE;Cf;0;ON;;;;;N;;;;;
+202E;RIGHT-TO-LEFT OVERRIDE;Cf;0;ON;;;;;N;;;;;
+2030;PER MILLE SIGN;Po;0;ET;;;;;N;;;;;
+2031;PER TEN THOUSAND SIGN;Po;0;ET;;;;;N;;;;;
+2032;PRIME;Po;0;ET;;;;;N;;;;;
+2033;DOUBLE PRIME;Po;0;ET;<compat> 2032 2032;;;;N;;;;;
+2034;TRIPLE PRIME;Po;0;ET;<compat> 2032 2032 2032;;;;N;;;;;
+2035;REVERSED PRIME;Po;0;ON;;;;;N;;;;;
+2036;REVERSED DOUBLE PRIME;Po;0;ON;<compat> 2035 2035;;;;N;;;;;
+2037;REVERSED TRIPLE PRIME;Po;0;ON;<compat> 2035 2035 2035;;;;N;;;;;
+2038;CARET;Po;0;ON;;;;;N;;;;;
+2039;SINGLE LEFT-POINTING ANGLE QUOTATION MARK;Ps;0;ON;;;;;N;LEFT POINTING SINGLE GUILLEMET;;;;
+203A;SINGLE RIGHT-POINTING ANGLE QUOTATION MARK;Pe;0;ON;;;;;N;RIGHT POINTING SINGLE GUILLEMET;;;;
+203B;REFERENCE MARK;Po;0;ON;;;;;N;;;;;
+203C;DOUBLE EXCLAMATION MARK;Po;0;ON;<compat> 0021 0021;;;;N;;;;;
+203D;INTERROBANG;Po;0;ON;;;;;N;;;;;
+203E;OVERLINE;Po;0;ON;<compat> 0020 0305;;;;N;SPACING OVERSCORE;;;;
+203F;UNDERTIE;Pc;0;ON;;;;;N;;Enotikon;;;
+2040;CHARACTER TIE;Pc;0;ON;;;;;N;;;;;
+2041;CARET INSERTION POINT;Po;0;ON;;;;;N;;;;;
+2042;ASTERISM;Po;0;ON;;;;;N;;;;;
+2043;HYPHEN BULLET;Po;0;ON;;;;;N;;;;;
+2044;FRACTION SLASH;Sm;0;ON;;;;;N;;;;;
+2045;LEFT SQUARE BRACKET WITH QUILL;Ps;0;ON;;;;;Y;;;;;
+2046;RIGHT SQUARE BRACKET WITH QUILL;Pe;0;ON;;;;;Y;;;;;
+206A;INHIBIT SYMMETRIC SWAPPING;Cf;0;ON;;;;;N;;;;;
+206B;ACTIVATE SYMMETRIC SWAPPING;Cf;0;ON;;;;;N;;;;;
+206C;INHIBIT ARABIC FORM SHAPING;Cf;0;ON;;;;;N;;;;;
+206D;ACTIVATE ARABIC FORM SHAPING;Cf;0;ON;;;;;N;;;;;
+206E;NATIONAL DIGIT SHAPES;Cf;0;ON;;;;;N;;;;;
+206F;NOMINAL DIGIT SHAPES;Cf;0;ON;;;;;N;;;;;
+2070;SUPERSCRIPT ZERO;No;0;EN;<super> 0030;0;0;0;N;SUPERSCRIPT DIGIT ZERO;;;;
+2074;SUPERSCRIPT FOUR;No;0;EN;<super> 0034;4;4;4;N;SUPERSCRIPT DIGIT FOUR;;;;
+2075;SUPERSCRIPT FIVE;No;0;EN;<super> 0035;5;5;5;N;SUPERSCRIPT DIGIT FIVE;;;;
+2076;SUPERSCRIPT SIX;No;0;EN;<super> 0036;6;6;6;N;SUPERSCRIPT DIGIT SIX;;;;
+2077;SUPERSCRIPT SEVEN;No;0;EN;<super> 0037;7;7;7;N;SUPERSCRIPT DIGIT SEVEN;;;;
+2078;SUPERSCRIPT EIGHT;No;0;EN;<super> 0038;8;8;8;N;SUPERSCRIPT DIGIT EIGHT;;;;
+2079;SUPERSCRIPT NINE;No;0;EN;<super> 0039;9;9;9;N;SUPERSCRIPT DIGIT NINE;;;;
+207A;SUPERSCRIPT PLUS SIGN;Sm;0;ET;<super> 002B;;;;N;;;;;
+207B;SUPERSCRIPT MINUS;Sm;0;ET;<super> 2212;;;;N;SUPERSCRIPT HYPHEN-MINUS;;;;
+207C;SUPERSCRIPT EQUALS SIGN;Sm;0;ON;<super> 003D;;;;N;;;;;
+207D;SUPERSCRIPT LEFT PARENTHESIS;Ps;0;ON;<super> 0028;;;;Y;SUPERSCRIPT OPENING PARENTHESIS;;;;
+207E;SUPERSCRIPT RIGHT PARENTHESIS;Pe;0;ON;<super> 0029;;;;Y;SUPERSCRIPT CLOSING PARENTHESIS;;;;
+207F;SUPERSCRIPT LATIN SMALL LETTER N;Ll;0;ON;<super> 006E;;;;N;;;;;
+2080;SUBSCRIPT ZERO;No;0;EN;<sub> 0030;0;0;0;N;SUBSCRIPT DIGIT ZERO;;;;
+2081;SUBSCRIPT ONE;No;0;EN;<sub> 0031;1;1;1;N;SUBSCRIPT DIGIT ONE;;;;
+2082;SUBSCRIPT TWO;No;0;EN;<sub> 0032;2;2;2;N;SUBSCRIPT DIGIT TWO;;;;
+2083;SUBSCRIPT THREE;No;0;EN;<sub> 0033;3;3;3;N;SUBSCRIPT DIGIT THREE;;;;
+2084;SUBSCRIPT FOUR;No;0;EN;<sub> 0034;4;4;4;N;SUBSCRIPT DIGIT FOUR;;;;
+2085;SUBSCRIPT FIVE;No;0;EN;<sub> 0035;5;5;5;N;SUBSCRIPT DIGIT FIVE;;;;
+2086;SUBSCRIPT SIX;No;0;EN;<sub> 0036;6;6;6;N;SUBSCRIPT DIGIT SIX;;;;
+2087;SUBSCRIPT SEVEN;No;0;EN;<sub> 0037;7;7;7;N;SUBSCRIPT DIGIT SEVEN;;;;
+2088;SUBSCRIPT EIGHT;No;0;EN;<sub> 0038;8;8;8;N;SUBSCRIPT DIGIT EIGHT;;;;
+2089;SUBSCRIPT NINE;No;0;EN;<sub> 0039;9;9;9;N;SUBSCRIPT DIGIT NINE;;;;
+208A;SUBSCRIPT PLUS SIGN;Sm;0;ET;<sub> 002B;;;;N;;;;;
+208B;SUBSCRIPT MINUS;Sm;0;ET;<sub> 2212;;;;N;SUBSCRIPT HYPHEN-MINUS;;;;
+208C;SUBSCRIPT EQUALS SIGN;Sm;0;ON;<sub> 003D;;;;N;;;;;
+208D;SUBSCRIPT LEFT PARENTHESIS;Ps;0;ON;<sub> 0028;;;;Y;SUBSCRIPT OPENING PARENTHESIS;;;;
+208E;SUBSCRIPT RIGHT PARENTHESIS;Pe;0;ON;<sub> 0029;;;;Y;SUBSCRIPT CLOSING PARENTHESIS;;;;
+20A0;EURO-CURRENCY SIGN;Sc;0;ET;;;;;N;;;;;
+20A1;COLON SIGN;Sc;0;ET;;;;;N;;;;;
+20A2;CRUZEIRO SIGN;Sc;0;ET;;;;;N;;;;;
+20A3;FRENCH FRANC SIGN;Sc;0;ET;;;;;N;;;;;
+20A4;LIRA SIGN;Sc;0;ET;;;;;N;;;;;
+20A5;MILL SIGN;Sc;0;ET;;;;;N;;;;;
+20A6;NAIRA SIGN;Sc;0;ET;;;;;N;;;;;
+20A7;PESETA SIGN;Sc;0;ET;;;;;N;;;;;
+20A8;RUPEE SIGN;Sc;0;ET;<compat> 0052 0073;;;;N;;;;;
+20A9;WON SIGN;Sc;0;ET;;;;;N;;;;;
+20AA;NEW SHEQEL SIGN;Sc;0;ET;;;;;N;;;;;
+20AB;DONG SIGN;Sc;0;ET;;;;;N;;;;;
+20AC;EURO SIGN;Sc;0;ET;;;;;N;;;;;
+20D0;COMBINING LEFT HARPOON ABOVE;Mn;230;L;;;;;N;NON-SPACING LEFT HARPOON ABOVE;;;;
+20D1;COMBINING RIGHT HARPOON ABOVE;Mn;230;L;;;;;N;NON-SPACING RIGHT HARPOON ABOVE;;;;
+20D2;COMBINING LONG VERTICAL LINE OVERLAY;Mn;1;L;;;;;N;NON-SPACING LONG VERTICAL BAR OVERLAY;;;;
+20D3;COMBINING SHORT VERTICAL LINE OVERLAY;Mn;1;L;;;;;N;NON-SPACING SHORT VERTICAL BAR OVERLAY;;;;
+20D4;COMBINING ANTICLOCKWISE ARROW ABOVE;Mn;230;L;;;;;N;NON-SPACING ANTICLOCKWISE ARROW ABOVE;;;;
+20D5;COMBINING CLOCKWISE ARROW ABOVE;Mn;230;L;;;;;N;NON-SPACING CLOCKWISE ARROW ABOVE;;;;
+20D6;COMBINING LEFT ARROW ABOVE;Mn;230;L;;;;;N;NON-SPACING LEFT ARROW ABOVE;;;;
+20D7;COMBINING RIGHT ARROW ABOVE;Mn;230;L;;;;;N;NON-SPACING RIGHT ARROW ABOVE;;;;
+20D8;COMBINING RING OVERLAY;Mn;1;L;;;;;N;NON-SPACING RING OVERLAY;;;;
+20D9;COMBINING CLOCKWISE RING OVERLAY;Mn;1;L;;;;;N;NON-SPACING CLOCKWISE RING OVERLAY;;;;
+20DA;COMBINING ANTICLOCKWISE RING OVERLAY;Mn;1;L;;;;;N;NON-SPACING ANTICLOCKWISE RING OVERLAY;;;;
+20DB;COMBINING THREE DOTS ABOVE;Mn;230;L;;;;;N;NON-SPACING THREE DOTS ABOVE;;;;
+20DC;COMBINING FOUR DOTS ABOVE;Mn;230;L;;;;;N;NON-SPACING FOUR DOTS ABOVE;;;;
+20DD;COMBINING ENCLOSING CIRCLE;Me;0;L;;;;;N;ENCLOSING CIRCLE;;;;
+20DE;COMBINING ENCLOSING SQUARE;Me;0;L;;;;;N;ENCLOSING SQUARE;;;;
+20DF;COMBINING ENCLOSING DIAMOND;Me;0;L;;;;;N;ENCLOSING DIAMOND;;;;
+20E0;COMBINING ENCLOSING CIRCLE BACKSLASH;Me;0;L;;;;;N;ENCLOSING CIRCLE SLASH;;;;
+20E1;COMBINING LEFT RIGHT ARROW ABOVE;Mn;1;L;;;;;N;NON-SPACING LEFT RIGHT ARROW ABOVE;;;;
+2100;ACCOUNT OF;So;0;ON;;;;;N;;;;;
+2101;ADDRESSED TO THE SUBJECT;So;0;ON;;;;;N;;;;;
+2102;DOUBLE-STRUCK CAPITAL C;Lu;0;ON;<font> 0043;;;;N;DOUBLE-STRUCK C;;;;
+2103;DEGREE CELSIUS;So;0;ON;<compat> 00B0 0043;;;;N;DEGREES CENTIGRADE;;;;
+2104;CENTRE LINE SYMBOL;So;0;ON;;;;;N;C L SYMBOL;;;;
+2105;CARE OF;So;0;ON;;;;;N;;;;;
+2106;CADA UNA;So;0;ON;;;;;N;;;;;
+2107;EULER CONSTANT;Lu;0;ON;<compat> 0190;;;;N;EULERS;;;;
+2108;SCRUPLE;So;0;ON;;;;;N;;;;;
+2109;DEGREE FAHRENHEIT;So;0;ON;<compat> 00B0 0046;;;;N;DEGREES FAHRENHEIT;;;;
+210A;SCRIPT SMALL G;Ll;0;ON;<font> 0067;;;;N;;;;;
+210B;SCRIPT CAPITAL H;Lu;0;ON;<font> 0048;;;;N;SCRIPT H;;;;
+210C;BLACK-LETTER CAPITAL H;Lu;0;ON;<font> 0048;;;;N;BLACK-LETTER H;;;;
+210D;DOUBLE-STRUCK CAPITAL H;Lu;0;ON;<font> 0048;;;;N;DOUBLE-STRUCK H;;;;
+210E;PLANCK CONSTANT;Ll;0;ON;<font> 0068;;;;N;;;;;
+210F;PLANCK CONSTANT OVER TWO PI;Ll;0;ON;<font> 0127;;;;N;PLANCK CONSTANT OVER 2 PI;;;;
+2110;SCRIPT CAPITAL I;Lu;0;ON;<font> 0049;;;;N;SCRIPT I;;;;
+2111;BLACK-LETTER CAPITAL I;Lu;0;ON;<font> 0049;;;;N;BLACK-LETTER I;;;;
+2112;SCRIPT CAPITAL L;Lu;0;ON;<font> 004C;;;;N;SCRIPT L;;;;
+2113;SCRIPT SMALL L;Ll;0;ON;<font> 006C;;;;N;;;;;
+2114;L B BAR SYMBOL;So;0;ON;;;;;N;;;;;
+2115;DOUBLE-STRUCK CAPITAL N;Lu;0;ON;<font> 004E;;;;N;DOUBLE-STRUCK N;;;;
+2116;NUMERO SIGN;So;0;ON;<compat> 004E 006F;;;;N;NUMERO;;;;
+2117;SOUND RECORDING COPYRIGHT;So;0;ON;;;;;N;;;;;
+2118;SCRIPT CAPITAL P;Lu;0;ON;<font> 0050;;;;N;SCRIPT P;;;;
+2119;DOUBLE-STRUCK CAPITAL P;Lu;0;ON;<font> 0050;;;;N;DOUBLE-STRUCK P;;;;
+211A;DOUBLE-STRUCK CAPITAL Q;Lu;0;ON;<font> 0051;;;;N;DOUBLE-STRUCK Q;;;;
+211B;SCRIPT CAPITAL R;Lu;0;ON;<font> 0052;;;;N;SCRIPT R;;;;
+211C;BLACK-LETTER CAPITAL R;Lu;0;ON;<font> 0052;;;;N;BLACK-LETTER R;;;;
+211D;DOUBLE-STRUCK CAPITAL R;Lu;0;ON;<font> 0052;;;;N;DOUBLE-STRUCK R;;;;
+211E;PRESCRIPTION TAKE;So;0;ON;;;;;N;;;;;
+211F;RESPONSE;So;0;ON;;;;;N;;;;;
+2120;SERVICE MARK;So;0;ON;<super> 0053 004D;;;;N;;;;;
+2121;TELEPHONE SIGN;So;0;ON;<super> 0054 0045 004C;;;;N;T E L SYMBOL;;;;
+2122;TRADE MARK SIGN;So;0;ON;<super> 0054 004D;;;;N;TRADEMARK;;;;
+2123;VERSICLE;So;0;ON;;;;;N;;;;;
+2124;DOUBLE-STRUCK CAPITAL Z;Lu;0;ON;<font> 005A;;;;N;DOUBLE-STRUCK Z;;;;
+2125;OUNCE SIGN;So;0;ON;;;;;N;OUNCE;;;;
+2126;OHM SIGN;Lu;0;ON;03A9;;;;N;OHM;;;;
+2127;INVERTED OHM SIGN;So;0;ON;;;;;N;MHO;;;;
+2128;BLACK-LETTER CAPITAL Z;Lu;0;ON;<font> 005A;;;;N;BLACK-LETTER Z;;;;
+2129;TURNED GREEK SMALL LETTER IOTA;So;0;ON;;;;;N;;;;;
+212A;KELVIN SIGN;Lu;0;ON;004B;;;;N;DEGREES KELVIN;;;;
+212B;ANGSTROM SIGN;Lu;0;ON;00C5;;;;N;ANGSTROM UNIT;;;;
+212C;SCRIPT CAPITAL B;Lu;0;ON;<font> 0042;;;;N;SCRIPT B;;;;
+212D;BLACK-LETTER CAPITAL C;Lu;0;ON;<font> 0043;;;;N;BLACK-LETTER C;;;;
+212E;ESTIMATED SYMBOL;Ll;0;ON;;;;;N;;;;;
+212F;SCRIPT SMALL E;Ll;0;ON;<font> 0065;;;;N;;;;;
+2130;SCRIPT CAPITAL E;Lu;0;ON;<font> 0045;;;;N;SCRIPT E;;;;
+2131;SCRIPT CAPITAL F;Lu;0;ON;<font> 0046;;;;N;SCRIPT F;;;;
+2132;TURNED CAPITAL F;So;0;ON;;;;;N;TURNED F;;;;
+2133;SCRIPT CAPITAL M;Lu;0;ON;<font> 004D;;;;N;SCRIPT M;;;;
+2134;SCRIPT SMALL O;Ll;0;ON;<font> 006F;;;;N;;;;;
+2135;ALEF SYMBOL;Lo;0;ON;<compat> 05D0;;;;N;FIRST TRANSFINITE CARDINAL;;;;
+2136;BET SYMBOL;Lo;0;ON;<compat> 05D1;;;;N;SECOND TRANSFINITE CARDINAL;;;;
+2137;GIMEL SYMBOL;Lo;0;ON;<compat> 05D2;;;;N;THIRD TRANSFINITE CARDINAL;;;;
+2138;DALET SYMBOL;Lo;0;ON;<compat> 05D3;;;;N;FOURTH TRANSFINITE CARDINAL;;;;
+2153;VULGAR FRACTION ONE THIRD;No;0;ON;<fraction> 0031 2044 0033;;;1/3;N;FRACTION ONE THIRD;;;;
+2154;VULGAR FRACTION TWO THIRDS;No;0;ON;<fraction> 0032 2044 0033;;;2/3;N;FRACTION TWO THIRDS;;;;
+2155;VULGAR FRACTION ONE FIFTH;No;0;ON;<fraction> 0031 2044 0035;;;1/5;N;FRACTION ONE FIFTH;;;;
+2156;VULGAR FRACTION TWO FIFTHS;No;0;ON;<fraction> 0032 2044 0035;;;2/5;N;FRACTION TWO FIFTHS;;;;
+2157;VULGAR FRACTION THREE FIFTHS;No;0;ON;<fraction> 0033 2044 0035;;;3/5;N;FRACTION THREE FIFTHS;;;;
+2158;VULGAR FRACTION FOUR FIFTHS;No;0;ON;<fraction> 0034 2044 0035;;;4/5;N;FRACTION FOUR FIFTHS;;;;
+2159;VULGAR FRACTION ONE SIXTH;No;0;ON;<fraction> 0031 2044 0036;;;1/6;N;FRACTION ONE SIXTH;;;;
+215A;VULGAR FRACTION FIVE SIXTHS;No;0;ON;<fraction> 0035 2044 0036;;;5/6;N;FRACTION FIVE SIXTHS;;;;
+215B;VULGAR FRACTION ONE EIGHTH;No;0;ON;<fraction> 0031 2044 0038;;;1/8;N;FRACTION ONE EIGHTH;;;;
+215C;VULGAR FRACTION THREE EIGHTHS;No;0;ON;<fraction> 0033 2044 0038;;;3/8;N;FRACTION THREE EIGHTHS;;;;
+215D;VULGAR FRACTION FIVE EIGHTHS;No;0;ON;<fraction> 0035 2044 0038;;;5/8;N;FRACTION FIVE EIGHTHS;;;;
+215E;VULGAR FRACTION SEVEN EIGHTHS;No;0;ON;<fraction> 0037 2044 0038;;;7/8;N;FRACTION SEVEN EIGHTHS;;;;
+215F;FRACTION NUMERATOR ONE;No;0;ON;<fraction> 0031 2044;;;1;N;;;;;
+2160;ROMAN NUMERAL ONE;Nl;0;L;<compat> 0049;;;1;N;;;;2170;
+2161;ROMAN NUMERAL TWO;Nl;0;L;<compat> 0049 0049;;;2;N;;;;2171;
+2162;ROMAN NUMERAL THREE;Nl;0;L;<compat> 0049 0049 0049;;;3;N;;;;2172;
+2163;ROMAN NUMERAL FOUR;Nl;0;L;<compat> 0049 0056;;;4;N;;;;2173;
+2164;ROMAN NUMERAL FIVE;Nl;0;L;<compat> 0056;;;5;N;;;;2174;
+2165;ROMAN NUMERAL SIX;Nl;0;L;<compat> 0056 0049;;;6;N;;;;2175;
+2166;ROMAN NUMERAL SEVEN;Nl;0;L;<compat> 0056 0049 0049;;;7;N;;;;2176;
+2167;ROMAN NUMERAL EIGHT;Nl;0;L;<compat> 0056 0049 0049 0049;;;8;N;;;;2177;
+2168;ROMAN NUMERAL NINE;Nl;0;L;<compat> 0049 0058;;;9;N;;;;2178;
+2169;ROMAN NUMERAL TEN;Nl;0;L;<compat> 0058;;;10;N;;;;2179;
+216A;ROMAN NUMERAL ELEVEN;Nl;0;L;<compat> 0058 0049;;;11;N;;;;217A;
+216B;ROMAN NUMERAL TWELVE;Nl;0;L;<compat> 0058 0049 0049;;;12;N;;;;217B;
+216C;ROMAN NUMERAL FIFTY;Nl;0;L;<compat> 004C;;;50;N;;;;217C;
+216D;ROMAN NUMERAL ONE HUNDRED;Nl;0;L;<compat> 0043;;;100;N;;;;217D;
+216E;ROMAN NUMERAL FIVE HUNDRED;Nl;0;L;<compat> 0044;;;500;N;;;;217E;
+216F;ROMAN NUMERAL ONE THOUSAND;Nl;0;L;<compat> 004D;;;1000;N;;;;217F;
+2170;SMALL ROMAN NUMERAL ONE;Nl;0;L;<compat> 0069;;;1;N;;;2160;;2160
+2171;SMALL ROMAN NUMERAL TWO;Nl;0;L;<compat> 0069 0069;;;2;N;;;2161;;2161
+2172;SMALL ROMAN NUMERAL THREE;Nl;0;L;<compat> 0069 0069 0069;;;3;N;;;2162;;2162
+2173;SMALL ROMAN NUMERAL FOUR;Nl;0;L;<compat> 0069 0076;;;4;N;;;2163;;2163
+2174;SMALL ROMAN NUMERAL FIVE;Nl;0;L;<compat> 0076;;;5;N;;;2164;;2164
+2175;SMALL ROMAN NUMERAL SIX;Nl;0;L;<compat> 0076 0069;;;6;N;;;2165;;2165
+2176;SMALL ROMAN NUMERAL SEVEN;Nl;0;L;<compat> 0076 0069 0069;;;7;N;;;2166;;2166
+2177;SMALL ROMAN NUMERAL EIGHT;Nl;0;L;<compat> 0076 0069 0069 0069;;;8;N;;;2167;;2167
+2178;SMALL ROMAN NUMERAL NINE;Nl;0;L;<compat> 0069 0078;;;9;N;;;2168;;2168
+2179;SMALL ROMAN NUMERAL TEN;Nl;0;L;<compat> 0078;;;10;N;;;2169;;2169
+217A;SMALL ROMAN NUMERAL ELEVEN;Nl;0;L;<compat> 0078 0069;;;11;N;;;216A;;216A
+217B;SMALL ROMAN NUMERAL TWELVE;Nl;0;L;<compat> 0078 0069 0069;;;12;N;;;216B;;216B
+217C;SMALL ROMAN NUMERAL FIFTY;Nl;0;L;<compat> 006C;;;50;N;;;216C;;216C
+217D;SMALL ROMAN NUMERAL ONE HUNDRED;Nl;0;L;<compat> 0063;;;100;N;;;216D;;216D
+217E;SMALL ROMAN NUMERAL FIVE HUNDRED;Nl;0;L;<compat> 0064;;;500;N;;;216E;;216E
+217F;SMALL ROMAN NUMERAL ONE THOUSAND;Nl;0;L;<compat> 006D;;;1000;N;;;216F;;216F
+2180;ROMAN NUMERAL ONE THOUSAND C D;Nl;0;L;;;;1000;N;;;;;
+2181;ROMAN NUMERAL FIVE THOUSAND;Nl;0;L;;;;5000;N;;;;;
+2182;ROMAN NUMERAL TEN THOUSAND;Nl;0;L;;;;10000;N;;;;;
+2190;LEFTWARDS ARROW;Sm;0;ON;;;;;N;LEFT ARROW;;;;
+2191;UPWARDS ARROW;Sm;0;ON;;;;;N;UP ARROW;;;;
+2192;RIGHTWARDS ARROW;Sm;0;ON;;;;;N;RIGHT ARROW;;;;
+2193;DOWNWARDS ARROW;Sm;0;ON;;;;;N;DOWN ARROW;;;;
+2194;LEFT RIGHT ARROW;Sm;0;ON;;;;;N;;;;;
+2195;UP DOWN ARROW;So;0;ON;;;;;N;;;;;
+2196;NORTH WEST ARROW;So;0;ON;;;;;N;UPPER LEFT ARROW;;;;
+2197;NORTH EAST ARROW;So;0;ON;;;;;N;UPPER RIGHT ARROW;;;;
+2198;SOUTH EAST ARROW;So;0;ON;;;;;N;LOWER RIGHT ARROW;;;;
+2199;SOUTH WEST ARROW;So;0;ON;;;;;N;LOWER LEFT ARROW;;;;
+219A;LEFTWARDS ARROW WITH STROKE;So;0;ON;;;;;N;LEFT ARROW WITH STROKE;;;;
+219B;RIGHTWARDS ARROW WITH STROKE;So;0;ON;;;;;N;RIGHT ARROW WITH STROKE;;;;
+219C;LEFTWARDS WAVE ARROW;So;0;ON;;;;;N;LEFT WAVE ARROW;;;;
+219D;RIGHTWARDS WAVE ARROW;So;0;ON;;;;;N;RIGHT WAVE ARROW;;;;
+219E;LEFTWARDS TWO HEADED ARROW;So;0;ON;;;;;N;LEFT TWO HEADED ARROW;;;;
+219F;UPWARDS TWO HEADED ARROW;So;0;ON;;;;;N;UP TWO HEADED ARROW;;;;
+21A0;RIGHTWARDS TWO HEADED ARROW;So;0;ON;;;;;N;RIGHT TWO HEADED ARROW;;;;
+21A1;DOWNWARDS TWO HEADED ARROW;So;0;ON;;;;;N;DOWN TWO HEADED ARROW;;;;
+21A2;LEFTWARDS ARROW WITH TAIL;So;0;ON;;;;;N;LEFT ARROW WITH TAIL;;;;
+21A3;RIGHTWARDS ARROW WITH TAIL;So;0;ON;;;;;N;RIGHT ARROW WITH TAIL;;;;
+21A4;LEFTWARDS ARROW FROM BAR;So;0;ON;;;;;N;LEFT ARROW FROM BAR;;;;
+21A5;UPWARDS ARROW FROM BAR;So;0;ON;;;;;N;UP ARROW FROM BAR;;;;
+21A6;RIGHTWARDS ARROW FROM BAR;So;0;ON;;;;;N;RIGHT ARROW FROM BAR;;;;
+21A7;DOWNWARDS ARROW FROM BAR;So;0;ON;;;;;N;DOWN ARROW FROM BAR;;;;
+21A8;UP DOWN ARROW WITH BASE;So;0;ON;;;;;N;;;;;
+21A9;LEFTWARDS ARROW WITH HOOK;So;0;ON;;;;;N;LEFT ARROW WITH HOOK;;;;
+21AA;RIGHTWARDS ARROW WITH HOOK;So;0;ON;;;;;N;RIGHT ARROW WITH HOOK;;;;
+21AB;LEFTWARDS ARROW WITH LOOP;So;0;ON;;;;;N;LEFT ARROW WITH LOOP;;;;
+21AC;RIGHTWARDS ARROW WITH LOOP;So;0;ON;;;;;N;RIGHT ARROW WITH LOOP;;;;
+21AD;LEFT RIGHT WAVE ARROW;So;0;ON;;;;;N;;;;;
+21AE;LEFT RIGHT ARROW WITH STROKE;So;0;ON;;;;;N;;;;;
+21AF;DOWNWARDS ZIGZAG ARROW;So;0;ON;;;;;N;DOWN ZIGZAG ARROW;;;;
+21B0;UPWARDS ARROW WITH TIP LEFTWARDS;So;0;ON;;;;;N;UP ARROW WITH TIP LEFT;;;;
+21B1;UPWARDS ARROW WITH TIP RIGHTWARDS;So;0;ON;;;;;N;UP ARROW WITH TIP RIGHT;;;;
+21B2;DOWNWARDS ARROW WITH TIP LEFTWARDS;So;0;ON;;;;;N;DOWN ARROW WITH TIP LEFT;;;;
+21B3;DOWNWARDS ARROW WITH TIP RIGHTWARDS;So;0;ON;;;;;N;DOWN ARROW WITH TIP RIGHT;;;;
+21B4;RIGHTWARDS ARROW WITH CORNER DOWNWARDS;So;0;ON;;;;;N;RIGHT ARROW WITH CORNER DOWN;;;;
+21B5;DOWNWARDS ARROW WITH CORNER LEFTWARDS;So;0;ON;;;;;N;DOWN ARROW WITH CORNER LEFT;;;;
+21B6;ANTICLOCKWISE TOP SEMICIRCLE ARROW;So;0;ON;;;;;N;;;;;
+21B7;CLOCKWISE TOP SEMICIRCLE ARROW;So;0;ON;;;;;N;;;;;
+21B8;NORTH WEST ARROW TO LONG BAR;So;0;ON;;;;;N;UPPER LEFT ARROW TO LONG BAR;;;;
+21B9;LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR;So;0;ON;;;;;N;LEFT ARROW TO BAR OVER RIGHT ARROW TO BAR;;;;
+21BA;ANTICLOCKWISE OPEN CIRCLE ARROW;So;0;ON;;;;;N;;;;;
+21BB;CLOCKWISE OPEN CIRCLE ARROW;So;0;ON;;;;;N;;;;;
+21BC;LEFTWARDS HARPOON WITH BARB UPWARDS;So;0;ON;;;;;N;LEFT HARPOON WITH BARB UP;;;;
+21BD;LEFTWARDS HARPOON WITH BARB DOWNWARDS;So;0;ON;;;;;N;LEFT HARPOON WITH BARB DOWN;;;;
+21BE;UPWARDS HARPOON WITH BARB RIGHTWARDS;So;0;ON;;;;;N;UP HARPOON WITH BARB RIGHT;;;;
+21BF;UPWARDS HARPOON WITH BARB LEFTWARDS;So;0;ON;;;;;N;UP HARPOON WITH BARB LEFT;;;;
+21C0;RIGHTWARDS HARPOON WITH BARB UPWARDS;So;0;ON;;;;;N;RIGHT HARPOON WITH BARB UP;;;;
+21C1;RIGHTWARDS HARPOON WITH BARB DOWNWARDS;So;0;ON;;;;;N;RIGHT HARPOON WITH BARB DOWN;;;;
+21C2;DOWNWARDS HARPOON WITH BARB RIGHTWARDS;So;0;ON;;;;;N;DOWN HARPOON WITH BARB RIGHT;;;;
+21C3;DOWNWARDS HARPOON WITH BARB LEFTWARDS;So;0;ON;;;;;N;DOWN HARPOON WITH BARB LEFT;;;;
+21C4;RIGHTWARDS ARROW OVER LEFTWARDS ARROW;So;0;ON;;;;;N;RIGHT ARROW OVER LEFT ARROW;;;;
+21C5;UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW;So;0;ON;;;;;N;UP ARROW LEFT OF DOWN ARROW;;;;
+21C6;LEFTWARDS ARROW OVER RIGHTWARDS ARROW;So;0;ON;;;;;N;LEFT ARROW OVER RIGHT ARROW;;;;
+21C7;LEFTWARDS PAIRED ARROWS;So;0;ON;;;;;N;LEFT PAIRED ARROWS;;;;
+21C8;UPWARDS PAIRED ARROWS;So;0;ON;;;;;N;UP PAIRED ARROWS;;;;
+21C9;RIGHTWARDS PAIRED ARROWS;So;0;ON;;;;;N;RIGHT PAIRED ARROWS;;;;
+21CA;DOWNWARDS PAIRED ARROWS;So;0;ON;;;;;N;DOWN PAIRED ARROWS;;;;
+21CB;LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON;So;0;ON;;;;;N;LEFT HARPOON OVER RIGHT HARPOON;;;;
+21CC;RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON;So;0;ON;;;;;N;RIGHT HARPOON OVER LEFT HARPOON;;;;
+21CD;LEFTWARDS DOUBLE ARROW WITH STROKE;So;0;ON;;;;;N;LEFT DOUBLE ARROW WITH STROKE;;;;
+21CE;LEFT RIGHT DOUBLE ARROW WITH STROKE;So;0;ON;;;;;N;;;;;
+21CF;RIGHTWARDS DOUBLE ARROW WITH STROKE;So;0;ON;;;;;N;RIGHT DOUBLE ARROW WITH STROKE;;;;
+21D0;LEFTWARDS DOUBLE ARROW;So;0;ON;;;;;N;LEFT DOUBLE ARROW;;;;
+21D1;UPWARDS DOUBLE ARROW;So;0;ON;;;;;N;UP DOUBLE ARROW;;;;
+21D2;RIGHTWARDS DOUBLE ARROW;Sm;0;ON;;;;;N;RIGHT DOUBLE ARROW;;;;
+21D3;DOWNWARDS DOUBLE ARROW;So;0;ON;;;;;N;DOWN DOUBLE ARROW;;;;
+21D4;LEFT RIGHT DOUBLE ARROW;Sm;0;ON;;;;;N;;;;;
+21D5;UP DOWN DOUBLE ARROW;So;0;ON;;;;;N;;;;;
+21D6;NORTH WEST DOUBLE ARROW;So;0;ON;;;;;N;UPPER LEFT DOUBLE ARROW;;;;
+21D7;NORTH EAST DOUBLE ARROW;So;0;ON;;;;;N;UPPER RIGHT DOUBLE ARROW;;;;
+21D8;SOUTH EAST DOUBLE ARROW;So;0;ON;;;;;N;LOWER RIGHT DOUBLE ARROW;;;;
+21D9;SOUTH WEST DOUBLE ARROW;So;0;ON;;;;;N;LOWER LEFT DOUBLE ARROW;;;;
+21DA;LEFTWARDS TRIPLE ARROW;So;0;ON;;;;;N;LEFT TRIPLE ARROW;;;;
+21DB;RIGHTWARDS TRIPLE ARROW;So;0;ON;;;;;N;RIGHT TRIPLE ARROW;;;;
+21DC;LEFTWARDS SQUIGGLE ARROW;So;0;ON;;;;;N;LEFT SQUIGGLE ARROW;;;;
+21DD;RIGHTWARDS SQUIGGLE ARROW;So;0;ON;;;;;N;RIGHT SQUIGGLE ARROW;;;;
+21DE;UPWARDS ARROW WITH DOUBLE STROKE;So;0;ON;;;;;N;UP ARROW WITH DOUBLE STROKE;;;;
+21DF;DOWNWARDS ARROW WITH DOUBLE STROKE;So;0;ON;;;;;N;DOWN ARROW WITH DOUBLE STROKE;;;;
+21E0;LEFTWARDS DASHED ARROW;So;0;ON;;;;;N;LEFT DASHED ARROW;;;;
+21E1;UPWARDS DASHED ARROW;So;0;ON;;;;;N;UP DASHED ARROW;;;;
+21E2;RIGHTWARDS DASHED ARROW;So;0;ON;;;;;N;RIGHT DASHED ARROW;;;;
+21E3;DOWNWARDS DASHED ARROW;So;0;ON;;;;;N;DOWN DASHED ARROW;;;;
+21E4;LEFTWARDS ARROW TO BAR;So;0;ON;;;;;N;LEFT ARROW TO BAR;;;;
+21E5;RIGHTWARDS ARROW TO BAR;So;0;ON;;;;;N;RIGHT ARROW TO BAR;;;;
+21E6;LEFTWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE LEFT ARROW;;;;
+21E7;UPWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE UP ARROW;;;;
+21E8;RIGHTWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE RIGHT ARROW;;;;
+21E9;DOWNWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE DOWN ARROW;;;;
+21EA;UPWARDS WHITE ARROW FROM BAR;So;0;ON;;;;;N;WHITE UP ARROW FROM BAR;;;;
+2200;FOR ALL;Sm;0;ON;;;;;N;;;;;
+2201;COMPLEMENT;Sm;0;ON;;;;;Y;;;;;
+2202;PARTIAL DIFFERENTIAL;Sm;0;ON;;;;;Y;;;;;
+2203;THERE EXISTS;Sm;0;ON;;;;;Y;;;;;
+2204;THERE DOES NOT EXIST;Sm;0;ON;2203 0338;;;;Y;;;;;
+2205;EMPTY SET;Sm;0;ON;;;;;N;;;;;
+2206;INCREMENT;Sm;0;ON;;;;;N;;;;;
+2207;NABLA;Sm;0;ON;;;;;N;;;;;
+2208;ELEMENT OF;Sm;0;ON;;;;;Y;;;;;
+2209;NOT AN ELEMENT OF;Sm;0;ON;2208 0338;;;;Y;;;;;
+220A;SMALL ELEMENT OF;Sm;0;ON;;;;;Y;;;;;
+220B;CONTAINS AS MEMBER;Sm;0;ON;;;;;Y;;;;;
+220C;DOES NOT CONTAIN AS MEMBER;Sm;0;ON;220B 0338;;;;Y;;;;;
+220D;SMALL CONTAINS AS MEMBER;Sm;0;ON;;;;;Y;;;;;
+220E;END OF PROOF;Sm;0;ON;;;;;N;;;;;
+220F;N-ARY PRODUCT;Sm;0;ON;;;;;N;;;;;
+2210;N-ARY COPRODUCT;Sm;0;ON;;;;;N;;;;;
+2211;N-ARY SUMMATION;Sm;0;ON;;;;;Y;;;;;
+2212;MINUS SIGN;Sm;0;ET;;;;;N;;;;;
+2213;MINUS-OR-PLUS SIGN;Sm;0;ET;;;;;N;;;;;
+2214;DOT PLUS;Sm;0;ON;;;;;N;;;;;
+2215;DIVISION SLASH;Sm;0;ON;;;;;Y;;;;;
+2216;SET MINUS;Sm;0;ON;;;;;Y;;;;;
+2217;ASTERISK OPERATOR;Sm;0;ON;;;;;N;;;;;
+2218;RING OPERATOR;Sm;0;ON;;;;;N;;;;;
+2219;BULLET OPERATOR;Sm;0;ON;;;;;N;;;;;
+221A;SQUARE ROOT;Sm;0;ON;;;;;Y;;;;;
+221B;CUBE ROOT;Sm;0;ON;;;;;Y;;;;;
+221C;FOURTH ROOT;Sm;0;ON;;;;;Y;;;;;
+221D;PROPORTIONAL TO;Sm;0;ON;;;;;Y;;;;;
+221E;INFINITY;Sm;0;ON;;;;;N;;;;;
+221F;RIGHT ANGLE;Sm;0;ON;;;;;Y;;;;;
+2220;ANGLE;Sm;0;ON;;;;;Y;;;;;
+2221;MEASURED ANGLE;Sm;0;ON;;;;;Y;;;;;
+2222;SPHERICAL ANGLE;Sm;0;ON;;;;;Y;;;;;
+2223;DIVIDES;Sm;0;ON;;;;;N;;;;;
+2224;DOES NOT DIVIDE;Sm;0;ON;2223 0338;;;;Y;;;;;
+2225;PARALLEL TO;Sm;0;ON;;;;;N;;;;;
+2226;NOT PARALLEL TO;Sm;0;ON;2225 0338;;;;Y;;;;;
+2227;LOGICAL AND;Sm;0;ON;;;;;N;;;;;
+2228;LOGICAL OR;Sm;0;ON;;;;;N;;;;;
+2229;INTERSECTION;Sm;0;ON;;;;;N;;;;;
+222A;UNION;Sm;0;ON;;;;;N;;;;;
+222B;INTEGRAL;Sm;0;ON;;;;;Y;;;;;
+222C;DOUBLE INTEGRAL;Sm;0;ON;<compat> 222B 222B;;;;Y;;;;;
+222D;TRIPLE INTEGRAL;Sm;0;ON;<compat> 222B 222B 222B;;;;Y;;;;;
+222E;CONTOUR INTEGRAL;Sm;0;ON;;;;;Y;;;;;
+222F;SURFACE INTEGRAL;Sm;0;ON;<compat> 222E 222E;;;;Y;;;;;
+2230;VOLUME INTEGRAL;Sm;0;ON;<compat> 222E 222E 222E;;;;Y;;;;;
+2231;CLOCKWISE INTEGRAL;Sm;0;ON;;;;;Y;;;;;
+2232;CLOCKWISE CONTOUR INTEGRAL;Sm;0;ON;;;;;Y;;;;;
+2233;ANTICLOCKWISE CONTOUR INTEGRAL;Sm;0;ON;;;;;Y;;;;;
+2234;THEREFORE;Sm;0;ON;;;;;N;;;;;
+2235;BECAUSE;Sm;0;ON;;;;;N;;;;;
+2236;RATIO;Sm;0;ON;;;;;N;;;;;
+2237;PROPORTION;Sm;0;ON;;;;;N;;;;;
+2238;DOT MINUS;Sm;0;ON;;;;;N;;;;;
+2239;EXCESS;Sm;0;ON;;;;;Y;;;;;
+223A;GEOMETRIC PROPORTION;Sm;0;ON;;;;;N;;;;;
+223B;HOMOTHETIC;Sm;0;ON;;;;;Y;;;;;
+223C;TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;;
+223D;REVERSED TILDE;Sm;0;ON;;;;;Y;;;;;
+223E;INVERTED LAZY S;Sm;0;ON;;;;;Y;;;;;
+223F;SINE WAVE;Sm;0;ON;;;;;Y;;;;;
+2240;WREATH PRODUCT;Sm;0;ON;;;;;Y;;;;;
+2241;NOT TILDE;Sm;0;ON;007E 0338;;;;Y;;;;;
+2242;MINUS TILDE;Sm;0;ON;;;;;Y;;;;;
+2243;ASYMPTOTICALLY EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2244;NOT ASYMPTOTICALLY EQUAL TO;Sm;0;ON;2243 0338;;;;Y;;;;;
+2245;APPROXIMATELY EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2246;APPROXIMATELY BUT NOT ACTUALLY EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2247;NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO;Sm;0;ON;2245 0338;;;;Y;;;;;
+2248;ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2249;NOT ALMOST EQUAL TO;Sm;0;ON;2248 0338;;;;Y;;;;;
+224A;ALMOST EQUAL OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+224B;TRIPLE TILDE;Sm;0;ON;;;;;Y;;;;;
+224C;ALL EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+224D;EQUIVALENT TO;Sm;0;ON;;;;;N;;;;;
+224E;GEOMETRICALLY EQUIVALENT TO;Sm;0;ON;;;;;N;;;;;
+224F;DIFFERENCE BETWEEN;Sm;0;ON;;;;;N;;;;;
+2250;APPROACHES THE LIMIT;Sm;0;ON;;;;;N;;;;;
+2251;GEOMETRICALLY EQUAL TO;Sm;0;ON;;;;;N;;;;;
+2252;APPROXIMATELY EQUAL TO OR THE IMAGE OF;Sm;0;ON;;;;;Y;;;;;
+2253;IMAGE OF OR APPROXIMATELY EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2254;COLON EQUALS;Sm;0;ON;;;;;Y;COLON EQUAL;;;;
+2255;EQUALS COLON;Sm;0;ON;;;;;Y;EQUAL COLON;;;;
+2256;RING IN EQUAL TO;Sm;0;ON;;;;;N;;;;;
+2257;RING EQUAL TO;Sm;0;ON;;;;;N;;;;;
+2258;CORRESPONDS TO;Sm;0;ON;;;;;N;;;;;
+2259;ESTIMATES;Sm;0;ON;;;;;N;;;;;
+225A;EQUIANGULAR TO;Sm;0;ON;;;;;N;;;;;
+225B;STAR EQUALS;Sm;0;ON;;;;;N;;;;;
+225C;DELTA EQUAL TO;Sm;0;ON;;;;;N;;;;;
+225D;EQUAL TO BY DEFINITION;Sm;0;ON;;;;;N;;;;;
+225E;MEASURED BY;Sm;0;ON;;;;;N;;;;;
+225F;QUESTIONED EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2260;NOT EQUAL TO;Sm;0;ON;003D 0338;;;;Y;;;;;
+2261;IDENTICAL TO;Sm;0;ON;;;;;N;;;;;
+2262;NOT IDENTICAL TO;Sm;0;ON;2261 0338;;;;Y;;;;;
+2263;STRICTLY EQUIVALENT TO;Sm;0;ON;;;;;N;;;;;
+2264;LESS-THAN OR EQUAL TO;Sm;0;ON;;;;;Y;LESS THAN OR EQUAL TO;;;;
+2265;GREATER-THAN OR EQUAL TO;Sm;0;ON;;;;;Y;GREATER THAN OR EQUAL TO;;;;
+2266;LESS-THAN OVER EQUAL TO;Sm;0;ON;;;;;Y;LESS THAN OVER EQUAL TO;;;;
+2267;GREATER-THAN OVER EQUAL TO;Sm;0;ON;;;;;Y;GREATER THAN OVER EQUAL TO;;;;
+2268;LESS-THAN BUT NOT EQUAL TO;Sm;0;ON;;;;;Y;LESS THAN BUT NOT EQUAL TO;;;;
+2269;GREATER-THAN BUT NOT EQUAL TO;Sm;0;ON;;;;;Y;GREATER THAN BUT NOT EQUAL TO;;;;
+226A;MUCH LESS-THAN;Sm;0;ON;;;;;Y;MUCH LESS THAN;;;;
+226B;MUCH GREATER-THAN;Sm;0;ON;;;;;Y;MUCH GREATER THAN;;;;
+226C;BETWEEN;Sm;0;ON;;;;;N;;;;;
+226D;NOT EQUIVALENT TO;Sm;0;ON;224D 0338;;;;N;;;;;
+226E;NOT LESS-THAN;Sm;0;ON;003C 0338;;;;Y;NOT LESS THAN;;;;
+226F;NOT GREATER-THAN;Sm;0;ON;003E 0338;;;;Y;NOT GREATER THAN;;;;
+2270;NEITHER LESS-THAN NOR EQUAL TO;Sm;0;ON;2264 0338;;;;Y;NEITHER LESS THAN NOR EQUAL TO;;;;
+2271;NEITHER GREATER-THAN NOR EQUAL TO;Sm;0;ON;2265 0338;;;;Y;NEITHER GREATER THAN NOR EQUAL TO;;;;
+2272;LESS-THAN OR EQUIVALENT TO;Sm;0;ON;;;;;Y;LESS THAN OR EQUIVALENT TO;;;;
+2273;GREATER-THAN OR EQUIVALENT TO;Sm;0;ON;;;;;Y;GREATER THAN OR EQUIVALENT TO;;;;
+2274;NEITHER LESS-THAN NOR EQUIVALENT TO;Sm;0;ON;2272 0338;;;;Y;NEITHER LESS THAN NOR EQUIVALENT TO;;;;
+2275;NEITHER GREATER-THAN NOR EQUIVALENT TO;Sm;0;ON;2273 0338;;;;Y;NEITHER GREATER THAN NOR EQUIVALENT TO;;;;
+2276;LESS-THAN OR GREATER-THAN;Sm;0;ON;;;;;Y;LESS THAN OR GREATER THAN;;;;
+2277;GREATER-THAN OR LESS-THAN;Sm;0;ON;;;;;Y;GREATER THAN OR LESS THAN;;;;
+2278;NEITHER LESS-THAN NOR GREATER-THAN;Sm;0;ON;2276 0338;;;;Y;NEITHER LESS THAN NOR GREATER THAN;;;;
+2279;NEITHER GREATER-THAN NOR LESS-THAN;Sm;0;ON;2277 0338;;;;Y;NEITHER GREATER THAN NOR LESS THAN;;;;
+227A;PRECEDES;Sm;0;ON;;;;;Y;;;;;
+227B;SUCCEEDS;Sm;0;ON;;;;;Y;;;;;
+227C;PRECEDES OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+227D;SUCCEEDS OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+227E;PRECEDES OR EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;;
+227F;SUCCEEDS OR EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;;
+2280;DOES NOT PRECEDE;Sm;0;ON;227A 0338;;;;Y;;;;;
+2281;DOES NOT SUCCEED;Sm;0;ON;227B 0338;;;;Y;;;;;
+2282;SUBSET OF;Sm;0;ON;;;;;Y;;;;;
+2283;SUPERSET OF;Sm;0;ON;;;;;Y;;;;;
+2284;NOT A SUBSET OF;Sm;0;ON;2282 0338;;;;Y;;;;;
+2285;NOT A SUPERSET OF;Sm;0;ON;2283 0338;;;;Y;;;;;
+2286;SUBSET OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2287;SUPERSET OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2288;NEITHER A SUBSET OF NOR EQUAL TO;Sm;0;ON;2286 0338;;;;Y;;;;;
+2289;NEITHER A SUPERSET OF NOR EQUAL TO;Sm;0;ON;2287 0338;;;;Y;;;;;
+228A;SUBSET OF WITH NOT EQUAL TO;Sm;0;ON;;;;;Y;SUBSET OF OR NOT EQUAL TO;;;;
+228B;SUPERSET OF WITH NOT EQUAL TO;Sm;0;ON;;;;;Y;SUPERSET OF OR NOT EQUAL TO;;;;
+228C;MULTISET;Sm;0;ON;;;;;Y;;;;;
+228D;MULTISET MULTIPLICATION;Sm;0;ON;;;;;N;;;;;
+228E;MULTISET UNION;Sm;0;ON;;;;;N;;;;;
+228F;SQUARE IMAGE OF;Sm;0;ON;;;;;Y;;;;;
+2290;SQUARE ORIGINAL OF;Sm;0;ON;;;;;Y;;;;;
+2291;SQUARE IMAGE OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2292;SQUARE ORIGINAL OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+2293;SQUARE CAP;Sm;0;ON;;;;;N;;;;;
+2294;SQUARE CUP;Sm;0;ON;;;;;N;;;;;
+2295;CIRCLED PLUS;Sm;0;ON;;;;;N;;;;;
+2296;CIRCLED MINUS;Sm;0;ON;;;;;N;;;;;
+2297;CIRCLED TIMES;Sm;0;ON;;;;;N;;;;;
+2298;CIRCLED DIVISION SLASH;Sm;0;ON;;;;;Y;;;;;
+2299;CIRCLED DOT OPERATOR;Sm;0;ON;;;;;N;;;;;
+229A;CIRCLED RING OPERATOR;Sm;0;ON;;;;;N;;;;;
+229B;CIRCLED ASTERISK OPERATOR;Sm;0;ON;;;;;N;;;;;
+229C;CIRCLED EQUALS;Sm;0;ON;;;;;N;;;;;
+229D;CIRCLED DASH;Sm;0;ON;;;;;N;;;;;
+229E;SQUARED PLUS;Sm;0;ON;;;;;N;;;;;
+229F;SQUARED MINUS;Sm;0;ON;;;;;N;;;;;
+22A0;SQUARED TIMES;Sm;0;ON;;;;;N;;;;;
+22A1;SQUARED DOT OPERATOR;Sm;0;ON;;;;;N;;;;;
+22A2;RIGHT TACK;Sm;0;ON;;;;;Y;;;;;
+22A3;LEFT TACK;Sm;0;ON;;;;;Y;;;;;
+22A4;DOWN TACK;Sm;0;ON;;;;;N;;;;;
+22A5;UP TACK;Sm;0;ON;;;;;N;;;;;
+22A6;ASSERTION;Sm;0;ON;;;;;Y;;;;;
+22A7;MODELS;Sm;0;ON;;;;;Y;;;;;
+22A8;TRUE;Sm;0;ON;;;;;Y;;;;;
+22A9;FORCES;Sm;0;ON;;;;;Y;;;;;
+22AA;TRIPLE VERTICAL BAR RIGHT TURNSTILE;Sm;0;ON;;;;;Y;;;;;
+22AB;DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE;Sm;0;ON;;;;;Y;;;;;
+22AC;DOES NOT PROVE;Sm;0;ON;22A2 0338;;;;Y;;;;;
+22AD;NOT TRUE;Sm;0;ON;22A8 0338;;;;Y;;;;;
+22AE;DOES NOT FORCE;Sm;0;ON;22A9 0338;;;;Y;;;;;
+22AF;NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE;Sm;0;ON;22AB 0338;;;;Y;;;;;
+22B0;PRECEDES UNDER RELATION;Sm;0;ON;;;;;Y;;;;;
+22B1;SUCCEEDS UNDER RELATION;Sm;0;ON;;;;;Y;;;;;
+22B2;NORMAL SUBGROUP OF;Sm;0;ON;;;;;Y;;;;;
+22B3;CONTAINS AS NORMAL SUBGROUP;Sm;0;ON;;;;;Y;;;;;
+22B4;NORMAL SUBGROUP OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+22B5;CONTAINS AS NORMAL SUBGROUP OR EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+22B6;ORIGINAL OF;Sm;0;ON;;;;;Y;;;;;
+22B7;IMAGE OF;Sm;0;ON;;;;;Y;;;;;
+22B8;MULTIMAP;Sm;0;ON;;;;;Y;;;;;
+22B9;HERMITIAN CONJUGATE MATRIX;Sm;0;ON;;;;;N;;;;;
+22BA;INTERCALATE;Sm;0;ON;;;;;N;;;;;
+22BB;XOR;Sm;0;ON;;;;;N;;;;;
+22BC;NAND;Sm;0;ON;;;;;N;;;;;
+22BD;NOR;Sm;0;ON;;;;;N;;;;;
+22BE;RIGHT ANGLE WITH ARC;Sm;0;ON;;;;;Y;;;;;
+22BF;RIGHT TRIANGLE;Sm;0;ON;;;;;Y;;;;;
+22C0;N-ARY LOGICAL AND;Sm;0;ON;;;;;N;;;;;
+22C1;N-ARY LOGICAL OR;Sm;0;ON;;;;;N;;;;;
+22C2;N-ARY INTERSECTION;Sm;0;ON;;;;;N;;;;;
+22C3;N-ARY UNION;Sm;0;ON;;;;;N;;;;;
+22C4;DIAMOND OPERATOR;Sm;0;ON;;;;;N;;;;;
+22C5;DOT OPERATOR;Sm;0;ON;;;;;N;;;;;
+22C6;STAR OPERATOR;Sm;0;ON;;;;;N;;;;;
+22C7;DIVISION TIMES;Sm;0;ON;;;;;N;;;;;
+22C8;BOWTIE;Sm;0;ON;;;;;N;;;;;
+22C9;LEFT NORMAL FACTOR SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;;
+22CA;RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;;
+22CB;LEFT SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;;
+22CC;RIGHT SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;;
+22CD;REVERSED TILDE EQUALS;Sm;0;ON;;;;;Y;;;;;
+22CE;CURLY LOGICAL OR;Sm;0;ON;;;;;N;;;;;
+22CF;CURLY LOGICAL AND;Sm;0;ON;;;;;N;;;;;
+22D0;DOUBLE SUBSET;Sm;0;ON;;;;;Y;;;;;
+22D1;DOUBLE SUPERSET;Sm;0;ON;;;;;Y;;;;;
+22D2;DOUBLE INTERSECTION;Sm;0;ON;;;;;N;;;;;
+22D3;DOUBLE UNION;Sm;0;ON;;;;;N;;;;;
+22D4;PITCHFORK;Sm;0;ON;;;;;N;;;;;
+22D5;EQUAL AND PARALLEL TO;Sm;0;ON;;;;;N;;;;;
+22D6;LESS-THAN WITH DOT;Sm;0;ON;;;;;Y;LESS THAN WITH DOT;;;;
+22D7;GREATER-THAN WITH DOT;Sm;0;ON;;;;;Y;GREATER THAN WITH DOT;;;;
+22D8;VERY MUCH LESS-THAN;Sm;0;ON;;;;;Y;VERY MUCH LESS THAN;;;;
+22D9;VERY MUCH GREATER-THAN;Sm;0;ON;;;;;Y;VERY MUCH GREATER THAN;;;;
+22DA;LESS-THAN EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;LESS THAN EQUAL TO OR GREATER THAN;;;;
+22DB;GREATER-THAN EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;GREATER THAN EQUAL TO OR LESS THAN;;;;
+22DC;EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;EQUAL TO OR LESS THAN;;;;
+22DD;EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;EQUAL TO OR GREATER THAN;;;;
+22DE;EQUAL TO OR PRECEDES;Sm;0;ON;;;;;Y;;;;;
+22DF;EQUAL TO OR SUCCEEDS;Sm;0;ON;;;;;Y;;;;;
+22E0;DOES NOT PRECEDE OR EQUAL;Sm;0;ON;227C 0338;;;;Y;;;;;
+22E1;DOES NOT SUCCEED OR EQUAL;Sm;0;ON;227D 0338;;;;Y;;;;;
+22E2;NOT SQUARE IMAGE OF OR EQUAL TO;Sm;0;ON;2291 0338;;;;Y;;;;;
+22E3;NOT SQUARE ORIGINAL OF OR EQUAL TO;Sm;0;ON;2292 0338;;;;Y;;;;;
+22E4;SQUARE IMAGE OF OR NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+22E5;SQUARE ORIGINAL OF OR NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;;
+22E6;LESS-THAN BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;LESS THAN BUT NOT EQUIVALENT TO;;;;
+22E7;GREATER-THAN BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;GREATER THAN BUT NOT EQUIVALENT TO;;;;
+22E8;PRECEDES BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;;
+22E9;SUCCEEDS BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;;
+22EA;NOT NORMAL SUBGROUP OF;Sm;0;ON;22B2 0338;;;;Y;;;;;
+22EB;DOES NOT CONTAIN AS NORMAL SUBGROUP;Sm;0;ON;22B3 0338;;;;Y;;;;;
+22EC;NOT NORMAL SUBGROUP OF OR EQUAL TO;Sm;0;ON;22B4 0338;;;;Y;;;;;
+22ED;DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL;Sm;0;ON;22B5 0338;;;;Y;;;;;
+22EE;VERTICAL ELLIPSIS;Sm;0;ON;;;;;N;;;;;
+22EF;MIDLINE HORIZONTAL ELLIPSIS;Sm;0;ON;;;;;N;;;;;
+22F0;UP RIGHT DIAGONAL ELLIPSIS;Sm;0;ON;;;;;Y;;;;;
+22F1;DOWN RIGHT DIAGONAL ELLIPSIS;Sm;0;ON;;;;;Y;;;;;
+2300;DIAMETER SIGN;So;0;ON;;;;;N;;;;;
+2302;HOUSE;So;0;ON;;;;;N;;;;;
+2303;UP ARROWHEAD;So;0;ON;;;;;N;;;;;
+2304;DOWN ARROWHEAD;So;0;ON;;;;;N;;;;;
+2305;PROJECTIVE;So;0;ON;;;;;N;;;;;
+2306;PERSPECTIVE;So;0;ON;;;;;N;;;;;
+2307;WAVY LINE;So;0;ON;;;;;N;;;;;
+2308;LEFT CEILING;Sm;0;ON;;;;;Y;;;;;
+2309;RIGHT CEILING;Sm;0;ON;;;;;Y;;;;;
+230A;LEFT FLOOR;Sm;0;ON;;;;;Y;;;;;
+230B;RIGHT FLOOR;Sm;0;ON;;;;;Y;;;;;
+230C;BOTTOM RIGHT CROP;So;0;ON;;;;;N;;;;;
+230D;BOTTOM LEFT CROP;So;0;ON;;;;;N;;;;;
+230E;TOP RIGHT CROP;So;0;ON;;;;;N;;;;;
+230F;TOP LEFT CROP;So;0;ON;;;;;N;;;;;
+2310;REVERSED NOT SIGN;So;0;ON;;;;;N;;;;;
+2311;SQUARE LOZENGE;So;0;ON;;;;;N;;;;;
+2312;ARC;So;0;ON;;;;;N;;;;;
+2313;SEGMENT;So;0;ON;;;;;N;;;;;
+2314;SECTOR;So;0;ON;;;;;N;;;;;
+2315;TELEPHONE RECORDER;So;0;ON;;;;;N;;;;;
+2316;POSITION INDICATOR;So;0;ON;;;;;N;;;;;
+2317;VIEWDATA SQUARE;So;0;ON;;;;;N;;;;;
+2318;PLACE OF INTEREST SIGN;So;0;ON;;;;;N;COMMAND KEY;;;;
+2319;TURNED NOT SIGN;So;0;ON;;;;;N;;;;;
+231A;WATCH;So;0;ON;;;;;N;;;;;
+231B;HOURGLASS;So;0;ON;;;;;N;;;;;
+231C;TOP LEFT CORNER;So;0;ON;;;;;N;;;;;
+231D;TOP RIGHT CORNER;So;0;ON;;;;;N;;;;;
+231E;BOTTOM LEFT CORNER;So;0;ON;;;;;N;;;;;
+231F;BOTTOM RIGHT CORNER;So;0;ON;;;;;N;;;;;
+2320;TOP HALF INTEGRAL;Sm;0;ON;;;;;Y;;;;;
+2321;BOTTOM HALF INTEGRAL;Sm;0;ON;;;;;Y;;;;;
+2322;FROWN;So;0;ON;;;;;N;;;;;
+2323;SMILE;So;0;ON;;;;;N;;;;;
+2324;UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS;So;0;ON;;;;;N;ENTER KEY;;;;
+2325;OPTION KEY;So;0;ON;;;;;N;;;;;
+2326;ERASE TO THE RIGHT;So;0;ON;;;;;N;DELETE TO THE RIGHT KEY;;;;
+2327;X IN A RECTANGLE BOX;So;0;ON;;;;;N;CLEAR KEY;;;;
+2328;KEYBOARD;So;0;ON;;;;;N;;;;;
+2329;LEFT-POINTING ANGLE BRACKET;Ps;0;ON;3008;;;;Y;BRA;;;;
+232A;RIGHT-POINTING ANGLE BRACKET;Pe;0;ON;3009;;;;Y;KET;;;;
+232B;ERASE TO THE LEFT;So;0;ON;;;;;N;DELETE TO THE LEFT KEY;;;;
+232C;BENZENE RING;So;0;ON;;;;;N;;;;;
+232D;CYLINDRICITY;So;0;ON;;;;;N;;;;;
+232E;ALL AROUND-PROFILE;So;0;ON;;;;;N;;;;;
+232F;SYMMETRY;So;0;ON;;;;;N;;;;;
+2330;TOTAL RUNOUT;So;0;ON;;;;;N;;;;;
+2331;DIMENSION ORIGIN;So;0;ON;;;;;N;;;;;
+2332;CONICAL TAPER;So;0;ON;;;;;N;;;;;
+2333;SLOPE;So;0;ON;;;;;N;;;;;
+2334;COUNTERBORE;So;0;ON;;;;;N;;;;;
+2335;COUNTERSINK;So;0;ON;;;;;N;;;;;
+2336;APL FUNCTIONAL SYMBOL I-BEAM;So;0;L;;;;;N;;;;;
+2337;APL FUNCTIONAL SYMBOL SQUISH QUAD;So;0;L;;;;;N;;;;;
+2338;APL FUNCTIONAL SYMBOL QUAD EQUAL;So;0;L;;;;;N;;;;;
+2339;APL FUNCTIONAL SYMBOL QUAD DIVIDE;So;0;L;;;;;N;;;;;
+233A;APL FUNCTIONAL SYMBOL QUAD DIAMOND;So;0;L;;;;;N;;;;;
+233B;APL FUNCTIONAL SYMBOL QUAD JOT;So;0;L;;;;;N;;;;;
+233C;APL FUNCTIONAL SYMBOL QUAD CIRCLE;So;0;L;;;;;N;;;;;
+233D;APL FUNCTIONAL SYMBOL CIRCLE STILE;So;0;L;;;;;N;;;;;
+233E;APL FUNCTIONAL SYMBOL CIRCLE JOT;So;0;L;;;;;N;;;;;
+233F;APL FUNCTIONAL SYMBOL SLASH BAR;So;0;L;;;;;N;;;;;
+2340;APL FUNCTIONAL SYMBOL BACKSLASH BAR;So;0;L;;;;;N;;;;;
+2341;APL FUNCTIONAL SYMBOL QUAD SLASH;So;0;L;;;;;N;;;;;
+2342;APL FUNCTIONAL SYMBOL QUAD BACKSLASH;So;0;L;;;;;N;;;;;
+2343;APL FUNCTIONAL SYMBOL QUAD LESS-THAN;So;0;L;;;;;N;;;;;
+2344;APL FUNCTIONAL SYMBOL QUAD GREATER-THAN;So;0;L;;;;;N;;;;;
+2345;APL FUNCTIONAL SYMBOL LEFTWARDS VANE;So;0;L;;;;;N;;;;;
+2346;APL FUNCTIONAL SYMBOL RIGHTWARDS VANE;So;0;L;;;;;N;;;;;
+2347;APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW;So;0;L;;;;;N;;;;;
+2348;APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW;So;0;L;;;;;N;;;;;
+2349;APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH;So;0;L;;;;;N;;;;;
+234A;APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR;So;0;L;;;;;N;;;;;
+234B;APL FUNCTIONAL SYMBOL DELTA STILE;So;0;L;;;;;N;;;;;
+234C;APL FUNCTIONAL SYMBOL QUAD DOWN CARET;So;0;L;;;;;N;;;;;
+234D;APL FUNCTIONAL SYMBOL QUAD DELTA;So;0;L;;;;;N;;;;;
+234E;APL FUNCTIONAL SYMBOL DOWN TACK JOT;So;0;L;;;;;N;;;;;
+234F;APL FUNCTIONAL SYMBOL UPWARDS VANE;So;0;L;;;;;N;;;;;
+2350;APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW;So;0;L;;;;;N;;;;;
+2351;APL FUNCTIONAL SYMBOL UP TACK OVERBAR;So;0;L;;;;;N;;;;;
+2352;APL FUNCTIONAL SYMBOL DEL STILE;So;0;L;;;;;N;;;;;
+2353;APL FUNCTIONAL SYMBOL QUAD UP CARET;So;0;L;;;;;N;;;;;
+2354;APL FUNCTIONAL SYMBOL QUAD DEL;So;0;L;;;;;N;;;;;
+2355;APL FUNCTIONAL SYMBOL UP TACK JOT;So;0;L;;;;;N;;;;;
+2356;APL FUNCTIONAL SYMBOL DOWNWARDS VANE;So;0;L;;;;;N;;;;;
+2357;APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW;So;0;L;;;;;N;;;;;
+2358;APL FUNCTIONAL SYMBOL QUOTE UNDERBAR;So;0;L;;;;;N;;;;;
+2359;APL FUNCTIONAL SYMBOL DELTA UNDERBAR;So;0;L;;;;;N;;;;;
+235A;APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR;So;0;L;;;;;N;;;;;
+235B;APL FUNCTIONAL SYMBOL JOT UNDERBAR;So;0;L;;;;;N;;;;;
+235C;APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR;So;0;L;;;;;N;;;;;
+235D;APL FUNCTIONAL SYMBOL UP SHOE JOT;So;0;L;;;;;N;;;;;
+235E;APL FUNCTIONAL SYMBOL QUOTE QUAD;So;0;L;;;;;N;;;;;
+235F;APL FUNCTIONAL SYMBOL CIRCLE STAR;So;0;L;;;;;N;;;;;
+2360;APL FUNCTIONAL SYMBOL QUAD COLON;So;0;L;;;;;N;;;;;
+2361;APL FUNCTIONAL SYMBOL UP TACK DIAERESIS;So;0;L;;;;;N;;;;;
+2362;APL FUNCTIONAL SYMBOL DEL DIAERESIS;So;0;L;;;;;N;;;;;
+2363;APL FUNCTIONAL SYMBOL STAR DIAERESIS;So;0;L;;;;;N;;;;;
+2364;APL FUNCTIONAL SYMBOL JOT DIAERESIS;So;0;L;;;;;N;;;;;
+2365;APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS;So;0;L;;;;;N;;;;;
+2366;APL FUNCTIONAL SYMBOL DOWN SHOE STILE;So;0;L;;;;;N;;;;;
+2367;APL FUNCTIONAL SYMBOL LEFT SHOE STILE;So;0;L;;;;;N;;;;;
+2368;APL FUNCTIONAL SYMBOL TILDE DIAERESIS;So;0;L;;;;;N;;;;;
+2369;APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS;So;0;L;;;;;N;;;;;
+236A;APL FUNCTIONAL SYMBOL COMMA BAR;So;0;L;;;;;N;;;;;
+236B;APL FUNCTIONAL SYMBOL DEL TILDE;So;0;L;;;;;N;;;;;
+236C;APL FUNCTIONAL SYMBOL ZILDE;So;0;L;;;;;N;;;;;
+236D;APL FUNCTIONAL SYMBOL STILE TILDE;So;0;L;;;;;N;;;;;
+236E;APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR;So;0;L;;;;;N;;;;;
+236F;APL FUNCTIONAL SYMBOL QUAD NOT EQUAL;So;0;L;;;;;N;;;;;
+2370;APL FUNCTIONAL SYMBOL QUAD QUESTION;So;0;L;;;;;N;;;;;
+2371;APL FUNCTIONAL SYMBOL DOWN CARET TILDE;So;0;L;;;;;N;;;;;
+2372;APL FUNCTIONAL SYMBOL UP CARET TILDE;So;0;L;;;;;N;;;;;
+2373;APL FUNCTIONAL SYMBOL IOTA;So;0;L;;;;;N;;;;;
+2374;APL FUNCTIONAL SYMBOL RHO;So;0;L;;;;;N;;;;;
+2375;APL FUNCTIONAL SYMBOL OMEGA;So;0;L;;;;;N;;;;;
+2376;APL FUNCTIONAL SYMBOL ALPHA UNDERBAR;So;0;L;;;;;N;;;;;
+2377;APL FUNCTIONAL SYMBOL EPSILON UNDERBAR;So;0;L;;;;;N;;;;;
+2378;APL FUNCTIONAL SYMBOL IOTA UNDERBAR;So;0;L;;;;;N;;;;;
+2379;APL FUNCTIONAL SYMBOL OMEGA UNDERBAR;So;0;L;;;;;N;;;;;
+237A;APL FUNCTIONAL SYMBOL ALPHA;So;0;L;;;;;N;;;;;
+2400;SYMBOL FOR NULL;So;0;ON;;;;;N;GRAPHIC FOR NULL;;;;
+2401;SYMBOL FOR START OF HEADING;So;0;ON;;;;;N;GRAPHIC FOR START OF HEADING;;;;
+2402;SYMBOL FOR START OF TEXT;So;0;ON;;;;;N;GRAPHIC FOR START OF TEXT;;;;
+2403;SYMBOL FOR END OF TEXT;So;0;ON;;;;;N;GRAPHIC FOR END OF TEXT;;;;
+2404;SYMBOL FOR END OF TRANSMISSION;So;0;ON;;;;;N;GRAPHIC FOR END OF TRANSMISSION;;;;
+2405;SYMBOL FOR ENQUIRY;So;0;ON;;;;;N;GRAPHIC FOR ENQUIRY;;;;
+2406;SYMBOL FOR ACKNOWLEDGE;So;0;ON;;;;;N;GRAPHIC FOR ACKNOWLEDGE;;;;
+2407;SYMBOL FOR BELL;So;0;ON;;;;;N;GRAPHIC FOR BELL;;;;
+2408;SYMBOL FOR BACKSPACE;So;0;ON;;;;;N;GRAPHIC FOR BACKSPACE;;;;
+2409;SYMBOL FOR HORIZONTAL TABULATION;So;0;ON;;;;;N;GRAPHIC FOR HORIZONTAL TABULATION;;;;
+240A;SYMBOL FOR LINE FEED;So;0;ON;;;;;N;GRAPHIC FOR LINE FEED;;;;
+240B;SYMBOL FOR VERTICAL TABULATION;So;0;ON;;;;;N;GRAPHIC FOR VERTICAL TABULATION;;;;
+240C;SYMBOL FOR FORM FEED;So;0;ON;;;;;N;GRAPHIC FOR FORM FEED;;;;
+240D;SYMBOL FOR CARRIAGE RETURN;So;0;ON;;;;;N;GRAPHIC FOR CARRIAGE RETURN;;;;
+240E;SYMBOL FOR SHIFT OUT;So;0;ON;;;;;N;GRAPHIC FOR SHIFT OUT;;;;
+240F;SYMBOL FOR SHIFT IN;So;0;ON;;;;;N;GRAPHIC FOR SHIFT IN;;;;
+2410;SYMBOL FOR DATA LINK ESCAPE;So;0;ON;;;;;N;GRAPHIC FOR DATA LINK ESCAPE;;;;
+2411;SYMBOL FOR DEVICE CONTROL ONE;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL ONE;;;;
+2412;SYMBOL FOR DEVICE CONTROL TWO;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL TWO;;;;
+2413;SYMBOL FOR DEVICE CONTROL THREE;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL THREE;;;;
+2414;SYMBOL FOR DEVICE CONTROL FOUR;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL FOUR;;;;
+2415;SYMBOL FOR NEGATIVE ACKNOWLEDGE;So;0;ON;;;;;N;GRAPHIC FOR NEGATIVE ACKNOWLEDGE;;;;
+2416;SYMBOL FOR SYNCHRONOUS IDLE;So;0;ON;;;;;N;GRAPHIC FOR SYNCHRONOUS IDLE;;;;
+2417;SYMBOL FOR END OF TRANSMISSION BLOCK;So;0;ON;;;;;N;GRAPHIC FOR END OF TRANSMISSION BLOCK;;;;
+2418;SYMBOL FOR CANCEL;So;0;ON;;;;;N;GRAPHIC FOR CANCEL;;;;
+2419;SYMBOL FOR END OF MEDIUM;So;0;ON;;;;;N;GRAPHIC FOR END OF MEDIUM;;;;
+241A;SYMBOL FOR SUBSTITUTE;So;0;ON;;;;;N;GRAPHIC FOR SUBSTITUTE;;;;
+241B;SYMBOL FOR ESCAPE;So;0;ON;;;;;N;GRAPHIC FOR ESCAPE;;;;
+241C;SYMBOL FOR FILE SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR FILE SEPARATOR;;;;
+241D;SYMBOL FOR GROUP SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR GROUP SEPARATOR;;;;
+241E;SYMBOL FOR RECORD SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR RECORD SEPARATOR;;;;
+241F;SYMBOL FOR UNIT SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR UNIT SEPARATOR;;;;
+2420;SYMBOL FOR SPACE;So;0;ON;;;;;N;GRAPHIC FOR SPACE;;;;
+2421;SYMBOL FOR DELETE;So;0;ON;;;;;N;GRAPHIC FOR DELETE;;;;
+2422;BLANK SYMBOL;So;0;ON;;;;;N;BLANK;;;;
+2423;OPEN BOX;So;0;ON;;;;;N;;;;;
+2424;SYMBOL FOR NEWLINE;So;0;ON;;;;;N;GRAPHIC FOR NEWLINE;;;;
+2440;OCR HOOK;So;0;ON;;;;;N;;;;;
+2441;OCR CHAIR;So;0;ON;;;;;N;;;;;
+2442;OCR FORK;So;0;ON;;;;;N;;;;;
+2443;OCR INVERTED FORK;So;0;ON;;;;;N;;;;;
+2444;OCR BELT BUCKLE;So;0;ON;;;;;N;;;;;
+2445;OCR BOW TIE;So;0;ON;;;;;N;;;;;
+2446;OCR BRANCH BANK IDENTIFICATION;So;0;ON;;;;;N;;;;;
+2447;OCR AMOUNT OF CHECK;So;0;ON;;;;;N;;;;;
+2448;OCR DASH;So;0;ON;;;;;N;;;;;
+2449;OCR CUSTOMER ACCOUNT NUMBER;So;0;ON;;;;;N;;;;;
+244A;OCR DOUBLE BACKSLASH;So;0;ON;;;;;N;;;;;
+2460;CIRCLED DIGIT ONE;No;0;ON;<circle> 0031;;1;1;N;;;;;
+2461;CIRCLED DIGIT TWO;No;0;ON;<circle> 0032;;2;2;N;;;;;
+2462;CIRCLED DIGIT THREE;No;0;ON;<circle> 0033;;3;3;N;;;;;
+2463;CIRCLED DIGIT FOUR;No;0;ON;<circle> 0034;;4;4;N;;;;;
+2464;CIRCLED DIGIT FIVE;No;0;ON;<circle> 0035;;5;5;N;;;;;
+2465;CIRCLED DIGIT SIX;No;0;ON;<circle> 0036;;6;6;N;;;;;
+2466;CIRCLED DIGIT SEVEN;No;0;ON;<circle> 0037;;7;7;N;;;;;
+2467;CIRCLED DIGIT EIGHT;No;0;ON;<circle> 0038;;8;8;N;;;;;
+2468;CIRCLED DIGIT NINE;No;0;ON;<circle> 0039;;9;9;N;;;;;
+2469;CIRCLED NUMBER TEN;No;0;ON;<circle> 0031 0030;;;10;N;;;;;
+246A;CIRCLED NUMBER ELEVEN;No;0;ON;<circle> 0031 0031;;;11;N;;;;;
+246B;CIRCLED NUMBER TWELVE;No;0;ON;<circle> 0031 0032;;;12;N;;;;;
+246C;CIRCLED NUMBER THIRTEEN;No;0;ON;<circle> 0031 0033;;;13;N;;;;;
+246D;CIRCLED NUMBER FOURTEEN;No;0;ON;<circle> 0031 0034;;;14;N;;;;;
+246E;CIRCLED NUMBER FIFTEEN;No;0;ON;<circle> 0031 0035;;;15;N;;;;;
+246F;CIRCLED NUMBER SIXTEEN;No;0;ON;<circle> 0031 0036;;;16;N;;;;;
+2470;CIRCLED NUMBER SEVENTEEN;No;0;ON;<circle> 0031 0037;;;17;N;;;;;
+2471;CIRCLED NUMBER EIGHTEEN;No;0;ON;<circle> 0031 0038;;;18;N;;;;;
+2472;CIRCLED NUMBER NINETEEN;No;0;ON;<circle> 0031 0039;;;19;N;;;;;
+2473;CIRCLED NUMBER TWENTY;No;0;ON;<circle> 0032 0030;;;20;N;;;;;
+2474;PARENTHESIZED DIGIT ONE;No;0;ON;<compat> 0028 0031 0029;;1;1;N;;;;;
+2475;PARENTHESIZED DIGIT TWO;No;0;ON;<compat> 0028 0032 0029;;2;2;N;;;;;
+2476;PARENTHESIZED DIGIT THREE;No;0;ON;<compat> 0028 0033 0029;;3;3;N;;;;;
+2477;PARENTHESIZED DIGIT FOUR;No;0;ON;<compat> 0028 0034 0029;;4;4;N;;;;;
+2478;PARENTHESIZED DIGIT FIVE;No;0;ON;<compat> 0028 0035 0029;;5;5;N;;;;;
+2479;PARENTHESIZED DIGIT SIX;No;0;ON;<compat> 0028 0036 0029;;6;6;N;;;;;
+247A;PARENTHESIZED DIGIT SEVEN;No;0;ON;<compat> 0028 0037 0029;;7;7;N;;;;;
+247B;PARENTHESIZED DIGIT EIGHT;No;0;ON;<compat> 0028 0038 0029;;8;8;N;;;;;
+247C;PARENTHESIZED DIGIT NINE;No;0;ON;<compat> 0028 0039 0029;;9;9;N;;;;;
+247D;PARENTHESIZED NUMBER TEN;No;0;ON;<compat> 0028 0031 0030 0029;;;10;N;;;;;
+247E;PARENTHESIZED NUMBER ELEVEN;No;0;ON;<compat> 0028 0031 0031 0029;;;11;N;;;;;
+247F;PARENTHESIZED NUMBER TWELVE;No;0;ON;<compat> 0028 0031 0032 0029;;;12;N;;;;;
+2480;PARENTHESIZED NUMBER THIRTEEN;No;0;ON;<compat> 0028 0031 0033 0029;;;13;N;;;;;
+2481;PARENTHESIZED NUMBER FOURTEEN;No;0;ON;<compat> 0028 0031 0034 0029;;;14;N;;;;;
+2482;PARENTHESIZED NUMBER FIFTEEN;No;0;ON;<compat> 0028 0031 0035 0029;;;15;N;;;;;
+2483;PARENTHESIZED NUMBER SIXTEEN;No;0;ON;<compat> 0028 0031 0036 0029;;;16;N;;;;;
+2484;PARENTHESIZED NUMBER SEVENTEEN;No;0;ON;<compat> 0028 0031 0037 0029;;;17;N;;;;;
+2485;PARENTHESIZED NUMBER EIGHTEEN;No;0;ON;<compat> 0028 0031 0038 0029;;;18;N;;;;;
+2486;PARENTHESIZED NUMBER NINETEEN;No;0;ON;<compat> 0028 0031 0039 0029;;;19;N;;;;;
+2487;PARENTHESIZED NUMBER TWENTY;No;0;ON;<compat> 0028 0032 0030 0029;;;20;N;;;;;
+2488;DIGIT ONE FULL STOP;No;0;ON;<compat> 0031 002E;;1;1;N;DIGIT ONE PERIOD;;;;
+2489;DIGIT TWO FULL STOP;No;0;ON;<compat> 0032 002E;;2;2;N;DIGIT TWO PERIOD;;;;
+248A;DIGIT THREE FULL STOP;No;0;ON;<compat> 0033 002E;;3;3;N;DIGIT THREE PERIOD;;;;
+248B;DIGIT FOUR FULL STOP;No;0;ON;<compat> 0034 002E;;4;4;N;DIGIT FOUR PERIOD;;;;
+248C;DIGIT FIVE FULL STOP;No;0;ON;<compat> 0035 002E;;5;5;N;DIGIT FIVE PERIOD;;;;
+248D;DIGIT SIX FULL STOP;No;0;ON;<compat> 0036 002E;;6;6;N;DIGIT SIX PERIOD;;;;
+248E;DIGIT SEVEN FULL STOP;No;0;ON;<compat> 0037 002E;;7;7;N;DIGIT SEVEN PERIOD;;;;
+248F;DIGIT EIGHT FULL STOP;No;0;ON;<compat> 0038 002E;;8;8;N;DIGIT EIGHT PERIOD;;;;
+2490;DIGIT NINE FULL STOP;No;0;ON;<compat> 0039 002E;;9;9;N;DIGIT NINE PERIOD;;;;
+2491;NUMBER TEN FULL STOP;No;0;ON;<compat> 0031 0030 002E;;;10;N;NUMBER TEN PERIOD;;;;
+2492;NUMBER ELEVEN FULL STOP;No;0;ON;<compat> 0031 0031 002E;;;11;N;NUMBER ELEVEN PERIOD;;;;
+2493;NUMBER TWELVE FULL STOP;No;0;ON;<compat> 0031 0032 002E;;;12;N;NUMBER TWELVE PERIOD;;;;
+2494;NUMBER THIRTEEN FULL STOP;No;0;ON;<compat> 0031 0033 002E;;;13;N;NUMBER THIRTEEN PERIOD;;;;
+2495;NUMBER FOURTEEN FULL STOP;No;0;ON;<compat> 0031 0034 002E;;;14;N;NUMBER FOURTEEN PERIOD;;;;
+2496;NUMBER FIFTEEN FULL STOP;No;0;ON;<compat> 0031 0035 002E;;;15;N;NUMBER FIFTEEN PERIOD;;;;
+2497;NUMBER SIXTEEN FULL STOP;No;0;ON;<compat> 0031 0036 002E;;;16;N;NUMBER SIXTEEN PERIOD;;;;
+2498;NUMBER SEVENTEEN FULL STOP;No;0;ON;<compat> 0031 0037 002E;;;17;N;NUMBER SEVENTEEN PERIOD;;;;
+2499;NUMBER EIGHTEEN FULL STOP;No;0;ON;<compat> 0031 0038 002E;;;18;N;NUMBER EIGHTEEN PERIOD;;;;
+249A;NUMBER NINETEEN FULL STOP;No;0;ON;<compat> 0031 0039 002E;;;19;N;NUMBER NINETEEN PERIOD;;;;
+249B;NUMBER TWENTY FULL STOP;No;0;ON;<compat> 0032 0030 002E;;;20;N;NUMBER TWENTY PERIOD;;;;
+249C;PARENTHESIZED LATIN SMALL LETTER A;So;0;ON;<compat> 0028 0061 0029;;;;N;;;;;
+249D;PARENTHESIZED LATIN SMALL LETTER B;So;0;ON;<compat> 0028 0062 0029;;;;N;;;;;
+249E;PARENTHESIZED LATIN SMALL LETTER C;So;0;ON;<compat> 0028 0063 0029;;;;N;;;;;
+249F;PARENTHESIZED LATIN SMALL LETTER D;So;0;ON;<compat> 0028 0064 0029;;;;N;;;;;
+24A0;PARENTHESIZED LATIN SMALL LETTER E;So;0;ON;<compat> 0028 0065 0029;;;;N;;;;;
+24A1;PARENTHESIZED LATIN SMALL LETTER F;So;0;ON;<compat> 0028 0066 0029;;;;N;;;;;
+24A2;PARENTHESIZED LATIN SMALL LETTER G;So;0;ON;<compat> 0028 0067 0029;;;;N;;;;;
+24A3;PARENTHESIZED LATIN SMALL LETTER H;So;0;ON;<compat> 0028 0068 0029;;;;N;;;;;
+24A4;PARENTHESIZED LATIN SMALL LETTER I;So;0;ON;<compat> 0028 0069 0029;;;;N;;;;;
+24A5;PARENTHESIZED LATIN SMALL LETTER J;So;0;ON;<compat> 0028 006A 0029;;;;N;;;;;
+24A6;PARENTHESIZED LATIN SMALL LETTER K;So;0;ON;<compat> 0028 006B 0029;;;;N;;;;;
+24A7;PARENTHESIZED LATIN SMALL LETTER L;So;0;ON;<compat> 0028 006C 0029;;;;N;;;;;
+24A8;PARENTHESIZED LATIN SMALL LETTER M;So;0;ON;<compat> 0028 006D 0029;;;;N;;;;;
+24A9;PARENTHESIZED LATIN SMALL LETTER N;So;0;ON;<compat> 0028 006E 0029;;;;N;;;;;
+24AA;PARENTHESIZED LATIN SMALL LETTER O;So;0;ON;<compat> 0028 006F 0029;;;;N;;;;;
+24AB;PARENTHESIZED LATIN SMALL LETTER P;So;0;ON;<compat> 0028 0070 0029;;;;N;;;;;
+24AC;PARENTHESIZED LATIN SMALL LETTER Q;So;0;ON;<compat> 0028 0071 0029;;;;N;;;;;
+24AD;PARENTHESIZED LATIN SMALL LETTER R;So;0;ON;<compat> 0028 0072 0029;;;;N;;;;;
+24AE;PARENTHESIZED LATIN SMALL LETTER S;So;0;ON;<compat> 0028 0073 0029;;;;N;;;;;
+24AF;PARENTHESIZED LATIN SMALL LETTER T;So;0;ON;<compat> 0028 0074 0029;;;;N;;;;;
+24B0;PARENTHESIZED LATIN SMALL LETTER U;So;0;ON;<compat> 0028 0075 0029;;;;N;;;;;
+24B1;PARENTHESIZED LATIN SMALL LETTER V;So;0;ON;<compat> 0028 0076 0029;;;;N;;;;;
+24B2;PARENTHESIZED LATIN SMALL LETTER W;So;0;ON;<compat> 0028 0077 0029;;;;N;;;;;
+24B3;PARENTHESIZED LATIN SMALL LETTER X;So;0;ON;<compat> 0028 0078 0029;;;;N;;;;;
+24B4;PARENTHESIZED LATIN SMALL LETTER Y;So;0;ON;<compat> 0028 0079 0029;;;;N;;;;;
+24B5;PARENTHESIZED LATIN SMALL LETTER Z;So;0;ON;<compat> 0028 007A 0029;;;;N;;;;;
+24B6;CIRCLED LATIN CAPITAL LETTER A;So;0;ON;<circle> 0041;;;;N;;;;24D0;
+24B7;CIRCLED LATIN CAPITAL LETTER B;So;0;ON;<circle> 0042;;;;N;;;;24D1;
+24B8;CIRCLED LATIN CAPITAL LETTER C;So;0;ON;<circle> 0043;;;;N;;;;24D2;
+24B9;CIRCLED LATIN CAPITAL LETTER D;So;0;ON;<circle> 0044;;;;N;;;;24D3;
+24BA;CIRCLED LATIN CAPITAL LETTER E;So;0;ON;<circle> 0045;;;;N;;;;24D4;
+24BB;CIRCLED LATIN CAPITAL LETTER F;So;0;ON;<circle> 0046;;;;N;;;;24D5;
+24BC;CIRCLED LATIN CAPITAL LETTER G;So;0;ON;<circle> 0047;;;;N;;;;24D6;
+24BD;CIRCLED LATIN CAPITAL LETTER H;So;0;ON;<circle> 0048;;;;N;;;;24D7;
+24BE;CIRCLED LATIN CAPITAL LETTER I;So;0;ON;<circle> 0049;;;;N;;;;24D8;
+24BF;CIRCLED LATIN CAPITAL LETTER J;So;0;ON;<circle> 004A;;;;N;;;;24D9;
+24C0;CIRCLED LATIN CAPITAL LETTER K;So;0;ON;<circle> 004B;;;;N;;;;24DA;
+24C1;CIRCLED LATIN CAPITAL LETTER L;So;0;ON;<circle> 004C;;;;N;;;;24DB;
+24C2;CIRCLED LATIN CAPITAL LETTER M;So;0;ON;<circle> 004D;;;;N;;;;24DC;
+24C3;CIRCLED LATIN CAPITAL LETTER N;So;0;ON;<circle> 004E;;;;N;;;;24DD;
+24C4;CIRCLED LATIN CAPITAL LETTER O;So;0;ON;<circle> 004F;;;;N;;;;24DE;
+24C5;CIRCLED LATIN CAPITAL LETTER P;So;0;ON;<circle> 0050;;;;N;;;;24DF;
+24C6;CIRCLED LATIN CAPITAL LETTER Q;So;0;ON;<circle> 0051;;;;N;;;;24E0;
+24C7;CIRCLED LATIN CAPITAL LETTER R;So;0;ON;<circle> 0052;;;;N;;;;24E1;
+24C8;CIRCLED LATIN CAPITAL LETTER S;So;0;ON;<circle> 0053;;;;N;;;;24E2;
+24C9;CIRCLED LATIN CAPITAL LETTER T;So;0;ON;<circle> 0054;;;;N;;;;24E3;
+24CA;CIRCLED LATIN CAPITAL LETTER U;So;0;ON;<circle> 0055;;;;N;;;;24E4;
+24CB;CIRCLED LATIN CAPITAL LETTER V;So;0;ON;<circle> 0056;;;;N;;;;24E5;
+24CC;CIRCLED LATIN CAPITAL LETTER W;So;0;ON;<circle> 0057;;;;N;;;;24E6;
+24CD;CIRCLED LATIN CAPITAL LETTER X;So;0;ON;<circle> 0058;;;;N;;;;24E7;
+24CE;CIRCLED LATIN CAPITAL LETTER Y;So;0;ON;<circle> 0059;;;;N;;;;24E8;
+24CF;CIRCLED LATIN CAPITAL LETTER Z;So;0;ON;<circle> 005A;;;;N;;;;24E9;
+24D0;CIRCLED LATIN SMALL LETTER A;So;0;ON;<circle> 0061;;;;N;;;24B6;;24B6
+24D1;CIRCLED LATIN SMALL LETTER B;So;0;ON;<circle> 0062;;;;N;;;24B7;;24B7
+24D2;CIRCLED LATIN SMALL LETTER C;So;0;ON;<circle> 0063;;;;N;;;24B8;;24B8
+24D3;CIRCLED LATIN SMALL LETTER D;So;0;ON;<circle> 0064;;;;N;;;24B9;;24B9
+24D4;CIRCLED LATIN SMALL LETTER E;So;0;ON;<circle> 0065;;;;N;;;24BA;;24BA
+24D5;CIRCLED LATIN SMALL LETTER F;So;0;ON;<circle> 0066;;;;N;;;24BB;;24BB
+24D6;CIRCLED LATIN SMALL LETTER G;So;0;ON;<circle> 0067;;;;N;;;24BC;;24BC
+24D7;CIRCLED LATIN SMALL LETTER H;So;0;ON;<circle> 0068;;;;N;;;24BD;;24BD
+24D8;CIRCLED LATIN SMALL LETTER I;So;0;ON;<circle> 0069;;;;N;;;24BE;;24BE
+24D9;CIRCLED LATIN SMALL LETTER J;So;0;ON;<circle> 006A;;;;N;;;24BF;;24BF
+24DA;CIRCLED LATIN SMALL LETTER K;So;0;ON;<circle> 006B;;;;N;;;24C0;;24C0
+24DB;CIRCLED LATIN SMALL LETTER L;So;0;ON;<circle> 006C;;;;N;;;24C1;;24C1
+24DC;CIRCLED LATIN SMALL LETTER M;So;0;ON;<circle> 006D;;;;N;;;24C2;;24C2
+24DD;CIRCLED LATIN SMALL LETTER N;So;0;ON;<circle> 006E;;;;N;;;24C3;;24C3
+24DE;CIRCLED LATIN SMALL LETTER O;So;0;ON;<circle> 006F;;;;N;;;24C4;;24C4
+24DF;CIRCLED LATIN SMALL LETTER P;So;0;ON;<circle> 0070;;;;N;;;24C5;;24C5
+24E0;CIRCLED LATIN SMALL LETTER Q;So;0;ON;<circle> 0071;;;;N;;;24C6;;24C6
+24E1;CIRCLED LATIN SMALL LETTER R;So;0;ON;<circle> 0072;;;;N;;;24C7;;24C7
+24E2;CIRCLED LATIN SMALL LETTER S;So;0;ON;<circle> 0073;;;;N;;;24C8;;24C8
+24E3;CIRCLED LATIN SMALL LETTER T;So;0;ON;<circle> 0074;;;;N;;;24C9;;24C9
+24E4;CIRCLED LATIN SMALL LETTER U;So;0;ON;<circle> 0075;;;;N;;;24CA;;24CA
+24E5;CIRCLED LATIN SMALL LETTER V;So;0;ON;<circle> 0076;;;;N;;;24CB;;24CB
+24E6;CIRCLED LATIN SMALL LETTER W;So;0;ON;<circle> 0077;;;;N;;;24CC;;24CC
+24E7;CIRCLED LATIN SMALL LETTER X;So;0;ON;<circle> 0078;;;;N;;;24CD;;24CD
+24E8;CIRCLED LATIN SMALL LETTER Y;So;0;ON;<circle> 0079;;;;N;;;24CE;;24CE
+24E9;CIRCLED LATIN SMALL LETTER Z;So;0;ON;<circle> 007A;;;;N;;;24CF;;24CF
+24EA;CIRCLED DIGIT ZERO;No;0;ON;<circle> 0030;;0;0;N;;;;;
+2500;BOX DRAWINGS LIGHT HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT HORIZONTAL;;;;
+2501;BOX DRAWINGS HEAVY HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY HORIZONTAL;;;;
+2502;BOX DRAWINGS LIGHT VERTICAL;So;0;ON;;;;;N;FORMS LIGHT VERTICAL;;;;
+2503;BOX DRAWINGS HEAVY VERTICAL;So;0;ON;;;;;N;FORMS HEAVY VERTICAL;;;;
+2504;BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT TRIPLE DASH HORIZONTAL;;;;
+2505;BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY TRIPLE DASH HORIZONTAL;;;;
+2506;BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS LIGHT TRIPLE DASH VERTICAL;;;;
+2507;BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS HEAVY TRIPLE DASH VERTICAL;;;;
+2508;BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT QUADRUPLE DASH HORIZONTAL;;;;
+2509;BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY QUADRUPLE DASH HORIZONTAL;;;;
+250A;BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS LIGHT QUADRUPLE DASH VERTICAL;;;;
+250B;BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS HEAVY QUADRUPLE DASH VERTICAL;;;;
+250C;BOX DRAWINGS LIGHT DOWN AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT DOWN AND RIGHT;;;;
+250D;BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND RIGHT HEAVY;;;;
+250E;BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND RIGHT LIGHT;;;;
+250F;BOX DRAWINGS HEAVY DOWN AND RIGHT;So;0;ON;;;;;N;FORMS HEAVY DOWN AND RIGHT;;;;
+2510;BOX DRAWINGS LIGHT DOWN AND LEFT;So;0;ON;;;;;N;FORMS LIGHT DOWN AND LEFT;;;;
+2511;BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND LEFT HEAVY;;;;
+2512;BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND LEFT LIGHT;;;;
+2513;BOX DRAWINGS HEAVY DOWN AND LEFT;So;0;ON;;;;;N;FORMS HEAVY DOWN AND LEFT;;;;
+2514;BOX DRAWINGS LIGHT UP AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT UP AND RIGHT;;;;
+2515;BOX DRAWINGS UP LIGHT AND RIGHT HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND RIGHT HEAVY;;;;
+2516;BOX DRAWINGS UP HEAVY AND RIGHT LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND RIGHT LIGHT;;;;
+2517;BOX DRAWINGS HEAVY UP AND RIGHT;So;0;ON;;;;;N;FORMS HEAVY UP AND RIGHT;;;;
+2518;BOX DRAWINGS LIGHT UP AND LEFT;So;0;ON;;;;;N;FORMS LIGHT UP AND LEFT;;;;
+2519;BOX DRAWINGS UP LIGHT AND LEFT HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND LEFT HEAVY;;;;
+251A;BOX DRAWINGS UP HEAVY AND LEFT LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND LEFT LIGHT;;;;
+251B;BOX DRAWINGS HEAVY UP AND LEFT;So;0;ON;;;;;N;FORMS HEAVY UP AND LEFT;;;;
+251C;BOX DRAWINGS LIGHT VERTICAL AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT VERTICAL AND RIGHT;;;;
+251D;BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY;So;0;ON;;;;;N;FORMS VERTICAL LIGHT AND RIGHT HEAVY;;;;
+251E;BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND RIGHT DOWN LIGHT;;;;
+251F;BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND RIGHT UP LIGHT;;;;
+2520;BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT;So;0;ON;;;;;N;FORMS VERTICAL HEAVY AND RIGHT LIGHT;;;;
+2521;BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND RIGHT UP HEAVY;;;;
+2522;BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND RIGHT DOWN HEAVY;;;;
+2523;BOX DRAWINGS HEAVY VERTICAL AND RIGHT;So;0;ON;;;;;N;FORMS HEAVY VERTICAL AND RIGHT;;;;
+2524;BOX DRAWINGS LIGHT VERTICAL AND LEFT;So;0;ON;;;;;N;FORMS LIGHT VERTICAL AND LEFT;;;;
+2525;BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY;So;0;ON;;;;;N;FORMS VERTICAL LIGHT AND LEFT HEAVY;;;;
+2526;BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND LEFT DOWN LIGHT;;;;
+2527;BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND LEFT UP LIGHT;;;;
+2528;BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT;So;0;ON;;;;;N;FORMS VERTICAL HEAVY AND LEFT LIGHT;;;;
+2529;BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND LEFT UP HEAVY;;;;
+252A;BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND LEFT DOWN HEAVY;;;;
+252B;BOX DRAWINGS HEAVY VERTICAL AND LEFT;So;0;ON;;;;;N;FORMS HEAVY VERTICAL AND LEFT;;;;
+252C;BOX DRAWINGS LIGHT DOWN AND HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT DOWN AND HORIZONTAL;;;;
+252D;BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT;So;0;ON;;;;;N;FORMS LEFT HEAVY AND RIGHT DOWN LIGHT;;;;
+252E;BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT;So;0;ON;;;;;N;FORMS RIGHT HEAVY AND LEFT DOWN LIGHT;;;;
+252F;BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND HORIZONTAL HEAVY;;;;
+2530;BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND HORIZONTAL LIGHT;;;;
+2531;BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY;So;0;ON;;;;;N;FORMS RIGHT LIGHT AND LEFT DOWN HEAVY;;;;
+2532;BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY;So;0;ON;;;;;N;FORMS LEFT LIGHT AND RIGHT DOWN HEAVY;;;;
+2533;BOX DRAWINGS HEAVY DOWN AND HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY DOWN AND HORIZONTAL;;;;
+2534;BOX DRAWINGS LIGHT UP AND HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT UP AND HORIZONTAL;;;;
+2535;BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT;So;0;ON;;;;;N;FORMS LEFT HEAVY AND RIGHT UP LIGHT;;;;
+2536;BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT;So;0;ON;;;;;N;FORMS RIGHT HEAVY AND LEFT UP LIGHT;;;;
+2537;BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND HORIZONTAL HEAVY;;;;
+2538;BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND HORIZONTAL LIGHT;;;;
+2539;BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY;So;0;ON;;;;;N;FORMS RIGHT LIGHT AND LEFT UP HEAVY;;;;
+253A;BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY;So;0;ON;;;;;N;FORMS LEFT LIGHT AND RIGHT UP HEAVY;;;;
+253B;BOX DRAWINGS HEAVY UP AND HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY UP AND HORIZONTAL;;;;
+253C;BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT VERTICAL AND HORIZONTAL;;;;
+253D;BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT;So;0;ON;;;;;N;FORMS LEFT HEAVY AND RIGHT VERTICAL LIGHT;;;;
+253E;BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT;So;0;ON;;;;;N;FORMS RIGHT HEAVY AND LEFT VERTICAL LIGHT;;;;
+253F;BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS VERTICAL LIGHT AND HORIZONTAL HEAVY;;;;
+2540;BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND DOWN HORIZONTAL LIGHT;;;;
+2541;BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND UP HORIZONTAL LIGHT;;;;
+2542;BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS VERTICAL HEAVY AND HORIZONTAL LIGHT;;;;
+2543;BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT;So;0;ON;;;;;N;FORMS LEFT UP HEAVY AND RIGHT DOWN LIGHT;;;;
+2544;BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT;So;0;ON;;;;;N;FORMS RIGHT UP HEAVY AND LEFT DOWN LIGHT;;;;
+2545;BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT;So;0;ON;;;;;N;FORMS LEFT DOWN HEAVY AND RIGHT UP LIGHT;;;;
+2546;BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT;So;0;ON;;;;;N;FORMS RIGHT DOWN HEAVY AND LEFT UP LIGHT;;;;
+2547;BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND UP HORIZONTAL HEAVY;;;;
+2548;BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND DOWN HORIZONTAL HEAVY;;;;
+2549;BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY;So;0;ON;;;;;N;FORMS RIGHT LIGHT AND LEFT VERTICAL HEAVY;;;;
+254A;BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY;So;0;ON;;;;;N;FORMS LEFT LIGHT AND RIGHT VERTICAL HEAVY;;;;
+254B;BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY VERTICAL AND HORIZONTAL;;;;
+254C;BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT DOUBLE DASH HORIZONTAL;;;;
+254D;BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY DOUBLE DASH HORIZONTAL;;;;
+254E;BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL;So;0;ON;;;;;N;FORMS LIGHT DOUBLE DASH VERTICAL;;;;
+254F;BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL;So;0;ON;;;;;N;FORMS HEAVY DOUBLE DASH VERTICAL;;;;
+2550;BOX DRAWINGS DOUBLE HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE HORIZONTAL;;;;
+2551;BOX DRAWINGS DOUBLE VERTICAL;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL;;;;
+2552;BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE;So;0;ON;;;;;N;FORMS DOWN SINGLE AND RIGHT DOUBLE;;;;
+2553;BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE;So;0;ON;;;;;N;FORMS DOWN DOUBLE AND RIGHT SINGLE;;;;
+2554;BOX DRAWINGS DOUBLE DOWN AND RIGHT;So;0;ON;;;;;N;FORMS DOUBLE DOWN AND RIGHT;;;;
+2555;BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE;So;0;ON;;;;;N;FORMS DOWN SINGLE AND LEFT DOUBLE;;;;
+2556;BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE;So;0;ON;;;;;N;FORMS DOWN DOUBLE AND LEFT SINGLE;;;;
+2557;BOX DRAWINGS DOUBLE DOWN AND LEFT;So;0;ON;;;;;N;FORMS DOUBLE DOWN AND LEFT;;;;
+2558;BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE;So;0;ON;;;;;N;FORMS UP SINGLE AND RIGHT DOUBLE;;;;
+2559;BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE;So;0;ON;;;;;N;FORMS UP DOUBLE AND RIGHT SINGLE;;;;
+255A;BOX DRAWINGS DOUBLE UP AND RIGHT;So;0;ON;;;;;N;FORMS DOUBLE UP AND RIGHT;;;;
+255B;BOX DRAWINGS UP SINGLE AND LEFT DOUBLE;So;0;ON;;;;;N;FORMS UP SINGLE AND LEFT DOUBLE;;;;
+255C;BOX DRAWINGS UP DOUBLE AND LEFT SINGLE;So;0;ON;;;;;N;FORMS UP DOUBLE AND LEFT SINGLE;;;;
+255D;BOX DRAWINGS DOUBLE UP AND LEFT;So;0;ON;;;;;N;FORMS DOUBLE UP AND LEFT;;;;
+255E;BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE;So;0;ON;;;;;N;FORMS VERTICAL SINGLE AND RIGHT DOUBLE;;;;
+255F;BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE;So;0;ON;;;;;N;FORMS VERTICAL DOUBLE AND RIGHT SINGLE;;;;
+2560;BOX DRAWINGS DOUBLE VERTICAL AND RIGHT;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL AND RIGHT;;;;
+2561;BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE;So;0;ON;;;;;N;FORMS VERTICAL SINGLE AND LEFT DOUBLE;;;;
+2562;BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE;So;0;ON;;;;;N;FORMS VERTICAL DOUBLE AND LEFT SINGLE;;;;
+2563;BOX DRAWINGS DOUBLE VERTICAL AND LEFT;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL AND LEFT;;;;
+2564;BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE;So;0;ON;;;;;N;FORMS DOWN SINGLE AND HORIZONTAL DOUBLE;;;;
+2565;BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE;So;0;ON;;;;;N;FORMS DOWN DOUBLE AND HORIZONTAL SINGLE;;;;
+2566;BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE DOWN AND HORIZONTAL;;;;
+2567;BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE;So;0;ON;;;;;N;FORMS UP SINGLE AND HORIZONTAL DOUBLE;;;;
+2568;BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE;So;0;ON;;;;;N;FORMS UP DOUBLE AND HORIZONTAL SINGLE;;;;
+2569;BOX DRAWINGS DOUBLE UP AND HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE UP AND HORIZONTAL;;;;
+256A;BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE;So;0;ON;;;;;N;FORMS VERTICAL SINGLE AND HORIZONTAL DOUBLE;;;;
+256B;BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE;So;0;ON;;;;;N;FORMS VERTICAL DOUBLE AND HORIZONTAL SINGLE;;;;
+256C;BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL AND HORIZONTAL;;;;
+256D;BOX DRAWINGS LIGHT ARC DOWN AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT ARC DOWN AND RIGHT;;;;
+256E;BOX DRAWINGS LIGHT ARC DOWN AND LEFT;So;0;ON;;;;;N;FORMS LIGHT ARC DOWN AND LEFT;;;;
+256F;BOX DRAWINGS LIGHT ARC UP AND LEFT;So;0;ON;;;;;N;FORMS LIGHT ARC UP AND LEFT;;;;
+2570;BOX DRAWINGS LIGHT ARC UP AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT ARC UP AND RIGHT;;;;
+2571;BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT;So;0;ON;;;;;N;FORMS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT;;;;
+2572;BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT;So;0;ON;;;;;N;FORMS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT;;;;
+2573;BOX DRAWINGS LIGHT DIAGONAL CROSS;So;0;ON;;;;;N;FORMS LIGHT DIAGONAL CROSS;;;;
+2574;BOX DRAWINGS LIGHT LEFT;So;0;ON;;;;;N;FORMS LIGHT LEFT;;;;
+2575;BOX DRAWINGS LIGHT UP;So;0;ON;;;;;N;FORMS LIGHT UP;;;;
+2576;BOX DRAWINGS LIGHT RIGHT;So;0;ON;;;;;N;FORMS LIGHT RIGHT;;;;
+2577;BOX DRAWINGS LIGHT DOWN;So;0;ON;;;;;N;FORMS LIGHT DOWN;;;;
+2578;BOX DRAWINGS HEAVY LEFT;So;0;ON;;;;;N;FORMS HEAVY LEFT;;;;
+2579;BOX DRAWINGS HEAVY UP;So;0;ON;;;;;N;FORMS HEAVY UP;;;;
+257A;BOX DRAWINGS HEAVY RIGHT;So;0;ON;;;;;N;FORMS HEAVY RIGHT;;;;
+257B;BOX DRAWINGS HEAVY DOWN;So;0;ON;;;;;N;FORMS HEAVY DOWN;;;;
+257C;BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT;So;0;ON;;;;;N;FORMS LIGHT LEFT AND HEAVY RIGHT;;;;
+257D;BOX DRAWINGS LIGHT UP AND HEAVY DOWN;So;0;ON;;;;;N;FORMS LIGHT UP AND HEAVY DOWN;;;;
+257E;BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT;So;0;ON;;;;;N;FORMS HEAVY LEFT AND LIGHT RIGHT;;;;
+257F;BOX DRAWINGS HEAVY UP AND LIGHT DOWN;So;0;ON;;;;;N;FORMS HEAVY UP AND LIGHT DOWN;;;;
+2580;UPPER HALF BLOCK;So;0;ON;;;;;N;;;;;
+2581;LOWER ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;;
+2582;LOWER ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;;
+2583;LOWER THREE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;;
+2584;LOWER HALF BLOCK;So;0;ON;;;;;N;;;;;
+2585;LOWER FIVE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;;
+2586;LOWER THREE QUARTERS BLOCK;So;0;ON;;;;;N;LOWER THREE QUARTER BLOCK;;;;
+2587;LOWER SEVEN EIGHTHS BLOCK;So;0;ON;;;;;N;;;;;
+2588;FULL BLOCK;So;0;ON;;;;;N;;;;;
+2589;LEFT SEVEN EIGHTHS BLOCK;So;0;ON;;;;;N;;;;;
+258A;LEFT THREE QUARTERS BLOCK;So;0;ON;;;;;N;LEFT THREE QUARTER BLOCK;;;;
+258B;LEFT FIVE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;;
+258C;LEFT HALF BLOCK;So;0;ON;;;;;N;;;;;
+258D;LEFT THREE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;;
+258E;LEFT ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;;
+258F;LEFT ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;;
+2590;RIGHT HALF BLOCK;So;0;ON;;;;;N;;;;;
+2591;LIGHT SHADE;So;0;ON;;;;;N;;;;;
+2592;MEDIUM SHADE;So;0;ON;;;;;N;;;;;
+2593;DARK SHADE;So;0;ON;;;;;N;;;;;
+2594;UPPER ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;;
+2595;RIGHT ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;;
+25A0;BLACK SQUARE;So;0;ON;;;;;N;;;;;
+25A1;WHITE SQUARE;So;0;ON;;;;;N;;;;;
+25A2;WHITE SQUARE WITH ROUNDED CORNERS;So;0;ON;;;;;N;;;;;
+25A3;WHITE SQUARE CONTAINING BLACK SMALL SQUARE;So;0;ON;;;;;N;;;;;
+25A4;SQUARE WITH HORIZONTAL FILL;So;0;ON;;;;;N;;;;;
+25A5;SQUARE WITH VERTICAL FILL;So;0;ON;;;;;N;;;;;
+25A6;SQUARE WITH ORTHOGONAL CROSSHATCH FILL;So;0;ON;;;;;N;;;;;
+25A7;SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL;So;0;ON;;;;;N;;;;;
+25A8;SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL;So;0;ON;;;;;N;;;;;
+25A9;SQUARE WITH DIAGONAL CROSSHATCH FILL;So;0;ON;;;;;N;;;;;
+25AA;BLACK SMALL SQUARE;So;0;ON;;;;;N;;;;;
+25AB;WHITE SMALL SQUARE;So;0;ON;;;;;N;;;;;
+25AC;BLACK RECTANGLE;So;0;ON;;;;;N;;;;;
+25AD;WHITE RECTANGLE;So;0;ON;;;;;N;;;;;
+25AE;BLACK VERTICAL RECTANGLE;So;0;ON;;;;;N;;;;;
+25AF;WHITE VERTICAL RECTANGLE;So;0;ON;;;;;N;;;;;
+25B0;BLACK PARALLELOGRAM;So;0;ON;;;;;N;;;;;
+25B1;WHITE PARALLELOGRAM;So;0;ON;;;;;N;;;;;
+25B2;BLACK UP-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK UP POINTING TRIANGLE;;;;
+25B3;WHITE UP-POINTING TRIANGLE;So;0;ON;;;;;N;WHITE UP POINTING TRIANGLE;;;;
+25B4;BLACK UP-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK UP POINTING SMALL TRIANGLE;;;;
+25B5;WHITE UP-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE UP POINTING SMALL TRIANGLE;;;;
+25B6;BLACK RIGHT-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK RIGHT POINTING TRIANGLE;;;;
+25B7;WHITE RIGHT-POINTING TRIANGLE;So;0;ON;;;;;N;WHITE RIGHT POINTING TRIANGLE;;;;
+25B8;BLACK RIGHT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK RIGHT POINTING SMALL TRIANGLE;;;;
+25B9;WHITE RIGHT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE RIGHT POINTING SMALL TRIANGLE;;;;
+25BA;BLACK RIGHT-POINTING POINTER;So;0;ON;;;;;N;BLACK RIGHT POINTING POINTER;;;;
+25BB;WHITE RIGHT-POINTING POINTER;So;0;ON;;;;;N;WHITE RIGHT POINTING POINTER;;;;
+25BC;BLACK DOWN-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK DOWN POINTING TRIANGLE;;;;
+25BD;WHITE DOWN-POINTING TRIANGLE;So;0;ON;;;;;N;WHITE DOWN POINTING TRIANGLE;;;;
+25BE;BLACK DOWN-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK DOWN POINTING SMALL TRIANGLE;;;;
+25BF;WHITE DOWN-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE DOWN POINTING SMALL TRIANGLE;;;;
+25C0;BLACK LEFT-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK LEFT POINTING TRIANGLE;;;;
+25C1;WHITE LEFT-POINTING TRIANGLE;So;0;ON;;;;;N;WHITE LEFT POINTING TRIANGLE;;;;
+25C2;BLACK LEFT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK LEFT POINTING SMALL TRIANGLE;;;;
+25C3;WHITE LEFT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE LEFT POINTING SMALL TRIANGLE;;;;
+25C4;BLACK LEFT-POINTING POINTER;So;0;ON;;;;;N;BLACK LEFT POINTING POINTER;;;;
+25C5;WHITE LEFT-POINTING POINTER;So;0;ON;;;;;N;WHITE LEFT POINTING POINTER;;;;
+25C6;BLACK DIAMOND;So;0;ON;;;;;N;;;;;
+25C7;WHITE DIAMOND;So;0;ON;;;;;N;;;;;
+25C8;WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND;So;0;ON;;;;;N;;;;;
+25C9;FISHEYE;So;0;ON;;;;;N;;;;;
+25CA;LOZENGE;So;0;ON;;;;;N;;;;;
+25CB;WHITE CIRCLE;So;0;ON;;;;;N;;;;;
+25CC;DOTTED CIRCLE;So;0;ON;;;;;N;;;;;
+25CD;CIRCLE WITH VERTICAL FILL;So;0;ON;;;;;N;;;;;
+25CE;BULLSEYE;So;0;ON;;;;;N;;;;;
+25CF;BLACK CIRCLE;So;0;ON;;;;;N;;;;;
+25D0;CIRCLE WITH LEFT HALF BLACK;So;0;ON;;;;;N;;;;;
+25D1;CIRCLE WITH RIGHT HALF BLACK;So;0;ON;;;;;N;;;;;
+25D2;CIRCLE WITH LOWER HALF BLACK;So;0;ON;;;;;N;;;;;
+25D3;CIRCLE WITH UPPER HALF BLACK;So;0;ON;;;;;N;;;;;
+25D4;CIRCLE WITH UPPER RIGHT QUADRANT BLACK;So;0;ON;;;;;N;;;;;
+25D5;CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK;So;0;ON;;;;;N;;;;;
+25D6;LEFT HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;;
+25D7;RIGHT HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;;
+25D8;INVERSE BULLET;So;0;ON;;;;;N;;;;;
+25D9;INVERSE WHITE CIRCLE;So;0;ON;;;;;N;;;;;
+25DA;UPPER HALF INVERSE WHITE CIRCLE;So;0;ON;;;;;N;;;;;
+25DB;LOWER HALF INVERSE WHITE CIRCLE;So;0;ON;;;;;N;;;;;
+25DC;UPPER LEFT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;;
+25DD;UPPER RIGHT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;;
+25DE;LOWER RIGHT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;;
+25DF;LOWER LEFT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;;
+25E0;UPPER HALF CIRCLE;So;0;ON;;;;;N;;;;;
+25E1;LOWER HALF CIRCLE;So;0;ON;;;;;N;;;;;
+25E2;BLACK LOWER RIGHT TRIANGLE;So;0;ON;;;;;N;;;;;
+25E3;BLACK LOWER LEFT TRIANGLE;So;0;ON;;;;;N;;;;;
+25E4;BLACK UPPER LEFT TRIANGLE;So;0;ON;;;;;N;;;;;
+25E5;BLACK UPPER RIGHT TRIANGLE;So;0;ON;;;;;N;;;;;
+25E6;WHITE BULLET;So;0;ON;;;;;N;;;;;
+25E7;SQUARE WITH LEFT HALF BLACK;So;0;ON;;;;;N;;;;;
+25E8;SQUARE WITH RIGHT HALF BLACK;So;0;ON;;;;;N;;;;;
+25E9;SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK;So;0;ON;;;;;N;;;;;
+25EA;SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK;So;0;ON;;;;;N;;;;;
+25EB;WHITE SQUARE WITH VERTICAL BISECTING LINE;So;0;ON;;;;;N;;;;;
+25EC;WHITE UP-POINTING TRIANGLE WITH DOT;So;0;ON;;;;;N;WHITE UP POINTING TRIANGLE WITH DOT;;;;
+25ED;UP-POINTING TRIANGLE WITH LEFT HALF BLACK;So;0;ON;;;;;N;UP POINTING TRIANGLE WITH LEFT HALF BLACK;;;;
+25EE;UP-POINTING TRIANGLE WITH RIGHT HALF BLACK;So;0;ON;;;;;N;UP POINTING TRIANGLE WITH RIGHT HALF BLACK;;;;
+25EF;LARGE CIRCLE;So;0;ON;;;;;N;;;;;
+2600;BLACK SUN WITH RAYS;So;0;ON;;;;;N;;;;;
+2601;CLOUD;So;0;ON;;;;;N;;;;;
+2602;UMBRELLA;So;0;ON;;;;;N;;;;;
+2603;SNOWMAN;So;0;ON;;;;;N;;;;;
+2604;COMET;So;0;ON;;;;;N;;;;;
+2605;BLACK STAR;So;0;ON;;;;;N;;;;;
+2606;WHITE STAR;So;0;ON;;;;;N;;;;;
+2607;LIGHTNING;So;0;ON;;;;;N;;;;;
+2608;THUNDERSTORM;So;0;ON;;;;;N;;;;;
+2609;SUN;So;0;ON;;;;;N;;;;;
+260A;ASCENDING NODE;So;0;ON;;;;;N;;;;;
+260B;DESCENDING NODE;So;0;ON;;;;;N;;;;;
+260C;CONJUNCTION;So;0;ON;;;;;N;;;;;
+260D;OPPOSITION;So;0;ON;;;;;N;;;;;
+260E;BLACK TELEPHONE;So;0;ON;;;;;N;;;;;
+260F;WHITE TELEPHONE;So;0;ON;;;;;N;;;;;
+2610;BALLOT BOX;So;0;ON;;;;;N;;;;;
+2611;BALLOT BOX WITH CHECK;So;0;ON;;;;;N;;;;;
+2612;BALLOT BOX WITH X;So;0;ON;;;;;N;;;;;
+2613;SALTIRE;So;0;ON;;;;;N;;;;;
+261A;BLACK LEFT POINTING INDEX;So;0;ON;;;;;N;;;;;
+261B;BLACK RIGHT POINTING INDEX;So;0;ON;;;;;N;;;;;
+261C;WHITE LEFT POINTING INDEX;So;0;ON;;;;;N;;;;;
+261D;WHITE UP POINTING INDEX;So;0;ON;;;;;N;;;;;
+261E;WHITE RIGHT POINTING INDEX;So;0;ON;;;;;N;;;;;
+261F;WHITE DOWN POINTING INDEX;So;0;ON;;;;;N;;;;;
+2620;SKULL AND CROSSBONES;So;0;ON;;;;;N;;;;;
+2621;CAUTION SIGN;So;0;ON;;;;;N;;;;;
+2622;RADIOACTIVE SIGN;So;0;ON;;;;;N;;;;;
+2623;BIOHAZARD SIGN;So;0;ON;;;;;N;;;;;
+2624;CADUCEUS;So;0;ON;;;;;N;;;;;
+2625;ANKH;So;0;ON;;;;;N;;;;;
+2626;ORTHODOX CROSS;So;0;ON;;;;;N;;;;;
+2627;CHI RHO;So;0;ON;;;;;N;;;;;
+2628;CROSS OF LORRAINE;So;0;ON;;;;;N;;;;;
+2629;CROSS OF JERUSALEM;So;0;ON;;;;;N;;;;;
+262A;STAR AND CRESCENT;So;0;ON;;;;;N;;;;;
+262B;FARSI SYMBOL;So;0;ON;;;;;N;SYMBOL OF IRAN;;;;
+262C;ADI SHAKTI;So;0;ON;;;;;N;;;;;
+262D;HAMMER AND SICKLE;So;0;ON;;;;;N;;;;;
+262E;PEACE SYMBOL;So;0;ON;;;;;N;;;;;
+262F;YIN YANG;So;0;ON;;;;;N;;;;;
+2630;TRIGRAM FOR HEAVEN;So;0;ON;;;;;N;;;;;
+2631;TRIGRAM FOR LAKE;So;0;ON;;;;;N;;;;;
+2632;TRIGRAM FOR FIRE;So;0;ON;;;;;N;;;;;
+2633;TRIGRAM FOR THUNDER;So;0;ON;;;;;N;;;;;
+2634;TRIGRAM FOR WIND;So;0;ON;;;;;N;;;;;
+2635;TRIGRAM FOR WATER;So;0;ON;;;;;N;;;;;
+2636;TRIGRAM FOR MOUNTAIN;So;0;ON;;;;;N;;;;;
+2637;TRIGRAM FOR EARTH;So;0;ON;;;;;N;;;;;
+2638;WHEEL OF DHARMA;So;0;ON;;;;;N;;;;;
+2639;WHITE FROWNING FACE;So;0;ON;;;;;N;;;;;
+263A;WHITE SMILING FACE;So;0;ON;;;;;N;;;;;
+263B;BLACK SMILING FACE;So;0;ON;;;;;N;;;;;
+263C;WHITE SUN WITH RAYS;So;0;ON;;;;;N;;;;;
+263D;FIRST QUARTER MOON;So;0;ON;;;;;N;;;;;
+263E;LAST QUARTER MOON;So;0;ON;;;;;N;;;;;
+263F;MERCURY;So;0;ON;;;;;N;;;;;
+2640;FEMALE SIGN;So;0;ON;;;;;N;;;;;
+2641;EARTH;So;0;ON;;;;;N;;;;;
+2642;MALE SIGN;So;0;ON;;;;;N;;;;;
+2643;JUPITER;So;0;ON;;;;;N;;;;;
+2644;SATURN;So;0;ON;;;;;N;;;;;
+2645;URANUS;So;0;ON;;;;;N;;;;;
+2646;NEPTUNE;So;0;ON;;;;;N;;;;;
+2647;PLUTO;So;0;ON;;;;;N;;;;;
+2648;ARIES;So;0;ON;;;;;N;;;;;
+2649;TAURUS;So;0;ON;;;;;N;;;;;
+264A;GEMINI;So;0;ON;;;;;N;;;;;
+264B;CANCER;So;0;ON;;;;;N;;;;;
+264C;LEO;So;0;ON;;;;;N;;;;;
+264D;VIRGO;So;0;ON;;;;;N;;;;;
+264E;LIBRA;So;0;ON;;;;;N;;;;;
+264F;SCORPIUS;So;0;ON;;;;;N;;;;;
+2650;SAGITTARIUS;So;0;ON;;;;;N;;;;;
+2651;CAPRICORN;So;0;ON;;;;;N;;;;;
+2652;AQUARIUS;So;0;ON;;;;;N;;;;;
+2653;PISCES;So;0;ON;;;;;N;;;;;
+2654;WHITE CHESS KING;So;0;ON;;;;;N;;;;;
+2655;WHITE CHESS QUEEN;So;0;ON;;;;;N;;;;;
+2656;WHITE CHESS ROOK;So;0;ON;;;;;N;;;;;
+2657;WHITE CHESS BISHOP;So;0;ON;;;;;N;;;;;
+2658;WHITE CHESS KNIGHT;So;0;ON;;;;;N;;;;;
+2659;WHITE CHESS PAWN;So;0;ON;;;;;N;;;;;
+265A;BLACK CHESS KING;So;0;ON;;;;;N;;;;;
+265B;BLACK CHESS QUEEN;So;0;ON;;;;;N;;;;;
+265C;BLACK CHESS ROOK;So;0;ON;;;;;N;;;;;
+265D;BLACK CHESS BISHOP;So;0;ON;;;;;N;;;;;
+265E;BLACK CHESS KNIGHT;So;0;ON;;;;;N;;;;;
+265F;BLACK CHESS PAWN;So;0;ON;;;;;N;;;;;
+2660;BLACK SPADE SUIT;So;0;ON;;;;;N;;;;;
+2661;WHITE HEART SUIT;So;0;ON;;;;;N;;;;;
+2662;WHITE DIAMOND SUIT;So;0;ON;;;;;N;;;;;
+2663;BLACK CLUB SUIT;So;0;ON;;;;;N;;;;;
+2664;WHITE SPADE SUIT;So;0;ON;;;;;N;;;;;
+2665;BLACK HEART SUIT;So;0;ON;;;;;N;;;;;
+2666;BLACK DIAMOND SUIT;So;0;ON;;;;;N;;;;;
+2667;WHITE CLUB SUIT;So;0;ON;;;;;N;;;;;
+2668;HOT SPRINGS;So;0;ON;;;;;N;;;;;
+2669;QUARTER NOTE;So;0;ON;;;;;N;;;;;
+266A;EIGHTH NOTE;So;0;ON;;;;;N;;;;;
+266B;BEAMED EIGHTH NOTES;So;0;ON;;;;;N;BARRED EIGHTH NOTES;;;;
+266C;BEAMED SIXTEENTH NOTES;So;0;ON;;;;;N;BARRED SIXTEENTH NOTES;;;;
+266D;MUSIC FLAT SIGN;So;0;ON;;;;;N;FLAT;;;;
+266E;MUSIC NATURAL SIGN;So;0;ON;;;;;N;NATURAL;;;;
+266F;MUSIC SHARP SIGN;So;0;ON;;;;;N;SHARP;;;;
+2701;UPPER BLADE SCISSORS;So;0;ON;;;;;N;;;;;
+2702;BLACK SCISSORS;So;0;ON;;;;;N;;;;;
+2703;LOWER BLADE SCISSORS;So;0;ON;;;;;N;;;;;
+2704;WHITE SCISSORS;So;0;ON;;;;;N;;;;;
+2706;TELEPHONE LOCATION SIGN;So;0;ON;;;;;N;;;;;
+2707;TAPE DRIVE;So;0;ON;;;;;N;;;;;
+2708;AIRPLANE;So;0;ON;;;;;N;;;;;
+2709;ENVELOPE;So;0;ON;;;;;N;;;;;
+270C;VICTORY HAND;So;0;ON;;;;;N;;;;;
+270D;WRITING HAND;So;0;ON;;;;;N;;;;;
+270E;LOWER RIGHT PENCIL;So;0;ON;;;;;N;;;;;
+270F;PENCIL;So;0;ON;;;;;N;;;;;
+2710;UPPER RIGHT PENCIL;So;0;ON;;;;;N;;;;;
+2711;WHITE NIB;So;0;ON;;;;;N;;;;;
+2712;BLACK NIB;So;0;ON;;;;;N;;;;;
+2713;CHECK MARK;So;0;ON;;;;;N;;;;;
+2714;HEAVY CHECK MARK;So;0;ON;;;;;N;;;;;
+2715;MULTIPLICATION X;So;0;ON;;;;;N;;;;;
+2716;HEAVY MULTIPLICATION X;So;0;ON;;;;;N;;;;;
+2717;BALLOT X;So;0;ON;;;;;N;;;;;
+2718;HEAVY BALLOT X;So;0;ON;;;;;N;;;;;
+2719;OUTLINED GREEK CROSS;So;0;ON;;;;;N;;;;;
+271A;HEAVY GREEK CROSS;So;0;ON;;;;;N;;;;;
+271B;OPEN CENTRE CROSS;So;0;ON;;;;;N;OPEN CENTER CROSS;;;;
+271C;HEAVY OPEN CENTRE CROSS;So;0;ON;;;;;N;HEAVY OPEN CENTER CROSS;;;;
+271D;LATIN CROSS;So;0;ON;;;;;N;;;;;
+271E;SHADOWED WHITE LATIN CROSS;So;0;ON;;;;;N;;;;;
+271F;OUTLINED LATIN CROSS;So;0;ON;;;;;N;;;;;
+2720;MALTESE CROSS;So;0;ON;;;;;N;;;;;
+2721;STAR OF DAVID;So;0;ON;;;;;N;;;;;
+2722;FOUR TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+2723;FOUR BALLOON-SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+2724;HEAVY FOUR BALLOON-SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+2725;FOUR CLUB-SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+2726;BLACK FOUR POINTED STAR;So;0;ON;;;;;N;;;;;
+2727;WHITE FOUR POINTED STAR;So;0;ON;;;;;N;;;;;
+2729;STRESS OUTLINED WHITE STAR;So;0;ON;;;;;N;;;;;
+272A;CIRCLED WHITE STAR;So;0;ON;;;;;N;;;;;
+272B;OPEN CENTRE BLACK STAR;So;0;ON;;;;;N;OPEN CENTER BLACK STAR;;;;
+272C;BLACK CENTRE WHITE STAR;So;0;ON;;;;;N;BLACK CENTER WHITE STAR;;;;
+272D;OUTLINED BLACK STAR;So;0;ON;;;;;N;;;;;
+272E;HEAVY OUTLINED BLACK STAR;So;0;ON;;;;;N;;;;;
+272F;PINWHEEL STAR;So;0;ON;;;;;N;;;;;
+2730;SHADOWED WHITE STAR;So;0;ON;;;;;N;;;;;
+2731;HEAVY ASTERISK;So;0;ON;;;;;N;;;;;
+2732;OPEN CENTRE ASTERISK;So;0;ON;;;;;N;OPEN CENTER ASTERISK;;;;
+2733;EIGHT SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+2734;EIGHT POINTED BLACK STAR;So;0;ON;;;;;N;;;;;
+2735;EIGHT POINTED PINWHEEL STAR;So;0;ON;;;;;N;;;;;
+2736;SIX POINTED BLACK STAR;So;0;ON;;;;;N;;;;;
+2737;EIGHT POINTED RECTILINEAR BLACK STAR;So;0;ON;;;;;N;;;;;
+2738;HEAVY EIGHT POINTED RECTILINEAR BLACK STAR;So;0;ON;;;;;N;;;;;
+2739;TWELVE POINTED BLACK STAR;So;0;ON;;;;;N;;;;;
+273A;SIXTEEN POINTED ASTERISK;So;0;ON;;;;;N;;;;;
+273B;TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+273C;OPEN CENTRE TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;OPEN CENTER TEARDROP-SPOKED ASTERISK;;;;
+273D;HEAVY TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+273E;SIX PETALLED BLACK AND WHITE FLORETTE;So;0;ON;;;;;N;;;;;
+273F;BLACK FLORETTE;So;0;ON;;;;;N;;;;;
+2740;WHITE FLORETTE;So;0;ON;;;;;N;;;;;
+2741;EIGHT PETALLED OUTLINED BLACK FLORETTE;So;0;ON;;;;;N;;;;;
+2742;CIRCLED OPEN CENTRE EIGHT POINTED STAR;So;0;ON;;;;;N;CIRCLED OPEN CENTER EIGHT POINTED STAR;;;;
+2743;HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK;So;0;ON;;;;;N;;;;;
+2744;SNOWFLAKE;So;0;ON;;;;;N;;;;;
+2745;TIGHT TRIFOLIATE SNOWFLAKE;So;0;ON;;;;;N;;;;;
+2746;HEAVY CHEVRON SNOWFLAKE;So;0;ON;;;;;N;;;;;
+2747;SPARKLE;So;0;ON;;;;;N;;;;;
+2748;HEAVY SPARKLE;So;0;ON;;;;;N;;;;;
+2749;BALLOON-SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
+274A;EIGHT TEARDROP-SPOKED PROPELLER ASTERISK;So;0;ON;;;;;N;;;;;
+274B;HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK;So;0;ON;;;;;N;;;;;
+274D;SHADOWED WHITE CIRCLE;So;0;ON;;;;;N;;;;;
+274F;LOWER RIGHT DROP-SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;;
+2750;UPPER RIGHT DROP-SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;;
+2751;LOWER RIGHT SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;;
+2752;UPPER RIGHT SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;;
+2756;BLACK DIAMOND MINUS WHITE X;So;0;ON;;;;;N;;;;;
+2758;LIGHT VERTICAL BAR;So;0;ON;;;;;N;;;;;
+2759;MEDIUM VERTICAL BAR;So;0;ON;;;;;N;;;;;
+275A;HEAVY VERTICAL BAR;So;0;ON;;;;;N;;;;;
+275B;HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
+275C;HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
+275D;HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
+275E;HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
+2761;CURVED STEM PARAGRAPH SIGN ORNAMENT;So;0;ON;;;;;N;;;;;
+2762;HEAVY EXCLAMATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
+2763;HEAVY HEART EXCLAMATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
+2764;HEAVY BLACK HEART;So;0;ON;;;;;N;;;;;
+2765;ROTATED HEAVY BLACK HEART BULLET;So;0;ON;;;;;N;;;;;
+2766;FLORAL HEART;So;0;ON;;;;;N;;;;;
+2767;ROTATED FLORAL HEART BULLET;So;0;ON;;;;;N;;;;;
+2776;DINGBAT NEGATIVE CIRCLED DIGIT ONE;No;0;ON;;;1;1;N;INVERSE CIRCLED DIGIT ONE;;;;
+2777;DINGBAT NEGATIVE CIRCLED DIGIT TWO;No;0;ON;;;2;2;N;INVERSE CIRCLED DIGIT TWO;;;;
+2778;DINGBAT NEGATIVE CIRCLED DIGIT THREE;No;0;ON;;;3;3;N;INVERSE CIRCLED DIGIT THREE;;;;
+2779;DINGBAT NEGATIVE CIRCLED DIGIT FOUR;No;0;ON;;;4;4;N;INVERSE CIRCLED DIGIT FOUR;;;;
+277A;DINGBAT NEGATIVE CIRCLED DIGIT FIVE;No;0;ON;;;5;5;N;INVERSE CIRCLED DIGIT FIVE;;;;
+277B;DINGBAT NEGATIVE CIRCLED DIGIT SIX;No;0;ON;;;6;6;N;INVERSE CIRCLED DIGIT SIX;;;;
+277C;DINGBAT NEGATIVE CIRCLED DIGIT SEVEN;No;0;ON;;;7;7;N;INVERSE CIRCLED DIGIT SEVEN;;;;
+277D;DINGBAT NEGATIVE CIRCLED DIGIT EIGHT;No;0;ON;;;8;8;N;INVERSE CIRCLED DIGIT EIGHT;;;;
+277E;DINGBAT NEGATIVE CIRCLED DIGIT NINE;No;0;ON;;;9;9;N;INVERSE CIRCLED DIGIT NINE;;;;
+277F;DINGBAT NEGATIVE CIRCLED NUMBER TEN;No;0;ON;;;;10;N;INVERSE CIRCLED NUMBER TEN;;;;
+2780;DINGBAT CIRCLED SANS-SERIF DIGIT ONE;No;0;ON;;;1;1;N;CIRCLED SANS-SERIF DIGIT ONE;;;;
+2781;DINGBAT CIRCLED SANS-SERIF DIGIT TWO;No;0;ON;;;2;2;N;CIRCLED SANS-SERIF DIGIT TWO;;;;
+2782;DINGBAT CIRCLED SANS-SERIF DIGIT THREE;No;0;ON;;;3;3;N;CIRCLED SANS-SERIF DIGIT THREE;;;;
+2783;DINGBAT CIRCLED SANS-SERIF DIGIT FOUR;No;0;ON;;;4;4;N;CIRCLED SANS-SERIF DIGIT FOUR;;;;
+2784;DINGBAT CIRCLED SANS-SERIF DIGIT FIVE;No;0;ON;;;5;5;N;CIRCLED SANS-SERIF DIGIT FIVE;;;;
+2785;DINGBAT CIRCLED SANS-SERIF DIGIT SIX;No;0;ON;;;6;6;N;CIRCLED SANS-SERIF DIGIT SIX;;;;
+2786;DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN;No;0;ON;;;7;7;N;CIRCLED SANS-SERIF DIGIT SEVEN;;;;
+2787;DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT;No;0;ON;;;8;8;N;CIRCLED SANS-SERIF DIGIT EIGHT;;;;
+2788;DINGBAT CIRCLED SANS-SERIF DIGIT NINE;No;0;ON;;;9;9;N;CIRCLED SANS-SERIF DIGIT NINE;;;;
+2789;DINGBAT CIRCLED SANS-SERIF NUMBER TEN;No;0;ON;;;;10;N;CIRCLED SANS-SERIF NUMBER TEN;;;;
+278A;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE;No;0;ON;;;1;1;N;INVERSE CIRCLED SANS-SERIF DIGIT ONE;;;;
+278B;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO;No;0;ON;;;2;2;N;INVERSE CIRCLED SANS-SERIF DIGIT TWO;;;;
+278C;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE;No;0;ON;;;3;3;N;INVERSE CIRCLED SANS-SERIF DIGIT THREE;;;;
+278D;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR;No;0;ON;;;4;4;N;INVERSE CIRCLED SANS-SERIF DIGIT FOUR;;;;
+278E;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE;No;0;ON;;;5;5;N;INVERSE CIRCLED SANS-SERIF DIGIT FIVE;;;;
+278F;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX;No;0;ON;;;6;6;N;INVERSE CIRCLED SANS-SERIF DIGIT SIX;;;;
+2790;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN;No;0;ON;;;7;7;N;INVERSE CIRCLED SANS-SERIF DIGIT SEVEN;;;;
+2791;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT;No;0;ON;;;8;8;N;INVERSE CIRCLED SANS-SERIF DIGIT EIGHT;;;;
+2792;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE;No;0;ON;;;9;9;N;INVERSE CIRCLED SANS-SERIF DIGIT NINE;;;;
+2793;DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN;No;0;ON;;;;10;N;INVERSE CIRCLED SANS-SERIF NUMBER TEN;;;;
+2794;HEAVY WIDE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY WIDE-HEADED RIGHT ARROW;;;;
+2798;HEAVY SOUTH EAST ARROW;So;0;ON;;;;;N;HEAVY LOWER RIGHT ARROW;;;;
+2799;HEAVY RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY RIGHT ARROW;;;;
+279A;HEAVY NORTH EAST ARROW;So;0;ON;;;;;N;HEAVY UPPER RIGHT ARROW;;;;
+279B;DRAFTING POINT RIGHTWARDS ARROW;So;0;ON;;;;;N;DRAFTING POINT RIGHT ARROW;;;;
+279C;HEAVY ROUND-TIPPED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY ROUND-TIPPED RIGHT ARROW;;;;
+279D;TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;TRIANGLE-HEADED RIGHT ARROW;;;;
+279E;HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY TRIANGLE-HEADED RIGHT ARROW;;;;
+279F;DASHED TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;DASHED TRIANGLE-HEADED RIGHT ARROW;;;;
+27A0;HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY DASHED TRIANGLE-HEADED RIGHT ARROW;;;;
+27A1;BLACK RIGHTWARDS ARROW;So;0;ON;;;;;N;BLACK RIGHT ARROW;;;;
+27A2;THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD;So;0;ON;;;;;N;THREE-D TOP-LIGHTED RIGHT ARROWHEAD;;;;
+27A3;THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD;So;0;ON;;;;;N;THREE-D BOTTOM-LIGHTED RIGHT ARROWHEAD;;;;
+27A4;BLACK RIGHTWARDS ARROWHEAD;So;0;ON;;;;;N;BLACK RIGHT ARROWHEAD;;;;
+27A5;HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY BLACK CURVED DOWN AND RIGHT ARROW;;;;
+27A6;HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY BLACK CURVED UP AND RIGHT ARROW;;;;
+27A7;SQUAT BLACK RIGHTWARDS ARROW;So;0;ON;;;;;N;SQUAT BLACK RIGHT ARROW;;;;
+27A8;HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY CONCAVE-POINTED BLACK RIGHT ARROW;;;;
+27A9;RIGHT-SHADED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;RIGHT-SHADED WHITE RIGHT ARROW;;;;
+27AA;LEFT-SHADED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;LEFT-SHADED WHITE RIGHT ARROW;;;;
+27AB;BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;BACK-TILTED SHADOWED WHITE RIGHT ARROW;;;;
+27AC;FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;FRONT-TILTED SHADOWED WHITE RIGHT ARROW;;;;
+27AD;HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY LOWER RIGHT-SHADOWED WHITE RIGHT ARROW;;;;
+27AE;HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY UPPER RIGHT-SHADOWED WHITE RIGHT ARROW;;;;
+27AF;NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHT ARROW;;;;
+27B1;NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHT ARROW;;;;
+27B2;CIRCLED HEAVY WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;CIRCLED HEAVY WHITE RIGHT ARROW;;;;
+27B3;WHITE-FEATHERED RIGHTWARDS ARROW;So;0;ON;;;;;N;WHITE-FEATHERED RIGHT ARROW;;;;
+27B4;BLACK-FEATHERED SOUTH EAST ARROW;So;0;ON;;;;;N;BLACK-FEATHERED LOWER RIGHT ARROW;;;;
+27B5;BLACK-FEATHERED RIGHTWARDS ARROW;So;0;ON;;;;;N;BLACK-FEATHERED RIGHT ARROW;;;;
+27B6;BLACK-FEATHERED NORTH EAST ARROW;So;0;ON;;;;;N;BLACK-FEATHERED UPPER RIGHT ARROW;;;;
+27B7;HEAVY BLACK-FEATHERED SOUTH EAST ARROW;So;0;ON;;;;;N;HEAVY BLACK-FEATHERED LOWER RIGHT ARROW;;;;
+27B8;HEAVY BLACK-FEATHERED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY BLACK-FEATHERED RIGHT ARROW;;;;
+27B9;HEAVY BLACK-FEATHERED NORTH EAST ARROW;So;0;ON;;;;;N;HEAVY BLACK-FEATHERED UPPER RIGHT ARROW;;;;
+27BA;TEARDROP-BARBED RIGHTWARDS ARROW;So;0;ON;;;;;N;TEARDROP-BARBED RIGHT ARROW;;;;
+27BB;HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY TEARDROP-SHANKED RIGHT ARROW;;;;
+27BC;WEDGE-TAILED RIGHTWARDS ARROW;So;0;ON;;;;;N;WEDGE-TAILED RIGHT ARROW;;;;
+27BD;HEAVY WEDGE-TAILED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY WEDGE-TAILED RIGHT ARROW;;;;
+27BE;OPEN-OUTLINED RIGHTWARDS ARROW;So;0;ON;;;;;N;OPEN-OUTLINED RIGHT ARROW;;;;
+3000;IDEOGRAPHIC SPACE;Zs;0;WS;<wide> 0020;;;;N;;;;;
+3001;IDEOGRAPHIC COMMA;Po;0;ON;;;;;N;;;;;
+3002;IDEOGRAPHIC FULL STOP;Po;0;ON;;;;;N;IDEOGRAPHIC PERIOD;;;;
+3003;DITTO MARK;Po;0;ON;;;;;N;;;;;
+3004;JAPANESE INDUSTRIAL STANDARD SYMBOL;So;0;ON;;;;;N;;;;;
+3005;IDEOGRAPHIC ITERATION MARK;Lm;0;ON;;;;;N;;;;;
+3006;IDEOGRAPHIC CLOSING MARK;Po;0;ON;;;;;N;;;;;
+3007;IDEOGRAPHIC NUMBER ZERO;Nl;0;ON;;;;0;N;;;;;
+3008;LEFT ANGLE BRACKET;Ps;0;ON;;;;;Y;OPENING ANGLE BRACKET;;;;
+3009;RIGHT ANGLE BRACKET;Pe;0;ON;;;;;Y;CLOSING ANGLE BRACKET;;;;
+300A;LEFT DOUBLE ANGLE BRACKET;Ps;0;ON;;;;;Y;OPENING DOUBLE ANGLE BRACKET;;;;
+300B;RIGHT DOUBLE ANGLE BRACKET;Pe;0;ON;;;;;Y;CLOSING DOUBLE ANGLE BRACKET;;;;
+300C;LEFT CORNER BRACKET;Ps;0;ON;;;;;Y;OPENING CORNER BRACKET;;;;
+300D;RIGHT CORNER BRACKET;Pe;0;ON;;;;;Y;CLOSING CORNER BRACKET;;;;
+300E;LEFT WHITE CORNER BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE CORNER BRACKET;;;;
+300F;RIGHT WHITE CORNER BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE CORNER BRACKET;;;;
+3010;LEFT BLACK LENTICULAR BRACKET;Ps;0;ON;;;;;Y;OPENING BLACK LENTICULAR BRACKET;;;;
+3011;RIGHT BLACK LENTICULAR BRACKET;Pe;0;ON;;;;;Y;CLOSING BLACK LENTICULAR BRACKET;;;;
+3012;POSTAL MARK;So;0;ON;;;;;N;;;;;
+3013;GETA MARK;So;0;ON;;;;;N;;;;;
+3014;LEFT TORTOISE SHELL BRACKET;Ps;0;ON;;;;;Y;OPENING TORTOISE SHELL BRACKET;;;;
+3015;RIGHT TORTOISE SHELL BRACKET;Pe;0;ON;;;;;Y;CLOSING TORTOISE SHELL BRACKET;;;;
+3016;LEFT WHITE LENTICULAR BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE LENTICULAR BRACKET;;;;
+3017;RIGHT WHITE LENTICULAR BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE LENTICULAR BRACKET;;;;
+3018;LEFT WHITE TORTOISE SHELL BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE TORTOISE SHELL BRACKET;;;;
+3019;RIGHT WHITE TORTOISE SHELL BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE TORTOISE SHELL BRACKET;;;;
+301A;LEFT WHITE SQUARE BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE SQUARE BRACKET;;;;
+301B;RIGHT WHITE SQUARE BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE SQUARE BRACKET;;;;
+301C;WAVE DASH;Pd;0;ON;;;;;N;;;;;
+301D;REVERSED DOUBLE PRIME QUOTATION MARK;Ps;0;ON;;;;;N;;;;;
+301E;DOUBLE PRIME QUOTATION MARK;Pe;0;ON;;;;;N;;;;;
+301F;LOW DOUBLE PRIME QUOTATION MARK;Pe;0;ON;;;;;N;;;;;
+3020;POSTAL MARK FACE;So;0;ON;;;;;N;;;;;
+3021;HANGZHOU NUMERAL ONE;Nl;0;L;;;;1;N;;;;;
+3022;HANGZHOU NUMERAL TWO;Nl;0;L;;;;2;N;;;;;
+3023;HANGZHOU NUMERAL THREE;Nl;0;L;;;;3;N;;;;;
+3024;HANGZHOU NUMERAL FOUR;Nl;0;L;;;;4;N;;;;;
+3025;HANGZHOU NUMERAL FIVE;Nl;0;L;;;;5;N;;;;;
+3026;HANGZHOU NUMERAL SIX;Nl;0;L;;;;6;N;;;;;
+3027;HANGZHOU NUMERAL SEVEN;Nl;0;L;;;;7;N;;;;;
+3028;HANGZHOU NUMERAL EIGHT;Nl;0;L;;;;8;N;;;;;
+3029;HANGZHOU NUMERAL NINE;Nl;0;L;;;;9;N;;;;;
+302A;IDEOGRAPHIC LEVEL TONE MARK;Mn;218;L;;;;;N;;;;;
+302B;IDEOGRAPHIC RISING TONE MARK;Mn;228;L;;;;;N;;;;;
+302C;IDEOGRAPHIC DEPARTING TONE MARK;Mn;232;L;;;;;N;;;;;
+302D;IDEOGRAPHIC ENTERING TONE MARK;Mn;222;L;;;;;N;;;;;
+302E;HANGUL SINGLE DOT TONE MARK;Mn;224;L;;;;;N;;;;;
+302F;HANGUL DOUBLE DOT TONE MARK;Mn;224;L;;;;;N;;;;;
+3030;WAVY DASH;Pd;0;ON;;;;;N;;;;;
+3031;VERTICAL KANA REPEAT MARK;Lm;0;ON;;;;;N;;;;;
+3032;VERTICAL KANA REPEAT WITH VOICED SOUND MARK;Lm;0;ON;;;;;N;;;;;
+3033;VERTICAL KANA REPEAT MARK UPPER HALF;Lm;0;ON;;;;;N;;;;;
+3034;VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF;Lm;0;ON;;;;;N;;;;;
+3035;VERTICAL KANA REPEAT MARK LOWER HALF;Lm;0;ON;;;;;N;;;;;
+3036;CIRCLED POSTAL MARK;So;0;ON;<compat> 3012;;;;N;;;;;
+3037;IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL;So;0;ON;;;;;N;;;;;
+303F;IDEOGRAPHIC HALF FILL SPACE;So;0;ON;;;;;N;;;;;
+3041;HIRAGANA LETTER SMALL A;Lo;0;L;;;;;N;;;;;
+3042;HIRAGANA LETTER A;Lo;0;L;;;;;N;;;;;
+3043;HIRAGANA LETTER SMALL I;Lo;0;L;;;;;N;;;;;
+3044;HIRAGANA LETTER I;Lo;0;L;;;;;N;;;;;
+3045;HIRAGANA LETTER SMALL U;Lo;0;L;;;;;N;;;;;
+3046;HIRAGANA LETTER U;Lo;0;L;;;;;N;;;;;
+3047;HIRAGANA LETTER SMALL E;Lo;0;L;;;;;N;;;;;
+3048;HIRAGANA LETTER E;Lo;0;L;;;;;N;;;;;
+3049;HIRAGANA LETTER SMALL O;Lo;0;L;;;;;N;;;;;
+304A;HIRAGANA LETTER O;Lo;0;L;;;;;N;;;;;
+304B;HIRAGANA LETTER KA;Lo;0;L;;;;;N;;;;;
+304C;HIRAGANA LETTER GA;Lo;0;L;304B 3099;;;;N;;;;;
+304D;HIRAGANA LETTER KI;Lo;0;L;;;;;N;;;;;
+304E;HIRAGANA LETTER GI;Lo;0;L;304D 3099;;;;N;;;;;
+304F;HIRAGANA LETTER KU;Lo;0;L;;;;;N;;;;;
+3050;HIRAGANA LETTER GU;Lo;0;L;304F 3099;;;;N;;;;;
+3051;HIRAGANA LETTER KE;Lo;0;L;;;;;N;;;;;
+3052;HIRAGANA LETTER GE;Lo;0;L;3051 3099;;;;N;;;;;
+3053;HIRAGANA LETTER KO;Lo;0;L;;;;;N;;;;;
+3054;HIRAGANA LETTER GO;Lo;0;L;3053 3099;;;;N;;;;;
+3055;HIRAGANA LETTER SA;Lo;0;L;;;;;N;;;;;
+3056;HIRAGANA LETTER ZA;Lo;0;L;3055 3099;;;;N;;;;;
+3057;HIRAGANA LETTER SI;Lo;0;L;;;;;N;;;;;
+3058;HIRAGANA LETTER ZI;Lo;0;L;3057 3099;;;;N;;;;;
+3059;HIRAGANA LETTER SU;Lo;0;L;;;;;N;;;;;
+305A;HIRAGANA LETTER ZU;Lo;0;L;3059 3099;;;;N;;;;;
+305B;HIRAGANA LETTER SE;Lo;0;L;;;;;N;;;;;
+305C;HIRAGANA LETTER ZE;Lo;0;L;305B 3099;;;;N;;;;;
+305D;HIRAGANA LETTER SO;Lo;0;L;;;;;N;;;;;
+305E;HIRAGANA LETTER ZO;Lo;0;L;305D 3099;;;;N;;;;;
+305F;HIRAGANA LETTER TA;Lo;0;L;;;;;N;;;;;
+3060;HIRAGANA LETTER DA;Lo;0;L;305F 3099;;;;N;;;;;
+3061;HIRAGANA LETTER TI;Lo;0;L;;;;;N;;;;;
+3062;HIRAGANA LETTER DI;Lo;0;L;3061 3099;;;;N;;;;;
+3063;HIRAGANA LETTER SMALL TU;Lo;0;L;;;;;N;;;;;
+3064;HIRAGANA LETTER TU;Lo;0;L;;;;;N;;;;;
+3065;HIRAGANA LETTER DU;Lo;0;L;3064 3099;;;;N;;;;;
+3066;HIRAGANA LETTER TE;Lo;0;L;;;;;N;;;;;
+3067;HIRAGANA LETTER DE;Lo;0;L;3066 3099;;;;N;;;;;
+3068;HIRAGANA LETTER TO;Lo;0;L;;;;;N;;;;;
+3069;HIRAGANA LETTER DO;Lo;0;L;3068 3099;;;;N;;;;;
+306A;HIRAGANA LETTER NA;Lo;0;L;;;;;N;;;;;
+306B;HIRAGANA LETTER NI;Lo;0;L;;;;;N;;;;;
+306C;HIRAGANA LETTER NU;Lo;0;L;;;;;N;;;;;
+306D;HIRAGANA LETTER NE;Lo;0;L;;;;;N;;;;;
+306E;HIRAGANA LETTER NO;Lo;0;L;;;;;N;;;;;
+306F;HIRAGANA LETTER HA;Lo;0;L;;;;;N;;;;;
+3070;HIRAGANA LETTER BA;Lo;0;L;306F 3099;;;;N;;;;;
+3071;HIRAGANA LETTER PA;Lo;0;L;306F 309A;;;;N;;;;;
+3072;HIRAGANA LETTER HI;Lo;0;L;;;;;N;;;;;
+3073;HIRAGANA LETTER BI;Lo;0;L;3072 3099;;;;N;;;;;
+3074;HIRAGANA LETTER PI;Lo;0;L;3072 309A;;;;N;;;;;
+3075;HIRAGANA LETTER HU;Lo;0;L;;;;;N;;;;;
+3076;HIRAGANA LETTER BU;Lo;0;L;3075 3099;;;;N;;;;;
+3077;HIRAGANA LETTER PU;Lo;0;L;3075 309A;;;;N;;;;;
+3078;HIRAGANA LETTER HE;Lo;0;L;;;;;N;;;;;
+3079;HIRAGANA LETTER BE;Lo;0;L;3078 3099;;;;N;;;;;
+307A;HIRAGANA LETTER PE;Lo;0;L;3078 309A;;;;N;;;;;
+307B;HIRAGANA LETTER HO;Lo;0;L;;;;;N;;;;;
+307C;HIRAGANA LETTER BO;Lo;0;L;307B 3099;;;;N;;;;;
+307D;HIRAGANA LETTER PO;Lo;0;L;307B 309A;;;;N;;;;;
+307E;HIRAGANA LETTER MA;Lo;0;L;;;;;N;;;;;
+307F;HIRAGANA LETTER MI;Lo;0;L;;;;;N;;;;;
+3080;HIRAGANA LETTER MU;Lo;0;L;;;;;N;;;;;
+3081;HIRAGANA LETTER ME;Lo;0;L;;;;;N;;;;;
+3082;HIRAGANA LETTER MO;Lo;0;L;;;;;N;;;;;
+3083;HIRAGANA LETTER SMALL YA;Lo;0;L;;;;;N;;;;;
+3084;HIRAGANA LETTER YA;Lo;0;L;;;;;N;;;;;
+3085;HIRAGANA LETTER SMALL YU;Lo;0;L;;;;;N;;;;;
+3086;HIRAGANA LETTER YU;Lo;0;L;;;;;N;;;;;
+3087;HIRAGANA LETTER SMALL YO;Lo;0;L;;;;;N;;;;;
+3088;HIRAGANA LETTER YO;Lo;0;L;;;;;N;;;;;
+3089;HIRAGANA LETTER RA;Lo;0;L;;;;;N;;;;;
+308A;HIRAGANA LETTER RI;Lo;0;L;;;;;N;;;;;
+308B;HIRAGANA LETTER RU;Lo;0;L;;;;;N;;;;;
+308C;HIRAGANA LETTER RE;Lo;0;L;;;;;N;;;;;
+308D;HIRAGANA LETTER RO;Lo;0;L;;;;;N;;;;;
+308E;HIRAGANA LETTER SMALL WA;Lo;0;L;;;;;N;;;;;
+308F;HIRAGANA LETTER WA;Lo;0;L;;;;;N;;;;;
+3090;HIRAGANA LETTER WI;Lo;0;L;;;;;N;;;;;
+3091;HIRAGANA LETTER WE;Lo;0;L;;;;;N;;;;;
+3092;HIRAGANA LETTER WO;Lo;0;L;;;;;N;;;;;
+3093;HIRAGANA LETTER N;Lo;0;L;;;;;N;;;;;
+3094;HIRAGANA LETTER VU;Lo;0;L;3046 3099;;;;N;;;;;
+3099;COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK;Mn;8;L;;;;;N;NON-SPACING KATAKANA-HIRAGANA VOICED SOUND MARK;;;;
+309A;COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;Mn;8;L;;;;;N;NON-SPACING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;;;;
+309B;KATAKANA-HIRAGANA VOICED SOUND MARK;Lm;0;L;<compat> 0020 3099;;;;N;;;;;
+309C;KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;Lm;0;L;<compat> 0020 309A;;;;N;;;;;
+309D;HIRAGANA ITERATION MARK;Lm;0;L;;;;;N;;;;;
+309E;HIRAGANA VOICED ITERATION MARK;Lm;0;L;309D 3099;;;;N;;;;;
+30A1;KATAKANA LETTER SMALL A;Lo;0;L;;;;;N;;;;;
+30A2;KATAKANA LETTER A;Lo;0;L;;;;;N;;;;;
+30A3;KATAKANA LETTER SMALL I;Lo;0;L;;;;;N;;;;;
+30A4;KATAKANA LETTER I;Lo;0;L;;;;;N;;;;;
+30A5;KATAKANA LETTER SMALL U;Lo;0;L;;;;;N;;;;;
+30A6;KATAKANA LETTER U;Lo;0;L;;;;;N;;;;;
+30A7;KATAKANA LETTER SMALL E;Lo;0;L;;;;;N;;;;;
+30A8;KATAKANA LETTER E;Lo;0;L;;;;;N;;;;;
+30A9;KATAKANA LETTER SMALL O;Lo;0;L;;;;;N;;;;;
+30AA;KATAKANA LETTER O;Lo;0;L;;;;;N;;;;;
+30AB;KATAKANA LETTER KA;Lo;0;L;;;;;N;;;;;
+30AC;KATAKANA LETTER GA;Lo;0;L;30AB 3099;;;;N;;;;;
+30AD;KATAKANA LETTER KI;Lo;0;L;;;;;N;;;;;
+30AE;KATAKANA LETTER GI;Lo;0;L;30AD 3099;;;;N;;;;;
+30AF;KATAKANA LETTER KU;Lo;0;L;;;;;N;;;;;
+30B0;KATAKANA LETTER GU;Lo;0;L;30AF 3099;;;;N;;;;;
+30B1;KATAKANA LETTER KE;Lo;0;L;;;;;N;;;;;
+30B2;KATAKANA LETTER GE;Lo;0;L;30B1 3099;;;;N;;;;;
+30B3;KATAKANA LETTER KO;Lo;0;L;;;;;N;;;;;
+30B4;KATAKANA LETTER GO;Lo;0;L;30B3 3099;;;;N;;;;;
+30B5;KATAKANA LETTER SA;Lo;0;L;;;;;N;;;;;
+30B6;KATAKANA LETTER ZA;Lo;0;L;30B5 3099;;;;N;;;;;
+30B7;KATAKANA LETTER SI;Lo;0;L;;;;;N;;;;;
+30B8;KATAKANA LETTER ZI;Lo;0;L;30B7 3099;;;;N;;;;;
+30B9;KATAKANA LETTER SU;Lo;0;L;;;;;N;;;;;
+30BA;KATAKANA LETTER ZU;Lo;0;L;30B9 3099;;;;N;;;;;
+30BB;KATAKANA LETTER SE;Lo;0;L;;;;;N;;;;;
+30BC;KATAKANA LETTER ZE;Lo;0;L;30BB 3099;;;;N;;;;;
+30BD;KATAKANA LETTER SO;Lo;0;L;;;;;N;;;;;
+30BE;KATAKANA LETTER ZO;Lo;0;L;30BD 3099;;;;N;;;;;
+30BF;KATAKANA LETTER TA;Lo;0;L;;;;;N;;;;;
+30C0;KATAKANA LETTER DA;Lo;0;L;30BF 3099;;;;N;;;;;
+30C1;KATAKANA LETTER TI;Lo;0;L;;;;;N;;;;;
+30C2;KATAKANA LETTER DI;Lo;0;L;30C1 3099;;;;N;;;;;
+30C3;KATAKANA LETTER SMALL TU;Lo;0;L;;;;;N;;;;;
+30C4;KATAKANA LETTER TU;Lo;0;L;;;;;N;;;;;
+30C5;KATAKANA LETTER DU;Lo;0;L;30C4 3099;;;;N;;;;;
+30C6;KATAKANA LETTER TE;Lo;0;L;;;;;N;;;;;
+30C7;KATAKANA LETTER DE;Lo;0;L;30C6 3099;;;;N;;;;;
+30C8;KATAKANA LETTER TO;Lo;0;L;;;;;N;;;;;
+30C9;KATAKANA LETTER DO;Lo;0;L;30C8 3099;;;;N;;;;;
+30CA;KATAKANA LETTER NA;Lo;0;L;;;;;N;;;;;
+30CB;KATAKANA LETTER NI;Lo;0;L;;;;;N;;;;;
+30CC;KATAKANA LETTER NU;Lo;0;L;;;;;N;;;;;
+30CD;KATAKANA LETTER NE;Lo;0;L;;;;;N;;;;;
+30CE;KATAKANA LETTER NO;Lo;0;L;;;;;N;;;;;
+30CF;KATAKANA LETTER HA;Lo;0;L;;;;;N;;;;;
+30D0;KATAKANA LETTER BA;Lo;0;L;30CF 3099;;;;N;;;;;
+30D1;KATAKANA LETTER PA;Lo;0;L;30CF 309A;;;;N;;;;;
+30D2;KATAKANA LETTER HI;Lo;0;L;;;;;N;;;;;
+30D3;KATAKANA LETTER BI;Lo;0;L;30D2 3099;;;;N;;;;;
+30D4;KATAKANA LETTER PI;Lo;0;L;30D2 309A;;;;N;;;;;
+30D5;KATAKANA LETTER HU;Lo;0;L;;;;;N;;;;;
+30D6;KATAKANA LETTER BU;Lo;0;L;30D5 3099;;;;N;;;;;
+30D7;KATAKANA LETTER PU;Lo;0;L;30D5 309A;;;;N;;;;;
+30D8;KATAKANA LETTER HE;Lo;0;L;;;;;N;;;;;
+30D9;KATAKANA LETTER BE;Lo;0;L;30D8 3099;;;;N;;;;;
+30DA;KATAKANA LETTER PE;Lo;0;L;30D8 309A;;;;N;;;;;
+30DB;KATAKANA LETTER HO;Lo;0;L;;;;;N;;;;;
+30DC;KATAKANA LETTER BO;Lo;0;L;30DB 3099;;;;N;;;;;
+30DD;KATAKANA LETTER PO;Lo;0;L;30DB 309A;;;;N;;;;;
+30DE;KATAKANA LETTER MA;Lo;0;L;;;;;N;;;;;
+30DF;KATAKANA LETTER MI;Lo;0;L;;;;;N;;;;;
+30E0;KATAKANA LETTER MU;Lo;0;L;;;;;N;;;;;
+30E1;KATAKANA LETTER ME;Lo;0;L;;;;;N;;;;;
+30E2;KATAKANA LETTER MO;Lo;0;L;;;;;N;;;;;
+30E3;KATAKANA LETTER SMALL YA;Lo;0;L;;;;;N;;;;;
+30E4;KATAKANA LETTER YA;Lo;0;L;;;;;N;;;;;
+30E5;KATAKANA LETTER SMALL YU;Lo;0;L;;;;;N;;;;;
+30E6;KATAKANA LETTER YU;Lo;0;L;;;;;N;;;;;
+30E7;KATAKANA LETTER SMALL YO;Lo;0;L;;;;;N;;;;;
+30E8;KATAKANA LETTER YO;Lo;0;L;;;;;N;;;;;
+30E9;KATAKANA LETTER RA;Lo;0;L;;;;;N;;;;;
+30EA;KATAKANA LETTER RI;Lo;0;L;;;;;N;;;;;
+30EB;KATAKANA LETTER RU;Lo;0;L;;;;;N;;;;;
+30EC;KATAKANA LETTER RE;Lo;0;L;;;;;N;;;;;
+30ED;KATAKANA LETTER RO;Lo;0;L;;;;;N;;;;;
+30EE;KATAKANA LETTER SMALL WA;Lo;0;L;;;;;N;;;;;
+30EF;KATAKANA LETTER WA;Lo;0;L;;;;;N;;;;;
+30F0;KATAKANA LETTER WI;Lo;0;L;;;;;N;;;;;
+30F1;KATAKANA LETTER WE;Lo;0;L;;;;;N;;;;;
+30F2;KATAKANA LETTER WO;Lo;0;L;;;;;N;;;;;
+30F3;KATAKANA LETTER N;Lo;0;L;;;;;N;;;;;
+30F4;KATAKANA LETTER VU;Lo;0;L;30A6 3099;;;;N;;;;;
+30F5;KATAKANA LETTER SMALL KA;Lo;0;L;;;;;N;;;;;
+30F6;KATAKANA LETTER SMALL KE;Lo;0;L;;;;;N;;;;;
+30F7;KATAKANA LETTER VA;Lo;0;L;30EF 3099;;;;N;;;;;
+30F8;KATAKANA LETTER VI;Lo;0;L;30F0 3099;;;;N;;;;;
+30F9;KATAKANA LETTER VE;Lo;0;L;30F1 3099;;;;N;;;;;
+30FA;KATAKANA LETTER VO;Lo;0;L;30F2 3099;;;;N;;;;;
+30FB;KATAKANA MIDDLE DOT;Po;0;L;;;;;N;;;;;
+30FC;KATAKANA-HIRAGANA PROLONGED SOUND MARK;Lm;0;L;;;;;N;;;;;
+30FD;KATAKANA ITERATION MARK;Lm;0;L;;;;;N;;;;;
+30FE;KATAKANA VOICED ITERATION MARK;Lm;0;L;30FD 3099;;;;N;;;;;
+3105;BOPOMOFO LETTER B;Lo;0;L;;;;;N;;;;;
+3106;BOPOMOFO LETTER P;Lo;0;L;;;;;N;;;;;
+3107;BOPOMOFO LETTER M;Lo;0;L;;;;;N;;;;;
+3108;BOPOMOFO LETTER F;Lo;0;L;;;;;N;;;;;
+3109;BOPOMOFO LETTER D;Lo;0;L;;;;;N;;;;;
+310A;BOPOMOFO LETTER T;Lo;0;L;;;;;N;;;;;
+310B;BOPOMOFO LETTER N;Lo;0;L;;;;;N;;;;;
+310C;BOPOMOFO LETTER L;Lo;0;L;;;;;N;;;;;
+310D;BOPOMOFO LETTER G;Lo;0;L;;;;;N;;;;;
+310E;BOPOMOFO LETTER K;Lo;0;L;;;;;N;;;;;
+310F;BOPOMOFO LETTER H;Lo;0;L;;;;;N;;;;;
+3110;BOPOMOFO LETTER J;Lo;0;L;;;;;N;;;;;
+3111;BOPOMOFO LETTER Q;Lo;0;L;;;;;N;;;;;
+3112;BOPOMOFO LETTER X;Lo;0;L;;;;;N;;;;;
+3113;BOPOMOFO LETTER ZH;Lo;0;L;;;;;N;;;;;
+3114;BOPOMOFO LETTER CH;Lo;0;L;;;;;N;;;;;
+3115;BOPOMOFO LETTER SH;Lo;0;L;;;;;N;;;;;
+3116;BOPOMOFO LETTER R;Lo;0;L;;;;;N;;;;;
+3117;BOPOMOFO LETTER Z;Lo;0;L;;;;;N;;;;;
+3118;BOPOMOFO LETTER C;Lo;0;L;;;;;N;;;;;
+3119;BOPOMOFO LETTER S;Lo;0;L;;;;;N;;;;;
+311A;BOPOMOFO LETTER A;Lo;0;L;;;;;N;;;;;
+311B;BOPOMOFO LETTER O;Lo;0;L;;;;;N;;;;;
+311C;BOPOMOFO LETTER E;Lo;0;L;;;;;N;;;;;
+311D;BOPOMOFO LETTER EH;Lo;0;L;;;;;N;;;;;
+311E;BOPOMOFO LETTER AI;Lo;0;L;;;;;N;;;;;
+311F;BOPOMOFO LETTER EI;Lo;0;L;;;;;N;;;;;
+3120;BOPOMOFO LETTER AU;Lo;0;L;;;;;N;;;;;
+3121;BOPOMOFO LETTER OU;Lo;0;L;;;;;N;;;;;
+3122;BOPOMOFO LETTER AN;Lo;0;L;;;;;N;;;;;
+3123;BOPOMOFO LETTER EN;Lo;0;L;;;;;N;;;;;
+3124;BOPOMOFO LETTER ANG;Lo;0;L;;;;;N;;;;;
+3125;BOPOMOFO LETTER ENG;Lo;0;L;;;;;N;;;;;
+3126;BOPOMOFO LETTER ER;Lo;0;L;;;;;N;;;;;
+3127;BOPOMOFO LETTER I;Lo;0;L;;;;;N;;;;;
+3128;BOPOMOFO LETTER U;Lo;0;L;;;;;N;;;;;
+3129;BOPOMOFO LETTER IU;Lo;0;L;;;;;N;;;;;
+312A;BOPOMOFO LETTER V;Lo;0;L;;;;;N;;;;;
+312B;BOPOMOFO LETTER NG;Lo;0;L;;;;;N;;;;;
+312C;BOPOMOFO LETTER GN;Lo;0;L;;;;;N;;;;;
+3131;HANGUL LETTER KIYEOK;Lo;0;L;<compat> 1100;;;;N;HANGUL LETTER GIYEOG;;;;
+3132;HANGUL LETTER SSANGKIYEOK;Lo;0;L;<compat> 1101;;;;N;HANGUL LETTER SSANG GIYEOG;;;;
+3133;HANGUL LETTER KIYEOK-SIOS;Lo;0;L;<compat> 11AA;;;;N;HANGUL LETTER GIYEOG SIOS;;;;
+3134;HANGUL LETTER NIEUN;Lo;0;L;<compat> 1102;;;;N;;;;;
+3135;HANGUL LETTER NIEUN-CIEUC;Lo;0;L;<compat> 11AC;;;;N;HANGUL LETTER NIEUN JIEUJ;;;;
+3136;HANGUL LETTER NIEUN-HIEUH;Lo;0;L;<compat> 11AD;;;;N;HANGUL LETTER NIEUN HIEUH;;;;
+3137;HANGUL LETTER TIKEUT;Lo;0;L;<compat> 1103;;;;N;HANGUL LETTER DIGEUD;;;;
+3138;HANGUL LETTER SSANGTIKEUT;Lo;0;L;<compat> 1104;;;;N;HANGUL LETTER SSANG DIGEUD;;;;
+3139;HANGUL LETTER RIEUL;Lo;0;L;<compat> 1105;;;;N;HANGUL LETTER LIEUL;;;;
+313A;HANGUL LETTER RIEUL-KIYEOK;Lo;0;L;<compat> 11B0;;;;N;HANGUL LETTER LIEUL GIYEOG;;;;
+313B;HANGUL LETTER RIEUL-MIEUM;Lo;0;L;<compat> 11B1;;;;N;HANGUL LETTER LIEUL MIEUM;;;;
+313C;HANGUL LETTER RIEUL-PIEUP;Lo;0;L;<compat> 11B2;;;;N;HANGUL LETTER LIEUL BIEUB;;;;
+313D;HANGUL LETTER RIEUL-SIOS;Lo;0;L;<compat> 11B3;;;;N;HANGUL LETTER LIEUL SIOS;;;;
+313E;HANGUL LETTER RIEUL-THIEUTH;Lo;0;L;<compat> 11B4;;;;N;HANGUL LETTER LIEUL TIEUT;;;;
+313F;HANGUL LETTER RIEUL-PHIEUPH;Lo;0;L;<compat> 11B5;;;;N;HANGUL LETTER LIEUL PIEUP;;;;
+3140;HANGUL LETTER RIEUL-HIEUH;Lo;0;L;<compat> 111A;;;;N;HANGUL LETTER LIEUL HIEUH;;;;
+3141;HANGUL LETTER MIEUM;Lo;0;L;<compat> 1106;;;;N;;;;;
+3142;HANGUL LETTER PIEUP;Lo;0;L;<compat> 1107;;;;N;HANGUL LETTER BIEUB;;;;
+3143;HANGUL LETTER SSANGPIEUP;Lo;0;L;<compat> 1108;;;;N;HANGUL LETTER SSANG BIEUB;;;;
+3144;HANGUL LETTER PIEUP-SIOS;Lo;0;L;<compat> 1121;;;;N;HANGUL LETTER BIEUB SIOS;;;;
+3145;HANGUL LETTER SIOS;Lo;0;L;<compat> 1109;;;;N;;;;;
+3146;HANGUL LETTER SSANGSIOS;Lo;0;L;<compat> 110A;;;;N;HANGUL LETTER SSANG SIOS;;;;
+3147;HANGUL LETTER IEUNG;Lo;0;L;<compat> 110B;;;;N;;;;;
+3148;HANGUL LETTER CIEUC;Lo;0;L;<compat> 110C;;;;N;HANGUL LETTER JIEUJ;;;;
+3149;HANGUL LETTER SSANGCIEUC;Lo;0;L;<compat> 110D;;;;N;HANGUL LETTER SSANG JIEUJ;;;;
+314A;HANGUL LETTER CHIEUCH;Lo;0;L;<compat> 110E;;;;N;HANGUL LETTER CIEUC;;;;
+314B;HANGUL LETTER KHIEUKH;Lo;0;L;<compat> 110F;;;;N;HANGUL LETTER KIYEOK;;;;
+314C;HANGUL LETTER THIEUTH;Lo;0;L;<compat> 1110;;;;N;HANGUL LETTER TIEUT;;;;
+314D;HANGUL LETTER PHIEUPH;Lo;0;L;<compat> 1111;;;;N;HANGUL LETTER PIEUP;;;;
+314E;HANGUL LETTER HIEUH;Lo;0;L;<compat> 1112;;;;N;;;;;
+314F;HANGUL LETTER A;Lo;0;L;<compat> 1161;;;;N;;;;;
+3150;HANGUL LETTER AE;Lo;0;L;<compat> 1162;;;;N;;;;;
+3151;HANGUL LETTER YA;Lo;0;L;<compat> 1163;;;;N;;;;;
+3152;HANGUL LETTER YAE;Lo;0;L;<compat> 1164;;;;N;;;;;
+3153;HANGUL LETTER EO;Lo;0;L;<compat> 1165;;;;N;;;;;
+3154;HANGUL LETTER E;Lo;0;L;<compat> 1166;;;;N;;;;;
+3155;HANGUL LETTER YEO;Lo;0;L;<compat> 1167;;;;N;;;;;
+3156;HANGUL LETTER YE;Lo;0;L;<compat> 1168;;;;N;;;;;
+3157;HANGUL LETTER O;Lo;0;L;<compat> 1169;;;;N;;;;;
+3158;HANGUL LETTER WA;Lo;0;L;<compat> 116A;;;;N;;;;;
+3159;HANGUL LETTER WAE;Lo;0;L;<compat> 116B;;;;N;;;;;
+315A;HANGUL LETTER OE;Lo;0;L;<compat> 116C;;;;N;;;;;
+315B;HANGUL LETTER YO;Lo;0;L;<compat> 116D;;;;N;;;;;
+315C;HANGUL LETTER U;Lo;0;L;<compat> 116E;;;;N;;;;;
+315D;HANGUL LETTER WEO;Lo;0;L;<compat> 116F;;;;N;;;;;
+315E;HANGUL LETTER WE;Lo;0;L;<compat> 1170;;;;N;;;;;
+315F;HANGUL LETTER WI;Lo;0;L;<compat> 1171;;;;N;;;;;
+3160;HANGUL LETTER YU;Lo;0;L;<compat> 1172;;;;N;;;;;
+3161;HANGUL LETTER EU;Lo;0;L;<compat> 1173;;;;N;;;;;
+3162;HANGUL LETTER YI;Lo;0;L;<compat> 1174;;;;N;;;;;
+3163;HANGUL LETTER I;Lo;0;L;<compat> 1175;;;;N;;;;;
+3164;HANGUL FILLER;Lo;0;L;<compat> 1160;;;;N;HANGUL CAE OM;;;;
+3165;HANGUL LETTER SSANGNIEUN;Lo;0;L;<compat> 1114;;;;N;HANGUL LETTER SSANG NIEUN;;;;
+3166;HANGUL LETTER NIEUN-TIKEUT;Lo;0;L;<compat> 1115;;;;N;HANGUL LETTER NIEUN DIGEUD;;;;
+3167;HANGUL LETTER NIEUN-SIOS;Lo;0;L;<compat> 11C7;;;;N;HANGUL LETTER NIEUN SIOS;;;;
+3168;HANGUL LETTER NIEUN-PANSIOS;Lo;0;L;<compat> 11C8;;;;N;HANGUL LETTER NIEUN BAN CHI EUM;;;;
+3169;HANGUL LETTER RIEUL-KIYEOK-SIOS;Lo;0;L;<compat> 11CC;;;;N;HANGUL LETTER LIEUL GIYEOG SIOS;;;;
+316A;HANGUL LETTER RIEUL-TIKEUT;Lo;0;L;<compat> 11CE;;;;N;HANGUL LETTER LIEUL DIGEUD;;;;
+316B;HANGUL LETTER RIEUL-PIEUP-SIOS;Lo;0;L;<compat> 11D3;;;;N;HANGUL LETTER LIEUL BIEUB SIOS;;;;
+316C;HANGUL LETTER RIEUL-PANSIOS;Lo;0;L;<compat> 11D7;;;;N;HANGUL LETTER LIEUL BAN CHI EUM;;;;
+316D;HANGUL LETTER RIEUL-YEORINHIEUH;Lo;0;L;<compat> 11D9;;;;N;HANGUL LETTER LIEUL YEOLIN HIEUH;;;;
+316E;HANGUL LETTER MIEUM-PIEUP;Lo;0;L;<compat> 111C;;;;N;HANGUL LETTER MIEUM BIEUB;;;;
+316F;HANGUL LETTER MIEUM-SIOS;Lo;0;L;<compat> 11DD;;;;N;HANGUL LETTER MIEUM SIOS;;;;
+3170;HANGUL LETTER MIEUM-PANSIOS;Lo;0;L;<compat> 11DF;;;;N;HANGUL LETTER BIEUB BAN CHI EUM;;;;
+3171;HANGUL LETTER KAPYEOUNMIEUM;Lo;0;L;<compat> 111D;;;;N;HANGUL LETTER MIEUM SUN GYEONG EUM;;;;
+3172;HANGUL LETTER PIEUP-KIYEOK;Lo;0;L;<compat> 111E;;;;N;HANGUL LETTER BIEUB GIYEOG;;;;
+3173;HANGUL LETTER PIEUP-TIKEUT;Lo;0;L;<compat> 1120;;;;N;HANGUL LETTER BIEUB DIGEUD;;;;
+3174;HANGUL LETTER PIEUP-SIOS-KIYEOK;Lo;0;L;<compat> 1122;;;;N;HANGUL LETTER BIEUB SIOS GIYEOG;;;;
+3175;HANGUL LETTER PIEUP-SIOS-TIKEUT;Lo;0;L;<compat> 1123;;;;N;HANGUL LETTER BIEUB SIOS DIGEUD;;;;
+3176;HANGUL LETTER PIEUP-CIEUC;Lo;0;L;<compat> 1127;;;;N;HANGUL LETTER BIEUB JIEUJ;;;;
+3177;HANGUL LETTER PIEUP-THIEUTH;Lo;0;L;<compat> 1129;;;;N;HANGUL LETTER BIEUB TIEUT;;;;
+3178;HANGUL LETTER KAPYEOUNPIEUP;Lo;0;L;<compat> 112B;;;;N;HANGUL LETTER BIEUB SUN GYEONG EUM;;;;
+3179;HANGUL LETTER KAPYEOUNSSANGPIEUP;Lo;0;L;<compat> 112C;;;;N;HANGUL LETTER SSANG BIEUB SUN GYEONG EUM;;;;
+317A;HANGUL LETTER SIOS-KIYEOK;Lo;0;L;<compat> 112D;;;;N;HANGUL LETTER SIOS GIYEOG;;;;
+317B;HANGUL LETTER SIOS-NIEUN;Lo;0;L;<compat> 112E;;;;N;HANGUL LETTER SIOS NIEUN;;;;
+317C;HANGUL LETTER SIOS-TIKEUT;Lo;0;L;<compat> 112F;;;;N;HANGUL LETTER SIOS DIGEUD;;;;
+317D;HANGUL LETTER SIOS-PIEUP;Lo;0;L;<compat> 1132;;;;N;HANGUL LETTER SIOS BIEUB;;;;
+317E;HANGUL LETTER SIOS-CIEUC;Lo;0;L;<compat> 1136;;;;N;HANGUL LETTER SIOS JIEUJ;;;;
+317F;HANGUL LETTER PANSIOS;Lo;0;L;<compat> 1140;;;;N;HANGUL LETTER BAN CHI EUM;;;;
+3180;HANGUL LETTER SSANGIEUNG;Lo;0;L;<compat> 1147;;;;N;HANGUL LETTER SSANG IEUNG;;;;
+3181;HANGUL LETTER YESIEUNG;Lo;0;L;<compat> 114C;;;;N;HANGUL LETTER NGIEUNG;;;;
+3182;HANGUL LETTER YESIEUNG-SIOS;Lo;0;L;<compat> 11F1;;;;N;HANGUL LETTER NGIEUNG SIOS;;;;
+3183;HANGUL LETTER YESIEUNG-PANSIOS;Lo;0;L;<compat> 11F2;;;;N;HANGUL LETTER NGIEUNG BAN CHI EUM;;;;
+3184;HANGUL LETTER KAPYEOUNPHIEUPH;Lo;0;L;<compat> 1157;;;;N;HANGUL LETTER PIEUP SUN GYEONG EUM;;;;
+3185;HANGUL LETTER SSANGHIEUH;Lo;0;L;<compat> 1158;;;;N;HANGUL LETTER SSANG HIEUH;;;;
+3186;HANGUL LETTER YEORINHIEUH;Lo;0;L;<compat> 1159;;;;N;HANGUL LETTER YEOLIN HIEUH;;;;
+3187;HANGUL LETTER YO-YA;Lo;0;L;<compat> 1184;;;;N;HANGUL LETTER YOYA;;;;
+3188;HANGUL LETTER YO-YAE;Lo;0;L;<compat> 1185;;;;N;HANGUL LETTER YOYAE;;;;
+3189;HANGUL LETTER YO-I;Lo;0;L;<compat> 1188;;;;N;HANGUL LETTER YOI;;;;
+318A;HANGUL LETTER YU-YEO;Lo;0;L;<compat> 1191;;;;N;HANGUL LETTER YUYEO;;;;
+318B;HANGUL LETTER YU-YE;Lo;0;L;<compat> 1192;;;;N;HANGUL LETTER YUYE;;;;
+318C;HANGUL LETTER YU-I;Lo;0;L;<compat> 1194;;;;N;HANGUL LETTER YUI;;;;
+318D;HANGUL LETTER ARAEA;Lo;0;L;<compat> 119E;;;;N;HANGUL LETTER ALAE A;;;;
+318E;HANGUL LETTER ARAEAE;Lo;0;L;<compat> 11A1;;;;N;HANGUL LETTER ALAE AE;;;;
+3190;IDEOGRAPHIC ANNOTATION LINKING MARK;So;0;L;;;;;N;KANBUN TATETEN;Kanbun Tateten;;;
+3191;IDEOGRAPHIC ANNOTATION REVERSE MARK;So;0;L;;;;;N;KAERITEN RE;Kaeriten;;;
+3192;IDEOGRAPHIC ANNOTATION ONE MARK;No;0;L;<super> 4E00;;;;N;KAERITEN ITI;Kaeriten;;;
+3193;IDEOGRAPHIC ANNOTATION TWO MARK;No;0;L;<super> 4E8C;;;;N;KAERITEN NI;Kaeriten;;;
+3194;IDEOGRAPHIC ANNOTATION THREE MARK;No;0;L;<super> 4E09;;;;N;KAERITEN SAN;Kaeriten;;;
+3195;IDEOGRAPHIC ANNOTATION FOUR MARK;No;0;L;<super> 56DB;;;;N;KAERITEN SI;Kaeriten;;;
+3196;IDEOGRAPHIC ANNOTATION TOP MARK;So;0;L;<super> 4E0A;;;;N;KAERITEN ZYOU;Kaeriten;;;
+3197;IDEOGRAPHIC ANNOTATION MIDDLE MARK;So;0;L;<super> 4E2D;;;;N;KAERITEN TYUU;Kaeriten;;;
+3198;IDEOGRAPHIC ANNOTATION BOTTOM MARK;So;0;L;<super> 4E0B;;;;N;KAERITEN GE;Kaeriten;;;
+3199;IDEOGRAPHIC ANNOTATION FIRST MARK;So;0;L;<super> 7532;;;;N;KAERITEN KOU;Kaeriten;;;
+319A;IDEOGRAPHIC ANNOTATION SECOND MARK;So;0;L;<super> 4E59;;;;N;KAERITEN OTU;Kaeriten;;;
+319B;IDEOGRAPHIC ANNOTATION THIRD MARK;So;0;L;<super> 4E19;;;;N;KAERITEN HEI;Kaeriten;;;
+319C;IDEOGRAPHIC ANNOTATION FOURTH MARK;So;0;L;<super> 4E01;;;;N;KAERITEN TEI;Kaeriten;;;
+319D;IDEOGRAPHIC ANNOTATION HEAVEN MARK;So;0;L;<super> 5929;;;;N;KAERITEN TEN;Kaeriten;;;
+319E;IDEOGRAPHIC ANNOTATION EARTH MARK;So;0;L;<super> 5730;;;;N;KAERITEN TI;Kaeriten;;;
+319F;IDEOGRAPHIC ANNOTATION MAN MARK;So;0;L;<super> 4EBA;;;;N;KAERITEN ZIN;Kaeriten;;;
+3200;PARENTHESIZED HANGUL KIYEOK;So;0;L;<compat> 0028 1100 0029;;;;N;PARENTHESIZED HANGUL GIYEOG;;;;
+3201;PARENTHESIZED HANGUL NIEUN;So;0;L;<compat> 0028 1102 0029;;;;N;;;;;
+3202;PARENTHESIZED HANGUL TIKEUT;So;0;L;<compat> 0028 1103 0029;;;;N;PARENTHESIZED HANGUL DIGEUD;;;;
+3203;PARENTHESIZED HANGUL RIEUL;So;0;L;<compat> 0028 1105 0029;;;;N;PARENTHESIZED HANGUL LIEUL;;;;
+3204;PARENTHESIZED HANGUL MIEUM;So;0;L;<compat> 0028 1106 0029;;;;N;;;;;
+3205;PARENTHESIZED HANGUL PIEUP;So;0;L;<compat> 0028 1107 0029;;;;N;PARENTHESIZED HANGUL BIEUB;;;;
+3206;PARENTHESIZED HANGUL SIOS;So;0;L;<compat> 0028 1109 0029;;;;N;;;;;
+3207;PARENTHESIZED HANGUL IEUNG;So;0;L;<compat> 0028 110B 0029;;;;N;;;;;
+3208;PARENTHESIZED HANGUL CIEUC;So;0;L;<compat> 0028 110C 0029;;;;N;PARENTHESIZED HANGUL JIEUJ;;;;
+3209;PARENTHESIZED HANGUL CHIEUCH;So;0;L;<compat> 0028 110E 0029;;;;N;PARENTHESIZED HANGUL CIEUC;;;;
+320A;PARENTHESIZED HANGUL KHIEUKH;So;0;L;<compat> 0028 110F 0029;;;;N;PARENTHESIZED HANGUL KIYEOK;;;;
+320B;PARENTHESIZED HANGUL THIEUTH;So;0;L;<compat> 0028 1110 0029;;;;N;PARENTHESIZED HANGUL TIEUT;;;;
+320C;PARENTHESIZED HANGUL PHIEUPH;So;0;L;<compat> 0028 1111 0029;;;;N;PARENTHESIZED HANGUL PIEUP;;;;
+320D;PARENTHESIZED HANGUL HIEUH;So;0;L;<compat> 0028 1112 0029;;;;N;;;;;
+320E;PARENTHESIZED HANGUL KIYEOK A;So;0;L;<compat> 0028 1100 1161 0029;;;;N;PARENTHESIZED HANGUL GA;;;;
+320F;PARENTHESIZED HANGUL NIEUN A;So;0;L;<compat> 0028 1102 1161 0029;;;;N;PARENTHESIZED HANGUL NA;;;;
+3210;PARENTHESIZED HANGUL TIKEUT A;So;0;L;<compat> 0028 1103 1161 0029;;;;N;PARENTHESIZED HANGUL DA;;;;
+3211;PARENTHESIZED HANGUL RIEUL A;So;0;L;<compat> 0028 1105 1161 0029;;;;N;PARENTHESIZED HANGUL LA;;;;
+3212;PARENTHESIZED HANGUL MIEUM A;So;0;L;<compat> 0028 1106 1161 0029;;;;N;PARENTHESIZED HANGUL MA;;;;
+3213;PARENTHESIZED HANGUL PIEUP A;So;0;L;<compat> 0028 1107 1161 0029;;;;N;PARENTHESIZED HANGUL BA;;;;
+3214;PARENTHESIZED HANGUL SIOS A;So;0;L;<compat> 0028 1109 1161 0029;;;;N;PARENTHESIZED HANGUL SA;;;;
+3215;PARENTHESIZED HANGUL IEUNG A;So;0;L;<compat> 0028 110B 1161 0029;;;;N;PARENTHESIZED HANGUL A;;;;
+3216;PARENTHESIZED HANGUL CIEUC A;So;0;L;<compat> 0028 110C 1161 0029;;;;N;PARENTHESIZED HANGUL JA;;;;
+3217;PARENTHESIZED HANGUL CHIEUCH A;So;0;L;<compat> 0028 110E 1161 0029;;;;N;PARENTHESIZED HANGUL CA;;;;
+3218;PARENTHESIZED HANGUL KHIEUKH A;So;0;L;<compat> 0028 110F 1161 0029;;;;N;PARENTHESIZED HANGUL KA;;;;
+3219;PARENTHESIZED HANGUL THIEUTH A;So;0;L;<compat> 0028 1110 1161 0029;;;;N;PARENTHESIZED HANGUL TA;;;;
+321A;PARENTHESIZED HANGUL PHIEUPH A;So;0;L;<compat> 0028 1111 1161 0029;;;;N;PARENTHESIZED HANGUL PA;;;;
+321B;PARENTHESIZED HANGUL HIEUH A;So;0;L;<compat> 0028 1112 1161 0029;;;;N;PARENTHESIZED HANGUL HA;;;;
+321C;PARENTHESIZED HANGUL CIEUC U;So;0;L;<compat> 0028 110C 116E 0029;;;;N;PARENTHESIZED HANGUL JU;;;;
+3220;PARENTHESIZED IDEOGRAPH ONE;No;0;L;<compat> 0028 4E00 0029;;;;N;;;;;
+3221;PARENTHESIZED IDEOGRAPH TWO;No;0;L;<compat> 0028 4E8C 0029;;;;N;;;;;
+3222;PARENTHESIZED IDEOGRAPH THREE;No;0;L;<compat> 0028 4E09 0029;;;;N;;;;;
+3223;PARENTHESIZED IDEOGRAPH FOUR;No;0;L;<compat> 0028 56DB 0029;;;;N;;;;;
+3224;PARENTHESIZED IDEOGRAPH FIVE;No;0;L;<compat> 0028 4E94 0029;;;;N;;;;;
+3225;PARENTHESIZED IDEOGRAPH SIX;No;0;L;<compat> 0028 516D 0029;;;;N;;;;;
+3226;PARENTHESIZED IDEOGRAPH SEVEN;No;0;L;<compat> 0028 4E03 0029;;;;N;;;;;
+3227;PARENTHESIZED IDEOGRAPH EIGHT;No;0;L;<compat> 0028 516B 0029;;;;N;;;;;
+3228;PARENTHESIZED IDEOGRAPH NINE;No;0;L;<compat> 0028 4E5D 0029;;;;N;;;;;
+3229;PARENTHESIZED IDEOGRAPH TEN;No;0;L;<compat> 0028 5341 0029;;;;N;;;;;
+322A;PARENTHESIZED IDEOGRAPH MOON;So;0;L;<compat> 0028 6708 0029;;;;N;;;;;
+322B;PARENTHESIZED IDEOGRAPH FIRE;So;0;L;<compat> 0028 706B 0029;;;;N;;;;;
+322C;PARENTHESIZED IDEOGRAPH WATER;So;0;L;<compat> 0028 6C34 0029;;;;N;;;;;
+322D;PARENTHESIZED IDEOGRAPH WOOD;So;0;L;<compat> 0028 6728 0029;;;;N;;;;;
+322E;PARENTHESIZED IDEOGRAPH METAL;So;0;L;<compat> 0028 91D1 0029;;;;N;;;;;
+322F;PARENTHESIZED IDEOGRAPH EARTH;So;0;L;<compat> 0028 571F 0029;;;;N;;;;;
+3230;PARENTHESIZED IDEOGRAPH SUN;So;0;L;<compat> 0028 65E5 0029;;;;N;;;;;
+3231;PARENTHESIZED IDEOGRAPH STOCK;So;0;L;<compat> 0028 682A 0029;;;;N;;;;;
+3232;PARENTHESIZED IDEOGRAPH HAVE;So;0;L;<compat> 0028 6709 0029;;;;N;;;;;
+3233;PARENTHESIZED IDEOGRAPH SOCIETY;So;0;L;<compat> 0028 793E 0029;;;;N;;;;;
+3234;PARENTHESIZED IDEOGRAPH NAME;So;0;L;<compat> 0028 540D 0029;;;;N;;;;;
+3235;PARENTHESIZED IDEOGRAPH SPECIAL;So;0;L;<compat> 0028 7279 0029;;;;N;;;;;
+3236;PARENTHESIZED IDEOGRAPH FINANCIAL;So;0;L;<compat> 0028 8CA1 0029;;;;N;;;;;
+3237;PARENTHESIZED IDEOGRAPH CONGRATULATION;So;0;L;<compat> 0028 795D 0029;;;;N;;;;;
+3238;PARENTHESIZED IDEOGRAPH LABOR;So;0;L;<compat> 0028 52B4 0029;;;;N;;;;;
+3239;PARENTHESIZED IDEOGRAPH REPRESENT;So;0;L;<compat> 0028 4EE3 0029;;;;N;;;;;
+323A;PARENTHESIZED IDEOGRAPH CALL;So;0;L;<compat> 0028 547C 0029;;;;N;;;;;
+323B;PARENTHESIZED IDEOGRAPH STUDY;So;0;L;<compat> 0028 5B66 0029;;;;N;;;;;
+323C;PARENTHESIZED IDEOGRAPH SUPERVISE;So;0;L;<compat> 0028 76E3 0029;;;;N;;;;;
+323D;PARENTHESIZED IDEOGRAPH ENTERPRISE;So;0;L;<compat> 0028 4F01 0029;;;;N;;;;;
+323E;PARENTHESIZED IDEOGRAPH RESOURCE;So;0;L;<compat> 0028 8CC7 0029;;;;N;;;;;
+323F;PARENTHESIZED IDEOGRAPH ALLIANCE;So;0;L;<compat> 0028 5354 0029;;;;N;;;;;
+3240;PARENTHESIZED IDEOGRAPH FESTIVAL;So;0;L;<compat> 0028 796D 0029;;;;N;;;;;
+3241;PARENTHESIZED IDEOGRAPH REST;So;0;L;<compat> 0028 4F11 0029;;;;N;;;;;
+3242;PARENTHESIZED IDEOGRAPH SELF;So;0;L;<compat> 0028 81EA 0029;;;;N;;;;;
+3243;PARENTHESIZED IDEOGRAPH REACH;So;0;L;<compat> 0028 81F3 0029;;;;N;;;;;
+3260;CIRCLED HANGUL KIYEOK;So;0;L;<circle> 1100;;;;N;CIRCLED HANGUL GIYEOG;;;;
+3261;CIRCLED HANGUL NIEUN;So;0;L;<circle> 1102;;;;N;;;;;
+3262;CIRCLED HANGUL TIKEUT;So;0;L;<circle> 1103;;;;N;CIRCLED HANGUL DIGEUD;;;;
+3263;CIRCLED HANGUL RIEUL;So;0;L;<circle> 1105;;;;N;CIRCLED HANGUL LIEUL;;;;
+3264;CIRCLED HANGUL MIEUM;So;0;L;<circle> 1106;;;;N;;;;;
+3265;CIRCLED HANGUL PIEUP;So;0;L;<circle> 1107;;;;N;CIRCLED HANGUL BIEUB;;;;
+3266;CIRCLED HANGUL SIOS;So;0;L;<circle> 1109;;;;N;;;;;
+3267;CIRCLED HANGUL IEUNG;So;0;L;<circle> 110B;;;;N;;;;;
+3268;CIRCLED HANGUL CIEUC;So;0;L;<circle> 110C;;;;N;CIRCLED HANGUL JIEUJ;;;;
+3269;CIRCLED HANGUL CHIEUCH;So;0;L;<circle> 110E;;;;N;CIRCLED HANGUL CIEUC;;;;
+326A;CIRCLED HANGUL KHIEUKH;So;0;L;<circle> 110F;;;;N;CIRCLED HANGUL KIYEOK;;;;
+326B;CIRCLED HANGUL THIEUTH;So;0;L;<circle> 1110;;;;N;CIRCLED HANGUL TIEUT;;;;
+326C;CIRCLED HANGUL PHIEUPH;So;0;L;<circle> 1111;;;;N;CIRCLED HANGUL PIEUP;;;;
+326D;CIRCLED HANGUL HIEUH;So;0;L;<circle> 1112;;;;N;;;;;
+326E;CIRCLED HANGUL KIYEOK A;So;0;L;<circle> 1100 1161;;;;N;CIRCLED HANGUL GA;;;;
+326F;CIRCLED HANGUL NIEUN A;So;0;L;<circle> 1102 1161;;;;N;CIRCLED HANGUL NA;;;;
+3270;CIRCLED HANGUL TIKEUT A;So;0;L;<circle> 1103 1161;;;;N;CIRCLED HANGUL DA;;;;
+3271;CIRCLED HANGUL RIEUL A;So;0;L;<circle> 1105 1161;;;;N;CIRCLED HANGUL LA;;;;
+3272;CIRCLED HANGUL MIEUM A;So;0;L;<circle> 1106 1161;;;;N;CIRCLED HANGUL MA;;;;
+3273;CIRCLED HANGUL PIEUP A;So;0;L;<circle> 1107 1161;;;;N;CIRCLED HANGUL BA;;;;
+3274;CIRCLED HANGUL SIOS A;So;0;L;<circle> 1109 1161;;;;N;CIRCLED HANGUL SA;;;;
+3275;CIRCLED HANGUL IEUNG A;So;0;L;<circle> 110B 1161;;;;N;CIRCLED HANGUL A;;;;
+3276;CIRCLED HANGUL CIEUC A;So;0;L;<circle> 110C 1161;;;;N;CIRCLED HANGUL JA;;;;
+3277;CIRCLED HANGUL CHIEUCH A;So;0;L;<circle> 110E 1161;;;;N;CIRCLED HANGUL CA;;;;
+3278;CIRCLED HANGUL KHIEUKH A;So;0;L;<circle> 110F 1161;;;;N;CIRCLED HANGUL KA;;;;
+3279;CIRCLED HANGUL THIEUTH A;So;0;L;<circle> 1110 1161;;;;N;CIRCLED HANGUL TA;;;;
+327A;CIRCLED HANGUL PHIEUPH A;So;0;L;<circle> 1111 1161;;;;N;CIRCLED HANGUL PA;;;;
+327B;CIRCLED HANGUL HIEUH A;So;0;L;<circle> 1112 1161;;;;N;CIRCLED HANGUL HA;;;;
+327F;KOREAN STANDARD SYMBOL;So;0;L;;;;;N;;;;;
+3280;CIRCLED IDEOGRAPH ONE;No;0;L;<circle> 4E00;;;1;N;;;;;
+3281;CIRCLED IDEOGRAPH TWO;No;0;L;<circle> 4E8C;;;2;N;;;;;
+3282;CIRCLED IDEOGRAPH THREE;No;0;L;<circle> 4E09;;;3;N;;;;;
+3283;CIRCLED IDEOGRAPH FOUR;No;0;L;<circle> 56DB;;;4;N;;;;;
+3284;CIRCLED IDEOGRAPH FIVE;No;0;L;<circle> 4E94;;;5;N;;;;;
+3285;CIRCLED IDEOGRAPH SIX;No;0;L;<circle> 516D;;;6;N;;;;;
+3286;CIRCLED IDEOGRAPH SEVEN;No;0;L;<circle> 4E03;;;7;N;;;;;
+3287;CIRCLED IDEOGRAPH EIGHT;No;0;L;<circle> 516B;;;8;N;;;;;
+3288;CIRCLED IDEOGRAPH NINE;No;0;L;<circle> 4E5D;;;9;N;;;;;
+3289;CIRCLED IDEOGRAPH TEN;No;0;L;<circle> 5341;;;10;N;;;;;
+328A;CIRCLED IDEOGRAPH MOON;So;0;L;<circle> 6708;;;;N;;;;;
+328B;CIRCLED IDEOGRAPH FIRE;So;0;L;<circle> 706B;;;;N;;;;;
+328C;CIRCLED IDEOGRAPH WATER;So;0;L;<circle> 6C34;;;;N;;;;;
+328D;CIRCLED IDEOGRAPH WOOD;So;0;L;<circle> 6728;;;;N;;;;;
+328E;CIRCLED IDEOGRAPH METAL;So;0;L;<circle> 91D1;;;;N;;;;;
+328F;CIRCLED IDEOGRAPH EARTH;So;0;L;<circle> 571F;;;;N;;;;;
+3290;CIRCLED IDEOGRAPH SUN;So;0;L;<circle> 65E5;;;;N;;;;;
+3291;CIRCLED IDEOGRAPH STOCK;So;0;L;<circle> 682A;;;;N;;;;;
+3292;CIRCLED IDEOGRAPH HAVE;So;0;L;<circle> 6709;;;;N;;;;;
+3293;CIRCLED IDEOGRAPH SOCIETY;So;0;L;<circle> 793E;;;;N;;;;;
+3294;CIRCLED IDEOGRAPH NAME;So;0;L;<circle> 540D;;;;N;;;;;
+3295;CIRCLED IDEOGRAPH SPECIAL;So;0;L;<circle> 7279;;;;N;;;;;
+3296;CIRCLED IDEOGRAPH FINANCIAL;So;0;L;<circle> 8CA1;;;;N;;;;;
+3297;CIRCLED IDEOGRAPH CONGRATULATION;So;0;L;<circle> 795D;;;;N;;;;;
+3298;CIRCLED IDEOGRAPH LABOR;So;0;L;<circle> 52B4;;;;N;;;;;
+3299;CIRCLED IDEOGRAPH SECRET;So;0;L;<circle> 79D8;;;;N;;;;;
+329A;CIRCLED IDEOGRAPH MALE;So;0;L;<circle> 7537;;;;N;;;;;
+329B;CIRCLED IDEOGRAPH FEMALE;So;0;L;<circle> 5973;;;;N;;;;;
+329C;CIRCLED IDEOGRAPH SUITABLE;So;0;L;<circle> 9069;;;;N;;;;;
+329D;CIRCLED IDEOGRAPH EXCELLENT;So;0;L;<circle> 512A;;;;N;;;;;
+329E;CIRCLED IDEOGRAPH PRINT;So;0;L;<circle> 5370;;;;N;;;;;
+329F;CIRCLED IDEOGRAPH ATTENTION;So;0;L;<circle> 6CE8;;;;N;;;;;
+32A0;CIRCLED IDEOGRAPH ITEM;So;0;L;<circle> 9805;;;;N;;;;;
+32A1;CIRCLED IDEOGRAPH REST;So;0;L;<circle> 4F11;;;;N;;;;;
+32A2;CIRCLED IDEOGRAPH COPY;So;0;L;<circle> 5199;;;;N;;;;;
+32A3;CIRCLED IDEOGRAPH CORRECT;So;0;L;<circle> 6B63;;;;N;;;;;
+32A4;CIRCLED IDEOGRAPH HIGH;So;0;L;<circle> 4E0A;;;;N;;;;;
+32A5;CIRCLED IDEOGRAPH CENTRE;So;0;L;<circle> 4E2D;;;;N;CIRCLED IDEOGRAPH CENTER;;;;
+32A6;CIRCLED IDEOGRAPH LOW;So;0;L;<circle> 4E0B;;;;N;;;;;
+32A7;CIRCLED IDEOGRAPH LEFT;So;0;L;<circle> 5DE6;;;;N;;;;;
+32A8;CIRCLED IDEOGRAPH RIGHT;So;0;L;<circle> 53F3;;;;N;;;;;
+32A9;CIRCLED IDEOGRAPH MEDICINE;So;0;L;<circle> 533B;;;;N;;;;;
+32AA;CIRCLED IDEOGRAPH RELIGION;So;0;L;<circle> 5B97;;;;N;;;;;
+32AB;CIRCLED IDEOGRAPH STUDY;So;0;L;<circle> 5B66;;;;N;;;;;
+32AC;CIRCLED IDEOGRAPH SUPERVISE;So;0;L;<circle> 76E3;;;;N;;;;;
+32AD;CIRCLED IDEOGRAPH ENTERPRISE;So;0;L;<circle> 4F01;;;;N;;;;;
+32AE;CIRCLED IDEOGRAPH RESOURCE;So;0;L;<circle> 8CC7;;;;N;;;;;
+32AF;CIRCLED IDEOGRAPH ALLIANCE;So;0;L;<circle> 5354;;;;N;;;;;
+32B0;CIRCLED IDEOGRAPH NIGHT;So;0;L;<circle> 591C;;;;N;;;;;
+32C0;IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY;So;0;L;<compat> 0031 6708;;;;N;;;;;
+32C1;IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY;So;0;L;<compat> 0032 6708;;;;N;;;;;
+32C2;IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH;So;0;L;<compat> 0033 6708;;;;N;;;;;
+32C3;IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL;So;0;L;<compat> 0034 6708;;;;N;;;;;
+32C4;IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY;So;0;L;<compat> 0035 6708;;;;N;;;;;
+32C5;IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE;So;0;L;<compat> 0036 6708;;;;N;;;;;
+32C6;IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY;So;0;L;<compat> 0037 6708;;;;N;;;;;
+32C7;IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST;So;0;L;<compat> 0038 6708;;;;N;;;;;
+32C8;IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER;So;0;L;<compat> 0039 6708;;;;N;;;;;
+32C9;IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER;So;0;L;<compat> 0031 0030 6708;;;;N;;;;;
+32CA;IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER;So;0;L;<compat> 0031 0031 6708;;;;N;;;;;
+32CB;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER;So;0;L;<compat> 0031 0032 6708;;;;N;;;;;
+32D0;CIRCLED KATAKANA A;So;0;L;<circle> 30A2;;;;N;;;;;
+32D1;CIRCLED KATAKANA I;So;0;L;<circle> 30A4;;;;N;;;;;
+32D2;CIRCLED KATAKANA U;So;0;L;<circle> 30A6;;;;N;;;;;
+32D3;CIRCLED KATAKANA E;So;0;L;<circle> 30A8;;;;N;;;;;
+32D4;CIRCLED KATAKANA O;So;0;L;<circle> 30AA;;;;N;;;;;
+32D5;CIRCLED KATAKANA KA;So;0;L;<circle> 30AB;;;;N;;;;;
+32D6;CIRCLED KATAKANA KI;So;0;L;<circle> 30AD;;;;N;;;;;
+32D7;CIRCLED KATAKANA KU;So;0;L;<circle> 30AF;;;;N;;;;;
+32D8;CIRCLED KATAKANA KE;So;0;L;<circle> 30B1;;;;N;;;;;
+32D9;CIRCLED KATAKANA KO;So;0;L;<circle> 30B3;;;;N;;;;;
+32DA;CIRCLED KATAKANA SA;So;0;L;<circle> 30B5;;;;N;;;;;
+32DB;CIRCLED KATAKANA SI;So;0;L;<circle> 30B7;;;;N;;;;;
+32DC;CIRCLED KATAKANA SU;So;0;L;<circle> 30B9;;;;N;;;;;
+32DD;CIRCLED KATAKANA SE;So;0;L;<circle> 30BB;;;;N;;;;;
+32DE;CIRCLED KATAKANA SO;So;0;L;<circle> 30BD;;;;N;;;;;
+32DF;CIRCLED KATAKANA TA;So;0;L;<circle> 30BF;;;;N;;;;;
+32E0;CIRCLED KATAKANA TI;So;0;L;<circle> 30C1;;;;N;;;;;
+32E1;CIRCLED KATAKANA TU;So;0;L;<circle> 30C4;;;;N;;;;;
+32E2;CIRCLED KATAKANA TE;So;0;L;<circle> 30C6;;;;N;;;;;
+32E3;CIRCLED KATAKANA TO;So;0;L;<circle> 30C8;;;;N;;;;;
+32E4;CIRCLED KATAKANA NA;So;0;L;<circle> 30CA;;;;N;;;;;
+32E5;CIRCLED KATAKANA NI;So;0;L;<circle> 30CB;;;;N;;;;;
+32E6;CIRCLED KATAKANA NU;So;0;L;<circle> 30CC;;;;N;;;;;
+32E7;CIRCLED KATAKANA NE;So;0;L;<circle> 30CD;;;;N;;;;;
+32E8;CIRCLED KATAKANA NO;So;0;L;<circle> 30CE;;;;N;;;;;
+32E9;CIRCLED KATAKANA HA;So;0;L;<circle> 30CF;;;;N;;;;;
+32EA;CIRCLED KATAKANA HI;So;0;L;<circle> 30D2;;;;N;;;;;
+32EB;CIRCLED KATAKANA HU;So;0;L;<circle> 30D5;;;;N;;;;;
+32EC;CIRCLED KATAKANA HE;So;0;L;<circle> 30D8;;;;N;;;;;
+32ED;CIRCLED KATAKANA HO;So;0;L;<circle> 30DB;;;;N;;;;;
+32EE;CIRCLED KATAKANA MA;So;0;L;<circle> 30DE;;;;N;;;;;
+32EF;CIRCLED KATAKANA MI;So;0;L;<circle> 30DF;;;;N;;;;;
+32F0;CIRCLED KATAKANA MU;So;0;L;<circle> 30E0;;;;N;;;;;
+32F1;CIRCLED KATAKANA ME;So;0;L;<circle> 30E1;;;;N;;;;;
+32F2;CIRCLED KATAKANA MO;So;0;L;<circle> 30E2;;;;N;;;;;
+32F3;CIRCLED KATAKANA YA;So;0;L;<circle> 30E4;;;;N;;;;;
+32F4;CIRCLED KATAKANA YU;So;0;L;<circle> 30E6;;;;N;;;;;
+32F5;CIRCLED KATAKANA YO;So;0;L;<circle> 30E8;;;;N;;;;;
+32F6;CIRCLED KATAKANA RA;So;0;L;<circle> 30E9;;;;N;;;;;
+32F7;CIRCLED KATAKANA RI;So;0;L;<circle> 30EA;;;;N;;;;;
+32F8;CIRCLED KATAKANA RU;So;0;L;<circle> 30EB;;;;N;;;;;
+32F9;CIRCLED KATAKANA RE;So;0;L;<circle> 30EC;;;;N;;;;;
+32FA;CIRCLED KATAKANA RO;So;0;L;<circle> 30ED;;;;N;;;;;
+32FB;CIRCLED KATAKANA WA;So;0;L;<circle> 30EF;;;;N;;;;;
+32FC;CIRCLED KATAKANA WI;So;0;L;<circle> 30F0;;;;N;;;;;
+32FD;CIRCLED KATAKANA WE;So;0;L;<circle> 30F1;;;;N;;;;;
+32FE;CIRCLED KATAKANA WO;So;0;L;<circle> 30F2;;;;N;;;;;
+3300;SQUARE APAATO;So;0;L;<square> 30A2 30D1 30FC 30C8;;;;N;SQUARED APAATO;;;;
+3301;SQUARE ARUHUA;So;0;L;<square> 30A2 30EB 30D5 30A1;;;;N;SQUARED ARUHUA;;;;
+3302;SQUARE ANPEA;So;0;L;<square> 30A2 30F3 30DA 30A2;;;;N;SQUARED ANPEA;;;;
+3303;SQUARE AARU;So;0;L;<square> 30A2 30FC 30EB;;;;N;SQUARED AARU;;;;
+3304;SQUARE ININGU;So;0;L;<square> 30A4 30CB 30F3 30B0;;;;N;SQUARED ININGU;;;;
+3305;SQUARE INTI;So;0;L;<square> 30A4 30F3 30C1;;;;N;SQUARED INTI;;;;
+3306;SQUARE UON;So;0;L;<square> 30A6 30A9 30F3;;;;N;SQUARED UON;;;;
+3307;SQUARE ESUKUUDO;So;0;L;<square> 30A8 30B9 30AF 30FC 30C9;;;;N;SQUARED ESUKUUDO;;;;
+3308;SQUARE EEKAA;So;0;L;<square> 30A8 30FC 30AB 30FC;;;;N;SQUARED EEKAA;;;;
+3309;SQUARE ONSU;So;0;L;<square> 30AA 30F3 30B9;;;;N;SQUARED ONSU;;;;
+330A;SQUARE OOMU;So;0;L;<square> 30AA 30FC 30E0;;;;N;SQUARED OOMU;;;;
+330B;SQUARE KAIRI;So;0;L;<square> 30AB 30A4 30EA;;;;N;SQUARED KAIRI;;;;
+330C;SQUARE KARATTO;So;0;L;<square> 30AB 30E9 30C3 30C8;;;;N;SQUARED KARATTO;;;;
+330D;SQUARE KARORII;So;0;L;<square> 30AB 30ED 30EA 30FC;;;;N;SQUARED KARORII;;;;
+330E;SQUARE GARON;So;0;L;<square> 30AC 30ED 30F3;;;;N;SQUARED GARON;;;;
+330F;SQUARE GANMA;So;0;L;<square> 30AC 30F3 30DE;;;;N;SQUARED GANMA;;;;
+3310;SQUARE GIGA;So;0;L;<square> 30AE 30AC;;;;N;SQUARED GIGA;;;;
+3311;SQUARE GINII;So;0;L;<square> 30AE 30CB 30FC;;;;N;SQUARED GINII;;;;
+3312;SQUARE KYURII;So;0;L;<square> 30AD 30E5 30EA 30FC;;;;N;SQUARED KYURII;;;;
+3313;SQUARE GIRUDAA;So;0;L;<square> 30AE 30EB 30C0 30FC;;;;N;SQUARED GIRUDAA;;;;
+3314;SQUARE KIRO;So;0;L;<square> 30AD 30ED;;;;N;SQUARED KIRO;;;;
+3315;SQUARE KIROGURAMU;So;0;L;<square> 30AD 30ED 30B0 30E9 30E0;;;;N;SQUARED KIROGURAMU;;;;
+3316;SQUARE KIROMEETORU;So;0;L;<square> 30AD 30ED 30E1 30FC 30C8 30EB;;;;N;SQUARED KIROMEETORU;;;;
+3317;SQUARE KIROWATTO;So;0;L;<square> 30AD 30ED 30EF 30C3 30C8;;;;N;SQUARED KIROWATTO;;;;
+3318;SQUARE GURAMU;So;0;L;<square> 30B0 30E9 30E0;;;;N;SQUARED GURAMU;;;;
+3319;SQUARE GURAMUTON;So;0;L;<square> 30B0 30E9 30E0 30C8 30F3;;;;N;SQUARED GURAMUTON;;;;
+331A;SQUARE KURUZEIRO;So;0;L;<square> 30AF 30EB 30BC 30A4 30ED;;;;N;SQUARED KURUZEIRO;;;;
+331B;SQUARE KUROONE;So;0;L;<square> 30AF 30ED 30FC 30CD;;;;N;SQUARED KUROONE;;;;
+331C;SQUARE KEESU;So;0;L;<square> 30B1 30FC 30B9;;;;N;SQUARED KEESU;;;;
+331D;SQUARE KORUNA;So;0;L;<square> 30B3 30EB 30CA;;;;N;SQUARED KORUNA;;;;
+331E;SQUARE KOOPO;So;0;L;<square> 30B3 30FC 30DD;;;;N;SQUARED KOOPO;;;;
+331F;SQUARE SAIKURU;So;0;L;<square> 30B5 30A4 30AF 30EB;;;;N;SQUARED SAIKURU;;;;
+3320;SQUARE SANTIIMU;So;0;L;<square> 30B5 30F3 30C1 30FC 30E0;;;;N;SQUARED SANTIIMU;;;;
+3321;SQUARE SIRINGU;So;0;L;<square> 30B7 30EA 30F3 30B0;;;;N;SQUARED SIRINGU;;;;
+3322;SQUARE SENTI;So;0;L;<square> 30BB 30F3 30C1;;;;N;SQUARED SENTI;;;;
+3323;SQUARE SENTO;So;0;L;<square> 30BB 30F3 30C8;;;;N;SQUARED SENTO;;;;
+3324;SQUARE DAASU;So;0;L;<square> 30C0 30FC 30B9;;;;N;SQUARED DAASU;;;;
+3325;SQUARE DESI;So;0;L;<square> 30C7 30B7;;;;N;SQUARED DESI;;;;
+3326;SQUARE DORU;So;0;L;<square> 30C9 30EB;;;;N;SQUARED DORU;;;;
+3327;SQUARE TON;So;0;L;<square> 30C8 30F3;;;;N;SQUARED TON;;;;
+3328;SQUARE NANO;So;0;L;<square> 30CA 30CE;;;;N;SQUARED NANO;;;;
+3329;SQUARE NOTTO;So;0;L;<square> 30CE 30C3 30C8;;;;N;SQUARED NOTTO;;;;
+332A;SQUARE HAITU;So;0;L;<square> 30CF 30A4 30C4;;;;N;SQUARED HAITU;;;;
+332B;SQUARE PAASENTO;So;0;L;<square> 30D1 30FC 30BB 30F3 30C8;;;;N;SQUARED PAASENTO;;;;
+332C;SQUARE PAATU;So;0;L;<square> 30D1 30FC 30C4;;;;N;SQUARED PAATU;;;;
+332D;SQUARE BAARERU;So;0;L;<square> 30D0 30FC 30EC 30EB;;;;N;SQUARED BAARERU;;;;
+332E;SQUARE PIASUTORU;So;0;L;<square> 30D4 30A2 30B9 30C8 30EB;;;;N;SQUARED PIASUTORU;;;;
+332F;SQUARE PIKURU;So;0;L;<square> 30D4 30AF 30EB;;;;N;SQUARED PIKURU;;;;
+3330;SQUARE PIKO;So;0;L;<square> 30D4 30B3;;;;N;SQUARED PIKO;;;;
+3331;SQUARE BIRU;So;0;L;<square> 30D3 30EB;;;;N;SQUARED BIRU;;;;
+3332;SQUARE HUARADDO;So;0;L;<square> 30D5 30A1 30E9 30C3 30C9;;;;N;SQUARED HUARADDO;;;;
+3333;SQUARE HUIITO;So;0;L;<square> 30D5 30A3 30FC 30C8;;;;N;SQUARED HUIITO;;;;
+3334;SQUARE BUSSYERU;So;0;L;<square> 30D6 30C3 30B7 30A7 30EB;;;;N;SQUARED BUSSYERU;;;;
+3335;SQUARE HURAN;So;0;L;<square> 30D5 30E9 30F3;;;;N;SQUARED HURAN;;;;
+3336;SQUARE HEKUTAARU;So;0;L;<square> 30D8 30AF 30BF 30FC 30EB;;;;N;SQUARED HEKUTAARU;;;;
+3337;SQUARE PESO;So;0;L;<square> 30DA 30BD;;;;N;SQUARED PESO;;;;
+3338;SQUARE PENIHI;So;0;L;<square> 30DA 30CB 30D2;;;;N;SQUARED PENIHI;;;;
+3339;SQUARE HERUTU;So;0;L;<square> 30D8 30EB 30C4;;;;N;SQUARED HERUTU;;;;
+333A;SQUARE PENSU;So;0;L;<square> 30DA 30F3 30B9;;;;N;SQUARED PENSU;;;;
+333B;SQUARE PEEZI;So;0;L;<square> 30DA 30FC 30B8;;;;N;SQUARED PEEZI;;;;
+333C;SQUARE BEETA;So;0;L;<square> 30D9 30FC 30BF;;;;N;SQUARED BEETA;;;;
+333D;SQUARE POINTO;So;0;L;<square> 30DD 30A4 30F3 30C8;;;;N;SQUARED POINTO;;;;
+333E;SQUARE BORUTO;So;0;L;<square> 30DC 30EB 30C8;;;;N;SQUARED BORUTO;;;;
+333F;SQUARE HON;So;0;L;<square> 30DB 30F3;;;;N;SQUARED HON;;;;
+3340;SQUARE PONDO;So;0;L;<square> 30DD 30F3 30C9;;;;N;SQUARED PONDO;;;;
+3341;SQUARE HOORU;So;0;L;<square> 30DB 30FC 30EB;;;;N;SQUARED HOORU;;;;
+3342;SQUARE HOON;So;0;L;<square> 30DB 30FC 30F3;;;;N;SQUARED HOON;;;;
+3343;SQUARE MAIKURO;So;0;L;<square> 30DE 30A4 30AF 30ED;;;;N;SQUARED MAIKURO;;;;
+3344;SQUARE MAIRU;So;0;L;<square> 30DE 30A4 30EB;;;;N;SQUARED MAIRU;;;;
+3345;SQUARE MAHHA;So;0;L;<square> 30DE 30C3 30CF;;;;N;SQUARED MAHHA;;;;
+3346;SQUARE MARUKU;So;0;L;<square> 30DE 30EB 30AF;;;;N;SQUARED MARUKU;;;;
+3347;SQUARE MANSYON;So;0;L;<square> 30DE 30F3 30B7 30E7 30F3;;;;N;SQUARED MANSYON;;;;
+3348;SQUARE MIKURON;So;0;L;<square> 30DF 30AF 30ED 30F3;;;;N;SQUARED MIKURON;;;;
+3349;SQUARE MIRI;So;0;L;<square> 30DF 30EA;;;;N;SQUARED MIRI;;;;
+334A;SQUARE MIRIBAARU;So;0;L;<square> 30DF 30EA 30D0 30FC 30EB;;;;N;SQUARED MIRIBAARU;;;;
+334B;SQUARE MEGA;So;0;L;<square> 30E1 30AC;;;;N;SQUARED MEGA;;;;
+334C;SQUARE MEGATON;So;0;L;<square> 30E1 30AC 30C8 30F3;;;;N;SQUARED MEGATON;;;;
+334D;SQUARE MEETORU;So;0;L;<square> 30E1 30FC 30C8 30EB;;;;N;SQUARED MEETORU;;;;
+334E;SQUARE YAADO;So;0;L;<square> 30E4 30FC 30C9;;;;N;SQUARED YAADO;;;;
+334F;SQUARE YAARU;So;0;L;<square> 30E4 30FC 30EB;;;;N;SQUARED YAARU;;;;
+3350;SQUARE YUAN;So;0;L;<square> 30E6 30A2 30F3;;;;N;SQUARED YUAN;;;;
+3351;SQUARE RITTORU;So;0;L;<square> 30EA 30C3 30C8 30EB;;;;N;SQUARED RITTORU;;;;
+3352;SQUARE RIRA;So;0;L;<square> 30EA 30E9;;;;N;SQUARED RIRA;;;;
+3353;SQUARE RUPII;So;0;L;<square> 30EB 30D4 30FC;;;;N;SQUARED RUPII;;;;
+3354;SQUARE RUUBURU;So;0;L;<square> 30EB 30FC 30D6 30EB;;;;N;SQUARED RUUBURU;;;;
+3355;SQUARE REMU;So;0;L;<square> 30EC 30E0;;;;N;SQUARED REMU;;;;
+3356;SQUARE RENTOGEN;So;0;L;<square> 30EC 30F3 30C8 30B2 30F3;;;;N;SQUARED RENTOGEN;;;;
+3357;SQUARE WATTO;So;0;L;<square> 30EF 30C3 30C8;;;;N;SQUARED WATTO;;;;
+3358;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO;So;0;L;<compat> 0030 70B9;;;;N;;;;;
+3359;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE;So;0;L;<compat> 0031 70B9;;;;N;;;;;
+335A;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO;So;0;L;<compat> 0032 70B9;;;;N;;;;;
+335B;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE;So;0;L;<compat> 0033 70B9;;;;N;;;;;
+335C;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR;So;0;L;<compat> 0034 70B9;;;;N;;;;;
+335D;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE;So;0;L;<compat> 0035 70B9;;;;N;;;;;
+335E;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX;So;0;L;<compat> 0036 70B9;;;;N;;;;;
+335F;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN;So;0;L;<compat> 0037 70B9;;;;N;;;;;
+3360;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT;So;0;L;<compat> 0038 70B9;;;;N;;;;;
+3361;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE;So;0;L;<compat> 0039 70B9;;;;N;;;;;
+3362;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN;So;0;L;<compat> 0031 0030 70B9;;;;N;;;;;
+3363;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN;So;0;L;<compat> 0031 0031 70B9;;;;N;;;;;
+3364;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE;So;0;L;<compat> 0031 0032 70B9;;;;N;;;;;
+3365;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN;So;0;L;<compat> 0031 0033 70B9;;;;N;;;;;
+3366;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN;So;0;L;<compat> 0031 0034 70B9;;;;N;;;;;
+3367;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN;So;0;L;<compat> 0031 0035 70B9;;;;N;;;;;
+3368;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN;So;0;L;<compat> 0031 0036 70B9;;;;N;;;;;
+3369;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN;So;0;L;<compat> 0031 0037 70B9;;;;N;;;;;
+336A;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN;So;0;L;<compat> 0031 0038 70B9;;;;N;;;;;
+336B;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN;So;0;L;<compat> 0031 0039 70B9;;;;N;;;;;
+336C;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY;So;0;L;<compat> 0032 0030 70B9;;;;N;;;;;
+336D;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE;So;0;L;<compat> 0032 0031 70B9;;;;N;;;;;
+336E;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO;So;0;L;<compat> 0032 0032 70B9;;;;N;;;;;
+336F;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE;So;0;L;<compat> 0032 0033 70B9;;;;N;;;;;
+3370;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR;So;0;L;<compat> 0032 0034 70B9;;;;N;;;;;
+3371;SQUARE HPA;So;0;L;<square> 0068 0050 0061;;;;N;;;;;
+3372;SQUARE DA;So;0;L;<square> 0064 0061;;;;N;;;;;
+3373;SQUARE AU;So;0;L;<square> 0041 0055;;;;N;;;;;
+3374;SQUARE BAR;So;0;L;<square> 0062 0061 0072;;;;N;;;;;
+3375;SQUARE OV;So;0;L;<square> 006F 0056;;;;N;;;;;
+3376;SQUARE PC;So;0;L;<square> 0070 0063;;;;N;;;;;
+337B;SQUARE ERA NAME HEISEI;So;0;L;<square> 5E73 6210;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME HEISEI;;;;
+337C;SQUARE ERA NAME SYOUWA;So;0;L;<square> 662D 548C;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME SYOUWA;;;;
+337D;SQUARE ERA NAME TAISYOU;So;0;L;<square> 5927 6B63;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME TAISYOU;;;;
+337E;SQUARE ERA NAME MEIZI;So;0;L;<square> 660E 6CBB;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME MEIZI;;;;
+337F;SQUARE CORPORATION;So;0;L;<square> 682A 5F0F 4F1A 793E;;;;N;SQUARED FOUR IDEOGRAPHS CORPORATION;;;;
+3380;SQUARE PA AMPS;So;0;L;<square> 0070 0041;;;;N;SQUARED PA AMPS;;;;
+3381;SQUARE NA;So;0;L;<square> 006E 0041;;;;N;SQUARED NA;;;;
+3382;SQUARE MU A;So;0;L;<square> 03BC 0041;;;;N;SQUARED MU A;;;;
+3383;SQUARE MA;So;0;L;<square> 006D 0041;;;;N;SQUARED MA;;;;
+3384;SQUARE KA;So;0;L;<square> 006B 0041;;;;N;SQUARED KA;;;;
+3385;SQUARE KB;So;0;L;<square> 004B 0042;;;;N;SQUARED KB;;;;
+3386;SQUARE MB;So;0;L;<square> 004D 0042;;;;N;SQUARED MB;;;;
+3387;SQUARE GB;So;0;L;<square> 0047 0042;;;;N;SQUARED GB;;;;
+3388;SQUARE CAL;So;0;L;<square> 0063 0061 006C;;;;N;SQUARED CAL;;;;
+3389;SQUARE KCAL;So;0;L;<square> 006B 0063 0061 006C;;;;N;SQUARED KCAL;;;;
+338A;SQUARE PF;So;0;L;<square> 0070 0046;;;;N;SQUARED PF;;;;
+338B;SQUARE NF;So;0;L;<square> 006E 0046;;;;N;SQUARED NF;;;;
+338C;SQUARE MU F;So;0;L;<square> 03BC 0046;;;;N;SQUARED MU F;;;;
+338D;SQUARE MU G;So;0;L;<square> 03BC 0067;;;;N;SQUARED MU G;;;;
+338E;SQUARE MG;So;0;L;<square> 006D 0067;;;;N;SQUARED MG;;;;
+338F;SQUARE KG;So;0;L;<square> 006B 0067;;;;N;SQUARED KG;;;;
+3390;SQUARE HZ;So;0;L;<square> 0048 007A;;;;N;SQUARED HZ;;;;
+3391;SQUARE KHZ;So;0;L;<square> 006B 0048 007A;;;;N;SQUARED KHZ;;;;
+3392;SQUARE MHZ;So;0;L;<square> 004D 0048 007A;;;;N;SQUARED MHZ;;;;
+3393;SQUARE GHZ;So;0;L;<square> 0047 0048 007A;;;;N;SQUARED GHZ;;;;
+3394;SQUARE THZ;So;0;L;<square> 0054 0048 007A;;;;N;SQUARED THZ;;;;
+3395;SQUARE MU L;So;0;L;<square> 03BC 2113;;;;N;SQUARED MU L;;;;
+3396;SQUARE ML;So;0;L;<square> 006D 2113;;;;N;SQUARED ML;;;;
+3397;SQUARE DL;So;0;L;<square> 0064 2113;;;;N;SQUARED DL;;;;
+3398;SQUARE KL;So;0;L;<square> 006B 2113;;;;N;SQUARED KL;;;;
+3399;SQUARE FM;So;0;L;<square> 0066 006D;;;;N;SQUARED FM;;;;
+339A;SQUARE NM;So;0;L;<square> 006E 006D;;;;N;SQUARED NM;;;;
+339B;SQUARE MU M;So;0;L;<square> 03BC 006D;;;;N;SQUARED MU M;;;;
+339C;SQUARE MM;So;0;L;<square> 006D 006D;;;;N;SQUARED MM;;;;
+339D;SQUARE CM;So;0;L;<square> 0063 006D;;;;N;SQUARED CM;;;;
+339E;SQUARE KM;So;0;L;<square> 006B 006D;;;;N;SQUARED KM;;;;
+339F;SQUARE MM SQUARED;So;0;L;<square> 006D 006D 00B2;;;;N;SQUARED MM SQUARED;;;;
+33A0;SQUARE CM SQUARED;So;0;L;<square> 0063 006D 00B2;;;;N;SQUARED CM SQUARED;;;;
+33A1;SQUARE M SQUARED;So;0;L;<square> 006D 00B2;;;;N;SQUARED M SQUARED;;;;
+33A2;SQUARE KM SQUARED;So;0;L;<square> 006B 006D 00B2;;;;N;SQUARED KM SQUARED;;;;
+33A3;SQUARE MM CUBED;So;0;L;<square> 006D 006D 00B3;;;;N;SQUARED MM CUBED;;;;
+33A4;SQUARE CM CUBED;So;0;L;<square> 0063 006D 00B3;;;;N;SQUARED CM CUBED;;;;
+33A5;SQUARE M CUBED;So;0;L;<square> 006D 00B3;;;;N;SQUARED M CUBED;;;;
+33A6;SQUARE KM CUBED;So;0;L;<square> 006B 006D 00B3;;;;N;SQUARED KM CUBED;;;;
+33A7;SQUARE M OVER S;So;0;L;<square> 006D 2215 0073;;;;N;SQUARED M OVER S;;;;
+33A8;SQUARE M OVER S SQUARED;So;0;L;<square> 006D 2215 0073 00B2;;;;N;SQUARED M OVER S SQUARED;;;;
+33A9;SQUARE PA;So;0;L;<square> 0050 0061;;;;N;SQUARED PA;;;;
+33AA;SQUARE KPA;So;0;L;<square> 006B 0050 0061;;;;N;SQUARED KPA;;;;
+33AB;SQUARE MPA;So;0;L;<square> 004D 0050 0061;;;;N;SQUARED MPA;;;;
+33AC;SQUARE GPA;So;0;L;<square> 0047 0050 0061;;;;N;SQUARED GPA;;;;
+33AD;SQUARE RAD;So;0;L;<square> 0072 0061 0064;;;;N;SQUARED RAD;;;;
+33AE;SQUARE RAD OVER S;So;0;L;<square> 0072 0061 0064 2215 0073;;;;N;SQUARED RAD OVER S;;;;
+33AF;SQUARE RAD OVER S SQUARED;So;0;L;<square> 0072 0061 0064 2215 0073 00B2;;;;N;SQUARED RAD OVER S SQUARED;;;;
+33B0;SQUARE PS;So;0;L;<square> 0070 0073;;;;N;SQUARED PS;;;;
+33B1;SQUARE NS;So;0;L;<square> 006E 0073;;;;N;SQUARED NS;;;;
+33B2;SQUARE MU S;So;0;L;<square> 03BC 0073;;;;N;SQUARED MU S;;;;
+33B3;SQUARE MS;So;0;L;<square> 006D 0073;;;;N;SQUARED MS;;;;
+33B4;SQUARE PV;So;0;L;<square> 0070 0056;;;;N;SQUARED PV;;;;
+33B5;SQUARE NV;So;0;L;<square> 006E 0056;;;;N;SQUARED NV;;;;
+33B6;SQUARE MU V;So;0;L;<square> 03BC 0056;;;;N;SQUARED MU V;;;;
+33B7;SQUARE MV;So;0;L;<square> 006D 0056;;;;N;SQUARED MV;;;;
+33B8;SQUARE KV;So;0;L;<square> 006B 0056;;;;N;SQUARED KV;;;;
+33B9;SQUARE MV MEGA;So;0;L;<square> 004D 0056;;;;N;SQUARED MV MEGA;;;;
+33BA;SQUARE PW;So;0;L;<square> 0070 0057;;;;N;SQUARED PW;;;;
+33BB;SQUARE NW;So;0;L;<square> 006E 0057;;;;N;SQUARED NW;;;;
+33BC;SQUARE MU W;So;0;L;<square> 03BC 0057;;;;N;SQUARED MU W;;;;
+33BD;SQUARE MW;So;0;L;<square> 006D 0057;;;;N;SQUARED MW;;;;
+33BE;SQUARE KW;So;0;L;<square> 006B 0057;;;;N;SQUARED KW;;;;
+33BF;SQUARE MW MEGA;So;0;L;<square> 004D 0057;;;;N;SQUARED MW MEGA;;;;
+33C0;SQUARE K OHM;So;0;L;<square> 006B 03A9;;;;N;SQUARED K OHM;;;;
+33C1;SQUARE M OHM;So;0;L;<square> 004D 03A9;;;;N;SQUARED M OHM;;;;
+33C2;SQUARE AM;So;0;L;<square> 0061 002E 006D 002E;;;;N;SQUARED AM;;;;
+33C3;SQUARE BQ;So;0;L;<square> 0042 0071;;;;N;SQUARED BQ;;;;
+33C4;SQUARE CC;So;0;L;<square> 0063 0063;;;;N;SQUARED CC;;;;
+33C5;SQUARE CD;So;0;L;<square> 0063 0064;;;;N;SQUARED CD;;;;
+33C6;SQUARE C OVER KG;So;0;L;<square> 0043 2215 006B 0067;;;;N;SQUARED C OVER KG;;;;
+33C7;SQUARE CO;So;0;L;<square> 0043 006F 002E;;;;N;SQUARED CO;;;;
+33C8;SQUARE DB;So;0;L;<square> 0064 0042;;;;N;SQUARED DB;;;;
+33C9;SQUARE GY;So;0;L;<square> 0047 0079;;;;N;SQUARED GY;;;;
+33CA;SQUARE HA;So;0;L;<square> 0068 0061;;;;N;SQUARED HA;;;;
+33CB;SQUARE HP;So;0;L;<square> 0048 0050;;;;N;SQUARED HP;;;;
+33CC;SQUARE IN;So;0;L;<square> 0069 006E;;;;N;SQUARED IN;;;;
+33CD;SQUARE KK;So;0;L;<square> 004B 004B;;;;N;SQUARED KK;;;;
+33CE;SQUARE KM CAPITAL;So;0;L;<square> 004B 004D;;;;N;SQUARED KM CAPITAL;;;;
+33CF;SQUARE KT;So;0;L;<square> 006B 0074;;;;N;SQUARED KT;;;;
+33D0;SQUARE LM;So;0;L;<square> 006C 006D;;;;N;SQUARED LM;;;;
+33D1;SQUARE LN;So;0;L;<square> 006C 006E;;;;N;SQUARED LN;;;;
+33D2;SQUARE LOG;So;0;L;<square> 006C 006F 0067;;;;N;SQUARED LOG;;;;
+33D3;SQUARE LX;So;0;L;<square> 006C 0078;;;;N;SQUARED LX;;;;
+33D4;SQUARE MB SMALL;So;0;L;<square> 006D 0062;;;;N;SQUARED MB SMALL;;;;
+33D5;SQUARE MIL;So;0;L;<square> 006D 0069 006C;;;;N;SQUARED MIL;;;;
+33D6;SQUARE MOL;So;0;L;<square> 006D 006F 006C;;;;N;SQUARED MOL;;;;
+33D7;SQUARE PH;So;0;L;<square> 0050 0048;;;;N;SQUARED PH;;;;
+33D8;SQUARE PM;So;0;L;<square> 0070 002E 006D 002E;;;;N;SQUARED PM;;;;
+33D9;SQUARE PPM;So;0;L;<square> 0050 0050 004D;;;;N;SQUARED PPM;;;;
+33DA;SQUARE PR;So;0;L;<square> 0050 0052;;;;N;SQUARED PR;;;;
+33DB;SQUARE SR;So;0;L;<square> 0073 0072;;;;N;SQUARED SR;;;;
+33DC;SQUARE SV;So;0;L;<square> 0053 0076;;;;N;SQUARED SV;;;;
+33DD;SQUARE WB;So;0;L;<square> 0057 0062;;;;N;SQUARED WB;;;;
+33E0;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE;So;0;L;<compat> 0031 65E5;;;;N;;;;;
+33E1;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO;So;0;L;<compat> 0032 65E5;;;;N;;;;;
+33E2;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE;So;0;L;<compat> 0033 65E5;;;;N;;;;;
+33E3;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR;So;0;L;<compat> 0034 65E5;;;;N;;;;;
+33E4;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE;So;0;L;<compat> 0035 65E5;;;;N;;;;;
+33E5;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX;So;0;L;<compat> 0036 65E5;;;;N;;;;;
+33E6;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN;So;0;L;<compat> 0037 65E5;;;;N;;;;;
+33E7;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT;So;0;L;<compat> 0038 65E5;;;;N;;;;;
+33E8;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE;So;0;L;<compat> 0039 65E5;;;;N;;;;;
+33E9;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN;So;0;L;<compat> 0031 0030 65E5;;;;N;;;;;
+33EA;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN;So;0;L;<compat> 0031 0031 65E5;;;;N;;;;;
+33EB;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE;So;0;L;<compat> 0031 0032 65E5;;;;N;;;;;
+33EC;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN;So;0;L;<compat> 0031 0033 65E5;;;;N;;;;;
+33ED;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN;So;0;L;<compat> 0031 0034 65E5;;;;N;;;;;
+33EE;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN;So;0;L;<compat> 0031 0035 65E5;;;;N;;;;;
+33EF;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN;So;0;L;<compat> 0031 0036 65E5;;;;N;;;;;
+33F0;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN;So;0;L;<compat> 0031 0037 65E5;;;;N;;;;;
+33F1;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN;So;0;L;<compat> 0031 0038 65E5;;;;N;;;;;
+33F2;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN;So;0;L;<compat> 0031 0039 65E5;;;;N;;;;;
+33F3;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY;So;0;L;<compat> 0032 0030 65E5;;;;N;;;;;
+33F4;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE;So;0;L;<compat> 0032 0031 65E5;;;;N;;;;;
+33F5;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO;So;0;L;<compat> 0032 0032 65E5;;;;N;;;;;
+33F6;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE;So;0;L;<compat> 0032 0033 65E5;;;;N;;;;;
+33F7;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR;So;0;L;<compat> 0032 0034 65E5;;;;N;;;;;
+33F8;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE;So;0;L;<compat> 0032 0035 65E5;;;;N;;;;;
+33F9;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX;So;0;L;<compat> 0032 0036 65E5;;;;N;;;;;
+33FA;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN;So;0;L;<compat> 0032 0037 65E5;;;;N;;;;;
+33FB;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT;So;0;L;<compat> 0032 0038 65E5;;;;N;;;;;
+33FC;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE;So;0;L;<compat> 0032 0039 65E5;;;;N;;;;;
+33FD;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY;So;0;L;<compat> 0033 0030 65E5;;;;N;;;;;
+33FE;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE;So;0;L;<compat> 0033 0031 65E5;;;;N;;;;;
+4E00;<CJK Ideograph, First>;Lo;0;L;;;;;N;;;;;
+9FA5;<CJK Ideograph, Last>;Lo;0;L;;;;;N;;;;;
+AC00;<Hangul Syllable, First>;Lo;0;L;;;;;N;;;;;
+D7A3;<Hangul Syllable, Last>;Lo;0;L;;;;;N;;;;;
+D800;<Unassigned High Surrogate, First>;Cs;0;L;;;;;N;;;;;
+DB7F;<Unassigned High Surrogate, Last>;Cs;0;L;;;;;N;;;;;
+DB80;<Private Use High Surrogate, First>;Cs;0;L;;;;;N;;;;;
+DBFF;<Private Use High Surrogate, Last>;Cs;0;L;;;;;N;;;;;
+DC00;<Low Surrogate, First>;Cs;0;L;;;;;N;;;;;
+DFFF;<Low Surrogate, Last>;Cs;0;L;;;;;N;;;;;
+E000;<Private Use, First>;Co;0;L;;;;;N;;;;;
+F8FF;<Private Use, Last>;Co;0;L;;;;;N;;;;;
+F900;<CJK Compatibility Ideograph, First>;Lo;0;L;;;;;N;;;;;
+FA2D;<CJK Compatibility Ideograph, Last>;Lo;0;L;;;;;N;;;;;
+FB00;LATIN SMALL LIGATURE FF;Ll;0;L;<compat> 0066 0066;;;;N;;;;;
+FB01;LATIN SMALL LIGATURE FI;Ll;0;L;<compat> 0066 0069;;;;N;;;;;
+FB02;LATIN SMALL LIGATURE FL;Ll;0;L;<compat> 0066 006C;;;;N;;;;;
+FB03;LATIN SMALL LIGATURE FFI;Ll;0;L;<compat> 0066 0066 0069;;;;N;;;;;
+FB04;LATIN SMALL LIGATURE FFL;Ll;0;L;<compat> 0066 0066 006C;;;;N;;;;;
+FB05;LATIN SMALL LIGATURE LONG S T;Ll;0;L;<compat> 017F 0074;;;;N;;;;;
+FB06;LATIN SMALL LIGATURE ST;Ll;0;L;<compat> 0073 0074;;;;N;;;;;
+FB13;ARMENIAN SMALL LIGATURE MEN NOW;Ll;0;L;<compat> 0574 0576;;;;N;;;;;
+FB14;ARMENIAN SMALL LIGATURE MEN ECH;Ll;0;L;<compat> 0574 0565;;;;N;;;;;
+FB15;ARMENIAN SMALL LIGATURE MEN INI;Ll;0;L;<compat> 0574 056B;;;;N;;;;;
+FB16;ARMENIAN SMALL LIGATURE VEW NOW;Ll;0;L;<compat> 057E 0576;;;;N;;;;;
+FB17;ARMENIAN SMALL LIGATURE MEN XEH;Ll;0;L;<compat> 0574 056D;;;;N;;;;;
+FB1E;HEBREW POINT JUDEO-SPANISH VARIKA;Mn;26;R;;;;;N;HEBREW POINT VARIKA;;;;
+FB1F;HEBREW LIGATURE YIDDISH YOD YOD PATAH;Lo;0;R;05F2 05B7;;;;N;;;;;
+FB20;HEBREW LETTER ALTERNATIVE AYIN;Lo;0;R;<font> 05E2;;;;N;;;;;
+FB21;HEBREW LETTER WIDE ALEF;Lo;0;R;<font> 05D0;;;;N;;;;;
+FB22;HEBREW LETTER WIDE DALET;Lo;0;R;<font> 05D3;;;;N;;;;;
+FB23;HEBREW LETTER WIDE HE;Lo;0;R;<font> 05D4;;;;N;;;;;
+FB24;HEBREW LETTER WIDE KAF;Lo;0;R;<font> 05DB;;;;N;;;;;
+FB25;HEBREW LETTER WIDE LAMED;Lo;0;R;<font> 05DC;;;;N;;;;;
+FB26;HEBREW LETTER WIDE FINAL MEM;Lo;0;R;<font> 05DD;;;;N;;;;;
+FB27;HEBREW LETTER WIDE RESH;Lo;0;R;<font> 05E8;;;;N;;;;;
+FB28;HEBREW LETTER WIDE TAV;Lo;0;R;<font> 05EA;;;;N;;;;;
+FB29;HEBREW LETTER ALTERNATIVE PLUS SIGN;Sm;0;R;<font> 002B;;;;N;;;;;
+FB2A;HEBREW LETTER SHIN WITH SHIN DOT;Lo;0;R;05E9 05C1;;;;N;;;;;
+FB2B;HEBREW LETTER SHIN WITH SIN DOT;Lo;0;R;05E9 05C2;;;;N;;;;;
+FB2C;HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT;Lo;0;R;05E9 05BC 05C1;;;;N;;;;;
+FB2D;HEBREW LETTER SHIN WITH DAGESH AND SIN DOT;Lo;0;R;05E9 05BC 05C2;;;;N;;;;;
+FB2E;HEBREW LETTER ALEF WITH PATAH;Lo;0;R;05D0 05B7;;;;N;;;;;
+FB2F;HEBREW LETTER ALEF WITH QAMATS;Lo;0;R;05D0 05B8;;;;N;;;;;
+FB30;HEBREW LETTER ALEF WITH MAPIQ;Lo;0;R;05D0 05BC;;;;N;;;;;
+FB31;HEBREW LETTER BET WITH DAGESH;Lo;0;R;05D1 05BC;;;;N;;;;;
+FB32;HEBREW LETTER GIMEL WITH DAGESH;Lo;0;R;05D2 05BC;;;;N;;;;;
+FB33;HEBREW LETTER DALET WITH DAGESH;Lo;0;R;05D3 05BC;;;;N;;;;;
+FB34;HEBREW LETTER HE WITH MAPIQ;Lo;0;R;05D4 05BC;;;;N;;;;;
+FB35;HEBREW LETTER VAV WITH DAGESH;Lo;0;R;05D5 05BC;;;;N;;;;;
+FB36;HEBREW LETTER ZAYIN WITH DAGESH;Lo;0;R;05D6 05BC;;;;N;;;;;
+FB38;HEBREW LETTER TET WITH DAGESH;Lo;0;R;05D8 05BC;;;;N;;;;;
+FB39;HEBREW LETTER YOD WITH DAGESH;Lo;0;R;05D9 05BC;;;;N;;;;;
+FB3A;HEBREW LETTER FINAL KAF WITH DAGESH;Lo;0;R;05DA 05BC;;;;N;;;;;
+FB3B;HEBREW LETTER KAF WITH DAGESH;Lo;0;R;05DB 05BC;;;;N;;;;;
+FB3C;HEBREW LETTER LAMED WITH DAGESH;Lo;0;R;05DC 05BC;;;;N;;;;;
+FB3E;HEBREW LETTER MEM WITH DAGESH;Lo;0;R;05DE 05BC;;;;N;;;;;
+FB40;HEBREW LETTER NUN WITH DAGESH;Lo;0;R;05E0 05BC;;;;N;;;;;
+FB41;HEBREW LETTER SAMEKH WITH DAGESH;Lo;0;R;05E1 05BC;;;;N;;;;;
+FB43;HEBREW LETTER FINAL PE WITH DAGESH;Lo;0;R;05E3 05BC;;;;N;;;;;
+FB44;HEBREW LETTER PE WITH DAGESH;Lo;0;R;05E4 05BC;;;;N;;;;;
+FB46;HEBREW LETTER TSADI WITH DAGESH;Lo;0;R;05E6 05BC;;;;N;;;;;
+FB47;HEBREW LETTER QOF WITH DAGESH;Lo;0;R;05E7 05BC;;;;N;;;;;
+FB48;HEBREW LETTER RESH WITH DAGESH;Lo;0;R;05E8 05BC;;;;N;;;;;
+FB49;HEBREW LETTER SHIN WITH DAGESH;Lo;0;R;05E9 05BC;;;;N;;;;;
+FB4A;HEBREW LETTER TAV WITH DAGESH;Lo;0;R;05EA 05BC;;;;N;;;;;
+FB4B;HEBREW LETTER VAV WITH HOLAM;Lo;0;R;05D5 05B9;;;;N;;;;;
+FB4C;HEBREW LETTER BET WITH RAFE;Lo;0;R;05D1 05BF;;;;N;;;;;
+FB4D;HEBREW LETTER KAF WITH RAFE;Lo;0;R;05DB 05BF;;;;N;;;;;
+FB4E;HEBREW LETTER PE WITH RAFE;Lo;0;R;05E4 05BF;;;;N;;;;;
+FB4F;HEBREW LIGATURE ALEF LAMED;Lo;0;R;<compat> 05D0 05DC;;;;N;;;;;
+FB50;ARABIC LETTER ALEF WASLA ISOLATED FORM;Lo;0;R;<isolated> 0671;;;;N;;;;;
+FB51;ARABIC LETTER ALEF WASLA FINAL FORM;Lo;0;R;<final> 0671;;;;N;;;;;
+FB52;ARABIC LETTER BEEH ISOLATED FORM;Lo;0;R;<isolated> 067B;;;;N;;;;;
+FB53;ARABIC LETTER BEEH FINAL FORM;Lo;0;R;<final> 067B;;;;N;;;;;
+FB54;ARABIC LETTER BEEH INITIAL FORM;Lo;0;R;<initial> 067B;;;;N;;;;;
+FB55;ARABIC LETTER BEEH MEDIAL FORM;Lo;0;R;<medial> 067B;;;;N;;;;;
+FB56;ARABIC LETTER PEH ISOLATED FORM;Lo;0;R;<isolated> 067E;;;;N;;;;;
+FB57;ARABIC LETTER PEH FINAL FORM;Lo;0;R;<final> 067E;;;;N;;;;;
+FB58;ARABIC LETTER PEH INITIAL FORM;Lo;0;R;<initial> 067E;;;;N;;;;;
+FB59;ARABIC LETTER PEH MEDIAL FORM;Lo;0;R;<medial> 067E;;;;N;;;;;
+FB5A;ARABIC LETTER BEHEH ISOLATED FORM;Lo;0;R;<isolated> 0680;;;;N;;;;;
+FB5B;ARABIC LETTER BEHEH FINAL FORM;Lo;0;R;<final> 0680;;;;N;;;;;
+FB5C;ARABIC LETTER BEHEH INITIAL FORM;Lo;0;R;<initial> 0680;;;;N;;;;;
+FB5D;ARABIC LETTER BEHEH MEDIAL FORM;Lo;0;R;<medial> 0680;;;;N;;;;;
+FB5E;ARABIC LETTER TTEHEH ISOLATED FORM;Lo;0;R;<isolated> 067A;;;;N;;;;;
+FB5F;ARABIC LETTER TTEHEH FINAL FORM;Lo;0;R;<final> 067A;;;;N;;;;;
+FB60;ARABIC LETTER TTEHEH INITIAL FORM;Lo;0;R;<initial> 067A;;;;N;;;;;
+FB61;ARABIC LETTER TTEHEH MEDIAL FORM;Lo;0;R;<medial> 067A;;;;N;;;;;
+FB62;ARABIC LETTER TEHEH ISOLATED FORM;Lo;0;R;<isolated> 067F;;;;N;;;;;
+FB63;ARABIC LETTER TEHEH FINAL FORM;Lo;0;R;<final> 067F;;;;N;;;;;
+FB64;ARABIC LETTER TEHEH INITIAL FORM;Lo;0;R;<initial> 067F;;;;N;;;;;
+FB65;ARABIC LETTER TEHEH MEDIAL FORM;Lo;0;R;<medial> 067F;;;;N;;;;;
+FB66;ARABIC LETTER TTEH ISOLATED FORM;Lo;0;R;<isolated> 0679;;;;N;;;;;
+FB67;ARABIC LETTER TTEH FINAL FORM;Lo;0;R;<final> 0679;;;;N;;;;;
+FB68;ARABIC LETTER TTEH INITIAL FORM;Lo;0;R;<initial> 0679;;;;N;;;;;
+FB69;ARABIC LETTER TTEH MEDIAL FORM;Lo;0;R;<medial> 0679;;;;N;;;;;
+FB6A;ARABIC LETTER VEH ISOLATED FORM;Lo;0;R;<isolated> 06A4;;;;N;;;;;
+FB6B;ARABIC LETTER VEH FINAL FORM;Lo;0;R;<final> 06A4;;;;N;;;;;
+FB6C;ARABIC LETTER VEH INITIAL FORM;Lo;0;R;<initial> 06A4;;;;N;;;;;
+FB6D;ARABIC LETTER VEH MEDIAL FORM;Lo;0;R;<medial> 06A4;;;;N;;;;;
+FB6E;ARABIC LETTER PEHEH ISOLATED FORM;Lo;0;R;<isolated> 06A6;;;;N;;;;;
+FB6F;ARABIC LETTER PEHEH FINAL FORM;Lo;0;R;<final> 06A6;;;;N;;;;;
+FB70;ARABIC LETTER PEHEH INITIAL FORM;Lo;0;R;<initial> 06A6;;;;N;;;;;
+FB71;ARABIC LETTER PEHEH MEDIAL FORM;Lo;0;R;<medial> 06A6;;;;N;;;;;
+FB72;ARABIC LETTER DYEH ISOLATED FORM;Lo;0;R;<isolated> 0684;;;;N;;;;;
+FB73;ARABIC LETTER DYEH FINAL FORM;Lo;0;R;<final> 0684;;;;N;;;;;
+FB74;ARABIC LETTER DYEH INITIAL FORM;Lo;0;R;<initial> 0684;;;;N;;;;;
+FB75;ARABIC LETTER DYEH MEDIAL FORM;Lo;0;R;<medial> 0684;;;;N;;;;;
+FB76;ARABIC LETTER NYEH ISOLATED FORM;Lo;0;R;<isolated> 0683;;;;N;;;;;
+FB77;ARABIC LETTER NYEH FINAL FORM;Lo;0;R;<final> 0683;;;;N;;;;;
+FB78;ARABIC LETTER NYEH INITIAL FORM;Lo;0;R;<initial> 0683;;;;N;;;;;
+FB79;ARABIC LETTER NYEH MEDIAL FORM;Lo;0;R;<medial> 0683;;;;N;;;;;
+FB7A;ARABIC LETTER TCHEH ISOLATED FORM;Lo;0;R;<isolated> 0686;;;;N;;;;;
+FB7B;ARABIC LETTER TCHEH FINAL FORM;Lo;0;R;<final> 0686;;;;N;;;;;
+FB7C;ARABIC LETTER TCHEH INITIAL FORM;Lo;0;R;<initial> 0686;;;;N;;;;;
+FB7D;ARABIC LETTER TCHEH MEDIAL FORM;Lo;0;R;<medial> 0686;;;;N;;;;;
+FB7E;ARABIC LETTER TCHEHEH ISOLATED FORM;Lo;0;R;<isolated> 0687;;;;N;;;;;
+FB7F;ARABIC LETTER TCHEHEH FINAL FORM;Lo;0;R;<final> 0687;;;;N;;;;;
+FB80;ARABIC LETTER TCHEHEH INITIAL FORM;Lo;0;R;<initial> 0687;;;;N;;;;;
+FB81;ARABIC LETTER TCHEHEH MEDIAL FORM;Lo;0;R;<medial> 0687;;;;N;;;;;
+FB82;ARABIC LETTER DDAHAL ISOLATED FORM;Lo;0;R;<isolated> 068D;;;;N;;;;;
+FB83;ARABIC LETTER DDAHAL FINAL FORM;Lo;0;R;<final> 068D;;;;N;;;;;
+FB84;ARABIC LETTER DAHAL ISOLATED FORM;Lo;0;R;<isolated> 068C;;;;N;;;;;
+FB85;ARABIC LETTER DAHAL FINAL FORM;Lo;0;R;<final> 068C;;;;N;;;;;
+FB86;ARABIC LETTER DUL ISOLATED FORM;Lo;0;R;<isolated> 068E;;;;N;;;;;
+FB87;ARABIC LETTER DUL FINAL FORM;Lo;0;R;<final> 068E;;;;N;;;;;
+FB88;ARABIC LETTER DDAL ISOLATED FORM;Lo;0;R;<isolated> 0688;;;;N;;;;;
+FB89;ARABIC LETTER DDAL FINAL FORM;Lo;0;R;<final> 0688;;;;N;;;;;
+FB8A;ARABIC LETTER JEH ISOLATED FORM;Lo;0;R;<isolated> 0698;;;;N;;;;;
+FB8B;ARABIC LETTER JEH FINAL FORM;Lo;0;R;<final> 0698;;;;N;;;;;
+FB8C;ARABIC LETTER RREH ISOLATED FORM;Lo;0;R;<isolated> 0691;;;;N;;;;;
+FB8D;ARABIC LETTER RREH FINAL FORM;Lo;0;R;<final> 0691;;;;N;;;;;
+FB8E;ARABIC LETTER KEHEH ISOLATED FORM;Lo;0;R;<isolated> 06A9;;;;N;;;;;
+FB8F;ARABIC LETTER KEHEH FINAL FORM;Lo;0;R;<final> 06A9;;;;N;;;;;
+FB90;ARABIC LETTER KEHEH INITIAL FORM;Lo;0;R;<initial> 06A9;;;;N;;;;;
+FB91;ARABIC LETTER KEHEH MEDIAL FORM;Lo;0;R;<medial> 06A9;;;;N;;;;;
+FB92;ARABIC LETTER GAF ISOLATED FORM;Lo;0;R;<isolated> 06AF;;;;N;;;;;
+FB93;ARABIC LETTER GAF FINAL FORM;Lo;0;R;<final> 06AF;;;;N;;;;;
+FB94;ARABIC LETTER GAF INITIAL FORM;Lo;0;R;<initial> 06AF;;;;N;;;;;
+FB95;ARABIC LETTER GAF MEDIAL FORM;Lo;0;R;<medial> 06AF;;;;N;;;;;
+FB96;ARABIC LETTER GUEH ISOLATED FORM;Lo;0;R;<isolated> 06B3;;;;N;;;;;
+FB97;ARABIC LETTER GUEH FINAL FORM;Lo;0;R;<final> 06B3;;;;N;;;;;
+FB98;ARABIC LETTER GUEH INITIAL FORM;Lo;0;R;<initial> 06B3;;;;N;;;;;
+FB99;ARABIC LETTER GUEH MEDIAL FORM;Lo;0;R;<medial> 06B3;;;;N;;;;;
+FB9A;ARABIC LETTER NGOEH ISOLATED FORM;Lo;0;R;<isolated> 06B1;;;;N;;;;;
+FB9B;ARABIC LETTER NGOEH FINAL FORM;Lo;0;R;<final> 06B1;;;;N;;;;;
+FB9C;ARABIC LETTER NGOEH INITIAL FORM;Lo;0;R;<initial> 06B1;;;;N;;;;;
+FB9D;ARABIC LETTER NGOEH MEDIAL FORM;Lo;0;R;<medial> 06B1;;;;N;;;;;
+FB9E;ARABIC LETTER NOON GHUNNA ISOLATED FORM;Lo;0;R;<isolated> 06BA;;;;N;;;;;
+FB9F;ARABIC LETTER NOON GHUNNA FINAL FORM;Lo;0;R;<final> 06BA;;;;N;;;;;
+FBA0;ARABIC LETTER RNOON ISOLATED FORM;Lo;0;R;<isolated> 06BB;;;;N;;;;;
+FBA1;ARABIC LETTER RNOON FINAL FORM;Lo;0;R;<final> 06BB;;;;N;;;;;
+FBA2;ARABIC LETTER RNOON INITIAL FORM;Lo;0;R;<initial> 06BB;;;;N;;;;;
+FBA3;ARABIC LETTER RNOON MEDIAL FORM;Lo;0;R;<medial> 06BB;;;;N;;;;;
+FBA4;ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM;Lo;0;R;<isolated> 06C0;;;;N;;;;;
+FBA5;ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM;Lo;0;R;<final> 06C0;;;;N;;;;;
+FBA6;ARABIC LETTER HEH GOAL ISOLATED FORM;Lo;0;R;<isolated> 06C1;;;;N;;;;;
+FBA7;ARABIC LETTER HEH GOAL FINAL FORM;Lo;0;R;<final> 06C1;;;;N;;;;;
+FBA8;ARABIC LETTER HEH GOAL INITIAL FORM;Lo;0;R;<initial> 06C1;;;;N;;;;;
+FBA9;ARABIC LETTER HEH GOAL MEDIAL FORM;Lo;0;R;<medial> 06C1;;;;N;;;;;
+FBAA;ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM;Lo;0;R;<isolated> 06BE;;;;N;;;;;
+FBAB;ARABIC LETTER HEH DOACHASHMEE FINAL FORM;Lo;0;R;<final> 06BE;;;;N;;;;;
+FBAC;ARABIC LETTER HEH DOACHASHMEE INITIAL FORM;Lo;0;R;<initial> 06BE;;;;N;;;;;
+FBAD;ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM;Lo;0;R;<medial> 06BE;;;;N;;;;;
+FBAE;ARABIC LETTER YEH BARREE ISOLATED FORM;Lo;0;R;<isolated> 06D2;;;;N;;;;;
+FBAF;ARABIC LETTER YEH BARREE FINAL FORM;Lo;0;R;<final> 06D2;;;;N;;;;;
+FBB0;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM;Lo;0;R;<isolated> 06D3;;;;N;;;;;
+FBB1;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM;Lo;0;R;<final> 06D3;;;;N;;;;;
+FBD3;ARABIC LETTER NG ISOLATED FORM;Lo;0;R;<isolated> 06AD;;;;N;;;;;
+FBD4;ARABIC LETTER NG FINAL FORM;Lo;0;R;<final> 06AD;;;;N;;;;;
+FBD5;ARABIC LETTER NG INITIAL FORM;Lo;0;R;<initial> 06AD;;;;N;;;;;
+FBD6;ARABIC LETTER NG MEDIAL FORM;Lo;0;R;<medial> 06AD;;;;N;;;;;
+FBD7;ARABIC LETTER U ISOLATED FORM;Lo;0;R;<isolated> 06C7;;;;N;;;;;
+FBD8;ARABIC LETTER U FINAL FORM;Lo;0;R;<final> 06C7;;;;N;;;;;
+FBD9;ARABIC LETTER OE ISOLATED FORM;Lo;0;R;<isolated> 06C6;;;;N;;;;;
+FBDA;ARABIC LETTER OE FINAL FORM;Lo;0;R;<final> 06C6;;;;N;;;;;
+FBDB;ARABIC LETTER YU ISOLATED FORM;Lo;0;R;<isolated> 06C8;;;;N;;;;;
+FBDC;ARABIC LETTER YU FINAL FORM;Lo;0;R;<final> 06C8;;;;N;;;;;
+FBDD;ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM;Lo;0;R;<isolated> 0677;;;;N;;;;;
+FBDE;ARABIC LETTER VE ISOLATED FORM;Lo;0;R;<isolated> 06CB;;;;N;;;;;
+FBDF;ARABIC LETTER VE FINAL FORM;Lo;0;R;<final> 06CB;;;;N;;;;;
+FBE0;ARABIC LETTER KIRGHIZ OE ISOLATED FORM;Lo;0;R;<isolated> 06C5;;;;N;;;;;
+FBE1;ARABIC LETTER KIRGHIZ OE FINAL FORM;Lo;0;R;<final> 06C5;;;;N;;;;;
+FBE2;ARABIC LETTER KIRGHIZ YU ISOLATED FORM;Lo;0;R;<isolated> 06C9;;;;N;;;;;
+FBE3;ARABIC LETTER KIRGHIZ YU FINAL FORM;Lo;0;R;<final> 06C9;;;;N;;;;;
+FBE4;ARABIC LETTER E ISOLATED FORM;Lo;0;R;<isolated> 06D0;;;;N;;;;;
+FBE5;ARABIC LETTER E FINAL FORM;Lo;0;R;<final> 06D0;;;;N;;;;;
+FBE6;ARABIC LETTER E INITIAL FORM;Lo;0;R;<initial> 06D0;;;;N;;;;;
+FBE7;ARABIC LETTER E MEDIAL FORM;Lo;0;R;<medial> 06D0;;;;N;;;;;
+FBE8;ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM;Lo;0;R;<initial> 0649;;;;N;;;;;
+FBE9;ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM;Lo;0;R;<medial> 0649;;;;N;;;;;
+FBEA;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM;Lo;0;R;<isolated> 0626 0627;;;;N;;;;;
+FBEB;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM;Lo;0;R;<final> 0626 0627;;;;N;;;;;
+FBEC;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM;Lo;0;R;<isolated> 0626 06D5;;;;N;;;;;
+FBED;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM;Lo;0;R;<final> 0626 06D5;;;;N;;;;;
+FBEE;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM;Lo;0;R;<isolated> 0626 0648;;;;N;;;;;
+FBEF;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM;Lo;0;R;<final> 0626 0648;;;;N;;;;;
+FBF0;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM;Lo;0;R;<isolated> 0626 06C7;;;;N;;;;;
+FBF1;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM;Lo;0;R;<final> 0626 06C7;;;;N;;;;;
+FBF2;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM;Lo;0;R;<isolated> 0626 06C6;;;;N;;;;;
+FBF3;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM;Lo;0;R;<final> 0626 06C6;;;;N;;;;;
+FBF4;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM;Lo;0;R;<isolated> 0626 06C8;;;;N;;;;;
+FBF5;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM;Lo;0;R;<final> 0626 06C8;;;;N;;;;;
+FBF6;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM;Lo;0;R;<isolated> 0626 06D0;;;;N;;;;;
+FBF7;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM;Lo;0;R;<final> 0626 06D0;;;;N;;;;;
+FBF8;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM;Lo;0;R;<initial> 0626 06D0;;;;N;;;;;
+FBF9;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R;<isolated> 0626 0649;;;;N;;;;;
+FBFA;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 0626 0649;;;;N;;;;;
+FBFB;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM;Lo;0;R;<initial> 0626 0649;;;;N;;;;;
+FBFC;ARABIC LETTER FARSI YEH ISOLATED FORM;Lo;0;R;<isolated> 06CC;;;;N;;;;;
+FBFD;ARABIC LETTER FARSI YEH FINAL FORM;Lo;0;R;<final> 06CC;;;;N;;;;;
+FBFE;ARABIC LETTER FARSI YEH INITIAL FORM;Lo;0;R;<initial> 06CC;;;;N;;;;;
+FBFF;ARABIC LETTER FARSI YEH MEDIAL FORM;Lo;0;R;<medial> 06CC;;;;N;;;;;
+FC00;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM;Lo;0;R;<isolated> 0626 062C;;;;N;;;;;
+FC01;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM;Lo;0;R;<isolated> 0626 062D;;;;N;;;;;
+FC02;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM;Lo;0;R;<isolated> 0626 0645;;;;N;;;;;
+FC03;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R;<isolated> 0626 0649;;;;N;;;;;
+FC04;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM;Lo;0;R;<isolated> 0626 064A;;;;N;;;;;
+FC05;ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM;Lo;0;R;<isolated> 0628 062C;;;;N;;;;;
+FC06;ARABIC LIGATURE BEH WITH HAH ISOLATED FORM;Lo;0;R;<isolated> 0628 062D;;;;N;;;;;
+FC07;ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM;Lo;0;R;<isolated> 0628 062E;;;;N;;;;;
+FC08;ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM;Lo;0;R;<isolated> 0628 0645;;;;N;;;;;
+FC09;ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R;<isolated> 0628 0649;;;;N;;;;;
+FC0A;ARABIC LIGATURE BEH WITH YEH ISOLATED FORM;Lo;0;R;<isolated> 0628 064A;;;;N;;;;;
+FC0B;ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM;Lo;0;R;<isolated> 062A 062C;;;;N;;;;;
+FC0C;ARABIC LIGATURE TEH WITH HAH ISOLATED FORM;Lo;0;R;<isolated> 062A 062D;;;;N;;;;;
+FC0D;ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM;Lo;0;R;<isolated> 062A 062E;;;;N;;;;;
+FC0E;ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM;Lo;0;R;<isolated> 062A 0645;;;;N;;;;;
+FC0F;ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R;<isolated> 062A 0649;;;;N;;;;;
+FC10;ARABIC LIGATURE TEH WITH YEH ISOLATED FORM;Lo;0;R;<isolated> 062A 064A;;;;N;;;;;
+FC11;ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM;Lo;0;R;<isolated> 062B 062C;;;;N;;;;;
+FC12;ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM;Lo;0;R;<isolated> 062B 0645;;;;N;;;;;
+FC13;ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R;<isolated> 062B 0649;;;;N;;;;;
+FC14;ARABIC LIGATURE THEH WITH YEH ISOLATED FORM;Lo;0;R;<isolated> 062B 064A;;;;N;;;;;
+FC15;ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM;Lo;0;R;<isolated> 062C 062D;;;;N;;;;;
+FC16;ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM;Lo;0;R;<isolated> 062C 0645;;;;N;;;;;
+FC17;ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM;Lo;0;R;<isolated> 062D 062C;;;;N;;;;;
+FC18;ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM;Lo;0;R;<isolated> 062D 0645;;;;N;;;;;
+FC19;ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM;Lo;0;R;<isolated> 062E 062C;;;;N;;;;;
+FC1A;ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM;Lo;0;R;<isolated> 062E 062D;;;;N;;;;;
+FC1B;ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM;Lo;0;R;<isolated> 062E 0645;;;;N;;;;;
+FC1C;ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM;Lo;0;R;<isolated> 0633 062C;;;;N;;;;;
+FC1D;ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM;Lo;0;R;<isolated> 0633 062D;;;;N;;;;;
+FC1E;ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM;Lo;0;R;<isolated> 0633 062E;;;;N;;;;;
+FC1F;ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM;Lo;0;R;<isolated> 0633 0645;;;;N;;;;;
+FC20;ARABIC LIGATURE SAD WITH HAH ISOLATED FORM;Lo;0;R;<isolated> 0635 062D;;;;N;;;;;
+FC21;ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM;Lo;0;R;<isolated> 0635 0645;;;;N;;;;;
+FC22;ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM;Lo;0;R;<isolated> 0636 062C;;;;N;;;;;
+FC23;ARABIC LIGATURE DAD WITH HAH ISOLATED FORM;Lo;0;R;<isolated> 0636 062D;;;;N;;;;;
+FC24;ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM;Lo;0;R;<isolated> 0636 062E;;;;N;;;;;
+FC25;ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM;Lo;0;R;<isolated> 0636 0645;;;;N;;;;;
+FC26;ARABIC LIGATURE TAH WITH HAH ISOLATED FORM;Lo;0;R;<isolated> 0637 062D;;;;N;;;;;
+FC27;ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM;Lo;0;R;<isolated> 0637 0645;;;;N;;;;;
+FC28;ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM;Lo;0;R;<isolated> 0638 0645;;;;N;;;;;
+FC29;ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM;Lo;0;R;<isolated> 0639 062C;;;;N;;;;;
+FC2A;ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM;Lo;0;R;<isolated> 0639 0645;;;;N;;;;;
+FC2B;ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM;Lo;0;R;<isolated> 063A 062C;;;;N;;;;;
+FC2C;ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM;Lo;0;R;<isolated> 063A 0645;;;;N;;;;;
+FC2D;ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM;Lo;0;R;<isolated> 0641 062C;;;;N;;;;;
+FC2E;ARABIC LIGATURE FEH WITH HAH ISOLATED FORM;Lo;0;R;<isolated> 0641 062D;;;;N;;;;;
+FC2F;ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM;Lo;0;R;<isolated> 0641 062E;;;;N;;;;;
+FC30;ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM;Lo;0;R;<isolated> 0641 0645;;;;N;;;;;
+FC31;ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R;<isolated> 0641 0649;;;;N;;;;;
+FC32;ARABIC LIGATURE FEH WITH YEH ISOLATED FORM;Lo;0;R;<isolated> 0641 064A;;;;N;;;;;
+FC33;ARABIC LIGATURE QAF WITH HAH ISOLATED FORM;Lo;0;R;<isolated> 0642 062D;;;;N;;;;;
+FC34;ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM;Lo;0;R;<isolated> 0642 0645;;;;N;;;;;
+FC35;ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R;<isolated> 0642 0649;;;;N;;;;;
+FC36;ARABIC LIGATURE QAF WITH YEH ISOLATED FORM;Lo;0;R;<isolated> 0642 064A;;;;N;;;;;
+FC37;ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM;Lo;0;R;<isolated> 0643 0627;;;;N;;;;;
+FC38;ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM;Lo;0;R;<isolated> 0643 062C;;;;N;;;;;
+FC39;ARABIC LIGATURE KAF WITH HAH ISOLATED FORM;Lo;0;R;<isolated> 0643 062D;;;;N;;;;;
+FC3A;ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM;Lo;0;R;<isolated> 0643 062E;;;;N;;;;;
+FC3B;ARABIC LIGATURE KAF WITH LAM ISOLATED FORM;Lo;0;R;<isolated> 0643 0644;;;;N;;;;;
+FC3C;ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM;Lo;0;R;<isolated> 0643 0645;;;;N;;;;;
+FC3D;ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R;<isolated> 0643 0649;;;;N;;;;;
+FC3E;ARABIC LIGATURE KAF WITH YEH ISOLATED FORM;Lo;0;R;<isolated> 0643 064A;;;;N;;;;;
+FC3F;ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM;Lo;0;R;<isolated> 0644 062C;;;;N;;;;;
+FC40;ARABIC LIGATURE LAM WITH HAH ISOLATED FORM;Lo;0;R;<isolated> 0644 062D;;;;N;;;;;
+FC41;ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM;Lo;0;R;<isolated> 0644 062E;;;;N;;;;;
+FC42;ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM;Lo;0;R;<isolated> 0644 0645;;;;N;;;;;
+FC43;ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R;<isolated> 0644 0649;;;;N;;;;;
+FC44;ARABIC LIGATURE LAM WITH YEH ISOLATED FORM;Lo;0;R;<isolated> 0644 064A;;;;N;;;;;
+FC45;ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM;Lo;0;R;<isolated> 0645 062C;;;;N;;;;;
+FC46;ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM;Lo;0;R;<isolated> 0645 062D;;;;N;;;;;
+FC47;ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM;Lo;0;R;<isolated> 0645 062E;;;;N;;;;;
+FC48;ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM;Lo;0;R;<isolated> 0645 0645;;;;N;;;;;
+FC49;ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R;<isolated> 0645 0649;;;;N;;;;;
+FC4A;ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM;Lo;0;R;<isolated> 0645 064A;;;;N;;;;;
+FC4B;ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM;Lo;0;R;<isolated> 0646 062C;;;;N;;;;;
+FC4C;ARABIC LIGATURE NOON WITH HAH ISOLATED FORM;Lo;0;R;<isolated> 0646 062D;;;;N;;;;;
+FC4D;ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM;Lo;0;R;<isolated> 0646 062E;;;;N;;;;;
+FC4E;ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM;Lo;0;R;<isolated> 0646 0645;;;;N;;;;;
+FC4F;ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R;<isolated> 0646 0649;;;;N;;;;;
+FC50;ARABIC LIGATURE NOON WITH YEH ISOLATED FORM;Lo;0;R;<isolated> 0646 064A;;;;N;;;;;
+FC51;ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM;Lo;0;R;<isolated> 0647 062C;;;;N;;;;;
+FC52;ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM;Lo;0;R;<isolated> 0647 0645;;;;N;;;;;
+FC53;ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R;<isolated> 0647 0649;;;;N;;;;;
+FC54;ARABIC LIGATURE HEH WITH YEH ISOLATED FORM;Lo;0;R;<isolated> 0647 064A;;;;N;;;;;
+FC55;ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM;Lo;0;R;<isolated> 064A 062C;;;;N;;;;;
+FC56;ARABIC LIGATURE YEH WITH HAH ISOLATED FORM;Lo;0;R;<isolated> 064A 062D;;;;N;;;;;
+FC57;ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM;Lo;0;R;<isolated> 064A 062E;;;;N;;;;;
+FC58;ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM;Lo;0;R;<isolated> 064A 0645;;;;N;;;;;
+FC59;ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R;<isolated> 064A 0649;;;;N;;;;;
+FC5A;ARABIC LIGATURE YEH WITH YEH ISOLATED FORM;Lo;0;R;<isolated> 064A 064A;;;;N;;;;;
+FC5B;ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;R;<isolated> 0630 0670;;;;N;;;;;
+FC5C;ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;R;<isolated> 0631 0670;;;;N;;;;;
+FC5D;ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;R;<isolated> 0649 0670;;;;N;;;;;
+FC5E;ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM;Lo;0;R;<isolated> 0020 0651 064C;;;;N;;;;;
+FC5F;ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM;Lo;0;R;<isolated> 0020 0651 064D;;;;N;;;;;
+FC60;ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM;Lo;0;R;<isolated> 0020 0651 064E;;;;N;;;;;
+FC61;ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM;Lo;0;R;<isolated> 0020 0651 064F;;;;N;;;;;
+FC62;ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM;Lo;0;R;<isolated> 0020 0651 0650;;;;N;;;;;
+FC63;ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;R;<isolated> 0020 0651 0670;;;;N;;;;;
+FC64;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM;Lo;0;R;<final> 0626 0631;;;;N;;;;;
+FC65;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM;Lo;0;R;<final> 0626 0632;;;;N;;;;;
+FC66;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM;Lo;0;R;<final> 0626 0645;;;;N;;;;;
+FC67;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM;Lo;0;R;<final> 0626 0646;;;;N;;;;;
+FC68;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 0626 0649;;;;N;;;;;
+FC69;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM;Lo;0;R;<final> 0626 064A;;;;N;;;;;
+FC6A;ARABIC LIGATURE BEH WITH REH FINAL FORM;Lo;0;R;<final> 0628 0631;;;;N;;;;;
+FC6B;ARABIC LIGATURE BEH WITH ZAIN FINAL FORM;Lo;0;R;<final> 0628 0632;;;;N;;;;;
+FC6C;ARABIC LIGATURE BEH WITH MEEM FINAL FORM;Lo;0;R;<final> 0628 0645;;;;N;;;;;
+FC6D;ARABIC LIGATURE BEH WITH NOON FINAL FORM;Lo;0;R;<final> 0628 0646;;;;N;;;;;
+FC6E;ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 0628 0649;;;;N;;;;;
+FC6F;ARABIC LIGATURE BEH WITH YEH FINAL FORM;Lo;0;R;<final> 0628 064A;;;;N;;;;;
+FC70;ARABIC LIGATURE TEH WITH REH FINAL FORM;Lo;0;R;<final> 062A 0631;;;;N;;;;;
+FC71;ARABIC LIGATURE TEH WITH ZAIN FINAL FORM;Lo;0;R;<final> 062A 0632;;;;N;;;;;
+FC72;ARABIC LIGATURE TEH WITH MEEM FINAL FORM;Lo;0;R;<final> 062A 0645;;;;N;;;;;
+FC73;ARABIC LIGATURE TEH WITH NOON FINAL FORM;Lo;0;R;<final> 062A 0646;;;;N;;;;;
+FC74;ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 062A 0649;;;;N;;;;;
+FC75;ARABIC LIGATURE TEH WITH YEH FINAL FORM;Lo;0;R;<final> 062A 064A;;;;N;;;;;
+FC76;ARABIC LIGATURE THEH WITH REH FINAL FORM;Lo;0;R;<final> 062B 0631;;;;N;;;;;
+FC77;ARABIC LIGATURE THEH WITH ZAIN FINAL FORM;Lo;0;R;<final> 062B 0632;;;;N;;;;;
+FC78;ARABIC LIGATURE THEH WITH MEEM FINAL FORM;Lo;0;R;<final> 062B 0645;;;;N;;;;;
+FC79;ARABIC LIGATURE THEH WITH NOON FINAL FORM;Lo;0;R;<final> 062B 0646;;;;N;;;;;
+FC7A;ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 062B 0649;;;;N;;;;;
+FC7B;ARABIC LIGATURE THEH WITH YEH FINAL FORM;Lo;0;R;<final> 062B 064A;;;;N;;;;;
+FC7C;ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 0641 0649;;;;N;;;;;
+FC7D;ARABIC LIGATURE FEH WITH YEH FINAL FORM;Lo;0;R;<final> 0641 064A;;;;N;;;;;
+FC7E;ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 0642 0649;;;;N;;;;;
+FC7F;ARABIC LIGATURE QAF WITH YEH FINAL FORM;Lo;0;R;<final> 0642 064A;;;;N;;;;;
+FC80;ARABIC LIGATURE KAF WITH ALEF FINAL FORM;Lo;0;R;<final> 0643 0627;;;;N;;;;;
+FC81;ARABIC LIGATURE KAF WITH LAM FINAL FORM;Lo;0;R;<final> 0643 0644;;;;N;;;;;
+FC82;ARABIC LIGATURE KAF WITH MEEM FINAL FORM;Lo;0;R;<final> 0643 0645;;;;N;;;;;
+FC83;ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 0643 0649;;;;N;;;;;
+FC84;ARABIC LIGATURE KAF WITH YEH FINAL FORM;Lo;0;R;<final> 0643 064A;;;;N;;;;;
+FC85;ARABIC LIGATURE LAM WITH MEEM FINAL FORM;Lo;0;R;<final> 0644 0645;;;;N;;;;;
+FC86;ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 0644 0649;;;;N;;;;;
+FC87;ARABIC LIGATURE LAM WITH YEH FINAL FORM;Lo;0;R;<final> 0644 064A;;;;N;;;;;
+FC88;ARABIC LIGATURE MEEM WITH ALEF FINAL FORM;Lo;0;R;<final> 0645 0627;;;;N;;;;;
+FC89;ARABIC LIGATURE MEEM WITH MEEM FINAL FORM;Lo;0;R;<final> 0645 0645;;;;N;;;;;
+FC8A;ARABIC LIGATURE NOON WITH REH FINAL FORM;Lo;0;R;<final> 0646 0631;;;;N;;;;;
+FC8B;ARABIC LIGATURE NOON WITH ZAIN FINAL FORM;Lo;0;R;<final> 0646 0632;;;;N;;;;;
+FC8C;ARABIC LIGATURE NOON WITH MEEM FINAL FORM;Lo;0;R;<final> 0646 0645;;;;N;;;;;
+FC8D;ARABIC LIGATURE NOON WITH NOON FINAL FORM;Lo;0;R;<final> 0646 0646;;;;N;;;;;
+FC8E;ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 0646 0649;;;;N;;;;;
+FC8F;ARABIC LIGATURE NOON WITH YEH FINAL FORM;Lo;0;R;<final> 0646 064A;;;;N;;;;;
+FC90;ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM;Lo;0;R;<final> 0649 0670;;;;N;;;;;
+FC91;ARABIC LIGATURE YEH WITH REH FINAL FORM;Lo;0;R;<final> 064A 0631;;;;N;;;;;
+FC92;ARABIC LIGATURE YEH WITH ZAIN FINAL FORM;Lo;0;R;<final> 064A 0632;;;;N;;;;;
+FC93;ARABIC LIGATURE YEH WITH MEEM FINAL FORM;Lo;0;R;<final> 064A 0645;;;;N;;;;;
+FC94;ARABIC LIGATURE YEH WITH NOON FINAL FORM;Lo;0;R;<final> 064A 0646;;;;N;;;;;
+FC95;ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 064A 0649;;;;N;;;;;
+FC96;ARABIC LIGATURE YEH WITH YEH FINAL FORM;Lo;0;R;<final> 064A 064A;;;;N;;;;;
+FC97;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM;Lo;0;R;<initial> 0626 062C;;;;N;;;;;
+FC98;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM;Lo;0;R;<initial> 0626 062D;;;;N;;;;;
+FC99;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM;Lo;0;R;<initial> 0626 062E;;;;N;;;;;
+FC9A;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0626 0645;;;;N;;;;;
+FC9B;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM;Lo;0;R;<initial> 0626 0647;;;;N;;;;;
+FC9C;ARABIC LIGATURE BEH WITH JEEM INITIAL FORM;Lo;0;R;<initial> 0628 062C;;;;N;;;;;
+FC9D;ARABIC LIGATURE BEH WITH HAH INITIAL FORM;Lo;0;R;<initial> 0628 062D;;;;N;;;;;
+FC9E;ARABIC LIGATURE BEH WITH KHAH INITIAL FORM;Lo;0;R;<initial> 0628 062E;;;;N;;;;;
+FC9F;ARABIC LIGATURE BEH WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0628 0645;;;;N;;;;;
+FCA0;ARABIC LIGATURE BEH WITH HEH INITIAL FORM;Lo;0;R;<initial> 0628 0647;;;;N;;;;;
+FCA1;ARABIC LIGATURE TEH WITH JEEM INITIAL FORM;Lo;0;R;<initial> 062A 062C;;;;N;;;;;
+FCA2;ARABIC LIGATURE TEH WITH HAH INITIAL FORM;Lo;0;R;<initial> 062A 062D;;;;N;;;;;
+FCA3;ARABIC LIGATURE TEH WITH KHAH INITIAL FORM;Lo;0;R;<initial> 062A 062E;;;;N;;;;;
+FCA4;ARABIC LIGATURE TEH WITH MEEM INITIAL FORM;Lo;0;R;<initial> 062A 0645;;;;N;;;;;
+FCA5;ARABIC LIGATURE TEH WITH HEH INITIAL FORM;Lo;0;R;<initial> 062A 0647;;;;N;;;;;
+FCA6;ARABIC LIGATURE THEH WITH MEEM INITIAL FORM;Lo;0;R;<initial> 062B 0645;;;;N;;;;;
+FCA7;ARABIC LIGATURE JEEM WITH HAH INITIAL FORM;Lo;0;R;<initial> 062C 062D;;;;N;;;;;
+FCA8;ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM;Lo;0;R;<initial> 062C 0645;;;;N;;;;;
+FCA9;ARABIC LIGATURE HAH WITH JEEM INITIAL FORM;Lo;0;R;<initial> 062D 062C;;;;N;;;;;
+FCAA;ARABIC LIGATURE HAH WITH MEEM INITIAL FORM;Lo;0;R;<initial> 062D 0645;;;;N;;;;;
+FCAB;ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM;Lo;0;R;<initial> 062E 062C;;;;N;;;;;
+FCAC;ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM;Lo;0;R;<initial> 062E 0645;;;;N;;;;;
+FCAD;ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM;Lo;0;R;<initial> 0633 062C;;;;N;;;;;
+FCAE;ARABIC LIGATURE SEEN WITH HAH INITIAL FORM;Lo;0;R;<initial> 0633 062D;;;;N;;;;;
+FCAF;ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM;Lo;0;R;<initial> 0633 062E;;;;N;;;;;
+FCB0;ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0633 0645;;;;N;;;;;
+FCB1;ARABIC LIGATURE SAD WITH HAH INITIAL FORM;Lo;0;R;<initial> 0635 062D;;;;N;;;;;
+FCB2;ARABIC LIGATURE SAD WITH KHAH INITIAL FORM;Lo;0;R;<initial> 0635 062E;;;;N;;;;;
+FCB3;ARABIC LIGATURE SAD WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0635 0645;;;;N;;;;;
+FCB4;ARABIC LIGATURE DAD WITH JEEM INITIAL FORM;Lo;0;R;<initial> 0636 062C;;;;N;;;;;
+FCB5;ARABIC LIGATURE DAD WITH HAH INITIAL FORM;Lo;0;R;<initial> 0636 062D;;;;N;;;;;
+FCB6;ARABIC LIGATURE DAD WITH KHAH INITIAL FORM;Lo;0;R;<initial> 0636 062E;;;;N;;;;;
+FCB7;ARABIC LIGATURE DAD WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0636 0645;;;;N;;;;;
+FCB8;ARABIC LIGATURE TAH WITH HAH INITIAL FORM;Lo;0;R;<initial> 0637 062D;;;;N;;;;;
+FCB9;ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0638 0645;;;;N;;;;;
+FCBA;ARABIC LIGATURE AIN WITH JEEM INITIAL FORM;Lo;0;R;<initial> 0639 062C;;;;N;;;;;
+FCBB;ARABIC LIGATURE AIN WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0639 0645;;;;N;;;;;
+FCBC;ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM;Lo;0;R;<initial> 063A 062C;;;;N;;;;;
+FCBD;ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM;Lo;0;R;<initial> 063A 0645;;;;N;;;;;
+FCBE;ARABIC LIGATURE FEH WITH JEEM INITIAL FORM;Lo;0;R;<initial> 0641 062C;;;;N;;;;;
+FCBF;ARABIC LIGATURE FEH WITH HAH INITIAL FORM;Lo;0;R;<initial> 0641 062D;;;;N;;;;;
+FCC0;ARABIC LIGATURE FEH WITH KHAH INITIAL FORM;Lo;0;R;<initial> 0641 062E;;;;N;;;;;
+FCC1;ARABIC LIGATURE FEH WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0641 0645;;;;N;;;;;
+FCC2;ARABIC LIGATURE QAF WITH HAH INITIAL FORM;Lo;0;R;<initial> 0642 062D;;;;N;;;;;
+FCC3;ARABIC LIGATURE QAF WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0642 0645;;;;N;;;;;
+FCC4;ARABIC LIGATURE KAF WITH JEEM INITIAL FORM;Lo;0;R;<initial> 0643 062C;;;;N;;;;;
+FCC5;ARABIC LIGATURE KAF WITH HAH INITIAL FORM;Lo;0;R;<initial> 0643 062D;;;;N;;;;;
+FCC6;ARABIC LIGATURE KAF WITH KHAH INITIAL FORM;Lo;0;R;<initial> 0643 062E;;;;N;;;;;
+FCC7;ARABIC LIGATURE KAF WITH LAM INITIAL FORM;Lo;0;R;<initial> 0643 0644;;;;N;;;;;
+FCC8;ARABIC LIGATURE KAF WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0643 0645;;;;N;;;;;
+FCC9;ARABIC LIGATURE LAM WITH JEEM INITIAL FORM;Lo;0;R;<initial> 0644 062C;;;;N;;;;;
+FCCA;ARABIC LIGATURE LAM WITH HAH INITIAL FORM;Lo;0;R;<initial> 0644 062D;;;;N;;;;;
+FCCB;ARABIC LIGATURE LAM WITH KHAH INITIAL FORM;Lo;0;R;<initial> 0644 062E;;;;N;;;;;
+FCCC;ARABIC LIGATURE LAM WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0644 0645;;;;N;;;;;
+FCCD;ARABIC LIGATURE LAM WITH HEH INITIAL FORM;Lo;0;R;<initial> 0644 0647;;;;N;;;;;
+FCCE;ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM;Lo;0;R;<initial> 0645 062C;;;;N;;;;;
+FCCF;ARABIC LIGATURE MEEM WITH HAH INITIAL FORM;Lo;0;R;<initial> 0645 062D;;;;N;;;;;
+FCD0;ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM;Lo;0;R;<initial> 0645 062E;;;;N;;;;;
+FCD1;ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0645 0645;;;;N;;;;;
+FCD2;ARABIC LIGATURE NOON WITH JEEM INITIAL FORM;Lo;0;R;<initial> 0646 062C;;;;N;;;;;
+FCD3;ARABIC LIGATURE NOON WITH HAH INITIAL FORM;Lo;0;R;<initial> 0646 062D;;;;N;;;;;
+FCD4;ARABIC LIGATURE NOON WITH KHAH INITIAL FORM;Lo;0;R;<initial> 0646 062E;;;;N;;;;;
+FCD5;ARABIC LIGATURE NOON WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0646 0645;;;;N;;;;;
+FCD6;ARABIC LIGATURE NOON WITH HEH INITIAL FORM;Lo;0;R;<initial> 0646 0647;;;;N;;;;;
+FCD7;ARABIC LIGATURE HEH WITH JEEM INITIAL FORM;Lo;0;R;<initial> 0647 062C;;;;N;;;;;
+FCD8;ARABIC LIGATURE HEH WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0647 0645;;;;N;;;;;
+FCD9;ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM;Lo;0;R;<initial> 0647 0670;;;;N;;;;;
+FCDA;ARABIC LIGATURE YEH WITH JEEM INITIAL FORM;Lo;0;R;<initial> 064A 062C;;;;N;;;;;
+FCDB;ARABIC LIGATURE YEH WITH HAH INITIAL FORM;Lo;0;R;<initial> 064A 062D;;;;N;;;;;
+FCDC;ARABIC LIGATURE YEH WITH KHAH INITIAL FORM;Lo;0;R;<initial> 064A 062E;;;;N;;;;;
+FCDD;ARABIC LIGATURE YEH WITH MEEM INITIAL FORM;Lo;0;R;<initial> 064A 0645;;;;N;;;;;
+FCDE;ARABIC LIGATURE YEH WITH HEH INITIAL FORM;Lo;0;R;<initial> 064A 0647;;;;N;;;;;
+FCDF;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM;Lo;0;R;<medial> 0626 0645;;;;N;;;;;
+FCE0;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM;Lo;0;R;<medial> 0626 0647;;;;N;;;;;
+FCE1;ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM;Lo;0;R;<medial> 0628 0645;;;;N;;;;;
+FCE2;ARABIC LIGATURE BEH WITH HEH MEDIAL FORM;Lo;0;R;<medial> 0628 0647;;;;N;;;;;
+FCE3;ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM;Lo;0;R;<medial> 062A 0645;;;;N;;;;;
+FCE4;ARABIC LIGATURE TEH WITH HEH MEDIAL FORM;Lo;0;R;<medial> 062A 0647;;;;N;;;;;
+FCE5;ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM;Lo;0;R;<medial> 062B 0645;;;;N;;;;;
+FCE6;ARABIC LIGATURE THEH WITH HEH MEDIAL FORM;Lo;0;R;<medial> 062B 0647;;;;N;;;;;
+FCE7;ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM;Lo;0;R;<medial> 0633 0645;;;;N;;;;;
+FCE8;ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM;Lo;0;R;<medial> 0633 0647;;;;N;;;;;
+FCE9;ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM;Lo;0;R;<medial> 0634 0645;;;;N;;;;;
+FCEA;ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM;Lo;0;R;<medial> 0634 0647;;;;N;;;;;
+FCEB;ARABIC LIGATURE KAF WITH LAM MEDIAL FORM;Lo;0;R;<medial> 0643 0644;;;;N;;;;;
+FCEC;ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM;Lo;0;R;<medial> 0643 0645;;;;N;;;;;
+FCED;ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM;Lo;0;R;<medial> 0644 0645;;;;N;;;;;
+FCEE;ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM;Lo;0;R;<medial> 0646 0645;;;;N;;;;;
+FCEF;ARABIC LIGATURE NOON WITH HEH MEDIAL FORM;Lo;0;R;<medial> 0646 0647;;;;N;;;;;
+FCF0;ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM;Lo;0;R;<medial> 064A 0645;;;;N;;;;;
+FCF1;ARABIC LIGATURE YEH WITH HEH MEDIAL FORM;Lo;0;R;<medial> 064A 0647;;;;N;;;;;
+FCF2;ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM;Lo;0;R;<medial> 0640 0651 064E;;;;N;;;;;
+FCF3;ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM;Lo;0;R;<medial> 0640 0651 064F;;;;N;;;;;
+FCF4;ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM;Lo;0;R;<medial> 0640 0651 0650;;;;N;;;;;
+FCF5;ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R;<isolated> 0637 0649;;;;N;;;;;
+FCF6;ARABIC LIGATURE TAH WITH YEH ISOLATED FORM;Lo;0;R;<isolated> 0637 064A;;;;N;;;;;
+FCF7;ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R;<isolated> 0639 0649;;;;N;;;;;
+FCF8;ARABIC LIGATURE AIN WITH YEH ISOLATED FORM;Lo;0;R;<isolated> 0639 064A;;;;N;;;;;
+FCF9;ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R;<isolated> 063A 0649;;;;N;;;;;
+FCFA;ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM;Lo;0;R;<isolated> 063A 064A;;;;N;;;;;
+FCFB;ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R;<isolated> 0633 0649;;;;N;;;;;
+FCFC;ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM;Lo;0;R;<isolated> 0633 064A;;;;N;;;;;
+FCFD;ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R;<isolated> 0634 0649;;;;N;;;;;
+FCFE;ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM;Lo;0;R;<isolated> 0634 064A;;;;N;;;;;
+FCFF;ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R;<isolated> 062D 0649;;;;N;;;;;
+FD00;ARABIC LIGATURE HAH WITH YEH ISOLATED FORM;Lo;0;R;<isolated> 062D 064A;;;;N;;;;;
+FD01;ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R;<isolated> 062C 0649;;;;N;;;;;
+FD02;ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM;Lo;0;R;<isolated> 062C 064A;;;;N;;;;;
+FD03;ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R;<isolated> 062E 0649;;;;N;;;;;
+FD04;ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM;Lo;0;R;<isolated> 062E 064A;;;;N;;;;;
+FD05;ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R;<isolated> 0635 0649;;;;N;;;;;
+FD06;ARABIC LIGATURE SAD WITH YEH ISOLATED FORM;Lo;0;R;<isolated> 0635 064A;;;;N;;;;;
+FD07;ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R;<isolated> 0636 0649;;;;N;;;;;
+FD08;ARABIC LIGATURE DAD WITH YEH ISOLATED FORM;Lo;0;R;<isolated> 0636 064A;;;;N;;;;;
+FD09;ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM;Lo;0;R;<isolated> 0634 062C;;;;N;;;;;
+FD0A;ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM;Lo;0;R;<isolated> 0634 062D;;;;N;;;;;
+FD0B;ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM;Lo;0;R;<isolated> 0634 062E;;;;N;;;;;
+FD0C;ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM;Lo;0;R;<isolated> 0634 0645;;;;N;;;;;
+FD0D;ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM;Lo;0;R;<isolated> 0634 0631;;;;N;;;;;
+FD0E;ARABIC LIGATURE SEEN WITH REH ISOLATED FORM;Lo;0;R;<isolated> 0633 0631;;;;N;;;;;
+FD0F;ARABIC LIGATURE SAD WITH REH ISOLATED FORM;Lo;0;R;<isolated> 0635 0631;;;;N;;;;;
+FD10;ARABIC LIGATURE DAD WITH REH ISOLATED FORM;Lo;0;R;<isolated> 0636 0631;;;;N;;;;;
+FD11;ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 0637 0649;;;;N;;;;;
+FD12;ARABIC LIGATURE TAH WITH YEH FINAL FORM;Lo;0;R;<final> 0637 064A;;;;N;;;;;
+FD13;ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 0639 0649;;;;N;;;;;
+FD14;ARABIC LIGATURE AIN WITH YEH FINAL FORM;Lo;0;R;<final> 0639 064A;;;;N;;;;;
+FD15;ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 063A 0649;;;;N;;;;;
+FD16;ARABIC LIGATURE GHAIN WITH YEH FINAL FORM;Lo;0;R;<final> 063A 064A;;;;N;;;;;
+FD17;ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 0633 0649;;;;N;;;;;
+FD18;ARABIC LIGATURE SEEN WITH YEH FINAL FORM;Lo;0;R;<final> 0633 064A;;;;N;;;;;
+FD19;ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 0634 0649;;;;N;;;;;
+FD1A;ARABIC LIGATURE SHEEN WITH YEH FINAL FORM;Lo;0;R;<final> 0634 064A;;;;N;;;;;
+FD1B;ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 062D 0649;;;;N;;;;;
+FD1C;ARABIC LIGATURE HAH WITH YEH FINAL FORM;Lo;0;R;<final> 062D 064A;;;;N;;;;;
+FD1D;ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 062C 0649;;;;N;;;;;
+FD1E;ARABIC LIGATURE JEEM WITH YEH FINAL FORM;Lo;0;R;<final> 062C 064A;;;;N;;;;;
+FD1F;ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 062E 0649;;;;N;;;;;
+FD20;ARABIC LIGATURE KHAH WITH YEH FINAL FORM;Lo;0;R;<final> 062E 064A;;;;N;;;;;
+FD21;ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 0635 0649;;;;N;;;;;
+FD22;ARABIC LIGATURE SAD WITH YEH FINAL FORM;Lo;0;R;<final> 0635 064A;;;;N;;;;;
+FD23;ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 0636 0649;;;;N;;;;;
+FD24;ARABIC LIGATURE DAD WITH YEH FINAL FORM;Lo;0;R;<final> 0636 064A;;;;N;;;;;
+FD25;ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM;Lo;0;R;<final> 0634 062C;;;;N;;;;;
+FD26;ARABIC LIGATURE SHEEN WITH HAH FINAL FORM;Lo;0;R;<final> 0634 062D;;;;N;;;;;
+FD27;ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM;Lo;0;R;<final> 0634 062E;;;;N;;;;;
+FD28;ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM;Lo;0;R;<final> 0634 0645;;;;N;;;;;
+FD29;ARABIC LIGATURE SHEEN WITH REH FINAL FORM;Lo;0;R;<final> 0634 0631;;;;N;;;;;
+FD2A;ARABIC LIGATURE SEEN WITH REH FINAL FORM;Lo;0;R;<final> 0633 0631;;;;N;;;;;
+FD2B;ARABIC LIGATURE SAD WITH REH FINAL FORM;Lo;0;R;<final> 0635 0631;;;;N;;;;;
+FD2C;ARABIC LIGATURE DAD WITH REH FINAL FORM;Lo;0;R;<final> 0636 0631;;;;N;;;;;
+FD2D;ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM;Lo;0;R;<initial> 0634 062C;;;;N;;;;;
+FD2E;ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM;Lo;0;R;<initial> 0634 062D;;;;N;;;;;
+FD2F;ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM;Lo;0;R;<initial> 0634 062E;;;;N;;;;;
+FD30;ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0634 0645;;;;N;;;;;
+FD31;ARABIC LIGATURE SEEN WITH HEH INITIAL FORM;Lo;0;R;<initial> 0633 0647;;;;N;;;;;
+FD32;ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM;Lo;0;R;<initial> 0634 0647;;;;N;;;;;
+FD33;ARABIC LIGATURE TAH WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0637 0645;;;;N;;;;;
+FD34;ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM;Lo;0;R;<medial> 0633 062C;;;;N;;;;;
+FD35;ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM;Lo;0;R;<medial> 0633 062D;;;;N;;;;;
+FD36;ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM;Lo;0;R;<medial> 0633 062E;;;;N;;;;;
+FD37;ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM;Lo;0;R;<medial> 0634 062C;;;;N;;;;;
+FD38;ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM;Lo;0;R;<medial> 0634 062D;;;;N;;;;;
+FD39;ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM;Lo;0;R;<medial> 0634 062E;;;;N;;;;;
+FD3A;ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM;Lo;0;R;<medial> 0637 0645;;;;N;;;;;
+FD3B;ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM;Lo;0;R;<medial> 0638 0645;;;;N;;;;;
+FD3C;ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM;Lo;0;R;<final> 0627 064B;;;;N;;;;;
+FD3D;ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM;Lo;0;R;<isolated> 0627 064B;;;;N;;;;;
+FD3E;ORNATE LEFT PARENTHESIS;Ps;0;ON;;;;;N;;;;;
+FD3F;ORNATE RIGHT PARENTHESIS;Pe;0;ON;;;;;N;;;;;
+FD50;ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM;Lo;0;R;<initial> 062A 062C 0645;;;;N;;;;;
+FD51;ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM;Lo;0;R;<final> 062A 062D 062C;;;;N;;;;;
+FD52;ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM;Lo;0;R;<initial> 062A 062D 062C;;;;N;;;;;
+FD53;ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM;Lo;0;R;<initial> 062A 062D 0645;;;;N;;;;;
+FD54;ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM;Lo;0;R;<initial> 062A 062E 0645;;;;N;;;;;
+FD55;ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM;Lo;0;R;<initial> 062A 0645 062C;;;;N;;;;;
+FD56;ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM;Lo;0;R;<initial> 062A 0645 062D;;;;N;;;;;
+FD57;ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM;Lo;0;R;<initial> 062A 0645 062E;;;;N;;;;;
+FD58;ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM;Lo;0;R;<final> 062C 0645 062D;;;;N;;;;;
+FD59;ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM;Lo;0;R;<initial> 062C 0645 062D;;;;N;;;;;
+FD5A;ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM;Lo;0;R;<final> 062D 0645 064A;;;;N;;;;;
+FD5B;ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 062D 0645 0649;;;;N;;;;;
+FD5C;ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM;Lo;0;R;<initial> 0633 062D 062C;;;;N;;;;;
+FD5D;ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM;Lo;0;R;<initial> 0633 062C 062D;;;;N;;;;;
+FD5E;ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 0633 062C 0649;;;;N;;;;;
+FD5F;ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM;Lo;0;R;<final> 0633 0645 062D;;;;N;;;;;
+FD60;ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM;Lo;0;R;<initial> 0633 0645 062D;;;;N;;;;;
+FD61;ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM;Lo;0;R;<initial> 0633 0645 062C;;;;N;;;;;
+FD62;ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM;Lo;0;R;<final> 0633 0645 0645;;;;N;;;;;
+FD63;ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0633 0645 0645;;;;N;;;;;
+FD64;ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM;Lo;0;R;<final> 0635 062D 062D;;;;N;;;;;
+FD65;ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM;Lo;0;R;<initial> 0635 062D 062D;;;;N;;;;;
+FD66;ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM;Lo;0;R;<final> 0635 0645 0645;;;;N;;;;;
+FD67;ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM;Lo;0;R;<final> 0634 062D 0645;;;;N;;;;;
+FD68;ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0634 062D 0645;;;;N;;;;;
+FD69;ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM;Lo;0;R;<final> 0634 062C 064A;;;;N;;;;;
+FD6A;ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM;Lo;0;R;<final> 0634 0645 062E;;;;N;;;;;
+FD6B;ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM;Lo;0;R;<initial> 0634 0645 062E;;;;N;;;;;
+FD6C;ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM;Lo;0;R;<final> 0634 0645 0645;;;;N;;;;;
+FD6D;ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0634 0645 0645;;;;N;;;;;
+FD6E;ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 0636 062D 0649;;;;N;;;;;
+FD6F;ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM;Lo;0;R;<final> 0636 062E 0645;;;;N;;;;;
+FD70;ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0636 062E 0645;;;;N;;;;;
+FD71;ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM;Lo;0;R;<final> 0637 0645 062D;;;;N;;;;;
+FD72;ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM;Lo;0;R;<initial> 0637 0645 062D;;;;N;;;;;
+FD73;ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0637 0645 0645;;;;N;;;;;
+FD74;ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM;Lo;0;R;<final> 0637 0645 064A;;;;N;;;;;
+FD75;ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM;Lo;0;R;<final> 0639 062C 0645;;;;N;;;;;
+FD76;ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM;Lo;0;R;<final> 0639 0645 0645;;;;N;;;;;
+FD77;ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0639 0645 0645;;;;N;;;;;
+FD78;ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 0639 0645 0649;;;;N;;;;;
+FD79;ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM;Lo;0;R;<final> 063A 0645 0645;;;;N;;;;;
+FD7A;ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM;Lo;0;R;<final> 063A 0645 064A;;;;N;;;;;
+FD7B;ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 063A 0645 0649;;;;N;;;;;
+FD7C;ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM;Lo;0;R;<final> 0641 062E 0645;;;;N;;;;;
+FD7D;ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0641 062E 0645;;;;N;;;;;
+FD7E;ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM;Lo;0;R;<final> 0642 0645 062D;;;;N;;;;;
+FD7F;ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM;Lo;0;R;<final> 0642 0645 0645;;;;N;;;;;
+FD80;ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM;Lo;0;R;<final> 0644 062D 0645;;;;N;;;;;
+FD81;ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM;Lo;0;R;<final> 0644 062D 064A;;;;N;;;;;
+FD82;ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 0644 062D 0649;;;;N;;;;;
+FD83;ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM;Lo;0;R;<initial> 0644 062C 062C;;;;N;;;;;
+FD84;ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM;Lo;0;R;<final> 0644 062C 062C;;;;N;;;;;
+FD85;ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM;Lo;0;R;<final> 0644 062E 0645;;;;N;;;;;
+FD86;ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0644 062E 0645;;;;N;;;;;
+FD87;ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM;Lo;0;R;<final> 0644 0645 062D;;;;N;;;;;
+FD88;ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM;Lo;0;R;<initial> 0644 0645 062D;;;;N;;;;;
+FD89;ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM;Lo;0;R;<initial> 0645 062D 062C;;;;N;;;;;
+FD8A;ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0645 062D 0645;;;;N;;;;;
+FD8B;ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM;Lo;0;R;<final> 0645 062D 064A;;;;N;;;;;
+FD8C;ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM;Lo;0;R;<initial> 0645 062C 062D;;;;N;;;;;
+FD8D;ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0645 062C 0645;;;;N;;;;;
+FD8E;ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM;Lo;0;R;<initial> 0645 062E 062C;;;;N;;;;;
+FD8F;ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0645 062E 0645;;;;N;;;;;
+FD92;ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM;Lo;0;R;<initial> 0645 062C 062E;;;;N;;;;;
+FD93;ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM;Lo;0;R;<initial> 0647 0645 062C;;;;N;;;;;
+FD94;ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0647 0645 0645;;;;N;;;;;
+FD95;ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0646 062D 0645;;;;N;;;;;
+FD96;ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 0646 062D 0649;;;;N;;;;;
+FD97;ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM;Lo;0;R;<final> 0646 062C 0645;;;;N;;;;;
+FD98;ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0646 062C 0645;;;;N;;;;;
+FD99;ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 0646 062C 0649;;;;N;;;;;
+FD9A;ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM;Lo;0;R;<final> 0646 0645 064A;;;;N;;;;;
+FD9B;ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 0646 0645 0649;;;;N;;;;;
+FD9C;ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM;Lo;0;R;<final> 064A 0645 0645;;;;N;;;;;
+FD9D;ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;R;<initial> 064A 0645 0645;;;;N;;;;;
+FD9E;ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM;Lo;0;R;<final> 0628 062E 064A;;;;N;;;;;
+FD9F;ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM;Lo;0;R;<final> 062A 062C 064A;;;;N;;;;;
+FDA0;ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 062A 062C 0649;;;;N;;;;;
+FDA1;ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM;Lo;0;R;<final> 062A 062E 064A;;;;N;;;;;
+FDA2;ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 062A 062E 0649;;;;N;;;;;
+FDA3;ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM;Lo;0;R;<final> 062A 0645 064A;;;;N;;;;;
+FDA4;ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 062A 0645 0649;;;;N;;;;;
+FDA5;ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM;Lo;0;R;<final> 062C 0645 064A;;;;N;;;;;
+FDA6;ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 062C 062D 0649;;;;N;;;;;
+FDA7;ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 062C 0645 0649;;;;N;;;;;
+FDA8;ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 0633 062E 0649;;;;N;;;;;
+FDA9;ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM;Lo;0;R;<final> 0635 062D 064A;;;;N;;;;;
+FDAA;ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM;Lo;0;R;<final> 0634 062D 064A;;;;N;;;;;
+FDAB;ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM;Lo;0;R;<final> 0636 062D 064A;;;;N;;;;;
+FDAC;ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM;Lo;0;R;<final> 0644 062C 064A;;;;N;;;;;
+FDAD;ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM;Lo;0;R;<final> 0644 0645 064A;;;;N;;;;;
+FDAE;ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM;Lo;0;R;<final> 064A 062D 064A;;;;N;;;;;
+FDAF;ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM;Lo;0;R;<final> 064A 062C 064A;;;;N;;;;;
+FDB0;ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM;Lo;0;R;<final> 064A 0645 064A;;;;N;;;;;
+FDB1;ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM;Lo;0;R;<final> 0645 0645 064A;;;;N;;;;;
+FDB2;ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM;Lo;0;R;<final> 0642 0645 064A;;;;N;;;;;
+FDB3;ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM;Lo;0;R;<final> 0646 062D 064A;;;;N;;;;;
+FDB4;ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM;Lo;0;R;<initial> 0642 0645 062D;;;;N;;;;;
+FDB5;ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0644 062D 0645;;;;N;;;;;
+FDB6;ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM;Lo;0;R;<final> 0639 0645 064A;;;;N;;;;;
+FDB7;ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM;Lo;0;R;<final> 0643 0645 064A;;;;N;;;;;
+FDB8;ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM;Lo;0;R;<initial> 0646 062C 062D;;;;N;;;;;
+FDB9;ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM;Lo;0;R;<final> 0645 062E 064A;;;;N;;;;;
+FDBA;ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0644 062C 0645;;;;N;;;;;
+FDBB;ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM;Lo;0;R;<final> 0643 0645 0645;;;;N;;;;;
+FDBC;ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM;Lo;0;R;<final> 0644 062C 0645;;;;N;;;;;
+FDBD;ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM;Lo;0;R;<final> 0646 062C 062D;;;;N;;;;;
+FDBE;ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM;Lo;0;R;<final> 062C 062D 064A;;;;N;;;;;
+FDBF;ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM;Lo;0;R;<final> 062D 062C 064A;;;;N;;;;;
+FDC0;ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM;Lo;0;R;<final> 0645 062C 064A;;;;N;;;;;
+FDC1;ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM;Lo;0;R;<final> 0641 0645 064A;;;;N;;;;;
+FDC2;ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM;Lo;0;R;<final> 0628 062D 064A;;;;N;;;;;
+FDC3;ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0643 0645 0645;;;;N;;;;;
+FDC4;ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0639 062C 0645;;;;N;;;;;
+FDC5;ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM;Lo;0;R;<initial> 0635 0645 0645;;;;N;;;;;
+FDC6;ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM;Lo;0;R;<final> 0633 062E 064A;;;;N;;;;;
+FDC7;ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM;Lo;0;R;<final> 0646 062C 064A;;;;N;;;;;
+FDF0;ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM;Lo;0;R;<isolated> 0635 0644 06D2;;;;N;;;;;
+FDF1;ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM;Lo;0;R;<isolated> 0642 0644 06D2;;;;N;;;;;
+FDF2;ARABIC LIGATURE ALLAH ISOLATED FORM;Lo;0;R;<isolated> 0627 0644 0644 0647;;;;N;;;;;
+FDF3;ARABIC LIGATURE AKBAR ISOLATED FORM;Lo;0;R;<isolated> 0627 0643 0628 0631;;;;N;;;;;
+FDF4;ARABIC LIGATURE MOHAMMAD ISOLATED FORM;Lo;0;R;<isolated> 0645 062D 0645 062F;;;;N;;;;;
+FDF5;ARABIC LIGATURE SALAM ISOLATED FORM;Lo;0;R;<isolated> 0635 0644 0639 0645;;;;N;;;;;
+FDF6;ARABIC LIGATURE RASOUL ISOLATED FORM;Lo;0;R;<isolated> 0631 0633 0648 0644;;;;N;;;;;
+FDF7;ARABIC LIGATURE ALAYHE ISOLATED FORM;Lo;0;R;<isolated> 0639 0644 064A 0647;;;;N;;;;;
+FDF8;ARABIC LIGATURE WASALLAM ISOLATED FORM;Lo;0;R;<isolated> 0648 0633 0644 0645;;;;N;;;;;
+FDF9;ARABIC LIGATURE SALLA ISOLATED FORM;Lo;0;R;<isolated> 0635 0644 0649;;;;N;;;;;
+FDFA;ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM;Lo;0;R;<isolated> 0635 0644 0649 0020 0627 0644 0644 0647 0020 0639 0644 064A 0647 0020 0648 0633 0644 0645;;;;N;ARABIC LETTER SALLALLAHOU ALAYHE WASALLAM;;;;
+FDFB;ARABIC LIGATURE JALLAJALALOUHOU;Lo;0;R;<isolated> 062C 0644 0020 062C 0644 0627 0644 0647;;;;N;ARABIC LETTER JALLAJALALOUHOU;;;;
+FE20;COMBINING LIGATURE LEFT HALF;Mn;230;ON;;;;;N;;;;;
+FE21;COMBINING LIGATURE RIGHT HALF;Mn;230;ON;;;;;N;;;;;
+FE22;COMBINING DOUBLE TILDE LEFT HALF;Mn;230;ON;;;;;N;;;;;
+FE23;COMBINING DOUBLE TILDE RIGHT HALF;Mn;230;ON;;;;;N;;;;;
+FE30;PRESENTATION FORM FOR VERTICAL TWO DOT LEADER;Po;0;ON;<vertical> 2025;;;;N;GLYPH FOR VERTICAL TWO DOT LEADER;;;;
+FE31;PRESENTATION FORM FOR VERTICAL EM DASH;Pd;0;ON;<vertical> 2014;;;;N;GLYPH FOR VERTICAL EM DASH;;;;
+FE32;PRESENTATION FORM FOR VERTICAL EN DASH;Pd;0;ON;<vertical> 2013;;;;N;GLYPH FOR VERTICAL EN DASH;;;;
+FE33;PRESENTATION FORM FOR VERTICAL LOW LINE;Pc;0;ON;<vertical> 005F;;;;N;GLYPH FOR VERTICAL SPACING UNDERSCORE;;;;
+FE34;PRESENTATION FORM FOR VERTICAL WAVY LOW LINE;Pc;0;ON;<vertical> 005F;;;;N;GLYPH FOR VERTICAL SPACING WAVY UNDERSCORE;;;;
+FE35;PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS;Ps;0;ON;<vertical> 0028;;;;N;GLYPH FOR VERTICAL OPENING PARENTHESIS;;;;
+FE36;PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS;Pe;0;ON;<vertical> 0029;;;;N;GLYPH FOR VERTICAL CLOSING PARENTHESIS;;;;
+FE37;PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET;Ps;0;ON;<vertical> 007B;;;;N;GLYPH FOR VERTICAL OPENING CURLY BRACKET;;;;
+FE38;PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET;Pe;0;ON;<vertical> 007D;;;;N;GLYPH FOR VERTICAL CLOSING CURLY BRACKET;;;;
+FE39;PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET;Ps;0;ON;<vertical> 3014;;;;N;GLYPH FOR VERTICAL OPENING TORTOISE SHELL BRACKET;;;;
+FE3A;PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET;Pe;0;ON;<vertical> 3015;;;;N;GLYPH FOR VERTICAL CLOSING TORTOISE SHELL BRACKET;;;;
+FE3B;PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET;Ps;0;ON;<vertical> 3010;;;;N;GLYPH FOR VERTICAL OPENING BLACK LENTICULAR BRACKET;;;;
+FE3C;PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET;Pe;0;ON;<vertical> 3011;;;;N;GLYPH FOR VERTICAL CLOSING BLACK LENTICULAR BRACKET;;;;
+FE3D;PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET;Ps;0;ON;<vertical> 300A;;;;N;GLYPH FOR VERTICAL OPENING DOUBLE ANGLE BRACKET;;;;
+FE3E;PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET;Pe;0;ON;<vertical> 300B;;;;N;GLYPH FOR VERTICAL CLOSING DOUBLE ANGLE BRACKET;;;;
+FE3F;PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET;Ps;0;ON;<vertical> 3008;;;;N;GLYPH FOR VERTICAL OPENING ANGLE BRACKET;;;;
+FE40;PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET;Pe;0;ON;<vertical> 3009;;;;N;GLYPH FOR VERTICAL CLOSING ANGLE BRACKET;;;;
+FE41;PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET;Ps;0;ON;<vertical> 300C;;;;N;GLYPH FOR VERTICAL OPENING CORNER BRACKET;;;;
+FE42;PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET;Pe;0;ON;<vertical> 300D;;;;N;GLYPH FOR VERTICAL CLOSING CORNER BRACKET;;;;
+FE43;PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET;Ps;0;ON;<vertical> 300E;;;;N;GLYPH FOR VERTICAL OPENING WHITE CORNER BRACKET;;;;
+FE44;PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET;Pe;0;ON;<vertical> 300F;;;;N;GLYPH FOR VERTICAL CLOSING WHITE CORNER BRACKET;;;;
+FE49;DASHED OVERLINE;Po;0;ON;<compat> 203E;;;;N;SPACING DASHED OVERSCORE;;;;
+FE4A;CENTRELINE OVERLINE;Po;0;ON;<compat> 203E;;;;N;SPACING CENTERLINE OVERSCORE;;;;
+FE4B;WAVY OVERLINE;Po;0;ON;<compat> 203E;;;;N;SPACING WAVY OVERSCORE;;;;
+FE4C;DOUBLE WAVY OVERLINE;Po;0;ON;<compat> 203E;;;;N;SPACING DOUBLE WAVY OVERSCORE;;;;
+FE4D;DASHED LOW LINE;Pc;0;ON;<compat> 005F;;;;N;SPACING DASHED UNDERSCORE;;;;
+FE4E;CENTRELINE LOW LINE;Pc;0;ON;<compat> 005F;;;;N;SPACING CENTERLINE UNDERSCORE;;;;
+FE4F;WAVY LOW LINE;Pc;0;ON;<compat> 005F;;;;N;SPACING WAVY UNDERSCORE;;;;
+FE50;SMALL COMMA;Po;0;ON;<small> 002C;;;;N;;;;;
+FE51;SMALL IDEOGRAPHIC COMMA;Po;0;ON;<small> 3001;;;;N;;;;;
+FE52;SMALL FULL STOP;Po;0;ON;<small> 002E;;;;N;SMALL PERIOD;;;;
+FE54;SMALL SEMICOLON;Po;0;ON;<small> 003B;;;;N;;;;;
+FE55;SMALL COLON;Po;0;ON;<small> 003A;;;;N;;;;;
+FE56;SMALL QUESTION MARK;Po;0;ON;<small> 003F;;;;N;;;;;
+FE57;SMALL EXCLAMATION MARK;Po;0;ON;<small> 0021;;;;N;;;;;
+FE58;SMALL EM DASH;Pd;0;ON;<small> 2014;;;;N;;;;;
+FE59;SMALL LEFT PARENTHESIS;Ps;0;ON;<small> 0028;;;;N;SMALL OPENING PARENTHESIS;;;;
+FE5A;SMALL RIGHT PARENTHESIS;Pe;0;ON;<small> 0029;;;;N;SMALL CLOSING PARENTHESIS;;;;
+FE5B;SMALL LEFT CURLY BRACKET;Ps;0;ON;<small> 007B;;;;N;SMALL OPENING CURLY BRACKET;;;;
+FE5C;SMALL RIGHT CURLY BRACKET;Pe;0;ON;<small> 007D;;;;N;SMALL CLOSING CURLY BRACKET;;;;
+FE5D;SMALL LEFT TORTOISE SHELL BRACKET;Ps;0;ON;<small> 3014;;;;N;SMALL OPENING TORTOISE SHELL BRACKET;;;;
+FE5E;SMALL RIGHT TORTOISE SHELL BRACKET;Pe;0;ON;<small> 3015;;;;N;SMALL CLOSING TORTOISE SHELL BRACKET;;;;
+FE5F;SMALL NUMBER SIGN;Po;0;ON;<small> 0023;;;;N;;;;;
+FE60;SMALL AMPERSAND;Po;0;ON;<small> 0026;;;;N;;;;;
+FE61;SMALL ASTERISK;Po;0;ON;<small> 002A;;;;N;;;;;
+FE62;SMALL PLUS SIGN;Sm;0;ON;<small> 002B;;;;N;;;;;
+FE63;SMALL HYPHEN-MINUS;Pd;0;ON;<small> 002D;;;;N;;;;;
+FE64;SMALL LESS-THAN SIGN;Sm;0;ON;<small> 003C;;;;N;;;;;
+FE65;SMALL GREATER-THAN SIGN;Sm;0;ON;<small> 003E;;;;N;;;;;
+FE66;SMALL EQUALS SIGN;Sm;0;ON;<small> 003D;;;;N;;;;;
+FE68;SMALL REVERSE SOLIDUS;Po;0;ON;<small> 005C;;;;N;SMALL BACKSLASH;;;;
+FE69;SMALL DOLLAR SIGN;Sc;0;ON;<small> 0024;;;;N;;;;;
+FE6A;SMALL PERCENT SIGN;Po;0;ON;<small> 0025;;;;N;;;;;
+FE6B;SMALL COMMERCIAL AT;Po;0;ON;<small> 0040;;;;N;;;;;
+FE70;ARABIC FATHATAN ISOLATED FORM;Lo;0;R;<isolated> 0020 064B;;;;N;ARABIC SPACING FATHATAN;;;;
+FE71;ARABIC TATWEEL WITH FATHATAN ABOVE;Lo;0;R;<medial> 0640 064B;;;;N;ARABIC FATHATAN ON TATWEEL;;;;
+FE72;ARABIC DAMMATAN ISOLATED FORM;Lo;0;R;<isolated> 0020 064C;;;;N;ARABIC SPACING DAMMATAN;;;;
+FE74;ARABIC KASRATAN ISOLATED FORM;Lo;0;R;<isolated> 0020 064D;;;;N;ARABIC SPACING KASRATAN;;;;
+FE76;ARABIC FATHA ISOLATED FORM;Lo;0;R;<isolated> 0020 064E;;;;N;ARABIC SPACING FATHAH;;;;
+FE77;ARABIC FATHA MEDIAL FORM;Lo;0;R;<medial> 0640 064E;;;;N;ARABIC FATHAH ON TATWEEL;;;;
+FE78;ARABIC DAMMA ISOLATED FORM;Lo;0;R;<isolated> 0020 064F;;;;N;ARABIC SPACING DAMMAH;;;;
+FE79;ARABIC DAMMA MEDIAL FORM;Lo;0;R;<medial> 0640 064F;;;;N;ARABIC DAMMAH ON TATWEEL;;;;
+FE7A;ARABIC KASRA ISOLATED FORM;Lo;0;R;<isolated> 0020 0650;;;;N;ARABIC SPACING KASRAH;;;;
+FE7B;ARABIC KASRA MEDIAL FORM;Lo;0;R;<medial> 0640 0650;;;;N;ARABIC KASRAH ON TATWEEL;;;;
+FE7C;ARABIC SHADDA ISOLATED FORM;Lo;0;R;<isolated> 0020 0651;;;;N;ARABIC SPACING SHADDAH;;;;
+FE7D;ARABIC SHADDA MEDIAL FORM;Lo;0;R;<medial> 0640 0651;;;;N;ARABIC SHADDAH ON TATWEEL;;;;
+FE7E;ARABIC SUKUN ISOLATED FORM;Lo;0;R;<isolated> 0020 0652;;;;N;ARABIC SPACING SUKUN;;;;
+FE7F;ARABIC SUKUN MEDIAL FORM;Lo;0;R;<medial> 0640 0652;;;;N;ARABIC SUKUN ON TATWEEL;;;;
+FE80;ARABIC LETTER HAMZA ISOLATED FORM;Lo;0;R;<isolated> 0621;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH;;;;
+FE81;ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM;Lo;0;R;<isolated> 0622;;;;N;GLYPH FOR ISOLATE ARABIC MADDAH ON ALEF;;;;
+FE82;ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM;Lo;0;R;<final> 0622;;;;N;GLYPH FOR FINAL ARABIC MADDAH ON ALEF;;;;
+FE83;ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM;Lo;0;R;<isolated> 0623;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON ALEF;;;;
+FE84;ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM;Lo;0;R;<final> 0623;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON ALEF;;;;
+FE85;ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM;Lo;0;R;<isolated> 0624;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON WAW;;;;
+FE86;ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM;Lo;0;R;<final> 0624;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON WAW;;;;
+FE87;ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM;Lo;0;R;<isolated> 0625;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH UNDER ALEF;;;;
+FE88;ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM;Lo;0;R;<final> 0625;;;;N;GLYPH FOR FINAL ARABIC HAMZAH UNDER ALEF;;;;
+FE89;ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM;Lo;0;R;<isolated> 0626;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON YA;;;;
+FE8A;ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM;Lo;0;R;<final> 0626;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON YA;;;;
+FE8B;ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM;Lo;0;R;<initial> 0626;;;;N;GLYPH FOR INITIAL ARABIC HAMZAH ON YA;;;;
+FE8C;ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM;Lo;0;R;<medial> 0626;;;;N;GLYPH FOR MEDIAL ARABIC HAMZAH ON YA;;;;
+FE8D;ARABIC LETTER ALEF ISOLATED FORM;Lo;0;R;<isolated> 0627;;;;N;GLYPH FOR ISOLATE ARABIC ALEF;;;;
+FE8E;ARABIC LETTER ALEF FINAL FORM;Lo;0;R;<final> 0627;;;;N;GLYPH FOR FINAL ARABIC ALEF;;;;
+FE8F;ARABIC LETTER BEH ISOLATED FORM;Lo;0;R;<isolated> 0628;;;;N;GLYPH FOR ISOLATE ARABIC BAA;;;;
+FE90;ARABIC LETTER BEH FINAL FORM;Lo;0;R;<final> 0628;;;;N;GLYPH FOR FINAL ARABIC BAA;;;;
+FE91;ARABIC LETTER BEH INITIAL FORM;Lo;0;R;<initial> 0628;;;;N;GLYPH FOR INITIAL ARABIC BAA;;;;
+FE92;ARABIC LETTER BEH MEDIAL FORM;Lo;0;R;<medial> 0628;;;;N;GLYPH FOR MEDIAL ARABIC BAA;;;;
+FE93;ARABIC LETTER TEH MARBUTA ISOLATED FORM;Lo;0;R;<isolated> 0629;;;;N;GLYPH FOR ISOLATE ARABIC TAA MARBUTAH;;;;
+FE94;ARABIC LETTER TEH MARBUTA FINAL FORM;Lo;0;R;<final> 0629;;;;N;GLYPH FOR FINAL ARABIC TAA MARBUTAH;;;;
+FE95;ARABIC LETTER TEH ISOLATED FORM;Lo;0;R;<isolated> 062A;;;;N;GLYPH FOR ISOLATE ARABIC TAA;;;;
+FE96;ARABIC LETTER TEH FINAL FORM;Lo;0;R;<final> 062A;;;;N;GLYPH FOR FINAL ARABIC TAA;;;;
+FE97;ARABIC LETTER TEH INITIAL FORM;Lo;0;R;<initial> 062A;;;;N;GLYPH FOR INITIAL ARABIC TAA;;;;
+FE98;ARABIC LETTER TEH MEDIAL FORM;Lo;0;R;<medial> 062A;;;;N;GLYPH FOR MEDIAL ARABIC TAA;;;;
+FE99;ARABIC LETTER THEH ISOLATED FORM;Lo;0;R;<isolated> 062B;;;;N;GLYPH FOR ISOLATE ARABIC THAA;;;;
+FE9A;ARABIC LETTER THEH FINAL FORM;Lo;0;R;<final> 062B;;;;N;GLYPH FOR FINAL ARABIC THAA;;;;
+FE9B;ARABIC LETTER THEH INITIAL FORM;Lo;0;R;<initial> 062B;;;;N;GLYPH FOR INITIAL ARABIC THAA;;;;
+FE9C;ARABIC LETTER THEH MEDIAL FORM;Lo;0;R;<medial> 062B;;;;N;GLYPH FOR MEDIAL ARABIC THAA;;;;
+FE9D;ARABIC LETTER JEEM ISOLATED FORM;Lo;0;R;<isolated> 062C;;;;N;GLYPH FOR ISOLATE ARABIC JEEM;;;;
+FE9E;ARABIC LETTER JEEM FINAL FORM;Lo;0;R;<final> 062C;;;;N;GLYPH FOR FINAL ARABIC JEEM;;;;
+FE9F;ARABIC LETTER JEEM INITIAL FORM;Lo;0;R;<initial> 062C;;;;N;GLYPH FOR INITIAL ARABIC JEEM;;;;
+FEA0;ARABIC LETTER JEEM MEDIAL FORM;Lo;0;R;<medial> 062C;;;;N;GLYPH FOR MEDIAL ARABIC JEEM;;;;
+FEA1;ARABIC LETTER HAH ISOLATED FORM;Lo;0;R;<isolated> 062D;;;;N;GLYPH FOR ISOLATE ARABIC HAA;;;;
+FEA2;ARABIC LETTER HAH FINAL FORM;Lo;0;R;<final> 062D;;;;N;GLYPH FOR FINAL ARABIC HAA;;;;
+FEA3;ARABIC LETTER HAH INITIAL FORM;Lo;0;R;<initial> 062D;;;;N;GLYPH FOR INITIAL ARABIC HAA;;;;
+FEA4;ARABIC LETTER HAH MEDIAL FORM;Lo;0;R;<medial> 062D;;;;N;GLYPH FOR MEDIAL ARABIC HAA;;;;
+FEA5;ARABIC LETTER KHAH ISOLATED FORM;Lo;0;R;<isolated> 062E;;;;N;GLYPH FOR ISOLATE ARABIC KHAA;;;;
+FEA6;ARABIC LETTER KHAH FINAL FORM;Lo;0;R;<final> 062E;;;;N;GLYPH FOR FINAL ARABIC KHAA;;;;
+FEA7;ARABIC LETTER KHAH INITIAL FORM;Lo;0;R;<initial> 062E;;;;N;GLYPH FOR INITIAL ARABIC KHAA;;;;
+FEA8;ARABIC LETTER KHAH MEDIAL FORM;Lo;0;R;<medial> 062E;;;;N;GLYPH FOR MEDIAL ARABIC KHAA;;;;
+FEA9;ARABIC LETTER DAL ISOLATED FORM;Lo;0;R;<isolated> 062F;;;;N;GLYPH FOR ISOLATE ARABIC DAL;;;;
+FEAA;ARABIC LETTER DAL FINAL FORM;Lo;0;R;<final> 062F;;;;N;GLYPH FOR FINAL ARABIC DAL;;;;
+FEAB;ARABIC LETTER THAL ISOLATED FORM;Lo;0;R;<isolated> 0630;;;;N;GLYPH FOR ISOLATE ARABIC THAL;;;;
+FEAC;ARABIC LETTER THAL FINAL FORM;Lo;0;R;<final> 0630;;;;N;GLYPH FOR FINAL ARABIC THAL;;;;
+FEAD;ARABIC LETTER REH ISOLATED FORM;Lo;0;R;<isolated> 0631;;;;N;GLYPH FOR ISOLATE ARABIC RA;;;;
+FEAE;ARABIC LETTER REH FINAL FORM;Lo;0;R;<final> 0631;;;;N;GLYPH FOR FINAL ARABIC RA;;;;
+FEAF;ARABIC LETTER ZAIN ISOLATED FORM;Lo;0;R;<isolated> 0632;;;;N;GLYPH FOR ISOLATE ARABIC ZAIN;;;;
+FEB0;ARABIC LETTER ZAIN FINAL FORM;Lo;0;R;<final> 0632;;;;N;GLYPH FOR FINAL ARABIC ZAIN;;;;
+FEB1;ARABIC LETTER SEEN ISOLATED FORM;Lo;0;R;<isolated> 0633;;;;N;GLYPH FOR ISOLATE ARABIC SEEN;;;;
+FEB2;ARABIC LETTER SEEN FINAL FORM;Lo;0;R;<final> 0633;;;;N;GLYPH FOR FINAL ARABIC SEEN;;;;
+FEB3;ARABIC LETTER SEEN INITIAL FORM;Lo;0;R;<initial> 0633;;;;N;GLYPH FOR INITIAL ARABIC SEEN;;;;
+FEB4;ARABIC LETTER SEEN MEDIAL FORM;Lo;0;R;<medial> 0633;;;;N;GLYPH FOR MEDIAL ARABIC SEEN;;;;
+FEB5;ARABIC LETTER SHEEN ISOLATED FORM;Lo;0;R;<isolated> 0634;;;;N;GLYPH FOR ISOLATE ARABIC SHEEN;;;;
+FEB6;ARABIC LETTER SHEEN FINAL FORM;Lo;0;R;<final> 0634;;;;N;GLYPH FOR FINAL ARABIC SHEEN;;;;
+FEB7;ARABIC LETTER SHEEN INITIAL FORM;Lo;0;R;<initial> 0634;;;;N;GLYPH FOR INITIAL ARABIC SHEEN;;;;
+FEB8;ARABIC LETTER SHEEN MEDIAL FORM;Lo;0;R;<medial> 0634;;;;N;GLYPH FOR MEDIAL ARABIC SHEEN;;;;
+FEB9;ARABIC LETTER SAD ISOLATED FORM;Lo;0;R;<isolated> 0635;;;;N;GLYPH FOR ISOLATE ARABIC SAD;;;;
+FEBA;ARABIC LETTER SAD FINAL FORM;Lo;0;R;<final> 0635;;;;N;GLYPH FOR FINAL ARABIC SAD;;;;
+FEBB;ARABIC LETTER SAD INITIAL FORM;Lo;0;R;<initial> 0635;;;;N;GLYPH FOR INITIAL ARABIC SAD;;;;
+FEBC;ARABIC LETTER SAD MEDIAL FORM;Lo;0;R;<medial> 0635;;;;N;GLYPH FOR MEDIAL ARABIC SAD;;;;
+FEBD;ARABIC LETTER DAD ISOLATED FORM;Lo;0;R;<isolated> 0636;;;;N;GLYPH FOR ISOLATE ARABIC DAD;;;;
+FEBE;ARABIC LETTER DAD FINAL FORM;Lo;0;R;<final> 0636;;;;N;GLYPH FOR FINAL ARABIC DAD;;;;
+FEBF;ARABIC LETTER DAD INITIAL FORM;Lo;0;R;<initial> 0636;;;;N;GLYPH FOR INITIAL ARABIC DAD;;;;
+FEC0;ARABIC LETTER DAD MEDIAL FORM;Lo;0;R;<medial> 0636;;;;N;GLYPH FOR MEDIAL ARABIC DAD;;;;
+FEC1;ARABIC LETTER TAH ISOLATED FORM;Lo;0;R;<isolated> 0637;;;;N;GLYPH FOR ISOLATE ARABIC TAH;;;;
+FEC2;ARABIC LETTER TAH FINAL FORM;Lo;0;R;<final> 0637;;;;N;GLYPH FOR FINAL ARABIC TAH;;;;
+FEC3;ARABIC LETTER TAH INITIAL FORM;Lo;0;R;<initial> 0637;;;;N;GLYPH FOR INITIAL ARABIC TAH;;;;
+FEC4;ARABIC LETTER TAH MEDIAL FORM;Lo;0;R;<medial> 0637;;;;N;GLYPH FOR MEDIAL ARABIC TAH;;;;
+FEC5;ARABIC LETTER ZAH ISOLATED FORM;Lo;0;R;<isolated> 0638;;;;N;GLYPH FOR ISOLATE ARABIC DHAH;;;;
+FEC6;ARABIC LETTER ZAH FINAL FORM;Lo;0;R;<final> 0638;;;;N;GLYPH FOR FINAL ARABIC DHAH;;;;
+FEC7;ARABIC LETTER ZAH INITIAL FORM;Lo;0;R;<initial> 0638;;;;N;GLYPH FOR INITIAL ARABIC DHAH;;;;
+FEC8;ARABIC LETTER ZAH MEDIAL FORM;Lo;0;R;<medial> 0638;;;;N;GLYPH FOR MEDIAL ARABIC DHAH;;;;
+FEC9;ARABIC LETTER AIN ISOLATED FORM;Lo;0;R;<isolated> 0639;;;;N;GLYPH FOR ISOLATE ARABIC AIN;;;;
+FECA;ARABIC LETTER AIN FINAL FORM;Lo;0;R;<final> 0639;;;;N;GLYPH FOR FINAL ARABIC AIN;;;;
+FECB;ARABIC LETTER AIN INITIAL FORM;Lo;0;R;<initial> 0639;;;;N;GLYPH FOR INITIAL ARABIC AIN;;;;
+FECC;ARABIC LETTER AIN MEDIAL FORM;Lo;0;R;<medial> 0639;;;;N;GLYPH FOR MEDIAL ARABIC AIN;;;;
+FECD;ARABIC LETTER GHAIN ISOLATED FORM;Lo;0;R;<isolated> 063A;;;;N;GLYPH FOR ISOLATE ARABIC GHAIN;;;;
+FECE;ARABIC LETTER GHAIN FINAL FORM;Lo;0;R;<final> 063A;;;;N;GLYPH FOR FINAL ARABIC GHAIN;;;;
+FECF;ARABIC LETTER GHAIN INITIAL FORM;Lo;0;R;<initial> 063A;;;;N;GLYPH FOR INITIAL ARABIC GHAIN;;;;
+FED0;ARABIC LETTER GHAIN MEDIAL FORM;Lo;0;R;<medial> 063A;;;;N;GLYPH FOR MEDIAL ARABIC GHAIN;;;;
+FED1;ARABIC LETTER FEH ISOLATED FORM;Lo;0;R;<isolated> 0641;;;;N;GLYPH FOR ISOLATE ARABIC FA;;;;
+FED2;ARABIC LETTER FEH FINAL FORM;Lo;0;R;<final> 0641;;;;N;GLYPH FOR FINAL ARABIC FA;;;;
+FED3;ARABIC LETTER FEH INITIAL FORM;Lo;0;R;<initial> 0641;;;;N;GLYPH FOR INITIAL ARABIC FA;;;;
+FED4;ARABIC LETTER FEH MEDIAL FORM;Lo;0;R;<medial> 0641;;;;N;GLYPH FOR MEDIAL ARABIC FA;;;;
+FED5;ARABIC LETTER QAF ISOLATED FORM;Lo;0;R;<isolated> 0642;;;;N;GLYPH FOR ISOLATE ARABIC QAF;;;;
+FED6;ARABIC LETTER QAF FINAL FORM;Lo;0;R;<final> 0642;;;;N;GLYPH FOR FINAL ARABIC QAF;;;;
+FED7;ARABIC LETTER QAF INITIAL FORM;Lo;0;R;<initial> 0642;;;;N;GLYPH FOR INITIAL ARABIC QAF;;;;
+FED8;ARABIC LETTER QAF MEDIAL FORM;Lo;0;R;<medial> 0642;;;;N;GLYPH FOR MEDIAL ARABIC QAF;;;;
+FED9;ARABIC LETTER KAF ISOLATED FORM;Lo;0;R;<isolated> 0643;;;;N;GLYPH FOR ISOLATE ARABIC CAF;;;;
+FEDA;ARABIC LETTER KAF FINAL FORM;Lo;0;R;<final> 0643;;;;N;GLYPH FOR FINAL ARABIC CAF;;;;
+FEDB;ARABIC LETTER KAF INITIAL FORM;Lo;0;R;<initial> 0643;;;;N;GLYPH FOR INITIAL ARABIC CAF;;;;
+FEDC;ARABIC LETTER KAF MEDIAL FORM;Lo;0;R;<medial> 0643;;;;N;GLYPH FOR MEDIAL ARABIC CAF;;;;
+FEDD;ARABIC LETTER LAM ISOLATED FORM;Lo;0;R;<isolated> 0644;;;;N;GLYPH FOR ISOLATE ARABIC LAM;;;;
+FEDE;ARABIC LETTER LAM FINAL FORM;Lo;0;R;<final> 0644;;;;N;GLYPH FOR FINAL ARABIC LAM;;;;
+FEDF;ARABIC LETTER LAM INITIAL FORM;Lo;0;R;<initial> 0644;;;;N;GLYPH FOR INITIAL ARABIC LAM;;;;
+FEE0;ARABIC LETTER LAM MEDIAL FORM;Lo;0;R;<medial> 0644;;;;N;GLYPH FOR MEDIAL ARABIC LAM;;;;
+FEE1;ARABIC LETTER MEEM ISOLATED FORM;Lo;0;R;<isolated> 0645;;;;N;GLYPH FOR ISOLATE ARABIC MEEM;;;;
+FEE2;ARABIC LETTER MEEM FINAL FORM;Lo;0;R;<final> 0645;;;;N;GLYPH FOR FINAL ARABIC MEEM;;;;
+FEE3;ARABIC LETTER MEEM INITIAL FORM;Lo;0;R;<initial> 0645;;;;N;GLYPH FOR INITIAL ARABIC MEEM;;;;
+FEE4;ARABIC LETTER MEEM MEDIAL FORM;Lo;0;R;<medial> 0645;;;;N;GLYPH FOR MEDIAL ARABIC MEEM;;;;
+FEE5;ARABIC LETTER NOON ISOLATED FORM;Lo;0;R;<isolated> 0646;;;;N;GLYPH FOR ISOLATE ARABIC NOON;;;;
+FEE6;ARABIC LETTER NOON FINAL FORM;Lo;0;R;<final> 0646;;;;N;GLYPH FOR FINAL ARABIC NOON;;;;
+FEE7;ARABIC LETTER NOON INITIAL FORM;Lo;0;R;<initial> 0646;;;;N;GLYPH FOR INITIAL ARABIC NOON;;;;
+FEE8;ARABIC LETTER NOON MEDIAL FORM;Lo;0;R;<medial> 0646;;;;N;GLYPH FOR MEDIAL ARABIC NOON;;;;
+FEE9;ARABIC LETTER HEH ISOLATED FORM;Lo;0;R;<isolated> 0647;;;;N;GLYPH FOR ISOLATE ARABIC HA;;;;
+FEEA;ARABIC LETTER HEH FINAL FORM;Lo;0;R;<final> 0647;;;;N;GLYPH FOR FINAL ARABIC HA;;;;
+FEEB;ARABIC LETTER HEH INITIAL FORM;Lo;0;R;<initial> 0647;;;;N;GLYPH FOR INITIAL ARABIC HA;;;;
+FEEC;ARABIC LETTER HEH MEDIAL FORM;Lo;0;R;<medial> 0647;;;;N;GLYPH FOR MEDIAL ARABIC HA;;;;
+FEED;ARABIC LETTER WAW ISOLATED FORM;Lo;0;R;<isolated> 0648;;;;N;GLYPH FOR ISOLATE ARABIC WAW;;;;
+FEEE;ARABIC LETTER WAW FINAL FORM;Lo;0;R;<final> 0648;;;;N;GLYPH FOR FINAL ARABIC WAW;;;;
+FEEF;ARABIC LETTER ALEF MAKSURA ISOLATED FORM;Lo;0;R;<isolated> 0649;;;;N;GLYPH FOR ISOLATE ARABIC ALEF MAQSURAH;;;;
+FEF0;ARABIC LETTER ALEF MAKSURA FINAL FORM;Lo;0;R;<final> 0649;;;;N;GLYPH FOR FINAL ARABIC ALEF MAQSURAH;;;;
+FEF1;ARABIC LETTER YEH ISOLATED FORM;Lo;0;R;<isolated> 064A;;;;N;GLYPH FOR ISOLATE ARABIC YA;;;;
+FEF2;ARABIC LETTER YEH FINAL FORM;Lo;0;R;<final> 064A;;;;N;GLYPH FOR FINAL ARABIC YA;;;;
+FEF3;ARABIC LETTER YEH INITIAL FORM;Lo;0;R;<initial> 064A;;;;N;GLYPH FOR INITIAL ARABIC YA;;;;
+FEF4;ARABIC LETTER YEH MEDIAL FORM;Lo;0;R;<medial> 064A;;;;N;GLYPH FOR MEDIAL ARABIC YA;;;;
+FEF5;ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM;Lo;0;R;<isolated> 0644 0622;;;;N;GLYPH FOR ISOLATE ARABIC MADDAH ON LIGATURE LAM ALEF;;;;
+FEF6;ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM;Lo;0;R;<final> 0644 0622;;;;N;GLYPH FOR FINAL ARABIC MADDAH ON LIGATURE LAM ALEF;;;;
+FEF7;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM;Lo;0;R;<isolated> 0644 0623;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON LIGATURE LAM ALEF;;;;
+FEF8;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM;Lo;0;R;<final> 0644 0623;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON LIGATURE LAM ALEF;;;;
+FEF9;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM;Lo;0;R;<isolated> 0644 0625;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH UNDER LIGATURE LAM ALEF;;;;
+FEFA;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM;Lo;0;R;<final> 0644 0625;;;;N;GLYPH FOR FINAL ARABIC HAMZAH UNDER LIGATURE LAM ALEF;;;;
+FEFB;ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM;Lo;0;R;<isolated> 0644 0627;;;;N;GLYPH FOR ISOLATE ARABIC LIGATURE LAM ALEF;;;;
+FEFC;ARABIC LIGATURE LAM WITH ALEF FINAL FORM;Lo;0;R;<final> 0644 0627;;;;N;GLYPH FOR FINAL ARABIC LIGATURE LAM ALEF;;;;
+FEFF;ZERO WIDTH NO-BREAK SPACE;Cf;0;ON;;;;;N;BYTE ORDER MARK;;;;
+FF01;FULLWIDTH EXCLAMATION MARK;Po;0;ON;<wide> 0021;;;;N;;;;;
+FF02;FULLWIDTH QUOTATION MARK;Po;0;ON;<wide> 0022;;;;N;;;;;
+FF03;FULLWIDTH NUMBER SIGN;Po;0;ON;<wide> 0023;;;;N;;;;;
+FF04;FULLWIDTH DOLLAR SIGN;Sc;0;ON;<wide> 0024;;;;N;;;;;
+FF05;FULLWIDTH PERCENT SIGN;Po;0;ON;<wide> 0025;;;;N;;;;;
+FF06;FULLWIDTH AMPERSAND;Po;0;ON;<wide> 0026;;;;N;;;;;
+FF07;FULLWIDTH APOSTROPHE;Po;0;ON;<wide> 0027;;;;N;;;;;
+FF08;FULLWIDTH LEFT PARENTHESIS;Ps;0;ON;<wide> 0028;;;;N;FULLWIDTH OPENING PARENTHESIS;;;;
+FF09;FULLWIDTH RIGHT PARENTHESIS;Pe;0;ON;<wide> 0029;;;;N;FULLWIDTH CLOSING PARENTHESIS;;;;
+FF0A;FULLWIDTH ASTERISK;Po;0;ON;<wide> 002A;;;;N;;;;;
+FF0B;FULLWIDTH PLUS SIGN;Sm;0;ON;<wide> 002B;;;;N;;;;;
+FF0C;FULLWIDTH COMMA;Po;0;ON;<wide> 002C;;;;N;;;;;
+FF0D;FULLWIDTH HYPHEN-MINUS;Pd;0;ON;<wide> 002D;;;;N;;;;;
+FF0E;FULLWIDTH FULL STOP;Po;0;ON;<wide> 002E;;;;N;FULLWIDTH PERIOD;;;;
+FF0F;FULLWIDTH SOLIDUS;Po;0;ON;<wide> 002F;;;;N;FULLWIDTH SLASH;;;;
+FF10;FULLWIDTH DIGIT ZERO;Nd;0;EN;<wide> 0030;0;0;0;N;;;;;
+FF11;FULLWIDTH DIGIT ONE;Nd;0;EN;<wide> 0031;1;1;1;N;;;;;
+FF12;FULLWIDTH DIGIT TWO;Nd;0;EN;<wide> 0032;2;2;2;N;;;;;
+FF13;FULLWIDTH DIGIT THREE;Nd;0;EN;<wide> 0033;3;3;3;N;;;;;
+FF14;FULLWIDTH DIGIT FOUR;Nd;0;EN;<wide> 0034;4;4;4;N;;;;;
+FF15;FULLWIDTH DIGIT FIVE;Nd;0;EN;<wide> 0035;5;5;5;N;;;;;
+FF16;FULLWIDTH DIGIT SIX;Nd;0;EN;<wide> 0036;6;6;6;N;;;;;
+FF17;FULLWIDTH DIGIT SEVEN;Nd;0;EN;<wide> 0037;7;7;7;N;;;;;
+FF18;FULLWIDTH DIGIT EIGHT;Nd;0;EN;<wide> 0038;8;8;8;N;;;;;
+FF19;FULLWIDTH DIGIT NINE;Nd;0;EN;<wide> 0039;9;9;9;N;;;;;
+FF1A;FULLWIDTH COLON;Po;0;ON;<wide> 003A;;;;N;;;;;
+FF1B;FULLWIDTH SEMICOLON;Po;0;ON;<wide> 003B;;;;N;;;;;
+FF1C;FULLWIDTH LESS-THAN SIGN;Sm;0;ON;<wide> 003C;;;;N;;;;;
+FF1D;FULLWIDTH EQUALS SIGN;Sm;0;ON;<wide> 003D;;;;N;;;;;
+FF1E;FULLWIDTH GREATER-THAN SIGN;Sm;0;ON;<wide> 003E;;;;N;;;;;
+FF1F;FULLWIDTH QUESTION MARK;Po;0;ON;<wide> 003F;;;;N;;;;;
+FF20;FULLWIDTH COMMERCIAL AT;Po;0;ON;<wide> 0040;;;;N;;;;;
+FF21;FULLWIDTH LATIN CAPITAL LETTER A;Lu;0;L;<wide> 0041;;;;N;;;;FF41;
+FF22;FULLWIDTH LATIN CAPITAL LETTER B;Lu;0;L;<wide> 0042;;;;N;;;;FF42;
+FF23;FULLWIDTH LATIN CAPITAL LETTER C;Lu;0;L;<wide> 0043;;;;N;;;;FF43;
+FF24;FULLWIDTH LATIN CAPITAL LETTER D;Lu;0;L;<wide> 0044;;;;N;;;;FF44;
+FF25;FULLWIDTH LATIN CAPITAL LETTER E;Lu;0;L;<wide> 0045;;;;N;;;;FF45;
+FF26;FULLWIDTH LATIN CAPITAL LETTER F;Lu;0;L;<wide> 0046;;;;N;;;;FF46;
+FF27;FULLWIDTH LATIN CAPITAL LETTER G;Lu;0;L;<wide> 0047;;;;N;;;;FF47;
+FF28;FULLWIDTH LATIN CAPITAL LETTER H;Lu;0;L;<wide> 0048;;;;N;;;;FF48;
+FF29;FULLWIDTH LATIN CAPITAL LETTER I;Lu;0;L;<wide> 0049;;;;N;;;;FF49;
+FF2A;FULLWIDTH LATIN CAPITAL LETTER J;Lu;0;L;<wide> 004A;;;;N;;;;FF4A;
+FF2B;FULLWIDTH LATIN CAPITAL LETTER K;Lu;0;L;<wide> 004B;;;;N;;;;FF4B;
+FF2C;FULLWIDTH LATIN CAPITAL LETTER L;Lu;0;L;<wide> 004C;;;;N;;;;FF4C;
+FF2D;FULLWIDTH LATIN CAPITAL LETTER M;Lu;0;L;<wide> 004D;;;;N;;;;FF4D;
+FF2E;FULLWIDTH LATIN CAPITAL LETTER N;Lu;0;L;<wide> 004E;;;;N;;;;FF4E;
+FF2F;FULLWIDTH LATIN CAPITAL LETTER O;Lu;0;L;<wide> 004F;;;;N;;;;FF4F;
+FF30;FULLWIDTH LATIN CAPITAL LETTER P;Lu;0;L;<wide> 0050;;;;N;;;;FF50;
+FF31;FULLWIDTH LATIN CAPITAL LETTER Q;Lu;0;L;<wide> 0051;;;;N;;;;FF51;
+FF32;FULLWIDTH LATIN CAPITAL LETTER R;Lu;0;L;<wide> 0052;;;;N;;;;FF52;
+FF33;FULLWIDTH LATIN CAPITAL LETTER S;Lu;0;L;<wide> 0053;;;;N;;;;FF53;
+FF34;FULLWIDTH LATIN CAPITAL LETTER T;Lu;0;L;<wide> 0054;;;;N;;;;FF54;
+FF35;FULLWIDTH LATIN CAPITAL LETTER U;Lu;0;L;<wide> 0055;;;;N;;;;FF55;
+FF36;FULLWIDTH LATIN CAPITAL LETTER V;Lu;0;L;<wide> 0056;;;;N;;;;FF56;
+FF37;FULLWIDTH LATIN CAPITAL LETTER W;Lu;0;L;<wide> 0057;;;;N;;;;FF57;
+FF38;FULLWIDTH LATIN CAPITAL LETTER X;Lu;0;L;<wide> 0058;;;;N;;;;FF58;
+FF39;FULLWIDTH LATIN CAPITAL LETTER Y;Lu;0;L;<wide> 0059;;;;N;;;;FF59;
+FF3A;FULLWIDTH LATIN CAPITAL LETTER Z;Lu;0;L;<wide> 005A;;;;N;;;;FF5A;
+FF3B;FULLWIDTH LEFT SQUARE BRACKET;Ps;0;ON;<wide> 005B;;;;N;FULLWIDTH OPENING SQUARE BRACKET;;;;
+FF3C;FULLWIDTH REVERSE SOLIDUS;Po;0;ON;<wide> 005C;;;;N;FULLWIDTH BACKSLASH;;;;
+FF3D;FULLWIDTH RIGHT SQUARE BRACKET;Pe;0;ON;<wide> 005D;;;;N;FULLWIDTH CLOSING SQUARE BRACKET;;;;
+FF3E;FULLWIDTH CIRCUMFLEX ACCENT;Sk;0;ON;<wide> 005E;;;;N;FULLWIDTH SPACING CIRCUMFLEX;;;;
+FF3F;FULLWIDTH LOW LINE;Pc;0;ON;<wide> 005F;;;;N;FULLWIDTH SPACING UNDERSCORE;;;;
+FF40;FULLWIDTH GRAVE ACCENT;Sk;0;ON;<wide> 0060;;;;N;FULLWIDTH SPACING GRAVE;;;;
+FF41;FULLWIDTH LATIN SMALL LETTER A;Ll;0;L;<wide> 0061;;;;N;;;FF21;;FF21
+FF42;FULLWIDTH LATIN SMALL LETTER B;Ll;0;L;<wide> 0062;;;;N;;;FF22;;FF22
+FF43;FULLWIDTH LATIN SMALL LETTER C;Ll;0;L;<wide> 0063;;;;N;;;FF23;;FF23
+FF44;FULLWIDTH LATIN SMALL LETTER D;Ll;0;L;<wide> 0064;;;;N;;;FF24;;FF24
+FF45;FULLWIDTH LATIN SMALL LETTER E;Ll;0;L;<wide> 0065;;;;N;;;FF25;;FF25
+FF46;FULLWIDTH LATIN SMALL LETTER F;Ll;0;L;<wide> 0066;;;;N;;;FF26;;FF26
+FF47;FULLWIDTH LATIN SMALL LETTER G;Ll;0;L;<wide> 0067;;;;N;;;FF27;;FF27
+FF48;FULLWIDTH LATIN SMALL LETTER H;Ll;0;L;<wide> 0068;;;;N;;;FF28;;FF28
+FF49;FULLWIDTH LATIN SMALL LETTER I;Ll;0;L;<wide> 0069;;;;N;;;FF29;;FF29
+FF4A;FULLWIDTH LATIN SMALL LETTER J;Ll;0;L;<wide> 006A;;;;N;;;FF2A;;FF2A
+FF4B;FULLWIDTH LATIN SMALL LETTER K;Ll;0;L;<wide> 006B;;;;N;;;FF2B;;FF2B
+FF4C;FULLWIDTH LATIN SMALL LETTER L;Ll;0;L;<wide> 006C;;;;N;;;FF2C;;FF2C
+FF4D;FULLWIDTH LATIN SMALL LETTER M;Ll;0;L;<wide> 006D;;;;N;;;FF2D;;FF2D
+FF4E;FULLWIDTH LATIN SMALL LETTER N;Ll;0;L;<wide> 006E;;;;N;;;FF2E;;FF2E
+FF4F;FULLWIDTH LATIN SMALL LETTER O;Ll;0;L;<wide> 006F;;;;N;;;FF2F;;FF2F
+FF50;FULLWIDTH LATIN SMALL LETTER P;Ll;0;L;<wide> 0070;;;;N;;;FF30;;FF30
+FF51;FULLWIDTH LATIN SMALL LETTER Q;Ll;0;L;<wide> 0071;;;;N;;;FF31;;FF31
+FF52;FULLWIDTH LATIN SMALL LETTER R;Ll;0;L;<wide> 0072;;;;N;;;FF32;;FF32
+FF53;FULLWIDTH LATIN SMALL LETTER S;Ll;0;L;<wide> 0073;;;;N;;;FF33;;FF33
+FF54;FULLWIDTH LATIN SMALL LETTER T;Ll;0;L;<wide> 0074;;;;N;;;FF34;;FF34
+FF55;FULLWIDTH LATIN SMALL LETTER U;Ll;0;L;<wide> 0075;;;;N;;;FF35;;FF35
+FF56;FULLWIDTH LATIN SMALL LETTER V;Ll;0;L;<wide> 0076;;;;N;;;FF36;;FF36
+FF57;FULLWIDTH LATIN SMALL LETTER W;Ll;0;L;<wide> 0077;;;;N;;;FF37;;FF37
+FF58;FULLWIDTH LATIN SMALL LETTER X;Ll;0;L;<wide> 0078;;;;N;;;FF38;;FF38
+FF59;FULLWIDTH LATIN SMALL LETTER Y;Ll;0;L;<wide> 0079;;;;N;;;FF39;;FF39
+FF5A;FULLWIDTH LATIN SMALL LETTER Z;Ll;0;L;<wide> 007A;;;;N;;;FF3A;;FF3A
+FF5B;FULLWIDTH LEFT CURLY BRACKET;Ps;0;ON;<wide> 007B;;;;N;FULLWIDTH OPENING CURLY BRACKET;;;;
+FF5C;FULLWIDTH VERTICAL LINE;Sm;0;ON;<wide> 007C;;;;N;FULLWIDTH VERTICAL BAR;;;;
+FF5D;FULLWIDTH RIGHT CURLY BRACKET;Pe;0;ON;<wide> 007D;;;;N;FULLWIDTH CLOSING CURLY BRACKET;;;;
+FF5E;FULLWIDTH TILDE;Sm;0;ON;<wide> 007E;;;;N;FULLWIDTH SPACING TILDE;;;;
+FF61;HALFWIDTH IDEOGRAPHIC FULL STOP;Po;0;ON;<narrow> 3002;;;;N;HALFWIDTH IDEOGRAPHIC PERIOD;;;;
+FF62;HALFWIDTH LEFT CORNER BRACKET;Ps;0;ON;<narrow> 300C;;;;N;HALFWIDTH OPENING CORNER BRACKET;;;;
+FF63;HALFWIDTH RIGHT CORNER BRACKET;Pe;0;ON;<narrow> 300D;;;;N;HALFWIDTH CLOSING CORNER BRACKET;;;;
+FF64;HALFWIDTH IDEOGRAPHIC COMMA;Po;0;ON;<narrow> 3001;;;;N;;;;;
+FF65;HALFWIDTH KATAKANA MIDDLE DOT;Po;0;L;<narrow> 30FB;;;;N;;;;;
+FF66;HALFWIDTH KATAKANA LETTER WO;Lo;0;L;<narrow> 30F2;;;;N;;;;;
+FF67;HALFWIDTH KATAKANA LETTER SMALL A;Lo;0;L;<narrow> 30A1;;;;N;;;;;
+FF68;HALFWIDTH KATAKANA LETTER SMALL I;Lo;0;L;<narrow> 30A3;;;;N;;;;;
+FF69;HALFWIDTH KATAKANA LETTER SMALL U;Lo;0;L;<narrow> 30A5;;;;N;;;;;
+FF6A;HALFWIDTH KATAKANA LETTER SMALL E;Lo;0;L;<narrow> 30A7;;;;N;;;;;
+FF6B;HALFWIDTH KATAKANA LETTER SMALL O;Lo;0;L;<narrow> 30A9;;;;N;;;;;
+FF6C;HALFWIDTH KATAKANA LETTER SMALL YA;Lo;0;L;<narrow> 30E3;;;;N;;;;;
+FF6D;HALFWIDTH KATAKANA LETTER SMALL YU;Lo;0;L;<narrow> 30E5;;;;N;;;;;
+FF6E;HALFWIDTH KATAKANA LETTER SMALL YO;Lo;0;L;<narrow> 30E7;;;;N;;;;;
+FF6F;HALFWIDTH KATAKANA LETTER SMALL TU;Lo;0;L;<narrow> 30C3;;;;N;;;;;
+FF70;HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK;Lm;0;L;<narrow> 30FC;;;;N;;;;;
+FF71;HALFWIDTH KATAKANA LETTER A;Lo;0;L;<narrow> 30A2;;;;N;;;;;
+FF72;HALFWIDTH KATAKANA LETTER I;Lo;0;L;<narrow> 30A4;;;;N;;;;;
+FF73;HALFWIDTH KATAKANA LETTER U;Lo;0;L;<narrow> 30A6;;;;N;;;;;
+FF74;HALFWIDTH KATAKANA LETTER E;Lo;0;L;<narrow> 30A8;;;;N;;;;;
+FF75;HALFWIDTH KATAKANA LETTER O;Lo;0;L;<narrow> 30AA;;;;N;;;;;
+FF76;HALFWIDTH KATAKANA LETTER KA;Lo;0;L;<narrow> 30AB;;;;N;;;;;
+FF77;HALFWIDTH KATAKANA LETTER KI;Lo;0;L;<narrow> 30AD;;;;N;;;;;
+FF78;HALFWIDTH KATAKANA LETTER KU;Lo;0;L;<narrow> 30AF;;;;N;;;;;
+FF79;HALFWIDTH KATAKANA LETTER KE;Lo;0;L;<narrow> 30B1;;;;N;;;;;
+FF7A;HALFWIDTH KATAKANA LETTER KO;Lo;0;L;<narrow> 30B3;;;;N;;;;;
+FF7B;HALFWIDTH KATAKANA LETTER SA;Lo;0;L;<narrow> 30B5;;;;N;;;;;
+FF7C;HALFWIDTH KATAKANA LETTER SI;Lo;0;L;<narrow> 30B7;;;;N;;;;;
+FF7D;HALFWIDTH KATAKANA LETTER SU;Lo;0;L;<narrow> 30B9;;;;N;;;;;
+FF7E;HALFWIDTH KATAKANA LETTER SE;Lo;0;L;<narrow> 30BB;;;;N;;;;;
+FF7F;HALFWIDTH KATAKANA LETTER SO;Lo;0;L;<narrow> 30BD;;;;N;;;;;
+FF80;HALFWIDTH KATAKANA LETTER TA;Lo;0;L;<narrow> 30BF;;;;N;;;;;
+FF81;HALFWIDTH KATAKANA LETTER TI;Lo;0;L;<narrow> 30C1;;;;N;;;;;
+FF82;HALFWIDTH KATAKANA LETTER TU;Lo;0;L;<narrow> 30C4;;;;N;;;;;
+FF83;HALFWIDTH KATAKANA LETTER TE;Lo;0;L;<narrow> 30C6;;;;N;;;;;
+FF84;HALFWIDTH KATAKANA LETTER TO;Lo;0;L;<narrow> 30C8;;;;N;;;;;
+FF85;HALFWIDTH KATAKANA LETTER NA;Lo;0;L;<narrow> 30CA;;;;N;;;;;
+FF86;HALFWIDTH KATAKANA LETTER NI;Lo;0;L;<narrow> 30CB;;;;N;;;;;
+FF87;HALFWIDTH KATAKANA LETTER NU;Lo;0;L;<narrow> 30CC;;;;N;;;;;
+FF88;HALFWIDTH KATAKANA LETTER NE;Lo;0;L;<narrow> 30CD;;;;N;;;;;
+FF89;HALFWIDTH KATAKANA LETTER NO;Lo;0;L;<narrow> 30CE;;;;N;;;;;
+FF8A;HALFWIDTH KATAKANA LETTER HA;Lo;0;L;<narrow> 30CF;;;;N;;;;;
+FF8B;HALFWIDTH KATAKANA LETTER HI;Lo;0;L;<narrow> 30D2;;;;N;;;;;
+FF8C;HALFWIDTH KATAKANA LETTER HU;Lo;0;L;<narrow> 30D5;;;;N;;;;;
+FF8D;HALFWIDTH KATAKANA LETTER HE;Lo;0;L;<narrow> 30D8;;;;N;;;;;
+FF8E;HALFWIDTH KATAKANA LETTER HO;Lo;0;L;<narrow> 30DB;;;;N;;;;;
+FF8F;HALFWIDTH KATAKANA LETTER MA;Lo;0;L;<narrow> 30DE;;;;N;;;;;
+FF90;HALFWIDTH KATAKANA LETTER MI;Lo;0;L;<narrow> 30DF;;;;N;;;;;
+FF91;HALFWIDTH KATAKANA LETTER MU;Lo;0;L;<narrow> 30E0;;;;N;;;;;
+FF92;HALFWIDTH KATAKANA LETTER ME;Lo;0;L;<narrow> 30E1;;;;N;;;;;
+FF93;HALFWIDTH KATAKANA LETTER MO;Lo;0;L;<narrow> 30E2;;;;N;;;;;
+FF94;HALFWIDTH KATAKANA LETTER YA;Lo;0;L;<narrow> 30E4;;;;N;;;;;
+FF95;HALFWIDTH KATAKANA LETTER YU;Lo;0;L;<narrow> 30E6;;;;N;;;;;
+FF96;HALFWIDTH KATAKANA LETTER YO;Lo;0;L;<narrow> 30E8;;;;N;;;;;
+FF97;HALFWIDTH KATAKANA LETTER RA;Lo;0;L;<narrow> 30E9;;;;N;;;;;
+FF98;HALFWIDTH KATAKANA LETTER RI;Lo;0;L;<narrow> 30EA;;;;N;;;;;
+FF99;HALFWIDTH KATAKANA LETTER RU;Lo;0;L;<narrow> 30EB;;;;N;;;;;
+FF9A;HALFWIDTH KATAKANA LETTER RE;Lo;0;L;<narrow> 30EC;;;;N;;;;;
+FF9B;HALFWIDTH KATAKANA LETTER RO;Lo;0;L;<narrow> 30ED;;;;N;;;;;
+FF9C;HALFWIDTH KATAKANA LETTER WA;Lo;0;L;<narrow> 30EF;;;;N;;;;;
+FF9D;HALFWIDTH KATAKANA LETTER N;Lo;0;L;<narrow> 30F3;;;;N;;;;;
+FF9E;HALFWIDTH KATAKANA VOICED SOUND MARK;Lm;0;L;<narrow> 309B;;;;N;;;;;
+FF9F;HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK;Lm;0;L;<narrow> 309C;;;;N;;;;;
+FFA0;HALFWIDTH HANGUL FILLER;Lo;0;L;<narrow> 3164;;;;N;HALFWIDTH HANGUL CAE OM;;;;
+FFA1;HALFWIDTH HANGUL LETTER KIYEOK;Lo;0;L;<narrow> 3131;;;;N;HALFWIDTH HANGUL LETTER GIYEOG;;;;
+FFA2;HALFWIDTH HANGUL LETTER SSANGKIYEOK;Lo;0;L;<narrow> 3132;;;;N;HALFWIDTH HANGUL LETTER SSANG GIYEOG;;;;
+FFA3;HALFWIDTH HANGUL LETTER KIYEOK-SIOS;Lo;0;L;<narrow> 3133;;;;N;HALFWIDTH HANGUL LETTER GIYEOG SIOS;;;;
+FFA4;HALFWIDTH HANGUL LETTER NIEUN;Lo;0;L;<narrow> 3134;;;;N;;;;;
+FFA5;HALFWIDTH HANGUL LETTER NIEUN-CIEUC;Lo;0;L;<narrow> 3135;;;;N;HALFWIDTH HANGUL LETTER NIEUN JIEUJ;;;;
+FFA6;HALFWIDTH HANGUL LETTER NIEUN-HIEUH;Lo;0;L;<narrow> 3136;;;;N;HALFWIDTH HANGUL LETTER NIEUN HIEUH;;;;
+FFA7;HALFWIDTH HANGUL LETTER TIKEUT;Lo;0;L;<narrow> 3137;;;;N;HALFWIDTH HANGUL LETTER DIGEUD;;;;
+FFA8;HALFWIDTH HANGUL LETTER SSANGTIKEUT;Lo;0;L;<narrow> 3138;;;;N;HALFWIDTH HANGUL LETTER SSANG DIGEUD;;;;
+FFA9;HALFWIDTH HANGUL LETTER RIEUL;Lo;0;L;<narrow> 3139;;;;N;HALFWIDTH HANGUL LETTER LIEUL;;;;
+FFAA;HALFWIDTH HANGUL LETTER RIEUL-KIYEOK;Lo;0;L;<narrow> 313A;;;;N;HALFWIDTH HANGUL LETTER LIEUL GIYEOG;;;;
+FFAB;HALFWIDTH HANGUL LETTER RIEUL-MIEUM;Lo;0;L;<narrow> 313B;;;;N;HALFWIDTH HANGUL LETTER LIEUL MIEUM;;;;
+FFAC;HALFWIDTH HANGUL LETTER RIEUL-PIEUP;Lo;0;L;<narrow> 313C;;;;N;HALFWIDTH HANGUL LETTER LIEUL BIEUB;;;;
+FFAD;HALFWIDTH HANGUL LETTER RIEUL-SIOS;Lo;0;L;<narrow> 313D;;;;N;HALFWIDTH HANGUL LETTER LIEUL SIOS;;;;
+FFAE;HALFWIDTH HANGUL LETTER RIEUL-THIEUTH;Lo;0;L;<narrow> 313E;;;;N;HALFWIDTH HANGUL LETTER LIEUL TIEUT;;;;
+FFAF;HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH;Lo;0;L;<narrow> 313F;;;;N;HALFWIDTH HANGUL LETTER LIEUL PIEUP;;;;
+FFB0;HALFWIDTH HANGUL LETTER RIEUL-HIEUH;Lo;0;L;<narrow> 3140;;;;N;HALFWIDTH HANGUL LETTER LIEUL HIEUH;;;;
+FFB1;HALFWIDTH HANGUL LETTER MIEUM;Lo;0;L;<narrow> 3141;;;;N;;;;;
+FFB2;HALFWIDTH HANGUL LETTER PIEUP;Lo;0;L;<narrow> 3142;;;;N;HALFWIDTH HANGUL LETTER BIEUB;;;;
+FFB3;HALFWIDTH HANGUL LETTER SSANGPIEUP;Lo;0;L;<narrow> 3143;;;;N;HALFWIDTH HANGUL LETTER SSANG BIEUB;;;;
+FFB4;HALFWIDTH HANGUL LETTER PIEUP-SIOS;Lo;0;L;<narrow> 3144;;;;N;HALFWIDTH HANGUL LETTER BIEUB SIOS;;;;
+FFB5;HALFWIDTH HANGUL LETTER SIOS;Lo;0;L;<narrow> 3145;;;;N;;;;;
+FFB6;HALFWIDTH HANGUL LETTER SSANGSIOS;Lo;0;L;<narrow> 3146;;;;N;HALFWIDTH HANGUL LETTER SSANG SIOS;;;;
+FFB7;HALFWIDTH HANGUL LETTER IEUNG;Lo;0;L;<narrow> 3147;;;;N;;;;;
+FFB8;HALFWIDTH HANGUL LETTER CIEUC;Lo;0;L;<narrow> 3148;;;;N;HALFWIDTH HANGUL LETTER JIEUJ;;;;
+FFB9;HALFWIDTH HANGUL LETTER SSANGCIEUC;Lo;0;L;<narrow> 3149;;;;N;HALFWIDTH HANGUL LETTER SSANG JIEUJ;;;;
+FFBA;HALFWIDTH HANGUL LETTER CHIEUCH;Lo;0;L;<narrow> 314A;;;;N;HALFWIDTH HANGUL LETTER CIEUC;;;;
+FFBB;HALFWIDTH HANGUL LETTER KHIEUKH;Lo;0;L;<narrow> 314B;;;;N;HALFWIDTH HANGUL LETTER KIYEOK;;;;
+FFBC;HALFWIDTH HANGUL LETTER THIEUTH;Lo;0;L;<narrow> 314C;;;;N;HALFWIDTH HANGUL LETTER TIEUT;;;;
+FFBD;HALFWIDTH HANGUL LETTER PHIEUPH;Lo;0;L;<narrow> 314D;;;;N;HALFWIDTH HANGUL LETTER PIEUP;;;;
+FFBE;HALFWIDTH HANGUL LETTER HIEUH;Lo;0;L;<narrow> 314E;;;;N;;;;;
+FFC2;HALFWIDTH HANGUL LETTER A;Lo;0;L;<narrow> 314F;;;;N;;;;;
+FFC3;HALFWIDTH HANGUL LETTER AE;Lo;0;L;<narrow> 3150;;;;N;;;;;
+FFC4;HALFWIDTH HANGUL LETTER YA;Lo;0;L;<narrow> 3151;;;;N;;;;;
+FFC5;HALFWIDTH HANGUL LETTER YAE;Lo;0;L;<narrow> 3152;;;;N;;;;;
+FFC6;HALFWIDTH HANGUL LETTER EO;Lo;0;L;<narrow> 3153;;;;N;;;;;
+FFC7;HALFWIDTH HANGUL LETTER E;Lo;0;L;<narrow> 3154;;;;N;;;;;
+FFCA;HALFWIDTH HANGUL LETTER YEO;Lo;0;L;<narrow> 3155;;;;N;;;;;
+FFCB;HALFWIDTH HANGUL LETTER YE;Lo;0;L;<narrow> 3156;;;;N;;;;;
+FFCC;HALFWIDTH HANGUL LETTER O;Lo;0;L;<narrow> 3157;;;;N;;;;;
+FFCD;HALFWIDTH HANGUL LETTER WA;Lo;0;L;<narrow> 3158;;;;N;;;;;
+FFCE;HALFWIDTH HANGUL LETTER WAE;Lo;0;L;<narrow> 3159;;;;N;;;;;
+FFCF;HALFWIDTH HANGUL LETTER OE;Lo;0;L;<narrow> 315A;;;;N;;;;;
+FFD2;HALFWIDTH HANGUL LETTER YO;Lo;0;L;<narrow> 315B;;;;N;;;;;
+FFD3;HALFWIDTH HANGUL LETTER U;Lo;0;L;<narrow> 315C;;;;N;;;;;
+FFD4;HALFWIDTH HANGUL LETTER WEO;Lo;0;L;<narrow> 315D;;;;N;;;;;
+FFD5;HALFWIDTH HANGUL LETTER WE;Lo;0;L;<narrow> 315E;;;;N;;;;;
+FFD6;HALFWIDTH HANGUL LETTER WI;Lo;0;L;<narrow> 315F;;;;N;;;;;
+FFD7;HALFWIDTH HANGUL LETTER YU;Lo;0;L;<narrow> 3160;;;;N;;;;;
+FFDA;HALFWIDTH HANGUL LETTER EU;Lo;0;L;<narrow> 3161;;;;N;;;;;
+FFDB;HALFWIDTH HANGUL LETTER YI;Lo;0;L;<narrow> 3162;;;;N;;;;;
+FFDC;HALFWIDTH HANGUL LETTER I;Lo;0;L;<narrow> 3163;;;;N;;;;;
+FFE0;FULLWIDTH CENT SIGN;Sc;0;ON;<wide> 00A2;;;;N;;;;;
+FFE1;FULLWIDTH POUND SIGN;Sc;0;ON;<wide> 00A3;;;;N;;;;;
+FFE2;FULLWIDTH NOT SIGN;Sm;0;ON;<wide> 00AC;;;;N;;;;;
+FFE3;FULLWIDTH MACRON;Sk;0;ON;<wide> 00AF;;;;N;FULLWIDTH SPACING MACRON;;;;
+FFE4;FULLWIDTH BROKEN BAR;So;0;ON;<wide> 00A6;;;;N;FULLWIDTH BROKEN VERTICAL BAR;;;;
+FFE5;FULLWIDTH YEN SIGN;Sc;0;ON;<wide> 00A5;;;;N;;;;;
+FFE6;FULLWIDTH WON SIGN;Sc;0;ON;<wide> 20A9;;;;N;;;;;
+FFE8;HALFWIDTH FORMS LIGHT VERTICAL;Sm;0;ON;<narrow> 2502;;;;N;;;;;
+FFE9;HALFWIDTH LEFTWARDS ARROW;Sm;0;ON;<narrow> 2190;;;;N;;;;;
+FFEA;HALFWIDTH UPWARDS ARROW;Sm;0;ON;<narrow> 2191;;;;N;;;;;
+FFEB;HALFWIDTH RIGHTWARDS ARROW;Sm;0;ON;<narrow> 2192;;;;N;;;;;
+FFEC;HALFWIDTH DOWNWARDS ARROW;Sm;0;ON;<narrow> 2193;;;;N;;;;;
+FFED;HALFWIDTH BLACK SQUARE;So;0;ON;<narrow> 25A0;;;;N;;;;;
+FFEE;HALFWIDTH WHITE CIRCLE;So;0;ON;<narrow> 25CB;;;;N;;;;;
+FFFC;OBJECT REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
+FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
diff --git a/lib/unicode/arabshp.txt b/lib/unicode/arabshp.txt
new file mode 100755
index 0000000000..82f22200d6
--- /dev/null
+++ b/lib/unicode/arabshp.txt
@@ -0,0 +1,134 @@
+# Unicode; Name; Link; Link Group
+0622; MADDAH ON ALEF; R; ALEF
+0623; HAMZAH ON ALEF; R; ALEF
+0624; HAMZAH ON WAW; R; WAW
+0625; HAMZAH UNDER ALEF; R; ALEF
+0626; HAMZAH ON YA; D; YA
+0627; ALEF; R; ALEF
+0628; BAA; D; BAA
+0629; TAA MARBUTAH; R; TAA MARBUTAH
+062A; TAA; D; BAA
+062B; THAA; D; BAA
+062C; JEEM; D; HAA
+062D; HAA; D; HAA
+062E; KHAA; D; HAA
+062F; DAL; R; DAL
+0630; THAL; R; DAL
+0631; RA; R; RA
+0632; ZAIN; R; RA
+0633; SEEN; D; SEEN
+0634; SHEEN; D; SEEN
+0635; SAD; D; SAD
+0636; DAD; D; SAD
+0637; TAH; D; TAH
+0638; DHAH; D; TAH
+0639; AIN; D; AIN
+063A; GHAIN; D; AIN
+0640; TATWEEL; C; <no shaping>
+0641; FA; D; FA
+0642; QAF; D; QAF
+0643; CAF; D; CAF
+0644; LAM; D; LAM
+0645; MEEM; D; MEEM
+0646; NOON; D; NOON
+0647; HA; D; HA
+0648; WAW; R; WAW
+0649; ALEF MAQSURAH; R; ALEF MAQSURAH
+064A; YA; D; YA
+0671; HAMZAT WASL ON ALEF; U; <no shaping>
+0672; WAVY HAMZAH ON ALEF; R; ALEF
+0673; WAVY HAMZAH UNDER ALEF; R; ALEF
+0674; HIGH HAMZAH; U; <no shaping>
+0675; HIGH HAMZAH ALEF; R; ALEF
+0676; HIGH HAMZAH WAW; R; WAW
+0677; HIGH HAMZAH WAW WITH DAMMAH; R; WAW
+0678; HIGH HAMZAH YA; D; YA
+0679; TAA WITH SMALL TAH; D; BAA
+067A; TAA WITH 2 DOTS VERTICAL ABOVE; D; BAA
+067B; BAA WITH 2 DOTS VERTICAL BELOW; D; BAA
+067C; TAA WITH RING; D; BAA
+067D; TAA WITH 3 DOTS ABOVE DOWNWARD; D; BAA
+067E; TAA WITH 3 DOTS BELOW; D; BAA
+067F; TAA WITH 4 DOTS ABOVE; D; BAA
+0680; BAA WITH 4 DOTS BELOW; D; BAA
+0681; HAMZAH ON HAA; D; HAA
+0682; HAA WITH 2 DOTS VERTICAL ABOVE; D; HAA
+0683; HAA WITH MIDDLE 2 DOTS; D; HAA
+0684; HAA WITH MIDDLE 2 DOTS VERTICAL; D; HAA
+0685; HAA WITH 3 DOTS ABOVE; D; HAA
+0686; HAA WITH MIDDLE 3 DOTS DOWNWARD; D; HAA
+0687; HAA WITH MIDDLE 4 DOTS; D; HAA
+0688; DAL WITH SMALL TAH; R; DAL
+0689; DAL WITH RING; R; DAL
+068A; DAL WITH DOT BELOW; R; DAL
+068B; DAL WITH DOT BELOW AND SMALL TAH; R; DAL
+068C; DAL WITH 2 DOTS ABOVE; R; DAL
+068D; DAL WITH 2 DOTS BELOW; R; DAL
+068E; DAL WITH 3 DOTS ABOVE; R; DAL
+068F; DAL WITH 3 DOTS ABOVE DOWNWARD; R; DAL
+0690; DAL WITH 4 DOTS ABOVE; R; DAL
+0691; RA WITH SMALL TAH; R; RA
+0692; RA WITH SMALL V; R; RA
+0693; RA WITH RING; R; RA
+0694; RA WITH DOT BELOW; R; RA
+0695; RA WITH SMALL V BELOW; R; RA
+0696; RA WITH DOT BELOW AND DOT ABOVE; R; RA
+0697; RA WITH 2 DOTS ABOVE; R; RA
+0698; RA WITH 3 DOTS ABOVE; R; RA
+0699; RA WITH 4 DOTS ABOVE; R; RA
+069A; SEEN WITH DOT BELOW AND DOT ABOVE; D; SEEN
+069B; SEEN WITH 3 DOTS BELOW; D; SEEN
+069C; SEEN WITH 3 DOTS BELOW AND 3 DOTS ABOVE; D; SEEN
+069D; SAD WITH 2 DOTS BELOW; D; SAD
+069E; SAD WITH 3 DOTS ABOVE; D; SAD
+069F; TAH WITH 3 DOTS ABOVE; D; TAH
+06A0; AIN WITH 3 DOTS ABOVE; D; AIN
+06A1; DOTLESS FA; D; FA
+06A2; FA WITH DOT MOVED BELOW; D; FA
+06A3; FA WITH DOT BELOW; D; FA
+06A4; FA WITH 3 DOTS ABOVE; D; FA
+06A5; FA WITH 3 DOTS BELOW; D; FA
+06A6; FA WITH 4 DOTS ABOVE; D; FA
+06A7; QAF WITH DOT ABOVE; D; QAF
+06A8; QAF WITH 3 DOTS ABOVE; D; QAF
+06A9; OPEN CAF; D; GAF
+06AA; SWASH CAF; D; SWASH CAF
+06AB; CAF WITH RING; D; GAF
+06AC; CAF WITH DOT ABOVE; D; CAF
+06AD; CAF WITH 3 DOTS ABOVE; D; CAF
+06AE; CAF WITH 3 DOTS BELOW; D; CAF
+06AF; GAF; D; GAF
+06B0; GAF WITH RING; D; GAF
+06B1; GAF WITH 2 DOTS ABOVE; D; GAF
+06B2; GAF WITH 2 DOTS BELOW; D; GAF
+06B3; GAF WITH 2 DOTS VERTICAL BELOW; D; GAF
+06B4; GAF WITH 3 DOTS ABOVE; D; GAF
+06B5; LAM WITH SMALL V; D; LAM
+06B6; LAM WITH DOT ABOVE; D; LAM
+06B7; LAM WITH 3 DOTS ABOVE; D; LAM
+06BA; DOTLESS NOON; D; NOON
+06BB; DOTLESS NOON WITH SMALL TAH; D; NOON
+06BC; NOON WITH RING; D; NOON
+06BD; NOON WITH 3 DOTS ABOVE; D; NOON
+06BE; KNOTTED HA; D; KNOTTED HA
+06C0; HAMZAH ON HA; R; TAA MARBUTAH
+06C1; HA GOAL; D; HA GOAL
+06C2; HAMZAH ON HA GOAL; R; HAMZAH ON HA GOAL
+06C3; TAA MARBUTAH GOAL; R; HAMZAH ON HA GOAL
+06C4; WAW WITH RING; R; WAW
+06C5; WAW WITH BAR; R; WAW
+06C6; WAW WITH SMALL V; R; WAW
+06C7; WAW WITH DAMMAH; R; WAW
+06C8; WAW WITH ALEF ABOVE; R; WAW
+06C9; WAW WITH INVERTED SMALL V; R; WAW
+06CA; WAW WITH 2 DOTS ABOVE; R; WAW
+06CB; WAW WITH 3 DOTS ABOVE; R; WAW
+06CC; DOTLESS YA; D; YA
+06CD; YA WITH TAIL; R; ALEF MAQSURAH
+06CE; YA WITH SMALL V; D; YA
+06D0; YA WITH 2 DOTS VERTICAL BELOW; D; YA
+06D1; YA WITH 3 DOTS BELOW; D; YA
+06D2; YA BARREE; R; YA BARREE
+06D3; HAMZAH ON YA BARREE; R; YA BARREE
+06D5; AE; U; <no shaping>
+
diff --git a/lib/unicode/blocks.txt b/lib/unicode/blocks.txt
new file mode 100755
index 0000000000..b6bbf6f266
--- /dev/null
+++ b/lib/unicode/blocks.txt
@@ -0,0 +1,71 @@
+# Start Code; End Code; Block Name
+0000; 007F; Basic Latin
+0080; 00FF; Latin-1 Supplement
+0100; 017F; Latin Extended-A
+0180; 024F; Latin Extended-B
+0250; 02AF; IPA Extensions
+02B0; 02FF; Spacing Modifier Letters
+0300; 036F; Combining Diacritical Marks
+0370; 03FF; Greek
+0400; 04FF; Cyrillic
+0530; 058F; Armenian
+0590; 05FF; Hebrew
+0600; 06FF; Arabic
+0900; 097F; Devanagari
+0980; 09FF; Bengali
+0A00; 0A7F; Gurmukhi
+0A80; 0AFF; Gujarati
+0B00; 0B7F; Oriya
+0B80; 0BFF; Tamil
+0C00; 0C7F; Telugu
+0C80; 0CFF; Kannada
+0D00; 0D7F; Malayalam
+0E00; 0E7F; Thai
+0E80; 0EFF; Lao
+0F00; 0FBF; Tibetan
+10A0; 10FF; Georgian
+1100; 11FF; Hangul Jamo
+1E00; 1EFF; Latin Extended Additional
+1F00; 1FFF; Greek Extended
+2000; 206F; General Punctuation
+2070; 209F; Superscripts and Subscripts
+20A0; 20CF; Currency Symbols
+20D0; 20FF; Combining Marks for Symbols
+2100; 214F; Letterlike Symbols
+2150; 218F; Number Forms
+2190; 21FF; Arrows
+2200; 22FF; Mathematical Operators
+2300; 23FF; Miscellaneous Technical
+2400; 243F; Control Pictures
+2440; 245F; Optical Character Recognition
+2460; 24FF; Enclosed Alphanumerics
+2500; 257F; Box Drawing
+2580; 259F; Block Elements
+25A0; 25FF; Geometric Shapes
+2600; 26FF; Miscellaneous Symbols
+2700; 27BF; Dingbats
+3000; 303F; CJK Symbols and Punctuation
+3040; 309F; Hiragana
+30A0; 30FF; Katakana
+3100; 312F; Bopomofo
+3130; 318F; Hangul Compatibility Jamo
+3190; 319F; Kanbun
+3200; 32FF; Enclosed CJK Letters and Months
+3300; 33FF; CJK Compatibility
+4E00; 9FFF; CJK Unified Ideographs
+AC00; D7A3; Hangul Syllables
+D800; DB7F; High Surrogates
+DB80; DBFF; High Private Use Surrogates
+DC00; DFFF; Low Surrogates
+E000; F8FF; Private Use
+F900; FAFF; CJK Compatibility Ideographs
+FB00; FB4F; Alphabetic Presentation Forms
+FB50; FDFF; Arabic Presentation Forms-A
+FE20; FE2F; Combining Half Marks
+FE30; FE4F; CJK Compatibility Forms
+FE50; FE6F; Small Form Variants
+FE70; FEFF; Arabic Presentation Forms-B
+FF00; FFEF; Halfwidth and Fullwidth Forms
+FEFF; FEFF; Specials
+FFF0; FFFF; Specials
+ \ No newline at end of file
diff --git a/lib/unicode/index2.txt b/lib/unicode/index2.txt
new file mode 100755
index 0000000000..273ea4e75a
--- /dev/null
+++ b/lib/unicode/index2.txt
@@ -0,0 +1,2882 @@
+8859-1 (Latin-1), Based on ISO 00A0
+8859-2, -3, -4, -9 (European Latin), Based on ISO 0100
+8859-5 (Cyrillic), Based on ISO 0400
+8859-6 (Arabic), Based on ISO 0600
+8859-7 (Greek), Based on ISO 0370
+8859-8 (Hebrew), Based on ISO 05D0
+a, latin small letter script 0251
+A, LATIN SMALL LETTER TURNED 0250
+ABBREVIATION MARK, ARMENIAN 055F
+ABBREVIATION SIGN, DEVANAGARI 0970
+Abbreviations, Squared Latin 3380
+ABOVE RIGHT, COMBINING COMMA 0315
+above, cedilla 0312
+ABOVE, COMBINING ANTICLOCKWISE ARROW 20D4
+ABOVE, COMBINING CLOCKWISE ARROW 20D5
+ABOVE, COMBINING COMMA 0313
+ABOVE, COMBINING DOT 0307
+ABOVE, COMBINING DOUBLE VERTICAL LINE 030E
+ABOVE, COMBINING FOUR DOTS 20DC
+ABOVE, COMBINING HOOK 0309
+ABOVE, COMBINING LEFT ANGLE 031A
+ABOVE, COMBINING LEFT ARROW 20D6
+ABOVE, COMBINING LEFT HARPOON 20D0
+ABOVE, COMBINING LEFT RIGHT ARROW 20E1
+ABOVE, COMBINING REVERSED COMMA 0314
+ABOVE, COMBINING RIGHT ARROW 20D7
+ABOVE, COMBINING RIGHT HARPOON 20D1
+ABOVE, COMBINING RING 030A
+ABOVE, COMBINING THREE DOTS 20DB
+ABOVE, COMBINING TURNED COMMA 0312
+ABOVE, COMBINING VERTICAL LINE 030D
+ABOVE, COMBINING X 033D
+ABOVE, DOT 02D9
+above, double dot 0308
+ABOVE, RING 02DA
+above, v 030C
+ACCOUNT OF 2100
+ACKNOWLEDGE 0006
+ACKNOWLEDGE, NEGATIVE 0015
+ACTIVATE ARABIC FORM SHAPING 206D
+ACTIVATE SYMMETRIC SWAPPING 206B
+ACUTE ACCENT 00B4
+ACUTE ACCENT BELOW, COMBINING 0317
+ACUTE ACCENT, COMBINING 0301
+ACUTE ACCENT, COMBINING DOUBLE 030B
+ACUTE ACCENT, DEVANAGARI 0954
+ACUTE ACCENT, DOUBLE 02DD
+ACUTE ACCENT, MODIFIER LETTER 02CA
+ACUTE ACCENT, MODIFIER LETTER LOW 02CF
+ACUTE TONE MARK, COMBINING 0341
+acute, spacing 00B4
+ADDAK, GURMUKHI 0A71
+ADDRESSED TO THE SUBJECT 2101
+ADI SHAKTI 262C
+AE, LATIN SMALL LETTER 00E6
+AFRICAN D, LATIN CAPITAL LETTER 0189
+AIRPLANE 2708
+ALEF SYMBOL 2135
+ALL AROUND-PROFILE 232E
+ALL EQUAL TO 224C
+ALL, FOR 2200
+ALMOST EQUAL TO 2248
+ALPHA, LATIN SMALL LETTER 0251
+ALPHA, LATIN SMALL LETTER TURNED 0252
+Alphabet (Khutsuri), Georgian Archaic Uppercase 10A0
+Alphabet (Mkhedruli), Georgian Modern Lowercase 10D0
+Alphabet, Basic Russian 0410
+Alphabet, International Phonetic 0250
+Alphabet, Korean Hangul Combining 1100
+Alphabetic Presentation Forms FB00
+Alphanumerics, Enclosed 2460
+alternating current 223F
+AMPERSAND 0026
+AND, CURLY LOGICAL 22CF
+AND, LOGICAL 2227
+AND, N-ARY LOGICAL 22C0
+ANGLE 2220
+ANGLE ABOVE, COMBINING LEFT 031A
+angle arc 2222
+ANGLE BRACKET, LEFT 3008
+ANGLE BRACKET, LEFT DOUBLE 300A
+ANGLE BRACKET, LEFT-POINTING 2329
+ANGLE BRACKET, RIGHT-POINTING 232A
+ANGLE QUOTATION MARK, LEFT-POINTING DOUBLE 00AB
+ANGLE QUOTATION MARK, RIGHT-POINTING DOUBLE 00BB
+ANGLE QUOTATION MARK, SINGLE LEFT-POINTING 2039
+ANGLE QUOTATION MARK, SINGLE RIGHT-POINTING 203A
+ANGLE WITH ARC, RIGHT 22BE
+ANGLE, MEASURED 2221
+ANGLE, RIGHT 221F
+ANGLE, SPHERICAL 2222
+ANGSTROM SIGN 212B
+ANKH 2625
+ANO TELEIA, GREEK 0387
+ANTICLOCKWISE ARROW ABOVE, COMBINING 20D4
+ANTICLOCKWISE CONTOUR INTEGRAL 2233
+ANTICLOCKWISE RING OVERLAY, COMBINING 20DA
+ANUDATTA, DEVANAGARI STRESS SIGN 0952
+anunasika, devanagari 0901
+ANUSVARA, BENGALI SIGN 0982
+ANUSVARA, DEVANAGARI SIGN 0902
+ANUSVARA, GUJARATI SIGN 0A82
+ANUSVARA, KANNADA SIGN 0C82
+ANUSVARA, MALAYALAM SIGN 0D02
+ANUSVARA, ORIYA SIGN 0B02
+ANUSVARA, TAMIL SIGN 0B82
+ANUSVARA, TELUGU SIGN 0C02
+apl downstile 230A
+APL Functional Symbols 2336
+apl jot 2218
+apl overbar 00AF
+apl quote 0022
+apl stile 2223
+apl tilde 223C
+apl upstile 2308
+APOSTROPHE 0027
+apostrophe 02BC
+APOSTROPHE, ARMENIAN 055A
+APOSTROPHE, MODIFIER LETTER 02BC
+apostrophe-quote 0027
+APPROACHES THE LIMIT 2250
+APPROXIMATELY EQUAL TO 2245
+approximately equal to 2257
+AQUARIUS 2652
+Arabic 0600
+ARABIC COMMA 060C
+ARABIC DECIMAL SEPARATOR 066B
+ARABIC FIVE POINTED STAR 066D
+ARABIC FORM SHAPING, ACTIVATE 206D
+ARABIC FORM SHAPING, INHIBIT 206C
+ARABIC FULL STOP 06D4
+Arabic Harakaat 064B
+arabic kashida 0640
+ARABIC LETTER SUPERSCRIPT ALEF 0670
+Arabic Letters 0627
+Arabic Letters, Extended 0671
+ARABIC PERCENT SIGN 066A
+Arabic Presentation Forms-A FB50
+Arabic Presentation Forms-B FE70
+ARABIC QUESTION MARK 061F
+ARABIC SEMICOLON 061B
+ARABIC TATWEEL 0640
+ARABIC THOUSANDS SEPARATOR 066C
+Arabic-Indic Digits 0660
+Arabic-Indic Digits (Persian and Urdu), Eastern 06F0
+ARC 2312
+arc, angle 2222
+ARC, RIGHT ANGLE WITH 22BE
+ARCH BELOW, COMBINING INVERTED DOUBLE 032B
+Arcs 25DC
+ARIES 2648
+aristeri keraia, greek 0375
+Armenian 0530
+ARMENIAN ABBREVIATION MARK 055F
+ARMENIAN APOSTROPHE 055A
+armenian batsaganchakan nshan 055C
+armenian boot 055D
+Armenian Capital Letters 0531
+ARMENIAN COMMA 055D
+ARMENIAN EMPHASIS MARK 055B
+ARMENIAN EXCLAMATION MARK 055C
+ARMENIAN FULL STOP 0589
+armenian hartsakan nshan 055E
+ARMENIAN MODIFIER LETTER LEFT HALF RING 0559
+armenian modifier letter right half ring 055A
+armenian patiw 055F
+ARMENIAN QUESTION MARK 055E
+armenian shesht 055B
+Armenian Small Letters 0561
+armenian vertsaket 0589
+Arrow Dingbats 2794
+arrow indicator, backward 25C5
+arrow indicator, forward 25BB
+ARROWHEAD, DOWN 2304
+ARROWHEAD, UP 2303
+Arrowheads, Modifier Letter 02C2
+Arrows 2190
+ASCENDING NODE 260A
+ASCII C0 Control Codes 0000
+ASCII Digits 0030
+ASCII Variants, Fullwidth FF01
+ASCII, Based on 0020
+ASSERTION 22A6
+ASTERISK 002A
+Asterisk Dingbats 2722
+ASTERISK OPERATOR 2217
+ASTERISK OPERATOR, CIRCLED 229B
+ASTERISM 2042
+asymptotic to 2248
+ASYMPTOTICALLY EQUAL TO 2243
+AT, COMMERCIAL 0040
+AVAGRAHA, DEVANAGARI SIGN 093D
+AVAGRAHA, GUJARATI SIGN 0ABD
+AVAGRAHA, ORIYA SIGN 0B3D
+B, LATIN LETTER SMALL CAPITAL 0299
+B, SCRIPT CAPITAL 212C
+baby gamma, latin small letter 0264
+backslash 005C
+BACKSLASH, COMBINING ENCLOSING CIRCLE 20E0
+BACKSPACE 0008
+backward arrow indicator 25C5
+backward difference 2207
+BAHT, THAI CURRENCY SYMBOL 0E3F
+BALLOT BOX 2610
+BALLOT BOX WITH CHECK 2611
+BALLOT BOX WITH X 2612
+BALLOT X 2717
+Bar Dingbats, Vertical 2758
+bar, broken vertical 00A6
+BAR, HORIZONTAL 2015
+bar, vertical 007C
+barred o, latin capital letter 019F
+BARRED O, LATIN SMALL LETTER 0275
+Based on ASCII 0020
+Based on GB 2312 (Chinese) 3100
+Based on ISCII 1988 (Devanagari) 0901
+Based on ISO 8859-1 (Latin-1) 00A0
+Based on ISO 8859-2, -3, -4, -9 (European Latin) 0100
+Based on ISO 8859-5 (Cyrillic) 0400
+Based on ISO 8859-6 (Arabic) 0600
+Based on ISO 8859-7 (Greek) 0370
+Based on ISO 8859-8 (Hebrew) 05D0
+Based on JIS X 0208 (Japanese Hiragana) 3040
+Based on KS C 5601 (Korean Hangul) 3130
+Based on TIS 620-2529 (Thai) 0E01
+Basic Latin, C0 Controls and 0000
+Basic Russian Alphabet 0410
+batsaganchakan nshan, armenian 055C
+BEAMED EIGHTH NOTES 266B
+BEAMED SIXTEENTH NOTES 266C
+BECAUSE 2235
+beginning of line 2310
+BELL 0007
+BELOW, COMBINING ACUTE ACCENT 0317
+BELOW, COMBINING BREVE 032E
+BELOW, COMBINING BRIDGE 032A
+BELOW, COMBINING CARON 032C
+BELOW, COMBINING CIRCUMFLEX ACCENT 032D
+BELOW, COMBINING COMMA 0326
+BELOW, COMBINING DIAERESIS 0324
+BELOW, COMBINING DOT 0323
+BELOW, COMBINING DOWN TACK 031E
+BELOW, COMBINING GRAVE ACCENT 0316
+BELOW, COMBINING INVERTED BREVE 032F
+BELOW, COMBINING INVERTED BRIDGE 033A
+BELOW, COMBINING INVERTED DOUBLE ARCH 032B
+BELOW, COMBINING LEFT HALF RING 031C
+BELOW, COMBINING LEFT TACK 0318
+BELOW, COMBINING MACRON 0331
+BELOW, COMBINING MINUS SIGN 0320
+BELOW, COMBINING PALATALIZED HOOK 0321
+BELOW, COMBINING PLUS SIGN 031F
+BELOW, COMBINING RETROFLEX HOOK 0322
+BELOW, COMBINING RIGHT HALF RING 0339
+BELOW, COMBINING RIGHT TACK 0319
+BELOW, COMBINING RING 0325
+BELOW, COMBINING SEAGULL 033C
+BELOW, COMBINING SQUARE 033B
+BELOW, COMBINING TILDE 0330
+BELOW, COMBINING UP TACK 031D
+BELOW, COMBINING VERTICAL LINE 0329
+below, greek combining iota 0345
+Bengali 0980
+Bengali Digits 09E6
+bengali halant 09CD
+BENGALI ISSHAR 09FA
+Bengali Letters 0985
+BENGALI RUPEE MARK 09F2
+BENGALI RUPEE SIGN 09F3
+BENGALI SIGN ANUSVARA 0982
+BENGALI SIGN CANDRABINDU 0981
+BENGALI SIGN NUKTA 09BC
+BENGALI SIGN VIRAMA 09CD
+BENGALI SIGN VISARGA 0983
+BENZENE RING 232C
+bernoulli function 212C
+BET SYMBOL 2136
+BETWEEN 226C
+Bidirectional Formatting Controls 202A
+BINDI, GURMUKHI SIGN 0A02
+bindu, devanagari 0902
+BIOHAZARD SIGN 2623
+BLACK CIRCLE 25CF
+BLACK DIAMOND 25C6
+BLACK RECTANGLE 25AC
+BLACK-LETTER CAPITAL C 212D
+BLACK-LETTER CAPITAL H 210C
+BLACK-LETTER CAPITAL I 2111
+BLACK-LETTER CAPITAL R 211C
+BLACK-LETTER CAPITAL Z 2128
+BLANK SYMBOL 2422
+Block Elements 2580
+bom FEFF
+boot, armenian 055D
+Bopomofo, Chinese 3100
+BOWTIE 22C8
+Box Drawing 2500
+BOX WITH CHECK, BALLOT 2611
+BOX WITH X, BALLOT 2612
+BOX, BALLOT 2610
+BOX, X IN A RECTANGLE 2327
+bra 2329
+brace, opening 007B
+BRACKET WITH QUILL, LEFT SQUARE 2045
+BRACKET, LEFT ANGLE 3008
+BRACKET, LEFT BLACK LENTICULAR 3010
+BRACKET, LEFT CORNER 300C
+BRACKET, LEFT CURLY 007B
+BRACKET, LEFT DOUBLE ANGLE 300A
+BRACKET, LEFT SQUARE 005B
+BRACKET, LEFT TORTOISE SHELL 3014
+BRACKET, LEFT WHITE CORNER 300E
+BRACKET, LEFT WHITE LENTICULAR 3016
+BRACKET, LEFT WHITE SQUARE 301A
+BRACKET, LEFT WHITE TORTOISE SHELL 3018
+BRACKET, LEFT-POINTING ANGLE 2329
+bracket, opening curly 007B
+bracket, opening square 005B
+breathing, rough 0314
+breathing, smooth 0313
+BREVE 02D8
+BREVE BELOW, COMBINING 032E
+BREVE BELOW, COMBINING INVERTED 032F
+BREVE, COMBINING 0306
+BREVE, COMBINING DOUBLE INVERTED 0361
+BREVE, COMBINING INVERTED 0311
+BRIDGE BELOW, COMBINING 032A
+BRIDGE BELOW, COMBINING INVERTED 033A
+broken vertical bar 00A6
+BULLET 2022
+BULLET OPERATOR 2219
+BULLET, HYPHEN 2043
+bullet, tainome (japanese, a kind of) 25C9
+BULLET, TRIANGULAR 2023
+BULLET, WHITE 25E6
+BULLSEYE 25CE
+bullseye, latin letter 0298
+byte order mark FEFF
+C, BLACK-LETTER CAPITAL 212D
+C, DOUBLE-STRUCK CAPITAL 2102
+C0 Controls and Basic Latin 0000
+C1 Controls and Latin-1 Supplement 0080
+CADA UNA 2106
+CADUCEUS 2624
+CANCEL 0018
+CANCELLATION MARK, LAO 0ECC
+CANCER 264B
+CANDRABINDU, BENGALI SIGN 0981
+CANDRABINDU, COMBINING 0310
+CANDRABINDU, DEVANAGARI SIGN 0901
+CANDRABINDU, GUJARATI SIGN 0A81
+CANDRABINDU, ORIYA SIGN 0B01
+CANDRABINDU, TELUGU SIGN 0C01
+Cantillation marks, Hebrew Accents or 0591
+cap 2229
+CAP, SQUARE 2293
+Capital Letters, Armenian 0531
+Capital Letters, Cyrillic 0401
+Capital Letters, Georgian 10A0
+Capital Letters, Greek 0391
+Capital Letters, Latin 0041
+CAPRICORN 2651
+caps lock 21EA
+Card Suits 2660
+cardinal (countable), first transfinite 2135
+cardinal (functions of a real variable), third transfinite 2137
+cardinal (the continuum), second transfinite 2136
+cardinal, fourth transfinite 2138
+CARE OF 2105
+caret 028C
+CARET 2038
+CARET INSERTION POINT 2041
+CARON 02C7
+CARON BELOW, COMBINING 032C
+CARON, COMBINING 030C
+CARRIAGE RETURN 000D
+carriage return 21B5
+CAUTION SIGN 2621
+CEDILLA 00B8
+cedilla above 0312
+CEDILLA, COMBINING 0327
+cedilla, spacing 00B8
+CEILING, LEFT 2308
+CELSIUS, DEGREE 2103
+CENT SIGN 00A2
+centigrade, degrees 2103
+CENTRE LINE SYMBOL 2104
+Chart Components, Form and 2500
+Check Mark Dingbats 2713
+CHECK, BALLOT BOX WITH 2611
+Chess Pieces 2654
+CHI RHO 2627
+Chinese Bopomofo 3100
+CIRCLE BACKSLASH, COMBINING ENCLOSING 20E0
+CIRCLE, BLACK 25CF
+circle, black small 2022
+CIRCLE, COMBINING ENCLOSING 20DD
+circle, jis composition 20DD
+CIRCLE, WHITE 25CB
+CIRCLED ASTERISK OPERATOR 229B
+CIRCLED DASH 229D
+CIRCLED DIGIT ZERO 24EA
+CIRCLED DIVISION SLASH 2298
+CIRCLED DOT OPERATOR 2299
+CIRCLED EQUALS 229C
+Circled Ideographs 3280
+Circled Inverse Numbers 2776
+Circled Inverse Sans-Serif Numbers 278A
+Circled Japanese Katakana 32D0
+Circled Korean Hangul Elements 3260
+Circled Korean Hangul Syllables 326E
+Circled Latin Letters 24B6
+CIRCLED MINUS 2296
+Circled Numbers 2460
+CIRCLED PLUS 2295
+CIRCLED POSTAL MARK 3036
+CIRCLED RING OPERATOR 229A
+Circled Sans-Serif Numbers 2780
+CIRCLED TIMES 2297
+Circles 25CB
+CIRCUMFLEX ACCENT 005E
+CIRCUMFLEX ACCENT BELOW, COMBINING 032D
+CIRCUMFLEX ACCENT, COMBINING 0302
+CIRCUMFLEX ACCENT, MODIFIER LETTER 02C6
+circumflex, spacing 005E
+CJK Compatibility 3300
+CJK Compatibility Forms FE30
+CJK Compatibility Ideographs F900
+CJK Letters and Ideographs, Enclosed 3200
+CJK Symbols and Punctuation 3000
+CJK Unified Ideographs 4E00
+clear key 2327
+clear weather 2600
+CLOCKWISE ARROW ABOVE, COMBINING 20D5
+CLOCKWISE CONTOUR INTEGRAL 2232
+CLOCKWISE INTEGRAL 2231
+CLOCKWISE RING OVERLAY, COMBINING 20D9
+clone 2104
+closing brace 007D
+closing curly bracket 007D
+CLOSING MARK, IDEOGRAPHIC 3006
+closing parenthesis 0029
+closing square bracket 005D
+CLOUD 2601
+cloudy weather 2601
+COLON 003A
+COLON EQUALS 2254
+COLON SIGN 20A1
+COLON, EQUALS 2255
+COLON, MODIFIER LETTER HALF TRIANGULAR 02D1
+COLON, MODIFIER LETTER TRIANGULAR 02D0
+COMBINING ACUTE ACCENT 0301
+COMBINING ACUTE ACCENT BELOW 0317
+COMBINING ACUTE TONE MARK 0341
+Combining Alphabet, Korean Hangul 1100
+COMBINING ANTICLOCKWISE ARROW ABOVE 20D4
+COMBINING ANTICLOCKWISE RING OVERLAY 20DA
+COMBINING BREVE 0306
+COMBINING BREVE BELOW 032E
+COMBINING BRIDGE BELOW 032A
+COMBINING CANDRABINDU 0310
+COMBINING CARON 030C
+COMBINING CARON BELOW 032C
+COMBINING CEDILLA 0327
+COMBINING CIRCUMFLEX ACCENT 0302
+COMBINING CIRCUMFLEX ACCENT BELOW 032D
+COMBINING CLOCKWISE ARROW ABOVE 20D5
+COMBINING CLOCKWISE RING OVERLAY 20D9
+COMBINING COMMA ABOVE 0313
+COMBINING COMMA ABOVE RIGHT 0315
+COMBINING COMMA BELOW 0326
+COMBINING CYRILLIC DASIA PNEUMATA 0485
+COMBINING CYRILLIC PALATALIZATION 0484
+COMBINING CYRILLIC PSILI PNEUMATA 0486
+COMBINING CYRILLIC TITLO 0483
+Combining Diacritical Marks 0300
+Combining Diacritical Marks for Symbols 20D0
+COMBINING DIAERESIS 0308
+COMBINING DIAERESIS BELOW 0324
+COMBINING DOT ABOVE 0307
+COMBINING DOT BELOW 0323
+COMBINING DOUBLE ACUTE ACCENT 030B
+COMBINING DOUBLE GRAVE ACCENT 030F
+COMBINING DOUBLE INVERTED BREVE 0361
+COMBINING DOUBLE LOW LINE 0333
+COMBINING DOUBLE OVERLINE 033F
+COMBINING DOUBLE TILDE 0360
+COMBINING DOUBLE VERTICAL LINE ABOVE 030E
+COMBINING DOWN TACK BELOW 031E
+COMBINING ENCLOSING CIRCLE 20DD
+COMBINING ENCLOSING CIRCLE BACKSLASH 20E0
+COMBINING ENCLOSING DIAMOND 20DF
+COMBINING ENCLOSING SQUARE 20DE
+COMBINING FOUR DOTS ABOVE 20DC
+COMBINING GRAVE ACCENT 0300
+COMBINING GRAVE ACCENT BELOW 0316
+COMBINING GRAVE TONE MARK 0340
+COMBINING GREEK DIALYTIKA TONOS 0344
+COMBINING GREEK KORONIS 0343
+COMBINING GREEK PERISPOMENI 0342
+COMBINING GREEK YPOGEGRAMMENI 0345
+combining hacek 030C
+Combining Half Marks FE20
+COMBINING HOOK ABOVE 0309
+COMBINING HORN 031B
+COMBINING INVERTED BREVE 0311
+COMBINING INVERTED BREVE BELOW 032F
+COMBINING INVERTED BRIDGE BELOW 033A
+COMBINING INVERTED DOUBLE ARCH BELOW 032B
+combining iota below, greek 0345
+COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK 3099
+COMBINING LEFT ANGLE ABOVE 031A
+COMBINING LEFT ARROW ABOVE 20D6
+COMBINING LEFT HALF RING BELOW 031C
+COMBINING LEFT HARPOON ABOVE 20D0
+COMBINING LEFT RIGHT ARROW ABOVE 20E1
+COMBINING LEFT TACK BELOW 0318
+COMBINING LONG SOLIDUS OVERLAY 0338
+COMBINING LONG STROKE OVERLAY 0336
+COMBINING LONG VERTICAL LINE OVERLAY 20D2
+COMBINING LOW LINE 0332
+COMBINING MACRON 0304
+COMBINING MACRON BELOW 0331
+COMBINING MINUS SIGN BELOW 0320
+COMBINING OGONEK 0328
+COMBINING OVERLINE 0305
+COMBINING PALATALIZED HOOK BELOW 0321
+COMBINING PLUS SIGN BELOW 031F
+COMBINING RETROFLEX HOOK BELOW 0322
+COMBINING REVERSED COMMA ABOVE 0314
+COMBINING RIGHT ARROW ABOVE 20D7
+COMBINING RIGHT HALF RING BELOW 0339
+COMBINING RIGHT HARPOON ABOVE 20D1
+COMBINING RIGHT TACK BELOW 0319
+COMBINING RING ABOVE 030A
+COMBINING RING BELOW 0325
+COMBINING RING OVERLAY 20D8
+COMBINING SEAGULL BELOW 033C
+COMBINING SHORT SOLIDUS OVERLAY 0337
+COMBINING SHORT STROKE OVERLAY 0335
+COMBINING SHORT VERTICAL LINE OVERLAY 20D3
+COMBINING SQUARE BELOW 033B
+COMBINING THREE DOTS ABOVE 20DB
+COMBINING TILDE 0303
+COMBINING TILDE BELOW 0330
+COMBINING TILDE OVERLAY 0334
+COMBINING TURNED COMMA ABOVE 0312
+COMBINING UP TACK BELOW 031D
+COMBINING VERTICAL LINE ABOVE 030D
+COMBINING VERTICAL LINE BELOW 0329
+COMBINING VERTICAL TILDE 033E
+COMBINING X ABOVE 033D
+COMET 2604
+COMMA 002C
+COMMA ABOVE RIGHT, COMBINING 0315
+COMMA ABOVE, COMBINING 0313
+COMMA ABOVE, COMBINING REVERSED 0314
+COMMA ABOVE, COMBINING TURNED 0312
+COMMA BELOW, COMBINING 0326
+comma quotation mark, double 201D
+comma quotation mark, double reversed 201F
+comma quotation mark, double turned 201C
+comma quotation mark, low double 201E
+comma quotation mark, low single 201A
+comma quotation mark, single 2019
+comma quotation mark, single reversed 201B
+comma quotation mark, single turned 2018
+COMMA, ARABIC 060C
+COMMA, ARMENIAN 055D
+comma, georgian 00B7
+COMMA, IDEOGRAPHIC 3001
+COMMA, MODIFIER LETTER REVERSED 02BD
+COMMA, MODIFIER LETTER TURNED 02BB
+command key 2318
+COMMERCIAL AT 0040
+compass 263C
+Compatibility Forms, CJK FE30
+Compatibility Ideographs, CJK F900
+Compatibility Jamo, Korean Hangul 3130
+Compatibility, CJK 3300
+COMPLEMENT 2201
+complex numbers, the set of 2102
+composite function 2218
+composition circle, jis 20DD
+conductance 2127
+CONICAL TAPER 2332
+CONJUGATE MATRIX, HERMITIAN 22B9
+CONJUNCTION 260C
+CONTAINS AS MEMBER 220B
+CONTAINS AS NORMAL SUBGROUP 22B3
+continuum, second transfinite cardinal 2136
+CONTOUR INTEGRAL 222E
+CONTOUR INTEGRAL, ANTICLOCKWISE 2233
+CONTOUR INTEGRAL, CLOCKWISE 2232
+Control Codes, ASCII C0 0000
+Control Codes, C1 0080
+Control Codes, Graphic Symbols for 2400
+Controls and Basic Latin, C0 0000
+Controls and Latin-1 Supplement, C1 0080
+Controls, Bidirectional Formatting 202A
+COPRODUCT, N-ARY 2210
+Coptic-Unique Letters 03E2
+COPYRIGHT SIGN 00A9
+COPYRIGHT, SOUND RECORDING 2117
+CORNER BRACKET, LEFT 300C
+CORNER BRACKET, LEFT WHITE 300E
+CORNER, TOP LEFT 231C
+CORRESPONDS TO 2258
+corresponds to 2259
+countable, first transfinite cardinal 2135
+COUNTERBORE 2334
+counterclockwise arrow above, combining 20D4
+counterclockwise contour integral 2233
+counterclockwise ring overlay, combining 20DA
+COUNTERSINK 2335
+CRESCENT, STAR AND 262A
+Croatian Digraphs Matching Serbian Cyrillic Letters 01C4
+CROP, TOP LEFT 230F
+Cross Dingbats 2719
+CROSS OF JERUSALEM 2629
+CROSS OF LORRAINE 2628
+cross ratio 211E
+CROSS, LATIN 271D
+CROSS, MALTESE 2720
+CROSS, ORTHODOX 2626
+cross, st. andrew's 2613
+CRUZEIRO SIGN 20A2
+CUBE ROOT 221B
+cubed 00B3
+cup 222A
+CUP, SQUARE 2294
+CURLY BRACKET, LEFT 007B
+curly bracket, opening 007B
+CURLY LOGICAL AND 22CF
+CURLY LOGICAL OR 22CE
+CURRENCY SIGN 00A4
+CURRENCY SYMBOL BAHT, THAI 0E3F
+currency symbol, florin 0192
+Currency Symbols 20A0
+current, alternating 223F
+cycle 223C
+CYLINDRICITY 232D
+Cyrillic 0400
+Cyrillic Capital Letters 0401
+CYRILLIC DASIA PNEUMATA, COMBINING 0485
+CYRILLIC PALATALIZATION, COMBINING 0484
+CYRILLIC PSILI PNEUMATA, COMBINING 0486
+Cyrillic Small Letters 0430
+CYRILLIC THOUSANDS SIGN 0482
+CYRILLIC TITLO, COMBINING 0483
+Cyrillic, Extended 0490
+d retroflex hook, latin small letter 0256
+D, LATIN CAPITAL LETTER AFRICAN 0189
+DAGGER 2020
+DAGGER, DOUBLE 2021
+DALET SYMBOL 2138
+DANDA, DEVANAGARI 0964
+DANDA, DEVANAGARI DOUBLE 0965
+DASH, CIRCLED 229D
+DASH, EM 2014
+DASH, EN 2013
+DASH, FIGURE 2012
+dash, quotation 2015
+DASH, WAVE 301C
+DASH, WAVY 3030
+DASIA PNEUMATA, COMBINING CYRILLIC 0485
+dasia, greek 0314
+DATA LINK ESCAPE 0010
+day!, have a nice 263A
+DECIMAL SEPARATOR, ARABIC 066B
+DEGREE CELSIUS 2103
+DEGREE FAHRENHEIT 2109
+DEGREE SIGN 00B0
+degrees centigrade 2103
+degrees kelvin 212A
+del 2207
+DELETE 007F
+delete to the left key 232B
+delete to the right key 2326
+DELTA EQUAL TO 225C
+DELTA, LATIN SMALL LETTER TURNED 018D
+depth symbol 21A7
+derivative 0307
+derivative, double 0308
+derivative, fourth 20DC
+derivative, third 20DB
+DESCENDING NODE 260B
+Devanagari 0900
+DEVANAGARI ABBREVIATION SIGN 0970
+DEVANAGARI ACUTE ACCENT 0954
+devanagari anunasika 0901
+devanagari bindu 0902
+DEVANAGARI DANDA 0964
+Devanagari Digits 0966
+DEVANAGARI DOUBLE DANDA 0965
+DEVANAGARI GRAVE ACCENT 0953
+devanagari halant 094D
+Devanagari Letters 0905
+DEVANAGARI OM 0950
+devanagari phrase separator 0964
+DEVANAGARI SIGN ANUSVARA 0902
+DEVANAGARI SIGN AVAGRAHA 093D
+DEVANAGARI SIGN CANDRABINDU 0901
+DEVANAGARI SIGN NUKTA 093C
+DEVANAGARI SIGN VIRAMA 094D
+DEVANAGARI SIGN VISARGA 0903
+DEVANAGARI STRESS SIGN ANUDATTA 0952
+DEVANAGARI STRESS SIGN UDATTA 0951
+DEVICE CONTROL FOUR 0014
+DEVICE CONTROL ONE 0011
+DEVICE CONTROL THREE 0013
+DEVICE CONTROL TWO 0012
+dexia keraia, greek 0374
+DEZH DIGRAPH, LATIN SMALL LETTER 02A4
+DHARMA, WHEEL OF 2638
+Diacritic-Vowel Combinations, Pinyin 01CD
+Diacritical Marks for Symbols, Combining 20D0
+Diacritical Marks, Combining 0300
+Diacritical Marks, Double 0360
+Diacritical Marks, Enclosing 20DD
+Diacritical Marks, Generic 0300
+Diacritical Marks, Overstruck 0334
+DIAERESIS 00A8
+DIAERESIS BELOW, COMBINING 0324
+DIAERESIS, COMBINING 0308
+diaeresis, spacing 00A8
+DIALYTIKA TONOS, COMBINING GREEK 0344
+DIALYTIKA TONOS, GREEK 0385
+dialytika, greek 0308
+DIAMETER SIGN 2300
+diameter symbol 2205
+DIAMOND OPERATOR 22C4
+DIAMOND, BLACK 25C6
+DIAMOND, COMBINING ENCLOSING 20DF
+DIAMOND, WHITE 25C7
+Diamonds 25C6
+difference between 223C
+DIFFERENCE BETWEEN 224F
+difference, backward 2207
+difference, forward 2206
+difference, symmetric 2238
+difference, symmetric 2296
+DIFFERENTIAL, PARTIAL 2202
+DIGIT SHAPES, NATIONAL 206E
+DIGIT SHAPES, NOMINAL 206F
+Digits (Persian and Urdu), Eastern Arabic-Indic 06F0
+Digits, Arabic-Indic 0660
+Digits, ASCII 0030
+Digits, Bengali 09E6
+Digits, Devanagari 0966
+Digits, Gujarati 0AE6
+Digits, Gurmukhi 0A66
+Digits, Kannada 0CE6
+Digits, Lao 0ED0
+Digits, Malayalam 0D66
+Digits, Oriya 0B66
+Digits, Tamil 0BE7
+Digits, Telugu 0C66
+Digits, Thai 0E50
+Digits, Tibetan 0F20
+DIGRAPH, LATIN SMALL LETTER DEZH 02A4
+DIGRAPH, LATIN SMALL LETTER DZ 02A3
+DIGRAPH, LATIN SMALL LETTER TESH 02A7
+DIGRAPH, LATIN SMALL LETTER TS 02A6
+Digraphs Matching Serbian Cyrillic Letters, Croatian 01C4
+Digraphs, Yiddish Hebrew Ligatures or 05F0
+DIMENSION ORIGIN 2331
+Dingbats 2700
+Dingbats, Arrow 2794
+Dingbats, Asterisk 2722
+Dingbats, Check Mark 2713
+Dingbats, Cross 2719
+Dingbats, Drop-Shadowed 274D
+Dingbats, Hazard 2620
+Dingbats, Heart 2763
+Dingbats, Miscellaneous 2600
+Dingbats, Music 2669
+Dingbats, Pencil 270E
+Dingbats, Pointing Index Finger 261A
+Dingbats, Quotation Mark 275B
+Dingbats, Scissors 2701
+Dingbats, Snowflake 2744
+Dingbats, Star 2726
+Dingbats, Vertical Bar 2758
+Dingbats, Warning 2620
+Dingbats, Weather 2600
+Dingbats, Zapf 2700
+direct product 2299
+direct sum 2295
+Directional Formatting Controls 202A
+DIRECTIONAL FORMATTING, POP 202C
+discretionary hyphen 00AD
+DITTO MARK 3003
+DIVIDES 2223
+DIVISION SIGN 00F7
+DIVISION SLASH 2215
+DIVISION SLASH, CIRCLED 2298
+DIVISION TIMES 22C7
+DOLLAR SIGN 0024
+DONG SIGN 20AB
+DOT ABOVE 02D9
+DOT ABOVE, COMBINING 0307
+dot above, double 0308
+DOT ABOVE, LATIN CAPITAL LETTER I WITH 0130
+DOT BELOW, COMBINING 0323
+DOT LEADER, ONE 2024
+dot leader, three 2026
+DOT LEADER, TWO 2025
+DOT MINUS 2238
+DOT OPERATOR 22C5
+DOT OPERATOR, CIRCLED 2299
+DOT OPERATOR, SQUARED 22A1
+DOT PLUS 2214
+dot, greek middle 00B7
+DOT, KATAKANA MIDDLE 30FB
+DOT, MIDDLE 00B7
+DOTLESS I, LATIN SMALL LETTER 0131
+DOTS ABOVE, COMBINING FOUR 20DC
+DOTS ABOVE, COMBINING THREE 20DB
+DOUBLE ACUTE ACCENT 02DD
+DOUBLE ACUTE ACCENT, COMBINING 030B
+DOUBLE ANGLE BRACKET, LEFT 300A
+DOUBLE ANGLE QUOTATION MARK, LEFT-POINTING 00AB
+DOUBLE ANGLE QUOTATION MARK, RIGHT-POINTING 00BB
+DOUBLE ARCH BELOW, COMBINING INVERTED 032B
+double bar, latin letter pipe 01C2
+double comma quotation mark 201D
+double comma quotation mark, low 201E
+DOUBLE DAGGER 2021
+DOUBLE DANDA, DEVANAGARI 0965
+double derivative 0308
+Double Diacritical Marks 0360
+double dot above 0308
+DOUBLE EXCLAMATION MARK 203C
+DOUBLE GRAVE ACCENT, COMBINING 030F
+DOUBLE HIGH-REVERSED-9 QUOTATION MARK 201F
+DOUBLE INTEGRAL 222C
+DOUBLE INTERSECTION 22D2
+DOUBLE INVERTED BREVE, COMBINING 0361
+DOUBLE LOW LINE 2017
+DOUBLE LOW LINE, COMBINING 0333
+DOUBLE LOW-9 QUOTATION MARK 201E
+DOUBLE OVERLINE, COMBINING 033F
+double pipe, latin letter 01C1
+DOUBLE PRIME 2033
+DOUBLE PRIME QUOTATION MARK 301E
+DOUBLE PRIME QUOTATION MARK, LOW 301F
+DOUBLE PRIME QUOTATION MARK, REVERSED 301D
+DOUBLE PRIME, MODIFIER LETTER 02BA
+DOUBLE PRIME, REVERSED 2036
+DOUBLE QUOTATION MARK, LEFT 201C
+DOUBLE QUOTATION MARK, RIGHT 201D
+double reversed comma quotation mark 201F
+DOUBLE RIGHT TURNSTILE, DOUBLE VERTICAL BAR 22AB
+DOUBLE SUBSET 22D0
+DOUBLE SUPERSET 22D1
+DOUBLE TILDE, COMBINING 0360
+double turned comma quotation mark 201C
+double underline 0333
+double underscore 0333
+double underscore, spacing 2017
+DOUBLE UNION 22D3
+DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE 22AB
+DOUBLE VERTICAL LINE 2016
+DOUBLE VERTICAL LINE ABOVE, COMBINING 030E
+DOUBLE-STRUCK CAPITAL C 2102
+DOUBLE-STRUCK CAPITAL H 210D
+DOUBLE-STRUCK CAPITAL N 2115
+DOUBLE-STRUCK CAPITAL P 2119
+DOUBLE-STRUCK CAPITAL Q 211A
+DOUBLE-STRUCK CAPITAL R 211D
+DOUBLE-STRUCK CAPITAL Z 2124
+DOWN ARROWHEAD 2304
+DOWN RIGHT DIAGONAL ELLIPSIS 22F1
+DOWN TACK 22A4
+DOWN TACK BELOW, COMBINING 031E
+DOWN TACK, MODIFIER LETTER 02D5
+downstile, apl 230A
+dram 0292
+drop, minim 264F
+Drop-Shadowed Dingbats 274D
+DZ DIGRAPH, LATIN SMALL LETTER 02A3
+DZ, LATIN SMALL LETTER 01F3
+E, LATIN CAPITAL LETTER REVERSED 018E
+E, latin capital letter turned 018E
+E, LATIN SMALL LETTER REVERSED 0258
+E, LATIN SMALL LETTER TURNED 01DD
+E, SCRIPT CAPITAL 2130
+E, SCRIPT SMALL 212F
+EARTH 2641
+Eastern Arabic-Indic Digits (Persian and Urdu) 06F0
+EIGHTH NOTE 266A
+EIGHTH NOTES, BEAMED 266B
+EIGHTH, VULGAR FRACTION ONE 215B
+EIGHTHS, VULGAR FRACTION FIVE 215D
+EIGHTHS, VULGAR FRACTION SEVEN 215E
+EIGHTHS, VULGAR FRACTION THREE 215C
+EK ONKAR, GURMUKHI 0A74
+electro-magnetic force, emf 2130
+electrolysis 21AF
+ELEMENT OF 2208
+ELEMENT OF, SMALL 220A
+ELLIPSIS, DOWN RIGHT DIAGONAL 22F1
+ELLIPSIS, HORIZONTAL 2026
+ELLIPSIS, LAO 0EAF
+ELLIPSIS, MIDLINE HORIZONTAL 22EF
+ELLIPSIS, UP RIGHT DIAGONAL 22F0
+ELLIPSIS, VERTICAL 22EE
+elliptic function, weierstrass 2118
+EM DASH 2014
+EM QUAD 2001
+EM SPACE 2003
+EMBEDDING, LEFT-TO-RIGHT 202A
+EMBEDDING, RIGHT-TO-LEFT 202B
+emf (electro-magnetic force) 2130
+EMPHASIS MARK, ARMENIAN 055B
+EMPTY SET 2205
+EN DASH 2013
+EN QUAD 2000
+EN SPACE 2002
+Enclosed Alphanumerics 2460
+Enclosed CJK Letters and Ideographs 3200
+ENCLOSING CIRCLE BACKSLASH, COMBINING 20E0
+ENCLOSING CIRCLE, COMBINING 20DD
+Enclosing Diacritical Marks 20DD
+ENCLOSING DIAMOND, COMBINING 20DF
+ENCLOSING SQUARE, COMBINING 20DE
+END OF MEDIUM 0019
+END OF PROOF 220E
+END OF TEXT 0003
+END OF TRANSMISSION 0004
+END OF TRANSMISSION BLOCK 0017
+ENG, LATIN SMALL LETTER 014B
+enotikon, greek 203F
+ENQUIRY 0005
+enter key 2324
+ENVELOPE 2709
+epsilon, latin small letter 025B
+EQUAL AND PARALLEL TO 22D5
+equal to by definition 225C
+EQUAL TO BY DEFINITION 225D
+EQUAL TO, ALL 224C
+EQUAL TO, ALMOST 2248
+EQUAL TO, APPROXIMATELY 2245
+equal to, approximately 2257
+EQUAL TO, ASYMPTOTICALLY 2243
+EQUAL TO, DELTA 225C
+EQUAL TO, GEOMETRICALLY 2251
+EQUAL TO, NOT 2260
+EQUAL TO, QUESTIONED 225F
+EQUAL TO, RING 2257
+EQUAL TO, RING IN 2256
+EQUALS COLON 2255
+EQUALS SIGN 003D
+EQUALS, CIRCLED 229C
+EQUALS, COLON 2254
+equals, nearly 2252
+EQUALS, REVERSED TILDE 22CD
+EQUALS, STAR 225B
+equiangular 225C
+EQUIANGULAR TO 225A
+EQUIVALENT TO 224D
+EQUIVALENT TO, GEOMETRICALLY 224E
+EQUIVALENT TO, STRICTLY 2263
+Era Names, Japanese 337B
+ERASE TO THE LEFT 232B
+ERASE TO THE RIGHT 2326
+erotimatiko, greek 037E
+error 212F
+ESCAPE 001B
+escudo 0024
+ESH LOOP, LATIN LETTER REVERSED 01AA
+ESH, LATIN CAPITAL LETTER 01A9
+ESH, LATIN SMALL LETTER 0283
+ess-zed 00DF
+ESTIMATED SYMBOL 212E
+ESTIMATES 2259
+ETH, LATIN SMALL LETTER 00F0
+EULER CONSTANT 2107
+EURO-CURRENCY SIGN 20A0
+European Latin 0100
+EXCESS 2239
+EXCLAMATION MARK 0021
+EXCLAMATION MARK ORNAMENT, HEAVY 2762
+EXCLAMATION MARK, ARMENIAN 055C
+EXCLAMATION MARK, DOUBLE 203C
+EXCLAMATION MARK, INVERTED 00A1
+exclamation mark, latin letter 01C3
+EXISTS, THERE 2203
+Extended Additional, Latin 1E00
+Extended Arabic Letters 0671
+Extended Cyrillic 0490
+Extended Greek 1F00
+Extended Latin 0180
+Extended-A, Latin 0100
+Extended-B, Latin 0180
+Extensions, IPA 0250
+EZH REVERSED, LATIN SMALL LETTER 01B9
+EZH, LATIN CAPITAL LETTER 01B7
+EZH, LATIN SMALL LETTER 0292
+f, latin small letter script 0192
+F, SCRIPT CAPITAL 2131
+F, TURNED CAPITAL 2132
+FACE, BLACK SMILING 263B
+FACE, POSTAL MARK 3020
+FACE, WHITE FROWNING 2639
+FACE, WHITE SMILING 263A
+factorial 0021
+FAHRENHEIT, DEGREE 2109
+FARSI SYMBOL 262B
+feet 2032
+FEMALE SIGN 2640
+FEMININE ORDINAL INDICATOR 00AA
+FIFTH, VULGAR FRACTION ONE 2155
+FIFTHS, VULGAR FRACTION FOUR 2158
+FIFTHS, VULGAR FRACTION THREE 2157
+FIFTHS, VULGAR FRACTION TWO 2156
+FIGURE DASH 2012
+FIGURE SPACE 2007
+FILE SEPARATOR 001C
+FILL SPACE, IDEOGRAPHIC HALF 303F
+FILLER, HANGUL 3164
+FILLER, HANGUL CHOSEONG 115F
+FILLER, HANGUL JUNGSEONG 1160
+Finger Dingbats, Pointing Index 261A
+FIRST QUARTER MOON 263D
+first transfinite cardinal (countable) 2135
+FISHEYE 25C9
+FIVE EIGHTHS, VULGAR FRACTION 215D
+FIVE POINTED STAR, ARABIC 066D
+FIVE SIXTHS, VULGAR FRACTION 215A
+FLAT SIGN, MUSIC 266D
+FLOOR, LEFT 230A
+florin currency symbol 0192
+FONGMAN, THAI CHARACTER 0E4F
+FOR ALL 2200
+FORCES 22A9
+Form and Chart Components 2500
+FORM FEED 000C
+form feed 21A1
+Formatting Controls, Bidirectional 202A
+FORMATTING, POP DIRECTIONAL 202C
+forward arrow indicator 25BB
+forward difference 2206
+FOUR DOTS ABOVE, COMBINING 20DC
+FOUR FIFTHS, VULGAR FRACTION 2158
+FOUR-PER-EM SPACE 2005
+fourier transform 2131
+fourth derivative 20DC
+FOURTH ROOT 221C
+fourth transfinite cardinal 2138
+FRACTION FIVE EIGHTHS, VULGAR 215D
+FRACTION FIVE SIXTHS, VULGAR 215A
+FRACTION FOUR FIFTHS, VULGAR 2158
+FRACTION NUMERATOR ONE 215F
+FRACTION ONE EIGHTH, VULGAR 215B
+FRACTION ONE FIFTH, VULGAR 2155
+FRACTION ONE HALF, VULGAR 00BD
+FRACTION ONE QUARTER, VULGAR 00BC
+FRACTION ONE SIXTH, VULGAR 2159
+FRACTION ONE THIRD, VULGAR 2153
+FRACTION SEVEN EIGHTHS, VULGAR 215E
+FRACTION SLASH 2044
+FRACTION THREE EIGHTHS, VULGAR 215C
+FRACTION THREE FIFTHS, VULGAR 2157
+FRACTION THREE QUARTERS, VULGAR 00BE
+FRACTION TWO FIFTHS, VULGAR 2156
+FRACTION TWO THIRDS, VULGAR 2154
+Fractions 2153
+FRANC SIGN, FRENCH 20A3
+FROWN 2322
+FROWNING FACE, WHITE 2639
+FULL BLOCK 2588
+FULL STOP 002E
+FULL STOP, ARABIC 06D4
+FULL STOP, ARMENIAN 0589
+FULL STOP, IDEOGRAPHIC 3002
+Fullwidth ASCII Variants FF01
+Fullwidth Forms, Halfwidth and FF00
+Fullwidth Symbol Variants FFE0
+function symbol 0192
+function, bernoulli 212C
+function, composite 2218
+function, gamma 0393
+function, hamiltonian 210B
+function, weierstrass elliptic 2118
+Functional Symbols, APL 2336
+G, LATIN LETTER SMALL CAPITAL 0262
+G, LATIN SMALL LETTER SCRIPT 0261
+G, SCRIPT SMALL 210A
+gamma function 0393
+GAMMA, LATIN CAPITAL LETTER 0194
+GAMMA, LATIN SMALL LETTER 0263
+gamma, latin small letter baby 0264
+GB 2312 (Chinese), Based on 3100
+GEMINI 264A
+General Punctuation 2000
+Generic Diacritical Marks 0300
+GEOMETRIC PROPORTION 223A
+Geometric Shapes 25A0
+GEOMETRICALLY EQUAL TO 2251
+GEOMETRICALLY EQUIVALENT TO 224E
+Georgian 10A0
+Georgian Archaic Uppercase Alphabet (Khutsuri) 10A0
+Georgian Capital Letters 10A0
+georgian comma 00B7
+Georgian Modern Lowercase Alphabet (Mkhedruli) 10D0
+GEORGIAN PARAGRAPH SEPARATOR 10FB
+Georgian Small Letters 10D0
+GERESH, HEBREW PUNCTUATION 05F3
+GERSHAYIM, HEBREW PUNCTUATION 05F4
+GETA MARK 3013
+GIMEL SYMBOL 2137
+GLOTTAL STOP, LATIN LETTER 0294
+glottal stop, latin letter reversed 0295
+GLOTTAL STOP, MODIFIER LETTER 02C0
+Glyphs for Vertical Variants FE30
+Graphic Symbols for Control Codes 2400
+GRAVE ACCENT 0060
+GRAVE ACCENT BELOW, COMBINING 0316
+GRAVE ACCENT, COMBINING 0300
+GRAVE ACCENT, COMBINING DOUBLE 030F
+GRAVE ACCENT, DEVANAGARI 0953
+GRAVE ACCENT, MODIFIER LETTER 02CB
+GRAVE ACCENT, MODIFIER LETTER LOW 02CE
+GRAVE TONE MARK, COMBINING 0340
+grave, spacing 0060
+GREATER-THAN OR EQUAL TO 2265
+GREATER-THAN SIGN 003E
+GREATER-THAN WITH DOT 22D7
+GREATER-THAN, MUCH 226B
+GREATER-THAN, VERY MUCH 22D9
+Greek 0370
+GREEK ANO TELEIA 0387
+greek aristeri keraia 0375
+Greek Capital Letters 0391
+greek combining iota below 0345
+greek dasia 0314
+greek dexia keraia 0374
+greek dialytika 0308
+GREEK DIALYTIKA TONOS 0385
+GREEK DIALYTIKA TONOS, COMBINING 0344
+greek enotikon 203F
+greek erotimatiko 037E
+greek iota adscript 0399
+greek iota subscript 0345
+GREEK KORONIS, COMBINING 0343
+GREEK LOWER NUMERAL SIGN 0375
+greek middle dot 00B7
+GREEK NUMERAL SIGN 0374
+greek oxia 0301
+GREEK PERISPOMENI, COMBINING 0342
+greek psili 0313
+GREEK QUESTION MARK 037E
+GREEK SMALL LETTER IOTA, TURNED 2129
+Greek Small Letters 03B1
+Greek Symbols 03D0
+greek tonos 030D
+GREEK TONOS 0384
+greek upper numeral sign 0374
+greek varia 0300
+greek vrachy 0306
+GREEK YPOGEGRAMMENI 037A
+GREEK YPOGEGRAMMENI, COMBINING 0345
+Greek, Extended 1F00
+GROUP SEPARATOR 001D
+guillemet, left pointing 00AB
+guillemet, left pointing single 2039
+guillemet, right pointing 00BB
+guillemet, right pointing single 203A
+Gujarati 0A80
+Gujarati Digits 0AE6
+Gujarati Letters 0A85
+GUJARATI OM 0AD0
+GUJARATI SIGN ANUSVARA 0A82
+GUJARATI SIGN AVAGRAHA 0ABD
+GUJARATI SIGN CANDRABINDU 0A81
+GUJARATI SIGN NUKTA 0ABC
+GUJARATI SIGN VIRAMA 0ACD
+GUJARATI SIGN VISARGA 0A83
+Gurmukhi 0A00
+GURMUKHI ADDAK 0A71
+Gurmukhi Digits 0A66
+GURMUKHI EK ONKAR 0A74
+Gurmukhi Letters 0A05
+GURMUKHI SIGN BINDI 0A02
+GURMUKHI SIGN NUKTA 0A3C
+GURMUKHI SIGN VIRAMA 0A4D
+GURMUKHI TIPPI 0A70
+H, BLACK-LETTER CAPITAL 210C
+H, DOUBLE-STRUCK CAPITAL 210D
+H, LATIN LETTER SMALL CAPITAL 029C
+H, LATIN SMALL LETTER TURNED 0265
+H, SCRIPT CAPITAL 210B
+hacek, combining 030C
+hacek, modifier letter 02C7
+HAIR SPACE 200A
+halant, bengali 09CD
+halant, devanagari 094D
+HALF FILL SPACE, IDEOGRAPHIC 303F
+HALF INTEGRAL, TOP 2320
+Half Marks, Combining FE20
+HALF RING BELOW, COMBINING LEFT 031C
+HALF RING BELOW, COMBINING RIGHT 0339
+HALF RING, ARMENIAN MODIFIER LETTER LEFT 0559
+half ring, armenian modifier letter right 055A
+HALF RING, MODIFIER LETTER CENTRED LEFT 02D3
+HALF RING, MODIFIER LETTER LEFT 02BF
+HALF RING, MODIFIER LETTER RIGHT 02BE
+HALF TRIANGULAR COLON, MODIFIER LETTER 02D1
+HALF, VULGAR FRACTION ONE 00BD
+Halfwidth and Fullwidth Forms FF00
+Halfwidth Japanese Katakana Variants FF61
+Halfwidth Korean Hangul Variants FFA0
+hamiltonian function 210B
+HAMMER AND SICKLE 262D
+Han Ideographs 4E00
+HAND, VICTORY 270C
+HAND, WRITING 270D
+HANGUL CHOSEONG FILLER 115F
+Hangul Combining Alphabet, Korean 1100
+Hangul Compatibility Jamo, Korean 3130
+Hangul Elements, Circled Korean 3260
+Hangul Elements, Parenthesized Korean 3200
+HANGUL FILLER 3164
+HANGUL JUNGSEONG FILLER 1160
+Hangul Letters (Jamo), Korean 1100
+Hangul Syllables, Circled Korean 326E
+Hangul Syllables, Korean AC00
+Hangul Syllables, Parenthesized Korean 320E
+Hangul Variants, Halfwidth Korean FFA0
+Hangul, Based on KS C 5601 (Korean) 3130
+Hangzhou-Style Numerals 3021
+Harakaat, Arabic 064B
+HARPOON ABOVE, COMBINING LEFT 20D0
+HARPOON ABOVE, COMBINING RIGHT 20D1
+hartsakan nshan, armenian 055E
+hat 0302
+have a nice day! 263A
+Hazard Dingbats 2620
+Heart Dingbats 2763
+Hebrew 0590
+Hebrew Accents or Cantillation marks 0591
+hebrew legarmeh 05C0
+Hebrew Letters 05D0
+Hebrew Ligatures or Digraphs, Yiddish 05F0
+Hebrew Points and Punctuation 05B0
+HEBREW PUNCTUATION GERESH 05F3
+HEBREW PUNCTUATION GERSHAYIM 05F4
+HEBREW PUNCTUATION MAQAF 05BE
+HEBREW PUNCTUATION PASEQ 05C0
+HEBREW PUNCTUATION SOF PASUQ 05C3
+HERMITIAN CONJUGATE MATRIX 22B9
+High Surrogates DB80
+High Surrogates, Private Use DB80
+HIGH TONE BAR, MODIFIER LETTER 02E6
+HIGH-REVERSED-9 QUOTATION MARK, DOUBLE 201F
+HIGH-REVERSED-9 QUOTATION MARK, SINGLE 201B
+higher rank than 227B
+HIRAGANA ITERATION MARK 309D
+Hiragana, Based on JIS X 0208 (Japanese) 3040
+histogram marker 25AE
+home 21B8
+HOMOTHETIC 223B
+HOOK ABOVE, COMBINING 0309
+HOOK BELOW, COMBINING PALATALIZED 0321
+HOOK BELOW, COMBINING RETROFLEX 0322
+hook, latin small letter d retroflex 0256
+HOOK, MODIFIER LETTER RHOTIC 02DE
+HORIZONTAL BAR 2015
+HORIZONTAL ELLIPSIS 2026
+HORIZONTAL ELLIPSIS, MIDLINE 22EF
+HORIZONTAL TABULATION 0009
+HORN, COMBINING 031B
+HOT SPRINGS 2668
+HOURGLASS 231B
+HOUSE 2302
+HV, LATIN SMALL LETTER 0195
+HYPHEN 2010
+HYPHEN BULLET 2043
+hyphen or minus sign 002D
+hyphen, discretionary 00AD
+HYPHEN, NON-BREAKING 2011
+HYPHEN, SOFT 00AD
+HYPHEN-MINUS 002D
+HYPHENATION POINT 2027
+hyphus 002D
+i dot, latin capital letter 0130
+I WITH DOT ABOVE, LATIN CAPITAL LETTER 0130
+I, BLACK-LETTER CAPITAL 2111
+I, LATIN LETTER SMALL CAPITAL 026A
+I, LATIN SMALL LETTER DOTLESS 0131
+I, SCRIPT CAPITAL 2110
+IDENTICAL TO 2261
+Ideographic Annotation, Japanese Kanbun 3190
+IDEOGRAPHIC CLOSING MARK 3006
+IDEOGRAPHIC COMMA 3001
+IDEOGRAPHIC FULL STOP 3002
+IDEOGRAPHIC HALF FILL SPACE 303F
+IDEOGRAPHIC ITERATION MARK 3005
+IDEOGRAPHIC NUMBER ZERO 3007
+IDEOGRAPHIC SPACE 3000
+Ideographic Tone Marks 302A
+Ideographs, Circled 3280
+Ideographs, CJK Compatibility F900
+Ideographs, CJK Unified 4E00
+Ideographs, Enclosed CJK Letters and 3200
+Ideographs, Han 4E00
+Ideographs, Parenthesized 3220
+IJ, LATIN SMALL LIGATURE 0133
+IMAGE OF 22B7
+IMAGE OF, SQUARE 228F
+imaginary part 2111
+implies, yields, proves 22A2
+inches 2033
+INCREMENT 2206
+Index Finger Dingbats, Pointing 261A
+indicator, backward arrow 25C5
+INDICATOR, FEMININE ORDINAL 00AA
+indicator, forward arrow 25BB
+INDICATOR, MASCULINE ORDINAL 00BA
+INDICATOR, POSITION 2316
+inferior order to, of 2134
+INFINITY 221E
+INHIBIT ARABIC FORM SHAPING 206C
+INHIBIT SYMMETRIC SWAPPING 206A
+INSERTION POINT, CARET 2041
+integers, the set of 2124
+INTEGRAL 222B
+INTEGRAL, ANTICLOCKWISE CONTOUR 2233
+INTEGRAL, CLOCKWISE 2231
+INTEGRAL, CLOCKWISE CONTOUR 2232
+INTEGRAL, CONTOUR 222E
+INTEGRAL, DOUBLE 222C
+integral, riemann 211B
+INTEGRAL, SURFACE 222F
+INTEGRAL, TOP HALF 2320
+INTEGRAL, TRIPLE 222D
+INTEGRAL, VOLUME 2230
+INTERCALATE 22BA
+International Phonetic Alphabet 0250
+INTERROBANG 203D
+INTERSECTION 2229
+INTERSECTION, DOUBLE 22D2
+INTERSECTION, N-ARY 22C2
+intersection, proper 22D4
+Inverse Numbers, Circled 2776
+Inverse Sans-Serif Numbers, Circled 278A
+INVERTED BREVE BELOW, COMBINING 032F
+INVERTED BREVE, COMBINING 0311
+INVERTED BREVE, COMBINING DOUBLE 0361
+INVERTED BRIDGE BELOW, COMBINING 033A
+INVERTED DOUBLE ARCH BELOW, COMBINING 032B
+INVERTED EXCLAMATION MARK 00A1
+INVERTED LAZY S 223E
+INVERTED OHM SIGN 2127
+INVERTED QUESTION MARK 00BF
+INVERTED R, LATIN LETTER SMALL CAPITAL 0281
+iota below, greek combining 0345
+iota adscript, greek 0399
+iota subscript, greek 0345
+IOTA, LATIN CAPITAL LETTER 0196
+IOTA, LATIN SMALL LETTER 0269
+IOTA, TURNED GREEK SMALL LETTER 2129
+IPA Extensions 0250
+iran, symbol of 262B
+ISCII 1988 (Devanagari), Based on 0901
+ISO 8859-1 (Latin-1), Based on 00A0
+ISO 8859-2, -3, -4, -9 (European Latin), Based on 0100
+ISO 8859-5 (Cyrillic), Based on 0400
+ISO 8859-6 (Arabic), Based on 0600
+ISO 8859-7 (Greek), Based on 0370
+ISO 8859-8 (Hebrew), Based on 05D0
+ISSHAR, BENGALI 09FA
+ISSHAR, ORIYA 0B70
+ITERATION MARK, HIRAGANA 309D
+ITERATION MARK, IDEOGRAPHIC 3005
+ITERATION MARK, KATAKANA 30FD
+jack 2749
+Jamo, Korean Hangul Compatibility 3130
+Jamo, Korean Hangul Letters 1100
+Japanese Era Names 337B
+Japanese Hiragana 3040
+JAPANESE INDUSTRIAL STANDARD SYMBOL 3004
+Japanese Kanbun (Ideographic Annotation) 3190
+Japanese Katakana 30A0
+Japanese Katakana Variants, Halfwidth FF61
+Japanese Katakana Words, Squared 3300
+Japanese Katakana, Circled 32D0
+japanese kome 203B
+JERUSALEM, CROSS OF 2629
+jis composition circle 20DD
+JIS X 0208 (Japanese Hiragana), Based on 3040
+JOINER, ZERO WIDTH 200D
+jot, apl 2218
+JUPITER 2643
+K, LATIN SMALL LETTER TURNED 029E
+KANA REPEAT MARK, VERTICAL 3031
+Kanbun (Ideographic Annotation), Japanese 3190
+Kannada 0C80
+Kannada Digits 0CE6
+Kannada Letters 0C85
+KANNADA SIGN ANUSVARA 0C82
+KANNADA SIGN VIRAMA 0CCD
+KANNADA SIGN VISARGA 0C83
+kashida, arabic 0640
+KATAKANA ITERATION MARK 30FD
+KATAKANA MIDDLE DOT 30FB
+Katakana Variants, Halfwidth Japanese FF61
+Katakana Words, Squared Japanese 3300
+Katakana, Circled Japanese 32D0
+Katakana, Japanese 30A0
+KATAKANA-HIRAGANA PROLONGED SOUND MARK 30FC
+KATAKANA-HIRAGANA VOICED SOUND MARK 309B
+KATAKANA-HIRAGANA VOICED SOUND MARK, COMBINING 3099
+KELVIN SIGN 212A
+keraia, greek aristeri 0375
+keraia, greek dexia 0374
+ket 232A
+key, clear 2327
+key, command 2318
+key, delete to the left 232B
+key, delete to the right 2326
+key, enter 2324
+KEY, OPTION 2325
+KEYBOARD 2328
+Khutsuri, Georgian Archaic Uppercase Alphabet 10A0
+kome, japanese 203B
+Korean Hangul Combining Alphabet 1100
+Korean Hangul Elements, Circled 3260
+Korean Hangul Elements, Parenthesized 3200
+Korean Hangul Letters (Jamo) 1100
+Korean Hangul Syllables AC00
+Korean Hangul Syllables, Circled 326E
+Korean Hangul Syllables, Parenthesized 320E
+Korean Hangul Variants, Halfwidth FFA0
+KOREAN STANDARD SYMBOL 327F
+KORONIS, COMBINING GREEK 0343
+KS C 5601 (Korean Hangul), Based on 3130
+L B BAR SYMBOL 2114
+L, LATIN LETTER SMALL CAPITAL 029F
+L, SCRIPT CAPITAL 2112
+L, SCRIPT SMALL 2113
+LAKKHANGYAO, THAI CHARACTER 0E45
+lambda bar, latin letter 019B
+Lao 0E80
+LAO CANCELLATION MARK 0ECC
+Lao Digits 0ED0
+LAO ELLIPSIS 0EAF
+Lao Letters 0E81
+LAO NIGGAHITA 0ECD
+laplace operator 2206
+laplace operator (written with superscript 2) 2207
+laplace symbol 2112
+LAST QUARTER MOON 263E
+Latin Abbreviations, Squared 3380
+LATIN CAPITAL LETTER AFRICAN D 0189
+latin capital letter barred o 019F
+LATIN CAPITAL LETTER ESH 01A9
+LATIN CAPITAL LETTER EZH 01B7
+LATIN CAPITAL LETTER GAMMA 0194
+LATIN CAPITAL LETTER I WITH DOT ABOVE 0130
+LATIN CAPITAL LETTER IOTA 0196
+LATIN CAPITAL LETTER REVERSED E 018E
+LATIN CAPITAL LETTER SCHWA 018F
+latin capital letter script v 01B2
+LATIN CAPITAL LETTER THORN 00DE
+latin capital letter turned E 018E
+LATIN CAPITAL LETTER TURNED M 019C
+LATIN CAPITAL LETTER UPSILON 01B1
+latin capital letter yogh 01B7
+Latin Capital Letters 0041
+LATIN CROSS 271D
+Latin Extended Additional 1E00
+Latin Extended-A 0100
+Latin Extended-B 0180
+latin letter bullseye 0298
+latin letter double pipe 01C1
+latin letter exclamation mark 01C3
+LATIN LETTER GLOTTAL STOP 0294
+latin letter lambda bar 019B
+latin letter pipe 01C0
+latin letter pipe double bar 01C2
+LATIN LETTER REVERSED ESH LOOP 01AA
+latin letter reversed glottal stop 0295
+LATIN LETTER SMALL CAPITAL B 0299
+LATIN LETTER SMALL CAPITAL G 0262
+LATIN LETTER SMALL CAPITAL H 029C
+LATIN LETTER SMALL CAPITAL I 026A
+LATIN LETTER SMALL CAPITAL INVERTED R 0281
+LATIN LETTER SMALL CAPITAL L 029F
+LATIN LETTER SMALL CAPITAL N 0274
+LATIN LETTER SMALL CAPITAL OE 0276
+LATIN LETTER SMALL CAPITAL R 0280
+LATIN LETTER SMALL CAPITAL Y 028F
+LATIN LETTER WYNN 01BF
+LATIN LETTER YR 01A6
+Latin Letters, Circled 24B6
+Latin Letters, Parenthesized 249C
+Latin Letters, Phonetic Modifiers Derived from 02B0
+LATIN SMALL LETTER AE 00E6
+LATIN SMALL LETTER ALPHA 0251
+latin small letter baby gamma 0264
+LATIN SMALL LETTER BARRED O 0275
+latin small letter d retroflex hook 0256
+LATIN SMALL LETTER DEZH DIGRAPH 02A4
+LATIN SMALL LETTER DOTLESS I 0131
+LATIN SMALL LETTER DZ 01F3
+LATIN SMALL LETTER DZ DIGRAPH 02A3
+LATIN SMALL LETTER ENG 014B
+latin small letter epsilon 025B
+LATIN SMALL LETTER ESH 0283
+LATIN SMALL LETTER ETH 00F0
+LATIN SMALL LETTER EZH 0292
+LATIN SMALL LETTER EZH REVERSED 01B9
+LATIN SMALL LETTER GAMMA 0263
+LATIN SMALL LETTER HV 0195
+LATIN SMALL LETTER IOTA 0269
+LATIN SMALL LETTER LEZH 026E
+LATIN SMALL LETTER LJ 01C9
+LATIN SMALL LETTER LONG S 017F
+LATIN SMALL LETTER NJ 01CC
+LATIN SMALL LETTER PHI 0278
+LATIN SMALL LETTER RAMS HORN 0264
+LATIN SMALL LETTER REVERSED E 0258
+LATIN SMALL LETTER SCHWA 0259
+latin small letter script a 0251
+latin small letter script f 0192
+LATIN SMALL LETTER SCRIPT G 0261
+latin small letter script v 028B
+LATIN SMALL LETTER SHARP S 00DF
+LATIN SMALL LETTER TESH DIGRAPH 02A7
+LATIN SMALL LETTER THORN 00FE
+LATIN SMALL LETTER TS DIGRAPH 02A6
+LATIN SMALL LETTER TURNED A 0250
+LATIN SMALL LETTER TURNED ALPHA 0252
+LATIN SMALL LETTER TURNED DELTA 018D
+LATIN SMALL LETTER TURNED E 01DD
+LATIN SMALL LETTER TURNED H 0265
+LATIN SMALL LETTER TURNED K 029E
+LATIN SMALL LETTER TURNED M 026F
+LATIN SMALL LETTER TURNED R 0279
+LATIN SMALL LETTER TURNED T 0287
+LATIN SMALL LETTER TURNED V 028C
+LATIN SMALL LETTER TURNED W 028D
+LATIN SMALL LETTER TURNED Y 028E
+LATIN SMALL LETTER UPSILON 028A
+latin small letter yogh 0292
+Latin Small Letters 0061
+latin small ligature ae 00E6
+LATIN SMALL LIGATURE IJ 0133
+LATIN SMALL LIGATURE OE 0153
+Latin, Based on ISO 8859-2, -3, -4, -9 (European) 0100
+Latin, C0 Controls and Basic 0000
+Latin, Extended 0180
+Latin-1 Supplement, C1 Controls and 0080
+lazy s 223D
+LAZY S, INVERTED 223E
+LEADER, ONE DOT 2024
+leader, three dot 2026
+LEADER, TWO DOT 2025
+LEFT ANGLE ABOVE, COMBINING 031A
+LEFT ANGLE BRACKET 3008
+LEFT ARROW ABOVE, COMBINING 20D6
+LEFT BLACK LENTICULAR BRACKET 3010
+LEFT CEILING 2308
+LEFT CORNER BRACKET 300C
+LEFT CORNER, TOP 231C
+LEFT CROP, TOP 230F
+LEFT CURLY BRACKET 007B
+LEFT DOUBLE ANGLE BRACKET 300A
+LEFT DOUBLE QUOTATION MARK 201C
+LEFT FLOOR 230A
+LEFT HALF RING BELOW, COMBINING 031C
+LEFT HALF RING, ARMENIAN MODIFIER LETTER 0559
+LEFT HALF RING, MODIFIER LETTER 02BF
+LEFT HALF RING, MODIFIER LETTER CENTRED 02D3
+LEFT HARPOON ABOVE, COMBINING 20D0
+LEFT NORMAL FACTOR SEMIDIRECT PRODUCT 22C9
+LEFT PARENTHESIS 0028
+LEFT PARENTHESIS, ORNATE FD3E
+left pointing guillemet 00AB
+left pointing single guillemet 2039
+LEFT RIGHT ARROW ABOVE, COMBINING 20E1
+LEFT SEMIDIRECT PRODUCT 22CB
+LEFT SINGLE QUOTATION MARK 2018
+LEFT SQUARE BRACKET 005B
+LEFT SQUARE BRACKET WITH QUILL 2045
+LEFT TACK 22A3
+LEFT TACK BELOW, COMBINING 0318
+LEFT TORTOISE SHELL BRACKET 3014
+LEFT WHITE CORNER BRACKET 300E
+LEFT WHITE LENTICULAR BRACKET 3016
+LEFT WHITE SQUARE BRACKET 301A
+LEFT WHITE TORTOISE SHELL BRACKET 3018
+LEFT-POINTING ANGLE BRACKET 2329
+LEFT-POINTING ANGLE QUOTATION MARK, SINGLE 2039
+LEFT-POINTING DOUBLE ANGLE QUOTATION MARK 00AB
+LEFT-TO-RIGHT EMBEDDING 202A
+LEFT-TO-RIGHT MARK 200E
+LEFT-TO-RIGHT OVERRIDE 202D
+leftward tab 21E4
+legarmeh, hebrew 05C0
+LENTICULAR BRACKET, LEFT BLACK 3010
+LENTICULAR BRACKET, LEFT WHITE 3016
+LEO 264C
+LESS-THAN OR EQUAL TO 2264
+LESS-THAN SIGN 003C
+LESS-THAN WITH DOT 22D6
+LESS-THAN, MUCH 226A
+LESS-THAN, VERY MUCH 22D8
+Letterlike Symbols 2100
+Letters (Jamo), Korean Hangul 1100
+Letters and Ideographs, Enclosed CJK 3200
+Letters, Arabic 0627
+Letters, Armenian Capital 0531
+Letters, Armenian Small 0561
+Letters, Bengali 0985
+Letters, Circled Latin 24B6
+Letters, Coptic-Unique 03E2
+Letters, Croatian Digraphs Matching Serbian Cyrillic 01C4
+Letters, Cyrillic Capital 0401
+Letters, Cyrillic Small 0430
+Letters, Devanagari 0905
+Letters, Extended Arabic 0671
+Letters, Georgian Capital 10A0
+Letters, Georgian Small 10D0
+Letters, Greek Capital 0391
+Letters, Greek Small 03B1
+Letters, Gujarati 0A85
+Letters, Gurmukhi 0A05
+Letters, Hebrew 05D0
+Letters, Kannada 0C85
+Letters, Lao 0E81
+Letters, Latin Capital 0041
+Letters, Latin Small 0061
+Letters, Malayalam 0D05
+Letters, Oriya 0B05
+Letters, Parenthesized Latin 249C
+Letters, Phonetic Modifiers Derived from Latin 02B0
+Letters, Spacing Modifier 02B0
+Letters, Tamil 0B85
+Letters, Telugu 0C05
+Letters, Thai 0E01
+Letters, Tibetan 0F40
+Letters, Tone 02E5
+LEZH, LATIN SMALL LETTER 026E
+LIBRA 264E
+ligature ae, latin small 00E6
+LIGATURE IJ, LATIN SMALL 0133
+LIGATURE OE, LATIN SMALL 0153
+Ligatures or Digraphs, Yiddish Hebrew 05F0
+LIGHTNING 2607
+LIMIT, APPROACHES THE 2250
+LINE ABOVE, COMBINING DOUBLE VERTICAL 030E
+LINE ABOVE, COMBINING VERTICAL 030D
+LINE BELOW, COMBINING VERTICAL 0329
+LINE FEED 000A
+line feed 21B4
+line marker 2319
+LINE OVERLAY, COMBINING LONG VERTICAL 20D2
+LINE OVERLAY, COMBINING SHORT VERTICAL 20D3
+LINE SEPARATOR 2028
+line, beginning of 2310
+LINE, COMBINING DOUBLE LOW 0333
+LINE, COMBINING LOW 0332
+LINE, DOUBLE LOW 2017
+LINE, DOUBLE VERTICAL 2016
+LINE, LOW 005F
+LINE, MODIFIER LETTER LOW VERTICAL 02CC
+LINE, MODIFIER LETTER VERTICAL 02C8
+line, new 21B5
+LINE, VERTICAL 007C
+LINE, WAVY 2307
+LIRA SIGN 20A4
+liter 2113
+LJ, LATIN SMALL LETTER 01C9
+lock, caps 21EA
+LOGICAL AND 2227
+LOGICAL AND, CURLY 22CF
+LOGICAL AND, N-ARY 22C0
+LOGICAL OR 2228
+LOGICAL OR, CURLY 22CE
+LOGICAL OR, N-ARY 22C1
+long 0304
+LONG S, LATIN SMALL LETTER 017F
+long slash overlay 0338
+LONG SOLIDUS OVERLAY, COMBINING 0338
+LONG STROKE OVERLAY, COMBINING 0336
+LONG VERTICAL LINE OVERLAY, COMBINING 20D2
+LOW ACUTE ACCENT, MODIFIER LETTER 02CF
+low double comma quotation mark 201E
+LOW DOUBLE PRIME QUOTATION MARK 301F
+LOW GRAVE ACCENT, MODIFIER LETTER 02CE
+LOW LINE 005F
+LOW LINE, COMBINING 0332
+LOW LINE, COMBINING DOUBLE 0333
+LOW LINE, DOUBLE 2017
+LOW MACRON, MODIFIER LETTER 02CD
+low single comma quotation mark 201A
+Low Surrogates DC00
+LOW TONE BAR, MODIFIER LETTER 02E8
+LOW VERTICAL LINE, MODIFIER LETTER 02CC
+LOW-9 QUOTATION MARK, DOUBLE 201E
+LOW-9 QUOTATION MARK, SINGLE 201A
+LOWER NUMERAL SIGN, GREEK 0375
+lower rank than 227A
+LOZENGE 25CA
+LOZENGE, SQUARE 2311
+lre 202A
+lrm 200E
+lro 202D
+M, LATIN CAPITAL LETTER TURNED 019C
+M, LATIN SMALL LETTER TURNED 026F
+M, SCRIPT CAPITAL 2133
+m-matrix (physics) 2133
+MACRON 00AF
+MACRON BELOW, COMBINING 0331
+MACRON, COMBINING 0304
+MACRON, MODIFIER LETTER 02C9
+MACRON, MODIFIER LETTER LOW 02CD
+macron, spacing 00AF
+MAIYAMOK, THAI CHARACTER 0E46
+Malayalam 0D00
+Malayalam Digits 0D66
+Malayalam Letters 0D05
+MALAYALAM SIGN ANUSVARA 0D02
+MALAYALAM SIGN VIRAMA 0D4D
+MALAYALAM SIGN VISARGA 0D03
+MALE SIGN 2642
+MALTESE CROSS 2720
+MAQAF, HEBREW PUNCTUATION 05BE
+Marks for Symbols, Combining Diacritical 20D0
+Marks, Combining Diacritical 0300
+Marks, Combining Half FE20
+Marks, Double Diacritical 0360
+Marks, Enclosing Diacritical 20DD
+Marks, Generic Diacritical 0300
+marks, Hebrew Accents or Cantillation 0591
+Marks, Ideographic Tone 302A
+Marks, Overstruck Diacritical 0334
+Marks, Vietnamese Tone 0340
+mars 2642
+MASCULINE ORDINAL INDICATOR 00BA
+Mathematical Operators 2200
+MEASURED ANGLE 2221
+MEASURED BY 225E
+MERCURY 263F
+MICRO SIGN 00B5
+MID TONE BAR, MODIFIER LETTER 02E7
+MIDDLE DOT 00B7
+middle dot, greek 00B7
+MIDDLE DOT, KATAKANA 30FB
+MIDLINE HORIZONTAL ELLIPSIS 22EF
+MILL SIGN 20A5
+MILLE SIGN, PER 2030
+milreis 0024
+minim (alternate glyph) 264D
+minim, drop 264F
+MINUS SIGN 2212
+MINUS SIGN BELOW, COMBINING 0320
+minus sign, hyphen or 002D
+MINUS SIGN, MODIFIER LETTER 02D7
+MINUS TILDE 2242
+MINUS, CIRCLED 2296
+MINUS, DOT 2238
+MINUS, SET 2216
+MINUS, SQUARED 229F
+MINUS-OR-PLUS SIGN 2213
+minutes 2032
+Miscellaneous Dingbats 2600
+Miscellaneous Symbols 2600
+Miscellaneous Technical 2300
+Mkhedruli, Georgian Modern Lowercase Alphabet 10D0
+MODELS 22A7
+MODIFIER LETTER ACUTE ACCENT 02CA
+MODIFIER LETTER APOSTROPHE 02BC
+Modifier Letter Arrowheads 02C2
+MODIFIER LETTER CENTRED LEFT HALF RING 02D3
+MODIFIER LETTER CIRCUMFLEX ACCENT 02C6
+MODIFIER LETTER DOUBLE PRIME 02BA
+MODIFIER LETTER DOWN TACK 02D5
+MODIFIER LETTER EXTRA-HIGH TONE BAR 02E5
+MODIFIER LETTER EXTRA-LOW TONE BAR 02E9
+MODIFIER LETTER GLOTTAL STOP 02C0
+MODIFIER LETTER GRAVE ACCENT 02CB
+modifier letter hacek 02C7
+MODIFIER LETTER HALF TRIANGULAR COLON 02D1
+MODIFIER LETTER HIGH TONE BAR 02E6
+MODIFIER LETTER LEFT HALF RING 02BF
+MODIFIER LETTER LEFT HALF RING, ARMENIAN 0559
+MODIFIER LETTER LOW ACUTE ACCENT 02CF
+MODIFIER LETTER LOW GRAVE ACCENT 02CE
+MODIFIER LETTER LOW MACRON 02CD
+MODIFIER LETTER LOW TONE BAR 02E8
+MODIFIER LETTER LOW VERTICAL LINE 02CC
+MODIFIER LETTER MACRON 02C9
+MODIFIER LETTER MID TONE BAR 02E7
+MODIFIER LETTER MINUS SIGN 02D7
+MODIFIER LETTER PLUS SIGN 02D6
+MODIFIER LETTER PRIME 02B9
+MODIFIER LETTER REVERSED COMMA 02BD
+MODIFIER LETTER RIGHT HALF RING 02BE
+modifier letter right half ring, armenian 055A
+MODIFIER LETTER TRIANGULAR COLON 02D0
+MODIFIER LETTER TURNED COMMA 02BB
+MODIFIER LETTER UP TACK 02D4
+MODIFIER LETTER VERTICAL LINE 02C8
+Modifier Letters, Spacing 02B0
+Modifiers Derived from Latin Letters, Phonetic 02B0
+MOON, FIRST QUARTER 263D
+MOON, LAST QUARTER 263E
+most positive 223E
+MUCH GREATER-THAN 226B
+MUCH GREATER-THAN, VERY 22D9
+MUCH LESS-THAN 226A
+MUCH LESS-THAN, VERY 22D8
+MULTIMAP 22B8
+MULTIPLICATION SIGN 00D7
+MULTIPLICATION X 2715
+MULTIPLICATION, MULTISET 228D
+MULTISET 228C
+MULTISET MULTIPLICATION 228D
+MULTISET UNION 228E
+Music Dingbats 2669
+MUSIC FLAT SIGN 266D
+MUSIC NATURAL SIGN 266E
+MUSIC SHARP SIGN 266F
+N, DOUBLE-STRUCK CAPITAL 2115
+N, LATIN LETTER SMALL CAPITAL 0274
+N-ARY COPRODUCT 2210
+N-ARY INTERSECTION 22C2
+N-ARY LOGICAL AND 22C0
+N-ARY LOGICAL OR 22C1
+N-ARY PRODUCT 220F
+N-ARY SUMMATION 2211
+N-ARY UNION 22C3
+NABLA 2207
+NAIRA SIGN 20A6
+NAND 22BC
+NATIONAL DIGIT SHAPES 206E
+natural number 2115
+NATURAL SIGN, MUSIC 266E
+nearly equals 2252
+NEGATIVE ACKNOWLEDGE 0015
+NEPTUNE 2646
+new line 21B5
+NEW SHEQEL SIGN 20AA
+nice day!, have a 263A
+NIGGAHITA, LAO 0ECD
+NJ, LATIN SMALL LETTER 01CC
+NO-BREAK SPACE 00A0
+NO-BREAK SPACE, ZERO WIDTH FEFF
+NODE, ASCENDING 260A
+NODE, DESCENDING 260B
+NOMINAL DIGIT SHAPES 206F
+NON-BREAKING HYPHEN 2011
+non-breaking space 00A0
+NON-JOINER, ZERO WIDTH 200C
+NOR 22BD
+NORMAL FACTOR SEMIDIRECT PRODUCT, LEFT 22C9
+NORMAL SUBGROUP OF 22B2
+NORMAL SUBGROUP, CONTAINS AS 22B3
+not 223C
+Not a Character Code FFFE
+Not a Character Code FFFF
+NOT EQUAL TO 2260
+NOT SIGN 00AC
+NOT SIGN, REVERSED 2310
+NOT SIGN, TURNED 2319
+NOT TILDE 2241
+NOTE, EIGHTH 266A
+NOTE, QUARTER 2669
+NOTES, BEAMED EIGHTH 266B
+NOTES, BEAMED SIXTEENTH 266C
+NUKTA, BENGALI SIGN 09BC
+NUKTA, DEVANAGARI SIGN 093C
+NUKTA, GUJARATI SIGN 0ABC
+NUKTA, GURMUKHI SIGN 0A3C
+NUKTA, ORIYA SIGN 0B3C
+NULL 0000
+null set 2205
+Number Forms 2150
+NUMBER SIGN 0023
+number symbol, real 210A
+NUMBER ZERO, IDEOGRAPHIC 3007
+number, natural 2115
+Numbers Period 2488
+Numbers, Circled 2460
+Numbers, Circled Inverse 2776
+Numbers, Circled Inverse Sans-Serif 278A
+Numbers, Circled Sans-Serif 2780
+Numbers, Parenthesized 2474
+numbers, the set of complex 2102
+numbers, the set of rational 211A
+numbers, the set of real 211D
+NUMERAL SIGN, GREEK 0374
+NUMERAL SIGN, GREEK LOWER 0375
+numeral sign, greek upper 0374
+Numerals, Hangzhou-Style 3021
+Numerals, Roman 2160
+NUMERATOR ONE, FRACTION 215F
+NUMERO SIGN 2116
+o, latin capital letter barred 019F
+O, LATIN SMALL LETTER BARRED 0275
+O, SCRIPT SMALL 2134
+OCR, Optical Character Recognition 2440
+OE, LATIN LETTER SMALL CAPITAL 0276
+OE, LATIN SMALL LIGATURE 0153
+OGONEK 02DB
+OGONEK, COMBINING 0328
+OHM SIGN 2126
+OHM SIGN, INVERTED 2127
+OM, DEVANAGARI 0950
+OM, GUJARATI 0AD0
+ONE DOT LEADER 2024
+ONE EIGHTH, VULGAR FRACTION 215B
+ONE FIFTH, VULGAR FRACTION 2155
+ONE HALF, VULGAR FRACTION 00BD
+ONE QUARTER, VULGAR FRACTION 00BC
+ONE SIXTH, VULGAR FRACTION 2159
+ONE THIRD, VULGAR FRACTION 2153
+ONE, FRACTION NUMERATOR 215F
+ONE, SUPERSCRIPT 00B9
+one, superscript digit 00B9
+opening brace 007B
+opening curly bracket 007B
+opening parenthesis 0028
+opening square bracket 005B
+OPERATOR, ASTERISK 2217
+OPERATOR, BULLET 2219
+OPERATOR, CIRCLED ASTERISK 229B
+OPERATOR, CIRCLED DOT 2299
+OPERATOR, CIRCLED RING 229A
+OPERATOR, DIAMOND 22C4
+OPERATOR, DOT 22C5
+operator, laplace 2206
+OPERATOR, RING 2218
+OPERATOR, SQUARED DOT 22A1
+OPERATOR, STAR 22C6
+OPERATOR, TILDE 223C
+Operators, Mathematical 2200
+OPPOSITION 260D
+Optical Character Recognition (OCR) 2440
+OPTION KEY 2325
+OR, CURLY LOGICAL 22CE
+OR, LOGICAL 2228
+OR, N-ARY LOGICAL 22C1
+ORDINAL INDICATOR, FEMININE 00AA
+ORDINAL INDICATOR, MASCULINE 00BA
+ORIGIN, DIMENSION 2331
+ORIGINAL OF 22B6
+ORIGINAL OF, SQUARE 2290
+Oriya 0B00
+Oriya Digits 0B66
+ORIYA ISSHAR 0B70
+Oriya Letters 0B05
+ORIYA SIGN ANUSVARA 0B02
+ORIYA SIGN AVAGRAHA 0B3D
+ORIYA SIGN CANDRABINDU 0B01
+ORIYA SIGN NUKTA 0B3C
+ORIYA SIGN VIRAMA 0B4D
+ORIYA SIGN VISARGA 0B03
+ORNATE LEFT PARENTHESIS FD3E
+ORTHODOX CROSS 2626
+orthogonal to 22A5
+OUNCE SIGN 2125
+overbar, apl 00AF
+OVERLAY, COMBINING ANTICLOCKWISE RING 20DA
+OVERLAY, COMBINING CLOCKWISE RING 20D9
+OVERLAY, COMBINING LONG SOLIDUS 0338
+OVERLAY, COMBINING LONG STROKE 0336
+OVERLAY, COMBINING LONG VERTICAL LINE 20D2
+OVERLAY, COMBINING RING 20D8
+OVERLAY, COMBINING SHORT SOLIDUS 0337
+OVERLAY, COMBINING SHORT STROKE 0335
+OVERLAY, COMBINING SHORT VERTICAL LINE 20D3
+OVERLAY, COMBINING TILDE 0334
+overlay, long slash 0338
+overlay, short slash 0337
+overline 00AF
+OVERLINE 203E
+OVERLINE, COMBINING 0305
+OVERLINE, COMBINING DOUBLE 033F
+OVERRIDE, LEFT-TO-RIGHT 202D
+OVERRIDE, RIGHT-TO-LEFT 202E
+overscore 0305
+overscore, spacing 203E
+Overscores and Underscores FE49
+Overstruck Diacritical Marks 0334
+oxia, greek 0301
+P, DOUBLE-STRUCK CAPITAL 2119
+P, SCRIPT CAPITAL 2118
+page down 21DF
+page up 21DE
+PAIYANNOI, THAI CHARACTER 0E2F
+PALATALIZATION, COMBINING CYRILLIC 0484
+PALATALIZED HOOK BELOW, COMBINING 0321
+PARAGRAPH SEPARATOR 2029
+PARAGRAPH SEPARATOR, GEORGIAN 10FB
+paragraph separator, urdu 203B
+paragraph sign 00B6
+PARAGRAPH SIGN ORNAMENT, CURVED STEM 2761
+PARALLEL TO 2225
+PARALLEL TO, EQUAL AND 22D5
+parenthesis, closing 0029
+PARENTHESIS, LEFT 0028
+parenthesis, opening 0028
+PARENTHESIS, ORNATE LEFT FD3E
+PARENTHESIS, RIGHT 0029
+Parenthesized Ideographs 3220
+Parenthesized Korean Hangul Elements 3200
+Parenthesized Korean Hangul Syllables 320E
+Parenthesized Latin Letters 249C
+Parenthesized Numbers 2474
+PARTIAL DIFFERENTIAL 2202
+PASEQ, HEBREW PUNCTUATION 05C0
+PASUQ, HEBREW PUNCTUATION SOF 05C3
+patiw, armenian 055F
+pdf 202C
+PEACE SYMBOL 262E
+Pencil Dingbats 270E
+per 2118
+PER MILLE SIGN 2030
+PER TEN THOUSAND SIGN 2031
+PERCENT SIGN 0025
+PERCENT SIGN, ARABIC 066A
+period 002E
+PERISPOMENI, COMBINING GREEK 0342
+perpendicular 22A5
+Persian and Urdu, Eastern Arabic-Indic Digits 06F0
+PERSPECTIVE 2306
+PESETA SIGN 20A7
+PHI, LATIN SMALL LETTER 0278
+Phonetic Alphabet, International 0250
+Phonetic Modifiers Derived from Latin Letters 02B0
+phrase separator, devanagari 0964
+PILCROW SIGN 00B6
+Pinyin Diacritic-Vowel Combinations 01CD
+pipe double bar, latin letter 01C2
+pipe, latin letter 01C0
+pipe, latin letter double 01C1
+PISCES 2653
+PITCHFORK 22D4
+PLACE OF INTEREST SIGN 2318
+plaintiff 226C
+PLANCK CONSTANT 210E
+PLANCK CONSTANT OVER TWO PI 210F
+Planet Symbols 263F
+PLUS SIGN 002B
+PLUS SIGN BELOW, COMBINING 031F
+PLUS SIGN, MODIFIER LETTER 02D6
+PLUS, CIRCLED 2295
+PLUS, DOT 2214
+PLUS, SQUARED 229E
+PLUS-MINUS SIGN 00B1
+PLUTO 2647
+PNEUMATA, COMBINING CYRILLIC DASIA 0485
+PNEUMATA, COMBINING CYRILLIC PSILI 0486
+Pointers 25BA
+Pointing Index Finger Dingbats 261A
+Points and Punctuation, Hebrew 05B0
+poison 2620
+POP DIRECTIONAL FORMATTING 202C
+POSITION INDICATOR 2316
+POSTAL MARK 3012
+POSTAL MARK FACE 3020
+POSTAL MARK, CIRCLED 3036
+pound sign 0023
+POUND SIGN 00A3
+pound sterling 00A3
+pounds 2114
+power set 2118
+PRECEDES 227A
+PRECEDES UNDER RELATION 22B0
+PRESCRIPTION TAKE 211E
+Presentation Forms, Alphabetic FB00
+Presentation Forms-A, Arabic FB50
+Presentation Forms-B, Arabic FE70
+PRIME 2032
+PRIME QUOTATION MARK, DOUBLE 301E
+PRIME QUOTATION MARK, LOW DOUBLE 301F
+PRIME QUOTATION MARK, REVERSED DOUBLE 301D
+PRIME, DOUBLE 2033
+PRIME, MODIFIER LETTER 02B9
+PRIME, MODIFIER LETTER DOUBLE 02BA
+PRIME, REVERSED 2035
+PRIME, REVERSED DOUBLE 2036
+PRIME, REVERSED TRIPLE 2037
+PRIME, TRIPLE 2034
+Private Use Area E000
+Private Use High Surrogates DB80
+product sign 220F
+product, direct 2299
+PRODUCT, LEFT NORMAL FACTOR SEMIDIRECT 22C9
+PRODUCT, LEFT SEMIDIRECT 22CB
+PRODUCT, N-ARY 220F
+product, tensor 2297
+PRODUCT, WREATH 2240
+PROJECTIVE 2305
+PROLONGED SOUND MARK, KATAKANA-HIRAGANA 30FC
+PROOF, END OF 220E
+proper intersection 22D4
+PROPORTION 2237
+PROPORTION, GEOMETRIC 223A
+PROPORTIONAL TO 221D
+proportional to, varies with 223C
+proves, implies, yields 22A2
+PSILI PNEUMATA, COMBINING CYRILLIC 0486
+psili, greek 0313
+published 2117
+Punctuation, CJK Symbols and 3000
+Punctuation, General 2000
+Q, DOUBLE-STRUCK CAPITAL 211A
+qed 220E
+QUAD, EM 2001
+QUAD, EN 2000
+quadrature 25A1
+quantic 226C
+QUARTER MOON, FIRST 263D
+QUARTER MOON, LAST 263E
+QUARTER NOTE 2669
+QUESTION MARK 003F
+QUESTION MARK, ARABIC 061F
+QUESTION MARK, ARMENIAN 055E
+QUESTION MARK, GREEK 037E
+QUESTION MARK, INVERTED 00BF
+QUESTIONED EQUAL TO 225F
+quotation dash 2015
+QUOTATION MARK 0022
+Quotation Mark Dingbats 275B
+Quotation Mark Ornaments 275B
+quotation mark, double comma 201D
+QUOTATION MARK, DOUBLE HIGH-REVERSED-9 201F
+QUOTATION MARK, DOUBLE LOW-9 201E
+QUOTATION MARK, DOUBLE PRIME 301E
+quotation mark, double reversed comma 201F
+quotation mark, double turned comma 201C
+QUOTATION MARK, LEFT DOUBLE 201C
+QUOTATION MARK, LEFT SINGLE 2018
+QUOTATION MARK, LEFT-POINTING DOUBLE ANGLE 00AB
+quotation mark, low double comma 201E
+QUOTATION MARK, LOW DOUBLE PRIME 301F
+quotation mark, low single comma 201A
+QUOTATION MARK, REVERSED DOUBLE PRIME 301D
+QUOTATION MARK, RIGHT DOUBLE 201D
+QUOTATION MARK, RIGHT SINGLE 2019
+QUOTATION MARK, RIGHT-POINTING DOUBLE ANGLE 00BB
+quotation mark, single comma 2019
+QUOTATION MARK, SINGLE HIGH-REVERSED-9 201B
+QUOTATION MARK, SINGLE LEFT-POINTING ANGLE 2039
+QUOTATION MARK, SINGLE LOW-9 201A
+quotation mark, single reversed comma 201B
+QUOTATION MARK, SINGLE RIGHT-POINTING ANGLE 203A
+quotation mark, single turned comma 2018
+quote, apl 0022
+R, BLACK-LETTER CAPITAL 211C
+R, DOUBLE-STRUCK CAPITAL 211D
+R, LATIN LETTER SMALL CAPITAL 0280
+R, LATIN LETTER SMALL CAPITAL INVERTED 0281
+R, LATIN SMALL LETTER TURNED 0279
+R, SCRIPT CAPITAL 211B
+radical sign 221A
+RADIOACTIVE SIGN 2622
+rainy weather 2602
+RAMS HORN, LATIN SMALL LETTER 0264
+rank than, higher 227B
+rank than, lower 227A
+RATIO 2236
+ratio, cross 211E
+rational numbers, the set of 211A
+real number symbol 210A
+real numbers, the set of 211D
+real part symbol 211C
+recipe 211E
+RECORD SEPARATOR 001E
+RECORDER, TELEPHONE 2315
+RECORDING COPYRIGHT, SOUND 2117
+RECTANGLE BOX, X IN A 2327
+RECTANGLE, BLACK 25AC
+RECTANGLE, WHITE 25AD
+reduces to 22A6
+reducible 22A2
+REFERENCE MARK 203B
+REGISTERED SIGN 00AE
+registered trade mark sign 00AE
+RELATION, PRECEDES UNDER 22B0
+RELATION, SUCCEEDS UNDER 22B1
+Religious Symbols 2625
+REPEAT MARK, VERTICAL KANA 3031
+REPLACEMENT CHARACTER FFFD
+resistance 2126
+RESPONSE 211F
+results in 22A8
+RETROFLEX HOOK BELOW, COMBINING 0322
+retroflex hook, latin small letter d 0256
+REVERSE SOLIDUS 005C
+reverse turnstile 22A3
+REVERSED COMMA ABOVE, COMBINING 0314
+reversed comma quotation mark, double 201F
+reversed comma quotation mark, single 201B
+REVERSED COMMA, MODIFIER LETTER 02BD
+REVERSED DOUBLE PRIME 2036
+REVERSED DOUBLE PRIME QUOTATION MARK 301D
+REVERSED E, LATIN CAPITAL LETTER 018E
+REVERSED E, LATIN SMALL LETTER 0258
+REVERSED ESH LOOP, LATIN LETTER 01AA
+reversed glottal stop, latin letter 0295
+REVERSED NOT SIGN 2310
+REVERSED PRIME 2035
+REVERSED TILDE 223D
+REVERSED TILDE EQUALS 22CD
+REVERSED TRIPLE PRIME 2037
+REVERSED, LATIN SMALL LETTER EZH 01B9
+RHOTIC HOOK, MODIFIER LETTER 02DE
+riemann integral 211B
+RIGHT ANGLE 221F
+RIGHT ANGLE WITH ARC 22BE
+RIGHT ARROW ABOVE, COMBINING 20D7
+RIGHT ARROW ABOVE, COMBINING LEFT 20E1
+RIGHT CURLY BRACKET 007D
+RIGHT DIAGONAL ELLIPSIS, DOWN 22F1
+RIGHT DIAGONAL ELLIPSIS, UP 22F0
+RIGHT DOUBLE QUOTATION MARK 201D
+RIGHT HALF RING BELOW, COMBINING 0339
+right half ring, armenian modifier letter 055A
+RIGHT HALF RING, MODIFIER LETTER 02BE
+RIGHT HARPOON ABOVE, COMBINING 20D1
+right key, delete to the 2326
+RIGHT PARENTHESIS 0029
+right pointing guillemet 00BB
+right pointing single guillemet 203A
+RIGHT SINGLE QUOTATION MARK 2019
+RIGHT SQUARE BRACKET 005D
+RIGHT TACK 22A2
+RIGHT TACK BELOW, COMBINING 0319
+RIGHT TRIANGLE 22BF
+RIGHT TURNSTILE, DOUBLE VERTICAL BAR DOUBLE 22AB
+RIGHT TURNSTILE, TRIPLE VERTICAL BAR 22AA
+RIGHT-POINTING ANGLE BRACKET 232A
+RIGHT-POINTING ANGLE QUOTATION MARK, SINGLE 203A
+RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK 00BB
+RIGHT-TO-LEFT EMBEDDING 202B
+RIGHT-TO-LEFT MARK 200F
+RIGHT-TO-LEFT OVERRIDE 202E
+rightward tab 21E5
+RING ABOVE 02DA
+RING ABOVE, COMBINING 030A
+RING BELOW, COMBINING 0325
+RING BELOW, COMBINING LEFT HALF 031C
+RING BELOW, COMBINING RIGHT HALF 0339
+RING EQUAL TO 2257
+RING IN EQUAL TO 2256
+RING OPERATOR 2218
+RING OPERATOR, CIRCLED 229A
+RING OVERLAY, COMBINING 20D8
+RING OVERLAY, COMBINING ANTICLOCKWISE 20DA
+RING OVERLAY, COMBINING CLOCKWISE 20D9
+RING, ARMENIAN MODIFIER LETTER LEFT HALF 0559
+ring, armenian modifier letter right half 055A
+RING, BENZENE 232C
+RING, MODIFIER LETTER CENTRED LEFT HALF 02D3
+RING, MODIFIER LETTER LEFT HALF 02BF
+RING, MODIFIER LETTER RIGHT HALF 02BE
+rle 202B
+rlm 200F
+rlo 202E
+Roman Numerals 2160
+ROOT, CUBE 221B
+ROOT, FOURTH 221C
+ROOT, SQUARE 221A
+rough breathing 0314
+RUNOUT, TOTAL 2330
+RUPEE MARK, BENGALI 09F2
+RUPEE SIGN 20A8
+RUPEE SIGN, BENGALI 09F3
+Russian Alphabet, Basic 0410
+S, INVERTED LAZY 223E
+S, LATIN SMALL LETTER LONG 017F
+S, LATIN SMALL LETTER SHARP 00DF
+s, lazy 223D
+SAGITTARIUS 2650
+SALTIRE 2613
+Sans-Serif Numbers, Circled 2780
+Sans-Serif Numbers, Circled Inverse 278A
+satisfies 22A8
+SATURN 2644
+SCHWA, LATIN CAPITAL LETTER 018F
+SCHWA, LATIN SMALL LETTER 0259
+Scissors Dingbats 2701
+SCORPIUS 264F
+script a, latin small letter 0251
+SCRIPT CAPITAL B 212C
+SCRIPT CAPITAL E 2130
+SCRIPT CAPITAL F 2131
+SCRIPT CAPITAL H 210B
+SCRIPT CAPITAL I 2110
+SCRIPT CAPITAL L 2112
+SCRIPT CAPITAL M 2133
+SCRIPT CAPITAL P 2118
+SCRIPT CAPITAL R 211B
+script f, latin small letter 0192
+SCRIPT G, LATIN SMALL LETTER 0261
+SCRIPT SMALL E 212F
+SCRIPT SMALL G 210A
+SCRIPT SMALL L 2113
+SCRIPT SMALL O 2134
+script v, latin capital letter 01B2
+script v, latin small letter 028B
+SCRUPLE 2108
+SEAGULL BELOW, COMBINING 033C
+second transfinite cardinal (the continuum) 2136
+seconds 2033
+SECTION SIGN 00A7
+SECTOR 2314
+SEGMENT 2313
+SEMICOLON 003B
+SEMICOLON, ARABIC 061B
+SEMIDIRECT PRODUCT, LEFT 22CB
+SEMIDIRECT PRODUCT, LEFT NORMAL FACTOR 22C9
+SEPARATOR, ARABIC DECIMAL 066B
+SEPARATOR, ARABIC THOUSANDS 066C
+separator, devanagari phrase 0964
+SEPARATOR, FILE 001C
+SEPARATOR, GEORGIAN PARAGRAPH 10FB
+SEPARATOR, GROUP 001D
+SEPARATOR, LINE 2028
+SEPARATOR, PARAGRAPH 2029
+SEPARATOR, RECORD 001E
+SEPARATOR, UNIT 001F
+separator, urdu paragraph 203B
+Serbian Cyrillic Letters, Croatian Digraphs Matching 01C4
+SERVICE MARK 2120
+SET MINUS 2216
+set of complex numbers, the 2102
+set of integers, the 2124
+set of rational numbers, the 211A
+set of real numbers, the 211D
+SET, EMPTY 2205
+set, null 2205
+set, power 2118
+SEVEN EIGHTHS, VULGAR FRACTION 215E
+sextile 2736
+SHADE, DARK 2593
+SHADE, LIGHT 2591
+SHADE, MEDIUM 2592
+SHAKTI, ADI 262C
+shamrock 2663
+Shapes, Geometric 25A0
+SHAPES, NATIONAL DIGIT 206E
+SHAPES, NOMINAL DIGIT 206F
+SHAPING, ACTIVATE ARABIC FORM 206D
+SHAPING, INHIBIT ARABIC FORM 206C
+SHARP S, LATIN SMALL LETTER 00DF
+SHARP SIGN, MUSIC 266F
+SHELL BRACKET, LEFT TORTOISE 3014
+SHELL BRACKET, LEFT WHITE TORTOISE 3018
+SHEQEL SIGN, NEW 20AA
+shesht, armenian 055B
+shift 21E7
+SHIFT IN 000F
+SHIFT OUT 000E
+shift tab, tab with 21B9
+shilling 002F
+short 0306
+short slash overlay 0337
+SHORT SOLIDUS OVERLAY, COMBINING 0337
+SHORT STROKE OVERLAY, COMBINING 0335
+SHORT VERTICAL LINE OVERLAY, COMBINING 20D3
+similar to 223C
+SINE WAVE 223F
+single comma quotation mark 2019
+single comma quotation mark, low 201A
+single guillemet, left pointing 2039
+single guillemet, right pointing 203A
+SINGLE HIGH-REVERSED-9 QUOTATION MARK 201B
+SINGLE LEFT-POINTING ANGLE QUOTATION MARK 2039
+SINGLE LOW-9 QUOTATION MARK 201A
+SINGLE QUOTATION MARK, LEFT 2018
+SINGLE QUOTATION MARK, RIGHT 2019
+single reversed comma quotation mark 201B
+SINGLE RIGHT-POINTING ANGLE QUOTATION MARK 203A
+single turned comma quotation mark 2018
+SIX-PER-EM SPACE 2006
+SIXTEENTH NOTES, BEAMED 266C
+SIXTH, VULGAR FRACTION ONE 2159
+SIXTHS, VULGAR FRACTION FIVE 215A
+SKULL AND CROSSBONES 2620
+slash 002F
+slash overlay, long 0338
+slash overlay, short 0337
+SLASH, CIRCLED DIVISION 2298
+SLASH, DIVISION 2215
+SLASH, FRACTION 2044
+SLOPE 2333
+SMALL CAPITAL B, LATIN LETTER 0299
+SMALL CAPITAL G, LATIN LETTER 0262
+SMALL CAPITAL H, LATIN LETTER 029C
+SMALL CAPITAL I, LATIN LETTER 026A
+SMALL CAPITAL INVERTED R, LATIN LETTER 0281
+SMALL CAPITAL L, LATIN LETTER 029F
+SMALL CAPITAL N, LATIN LETTER 0274
+SMALL CAPITAL OE, LATIN LETTER 0276
+SMALL CAPITAL R, LATIN LETTER 0280
+SMALL CAPITAL Y, LATIN LETTER 028F
+small circle, black 2022
+SMALL CONTAINS AS MEMBER 220D
+SMALL ELEMENT OF 220A
+Small Form Variants FE50
+Small Letters, Armenian 0561
+Small Letters, Cyrillic 0430
+Small Letters, Georgian 10D0
+Small Letters, Greek 03B1
+Small Letters, Latin 0061
+SMALL TILDE 02DC
+SMILE 2323
+SMILING FACE, BLACK 263B
+SMILING FACE, WHITE 263A
+smooth breathing 0313
+Snowflake Dingbats 2744
+SNOWMAN 2603
+snowy weather 2603
+SOF PASUQ, HEBREW PUNCTUATION 05C3
+SOFT HYPHEN 00AD
+SOLIDUS 002F
+SOLIDUS OVERLAY, COMBINING LONG 0338
+SOLIDUS OVERLAY, COMBINING SHORT 0337
+SOLIDUS, REVERSE 005C
+SOUND RECORDING COPYRIGHT 2117
+SPACE 0020
+SPACE, EM 2003
+SPACE, EN 2002
+SPACE, FIGURE 2007
+SPACE, FOUR-PER-EM 2005
+SPACE, HAIR 200A
+SPACE, IDEOGRAPHIC 3000
+SPACE, IDEOGRAPHIC HALF FILL 303F
+SPACE, NO-BREAK 00A0
+SPACE, PUNCTUATION 2008
+SPACE, SIX-PER-EM 2006
+SPACE, THIN 2009
+SPACE, THREE-PER-EM 2004
+SPACE, ZERO WIDTH 200B
+SPACE, ZERO WIDTH NO-BREAK FEFF
+Spaces 2000
+spacing acute 00B4
+spacing cedilla 00B8
+spacing circumflex 005E
+spacing diaeresis 00A8
+spacing double underscore 2017
+spacing grave 0060
+spacing macron 00AF
+Spacing Modifier Letters 02B0
+spacing overscore 203E
+spacing underscore 005F
+Specials FFF0
+SPHERICAL ANGLE 2222
+SQUARE BELOW, COMBINING 033B
+SQUARE BRACKET WITH QUILL, LEFT 2045
+square bracket, closing 005D
+SQUARE BRACKET, LEFT 005B
+SQUARE BRACKET, LEFT WHITE 301A
+square bracket, opening 005B
+SQUARE BRACKET, RIGHT 005D
+SQUARE CAP 2293
+SQUARE CUP 2294
+SQUARE IMAGE OF 228F
+SQUARE LOZENGE 2311
+SQUARE ORIGINAL OF 2290
+SQUARE ROOT 221A
+SQUARE, COMBINING ENCLOSING 20DE
+SQUARE, VIEWDATA 2317
+squared 00B2
+SQUARED DOT OPERATOR 22A1
+Squared Japanese Katakana Words 3300
+Squared Latin Abbreviations 3380
+SQUARED MINUS 229F
+SQUARED PLUS 229E
+SQUARED TIMES 22A0
+Squares 25A0
+st. andrew's cross 2613
+STAR AND CRESCENT 262A
+Star Dingbats 2726
+STAR EQUALS 225B
+STAR OF DAVID 2721
+STAR OPERATOR 22C6
+STAR, ARABIC FIVE POINTED 066D
+STAR, BLACK 2605
+STAR, WHITE 2606
+starburst 273A
+START OF HEADING 0001
+START OF TEXT 0002
+statement is true, valid 22A8
+stile, apl 2223
+stress mark 0301
+STRESS SIGN ANUDATTA, DEVANAGARI 0952
+STRESS SIGN UDATTA, DEVANAGARI 0951
+STRICTLY EQUIVALENT TO 2263
+STROKE OVERLAY, COMBINING LONG 0336
+STROKE OVERLAY, COMBINING SHORT 0335
+SUBGROUP OF, NORMAL 22B2
+SUBGROUP, CONTAINS AS NORMAL 22B3
+subscript, greek iota 0345
+Subscripts 2080
+Subscripts, Superscripts and 2070
+SUBSET OF 2282
+SUBSET, DOUBLE 22D0
+SUBSTITUTE 001A
+SUCCEEDS 227B
+SUCCEEDS UNDER RELATION 22B1
+such that 220B
+such that 2223
+Suits, Card 2660
+sum, direct 2295
+summation sign 2211
+SUMMATION, N-ARY 2211
+SUN 2609
+SUN WITH RAYS, WHITE 263C
+SUPERSCRIPT ALEF, ARABIC LETTER 0670
+SUPERSCRIPT ONE 00B9
+SUPERSCRIPT THREE 00B3
+SUPERSCRIPT TWO 00B2
+SUPERSCRIPT ZERO 2070
+Superscripts 2070
+Superscripts and Subscripts 2070
+SUPERSET OF 2283
+SUPERSET, DOUBLE 22D1
+SURFACE INTEGRAL 222F
+Surrogates DB80
+Surrogates, High DB80
+Surrogates, Low DC00
+Surrogates, Private Use High DB80
+SWAPPING, ACTIVATE SYMMETRIC 206B
+SWAPPING, INHIBIT SYMMETRIC 206A
+Symbol Variants, Fullwidth FFE0
+Symbols and Punctuation, CJK 3000
+Symbols for Control Codes, Graphic 2400
+Symbols, APL Functional 2336
+Symbols, Combining Diacritical Marks for 20D0
+Symbols, Currency 20A0
+Symbols, Greek 03D0
+Symbols, Letterlike 2100
+Symbols, Miscellaneous 2600
+Symbols, Planet 263F
+Symbols, Religious 2625
+Symbols, Zodiac 2648
+symmetric difference 2238
+symmetric difference 2296
+SYMMETRIC SWAPPING, ACTIVATE 206B
+SYMMETRIC SWAPPING, INHIBIT 206A
+SYMMETRY 232F
+SYNCHRONOUS IDLE 0016
+T, LATIN SMALL LETTER TURNED 0287
+tab 0009
+tab with shift tab 21B9
+tab, leftward 21E4
+tab, rightward 21E5
+tab, tab with shift 21B9
+TABULATION, HORIZONTAL 0009
+TABULATION, VERTICAL 000B
+TACK BELOW, COMBINING DOWN 031E
+TACK BELOW, COMBINING LEFT 0318
+TACK BELOW, COMBINING RIGHT 0319
+TACK BELOW, COMBINING UP 031D
+TACK, DOWN 22A4
+TACK, LEFT 22A3
+TACK, MODIFIER LETTER DOWN 02D5
+TACK, MODIFIER LETTER UP 02D4
+TACK, RIGHT 22A2
+TACK, UP 22A5
+tainome (japanese, a kind of bullet) 25C9
+TAKE, PRESCRIPTION 211E
+Tamil 0B80
+Tamil Digits 0BE7
+Tamil Letters 0B85
+TAMIL SIGN ANUSVARA 0B82
+TAMIL SIGN VIRAMA 0BCD
+TAMIL SIGN VISARGA 0B83
+TAPER, CONICAL 2332
+TATWEEL, ARABIC 0640
+TAURUS 2649
+tautology, is a 22A8
+Technical, Miscellaneous 2300
+TELEIA, GREEK ANO 0387
+TELEPHONE RECORDER 2315
+TELEPHONE SIGN 2121
+TELEPHONE, BLACK 260E
+TELEPHONE, WHITE 260F
+Telugu 0C00
+Telugu Digits 0C66
+Telugu Letters 0C05
+TELUGU SIGN ANUSVARA 0C02
+TELUGU SIGN CANDRABINDU 0C01
+TELUGU SIGN VIRAMA 0C4D
+TELUGU SIGN VISARGA 0C03
+tensor product 2297
+TESH DIGRAPH, LATIN SMALL LETTER 02A7
+Thai 0E00
+THAI CHARACTER FONGMAN 0E4F
+THAI CHARACTER LAKKHANGYAO 0E45
+THAI CHARACTER MAIYAMOK 0E46
+THAI CHARACTER PAIYANNOI 0E2F
+THAI CHARACTER THANTHAKHAT 0E4C
+THAI CHARACTER YAMAKKAN 0E4E
+THAI CURRENCY SYMBOL BAHT 0E3F
+Thai Digits 0E50
+Thai Letters 0E01
+THANTHAKHAT, THAI CHARACTER 0E4C
+THERE EXISTS 2203
+THEREFORE 2234
+THIN SPACE 2009
+third derivative 20DB
+third transfinite cardinal (functions of a real variable) 2137
+THIRD, VULGAR FRACTION ONE 2153
+THIRDS, VULGAR FRACTION TWO 2154
+THORN, LATIN CAPITAL LETTER 00DE
+THORN, LATIN SMALL LETTER 00FE
+THOUSAND SIGN, PER TEN 2031
+THOUSANDS SEPARATOR, ARABIC 066C
+THOUSANDS SIGN, CYRILLIC 0482
+three dot leader 2026
+THREE DOTS ABOVE, COMBINING 20DB
+THREE EIGHTHS, VULGAR FRACTION 215C
+THREE FIFTHS, VULGAR FRACTION 2157
+THREE QUARTERS, VULGAR FRACTION 00BE
+THREE, SUPERSCRIPT 00B3
+THREE-PER-EM SPACE 2004
+THUNDERSTORM 2608
+Tibetan 0F00
+Tibetan Digits 0F20
+Tibetan Letters 0F40
+TIE, CHARACTER 2040
+TILDE 007E
+TILDE BELOW, COMBINING 0330
+TILDE EQUALS, REVERSED 22CD
+TILDE OPERATOR 223C
+TILDE OVERLAY, COMBINING 0334
+tilde, apl 223C
+TILDE, COMBINING 0303
+TILDE, COMBINING DOUBLE 0360
+TILDE, COMBINING VERTICAL 033E
+TILDE, MINUS 2242
+TILDE, NOT 2241
+TILDE, REVERSED 223D
+TILDE, SMALL 02DC
+TILDE, TRIPLE 224B
+TIMES, CIRCLED 2297
+TIMES, DIVISION 22C7
+TIMES, SQUARED 22A0
+TIPPI, GURMUKHI 0A70
+TIS 620-2529 (Thai), Based on 0E01
+TITLO, COMBINING CYRILLIC 0483
+TONE BAR, MODIFIER LETTER EXTRA-HIGH 02E5
+TONE BAR, MODIFIER LETTER EXTRA-LOW 02E9
+TONE BAR, MODIFIER LETTER HIGH 02E6
+TONE BAR, MODIFIER LETTER LOW 02E8
+TONE BAR, MODIFIER LETTER MID 02E7
+Tone Letters 02E5
+TONE MARK, COMBINING ACUTE 0341
+TONE MARK, COMBINING GRAVE 0340
+Tone Marks, Ideographic 302A
+Tone Marks, Vietnamese 0340
+TONOS, COMBINING GREEK DIALYTIKA 0344
+tonos, greek 030D
+TONOS, GREEK 0384
+TONOS, GREEK DIALYTIKA 0385
+TOP HALF INTEGRAL 2320
+TOP LEFT CORNER 231C
+TOP LEFT CROP 230F
+TORTOISE SHELL BRACKET, LEFT 3014
+TORTOISE SHELL BRACKET, LEFT WHITE 3018
+TOTAL RUNOUT 2330
+TRADE MARK SIGN 2122
+trade mark sign, registered 00AE
+transfinite cardinal (countable), first 2135
+transfinite cardinal (functions of a real variable), third 2137
+transfinite cardinal (the continuum), second 2136
+transfinite cardinal, fourth 2138
+TRIANGLE, RIGHT 22BF
+Triangles 25B2
+TRIANGULAR BULLET 2023
+TRIANGULAR COLON, MODIFIER LETTER 02D0
+TRIANGULAR COLON, MODIFIER LETTER HALF 02D1
+Trigrams, Yi Jing 2630
+trine 25B3
+TRIPLE INTEGRAL 222D
+TRIPLE PRIME 2034
+TRIPLE PRIME, REVERSED 2037
+TRIPLE TILDE 224B
+TRIPLE VERTICAL BAR RIGHT TURNSTILE 22AA
+TRUE 22A8
+TS DIGRAPH, LATIN SMALL LETTER 02A6
+turbofan 274B
+TURNED A, LATIN SMALL LETTER 0250
+TURNED ALPHA, LATIN SMALL LETTER 0252
+TURNED CAPITAL F 2132
+TURNED COMMA ABOVE, COMBINING 0312
+turned comma quotation mark, double 201C
+turned comma quotation mark, single 2018
+TURNED COMMA, MODIFIER LETTER 02BB
+TURNED DELTA, LATIN SMALL LETTER 018D
+turned E, latin capital letter 018E
+TURNED E, LATIN SMALL LETTER 01DD
+TURNED GREEK SMALL LETTER IOTA 2129
+TURNED H, LATIN SMALL LETTER 0265
+TURNED K, LATIN SMALL LETTER 029E
+TURNED M, LATIN CAPITAL LETTER 019C
+TURNED M, LATIN SMALL LETTER 026F
+TURNED NOT SIGN 2319
+turned question mark 00BF
+TURNED R, LATIN SMALL LETTER 0279
+TURNED T, LATIN SMALL LETTER 0287
+TURNED V, LATIN SMALL LETTER 028C
+TURNED W, LATIN SMALL LETTER 028D
+TURNED Y, LATIN SMALL LETTER 028E
+turnstile 22A2
+TURNSTILE, DOUBLE VERTICAL BAR DOUBLE RIGHT 22AB
+turnstile, reverse 22A3
+TURNSTILE, TRIPLE VERTICAL BAR RIGHT 22AA
+TWO DOT LEADER 2025
+TWO FIFTHS, VULGAR FRACTION 2156
+TWO THIRDS, VULGAR FRACTION 2154
+TWO, SUPERSCRIPT 00B2
+UDATTA, DEVANAGARI STRESS SIGN 0951
+UMBRELLA 2602
+umlaut 0308
+underline 0332
+underline, double 0333
+underscore 0332
+underscore, double 0333
+underscore, spacing 005F
+underscore, spacing double 2017
+Underscores, Overscores and FE49
+UNDERTIE 203F
+Unified Ideographs, CJK 4E00
+UNION 222A
+UNION, DOUBLE 22D3
+UNION, MULTISET 228E
+UNION, N-ARY 22C3
+UNIT SEPARATOR 001F
+UP ARROWHEAD 2303
+UP RIGHT DIAGONAL ELLIPSIS 22F0
+UP TACK 22A5
+UP TACK BELOW, COMBINING 031D
+UP TACK, MODIFIER LETTER 02D4
+upper numeral sign, greek 0374
+UPSILON, LATIN CAPITAL LETTER 01B1
+UPSILON, LATIN SMALL LETTER 028A
+upstile, apl 2308
+URANUS 2645
+urdu paragraph separator 203B
+Urdu, Eastern Arabic-Indic Digits (Persian and) 06F0
+v above 030C
+v, latin capital letter script 01B2
+v, latin small letter script 028B
+V, LATIN SMALL LETTER TURNED 028C
+valentine 2665
+valid, statement is true 22A8
+varia, greek 0300
+Variants, Fullwidth ASCII FF01
+Variants, Fullwidth Symbol FFE0
+Variants, Glyphs for Vertical FE30
+Variants, Halfwidth Japanese Katakana FF61
+Variants, Halfwidth Korean Hangul FFA0
+Variants, Small Form FE50
+varies with (proportional to) 223C
+vector pointing into page 2295
+vector pointing into page 2297
+vector pointing out of page 2299
+vee 2228
+venus 2640
+VERSICLE 2123
+vertical bar 007C
+Vertical Bar Dingbats 2758
+VERTICAL BAR DOUBLE RIGHT TURNSTILE, DOUBLE 22AB
+VERTICAL BAR RIGHT TURNSTILE, TRIPLE 22AA
+vertical bar, broken 00A6
+VERTICAL ELLIPSIS 22EE
+VERTICAL KANA REPEAT MARK 3031
+VERTICAL LINE 007C
+VERTICAL LINE ABOVE, COMBINING 030D
+VERTICAL LINE ABOVE, COMBINING DOUBLE 030E
+VERTICAL LINE BELOW, COMBINING 0329
+VERTICAL LINE OVERLAY, COMBINING LONG 20D2
+VERTICAL LINE OVERLAY, COMBINING SHORT 20D3
+VERTICAL LINE, DOUBLE 2016
+VERTICAL LINE, MODIFIER LETTER 02C8
+VERTICAL LINE, MODIFIER LETTER LOW 02CC
+VERTICAL TABULATION 000B
+VERTICAL TILDE, COMBINING 033E
+Vertical Variants, Glyphs for FE30
+vertsaket, armenian 0589
+VERY MUCH GREATER-THAN 22D9
+VERY MUCH LESS-THAN 22D8
+VICTORY HAND 270C
+Vietnamese Tone Marks 0340
+VIEWDATA SQUARE 2317
+VIRAMA, BENGALI SIGN 09CD
+VIRAMA, DEVANAGARI SIGN 094D
+VIRAMA, GUJARATI SIGN 0ACD
+VIRAMA, GURMUKHI SIGN 0A4D
+VIRAMA, KANNADA SIGN 0CCD
+VIRAMA, MALAYALAM SIGN 0D4D
+VIRAMA, ORIYA SIGN 0B4D
+VIRAMA, TAMIL SIGN 0BCD
+VIRAMA, TELUGU SIGN 0C4D
+VIRGO 264D
+virgule 002F
+VISARGA, BENGALI SIGN 0983
+VISARGA, DEVANAGARI SIGN 0903
+VISARGA, GUJARATI SIGN 0A83
+VISARGA, KANNADA SIGN 0C83
+VISARGA, MALAYALAM SIGN 0D03
+VISARGA, ORIYA SIGN 0B03
+VISARGA, TAMIL SIGN 0B83
+VISARGA, TELUGU SIGN 0C03
+VOICED SOUND MARK, COMBINING KATAKANA-HIRAGANA 3099
+VOICED SOUND MARK, KATAKANA-HIRAGANA 309B
+VOLUME INTEGRAL 2230
+vrachy, greek 0306
+W, LATIN SMALL LETTER TURNED 028D
+Warning Dingbats 2620
+WATCH 231A
+WAVE DASH 301C
+WAVE, SINE 223F
+WAVY DASH 3030
+WAVY LINE 2307
+Weather Dingbats 2600
+wedge 028C
+wedge 2227
+weierstrass elliptic function 2118
+WHEEL OF DHARMA 2638
+WHITE BULLET 25E6
+WHITE CIRCLE 25CB
+WHITE CORNER BRACKET, LEFT 300E
+WHITE DIAMOND 25C7
+WHITE FROWNING FACE 2639
+WHITE LENTICULAR BRACKET, LEFT 3016
+WHITE RECTANGLE 25AD
+WHITE SMILING FACE 263A
+WHITE SQUARE BRACKET, LEFT 301A
+WHITE STAR 2606
+WHITE SUN WITH RAYS 263C
+WHITE TELEPHONE 260F
+WHITE TORTOISE SHELL BRACKET, LEFT 3018
+WON SIGN 20A9
+WREATH PRODUCT 2240
+WRITING HAND 270D
+WYNN, LATIN LETTER 01BF
+X ABOVE, COMBINING 033D
+X IN A RECTANGLE BOX 2327
+X, BALLOT 2717
+X, BALLOT BOX WITH 2612
+X, MULTIPLICATION 2715
+XOR 22BB
+Y, LATIN LETTER SMALL CAPITAL 028F
+Y, LATIN SMALL LETTER TURNED 028E
+YAMAKKAN, THAI CHARACTER 0E4E
+YEN SIGN 00A5
+Yi Jing Trigrams 2630
+Yiddish Hebrew Ligatures or Digraphs 05F0
+yields, proves, implies 22A2
+YIN YANG 262F
+yogh, latin capital letter 01B7
+yogh, latin small letter 0292
+YPOGEGRAMMENI, COMBINING GREEK 0345
+YPOGEGRAMMENI, GREEK 037A
+YR, LATIN LETTER 01A6
+yuan sign 00A5
+Z, BLACK-LETTER CAPITAL 2128
+Z, DOUBLE-STRUCK CAPITAL 2124
+Zapf Dingbats 2700
+ZERO WIDTH JOINER 200D
+ZERO WIDTH NO-BREAK SPACE FEFF
+ZERO WIDTH NON-JOINER 200C
+ZERO WIDTH SPACE 200B
+ZERO, CIRCLED DIGIT 24EA
+ZERO, IDEOGRAPHIC NUMBER 3007
+ZERO, SUPERSCRIPT 2070
+Zodiac Symbols 2648
+zwj ("zawj") 200D
+zwnj ("zwinj") 200C
diff --git a/lib/unicode/jamo2.txt b/lib/unicode/jamo2.txt
new file mode 100755
index 0000000000..c81776a239
--- /dev/null
+++ b/lib/unicode/jamo2.txt
@@ -0,0 +1,69 @@
+#Value; Short Name; Unicode Name
+U+1100; G; HANGUL CHOSEONG KIYEOK
+U+1101; GG; HANGUL CHOSEONG SSANGKIYEOK
+U+1102; N; HANGUL CHOSEONG NIEUN
+U+1103; D; HANGUL CHOSEONG TIKEUT
+U+1104; DD; HANGUL CHOSEONG SSANGTIKEUT
+U+1105; L; HANGUL CHOSEONG RIEUL
+U+1106; M; HANGUL CHOSEONG MIEUM
+U+1107; B; HANGUL CHOSEONG PIEUP
+U+1108; BB; HANGUL CHOSEONG SSANGPIEUP
+U+1109; S; HANGUL CHOSEONG SIOS
+U+110A; SS; HANGUL CHOSEONG SSANGSIOS
+U+110B; ; HANGUL CHOSEONG IEUNG
+U+110C; J; HANGUL CHOSEONG CIEUC
+U+110D; JJ; HANGUL CHOSEONG SSANGCIEUC
+U+110E; C; HANGUL CHOSEONG CHIEUCH
+U+110F; K; HANGUL CHOSEONG KHIEUKH
+U+1110; T; HANGUL CHOSEONG THIEUTH
+U+1111; P; HANGUL CHOSEONG PHIEUPH
+U+1112; H; HANGUL CHOSEONG HIEUH
+U+1161; A; HANGUL JUNGSEONG A
+U+1162; AE; HANGUL JUNGSEONG AE
+U+1163; YA; HANGUL JUNGSEONG YA
+U+1164; YAE; HANGUL JUNGSEONG YAE
+U+1165; EO; HANGUL JUNGSEONG EO
+U+1166; E; HANGUL JUNGSEONG E
+U+1167; YEO; HANGUL JUNGSEONG YEO
+U+1168; YE; HANGUL JUNGSEONG YE
+U+1169; O; HANGUL JUNGSEONG O
+U+116A; WA; HANGUL JUNGSEONG WA
+U+116B; WAE; HANGUL JUNGSEONG WAE
+U+116C; OE; HANGUL JUNGSEONG OE
+U+116D; YO; HANGUL JUNGSEONG YO
+U+116E; U; HANGUL JUNGSEONG U
+U+116F; WEO; HANGUL JUNGSEONG WEO
+U+1170; WE; HANGUL JUNGSEONG WE
+U+1171; WI; HANGUL JUNGSEONG WI
+U+1172; YU; HANGUL JUNGSEONG YU
+U+1173; EU; HANGUL JUNGSEONG EU
+U+1174; YI; HANGUL JUNGSEONG YI
+U+1175; I; HANGUL JUNGSEONG I
+U+11A8; G; HANGUL JONGSEONG KIYEOK
+U+11A9; GG; HANGUL JONGSEONG SSANGKIYEOK
+U+11AA; GS; HANGUL JONGSEONG KIYEOK-SIOS
+U+11AB; N; HANGUL JONGSEONG NIEUN
+U+11AC; NJ; HANGUL JONGSEONG NIEUN-CIEUC
+U+11AD; NH; HANGUL JONGSEONG NIEUN-HIEUH
+U+11AE; D; HANGUL JONGSEONG TIKEUT
+U+11AF; L; HANGUL JONGSEONG RIEUL
+U+11B0; LG; HANGUL JONGSEONG RIEUL-KIYEOK
+U+11B1; LM; HANGUL JONGSEONG RIEUL-MIEUM
+U+11B2; LB; HANGUL JONGSEONG RIEUL-PIEUP
+U+11B3; LS; HANGUL JONGSEONG RIEUL-SIOS
+U+11B4; LT; HANGUL JONGSEONG RIEUL-THIEUTH
+U+11B5; LP; HANGUL JONGSEONG RIEUL-PHIEUPH
+U+11B6; LH; HANGUL JONGSEONG RIEUL-HIEUH
+U+11B7; M; HANGUL JONGSEONG MIEUM
+U+11B8; B; HANGUL JONGSEONG PIEUP
+U+11B9; BS; HANGUL JONGSEONG PIEUP-SIOS
+U+11BA; S; HANGUL JONGSEONG SIOS
+U+11BB; SS; HANGUL JONGSEONG SSANGSIOS
+U+11BC; NG; HANGUL JONGSEONG IEUNG
+U+11BD; J; HANGUL JONGSEONG CIEUC
+U+11BE; C; HANGUL JONGSEONG CHIEUCH
+U+11BF; K; HANGUL JONGSEONG KHIEUKH
+U+11C0; T; HANGUL JONGSEONG THIEUTH
+U+11C1; P; HANGUL JONGSEONG PHIEUPH
+U+11C2; H; HANGUL JONGSEONG HIEUH
+
diff --git a/lib/unicode/mktables.PL b/lib/unicode/mktables.PL
new file mode 100755
index 0000000000..306f2a43c5
--- /dev/null
+++ b/lib/unicode/mktables.PL
@@ -0,0 +1,294 @@
+#!../../miniperl
+
+# Note: we try to keep filenames unique within first 8 chars. Using
+# subdirectories for the following helps.
+mkdir "In", 0777;
+mkdir "Is", 0777;
+mkdir "To", 0777;
+
+@todo = (
+# typical
+
+ ['IsAlnum', '$cat =~ /^L[ulo]|^Nd/ or $code eq "005F"', ''],
+ ['IsAlpha', '$cat =~ /^L[ulo]/', ''],
+ ['IsSpace', '$cat =~ /^Z/ or $code lt "0020" and chr(hex $code) =~ /^\s/', ''],
+ ['IsDigit', '$cat =~ /^Nd$/', ''],
+ ['IsUpper', '$cat =~ /^Lu$/', ''],
+ ['IsLower', '$cat =~ /^Ll$/', ''],
+ ['IsPrint', '$cat =~ /^[^C]/', ''],
+ ['ToUpper', '$up', '$up'],
+ ['ToLower', '$down', '$down'],
+ ['ToTitle', '$title', '$title'],
+ ['ToDigit', '$dec ne ""', '$dec'],
+
+# Name
+
+ ['Name', '$name', '$name'],
+
+# Category
+
+ ['Category', '$cat', '$cat'],
+
+# Normative
+
+ ['IsM', '$cat =~ /^M/', ''], # Mark
+ ['IsMn', '$cat eq "Mn"', ''], # Mark, Non-Spacing
+ ['IsMc', '$cat eq "Mc"', ''], # Mark, Combining
+
+ ['IsN', '$cat =~ /^N/', ''], # Number
+ ['IsNd', '$cat eq "Nd"', ''], # Number, Decimal Digit
+ ['IsNo', '$cat eq "No"', ''], # Number, Other
+
+ ['IsZ', '$cat =~ /^Z/', ''], # Zeparator
+ ['IsZs', '$cat eq "Zs"', ''], # Separator, Space
+ ['IsZl', '$cat eq "Zl"', ''], # Separator, Line
+ ['IsZp', '$cat eq "Zp"', ''], # Separator, Paragraph
+
+ ['IsC', '$cat =~ /^C/', ''], # Crazy
+ ['IsCc', '$cat eq "Cc"', ''], # Other, Control or Format
+ ['IsCo', '$cat eq "Co"', ''], # Other, Private Use
+ ['IsCn', '$cat eq "Cn"', ''], # Other, Not Assigned
+
+# Informative
+
+ ['IsL', '$cat =~ /^L/', ''], # Letter
+ ['IsLu', '$cat eq "Lu"', ''], # Letter, Uppercase
+ ['IsLl', '$cat eq "Ll"', ''], # Letter, Lowercase
+ ['IsLt', '$cat eq "Lt"', ''], # Letter, Titlecase
+ ['IsLm', '$cat eq "Lm"', ''], # Letter, Modifier
+ ['IsLo', '$cat eq "Lo"', ''], # Letter, Other
+
+ ['IsP', '$cat =~ /^P/', ''], # Punctuation
+ ['IsPd', '$cat eq "Pd"', ''], # Punctuation, Dash
+ ['IsPs', '$cat eq "Ps"', ''], # Punctuation, Open
+ ['IsPe', '$cat eq "Pe"', ''], # Punctuation, Close
+ ['IsPo', '$cat eq "Po"', ''], # Punctuation, Other
+
+ ['IsS', '$cat =~ /^S/', ''], # Symbol
+ ['IsSm', '$cat eq "Sm"', ''], # Symbol, Math
+ ['IsSc', '$cat eq "Sc"', ''], # Symbol, Currency
+ ['IsSo', '$cat eq "So"', ''], # Symbol, Other
+
+# Combining class
+ ['CombiningClass', '$comb', '$comb'],
+
+# BIDIRECTIONAL PROPERTIES
+
+ ['Bidirectional', '$bid', '$bid'],
+
+# Strong types:
+
+ ['IsBidiL', '$bid eq "L"', ''], # Left-Right; Most alphabetic,
+ # syllabic, and logographic
+ # characters (e.g., CJK
+ # ideographs)
+ ['IsBidiR', '$bid eq "R"', ''], # Right-Left; Arabic, Hebrew,
+ # and punctuation specific to
+ # those scripts
+
+# Weak types:
+
+ ['IsBidiEN','$bid eq "EN"', ''], # European Number
+ ['IsBidiES','$bid eq "ES"', ''], # European Number Separator
+ ['IsBidiET','$bid eq "ET"', ''], # European Number Terminator
+ ['IsBidiAN','$bid eq "AN"', ''], # Arabic Number
+ ['IsBidiCS','$bid eq "CS"', ''], # Common Number Separator
+
+# Separators:
+
+ ['IsBidiB', '$bid eq "B"', ''], # Block Separator
+ ['IsBidiS', '$bid eq "S"', ''], # Segment Separator
+
+# Neutrals:
+
+ ['IsBidiWS','$bid eq "WS"', ''], # Whitespace
+ ['IsBidiON','$bid eq "ON"', ''], # Other Neutrals ; All other
+ # characters: punctuation,
+ # symbols
+
+# Decomposition
+
+ ['Decomposition', '$decomp', '$decomp'],
+ ['IsDecoCanon', '$decomp && $decomp !~ /^</', ''],
+ ['IsDecoCompat', '$decomp =~ /^</', ''],
+ ['IsDCfont', '$decomp =~ /^<font>/', ''],
+ ['IsDCnoBreak', '$decomp =~ /^<noBreak>/', ''],
+ ['IsDCinitial', '$decomp =~ /^<initial>/', ''],
+ ['IsDCinital', '$decomp =~ /^<medial>/', ''],
+ ['IsDCfinal', '$decomp =~ /^<final>/', ''],
+ ['IsDCisolated', '$decomp =~ /^<isolated>/', ''],
+ ['IsDCcircle', '$decomp =~ /^<circle>/', ''],
+ ['IsDCsuper', '$decomp =~ /^<super>/', ''],
+ ['IsDCsub', '$decomp =~ /^<sub>/', ''],
+ ['IsDCvertical', '$decomp =~ /^<vertical>/', ''],
+ ['IsDCwide', '$decomp =~ /^<wide>/', ''],
+ ['IsDCnarrow', '$decomp =~ /^<narrow>/', ''],
+ ['IsDCsmall', '$decomp =~ /^<small>/', ''],
+ ['IsDCsquare', '$decomp =~ /^<square>/', ''],
+ ['IsDCcompat', '$decomp =~ /^<compat>/', ''],
+
+# Number
+
+ ['Number', '$num', '$num'],
+
+# Mirrored
+
+ ['IsMirrored', '$mir eq "Y"', ''],
+
+# Arabic
+
+ ['ArabLink', '1', '$link'],
+ ['ArabLnkGrp', '1', '$linkgroup'],
+
+# Jamo
+
+ ['JamoShort', '1', '$short'],
+);
+
+# This is not written for speed...
+
+foreach $file (@todo) {
+ my ($table, $wanted, $val) = @$file;
+ next if @ARGV and not grep { $_ eq $table } @ARGV;
+ print $table,"\n";
+ if ($table =~ /^(Is|In|To)(.*)/) {
+ open(OUT, ">$1/$2.pl") or die "Can't create $1/$2.pl: $!\n";
+ }
+ else {
+ open(OUT, ">$table.pl") or die "Can't create $table.pl: $!\n";
+ }
+ print OUT <<"END";
+return <<'END';
+END
+ print OUT proplist($table, $wanted, $val);
+ print OUT "END\n";
+ close OUT;
+}
+
+# Must treat blocks specially.
+
+exit if @ARGV and not grep { $_ eq Block } @ARGV;
+print "Block\n";
+open(UD, 'blocks.txt') or die "Can't open blocks.txt: $!\n";
+open(OUT, ">Block.pl") or die "Can't create $table.pl: $!\n";
+print OUT <<"END";
+return <<'END';
+END
+
+while (<UD>) {
+ next if /^#/;
+ next if /^$/;
+ chomp;
+ ($code, $last, $name) = split(/; */);
+ if ($name) {
+ print OUT "$code $last $name\n";
+ $name =~ s/\s+//g;
+ open(BLOCK, ">In/$name.pl");
+ print BLOCK <<"END2";
+return <<'END';
+$code $last
+END
+END2
+ close BLOCK;
+ }
+}
+
+print OUT "END\n";
+close OUT;
+
+##################################################
+
+sub proplist {
+ my ($table, $wanted, $val) = @_;
+ my @wanted;
+ my $out;
+ my $split;
+
+ if ($table =~ /^Arab/) {
+ open(UD, "arabshp.txt") or warn "Can't open $table: $!";
+
+ $split = '($code, $name, $link, $linkgroup) = split(/; */);';
+ }
+ elsif ($table =~ /^Jamo/) {
+ open(UD, "jamo2.txt") or warn "Can't open $table: $!";
+
+ $split = '($code, $short, $name) = split(/; */); $code =~ s/^U\+//;';
+ }
+ else {
+ open(UD, "UnicodeData-Latest.txt") or warn "Can't open $table: $!";
+
+ $split = '($code, $name, $cat, $comb, $bid, $decomp, $dec, $dig, $num, $mir, $uni1,
+ $comment, $up, $down, $title) = split(/;/);';
+ }
+
+ if ($table =~ /^(?:To|Is)[A-Z]/) {
+ eval <<"END";
+ while (<UD>) {
+ next if /^#/;
+ next if /^\s/;
+ chop;
+ $split
+ if ($wanted) {
+ push(\@wanted, [hex \$code, hex $val, \$name =~ /, First>\$/]);
+ }
+ }
+END
+ die $@ if $@;
+
+ while (@wanted) {
+ $beg = shift @wanted;
+ $last = $beg;
+ while (@wanted and $wanted[0]->[0] == $last->[0] + 1 and
+ (not $val or $wanted[0]->[1] == $last->[1] + 1)) {
+ $last = shift @wanted;
+ }
+ $out .= sprintf "%04x", $beg->[0];
+ if ($beg->[2]) {
+ $last = shift @wanted;
+ }
+ if ($beg == $last) {
+ $out .= "\t";
+ }
+ else {
+ $out .= sprintf "\t%04x", $last->[0];
+ }
+ $out .= sprintf "\t%04x", $beg->[1] if $val;
+ $out .= "\n";
+ }
+ }
+ else {
+ eval <<"END";
+ while (<UD>) {
+ next if /^#/;
+ next if /^\s*\$/;
+ chop;
+ $split
+ if ($wanted) {
+ push(\@wanted, [hex \$code, $val, \$name =~ /, First>\$/]);
+ }
+ }
+END
+ die $@ if $@;
+
+ while (@wanted) {
+ $beg = shift @wanted;
+ $last = $beg;
+ while (@wanted and $wanted[0]->[0] == $last->[0] + 1 and
+ ($wanted[0]->[1] eq $last->[1])) {
+ $last = shift @wanted;
+ }
+ $out .= sprintf "%04x", $beg->[0];
+ if ($beg->[2]) {
+ $last = shift @wanted;
+ }
+ if ($beg == $last) {
+ $out .= "\t";
+ }
+ else {
+ $out .= sprintf "\t%04x", $last->[0];
+ }
+ $out .= sprintf "\t%s\n", $beg->[1];
+ }
+ }
+ $out;
+}
diff --git a/lib/unicode/names2.txt b/lib/unicode/names2.txt
new file mode 100755
index 0000000000..8f283d716a
--- /dev/null
+++ b/lib/unicode/names2.txt
@@ -0,0 +1,12902 @@
+@@ 0000 C0 Controls and Basic Latin 007F
+@ C0 controls
+0000 NULL
+0001 START OF HEADING
+0002 START OF TEXT
+0003 END OF TEXT
+0004 END OF TRANSMISSION
+0005 ENQUIRY
+0006 ACKNOWLEDGE
+0007 BELL
+0008 BACKSPACE
+0009 HORIZONTAL TABULATION
+000A LINE FEED
+000B VERTICAL TABULATION
+000C FORM FEED
+000D CARRIAGE RETURN
+000E SHIFT OUT
+000F SHIFT IN
+0010 DATA LINK ESCAPE
+0011 DEVICE CONTROL ONE
+0012 DEVICE CONTROL TWO
+0013 DEVICE CONTROL THREE
+0014 DEVICE CONTROL FOUR
+0015 NEGATIVE ACKNOWLEDGE
+0016 SYNCHRONOUS IDLE
+0017 END OF TRANSMISSION BLOCK
+0018 CANCEL
+0019 END OF MEDIUM
+001A SUBSTITUTE
+ x (replacement character - FFFD)
+001B ESCAPE
+001C FILE SEPARATOR
+001D GROUP SEPARATOR
+001E RECORD SEPARATOR
+001F UNIT SEPARATOR
+@ ASCII
+0020 SPACE
+ * sometimes considered a control code
+ * other space characters: 2000-200A
+ x (no-break space - 00A0)
+ x (zero width space - 200B)
+ x (ideographic space - 3000)
+ x (zero width no-break space - FEFF)
+0021 EXCLAMATION MARK
+ = factorial
+ x (inverted exclamation mark - 00A1)
+ x (latin letter retroflex click - 01C3)
+ x (double exclamation mark - 203C)
+ x (heavy exclamation mark ornament - 2762)
+0022 QUOTATION MARK
+ = APL quote
+ * neutral (vertical), used as opening or closing quotation mark
+ * preferred characters for paired quotation marks are 201C & 201D
+ x (modifier letter double prime - 02BA)
+ x (combining double acute accent - 030B)
+ x (combining double vertical line above - 030E)
+ x (left double quotation mark - 201C)
+ x (right double quotation mark - 201D)
+ x (double prime - 2033)
+0023 NUMBER SIGN
+ = pound sign
+0024 DOLLAR SIGN
+ = milreis
+ = escudo
+ * glyph may have one or two vertical bars
+ * this code is unambiguously dollar sign, not "currency sign" or any other currency symbol
+ x (currency sign - 00A4)
+0025 PERCENT SIGN
+ x (arabic percent sign - 066A)
+ x (per mille sign - 2030)
+ x (per ten thousand sign - 2031)
+0026 AMPERSAND
+0027 APOSTROPHE
+ = APOSTROPHE-QUOTE
+ * neutral (vertical) glyph having mixed usage
+ * preferred character for apostrophe is 02BC
+ * preferred character for opening single quotation mark is 2018
+ * preferred character for closing single quotation mark is 2019
+ x (modifier letter prime - 02B9)
+ x (modifier letter apostrophe - 02BC)
+ x (modifier letter vertical line - 02C8)
+ x (combining acute accent - 0301)
+ x (left single quotation mark - 2018)
+ x (right single quotation mark - 2019)
+ x (prime - 2032)
+0028 LEFT PARENTHESIS
+ = OPENING PARENTHESIS
+0029 RIGHT PARENTHESIS
+ = CLOSING PARENTHESIS
+ * see discussion on semantics of paired bracketing characters
+002A ASTERISK
+ x (asterisk operator - 2217)
+ x (heavy asterisk - 2731)
+002B PLUS SIGN
+002C COMMA
+ x (arabic comma - 060C)
+ x (ideographic comma - 3001)
+002D HYPHEN-MINUS
+ = hyphen or minus sign
+ = hyphus
+ * used for either hyphen or minus sign
+ * other hyphen and dash characters: 2010-2015
+ x (hyphen - 2010)
+ x (non-breaking hyphen - 2011)
+ x (minus sign - 2212)
+002E FULL STOP
+ = PERIOD
+ x (arabic full stop - 06D4)
+ x (ideographic full stop - 3002)
+002F SOLIDUS
+ = SLASH
+ = virgule
+ = shilling (British)
+ x (latin letter dental click - 01C0)
+ x (fraction slash - 2044)
+ x (division slash - 2215)
+0030 DIGIT ZERO
+0031 DIGIT ONE
+0032 DIGIT TWO
+0033 DIGIT THREE
+0034 DIGIT FOUR
+0035 DIGIT FIVE
+0036 DIGIT SIX
+0037 DIGIT SEVEN
+0038 DIGIT EIGHT
+0039 DIGIT NINE
+003A COLON
+ x (armenian full stop - 0589)
+ x (ratio - 2236)
+003B SEMICOLON
+ x (greek question mark - 037E)
+ x (arabic semicolon - 061B)
+003C LESS-THAN SIGN
+ x (single left-pointing angle quotation mark - 2039)
+ x (left-pointing angle bracket - 2329)
+ x (left angle bracket - 3008)
+003D EQUALS SIGN
+ * other related characters: 2241-2263
+ x (not equal to - 2260)
+ x (identical to - 2261)
+003E GREATER-THAN SIGN
+ x (single right-pointing angle quotation mark - 203A)
+ x (right-pointing angle bracket - 232A)
+ x (right angle bracket - 3009)
+003F QUESTION MARK
+ x (inverted question mark - 00BF)
+ x (greek question mark - 037E)
+ x (arabic question mark - 061F)
+ x (interrobang - 203D)
+0040 COMMERCIAL AT
+0041 LATIN CAPITAL LETTER A
+0042 LATIN CAPITAL LETTER B
+ x (script capital b - 212C)
+0043 LATIN CAPITAL LETTER C
+ x (double-struck capital c - 2102)
+ x (black-letter capital c - 212D)
+0044 LATIN CAPITAL LETTER D
+0045 LATIN CAPITAL LETTER E
+ x (euler constant - 2107)
+ x (script capital e - 2130)
+0046 LATIN CAPITAL LETTER F
+ x (script capital f - 2131)
+ x (turned capital f - 2132)
+0047 LATIN CAPITAL LETTER G
+0048 LATIN CAPITAL LETTER H
+ x (script capital h - 210B)
+ x (black-letter capital h - 210C)
+ x (double-struck capital h - 210D)
+0049 LATIN CAPITAL LETTER I
+ * note alternative case mappings in Turkish
+ x (latin capital letter i with dot above - 0130)
+ x (latin small letter dotless i - 0131)
+ x (script capital i - 2110)
+ x (black-letter capital i - 2111)
+004A LATIN CAPITAL LETTER J
+004B LATIN CAPITAL LETTER K
+ x (kelvin sign - 212A)
+004C LATIN CAPITAL LETTER L
+ x (script capital l - 2112)
+004D LATIN CAPITAL LETTER M
+ x (script capital m - 2133)
+004E LATIN CAPITAL LETTER N
+ x (double-struck capital n - 2115)
+004F LATIN CAPITAL LETTER O
+0050 LATIN CAPITAL LETTER P
+ x (script capital p - 2118)
+ x (double-struck capital p - 2119)
+0051 LATIN CAPITAL LETTER Q
+ x (double-struck capital q - 211A)
+0052 LATIN CAPITAL LETTER R
+ x (script capital r - 211B)
+ x (black-letter capital r - 211C)
+ x (double-struck capital r - 211D)
+0053 LATIN CAPITAL LETTER S
+0054 LATIN CAPITAL LETTER T
+0055 LATIN CAPITAL LETTER U
+0056 LATIN CAPITAL LETTER V
+0057 LATIN CAPITAL LETTER W
+0058 LATIN CAPITAL LETTER X
+0059 LATIN CAPITAL LETTER Y
+005A LATIN CAPITAL LETTER Z
+ x (double-struck capital z - 2124)
+ x (black-letter capital z - 2128)
+005B LEFT SQUARE BRACKET
+ = OPENING SQUARE BRACKET
+ * other bracket characters: 3008-301B
+005C REVERSE SOLIDUS
+ = BACKSLASH
+ x (set minus - 2216)
+005D RIGHT SQUARE BRACKET
+ = CLOSING SQUARE BRACKET
+005E CIRCUMFLEX ACCENT
+ = SPACING CIRCUMFLEX
+ * this is a spacing character
+ x (modifier letter up arrowhead - 02C4)
+ x (modifier letter circumflex accent - 02C6)
+ x (combining circumflex accent - 0302)
+ x (up arrowhead - 2303)
+ # 0020 + 0302
+005F LOW LINE
+ = SPACING UNDERSCORE
+ * this is a spacing character
+ x (modifier letter low macron - 02CD)
+ x (combining macron below - 0331)
+ x (combining low line - 0332)
+ x (double low line - 2017)
+ # 0020 + 0332
+0060 GRAVE ACCENT
+ = SPACING GRAVE
+ * this is a spacing character
+ x (modifier letter grave accent - 02CB)
+ x (combining grave accent - 0300)
+ x (reversed prime - 2035)
+ # 0020 + 0300
+0061 LATIN SMALL LETTER A
+0062 LATIN SMALL LETTER B
+0063 LATIN SMALL LETTER C
+0064 LATIN SMALL LETTER D
+0065 LATIN SMALL LETTER E
+ x (estimated symbol - 212E)
+ x (script small e - 212F)
+0066 LATIN SMALL LETTER F
+0067 LATIN SMALL LETTER G
+ x (latin small letter script g - 0261)
+ x (script small g - 210A)
+0068 LATIN SMALL LETTER H
+ x (cyrillic small letter shha - 04BB)
+ x (planck constant - 210E)
+0069 LATIN SMALL LETTER I
+ * note alternative case mappings in Turkish
+ x (latin capital letter i with dot above - 0130)
+ x (latin small letter dotless i - 0131)
+006A LATIN SMALL LETTER J
+006B LATIN SMALL LETTER K
+006C LATIN SMALL LETTER L
+ x (script small l - 2113)
+006D LATIN SMALL LETTER M
+006E LATIN SMALL LETTER N
+006F LATIN SMALL LETTER O
+ x (script small o - 2134)
+0070 LATIN SMALL LETTER P
+0071 LATIN SMALL LETTER Q
+0072 LATIN SMALL LETTER R
+0073 LATIN SMALL LETTER S
+0074 LATIN SMALL LETTER T
+0075 LATIN SMALL LETTER U
+0076 LATIN SMALL LETTER V
+0077 LATIN SMALL LETTER W
+0078 LATIN SMALL LETTER X
+0079 LATIN SMALL LETTER Y
+007A LATIN SMALL LETTER Z
+ x (latin small letter z with stroke - 01B6)
+007B LEFT CURLY BRACKET
+ = OPENING CURLY BRACKET
+ = opening brace
+007C VERTICAL LINE
+ = VERTICAL BAR
+ x (latin letter dental click - 01C0)
+ x (divides - 2223)
+ x (light vertical bar - 2758)
+007D RIGHT CURLY BRACKET
+ = CLOSING CURLY BRACKET
+ = closing brace
+007E TILDE
+ * this is a spacing character
+ x (small tilde - 02DC)
+ x (combining tilde - 0303)
+ x (tilde operator - 223C)
+007F DELETE
+ * control code
+@@ 0080 C1 Controls and Latin-1 Supplement 00FF
+@ ISO 8859-1 (aka Latin1)
+00A0 NO-BREAK SPACE
+ = NON-BREAKING SPACE
+ x (space - 0020)
+ x (zero width no-break space - FEFF)
+ # <noBreak> + 0020
+00A1 INVERTED EXCLAMATION MARK
+ * Spanish
+ x (exclamation mark - 0021)
+00A2 CENT SIGN
+00A3 POUND SIGN
+ = pound sterling
+ x (lira sign - 20A4)
+00A4 CURRENCY SIGN
+ * other currency symbol characters: 20A0-20CF
+ x (dollar sign - 0024)
+00A5 YEN SIGN
+ = yuan sign
+ * glyph may have one or two crossbars
+00A6 BROKEN BAR
+ = BROKEN VERTICAL BAR
+00A7 SECTION SIGN
+ * paragraph sign in some European usage
+00A8 DIAERESIS
+ = SPACING DIAERESIS
+ * this is a spacing character
+ x (combining diaeresis - 0308)
+ # 0020 + 0308
+00A9 COPYRIGHT SIGN
+ x (sound recording copyright - 2117)
+00AA FEMININE ORDINAL INDICATOR
+ * Spanish
+ # <super> + 0061
+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ = LEFT POINTING GUILLEMET
+ * usually opening, sometimes closing
+ x (much less-than - 226A)
+ x (left double angle bracket - 300A)
+00AC NOT SIGN
+ x (reversed not sign - 2310)
+00AD SOFT HYPHEN
+ = discretionary hyphen
+00AE REGISTERED SIGN
+ = REGISTERED TRADE MARK SIGN
+00AF MACRON
+ = SPACING MACRON
+ = overline
+ = APL overbar
+ * this is a spacing character
+ x (modifier letter macron - 02C9)
+ x (combining macron - 0304)
+ x (combining overline - 0305)
+ # 0020 + 0304
+00B0 DEGREE SIGN
+ * this is a spacing character
+ x (ring above - 02DA)
+ x (combining ring above - 030A)
+ x (ring operator - 2218)
+00B1 PLUS-MINUS SIGN
+ = PLUS-OR-MINUS SIGN
+ x (minus-or-plus sign - 2213)
+00B2 SUPERSCRIPT TWO
+ = SUPERSCRIPT DIGIT TWO
+ = squared
+ x (superscript one - 00B9)
+ # <super> + 0032
+00B3 SUPERSCRIPT THREE
+ = SUPERSCRIPT DIGIT THREE
+ = cubed
+ x (superscript one - 00B9)
+ # <super> + 0033
+00B4 ACUTE ACCENT
+ = SPACING ACUTE
+ * this is a spacing character
+ x (modifier letter prime - 02B9)
+ x (modifier letter acute accent - 02CA)
+ x (combining acute accent - 0301)
+ x (prime - 2032)
+ # 0020 + 0301
+00B5 MICRO SIGN
+ x (greek small letter mu - 03BC)
+ # 03BC
+00B6 PILCROW SIGN
+ = PARAGRAPH SIGN
+ * section sign in some European usage
+ x (curved stem paragraph sign ornament - 2761)
+00B7 MIDDLE DOT
+ = Georgian comma
+ = Greek middle dot
+ x (bullet - 2022)
+ x (one dot leader - 2024)
+ x (bullet operator - 2219)
+ x (dot operator - 22C5)
+ x (katakana middle dot - 30FB)
+00B8 CEDILLA
+ = SPACING CEDILLA
+ * this is a spacing character
+ * other spacing accent characters: 02D8-02DB
+ x (combining cedilla - 0327)
+ # 0020 + 0327
+00B9 SUPERSCRIPT ONE
+ = SUPERSCRIPT DIGIT ONE
+ * other superscript digit characters: 2070-2079
+ x (superscript two - 00B2)
+ x (superscript three - 00B3)
+ # <super> + 0031
+00BA MASCULINE ORDINAL INDICATOR
+ * Spanish
+ # <super> + 006F
+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ = RIGHT POINTING GUILLEMET
+ * usually closing, sometimes opening
+ x (much greater-than - 226B)
+ x (right double angle bracket - 300B)
+00BC VULGAR FRACTION ONE QUARTER
+ = FRACTION ONE QUARTER
+ * bar may be horizontal or slanted
+ # <fraction> + 0031 + 2044 + 0034
+00BD VULGAR FRACTION ONE HALF
+ = FRACTION ONE HALF
+ * bar may be horizontal or slanted
+ # <fraction> + 0031 + 2044 + 0032
+00BE VULGAR FRACTION THREE QUARTERS
+ = FRACTION THREE QUARTERS
+ * bar may be horizontal or slanted
+ * other fraction characters: 2153-215E
+ # <fraction> + 0033 + 2044 + 0034
+00BF INVERTED QUESTION MARK
+ = turned question mark
+ * Spanish
+ x (question mark - 003F)
+00C0 LATIN CAPITAL LETTER A WITH GRAVE
+ = LATIN CAPITAL LETTER A GRAVE
+ * (many of the following have similar name transformations)
+ : 0041 + 0300
+00C1 LATIN CAPITAL LETTER A WITH ACUTE
+ : 0041 + 0301
+00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ : 0041 + 0302
+00C3 LATIN CAPITAL LETTER A WITH TILDE
+ : 0041 + 0303
+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS
+ : 0041 + 0308
+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE
+ = LATIN CAPITAL LETTER A RING
+ x (angstrom sign - 212B)
+ : 0041 + 030A
+00C6 LATIN CAPITAL LETTER AE
+ = LATIN CAPITAL LIGATURE AE
+00C7 LATIN CAPITAL LETTER C WITH CEDILLA
+ : 0043 + 0327
+00C8 LATIN CAPITAL LETTER E WITH GRAVE
+ : 0045 + 0300
+00C9 LATIN CAPITAL LETTER E WITH ACUTE
+ : 0045 + 0301
+00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ : 0045 + 0302
+00CB LATIN CAPITAL LETTER E WITH DIAERESIS
+ : 0045 + 0308
+00CC LATIN CAPITAL LETTER I WITH GRAVE
+ : 0049 + 0300
+00CD LATIN CAPITAL LETTER I WITH ACUTE
+ : 0049 + 0301
+00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ : 0049 + 0302
+00CF LATIN CAPITAL LETTER I WITH DIAERESIS
+ : 0049 + 0308
+00D0 LATIN CAPITAL LETTER ETH
+ x (latin small letter eth - 00F0)
+ x (latin capital letter d with stroke - 0110)
+ x (latin capital letter african d - 0189)
+00D1 LATIN CAPITAL LETTER N WITH TILDE
+ : 004E + 0303
+00D2 LATIN CAPITAL LETTER O WITH GRAVE
+ : 004F + 0300
+00D3 LATIN CAPITAL LETTER O WITH ACUTE
+ : 004F + 0301
+00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ : 004F + 0302
+00D5 LATIN CAPITAL LETTER O WITH TILDE
+ : 004F + 0303
+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS
+ : 004F + 0308
+00D7 MULTIPLICATION SIGN
+00D8 LATIN CAPITAL LETTER O WITH STROKE
+ = LATIN CAPITAL LETTER O SLASH
+ x (empty set - 2205)
+00D9 LATIN CAPITAL LETTER U WITH GRAVE
+ : 0055 + 0300
+00DA LATIN CAPITAL LETTER U WITH ACUTE
+ : 0055 + 0301
+00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ : 0055 + 0302
+00DC LATIN CAPITAL LETTER U WITH DIAERESIS
+ : 0055 + 0308
+00DD LATIN CAPITAL LETTER Y WITH ACUTE
+ : 0059 + 0301
+00DE LATIN CAPITAL LETTER THORN
+00DF LATIN SMALL LETTER SHARP S
+ = ess-zed
+ * German
+ * uppercase is "SS"
+ x (greek small letter beta - 03B2)
+00E0 LATIN SMALL LETTER A WITH GRAVE
+ = LATIN SMALL LETTER A GRAVE
+ * (many of the following have similar name transformations)
+ : 0061 + 0300
+00E1 LATIN SMALL LETTER A WITH ACUTE
+ : 0061 + 0301
+00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX
+ : 0061 + 0302
+00E3 LATIN SMALL LETTER A WITH TILDE
+ * Portuguese
+ : 0061 + 0303
+00E4 LATIN SMALL LETTER A WITH DIAERESIS
+ : 0061 + 0308
+00E5 LATIN SMALL LETTER A WITH RING ABOVE
+ = LATIN SMALL LETTER A RING
+ * Danish, Norwegian, Swedish
+ : 0061 + 030A
+00E6 LATIN SMALL LETTER AE
+ = LATIN SMALL LIGATURE AE
+ * IPA
+ x (latin small ligature oe - 0153)
+00E7 LATIN SMALL LETTER C WITH CEDILLA
+ : 0063 + 0327
+00E8 LATIN SMALL LETTER E WITH GRAVE
+ : 0065 + 0300
+00E9 LATIN SMALL LETTER E WITH ACUTE
+ : 0065 + 0301
+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX
+ : 0065 + 0302
+00EB LATIN SMALL LETTER E WITH DIAERESIS
+ : 0065 + 0308
+00EC LATIN SMALL LETTER I WITH GRAVE
+ * Italian, Malagash
+ : 0069 + 0300
+00ED LATIN SMALL LETTER I WITH ACUTE
+ : 0069 + 0301
+00EE LATIN SMALL LETTER I WITH CIRCUMFLEX
+ : 0069 + 0302
+00EF LATIN SMALL LETTER I WITH DIAERESIS
+ : 0069 + 0308
+00F0 LATIN SMALL LETTER ETH
+ * Icelandic, Faroese, old English, IPA
+ x (latin capital letter eth - 00D0)
+00F1 LATIN SMALL LETTER N WITH TILDE
+ : 006E + 0303
+00F2 LATIN SMALL LETTER O WITH GRAVE
+ : 006F + 0300
+00F3 LATIN SMALL LETTER O WITH ACUTE
+ : 006F + 0301
+00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX
+ : 006F + 0302
+00F5 LATIN SMALL LETTER O WITH TILDE
+ * Portuguese, Estonian
+ : 006F + 0303
+00F6 LATIN SMALL LETTER O WITH DIAERESIS
+ : 006F + 0308
+00F7 DIVISION SIGN
+00F8 LATIN SMALL LETTER O WITH STROKE
+ = LATIN SMALL LETTER O SLASH
+ * Danish, Norwegian, Faroese, IPA
+00F9 LATIN SMALL LETTER U WITH GRAVE
+ * French, Italian
+ : 0075 + 0300
+00FA LATIN SMALL LETTER U WITH ACUTE
+ : 0075 + 0301
+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX
+ : 0075 + 0302
+00FC LATIN SMALL LETTER U WITH DIAERESIS
+ : 0075 + 0308
+00FD LATIN SMALL LETTER Y WITH ACUTE
+ * Czech, Slovak, Icelandic, Faroese, Malagash
+ : 0079 + 0301
+00FE LATIN SMALL LETTER THORN
+ * Icelandic, old English, IPA
+ * Runic letter borrowed into Latin script
+00FF LATIN SMALL LETTER Y WITH DIAERESIS
+ * French
+ x (latin capital letter y with diaeresis - 0178)
+ : 0079 + 0308
+@@ 0100 Latin Extended-A 017F
+@ European Latin
+0100 LATIN CAPITAL LETTER A WITH MACRON
+ : 0041 + 0304
+0101 LATIN SMALL LETTER A WITH MACRON
+ * Latvian, ...
+ : 0061 + 0304
+0102 LATIN CAPITAL LETTER A WITH BREVE
+ : 0041 + 0306
+0103 LATIN SMALL LETTER A WITH BREVE
+ * Romanian, Vietnamese, ...
+ : 0061 + 0306
+0104 LATIN CAPITAL LETTER A WITH OGONEK
+ : 0041 + 0328
+0105 LATIN SMALL LETTER A WITH OGONEK
+ * Polish, Lithuanian, ...
+ : 0061 + 0328
+0106 LATIN CAPITAL LETTER C WITH ACUTE
+ : 0043 + 0301
+0107 LATIN SMALL LETTER C WITH ACUTE
+ * Polish, Croatian, ...
+ x (cyrillic small letter tshe - 045B)
+ : 0063 + 0301
+0108 LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+ : 0043 + 0302
+0109 LATIN SMALL LETTER C WITH CIRCUMFLEX
+ * Esperanto
+ : 0063 + 0302
+010A LATIN CAPITAL LETTER C WITH DOT ABOVE
+ : 0043 + 0307
+010B LATIN SMALL LETTER C WITH DOT ABOVE
+ * Maltese
+ : 0063 + 0307
+010C LATIN CAPITAL LETTER C WITH CARON
+ : 0043 + 030C
+010D LATIN SMALL LETTER C WITH CARON
+ * (many)
+ : 0063 + 030C
+010E LATIN CAPITAL LETTER D WITH CARON
+ * the form using caron/hacek is preferred in all contexts
+ : 0044 + 030C
+010F LATIN SMALL LETTER D WITH CARON
+ * Czech, Slovak
+ * the form using apostrophe is preferred in typesetting
+ : 0064 + 030C
+0110 LATIN CAPITAL LETTER D WITH STROKE
+ x (latin capital letter eth - 00D0)
+ x (latin small letter d with stroke - 0111)
+ x (latin capital letter african d - 0189)
+0111 LATIN SMALL LETTER D WITH STROKE
+ * Croatian, Vietnamese, Lappish
+ x (latin capital letter d with stroke - 0110)
+ x (cyrillic small letter dje - 0452)
+0112 LATIN CAPITAL LETTER E WITH MACRON
+ : 0045 + 0304
+0113 LATIN SMALL LETTER E WITH MACRON
+ * Latvian, ...
+ : 0065 + 0304
+0114 LATIN CAPITAL LETTER E WITH BREVE
+ : 0045 + 0306
+0115 LATIN SMALL LETTER E WITH BREVE
+ * Malay, ...
+ : 0065 + 0306
+0116 LATIN CAPITAL LETTER E WITH DOT ABOVE
+ : 0045 + 0307
+0117 LATIN SMALL LETTER E WITH DOT ABOVE
+ * Lithuanian
+ : 0065 + 0307
+0118 LATIN CAPITAL LETTER E WITH OGONEK
+ : 0045 + 0328
+0119 LATIN SMALL LETTER E WITH OGONEK
+ * Polish, Lithuanian, ...
+ : 0065 + 0328
+011A LATIN CAPITAL LETTER E WITH CARON
+ : 0045 + 030C
+011B LATIN SMALL LETTER E WITH CARON
+ * Czech, ...
+ : 0065 + 030C
+011C LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+ : 0047 + 0302
+011D LATIN SMALL LETTER G WITH CIRCUMFLEX
+ * Esperanto
+ : 0067 + 0302
+011E LATIN CAPITAL LETTER G WITH BREVE
+ : 0047 + 0306
+011F LATIN SMALL LETTER G WITH BREVE
+ * Turkish
+ x (latin small letter g with caron - 01E7)
+ : 0067 + 0306
+0120 LATIN CAPITAL LETTER G WITH DOT ABOVE
+ : 0047 + 0307
+0121 LATIN SMALL LETTER G WITH DOT ABOVE
+ * Maltese, ...
+ : 0067 + 0307
+0122 LATIN CAPITAL LETTER G WITH CEDILLA
+ : 0047 + 0327
+0123 LATIN SMALL LETTER G WITH CEDILLA
+ * Latvian, Lappish
+ * there are three glyph variants
+ : 0067 + 0327
+0124 LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+ : 0048 + 0302
+0125 LATIN SMALL LETTER H WITH CIRCUMFLEX
+ * Esperanto
+ : 0068 + 0302
+0126 LATIN CAPITAL LETTER H WITH STROKE
+0127 LATIN SMALL LETTER H WITH STROKE
+ * Maltese, IPA, ...
+ x (cyrillic small letter tshe - 045B)
+ x (planck constant over two pi - 210F)
+0128 LATIN CAPITAL LETTER I WITH TILDE
+ : 0049 + 0303
+0129 LATIN SMALL LETTER I WITH TILDE
+ * Greenlandic
+ : 0069 + 0303
+012A LATIN CAPITAL LETTER I WITH MACRON
+ : 0049 + 0304
+012B LATIN SMALL LETTER I WITH MACRON
+ * Latvian, ...
+ : 0069 + 0304
+012C LATIN CAPITAL LETTER I WITH BREVE
+ : 0049 + 0306
+012D LATIN SMALL LETTER I WITH BREVE
+ * Latin, ...
+ : 0069 + 0306
+012E LATIN CAPITAL LETTER I WITH OGONEK
+ : 0049 + 0328
+012F LATIN SMALL LETTER I WITH OGONEK
+ * Lithuanian, ...
+ : 0069 + 0328
+0130 LATIN CAPITAL LETTER I WITH DOT ABOVE
+ = LATIN CAPITAL LETTER I DOT
+ * Turkish
+ * note case mapping
+ x (latin capital letter i - 0049)
+ x (latin small letter i - 0069)
+ : 0049 + 0307
+0131 LATIN SMALL LETTER DOTLESS I
+ * Turkish
+ * note case mapping
+ x (latin capital letter i - 0049)
+ x (latin small letter i - 0069)
+0132 LATIN CAPITAL LIGATURE IJ
+ # 0049 + 004A
+0133 LATIN SMALL LIGATURE IJ
+ * Dutch
+ # 0069 + 006A
+0134 LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+ : 004A + 0302
+0135 LATIN SMALL LETTER J WITH CIRCUMFLEX
+ * Esperanto
+ : 006A + 0302
+0136 LATIN CAPITAL LETTER K WITH CEDILLA
+ : 004B + 0327
+0137 LATIN SMALL LETTER K WITH CEDILLA
+ * Latvian, ...
+ : 006B + 0327
+0138 LATIN SMALL LETTER KRA
+ * old Greenlandic
+0139 LATIN CAPITAL LETTER L WITH ACUTE
+ : 004C + 0301
+013A LATIN SMALL LETTER L WITH ACUTE
+ * Slovak
+ : 006C + 0301
+013B LATIN CAPITAL LETTER L WITH CEDILLA
+ : 004C + 0327
+013C LATIN SMALL LETTER L WITH CEDILLA
+ * Latvian
+ : 006C + 0327
+013D LATIN CAPITAL LETTER L WITH CARON
+ : 004C + 030C
+013E LATIN SMALL LETTER L WITH CARON
+ * Slovak
+ * the form using apostrophe is preferred in typesetting
+ : 006C + 030C
+013F LATIN CAPITAL LETTER L WITH MIDDLE DOT
+ # 004C + 00B7
+0140 LATIN SMALL LETTER L WITH MIDDLE DOT
+ * Catalan
+ # 006C + 00B7
+0141 LATIN CAPITAL LETTER L WITH STROKE
+0142 LATIN SMALL LETTER L WITH STROKE
+ * Polish, ...
+ x (latin small letter l with bar - 019A)
+0143 LATIN CAPITAL LETTER N WITH ACUTE
+ : 004E + 0301
+0144 LATIN SMALL LETTER N WITH ACUTE
+ * Polish, ...
+ : 006E + 0301
+0145 LATIN CAPITAL LETTER N WITH CEDILLA
+ : 004E + 0327
+0146 LATIN SMALL LETTER N WITH CEDILLA
+ * Latvian
+ : 006E + 0327
+0147 LATIN CAPITAL LETTER N WITH CARON
+ : 004E + 030C
+0148 LATIN SMALL LETTER N WITH CARON
+ * Czech, Slovak
+ : 006E + 030C
+0149 LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+ = LATIN SMALL LETTER APOSTROPHE N
+ * Afrikaans
+ * this is not actually a single letter
+ # 02BC + 006E
+014A LATIN CAPITAL LETTER ENG
+014B LATIN SMALL LETTER ENG
+ * Sami, IPA, ...
+014C LATIN CAPITAL LETTER O WITH MACRON
+ : 004F + 0304
+014D LATIN SMALL LETTER O WITH MACRON
+ * Latvian, ...
+ : 006F + 0304
+014E LATIN CAPITAL LETTER O WITH BREVE
+ : 004F + 0306
+014F LATIN SMALL LETTER O WITH BREVE
+ * Latin
+ : 006F + 0306
+0150 LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+ : 004F + 030B
+0151 LATIN SMALL LETTER O WITH DOUBLE ACUTE
+ * Hungarian
+ : 006F + 030B
+0152 LATIN CAPITAL LIGATURE OE
+0153 LATIN SMALL LIGATURE OE
+ = LATIN ... LETTER O E
+ * French, IPA, ...
+ x (latin small letter ae - 00E6)
+ x (latin letter small capital oe - 0276)
+0154 LATIN CAPITAL LETTER R WITH ACUTE
+ : 0052 + 0301
+0155 LATIN SMALL LETTER R WITH ACUTE
+ * Slovak, ...
+ : 0072 + 0301
+0156 LATIN CAPITAL LETTER R WITH CEDILLA
+ : 0052 + 0327
+0157 LATIN SMALL LETTER R WITH CEDILLA
+ * Latvian
+ : 0072 + 0327
+0158 LATIN CAPITAL LETTER R WITH CARON
+ : 0052 + 030C
+0159 LATIN SMALL LETTER R WITH CARON
+ * Czech, ...
+ : 0072 + 030C
+015A LATIN CAPITAL LETTER S WITH ACUTE
+ : 0053 + 0301
+015B LATIN SMALL LETTER S WITH ACUTE
+ * Polish, ...
+ : 0073 + 0301
+015C LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+ : 0053 + 0302
+015D LATIN SMALL LETTER S WITH CIRCUMFLEX
+ * Esperanto
+ : 0073 + 0302
+015E LATIN CAPITAL LETTER S WITH CEDILLA
+ : 0053 + 0327
+015F LATIN SMALL LETTER S WITH CEDILLA
+ * Turkish, Romanian, ...
+ * the form using under-comma is taken to be a glyph variant
+ : 0073 + 0327
+0160 LATIN CAPITAL LETTER S WITH CARON
+ : 0053 + 030C
+0161 LATIN SMALL LETTER S WITH CARON
+ * (many)
+ : 0073 + 030C
+0162 LATIN CAPITAL LETTER T WITH CEDILLA
+ : 0054 + 0327
+0163 LATIN SMALL LETTER T WITH CEDILLA
+ * Romanian, ...
+ * the form using under-comma is taken to be a glyph variant
+ : 0074 + 0327
+0164 LATIN CAPITAL LETTER T WITH CARON
+ * the form using caron/hacek is preferred in all contexts
+ : 0054 + 030C
+0165 LATIN SMALL LETTER T WITH CARON
+ * Czech, Slovak
+ * the form using apostrophe is preferred in typesetting
+ : 0074 + 030C
+0166 LATIN CAPITAL LETTER T WITH STROKE
+0167 LATIN SMALL LETTER T WITH STROKE
+ * Lappish
+0168 LATIN CAPITAL LETTER U WITH TILDE
+ : 0055 + 0303
+0169 LATIN SMALL LETTER U WITH TILDE
+ * Greenlandic
+ : 0075 + 0303
+016A LATIN CAPITAL LETTER U WITH MACRON
+ : 0055 + 0304
+016B LATIN SMALL LETTER U WITH MACRON
+ * Latvian, Lithuanian, ...
+ : 0075 + 0304
+016C LATIN CAPITAL LETTER U WITH BREVE
+ : 0055 + 0306
+016D LATIN SMALL LETTER U WITH BREVE
+ * Latin, Esperanto, ...
+ : 0075 + 0306
+016E LATIN CAPITAL LETTER U WITH RING ABOVE
+ : 0055 + 030A
+016F LATIN SMALL LETTER U WITH RING ABOVE
+ * Czech, ...
+ : 0075 + 030A
+0170 LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+ : 0055 + 030B
+0171 LATIN SMALL LETTER U WITH DOUBLE ACUTE
+ * Hungarian
+ : 0075 + 030B
+0172 LATIN CAPITAL LETTER U WITH OGONEK
+ : 0055 + 0328
+0173 LATIN SMALL LETTER U WITH OGONEK
+ * Lithuanian
+ : 0075 + 0328
+0174 LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+ : 0057 + 0302
+0175 LATIN SMALL LETTER W WITH CIRCUMFLEX
+ * Welsh
+ : 0077 + 0302
+0176 LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+ : 0059 + 0302
+0177 LATIN SMALL LETTER Y WITH CIRCUMFLEX
+ * Welsh
+ : 0079 + 0302
+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS
+ * French
+ x (latin small letter y with diaeresis - 00FF)
+ : 0059 + 0308
+0179 LATIN CAPITAL LETTER Z WITH ACUTE
+ : 005A + 0301
+017A LATIN SMALL LETTER Z WITH ACUTE
+ * Polish, ...
+ : 007A + 0301
+017B LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ : 005A + 0307
+017C LATIN SMALL LETTER Z WITH DOT ABOVE
+ * Polish, ...
+ : 007A + 0307
+017D LATIN CAPITAL LETTER Z WITH CARON
+ : 005A + 030C
+017E LATIN SMALL LETTER Z WITH CARON
+ * (many)
+ : 007A + 030C
+017F LATIN SMALL LETTER LONG S
+ # 0073
+@@ 0180 Latin Extended-B 024F
+@ Latin extended-B
+0180 LATIN SMALL LETTER B WITH STROKE
+ * Americanist usage for phonetic beta
+ x (greek small letter beta - 03B2)
+ x (blank symbol - 2422)
+0181 LATIN CAPITAL LETTER B WITH HOOK
+ x (latin small letter b with hook - 0253)
+0182 LATIN CAPITAL LETTER B WITH TOPBAR
+0183 LATIN SMALL LETTER B WITH TOPBAR
+ * Ex-Soviet minority language scripts
+ x (cyrillic capital letter be - 0411)
+0184 LATIN CAPITAL LETTER TONE SIX
+0185 LATIN SMALL LETTER TONE SIX
+ * Zhuang
+ * Zhuang tone three is Cyrillic ze
+ * Zhuang tone four is Cyrillic che
+ x (latin small letter tone two - 01A8)
+ x (latin small letter tone five - 01BD)
+ x (cyrillic small letter ze - 0437)
+ x (cyrillic small letter che - 0447)
+ x (cyrillic small letter soft sign - 044C)
+0186 LATIN CAPITAL LETTER OPEN O
+ * typographically a turned C
+ x (latin small letter open o - 0254)
+0187 LATIN CAPITAL LETTER C WITH HOOK
+0188 LATIN SMALL LETTER C WITH HOOK
+ * African
+0189 LATIN CAPITAL LETTER AFRICAN D
+ x (latin capital letter eth - 00D0)
+ x (latin capital letter d with stroke - 0110)
+ x (latin small letter d with tail - 0256)
+018A LATIN CAPITAL LETTER D WITH HOOK
+ * African
+ x (latin small letter d with hook - 0257)
+018B LATIN CAPITAL LETTER D WITH TOPBAR
+018C LATIN SMALL LETTER D WITH TOPBAR
+ * Ex-Soviet minority language scripts
+018D LATIN SMALL LETTER TURNED DELTA
+ * archaic phonetic for labialized dental fricative
+ * recommended spellings 007A 02B7 or 007A 032B
+018E LATIN CAPITAL LETTER REVERSED E
+ = LATIN CAPITAL LETTER TURNED E
+ * Nigerian
+ * alternate uppercase usage to the following
+ x (latin small letter turned e - 01DD)
+018F LATIN CAPITAL LETTER SCHWA
+ * Azerbaijani, ...
+ x (latin small letter schwa - 0259)
+0190 LATIN CAPITAL LETTER OPEN E
+ * African
+ x (latin small letter open e - 025B)
+ x (euler constant - 2107)
+0191 LATIN CAPITAL LETTER F WITH HOOK
+ * African
+0192 LATIN SMALL LETTER F WITH HOOK
+ = LATIN SMALL LETTER SCRIPT F
+ = Florin currency symbol (Dutch)
+ = function symbol
+0193 LATIN CAPITAL LETTER G WITH HOOK
+ * African
+ x (latin small letter g with hook - 0260)
+0194 LATIN CAPITAL LETTER GAMMA
+ * African
+ x (latin small letter gamma - 0263)
+0195 LATIN SMALL LETTER HV
+ * Gothic
+0196 LATIN CAPITAL LETTER IOTA
+ * African
+ x (latin small letter iota - 0269)
+0197 LATIN CAPITAL LETTER I WITH STROKE
+ = i bar
+ * African
+ * ISO 6438 gives lowercase as 026A, not 0268
+ x (latin letter small capital i - 026A)
+0198 LATIN CAPITAL LETTER K WITH HOOK
+0199 LATIN SMALL LETTER K WITH HOOK
+ * African
+019A LATIN SMALL LETTER L WITH BAR
+ * Americanist phonetic usage
+ x (latin small letter l with stroke - 0142)
+019B LATIN SMALL LETTER LAMBDA WITH STROKE
+ = lambda bar
+ * Americanist phonetic usage
+019C LATIN CAPITAL LETTER TURNED M
+ * Zhuang
+ x (latin small letter turned m - 026F)
+019D LATIN CAPITAL LETTER N WITH LEFT HOOK
+ * African
+ x (latin small letter n with left hook - 0272)
+019E LATIN SMALL LETTER N WITH LONG RIGHT LEG
+ * archaic phonetic for Japanese syllabic "n"
+ * recommended spelling 006E 0329
+019F LATIN CAPITAL LETTER O WITH MIDDLE TILDE
+ = LATIN CAPITAL LETTER BARRED O
+ = o bar
+ * note case mapping
+ * African, Ex-Soviet minority language scripts
+ x (latin small letter barred o - 0275)
+01A0 LATIN CAPITAL LETTER O WITH HORN
+ : 004F + 031B
+01A1 LATIN SMALL LETTER O WITH HORN
+ * Vietnamese
+ : 006F + 031B
+01A2 LATIN CAPITAL LETTER OI
+01A3 LATIN SMALL LETTER OI
+ * old Azerbaijani
+01A4 LATIN CAPITAL LETTER P WITH HOOK
+01A5 LATIN SMALL LETTER P WITH HOOK
+ * African
+01A6 LATIN LETTER YR
+ * old Norse
+ * from German Standard DIN 31624
+01A7 LATIN CAPITAL LETTER TONE TWO
+01A8 LATIN SMALL LETTER TONE TWO
+ * Zhuang
+ * typographically a reversed S
+ x (latin small letter tone six - 0185)
+01A9 LATIN CAPITAL LETTER ESH
+ * African
+ x (latin small letter esh - 0283)
+ x (greek capital letter sigma - 03A3)
+01AA LATIN LETTER REVERSED ESH LOOP
+ * archaic phonetic for labialized palato-alveolar or palatal fricative
+ * Twi
+ * recommended spellings 0283 02B7, 00E7 02B7, 0068 0265, etc.
+01AB LATIN SMALL LETTER T WITH PALATAL HOOK
+ * archaic phonetic for palatalized alveolar or dental stop
+ * recommended spelling 0074 02B2
+01AC LATIN CAPITAL LETTER T WITH HOOK
+01AD LATIN SMALL LETTER T WITH HOOK
+ * African
+01AE LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
+ * African
+ x (latin small letter t with retroflex hook - 0288)
+01AF LATIN CAPITAL LETTER U WITH HORN
+ : 0055 + 031B
+01B0 LATIN SMALL LETTER U WITH HORN
+ * Vietnamese
+ : 0075 + 031B
+01B1 LATIN CAPITAL LETTER UPSILON
+ * African
+ * typographically based on turned capital Greek omega
+ x (latin small letter upsilon - 028A)
+ x (inverted ohm sign - 2127)
+01B2 LATIN CAPITAL LETTER V WITH HOOK
+ = LATIN CAPITAL LETTER SCRIPT V
+ * African
+ x (latin small letter v with hook - 028B)
+01B3 LATIN CAPITAL LETTER Y WITH HOOK
+01B4 LATIN SMALL LETTER Y WITH HOOK
+ * African
+01B5 LATIN CAPITAL LETTER Z WITH STROKE
+01B6 LATIN SMALL LETTER Z WITH STROKE
+ = z bar
+ * variant of Latin "z"
+ x (latin small letter z - 007A)
+01B7 LATIN CAPITAL LETTER EZH
+ = LATIN CAPITAL LETTER YOGH
+ * African
+ x (latin small letter ezh - 0292)
+01B8 LATIN CAPITAL LETTER EZH REVERSED
+01B9 LATIN SMALL LETTER EZH REVERSED
+ * archaic phonetic for voiced pharyngeal fricative
+ * sometimes typographically rendered with a turned digit 3
+ * recommended spelling 0295
+ x (latin letter pharyngeal voiced fricative - 0295)
+ x (arabic letter ain - 0639)
+01BA LATIN SMALL LETTER EZH WITH TAIL
+ * archaic phonetic for labialized voiced palato-alveolar or palatal fricative
+ * Twi
+ * recommended spellings 0292 02B7 or 006A 02B7
+01BB LATIN LETTER TWO WITH STROKE
+ * archaic phonetic for [dz] affricate
+ * recommended spellings 0292 or 0064 007A
+01BC LATIN CAPITAL LETTER TONE FIVE
+01BD LATIN SMALL LETTER TONE FIVE
+ * Zhuang
+ x (latin small letter tone six - 0185)
+01BE LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE
+ * archaic phonetic for [ts] affricate
+ * recommended spelling 0074 0073
+01BF LATIN LETTER WYNN
+ * Runic letter borrowed into Latin script
+ * replaced by "w" in modern transcriptions of Old English
+01C0 LATIN LETTER DENTAL CLICK
+ = LATIN LETTER PIPE
+ * Khoisan tradition
+ * "c" in Zulu orthography
+ x (solidus - 002F)
+ x (vertical line - 007C)
+ x (latin small letter turned t - 0287)
+ x (divides - 2223)
+01C1 LATIN LETTER LATERAL CLICK
+ = LATIN LETTER DOUBLE PIPE
+ * Khoisan tradition
+ * "x" in Zulu orthography
+ x (latin letter inverted glottal stop - 0296)
+ x (parallel to - 2225)
+01C2 LATIN LETTER ALVEOLAR CLICK
+ = LATIN LETTER PIPE DOUBLE BAR
+ * Khoisan tradition
+ * no IPA equivalent
+ x (not equal to - 2260)
+01C3 LATIN LETTER RETROFLEX CLICK
+ = LATIN LETTER EXCLAMATION MARK
+ * Khoisan tradition
+ * "q" in Zulu orthography
+ x (exclamation mark - 0021)
+ x (latin letter stretched c - 0297)
+@ Croatian digraphs matching Serbian Cyrillic letters
+01C4 LATIN CAPITAL LETTER DZ WITH CARON
+ # 0044 + 017D
+01C5 LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
+ # 0044 + 017E
+01C6 LATIN SMALL LETTER DZ WITH CARON
+ x (cyrillic small letter dzhe - 045F)
+ # 0064 + 017E
+01C7 LATIN CAPITAL LETTER LJ
+ # 004C + 004A
+01C8 LATIN CAPITAL LETTER L WITH SMALL LETTER J
+ # 004C + 006A
+01C9 LATIN SMALL LETTER LJ
+ x (cyrillic small letter lje - 0459)
+ # 006C + 006A
+01CA LATIN CAPITAL LETTER NJ
+ # 004E + 004A
+01CB LATIN CAPITAL LETTER N WITH SMALL LETTER J
+ # 004E + 006A
+01CC LATIN SMALL LETTER NJ
+ x (cyrillic small letter nje - 045A)
+ # 006E + 006A
+@ Pinyin diacritic-vowel combinations
+01CD LATIN CAPITAL LETTER A WITH CARON
+ : 0041 + 030C
+01CE LATIN SMALL LETTER A WITH CARON
+ * Pinyin third tone
+ : 0061 + 030C
+01CF LATIN CAPITAL LETTER I WITH CARON
+ : 0049 + 030C
+01D0 LATIN SMALL LETTER I WITH CARON
+ * Pinyin third tone
+ : 0069 + 030C
+01D1 LATIN CAPITAL LETTER O WITH CARON
+ : 004F + 030C
+01D2 LATIN SMALL LETTER O WITH CARON
+ * Pinyin third tone
+ : 006F + 030C
+01D3 LATIN CAPITAL LETTER U WITH CARON
+ : 0055 + 030C
+01D4 LATIN SMALL LETTER U WITH CARON
+ * Pinyin third tone
+ : 0075 + 030C
+01D5 LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+ : 00DC + 0304
+01D6 LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+ * Pinyin first tone
+ : 00FC + 0304
+01D7 LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+ : 00DC + 0301
+01D8 LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+ * Pinyin second tone
+ : 00FC + 0301
+01D9 LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+ : 00DC + 030C
+01DA LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+ * Pinyin third tone
+ : 00FC + 030C
+01DB LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+ : 00DC + 0300
+01DC LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+ * Pinyin fourth tone
+ : 00FC + 0300
+@ Additions
+01DD LATIN SMALL LETTER TURNED E
+ * Nigerian
+ * all other usages of schwa are 0259
+ * note case mapping
+ x (latin capital letter reversed e - 018E)
+ x (latin small letter schwa - 0259)
+01DE LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+ : 00C4 + 0304
+01DF LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+ * Lappish
+ : 00E4 + 0304
+01E0 LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
+ : 0041 + 0307 + 0304
+01E1 LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
+ * Lappish
+ : 0061 + 0307 + 0304
+01E2 LATIN CAPITAL LETTER AE WITH MACRON
+ : 00C6 + 0304
+01E3 LATIN SMALL LETTER AE WITH MACRON
+ * Lappish, Old English
+ : 00E6 + 0304
+01E4 LATIN CAPITAL LETTER G WITH STROKE
+01E5 LATIN SMALL LETTER G WITH STROKE
+ * Lappish
+01E6 LATIN CAPITAL LETTER G WITH CARON
+ : 0047 + 030C
+01E7 LATIN SMALL LETTER G WITH CARON
+ * Lappish; sometimes used in writing Turkish
+ x (latin small letter g with breve - 011F)
+ : 0067 + 030C
+01E8 LATIN CAPITAL LETTER K WITH CARON
+ : 004B + 030C
+01E9 LATIN SMALL LETTER K WITH CARON
+ * Lappish
+ : 006B + 030C
+01EA LATIN CAPITAL LETTER O WITH OGONEK
+ : 004F + 0328
+01EB LATIN SMALL LETTER O WITH OGONEK
+ * Lappish, Iroquoian
+ : 006F + 0328
+01EC LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
+ : 01EA + 0304
+01ED LATIN SMALL LETTER O WITH OGONEK AND MACRON
+ * Lappish
+ : 01EB + 0304
+01EE LATIN CAPITAL LETTER EZH WITH CARON
+ : 01B7 + 030C
+01EF LATIN SMALL LETTER EZH WITH CARON
+ * Lappish
+ : 0292 + 030C
+01F0 LATIN SMALL LETTER J WITH CARON
+ * IPA
+ : 006A + 030C
+01F1 LATIN CAPITAL LETTER DZ
+ # 0044 + 005A
+01F2 LATIN CAPITAL LETTER D WITH SMALL LETTER Z
+ # 0044 + 007A
+01F3 LATIN SMALL LETTER DZ
+ # 0064 + 007A
+01F4 LATIN CAPITAL LETTER G WITH ACUTE
+ : 0047 + 0301
+01F5 LATIN SMALL LETTER G WITH ACUTE
+ : 0067 + 0301
+01FA LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+ : 00C5 + 0301
+01FB LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+ : 00E5 + 0301
+01FC LATIN CAPITAL LETTER AE WITH ACUTE
+ : 00C6 + 0301
+01FD LATIN SMALL LETTER AE WITH ACUTE
+ : 00E6 + 0301
+01FE LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+ : 00D8 + 0301
+01FF LATIN SMALL LETTER O WITH STROKE AND ACUTE
+ : 00F8 + 0301
+0200 LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
+ : 0041 + 030F
+0201 LATIN SMALL LETTER A WITH DOUBLE GRAVE
+ : 0061 + 030F
+0202 LATIN CAPITAL LETTER A WITH INVERTED BREVE
+ : 0041 + 0311
+0203 LATIN SMALL LETTER A WITH INVERTED BREVE
+ : 0061 + 0311
+0204 LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
+ : 0045 + 030F
+0205 LATIN SMALL LETTER E WITH DOUBLE GRAVE
+ : 0065 + 030F
+0206 LATIN CAPITAL LETTER E WITH INVERTED BREVE
+ : 0045 + 0311
+0207 LATIN SMALL LETTER E WITH INVERTED BREVE
+ : 0065 + 0311
+0208 LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
+ : 0049 + 030F
+0209 LATIN SMALL LETTER I WITH DOUBLE GRAVE
+ : 0069 + 030F
+020A LATIN CAPITAL LETTER I WITH INVERTED BREVE
+ : 0049 + 0311
+020B LATIN SMALL LETTER I WITH INVERTED BREVE
+ : 0069 + 0311
+020C LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
+ : 004F + 030F
+020D LATIN SMALL LETTER O WITH DOUBLE GRAVE
+ : 006F + 030F
+020E LATIN CAPITAL LETTER O WITH INVERTED BREVE
+ : 004F + 0311
+020F LATIN SMALL LETTER O WITH INVERTED BREVE
+ : 006F + 0311
+0210 LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
+ : 0052 + 030F
+0211 LATIN SMALL LETTER R WITH DOUBLE GRAVE
+ : 0072 + 030F
+0212 LATIN CAPITAL LETTER R WITH INVERTED BREVE
+ : 0052 + 0311
+0213 LATIN SMALL LETTER R WITH INVERTED BREVE
+ : 0072 + 0311
+0214 LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
+ : 0055 + 030F
+0215 LATIN SMALL LETTER U WITH DOUBLE GRAVE
+ : 0075 + 030F
+0216 LATIN CAPITAL LETTER U WITH INVERTED BREVE
+ : 0055 + 0311
+0217 LATIN SMALL LETTER U WITH INVERTED BREVE
+ : 0075 + 0311
+@@ 0250 IPA Extensions 02AF
+@ IPA extensions
+ x (latin small letter ae - 00E6)
+ x (latin small letter c with cedilla - 00E7)
+ x (latin small letter eth - 00F0)
+ x (latin small letter o with stroke - 00F8)
+ x (latin small letter h with stroke - 0127)
+ x (latin small letter eng - 014B)
+ x (latin small ligature oe - 0153)
+ x (greek small letter beta - 03B2)
+ x (greek small letter theta - 03B8)
+ x (greek small letter lamda - 03BB)
+ x (greek small letter chi - 03C7)
+0250 LATIN SMALL LETTER TURNED A
+ * low central unrounded vowel
+0251 LATIN SMALL LETTER ALPHA
+ = LATIN SMALL LETTER SCRIPT A
+ * low back unrounded vowel
+ x (greek small letter alpha - 03B1)
+0252 LATIN SMALL LETTER TURNED ALPHA
+ * low back rounded vowel
+0253 LATIN SMALL LETTER B WITH HOOK
+ * implosive bilabial stop
+ x (latin capital letter b with hook - 0181)
+0254 LATIN SMALL LETTER OPEN O
+ * typographically a turned c
+ * lower-mid back rounded vowel
+ x (latin capital letter open o - 0186)
+0255 LATIN SMALL LETTER C WITH CURL
+ * voiceless alveolo-palatal laminal fricative
+ * used in transcription of Mandarin Chinese
+ * sound spelled with 015B in Polish
+0256 LATIN SMALL LETTER D WITH TAIL
+ = LATIN SMALL LETTER D RETROFLEX HOOK
+ * voiced retroflex stop
+ x (latin capital letter african d - 0189)
+0257 LATIN SMALL LETTER D WITH HOOK
+ * implosive dental or alveolar stop
+ x (latin capital letter d with hook - 018A)
+0258 LATIN SMALL LETTER REVERSED E
+ * upper-mid central unrounded vowel
+0259 LATIN SMALL LETTER SCHWA
+ * mid-central unrounded vowel
+ * variant uppercase form 018E is associated with clone 01DD
+ x (latin capital letter schwa - 018F)
+ x (latin small letter turned e - 01DD)
+025A LATIN SMALL LETTER SCHWA WITH HOOK
+ * rhotacized schwa
+025B LATIN SMALL LETTER OPEN E
+ = LATIN SMALL LETTER EPSILON
+ * lower-mid front unrounded vowel
+ x (latin capital letter open e - 0190)
+ x (greek small letter epsilon - 03B5)
+025C LATIN SMALL LETTER REVERSED OPEN E
+ * lower-mid central unrounded vowel
+025D LATIN SMALL LETTER REVERSED OPEN E WITH HOOK
+ * rhotacized lower-mid central vowel
+025E LATIN SMALL LETTER CLOSED REVERSED OPEN E
+ * lower-mid central rounded vowel
+025F LATIN SMALL LETTER DOTLESS J WITH STROKE
+ * voiced palatal stop
+ * typographically a turned f
+ * "gy" in Hungarian orthography
+0260 LATIN SMALL LETTER G WITH HOOK
+ * implosive velar stop
+ x (latin capital letter g with hook - 0193)
+0261 LATIN SMALL LETTER SCRIPT G
+ * voiced velar stop
+ x (latin small letter g - 0067)
+0262 LATIN LETTER SMALL CAPITAL G
+ * voiced uvular stop
+0263 LATIN SMALL LETTER GAMMA
+ * voiced velar fricative
+ x (latin capital letter gamma - 0194)
+ x (greek small letter gamma - 03B3)
+0264 LATIN SMALL LETTER RAMS HORN
+ = LATIN SMALL LETTER BABY GAMMA
+ * upper-mid back unrounded vowel
+0265 LATIN SMALL LETTER TURNED H
+ * voiced rounded palatal approximant
+0266 LATIN SMALL LETTER H WITH HOOK
+ * breathy-voiced glottal fricative
+ x (modifier letter small h with hook - 02B1)
+0267 LATIN SMALL LETTER HENG WITH HOOK
+ * voiceless coarticulated velar and palato-alveolar fricative
+ * "tj" or "kj" in some Swedish dialects
+0268 LATIN SMALL LETTER I WITH STROKE
+ = i bar
+ * high central unrounded vowel
+ * ISO 6438 gives lowercase of 0197 as 026A, not 0268
+0269 LATIN SMALL LETTER IOTA
+ * semi-high front unrounded vowel
+ * obsoleted by IPA in 1989
+ * preferred use is 026A LATIN LETTER SMALL CAPITAL I
+ x (latin capital letter iota - 0196)
+ x (greek small letter iota - 03B9)
+026A LATIN LETTER SMALL CAPITAL I
+ * semi-high front unrounded vowel
+ * preferred IPA alternate
+ x (latin capital letter i with stroke - 0197)
+026B LATIN SMALL LETTER L WITH MIDDLE TILDE
+ * velarized voiced alveolar lateral approximant
+026C LATIN SMALL LETTER L WITH BELT
+ * voiceless alveolar lateral fricative
+026D LATIN SMALL LETTER L WITH RETROFLEX HOOK
+ * voiced retroflex lateral
+026E LATIN SMALL LETTER LEZH
+ * voiced lateral fricative
+ * "dhl" in Zulu orthography
+026F LATIN SMALL LETTER TURNED M
+ * high back unrounded vowel
+ x (latin capital letter turned m - 019C)
+0270 LATIN SMALL LETTER TURNED M WITH LONG LEG
+ * voiced velar approximant
+0271 LATIN SMALL LETTER M WITH HOOK
+ * voiced labiodental nasal
+0272 LATIN SMALL LETTER N WITH LEFT HOOK
+ * voiced palatal nasal
+ x (latin capital letter n with left hook - 019D)
+0273 LATIN SMALL LETTER N WITH RETROFLEX HOOK
+ * voiced retroflex nasal
+0274 LATIN LETTER SMALL CAPITAL N
+ * voiced uvular nasal
+0275 LATIN SMALL LETTER BARRED O
+ = o bar
+ * rounded mid-central vowel, i.e. rounded schwa
+ * note case mapping
+ x (latin capital letter o with middle tilde - 019F)
+ x (greek small letter theta - 03B8)
+ x (cyrillic small letter fita - 0473)
+0276 LATIN LETTER SMALL CAPITAL OE
+ * low front rounded vowel
+ x (latin small ligature oe - 0153)
+0277 LATIN SMALL LETTER CLOSED OMEGA
+ * semi-high back rounded vowel
+ * obsoleted by IPA in 1989
+ * preferred use is 028A LATIN LETTER SMALL UPSILON
+0278 LATIN SMALL LETTER PHI
+ * voiceless bilabial fricative
+ x (greek small letter phi - 03C6)
+0279 LATIN SMALL LETTER TURNED R
+ * voiced alveolar approximant
+ x (modifier letter small turned r - 02B4)
+027A LATIN SMALL LETTER TURNED R WITH LONG LEG
+ * voiced lateral flap
+027B LATIN SMALL LETTER TURNED R WITH HOOK
+ * voiced retroflex approximant
+ x (modifier letter small turned r with hook - 02B5)
+027C LATIN SMALL LETTER R WITH LONG LEG
+ * voiced strident apico-alveolar trill
+ * sound spelled with 0159 in Czech
+027D LATIN SMALL LETTER R WITH TAIL
+ = LATIN SMALL LETTER R HOOK
+ * voiced retroflex flap
+027E LATIN SMALL LETTER R WITH FISHHOOK
+ * voiced alveolar flap or tap
+027F LATIN SMALL LETTER REVERSED R WITH FISHHOOK
+ * apical dental vowel
+ * used in Sinological tradition
+ * IPA spelling - 007A 0329
+0280 LATIN LETTER SMALL CAPITAL R
+ * voiced uvular trill
+0281 LATIN LETTER SMALL CAPITAL INVERTED R
+ * voiced uvular fricative or approximant
+ x (modifier letter small capital inverted r - 02B6)
+0282 LATIN SMALL LETTER S WITH HOOK
+ * voiceless retroflex fricative
+0283 LATIN SMALL LETTER ESH
+ * voiceless postalveolar fricative
+ x (latin capital letter esh - 01A9)
+ x (integral - 222B)
+0284 LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK
+ * implosive palatal stop
+ * typographically based on 025F, not on 0283
+0285 LATIN SMALL LETTER SQUAT REVERSED ESH
+ * apical retroflex vowel
+ * used in Sinological tradition
+ * IPA spelling - 0290 0329
+0286 LATIN SMALL LETTER ESH WITH CURL
+ * palatalized voiceless postalveolar fricative
+ * suggested spelling - 0283 02B2
+0287 LATIN SMALL LETTER TURNED T
+ * dental click (sound of "tsk tsk")
+ x (latin letter dental click - 01C0)
+0288 LATIN SMALL LETTER T WITH RETROFLEX HOOK
+ * voiceless retroflex stop
+ x (latin capital letter t with retroflex hook - 01AE)
+0289 LATIN SMALL LETTER U BAR
+ * high central rounded vowel
+028A LATIN SMALL LETTER UPSILON
+ * semi-high back rounded vowel
+ * preferred IPA alternate
+ x (latin capital letter upsilon - 01B1)
+ x (greek small letter upsilon - 03C5)
+028B LATIN SMALL LETTER V WITH HOOK
+ = LATIN SMALL LETTER SCRIPT V
+ * voiced labiodental approximant
+ x (latin capital letter v with hook - 01B2)
+ x (greek small letter upsilon - 03C5)
+028C LATIN SMALL LETTER TURNED V
+ = caret
+ = wedge
+ * lower-mid back unrounded vowel
+028D LATIN SMALL LETTER TURNED W
+ * voiceless rounded labiovelar approximant
+028E LATIN SMALL LETTER TURNED Y
+ * voiced lateral approximant
+028F LATIN LETTER SMALL CAPITAL Y
+ * semi-high front rounded vowel
+0290 LATIN SMALL LETTER Z WITH RETROFLEX HOOK
+ * voiced retroflex fricative
+0291 LATIN SMALL LETTER Z WITH CURL
+ * voiced alveolo-palatal laminal fricative
+ * sound spelled with 017A in Polish
+0292 LATIN SMALL LETTER EZH
+ = LATIN SMALL LETTER YOGH
+ = dram
+ * old Irish, old English
+ * voiced postalveolar fricative
+ x (latin capital letter ezh - 01B7)
+ x (ounce sign - 2125)
+0293 LATIN SMALL LETTER EZH WITH CURL
+ * palatalized voiced postalveolar fricative
+0294 LATIN LETTER GLOTTAL STOP
+ x (modifier letter glottal stop - 02C0)
+0295 LATIN LETTER PHARYNGEAL VOICED FRICATIVE
+ = LATIN LETTER REVERSED GLOTTAL STOP
+ * voiced pharyngeal fricative
+ * ain
+ x (latin small letter ezh reversed - 01B9)
+ x (modifier letter reversed glottal stop - 02C1)
+0296 LATIN LETTER INVERTED GLOTTAL STOP
+ * lateral click
+ x (latin letter lateral click - 01C1)
+0297 LATIN LETTER STRETCHED C
+ * palatal (or alveolar) click
+ x (latin letter retroflex click - 01C3)
+ x (complement - 2201)
+0298 LATIN LETTER BILABIAL CLICK
+ = LATIN LETTER BULLSEYE
+ x (circled dot operator - 2299)
+0299 LATIN LETTER SMALL CAPITAL B
+ * bilabial trill
+029A LATIN SMALL LETTER CLOSED OPEN E
+ * lower-mid front rounded vowel
+ * non-IPA alternate for the preferred 0153
+029B LATIN LETTER SMALL CAPITAL G WITH HOOK
+ * voiced uvular implosive
+029C LATIN LETTER SMALL CAPITAL H
+ * voiceless epiglotto-pharyngeal fricative
+029D LATIN SMALL LETTER J WITH CROSSED-TAIL
+ * voiced palatal fricative
+029E LATIN SMALL LETTER TURNED K
+ * proposed for velar click
+ * withdrawn by IPA in 1970
+029F LATIN LETTER SMALL CAPITAL L
+ * velar lateral approximant
+02A0 LATIN SMALL LETTER Q WITH HOOK
+ * voiceless uvular implosive
+02A1 LATIN LETTER GLOTTAL STOP WITH STROKE
+ * voiced epiglottal-pharyngeal stop
+02A2 LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE
+ * voiced epiglottal-pharyngeal fricative
+02A3 LATIN SMALL LETTER DZ DIGRAPH
+ * voiced dental affricate
+02A4 LATIN SMALL LETTER DEZH DIGRAPH
+ * voiced postalveolar affricate
+02A5 LATIN SMALL LETTER DZ DIGRAPH WITH CURL
+ * voiced alveolo-palatal affricate
+02A6 LATIN SMALL LETTER TS DIGRAPH
+ * voiceless dental affricate
+02A7 LATIN SMALL LETTER TESH DIGRAPH
+ * voiceless postalveolar affricate
+02A8 LATIN SMALL LETTER TC DIGRAPH WITH CURL
+ * voiceless alveolo-palatal affricate
+@@ 02B0 Spacing Modifier Letters 02FF
+@ Phonetic modifiers derived from Latin letters
+02B0 MODIFIER LETTER SMALL H
+ * aspiration
+ # <super> + 0068
+02B1 MODIFIER LETTER SMALL H WITH HOOK
+ * breathy voiced, murmured
+ x (latin small letter h with hook - 0266)
+ x (combining diaeresis below - 0324)
+ # <super> + 0266
+02B2 MODIFIER LETTER SMALL J
+ * palatalization
+ x (combining palatalized hook below - 0321)
+ # <super> + 006A
+02B3 MODIFIER LETTER SMALL R
+ # <super> + 0072
+02B4 MODIFIER LETTER SMALL TURNED R
+ x (latin small letter turned r - 0279)
+ # <super> + 0279
+02B5 MODIFIER LETTER SMALL TURNED R WITH HOOK
+ x (latin small letter turned r with hook - 027B)
+ # <super> + 027B
+02B6 MODIFIER LETTER SMALL CAPITAL INVERTED R
+ * preceding four used for r-coloring or r-offglides
+ x (latin letter small capital inverted r - 0281)
+ # <super> + 0281
+02B7 MODIFIER LETTER SMALL W
+ * labialization
+ x (combining inverted double arch below - 032B)
+ # <super> + 0077
+02B8 MODIFIER LETTER SMALL Y
+ * palatalization
+ * common Americanist substitution for 02B2
+ # <super> + 0079
+@ Miscellaneous phonetic modifiers
+02B9 MODIFIER LETTER PRIME
+ * primary stress, emphasis
+ * transliteration of mjagkij znak (Cyrillic soft sign: palatalization)
+ x (apostrophe - 0027)
+ x (acute accent - 00B4)
+ x (modifier letter acute accent - 02CA)
+ x (combining acute accent - 0301)
+ x (greek numeral sign - 0374)
+ x (prime - 2032)
+02BA MODIFIER LETTER DOUBLE PRIME
+ * exaggerated stress, contrastive stress
+ * transliteration of tverdyj znak (Cyrillic hard sign: no palatalization)
+ x (quotation mark - 0022)
+ x (combining double acute accent - 030B)
+ x (double prime - 2033)
+02BB MODIFIER LETTER TURNED COMMA
+ * typographical alternate for 02BD or 02BF
+ x (combining turned comma above - 0312)
+ x (left single quotation mark - 2018)
+02BC MODIFIER LETTER APOSTROPHE
+ = apostrophe
+ * glottal stop, glottalization, ejective; elision
+ * spacing clone of Greek smooth breathing mark
+ * this is the preferred character for apostrophe
+ x (apostrophe - 0027)
+ x (combining comma above - 0313)
+ x (combining comma above right - 0315)
+ x (armenian apostrophe - 055A)
+ x (right single quotation mark - 2019)
+02BD MODIFIER LETTER REVERSED COMMA
+ * weak aspiration
+ * spacing clone of Greek rough breathing mark
+ x (combining reversed comma above - 0314)
+ x (armenian modifier letter left half ring - 0559)
+ x (single high-reversed-9 quotation mark - 201B)
+02BE MODIFIER LETTER RIGHT HALF RING
+ * transliteration of Arabic hamzah (glottal stop)
+ x (armenian apostrophe - 055A)
+ x (arabic letter hamza - 0621)
+02BF MODIFIER LETTER LEFT HALF RING
+ * transliteration of Arabic ain (voiced pharyngeal fricative)
+ x (armenian modifier letter left half ring - 0559)
+ x (arabic letter ain - 0639)
+02C0 MODIFIER LETTER GLOTTAL STOP
+ * ejective or glottalized
+ * typographical alternate for 02BC or 02BE
+ x (latin letter glottal stop - 0294)
+ x (combining hook above - 0309)
+02C1 MODIFIER LETTER REVERSED GLOTTAL STOP
+ * typographical alternate for 02BF
+ x (latin letter pharyngeal voiced fricative - 0295)
+02C2 MODIFIER LETTER LEFT ARROWHEAD
+ * fronted articulation
+02C3 MODIFIER LETTER RIGHT ARROWHEAD
+ * backed articulation
+02C4 MODIFIER LETTER UP ARROWHEAD
+ * raised articulation
+ x (circumflex accent - 005E)
+ x (up arrowhead - 2303)
+02C5 MODIFIER LETTER DOWN ARROWHEAD
+ * lowered articulation
+02C6 MODIFIER LETTER CIRCUMFLEX ACCENT
+ * rising-falling tone, falling tone, secondary stress, etc.
+ x (circumflex accent - 005E)
+ x (combining circumflex accent - 0302)
+02C7 CARON
+ = MODIFIER LETTER HACEK
+ * falling-rising tone
+ * Mandarin Chinese third tone
+ x (combining caron - 030C)
+02C8 MODIFIER LETTER VERTICAL LINE
+ * primary stress, downstep
+ * precedes letter or syllable modified
+ x (apostrophe - 0027)
+ x (combining vertical line above - 030D)
+02C9 MODIFIER LETTER MACRON
+ * high level tone
+ * precedes or follows letter or syllable modified
+ * Mandarin Chinese first tone
+ x (macron - 00AF)
+ x (combining macron - 0304)
+02CA MODIFIER LETTER ACUTE ACCENT
+ * high-rising tone (IPA), high tone, primary stress
+ * Mandarin Chinese second tone
+ x (acute accent - 00B4)
+ x (modifier letter prime - 02B9)
+ x (combining acute accent - 0301)
+ x (greek numeral sign - 0374)
+ x (armenian emphasis mark - 055B)
+02CB MODIFIER LETTER GRAVE ACCENT
+ * high-falling tone (IPA), low tone, secondary or tertiary stress
+ * Mandarin Chinese fourth tone
+ x (grave accent - 0060)
+ x (combining grave accent - 0300)
+ x (armenian comma - 055D)
+02CC MODIFIER LETTER LOW VERTICAL LINE
+ * secondary stress
+ * precedes letter or syllable modified
+ x (combining vertical line below - 0329)
+02CD MODIFIER LETTER LOW MACRON
+ * low level tone
+ x (low line - 005F)
+ x (combining macron below - 0331)
+02CE MODIFIER LETTER LOW GRAVE ACCENT
+ * low-falling tone
+02CF MODIFIER LETTER LOW ACUTE ACCENT
+ * low-rising tone
+ x (greek lower numeral sign - 0375)
+02D0 MODIFIER LETTER TRIANGULAR COLON
+ * length mark
+02D1 MODIFIER LETTER HALF TRIANGULAR COLON
+ * half-length mark
+02D2 MODIFIER LETTER CENTRED RIGHT HALF RING
+ * more rounded articulation
+02D3 MODIFIER LETTER CENTRED LEFT HALF RING
+ * less rounded articulation
+02D4 MODIFIER LETTER UP TACK
+ * vowel raising or closing
+ x (combining up tack below - 031D)
+ x (combining dot below - 0323)
+02D5 MODIFIER LETTER DOWN TACK
+ * vowel lowering or opening
+ x (combining left half ring below - 031C)
+ x (combining down tack below - 031E)
+02D6 MODIFIER LETTER PLUS SIGN
+ * advanced or fronted articulation
+ x (combining plus sign below - 031F)
+02D7 MODIFIER LETTER MINUS SIGN
+ * retracted or backed articulation
+ * glyph may have small end-serifs
+ x (combining minus sign below - 0320)
+@ Spacing clones of diacritics
+02D8 BREVE
+ x (combining breve - 0306)
+ # 0020 + 0306
+02D9 DOT ABOVE
+ * Mandarin Chinese fifth tone (light or neutral)
+ x (combining dot above - 0307)
+ # 0020 + 0307
+02DA RING ABOVE
+ x (degree sign - 00B0)
+ x (combining ring above - 030A)
+ # 0020 + 030A
+02DB OGONEK
+ x (combining ogonek - 0328)
+ # 0020 + 0328
+02DC SMALL TILDE
+ x (tilde - 007E)
+ x (combining tilde - 0303)
+ x (tilde operator - 223C)
+ # 0020 + 0303
+02DD DOUBLE ACUTE ACCENT
+ x (combining double acute accent - 030B)
+ # 0020 + 030B
+@ Additions based on 1989 IPA
+02DE MODIFIER LETTER RHOTIC HOOK
+ * rhotacization in vowel
+ * often ligated: 025A = 0259 + 02DE; 025D = 025C + 02DE
+02DF <reserved>
+02E0 MODIFIER LETTER SMALL GAMMA
+ * these modifier letters are occasionally used in transcription of affricates
+ # <super> + 0263
+02E1 MODIFIER LETTER SMALL L
+ # <super> + 006C
+02E2 MODIFIER LETTER SMALL S
+ # <super> + 0073
+02E3 MODIFIER LETTER SMALL X
+ # <super> + 0078
+02E4 MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
+ # <super> + 0295
+@ Tone letters
+02E5 MODIFIER LETTER EXTRA-HIGH TONE BAR
+02E6 MODIFIER LETTER HIGH TONE BAR
+02E7 MODIFIER LETTER MID TONE BAR
+02E8 MODIFIER LETTER LOW TONE BAR
+02E9 MODIFIER LETTER EXTRA-LOW TONE BAR
+@@ 0300 Combining Diacritical Marks 036F
+@ Ordinary diacritics
+0300 COMBINING GRAVE ACCENT
+ = Greek varia
+ x (grave accent - 0060)
+ x (modifier letter grave accent - 02CB)
+0301 COMBINING ACUTE ACCENT
+ = stress mark
+ = Greek oxia
+ x (apostrophe - 0027)
+ x (acute accent - 00B4)
+ x (modifier letter prime - 02B9)
+ x (modifier letter acute accent - 02CA)
+0302 COMBINING CIRCUMFLEX ACCENT
+ = hat
+ x (circumflex accent - 005E)
+ x (modifier letter circumflex accent - 02C6)
+0303 COMBINING TILDE
+ * IPA: nasalization
+ * Vietnamese tone mark
+ x (tilde - 007E)
+ x (small tilde - 02DC)
+0304 COMBINING MACRON
+ = long
+ * distinguish from the following
+ x (macron - 00AF)
+ x (modifier letter macron - 02C9)
+0305 COMBINING OVERLINE
+ = overscore
+ * connects on left and right
+ x (macron - 00AF)
+0306 COMBINING BREVE
+ = short
+ = Greek vrachy
+ x (breve - 02D8)
+0307 COMBINING DOT ABOVE
+ = derivative
+ * IPA (unofficial): palatalization
+ x (dot above - 02D9)
+0308 COMBINING DIAERESIS
+ = double dot above
+ = umlaut
+ = double derivative
+ = Greek dialytika
+ x (diaeresis - 00A8)
+0309 COMBINING HOOK ABOVE
+ * kerns left or right of circumflex over vowels
+ * Vietnamese tone mark
+ x (modifier letter glottal stop - 02C0)
+030A COMBINING RING ABOVE
+ x (degree sign - 00B0)
+ x (ring above - 02DA)
+030B COMBINING DOUBLE ACUTE ACCENT
+ * Hungarian, Chuvash
+ x (quotation mark - 0022)
+ x (modifier letter double prime - 02BA)
+ x (double acute accent - 02DD)
+030C COMBINING CARON
+ = NON-SPACING HACEK
+ = V above
+ x (caron - 02C7)
+030D COMBINING VERTICAL LINE ABOVE
+ * Marshallese
+ = Greek tonos
+ x (modifier letter vertical line - 02C8)
+ x (greek tonos - 0384)
+030E COMBINING DOUBLE VERTICAL LINE ABOVE
+ * Marshallese
+ x (quotation mark - 0022)
+030F COMBINING DOUBLE GRAVE ACCENT
+ * Serbocroatian
+0310 COMBINING CANDRABINDU
+ x (devanagari sign candrabindu - 0901)
+ : 0306 + 0307
+0311 COMBINING INVERTED BREVE
+0312 COMBINING TURNED COMMA ABOVE
+ = cedilla above
+ * Latvian
+ x (modifier letter turned comma - 02BB)
+0313 COMBINING COMMA ABOVE
+ = Greek psili
+ = smooth breathing
+ x (modifier letter apostrophe - 02BC)
+ x (combining cyrillic psili pneumata - 0486)
+ x (armenian apostrophe - 055A)
+0314 COMBINING REVERSED COMMA ABOVE
+ = Greek dasia
+ = rough breathing
+ x (modifier letter reversed comma - 02BD)
+ x (combining cyrillic dasia pneumata - 0485)
+ x (armenian modifier letter left half ring - 0559)
+0315 COMBINING COMMA ABOVE RIGHT
+ x (modifier letter apostrophe - 02BC)
+0316 COMBINING GRAVE ACCENT BELOW
+0317 COMBINING ACUTE ACCENT BELOW
+0318 COMBINING LEFT TACK BELOW
+0319 COMBINING RIGHT TACK BELOW
+031A COMBINING LEFT ANGLE ABOVE
+ * IPA: unreleased stop
+031B COMBINING HORN
+ * Vietnamese
+031C COMBINING LEFT HALF RING BELOW
+ * IPA: open variety of vowel
+ x (modifier letter down tack - 02D5)
+031D COMBINING UP TACK BELOW
+ * IPA: vowel raising or closing
+ x (modifier letter up tack - 02D4)
+031E COMBINING DOWN TACK BELOW
+ * IPA: vowel lowering or opening
+ x (modifier letter down tack - 02D5)
+031F COMBINING PLUS SIGN BELOW
+ * IPA: advanced or fronted articulation
+ x (modifier letter plus sign - 02D6)
+0320 COMBINING MINUS SIGN BELOW
+ * IPA: retracted or backed articulation
+ * glyph may have small end-serifs
+ x (modifier letter minus sign - 02D7)
+0321 COMBINING PALATALIZED HOOK BELOW
+ * IPA: palatalization
+ x (modifier letter small j - 02B2)
+0322 COMBINING RETROFLEX HOOK BELOW
+ * IPA: retroflexion
+0323 COMBINING DOT BELOW
+ * IPA: closer variety of vowel
+ * Americanist: retraction or retroflexion
+ * Semiticist: velarization or pharyngealization
+ * Vietnamese tone mark
+ x (modifier letter up tack - 02D4)
+0324 COMBINING DIAERESIS BELOW
+ * IPA: breathy-voice or murmur
+ x (modifier letter small h with hook - 02B1)
+0325 COMBINING RING BELOW
+ * IPA: voiceless
+ * Madurese
+0326 COMBINING COMMA BELOW
+ * variant of the following
+0327 COMBINING CEDILLA
+ x (cedilla - 00B8)
+0328 COMBINING OGONEK
+ * Americanist: nasalization
+ x (ogonek - 02DB)
+0329 COMBINING VERTICAL LINE BELOW
+ * IPA: syllabic
+ * Yoruba
+ x (modifier letter low vertical line - 02CC)
+032A COMBINING BRIDGE BELOW
+ * IPA: dental
+032B COMBINING INVERTED DOUBLE ARCH BELOW
+ * IPA: labialization
+ x (modifier letter small w - 02B7)
+032C COMBINING CARON BELOW
+ * IPA: voiced
+ * Hittite
+032D COMBINING CIRCUMFLEX ACCENT BELOW
+ * Americanist: fronted articulation
+032E COMBINING BREVE BELOW
+032F COMBINING INVERTED BREVE BELOW
+ * Americanist: fronted articulation (variant of 032D)
+ * Indo-European: semivowel
+0330 COMBINING TILDE BELOW
+ * IPA: creaky voice
+0331 COMBINING MACRON BELOW
+ x (low line - 005F)
+ x (modifier letter low macron - 02CD)
+0332 COMBINING LOW LINE
+ = underline
+ = underscore
+ * connects on left and right
+ x (low line - 005F)
+0333 COMBINING DOUBLE LOW LINE
+ = double underline
+ = double underscore
+ * connects on left and right
+ x (double low line - 2017)
+@ Overstruck diacritics
+0334 COMBINING TILDE OVERLAY
+ * IPA: velarization or pharyngealization
+0335 COMBINING SHORT STROKE OVERLAY
+0336 COMBINING LONG STROKE OVERLAY
+0337 COMBINING SHORT SOLIDUS OVERLAY
+ = short slash overlay
+0338 COMBINING LONG SOLIDUS OVERLAY
+ = long slash overlay
+@ Additions
+0339 COMBINING RIGHT HALF RING BELOW
+033A COMBINING INVERTED BRIDGE BELOW
+033B COMBINING SQUARE BELOW
+033C COMBINING SEAGULL BELOW
+033D COMBINING X ABOVE
+033E COMBINING VERTICAL TILDE
+ * Cyrillic palatalization
+ x (combining cyrillic palatalization - 0484)
+033F COMBINING DOUBLE OVERLINE
+@ Vietnamese tone marks
+0340 COMBINING GRAVE TONE MARK
+ * kerns left of circumflex over vowels
+ : 0300
+0341 COMBINING ACUTE TONE MARK
+ * kerns right of circumflex over vowels
+ : 0301
+@ Additions for Greek
+0342 COMBINING GREEK PERISPOMENI
+0343 COMBINING GREEK KORONIS
+ : 0313
+0344 COMBINING GREEK DIALYTIKA TONOS
+ : 0308 + 030D
+0345 COMBINING GREEK YPOGEGRAMMENI
+ = GREEK NON-SPACING IOTA BELOW
+ = iota subscript
+ x (greek ypogegrammeni - 037A)
+0346 <reserved>
+0347 <reserved>
+0348 <reserved>
+0349 <reserved>
+034A <reserved>
+034B <reserved>
+034C <reserved>
+034D <reserved>
+034E <reserved>
+034F <reserved>
+0350 <reserved>
+0351 <reserved>
+0352 <reserved>
+0353 <reserved>
+0354 <reserved>
+0355 <reserved>
+0356 <reserved>
+0357 <reserved>
+0358 <reserved>
+0359 <reserved>
+035A <reserved>
+035B <reserved>
+035C <reserved>
+035D <reserved>
+035E <reserved>
+035F <reserved>
+@ Double diacritics
+0360 COMBINING DOUBLE TILDE
+0361 COMBINING DOUBLE INVERTED BREVE
+@@ 0370 Greek 03FF
+@ Based on ISO 8859-7
+0370 <reserved>
+ x (combining greek ypogegrammeni - 0345)
+0371 <reserved>
+ x (combining reversed comma above - 0314)
+0372 <reserved>
+ x (combining comma above - 0313)
+0373 <reserved>
+ x (pound sign - 00A3)
+0374 GREEK NUMERAL SIGN
+ = GREEK UPPER NUMERAL SIGN
+ = dexia keraia
+ * for numeric use of letters
+ x (modifier letter prime - 02B9)
+ x (modifier letter acute accent - 02CA)
+ : 02B9
+0375 GREEK LOWER NUMERAL SIGN
+ = aristeri keraia
+ * for numeric use of letters
+ x (modifier letter low acute accent - 02CF)
+0376 <reserved>
+ x (broken bar - 00A6)
+0377 <reserved>
+ x (pilcrow sign - 00B6)
+0378 <reserved>
+ x (combining diaeresis - 0308)
+0379 <reserved>
+ x (copyright sign - 00A9)
+037A GREEK YPOGEGRAMMENI
+ x (combining greek ypogegrammeni - 0345)
+ # 0020 + 0345
+037B <reserved>
+ x (left-pointing double angle quotation mark - 00AB)
+037C <reserved>
+ x (not sign - 00AC)
+037D <reserved>
+ x (soft hyphen - 00AD)
+037E GREEK QUESTION MARK
+ = erotimatiko
+ * sentence-final punctuation
+ x (semicolon - 003B)
+ x (question mark - 003F)
+ : 003B
+037F <reserved>
+ x (horizontal bar - 2015)
+0380 <reserved>
+ x (degree sign - 00B0)
+0381 <reserved>
+ x (plus-minus sign - 00B1)
+0382 <reserved>
+ x (superscript two - 00B2)
+0383 <reserved>
+ x (superscript three - 00B3)
+0384 GREEK TONOS
+ x (combining vertical line above - 030D)
+ # 0020 + 030D
+0385 GREEK DIALYTIKA TONOS
+ : 00A8 + 030D
+0386 GREEK CAPITAL LETTER ALPHA WITH TONOS
+ : 0391 + 030D
+0387 GREEK ANO TELEIA
+ x (middle dot - 00B7)
+ : 00B7
+0388 GREEK CAPITAL LETTER EPSILON WITH TONOS
+ : 0395 + 030D
+0389 GREEK CAPITAL LETTER ETA WITH TONOS
+ : 0397 + 030D
+038A GREEK CAPITAL LETTER IOTA WITH TONOS
+ : 0399 + 030D
+038B <reserved>
+ x (right-pointing double angle quotation mark - 00BB)
+038C GREEK CAPITAL LETTER OMICRON WITH TONOS
+ : 039F + 030D
+038D <reserved>
+ x (vulgar fraction one half - 00BD)
+038E GREEK CAPITAL LETTER UPSILON WITH TONOS
+ : 03A5 + 030D
+038F GREEK CAPITAL LETTER OMEGA WITH TONOS
+ : 03A9 + 030D
+0390 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+ : 03B9 + 0344
+0391 GREEK CAPITAL LETTER ALPHA
+0392 GREEK CAPITAL LETTER BETA
+0393 GREEK CAPITAL LETTER GAMMA
+ = gamma function
+0394 GREEK CAPITAL LETTER DELTA
+ x (increment - 2206)
+0395 GREEK CAPITAL LETTER EPSILON
+0396 GREEK CAPITAL LETTER ZETA
+0397 GREEK CAPITAL LETTER ETA
+0398 GREEK CAPITAL LETTER THETA
+0399 GREEK CAPITAL LETTER IOTA
+ = iota adscript
+039A GREEK CAPITAL LETTER KAPPA
+039B GREEK CAPITAL LETTER LAMDA
+039C GREEK CAPITAL LETTER MU
+039D GREEK CAPITAL LETTER NU
+039E GREEK CAPITAL LETTER XI
+039F GREEK CAPITAL LETTER OMICRON
+03A0 GREEK CAPITAL LETTER PI
+ x (n-ary product - 220F)
+03A1 GREEK CAPITAL LETTER RHO
+03A2 <reserved>
+03A3 GREEK CAPITAL LETTER SIGMA
+ x (latin capital letter esh - 01A9)
+ x (n-ary summation - 2211)
+03A4 GREEK CAPITAL LETTER TAU
+03A5 GREEK CAPITAL LETTER UPSILON
+03A6 GREEK CAPITAL LETTER PHI
+03A7 GREEK CAPITAL LETTER CHI
+03A8 GREEK CAPITAL LETTER PSI
+03A9 GREEK CAPITAL LETTER OMEGA
+ x (ohm sign - 2126)
+ x (inverted ohm sign - 2127)
+03AA GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+ : 0399 + 0308
+03AB GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+ : 03A5 + 0308
+03AC GREEK SMALL LETTER ALPHA WITH TONOS
+ : 03B1 + 030D
+03AD GREEK SMALL LETTER EPSILON WITH TONOS
+ : 03B5 + 030D
+03AE GREEK SMALL LETTER ETA WITH TONOS
+ : 03B7 + 030D
+03AF GREEK SMALL LETTER IOTA WITH TONOS
+ : 03B9 + 030D
+03B0 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+ : 03C5 + 0344
+03B1 GREEK SMALL LETTER ALPHA
+ x (latin small letter alpha - 0251)
+ x (proportional to - 221D)
+03B2 GREEK SMALL LETTER BETA
+ x (latin small letter sharp s - 00DF)
+ x (latin small letter b with stroke - 0180)
+03B3 GREEK SMALL LETTER GAMMA
+ x (latin small letter gamma - 0263)
+03B4 GREEK SMALL LETTER DELTA
+03B5 GREEK SMALL LETTER EPSILON
+ x (latin small letter open e - 025B)
+03B6 GREEK SMALL LETTER ZETA
+03B7 GREEK SMALL LETTER ETA
+03B8 GREEK SMALL LETTER THETA
+ x (latin small letter barred o - 0275)
+ x (cyrillic small letter fita - 0473)
+03B9 GREEK SMALL LETTER IOTA
+ x (latin small letter iota - 0269)
+ x (turned greek small letter iota - 2129)
+03BA GREEK SMALL LETTER KAPPA
+03BB GREEK SMALL LETTER LAMDA
+03BC GREEK SMALL LETTER MU
+ x (micro sign - 00B5)
+03BD GREEK SMALL LETTER NU
+03BE GREEK SMALL LETTER XI
+03BF GREEK SMALL LETTER OMICRON
+03C0 GREEK SMALL LETTER PI
+ * math constant 3.141592...
+03C1 GREEK SMALL LETTER RHO
+03C2 GREEK SMALL LETTER FINAL SIGMA
+03C3 GREEK SMALL LETTER SIGMA
+03C4 GREEK SMALL LETTER TAU
+03C5 GREEK SMALL LETTER UPSILON
+ x (latin small letter upsilon - 028A)
+ x (latin small letter v with hook - 028B)
+03C6 GREEK SMALL LETTER PHI
+ x (latin small letter phi - 0278)
+03C7 GREEK SMALL LETTER CHI
+03C8 GREEK SMALL LETTER PSI
+03C9 GREEK SMALL LETTER OMEGA
+03CA GREEK SMALL LETTER IOTA WITH DIALYTIKA
+ : 03B9 + 0308
+03CB GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+ : 03C5 + 0308
+03CC GREEK SMALL LETTER OMICRON WITH TONOS
+ : 03BF + 030D
+03CD GREEK SMALL LETTER UPSILON WITH TONOS
+ : 03C5 + 030D
+03CE GREEK SMALL LETTER OMEGA WITH TONOS
+ : 03C9 + 030D
+03CF <reserved>
+@ Variant letterforms
+03D0 GREEK BETA SYMBOL
+03D1 GREEK THETA SYMBOL
+ * used as technical symbol
+03D2 GREEK UPSILON WITH HOOK SYMBOL
+03D3 GREEK UPSILON WITH ACUTE AND HOOK SYMBOL
+ : 03D2 + 030D
+03D4 GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL
+ : 03D2 + 0308
+03D5 GREEK PHI SYMBOL
+ * used as technical symbol
+03D6 GREEK PI SYMBOL
+ * used as technical symbol
+ * a variant of pi, looking like omega
+03D7 <reserved>
+ x (greek question mark - 037E)
+03D8 <reserved>
+ x (greek numeral sign - 0374)
+03D9 <reserved>
+ x (greek lower numeral sign - 0375)
+@ Archaic letters
+03DA GREEK LETTER STIGMA
+03DB <reserved>
+03DC GREEK LETTER DIGAMMA
+03DD <reserved>
+03DE GREEK LETTER KOPPA
+03DF <reserved>
+03E0 GREEK LETTER SAMPI
+03E1 <reserved>
+@ Coptic-unique letters
+03E2 COPTIC CAPITAL LETTER SHEI
+03E3 COPTIC SMALL LETTER SHEI
+03E4 COPTIC CAPITAL LETTER FEI
+03E5 COPTIC SMALL LETTER FEI
+03E6 COPTIC CAPITAL LETTER KHEI
+03E7 COPTIC SMALL LETTER KHEI
+03E8 COPTIC CAPITAL LETTER HORI
+03E9 COPTIC SMALL LETTER HORI
+03EA COPTIC CAPITAL LETTER GANGIA
+03EB COPTIC SMALL LETTER GANGIA
+03EC COPTIC CAPITAL LETTER SHIMA
+03ED COPTIC SMALL LETTER SHIMA
+03EE COPTIC CAPITAL LETTER DEI
+03EF COPTIC SMALL LETTER DEI
+@ Additions
+03F0 GREEK KAPPA SYMBOL
+ * used as technical symbol
+03F1 GREEK RHO SYMBOL
+ * used as technical symbol
+03F2 GREEK LUNATE SIGMA SYMBOL
+03F3 GREEK LETTER YOT
+03F4 <reserved>
+ x (greek dialytika tonos - 0385)
+03F5 <reserved>
+ x (greek ypogegrammeni - 037A)
+@@ 0400 Cyrillic 04FF
+@ Based on ISO 8859-5
+0400 <reserved>
+ x (no-break space - 00A0)
+0401 CYRILLIC CAPITAL LETTER IO
+ : 0415 + 0308
+0402 CYRILLIC CAPITAL LETTER DJE
+0403 CYRILLIC CAPITAL LETTER GJE
+ : 0413 + 0301
+0404 CYRILLIC CAPITAL LETTER UKRAINIAN IE
+0405 CYRILLIC CAPITAL LETTER DZE
+0406 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+ x (cyrillic letter palochka - 04C0)
+0407 CYRILLIC CAPITAL LETTER YI
+ : 0406 + 0308
+0408 CYRILLIC CAPITAL LETTER JE
+0409 CYRILLIC CAPITAL LETTER LJE
+040A CYRILLIC CAPITAL LETTER NJE
+040B CYRILLIC CAPITAL LETTER TSHE
+040C CYRILLIC CAPITAL LETTER KJE
+ : 041A + 0301
+040D <reserved>
+ x (soft hyphen - 00AD)
+040E CYRILLIC CAPITAL LETTER SHORT U
+ : 0423 + 0306
+040F CYRILLIC CAPITAL LETTER DZHE
+@ Basic Russian alphabet
+0410 CYRILLIC CAPITAL LETTER A
+0411 CYRILLIC CAPITAL LETTER BE
+ x (latin small letter b with topbar - 0183)
+0412 CYRILLIC CAPITAL LETTER VE
+0413 CYRILLIC CAPITAL LETTER GHE
+0414 CYRILLIC CAPITAL LETTER DE
+0415 CYRILLIC CAPITAL LETTER IE
+0416 CYRILLIC CAPITAL LETTER ZHE
+0417 CYRILLIC CAPITAL LETTER ZE
+0418 CYRILLIC CAPITAL LETTER I
+0419 CYRILLIC CAPITAL LETTER SHORT I
+ : 0418 + 0306
+041A CYRILLIC CAPITAL LETTER KA
+041B CYRILLIC CAPITAL LETTER EL
+041C CYRILLIC CAPITAL LETTER EM
+041D CYRILLIC CAPITAL LETTER EN
+041E CYRILLIC CAPITAL LETTER O
+041F CYRILLIC CAPITAL LETTER PE
+0420 CYRILLIC CAPITAL LETTER ER
+0421 CYRILLIC CAPITAL LETTER ES
+0422 CYRILLIC CAPITAL LETTER TE
+0423 CYRILLIC CAPITAL LETTER U
+ x (cyrillic capital letter uk - 0478)
+ x (cyrillic small letter straight u - 04AF)
+0424 CYRILLIC CAPITAL LETTER EF
+0425 CYRILLIC CAPITAL LETTER HA
+0426 CYRILLIC CAPITAL LETTER TSE
+0427 CYRILLIC CAPITAL LETTER CHE
+0428 CYRILLIC CAPITAL LETTER SHA
+0429 CYRILLIC CAPITAL LETTER SHCHA
+042A CYRILLIC CAPITAL LETTER HARD SIGN
+042B CYRILLIC CAPITAL LETTER YERU
+042C CYRILLIC CAPITAL LETTER SOFT SIGN
+042D CYRILLIC CAPITAL LETTER E
+042E CYRILLIC CAPITAL LETTER YU
+042F CYRILLIC CAPITAL LETTER YA
+0430 CYRILLIC SMALL LETTER A
+0431 CYRILLIC SMALL LETTER BE
+0432 CYRILLIC SMALL LETTER VE
+0433 CYRILLIC SMALL LETTER GHE
+0434 CYRILLIC SMALL LETTER DE
+0435 CYRILLIC SMALL LETTER IE
+0436 CYRILLIC SMALL LETTER ZHE
+0437 CYRILLIC SMALL LETTER ZE
+ x (latin small letter tone six - 0185)
+0438 CYRILLIC SMALL LETTER I
+0439 CYRILLIC SMALL LETTER SHORT I
+ : 0438 + 0306
+043A CYRILLIC SMALL LETTER KA
+043B CYRILLIC SMALL LETTER EL
+043C CYRILLIC SMALL LETTER EM
+043D CYRILLIC SMALL LETTER EN
+043E CYRILLIC SMALL LETTER O
+043F CYRILLIC SMALL LETTER PE
+0440 CYRILLIC SMALL LETTER ER
+0441 CYRILLIC SMALL LETTER ES
+0442 CYRILLIC SMALL LETTER TE
+0443 CYRILLIC SMALL LETTER U
+0444 CYRILLIC SMALL LETTER EF
+0445 CYRILLIC SMALL LETTER HA
+0446 CYRILLIC SMALL LETTER TSE
+0447 CYRILLIC SMALL LETTER CHE
+ x (latin small letter tone six - 0185)
+0448 CYRILLIC SMALL LETTER SHA
+0449 CYRILLIC SMALL LETTER SHCHA
+044A CYRILLIC SMALL LETTER HARD SIGN
+044B CYRILLIC SMALL LETTER YERU
+044C CYRILLIC SMALL LETTER SOFT SIGN
+ x (latin small letter tone six - 0185)
+044D CYRILLIC SMALL LETTER E
+044E CYRILLIC SMALL LETTER YU
+044F CYRILLIC SMALL LETTER YA
+@ Based on ISO 8859-5
+0450 <reserved>
+ x (numero sign - 2116)
+0451 CYRILLIC SMALL LETTER IO
+ * Russian, ...
+ : 0435 + 0308
+0452 CYRILLIC SMALL LETTER DJE
+ * Serbian
+ x (latin small letter d with stroke - 0111)
+0453 CYRILLIC SMALL LETTER GJE
+ * Macedonian
+ : 0433 + 0301
+0454 CYRILLIC SMALL LETTER UKRAINIAN IE
+ = Old Cyrillic yest
+ * Ukrainian, ...
+0455 CYRILLIC SMALL LETTER DZE
+ = Old Cyrillic zelo
+ * Macedonian
+0456 CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+ = Old Cyrillic i
+ * Ukrainian, Byelorussian, ...
+0457 CYRILLIC SMALL LETTER YI
+ * Ukrainian
+ : 0456 + 0308
+0458 CYRILLIC SMALL LETTER JE
+ * Serbian, Azerbaijan, Altaic
+0459 CYRILLIC SMALL LETTER LJE
+ * Serbian, Macedonian
+ x (latin small letter lj - 01C9)
+045A CYRILLIC SMALL LETTER NJE
+ * Serbian, Macedonian
+ x (latin small letter nj - 01CC)
+045B CYRILLIC SMALL LETTER TSHE
+ = Old Cyrillic derv
+ * Serbian
+ x (latin small letter c with acute - 0107)
+ x (latin small letter h with stroke - 0127)
+ x (cyrillic capital letter tshe - 040B)
+ x (planck constant over two pi - 210F)
+045C CYRILLIC SMALL LETTER KJE
+ * Macedonian
+ : 043A + 0301
+045D <reserved>
+ x (section sign - 00A7)
+045E CYRILLIC SMALL LETTER SHORT U
+ * Byelorussian, Uzbek, ...
+ : 0443 + 0306
+045F CYRILLIC SMALL LETTER DZHE
+ * Serbian, Macedonian, Abkhasian
+ x (latin small letter dz with caron - 01C6)
+@ Historic letters
+0460 CYRILLIC CAPITAL LETTER OMEGA
+0461 CYRILLIC SMALL LETTER OMEGA
+0462 CYRILLIC CAPITAL LETTER YAT
+0463 CYRILLIC SMALL LETTER YAT
+0464 CYRILLIC CAPITAL LETTER IOTIFIED E
+0465 CYRILLIC SMALL LETTER IOTIFIED E
+0466 CYRILLIC CAPITAL LETTER LITTLE YUS
+0467 CYRILLIC SMALL LETTER LITTLE YUS
+0468 CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
+0469 CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
+046A CYRILLIC CAPITAL LETTER BIG YUS
+046B CYRILLIC SMALL LETTER BIG YUS
+046C CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
+046D CYRILLIC SMALL LETTER IOTIFIED BIG YUS
+046E CYRILLIC CAPITAL LETTER KSI
+046F CYRILLIC SMALL LETTER KSI
+0470 CYRILLIC CAPITAL LETTER PSI
+0471 CYRILLIC SMALL LETTER PSI
+0472 CYRILLIC CAPITAL LETTER FITA
+0473 CYRILLIC SMALL LETTER FITA
+ x (latin small letter barred o - 0275)
+ x (greek small letter theta - 03B8)
+0474 CYRILLIC CAPITAL LETTER IZHITSA
+0475 CYRILLIC SMALL LETTER IZHITSA
+0476 CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+ : 0474 + 030F
+0477 CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+ : 0475 + 030F
+0478 CYRILLIC CAPITAL LETTER UK
+ * basic Old Cyrillic uk is unified with CYRILLIC LETTER U
+ x (cyrillic capital letter u - 0423)
+0479 CYRILLIC SMALL LETTER UK
+047A CYRILLIC CAPITAL LETTER ROUND OMEGA
+047B CYRILLIC SMALL LETTER ROUND OMEGA
+047C CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
+047D CYRILLIC SMALL LETTER OMEGA WITH TITLO
+047E CYRILLIC CAPITAL LETTER OT
+047F CYRILLIC SMALL LETTER OT
+0480 CYRILLIC CAPITAL LETTER KOPPA
+0481 CYRILLIC SMALL LETTER KOPPA
+@ Historic miscellaneous
+0482 CYRILLIC THOUSANDS SIGN
+0483 COMBINING CYRILLIC TITLO
+0484 COMBINING CYRILLIC PALATALIZATION
+ x (combining vertical tilde - 033E)
+0485 COMBINING CYRILLIC DASIA PNEUMATA
+ x (combining reversed comma above - 0314)
+0486 COMBINING CYRILLIC PSILI PNEUMATA
+ x (combining comma above - 0313)
+0487 <reserved>
+0488 <reserved>
+0489 <reserved>
+048A <reserved>
+048B <reserved>
+048C <reserved>
+048D <reserved>
+048E <reserved>
+048F <reserved>
+@ Extended Cyrillic
+0490 CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+0491 CYRILLIC SMALL LETTER GHE WITH UPTURN
+ * Old Ukrainian
+0492 CYRILLIC CAPITAL LETTER GHE WITH STROKE
+0493 CYRILLIC SMALL LETTER GHE WITH STROKE
+ * Azerbaijani, Bashkir, ...
+ * full bar form preferred
+0494 CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
+0495 CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
+ * Abkhasian, Yakut
+0496 CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
+0497 CYRILLIC SMALL LETTER ZHE WITH DESCENDER
+ * Tatar, ...
+0498 CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
+0499 CYRILLIC SMALL LETTER ZE WITH DESCENDER
+ * Bashkir
+ * cedilla form preferred
+049A CYRILLIC CAPITAL LETTER KA WITH DESCENDER
+049B CYRILLIC SMALL LETTER KA WITH DESCENDER
+ * Abkhasian, Tajik, ...
+049C CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
+049D CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
+ * Azerbaijan
+049E CYRILLIC CAPITAL LETTER KA WITH STROKE
+049F CYRILLIC SMALL LETTER KA WITH STROKE
+ * Abkhasian
+04A0 CYRILLIC CAPITAL LETTER BASHKIR KA
+04A1 CYRILLIC SMALL LETTER BASHKIR KA
+ * Bashkir
+04A2 CYRILLIC CAPITAL LETTER EN WITH DESCENDER
+04A3 CYRILLIC SMALL LETTER EN WITH DESCENDER
+ * Bashkir, ...
+04A4 CYRILLIC CAPITAL LIGATURE EN GHE
+04A5 CYRILLIC SMALL LIGATURE EN GHE
+ * Altaic, Mari, Yakut
+04A6 CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
+04A7 CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
+ * Abkhasian
+04A8 CYRILLIC CAPITAL LETTER ABKHASIAN HA
+04A9 CYRILLIC SMALL LETTER ABKHASIAN HA
+ * Abkhasian
+04AA CYRILLIC CAPITAL LETTER ES WITH DESCENDER
+04AB CYRILLIC SMALL LETTER ES WITH DESCENDER
+ * Bashkir, Chuvash
+ * cedilla form preferred
+04AC CYRILLIC CAPITAL LETTER TE WITH DESCENDER
+04AD CYRILLIC SMALL LETTER TE WITH DESCENDER
+ * Abkhasian
+04AE CYRILLIC CAPITAL LETTER STRAIGHT U
+04AF CYRILLIC SMALL LETTER STRAIGHT U
+ * stem is straight, unlike LETTER U
+ * Azerbaijan, Bashkir, ...
+ x (cyrillic capital letter u - 0423)
+04B0 CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
+04B1 CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
+ * Kazakh
+04B2 CYRILLIC CAPITAL LETTER HA WITH DESCENDER
+04B3 CYRILLIC SMALL LETTER HA WITH DESCENDER
+ * Abkhasian, Tajik, ...
+04B4 CYRILLIC CAPITAL LIGATURE TE TSE
+04B5 CYRILLIC SMALL LIGATURE TE TSE
+ * Abkhasian
+04B6 CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
+04B7 CYRILLIC SMALL LETTER CHE WITH DESCENDER
+ * Abkhasian, Tajik
+04B8 CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
+04B9 CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
+ * Azerbaijan
+04BA CYRILLIC CAPITAL LETTER SHHA
+04BB CYRILLIC SMALL LETTER SHHA
+ * basically just a Latin "h", but uppercase form 04BA is closer to an inverted che (0427)
+ * Azerbaijan, Bashkir, ...
+ x (latin small letter h - 0068)
+04BC CYRILLIC CAPITAL LETTER ABKHASIAN CHE
+04BD CYRILLIC SMALL LETTER ABKHASIAN CHE
+ * Abkhasian
+ * represents a "che"
+04BE CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
+04BF CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
+ * Abkhasian
+ * ogonek form preferred
+04C0 CYRILLIC LETTER PALOCHKA
+ * aspiration sign in many Caucasian languages
+ * has no "lowercase form", i.e. is case-invariant
+ x (cyrillic capital letter byelorussian-ukrainian i - 0406)
+04C1 CYRILLIC CAPITAL LETTER ZHE WITH BREVE
+ : 0416 + 0306
+04C2 CYRILLIC SMALL LETTER ZHE WITH BREVE
+ * Moldavian
+ : 0436 + 0306
+04C3 CYRILLIC CAPITAL LETTER KA WITH HOOK
+04C4 CYRILLIC SMALL LETTER KA WITH HOOK
+ * Khanty, Chukchi
+04C5 <reserved>
+ x (cyrillic capital letter ka with descender - 049A)
+04C6 <reserved>
+ x (cyrillic small letter ka with descender - 049B)
+04C7 CYRILLIC CAPITAL LETTER EN WITH HOOK
+04C8 CYRILLIC SMALL LETTER EN WITH HOOK
+ * Khanty, Chukchi
+04C9 <reserved>
+ x (cyrillic capital letter ha with descender - 04B2)
+04CA <reserved>
+ x (cyrillic small letter ha with descender - 04B3)
+04CB CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
+04CC CYRILLIC SMALL LETTER KHAKASSIAN CHE
+ * Khakassian
+04CD <reserved>
+04CE <reserved>
+04CF <reserved>
+04D0 CYRILLIC CAPITAL LETTER A WITH BREVE
+ : 0410 + 0306
+04D1 CYRILLIC SMALL LETTER A WITH BREVE
+ : 0430 + 0306
+04D2 CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+ : 0410 + 0308
+04D3 CYRILLIC SMALL LETTER A WITH DIAERESIS
+ : 0430 + 0308
+04D4 CYRILLIC CAPITAL LIGATURE A IE
+ : 00C6
+04D5 CYRILLIC SMALL LIGATURE A IE
+ : 00E6
+04D6 CYRILLIC CAPITAL LETTER IE WITH BREVE
+ : 0415 + 0306
+04D7 CYRILLIC SMALL LETTER IE WITH BREVE
+ : 0435 + 0306
+04D8 CYRILLIC CAPITAL LETTER SCHWA
+ : 018F
+04D9 CYRILLIC SMALL LETTER SCHWA
+ : 0259
+04DA CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+ : 018F + 0308
+04DB CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+ : 0259 + 0308
+04DC CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+ : 0416 + 0308
+04DD CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+ : 0436 + 0308
+04DE CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+ : 0417 + 0308
+04DF CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+ : 0437 + 0308
+04E0 CYRILLIC CAPITAL LETTER ABKHASIAN DZE
+ : 01B7
+04E1 CYRILLIC SMALL LETTER ABKHASIAN DZE
+ : 0292
+04E2 CYRILLIC CAPITAL LETTER I WITH MACRON
+ : 0418 + 0304
+04E3 CYRILLIC SMALL LETTER I WITH MACRON
+ : 0438 + 0304
+04E4 CYRILLIC CAPITAL LETTER I WITH DIAERESIS
+ : 0418 + 0308
+04E5 CYRILLIC SMALL LETTER I WITH DIAERESIS
+ : 0438 + 0308
+04E6 CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+ : 041E + 0308
+04E7 CYRILLIC SMALL LETTER O WITH DIAERESIS
+ : 043E + 0308
+04E8 CYRILLIC CAPITAL LETTER BARRED O
+ : 019F
+04E9 CYRILLIC SMALL LETTER BARRED O
+ : 0275
+04EA CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+ : 019F + 0308
+04EB CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+ : 0275 + 0308
+04EC <reserved>
+04ED <reserved>
+04EE CYRILLIC CAPITAL LETTER U WITH MACRON
+ : 0423 + 0304
+04EF CYRILLIC SMALL LETTER U WITH MACRON
+ : 0443 + 0304
+04F0 CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+ : 0423 + 0308
+04F1 CYRILLIC SMALL LETTER U WITH DIAERESIS
+ : 0443 + 0308
+04F2 CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+ : 0423 + 030B
+04F3 CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+ : 0443 + 030B
+04F4 CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+ : 0427 + 0308
+04F5 CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+ : 0447 + 0308
+04F6 <reserved>
+04F7 <reserved>
+04F8 CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+ : 042B + 0308
+04F9 CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+ : 044B + 0308
+@@ 0500 Unassigned 052F
+@@ 0530 Armenian 058F
+@ Uppercase letters
+0530 <reserved>
+0531 ARMENIAN CAPITAL LETTER AYB
+0532 ARMENIAN CAPITAL LETTER BEN
+0533 ARMENIAN CAPITAL LETTER GIM
+0534 ARMENIAN CAPITAL LETTER DA
+0535 ARMENIAN CAPITAL LETTER ECH
+0536 ARMENIAN CAPITAL LETTER ZA
+0537 ARMENIAN CAPITAL LETTER EH
+0538 ARMENIAN CAPITAL LETTER ET
+0539 ARMENIAN CAPITAL LETTER TO
+053A ARMENIAN CAPITAL LETTER ZHE
+053B ARMENIAN CAPITAL LETTER INI
+053C ARMENIAN CAPITAL LETTER LIWN
+053D ARMENIAN CAPITAL LETTER XEH
+053E ARMENIAN CAPITAL LETTER CA
+053F ARMENIAN CAPITAL LETTER KEN
+0540 ARMENIAN CAPITAL LETTER HO
+0541 ARMENIAN CAPITAL LETTER JA
+0542 ARMENIAN CAPITAL LETTER GHAD
+0543 ARMENIAN CAPITAL LETTER CHEH
+0544 ARMENIAN CAPITAL LETTER MEN
+0545 ARMENIAN CAPITAL LETTER YI
+0546 ARMENIAN CAPITAL LETTER NOW
+0547 ARMENIAN CAPITAL LETTER SHA
+0548 ARMENIAN CAPITAL LETTER VO
+0549 ARMENIAN CAPITAL LETTER CHA
+054A ARMENIAN CAPITAL LETTER PEH
+054B ARMENIAN CAPITAL LETTER JHEH
+054C ARMENIAN CAPITAL LETTER RA
+054D ARMENIAN CAPITAL LETTER SEH
+054E ARMENIAN CAPITAL LETTER VEW
+054F ARMENIAN CAPITAL LETTER TIWN
+0550 ARMENIAN CAPITAL LETTER REH
+0551 ARMENIAN CAPITAL LETTER CO
+0552 ARMENIAN CAPITAL LETTER YIWN
+0553 ARMENIAN CAPITAL LETTER PIWR
+0554 ARMENIAN CAPITAL LETTER KEH
+0555 ARMENIAN CAPITAL LETTER OH
+0556 ARMENIAN CAPITAL LETTER FEH
+0557 <reserved>
+0558 <reserved>
+@ Modifier letters
+0559 ARMENIAN MODIFIER LETTER LEFT HALF RING
+ x (modifier letter reversed comma - 02BD)
+ x (modifier letter left half ring - 02BF)
+ x (combining reversed comma above - 0314)
+055A ARMENIAN APOSTROPHE
+ = ARMENIAN MODIFIER LETTER RIGHT HALF RING
+ x (modifier letter apostrophe - 02BC)
+ x (modifier letter right half ring - 02BE)
+ x (combining comma above - 0313)
+055B ARMENIAN EMPHASIS MARK
+ = shesht
+ x (modifier letter acute accent - 02CA)
+055C ARMENIAN EXCLAMATION MARK
+ = batsaganchakan nshan
+055D ARMENIAN COMMA
+ = boot
+ x (modifier letter grave accent - 02CB)
+055E ARMENIAN QUESTION MARK
+ = hartsakan nshan
+055F ARMENIAN ABBREVIATION MARK
+ = patiw
+@ Lowercase letters
+0560 <reserved>
+0561 ARMENIAN SMALL LETTER AYB
+0562 ARMENIAN SMALL LETTER BEN
+0563 ARMENIAN SMALL LETTER GIM
+0564 ARMENIAN SMALL LETTER DA
+0565 ARMENIAN SMALL LETTER ECH
+0566 ARMENIAN SMALL LETTER ZA
+0567 ARMENIAN SMALL LETTER EH
+0568 ARMENIAN SMALL LETTER ET
+0569 ARMENIAN SMALL LETTER TO
+056A ARMENIAN SMALL LETTER ZHE
+056B ARMENIAN SMALL LETTER INI
+056C ARMENIAN SMALL LETTER LIWN
+056D ARMENIAN SMALL LETTER XEH
+056E ARMENIAN SMALL LETTER CA
+056F ARMENIAN SMALL LETTER KEN
+0570 ARMENIAN SMALL LETTER HO
+0571 ARMENIAN SMALL LETTER JA
+0572 ARMENIAN SMALL LETTER GHAD
+0573 ARMENIAN SMALL LETTER CHEH
+0574 ARMENIAN SMALL LETTER MEN
+0575 ARMENIAN SMALL LETTER YI
+0576 ARMENIAN SMALL LETTER NOW
+0577 ARMENIAN SMALL LETTER SHA
+0578 ARMENIAN SMALL LETTER VO
+0579 ARMENIAN SMALL LETTER CHA
+057A ARMENIAN SMALL LETTER PEH
+057B ARMENIAN SMALL LETTER JHEH
+057C ARMENIAN SMALL LETTER RA
+057D ARMENIAN SMALL LETTER SEH
+057E ARMENIAN SMALL LETTER VEW
+057F ARMENIAN SMALL LETTER TIWN
+0580 ARMENIAN SMALL LETTER REH
+0581 ARMENIAN SMALL LETTER CO
+0582 ARMENIAN SMALL LETTER YIWN
+0583 ARMENIAN SMALL LETTER PIWR
+0584 ARMENIAN SMALL LETTER KEH
+0585 ARMENIAN SMALL LETTER OH
+0586 ARMENIAN SMALL LETTER FEH
+0587 ARMENIAN SMALL LIGATURE ECH YIWN
+ # 0565 + 0582
+0588 <reserved>
+@ Punctuation
+0589 ARMENIAN FULL STOP
+ = vertsaket
+ * may also be used for Georgian
+ x (colon - 003A)
+@@ 0590 Hebrew 05FF
+@ Cantillation marks
+0590 <reserved>
+0591 HEBREW ACCENT ETNAHTA
+0592 HEBREW ACCENT SEGOL
+0593 HEBREW ACCENT SHALSHELET
+0594 HEBREW ACCENT ZAQEF QATAN
+0595 HEBREW ACCENT ZAQEF GADOL
+0596 HEBREW ACCENT TIPEHA
+0597 HEBREW ACCENT REVIA
+0598 HEBREW ACCENT ZARQA
+0599 HEBREW ACCENT PASHTA
+059A HEBREW ACCENT YETIV
+059B HEBREW ACCENT TEVIR
+059C HEBREW ACCENT GERESH
+059D HEBREW ACCENT GERESH MUQDAM
+059E HEBREW ACCENT GERSHAYIM
+059F HEBREW ACCENT QARNEY PARA
+05A0 HEBREW ACCENT TELISHA GEDOLA
+05A1 HEBREW ACCENT PAZER
+05A2 <reserved>
+05A3 HEBREW ACCENT MUNAH
+05A4 HEBREW ACCENT MAHAPAKH
+05A5 HEBREW ACCENT MERKHA
+05A6 HEBREW ACCENT MERKHA KEFULA
+05A7 HEBREW ACCENT DARGA
+05A8 HEBREW ACCENT QADMA
+05A9 HEBREW ACCENT TELISHA QETANA
+05AA HEBREW ACCENT YERAH BEN YOMO
+05AB HEBREW ACCENT OLE
+05AC HEBREW ACCENT ILUY
+05AD HEBREW ACCENT DEHI
+05AE HEBREW ACCENT ZINOR
+05AF HEBREW MARK MASORA CIRCLE
+@ Points and punctuation
+05B0 HEBREW POINT SHEVA
+05B1 HEBREW POINT HATAF SEGOL
+05B2 HEBREW POINT HATAF PATAH
+05B3 HEBREW POINT HATAF QAMATS
+05B4 HEBREW POINT HIRIQ
+05B5 HEBREW POINT TSERE
+05B6 HEBREW POINT SEGOL
+05B7 HEBREW POINT PATAH
+ * furtive Patah is not a distinct character
+05B8 HEBREW POINT QAMATS
+05B9 HEBREW POINT HOLAM
+05BA <reserved>
+05BB HEBREW POINT QUBUTS
+05BC HEBREW POINT DAGESH OR MAPIQ
+ = shuruq
+ * falls within the base letter
+05BD HEBREW POINT METEG
+ = siluq
+05BE HEBREW PUNCTUATION MAQAF
+05BF HEBREW POINT RAFE
+05C0 HEBREW PUNCTUATION PASEQ
+ = legarmeh
+ * may be treated as spacing punctuation, not as a point
+05C1 HEBREW POINT SHIN DOT
+05C2 HEBREW POINT SIN DOT
+05C3 HEBREW PUNCTUATION SOF PASUQ
+05C4 HEBREW MARK UPPER DOT
+05C5 <reserved>
+05C6 <reserved>
+05C7 <reserved>
+05C8 <reserved>
+05C9 <reserved>
+05CA <reserved>
+05CB <reserved>
+05CC <reserved>
+05CD <reserved>
+05CE <reserved>
+05CF <reserved>
+@ Based on ISO 8859-8
+05D0 HEBREW LETTER ALEF
+ = aleph
+ x (alef symbol - 2135)
+05D1 HEBREW LETTER BET
+ x (bet symbol - 2136)
+05D2 HEBREW LETTER GIMEL
+ x (gimel symbol - 2137)
+05D3 HEBREW LETTER DALET
+ x (dalet symbol - 2138)
+05D4 HEBREW LETTER HE
+05D5 HEBREW LETTER VAV
+05D6 HEBREW LETTER ZAYIN
+05D7 HEBREW LETTER HET
+05D8 HEBREW LETTER TET
+05D9 HEBREW LETTER YOD
+05DA HEBREW LETTER FINAL KAF
+05DB HEBREW LETTER KAF
+05DC HEBREW LETTER LAMED
+05DD HEBREW LETTER FINAL MEM
+05DE HEBREW LETTER MEM
+05DF HEBREW LETTER FINAL NUN
+05E0 HEBREW LETTER NUN
+05E1 HEBREW LETTER SAMEKH
+05E2 HEBREW LETTER AYIN
+05E3 HEBREW LETTER FINAL PE
+05E4 HEBREW LETTER PE
+05E5 HEBREW LETTER FINAL TSADI
+05E6 HEBREW LETTER TSADI
+ = zade
+05E7 HEBREW LETTER QOF
+05E8 HEBREW LETTER RESH
+05E9 HEBREW LETTER SHIN
+05EA HEBREW LETTER TAV
+05EB <reserved>
+05EC <reserved>
+05ED <reserved>
+05EE <reserved>
+05EF <reserved>
+@ Yiddish digraphs
+05F0 HEBREW LIGATURE YIDDISH DOUBLE VAV
+ = tsvey vovn
+05F1 HEBREW LIGATURE YIDDISH VAV YOD
+05F2 HEBREW LIGATURE YIDDISH DOUBLE YOD
+ = tsvey yudn
+@ Additional punctuation
+05F3 HEBREW PUNCTUATION GERESH
+05F4 HEBREW PUNCTUATION GERSHAYIM
+05F5 <reserved>
+ x (hebrew point judeo-spanish varika - FB1E)
+@@ 0600 Arabic 06FF
+@ Based on ISO 8859-6
+0600 <reserved>
+ x (no-break space - 00A0)
+0601 <reserved>
+0602 <reserved>
+0603 <reserved>
+0604 <reserved>
+ x (currency sign - 00A4)
+0605 <reserved>
+0606 <reserved>
+0607 <reserved>
+0608 <reserved>
+0609 <reserved>
+060A <reserved>
+060B <reserved>
+060C ARABIC COMMA
+ x (comma - 002C)
+060D <reserved>
+ x (soft hyphen - 00AD)
+060E <reserved>
+060F <reserved>
+0610 <reserved>
+0611 <reserved>
+0612 <reserved>
+0613 <reserved>
+0614 <reserved>
+0615 <reserved>
+0616 <reserved>
+0617 <reserved>
+0618 <reserved>
+0619 <reserved>
+061A <reserved>
+061B ARABIC SEMICOLON
+ x (semicolon - 003B)
+061C <reserved>
+061D <reserved>
+061E <reserved>
+061F ARABIC QUESTION MARK
+ x (question mark - 003F)
+0620 <reserved>
+0621 ARABIC LETTER HAMZA
+ x (modifier letter right half ring - 02BE)
+0622 ARABIC LETTER ALEF WITH MADDA ABOVE
+0623 ARABIC LETTER ALEF WITH HAMZA ABOVE
+0624 ARABIC LETTER WAW WITH HAMZA ABOVE
+0625 ARABIC LETTER ALEF WITH HAMZA BELOW
+0626 ARABIC LETTER YEH WITH HAMZA ABOVE
+0627 ARABIC LETTER ALEF
+0628 ARABIC LETTER BEH
+0629 ARABIC LETTER TEH MARBUTA
+062A ARABIC LETTER TEH
+062B ARABIC LETTER THEH
+062C ARABIC LETTER JEEM
+062D ARABIC LETTER HAH
+062E ARABIC LETTER KHAH
+062F ARABIC LETTER DAL
+0630 ARABIC LETTER THAL
+0631 ARABIC LETTER REH
+0632 ARABIC LETTER ZAIN
+0633 ARABIC LETTER SEEN
+0634 ARABIC LETTER SHEEN
+0635 ARABIC LETTER SAD
+0636 ARABIC LETTER DAD
+0637 ARABIC LETTER TAH
+0638 ARABIC LETTER ZAH
+0639 ARABIC LETTER AIN
+ x (latin small letter ezh reversed - 01B9)
+ x (modifier letter left half ring - 02BF)
+063A ARABIC LETTER GHAIN
+063B <reserved>
+063C <reserved>
+063D <reserved>
+063E <reserved>
+063F <reserved>
+0640 ARABIC TATWEEL
+ = kashida
+ * inserted to stretch characters
+0641 ARABIC LETTER FEH
+0642 ARABIC LETTER QAF
+0643 ARABIC LETTER KAF
+0644 ARABIC LETTER LAM
+0645 ARABIC LETTER MEEM
+0646 ARABIC LETTER NOON
+0647 ARABIC LETTER HEH
+0648 ARABIC LETTER WAW
+0649 ARABIC LETTER ALEF MAKSURA
+064A ARABIC LETTER YEH
+@ Points from ISO 8859-6
+064B ARABIC FATHATAN
+064C ARABIC DAMMATAN
+064D ARABIC KASRATAN
+064E ARABIC FATHA
+064F ARABIC DAMMA
+0650 ARABIC KASRA
+0651 ARABIC SHADDA
+0652 ARABIC SUKUN
+0653 <reserved>
+0654 <reserved>
+0655 <reserved>
+0656 <reserved>
+0657 <reserved>
+0658 <reserved>
+0659 <reserved>
+065A <reserved>
+065B <reserved>
+065C <reserved>
+065D <reserved>
+065E <reserved>
+065F <reserved>
+@ Arabic-Indic digits
+0660 ARABIC-INDIC DIGIT ZERO
+0661 ARABIC-INDIC DIGIT ONE
+0662 ARABIC-INDIC DIGIT TWO
+0663 ARABIC-INDIC DIGIT THREE
+0664 ARABIC-INDIC DIGIT FOUR
+0665 ARABIC-INDIC DIGIT FIVE
+0666 ARABIC-INDIC DIGIT SIX
+0667 ARABIC-INDIC DIGIT SEVEN
+0668 ARABIC-INDIC DIGIT EIGHT
+0669 ARABIC-INDIC DIGIT NINE
+066A ARABIC PERCENT SIGN
+ x (percent sign - 0025)
+066B ARABIC DECIMAL SEPARATOR
+066C ARABIC THOUSANDS SEPARATOR
+066D ARABIC FIVE POINTED STAR
+066E <reserved>
+066F <reserved>
+@ Point
+0670 ARABIC LETTER SUPERSCRIPT ALEF
+@ Extended Arabic letters
+0671 ARABIC LETTER ALEF WASLA
+ * Arabic
+0672 ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
+ * Baluchi, Kashmiri
+0673 ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
+ * Baluchi, Kashmiri
+0674 ARABIC LETTER HIGH HAMZA
+ * Kazakh
+ * forms digraphs
+0675 ARABIC LETTER HIGH HAMZA ALEF
+ * Kazakh
+0676 ARABIC LETTER HIGH HAMZA WAW
+ * Kazakh
+0677 ARABIC LETTER U WITH HAMZA ABOVE
+ * Kazakh
+0678 ARABIC LETTER HIGH HAMZA YEH
+ * Kazakh
+0679 ARABIC LETTER TTEH
+ * Urdu
+067A ARABIC LETTER TTEHEH
+ * Sindhi
+067B ARABIC LETTER BEEH
+ * Sindhi
+067C ARABIC LETTER TEH WITH RING
+ * Pashto
+067D ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS
+ * Sindhi
+067E ARABIC LETTER PEH
+ * Persian, Urdu, ...
+067F ARABIC LETTER TEHEH
+ * Sindhi
+0680 ARABIC LETTER BEHEH
+ * Sindhi
+0681 ARABIC LETTER HAH WITH HAMZA ABOVE
+ * Pashto
+0682 ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE
+ * Pashto
+0683 ARABIC LETTER NYEH
+ * Sindhi
+0684 ARABIC LETTER DYEH
+ * Sindhi
+0685 ARABIC LETTER HAH WITH THREE DOTS ABOVE
+ * Pashto
+0686 ARABIC LETTER TCHEH
+ * Persian, Urdu, ...
+0687 ARABIC LETTER TCHEHEH
+ * Sindhi
+0688 ARABIC LETTER DDAL
+ * Urdu
+0689 ARABIC LETTER DAL WITH RING
+ * Pashto
+068A ARABIC LETTER DAL WITH DOT BELOW
+ * Sindhi
+068B ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH
+ * Lahnda
+068C ARABIC LETTER DAHAL
+ * Sindhi
+068D ARABIC LETTER DDAHAL
+ * Sindhi
+068E ARABIC LETTER DUL
+ * Sindhi
+068F ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS
+ * Sindhi
+0690 ARABIC LETTER DAL WITH FOUR DOTS ABOVE
+ * Urdu
+0691 ARABIC LETTER RREH
+ * Urdu
+0692 ARABIC LETTER REH WITH SMALL V
+ * Kurdish
+0693 ARABIC LETTER REH WITH RING
+ * Pashto
+0694 ARABIC LETTER REH WITH DOT BELOW
+ * Kurdish
+0695 ARABIC LETTER REH WITH SMALL V BELOW
+ * Kurdish
+0696 ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE
+ * Pashto
+0697 ARABIC LETTER REH WITH TWO DOTS ABOVE
+ * Dargwa
+0698 ARABIC LETTER JEH
+ * Persian, Urdu, ...
+0699 ARABIC LETTER REH WITH FOUR DOTS ABOVE
+ * Sindhi
+069A ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE
+ * Pashto
+069B ARABIC LETTER SEEN WITH THREE DOTS BELOW
+ * Uighur
+069C ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE
+ * Moroccan Arabic
+069D ARABIC LETTER SAD WITH TWO DOTS BELOW
+ * Turkic
+069E ARABIC LETTER SAD WITH THREE DOTS ABOVE
+ * Berber
+069F ARABIC LETTER TAH WITH THREE DOTS ABOVE
+ * old Hausa
+06A0 ARABIC LETTER AIN WITH THREE DOTS ABOVE
+ * old Malay
+06A1 ARABIC LETTER DOTLESS FEH
+ * Adighe
+06A2 ARABIC LETTER FEH WITH DOT MOVED BELOW
+ * Maghrib Arabic
+06A3 ARABIC LETTER FEH WITH DOT BELOW
+ * Ingush
+06A4 ARABIC LETTER VEH
+ * Arabic for foreign words
+06A5 ARABIC LETTER FEH WITH THREE DOTS BELOW
+ * Arabic for foreign words
+06A6 ARABIC LETTER PEHEH
+ * Sindhi
+06A7 ARABIC LETTER QAF WITH DOT ABOVE
+ * Maghrib Arabic
+06A8 ARABIC LETTER QAF WITH THREE DOTS ABOVE
+ * Tunisian Arabic
+06A9 ARABIC LETTER KEHEH
+ * Persian, Urdu, ...
+06AA ARABIC LETTER SWASH KAF
+ * (various)
+06AB ARABIC LETTER KAF WITH RING
+ * Pashto
+06AC ARABIC LETTER KAF WITH DOT ABOVE
+ * old Malay
+06AD ARABIC LETTER NG
+ * Uighur, Kazakh, old Malay, ...
+06AE ARABIC LETTER KAF WITH THREE DOTS BELOW
+ * Berber
+06AF ARABIC LETTER GAF
+ * Persian, Urdu, ...
+06B0 ARABIC LETTER GAF WITH RING
+ * Lahnda
+06B1 ARABIC LETTER NGOEH
+ * Sindhi
+06B2 ARABIC LETTER GAF WITH TWO DOTS BELOW
+ * Sindhi
+06B3 ARABIC LETTER GUEH
+ * Sindhi
+06B4 ARABIC LETTER GAF WITH THREE DOTS ABOVE
+ * Sindhi
+06B5 ARABIC LETTER LAM WITH SMALL V
+ * Kurdish
+06B6 ARABIC LETTER LAM WITH DOT ABOVE
+ * Kurdish
+06B7 ARABIC LETTER LAM WITH THREE DOTS ABOVE
+ * Kurdish
+06B8 <reserved>
+06B9 <reserved>
+06BA ARABIC LETTER NOON GHUNNA
+ * Urdu
+06BB ARABIC LETTER RNOON
+ * Sindhi
+06BC ARABIC LETTER NOON WITH RING
+ * Pashto
+06BD ARABIC LETTER NOON WITH THREE DOTS ABOVE
+ * old Malay
+06BE ARABIC LETTER HEH DOACHASHMEE
+ * Urdu
+ * forms aspirate digraphs
+06BF <reserved>
+06C0 ARABIC LETTER HEH WITH YEH ABOVE
+ * Persian
+06C1 ARABIC LETTER HEH GOAL
+ * Urdu
+06C2 ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
+ * Urdu
+06C3 ARABIC LETTER TEH MARBUTA GOAL
+ * Urdu
+06C4 ARABIC LETTER WAW WITH RING
+ * Kashmiri
+06C5 ARABIC LETTER KIRGHIZ OE
+ * Kirghiz
+06C6 ARABIC LETTER OE
+ * Uighur, Kurdish, Kazah
+06C7 ARABIC LETTER U
+ * Kirghiz
+06C8 ARABIC LETTER YU
+ * Uighur
+06C9 ARABIC LETTER KIRGHIZ YU
+ * Kazakh, Kirghiz
+06CA ARABIC LETTER WAW WITH TWO DOTS ABOVE
+ * Kurdish
+06CB ARABIC LETTER VE
+ * Uighur, Kazakh
+06CC ARABIC LETTER FARSI YEH
+ * Arabic, Persian, Urdu, ...
+06CD ARABIC LETTER YEH WITH TAIL
+ * Pashto, Sindhi
+06CE ARABIC LETTER YEH WITH SMALL V
+ * Kurdish
+06CF <reserved>
+06D0 ARABIC LETTER E
+ * Pashto, Uighur
+06D1 ARABIC LETTER YEH WITH THREE DOTS BELOW
+ * old Malay
+06D2 ARABIC LETTER YEH BARREE
+ * Urdu
+06D3 ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
+ * Urdu
+06D4 ARABIC FULL STOP
+ * Urdu
+06D5 ARABIC LETTER AE
+ * Uighur, Kazakh, Kirghiz
+06D6 ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA
+06D7 ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA
+06D8 ARABIC SMALL HIGH MEEM INITIAL FORM
+06D9 ARABIC SMALL HIGH LAM ALEF
+06DA ARABIC SMALL HIGH JEEM
+06DB ARABIC SMALL HIGH THREE DOTS
+06DC ARABIC SMALL HIGH SEEN
+06DD ARABIC END OF AYAH
+06DE ARABIC START OF RUB EL HIZB
+06DF ARABIC SMALL HIGH ROUNDED ZERO
+06E0 ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO
+06E1 ARABIC SMALL HIGH DOTLESS HEAD OF KHAH
+06E2 ARABIC SMALL HIGH MEEM ISOLATED FORM
+06E3 ARABIC SMALL LOW SEEN
+06E4 ARABIC SMALL HIGH MADDA
+06E5 ARABIC SMALL WAW
+06E6 ARABIC SMALL YEH
+06E7 ARABIC SMALL HIGH YEH
+06E8 ARABIC SMALL HIGH NOON
+06E9 ARABIC PLACE OF SAJDAH
+06EA ARABIC EMPTY CENTRE LOW STOP
+06EB ARABIC EMPTY CENTRE HIGH STOP
+06EC ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE
+06ED ARABIC SMALL LOW MEEM
+06EE <reserved>
+06EF <reserved>
+@ Eastern Arabic-Indic digits (Persian and Urdu)
+06F0 EXTENDED ARABIC-INDIC DIGIT ZERO
+06F1 EXTENDED ARABIC-INDIC DIGIT ONE
+06F2 EXTENDED ARABIC-INDIC DIGIT TWO
+06F3 EXTENDED ARABIC-INDIC DIGIT THREE
+06F4 EXTENDED ARABIC-INDIC DIGIT FOUR
+ * different glyphs in Persian and Urdu
+06F5 EXTENDED ARABIC-INDIC DIGIT FIVE
+ * Persian and Urdu share glyph different from Arabic
+06F6 EXTENDED ARABIC-INDIC DIGIT SIX
+ * Persian glyph different from Arabic
+06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN
+ * Urdu glyph different from Arabic
+06F8 EXTENDED ARABIC-INDIC DIGIT EIGHT
+06F9 EXTENDED ARABIC-INDIC DIGIT NINE
+@@ 0700 Unassigned 08FF
+@@ 0900 Devanagari 097F
+@ Based on ISCII 1988
+@ Various signs
+0900 <reserved>
+0901 DEVANAGARI SIGN CANDRABINDU
+ = anunasika
+ x (combining candrabindu - 0310)
+0902 DEVANAGARI SIGN ANUSVARA
+ = bindu
+0903 DEVANAGARI SIGN VISARGA
+0904 <reserved>
+@ Independent vowels
+0905 DEVANAGARI LETTER A
+0906 DEVANAGARI LETTER AA
+0907 DEVANAGARI LETTER I
+0908 DEVANAGARI LETTER II
+0909 DEVANAGARI LETTER U
+090A DEVANAGARI LETTER UU
+090B DEVANAGARI LETTER VOCALIC R
+090C DEVANAGARI LETTER VOCALIC L
+090D DEVANAGARI LETTER CANDRA E
+090E DEVANAGARI LETTER SHORT E
+ * for transcribing Dravidian short e
+090F DEVANAGARI LETTER E
+0910 DEVANAGARI LETTER AI
+0911 DEVANAGARI LETTER CANDRA O
+0912 DEVANAGARI LETTER SHORT O
+ * for transcribing Dravidian short o
+0913 DEVANAGARI LETTER O
+0914 DEVANAGARI LETTER AU
+@ Consonants
+0915 DEVANAGARI LETTER KA
+0916 DEVANAGARI LETTER KHA
+0917 DEVANAGARI LETTER GA
+0918 DEVANAGARI LETTER GHA
+0919 DEVANAGARI LETTER NGA
+091A DEVANAGARI LETTER CA
+091B DEVANAGARI LETTER CHA
+091C DEVANAGARI LETTER JA
+091D DEVANAGARI LETTER JHA
+091E DEVANAGARI LETTER NYA
+091F DEVANAGARI LETTER TTA
+0920 DEVANAGARI LETTER TTHA
+0921 DEVANAGARI LETTER DDA
+0922 DEVANAGARI LETTER DDHA
+0923 DEVANAGARI LETTER NNA
+0924 DEVANAGARI LETTER TA
+0925 DEVANAGARI LETTER THA
+0926 DEVANAGARI LETTER DA
+0927 DEVANAGARI LETTER DHA
+0928 DEVANAGARI LETTER NA
+0929 DEVANAGARI LETTER NNNA
+ * for transcribing Tamil alveolar n
+ : 0928 + 093C
+092A DEVANAGARI LETTER PA
+092B DEVANAGARI LETTER PHA
+092C DEVANAGARI LETTER BA
+092D DEVANAGARI LETTER BHA
+092E DEVANAGARI LETTER MA
+092F DEVANAGARI LETTER YA
+0930 DEVANAGARI LETTER RA
+0931 DEVANAGARI LETTER RRA
+ * for transcribing Tamil alveolar r
+ : 0930 + 093C
+0932 DEVANAGARI LETTER LA
+0933 DEVANAGARI LETTER LLA
+0934 DEVANAGARI LETTER LLLA
+ * for transcribing Tamil l
+ : 0933 + 093C
+0935 DEVANAGARI LETTER VA
+0936 DEVANAGARI LETTER SHA
+0937 DEVANAGARI LETTER SSA
+0938 DEVANAGARI LETTER SA
+0939 DEVANAGARI LETTER HA
+@ Various signs
+093A <reserved>
+093B <reserved>
+093C DEVANAGARI SIGN NUKTA
+ * for extending the alphabet to new letters
+093D DEVANAGARI SIGN AVAGRAHA
+@ Dependent vowel signs
+093E DEVANAGARI VOWEL SIGN AA
+093F DEVANAGARI VOWEL SIGN I
+ * stands to the left of the consonant
+0940 DEVANAGARI VOWEL SIGN II
+0941 DEVANAGARI VOWEL SIGN U
+0942 DEVANAGARI VOWEL SIGN UU
+0943 DEVANAGARI VOWEL SIGN VOCALIC R
+0944 DEVANAGARI VOWEL SIGN VOCALIC RR
+0945 DEVANAGARI VOWEL SIGN CANDRA E
+ = candra
+0946 DEVANAGARI VOWEL SIGN SHORT E
+ * for transcribing Dravidian vowels
+0947 DEVANAGARI VOWEL SIGN E
+0948 DEVANAGARI VOWEL SIGN AI
+0949 DEVANAGARI VOWEL SIGN CANDRA O
+094A DEVANAGARI VOWEL SIGN SHORT O
+ * for transcribing Dravidian vowels
+094B DEVANAGARI VOWEL SIGN O
+094C DEVANAGARI VOWEL SIGN AU
+@ Various signs
+094D DEVANAGARI SIGN VIRAMA
+ = halant
+ * suppresses inherent vowel
+094E <reserved>
+094F <reserved>
+0950 DEVANAGARI OM
+0951 DEVANAGARI STRESS SIGN UDATTA
+0952 DEVANAGARI STRESS SIGN ANUDATTA
+0953 DEVANAGARI GRAVE ACCENT
+0954 DEVANAGARI ACUTE ACCENT
+0955 <reserved>
+0956 <reserved>
+0957 <reserved>
+@ Additional consonants
+0958 DEVANAGARI LETTER QA
+ : 0915 + 093C
+0959 DEVANAGARI LETTER KHHA
+ : 0916 + 093C
+095A DEVANAGARI LETTER GHHA
+ : 0917 + 093C
+095B DEVANAGARI LETTER ZA
+ : 091C + 093C
+095C DEVANAGARI LETTER DDDHA
+ : 0921 + 093C
+095D DEVANAGARI LETTER RHA
+ : 0922 + 093C
+095E DEVANAGARI LETTER FA
+ : 092B + 093C
+095F DEVANAGARI LETTER YYA
+ : 092F + 093C
+@ Generic additions
+0960 DEVANAGARI LETTER VOCALIC RR
+0961 DEVANAGARI LETTER VOCALIC LL
+0962 DEVANAGARI VOWEL SIGN VOCALIC L
+0963 DEVANAGARI VOWEL SIGN VOCALIC LL
+0964 DEVANAGARI DANDA
+ = phrase separator
+0965 DEVANAGARI DOUBLE DANDA
+0966 DEVANAGARI DIGIT ZERO
+0967 DEVANAGARI DIGIT ONE
+0968 DEVANAGARI DIGIT TWO
+0969 DEVANAGARI DIGIT THREE
+096A DEVANAGARI DIGIT FOUR
+096B DEVANAGARI DIGIT FIVE
+096C DEVANAGARI DIGIT SIX
+096D DEVANAGARI DIGIT SEVEN
+096E DEVANAGARI DIGIT EIGHT
+096F DEVANAGARI DIGIT NINE
+@ Devanagari-specific additions
+0970 DEVANAGARI ABBREVIATION SIGN
+@@ 0980 Bengali 09FF
+@ Based on ISCII 1988
+@ Various signs
+0980 <reserved>
+0981 BENGALI SIGN CANDRABINDU
+0982 BENGALI SIGN ANUSVARA
+0983 BENGALI SIGN VISARGA
+0984 <reserved>
+@ Independent vowels
+0985 BENGALI LETTER A
+0986 BENGALI LETTER AA
+0987 BENGALI LETTER I
+0988 BENGALI LETTER II
+0989 BENGALI LETTER U
+098A BENGALI LETTER UU
+098B BENGALI LETTER VOCALIC R
+098C BENGALI LETTER VOCALIC L
+098D <reserved>
+098E <reserved>
+098F BENGALI LETTER E
+0990 BENGALI LETTER AI
+0991 <reserved>
+0992 <reserved>
+0993 BENGALI LETTER O
+0994 BENGALI LETTER AU
+@ Consonants
+0995 BENGALI LETTER KA
+0996 BENGALI LETTER KHA
+0997 BENGALI LETTER GA
+0998 BENGALI LETTER GHA
+0999 BENGALI LETTER NGA
+099A BENGALI LETTER CA
+099B BENGALI LETTER CHA
+099C BENGALI LETTER JA
+099D BENGALI LETTER JHA
+099E BENGALI LETTER NYA
+099F BENGALI LETTER TTA
+09A0 BENGALI LETTER TTHA
+09A1 BENGALI LETTER DDA
+09A2 BENGALI LETTER DDHA
+09A3 BENGALI LETTER NNA
+09A4 BENGALI LETTER TA
+09A5 BENGALI LETTER THA
+09A6 BENGALI LETTER DA
+09A7 BENGALI LETTER DHA
+09A8 BENGALI LETTER NA
+09A9 <reserved>
+09AA BENGALI LETTER PA
+09AB BENGALI LETTER PHA
+09AC BENGALI LETTER BA
+ = Bengali va, wa
+09AD BENGALI LETTER BHA
+09AE BENGALI LETTER MA
+09AF BENGALI LETTER YA
+09B0 BENGALI LETTER RA
+ : 09AC + 09BC
+09B1 <reserved>
+09B2 BENGALI LETTER LA
+09B3 <reserved>
+09B4 <reserved>
+09B5 <reserved>
+09B6 BENGALI LETTER SHA
+09B7 BENGALI LETTER SSA
+09B8 BENGALI LETTER SA
+09B9 BENGALI LETTER HA
+@ Various signs
+09BA <reserved>
+09BB <reserved>
+09BC BENGALI SIGN NUKTA
+ * for extending the alphabet to new letters
+09BD <reserved>
+@ Dependent vowel signs
+09BE BENGALI VOWEL SIGN AA
+09BF BENGALI VOWEL SIGN I
+ * stands to the left of the consonant
+09C0 BENGALI VOWEL SIGN II
+09C1 BENGALI VOWEL SIGN U
+09C2 BENGALI VOWEL SIGN UU
+09C3 BENGALI VOWEL SIGN VOCALIC R
+09C4 BENGALI VOWEL SIGN VOCALIC RR
+09C5 <reserved>
+09C6 <reserved>
+09C7 BENGALI VOWEL SIGN E
+ * stands to the left of the consonant
+09C8 BENGALI VOWEL SIGN AI
+ * stands to the left of the consonant
+09C9 <reserved>
+09CA <reserved>
+09CB BENGALI VOWEL SIGN O
+ * pieces on both sides of the consonant
+ : 09C7 + 09BE
+09CC BENGALI VOWEL SIGN AU
+ * pieces on both sides of the consonant
+ : 09C7 + 09D7
+@ Various signs
+09CD BENGALI SIGN VIRAMA
+ = halant
+09CE <reserved>
+09CF <reserved>
+09D0 <reserved>
+09D1 <reserved>
+09D2 <reserved>
+09D3 <reserved>
+09D4 <reserved>
+09D5 <reserved>
+09D6 <reserved>
+09D7 BENGALI AU LENGTH MARK
+@ Additional consonants
+09D8 <reserved>
+09D9 <reserved>
+09DA <reserved>
+09DB <reserved>
+09DC BENGALI LETTER RRA
+ : 09A1 + 09BC
+09DD BENGALI LETTER RHA
+ : 09A2 + 09BC
+09DE <reserved>
+09DF BENGALI LETTER YYA
+ : 09AF + 09BC
+@ Generic additions
+09E0 BENGALI LETTER VOCALIC RR
+09E1 BENGALI LETTER VOCALIC LL
+09E2 BENGALI VOWEL SIGN VOCALIC L
+09E3 BENGALI VOWEL SIGN VOCALIC LL
+09E4 <reserved>
+09E5 <reserved>
+09E6 BENGALI DIGIT ZERO
+09E7 BENGALI DIGIT ONE
+09E8 BENGALI DIGIT TWO
+09E9 BENGALI DIGIT THREE
+09EA BENGALI DIGIT FOUR
+09EB BENGALI DIGIT FIVE
+09EC BENGALI DIGIT SIX
+09ED BENGALI DIGIT SEVEN
+09EE BENGALI DIGIT EIGHT
+09EF BENGALI DIGIT NINE
+@ Bengali-specific additions
+09F0 BENGALI LETTER RA WITH MIDDLE DIAGONAL
+ * Assamese
+09F1 BENGALI LETTER RA WITH LOWER DIAGONAL
+ = BENGALI LETTER VA WITH LOWER DIAGONAL
+ * Assamese
+09F2 BENGALI RUPEE MARK
+09F3 BENGALI RUPEE SIGN
+09F4 BENGALI CURRENCY NUMERATOR ONE
+09F5 BENGALI CURRENCY NUMERATOR TWO
+09F6 BENGALI CURRENCY NUMERATOR THREE
+09F7 BENGALI CURRENCY NUMERATOR FOUR
+09F8 BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
+09F9 BENGALI CURRENCY DENOMINATOR SIXTEEN
+09FA BENGALI ISSHAR
+@@ 0A00 Gurmukhi 0A7F
+@ Based on ISCII 1988
+@ Various signs
+0A00 <reserved>
+0A01 <reserved>
+0A02 GURMUKHI SIGN BINDI
+0A03 <reserved>
+0A04 <reserved>
+@ Independent vowels
+0A05 GURMUKHI LETTER A
+0A06 GURMUKHI LETTER AA
+0A07 GURMUKHI LETTER I
+0A08 GURMUKHI LETTER II
+0A09 GURMUKHI LETTER U
+0A0A GURMUKHI LETTER UU
+0A0B <reserved>
+0A0C <reserved>
+0A0D <reserved>
+0A0E <reserved>
+0A0F GURMUKHI LETTER EE
+0A10 GURMUKHI LETTER AI
+0A11 <reserved>
+0A12 <reserved>
+0A13 GURMUKHI LETTER OO
+0A14 GURMUKHI LETTER AU
+@ Consonants
+0A15 GURMUKHI LETTER KA
+0A16 GURMUKHI LETTER KHA
+0A17 GURMUKHI LETTER GA
+0A18 GURMUKHI LETTER GHA
+0A19 GURMUKHI LETTER NGA
+0A1A GURMUKHI LETTER CA
+0A1B GURMUKHI LETTER CHA
+0A1C GURMUKHI LETTER JA
+0A1D GURMUKHI LETTER JHA
+0A1E GURMUKHI LETTER NYA
+0A1F GURMUKHI LETTER TTA
+0A20 GURMUKHI LETTER TTHA
+0A21 GURMUKHI LETTER DDA
+0A22 GURMUKHI LETTER DDHA
+0A23 GURMUKHI LETTER NNA
+0A24 GURMUKHI LETTER TA
+0A25 GURMUKHI LETTER THA
+0A26 GURMUKHI LETTER DA
+0A27 GURMUKHI LETTER DHA
+0A28 GURMUKHI LETTER NA
+0A29 <reserved>
+0A2A GURMUKHI LETTER PA
+0A2B GURMUKHI LETTER PHA
+0A2C GURMUKHI LETTER BA
+0A2D GURMUKHI LETTER BHA
+0A2E GURMUKHI LETTER MA
+0A2F GURMUKHI LETTER YA
+0A30 GURMUKHI LETTER RA
+0A31 <reserved>
+0A32 GURMUKHI LETTER LA
+0A33 GURMUKHI LETTER LLA
+0A34 <reserved>
+0A35 GURMUKHI LETTER VA
+0A36 GURMUKHI LETTER SHA
+0A37 <reserved>
+0A38 GURMUKHI LETTER SA
+0A39 GURMUKHI LETTER HA
+@ Various signs
+0A3A <reserved>
+0A3B <reserved>
+0A3C GURMUKHI SIGN NUKTA
+ * for extending the alphabet to new letters
+0A3D <reserved>
+@ Dependent vowel signs
+0A3E GURMUKHI VOWEL SIGN AA
+0A3F GURMUKHI VOWEL SIGN I
+ * stands to the left of the consonant
+0A40 GURMUKHI VOWEL SIGN II
+0A41 GURMUKHI VOWEL SIGN U
+0A42 GURMUKHI VOWEL SIGN UU
+0A43 <reserved>
+0A44 <reserved>
+0A45 <reserved>
+0A46 <reserved>
+0A47 GURMUKHI VOWEL SIGN EE
+0A48 GURMUKHI VOWEL SIGN AI
+0A49 <reserved>
+0A4A <reserved>
+0A4B GURMUKHI VOWEL SIGN OO
+0A4C GURMUKHI VOWEL SIGN AU
+0A4D GURMUKHI SIGN VIRAMA
+0A4E <reserved>
+0A4F <reserved>
+0A50 <reserved>
+0A51 <reserved>
+0A52 <reserved>
+0A53 <reserved>
+0A54 <reserved>
+0A55 <reserved>
+0A56 <reserved>
+0A57 <reserved>
+@ Additional consonants
+0A58 <reserved>
+0A59 GURMUKHI LETTER KHHA
+ : 0A16 + 0A3C
+0A5A GURMUKHI LETTER GHHA
+ : 0A17 + 0A3C
+0A5B GURMUKHI LETTER ZA
+ : 0A1C + 0A3C
+0A5C GURMUKHI LETTER RRA
+ : 0A21 + 0A3C
+0A5D <reserved>
+0A5E GURMUKHI LETTER FA
+ : 0A2B + 0A3C
+0A5F <reserved>
+@ Generic additions
+0A60 <reserved>
+0A61 <reserved>
+0A62 <reserved>
+0A63 <reserved>
+0A64 <reserved>
+0A65 <reserved>
+0A66 GURMUKHI DIGIT ZERO
+0A67 GURMUKHI DIGIT ONE
+0A68 GURMUKHI DIGIT TWO
+0A69 GURMUKHI DIGIT THREE
+0A6A GURMUKHI DIGIT FOUR
+0A6B GURMUKHI DIGIT FIVE
+0A6C GURMUKHI DIGIT SIX
+0A6D GURMUKHI DIGIT SEVEN
+0A6E GURMUKHI DIGIT EIGHT
+0A6F GURMUKHI DIGIT NINE
+@ Gurmukhi-specific additions
+0A70 GURMUKHI TIPPI
+ * nasalization
+0A71 GURMUKHI ADDAK
+ * doubles following consonant
+0A72 GURMUKHI IRI
+ * base for vowels
+0A73 GURMUKHI URA
+ * base for vowels
+0A74 GURMUKHI EK ONKAR
+ * God is One
+@@ 0A80 Gujarati 0AFF
+@ Based on ISCII 1988
+@ Various signs
+0A80 <reserved>
+0A81 GUJARATI SIGN CANDRABINDU
+0A82 GUJARATI SIGN ANUSVARA
+0A83 GUJARATI SIGN VISARGA
+0A84 <reserved>
+@ Independent vowels
+0A85 GUJARATI LETTER A
+0A86 GUJARATI LETTER AA
+0A87 GUJARATI LETTER I
+0A88 GUJARATI LETTER II
+0A89 GUJARATI LETTER U
+0A8A GUJARATI LETTER UU
+0A8B GUJARATI LETTER VOCALIC R
+0A8C <reserved>
+0A8D GUJARATI VOWEL CANDRA E
+0A8E <reserved>
+0A8F GUJARATI LETTER E
+0A90 GUJARATI LETTER AI
+0A91 GUJARATI VOWEL CANDRA O
+0A92 <reserved>
+0A93 GUJARATI LETTER O
+0A94 GUJARATI LETTER AU
+@ Consonants
+0A95 GUJARATI LETTER KA
+0A96 GUJARATI LETTER KHA
+0A97 GUJARATI LETTER GA
+0A98 GUJARATI LETTER GHA
+0A99 GUJARATI LETTER NGA
+0A9A GUJARATI LETTER CA
+0A9B GUJARATI LETTER CHA
+0A9C GUJARATI LETTER JA
+0A9D GUJARATI LETTER JHA
+0A9E GUJARATI LETTER NYA
+0A9F GUJARATI LETTER TTA
+0AA0 GUJARATI LETTER TTHA
+0AA1 GUJARATI LETTER DDA
+0AA2 GUJARATI LETTER DDHA
+0AA3 GUJARATI LETTER NNA
+0AA4 GUJARATI LETTER TA
+0AA5 GUJARATI LETTER THA
+0AA6 GUJARATI LETTER DA
+0AA7 GUJARATI LETTER DHA
+0AA8 GUJARATI LETTER NA
+0AA9 <reserved>
+0AAA GUJARATI LETTER PA
+0AAB GUJARATI LETTER PHA
+0AAC GUJARATI LETTER BA
+0AAD GUJARATI LETTER BHA
+0AAE GUJARATI LETTER MA
+0AAF GUJARATI LETTER YA
+0AB0 GUJARATI LETTER RA
+0AB1 <reserved>
+0AB2 GUJARATI LETTER LA
+0AB3 GUJARATI LETTER LLA
+0AB4 <reserved>
+0AB5 GUJARATI LETTER VA
+0AB6 GUJARATI LETTER SHA
+0AB7 GUJARATI LETTER SSA
+0AB8 GUJARATI LETTER SA
+0AB9 GUJARATI LETTER HA
+@ Various signs
+0ABA <reserved>
+0ABB <reserved>
+0ABC GUJARATI SIGN NUKTA
+ * for extending the alphabet to new letters
+0ABD GUJARATI SIGN AVAGRAHA
+@ Dependent vowel signs
+0ABE GUJARATI VOWEL SIGN AA
+0ABF GUJARATI VOWEL SIGN I
+ * stands to the left of the consonant
+0AC0 GUJARATI VOWEL SIGN II
+0AC1 GUJARATI VOWEL SIGN U
+0AC2 GUJARATI VOWEL SIGN UU
+0AC3 GUJARATI VOWEL SIGN VOCALIC R
+0AC4 GUJARATI VOWEL SIGN VOCALIC RR
+0AC5 GUJARATI VOWEL SIGN CANDRA E
+0AC6 <reserved>
+0AC7 GUJARATI VOWEL SIGN E
+0AC8 GUJARATI VOWEL SIGN AI
+0AC9 GUJARATI VOWEL SIGN CANDRA O
+0ACA <reserved>
+0ACB GUJARATI VOWEL SIGN O
+0ACC GUJARATI VOWEL SIGN AU
+@ Various signs
+0ACD GUJARATI SIGN VIRAMA
+0ACE <reserved>
+0ACF <reserved>
+0AD0 GUJARATI OM
+0AD1 <reserved>
+0AD2 <reserved>
+0AD3 <reserved>
+0AD4 <reserved>
+0AD5 <reserved>
+0AD6 <reserved>
+0AD7 <reserved>
+0AD8 <reserved>
+0AD9 <reserved>
+0ADA <reserved>
+0ADB <reserved>
+0ADC <reserved>
+0ADD <reserved>
+0ADE <reserved>
+0ADF <reserved>
+@ Generic additions
+0AE0 GUJARATI LETTER VOCALIC RR
+0AE1 <reserved>
+0AE2 <reserved>
+0AE3 <reserved>
+0AE4 <reserved>
+0AE5 <reserved>
+0AE6 GUJARATI DIGIT ZERO
+0AE7 GUJARATI DIGIT ONE
+0AE8 GUJARATI DIGIT TWO
+0AE9 GUJARATI DIGIT THREE
+0AEA GUJARATI DIGIT FOUR
+0AEB GUJARATI DIGIT FIVE
+0AEC GUJARATI DIGIT SIX
+0AED GUJARATI DIGIT SEVEN
+0AEE GUJARATI DIGIT EIGHT
+0AEF GUJARATI DIGIT NINE
+@@ 0B00 Oriya 0B7F
+@ Based on ISCII 1988
+@ Various signs
+0B00 <reserved>
+0B01 ORIYA SIGN CANDRABINDU
+0B02 ORIYA SIGN ANUSVARA
+0B03 ORIYA SIGN VISARGA
+0B04 <reserved>
+@ Independent vowels
+0B05 ORIYA LETTER A
+0B06 ORIYA LETTER AA
+0B07 ORIYA LETTER I
+0B08 ORIYA LETTER II
+0B09 ORIYA LETTER U
+0B0A ORIYA LETTER UU
+0B0B ORIYA LETTER VOCALIC R
+0B0C ORIYA LETTER VOCALIC L
+0B0D <reserved>
+0B0E <reserved>
+0B0F ORIYA LETTER E
+0B10 ORIYA LETTER AI
+0B11 <reserved>
+0B12 <reserved>
+0B13 ORIYA LETTER O
+0B14 ORIYA LETTER AU
+@ Consonants
+0B15 ORIYA LETTER KA
+0B16 ORIYA LETTER KHA
+0B17 ORIYA LETTER GA
+0B18 ORIYA LETTER GHA
+0B19 ORIYA LETTER NGA
+0B1A ORIYA LETTER CA
+0B1B ORIYA LETTER CHA
+0B1C ORIYA LETTER JA
+0B1D ORIYA LETTER JHA
+0B1E ORIYA LETTER NYA
+0B1F ORIYA LETTER TTA
+0B20 ORIYA LETTER TTHA
+0B21 ORIYA LETTER DDA
+0B22 ORIYA LETTER DDHA
+0B23 ORIYA LETTER NNA
+0B24 ORIYA LETTER TA
+0B25 ORIYA LETTER THA
+0B26 ORIYA LETTER DA
+0B27 ORIYA LETTER DHA
+0B28 ORIYA LETTER NA
+0B29 <reserved>
+0B2A ORIYA LETTER PA
+0B2B ORIYA LETTER PHA
+0B2C ORIYA LETTER BA
+ = Oriya va, wa
+0B2D ORIYA LETTER BHA
+0B2E ORIYA LETTER MA
+0B2F ORIYA LETTER YA
+0B30 ORIYA LETTER RA
+0B31 <reserved>
+0B32 ORIYA LETTER LA
+0B33 ORIYA LETTER LLA
+0B34 <reserved>
+0B35 <reserved>
+ x (oriya letter ba - 0B2C)
+0B36 ORIYA LETTER SHA
+0B37 ORIYA LETTER SSA
+0B38 ORIYA LETTER SA
+0B39 ORIYA LETTER HA
+@ Various signs
+0B3A <reserved>
+0B3B <reserved>
+0B3C ORIYA SIGN NUKTA
+ * for extending the alphabet to new letters
+0B3D ORIYA SIGN AVAGRAHA
+@ Dependent vowel signs
+0B3E ORIYA VOWEL SIGN AA
+0B3F ORIYA VOWEL SIGN I
+0B40 ORIYA VOWEL SIGN II
+0B41 ORIYA VOWEL SIGN U
+0B42 ORIYA VOWEL SIGN UU
+0B43 ORIYA VOWEL SIGN VOCALIC R
+0B44 <reserved>
+0B45 <reserved>
+0B46 <reserved>
+0B47 ORIYA VOWEL SIGN E
+ * stands to the left of the consonant
+0B48 ORIYA VOWEL SIGN AI
+ * pieces left of and above the consonant
+ : 0B47 + 0B56
+0B49 <reserved>
+0B4A <reserved>
+0B4B ORIYA VOWEL SIGN O
+ * pieces on both sides of the consonant
+ : 0B47 + 0B3E
+0B4C ORIYA VOWEL SIGN AU
+ * pieces on both sides of the consonant
+ : 0B47 + 0B57
+@ Various signs
+0B4D ORIYA SIGN VIRAMA
+0B4E <reserved>
+0B4F <reserved>
+0B50 <reserved>
+0B51 <reserved>
+0B52 <reserved>
+0B53 <reserved>
+0B54 <reserved>
+0B55 <reserved>
+0B56 ORIYA AI LENGTH MARK
+0B57 ORIYA AU LENGTH MARK
+@ Additional consonants
+0B58 <reserved>
+0B59 <reserved>
+0B5A <reserved>
+0B5B <reserved>
+0B5C ORIYA LETTER RRA
+ : 0B21 + 0B3C
+0B5D ORIYA LETTER RHA
+ : 0B22 + 0B3C
+0B5E <reserved>
+0B5F ORIYA LETTER YYA
+ : 0B2F + 0B3C
+@ Generic additions
+0B60 ORIYA LETTER VOCALIC RR
+0B61 ORIYA LETTER VOCALIC LL
+0B62 <reserved>
+0B63 <reserved>
+0B64 <reserved>
+0B65 <reserved>
+0B66 ORIYA DIGIT ZERO
+0B67 ORIYA DIGIT ONE
+0B68 ORIYA DIGIT TWO
+0B69 ORIYA DIGIT THREE
+0B6A ORIYA DIGIT FOUR
+0B6B ORIYA DIGIT FIVE
+0B6C ORIYA DIGIT SIX
+0B6D ORIYA DIGIT SEVEN
+0B6E ORIYA DIGIT EIGHT
+0B6F ORIYA DIGIT NINE
+@ Oriya-specific addition
+0B70 ORIYA ISSHAR
+@@ 0B80 Tamil 0BFF
+@ Based on ISCII 1988
+@ Various signs
+0B80 <reserved>
+0B81 <reserved>
+0B82 TAMIL SIGN ANUSVARA
+0B83 TAMIL SIGN VISARGA
+0B84 <reserved>
+@ Independent vowels
+0B85 TAMIL LETTER A
+0B86 TAMIL LETTER AA
+0B87 TAMIL LETTER I
+0B88 TAMIL LETTER II
+0B89 TAMIL LETTER U
+0B8A TAMIL LETTER UU
+0B8B <reserved>
+0B8C <reserved>
+0B8D <reserved>
+0B8E TAMIL LETTER E
+0B8F TAMIL LETTER EE
+0B90 TAMIL LETTER AI
+0B91 <reserved>
+0B92 TAMIL LETTER O
+0B93 TAMIL LETTER OO
+0B94 TAMIL LETTER AU
+ : 0B92 + 0BD7
+@ Consonants
+0B95 TAMIL LETTER KA
+0B96 <reserved>
+0B97 <reserved>
+0B98 <reserved>
+0B99 TAMIL LETTER NGA
+0B9A TAMIL LETTER CA
+0B9B <reserved>
+0B9C TAMIL LETTER JA
+0B9D <reserved>
+0B9E TAMIL LETTER NYA
+0B9F TAMIL LETTER TTA
+0BA0 <reserved>
+0BA1 <reserved>
+0BA2 <reserved>
+0BA3 TAMIL LETTER NNA
+0BA4 TAMIL LETTER TA
+0BA5 <reserved>
+0BA6 <reserved>
+0BA7 <reserved>
+0BA8 TAMIL LETTER NA
+0BA9 TAMIL LETTER NNNA
+0BAA TAMIL LETTER PA
+0BAB <reserved>
+0BAC <reserved>
+0BAD <reserved>
+0BAE TAMIL LETTER MA
+0BAF TAMIL LETTER YA
+0BB0 TAMIL LETTER RA
+0BB1 TAMIL LETTER RRA
+0BB2 TAMIL LETTER LA
+0BB3 TAMIL LETTER LLA
+0BB4 TAMIL LETTER LLLA
+0BB5 TAMIL LETTER VA
+0BB6 <reserved>
+0BB7 TAMIL LETTER SSA
+0BB8 TAMIL LETTER SA
+0BB9 TAMIL LETTER HA
+0BBA <reserved>
+0BBB <reserved>
+0BBC <reserved>
+0BBD <reserved>
+@ Dependent vowel signs
+0BBE TAMIL VOWEL SIGN AA
+0BBF TAMIL VOWEL SIGN I
+0BC0 TAMIL VOWEL SIGN II
+0BC1 TAMIL VOWEL SIGN U
+0BC2 TAMIL VOWEL SIGN UU
+0BC3 <reserved>
+0BC4 <reserved>
+0BC5 <reserved>
+0BC6 TAMIL VOWEL SIGN E
+ * stands to the left of the consonant
+0BC7 TAMIL VOWEL SIGN EE
+ * stands to the left of the consonant
+0BC8 TAMIL VOWEL SIGN AI
+ * stands to the left of the consonant
+0BC9 <reserved>
+0BCA TAMIL VOWEL SIGN O
+ * pieces on both sides of the consonant
+ : 0BC6 + 0BBE
+0BCB TAMIL VOWEL SIGN OO
+ * pieces on both sides of the consonant
+ : 0BC7 + 0BBE
+0BCC TAMIL VOWEL SIGN AU
+ * pieces on both sides of the consonant
+ : 0BC6 + 0BD7
+@ Various signs
+0BCD TAMIL SIGN VIRAMA
+0BCE <reserved>
+0BCF <reserved>
+0BD0 <reserved>
+0BD1 <reserved>
+0BD2 <reserved>
+0BD3 <reserved>
+0BD4 <reserved>
+0BD5 <reserved>
+0BD6 <reserved>
+0BD7 TAMIL AU LENGTH MARK
+0BD8 <reserved>
+0BD9 <reserved>
+0BDA <reserved>
+0BDB <reserved>
+0BDC <reserved>
+0BDD <reserved>
+0BDE <reserved>
+0BDF <reserved>
+@ Generic additions
+0BE0 <reserved>
+0BE1 <reserved>
+0BE2 <reserved>
+0BE3 <reserved>
+0BE4 <reserved>
+0BE5 <reserved>
+0BE6 <reserved>
+ x (digit zero - 0030)
+0BE7 TAMIL DIGIT ONE
+0BE8 TAMIL DIGIT TWO
+0BE9 TAMIL DIGIT THREE
+0BEA TAMIL DIGIT FOUR
+0BEB TAMIL DIGIT FIVE
+0BEC TAMIL DIGIT SIX
+0BED TAMIL DIGIT SEVEN
+0BEE TAMIL DIGIT EIGHT
+0BEF TAMIL DIGIT NINE
+@ Tamil-specific additions
+0BF0 TAMIL NUMBER TEN
+0BF1 TAMIL NUMBER ONE HUNDRED
+0BF2 TAMIL NUMBER ONE THOUSAND
+@@ 0C00 Telugu 0C7F
+@ Based on ISCII 1988
+@ Various signs
+0C00 <reserved>
+0C01 TELUGU SIGN CANDRABINDU
+0C02 TELUGU SIGN ANUSVARA
+0C03 TELUGU SIGN VISARGA
+0C04 <reserved>
+@ Independent vowels
+0C05 TELUGU LETTER A
+0C06 TELUGU LETTER AA
+0C07 TELUGU LETTER I
+0C08 TELUGU LETTER II
+0C09 TELUGU LETTER U
+0C0A TELUGU LETTER UU
+0C0B TELUGU LETTER VOCALIC R
+0C0C TELUGU LETTER VOCALIC L
+0C0D <reserved>
+0C0E TELUGU LETTER E
+0C0F TELUGU LETTER EE
+0C10 TELUGU LETTER AI
+0C11 <reserved>
+0C12 TELUGU LETTER O
+0C13 TELUGU LETTER OO
+0C14 TELUGU LETTER AU
+@ Consonants
+0C15 TELUGU LETTER KA
+0C16 TELUGU LETTER KHA
+0C17 TELUGU LETTER GA
+0C18 TELUGU LETTER GHA
+0C19 TELUGU LETTER NGA
+0C1A TELUGU LETTER CA
+0C1B TELUGU LETTER CHA
+0C1C TELUGU LETTER JA
+0C1D TELUGU LETTER JHA
+0C1E TELUGU LETTER NYA
+0C1F TELUGU LETTER TTA
+0C20 TELUGU LETTER TTHA
+0C21 TELUGU LETTER DDA
+0C22 TELUGU LETTER DDHA
+0C23 TELUGU LETTER NNA
+0C24 TELUGU LETTER TA
+0C25 TELUGU LETTER THA
+0C26 TELUGU LETTER DA
+0C27 TELUGU LETTER DHA
+0C28 TELUGU LETTER NA
+0C29 <reserved>
+0C2A TELUGU LETTER PA
+0C2B TELUGU LETTER PHA
+0C2C TELUGU LETTER BA
+0C2D TELUGU LETTER BHA
+0C2E TELUGU LETTER MA
+0C2F TELUGU LETTER YA
+0C30 TELUGU LETTER RA
+0C31 TELUGU LETTER RRA
+0C32 TELUGU LETTER LA
+0C33 TELUGU LETTER LLA
+0C34 <reserved>
+0C35 TELUGU LETTER VA
+0C36 TELUGU LETTER SHA
+0C37 TELUGU LETTER SSA
+0C38 TELUGU LETTER SA
+0C39 TELUGU LETTER HA
+0C3A <reserved>
+0C3B <reserved>
+0C3C <reserved>
+0C3D <reserved>
+@ Dependent vowel signs
+0C3E TELUGU VOWEL SIGN AA
+0C3F TELUGU VOWEL SIGN I
+0C40 TELUGU VOWEL SIGN II
+0C41 TELUGU VOWEL SIGN U
+0C42 TELUGU VOWEL SIGN UU
+0C43 TELUGU VOWEL SIGN VOCALIC R
+0C44 TELUGU VOWEL SIGN VOCALIC RR
+0C45 <reserved>
+0C46 TELUGU VOWEL SIGN E
+0C47 TELUGU VOWEL SIGN EE
+0C48 TELUGU VOWEL SIGN AI
+ : 0C46 + 0C56
+0C49 <reserved>
+0C4A TELUGU VOWEL SIGN O
+0C4B TELUGU VOWEL SIGN OO
+0C4C TELUGU VOWEL SIGN AU
+@ Various signs
+0C4D TELUGU SIGN VIRAMA
+0C4E <reserved>
+0C4F <reserved>
+0C50 <reserved>
+0C51 <reserved>
+0C52 <reserved>
+0C53 <reserved>
+0C54 <reserved>
+0C55 TELUGU LENGTH MARK
+0C56 TELUGU AI LENGTH MARK
+0C57 <reserved>
+0C58 <reserved>
+0C59 <reserved>
+0C5A <reserved>
+0C5B <reserved>
+0C5C <reserved>
+0C5D <reserved>
+0C5E <reserved>
+0C5F <reserved>
+@ Generic additions
+0C60 TELUGU LETTER VOCALIC RR
+0C61 TELUGU LETTER VOCALIC LL
+0C62 <reserved>
+0C63 <reserved>
+0C64 <reserved>
+0C65 <reserved>
+0C66 TELUGU DIGIT ZERO
+0C67 TELUGU DIGIT ONE
+0C68 TELUGU DIGIT TWO
+0C69 TELUGU DIGIT THREE
+0C6A TELUGU DIGIT FOUR
+0C6B TELUGU DIGIT FIVE
+0C6C TELUGU DIGIT SIX
+0C6D TELUGU DIGIT SEVEN
+0C6E TELUGU DIGIT EIGHT
+0C6F TELUGU DIGIT NINE
+@@ 0C80 Kannada 0CFF
+@ Based on ISCII 1988
+@ Various signs
+0C80 <reserved>
+0C81 <reserved>
+0C82 KANNADA SIGN ANUSVARA
+0C83 KANNADA SIGN VISARGA
+0C84 <reserved>
+@ Independent vowels
+0C85 KANNADA LETTER A
+0C86 KANNADA LETTER AA
+0C87 KANNADA LETTER I
+0C88 KANNADA LETTER II
+0C89 KANNADA LETTER U
+0C8A KANNADA LETTER UU
+0C8B KANNADA LETTER VOCALIC R
+0C8C KANNADA LETTER VOCALIC L
+0C8D <reserved>
+0C8E KANNADA LETTER E
+0C8F KANNADA LETTER EE
+0C90 KANNADA LETTER AI
+0C91 <reserved>
+0C92 KANNADA LETTER O
+0C93 KANNADA LETTER OO
+0C94 KANNADA LETTER AU
+@ Consonants
+0C95 KANNADA LETTER KA
+0C96 KANNADA LETTER KHA
+0C97 KANNADA LETTER GA
+0C98 KANNADA LETTER GHA
+0C99 KANNADA LETTER NGA
+0C9A KANNADA LETTER CA
+0C9B KANNADA LETTER CHA
+0C9C KANNADA LETTER JA
+0C9D KANNADA LETTER JHA
+0C9E KANNADA LETTER NYA
+0C9F KANNADA LETTER TTA
+0CA0 KANNADA LETTER TTHA
+0CA1 KANNADA LETTER DDA
+0CA2 KANNADA LETTER DDHA
+0CA3 KANNADA LETTER NNA
+0CA4 KANNADA LETTER TA
+0CA5 KANNADA LETTER THA
+0CA6 KANNADA LETTER DA
+0CA7 KANNADA LETTER DHA
+0CA8 KANNADA LETTER NA
+0CA9 <reserved>
+0CAA KANNADA LETTER PA
+0CAB KANNADA LETTER PHA
+0CAC KANNADA LETTER BA
+0CAD KANNADA LETTER BHA
+0CAE KANNADA LETTER MA
+0CAF KANNADA LETTER YA
+0CB0 KANNADA LETTER RA
+0CB1 KANNADA LETTER RRA
+0CB2 KANNADA LETTER LA
+0CB3 KANNADA LETTER LLA
+0CB4 <reserved>
+0CB5 KANNADA LETTER VA
+0CB6 KANNADA LETTER SHA
+0CB7 KANNADA LETTER SSA
+0CB8 KANNADA LETTER SA
+0CB9 KANNADA LETTER HA
+0CBA <reserved>
+0CBB <reserved>
+0CBC <reserved>
+0CBD <reserved>
+@ Dependent vowel signs
+0CBE KANNADA VOWEL SIGN AA
+0CBF KANNADA VOWEL SIGN I
+0CC0 KANNADA VOWEL SIGN II
+ : 0CBF + 0CD5
+0CC1 KANNADA VOWEL SIGN U
+0CC2 KANNADA VOWEL SIGN UU
+0CC3 KANNADA VOWEL SIGN VOCALIC R
+0CC4 KANNADA VOWEL SIGN VOCALIC RR
+0CC5 <reserved>
+0CC6 KANNADA VOWEL SIGN E
+0CC7 KANNADA VOWEL SIGN EE
+ : 0CC6 + 0CD5
+0CC8 KANNADA VOWEL SIGN AI
+ : 0CC6 + 0CD6
+0CC9 <reserved>
+0CCA KANNADA VOWEL SIGN O
+ : 0CC6 + 0CC2
+0CCB KANNADA VOWEL SIGN OO
+ : 0CC6 + 0CC2 + 0CD5
+0CCC KANNADA VOWEL SIGN AU
+@ Various signs
+0CCD KANNADA SIGN VIRAMA
+0CCE <reserved>
+0CCF <reserved>
+0CD0 <reserved>
+0CD1 <reserved>
+0CD2 <reserved>
+0CD3 <reserved>
+0CD4 <reserved>
+0CD5 KANNADA LENGTH MARK
+0CD6 KANNADA AI LENGTH MARK
+0CD7 <reserved>
+@ Additional consonants
+0CD8 <reserved>
+0CD9 <reserved>
+0CDA <reserved>
+0CDB <reserved>
+0CDC <reserved>
+0CDD <reserved>
+0CDE KANNADA LETTER FA
+0CDF <reserved>
+@ Generic additions
+0CE0 KANNADA LETTER VOCALIC RR
+0CE1 KANNADA LETTER VOCALIC LL
+0CE2 <reserved>
+0CE3 <reserved>
+0CE4 <reserved>
+0CE5 <reserved>
+0CE6 KANNADA DIGIT ZERO
+0CE7 KANNADA DIGIT ONE
+0CE8 KANNADA DIGIT TWO
+0CE9 KANNADA DIGIT THREE
+0CEA KANNADA DIGIT FOUR
+0CEB KANNADA DIGIT FIVE
+0CEC KANNADA DIGIT SIX
+0CED KANNADA DIGIT SEVEN
+0CEE KANNADA DIGIT EIGHT
+0CEF KANNADA DIGIT NINE
+@@ 0D00 Malayalam 0D7F
+@ Based on ISCII 1988
+@ Various signs
+0D00 <reserved>
+0D01 <reserved>
+0D02 MALAYALAM SIGN ANUSVARA
+0D03 MALAYALAM SIGN VISARGA
+0D04 <reserved>
+@ Independent vowels
+0D05 MALAYALAM LETTER A
+0D06 MALAYALAM LETTER AA
+0D07 MALAYALAM LETTER I
+0D08 MALAYALAM LETTER II
+0D09 MALAYALAM LETTER U
+0D0A MALAYALAM LETTER UU
+0D0B MALAYALAM LETTER VOCALIC R
+0D0C MALAYALAM LETTER VOCALIC L
+0D0D <reserved>
+0D0E MALAYALAM LETTER E
+0D0F MALAYALAM LETTER EE
+0D10 MALAYALAM LETTER AI
+0D11 <reserved>
+0D12 MALAYALAM LETTER O
+0D13 MALAYALAM LETTER OO
+0D14 MALAYALAM LETTER AU
+@ Consonants
+0D15 MALAYALAM LETTER KA
+0D16 MALAYALAM LETTER KHA
+0D17 MALAYALAM LETTER GA
+0D18 MALAYALAM LETTER GHA
+0D19 MALAYALAM LETTER NGA
+0D1A MALAYALAM LETTER CA
+0D1B MALAYALAM LETTER CHA
+0D1C MALAYALAM LETTER JA
+0D1D MALAYALAM LETTER JHA
+0D1E MALAYALAM LETTER NYA
+0D1F MALAYALAM LETTER TTA
+0D20 MALAYALAM LETTER TTHA
+0D21 MALAYALAM LETTER DDA
+0D22 MALAYALAM LETTER DDHA
+0D23 MALAYALAM LETTER NNA
+0D24 MALAYALAM LETTER TA
+0D25 MALAYALAM LETTER THA
+0D26 MALAYALAM LETTER DA
+0D27 MALAYALAM LETTER DHA
+0D28 MALAYALAM LETTER NA
+0D29 <reserved>
+0D2A MALAYALAM LETTER PA
+0D2B MALAYALAM LETTER PHA
+0D2C MALAYALAM LETTER BA
+0D2D MALAYALAM LETTER BHA
+0D2E MALAYALAM LETTER MA
+0D2F MALAYALAM LETTER YA
+0D30 MALAYALAM LETTER RA
+0D31 MALAYALAM LETTER RRA
+0D32 MALAYALAM LETTER LA
+0D33 MALAYALAM LETTER LLA
+0D34 MALAYALAM LETTER LLLA
+0D35 MALAYALAM LETTER VA
+0D36 MALAYALAM LETTER SHA
+0D37 MALAYALAM LETTER SSA
+0D38 MALAYALAM LETTER SA
+0D39 MALAYALAM LETTER HA
+0D3A <reserved>
+0D3B <reserved>
+0D3C <reserved>
+0D3D <reserved>
+@ Dependent vowel signs
+0D3E MALAYALAM VOWEL SIGN AA
+0D3F MALAYALAM VOWEL SIGN I
+0D40 MALAYALAM VOWEL SIGN II
+0D41 MALAYALAM VOWEL SIGN U
+0D42 MALAYALAM VOWEL SIGN UU
+0D43 MALAYALAM VOWEL SIGN VOCALIC R
+0D44 <reserved>
+0D45 <reserved>
+0D46 MALAYALAM VOWEL SIGN E
+ * stands to the left of the consonant
+0D47 MALAYALAM VOWEL SIGN EE
+ * stands to the left of the consonant
+0D48 MALAYALAM VOWEL SIGN AI
+ * stands to the left of the consonant
+0D49 <reserved>
+0D4A MALAYALAM VOWEL SIGN O
+ * pieces on both sides of the consonant
+ : 0D46 + 0D3E
+0D4B MALAYALAM VOWEL SIGN OO
+ * pieces on both sides of the consonant
+ : 0D47 + 0D3E
+0D4C MALAYALAM VOWEL SIGN AU
+ * pieces on both sides of the consonant
+ : 0D46 + 0D57
+@ Various signs
+0D4D MALAYALAM SIGN VIRAMA
+ = vowel half-u
+0D4E <reserved>
+0D4F <reserved>
+0D50 <reserved>
+0D51 <reserved>
+0D52 <reserved>
+0D53 <reserved>
+0D54 <reserved>
+0D55 <reserved>
+0D56 <reserved>
+0D57 MALAYALAM AU LENGTH MARK
+0D58 <reserved>
+0D59 <reserved>
+0D5A <reserved>
+0D5B <reserved>
+0D5C <reserved>
+0D5D <reserved>
+0D5E <reserved>
+0D5F <reserved>
+@ Generic additions
+0D60 MALAYALAM LETTER VOCALIC RR
+0D61 MALAYALAM LETTER VOCALIC LL
+0D62 <reserved>
+0D63 <reserved>
+0D64 <reserved>
+0D65 <reserved>
+0D66 MALAYALAM DIGIT ZERO
+0D67 MALAYALAM DIGIT ONE
+0D68 MALAYALAM DIGIT TWO
+0D69 MALAYALAM DIGIT THREE
+0D6A MALAYALAM DIGIT FOUR
+0D6B MALAYALAM DIGIT FIVE
+0D6C MALAYALAM DIGIT SIX
+0D6D MALAYALAM DIGIT SEVEN
+0D6E MALAYALAM DIGIT EIGHT
+0D6F MALAYALAM DIGIT NINE
+@@ 0D80 Unassigned 0DFF
+@@ 0E00 Thai 0E7F
+@ Based on TIS 620-2529
+@ Consonants
+0E00 <reserved>
+0E01 THAI CHARACTER KO KAI
+0E02 THAI CHARACTER KHO KHAI
+0E03 THAI CHARACTER KHO KHUAT
+0E04 THAI CHARACTER KHO KHWAI
+0E05 THAI CHARACTER KHO KHON
+0E06 THAI CHARACTER KHO RAKHANG
+0E07 THAI CHARACTER NGO NGU
+0E08 THAI CHARACTER CHO CHAN
+0E09 THAI CHARACTER CHO CHING
+0E0A THAI CHARACTER CHO CHANG
+0E0B THAI CHARACTER SO SO
+0E0C THAI CHARACTER CHO CHOE
+0E0D THAI CHARACTER YO YING
+0E0E THAI CHARACTER DO CHADA
+0E0F THAI CHARACTER TO PATAK
+0E10 THAI CHARACTER THO THAN
+0E11 THAI CHARACTER THO NANGMONTHO
+0E12 THAI CHARACTER THO PHUTHAO
+0E13 THAI CHARACTER NO NEN
+0E14 THAI CHARACTER DO DEK
+0E15 THAI CHARACTER TO TAO
+0E16 THAI CHARACTER THO THUNG
+0E17 THAI CHARACTER THO THAHAN
+0E18 THAI CHARACTER THO THONG
+0E19 THAI CHARACTER NO NU
+0E1A THAI CHARACTER BO BAIMAI
+0E1B THAI CHARACTER PO PLA
+0E1C THAI CHARACTER PHO PHUNG
+0E1D THAI CHARACTER FO FA
+0E1E THAI CHARACTER PHO PHAN
+0E1F THAI CHARACTER FO FAN
+0E20 THAI CHARACTER PHO SAMPHAO
+0E21 THAI CHARACTER MO MA
+0E22 THAI CHARACTER YO YAK
+0E23 THAI CHARACTER RO RUA
+0E24 THAI CHARACTER RU
+ * independent vowel letter used to write Pali
+0E25 THAI CHARACTER LO LING
+0E26 THAI CHARACTER LU
+ * independent vowel letter used to write Pali
+0E27 THAI CHARACTER WO WAEN
+0E28 THAI CHARACTER SO SALA
+0E29 THAI CHARACTER SO RUSI
+0E2A THAI CHARACTER SO SUA
+0E2B THAI CHARACTER HO HIP
+0E2C THAI CHARACTER LO CHULA
+0E2D THAI CHARACTER O ANG
+0E2E THAI CHARACTER HO NOKHUK
+@ Sign
+0E2F THAI CHARACTER PAIYANNOI
+ * ellipsis, abbreviation
+@ Vowels
+0E30 THAI CHARACTER SARA A
+0E31 THAI CHARACTER MAI HAN-AKAT
+0E32 THAI CHARACTER SARA AA
+0E33 THAI CHARACTER SARA AM
+ : 0E4D + 0E32
+0E34 THAI CHARACTER SARA I
+0E35 THAI CHARACTER SARA II
+0E36 THAI CHARACTER SARA UE
+0E37 THAI CHARACTER SARA UEE
+0E38 THAI CHARACTER SARA U
+0E39 THAI CHARACTER SARA UU
+0E3A THAI CHARACTER PHINTHU
+ * Pali virama
+0E3B <reserved>
+0E3C <reserved>
+0E3D <reserved>
+0E3E <reserved>
+@ Currency symbol
+0E3F THAI CURRENCY SYMBOL BAHT
+@ Vowels
+0E40 THAI CHARACTER SARA E
+0E41 THAI CHARACTER SARA AE
+0E42 THAI CHARACTER SARA O
+0E43 THAI CHARACTER SARA AI MAIMUAN
+0E44 THAI CHARACTER SARA AI MAIMALAI
+@ Signs
+0E45 THAI CHARACTER LAKKHANGYAO
+0E46 THAI CHARACTER MAIYAMOK
+ * repetition
+@ Vowel
+0E47 THAI CHARACTER MAITAIKHU
+@ Tone marks
+0E48 THAI CHARACTER MAI EK
+0E49 THAI CHARACTER MAI THO
+0E4A THAI CHARACTER MAI TRI
+0E4B THAI CHARACTER MAI CHATTAWA
+@ Signs
+0E4C THAI CHARACTER THANTHAKHAT
+ * cancellation mark
+0E4D THAI CHARACTER NIKHAHIT
+ * final nasal
+0E4E THAI CHARACTER YAMAKKAN
+0E4F THAI CHARACTER FONGMAN
+@ Digits
+0E50 THAI DIGIT ZERO
+0E51 THAI DIGIT ONE
+0E52 THAI DIGIT TWO
+0E53 THAI DIGIT THREE
+0E54 THAI DIGIT FOUR
+0E55 THAI DIGIT FIVE
+0E56 THAI DIGIT SIX
+0E57 THAI DIGIT SEVEN
+0E58 THAI DIGIT EIGHT
+0E59 THAI DIGIT NINE
+@ Signs
+0E5A THAI CHARACTER ANGKHANKHU
+0E5B THAI CHARACTER KHOMUT
+@@ 0E80 Lao 0EFF
+@ Based on TIS 620-2529
+@ Consonants
+0E80 <reserved>
+0E81 LAO LETTER KO
+0E82 LAO LETTER KHO SUNG
+0E83 <reserved>
+0E84 LAO LETTER KHO TAM
+0E85 <reserved>
+0E86 <reserved>
+0E87 LAO LETTER NGO
+0E88 LAO LETTER CO
+0E89 <reserved>
+0E8A LAO LETTER SO TAM
+0E8B <reserved>
+0E8C <reserved>
+0E8D LAO LETTER NYO
+0E8E <reserved>
+0E8F <reserved>
+0E90 <reserved>
+0E91 <reserved>
+0E92 <reserved>
+0E93 <reserved>
+0E94 LAO LETTER DO
+0E95 LAO LETTER TO
+0E96 LAO LETTER THO SUNG
+0E97 LAO LETTER THO TAM
+0E98 <reserved>
+0E99 LAO LETTER NO
+0E9A LAO LETTER BO
+0E9B LAO LETTER PO
+0E9C LAO LETTER PHO SUNG
+0E9D LAO LETTER FO TAM
+0E9E LAO LETTER PHO TAM
+0E9F LAO LETTER FO SUNG
+0EA0 <reserved>
+0EA1 LAO LETTER MO
+0EA2 LAO LETTER YO
+0EA3 LAO LETTER LO LING
+0EA4 <reserved>
+0EA5 LAO LETTER LO LOOT
+0EA6 <reserved>
+0EA7 LAO LETTER WO
+0EA8 <reserved>
+0EA9 <reserved>
+0EAA LAO LETTER SO SUNG
+0EAB LAO LETTER HO SUNG
+0EAC <reserved>
+0EAD LAO LETTER O
+0EAE LAO LETTER HO TAM
+@ Sign
+0EAF LAO ELLIPSIS
+@ Vowels
+0EB0 LAO VOWEL SIGN A
+0EB1 LAO VOWEL SIGN MAI KAN
+ * vowel shortener
+0EB2 LAO VOWEL SIGN AA
+0EB3 LAO VOWEL SIGN AM
+ : 0ECD + 0EB2
+0EB4 LAO VOWEL SIGN I
+0EB5 LAO VOWEL SIGN II
+0EB6 LAO VOWEL SIGN Y
+0EB7 LAO VOWEL SIGN YY
+0EB8 LAO VOWEL SIGN U
+0EB9 LAO VOWEL SIGN UU
+0EBA <reserved>
+@ Vowel
+0EBB LAO VOWEL SIGN MAI KON
+@ Signs
+0EBC LAO SEMIVOWEL SIGN LO
+0EBD LAO SEMIVOWEL SIGN NYO
+0EBE <reserved>
+0EBF <reserved>
+@ Vowels
+0EC0 LAO VOWEL SIGN E
+0EC1 LAO VOWEL SIGN EI
+0EC2 LAO VOWEL SIGN O
+0EC3 LAO VOWEL SIGN AY
+0EC4 LAO VOWEL SIGN AI
+0EC5 <reserved>
+@ Sign
+0EC6 LAO KO LA
+ * repetition
+0EC7 <reserved>
+@ Tone marks
+0EC8 LAO TONE MAI EK
+0EC9 LAO TONE MAI THO
+0ECA LAO TONE MAI TI
+0ECB LAO TONE MAI CATAWA
+@ Signs
+0ECC LAO CANCELLATION MARK
+0ECD LAO NIGGAHITA
+ * final nasal
+0ECE <reserved>
+0ECF <reserved>
+@ Digits
+0ED0 LAO DIGIT ZERO
+0ED1 LAO DIGIT ONE
+0ED2 LAO DIGIT TWO
+0ED3 LAO DIGIT THREE
+0ED4 LAO DIGIT FOUR
+0ED5 LAO DIGIT FIVE
+0ED6 LAO DIGIT SIX
+0ED7 LAO DIGIT SEVEN
+0ED8 LAO DIGIT EIGHT
+0ED9 LAO DIGIT NINE
+0EDA <reserved>
+0EDB <reserved>
+@ Digraphs
+0EDC LAO HO NO
+ # 0EAB + 0E99
+0EDD LAO HO MO
+ # 0EAB + 0EA1
+@@ 0F00 Tibetan 0FBF
+@ Syllables
+0F00 TIBETAN SYLLABLE OM
+0F01 TIBETAN MARK GTER YIG MGO TRUNCATED A
+ = ter yik go a thung
+0F02 TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA
+ = ter yik go wum nam chey ma
+0F03 TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
+ = ter yik go wum ter tsek ma
+@ Marks and signs
+0F04 TIBETAN MARK INITIAL YIG MGO MDUN MA
+ = yik go dun ma
+0F05 TIBETAN MARK CLOSING YIG MGO SGAB MA
+ = yik go kab ma
+0F06 TIBETAN MARK CARET YIG MGO PHUR SHAD MA
+ = yik go pur shey ma
+0F07 TIBETAN MARK YIG MGO TSHEG SHAD MA
+ = yik go tsek shey ma
+0F08 TIBETAN MARK SBRUL SHAD
+ = drul shey
+0F09 TIBETAN MARK BSKUR YIG MGO
+ = kur yik go
+0F0A TIBETAN MARK BKA- SHOG YIG MGO
+ = ka sho yik go
+0F0B TIBETAN MARK INTERSYLLABIC TSHEG
+ = tsek
+0F0C TIBETAN MARK DELIMITER TSHEG BSTAR
+ = tsek tar
+0F0D TIBETAN MARK SHAD
+ = shey
+0F0E TIBETAN MARK NYIS SHAD
+ = nyi shey
+0F0F TIBETAN MARK TSHEG SHAD
+ = tsek shey
+0F10 TIBETAN MARK NYIS TSHEG SHAD
+ = nyi tsek shey
+0F11 TIBETAN MARK RIN CHEN SPUNGS SHAD
+ = rinchen pung shey
+0F12 TIBETAN MARK RGYA GRAM SHAD
+ = gya tram shey
+0F13 TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN
+ = dzu ta me long chen
+0F14 TIBETAN MARK GTER TSHEG
+ = ter tsek
+0F15 TIBETAN LOGOTYPE SIGN CHAD RTAGS
+ = che ta
+0F16 TIBETAN LOGOTYPE SIGN LHAG RTAGS
+ = hlak ta
+0F17 TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
+ = trachen char ta
+0F18 TIBETAN ASTROLOGICAL SIGN -KHYUD PA
+ = kyu pa
+0F19 TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
+ = dong tsu
+0F1A TIBETAN SIGN RDEL DKAR GCIG
+ = deka chig
+0F1B TIBETAN SIGN RDEL DKAR GNYIS
+ = deka nyi
+0F1C TIBETAN SIGN RDEL DKAR GSUM
+ = deka sum
+0F1D TIBETAN SIGN RDEL NAG GCIG
+ = dena chig
+0F1E TIBETAN SIGN RDEL NAG GNYIS
+ = dena nyi
+0F1F TIBETAN SIGN RDEL DKAR RDEL NAG
+ = deka dena
+@ Digits
+0F20 TIBETAN DIGIT ZERO
+0F21 TIBETAN DIGIT ONE
+0F22 TIBETAN DIGIT TWO
+0F23 TIBETAN DIGIT THREE
+0F24 TIBETAN DIGIT FOUR
+0F25 TIBETAN DIGIT FIVE
+0F26 TIBETAN DIGIT SIX
+0F27 TIBETAN DIGIT SEVEN
+0F28 TIBETAN DIGIT EIGHT
+0F29 TIBETAN DIGIT NINE
+0F2A TIBETAN DIGIT HALF ONE
+0F2B TIBETAN DIGIT HALF TWO
+0F2C TIBETAN DIGIT HALF THREE
+0F2D TIBETAN DIGIT HALF FOUR
+0F2E TIBETAN DIGIT HALF FIVE
+0F2F TIBETAN DIGIT HALF SIX
+0F30 TIBETAN DIGIT HALF SEVEN
+0F31 TIBETAN DIGIT HALF EIGHT
+0F32 TIBETAN DIGIT HALF NINE
+0F33 TIBETAN DIGIT HALF ZERO
+@ Marks and signs
+0F34 TIBETAN MARK BSDUS RTAGS
+ = du ta
+0F35 TIBETAN MARK NGAS BZUNG NYI ZLA
+ = nge zung nyi da
+0F36 TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
+ = dzu ta shi mig chen
+0F37 TIBETAN MARK NGAS BZUNG SGOR RTAGS
+ = nge zung gor ta
+0F38 TIBETAN MARK CHE MGO
+ = che go
+0F39 TIBETAN MARK TSA -PHRU
+ = tsa tru
+0F3A TIBETAN MARK GUG RTAGS GYON
+ = gug ta yun
+0F3B TIBETAN MARK GUG RTAGS GYAS
+ = gug ta ye
+0F3C TIBETAN MARK ANG KHANG GYON
+ = ang kang yun
+0F3D TIBETAN MARK ANG KHANG GYAS
+ = ang kang ye
+0F3E TIBETAN SIGN YAR TSHES
+ = yar tse
+0F3F TIBETAN SIGN MAR TSHES
+ = mar tse
+@ Consonants
+0F40 TIBETAN LETTER KA
+0F41 TIBETAN LETTER KHA
+0F42 TIBETAN LETTER GA
+0F43 TIBETAN LETTER GHA
+ : 0F42 + 0FB7
+0F44 TIBETAN LETTER NGA
+0F45 TIBETAN LETTER CA
+0F46 TIBETAN LETTER CHA
+0F47 TIBETAN LETTER JA
+0F48 <reserved>
+0F49 TIBETAN LETTER NYA
+0F4A TIBETAN LETTER TTA
+0F4B TIBETAN LETTER TTHA
+0F4C TIBETAN LETTER DDA
+0F4D TIBETAN LETTER DDHA
+ : 0F4C + 0FB7
+0F4E TIBETAN LETTER NNA
+0F4F TIBETAN LETTER TA
+0F50 TIBETAN LETTER THA
+0F51 TIBETAN LETTER DA
+0F52 TIBETAN LETTER DHA
+ : 0F51 + 0FB7
+0F53 TIBETAN LETTER NA
+0F54 TIBETAN LETTER PA
+0F55 TIBETAN LETTER PHA
+0F56 TIBETAN LETTER BA
+0F57 TIBETAN LETTER BHA
+ : 0F56 + 0FB7
+0F58 TIBETAN LETTER MA
+0F59 TIBETAN LETTER TSA
+0F5A TIBETAN LETTER TSHA
+0F5B TIBETAN LETTER DZA
+0F5C TIBETAN LETTER DZHA
+ : 0F5B + 0FB7
+0F5D TIBETAN LETTER WA
+0F5E TIBETAN LETTER ZHA
+0F5F TIBETAN LETTER ZA
+0F60 TIBETAN LETTER -A
+0F61 TIBETAN LETTER YA
+0F62 TIBETAN LETTER RA
+0F63 TIBETAN LETTER LA
+0F64 TIBETAN LETTER SHA
+0F65 TIBETAN LETTER SSA
+0F66 TIBETAN LETTER SA
+0F67 TIBETAN LETTER HA
+0F68 TIBETAN LETTER A
+0F69 TIBETAN LETTER KSSA
+ : 0F40 + 0FB5
+0F6A <reserved>
+0F6B <reserved>
+0F6C <reserved>
+0F6D <reserved>
+0F6E <reserved>
+0F6F <reserved>
+@ Dependent vowel signs
+0F70 <reserved>
+0F71 TIBETAN VOWEL SIGN AA
+0F72 TIBETAN VOWEL SIGN I
+0F73 TIBETAN VOWEL SIGN II
+ : 0F71 + 0F72
+0F74 TIBETAN VOWEL SIGN U
+0F75 TIBETAN VOWEL SIGN UU
+ : 0F74 + 0F71
+0F76 TIBETAN VOWEL SIGN VOCALIC R
+ : 0FB2 + 0F80
+0F77 TIBETAN VOWEL SIGN VOCALIC RR
+ : 0F76 + 0F71
+0F78 TIBETAN VOWEL SIGN VOCALIC L
+ : 0FB3 + 0F80
+0F79 TIBETAN VOWEL SIGN VOCALIC LL
+ : 0F78 + 0F71
+0F7A TIBETAN VOWEL SIGN E
+0F7B TIBETAN VOWEL SIGN EE
+0F7C TIBETAN VOWEL SIGN O
+0F7D TIBETAN VOWEL SIGN OO
+@ Various
+0F7E TIBETAN SIGN RJES SU NGA RO
+ = je su nga ro
+ = anusvara
+0F7F TIBETAN SIGN RNAM BCAD
+ = nam chey
+ = visarga
+0F80 TIBETAN VOWEL SIGN REVERSED I
+0F81 TIBETAN VOWEL SIGN REVERSED II
+ : 0F80 + 0F71
+@ Marks and signs
+0F82 TIBETAN SIGN NYI ZLA NAA DA
+ = nyi da na da
+0F83 TIBETAN SIGN SNA LDAN
+ = nan de
+0F84 TIBETAN MARK HALANTA
+0F85 TIBETAN MARK PALUTA
+0F86 TIBETAN SIGN LCI RTAGS
+ = ji ta
+0F87 TIBETAN SIGN YANG RTAGS
+ = yang ta
+0F88 TIBETAN SIGN LCE TSA CAN
+ = che tsa chen
+0F89 TIBETAN SIGN MCHU CAN
+ = chu chen
+0F8A TIBETAN SIGN GRU CAN RGYINGS
+ = tru chen ging
+0F8B TIBETAN SIGN GRU MED RGYINGS
+ = tru me ging
+0F8C <reserved>
+0F8D <reserved>
+0F8E <reserved>
+0F8F <reserved>
+@ Subjoined consonants
+0F90 TIBETAN SUBJOINED LETTER KA
+0F91 TIBETAN SUBJOINED LETTER KHA
+0F92 TIBETAN SUBJOINED LETTER GA
+0F93 TIBETAN SUBJOINED LETTER GHA
+ : 0F92 + 0FB7
+0F94 TIBETAN SUBJOINED LETTER NGA
+0F95 TIBETAN SUBJOINED LETTER CA
+0F96 <reserved>
+0F97 TIBETAN SUBJOINED LETTER JA
+0F98 <reserved>
+0F99 TIBETAN SUBJOINED LETTER NYA
+0F9A TIBETAN SUBJOINED LETTER TTA
+0F9B TIBETAN SUBJOINED LETTER TTHA
+0F9C TIBETAN SUBJOINED LETTER DDA
+0F9D TIBETAN SUBJOINED LETTER DDHA
+ : 0F9C + 0FB7
+0F9E TIBETAN SUBJOINED LETTER NNA
+0F9F TIBETAN SUBJOINED LETTER TA
+0FA0 TIBETAN SUBJOINED LETTER THA
+0FA1 TIBETAN SUBJOINED LETTER DA
+0FA2 TIBETAN SUBJOINED LETTER DHA
+ : 0FA1 + 0FB7
+0FA3 TIBETAN SUBJOINED LETTER NA
+0FA4 TIBETAN SUBJOINED LETTER PA
+0FA5 TIBETAN SUBJOINED LETTER PHA
+0FA6 TIBETAN SUBJOINED LETTER BA
+0FA7 TIBETAN SUBJOINED LETTER BHA
+ : 0FA6 + 0FB7
+0FA8 TIBETAN SUBJOINED LETTER MA
+0FA9 TIBETAN SUBJOINED LETTER TSA
+0FAA TIBETAN SUBJOINED LETTER TSHA
+0FAB TIBETAN SUBJOINED LETTER DZA
+0FAC TIBETAN SUBJOINED LETTER DZHA
+ : 0FAB + 0FB7
+0FAD TIBETAN SUBJOINED LETTER WA
+0FAE <reserved>
+0FAF <reserved>
+0FB0 <reserved>
+0FB1 TIBETAN SUBJOINED LETTER YA
+0FB2 TIBETAN SUBJOINED LETTER RA
+0FB3 TIBETAN SUBJOINED LETTER LA
+0FB4 TIBETAN SUBJOINED LETTER SHA
+0FB5 TIBETAN SUBJOINED LETTER SSA
+0FB6 TIBETAN SUBJOINED LETTER SA
+0FB7 TIBETAN SUBJOINED LETTER HA
+0FB8 <reserved>
+0FB9 TIBETAN SUBJOINED LETTER KSSA
+ : 0F90 + 0FB5
+@@ 0FC0 Unassigned 109F
+@@ 10A0 Georgian 10FF
+@ Archaic uppercase alphabet (Khutsuri)
+10A0 GEORGIAN CAPITAL LETTER AN
+10A1 GEORGIAN CAPITAL LETTER BAN
+10A2 GEORGIAN CAPITAL LETTER GAN
+10A3 GEORGIAN CAPITAL LETTER DON
+10A4 GEORGIAN CAPITAL LETTER EN
+10A5 GEORGIAN CAPITAL LETTER VIN
+10A6 GEORGIAN CAPITAL LETTER ZEN
+10A7 GEORGIAN CAPITAL LETTER TAN
+10A8 GEORGIAN CAPITAL LETTER IN
+10A9 GEORGIAN CAPITAL LETTER KAN
+10AA GEORGIAN CAPITAL LETTER LAS
+10AB GEORGIAN CAPITAL LETTER MAN
+10AC GEORGIAN CAPITAL LETTER NAR
+10AD GEORGIAN CAPITAL LETTER ON
+10AE GEORGIAN CAPITAL LETTER PAR
+10AF GEORGIAN CAPITAL LETTER ZHAR
+10B0 GEORGIAN CAPITAL LETTER RAE
+10B1 GEORGIAN CAPITAL LETTER SAN
+10B2 GEORGIAN CAPITAL LETTER TAR
+10B3 GEORGIAN CAPITAL LETTER UN
+10B4 GEORGIAN CAPITAL LETTER PHAR
+10B5 GEORGIAN CAPITAL LETTER KHAR
+10B6 GEORGIAN CAPITAL LETTER GHAN
+10B7 GEORGIAN CAPITAL LETTER QAR
+10B8 GEORGIAN CAPITAL LETTER SHIN
+10B9 GEORGIAN CAPITAL LETTER CHIN
+10BA GEORGIAN CAPITAL LETTER CAN
+10BB GEORGIAN CAPITAL LETTER JIL
+10BC GEORGIAN CAPITAL LETTER CIL
+10BD GEORGIAN CAPITAL LETTER CHAR
+10BE GEORGIAN CAPITAL LETTER XAN
+10BF GEORGIAN CAPITAL LETTER JHAN
+10C0 GEORGIAN CAPITAL LETTER HAE
+10C1 GEORGIAN CAPITAL LETTER HE
+10C2 GEORGIAN CAPITAL LETTER HIE
+10C3 GEORGIAN CAPITAL LETTER WE
+10C4 GEORGIAN CAPITAL LETTER HAR
+10C5 GEORGIAN CAPITAL LETTER HOE
+10C6 <reserved>
+10C7 <reserved>
+10C8 <reserved>
+10C9 <reserved>
+10CA <reserved>
+10CB <reserved>
+10CC <reserved>
+10CD <reserved>
+10CE <reserved>
+10CF <reserved>
+@ Modern alphabet (Mkhedruli)
+@ = Archaic lowercase alphabet
+10D0 GEORGIAN LETTER AN
+10D1 GEORGIAN LETTER BAN
+10D2 GEORGIAN LETTER GAN
+10D3 GEORGIAN LETTER DON
+10D4 GEORGIAN LETTER EN
+10D5 GEORGIAN LETTER VIN
+10D6 GEORGIAN LETTER ZEN
+10D7 GEORGIAN LETTER TAN
+10D8 GEORGIAN LETTER IN
+10D9 GEORGIAN LETTER KAN
+10DA GEORGIAN LETTER LAS
+10DB GEORGIAN LETTER MAN
+10DC GEORGIAN LETTER NAR
+10DD GEORGIAN LETTER ON
+10DE GEORGIAN LETTER PAR
+10DF GEORGIAN LETTER ZHAR
+10E0 GEORGIAN LETTER RAE
+10E1 GEORGIAN LETTER SAN
+10E2 GEORGIAN LETTER TAR
+10E3 GEORGIAN LETTER UN
+10E4 GEORGIAN LETTER PHAR
+10E5 GEORGIAN LETTER KHAR
+10E6 GEORGIAN LETTER GHAN
+10E7 GEORGIAN LETTER QAR
+10E8 GEORGIAN LETTER SHIN
+10E9 GEORGIAN LETTER CHIN
+10EA GEORGIAN LETTER CAN
+10EB GEORGIAN LETTER JIL
+10EC GEORGIAN LETTER CIL
+10ED GEORGIAN LETTER CHAR
+10EE GEORGIAN LETTER XAN
+10EF GEORGIAN LETTER JHAN
+10F0 GEORGIAN LETTER HAE
+@ Archaic letters
+10F1 GEORGIAN LETTER HE
+10F2 GEORGIAN LETTER HIE
+10F3 GEORGIAN LETTER WE
+10F4 GEORGIAN LETTER HAR
+10F5 GEORGIAN LETTER HOE
+10F6 GEORGIAN LETTER FI
+10F7 <reserved>
+10F8 <reserved>
+10F9 <reserved>
+10FA <reserved>
+@ Punctuation
+10FB GEORGIAN PARAGRAPH SEPARATOR
+@@ 1100 Hangul Jamo 11FF
+@ Korean combining alphabet
+@ Initial consonants
+1100 HANGUL CHOSEONG KIYEOK
+1101 HANGUL CHOSEONG SSANGKIYEOK
+ # 1100 + 1100
+1102 HANGUL CHOSEONG NIEUN
+1103 HANGUL CHOSEONG TIKEUT
+1104 HANGUL CHOSEONG SSANGTIKEUT
+ # 1103 + 1103
+1105 HANGUL CHOSEONG RIEUL
+1106 HANGUL CHOSEONG MIEUM
+1107 HANGUL CHOSEONG PIEUP
+1108 HANGUL CHOSEONG SSANGPIEUP
+ # 1107 + 1107
+1109 HANGUL CHOSEONG SIOS
+110A HANGUL CHOSEONG SSANGSIOS
+ # 1109 + 1109
+110B HANGUL CHOSEONG IEUNG
+110C HANGUL CHOSEONG CIEUC
+110D HANGUL CHOSEONG SSANGCIEUC
+ # 110C + 110C
+110E HANGUL CHOSEONG CHIEUCH
+110F HANGUL CHOSEONG KHIEUKH
+1110 HANGUL CHOSEONG THIEUTH
+1111 HANGUL CHOSEONG PHIEUPH
+1112 HANGUL CHOSEONG HIEUH
+1113 HANGUL CHOSEONG NIEUN-KIYEOK
+ # 1102 + 1100
+1114 HANGUL CHOSEONG SSANGNIEUN
+ # 1102 + 1102
+1115 HANGUL CHOSEONG NIEUN-TIKEUT
+ # 1102 + 1103
+1116 HANGUL CHOSEONG NIEUN-PIEUP
+ # 1102 + 1107
+1117 HANGUL CHOSEONG TIKEUT-KIYEOK
+ # 1103 + 1100
+1118 HANGUL CHOSEONG RIEUL-NIEUN
+ # 1105 + 1102
+1119 HANGUL CHOSEONG SSANGRIEUL
+ # 1105 + 1105
+111A HANGUL CHOSEONG RIEUL-HIEUH
+ # 1105 + 1112
+111B HANGUL CHOSEONG KAPYEOUNRIEUL
+ # 1105 + 110B
+111C HANGUL CHOSEONG MIEUM-PIEUP
+ # 1106 + 1107
+111D HANGUL CHOSEONG KAPYEOUNMIEUM
+ # 1106 + 110B
+111E HANGUL CHOSEONG PIEUP-KIYEOK
+ # 1107 + 1100
+111F HANGUL CHOSEONG PIEUP-NIEUN
+ # 1107 + 1102
+1120 HANGUL CHOSEONG PIEUP-TIKEUT
+ # 1107 + 1103
+1121 HANGUL CHOSEONG PIEUP-SIOS
+ # 1107 + 1109
+1122 HANGUL CHOSEONG PIEUP-SIOS-KIYEOK
+ # 1107 + 1109 + 1100
+1123 HANGUL CHOSEONG PIEUP-SIOS-TIKEUT
+ # 1107 + 1109 + 1103
+1124 HANGUL CHOSEONG PIEUP-SIOS-PIEUP
+ # 1107 + 1109 + 1107
+1125 HANGUL CHOSEONG PIEUP-SSANGSIOS
+ # 1107 + 1109 + 1109
+1126 HANGUL CHOSEONG PIEUP-SIOS-CIEUC
+ # 1107 + 1109 + 110C
+1127 HANGUL CHOSEONG PIEUP-CIEUC
+ # 1107 + 110C
+1128 HANGUL CHOSEONG PIEUP-CHIEUCH
+ # 1107 + 110E
+1129 HANGUL CHOSEONG PIEUP-THIEUTH
+ # 1107 + 1110
+112A HANGUL CHOSEONG PIEUP-PHIEUPH
+ # 1107 + 1111
+112B HANGUL CHOSEONG KAPYEOUNPIEUP
+ # 1107 + 110B
+112C HANGUL CHOSEONG KAPYEOUNSSANGPIEUP
+ # 1107 + 1107 + 110B
+112D HANGUL CHOSEONG SIOS-KIYEOK
+ # 1109 + 1100
+112E HANGUL CHOSEONG SIOS-NIEUN
+ # 1109 + 1102
+112F HANGUL CHOSEONG SIOS-TIKEUT
+ # 1109 + 1103
+1130 HANGUL CHOSEONG SIOS-RIEUL
+ # 1109 + 1105
+1131 HANGUL CHOSEONG SIOS-MIEUM
+ # 1109 + 1106
+1132 HANGUL CHOSEONG SIOS-PIEUP
+ # 1109 + 1107
+1133 HANGUL CHOSEONG SIOS-PIEUP-KIYEOK
+ # 1109 + 1107 + 1100
+1134 HANGUL CHOSEONG SIOS-SSANGSIOS
+ # 1109 + 1109 + 1109
+1135 HANGUL CHOSEONG SIOS-IEUNG
+ # 1109 + 110B
+1136 HANGUL CHOSEONG SIOS-CIEUC
+ # 1109 + 110C
+1137 HANGUL CHOSEONG SIOS-CHIEUCH
+ # 1109 + 110E
+1138 HANGUL CHOSEONG SIOS-KHIEUKH
+ # 1109 + 110F
+1139 HANGUL CHOSEONG SIOS-THIEUTH
+ # 1109 + 1110
+113A HANGUL CHOSEONG SIOS-PHIEUPH
+ # 1109 + 1111
+113B HANGUL CHOSEONG SIOS-HIEUH
+ # 1109 + 1112
+113C HANGUL CHOSEONG CHITUEUMSIOS
+113D HANGUL CHOSEONG CHITUEUMSSANGSIOS
+ # 113C + 113C
+113E HANGUL CHOSEONG CEONGCHIEUMSIOS
+113F HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS
+ # 113E + 113E
+1140 HANGUL CHOSEONG PANSIOS
+1141 HANGUL CHOSEONG IEUNG-KIYEOK
+ # 110B + 1100
+1142 HANGUL CHOSEONG IEUNG-TIKEUT
+ # 110B + 1103
+1143 HANGUL CHOSEONG IEUNG-MIEUM
+ # 110B + 1106
+1144 HANGUL CHOSEONG IEUNG-PIEUP
+ # 110B + 1107
+1145 HANGUL CHOSEONG IEUNG-SIOS
+ # 110B + 1109
+1146 HANGUL CHOSEONG IEUNG-PANSIOS
+ # 110B + 1140
+1147 HANGUL CHOSEONG SSANGIEUNG
+ # 110B + 110B
+1148 HANGUL CHOSEONG IEUNG-CIEUC
+ # 110B + 110C
+1149 HANGUL CHOSEONG IEUNG-CHIEUCH
+ # 110B + 110E
+114A HANGUL CHOSEONG IEUNG-THIEUTH
+ # 110B + 1110
+114B HANGUL CHOSEONG IEUNG-PHIEUPH
+ # 110B + 1111
+114C HANGUL CHOSEONG YESIEUNG
+114D HANGUL CHOSEONG CIEUC-IEUNG
+ # 110C + 110B
+114E HANGUL CHOSEONG CHITUEUMCIEUC
+114F HANGUL CHOSEONG CHITUEUMSSANGCIEUC
+ # 114E + 114E
+1150 HANGUL CHOSEONG CEONGCHIEUMCIEUC
+1151 HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC
+ # 1150 + 1150
+1152 HANGUL CHOSEONG CHIEUCH-KHIEUKH
+ # 110E + 110F
+1153 HANGUL CHOSEONG CHIEUCH-HIEUH
+ # 110E + 1112
+1154 HANGUL CHOSEONG CHITUEUMCHIEUCH
+1155 HANGUL CHOSEONG CEONGCHIEUMCHIEUCH
+1156 HANGUL CHOSEONG PHIEUPH-PIEUP
+ # 1111 + 1107
+1157 HANGUL CHOSEONG KAPYEOUNPHIEUPH
+ # 1111 + 110B
+1158 HANGUL CHOSEONG SSANGHIEUH
+ # 1112 + 1112
+1159 HANGUL CHOSEONG YEORINHIEUH
+115A <reserved>
+115B <reserved>
+115C <reserved>
+115D <reserved>
+115E <reserved>
+115F HANGUL CHOSEONG FILLER
+@ Medial vowels
+1160 HANGUL JUNGSEONG FILLER
+1161 HANGUL JUNGSEONG A
+1162 HANGUL JUNGSEONG AE
+ # 1161 + 1175
+1163 HANGUL JUNGSEONG YA
+1164 HANGUL JUNGSEONG YAE
+ # 1163 + 1175
+1165 HANGUL JUNGSEONG EO
+1166 HANGUL JUNGSEONG E
+ # 1165 + 1175
+1167 HANGUL JUNGSEONG YEO
+1168 HANGUL JUNGSEONG YE
+ # 1167 + 1175
+1169 HANGUL JUNGSEONG O
+116A HANGUL JUNGSEONG WA
+ # 1169 + 1161
+116B HANGUL JUNGSEONG WAE
+ # 1169 + 1161 + 1175
+116C HANGUL JUNGSEONG OE
+ # 1169 + 1175
+116D HANGUL JUNGSEONG YO
+116E HANGUL JUNGSEONG U
+116F HANGUL JUNGSEONG WEO
+ # 116E + 1165
+1170 HANGUL JUNGSEONG WE
+ # 116E + 1165 + 1175
+1171 HANGUL JUNGSEONG WI
+ # 116E + 1175
+1172 HANGUL JUNGSEONG YU
+1173 HANGUL JUNGSEONG EU
+1174 HANGUL JUNGSEONG YI
+ # 1173 + 1175
+1175 HANGUL JUNGSEONG I
+1176 HANGUL JUNGSEONG A-O
+ # 1161 + 1169
+1177 HANGUL JUNGSEONG A-U
+ # 1161 + 116E
+1178 HANGUL JUNGSEONG YA-O
+ # 1163 + 1169
+1179 HANGUL JUNGSEONG YA-YO
+ # 1163 + 116D
+117A HANGUL JUNGSEONG EO-O
+ # 1165 + 1169
+117B HANGUL JUNGSEONG EO-U
+ # 1165 + 116E
+117C HANGUL JUNGSEONG EO-EU
+ # 1165 + 1173
+117D HANGUL JUNGSEONG YEO-O
+ # 1167 + 1169
+117E HANGUL JUNGSEONG YEO-U
+ # 1167 + 116E
+117F HANGUL JUNGSEONG O-EO
+ # 1169 + 1165
+1180 HANGUL JUNGSEONG O-E
+ # 1169 + 1166
+1181 HANGUL JUNGSEONG O-YE
+ # 1169 + 1168
+1182 HANGUL JUNGSEONG O-O
+ # 1169 + 1169
+1183 HANGUL JUNGSEONG O-U
+ # 1169 + 116E
+1184 HANGUL JUNGSEONG YO-YA
+ # 116D + 1163
+1185 HANGUL JUNGSEONG YO-YAE
+ # 116D + 1164
+1186 HANGUL JUNGSEONG YO-YEO
+ # 116D + 1167
+1187 HANGUL JUNGSEONG YO-O
+ # 116D + 1169
+1188 HANGUL JUNGSEONG YO-I
+ # 116D + 1175
+1189 HANGUL JUNGSEONG U-A
+ # 116E + 1161
+118A HANGUL JUNGSEONG U-AE
+ # 116E + 1162
+118B HANGUL JUNGSEONG U-EO-EU
+ # 116E + 1165 + 1173
+118C HANGUL JUNGSEONG U-YE
+ # 116E + 1168
+118D HANGUL JUNGSEONG U-U
+ # 116E + 116E
+118E HANGUL JUNGSEONG YU-A
+ # 1172 + 1161
+118F HANGUL JUNGSEONG YU-EO
+ # 1172 + 1165
+1190 HANGUL JUNGSEONG YU-E
+ # 1172 + 1166
+1191 HANGUL JUNGSEONG YU-YEO
+ # 1172 + 1167
+1192 HANGUL JUNGSEONG YU-YE
+ # 1172 + 1168
+1193 HANGUL JUNGSEONG YU-U
+ # 1172 + 116E
+1194 HANGUL JUNGSEONG YU-I
+ # 1172 + 1175
+1195 HANGUL JUNGSEONG EU-U
+ # 1173 + 116E
+1196 HANGUL JUNGSEONG EU-EU
+ # 1173 + 1173
+1197 HANGUL JUNGSEONG YI-U
+ # 1174 + 116E
+1198 HANGUL JUNGSEONG I-A
+ # 1175 + 1161
+1199 HANGUL JUNGSEONG I-YA
+ # 1175 + 1163
+119A HANGUL JUNGSEONG I-O
+ # 1175 + 1169
+119B HANGUL JUNGSEONG I-U
+ # 1175 + 116E
+119C HANGUL JUNGSEONG I-EU
+ # 1175 + 1173
+119D HANGUL JUNGSEONG I-ARAEA
+ # 1175 + 119E
+119E HANGUL JUNGSEONG ARAEA
+119F HANGUL JUNGSEONG ARAEA-EO
+ # 119E + 1165
+11A0 HANGUL JUNGSEONG ARAEA-U
+ # 119E + 116E
+11A1 HANGUL JUNGSEONG ARAEA-I
+ # 119E + 1175
+11A2 HANGUL JUNGSEONG SSANGARAEA
+ # 119E + 119E
+11A3 <reserved>
+11A4 <reserved>
+11A5 <reserved>
+11A6 <reserved>
+11A7 <reserved>
+@ Final consonants
+11A8 HANGUL JONGSEONG KIYEOK
+11A9 HANGUL JONGSEONG SSANGKIYEOK
+ # 11A8 + 11A8
+11AA HANGUL JONGSEONG KIYEOK-SIOS
+ # 11A8 + 11BA
+11AB HANGUL JONGSEONG NIEUN
+11AC HANGUL JONGSEONG NIEUN-CIEUC
+ # 11AB + 11BD
+11AD HANGUL JONGSEONG NIEUN-HIEUH
+ # 11AB + 11C2
+11AE HANGUL JONGSEONG TIKEUT
+11AF HANGUL JONGSEONG RIEUL
+11B0 HANGUL JONGSEONG RIEUL-KIYEOK
+ # 11AF + 11A8
+11B1 HANGUL JONGSEONG RIEUL-MIEUM
+ # 11AF + 11B7
+11B2 HANGUL JONGSEONG RIEUL-PIEUP
+ # 11AF + 11B8
+11B3 HANGUL JONGSEONG RIEUL-SIOS
+ # 11AF + 11BA
+11B4 HANGUL JONGSEONG RIEUL-THIEUTH
+ # 11AF + 11C0
+11B5 HANGUL JONGSEONG RIEUL-PHIEUPH
+ # 11AF + 11C1
+11B6 HANGUL JONGSEONG RIEUL-HIEUH
+ # 11AF + 11C2
+11B7 HANGUL JONGSEONG MIEUM
+11B8 HANGUL JONGSEONG PIEUP
+11B9 HANGUL JONGSEONG PIEUP-SIOS
+ # 11B8 + 11BA
+11BA HANGUL JONGSEONG SIOS
+11BB HANGUL JONGSEONG SSANGSIOS
+ # 11BA + 11BA
+11BC HANGUL JONGSEONG IEUNG
+11BD HANGUL JONGSEONG CIEUC
+11BE HANGUL JONGSEONG CHIEUCH
+11BF HANGUL JONGSEONG KHIEUKH
+11C0 HANGUL JONGSEONG THIEUTH
+11C1 HANGUL JONGSEONG PHIEUPH
+11C2 HANGUL JONGSEONG HIEUH
+11C3 HANGUL JONGSEONG KIYEOK-RIEUL
+ # 11A8 + 11AF
+11C4 HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK
+ # 11A8 + 11BA + 11A8
+11C5 HANGUL JONGSEONG NIEUN-KIYEOK
+ # 11AB + 11A8
+11C6 HANGUL JONGSEONG NIEUN-TIKEUT
+ # 11AB + 11AE
+11C7 HANGUL JONGSEONG NIEUN-SIOS
+ # 11AB + 11BA
+11C8 HANGUL JONGSEONG NIEUN-PANSIOS
+ # 11AB + 11EB
+11C9 HANGUL JONGSEONG NIEUN-THIEUTH
+ # 11AB + 11C0
+11CA HANGUL JONGSEONG TIKEUT-KIYEOK
+ # 11AE + 11A8
+11CB HANGUL JONGSEONG TIKEUT-RIEUL
+ # 11AE + 11AF
+11CC HANGUL JONGSEONG RIEUL-KIYEOK-SIOS
+ # 11AF + 11A8 + 11BA
+11CD HANGUL JONGSEONG RIEUL-NIEUN
+ # 11AF + 11AB
+11CE HANGUL JONGSEONG RIEUL-TIKEUT
+ # 11AF + 11AE
+11CF HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH
+ # 11AF + 11AE + 11C2
+11D0 HANGUL JONGSEONG SSANGRIEUL
+ # 11AF + 11AF
+11D1 HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK
+ # 11AF + 11B7 + 11A8
+11D2 HANGUL JONGSEONG RIEUL-MIEUM-SIOS
+ # 11AF + 11B7 + 11BA
+11D3 HANGUL JONGSEONG RIEUL-PIEUP-SIOS
+ # 11AF + 11B8 + 11BA
+11D4 HANGUL JONGSEONG RIEUL-PIEUP-HIEUH
+ # 11AF + 11B8 + 11C2
+11D5 HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP
+ # 11AF + 11B8 + 11BC
+11D6 HANGUL JONGSEONG RIEUL-SSANGSIOS
+ # 11AF + 11BA + 11BA
+11D7 HANGUL JONGSEONG RIEUL-PANSIOS
+ # 11AF + 11EB
+11D8 HANGUL JONGSEONG RIEUL-KHIEUKH
+ # 11AF + 11BF
+11D9 HANGUL JONGSEONG RIEUL-YEORINHIEUH
+ # 11AF + 11F9
+11DA HANGUL JONGSEONG MIEUM-KIYEOK
+ # 11B7 + 11A8
+11DB HANGUL JONGSEONG MIEUM-RIEUL
+ # 11B7 + 11AF
+11DC HANGUL JONGSEONG MIEUM-PIEUP
+ # 11B7 + 11B8
+11DD HANGUL JONGSEONG MIEUM-SIOS
+ # 11B7 + 11BA
+11DE HANGUL JONGSEONG MIEUM-SSANGSIOS
+ # 11B7 + 11BA + 11BA
+11DF HANGUL JONGSEONG MIEUM-PANSIOS
+ # 11B7 + 11EB
+11E0 HANGUL JONGSEONG MIEUM-CHIEUCH
+ # 11B7 + 11BE
+11E1 HANGUL JONGSEONG MIEUM-HIEUH
+ # 11B7 + 11C2
+11E2 HANGUL JONGSEONG KAPYEOUNMIEUM
+ # 11B7 + 11BC
+11E3 HANGUL JONGSEONG PIEUP-RIEUL
+ # 11B8 + 11AF
+11E4 HANGUL JONGSEONG PIEUP-PHIEUPH
+ # 11B8 + 11C1
+11E5 HANGUL JONGSEONG PIEUP-HIEUH
+ # 11B8 + 11C2
+11E6 HANGUL JONGSEONG KAPYEOUNPIEUP
+ # 11B8 + 11BC
+11E7 HANGUL JONGSEONG SIOS-KIYEOK
+ # 11BA + 11A8
+11E8 HANGUL JONGSEONG SIOS-TIKEUT
+ # 11BA + 11AE
+11E9 HANGUL JONGSEONG SIOS-RIEUL
+ # 11BA + 11AF
+11EA HANGUL JONGSEONG SIOS-PIEUP
+ # 11BA + 11B8
+11EB HANGUL JONGSEONG PANSIOS
+11EC HANGUL JONGSEONG IEUNG-KIYEOK
+ # 11BC + 11A8
+11ED HANGUL JONGSEONG IEUNG-SSANGKIYEOK
+ # 11BC + 11A8 + 11A8
+11EE HANGUL JONGSEONG SSANGIEUNG
+ # 11BC + 11BC
+11EF HANGUL JONGSEONG IEUNG-KHIEUKH
+ # 11BC + 11BF
+11F0 HANGUL JONGSEONG YESIEUNG
+11F1 HANGUL JONGSEONG YESIEUNG-SIOS
+ # 11F0 + 11BA
+11F2 HANGUL JONGSEONG YESIEUNG-PANSIOS
+ # 11F0 + 11EB
+11F3 HANGUL JONGSEONG PHIEUPH-PIEUP
+ # 11C1 + 11B8
+11F4 HANGUL JONGSEONG KAPYEOUNPHIEUPH
+ # 11C1 + 11BC
+11F5 HANGUL JONGSEONG HIEUH-NIEUN
+ # 11C2 + 11AB
+11F6 HANGUL JONGSEONG HIEUH-RIEUL
+ # 11C2 + 11AF
+11F7 HANGUL JONGSEONG HIEUH-MIEUM
+ # 11C2 + 11B7
+11F8 HANGUL JONGSEONG HIEUH-PIEUP
+ # 11C2 + 11B8
+11F9 HANGUL JONGSEONG YEORINHIEUH
+@@ 1200 Unassigned 1DFF
+@@ 1E00 Latin Extended Additional 1EFF
+@ Latin extended additional
+1E00 LATIN CAPITAL LETTER A WITH RING BELOW
+ : 0041 + 0325
+1E01 LATIN SMALL LETTER A WITH RING BELOW
+ : 0061 + 0325
+1E02 LATIN CAPITAL LETTER B WITH DOT ABOVE
+ : 0042 + 0307
+1E03 LATIN SMALL LETTER B WITH DOT ABOVE
+ : 0062 + 0307
+1E04 LATIN CAPITAL LETTER B WITH DOT BELOW
+ : 0042 + 0323
+1E05 LATIN SMALL LETTER B WITH DOT BELOW
+ : 0062 + 0323
+1E06 LATIN CAPITAL LETTER B WITH LINE BELOW
+ : 0042 + 0331
+1E07 LATIN SMALL LETTER B WITH LINE BELOW
+ : 0062 + 0331
+1E08 LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
+ : 00C7 + 0301
+1E09 LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
+ : 00E7 + 0301
+1E0A LATIN CAPITAL LETTER D WITH DOT ABOVE
+ : 0044 + 0307
+1E0B LATIN SMALL LETTER D WITH DOT ABOVE
+ : 0064 + 0307
+1E0C LATIN CAPITAL LETTER D WITH DOT BELOW
+ : 0044 + 0323
+1E0D LATIN SMALL LETTER D WITH DOT BELOW
+ : 0064 + 0323
+1E0E LATIN CAPITAL LETTER D WITH LINE BELOW
+ : 0044 + 0331
+1E0F LATIN SMALL LETTER D WITH LINE BELOW
+ : 0064 + 0331
+1E10 LATIN CAPITAL LETTER D WITH CEDILLA
+ : 0044 + 0327
+1E11 LATIN SMALL LETTER D WITH CEDILLA
+ : 0064 + 0327
+1E12 LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
+ : 0044 + 032D
+1E13 LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW
+ : 0064 + 032D
+1E14 LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
+ : 0112 + 0300
+1E15 LATIN SMALL LETTER E WITH MACRON AND GRAVE
+ : 0113 + 0300
+1E16 LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
+ : 0112 + 0301
+1E17 LATIN SMALL LETTER E WITH MACRON AND ACUTE
+ : 0113 + 0301
+1E18 LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
+ : 0045 + 032D
+1E19 LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW
+ : 0065 + 032D
+1E1A LATIN CAPITAL LETTER E WITH TILDE BELOW
+ : 0045 + 0330
+1E1B LATIN SMALL LETTER E WITH TILDE BELOW
+ : 0065 + 0330
+1E1C LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
+ : 0114 + 0327
+1E1D LATIN SMALL LETTER E WITH CEDILLA AND BREVE
+ : 0115 + 0327
+1E1E LATIN CAPITAL LETTER F WITH DOT ABOVE
+ : 0046 + 0307
+1E1F LATIN SMALL LETTER F WITH DOT ABOVE
+ : 0066 + 0307
+1E20 LATIN CAPITAL LETTER G WITH MACRON
+ : 0047 + 0304
+1E21 LATIN SMALL LETTER G WITH MACRON
+ : 0067 + 0304
+1E22 LATIN CAPITAL LETTER H WITH DOT ABOVE
+ : 0048 + 0307
+1E23 LATIN SMALL LETTER H WITH DOT ABOVE
+ : 0068 + 0307
+1E24 LATIN CAPITAL LETTER H WITH DOT BELOW
+ : 0048 + 0323
+1E25 LATIN SMALL LETTER H WITH DOT BELOW
+ : 0068 + 0323
+1E26 LATIN CAPITAL LETTER H WITH DIAERESIS
+ : 0048 + 0308
+1E27 LATIN SMALL LETTER H WITH DIAERESIS
+ : 0068 + 0308
+1E28 LATIN CAPITAL LETTER H WITH CEDILLA
+ : 0048 + 0327
+1E29 LATIN SMALL LETTER H WITH CEDILLA
+ : 0068 + 0327
+1E2A LATIN CAPITAL LETTER H WITH BREVE BELOW
+ : 0048 + 032E
+1E2B LATIN SMALL LETTER H WITH BREVE BELOW
+ : 0068 + 032E
+1E2C LATIN CAPITAL LETTER I WITH TILDE BELOW
+ : 0049 + 0330
+1E2D LATIN SMALL LETTER I WITH TILDE BELOW
+ : 0069 + 0330
+1E2E LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
+ : 00CF + 0301
+1E2F LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
+ : 00EF + 0301
+1E30 LATIN CAPITAL LETTER K WITH ACUTE
+ : 004B + 0301
+1E31 LATIN SMALL LETTER K WITH ACUTE
+ : 006B + 0301
+1E32 LATIN CAPITAL LETTER K WITH DOT BELOW
+ : 004B + 0323
+1E33 LATIN SMALL LETTER K WITH DOT BELOW
+ : 006B + 0323
+1E34 LATIN CAPITAL LETTER K WITH LINE BELOW
+ : 004B + 0331
+1E35 LATIN SMALL LETTER K WITH LINE BELOW
+ : 006B + 0331
+1E36 LATIN CAPITAL LETTER L WITH DOT BELOW
+ : 004C + 0323
+1E37 LATIN SMALL LETTER L WITH DOT BELOW
+ : 006C + 0323
+1E38 LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
+ : 1E36 + 0304
+1E39 LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
+ : 1E37 + 0304
+1E3A LATIN CAPITAL LETTER L WITH LINE BELOW
+ : 004C + 0331
+1E3B LATIN SMALL LETTER L WITH LINE BELOW
+ : 006C + 0331
+1E3C LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
+ : 004C + 032D
+1E3D LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW
+ : 006C + 032D
+1E3E LATIN CAPITAL LETTER M WITH ACUTE
+ : 004D + 0301
+1E3F LATIN SMALL LETTER M WITH ACUTE
+ : 006D + 0301
+1E40 LATIN CAPITAL LETTER M WITH DOT ABOVE
+ : 004D + 0307
+1E41 LATIN SMALL LETTER M WITH DOT ABOVE
+ : 006D + 0307
+1E42 LATIN CAPITAL LETTER M WITH DOT BELOW
+ : 004D + 0323
+1E43 LATIN SMALL LETTER M WITH DOT BELOW
+ : 006D + 0323
+1E44 LATIN CAPITAL LETTER N WITH DOT ABOVE
+ : 004E + 0307
+1E45 LATIN SMALL LETTER N WITH DOT ABOVE
+ : 006E + 0307
+1E46 LATIN CAPITAL LETTER N WITH DOT BELOW
+ : 004E + 0323
+1E47 LATIN SMALL LETTER N WITH DOT BELOW
+ : 006E + 0323
+1E48 LATIN CAPITAL LETTER N WITH LINE BELOW
+ : 004E + 0331
+1E49 LATIN SMALL LETTER N WITH LINE BELOW
+ : 006E + 0331
+1E4A LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
+ : 004E + 032D
+1E4B LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW
+ : 006E + 032D
+1E4C LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
+ : 00D5 + 0301
+1E4D LATIN SMALL LETTER O WITH TILDE AND ACUTE
+ : 00F5 + 0301
+1E4E LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
+ : 00D5 + 0308
+1E4F LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
+ : 00F5 + 0308
+1E50 LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
+ : 014C + 0300
+1E51 LATIN SMALL LETTER O WITH MACRON AND GRAVE
+ : 014D + 0300
+1E52 LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
+ : 014C + 0301
+1E53 LATIN SMALL LETTER O WITH MACRON AND ACUTE
+ : 014D + 0301
+1E54 LATIN CAPITAL LETTER P WITH ACUTE
+ : 0050 + 0301
+1E55 LATIN SMALL LETTER P WITH ACUTE
+ : 0070 + 0301
+1E56 LATIN CAPITAL LETTER P WITH DOT ABOVE
+ : 0050 + 0307
+1E57 LATIN SMALL LETTER P WITH DOT ABOVE
+ : 0070 + 0307
+1E58 LATIN CAPITAL LETTER R WITH DOT ABOVE
+ : 0052 + 0307
+1E59 LATIN SMALL LETTER R WITH DOT ABOVE
+ : 0072 + 0307
+1E5A LATIN CAPITAL LETTER R WITH DOT BELOW
+ : 0052 + 0323
+1E5B LATIN SMALL LETTER R WITH DOT BELOW
+ : 0072 + 0323
+1E5C LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
+ : 1E5A + 0304
+1E5D LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
+ : 1E5B + 0304
+1E5E LATIN CAPITAL LETTER R WITH LINE BELOW
+ : 0052 + 0331
+1E5F LATIN SMALL LETTER R WITH LINE BELOW
+ : 0072 + 0331
+1E60 LATIN CAPITAL LETTER S WITH DOT ABOVE
+ : 0053 + 0307
+1E61 LATIN SMALL LETTER S WITH DOT ABOVE
+ : 0073 + 0307
+1E62 LATIN CAPITAL LETTER S WITH DOT BELOW
+ : 0053 + 0323
+1E63 LATIN SMALL LETTER S WITH DOT BELOW
+ : 0073 + 0323
+1E64 LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
+ : 015A + 0307
+1E65 LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
+ : 015B + 0307
+1E66 LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
+ : 0160 + 0307
+1E67 LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
+ : 0161 + 0307
+1E68 LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
+ : 1E62 + 0307
+1E69 LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
+ : 1E63 + 0307
+1E6A LATIN CAPITAL LETTER T WITH DOT ABOVE
+ : 0054 + 0307
+1E6B LATIN SMALL LETTER T WITH DOT ABOVE
+ : 0074 + 0307
+1E6C LATIN CAPITAL LETTER T WITH DOT BELOW
+ : 0054 + 0323
+1E6D LATIN SMALL LETTER T WITH DOT BELOW
+ : 0074 + 0323
+1E6E LATIN CAPITAL LETTER T WITH LINE BELOW
+ : 0054 + 0331
+1E6F LATIN SMALL LETTER T WITH LINE BELOW
+ : 0074 + 0331
+1E70 LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
+ : 0054 + 032D
+1E71 LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW
+ : 0074 + 032D
+1E72 LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
+ : 0055 + 0324
+1E73 LATIN SMALL LETTER U WITH DIAERESIS BELOW
+ : 0075 + 0324
+1E74 LATIN CAPITAL LETTER U WITH TILDE BELOW
+ : 0055 + 0330
+1E75 LATIN SMALL LETTER U WITH TILDE BELOW
+ : 0075 + 0330
+1E76 LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
+ : 0055 + 032D
+1E77 LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW
+ : 0075 + 032D
+1E78 LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
+ : 0168 + 0301
+1E79 LATIN SMALL LETTER U WITH TILDE AND ACUTE
+ : 0169 + 0301
+1E7A LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
+ : 016A + 0308
+1E7B LATIN SMALL LETTER U WITH MACRON AND DIAERESIS
+ : 016B + 0308
+1E7C LATIN CAPITAL LETTER V WITH TILDE
+ : 0056 + 0303
+1E7D LATIN SMALL LETTER V WITH TILDE
+ : 0076 + 0303
+1E7E LATIN CAPITAL LETTER V WITH DOT BELOW
+ : 0056 + 0323
+1E7F LATIN SMALL LETTER V WITH DOT BELOW
+ : 0076 + 0323
+1E80 LATIN CAPITAL LETTER W WITH GRAVE
+ : 0057 + 0300
+1E81 LATIN SMALL LETTER W WITH GRAVE
+ : 0077 + 0300
+1E82 LATIN CAPITAL LETTER W WITH ACUTE
+ : 0057 + 0301
+1E83 LATIN SMALL LETTER W WITH ACUTE
+ : 0077 + 0301
+1E84 LATIN CAPITAL LETTER W WITH DIAERESIS
+ : 0057 + 0308
+1E85 LATIN SMALL LETTER W WITH DIAERESIS
+ : 0077 + 0308
+1E86 LATIN CAPITAL LETTER W WITH DOT ABOVE
+ : 0057 + 0307
+1E87 LATIN SMALL LETTER W WITH DOT ABOVE
+ : 0077 + 0307
+1E88 LATIN CAPITAL LETTER W WITH DOT BELOW
+ : 0057 + 0323
+1E89 LATIN SMALL LETTER W WITH DOT BELOW
+ : 0077 + 0323
+1E8A LATIN CAPITAL LETTER X WITH DOT ABOVE
+ : 0058 + 0307
+1E8B LATIN SMALL LETTER X WITH DOT ABOVE
+ : 0078 + 0307
+1E8C LATIN CAPITAL LETTER X WITH DIAERESIS
+ : 0058 + 0308
+1E8D LATIN SMALL LETTER X WITH DIAERESIS
+ : 0078 + 0308
+1E8E LATIN CAPITAL LETTER Y WITH DOT ABOVE
+ : 0059 + 0307
+1E8F LATIN SMALL LETTER Y WITH DOT ABOVE
+ : 0079 + 0307
+1E90 LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
+ : 005A + 0302
+1E91 LATIN SMALL LETTER Z WITH CIRCUMFLEX
+ : 007A + 0302
+1E92 LATIN CAPITAL LETTER Z WITH DOT BELOW
+ : 005A + 0323
+1E93 LATIN SMALL LETTER Z WITH DOT BELOW
+ : 007A + 0323
+1E94 LATIN CAPITAL LETTER Z WITH LINE BELOW
+ : 005A + 0331
+1E95 LATIN SMALL LETTER Z WITH LINE BELOW
+ : 007A + 0331
+1E96 LATIN SMALL LETTER H WITH LINE BELOW
+ : 0068 + 0331
+1E97 LATIN SMALL LETTER T WITH DIAERESIS
+ : 0074 + 0308
+1E98 LATIN SMALL LETTER W WITH RING ABOVE
+ : 0077 + 030A
+1E99 LATIN SMALL LETTER Y WITH RING ABOVE
+ : 0079 + 030A
+1E9A LATIN SMALL LETTER A WITH RIGHT HALF RING
+1E9B LATIN SMALL LETTER LONG S WITH DOT ABOVE
+ : 017F + 0307
+1E9C <reserved>
+1E9D <reserved>
+1E9E <reserved>
+1E9F <reserved>
+1EA0 LATIN CAPITAL LETTER A WITH DOT BELOW
+ : 0041 + 0323
+1EA1 LATIN SMALL LETTER A WITH DOT BELOW
+ : 0061 + 0323
+1EA2 LATIN CAPITAL LETTER A WITH HOOK ABOVE
+ : 0041 + 0309
+1EA3 LATIN SMALL LETTER A WITH HOOK ABOVE
+ : 0061 + 0309
+1EA4 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+ : 00C2 + 0301
+1EA5 LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
+ : 00E2 + 0301
+1EA6 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+ : 00C2 + 0300
+1EA7 LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
+ : 00E2 + 0300
+1EA8 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+ : 00C2 + 0309
+1EA9 LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+ : 00E2 + 0309
+1EAA LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+ : 00C2 + 0303
+1EAB LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
+ : 00E2 + 0303
+1EAC LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+ : 00C2 + 0323
+1EAD LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+ : 00E2 + 0323
+1EAE LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
+ : 0102 + 0301
+1EAF LATIN SMALL LETTER A WITH BREVE AND ACUTE
+ : 0103 + 0301
+1EB0 LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
+ : 0102 + 0300
+1EB1 LATIN SMALL LETTER A WITH BREVE AND GRAVE
+ : 0103 + 0300
+1EB2 LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
+ : 0102 + 0309
+1EB3 LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
+ : 0103 + 0309
+1EB4 LATIN CAPITAL LETTER A WITH BREVE AND TILDE
+ : 0102 + 0303
+1EB5 LATIN SMALL LETTER A WITH BREVE AND TILDE
+ : 0103 + 0303
+1EB6 LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
+ : 0102 + 0323
+1EB7 LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
+ : 0103 + 0323
+1EB8 LATIN CAPITAL LETTER E WITH DOT BELOW
+ : 0045 + 0323
+1EB9 LATIN SMALL LETTER E WITH DOT BELOW
+ : 0065 + 0323
+1EBA LATIN CAPITAL LETTER E WITH HOOK ABOVE
+ : 0045 + 0309
+1EBB LATIN SMALL LETTER E WITH HOOK ABOVE
+ : 0065 + 0309
+1EBC LATIN CAPITAL LETTER E WITH TILDE
+ : 0045 + 0303
+1EBD LATIN SMALL LETTER E WITH TILDE
+ : 0065 + 0303
+1EBE LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+ : 00CA + 0301
+1EBF LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+ : 00EA + 0301
+1EC0 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+ : 00CA + 0300
+1EC1 LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+ : 00EA + 0300
+1EC2 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+ : 00CA + 0309
+1EC3 LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+ : 00EA + 0309
+1EC4 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+ : 00CA + 0303
+1EC5 LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+ : 00EA + 0303
+1EC6 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+ : 00CA + 0323
+1EC7 LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+ : 00EA + 0323
+1EC8 LATIN CAPITAL LETTER I WITH HOOK ABOVE
+ : 0049 + 0309
+1EC9 LATIN SMALL LETTER I WITH HOOK ABOVE
+ : 0069 + 0309
+1ECA LATIN CAPITAL LETTER I WITH DOT BELOW
+ : 0049 + 0323
+1ECB LATIN SMALL LETTER I WITH DOT BELOW
+ : 0069 + 0323
+1ECC LATIN CAPITAL LETTER O WITH DOT BELOW
+ : 004F + 0323
+1ECD LATIN SMALL LETTER O WITH DOT BELOW
+ : 006F + 0323
+1ECE LATIN CAPITAL LETTER O WITH HOOK ABOVE
+ : 004F + 0309
+1ECF LATIN SMALL LETTER O WITH HOOK ABOVE
+ : 006F + 0309
+1ED0 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+ : 00D4 + 0301
+1ED1 LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+ : 00F4 + 0301
+1ED2 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+ : 00D4 + 0300
+1ED3 LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+ : 00F4 + 0300
+1ED4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+ : 00D4 + 0309
+1ED5 LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+ : 00F4 + 0309
+1ED6 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+ : 00D4 + 0303
+1ED7 LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+ : 00F4 + 0303
+1ED8 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+ : 00D4 + 0323
+1ED9 LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+ : 00F4 + 0323
+1EDA LATIN CAPITAL LETTER O WITH HORN AND ACUTE
+ : 01A0 + 0301
+1EDB LATIN SMALL LETTER O WITH HORN AND ACUTE
+ : 01A1 + 0301
+1EDC LATIN CAPITAL LETTER O WITH HORN AND GRAVE
+ : 01A0 + 0300
+1EDD LATIN SMALL LETTER O WITH HORN AND GRAVE
+ : 01A1 + 0300
+1EDE LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
+ : 01A0 + 0309
+1EDF LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
+ : 01A1 + 0309
+1EE0 LATIN CAPITAL LETTER O WITH HORN AND TILDE
+ : 01A0 + 0303
+1EE1 LATIN SMALL LETTER O WITH HORN AND TILDE
+ : 01A1 + 0303
+1EE2 LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+ : 01A0 + 0323
+1EE3 LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+ : 01A1 + 0323
+1EE4 LATIN CAPITAL LETTER U WITH DOT BELOW
+ : 0055 + 0323
+1EE5 LATIN SMALL LETTER U WITH DOT BELOW
+ : 0075 + 0323
+1EE6 LATIN CAPITAL LETTER U WITH HOOK ABOVE
+ : 0055 + 0309
+1EE7 LATIN SMALL LETTER U WITH HOOK ABOVE
+ : 0075 + 0309
+1EE8 LATIN CAPITAL LETTER U WITH HORN AND ACUTE
+ : 01AF + 0301
+1EE9 LATIN SMALL LETTER U WITH HORN AND ACUTE
+ : 01B0 + 0301
+1EEA LATIN CAPITAL LETTER U WITH HORN AND GRAVE
+ : 01AF + 0300
+1EEB LATIN SMALL LETTER U WITH HORN AND GRAVE
+ : 01B0 + 0300
+1EEC LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
+ : 01AF + 0309
+1EED LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
+ : 01B0 + 0309
+1EEE LATIN CAPITAL LETTER U WITH HORN AND TILDE
+ : 01AF + 0303
+1EEF LATIN SMALL LETTER U WITH HORN AND TILDE
+ : 01B0 + 0303
+1EF0 LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
+ : 01AF + 0323
+1EF1 LATIN SMALL LETTER U WITH HORN AND DOT BELOW
+ : 01B0 + 0323
+1EF2 LATIN CAPITAL LETTER Y WITH GRAVE
+ : 0059 + 0300
+1EF3 LATIN SMALL LETTER Y WITH GRAVE
+ : 0079 + 0300
+1EF4 LATIN CAPITAL LETTER Y WITH DOT BELOW
+ : 0059 + 0323
+1EF5 LATIN SMALL LETTER Y WITH DOT BELOW
+ : 0079 + 0323
+1EF6 LATIN CAPITAL LETTER Y WITH HOOK ABOVE
+ : 0059 + 0309
+1EF7 LATIN SMALL LETTER Y WITH HOOK ABOVE
+ : 0079 + 0309
+1EF8 LATIN CAPITAL LETTER Y WITH TILDE
+ : 0059 + 0303
+1EF9 LATIN SMALL LETTER Y WITH TILDE
+ : 0079 + 0303
+@@ 1F00 Greek Extended 1FFF
+@ Greek extended
+1F00 GREEK SMALL LETTER ALPHA WITH PSILI
+ : 03B1 + 0313
+1F01 GREEK SMALL LETTER ALPHA WITH DASIA
+ : 03B1 + 0314
+1F02 GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA
+ : 1F00 + 0300
+1F03 GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA
+ : 1F01 + 0300
+1F04 GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA
+ : 1F00 + 0301
+1F05 GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA
+ : 1F01 + 0301
+1F06 GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI
+ : 1F00 + 0342
+1F07 GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
+ : 1F01 + 0342
+1F08 GREEK CAPITAL LETTER ALPHA WITH PSILI
+ : 0391 + 0313
+1F09 GREEK CAPITAL LETTER ALPHA WITH DASIA
+ : 0391 + 0314
+1F0A GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA
+ : 1F08 + 0300
+1F0B GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA
+ : 1F09 + 0300
+1F0C GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA
+ : 1F08 + 0301
+1F0D GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA
+ : 1F09 + 0301
+1F0E GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI
+ : 1F08 + 0342
+1F0F GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
+ : 1F09 + 0342
+1F10 GREEK SMALL LETTER EPSILON WITH PSILI
+ : 03B5 + 0313
+1F11 GREEK SMALL LETTER EPSILON WITH DASIA
+ : 03B5 + 0314
+1F12 GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA
+ : 1F10 + 0300
+1F13 GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA
+ : 1F11 + 0300
+1F14 GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA
+ : 1F10 + 0301
+1F15 GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
+ : 1F11 + 0301
+1F16 <reserved>
+1F17 <reserved>
+1F18 GREEK CAPITAL LETTER EPSILON WITH PSILI
+ : 0395 + 0313
+1F19 GREEK CAPITAL LETTER EPSILON WITH DASIA
+ : 0395 + 0314
+1F1A GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA
+ : 1F18 + 0300
+1F1B GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA
+ : 1F19 + 0300
+1F1C GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA
+ : 1F18 + 0301
+1F1D GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
+ : 1F19 + 0301
+1F1E <reserved>
+1F1F <reserved>
+1F20 GREEK SMALL LETTER ETA WITH PSILI
+ : 03B7 + 0313
+1F21 GREEK SMALL LETTER ETA WITH DASIA
+ : 03B7 + 0314
+1F22 GREEK SMALL LETTER ETA WITH PSILI AND VARIA
+ : 1F20 + 0300
+1F23 GREEK SMALL LETTER ETA WITH DASIA AND VARIA
+ : 1F21 + 0300
+1F24 GREEK SMALL LETTER ETA WITH PSILI AND OXIA
+ : 1F20 + 0301
+1F25 GREEK SMALL LETTER ETA WITH DASIA AND OXIA
+ : 1F21 + 0301
+1F26 GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI
+ : 1F20 + 0342
+1F27 GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
+ : 1F21 + 0342
+1F28 GREEK CAPITAL LETTER ETA WITH PSILI
+ : 0397 + 0313
+1F29 GREEK CAPITAL LETTER ETA WITH DASIA
+ : 0397 + 0314
+1F2A GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA
+ : 1F28 + 0300
+1F2B GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA
+ : 1F29 + 0300
+1F2C GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA
+ : 1F28 + 0301
+1F2D GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA
+ : 1F29 + 0301
+1F2E GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI
+ : 1F28 + 0342
+1F2F GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
+ : 1F29 + 0342
+1F30 GREEK SMALL LETTER IOTA WITH PSILI
+ : 03B9 + 0313
+1F31 GREEK SMALL LETTER IOTA WITH DASIA
+ : 03B9 + 0314
+1F32 GREEK SMALL LETTER IOTA WITH PSILI AND VARIA
+ : 1F30 + 0300
+1F33 GREEK SMALL LETTER IOTA WITH DASIA AND VARIA
+ : 1F31 + 0300
+1F34 GREEK SMALL LETTER IOTA WITH PSILI AND OXIA
+ : 1F30 + 0301
+1F35 GREEK SMALL LETTER IOTA WITH DASIA AND OXIA
+ : 1F31 + 0301
+1F36 GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI
+ : 1F30 + 0342
+1F37 GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
+ : 1F31 + 0342
+1F38 GREEK CAPITAL LETTER IOTA WITH PSILI
+ : 0399 + 0313
+1F39 GREEK CAPITAL LETTER IOTA WITH DASIA
+ : 0399 + 0314
+1F3A GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA
+ : 1F38 + 0300
+1F3B GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA
+ : 1F39 + 0300
+1F3C GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA
+ : 1F38 + 0301
+1F3D GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA
+ : 1F39 + 0301
+1F3E GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI
+ : 1F38 + 0342
+1F3F GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
+ : 1F39 + 0342
+1F40 GREEK SMALL LETTER OMICRON WITH PSILI
+ : 03BF + 0313
+1F41 GREEK SMALL LETTER OMICRON WITH DASIA
+ : 03BF + 0314
+1F42 GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA
+ : 1F40 + 0300
+1F43 GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA
+ : 1F41 + 0300
+1F44 GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA
+ : 1F40 + 0301
+1F45 GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
+ : 1F41 + 0301
+1F46 <reserved>
+1F47 <reserved>
+1F48 GREEK CAPITAL LETTER OMICRON WITH PSILI
+ : 039F + 0313
+1F49 GREEK CAPITAL LETTER OMICRON WITH DASIA
+ : 039F + 0314
+1F4A GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA
+ : 1F48 + 0300
+1F4B GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA
+ : 1F49 + 0300
+1F4C GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA
+ : 1F48 + 0301
+1F4D GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
+ : 1F49 + 0301
+1F4E <reserved>
+1F4F <reserved>
+1F50 GREEK SMALL LETTER UPSILON WITH PSILI
+ : 03C5 + 0313
+1F51 GREEK SMALL LETTER UPSILON WITH DASIA
+ : 03C5 + 0314
+1F52 GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
+ : 1F50 + 0300
+1F53 GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA
+ : 1F51 + 0300
+1F54 GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
+ : 1F50 + 0301
+1F55 GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA
+ : 1F51 + 0301
+1F56 GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
+ : 1F50 + 0342
+1F57 GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
+ : 1F51 + 0342
+1F58 <reserved>
+1F59 GREEK CAPITAL LETTER UPSILON WITH DASIA
+ : 03A5 + 0314
+1F5A <reserved>
+1F5B GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
+ : 1F59 + 0300
+1F5C <reserved>
+1F5D GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
+ : 1F59 + 0301
+1F5E <reserved>
+1F5F GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
+ : 1F59 + 0342
+1F60 GREEK SMALL LETTER OMEGA WITH PSILI
+ : 03C9 + 0313
+1F61 GREEK SMALL LETTER OMEGA WITH DASIA
+ : 03C9 + 0314
+1F62 GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA
+ : 1F60 + 0300
+1F63 GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA
+ : 1F61 + 0300
+1F64 GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA
+ : 1F60 + 0301
+1F65 GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA
+ : 1F61 + 0301
+1F66 GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI
+ : 1F60 + 0342
+1F67 GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
+ : 1F61 + 0342
+1F68 GREEK CAPITAL LETTER OMEGA WITH PSILI
+ : 03A9 + 0313
+1F69 GREEK CAPITAL LETTER OMEGA WITH DASIA
+ : 03A9 + 0314
+1F6A GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA
+ : 1F68 + 0300
+1F6B GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA
+ : 1F69 + 0300
+1F6C GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA
+ : 1F68 + 0301
+1F6D GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA
+ : 1F69 + 0301
+1F6E GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI
+ : 1F68 + 0342
+1F6F GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
+ : 1F69 + 0342
+1F70 GREEK SMALL LETTER ALPHA WITH VARIA
+ : 03B1 + 0300
+1F71 GREEK SMALL LETTER ALPHA WITH OXIA
+ : 03B1 + 0301
+1F72 GREEK SMALL LETTER EPSILON WITH VARIA
+ : 03B5 + 0300
+1F73 GREEK SMALL LETTER EPSILON WITH OXIA
+ : 03B5 + 0301
+1F74 GREEK SMALL LETTER ETA WITH VARIA
+ : 03B7 + 0300
+1F75 GREEK SMALL LETTER ETA WITH OXIA
+ : 03B7 + 0301
+1F76 GREEK SMALL LETTER IOTA WITH VARIA
+ : 03B9 + 0300
+1F77 GREEK SMALL LETTER IOTA WITH OXIA
+ : 03B9 + 0301
+1F78 GREEK SMALL LETTER OMICRON WITH VARIA
+ : 03BF + 0300
+1F79 GREEK SMALL LETTER OMICRON WITH OXIA
+ : 03BF + 0301
+1F7A GREEK SMALL LETTER UPSILON WITH VARIA
+ : 03C5 + 0300
+1F7B GREEK SMALL LETTER UPSILON WITH OXIA
+ : 03C5 + 0301
+1F7C GREEK SMALL LETTER OMEGA WITH VARIA
+ : 03C9 + 0300
+1F7D GREEK SMALL LETTER OMEGA WITH OXIA
+ : 03C9 + 0301
+1F7E <reserved>
+1F7F <reserved>
+1F80 GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
+ : 1F00 + 0345
+1F81 GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
+ : 1F01 + 0345
+1F82 GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+ : 1F02 + 0345
+1F83 GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+ : 1F03 + 0345
+1F84 GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+ : 1F04 + 0345
+1F85 GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+ : 1F05 + 0345
+1F86 GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+ : 1F06 + 0345
+1F87 GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+ : 1F07 + 0345
+1F88 GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI
+ : 1F08 + 0345
+1F89 GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
+ : 1F09 + 0345
+1F8A GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+ : 1F0A + 0345
+1F8B GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+ : 1F0B + 0345
+1F8C GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+ : 1F0C + 0345
+1F8D GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+ : 1F0D + 0345
+1F8E GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+ : 1F0E + 0345
+1F8F GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+ : 1F0F + 0345
+1F90 GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
+ : 1F20 + 0345
+1F91 GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
+ : 1F21 + 0345
+1F92 GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+ : 1F22 + 0345
+1F93 GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+ : 1F23 + 0345
+1F94 GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+ : 1F24 + 0345
+1F95 GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+ : 1F25 + 0345
+1F96 GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+ : 1F26 + 0345
+1F97 GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+ : 1F27 + 0345
+1F98 GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
+ : 1F28 + 0345
+1F99 GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
+ : 1F29 + 0345
+1F9A GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+ : 1F2A + 0345
+1F9B GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+ : 1F2B + 0345
+1F9C GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+ : 1F2C + 0345
+1F9D GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+ : 1F2D + 0345
+1F9E GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+ : 1F2E + 0345
+1F9F GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+ : 1F2F + 0345
+1FA0 GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
+ : 1F60 + 0345
+1FA1 GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
+ : 1F61 + 0345
+1FA2 GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+ : 1F62 + 0345
+1FA3 GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+ : 1F63 + 0345
+1FA4 GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+ : 1F64 + 0345
+1FA5 GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+ : 1F65 + 0345
+1FA6 GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+ : 1F66 + 0345
+1FA7 GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+ : 1F67 + 0345
+1FA8 GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
+ : 1F68 + 0345
+1FA9 GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
+ : 1F69 + 0345
+1FAA GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+ : 1F6A + 0345
+1FAB GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+ : 1F6B + 0345
+1FAC GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+ : 1F6C + 0345
+1FAD GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+ : 1F6D + 0345
+1FAE GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+ : 1F6E + 0345
+1FAF GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+ : 1F6F + 0345
+1FB0 GREEK SMALL LETTER ALPHA WITH VRACHY
+ : 03B1 + 0306
+1FB1 GREEK SMALL LETTER ALPHA WITH MACRON
+ : 03B1 + 0304
+1FB2 GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
+ : 1F70 + 0345
+1FB3 GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
+ : 03B1 + 0345
+1FB4 GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
+ : 1F71 + 0345
+1FB5 <reserved>
+1FB6 GREEK SMALL LETTER ALPHA WITH PERISPOMENI
+ : 03B1 + 0342
+1FB7 GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
+ : 1FB6 + 0345
+1FB8 GREEK CAPITAL LETTER ALPHA WITH VRACHY
+ : 0391 + 0306
+1FB9 GREEK CAPITAL LETTER ALPHA WITH MACRON
+ : 0391 + 0304
+1FBA GREEK CAPITAL LETTER ALPHA WITH VARIA
+ : 0391 + 0300
+1FBB GREEK CAPITAL LETTER ALPHA WITH OXIA
+ : 0391 + 0301
+1FBC GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
+ : 0391 + 0345
+1FBD GREEK KORONIS
+ # 0020 + 0313
+1FBE GREEK PROSGEGRAMMENI
+ : 0399
+1FBF GREEK PSILI
+ # 0020 + 0313
+1FC0 GREEK PERISPOMENI
+ # 0020 + 0342
+1FC1 GREEK DIALYTIKA AND PERISPOMENI
+ : 00A8 + 0342
+1FC2 GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
+ : 1F74 + 0345
+1FC3 GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
+ : 03B7 + 0345
+1FC4 GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
+ : 1F75 + 0345
+1FC5 <reserved>
+1FC6 GREEK SMALL LETTER ETA WITH PERISPOMENI
+ : 03B7 + 0342
+1FC7 GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
+ : 1FC6 + 0345
+1FC8 GREEK CAPITAL LETTER EPSILON WITH VARIA
+ : 0395 + 0300
+1FC9 GREEK CAPITAL LETTER EPSILON WITH OXIA
+ : 0395 + 0301
+1FCA GREEK CAPITAL LETTER ETA WITH VARIA
+ : 0397 + 0300
+1FCB GREEK CAPITAL LETTER ETA WITH OXIA
+ : 0397 + 0301
+1FCC GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
+ : 0397 + 0345
+1FCD GREEK PSILI AND VARIA
+ : 1FBF + 0300
+1FCE GREEK PSILI AND OXIA
+ : 1FBF + 0301
+1FCF GREEK PSILI AND PERISPOMENI
+ : 1FBF + 0342
+1FD0 GREEK SMALL LETTER IOTA WITH VRACHY
+ : 03B9 + 0306
+1FD1 GREEK SMALL LETTER IOTA WITH MACRON
+ : 03B9 + 0304
+1FD2 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
+ : 03CA + 0300
+1FD3 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
+ : 03CA + 0301
+1FD4 <reserved>
+1FD5 <reserved>
+1FD6 GREEK SMALL LETTER IOTA WITH PERISPOMENI
+ : 03B9 + 0342
+1FD7 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
+ : 03CA + 0342
+1FD8 GREEK CAPITAL LETTER IOTA WITH VRACHY
+ : 0399 + 0306
+1FD9 GREEK CAPITAL LETTER IOTA WITH MACRON
+ : 0399 + 0304
+1FDA GREEK CAPITAL LETTER IOTA WITH VARIA
+ : 0399 + 0300
+1FDB GREEK CAPITAL LETTER IOTA WITH OXIA
+ : 0399 + 0301
+1FDC <reserved>
+1FDD GREEK DASIA AND VARIA
+ : 1FFE + 0300
+1FDE GREEK DASIA AND OXIA
+ : 1FFE + 0301
+1FDF GREEK DASIA AND PERISPOMENI
+ : 1FFE + 0342
+1FE0 GREEK SMALL LETTER UPSILON WITH VRACHY
+ : 03C5 + 0306
+1FE1 GREEK SMALL LETTER UPSILON WITH MACRON
+ : 03C5 + 0304
+1FE2 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
+ : 03CB + 0300
+1FE3 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
+ : 03CB + 0301
+1FE4 GREEK SMALL LETTER RHO WITH PSILI
+ : 03C1 + 0313
+1FE5 GREEK SMALL LETTER RHO WITH DASIA
+ : 03C1 + 0314
+1FE6 GREEK SMALL LETTER UPSILON WITH PERISPOMENI
+ : 03C5 + 0342
+1FE7 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
+ : 03CB + 0342
+1FE8 GREEK CAPITAL LETTER UPSILON WITH VRACHY
+ : 03A5 + 0306
+1FE9 GREEK CAPITAL LETTER UPSILON WITH MACRON
+ : 03A5 + 0304
+1FEA GREEK CAPITAL LETTER UPSILON WITH VARIA
+ : 03A5 + 0300
+1FEB GREEK CAPITAL LETTER UPSILON WITH OXIA
+ : 03A5 + 0301
+1FEC GREEK CAPITAL LETTER RHO WITH DASIA
+ : 03A1 + 0314
+1FED GREEK DIALYTIKA AND VARIA
+ : 00A8 + 0300
+1FEE GREEK DIALYTIKA AND OXIA
+ : 00A8 + 0301
+1FEF GREEK VARIA
+ : 0060
+1FF0 <reserved>
+1FF1 <reserved>
+1FF2 GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
+ : 1F7C + 0345
+1FF3 GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
+ : 03C9 + 0345
+1FF4 GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
+ : 1F79 + 0345
+1FF5 <reserved>
+1FF6 GREEK SMALL LETTER OMEGA WITH PERISPOMENI
+ : 03C9 + 0342
+1FF7 GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
+ : 1FF6 + 0345
+1FF8 GREEK CAPITAL LETTER OMICRON WITH VARIA
+ : 039F + 0300
+1FF9 GREEK CAPITAL LETTER OMICRON WITH OXIA
+ : 039F + 0301
+1FFA GREEK CAPITAL LETTER OMEGA WITH VARIA
+ : 03A9 + 0300
+1FFB GREEK CAPITAL LETTER OMEGA WITH OXIA
+ : 03A9 + 0301
+1FFC GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
+ : 03A9 + 0345
+1FFD GREEK OXIA
+ : 00B4
+1FFE GREEK DASIA
+ # 0020 + 0314
+@@ 2000 General Punctuation 206F
+@ General punctuation
+2000 EN QUAD
+ : 2002
+2001 EM QUAD
+ : 2003
+2002 EN SPACE
+ # 0020
+2003 EM SPACE
+ # 0020
+2004 THREE-PER-EM SPACE
+ # 0020
+2005 FOUR-PER-EM SPACE
+ # 0020
+2006 SIX-PER-EM SPACE
+ # 0020
+2007 FIGURE SPACE
+ # <noBreak> + 0020
+2008 PUNCTUATION SPACE
+ # 0020
+2009 THIN SPACE
+ # 0020
+200A HAIR SPACE
+ # 0020
+200B ZERO WIDTH SPACE
+200C ZERO WIDTH NON-JOINER
+ = ZWNJ ("zwinj")
+200D ZERO WIDTH JOINER
+ = ZWJ ("zawj")
+200E LEFT-TO-RIGHT MARK
+ = LRM
+200F RIGHT-TO-LEFT MARK
+ = RLM
+2010 HYPHEN
+ x (hyphen-minus - 002D)
+2011 NON-BREAKING HYPHEN
+ x (hyphen-minus - 002D)
+ # <noBreak> + 2010
+2012 FIGURE DASH
+2013 EN DASH
+2014 EM DASH
+ x (katakana-hiragana prolonged sound mark - 30FC)
+2015 HORIZONTAL BAR
+ = QUOTATION DASH
+ * long dash introducing quoted text
+2016 DOUBLE VERTICAL LINE
+ * used in pairs to indicate norm of a matrix
+ x (parallel to - 2225)
+2017 DOUBLE LOW LINE
+ = SPACING DOUBLE UNDERSCORE
+ * this is a spacing character
+ x (low line - 005F)
+ x (combining double low line - 0333)
+ # 0020 + 0333
+2018 LEFT SINGLE QUOTATION MARK
+ = SINGLE TURNED COMMA QUOTATION MARK
+ * this is the preferred character for opening single quotation mark
+ x (apostrophe - 0027)
+ x (modifier letter turned comma - 02BB)
+ x (heavy single turned comma quotation mark ornament - 275B)
+2019 RIGHT SINGLE QUOTATION MARK
+ = SINGLE COMMA QUOTATION MARK
+ * this is the preferred character for closing single quotation mark
+ x (apostrophe - 0027)
+ x (modifier letter apostrophe - 02BC)
+ x (heavy single comma quotation mark ornament - 275C)
+201A SINGLE LOW-9 QUOTATION MARK
+ = LOW SINGLE COMMA QUOTATION MARK
+ * usually opening, sometimes closing, in European usage
+201B SINGLE HIGH-REVERSED-9 QUOTATION MARK
+ = SINGLE REVERSED COMMA QUOTATION MARK
+ * glyph variant of 2018
+ x (modifier letter reversed comma - 02BD)
+201C LEFT DOUBLE QUOTATION MARK
+ = DOUBLE TURNED COMMA QUOTATION MARK
+ * this is the preferred character for opening quotation mark
+ x (quotation mark - 0022)
+ x (heavy double turned comma quotation mark ornament - 275D)
+ x (reversed double prime quotation mark - 301D)
+201D RIGHT DOUBLE QUOTATION MARK
+ = DOUBLE COMMA QUOTATION MARK
+ * this is the preferred character for closing quotation mark
+ x (quotation mark - 0022)
+ x (double prime - 2033)
+ x (heavy double comma quotation mark ornament - 275E)
+ x (double prime quotation mark - 301E)
+201E DOUBLE LOW-9 QUOTATION MARK
+ = LOW DOUBLE COMMA QUOTATION MARK
+ * usually opening, sometimes closing, in European usage
+ x (low double prime quotation mark - 301F)
+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK
+ = DOUBLE REVERSED COMMA QUOTATION MARK
+ * glyph variant of 201C
+2020 DAGGER
+2021 DOUBLE DAGGER
+2022 BULLET
+ = black small circle
+ x (middle dot - 00B7)
+ x (one dot leader - 2024)
+ x (bullet operator - 2219)
+ x (inverse bullet - 25D8)
+ x (white bullet - 25E6)
+2023 TRIANGULAR BULLET
+ x (end of proof - 220E)
+ x (black right-pointing small triangle - 25B8)
+2024 ONE DOT LEADER
+ x (middle dot - 00B7)
+ x (bullet - 2022)
+ x (bullet operator - 2219)
+ # 002E
+2025 TWO DOT LEADER
+ # 002E + 002E
+2026 HORIZONTAL ELLIPSIS
+ = three dot leader
+ x (vertical ellipsis - 22EE)
+ # 002E + 002E + 002E
+2027 HYPHENATION POINT
+2028 LINE SEPARATOR
+ * may be used to represent this semantic unambiguously
+2029 PARAGRAPH SEPARATOR
+ * may be used to represent this semantic unambiguously
+202A LEFT-TO-RIGHT EMBEDDING
+ = LRE
+202B RIGHT-TO-LEFT EMBEDDING
+ = RLE
+202C POP DIRECTIONAL FORMATTING
+ = PDF
+202D LEFT-TO-RIGHT OVERRIDE
+ = LRO
+202E RIGHT-TO-LEFT OVERRIDE
+ = RLO
+202F <reserved>
+2030 PER MILLE SIGN
+ x (percent sign - 0025)
+2031 PER TEN THOUSAND SIGN
+ x (percent sign - 0025)
+2032 PRIME
+ = minutes
+ = feet
+ x (apostrophe - 0027)
+ x (acute accent - 00B4)
+ x (modifier letter prime - 02B9)
+2033 DOUBLE PRIME
+ = seconds
+ = inches
+ x (quotation mark - 0022)
+ x (modifier letter double prime - 02BA)
+ x (right double quotation mark - 201D)
+ x (ditto mark - 3003)
+ x (double prime quotation mark - 301E)
+ # 2032 + 2032
+2034 TRIPLE PRIME
+ # 2032 + 2032 + 2032
+2035 REVERSED PRIME
+ x (grave accent - 0060)
+2036 REVERSED DOUBLE PRIME
+ x (reversed double prime quotation mark - 301D)
+ # 2035 + 2035
+2037 REVERSED TRIPLE PRIME
+ # 2035 + 2035 + 2035
+2038 CARET
+2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ = LEFT POINTING SINGLE GUILLEMET
+ * usually opening, sometimes closing
+ x (less-than sign - 003C)
+ x (left-pointing angle bracket - 2329)
+ x (left angle bracket - 3008)
+203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ = RIGHT POINTING SINGLE GUILLEMET
+ * usually closing, sometimes opening
+ x (greater-than sign - 003E)
+ x (right-pointing angle bracket - 232A)
+ x (right angle bracket - 3009)
+203B REFERENCE MARK
+ = Japanese kome
+ = Urdu paragraph separator
+203C DOUBLE EXCLAMATION MARK
+ x (exclamation mark - 0021)
+ # 0021 + 0021
+203D INTERROBANG
+ x (question mark - 003F)
+203E OVERLINE
+ = SPACING OVERSCORE
+ # 0020 + 0305
+203F UNDERTIE
+ = Greek enotikon
+2040 CHARACTER TIE
+2041 CARET INSERTION POINT
+ * proofreader's mark: insert here
+ x (right semidirect product - 22CC)
+2042 ASTERISM
+2043 HYPHEN BULLET
+2044 FRACTION SLASH
+ * for composing arbitrary fractions
+ x (solidus - 002F)
+ x (division slash - 2215)
+2045 LEFT SQUARE BRACKET WITH QUILL
+2046 RIGHT SQUARE BRACKET WITH QUILL
+2047 <reserved>
+2048 <reserved>
+2049 <reserved>
+204A <reserved>
+204B <reserved>
+204C <reserved>
+204D <reserved>
+204E <reserved>
+204F <reserved>
+2050 <reserved>
+2051 <reserved>
+2052 <reserved>
+2053 <reserved>
+2054 <reserved>
+2055 <reserved>
+2056 <reserved>
+2057 <reserved>
+2058 <reserved>
+2059 <reserved>
+205A <reserved>
+205B <reserved>
+205C <reserved>
+205D <reserved>
+205E <reserved>
+205F <reserved>
+2060 <reserved>
+2061 <reserved>
+2062 <reserved>
+2063 <reserved>
+2064 <reserved>
+2065 <reserved>
+2066 <reserved>
+2067 <reserved>
+2068 <reserved>
+2069 <reserved>
+206A INHIBIT SYMMETRIC SWAPPING
+206B ACTIVATE SYMMETRIC SWAPPING
+206C INHIBIT ARABIC FORM SHAPING
+206D ACTIVATE ARABIC FORM SHAPING
+206E NATIONAL DIGIT SHAPES
+206F NOMINAL DIGIT SHAPES
+@@ 2070 Superscripts and Subscripts 209F
+@ Superscripts and subscripts
+2070 SUPERSCRIPT ZERO
+ # <super> + 0030
+2071 <reserved>
+ x (superscript one - 00B9)
+2072 <reserved>
+ x (superscript two - 00B2)
+2073 <reserved>
+ x (superscript three - 00B3)
+2074 SUPERSCRIPT FOUR
+ # <super> + 0034
+2075 SUPERSCRIPT FIVE
+ # <super> + 0035
+2076 SUPERSCRIPT SIX
+ # <super> + 0036
+2077 SUPERSCRIPT SEVEN
+ # <super> + 0037
+2078 SUPERSCRIPT EIGHT
+ # <super> + 0038
+2079 SUPERSCRIPT NINE
+ # <super> + 0039
+207A SUPERSCRIPT PLUS SIGN
+ # <super> + 002B
+207B SUPERSCRIPT MINUS
+ # <super> + 2212
+207C SUPERSCRIPT EQUALS SIGN
+ # <super> + 003D
+207D SUPERSCRIPT LEFT PARENTHESIS
+ # <super> + 0028
+207E SUPERSCRIPT RIGHT PARENTHESIS
+ # <super> + 0029
+207F SUPERSCRIPT LATIN SMALL LETTER N
+ # <super> + 006E
+2080 SUBSCRIPT ZERO
+ # <sub> + 0030
+2081 SUBSCRIPT ONE
+ # <sub> + 0031
+2082 SUBSCRIPT TWO
+ # <sub> + 0032
+2083 SUBSCRIPT THREE
+ # <sub> + 0033
+2084 SUBSCRIPT FOUR
+ # <sub> + 0034
+2085 SUBSCRIPT FIVE
+ # <sub> + 0035
+2086 SUBSCRIPT SIX
+ # <sub> + 0036
+2087 SUBSCRIPT SEVEN
+ # <sub> + 0037
+2088 SUBSCRIPT EIGHT
+ # <sub> + 0038
+2089 SUBSCRIPT NINE
+ # <sub> + 0039
+208A SUBSCRIPT PLUS SIGN
+ # <sub> + 002B
+208B SUBSCRIPT MINUS
+ # <sub> + 2212
+208C SUBSCRIPT EQUALS SIGN
+ # <sub> + 003D
+208D SUBSCRIPT LEFT PARENTHESIS
+ # <sub> + 0028
+208E SUBSCRIPT RIGHT PARENTHESIS
+ # <sub> + 0029
+@@ 20A0 Currency Symbols 20CF
+@ Currency symbols
+ x (dollar sign - 0024)
+ x (cent sign - 00A2)
+ x (pound sign - 00A3)
+ x (currency sign - 00A4)
+ x (yen sign - 00A5)
+ x (bengali rupee mark - 09F2)
+ x (bengali rupee sign - 09F3)
+ x (thai currency symbol baht - 0E3F)
+20A0 EURO-CURRENCY SIGN
+20A1 COLON SIGN
+ * Costa Rica, El Salvador
+20A2 CRUZEIRO SIGN
+ * Brazil
+20A3 FRENCH FRANC SIGN
+ * France
+20A4 LIRA SIGN
+ * Italy, Turkey
+ x (pound sign - 00A3)
+20A5 MILL SIGN
+ * USA (1/10 cent)
+20A6 NAIRA SIGN
+ * Nigeria
+20A7 PESETA SIGN
+ * Spain
+20A8 RUPEE SIGN
+ * India
+ # 0052 + 0073
+20A9 WON SIGN
+ * Korea
+20AA NEW SHEQEL SIGN
+ * Israel
+20AB DONG SIGN
+ * Vietnam
+@@ 20D0 Combining Diacritical Marks for Symbols 20FF
+@ Combining diacritical marks for symbols
+20D0 COMBINING LEFT HARPOON ABOVE
+20D1 COMBINING RIGHT HARPOON ABOVE
+ * vector
+20D2 COMBINING LONG VERTICAL LINE OVERLAY
+20D3 COMBINING SHORT VERTICAL LINE OVERLAY
+ * negation
+20D4 COMBINING ANTICLOCKWISE ARROW ABOVE
+20D5 COMBINING CLOCKWISE ARROW ABOVE
+ * rotation
+20D6 COMBINING LEFT ARROW ABOVE
+20D7 COMBINING RIGHT ARROW ABOVE
+ * vector
+20D8 COMBINING RING OVERLAY
+20D9 COMBINING CLOCKWISE RING OVERLAY
+20DA COMBINING ANTICLOCKWISE RING OVERLAY
+20DB COMBINING THREE DOTS ABOVE
+ = third derivative
+20DC COMBINING FOUR DOTS ABOVE
+ = fourth derivative
+@ Enclosing diacritics
+20DD COMBINING ENCLOSING CIRCLE
+ = JIS composition circle
+ x (white circle - 25CB)
+ x (large circle - 25EF)
+ x (ideographic number zero - 3007)
+20DE COMBINING ENCLOSING SQUARE
+20DF COMBINING ENCLOSING DIAMOND
+20E0 COMBINING ENCLOSING CIRCLE BACKSLASH
+ * prohibition
+@ Additional diacritics
+20E1 COMBINING LEFT RIGHT ARROW ABOVE
+ * tensor
+@@ 2100 Letterlike Symbols 214F
+@ Letterlike symbols
+2100 ACCOUNT OF
+2101 ADDRESSED TO THE SUBJECT
+2102 DOUBLE-STRUCK CAPITAL C
+ = the set of complex numbers
+ x (latin capital letter c - 0043)
+ # <font> + 0043
+2103 DEGREE CELSIUS
+ = degrees Centigrade
+ # 00B0 + 0043
+2104 CENTRE LINE SYMBOL
+ = clone
+2105 CARE OF
+2106 CADA UNA
+2107 EULER CONSTANT
+ x (latin capital letter e - 0045)
+ x (latin capital letter open e - 0190)
+ # 0190
+2108 SCRUPLE
+2109 DEGREE FAHRENHEIT
+ # 00B0 + 0046
+210A SCRIPT SMALL G
+ = real number symbol
+ x (latin small letter g - 0067)
+ # <font> + 0067
+210B SCRIPT CAPITAL H
+ = Hamiltonian function
+ x (latin capital letter h - 0048)
+ # <font> + 0048
+210C BLACK-LETTER CAPITAL H
+ x (latin capital letter h - 0048)
+ # <font> + 0048
+210D DOUBLE-STRUCK CAPITAL H
+ x (latin capital letter h - 0048)
+ # <font> + 0048
+210E PLANCK CONSTANT
+ x (latin small letter h - 0068)
+ # <font> + 0068
+210F PLANCK CONSTANT OVER TWO PI
+ x (latin small letter h with stroke - 0127)
+ x (cyrillic small letter tshe - 045B)
+ # <font> + 0127
+2110 SCRIPT CAPITAL I
+ x (latin capital letter i - 0049)
+ # <font> + 0049
+2111 BLACK-LETTER CAPITAL I
+ = imaginary part
+ x (latin capital letter i - 0049)
+ # <font> + 0049
+2112 SCRIPT CAPITAL L
+ = Laplace symbol
+ x (latin capital letter l - 004C)
+ # <font> + 004C
+2113 SCRIPT SMALL L
+ = liter
+ x (latin small letter l - 006C)
+ # <font> + 006C
+2114 L B BAR SYMBOL
+ = pounds
+2115 DOUBLE-STRUCK CAPITAL N
+ = natural number
+ x (latin capital letter n - 004E)
+ # <font> + 004E
+2116 NUMERO SIGN
+ # 004E + 006F
+2117 SOUND RECORDING COPYRIGHT
+ = published
+ x (copyright sign - 00A9)
+2118 SCRIPT CAPITAL P
+ = per
+ = power set
+ = Weierstrass elliptic function
+ x (latin capital letter p - 0050)
+ # <font> + 0050
+2119 DOUBLE-STRUCK CAPITAL P
+ x (latin capital letter p - 0050)
+ # <font> + 0050
+211A DOUBLE-STRUCK CAPITAL Q
+ = the set of rational numbers
+ x (latin capital letter q - 0051)
+ # <font> + 0051
+211B SCRIPT CAPITAL R
+ = Riemann Integral
+ x (latin capital letter r - 0052)
+ # <font> + 0052
+211C BLACK-LETTER CAPITAL R
+ = REAL PART SYMBOL
+ x (latin capital letter r - 0052)
+ # <font> + 0052
+211D DOUBLE-STRUCK CAPITAL R
+ = the set of real numbers
+ x (latin capital letter r - 0052)
+ # <font> + 0052
+211E PRESCRIPTION TAKE
+ = recipe
+ = cross ratio
+211F RESPONSE
+2120 SERVICE MARK
+ # <super> + 0053 + 004D
+2121 TELEPHONE SIGN
+ # <super> + 0054 + 0045 + 004C
+2122 TRADE MARK SIGN
+ # <super> + 0054 + 004D
+2123 VERSICLE
+2124 DOUBLE-STRUCK CAPITAL Z
+ = the set of integers
+ x (latin capital letter z - 005A)
+ # <font> + 005A
+2125 OUNCE SIGN
+ x (latin small letter ezh - 0292)
+2126 OHM SIGN
+ = resistance
+ x (greek capital letter omega - 03A9)
+ : 03A9
+2127 INVERTED OHM SIGN
+ = conductance
+ * typographically a turned greek capital letter omega
+ x (latin capital letter upsilon - 01B1)
+ x (greek capital letter omega - 03A9)
+2128 BLACK-LETTER CAPITAL Z
+ x (latin capital letter z - 005A)
+ # <font> + 005A
+2129 TURNED GREEK SMALL LETTER IOTA
+ * unique element fulfilling a description (logic)
+ x (greek small letter iota - 03B9)
+212A KELVIN SIGN
+ = degrees Kelvin
+ x (latin capital letter k - 004B)
+ : 004B
+212B ANGSTROM SIGN
+ x (latin capital letter a with ring above - 00C5)
+ : 00C5
+212C SCRIPT CAPITAL B
+ = Bernoulli function
+ x (latin capital letter b - 0042)
+ # <font> + 0042
+212D BLACK-LETTER CAPITAL C
+ x (latin capital letter c - 0043)
+ # <font> + 0043
+212E ESTIMATED SYMBOL
+ * used in European packaging
+ x (latin small letter e - 0065)
+212F SCRIPT SMALL E
+ = error
+ x (latin small letter e - 0065)
+ # <font> + 0065
+2130 SCRIPT CAPITAL E
+ = EMF (Electro-Magnetic Force)
+ x (latin capital letter e - 0045)
+ # <font> + 0045
+2131 SCRIPT CAPITAL F
+ = Fourier transform
+ x (latin capital letter f - 0046)
+ # <font> + 0046
+2132 TURNED CAPITAL F
+ x (latin capital letter f - 0046)
+2133 SCRIPT CAPITAL M
+ = M-matrix (physics)
+ x (latin capital letter m - 004D)
+ # <font> + 004D
+2134 SCRIPT SMALL O
+ = order; of inferior order to
+ x (latin small letter o - 006F)
+ # <font> + 006F
+2135 ALEF SYMBOL
+ = first transfinite cardinal (countable)
+ x (hebrew letter alef - 05D0)
+ # 05D0
+2136 BET SYMBOL
+ = second transfinite cardinal (the continuum)
+ x (hebrew letter bet - 05D1)
+ # 05D1
+2137 GIMEL SYMBOL
+ = third transfinite cardinal (functions of a real variable)
+ x (hebrew letter gimel - 05D2)
+ # 05D2
+2138 DALET SYMBOL
+ = fourth transfinite cardinal
+ x (hebrew letter dalet - 05D3)
+ # 05D3
+@@ 2150 Number Forms 218F
+@ Number forms
+2150 <reserved>
+ x (vulgar fraction one quarter - 00BC)
+2151 <reserved>
+ x (vulgar fraction one half - 00BD)
+2152 <reserved>
+ x (vulgar fraction three quarters - 00BE)
+2153 VULGAR FRACTION ONE THIRD
+ # <fraction> + 0031 + 2044 + 0033
+2154 VULGAR FRACTION TWO THIRDS
+ # <fraction> + 0032 + 2044 + 0033
+2155 VULGAR FRACTION ONE FIFTH
+ # <fraction> + 0031 + 2044 + 0035
+2156 VULGAR FRACTION TWO FIFTHS
+ # <fraction> + 0032 + 2044 + 0035
+2157 VULGAR FRACTION THREE FIFTHS
+ # <fraction> + 0033 + 2044 + 0035
+2158 VULGAR FRACTION FOUR FIFTHS
+ # <fraction> + 0034 + 2044 + 0035
+2159 VULGAR FRACTION ONE SIXTH
+ # <fraction> + 0031 + 2044 + 0036
+215A VULGAR FRACTION FIVE SIXTHS
+ # <fraction> + 0035 + 2044 + 0036
+215B VULGAR FRACTION ONE EIGHTH
+ # <fraction> + 0031 + 2044 + 0038
+215C VULGAR FRACTION THREE EIGHTHS
+ # <fraction> + 0033 + 2044 + 0038
+215D VULGAR FRACTION FIVE EIGHTHS
+ # <fraction> + 0035 + 2044 + 0038
+215E VULGAR FRACTION SEVEN EIGHTHS
+ # <fraction> + 0037 + 2044 + 0038
+215F FRACTION NUMERATOR ONE
+ # <fraction> + 0031 + 2044
+2160 ROMAN NUMERAL ONE
+ # 0049
+2161 ROMAN NUMERAL TWO
+ # 0049 + 0049
+2162 ROMAN NUMERAL THREE
+ # 0049 + 0049 + 0049
+2163 ROMAN NUMERAL FOUR
+ # 0049 + 0056
+2164 ROMAN NUMERAL FIVE
+ # 0056
+2165 ROMAN NUMERAL SIX
+ # 0056 + 0049
+2166 ROMAN NUMERAL SEVEN
+ # 0056 + 0049 + 0049
+2167 ROMAN NUMERAL EIGHT
+ # 0056 + 0049 + 0049 + 0049
+2168 ROMAN NUMERAL NINE
+ # 0049 + 0058
+2169 ROMAN NUMERAL TEN
+ # 0058
+216A ROMAN NUMERAL ELEVEN
+ # 0058 + 0049
+216B ROMAN NUMERAL TWELVE
+ # 0058 + 0049 + 0049
+216C ROMAN NUMERAL FIFTY
+ # 004C
+216D ROMAN NUMERAL ONE HUNDRED
+ # 0043
+216E ROMAN NUMERAL FIVE HUNDRED
+ # 0044
+216F ROMAN NUMERAL ONE THOUSAND
+ # 004D
+2170 SMALL ROMAN NUMERAL ONE
+ # 0069
+2171 SMALL ROMAN NUMERAL TWO
+ # 0069 + 0069
+2172 SMALL ROMAN NUMERAL THREE
+ # 0069 + 0069 + 0069
+2173 SMALL ROMAN NUMERAL FOUR
+ # 0069 + 0076
+2174 SMALL ROMAN NUMERAL FIVE
+ # 0076
+2175 SMALL ROMAN NUMERAL SIX
+ # 0076 + 0069
+2176 SMALL ROMAN NUMERAL SEVEN
+ # 0076 + 0069 + 0069
+2177 SMALL ROMAN NUMERAL EIGHT
+ # 0076 + 0069 + 0069 + 0069
+2178 SMALL ROMAN NUMERAL NINE
+ # 0069 + 0078
+2179 SMALL ROMAN NUMERAL TEN
+ # 0078
+217A SMALL ROMAN NUMERAL ELEVEN
+ # 0078 + 0069
+217B SMALL ROMAN NUMERAL TWELVE
+ # 0078 + 0069 + 0069
+217C SMALL ROMAN NUMERAL FIFTY
+ # 006C
+217D SMALL ROMAN NUMERAL ONE HUNDRED
+ # 0063
+217E SMALL ROMAN NUMERAL FIVE HUNDRED
+ # 0064
+217F SMALL ROMAN NUMERAL ONE THOUSAND
+ # 006D
+2180 ROMAN NUMERAL ONE THOUSAND C D
+2181 ROMAN NUMERAL FIVE THOUSAND
+2182 ROMAN NUMERAL TEN THOUSAND
+@@ 2190 Arrows 21FF
+@ Arrows
+2190 LEFTWARDS ARROW
+2191 UPWARDS ARROW
+2192 RIGHTWARDS ARROW
+2193 DOWNWARDS ARROW
+2194 LEFT RIGHT ARROW
+2195 UP DOWN ARROW
+2196 NORTH WEST ARROW
+2197 NORTH EAST ARROW
+2198 SOUTH EAST ARROW
+2199 SOUTH WEST ARROW
+219A LEFTWARDS ARROW WITH STROKE
+219B RIGHTWARDS ARROW WITH STROKE
+219C LEFTWARDS WAVE ARROW
+219D RIGHTWARDS WAVE ARROW
+219E LEFTWARDS TWO HEADED ARROW
+219F UPWARDS TWO HEADED ARROW
+21A0 RIGHTWARDS TWO HEADED ARROW
+21A1 DOWNWARDS TWO HEADED ARROW
+ = form feed
+21A2 LEFTWARDS ARROW WITH TAIL
+21A3 RIGHTWARDS ARROW WITH TAIL
+21A4 LEFTWARDS ARROW FROM BAR
+21A5 UPWARDS ARROW FROM BAR
+21A6 RIGHTWARDS ARROW FROM BAR
+21A7 DOWNWARDS ARROW FROM BAR
+ = depth symbol
+21A8 UP DOWN ARROW WITH BASE
+21A9 LEFTWARDS ARROW WITH HOOK
+21AA RIGHTWARDS ARROW WITH HOOK
+21AB LEFTWARDS ARROW WITH LOOP
+21AC RIGHTWARDS ARROW WITH LOOP
+21AD LEFT RIGHT WAVE ARROW
+21AE LEFT RIGHT ARROW WITH STROKE
+21AF DOWNWARDS ZIGZAG ARROW
+ = electrolysis
+21B0 UPWARDS ARROW WITH TIP LEFTWARDS
+21B1 UPWARDS ARROW WITH TIP RIGHTWARDS
+21B2 DOWNWARDS ARROW WITH TIP LEFTWARDS
+21B3 DOWNWARDS ARROW WITH TIP RIGHTWARDS
+21B4 RIGHTWARDS ARROW WITH CORNER DOWNWARDS
+ = line feed
+21B5 DOWNWARDS ARROW WITH CORNER LEFTWARDS
+ = carriage return
+ = new line
+21B6 ANTICLOCKWISE TOP SEMICIRCLE ARROW
+21B7 CLOCKWISE TOP SEMICIRCLE ARROW
+21B8 NORTH WEST ARROW TO LONG BAR
+ = home
+21B9 LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR
+ = tab with shift tab
+21BA ANTICLOCKWISE OPEN CIRCLE ARROW
+21BB CLOCKWISE OPEN CIRCLE ARROW
+21BC LEFTWARDS HARPOON WITH BARB UPWARDS
+21BD LEFTWARDS HARPOON WITH BARB DOWNWARDS
+21BE UPWARDS HARPOON WITH BARB RIGHTWARDS
+21BF UPWARDS HARPOON WITH BARB LEFTWARDS
+21C0 RIGHTWARDS HARPOON WITH BARB UPWARDS
+21C1 RIGHTWARDS HARPOON WITH BARB DOWNWARDS
+21C2 DOWNWARDS HARPOON WITH BARB RIGHTWARDS
+21C3 DOWNWARDS HARPOON WITH BARB LEFTWARDS
+21C4 RIGHTWARDS ARROW OVER LEFTWARDS ARROW
+21C5 UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
+21C6 LEFTWARDS ARROW OVER RIGHTWARDS ARROW
+21C7 LEFTWARDS PAIRED ARROWS
+21C8 UPWARDS PAIRED ARROWS
+21C9 RIGHTWARDS PAIRED ARROWS
+21CA DOWNWARDS PAIRED ARROWS
+21CB LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
+21CC RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
+21CD LEFTWARDS DOUBLE ARROW WITH STROKE
+21CE LEFT RIGHT DOUBLE ARROW WITH STROKE
+21CF RIGHTWARDS DOUBLE ARROW WITH STROKE
+21D0 LEFTWARDS DOUBLE ARROW
+21D1 UPWARDS DOUBLE ARROW
+21D2 RIGHTWARDS DOUBLE ARROW
+21D3 DOWNWARDS DOUBLE ARROW
+21D4 LEFT RIGHT DOUBLE ARROW
+21D5 UP DOWN DOUBLE ARROW
+21D6 NORTH WEST DOUBLE ARROW
+21D7 NORTH EAST DOUBLE ARROW
+21D8 SOUTH EAST DOUBLE ARROW
+21D9 SOUTH WEST DOUBLE ARROW
+21DA LEFTWARDS TRIPLE ARROW
+21DB RIGHTWARDS TRIPLE ARROW
+21DC LEFTWARDS SQUIGGLE ARROW
+21DD RIGHTWARDS SQUIGGLE ARROW
+21DE UPWARDS ARROW WITH DOUBLE STROKE
+ = page up
+21DF DOWNWARDS ARROW WITH DOUBLE STROKE
+ = page down
+21E0 LEFTWARDS DASHED ARROW
+21E1 UPWARDS DASHED ARROW
+21E2 RIGHTWARDS DASHED ARROW
+21E3 DOWNWARDS DASHED ARROW
+21E4 LEFTWARDS ARROW TO BAR
+ = leftward tab
+21E5 RIGHTWARDS ARROW TO BAR
+ = rightward tab
+21E6 LEFTWARDS WHITE ARROW
+21E7 UPWARDS WHITE ARROW
+ = shift
+21E8 RIGHTWARDS WHITE ARROW
+21E9 DOWNWARDS WHITE ARROW
+21EA UPWARDS WHITE ARROW FROM BAR
+ = caps lock
+@@ 2200 Mathematical Operators 22FF
+@ Mathematical operators
+2200 FOR ALL
+2201 COMPLEMENT
+ x (latin letter stretched c - 0297)
+2202 PARTIAL DIFFERENTIAL
+2203 THERE EXISTS
+2204 THERE DOES NOT EXIST
+ : 2203 + 0338
+2205 EMPTY SET
+ = null set
+ = diameter symbol
+ x (latin capital letter o with stroke - 00D8)
+2206 INCREMENT
+ = Laplace operator
+ = forward difference
+ x (greek capital letter delta - 0394)
+ x (white up-pointing triangle - 25B3)
+2207 NABLA
+ = Laplace operator (written with superscript 2)
+ = backward difference
+ = del
+ x (white down-pointing triangle - 25BD)
+2208 ELEMENT OF
+2209 NOT AN ELEMENT OF
+ : 2208 + 0338
+220A SMALL ELEMENT OF
+220B CONTAINS AS MEMBER
+ = such that
+220C DOES NOT CONTAIN AS MEMBER
+ : 220B + 0338
+220D SMALL CONTAINS AS MEMBER
+220E END OF PROOF
+ = qed
+ x (triangular bullet - 2023)
+220F N-ARY PRODUCT
+ = product sign
+ x (greek capital letter pi - 03A0)
+2210 N-ARY COPRODUCT
+ = coproduct sign
+2211 N-ARY SUMMATION
+ = summation sign
+ x (greek capital letter sigma - 03A3)
+2212 MINUS SIGN
+ x (hyphen-minus - 002D)
+2213 MINUS-OR-PLUS SIGN
+ x (plus-minus sign - 00B1)
+2214 DOT PLUS
+2215 DIVISION SLASH
+ * generic division operator
+ x (solidus - 002F)
+ x (fraction slash - 2044)
+2216 SET MINUS
+ x (reverse solidus - 005C)
+2217 ASTERISK OPERATOR
+ x (asterisk - 002A)
+2218 RING OPERATOR
+ = composite function
+ = APL jot
+ x (degree sign - 00B0)
+ x (white bullet - 25E6)
+2219 BULLET OPERATOR
+ x (middle dot - 00B7)
+ x (bullet - 2022)
+ x (one dot leader - 2024)
+221A SQUARE ROOT
+ = radical sign
+ x (check mark - 2713)
+221B CUBE ROOT
+221C FOURTH ROOT
+221D PROPORTIONAL TO
+ x (greek small letter alpha - 03B1)
+221E INFINITY
+221F RIGHT ANGLE
+2220 ANGLE
+2221 MEASURED ANGLE
+2222 SPHERICAL ANGLE
+ = angle arc
+2223 DIVIDES
+ = such that
+ = APL stile
+ x (vertical line - 007C)
+ x (latin letter dental click - 01C0)
+2224 DOES NOT DIVIDE
+ : 2223 + 0338
+2225 PARALLEL TO
+ x (latin letter lateral click - 01C1)
+ x (double vertical line - 2016)
+2226 NOT PARALLEL TO
+ : 2225 + 0338
+2227 LOGICAL AND
+ = wedge
+2228 LOGICAL OR
+ = vee
+2229 INTERSECTION
+ = cap
+222A UNION
+ = cup
+222B INTEGRAL
+ x (latin small letter esh - 0283)
+222C DOUBLE INTEGRAL
+ # 222B + 222B
+222D TRIPLE INTEGRAL
+ # 222B + 222B + 222B
+222E CONTOUR INTEGRAL
+222F SURFACE INTEGRAL
+ # 222E + 222E
+2230 VOLUME INTEGRAL
+ # 222E + 222E + 222E
+2231 CLOCKWISE INTEGRAL
+2232 CLOCKWISE CONTOUR INTEGRAL
+2233 ANTICLOCKWISE CONTOUR INTEGRAL
+2234 THEREFORE
+2235 BECAUSE
+2236 RATIO
+ x (colon - 003A)
+2237 PROPORTION
+2238 DOT MINUS
+ = symmetric difference
+2239 EXCESS
+223A GEOMETRIC PROPORTION
+223B HOMOTHETIC
+223C TILDE OPERATOR
+ = varies with (proportional to)
+ = difference between
+ = similar to
+ = APL tilde
+ = cycle
+ = not
+ x (tilde - 007E)
+ x (small tilde - 02DC)
+223D REVERSED TILDE
+ = lazy S
+ * reversed tilde and lazy S are glyph variants
+223E INVERTED LAZY S
+ = most positive
+223F SINE WAVE
+ = alternating current
+2240 WREATH PRODUCT
+2241 NOT TILDE
+ : 007E + 0338
+2242 MINUS TILDE
+2243 ASYMPTOTICALLY EQUAL TO
+2244 NOT ASYMPTOTICALLY EQUAL TO
+ : 2243 + 0338
+2245 APPROXIMATELY EQUAL TO
+2246 APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
+2247 NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
+ : 2245 + 0338
+2248 ALMOST EQUAL TO
+ = asymptotic to
+2249 NOT ALMOST EQUAL TO
+ : 2248 + 0338
+224A ALMOST EQUAL OR EQUAL TO
+224B TRIPLE TILDE
+224C ALL EQUAL TO
+ * reversed tilde and lazy S are glyph variants
+224D EQUIVALENT TO
+224E GEOMETRICALLY EQUIVALENT TO
+224F DIFFERENCE BETWEEN
+2250 APPROACHES THE LIMIT
+2251 GEOMETRICALLY EQUAL TO
+2252 APPROXIMATELY EQUAL TO OR THE IMAGE OF
+ = nearly equals
+2253 IMAGE OF OR APPROXIMATELY EQUAL TO
+2254 COLON EQUALS
+2255 EQUALS COLON
+2256 RING IN EQUAL TO
+2257 RING EQUAL TO
+ = approximately equal to
+2258 CORRESPONDS TO
+2259 ESTIMATES
+ = corresponds to
+225A EQUIANGULAR TO
+225B STAR EQUALS
+225C DELTA EQUAL TO
+ = equiangular
+ = equal to by definition
+225D EQUAL TO BY DEFINITION
+225E MEASURED BY
+225F QUESTIONED EQUAL TO
+2260 NOT EQUAL TO
+ x (equals sign - 003D)
+ x (latin letter alveolar click - 01C2)
+ : 003D + 0338
+2261 IDENTICAL TO
+2262 NOT IDENTICAL TO
+ : 2261 + 0338
+2263 STRICTLY EQUIVALENT TO
+2264 LESS-THAN OR EQUAL TO
+2265 GREATER-THAN OR EQUAL TO
+2266 LESS-THAN OVER EQUAL TO
+2267 GREATER-THAN OVER EQUAL TO
+2268 LESS-THAN BUT NOT EQUAL TO
+2269 GREATER-THAN BUT NOT EQUAL TO
+226A MUCH LESS-THAN
+ x (left-pointing double angle quotation mark - 00AB)
+226B MUCH GREATER-THAN
+ x (right-pointing double angle quotation mark - 00BB)
+226C BETWEEN
+ = plaintiff
+ = quantic
+226D NOT EQUIVALENT TO
+ : 224D + 0338
+226E NOT LESS-THAN
+ : 003C + 0338
+226F NOT GREATER-THAN
+ : 003E + 0338
+2270 NEITHER LESS-THAN NOR EQUAL TO
+ : 2264 + 0338
+2271 NEITHER GREATER-THAN NOR EQUAL TO
+ : 2265 + 0338
+2272 LESS-THAN OR EQUIVALENT TO
+2273 GREATER-THAN OR EQUIVALENT TO
+2274 NEITHER LESS-THAN NOR EQUIVALENT TO
+ : 2272 + 0338
+2275 NEITHER GREATER-THAN NOR EQUIVALENT TO
+ : 2273 + 0338
+2276 LESS-THAN OR GREATER-THAN
+2277 GREATER-THAN OR LESS-THAN
+2278 NEITHER LESS-THAN NOR GREATER-THAN
+ : 2276 + 0338
+2279 NEITHER GREATER-THAN NOR LESS-THAN
+ : 2277 + 0338
+227A PRECEDES
+ = lower rank than
+ x (precedes under relation - 22B0)
+227B SUCCEEDS
+ = higher rank than
+ x (succeeds under relation - 22B1)
+227C PRECEDES OR EQUAL TO
+227D SUCCEEDS OR EQUAL TO
+227E PRECEDES OR EQUIVALENT TO
+227F SUCCEEDS OR EQUIVALENT TO
+2280 DOES NOT PRECEDE
+ : 227A + 0338
+2281 DOES NOT SUCCEED
+ : 227B + 0338
+2282 SUBSET OF
+2283 SUPERSET OF
+2284 NOT A SUBSET OF
+ : 2282 + 0338
+2285 NOT A SUPERSET OF
+ : 2283 + 0338
+2286 SUBSET OF OR EQUAL TO
+2287 SUPERSET OF OR EQUAL TO
+2288 NEITHER A SUBSET OF NOR EQUAL TO
+ : 2286 + 0338
+2289 NEITHER A SUPERSET OF NOR EQUAL TO
+ : 2287 + 0338
+228A SUBSET OF WITH NOT EQUAL TO
+228B SUPERSET OF WITH NOT EQUAL TO
+228C MULTISET
+228D MULTISET MULTIPLICATION
+228E MULTISET UNION
+228F SQUARE IMAGE OF
+2290 SQUARE ORIGINAL OF
+2291 SQUARE IMAGE OF OR EQUAL TO
+2292 SQUARE ORIGINAL OF OR EQUAL TO
+2293 SQUARE CAP
+2294 SQUARE CUP
+2295 CIRCLED PLUS
+ = direct sum
+ = vector pointing into page
+ x (earth - 2641)
+2296 CIRCLED MINUS
+ = symmetric difference
+2297 CIRCLED TIMES
+ = tensor product
+ = vector pointing into page
+2298 CIRCLED DIVISION SLASH
+2299 CIRCLED DOT OPERATOR
+ = direct product
+ = vector pointing out of page
+ x (latin letter BILABIAL CLICK - 0298)
+ x (sun - 2609)
+229A CIRCLED RING OPERATOR
+ x (bullseye - 25CE)
+229B CIRCLED ASTERISK OPERATOR
+229C CIRCLED EQUALS
+229D CIRCLED DASH
+229E SQUARED PLUS
+229F SQUARED MINUS
+22A0 SQUARED TIMES
+ x (ballot box with x - 2612)
+22A1 SQUARED DOT OPERATOR
+22A2 RIGHT TACK
+ = turnstile
+ = proves, implies, yields
+ = reducible
+22A3 LEFT TACK
+ = reverse turnstile
+ = non-theorem, does not yield
+22A4 DOWN TACK
+22A5 UP TACK
+ = orthogonal to
+ = perpendicular
+ * APL and other uses
+22A6 ASSERTION
+ = reduces to
+22A7 MODELS
+22A8 TRUE
+ = statement is true, valid
+ = is a tautology
+ = satisfies
+ = results in
+22A9 FORCES
+22AA TRIPLE VERTICAL BAR RIGHT TURNSTILE
+22AB DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
+22AC DOES NOT PROVE
+ : 22A2 + 0338
+22AD NOT TRUE
+ : 22A8 + 0338
+22AE DOES NOT FORCE
+ : 22A9 + 0338
+22AF NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
+ : 22AB + 0338
+22B0 PRECEDES UNDER RELATION
+ x (precedes - 227A)
+22B1 SUCCEEDS UNDER RELATION
+ x (succeeds - 227B)
+22B2 NORMAL SUBGROUP OF
+22B3 CONTAINS AS NORMAL SUBGROUP
+22B4 NORMAL SUBGROUP OF OR EQUAL TO
+22B5 CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
+22B6 ORIGINAL OF
+22B7 IMAGE OF
+22B8 MULTIMAP
+22B9 HERMITIAN CONJUGATE MATRIX
+22BA INTERCALATE
+22BB XOR
+22BC NAND
+22BD NOR
+22BE RIGHT ANGLE WITH ARC
+22BF RIGHT TRIANGLE
+22C0 N-ARY LOGICAL AND
+22C1 N-ARY LOGICAL OR
+22C2 N-ARY INTERSECTION
+22C3 N-ARY UNION
+22C4 DIAMOND OPERATOR
+ x (white diamond - 25C7)
+22C5 DOT OPERATOR
+ x (middle dot - 00B7)
+22C6 STAR OPERATOR
+ * APL
+ x (black star - 2605)
+22C7 DIVISION TIMES
+22C8 BOWTIE
+ x (ocr bow tie - 2445)
+22C9 LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
+22CA RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
+22CB LEFT SEMIDIRECT PRODUCT
+22CC RIGHT SEMIDIRECT PRODUCT
+ x (caret insertion point - 2041)
+22CD REVERSED TILDE EQUALS
+22CE CURLY LOGICAL OR
+22CF CURLY LOGICAL AND
+22D0 DOUBLE SUBSET
+22D1 DOUBLE SUPERSET
+22D2 DOUBLE INTERSECTION
+22D3 DOUBLE UNION
+22D4 PITCHFORK
+ = proper intersection
+22D5 EQUAL AND PARALLEL TO
+ x (viewdata square - 2317)
+22D6 LESS-THAN WITH DOT
+22D7 GREATER-THAN WITH DOT
+22D8 VERY MUCH LESS-THAN
+22D9 VERY MUCH GREATER-THAN
+22DA LESS-THAN EQUAL TO OR GREATER-THAN
+22DB GREATER-THAN EQUAL TO OR LESS-THAN
+22DC EQUAL TO OR LESS-THAN
+22DD EQUAL TO OR GREATER-THAN
+22DE EQUAL TO OR PRECEDES
+22DF EQUAL TO OR SUCCEEDS
+22E0 DOES NOT PRECEDE OR EQUAL
+ : 227C + 0338
+22E1 DOES NOT SUCCEED OR EQUAL
+ : 227D + 0338
+22E2 NOT SQUARE IMAGE OF OR EQUAL TO
+ : 2291 + 0338
+22E3 NOT SQUARE ORIGINAL OF OR EQUAL TO
+ : 2292 + 0338
+22E4 SQUARE IMAGE OF OR NOT EQUAL TO
+22E5 SQUARE ORIGINAL OF OR NOT EQUAL TO
+22E6 LESS-THAN BUT NOT EQUIVALENT TO
+22E7 GREATER-THAN BUT NOT EQUIVALENT TO
+22E8 PRECEDES BUT NOT EQUIVALENT TO
+22E9 SUCCEEDS BUT NOT EQUIVALENT TO
+22EA NOT NORMAL SUBGROUP OF
+ : 22B2 + 0338
+22EB DOES NOT CONTAIN AS NORMAL SUBGROUP
+ : 22B3 + 0338
+22EC NOT NORMAL SUBGROUP OF OR EQUAL TO
+ : 22B4 + 0338
+22ED DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
+ : 22B5 + 0338
+22EE VERTICAL ELLIPSIS
+ * these four ellipses are used for matrix row/column ellision
+ x (horizontal ellipsis - 2026)
+22EF MIDLINE HORIZONTAL ELLIPSIS
+22F0 UP RIGHT DIAGONAL ELLIPSIS
+22F1 DOWN RIGHT DIAGONAL ELLIPSIS
+@@ 2300 Miscellaneous Technical 23FF
+@ Miscellaneous technical
+2300 DIAMETER SIGN
+2301 <reserved>
+2302 HOUSE
+2303 UP ARROWHEAD
+ x (circumflex accent - 005E)
+ x (modifier letter up arrowhead - 02C4)
+2304 DOWN ARROWHEAD
+2305 PROJECTIVE
+2306 PERSPECTIVE
+2307 WAVY LINE
+ x (wavy dash - 3030)
+2308 LEFT CEILING
+ = APL upstile
+2309 RIGHT CEILING
+230A LEFT FLOOR
+ = APL downstile
+230B RIGHT FLOOR
+230C BOTTOM RIGHT CROP
+ * set of four "crop" corners, arranged facing outward
+230D BOTTOM LEFT CROP
+230E TOP RIGHT CROP
+230F TOP LEFT CROP
+2310 REVERSED NOT SIGN
+ = beginning of line
+ x (not sign - 00AC)
+2311 SQUARE LOZENGE
+2312 ARC
+2313 SEGMENT
+2314 SECTOR
+2315 TELEPHONE RECORDER
+2316 POSITION INDICATOR
+2317 VIEWDATA SQUARE
+ x (equal and parallel to - 22D5)
+2318 PLACE OF INTEREST SIGN
+ = COMMAND KEY
+2319 TURNED NOT SIGN
+ = line marker
+231A WATCH
+231B HOURGLASS
+231C TOP LEFT CORNER
+ * set of four "quine" corners, for quincuncial arrangement
+231D TOP RIGHT CORNER
+231E BOTTOM LEFT CORNER
+231F BOTTOM RIGHT CORNER
+2320 TOP HALF INTEGRAL
+2321 BOTTOM HALF INTEGRAL
+2322 FROWN
+2323 SMILE
+2324 UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS
+ = ENTER KEY
+2325 OPTION KEY
+2326 ERASE TO THE RIGHT
+ = DELETE TO THE RIGHT KEY
+2327 X IN A RECTANGLE BOX
+ = CLEAR KEY
+2328 KEYBOARD
+2329 LEFT-POINTING ANGLE BRACKET
+ = BRA
+ x (less-than sign - 003C)
+ x (single left-pointing angle quotation mark - 2039)
+ x (left angle bracket - 3008)
+ : 3008
+232A RIGHT-POINTING ANGLE BRACKET
+ = KET
+ x (greater-than sign - 003E)
+ x (single right-pointing angle quotation mark - 203A)
+ x (right angle bracket - 3009)
+ : 3009
+232B ERASE TO THE LEFT
+ = DELETE TO THE LEFT KEY
+232C BENZENE RING
+232D CYLINDRICITY
+232E ALL AROUND-PROFILE
+232F SYMMETRY
+2330 TOTAL RUNOUT
+2331 DIMENSION ORIGIN
+2332 CONICAL TAPER
+2333 SLOPE
+2334 COUNTERBORE
+2335 COUNTERSINK
+@ APL
+2336 APL FUNCTIONAL SYMBOL I-BEAM
+2337 APL FUNCTIONAL SYMBOL SQUISH QUAD
+2338 APL FUNCTIONAL SYMBOL QUAD EQUAL
+2339 APL FUNCTIONAL SYMBOL QUAD DIVIDE
+233A APL FUNCTIONAL SYMBOL QUAD DIAMOND
+233B APL FUNCTIONAL SYMBOL QUAD JOT
+233C APL FUNCTIONAL SYMBOL QUAD CIRCLE
+233D APL FUNCTIONAL SYMBOL CIRCLE STILE
+233E APL FUNCTIONAL SYMBOL CIRCLE JOT
+233F APL FUNCTIONAL SYMBOL SLASH BAR
+2340 APL FUNCTIONAL SYMBOL BACKSLASH BAR
+2341 APL FUNCTIONAL SYMBOL QUAD SLASH
+2342 APL FUNCTIONAL SYMBOL QUAD BACKSLASH
+2343 APL FUNCTIONAL SYMBOL QUAD LESS-THAN
+2344 APL FUNCTIONAL SYMBOL QUAD GREATER-THAN
+2345 APL FUNCTIONAL SYMBOL LEFTWARDS VANE
+2346 APL FUNCTIONAL SYMBOL RIGHTWARDS VANE
+2347 APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW
+2348 APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW
+2349 APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH
+234A APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR
+234B APL FUNCTIONAL SYMBOL DELTA STILE
+234C APL FUNCTIONAL SYMBOL QUAD DOWN CARET
+234D APL FUNCTIONAL SYMBOL QUAD DELTA
+234E APL FUNCTIONAL SYMBOL DOWN TACK JOT
+234F APL FUNCTIONAL SYMBOL UPWARDS VANE
+2350 APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW
+2351 APL FUNCTIONAL SYMBOL UP TACK OVERBAR
+2352 APL FUNCTIONAL SYMBOL DEL STILE
+2353 APL FUNCTIONAL SYMBOL QUAD UP CARET
+2354 APL FUNCTIONAL SYMBOL QUAD DEL
+2355 APL FUNCTIONAL SYMBOL UP TACK JOT
+2356 APL FUNCTIONAL SYMBOL DOWNWARDS VANE
+2357 APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW
+2358 APL FUNCTIONAL SYMBOL QUOTE UNDERBAR
+2359 APL FUNCTIONAL SYMBOL DELTA UNDERBAR
+235A APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR
+235B APL FUNCTIONAL SYMBOL JOT UNDERBAR
+235C APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR
+235D APL FUNCTIONAL SYMBOL UP SHOE JOT
+235E APL FUNCTIONAL SYMBOL QUOTE QUAD
+235F APL FUNCTIONAL SYMBOL CIRCLE STAR
+2360 APL FUNCTIONAL SYMBOL QUAD COLON
+2361 APL FUNCTIONAL SYMBOL UP TACK DIAERESIS
+2362 APL FUNCTIONAL SYMBOL DEL DIAERESIS
+2363 APL FUNCTIONAL SYMBOL STAR DIAERESIS
+2364 APL FUNCTIONAL SYMBOL JOT DIAERESIS
+2365 APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS
+2366 APL FUNCTIONAL SYMBOL DOWN SHOE STILE
+2367 APL FUNCTIONAL SYMBOL LEFT SHOE STILE
+2368 APL FUNCTIONAL SYMBOL TILDE DIAERESIS
+2369 APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS
+236A APL FUNCTIONAL SYMBOL COMMA BAR
+236B APL FUNCTIONAL SYMBOL DEL TILDE
+236C APL FUNCTIONAL SYMBOL ZILDE
+236D APL FUNCTIONAL SYMBOL STILE TILDE
+236E APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR
+236F APL FUNCTIONAL SYMBOL QUAD NOT EQUAL
+2370 APL FUNCTIONAL SYMBOL QUAD QUESTION
+2371 APL FUNCTIONAL SYMBOL DOWN CARET TILDE
+2372 APL FUNCTIONAL SYMBOL UP CARET TILDE
+2373 APL FUNCTIONAL SYMBOL IOTA
+2374 APL FUNCTIONAL SYMBOL RHO
+2375 APL FUNCTIONAL SYMBOL OMEGA
+2376 APL FUNCTIONAL SYMBOL ALPHA UNDERBAR
+2377 APL FUNCTIONAL SYMBOL EPSILON UNDERBAR
+2378 APL FUNCTIONAL SYMBOL IOTA UNDERBAR
+2379 APL FUNCTIONAL SYMBOL OMEGA UNDERBAR
+237A APL FUNCTIONAL SYMBOL ALPHA
+@@ 2400 Control Pictures 243F
+@ Graphic pictures for control codes
+2400 SYMBOL FOR NULL
+2401 SYMBOL FOR START OF HEADING
+2402 SYMBOL FOR START OF TEXT
+2403 SYMBOL FOR END OF TEXT
+2404 SYMBOL FOR END OF TRANSMISSION
+2405 SYMBOL FOR ENQUIRY
+2406 SYMBOL FOR ACKNOWLEDGE
+2407 SYMBOL FOR BELL
+2408 SYMBOL FOR BACKSPACE
+2409 SYMBOL FOR HORIZONTAL TABULATION
+240A SYMBOL FOR LINE FEED
+240B SYMBOL FOR VERTICAL TABULATION
+240C SYMBOL FOR FORM FEED
+240D SYMBOL FOR CARRIAGE RETURN
+240E SYMBOL FOR SHIFT OUT
+240F SYMBOL FOR SHIFT IN
+2410 SYMBOL FOR DATA LINK ESCAPE
+2411 SYMBOL FOR DEVICE CONTROL ONE
+2412 SYMBOL FOR DEVICE CONTROL TWO
+2413 SYMBOL FOR DEVICE CONTROL THREE
+2414 SYMBOL FOR DEVICE CONTROL FOUR
+2415 SYMBOL FOR NEGATIVE ACKNOWLEDGE
+2416 SYMBOL FOR SYNCHRONOUS IDLE
+2417 SYMBOL FOR END OF TRANSMISSION BLOCK
+2418 SYMBOL FOR CANCEL
+2419 SYMBOL FOR END OF MEDIUM
+241A SYMBOL FOR SUBSTITUTE
+241B SYMBOL FOR ESCAPE
+241C SYMBOL FOR FILE SEPARATOR
+241D SYMBOL FOR GROUP SEPARATOR
+241E SYMBOL FOR RECORD SEPARATOR
+241F SYMBOL FOR UNIT SEPARATOR
+2420 SYMBOL FOR SPACE
+2421 SYMBOL FOR DELETE
+2422 BLANK SYMBOL
+ * graphic for space
+ x (latin small letter b with stroke - 0180)
+2423 OPEN BOX
+ * graphic for space
+2424 SYMBOL FOR NEWLINE
+@@ 2440 Optical Character Recognition 245F
+@ OCR
+2440 OCR HOOK
+2441 OCR CHAIR
+2442 OCR FORK
+2443 OCR INVERTED FORK
+2444 OCR BELT BUCKLE
+2445 OCR BOW TIE
+ x (bowtie - 22C8)
+2446 OCR BRANCH BANK IDENTIFICATION
+ = transit
+2447 OCR AMOUNT OF CHECK
+2448 OCR DASH
+ = on us
+2449 OCR CUSTOMER ACCOUNT NUMBER
+ = dash
+244A OCR DOUBLE BACKSLASH
+@@ 2460 Enclosed Alphanumerics 24FF
+@ Circled numbers
+2460 CIRCLED DIGIT ONE
+ # <circle> + 0031
+2461 CIRCLED DIGIT TWO
+ # <circle> + 0032
+2462 CIRCLED DIGIT THREE
+ # <circle> + 0033
+2463 CIRCLED DIGIT FOUR
+ # <circle> + 0034
+2464 CIRCLED DIGIT FIVE
+ # <circle> + 0035
+2465 CIRCLED DIGIT SIX
+ # <circle> + 0036
+2466 CIRCLED DIGIT SEVEN
+ # <circle> + 0037
+2467 CIRCLED DIGIT EIGHT
+ # <circle> + 0038
+2468 CIRCLED DIGIT NINE
+ # <circle> + 0039
+2469 CIRCLED NUMBER TEN
+ # <circle> + 0031
+246A CIRCLED NUMBER ELEVEN
+ # <circle> + 0031 + 0030
+246B CIRCLED NUMBER TWELVE
+ # <circle> + 0031 + 0032
+246C CIRCLED NUMBER THIRTEEN
+ # <circle> + 0031 + 0033
+246D CIRCLED NUMBER FOURTEEN
+ # <circle> + 0031 + 0034
+246E CIRCLED NUMBER FIFTEEN
+ # <circle> + 0031 + 0035
+246F CIRCLED NUMBER SIXTEEN
+ # <circle> + 0031 + 0036
+2470 CIRCLED NUMBER SEVENTEEN
+ # <circle> + 0031 + 0037
+2471 CIRCLED NUMBER EIGHTEEN
+ # <circle> + 0031 + 0038
+2472 CIRCLED NUMBER NINETEEN
+ # <circle> + 0031 + 0039
+2473 CIRCLED NUMBER TWENTY
+ # <circle> + 0032 + 0030
+@ Parenthesized numbers
+2474 PARENTHESIZED DIGIT ONE
+ : 0028 + 0031 + 0029
+2475 PARENTHESIZED DIGIT TWO
+ : 0028 + 0032 + 0029
+2476 PARENTHESIZED DIGIT THREE
+ : 0028 + 0033 + 0029
+2477 PARENTHESIZED DIGIT FOUR
+ : 0028 + 0034 + 0029
+2478 PARENTHESIZED DIGIT FIVE
+ : 0028 + 0035 + 0029
+2479 PARENTHESIZED DIGIT SIX
+ : 0028 + 0036 + 0029
+247A PARENTHESIZED DIGIT SEVEN
+ : 0028 + 0037 + 0029
+247B PARENTHESIZED DIGIT EIGHT
+ : 0028 + 0038 + 0029
+247C PARENTHESIZED DIGIT NINE
+ : 0028 + 0039 + 0029
+247D PARENTHESIZED NUMBER TEN
+ : 0028 + 0031 + 0030 + 0029
+247E PARENTHESIZED NUMBER ELEVEN
+ : 0028 + 0031 + 0031 + 0029
+247F PARENTHESIZED NUMBER TWELVE
+ : 0028 + 0031 + 0032 + 0029
+2480 PARENTHESIZED NUMBER THIRTEEN
+ : 0028 + 0031 + 0033 + 0029
+2481 PARENTHESIZED NUMBER FOURTEEN
+ : 0028 + 0031 + 0034 + 0029
+2482 PARENTHESIZED NUMBER FIFTEEN
+ : 0028 + 0031 + 0035 + 0029
+2483 PARENTHESIZED NUMBER SIXTEEN
+ : 0028 + 0031 + 0036 + 0029
+2484 PARENTHESIZED NUMBER SEVENTEEN
+ : 0028 + 0031 + 0037 + 0029
+2485 PARENTHESIZED NUMBER EIGHTEEN
+ : 0028 + 0031 + 0038 + 0029
+2486 PARENTHESIZED NUMBER NINETEEN
+ : 0028 + 0031 + 0039 + 0029
+2487 PARENTHESIZED NUMBER TWENTY
+ : 0028 + 0032 + 0030 + 0029
+@ Numbers period
+2488 DIGIT ONE FULL STOP
+ : 0031 + 002E
+2489 DIGIT TWO FULL STOP
+ : 0032 + 002E
+248A DIGIT THREE FULL STOP
+ : 0033 + 002E
+248B DIGIT FOUR FULL STOP
+ : 0034 + 002E
+248C DIGIT FIVE FULL STOP
+ : 0035 + 002E
+248D DIGIT SIX FULL STOP
+ : 0036 + 002E
+248E DIGIT SEVEN FULL STOP
+ : 0037 + 002E
+248F DIGIT EIGHT FULL STOP
+ : 0038 + 002E
+2490 DIGIT NINE FULL STOP
+ : 0039 + 002E
+2491 NUMBER TEN FULL STOP
+ : 0031 + 0030 + 002E
+2492 NUMBER ELEVEN FULL STOP
+ : 0031 + 0031 + 002E
+2493 NUMBER TWELVE FULL STOP
+ : 0031 + 0032 + 002E
+2494 NUMBER THIRTEEN FULL STOP
+ : 0031 + 0033 + 002E
+2495 NUMBER FOURTEEN FULL STOP
+ : 0031 + 0034 + 002E
+2496 NUMBER FIFTEEN FULL STOP
+ : 0031 + 0035 + 002E
+2497 NUMBER SIXTEEN FULL STOP
+ : 0031 + 0036 + 002E
+2498 NUMBER SEVENTEEN FULL STOP
+ : 0031 + 0037 + 002E
+2499 NUMBER EIGHTEEN FULL STOP
+ : 0031 + 0038 + 002E
+249A NUMBER NINETEEN FULL STOP
+ : 0031 + 0039 + 002E
+249B NUMBER TWENTY FULL STOP
+ : 0032 + 0030 + 002E
+@ Parenthesized Latin letters
+249C PARENTHESIZED LATIN SMALL LETTER A
+ : 0028 + 0061 + 0029
+249D PARENTHESIZED LATIN SMALL LETTER B
+ : 0028 + 0062 + 0029
+249E PARENTHESIZED LATIN SMALL LETTER C
+ : 0028 + 0063 + 0029
+249F PARENTHESIZED LATIN SMALL LETTER D
+ : 0028 + 0064 + 0029
+24A0 PARENTHESIZED LATIN SMALL LETTER E
+ : 0028 + 0065 + 0029
+24A1 PARENTHESIZED LATIN SMALL LETTER F
+ : 0028 + 0066 + 0029
+24A2 PARENTHESIZED LATIN SMALL LETTER G
+ : 0028 + 0067 + 0029
+24A3 PARENTHESIZED LATIN SMALL LETTER H
+ : 0028 + 0068 + 0029
+24A4 PARENTHESIZED LATIN SMALL LETTER I
+ : 0028 + 0069 + 0029
+24A5 PARENTHESIZED LATIN SMALL LETTER J
+ : 0028 + 006A + 0029
+24A6 PARENTHESIZED LATIN SMALL LETTER K
+ : 0028 + 006B + 0029
+24A7 PARENTHESIZED LATIN SMALL LETTER L
+ : 0028 + 006C + 0029
+24A8 PARENTHESIZED LATIN SMALL LETTER M
+ : 0028 + 006D + 0029
+24A9 PARENTHESIZED LATIN SMALL LETTER N
+ : 0028 + 006E + 0029
+24AA PARENTHESIZED LATIN SMALL LETTER O
+ : 0028 + 006F + 0029
+24AB PARENTHESIZED LATIN SMALL LETTER P
+ : 0028 + 0070 + 0029
+24AC PARENTHESIZED LATIN SMALL LETTER Q
+ : 0028 + 0071 + 0029
+24AD PARENTHESIZED LATIN SMALL LETTER R
+ : 0028 + 0072 + 0029
+24AE PARENTHESIZED LATIN SMALL LETTER S
+ : 0028 + 0073 + 0029
+24AF PARENTHESIZED LATIN SMALL LETTER T
+ : 0028 + 0074 + 0029
+24B0 PARENTHESIZED LATIN SMALL LETTER U
+ : 0028 + 0075 + 0029
+24B1 PARENTHESIZED LATIN SMALL LETTER V
+ : 0028 + 0076 + 0029
+24B2 PARENTHESIZED LATIN SMALL LETTER W
+ : 0028 + 0077 + 0029
+24B3 PARENTHESIZED LATIN SMALL LETTER X
+ : 0028 + 0078 + 0029
+24B4 PARENTHESIZED LATIN SMALL LETTER Y
+ : 0028 + 0079 + 0029
+24B5 PARENTHESIZED LATIN SMALL LETTER Z
+ : 0028 + 007A + 0029
+@ Circled Latin letters
+24B6 CIRCLED LATIN CAPITAL LETTER A
+ # <circle> + 0041
+24B7 CIRCLED LATIN CAPITAL LETTER B
+ # <circle> + 0042
+24B8 CIRCLED LATIN CAPITAL LETTER C
+ # <circle> + 0043
+24B9 CIRCLED LATIN CAPITAL LETTER D
+ # <circle> + 0044
+24BA CIRCLED LATIN CAPITAL LETTER E
+ # <circle> + 0045
+24BB CIRCLED LATIN CAPITAL LETTER F
+ # <circle> + 0046
+24BC CIRCLED LATIN CAPITAL LETTER G
+ # <circle> + 0047
+24BD CIRCLED LATIN CAPITAL LETTER H
+ # <circle> + 0048
+24BE CIRCLED LATIN CAPITAL LETTER I
+ # <circle> + 0049
+24BF CIRCLED LATIN CAPITAL LETTER J
+ # <circle> + 004A
+24C0 CIRCLED LATIN CAPITAL LETTER K
+ # <circle> + 004B
+24C1 CIRCLED LATIN CAPITAL LETTER L
+ # <circle> + 004C
+24C2 CIRCLED LATIN CAPITAL LETTER M
+ # <circle> + 004D
+24C3 CIRCLED LATIN CAPITAL LETTER N
+ # <circle> + 004E
+24C4 CIRCLED LATIN CAPITAL LETTER O
+ # <circle> + 004F
+24C5 CIRCLED LATIN CAPITAL LETTER P
+ # <circle> + 0050
+24C6 CIRCLED LATIN CAPITAL LETTER Q
+ # <circle> + 0051
+24C7 CIRCLED LATIN CAPITAL LETTER R
+ # <circle> + 0052
+24C8 CIRCLED LATIN CAPITAL LETTER S
+ # <circle> + 0053
+24C9 CIRCLED LATIN CAPITAL LETTER T
+ # <circle> + 0054
+24CA CIRCLED LATIN CAPITAL LETTER U
+ # <circle> + 0055
+24CB CIRCLED LATIN CAPITAL LETTER V
+ # <circle> + 0056
+24CC CIRCLED LATIN CAPITAL LETTER W
+ # <circle> + 0057
+24CD CIRCLED LATIN CAPITAL LETTER X
+ # <circle> + 0058
+24CE CIRCLED LATIN CAPITAL LETTER Y
+ # <circle> + 0059
+24CF CIRCLED LATIN CAPITAL LETTER Z
+ # <circle> + 005A
+24D0 CIRCLED LATIN SMALL LETTER A
+ # <circle> + 0061
+24D1 CIRCLED LATIN SMALL LETTER B
+ # <circle> + 0062
+24D2 CIRCLED LATIN SMALL LETTER C
+ # <circle> + 0063
+24D3 CIRCLED LATIN SMALL LETTER D
+ # <circle> + 0064
+24D4 CIRCLED LATIN SMALL LETTER E
+ # <circle> + 0065
+24D5 CIRCLED LATIN SMALL LETTER F
+ # <circle> + 0066
+24D6 CIRCLED LATIN SMALL LETTER G
+ # <circle> + 0067
+24D7 CIRCLED LATIN SMALL LETTER H
+ # <circle> + 0068
+24D8 CIRCLED LATIN SMALL LETTER I
+ # <circle> + 0069
+24D9 CIRCLED LATIN SMALL LETTER J
+ # <circle> + 006A
+24DA CIRCLED LATIN SMALL LETTER K
+ # <circle> + 006B
+24DB CIRCLED LATIN SMALL LETTER L
+ # <circle> + 006C
+24DC CIRCLED LATIN SMALL LETTER M
+ # <circle> + 006D
+24DD CIRCLED LATIN SMALL LETTER N
+ # <circle> + 006E
+24DE CIRCLED LATIN SMALL LETTER O
+ # <circle> + 006F
+24DF CIRCLED LATIN SMALL LETTER P
+ # <circle> + 0070
+24E0 CIRCLED LATIN SMALL LETTER Q
+ # <circle> + 0071
+24E1 CIRCLED LATIN SMALL LETTER R
+ # <circle> + 0072
+24E2 CIRCLED LATIN SMALL LETTER S
+ # <circle> + 0073
+24E3 CIRCLED LATIN SMALL LETTER T
+ # <circle> + 0074
+24E4 CIRCLED LATIN SMALL LETTER U
+ # <circle> + 0075
+24E5 CIRCLED LATIN SMALL LETTER V
+ # <circle> + 0076
+24E6 CIRCLED LATIN SMALL LETTER W
+ # <circle> + 0077
+24E7 CIRCLED LATIN SMALL LETTER X
+ # <circle> + 0078
+24E8 CIRCLED LATIN SMALL LETTER Y
+ # <circle> + 0079
+24E9 CIRCLED LATIN SMALL LETTER Z
+ # <circle> + 007A
+@ Additional circled numbers
+24EA CIRCLED DIGIT ZERO
+ # <circle> + 0030
+@@ 2500 Box Drawing 257F
+@ Form and chart components
+2500 BOX DRAWINGS LIGHT HORIZONTAL
+ = Videotex Mosaic DG 15
+2501 BOX DRAWINGS HEAVY HORIZONTAL
+2502 BOX DRAWINGS LIGHT VERTICAL
+ = Videotex Mosaic DG 14
+2503 BOX DRAWINGS HEAVY VERTICAL
+2504 BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL
+2505 BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL
+2506 BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
+2507 BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL
+2508 BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL
+2509 BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL
+250A BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL
+250B BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL
+250C BOX DRAWINGS LIGHT DOWN AND RIGHT
+ = Videotex Mosaic DG 16
+250D BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY
+250E BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT
+250F BOX DRAWINGS HEAVY DOWN AND RIGHT
+2510 BOX DRAWINGS LIGHT DOWN AND LEFT
+ = Videotex Mosaic DG 17
+2511 BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY
+2512 BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT
+2513 BOX DRAWINGS HEAVY DOWN AND LEFT
+2514 BOX DRAWINGS LIGHT UP AND RIGHT
+ = Videotex Mosaic DG 18
+2515 BOX DRAWINGS UP LIGHT AND RIGHT HEAVY
+2516 BOX DRAWINGS UP HEAVY AND RIGHT LIGHT
+2517 BOX DRAWINGS HEAVY UP AND RIGHT
+2518 BOX DRAWINGS LIGHT UP AND LEFT
+ = Videotex Mosaic DG 19
+2519 BOX DRAWINGS UP LIGHT AND LEFT HEAVY
+251A BOX DRAWINGS UP HEAVY AND LEFT LIGHT
+251B BOX DRAWINGS HEAVY UP AND LEFT
+251C BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ = Videotex Mosaic DG 20
+251D BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
+ = Videotex Mosaic DG 03
+251E BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT
+251F BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT
+2520 BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
+2521 BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY
+2522 BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY
+2523 BOX DRAWINGS HEAVY VERTICAL AND RIGHT
+2524 BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ = Videotex Mosaic DG 21
+2525 BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
+ = Videotex Mosaic DG 04
+2526 BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT
+2527 BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT
+2528 BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
+2529 BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY
+252A BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY
+252B BOX DRAWINGS HEAVY VERTICAL AND LEFT
+252C BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ = Videotex Mosaic DG 22
+252D BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT
+252E BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT
+252F BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
+ = Videotex Mosaic DG 02
+2530 BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
+2531 BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY
+2532 BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY
+2533 BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
+2534 BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ = Videotex Mosaic DG 23
+2535 BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT
+2536 BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT
+2537 BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
+ = Videotex Mosaic DG 01
+2538 BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
+2539 BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY
+253A BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY
+253B BOX DRAWINGS HEAVY UP AND HORIZONTAL
+253C BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ = Videotex Mosaic DG 24
+253D BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT
+253E BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT
+253F BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
+ = Videotex Mosaic DG 13
+2540 BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT
+2541 BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT
+2542 BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
+2543 BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT
+2544 BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT
+2545 BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT
+2546 BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT
+2547 BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY
+2548 BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY
+2549 BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY
+254A BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY
+254B BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
+254C BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL
+254D BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL
+254E BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL
+254F BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
+2550 BOX DRAWINGS DOUBLE HORIZONTAL
+2551 BOX DRAWINGS DOUBLE VERTICAL
+2552 BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+2553 BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+2554 BOX DRAWINGS DOUBLE DOWN AND RIGHT
+2555 BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+2556 BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+2557 BOX DRAWINGS DOUBLE DOWN AND LEFT
+2558 BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+2559 BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+255A BOX DRAWINGS DOUBLE UP AND RIGHT
+255B BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+255C BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+255D BOX DRAWINGS DOUBLE UP AND LEFT
+255E BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+255F BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+2560 BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+2561 BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+2562 BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+2563 BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+2564 BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+2565 BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+2566 BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+2567 BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+2568 BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+2569 BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+256A BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+256B BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+256C BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+256D BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
+256E BOX DRAWINGS LIGHT ARC DOWN AND LEFT
+256F BOX DRAWINGS LIGHT ARC UP AND LEFT
+2570 BOX DRAWINGS LIGHT ARC UP AND RIGHT
+2571 BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
+2572 BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
+2573 BOX DRAWINGS LIGHT DIAGONAL CROSS
+2574 BOX DRAWINGS LIGHT LEFT
+2575 BOX DRAWINGS LIGHT UP
+2576 BOX DRAWINGS LIGHT RIGHT
+2577 BOX DRAWINGS LIGHT DOWN
+2578 BOX DRAWINGS HEAVY LEFT
+2579 BOX DRAWINGS HEAVY UP
+257A BOX DRAWINGS HEAVY RIGHT
+257B BOX DRAWINGS HEAVY DOWN
+257C BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT
+257D BOX DRAWINGS LIGHT UP AND HEAVY DOWN
+257E BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT
+257F BOX DRAWINGS HEAVY UP AND LIGHT DOWN
+@@ 2580 Block Elements 259F
+@ Block elements
+2580 UPPER HALF BLOCK
+2581 LOWER ONE EIGHTH BLOCK
+2582 LOWER ONE QUARTER BLOCK
+2583 LOWER THREE EIGHTHS BLOCK
+2584 LOWER HALF BLOCK
+2585 LOWER FIVE EIGHTHS BLOCK
+2586 LOWER THREE QUARTERS BLOCK
+2587 LOWER SEVEN EIGHTHS BLOCK
+2588 FULL BLOCK
+ = solid
+2589 LEFT SEVEN EIGHTHS BLOCK
+258A LEFT THREE QUARTERS BLOCK
+258B LEFT FIVE EIGHTHS BLOCK
+258C LEFT HALF BLOCK
+258D LEFT THREE EIGHTHS BLOCK
+258E LEFT ONE QUARTER BLOCK
+258F LEFT ONE EIGHTH BLOCK
+2590 RIGHT HALF BLOCK
+2591 LIGHT SHADE
+ * 25%
+2592 MEDIUM SHADE
+ * 50%
+2593 DARK SHADE
+ * 75%
+2594 UPPER ONE EIGHTH BLOCK
+2595 RIGHT ONE EIGHTH BLOCK
+@@ 25A0 Geometric Shapes 25FF
+@ Geometric shapes
+25A0 BLACK SQUARE
+25A1 WHITE SQUARE
+ = quadrature
+ x (ballot box - 2610)
+25A2 WHITE SQUARE WITH ROUNDED CORNERS
+25A3 WHITE SQUARE CONTAINING BLACK SMALL SQUARE
+25A4 SQUARE WITH HORIZONTAL FILL
+25A5 SQUARE WITH VERTICAL FILL
+25A6 SQUARE WITH ORTHOGONAL CROSSHATCH FILL
+25A7 SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL
+25A8 SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL
+25A9 SQUARE WITH DIAGONAL CROSSHATCH FILL
+25AA BLACK SMALL SQUARE
+25AB WHITE SMALL SQUARE
+25AC BLACK RECTANGLE
+25AD WHITE RECTANGLE
+25AE BLACK VERTICAL RECTANGLE
+ = histogram marker
+25AF WHITE VERTICAL RECTANGLE
+25B0 BLACK PARALLELOGRAM
+25B1 WHITE PARALLELOGRAM
+25B2 BLACK UP-POINTING TRIANGLE
+25B3 WHITE UP-POINTING TRIANGLE
+ = trine
+ x (increment - 2206)
+25B4 BLACK UP-POINTING SMALL TRIANGLE
+25B5 WHITE UP-POINTING SMALL TRIANGLE
+25B6 BLACK RIGHT-POINTING TRIANGLE
+25B7 WHITE RIGHT-POINTING TRIANGLE
+25B8 BLACK RIGHT-POINTING SMALL TRIANGLE
+ x (triangular bullet - 2023)
+25B9 WHITE RIGHT-POINTING SMALL TRIANGLE
+25BA BLACK RIGHT-POINTING POINTER
+25BB WHITE RIGHT-POINTING POINTER
+ = forward arrow indicator
+25BC BLACK DOWN-POINTING TRIANGLE
+25BD WHITE DOWN-POINTING TRIANGLE
+ x (nabla - 2207)
+25BE BLACK DOWN-POINTING SMALL TRIANGLE
+25BF WHITE DOWN-POINTING SMALL TRIANGLE
+25C0 BLACK LEFT-POINTING TRIANGLE
+25C1 WHITE LEFT-POINTING TRIANGLE
+25C2 BLACK LEFT-POINTING SMALL TRIANGLE
+25C3 WHITE LEFT-POINTING SMALL TRIANGLE
+25C4 BLACK LEFT-POINTING POINTER
+25C5 WHITE LEFT-POINTING POINTER
+ = backward arrow indicator
+25C6 BLACK DIAMOND
+ x (black diamond suit - 2666)
+25C7 WHITE DIAMOND
+ x (diamond operator - 22C4)
+ x (white diamond suit - 2662)
+25C8 WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND
+25C9 FISHEYE
+ = tainome (Japanese, a kind of bullet)
+25CA LOZENGE
+ x (white diamond suit - 2662)
+25CB WHITE CIRCLE
+ x (combining enclosing circle - 20DD)
+ x (large circle - 25EF)
+ x (ideographic number zero - 3007)
+25CC DOTTED CIRCLE
+25CD CIRCLE WITH VERTICAL FILL
+25CE BULLSEYE
+ x (circled ring operator - 229A)
+25CF BLACK CIRCLE
+25D0 CIRCLE WITH LEFT HALF BLACK
+25D1 CIRCLE WITH RIGHT HALF BLACK
+25D2 CIRCLE WITH LOWER HALF BLACK
+25D3 CIRCLE WITH UPPER HALF BLACK
+25D4 CIRCLE WITH UPPER RIGHT QUADRANT BLACK
+25D5 CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK
+25D6 LEFT HALF BLACK CIRCLE
+25D7 RIGHT HALF BLACK CIRCLE
+25D8 INVERSE BULLET
+ x (bullet - 2022)
+ x (white bullet - 25E6)
+25D9 INVERSE WHITE CIRCLE
+25DA UPPER HALF INVERSE WHITE CIRCLE
+25DB LOWER HALF INVERSE WHITE CIRCLE
+25DC UPPER LEFT QUADRANT CIRCULAR ARC
+25DD UPPER RIGHT QUADRANT CIRCULAR ARC
+25DE LOWER RIGHT QUADRANT CIRCULAR ARC
+25DF LOWER LEFT QUADRANT CIRCULAR ARC
+25E0 UPPER HALF CIRCLE
+25E1 LOWER HALF CIRCLE
+25E2 BLACK LOWER RIGHT TRIANGLE
+25E3 BLACK LOWER LEFT TRIANGLE
+25E4 BLACK UPPER LEFT TRIANGLE
+25E5 BLACK UPPER RIGHT TRIANGLE
+25E6 WHITE BULLET
+ x (bullet - 2022)
+ x (ring operator - 2218)
+ x (inverse bullet - 25D8)
+25E7 SQUARE WITH LEFT HALF BLACK
+25E8 SQUARE WITH RIGHT HALF BLACK
+25E9 SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK
+25EA SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK
+25EB WHITE SQUARE WITH VERTICAL BISECTING LINE
+25EC WHITE UP-POINTING TRIANGLE WITH DOT
+25ED UP-POINTING TRIANGLE WITH LEFT HALF BLACK
+25EE UP-POINTING TRIANGLE WITH RIGHT HALF BLACK
+25EF LARGE CIRCLE
+ x (combining enclosing circle - 20DD)
+ x (white circle - 25CB)
+ x (ideographic number zero - 3007)
+@@ 2600 Miscellaneous Symbols 26FF
+@ Miscellaneous symbols
+2600 BLACK SUN WITH RAYS
+ = clear weather
+ x (sun - 2609)
+2601 CLOUD
+ = cloudy weather
+2602 UMBRELLA
+ = rainy weather
+2603 SNOWMAN
+ = snowy weather
+2604 COMET
+2605 BLACK STAR
+ x (star operator - 22C6)
+2606 WHITE STAR
+ x (stress outlined white star - 2729)
+2607 LIGHTNING
+2608 THUNDERSTORM
+2609 SUN
+ x (circled dot operator - 2299)
+ x (black sun with rays - 2600)
+ x (white sun with rays - 263C)
+260A ASCENDING NODE
+260B DESCENDING NODE
+260C CONJUNCTION
+260D OPPOSITION
+260E BLACK TELEPHONE
+260F WHITE TELEPHONE
+2610 BALLOT BOX
+ x (white square - 25A1)
+2611 BALLOT BOX WITH CHECK
+2612 BALLOT BOX WITH X
+ x (squared times - 22A0)
+2613 SALTIRE
+ = St. Andrew's Cross
+ x (ballot x - 2717)
+2614 <reserved>
+2615 <reserved>
+2616 <reserved>
+2617 <reserved>
+2618 <reserved>
+2619 <reserved>
+261A BLACK LEFT POINTING INDEX
+261B BLACK RIGHT POINTING INDEX
+261C WHITE LEFT POINTING INDEX
+261D WHITE UP POINTING INDEX
+261E WHITE RIGHT POINTING INDEX
+261F WHITE DOWN POINTING INDEX
+2620 SKULL AND CROSSBONES
+ = poison
+2621 CAUTION SIGN
+2622 RADIOACTIVE SIGN
+2623 BIOHAZARD SIGN
+2624 CADUCEUS
+2625 ANKH
+2626 ORTHODOX CROSS
+2627 CHI RHO
+2628 CROSS OF LORRAINE
+2629 CROSS OF JERUSALEM
+262A STAR AND CRESCENT
+262B FARSI SYMBOL
+ = SYMBOL OF IRAN
+262C ADI SHAKTI
+262D HAMMER AND SICKLE
+262E PEACE SYMBOL
+262F YIN YANG
+2630 TRIGRAM FOR HEAVEN
+ = qian2
+2631 TRIGRAM FOR LAKE
+ = dui4
+2632 TRIGRAM FOR FIRE
+ = li2
+2633 TRIGRAM FOR THUNDER
+ = zhen4
+2634 TRIGRAM FOR WIND
+ = xun4
+2635 TRIGRAM FOR WATER
+ = kan3
+2636 TRIGRAM FOR MOUNTAIN
+ = gen4
+2637 TRIGRAM FOR EARTH
+ = kun1
+2638 WHEEL OF DHARMA
+2639 WHITE FROWNING FACE
+263A WHITE SMILING FACE
+ = have a nice day!
+263B BLACK SMILING FACE
+263C WHITE SUN WITH RAYS
+ = compass
+ x (sun - 2609)
+263D FIRST QUARTER MOON
+263E LAST QUARTER MOON
+263F MERCURY
+2640 FEMALE SIGN
+ = Venus
+2641 EARTH
+ x (circled plus - 2295)
+2642 MALE SIGN
+ = Mars
+2643 JUPITER
+2644 SATURN
+2645 URANUS
+2646 NEPTUNE
+2647 PLUTO
+2648 ARIES
+2649 TAURUS
+264A GEMINI
+264B CANCER
+264C LEO
+264D VIRGO
+ = minim (alternate glyph)
+264E LIBRA
+264F SCORPIUS
+ = minim, drop
+2650 SAGITTARIUS
+2651 CAPRICORN
+2652 AQUARIUS
+2653 PISCES
+2654 WHITE CHESS KING
+2655 WHITE CHESS QUEEN
+2656 WHITE CHESS ROOK
+2657 WHITE CHESS BISHOP
+2658 WHITE CHESS KNIGHT
+2659 WHITE CHESS PAWN
+265A BLACK CHESS KING
+265B BLACK CHESS QUEEN
+265C BLACK CHESS ROOK
+265D BLACK CHESS BISHOP
+265E BLACK CHESS KNIGHT
+265F BLACK CHESS PAWN
+2660 BLACK SPADE SUIT
+2661 WHITE HEART SUIT
+2662 WHITE DIAMOND SUIT
+ x (white diamond - 25C7)
+ x (lozenge - 25CA)
+2663 BLACK CLUB SUIT
+ = shamrock
+2664 WHITE SPADE SUIT
+2665 BLACK HEART SUIT
+ = valentine
+ x (heavy black heart - 2764)
+2666 BLACK DIAMOND SUIT
+ x (black diamond - 25C6)
+2667 WHITE CLUB SUIT
+2668 HOT SPRINGS
+2669 QUARTER NOTE
+266A EIGHTH NOTE
+266B BEAMED EIGHTH NOTES
+266C BEAMED SIXTEENTH NOTES
+266D MUSIC FLAT SIGN
+266E MUSIC NATURAL SIGN
+266F MUSIC SHARP SIGN
+@@ 2700 Dingbats 27BF
+@ Zapf dingbats
+2700 <reserved>
+2701 UPPER BLADE SCISSORS
+2702 BLACK SCISSORS
+2703 LOWER BLADE SCISSORS
+2704 WHITE SCISSORS
+2705 <reserved>
+ x (black telephone - 260E)
+2706 TELEPHONE LOCATION SIGN
+2707 TAPE DRIVE
+2708 AIRPLANE
+2709 ENVELOPE
+270A <reserved>
+ x (black right pointing index - 261B)
+270B <reserved>
+ x (white right pointing index - 261E)
+270C VICTORY HAND
+270D WRITING HAND
+270E LOWER RIGHT PENCIL
+270F PENCIL
+2710 UPPER RIGHT PENCIL
+2711 WHITE NIB
+2712 BLACK NIB
+2713 CHECK MARK
+ x (square root - 221A)
+2714 HEAVY CHECK MARK
+2715 MULTIPLICATION X
+2716 HEAVY MULTIPLICATION X
+2717 BALLOT X
+ x (saltire - 2613)
+2718 HEAVY BALLOT X
+2719 OUTLINED GREEK CROSS
+271A HEAVY GREEK CROSS
+271B OPEN CENTRE CROSS
+271C HEAVY OPEN CENTRE CROSS
+271D LATIN CROSS
+271E SHADOWED WHITE LATIN CROSS
+271F OUTLINED LATIN CROSS
+2720 MALTESE CROSS
+2721 STAR OF DAVID
+2722 FOUR TEARDROP-SPOKED ASTERISK
+2723 FOUR BALLOON-SPOKED ASTERISK
+2724 HEAVY FOUR BALLOON-SPOKED ASTERISK
+2725 FOUR CLUB-SPOKED ASTERISK
+2726 BLACK FOUR POINTED STAR
+2727 WHITE FOUR POINTED STAR
+2728 <reserved>
+ x (black star - 2605)
+2729 STRESS OUTLINED WHITE STAR
+ x (white star - 2606)
+272A CIRCLED WHITE STAR
+272B OPEN CENTRE BLACK STAR
+272C BLACK CENTRE WHITE STAR
+272D OUTLINED BLACK STAR
+272E HEAVY OUTLINED BLACK STAR
+272F PINWHEEL STAR
+2730 SHADOWED WHITE STAR
+2731 HEAVY ASTERISK
+ x (asterisk - 002A)
+2732 OPEN CENTRE ASTERISK
+2733 EIGHT SPOKED ASTERISK
+2734 EIGHT POINTED BLACK STAR
+2735 EIGHT POINTED PINWHEEL STAR
+2736 SIX POINTED BLACK STAR
+ = sextile
+2737 EIGHT POINTED RECTILINEAR BLACK STAR
+2738 HEAVY EIGHT POINTED RECTILINEAR BLACK STAR
+2739 TWELVE POINTED BLACK STAR
+273A SIXTEEN POINTED ASTERISK
+ = starburst
+273B TEARDROP-SPOKED ASTERISK
+273C OPEN CENTRE TEARDROP-SPOKED ASTERISK
+273D HEAVY TEARDROP-SPOKED ASTERISK
+273E SIX PETALLED BLACK AND WHITE FLORETTE
+273F BLACK FLORETTE
+2740 WHITE FLORETTE
+2741 EIGHT PETALLED OUTLINED BLACK FLORETTE
+2742 CIRCLED OPEN CENTRE EIGHT POINTED STAR
+2743 HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
+2744 SNOWFLAKE
+2745 TIGHT TRIFOLIATE SNOWFLAKE
+2746 HEAVY CHEVRON SNOWFLAKE
+2747 SPARKLE
+2748 HEAVY SPARKLE
+2749 BALLOON-SPOKED ASTERISK
+ = jack
+274A EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
+274B HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
+ = turbofan
+274C <reserved>
+ x (black circle - 25CF)
+274D SHADOWED WHITE CIRCLE
+274E <reserved>
+ x (black square - 25A0)
+274F LOWER RIGHT DROP-SHADOWED WHITE SQUARE
+2750 UPPER RIGHT DROP-SHADOWED WHITE SQUARE
+2751 LOWER RIGHT SHADOWED WHITE SQUARE
+2752 UPPER RIGHT SHADOWED WHITE SQUARE
+2753 <reserved>
+ x (black up-pointing triangle - 25B2)
+2754 <reserved>
+ x (black down-pointing triangle - 25BC)
+2755 <reserved>
+ x (black diamond - 25C6)
+2756 BLACK DIAMOND MINUS WHITE X
+2757 <reserved>
+ x (right half black circle - 25D7)
+2758 LIGHT VERTICAL BAR
+ x (vertical line - 007C)
+2759 MEDIUM VERTICAL BAR
+275A HEAVY VERTICAL BAR
+275B HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT
+ x (left single quotation mark - 2018)
+275C HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT
+ x (right single quotation mark - 2019)
+275D HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
+ x (left double quotation mark - 201C)
+275E HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
+ x (right double quotation mark - 201D)
+275F <reserved>
+2760 <reserved>
+2761 CURVED STEM PARAGRAPH SIGN ORNAMENT
+ x (pilcrow sign - 00B6)
+2762 HEAVY EXCLAMATION MARK ORNAMENT
+ x (exclamation mark - 0021)
+2763 HEAVY HEART EXCLAMATION MARK ORNAMENT
+2764 HEAVY BLACK HEART
+ x (black heart suit - 2665)
+2765 ROTATED HEAVY BLACK HEART BULLET
+2766 FLORAL HEART
+2767 ROTATED FLORAL HEART BULLET
+2768 <reserved>
+ x (black club suit - 2663)
+2769 <reserved>
+ x (black diamond suit - 2666)
+276A <reserved>
+ x (black heart suit - 2665)
+276B <reserved>
+ x (black spade suit - 2660)
+276C <reserved>
+ x (circled digit one - 2460)
+276D <reserved>
+ x (circled digit two - 2461)
+276E <reserved>
+ x (circled digit three - 2462)
+276F <reserved>
+ x (circled digit four - 2463)
+2770 <reserved>
+ x (circled digit five - 2464)
+2771 <reserved>
+ x (circled digit six - 2465)
+2772 <reserved>
+ x (circled digit seven - 2466)
+2773 <reserved>
+ x (circled digit eight - 2467)
+2774 <reserved>
+ x (circled digit nine - 2468)
+2775 <reserved>
+ x (circled number ten - 2469)
+2776 DINGBAT NEGATIVE CIRCLED DIGIT ONE
+2777 DINGBAT NEGATIVE CIRCLED DIGIT TWO
+2778 DINGBAT NEGATIVE CIRCLED DIGIT THREE
+2779 DINGBAT NEGATIVE CIRCLED DIGIT FOUR
+277A DINGBAT NEGATIVE CIRCLED DIGIT FIVE
+277B DINGBAT NEGATIVE CIRCLED DIGIT SIX
+277C DINGBAT NEGATIVE CIRCLED DIGIT SEVEN
+277D DINGBAT NEGATIVE CIRCLED DIGIT EIGHT
+277E DINGBAT NEGATIVE CIRCLED DIGIT NINE
+277F DINGBAT NEGATIVE CIRCLED NUMBER TEN
+2780 DINGBAT CIRCLED SANS-SERIF DIGIT ONE
+2781 DINGBAT CIRCLED SANS-SERIF DIGIT TWO
+2782 DINGBAT CIRCLED SANS-SERIF DIGIT THREE
+2783 DINGBAT CIRCLED SANS-SERIF DIGIT FOUR
+2784 DINGBAT CIRCLED SANS-SERIF DIGIT FIVE
+2785 DINGBAT CIRCLED SANS-SERIF DIGIT SIX
+2786 DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN
+2787 DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT
+2788 DINGBAT CIRCLED SANS-SERIF DIGIT NINE
+2789 DINGBAT CIRCLED SANS-SERIF NUMBER TEN
+278A DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE
+278B DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO
+278C DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE
+278D DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR
+278E DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE
+278F DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX
+2790 DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN
+2791 DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT
+2792 DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE
+2793 DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
+2794 HEAVY WIDE-HEADED RIGHTWARDS ARROW
+2795 <reserved>
+ x (rightwards arrow - 2192)
+2796 <reserved>
+ x (left right arrow - 2194)
+2797 <reserved>
+ x (up down arrow - 2195)
+2798 HEAVY SOUTH EAST ARROW
+2799 HEAVY RIGHTWARDS ARROW
+279A HEAVY NORTH EAST ARROW
+279B DRAFTING POINT RIGHTWARDS ARROW
+279C HEAVY ROUND-TIPPED RIGHTWARDS ARROW
+279D TRIANGLE-HEADED RIGHTWARDS ARROW
+279E HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW
+279F DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
+27A0 HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
+27A1 BLACK RIGHTWARDS ARROW
+27A2 THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD
+27A3 THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD
+27A4 BLACK RIGHTWARDS ARROWHEAD
+27A5 HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW
+27A6 HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW
+27A7 SQUAT BLACK RIGHTWARDS ARROW
+27A8 HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW
+27A9 RIGHT-SHADED WHITE RIGHTWARDS ARROW
+27AA LEFT-SHADED WHITE RIGHTWARDS ARROW
+27AB BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW
+27AC FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW
+27AD HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27AE HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27AF NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27B0 <reserved>
+27B1 NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27B2 CIRCLED HEAVY WHITE RIGHTWARDS ARROW
+27B3 WHITE-FEATHERED RIGHTWARDS ARROW
+27B4 BLACK-FEATHERED SOUTH EAST ARROW
+27B5 BLACK-FEATHERED RIGHTWARDS ARROW
+27B6 BLACK-FEATHERED NORTH EAST ARROW
+27B7 HEAVY BLACK-FEATHERED SOUTH EAST ARROW
+27B8 HEAVY BLACK-FEATHERED RIGHTWARDS ARROW
+27B9 HEAVY BLACK-FEATHERED NORTH EAST ARROW
+27BA TEARDROP-BARBED RIGHTWARDS ARROW
+27BB HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW
+27BC WEDGE-TAILED RIGHTWARDS ARROW
+27BD HEAVY WEDGE-TAILED RIGHTWARDS ARROW
+27BE OPEN-OUTLINED RIGHTWARDS ARROW
+@@ 27C0 Unassigned 2FFF
+@@ 3000 CJK Symbols and Punctuation 303F
+@ CJK symbols and punctuation
+3000 IDEOGRAPHIC SPACE
+ x (space - 0020)
+ # <wide> + 0020
+3001 IDEOGRAPHIC COMMA
+ x (comma - 002C)
+3002 IDEOGRAPHIC FULL STOP
+ x (full stop - 002E)
+3003 DITTO MARK
+ x (double prime - 2033)
+3004 JAPANESE INDUSTRIAL STANDARD SYMBOL
+3005 IDEOGRAPHIC ITERATION MARK
+3006 IDEOGRAPHIC CLOSING MARK
+3007 IDEOGRAPHIC NUMBER ZERO
+ x (combining enclosing circle - 20DD)
+ x (white circle - 25CB)
+ x (large circle - 25EF)
+3008 LEFT ANGLE BRACKET
+ x (less-than sign - 003C)
+ x (single left-pointing angle quotation mark - 2039)
+ x (left-pointing angle bracket - 2329)
+3009 RIGHT ANGLE BRACKET
+ x (greater-than sign - 003E)
+ x (single right-pointing angle quotation mark - 203A)
+ x (right-pointing angle bracket - 232A)
+300A LEFT DOUBLE ANGLE BRACKET
+ x (left-pointing double angle quotation mark - 00AB)
+300B RIGHT DOUBLE ANGLE BRACKET
+ x (right-pointing double angle quotation mark - 00BB)
+300C LEFT CORNER BRACKET
+300D RIGHT CORNER BRACKET
+ * used as quotation marks
+300E LEFT WHITE CORNER BRACKET
+300F RIGHT WHITE CORNER BRACKET
+ * used as quotation marks
+3010 LEFT BLACK LENTICULAR BRACKET
+3011 RIGHT BLACK LENTICULAR BRACKET
+3012 POSTAL MARK
+3013 GETA MARK
+ * substitute for ideograph not in font
+3014 LEFT TORTOISE SHELL BRACKET
+3015 RIGHT TORTOISE SHELL BRACKET
+3016 LEFT WHITE LENTICULAR BRACKET
+3017 RIGHT WHITE LENTICULAR BRACKET
+3018 LEFT WHITE TORTOISE SHELL BRACKET
+3019 RIGHT WHITE TORTOISE SHELL BRACKET
+301A LEFT WHITE SQUARE BRACKET
+301B RIGHT WHITE SQUARE BRACKET
+301C WAVE DASH
+ * JIS punctuation
+ x (wavy dash - 3030)
+301D REVERSED DOUBLE PRIME QUOTATION MARK
+ x (left double quotation mark - 201C)
+ x (reversed double prime - 2036)
+301E DOUBLE PRIME QUOTATION MARK
+ x (right double quotation mark - 201D)
+ x (double prime - 2033)
+301F LOW DOUBLE PRIME QUOTATION MARK
+ x (double low-9 quotation mark - 201E)
+3020 POSTAL MARK FACE
+@ Hangzhou-style numerals
+3021 HANGZHOU NUMERAL ONE
+3022 HANGZHOU NUMERAL TWO
+3023 HANGZHOU NUMERAL THREE
+3024 HANGZHOU NUMERAL FOUR
+3025 HANGZHOU NUMERAL FIVE
+3026 HANGZHOU NUMERAL SIX
+3027 HANGZHOU NUMERAL SEVEN
+3028 HANGZHOU NUMERAL EIGHT
+3029 HANGZHOU NUMERAL NINE
+@ Diacritics
+302A IDEOGRAPHIC LEVEL TONE MARK
+302B IDEOGRAPHIC RISING TONE MARK
+302C IDEOGRAPHIC DEPARTING TONE MARK
+302D IDEOGRAPHIC ENTERING TONE MARK
+302E HANGUL SINGLE DOT TONE MARK
+302F HANGUL DOUBLE DOT TONE MARK
+@ Other CJK symbols
+3030 WAVY DASH
+ x (wavy line - 2307)
+ x (wave dash - 301C)
+3031 VERTICAL KANA REPEAT MARK
+3032 VERTICAL KANA REPEAT WITH VOICED SOUND MARK
+ * the preceding two semantic characters are preferred to the following three glyphic forms
+3033 VERTICAL KANA REPEAT MARK UPPER HALF
+3034 VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF
+ * the preceding two are glyphs used in conjunction with the following glyph
+3035 VERTICAL KANA REPEAT MARK LOWER HALF
+3036 CIRCLED POSTAL MARK
+ # 3012
+3037 IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
+3038 <reserved>
+3039 <reserved>
+303A <reserved>
+303B <reserved>
+303C <reserved>
+303D <reserved>
+303E <reserved>
+303F IDEOGRAPHIC HALF FILL SPACE
+@@ 3040 Hiragana 309F
+@ Based on JIS X 0208
+3040 <reserved>
+3041 HIRAGANA LETTER SMALL A
+3042 HIRAGANA LETTER A
+3043 HIRAGANA LETTER SMALL I
+3044 HIRAGANA LETTER I
+3045 HIRAGANA LETTER SMALL U
+3046 HIRAGANA LETTER U
+3047 HIRAGANA LETTER SMALL E
+3048 HIRAGANA LETTER E
+3049 HIRAGANA LETTER SMALL O
+304A HIRAGANA LETTER O
+304B HIRAGANA LETTER KA
+304C HIRAGANA LETTER GA
+ : 304B + 3099
+304D HIRAGANA LETTER KI
+304E HIRAGANA LETTER GI
+ : 304D + 3099
+304F HIRAGANA LETTER KU
+3050 HIRAGANA LETTER GU
+ : 304F + 3099
+3051 HIRAGANA LETTER KE
+3052 HIRAGANA LETTER GE
+ : 3051 + 3099
+3053 HIRAGANA LETTER KO
+3054 HIRAGANA LETTER GO
+ : 3053 + 3099
+3055 HIRAGANA LETTER SA
+3056 HIRAGANA LETTER ZA
+ : 3055 + 3099
+3057 HIRAGANA LETTER SI
+ = SHI
+3058 HIRAGANA LETTER ZI
+ = JI (not unique)
+ : 3057 + 3099
+3059 HIRAGANA LETTER SU
+305A HIRAGANA LETTER ZU
+ : 3059 + 3099
+305B HIRAGANA LETTER SE
+305C HIRAGANA LETTER ZE
+ : 305B + 3099
+305D HIRAGANA LETTER SO
+305E HIRAGANA LETTER ZO
+ : 305D + 3099
+305F HIRAGANA LETTER TA
+3060 HIRAGANA LETTER DA
+ : 305F + 3099
+3061 HIRAGANA LETTER TI
+ = CHI
+3062 HIRAGANA LETTER DI
+ = JI (not unique)
+ : 3061 + 3099
+3063 HIRAGANA LETTER SMALL TU
+ = SMALL TSU
+3064 HIRAGANA LETTER TU
+ = TSU
+3065 HIRAGANA LETTER DU
+ = ZU (not unique)
+ : 3064 + 3099
+3066 HIRAGANA LETTER TE
+3067 HIRAGANA LETTER DE
+ : 3066 + 3099
+3068 HIRAGANA LETTER TO
+3069 HIRAGANA LETTER DO
+ : 3068 + 3099
+306A HIRAGANA LETTER NA
+306B HIRAGANA LETTER NI
+306C HIRAGANA LETTER NU
+306D HIRAGANA LETTER NE
+306E HIRAGANA LETTER NO
+306F HIRAGANA LETTER HA
+3070 HIRAGANA LETTER BA
+ : 306F + 3099
+3071 HIRAGANA LETTER PA
+ : 306F + 309A
+3072 HIRAGANA LETTER HI
+3073 HIRAGANA LETTER BI
+ : 3072 + 3099
+3074 HIRAGANA LETTER PI
+ : 3072 + 309A
+3075 HIRAGANA LETTER HU
+ = FU
+3076 HIRAGANA LETTER BU
+ : 3075 + 3099
+3077 HIRAGANA LETTER PU
+ : 3075 + 309A
+3078 HIRAGANA LETTER HE
+3079 HIRAGANA LETTER BE
+ : 3078 + 3099
+307A HIRAGANA LETTER PE
+ : 3078 + 309A
+307B HIRAGANA LETTER HO
+307C HIRAGANA LETTER BO
+ : 307B + 3099
+307D HIRAGANA LETTER PO
+ : 307B + 309A
+307E HIRAGANA LETTER MA
+307F HIRAGANA LETTER MI
+3080 HIRAGANA LETTER MU
+3081 HIRAGANA LETTER ME
+3082 HIRAGANA LETTER MO
+3083 HIRAGANA LETTER SMALL YA
+3084 HIRAGANA LETTER YA
+3085 HIRAGANA LETTER SMALL YU
+3086 HIRAGANA LETTER YU
+3087 HIRAGANA LETTER SMALL YO
+3088 HIRAGANA LETTER YO
+3089 HIRAGANA LETTER RA
+308A HIRAGANA LETTER RI
+308B HIRAGANA LETTER RU
+308C HIRAGANA LETTER RE
+308D HIRAGANA LETTER RO
+308E HIRAGANA LETTER SMALL WA
+308F HIRAGANA LETTER WA
+3090 HIRAGANA LETTER WI
+3091 HIRAGANA LETTER WE
+3092 HIRAGANA LETTER WO
+3093 HIRAGANA LETTER N
+3094 HIRAGANA LETTER VU
+ : 3046 + 3099
+3095 <reserved>
+3096 <reserved>
+3097 <reserved>
+3098 <reserved>
+3099 COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK
+309A COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+309B KATAKANA-HIRAGANA VOICED SOUND MARK
+ # 0020 + 3099
+309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+ # 0020 + 309A
+309D HIRAGANA ITERATION MARK
+309E HIRAGANA VOICED ITERATION MARK
+ : 309D + 3099
+@@ 30A0 Katakana 30FF
+@ Based on JIS X 0208
+30A0 <reserved>
+30A1 KATAKANA LETTER SMALL A
+30A2 KATAKANA LETTER A
+30A3 KATAKANA LETTER SMALL I
+30A4 KATAKANA LETTER I
+30A5 KATAKANA LETTER SMALL U
+30A6 KATAKANA LETTER U
+30A7 KATAKANA LETTER SMALL E
+30A8 KATAKANA LETTER E
+30A9 KATAKANA LETTER SMALL O
+30AA KATAKANA LETTER O
+30AB KATAKANA LETTER KA
+30AC KATAKANA LETTER GA
+ : 30AB + 3099
+30AD KATAKANA LETTER KI
+30AE KATAKANA LETTER GI
+ : 30AD + 3099
+30AF KATAKANA LETTER KU
+30B0 KATAKANA LETTER GU
+ : 30AF + 3099
+30B1 KATAKANA LETTER KE
+30B2 KATAKANA LETTER GE
+ : 30B1 + 3099
+30B3 KATAKANA LETTER KO
+30B4 KATAKANA LETTER GO
+ : 30B3 + 3099
+30B5 KATAKANA LETTER SA
+30B6 KATAKANA LETTER ZA
+ : 30B5 + 3099
+30B7 KATAKANA LETTER SI
+ = SHI
+30B8 KATAKANA LETTER ZI
+ = JI (not unique)
+ : 30B7 + 3099
+30B9 KATAKANA LETTER SU
+30BA KATAKANA LETTER ZU
+ : 30B9 + 3099
+30BB KATAKANA LETTER SE
+30BC KATAKANA LETTER ZE
+ : 30BB + 3099
+30BD KATAKANA LETTER SO
+30BE KATAKANA LETTER ZO
+ : 30BD + 3099
+30BF KATAKANA LETTER TA
+30C0 KATAKANA LETTER DA
+ : 30BF + 3099
+30C1 KATAKANA LETTER TI
+ = CHI
+30C2 KATAKANA LETTER DI
+ = JI (not unique)
+ : 30C1 + 3099
+30C3 KATAKANA LETTER SMALL TU
+ = SMALL TSU
+30C4 KATAKANA LETTER TU
+ = TSU
+30C5 KATAKANA LETTER DU
+ = ZU (not unique)
+ : 30C4 + 3099
+30C6 KATAKANA LETTER TE
+30C7 KATAKANA LETTER DE
+ : 30C6 + 3099
+30C8 KATAKANA LETTER TO
+30C9 KATAKANA LETTER DO
+ : 30C8 + 3099
+30CA KATAKANA LETTER NA
+30CB KATAKANA LETTER NI
+30CC KATAKANA LETTER NU
+30CD KATAKANA LETTER NE
+30CE KATAKANA LETTER NO
+30CF KATAKANA LETTER HA
+30D0 KATAKANA LETTER BA
+ : 30CF + 3099
+30D1 KATAKANA LETTER PA
+ : 30CF + 309A
+30D2 KATAKANA LETTER HI
+30D3 KATAKANA LETTER BI
+ : 30D2 + 3099
+30D4 KATAKANA LETTER PI
+ : 30D2 + 309A
+30D5 KATAKANA LETTER HU
+ = FU
+30D6 KATAKANA LETTER BU
+ : 30D5 + 3099
+30D7 KATAKANA LETTER PU
+ : 30D5 + 309A
+30D8 KATAKANA LETTER HE
+30D9 KATAKANA LETTER BE
+ : 30D8 + 3099
+30DA KATAKANA LETTER PE
+ : 30D8 + 309A
+30DB KATAKANA LETTER HO
+30DC KATAKANA LETTER BO
+ : 30DB + 3099
+30DD KATAKANA LETTER PO
+ : 30DB + 309A
+30DE KATAKANA LETTER MA
+30DF KATAKANA LETTER MI
+30E0 KATAKANA LETTER MU
+30E1 KATAKANA LETTER ME
+30E2 KATAKANA LETTER MO
+30E3 KATAKANA LETTER SMALL YA
+30E4 KATAKANA LETTER YA
+30E5 KATAKANA LETTER SMALL YU
+30E6 KATAKANA LETTER YU
+30E7 KATAKANA LETTER SMALL YO
+30E8 KATAKANA LETTER YO
+30E9 KATAKANA LETTER RA
+30EA KATAKANA LETTER RI
+30EB KATAKANA LETTER RU
+30EC KATAKANA LETTER RE
+30ED KATAKANA LETTER RO
+30EE KATAKANA LETTER SMALL WA
+30EF KATAKANA LETTER WA
+30F0 KATAKANA LETTER WI
+30F1 KATAKANA LETTER WE
+30F2 KATAKANA LETTER WO
+30F3 KATAKANA LETTER N
+30F4 KATAKANA LETTER VU
+ : 30A6 + 3099
+30F5 KATAKANA LETTER SMALL KA
+30F6 KATAKANA LETTER SMALL KE
+30F7 KATAKANA LETTER VA
+ : 30EF + 3099
+30F8 KATAKANA LETTER VI
+ : 30F0 + 3099
+30F9 KATAKANA LETTER VE
+ : 30F1 + 3099
+30FA KATAKANA LETTER VO
+ : 30F2 + 3099
+30FB KATAKANA MIDDLE DOT
+ x (middle dot - 00B7)
+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK
+ x (em dash - 2014)
+30FD KATAKANA ITERATION MARK
+30FE KATAKANA VOICED ITERATION MARK
+ : 30FD + 3099
+@@ 3100 Bopomofo 312F
+@ Based on GB 2312
+ x (caron - 02C7)
+ x (modifier letter macron - 02C9)
+ x (modifier letter acute accent - 02CA)
+ x (modifier letter grave accent - 02CB)
+ x (dot above - 02D9)
+3100 <reserved>
+3101 <reserved>
+3102 <reserved>
+3103 <reserved>
+3104 <reserved>
+3105 BOPOMOFO LETTER B
+3106 BOPOMOFO LETTER P
+3107 BOPOMOFO LETTER M
+3108 BOPOMOFO LETTER F
+3109 BOPOMOFO LETTER D
+310A BOPOMOFO LETTER T
+310B BOPOMOFO LETTER N
+310C BOPOMOFO LETTER L
+310D BOPOMOFO LETTER G
+310E BOPOMOFO LETTER K
+310F BOPOMOFO LETTER H
+3110 BOPOMOFO LETTER J
+3111 BOPOMOFO LETTER Q
+3112 BOPOMOFO LETTER X
+3113 BOPOMOFO LETTER ZH
+3114 BOPOMOFO LETTER CH
+3115 BOPOMOFO LETTER SH
+3116 BOPOMOFO LETTER R
+3117 BOPOMOFO LETTER Z
+3118 BOPOMOFO LETTER C
+3119 BOPOMOFO LETTER S
+311A BOPOMOFO LETTER A
+311B BOPOMOFO LETTER O
+311C BOPOMOFO LETTER E
+311D BOPOMOFO LETTER EH
+311E BOPOMOFO LETTER AI
+311F BOPOMOFO LETTER EI
+3120 BOPOMOFO LETTER AU
+3121 BOPOMOFO LETTER OU
+3122 BOPOMOFO LETTER AN
+3123 BOPOMOFO LETTER EN
+3124 BOPOMOFO LETTER ANG
+3125 BOPOMOFO LETTER ENG
+3126 BOPOMOFO LETTER ER
+3127 BOPOMOFO LETTER I
+3128 BOPOMOFO LETTER U
+3129 BOPOMOFO LETTER IU
+@ Dialect (non-Mandarin) letters
+312A BOPOMOFO LETTER V
+312B BOPOMOFO LETTER NG
+312C BOPOMOFO LETTER GN
+@@ 3130 Hangul Compatibility Jamo 318F
+@ Based on KS C 5601
+@ Modern letters
+3130 <reserved>
+3131 HANGUL LETTER KIYEOK
+ # 1100
+3132 HANGUL LETTER SSANGKIYEOK
+ # 1101
+3133 HANGUL LETTER KIYEOK-SIOS
+ # 11AA
+3134 HANGUL LETTER NIEUN
+ # 1102
+3135 HANGUL LETTER NIEUN-CIEUC
+ # 11AC
+3136 HANGUL LETTER NIEUN-HIEUH
+ # 11AD
+3137 HANGUL LETTER TIKEUT
+ # 1103
+3138 HANGUL LETTER SSANGTIKEUT
+ # 1104
+3139 HANGUL LETTER RIEUL
+ # 1105
+313A HANGUL LETTER RIEUL-KIYEOK
+ # 11B0
+313B HANGUL LETTER RIEUL-MIEUM
+ # 11B1
+313C HANGUL LETTER RIEUL-PIEUP
+ # 11B2
+313D HANGUL LETTER RIEUL-SIOS
+ # 11B3
+313E HANGUL LETTER RIEUL-THIEUTH
+ # 11B4
+313F HANGUL LETTER RIEUL-PHIEUPH
+ # 11B5
+3140 HANGUL LETTER RIEUL-HIEUH
+ # 111A
+3141 HANGUL LETTER MIEUM
+ # 1106
+3142 HANGUL LETTER PIEUP
+ # 1107
+3143 HANGUL LETTER SSANGPIEUP
+ # 1108
+3144 HANGUL LETTER PIEUP-SIOS
+ # 1121
+3145 HANGUL LETTER SIOS
+ # 1109
+3146 HANGUL LETTER SSANGSIOS
+ # 110A
+3147 HANGUL LETTER IEUNG
+ # 110B
+3148 HANGUL LETTER CIEUC
+ # 110C
+3149 HANGUL LETTER SSANGCIEUC
+ # 110D
+314A HANGUL LETTER CHIEUCH
+ # 110E
+314B HANGUL LETTER KHIEUKH
+ # 110F
+314C HANGUL LETTER THIEUTH
+ # 1110
+314D HANGUL LETTER PHIEUPH
+ # 1111
+314E HANGUL LETTER HIEUH
+ # 1112
+314F HANGUL LETTER A
+ # 1161
+3150 HANGUL LETTER AE
+ # 1162
+3151 HANGUL LETTER YA
+ # 1163
+3152 HANGUL LETTER YAE
+ # 1164
+3153 HANGUL LETTER EO
+ # 1165
+3154 HANGUL LETTER E
+ # 1166
+3155 HANGUL LETTER YEO
+ # 1167
+3156 HANGUL LETTER YE
+ # 1168
+3157 HANGUL LETTER O
+ # 1169
+3158 HANGUL LETTER WA
+ # 116A
+3159 HANGUL LETTER WAE
+ # 116B
+315A HANGUL LETTER OE
+ # 116C
+315B HANGUL LETTER YO
+ # 116D
+315C HANGUL LETTER U
+ # 116E
+315D HANGUL LETTER WEO
+ # 116F
+315E HANGUL LETTER WE
+ # 1170
+315F HANGUL LETTER WI
+ # 1171
+3160 HANGUL LETTER YU
+ # 1172
+3161 HANGUL LETTER EU
+ # 1173
+3162 HANGUL LETTER YI
+ # 1174
+3163 HANGUL LETTER I
+ # 1175
+@ Special character
+3164 HANGUL FILLER
+ = HANGUL CAE OM
+ # 1160
+@ Archaic letters
+3165 HANGUL LETTER SSANGNIEUN
+ # 1114
+3166 HANGUL LETTER NIEUN-TIKEUT
+ # 1115
+3167 HANGUL LETTER NIEUN-SIOS
+ # 11C7
+3168 HANGUL LETTER NIEUN-PANSIOS
+ # 11C8
+3169 HANGUL LETTER RIEUL-KIYEOK-SIOS
+ # 11CC
+316A HANGUL LETTER RIEUL-TIKEUT
+ # 11CE
+316B HANGUL LETTER RIEUL-PIEUP-SIOS
+ # 11D3
+316C HANGUL LETTER RIEUL-PANSIOS
+ # 11D7
+316D HANGUL LETTER RIEUL-YEORINHIEUH
+ # 11D9
+316E HANGUL LETTER MIEUM-PIEUP
+ # 111C
+316F HANGUL LETTER MIEUM-SIOS
+ # 11DD
+3170 HANGUL LETTER MIEUM-PANSIOS
+ # 11DF
+3171 HANGUL LETTER KAPYEOUNMIEUM
+ # 111D
+3172 HANGUL LETTER PIEUP-KIYEOK
+ # 111E
+3173 HANGUL LETTER PIEUP-TIKEUT
+ # 1120
+3174 HANGUL LETTER PIEUP-SIOS-KIYEOK
+ # 1122
+3175 HANGUL LETTER PIEUP-SIOS-TIKEUT
+ # 1123
+3176 HANGUL LETTER PIEUP-CIEUC
+ # 1127
+3177 HANGUL LETTER PIEUP-THIEUTH
+ # 1129
+3178 HANGUL LETTER KAPYEOUNPIEUP
+ # 112B
+3179 HANGUL LETTER KAPYEOUNSSANGPIEUP
+ # 112C
+317A HANGUL LETTER SIOS-KIYEOK
+ # 112D
+317B HANGUL LETTER SIOS-NIEUN
+ # 112E
+317C HANGUL LETTER SIOS-TIKEUT
+ # 112F
+317D HANGUL LETTER SIOS-PIEUP
+ # 1132
+317E HANGUL LETTER SIOS-CIEUC
+ # 1136
+317F HANGUL LETTER PANSIOS
+ # 1140
+3180 HANGUL LETTER SSANGIEUNG
+ # 1147
+3181 HANGUL LETTER YESIEUNG
+ * archaic velar nasal
+ # 114C
+3182 HANGUL LETTER YESIEUNG-SIOS
+ # 11F1
+3183 HANGUL LETTER YESIEUNG-PANSIOS
+ # 11F2
+3184 HANGUL LETTER KAPYEOUNPHIEUPH
+ # 1157
+3185 HANGUL LETTER SSANGHIEUH
+ # 1158
+3186 HANGUL LETTER YEORINHIEUH
+ * archaic glottal stop
+ # 1159
+3187 HANGUL LETTER YO-YA
+ # 1184
+3188 HANGUL LETTER YO-YAE
+ # 1185
+3189 HANGUL LETTER YO-I
+ # 1188
+318A HANGUL LETTER YU-YEO
+ # 1191
+318B HANGUL LETTER YU-YE
+ # 1192
+318C HANGUL LETTER YU-I
+ # 1194
+318D HANGUL LETTER ARAEA
+ # 119E
+318E HANGUL LETTER ARAEAE
+ # 11A1
+@@ 3190 Kanbun 319F
+@ Kanbun
+3190 IDEOGRAPHIC ANNOTATION LINKING MARK
+3191 IDEOGRAPHIC ANNOTATION REVERSE MARK
+3192 IDEOGRAPHIC ANNOTATION ONE MARK
+ # <super> + 4E00
+3193 IDEOGRAPHIC ANNOTATION TWO MARK
+ # <super> + 4E8C
+3194 IDEOGRAPHIC ANNOTATION THREE MARK
+ # <super> + 4E09
+3195 IDEOGRAPHIC ANNOTATION FOUR MARK
+ # <super> + 56DB
+3196 IDEOGRAPHIC ANNOTATION TOP MARK
+ # <super> + 4E0A
+3197 IDEOGRAPHIC ANNOTATION MIDDLE MARK
+ # <super> + 4E2D
+3198 IDEOGRAPHIC ANNOTATION BOTTOM MARK
+ # <super> + 4E0B
+3199 IDEOGRAPHIC ANNOTATION FIRST MARK
+ # <super> + 7532
+319A IDEOGRAPHIC ANNOTATION SECOND MARK
+ # <super> + 4E59
+319B IDEOGRAPHIC ANNOTATION THIRD MARK
+ # <super> + 4E19
+319C IDEOGRAPHIC ANNOTATION FOURTH MARK
+ # <super> + 4E01
+319D IDEOGRAPHIC ANNOTATION HEAVEN MARK
+ # <super> + 5929
+319E IDEOGRAPHIC ANNOTATION EARTH MARK
+ # <super> + 5730
+319F IDEOGRAPHIC ANNOTATION MAN MARK
+ # <super> + 4EBA
+@@ 31A0 Unassigned 31FF
+@@ 3200 Enclosed CJK Letters and Months 32FF
+@ Parenthesized Hangul elements
+3200 PARENTHESIZED HANGUL KIYEOK
+ # 0028 + 1100 + 0029
+3201 PARENTHESIZED HANGUL NIEUN
+ # 0028 + 1102 + 0029
+3202 PARENTHESIZED HANGUL TIKEUT
+ # 0028 + 1103 + 0029
+3203 PARENTHESIZED HANGUL RIEUL
+ # 0028 + 1105 + 0029
+3204 PARENTHESIZED HANGUL MIEUM
+ # 0028 + 1106 + 0029
+3205 PARENTHESIZED HANGUL PIEUP
+ # 0028 + 1107 + 0029
+3206 PARENTHESIZED HANGUL SIOS
+ # 0028 + 1109 + 0029
+3207 PARENTHESIZED HANGUL IEUNG
+ # 0028 + 110B + 0029
+3208 PARENTHESIZED HANGUL CIEUC
+ # 0028 + 110C + 0029
+3209 PARENTHESIZED HANGUL CHIEUCH
+ # 0028 + 110E + 0029
+320A PARENTHESIZED HANGUL KHIEUKH
+ # 0028 + 110F + 0029
+320B PARENTHESIZED HANGUL THIEUTH
+ # 0028 + 1110 + 0029
+320C PARENTHESIZED HANGUL PHIEUPH
+ # 0028 + 1111 + 0029
+320D PARENTHESIZED HANGUL HIEUH
+ # 0028 + 1112 + 0029
+@ Parenthesized Hangul syllables
+320E PARENTHESIZED HANGUL KIYEOK A
+ # 0028 + 1100 + 1161 + 0029
+320F PARENTHESIZED HANGUL NIEUN A
+ # 0028 + 1102 + 1161 + 0029
+3210 PARENTHESIZED HANGUL TIKEUT A
+ # 0028 + 1103 + 1161 + 0029
+3211 PARENTHESIZED HANGUL RIEUL A
+ # 0028 + 1105 + 1161 + 0029
+3212 PARENTHESIZED HANGUL MIEUM A
+ # 0028 + 1106 + 1161 + 0029
+3213 PARENTHESIZED HANGUL PIEUP A
+ # 0028 + 1107 + 1161 + 0029
+3214 PARENTHESIZED HANGUL SIOS A
+ # 0028 + 1109 + 1161 + 0029
+3215 PARENTHESIZED HANGUL IEUNG A
+ # 0028 + 110B + 1161 + 0029
+3216 PARENTHESIZED HANGUL CIEUC A
+ # 0028 + 110C + 1161 + 0029
+3217 PARENTHESIZED HANGUL CHIEUCH A
+ # 0028 + 110E + 1161 + 0029
+3218 PARENTHESIZED HANGUL KHIEUKH A
+ # 0028 + 110F + 1161 + 0029
+3219 PARENTHESIZED HANGUL THIEUTH A
+ # 0028 + 1110 + 1161 + 0029
+321A PARENTHESIZED HANGUL PHIEUPH A
+ # 0028 + 1111 + 1161 + 0029
+321B PARENTHESIZED HANGUL HIEUH A
+ # 0028 + 1112 + 1161 + 0029
+321C PARENTHESIZED HANGUL CIEUC U
+ # 0028 + 110C + 116E + 0029
+321D <reserved>
+321E <reserved>
+321F <reserved>
+@ Parenthesized ideographs
+3220 PARENTHESIZED IDEOGRAPH ONE
+ # 0028 + 4E00 + 0029
+3221 PARENTHESIZED IDEOGRAPH TWO
+ # 0028 + 4E8C + 0029
+3222 PARENTHESIZED IDEOGRAPH THREE
+ # 0028 + 4E09 + 0029
+3223 PARENTHESIZED IDEOGRAPH FOUR
+ # 0028 + 56DB + 0029
+3224 PARENTHESIZED IDEOGRAPH FIVE
+ # 0028 + 4E94 + 0029
+3225 PARENTHESIZED IDEOGRAPH SIX
+ # 0028 + 516D + 0029
+3226 PARENTHESIZED IDEOGRAPH SEVEN
+ # 0028 + 4E03 + 0029
+3227 PARENTHESIZED IDEOGRAPH EIGHT
+ # 0028 + 516B + 0029
+3228 PARENTHESIZED IDEOGRAPH NINE
+ # 0028 + 4E5D + 0029
+3229 PARENTHESIZED IDEOGRAPH TEN
+ # 0028 + 5341 + 0029
+322A PARENTHESIZED IDEOGRAPH MOON
+ * Monday
+ # 0028 + 6708 + 0029
+322B PARENTHESIZED IDEOGRAPH FIRE
+ * Tuesday
+ # 0028 + 706B + 0029
+322C PARENTHESIZED IDEOGRAPH WATER
+ * Wednesday
+ # 0028 + 6C34 + 0029
+322D PARENTHESIZED IDEOGRAPH WOOD
+ * Thursday
+ # 0028 + 6728 + 0029
+322E PARENTHESIZED IDEOGRAPH METAL
+ * Friday
+ # 0028 + 91D1 + 0029
+322F PARENTHESIZED IDEOGRAPH EARTH
+ * Saturday
+ # 0028 + 571F + 0029
+3230 PARENTHESIZED IDEOGRAPH SUN
+ * Sunday
+ # 0028 + 65E5 + 0029
+3231 PARENTHESIZED IDEOGRAPH STOCK
+ * incorporated
+ # 0028 + 682A + 0029
+3232 PARENTHESIZED IDEOGRAPH HAVE
+ * limited
+ # 0028 + 6709 + 0029
+3233 PARENTHESIZED IDEOGRAPH SOCIETY
+ * company
+ # 0028 + 793E + 0029
+3234 PARENTHESIZED IDEOGRAPH NAME
+ # 0028 + 540D + 0029
+3235 PARENTHESIZED IDEOGRAPH SPECIAL
+ # 0028 + 7279 + 0029
+3236 PARENTHESIZED IDEOGRAPH FINANCIAL
+ # 0028 + 8CA1 + 0029
+3237 PARENTHESIZED IDEOGRAPH CONGRATULATION
+ # 0028 + 795D + 0029
+3238 PARENTHESIZED IDEOGRAPH LABOR
+ # 0028 + 52B4 + 0029
+3239 PARENTHESIZED IDEOGRAPH REPRESENT
+ # 0028 + 4EE3 + 0029
+323A PARENTHESIZED IDEOGRAPH CALL
+ # 0028 + 547C + 0029
+323B PARENTHESIZED IDEOGRAPH STUDY
+ # 0028 + 5B66 + 0029
+323C PARENTHESIZED IDEOGRAPH SUPERVISE
+ # 0028 + 76E3 + 0029
+323D PARENTHESIZED IDEOGRAPH ENTERPRISE
+ # 0028 + 4F01 + 0029
+323E PARENTHESIZED IDEOGRAPH RESOURCE
+ # 0028 + 8CC7 + 0029
+323F PARENTHESIZED IDEOGRAPH ALLIANCE
+ # 0028 + 5354 + 0029
+3240 PARENTHESIZED IDEOGRAPH FESTIVAL
+ # 0028 + 796D + 0029
+3241 PARENTHESIZED IDEOGRAPH REST
+ # 0028 + 4F11 + 0029
+3242 PARENTHESIZED IDEOGRAPH SELF
+ * from
+ # 0028 + 81EA + 0029
+3243 PARENTHESIZED IDEOGRAPH REACH
+ * to
+ # 0028 + 81F3 + 0029
+3244 <reserved>
+3245 <reserved>
+3246 <reserved>
+3247 <reserved>
+3248 <reserved>
+3249 <reserved>
+324A <reserved>
+324B <reserved>
+324C <reserved>
+324D <reserved>
+324E <reserved>
+324F <reserved>
+3250 <reserved>
+3251 <reserved>
+3252 <reserved>
+3253 <reserved>
+3254 <reserved>
+3255 <reserved>
+3256 <reserved>
+3257 <reserved>
+3258 <reserved>
+3259 <reserved>
+325A <reserved>
+325B <reserved>
+325C <reserved>
+325D <reserved>
+325E <reserved>
+325F <reserved>
+@ Circled Hangul elements
+3260 CIRCLED HANGUL KIYEOK
+ # <circle> + 1100
+3261 CIRCLED HANGUL NIEUN
+ # <circle> + 1102
+3262 CIRCLED HANGUL TIKEUT
+ # <circle> + 1103
+3263 CIRCLED HANGUL RIEUL
+ # <circle> + 1105
+3264 CIRCLED HANGUL MIEUM
+ # <circle> + 1106
+3265 CIRCLED HANGUL PIEUP
+ # <circle> + 1107
+3266 CIRCLED HANGUL SIOS
+ # <circle> + 1109
+3267 CIRCLED HANGUL IEUNG
+ # <circle> + 110B
+3268 CIRCLED HANGUL CIEUC
+ # <circle> + 110C
+3269 CIRCLED HANGUL CHIEUCH
+ # <circle> + 110E
+326A CIRCLED HANGUL KHIEUKH
+ # <circle> + 110F
+326B CIRCLED HANGUL THIEUTH
+ # <circle> + 1110
+326C CIRCLED HANGUL PHIEUPH
+ # <circle> + 1111
+326D CIRCLED HANGUL HIEUH
+ # <circle> + 1112
+@ Circled Hangul syllables
+326E CIRCLED HANGUL KIYEOK A
+ # <circle> + 1100 + 1161
+326F CIRCLED HANGUL NIEUN A
+ # <circle> + 1102 + 1161
+3270 CIRCLED HANGUL TIKEUT A
+ # <circle> + 1103 + 1161
+3271 CIRCLED HANGUL RIEUL A
+ # <circle> + 1105 + 1161
+3272 CIRCLED HANGUL MIEUM A
+ # <circle> + 1106 + 1161
+3273 CIRCLED HANGUL PIEUP A
+ # <circle> + 1107 + 1161
+3274 CIRCLED HANGUL SIOS A
+ # <circle> + 1109 + 1161
+3275 CIRCLED HANGUL IEUNG A
+ # <circle> + 110B + 1161
+3276 CIRCLED HANGUL CIEUC A
+ # <circle> + 110C + 1161
+3277 CIRCLED HANGUL CHIEUCH A
+ # <circle> + 110E + 1161
+3278 CIRCLED HANGUL KHIEUKH A
+ # <circle> + 110F + 1161
+3279 CIRCLED HANGUL THIEUTH A
+ # <circle> + 1110 + 1161
+327A CIRCLED HANGUL PHIEUPH A
+ # <circle> + 1111 + 1161
+327B CIRCLED HANGUL HIEUH A
+ # <circle> + 1112 + 1161
+327C <reserved>
+327D <reserved>
+327E <reserved>
+@ Symbol
+327F KOREAN STANDARD SYMBOL
+@ Circled ideographs
+3280 CIRCLED IDEOGRAPH ONE
+ = maru-iti, symbol of unification
+ # <circle> + 4E00
+3281 CIRCLED IDEOGRAPH TWO
+ # <circle> + 4E8C
+3282 CIRCLED IDEOGRAPH THREE
+ # <circle> + 4E09
+3283 CIRCLED IDEOGRAPH FOUR
+ # <circle> + 56DB
+3284 CIRCLED IDEOGRAPH FIVE
+ # <circle> + 4E94
+3285 CIRCLED IDEOGRAPH SIX
+ # <circle> + 516D
+3286 CIRCLED IDEOGRAPH SEVEN
+ # <circle> + 4E03
+3287 CIRCLED IDEOGRAPH EIGHT
+ # <circle> + 516B
+3288 CIRCLED IDEOGRAPH NINE
+ # <circle> + 4E5D
+3289 CIRCLED IDEOGRAPH TEN
+ # <circle> + 5341
+328A CIRCLED IDEOGRAPH MOON
+ * Monday
+ # <circle> + 6708
+328B CIRCLED IDEOGRAPH FIRE
+ * Tuesday
+ # <circle> + 706B
+328C CIRCLED IDEOGRAPH WATER
+ * Wednesday
+ # <circle> + 6C34
+328D CIRCLED IDEOGRAPH WOOD
+ * Thursday
+ # <circle> + 6728
+328E CIRCLED IDEOGRAPH METAL
+ * Friday
+ # <circle> + 91D1
+328F CIRCLED IDEOGRAPH EARTH
+ * Saturday
+ # <circle> + 571F
+3290 CIRCLED IDEOGRAPH SUN
+ * Sunday
+ # <circle> + 65E5
+3291 CIRCLED IDEOGRAPH STOCK
+ * incorporated
+ # <circle> + 682A
+3292 CIRCLED IDEOGRAPH HAVE
+ * limited
+ # <circle> + 6709
+3293 CIRCLED IDEOGRAPH SOCIETY
+ * company
+ # <circle> + 793E
+3294 CIRCLED IDEOGRAPH NAME
+ # <circle> + 540D
+3295 CIRCLED IDEOGRAPH SPECIAL
+ # <circle> + 7279
+3296 CIRCLED IDEOGRAPH FINANCIAL
+ # <circle> + 8CA1
+3297 CIRCLED IDEOGRAPH CONGRATULATION
+ # <circle> + 795D
+3298 CIRCLED IDEOGRAPH LABOR
+ # <circle> + 52B4
+3299 CIRCLED IDEOGRAPH SECRET
+ # <circle> + 79D8
+329A CIRCLED IDEOGRAPH MALE
+ # <circle> + 7537
+329B CIRCLED IDEOGRAPH FEMALE
+ # <circle> + 5973
+329C CIRCLED IDEOGRAPH SUITABLE
+ # <circle> + 9069
+329D CIRCLED IDEOGRAPH EXCELLENT
+ # <circle> + 512A
+329E CIRCLED IDEOGRAPH PRINT
+ * name seal
+ # <circle> + 5370
+329F CIRCLED IDEOGRAPH ATTENTION
+ # <circle> + 6CE8
+32A0 CIRCLED IDEOGRAPH ITEM
+ # <circle> + 9805
+32A1 CIRCLED IDEOGRAPH REST
+ * holiday
+ # <circle> + 4F11
+32A2 CIRCLED IDEOGRAPH COPY
+ # <circle> + 5199
+32A3 CIRCLED IDEOGRAPH CORRECT
+ # <circle> + 6B63
+32A4 CIRCLED IDEOGRAPH HIGH
+ # <circle> + 4E0A
+32A5 CIRCLED IDEOGRAPH CENTRE
+ # <circle> + 4E2D
+32A6 CIRCLED IDEOGRAPH LOW
+ # <circle> + 4E0B
+32A7 CIRCLED IDEOGRAPH LEFT
+ # <circle> + 5DE6
+32A8 CIRCLED IDEOGRAPH RIGHT
+ # <circle> + 53F3
+32A9 CIRCLED IDEOGRAPH MEDICINE
+ # <circle> + 533B
+32AA CIRCLED IDEOGRAPH RELIGION
+ # <circle> + 5B97
+32AB CIRCLED IDEOGRAPH STUDY
+ # <circle> + 5B66
+32AC CIRCLED IDEOGRAPH SUPERVISE
+ # <circle> + 76E3
+32AD CIRCLED IDEOGRAPH ENTERPRISE
+ # <circle> + 4F01
+32AE CIRCLED IDEOGRAPH RESOURCE
+ # <circle> + 8CC7
+32AF CIRCLED IDEOGRAPH ALLIANCE
+ # <circle> + 5354
+32B0 CIRCLED IDEOGRAPH NIGHT
+ # <circle> + 591C
+32B1 <reserved>
+32B2 <reserved>
+32B3 <reserved>
+32B4 <reserved>
+32B5 <reserved>
+32B6 <reserved>
+32B7 <reserved>
+32B8 <reserved>
+32B9 <reserved>
+32BA <reserved>
+32BB <reserved>
+32BC <reserved>
+32BD <reserved>
+32BE <reserved>
+32BF <reserved>
+32C0 IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
+ # 0031 + 6708
+32C1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
+ # 0032 + 6708
+32C2 IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
+ # 0033 + 6708
+32C3 IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
+ # 0034 + 6708
+32C4 IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
+ # 0035 + 6708
+32C5 IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
+ # 0036 + 6708
+32C6 IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
+ # 0037 + 6708
+32C7 IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
+ # 0038 + 6708
+32C8 IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
+ # 0039 + 6708
+32C9 IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
+ # 0031 + 0030 + 6708
+32CA IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
+ # 0031 + 0031 + 6708
+32CB IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
+ # 0031 + 0032 + 6708
+32CC <reserved>
+32CD <reserved>
+32CE <reserved>
+32CF <reserved>
+@ Circled Katakana
+32D0 CIRCLED KATAKANA A
+ # <circle> + 30A2
+32D1 CIRCLED KATAKANA I
+ # <circle> + 30A4
+32D2 CIRCLED KATAKANA U
+ # <circle> + 30A6
+32D3 CIRCLED KATAKANA E
+ # <circle> + 30A8
+32D4 CIRCLED KATAKANA O
+ # <circle> + 30AA
+32D5 CIRCLED KATAKANA KA
+ # <circle> + 30AB
+32D6 CIRCLED KATAKANA KI
+ # <circle> + 30AD
+32D7 CIRCLED KATAKANA KU
+ # <circle> + 30AF
+32D8 CIRCLED KATAKANA KE
+ # <circle> + 30B1
+32D9 CIRCLED KATAKANA KO
+ # <circle> + 30B3
+32DA CIRCLED KATAKANA SA
+ # <circle> + 30B5
+32DB CIRCLED KATAKANA SI
+ # <circle> + 30B7
+32DC CIRCLED KATAKANA SU
+ # <circle> + 30B9
+32DD CIRCLED KATAKANA SE
+ # <circle> + 30BB
+32DE CIRCLED KATAKANA SO
+ # <circle> + 30BD
+32DF CIRCLED KATAKANA TA
+ # <circle> + 30BF
+32E0 CIRCLED KATAKANA TI
+ # <circle> + 30C1
+32E1 CIRCLED KATAKANA TU
+ # <circle> + 30C4
+32E2 CIRCLED KATAKANA TE
+ # <circle> + 30C6
+32E3 CIRCLED KATAKANA TO
+ # <circle> + 30C8
+32E4 CIRCLED KATAKANA NA
+ # <circle> + 30CA
+32E5 CIRCLED KATAKANA NI
+ # <circle> + 30CB
+32E6 CIRCLED KATAKANA NU
+ # <circle> + 30CC
+32E7 CIRCLED KATAKANA NE
+ # <circle> + 30CD
+32E8 CIRCLED KATAKANA NO
+ # <circle> + 30CE
+32E9 CIRCLED KATAKANA HA
+ # <circle> + 30CF
+32EA CIRCLED KATAKANA HI
+ # <circle> + 30D2
+32EB CIRCLED KATAKANA HU
+ # <circle> + 30D5
+32EC CIRCLED KATAKANA HE
+ # <circle> + 30D8
+32ED CIRCLED KATAKANA HO
+ # <circle> + 30DB
+32EE CIRCLED KATAKANA MA
+ # <circle> + 30DE
+32EF CIRCLED KATAKANA MI
+ # <circle> + 30DF
+32F0 CIRCLED KATAKANA MU
+ # <circle> + 30E0
+32F1 CIRCLED KATAKANA ME
+ # <circle> + 30E1
+32F2 CIRCLED KATAKANA MO
+ # <circle> + 30E2
+32F3 CIRCLED KATAKANA YA
+ # <circle> + 30E4
+32F4 CIRCLED KATAKANA YU
+ # <circle> + 30E6
+32F5 CIRCLED KATAKANA YO
+ # <circle> + 30E8
+32F6 CIRCLED KATAKANA RA
+ # <circle> + 30E9
+32F7 CIRCLED KATAKANA RI
+ # <circle> + 30EA
+32F8 CIRCLED KATAKANA RU
+ # <circle> + 30EB
+32F9 CIRCLED KATAKANA RE
+ # <circle> + 30EC
+32FA CIRCLED KATAKANA RO
+ # <circle> + 30ED
+32FB CIRCLED KATAKANA WA
+ # <circle> + 30EF
+32FC CIRCLED KATAKANA WI
+ # <circle> + 30F0
+32FD CIRCLED KATAKANA WE
+ # <circle> + 30F1
+32FE CIRCLED KATAKANA WO
+ # <circle> + 30F2
+@@ 3300 CJK Compatibility 33FF
+@ Squared Katakana words
+3300 SQUARE APAATO
+ * apartment
+ # <square> + 30A2 + 30D1 + 30FC + 30C8
+3301 SQUARE ARUHUA
+ * alpha
+ # <square> + 30A2 + 30EB + 30D5 + 30A1
+3302 SQUARE ANPEA
+ * ampere
+ # <square> + 30A2 + 30F3 + 30DA + 30A2
+3303 SQUARE AARU
+ * are (unit of area)
+ # <square> + 30A2 + 30FC + 30EB
+3304 SQUARE ININGU
+ * inning
+ # <square> + 30A4 + 30CB + 30F3 + 30B0
+3305 SQUARE INTI
+ * inch
+ # <square> + 30A4 + 30F3 + 30C1
+3306 SQUARE UON
+ * won (Korean currency)
+ # <square> + 30A6 + 30A9 + 30F3
+3307 SQUARE ESUKUUDO
+ * escudo (Portuguese currency)
+ # <square> + 30A8 + 30B9 + 30AF + 30FC + 30C9
+3308 SQUARE EEKAA
+ * acre
+ # <square> + 30A8 + 30FC + 30AB + 30FC
+3309 SQUARE ONSU
+ * ounce
+ # <square> + 30AA + 30F3 + 30B9
+330A SQUARE OOMU
+ * ohm
+ # <square> + 30AA + 30FC + 30E0
+330B SQUARE KAIRI
+ * kai-ri: nautical mile
+ # <square> + 30AB + 30A4 + 30EA
+330C SQUARE KARATTO
+ * carat
+ # <square> + 30AB + 30E9 + 30C3 + 30C8
+330D SQUARE KARORII
+ * calorie
+ # <square> + 30AB + 30ED + 30EA + 30FC
+330E SQUARE GARON
+ * gallon
+ # <square> + 30AC + 30ED + 30F3
+330F SQUARE GANMA
+ * gamma
+ # <square> + 30AC + 30F3 + 30DE
+3310 SQUARE GIGA
+ * giga-
+ # <square> + 30AE + 30AC
+3311 SQUARE GINII
+ * guinea
+ # <square> + 30AE + 30CB + 30FC
+3312 SQUARE KYURII
+ * curie
+ # <square> + 30AD + 30E5 + 30EA + 30FC
+3313 SQUARE GIRUDAA
+ * guilder
+ # <square> + 30AE + 30EB + 30C0 + 30FC
+3314 SQUARE KIRO
+ * kilo-
+ # <square> + 30AD + 30ED
+3315 SQUARE KIROGURAMU
+ * kilogram
+ # <square> + 30AD + 30ED + 30B0 + 30E9 + 30E0
+3316 SQUARE KIROMEETORU
+ * kilometer
+ # <square> + 30AD + 30ED + 30E1 + 30FC + 30C8 + 30EB
+3317 SQUARE KIROWATTO
+ * kilowatt
+ # <square> + 30AD + 30ED + 30EF + 30C3 + 30C8
+3318 SQUARE GURAMU
+ * gram
+ # <square> + 30B0 + 30E9 + 30E0
+3319 SQUARE GURAMUTON
+ * gram ton
+ # <square> + 30B0 + 30E9 + 30E0 + 30C8 + 30F3
+331A SQUARE KURUZEIRO
+ * cruzeiro (Brazilian currency)
+ # <square> + 30AF + 30EB + 30BC + 30A4 + 30ED
+331B SQUARE KUROONE
+ * krone
+ # <square> + 30AF + 30ED + 30FC + 30CD
+331C SQUARE KEESU
+ * case
+ # <square> + 30B1 + 30FC + 30B9
+331D SQUARE KORUNA
+ * koruna (Czech currency)
+ # <square> + 30B3 + 30EB + 30CA
+331E SQUARE KOOPO
+ * co-op
+ # <square> + 30B3 + 30FC + 30DD
+331F SQUARE SAIKURU
+ * cycle
+ # <square> + 30B5 + 30A4 + 30AF + 30EB
+3320 SQUARE SANTIIMU
+ * centime
+ # <square> + 30B5 + 30F3 + 30C1 + 30FC + 30E0
+3321 SQUARE SIRINGU
+ * shilling
+ # <square> + 30B7 + 30EA + 30F3 + 30B0
+3322 SQUARE SENTI
+ * centi-
+ # <square> + 30BB + 30F3 + 30C1
+3323 SQUARE SENTO
+ * cent
+ # <square> + 30BB + 30F3 + 30C8
+3324 SQUARE DAASU
+ * dozen
+ # <square> + 30C0 + 30FC + 30B9
+3325 SQUARE DESI
+ * deci-
+ # <square> + 30C7 + 30B7
+3326 SQUARE DORU
+ * dollar
+ # <square> + 30C9 + 30EB
+3327 SQUARE TON
+ * ton
+ # <square> + 30C8 + 30F3
+3328 SQUARE NANO
+ * nano-
+ # <square> + 30CA + 30CE
+3329 SQUARE NOTTO
+ * knot, nautical mile
+ # <square> + 30CE + 30C3 + 30C8
+332A SQUARE HAITU
+ * heights
+ # <square> + 30CF + 30A4 + 30C4
+332B SQUARE PAASENTO
+ * percent
+ # <square> + 30D1 + 30FC + 30BB + 30F3 + 30C8
+332C SQUARE PAATU
+ * parts
+ # <square> + 30D1 + 30FC + 30C4
+332D SQUARE BAARERU
+ * barrel
+ # <square> + 30D0 + 30FC + 30EC + 30EB
+332E SQUARE PIASUTORU
+ * piaster
+ # <square> + 30D4 + 30A2 + 30B9 + 30C8 + 30EB
+332F SQUARE PIKURU
+ * picul (unit of weight)
+ # <square> + 30D4 + 30AF + 30EB
+3330 SQUARE PIKO
+ * pico-
+ # <square> + 30D4 + 30B3
+3331 SQUARE BIRU
+ * building
+ # <square> + 30D3 + 30EB
+3332 SQUARE HUARADDO
+ * farad
+ # <square> + 30D5 + 30A1 + 30E9 + 30C3 + 30C9
+3333 SQUARE HUIITO
+ * feet
+ # <square> + 30D5 + 30A3 + 30FC + 30C8
+3334 SQUARE BUSSYERU
+ * bushel
+ # <square> + 30D6 + 30C3 + 30B7 + 30A7 + 30EB
+3335 SQUARE HURAN
+ * franc
+ # <square> + 30D5 + 30E9 + 30F3
+3336 SQUARE HEKUTAARU
+ * hectare
+ # <square> + 30D8 + 30AF + 30BF + 30FC + 30EB
+3337 SQUARE PESO
+ * peso
+ # <square> + 30DA + 30BD
+3338 SQUARE PENIHI
+ * pfennig
+ # <square> + 30DA + 30CB + 30D2
+3339 SQUARE HERUTU
+ * hertz
+ # <square> + 30D8 + 30EB + 30C4
+333A SQUARE PENSU
+ * pence
+ # <square> + 30DA + 30F3 + 30B9
+333B SQUARE PEEZI
+ * page
+ # <square> + 30DA + 30FC + 30B8
+333C SQUARE BEETA
+ * beta
+ # <square> + 30D9 + 30FC + 30BF
+333D SQUARE POINTO
+ * point
+ # <square> + 30DD + 30A4 + 30F3 + 30C8
+333E SQUARE BORUTO
+ * volt, bolt
+ # <square> + 30DC + 30EB + 30C8
+333F SQUARE HON
+ * hon: volume
+ # <square> + 30DB + 30F3
+3340 SQUARE PONDO
+ * pound
+ # <square> + 30DD + 30F3 + 30C9
+3341 SQUARE HOORU
+ * hall
+ # <square> + 30DB + 30FC + 30EB
+3342 SQUARE HOON
+ * horn
+ # <square> + 30DB + 30FC + 30F3
+3343 SQUARE MAIKURO
+ * micro-
+ # <square> + 30DE + 30A4 + 30AF + 30ED
+3344 SQUARE MAIRU
+ * mile
+ # <square> + 30DE + 30A4 + 30EB
+3345 SQUARE MAHHA
+ * mach
+ # <square> + 30DE + 30C3 + 30CF
+3346 SQUARE MARUKU
+ * mark
+ # <square> + 30DE + 30EB + 30AF
+3347 SQUARE MANSYON
+ * mansion
+ # <square> + 30DE + 30F3 + 30B7 + 30E7 + 30F3
+3348 SQUARE MIKURON
+ * micron
+ # <square> + 30DF + 30AF + 30ED + 30F3
+3349 SQUARE MIRI
+ * milli-
+ # <square> + 30DF + 30EA
+334A SQUARE MIRIBAARU
+ * millibar
+ # <square> + 30DF + 30EA + 30D0 + 30FC + 30EB
+334B SQUARE MEGA
+ * mega-
+ # <square> + 30E1 + 30AC
+334C SQUARE MEGATON
+ * megaton
+ # <square> + 30E1 + 30AC + 30C8 + 30F3
+334D SQUARE MEETORU
+ * meter
+ # <square> + 30E1 + 30FC + 30C8 + 30EB
+334E SQUARE YAADO
+ * yard
+ # <square> + 30E4 + 30FC + 30C9
+334F SQUARE YAARU
+ * yard
+ # <square> + 30E4 + 30FC + 30EB
+3350 SQUARE YUAN
+ * yuan (Chinese currency)
+ # <square> + 30E6 + 30A2 + 30F3
+3351 SQUARE RITTORU
+ * liter
+ # <square> + 30EA + 30C3 + 30C8 + 30EB
+3352 SQUARE RIRA
+ * lira
+ # <square> + 30EA + 30E9
+3353 SQUARE RUPII
+ * rupee
+ # <square> + 30EB + 30D4 + 30FC
+3354 SQUARE RUUBURU
+ * ruble
+ # <square> + 30EB + 30FC + 30D6 + 30EB
+3355 SQUARE REMU
+ * rem (unit of radiation)
+ # <square> + 30EC + 30E0
+3356 SQUARE RENTOGEN
+ * roentgen
+ # <square> + 30EC + 30F3 + 30C8 + 30B2 + 30F3
+3357 SQUARE WATTO
+ * watt
+ # <square> + 30EF + 30C3 + 30C8
+3358 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
+ # <square> + 0030 + 70B9
+3359 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
+ # 0031 + 70B9
+335A IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
+ # 0032 + 70B9
+335B IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
+ # 0033 + 70B9
+335C IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
+ # 0034 + 70B9
+335D IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
+ # 0035 + 70B9
+335E IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
+ # 0036 + 70B9
+335F IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
+ # 0037 + 70B9
+3360 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
+ # 0038 + 70B9
+3361 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
+ # 0039 + 70B9
+3362 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
+ # 0031 + 0030 + 70B9
+3363 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
+ # 0031 + 0031 + 70B9
+3364 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
+ # 0031 + 0032 + 70B9
+3365 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
+ # 0031 + 0033 + 70B9
+3366 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
+ # 0031 + 0034 + 70B9
+3367 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
+ # 0031 + 0035 + 70B9
+3368 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
+ # 0031 + 0036 + 70B9
+3369 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
+ # 0031 + 0037 + 70B9
+336A IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
+ # 0031 + 0038 + 70B9
+336B IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
+ # 0031 + 0039 + 70B9
+336C IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
+ # 0032 + 0030 + 70B9
+336D IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
+ # 0032 + 0031 + 70B9
+336E IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
+ # 0032 + 0032 + 70B9
+336F IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
+ # 0032 + 0033 + 70B9
+3370 IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
+ # 0032 + 0034 + 70B9
+3371 SQUARE HPA
+ # <square> + 0068 + 0050 + 0061
+3372 SQUARE DA
+ # <square> + 0064 + 0061
+3373 SQUARE AU
+ # <square> + 0041 + 0055
+3374 SQUARE BAR
+ # <square> + 0062 + 0061 + 0072
+3375 SQUARE OV
+ # <square> + 006F + 0056
+3376 SQUARE PC
+ # <square> + 0070 + 0063
+3377 <reserved>
+3378 <reserved>
+3379 <reserved>
+337A <reserved>
+@ Japanese era names
+337B SQUARE ERA NAME HEISEI
+ # <square> + 5E73 + 6210
+337C SQUARE ERA NAME SYOUWA
+ # <square> + 662D + 548C
+337D SQUARE ERA NAME TAISYOU
+ # <square> + 5927 + 6B63
+337E SQUARE ERA NAME MEIZI
+ # <square> + 660E + 6CBB
+@ Japanese corporation
+337F SQUARE CORPORATION
+ = kabusiki-gaisya
+ * incorporated
+ # <square> + 682A + 5F0F + 4F1A + 793E
+@ Squared Latin abbreviations
+3380 SQUARE PA AMPS
+ # <square> + 0070 + 0041
+3381 SQUARE NA
+ # <square> + 006E + 0041
+3382 SQUARE MU A
+ # <square> + 03BC + 0041
+3383 SQUARE MA
+ # <square> + 006D + 0041
+3384 SQUARE KA
+ # <square> + 006B + 0041
+3385 SQUARE KB
+ # <square> + 004B + 0042
+3386 SQUARE MB
+ # <square> + 004D + 0042
+3387 SQUARE GB
+ # <square> + 0047 + 0042
+3388 SQUARE CAL
+ # <square> + 0063 + 0061 + 006C
+3389 SQUARE KCAL
+ # <square> + 006B + 0063 + 0061 + 006C
+338A SQUARE PF
+ # <square> + 0070 + 0046
+338B SQUARE NF
+ # <square> + 006E + 0046
+338C SQUARE MU F
+ # <square> + 03BC + 0046
+338D SQUARE MU G
+ # <square> + 03BC + 0067
+338E SQUARE MG
+ # <square> + 006D + 0067
+338F SQUARE KG
+ # <square> + 006B + 0067
+3390 SQUARE HZ
+ # <square> + 0048 + 007A
+3391 SQUARE KHZ
+ # <square> + 006B + 0048 + 007A
+3392 SQUARE MHZ
+ # <square> + 004D + 0048 + 007A
+3393 SQUARE GHZ
+ # <square> + 0047 + 0048 + 007A
+3394 SQUARE THZ
+ # <square> + 0054 + 0048 + 007A
+3395 SQUARE MU L
+ # <square> + 03BC + 2113
+3396 SQUARE ML
+ # <square> + 006D + 2113
+3397 SQUARE DL
+ # <square> + 0064 + 2113
+3398 SQUARE KL
+ # <square> + 006B + 2113
+3399 SQUARE FM
+ # <square> + 0066 + 006D
+339A SQUARE NM
+ # <square> + 006E + 006D
+339B SQUARE MU M
+ # <square> + 03BC + 006D
+339C SQUARE MM
+ # <square> + 006D + 006D
+339D SQUARE CM
+ # <square> + 0063 + 006D
+339E SQUARE KM
+ # <square> + 006B + 006D
+339F SQUARE MM SQUARED
+ # <square> + 006D + 006D + 00B2
+33A0 SQUARE CM SQUARED
+ # <square> + 0063 + 006D + 00B2
+33A1 SQUARE M SQUARED
+ # <square> + 006D + 00B2
+33A2 SQUARE KM SQUARED
+ # <square> + 006B + 006D + 00B2
+33A3 SQUARE MM CUBED
+ # <square> + 006D + 006D + 00B3
+33A4 SQUARE CM CUBED
+ # <square> + 0063 + 006D + 00B3
+33A5 SQUARE M CUBED
+ # <square> + 006D + 00B3
+33A6 SQUARE KM CUBED
+ # <square> + 006B + 006D + 00B3
+33A7 SQUARE M OVER S
+ # <square> + 006D + 2215 + 0073
+33A8 SQUARE M OVER S SQUARED
+ # <square> + 006D + 2215 + 0073 + 00B2
+33A9 SQUARE PA
+ # <square> + 0050 + 0061
+33AA SQUARE KPA
+ # <square> + 006B + 0050 + 0061
+33AB SQUARE MPA
+ # <square> + 004D + 0050 + 0061
+33AC SQUARE GPA
+ # <square> + 0047 + 0050 + 0061
+33AD SQUARE RAD
+ # <square> + 0072 + 0061 + 0064
+33AE SQUARE RAD OVER S
+ # <square> + 0072 + 0061 + 0064 + 2215 + 0073
+33AF SQUARE RAD OVER S SQUARED
+ # <square> + 0072 + 0061 + 0064 + 2215 + 0073 + 00B2
+33B0 SQUARE PS
+ # <square> + 0070 + 0073
+33B1 SQUARE NS
+ # <square> + 006E + 0073
+33B2 SQUARE MU S
+ # <square> + 03BC + 0073
+33B3 SQUARE MS
+ # <square> + 006D + 0073
+33B4 SQUARE PV
+ # <square> + 0070 + 0056
+33B5 SQUARE NV
+ # <square> + 006E + 0056
+33B6 SQUARE MU V
+ # <square> + 03BC + 0056
+33B7 SQUARE MV
+ # <square> + 006D + 0056
+33B8 SQUARE KV
+ # <square> + 006B + 0056
+33B9 SQUARE MV MEGA
+ # <square> + 004D + 0056
+33BA SQUARE PW
+ # <square> + 0070 + 0057
+33BB SQUARE NW
+ # <square> + 006E + 0057
+33BC SQUARE MU W
+ # <square> + 03BC + 0057
+33BD SQUARE MW
+ # <square> + 006D + 0057
+33BE SQUARE KW
+ # <square> + 006B + 0057
+33BF SQUARE MW MEGA
+ # <square> + 004D + 0057
+33C0 SQUARE K OHM
+ # <square> + 006B + 03A9
+33C1 SQUARE M OHM
+ # <square> + 004D + 03A9
+33C2 SQUARE AM
+ # <square> + 0061 + 002E + 006D + 002E
+33C3 SQUARE BQ
+ # <square> + 0042 + 0071
+33C4 SQUARE CC
+ # <square> + 0063 + 0063
+33C5 SQUARE CD
+ # <square> + 0063 + 0064
+33C6 SQUARE C OVER KG
+ # <square> + 0043 + 2215 + 006B + 0067
+33C7 SQUARE CO
+ # <square> + 0043 + 006F + 002E
+33C8 SQUARE DB
+ # <square> + 0064 + 0042
+33C9 SQUARE GY
+ # <square> + 0047 + 0079
+33CA SQUARE HA
+ # <square> + 0068 + 0061
+33CB SQUARE HP
+ # <square> + 0048 + 0050
+33CC SQUARE IN
+ # <square> + 0069 + 006E
+33CD SQUARE KK
+ # <square> + 004B + 004B
+33CE SQUARE KM CAPITAL
+ # <square> + 004B + 004D
+33CF SQUARE KT
+ # <square> + 006B + 0074
+33D0 SQUARE LM
+ # <square> + 006C + 006D
+33D1 SQUARE LN
+ # <square> + 006C + 006E
+33D2 SQUARE LOG
+ # <square> + 006C + 006F + 0067
+33D3 SQUARE LX
+ # <square> + 006C + 0078
+33D4 SQUARE MB SMALL
+ # <square> + 006D + 0062
+33D5 SQUARE MIL
+ # <square> + 006D + 0069 + 006C
+33D6 SQUARE MOL
+ # <square> + 006D + 006F + 006C
+33D7 SQUARE PH
+ # <square> + 0050 + 0048
+33D8 SQUARE PM
+ # <square> + 0070 + 002E + 006D + 002E
+33D9 SQUARE PPM
+ # <square> + 0050 + 0050 + 004D
+33DA SQUARE PR
+ # <square> + 0050 + 0052
+33DB SQUARE SR
+ # <square> + 0073 + 0072
+33DC SQUARE SV
+ # <square> + 0053 + 0076
+33DD SQUARE WB
+ # <square> + 0057 + 0062
+33DE <reserved>
+33DF <reserved>
+33E0 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
+ # 0031 + 65E5
+33E1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
+ # 0032 + 65E5
+33E2 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
+ # 0033 + 65E5
+33E3 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
+ # 0034 + 65E5
+33E4 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
+ # 0035 + 65E5
+33E5 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
+ # 0036 + 65E5
+33E6 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
+ # 0037 + 65E5
+33E7 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
+ # 0038 + 65E5
+33E8 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
+ # 0039 + 65E5
+33E9 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
+ # 0031 + 0030 + 65E5
+33EA IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
+ # 0031 + 0031 + 65E5
+33EB IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
+ # 0031 + 0032 + 65E5
+33EC IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
+ # 0031 + 0033 + 65E5
+33ED IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
+ # 0031 + 0034 + 65E5
+33EE IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
+ # 0031 + 0035 + 65E5
+33EF IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
+ # 0031 + 0036 + 65E5
+33F0 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
+ # 0031 + 0037 + 65E5
+33F1 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
+ # 0031 + 0038 + 65E5
+33F2 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
+ # 0031 + 0039 + 65E5
+33F3 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
+ # 0032 + 0030 + 65E5
+33F4 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
+ # 0032 + 0031 + 65E5
+33F5 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
+ # 0032 + 0032 + 65E5
+33F6 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
+ # 0032 + 0033 + 65E5
+33F7 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
+ # 0032 + 0034 + 65E5
+33F8 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
+ # 0032 + 0035 + 65E5
+33F9 IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
+ # 0032 + 0036 + 65E5
+33FA IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
+ # 0032 + 0037 + 65E5
+33FB IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
+ # 0032 + 0038 + 65E5
+33FC IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
+ # 0032 + 0039 + 65E5
+33FD IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
+ # 0033 + 0030 + 65E5
+33FE IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
+ # 0033 + 0031 + 65E5
+@@ 3400 Unassigned 4DFF
+@@ 4E00 CJK Unified Ideographs 9FA5
+@@ 9FA6 Unassigned ABFF
+@@ AC00 Hangul Syllables D7A3
+@@ D7A4 Unassigned D7FF
+@@ D800 High Surrogates DB7F
+@@ DB80 Private Use High Surrogates DBFF
+@@ DC00 Low Surrogates DFFF
+@@ E000 Private Use Area F8FF
+@@ F900 CJK Compatibility Ideographs FAFF
+@@ FB00 Alphabetic Presentation Forms FB4F
+@ Alphabetic presentation forms
+FB00 LATIN SMALL LIGATURE FF
+ # 0066 + 0066
+FB01 LATIN SMALL LIGATURE FI
+ # 0066 + 0069
+FB02 LATIN SMALL LIGATURE FL
+ # 0066 + 006C
+FB03 LATIN SMALL LIGATURE FFI
+ # 0066 + 0066 + 0069
+FB04 LATIN SMALL LIGATURE FFL
+ # 0066 + 0066 + 006C
+FB05 LATIN SMALL LIGATURE LONG S T
+ # 017F + 0074
+FB06 LATIN SMALL LIGATURE ST
+ # 0073 + 0074
+FB13 ARMENIAN SMALL LIGATURE MEN NOW
+ # 0574 + 0576
+FB14 ARMENIAN SMALL LIGATURE MEN ECH
+ # 0574 + 0565
+FB15 ARMENIAN SMALL LIGATURE MEN INI
+ # 0574 + 056B
+FB16 ARMENIAN SMALL LIGATURE VEW NOW
+ # 057E + 0576
+FB17 ARMENIAN SMALL LIGATURE MEN XEH
+ # 0574 + 056D
+FB1E HEBREW POINT JUDEO-SPANISH VARIKA
+FB1F HEBREW LIGATURE YIDDISH YOD YOD PATAH
+ # 05F2 + 05B7
+FB20 HEBREW LETTER ALTERNATIVE AYIN
+ # <font> + 05E2
+FB21 HEBREW LETTER WIDE ALEF
+ # <font> + 05D0
+FB22 HEBREW LETTER WIDE DALET
+ # <font> + 05D3
+FB23 HEBREW LETTER WIDE HE
+ # <font> + 05D4
+FB24 HEBREW LETTER WIDE KAF
+ # <font> + 05DB
+FB25 HEBREW LETTER WIDE LAMED
+ # <font> + 05DC
+FB26 HEBREW LETTER WIDE FINAL MEM
+ # <font> + 05DD
+FB27 HEBREW LETTER WIDE RESH
+ # <font> + 05E8
+FB28 HEBREW LETTER WIDE TAV
+ # <font> + 05EA
+FB29 HEBREW LETTER ALTERNATIVE PLUS SIGN
+ # <font> + 002B
+FB2A HEBREW LETTER SHIN WITH SHIN DOT
+ : 05E9 + 05C1
+FB2B HEBREW LETTER SHIN WITH SIN DOT
+ : 05E9 + 05C2
+FB2C HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT
+ : 05E9 + 05BC + 05C1
+FB2D HEBREW LETTER SHIN WITH DAGESH AND SIN DOT
+ : 05E9 + 05BC + 05C2
+FB2E HEBREW LETTER ALEF WITH PATAH
+ : 05D0 + 05B7
+FB2F HEBREW LETTER ALEF WITH QAMATS
+ : 05D0 + 05B8
+FB30 HEBREW LETTER ALEF WITH MAPIQ
+ : 05D0 + 05BC
+FB31 HEBREW LETTER BET WITH DAGESH
+ : 05D1 + 05BC
+FB32 HEBREW LETTER GIMEL WITH DAGESH
+ : 05D2 + 05BC
+FB33 HEBREW LETTER DALET WITH DAGESH
+ : 05D3 + 05BC
+FB34 HEBREW LETTER HE WITH MAPIQ
+ : 05D4 + 05BC
+FB35 HEBREW LETTER VAV WITH DAGESH
+ : 05D5 + 05BC
+FB36 HEBREW LETTER ZAYIN WITH DAGESH
+ : 05D6 + 05BC
+FB38 HEBREW LETTER TET WITH DAGESH
+ : 05D8 + 05BC
+FB39 HEBREW LETTER YOD WITH DAGESH
+ : 05D9 + 05BC
+FB3A HEBREW LETTER FINAL KAF WITH DAGESH
+ : 05DA + 05BC
+FB3B HEBREW LETTER KAF WITH DAGESH
+ : 05DB + 05BC
+FB3C HEBREW LETTER LAMED WITH DAGESH
+ : 05DC + 05BC
+FB3E HEBREW LETTER MEM WITH DAGESH
+ : 05DE + 05BC
+FB40 HEBREW LETTER NUN WITH DAGESH
+ : 05E0 + 05BC
+FB41 HEBREW LETTER SAMEKH WITH DAGESH
+ : 05E1 + 05BC
+FB43 HEBREW LETTER FINAL PE WITH DAGESH
+ : 05E3 + 05BC
+FB44 HEBREW LETTER PE WITH DAGESH
+ : 05E4 + 05BC
+FB46 HEBREW LETTER TSADI WITH DAGESH
+ : 05E6 + 05BC
+FB47 HEBREW LETTER QOF WITH DAGESH
+ : 05E7 + 05BC
+FB48 HEBREW LETTER RESH WITH DAGESH
+ : 05E8 + 05BC
+FB49 HEBREW LETTER SHIN WITH DAGESH
+ : 05E9 + 05BC
+FB4A HEBREW LETTER TAV WITH DAGESH
+ : 05EA + 05BC
+FB4B HEBREW LETTER VAV WITH HOLAM
+ : 05D5 + 05B9
+FB4C HEBREW LETTER BET WITH RAFE
+ : 05D1 + 05BF
+FB4D HEBREW LETTER KAF WITH RAFE
+ : 05DB + 05BF
+FB4E HEBREW LETTER PE WITH RAFE
+ : 05E4 + 05BF
+FB4F HEBREW LIGATURE ALEF LAMED
+ # 05D0 + 05DC
+@@ FB50 Arabic Presentation Forms-A FDFF
+@ Arabic presentation forms-A
+FB50 ARABIC LETTER ALEF WASLA ISOLATED FORM
+ # <isolated> + 0671
+FB51 ARABIC LETTER ALEF WASLA FINAL FORM
+ # <final> + 0671
+FB52 ARABIC LETTER BEEH ISOLATED FORM
+ # <isolated> + 067B
+FB53 ARABIC LETTER BEEH FINAL FORM
+ # <final> + 067B
+FB54 ARABIC LETTER BEEH INITIAL FORM
+ # <initial> + 067B
+FB55 ARABIC LETTER BEEH MEDIAL FORM
+ # <medial> + 067B
+FB56 ARABIC LETTER PEH ISOLATED FORM
+ # <isolated> + 067E
+FB57 ARABIC LETTER PEH FINAL FORM
+ # <final> + 067E
+FB58 ARABIC LETTER PEH INITIAL FORM
+ # <initial> + 067E
+FB59 ARABIC LETTER PEH MEDIAL FORM
+ # <medial> + 067E
+FB5A ARABIC LETTER BEHEH ISOLATED FORM
+ # <isolated> + 0680
+FB5B ARABIC LETTER BEHEH FINAL FORM
+ # <final> + 0680
+FB5C ARABIC LETTER BEHEH INITIAL FORM
+ # <initial> + 0680
+FB5D ARABIC LETTER BEHEH MEDIAL FORM
+ # <medial> + 0680
+FB5E ARABIC LETTER TTEHEH ISOLATED FORM
+ # <isolated> + 067A
+FB5F ARABIC LETTER TTEHEH FINAL FORM
+ # <final> + 067A
+FB60 ARABIC LETTER TTEHEH INITIAL FORM
+ # <initial> + 067A
+FB61 ARABIC LETTER TTEHEH MEDIAL FORM
+ # <medial> + 067A
+FB62 ARABIC LETTER TEHEH ISOLATED FORM
+ # <isolated> + 067F
+FB63 ARABIC LETTER TEHEH FINAL FORM
+ # <final> + 067F
+FB64 ARABIC LETTER TEHEH INITIAL FORM
+ # <initial> + 067F
+FB65 ARABIC LETTER TEHEH MEDIAL FORM
+ # <medial> + 067F
+FB66 ARABIC LETTER TTEH ISOLATED FORM
+ # <isolated> + 0679
+FB67 ARABIC LETTER TTEH FINAL FORM
+ # <final> + 0679
+FB68 ARABIC LETTER TTEH INITIAL FORM
+ # <initial> + 0679
+FB69 ARABIC LETTER TTEH MEDIAL FORM
+ # <medial> + 0679
+FB6A ARABIC LETTER VEH ISOLATED FORM
+ # <isolated> + 06A4
+FB6B ARABIC LETTER VEH FINAL FORM
+ # <final> + 06A4
+FB6C ARABIC LETTER VEH INITIAL FORM
+ # <initial> + 06A4
+FB6D ARABIC LETTER VEH MEDIAL FORM
+ # <medial> + 06A4
+FB6E ARABIC LETTER PEHEH ISOLATED FORM
+ # <isolated> + 06A6
+FB6F ARABIC LETTER PEHEH FINAL FORM
+ # <final> + 06A6
+FB70 ARABIC LETTER PEHEH INITIAL FORM
+ # <initial> + 06A6
+FB71 ARABIC LETTER PEHEH MEDIAL FORM
+ # <medial> + 06A6
+FB72 ARABIC LETTER DYEH ISOLATED FORM
+ # <isolated> + 0684
+FB73 ARABIC LETTER DYEH FINAL FORM
+ # <final> + 0684
+FB74 ARABIC LETTER DYEH INITIAL FORM
+ # <initial> + 0684
+FB75 ARABIC LETTER DYEH MEDIAL FORM
+ # <medial> + 0684
+FB76 ARABIC LETTER NYEH ISOLATED FORM
+ # <isolated> + 0683
+FB77 ARABIC LETTER NYEH FINAL FORM
+ # <final> + 0683
+FB78 ARABIC LETTER NYEH INITIAL FORM
+ # <initial> + 0683
+FB79 ARABIC LETTER NYEH MEDIAL FORM
+ # <medial> + 0683
+FB7A ARABIC LETTER TCHEH ISOLATED FORM
+ # <isolated> + 0686
+FB7B ARABIC LETTER TCHEH FINAL FORM
+ # <final> + 0686
+FB7C ARABIC LETTER TCHEH INITIAL FORM
+ # <initial> + 0686
+FB7D ARABIC LETTER TCHEH MEDIAL FORM
+ # <medial> + 0686
+FB7E ARABIC LETTER TCHEHEH ISOLATED FORM
+ # <isolated> + 0687
+FB7F ARABIC LETTER TCHEHEH FINAL FORM
+ # <final> + 0687
+FB80 ARABIC LETTER TCHEHEH INITIAL FORM
+ # <initial> + 0687
+FB81 ARABIC LETTER TCHEHEH MEDIAL FORM
+ # <medial> + 0687
+FB82 ARABIC LETTER DDAHAL ISOLATED FORM
+ # <isolated> + 068D
+FB83 ARABIC LETTER DDAHAL FINAL FORM
+ # <final> + 068D
+FB84 ARABIC LETTER DAHAL ISOLATED FORM
+ # <isolated> + 068C
+FB85 ARABIC LETTER DAHAL FINAL FORM
+ # <final> + 068C
+FB86 ARABIC LETTER DUL ISOLATED FORM
+ # <isolated> + 068E
+FB87 ARABIC LETTER DUL FINAL FORM
+ # <final> + 068E
+FB88 ARABIC LETTER DDAL ISOLATED FORM
+ # <isolated> + 0688
+FB89 ARABIC LETTER DDAL FINAL FORM
+ # <final> + 0688
+FB8A ARABIC LETTER JEH ISOLATED FORM
+ # <isolated> + 0698
+FB8B ARABIC LETTER JEH FINAL FORM
+ # <final> + 0698
+FB8C ARABIC LETTER RREH ISOLATED FORM
+ # <isolated> + 0691
+FB8D ARABIC LETTER RREH FINAL FORM
+ # <final> + 0691
+FB8E ARABIC LETTER KEHEH ISOLATED FORM
+ # <isolated> + 06A9
+FB8F ARABIC LETTER KEHEH FINAL FORM
+ # <final> + 06A9
+FB90 ARABIC LETTER KEHEH INITIAL FORM
+ # <initial> + 06A9
+FB91 ARABIC LETTER KEHEH MEDIAL FORM
+ # <medial> + 06A9
+FB92 ARABIC LETTER GAF ISOLATED FORM
+ # <isolated> + 06AF
+FB93 ARABIC LETTER GAF FINAL FORM
+ # <final> + 06AF
+FB94 ARABIC LETTER GAF INITIAL FORM
+ # <initial> + 06AF
+FB95 ARABIC LETTER GAF MEDIAL FORM
+ # <medial> + 06AF
+FB96 ARABIC LETTER GUEH ISOLATED FORM
+ # <isolated> + 06B3
+FB97 ARABIC LETTER GUEH FINAL FORM
+ # <final> + 06B3
+FB98 ARABIC LETTER GUEH INITIAL FORM
+ # <initial> + 06B3
+FB99 ARABIC LETTER GUEH MEDIAL FORM
+ # <medial> + 06B3
+FB9A ARABIC LETTER NGOEH ISOLATED FORM
+ # <isolated> + 06B1
+FB9B ARABIC LETTER NGOEH FINAL FORM
+ # <final> + 06B1
+FB9C ARABIC LETTER NGOEH INITIAL FORM
+ # <initial> + 06B1
+FB9D ARABIC LETTER NGOEH MEDIAL FORM
+ # <medial> + 06B1
+FB9E ARABIC LETTER NOON GHUNNA ISOLATED FORM
+ # <isolated> + 06BA
+FB9F ARABIC LETTER NOON GHUNNA FINAL FORM
+ # <final> + 06BA
+FBA0 ARABIC LETTER RNOON ISOLATED FORM
+ # <isolated> + 06BB
+FBA1 ARABIC LETTER RNOON FINAL FORM
+ # <final> + 06BB
+FBA2 ARABIC LETTER RNOON INITIAL FORM
+ # <initial> + 06BB
+FBA3 ARABIC LETTER RNOON MEDIAL FORM
+ # <medial> + 06BB
+FBA4 ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM
+ # <isolated> + 06C0
+FBA5 ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM
+ # <final> + 06C0
+FBA6 ARABIC LETTER HEH GOAL ISOLATED FORM
+ # <isolated> + 06C1
+FBA7 ARABIC LETTER HEH GOAL FINAL FORM
+ # <final> + 06C1
+FBA8 ARABIC LETTER HEH GOAL INITIAL FORM
+ # <initial> + 06C1
+FBA9 ARABIC LETTER HEH GOAL MEDIAL FORM
+ # <medial> + 06C1
+FBAA ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM
+ # <isolated> + 06BE
+FBAB ARABIC LETTER HEH DOACHASHMEE FINAL FORM
+ # <final> + 06BE
+FBAC ARABIC LETTER HEH DOACHASHMEE INITIAL FORM
+ # <initial> + 06BE
+FBAD ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM
+ # <medial> + 06BE
+FBAE ARABIC LETTER YEH BARREE ISOLATED FORM
+ # <isolated> + 06D2
+FBAF ARABIC LETTER YEH BARREE FINAL FORM
+ # <final> + 06D2
+FBB0 ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM
+ # <isolated> + 06D3
+FBB1 ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
+ # <final> + 06D3
+FBB2 <reserved>
+FBB3 <reserved>
+FBB4 <reserved>
+FBB5 <reserved>
+FBB6 <reserved>
+FBB7 <reserved>
+FBB8 <reserved>
+FBB9 <reserved>
+FBBA <reserved>
+FBBB <reserved>
+FBBC <reserved>
+FBBD <reserved>
+FBBE <reserved>
+FBBF <reserved>
+FBC0 <reserved>
+FBC1 <reserved>
+FBC2 <reserved>
+FBC3 <reserved>
+FBC4 <reserved>
+FBC5 <reserved>
+FBC6 <reserved>
+FBC7 <reserved>
+FBC8 <reserved>
+FBC9 <reserved>
+FBCA <reserved>
+FBCB <reserved>
+FBCC <reserved>
+FBCD <reserved>
+FBCE <reserved>
+FBCF <reserved>
+FBD0 <reserved>
+FBD1 <reserved>
+FBD2 <reserved>
+FBD3 ARABIC LETTER NG ISOLATED FORM
+ # <isolated> + 06AD
+FBD4 ARABIC LETTER NG FINAL FORM
+ # <final> + 06AD
+FBD5 ARABIC LETTER NG INITIAL FORM
+ # <initial> + 06AD
+FBD6 ARABIC LETTER NG MEDIAL FORM
+ # <medial> + 06AD
+FBD7 ARABIC LETTER U ISOLATED FORM
+ # <isolated> + 06C7
+FBD8 ARABIC LETTER U FINAL FORM
+ # <final> + 06C7
+FBD9 ARABIC LETTER OE ISOLATED FORM
+ # <isolated> + 06C6
+FBDA ARABIC LETTER OE FINAL FORM
+ # <final> + 06C6
+FBDB ARABIC LETTER YU ISOLATED FORM
+ # <isolated> + 06C8
+FBDC ARABIC LETTER YU FINAL FORM
+ # <final> + 06C8
+FBDD ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM
+ # <isolated> + 0677
+FBDE ARABIC LETTER VE ISOLATED FORM
+ # <isolated> + 06CB
+FBDF ARABIC LETTER VE FINAL FORM
+ # <final> + 06CB
+FBE0 ARABIC LETTER KIRGHIZ OE ISOLATED FORM
+ # <isolated> + 06C5
+FBE1 ARABIC LETTER KIRGHIZ OE FINAL FORM
+ # <final> + 06C5
+FBE2 ARABIC LETTER KIRGHIZ YU ISOLATED FORM
+ # <isolated> + 06C9
+FBE3 ARABIC LETTER KIRGHIZ YU FINAL FORM
+ # <final> + 06C9
+FBE4 ARABIC LETTER E ISOLATED FORM
+ # <isolated> + 06D0
+FBE5 ARABIC LETTER E FINAL FORM
+ # <final> + 06D0
+FBE6 ARABIC LETTER E INITIAL FORM
+ # <initial> + 06D0
+FBE7 ARABIC LETTER E MEDIAL FORM
+ # <medial> + 06D0
+FBE8 ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
+FBE9 ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM
+FBEA ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM
+ # <isolated> + 0626 + 0627
+FBEB ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM
+ # <final> + 0626 + 0627
+FBEC ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM
+ # <isolated> + 0626 + 06D5
+FBED ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM
+ # <final> + 0626 + 06D5
+FBEE ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM
+ # <isolated> + 0626 + 0648
+FBEF ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM
+ # <final> + 0626 + 0648
+FBF0 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM
+ # <isolated> + 0626 + 06C7
+FBF1 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM
+ # <final> + 0626 + 06C7
+FBF2 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM
+ # <isolated> + 0626 + 06C6
+FBF3 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM
+ # <final> + 0626 + 06C6
+FBF4 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM
+ # <isolated> + 0626 + 06C8
+FBF5 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM
+ # <final> + 0626 + 06C8
+FBF6 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM
+ # <isolated> + 0626 + 06D0
+FBF7 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM
+ # <final> + 0626 + 06D0
+FBF8 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM
+ # <initial> + 0626 + 06D0
+FBF9 ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
+FBFA ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
+FBFB ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM
+FBFC ARABIC LETTER FARSI YEH ISOLATED FORM
+ # <isolated> + 06CC
+FBFD ARABIC LETTER FARSI YEH FINAL FORM
+ # <final> + 06CC
+FBFE ARABIC LETTER FARSI YEH INITIAL FORM
+ # <initial> + 06CC
+FBFF ARABIC LETTER FARSI YEH MEDIAL FORM
+ # <medial> + 06CC
+FC00 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM
+ # <isolated> + 0626 + 062C
+FC01 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM
+ # <isolated> + 0626 + 062D
+FC02 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM
+ # <isolated> + 0626 + 0645
+FC03 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
+ # <isolated> + 0626 + 0649
+FC04 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM
+ # <isolated> + 0626 + 064A
+FC05 ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM
+ # <isolated> + 0628 + 062C
+FC06 ARABIC LIGATURE BEH WITH HAH ISOLATED FORM
+ # <isolated> + 0628 + 062D
+FC07 ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM
+ # <isolated> + 0628 + 062E
+FC08 ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM
+ # <isolated> + 0628 + 0645
+FC09 ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM
+ # <isolated> + 0628 + 0649
+FC0A ARABIC LIGATURE BEH WITH YEH ISOLATED FORM
+ # <isolated> + 0628 + 064A
+FC0B ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM
+ # <isolated> + 062A + 062C
+FC0C ARABIC LIGATURE TEH WITH HAH ISOLATED FORM
+ # <isolated> + 062A + 062D
+FC0D ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM
+ # <isolated> + 062A + 062E
+FC0E ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM
+ # <isolated> + 062A + 0645
+FC0F ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM
+ # <isolated> + 062A + 0649
+FC10 ARABIC LIGATURE TEH WITH YEH ISOLATED FORM
+ # <isolated> + 062A + 064A
+FC11 ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM
+ # <isolated> + 062B + 062C
+FC12 ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM
+ # <isolated> + 062B + 0645
+FC13 ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM
+ # <isolated> + 062B + 0649
+FC14 ARABIC LIGATURE THEH WITH YEH ISOLATED FORM
+ # <isolated> + 062B + 064A
+FC15 ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM
+ # <isolated> + 062C + 062D
+FC16 ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM
+ # <isolated> + 062C + 0645
+FC17 ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM
+ # <isolated> + 062D + 062C
+FC18 ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM
+ # <isolated> + 062D + 0645
+FC19 ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM
+ # <isolated> + 062E + 062C
+FC1A ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM
+ # <isolated> + 062E + 062D
+FC1B ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM
+ # <isolated> + 062E + 0645
+FC1C ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM
+ # <isolated> + 0633 + 062C
+FC1D ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM
+ # <isolated> + 0633 + 062D
+FC1E ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM
+ # <isolated> + 0633 + 062E
+FC1F ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM
+ # <isolated> + 0633 + 0645
+FC20 ARABIC LIGATURE SAD WITH HAH ISOLATED FORM
+ # <isolated> + 0635 + 062D
+FC21 ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM
+ # <isolated> + 0635 + 0645
+FC22 ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM
+ # <isolated> + 0636 + 062C
+FC23 ARABIC LIGATURE DAD WITH HAH ISOLATED FORM
+ # <isolated> + 0636 + 062D
+FC24 ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM
+ # <isolated> + 0636 + 062E
+FC25 ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM
+ # <isolated> + 0636 + 0645
+FC26 ARABIC LIGATURE TAH WITH HAH ISOLATED FORM
+ # <isolated> + 0637 + 062D
+FC27 ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM
+ # <isolated> + 0637 + 0645
+FC28 ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM
+ # <isolated> + 0638 + 0645
+FC29 ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM
+ # <isolated> + 0639 + 062C
+FC2A ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM
+ # <isolated> + 0639 + 0645
+FC2B ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM
+ # <isolated> + 063A + 062C
+FC2C ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM
+ # <isolated> + 063A + 0645
+FC2D ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM
+ # <isolated> + 0641 + 062C
+FC2E ARABIC LIGATURE FEH WITH HAH ISOLATED FORM
+ # <isolated> + 0641 + 062D
+FC2F ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM
+ # <isolated> + 0641 + 062E
+FC30 ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM
+ # <isolated> + 0641 + 0645
+FC31 ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM
+ # <isolated> + 0641 + 0649
+FC32 ARABIC LIGATURE FEH WITH YEH ISOLATED FORM
+ # <isolated> + 0641 + 064A
+FC33 ARABIC LIGATURE QAF WITH HAH ISOLATED FORM
+ # <isolated> + 0642 + 062D
+FC34 ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM
+ # <isolated> + 0642 + 0645
+FC35 ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM
+ # <isolated> + 0642 + 0649
+FC36 ARABIC LIGATURE QAF WITH YEH ISOLATED FORM
+ # <isolated> + 0642 + 064A
+FC37 ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM
+ # <isolated> + 0643 + 0627
+FC38 ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM
+ # <isolated> + 0643 + 062C
+FC39 ARABIC LIGATURE KAF WITH HAH ISOLATED FORM
+ # <isolated> + 0643 + 062D
+FC3A ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM
+ # <isolated> + 0643 + 062E
+FC3B ARABIC LIGATURE KAF WITH LAM ISOLATED FORM
+ # <isolated> + 0643 + 0644
+FC3C ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM
+ # <isolated> + 0643 + 0645
+FC3D ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM
+ # <isolated> + 0643 + 0649
+FC3E ARABIC LIGATURE KAF WITH YEH ISOLATED FORM
+ # <isolated> + 0643 + 064A
+FC3F ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM
+ # <isolated> + 0644 + 062C
+FC40 ARABIC LIGATURE LAM WITH HAH ISOLATED FORM
+ # <isolated> + 0644 + 062D
+FC41 ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM
+ # <isolated> + 0644 + 062E
+FC42 ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM
+ # <isolated> + 0644 + 0645
+FC43 ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM
+ # <isolated> + 0644 + 0649
+FC44 ARABIC LIGATURE LAM WITH YEH ISOLATED FORM
+ # <isolated> + 0644 + 064A
+FC45 ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM
+ # <isolated> + 0645 + 062C
+FC46 ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM
+ # <isolated> + 0645 + 062D
+FC47 ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM
+ # <isolated> + 0645 + 062E
+FC48 ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM
+ # <isolated> + 0645 + 0645
+FC49 ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM
+ # <isolated> + 0645 + 0649
+FC4A ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM
+ # <isolated> + 0645 + 064A
+FC4B ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM
+ # <isolated> + 0646 + 062C
+FC4C ARABIC LIGATURE NOON WITH HAH ISOLATED FORM
+ # <isolated> + 0646 + 062D
+FC4D ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM
+ # <isolated> + 0646 + 062E
+FC4E ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM
+ # <isolated> + 0646 + 0645
+FC4F ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM
+ # <isolated> + 0646 + 0649
+FC50 ARABIC LIGATURE NOON WITH YEH ISOLATED FORM
+ # <isolated> + 0646 + 064A
+FC51 ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM
+ # <isolated> + 0647 + 062C
+FC52 ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM
+ # <isolated> + 0647 + 0645
+FC53 ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM
+ # <isolated> + 0647 + 0649
+FC54 ARABIC LIGATURE HEH WITH YEH ISOLATED FORM
+ # <isolated> + 0647 + 064A
+FC55 ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM
+ # <isolated> + 064A + 062C
+FC56 ARABIC LIGATURE YEH WITH HAH ISOLATED FORM
+ # <isolated> + 064A + 062D
+FC57 ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM
+ # <isolated> + 064A + 062E
+FC58 ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM
+ # <isolated> + 064A + 0645
+FC59 ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM
+ # <isolated> + 064A + 0649
+FC5A ARABIC LIGATURE YEH WITH YEH ISOLATED FORM
+ # <isolated> + 064A + 064A
+FC5B ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM
+ # <isolated> + 0630 + 0670
+FC5C ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM
+ # <isolated> + 0631 + 0670
+FC5D ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM
+ # <isolated> + 0649 + 0670
+FC5E ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM
+ # <isolated> + 0020 + 0651 + 064C
+FC5F ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM
+ # <isolated> + 0020 + 0651 + 064D
+FC60 ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM
+ # <isolated> + 0020 + 0651 + 064E
+FC61 ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM
+ # <isolated> + 0020 + 0651 + 064F
+FC62 ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM
+ # <isolated> + 0020 + 0651 + 0650
+FC63 ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM
+ # <isolated> + 0020 + 0651 + 0670
+FC64 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM
+ # <final> + 0626 + 0631
+FC65 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM
+ # <final> + 0626 + 0632
+FC66 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM
+ # <final> + 0626 + 0645
+FC67 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM
+ # <final> + 0626 + 0646
+FC68 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
+ # <final> + 0626 + 0649
+FC69 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM
+ # <final> + 0626 + 064A
+FC6A ARABIC LIGATURE BEH WITH REH FINAL FORM
+ # <final> + 0628 + 0631
+FC6B ARABIC LIGATURE BEH WITH ZAIN FINAL FORM
+ # <final> + 0628 + 0632
+FC6C ARABIC LIGATURE BEH WITH MEEM FINAL FORM
+ # <final> + 0628 + 0645
+FC6D ARABIC LIGATURE BEH WITH NOON FINAL FORM
+ # <final> + 0628 + 0646
+FC6E ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM
+ # <final> + 0628 + 0649
+FC6F ARABIC LIGATURE BEH WITH YEH FINAL FORM
+ # <final> + 0628 + 064A
+FC70 ARABIC LIGATURE TEH WITH REH FINAL FORM
+ # <final> + 062A + 0631
+FC71 ARABIC LIGATURE TEH WITH ZAIN FINAL FORM
+ # <final> + 062A + 0632
+FC72 ARABIC LIGATURE TEH WITH MEEM FINAL FORM
+ # <final> + 062A + 0645
+FC73 ARABIC LIGATURE TEH WITH NOON FINAL FORM
+ # <final> + 062A + 0646
+FC74 ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM
+ # <final> + 062A + 0649
+FC75 ARABIC LIGATURE TEH WITH YEH FINAL FORM
+ # <final> + 062A + 064A
+FC76 ARABIC LIGATURE THEH WITH REH FINAL FORM
+ # <final> + 062B + 0631
+FC77 ARABIC LIGATURE THEH WITH ZAIN FINAL FORM
+ # <final> + 062B + 0632
+FC78 ARABIC LIGATURE THEH WITH MEEM FINAL FORM
+ # <final> + 062B + 0645
+FC79 ARABIC LIGATURE THEH WITH NOON FINAL FORM
+ # <final> + 062B + 0646
+FC7A ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM
+ # <final> + 062B + 0649
+FC7B ARABIC LIGATURE THEH WITH YEH FINAL FORM
+ # <final> + 062B + 064A
+FC7C ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM
+ # <final> + 0641 + 0649
+FC7D ARABIC LIGATURE FEH WITH YEH FINAL FORM
+ # <final> + 0641 + 064A
+FC7E ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM
+ # <final> + 0642 + 0649
+FC7F ARABIC LIGATURE QAF WITH YEH FINAL FORM
+ # <final> + 0642 + 064A
+FC80 ARABIC LIGATURE KAF WITH ALEF FINAL FORM
+ # <final> + 0643 + 0627
+FC81 ARABIC LIGATURE KAF WITH LAM FINAL FORM
+ # <final> + 0643 + 0644
+FC82 ARABIC LIGATURE KAF WITH MEEM FINAL FORM
+ # <final> + 0643 + 0645
+FC83 ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM
+ # <final> + 0643 + 0649
+FC84 ARABIC LIGATURE KAF WITH YEH FINAL FORM
+ # <final> + 0643 + 064A
+FC85 ARABIC LIGATURE LAM WITH MEEM FINAL FORM
+ # <final> + 0644 + 0645
+FC86 ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM
+ # <final> + 0644 + 0649
+FC87 ARABIC LIGATURE LAM WITH YEH FINAL FORM
+ # <final> + 0644 + 064A
+FC88 ARABIC LIGATURE MEEM WITH ALEF FINAL FORM
+ # <final> + 0645 + 0627
+FC89 ARABIC LIGATURE MEEM WITH MEEM FINAL FORM
+ # <final> + 0645 + 0645
+FC8A ARABIC LIGATURE NOON WITH REH FINAL FORM
+ # <final> + 0646 + 0631
+FC8B ARABIC LIGATURE NOON WITH ZAIN FINAL FORM
+ # <final> + 0646 + 0632
+FC8C ARABIC LIGATURE NOON WITH MEEM FINAL FORM
+ # <final> + 0646 + 0645
+FC8D ARABIC LIGATURE NOON WITH NOON FINAL FORM
+ # <final> + 0646 + 0646
+FC8E ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM
+ # <final> + 0646 + 0649
+FC8F ARABIC LIGATURE NOON WITH YEH FINAL FORM
+ # <final> + 0646 + 064A
+FC90 ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM
+ # <final> + 0649 + 0670
+FC91 ARABIC LIGATURE YEH WITH REH FINAL FORM
+ # <final> + 064A + 0631
+FC92 ARABIC LIGATURE YEH WITH ZAIN FINAL FORM
+ # <final> + 064A + 0632
+FC93 ARABIC LIGATURE YEH WITH MEEM FINAL FORM
+ # <final> + 064A + 0645
+FC94 ARABIC LIGATURE YEH WITH NOON FINAL FORM
+ # <final> + 064A + 0646
+FC95 ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM
+ # <final> + 064A + 0649
+FC96 ARABIC LIGATURE YEH WITH YEH FINAL FORM
+ # <final> + 064A + 064A
+FC97 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM
+ # <initial> + 0626 + 062C
+FC98 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM
+ # <initial> + 0626 + 062D
+FC99 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM
+ # <initial> + 0626 + 062E
+FC9A ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM
+ # <initial> + 0626 + 0645
+FC9B ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM
+ # <initial> + 0626 + 0647
+FC9C ARABIC LIGATURE BEH WITH JEEM INITIAL FORM
+ # <initial> + 0628 + 062C
+FC9D ARABIC LIGATURE BEH WITH HAH INITIAL FORM
+ # <initial> + 0628 + 062D
+FC9E ARABIC LIGATURE BEH WITH KHAH INITIAL FORM
+ # <initial> + 0628 + 062E
+FC9F ARABIC LIGATURE BEH WITH MEEM INITIAL FORM
+ # <initial> + 0628 + 0645
+FCA0 ARABIC LIGATURE BEH WITH HEH INITIAL FORM
+ # <initial> + 0628 + 0647
+FCA1 ARABIC LIGATURE TEH WITH JEEM INITIAL FORM
+ # <initial> + 062A + 062C
+FCA2 ARABIC LIGATURE TEH WITH HAH INITIAL FORM
+ # <initial> + 062A + 062D
+FCA3 ARABIC LIGATURE TEH WITH KHAH INITIAL FORM
+ # <initial> + 062A + 062E
+FCA4 ARABIC LIGATURE TEH WITH MEEM INITIAL FORM
+ # <initial> + 062A + 0645
+FCA5 ARABIC LIGATURE TEH WITH HEH INITIAL FORM
+ # <initial> + 062A + 0647
+FCA6 ARABIC LIGATURE THEH WITH MEEM INITIAL FORM
+ # <initial> + 062B + 0645
+FCA7 ARABIC LIGATURE JEEM WITH HAH INITIAL FORM
+ # <initial> + 062C + 062D
+FCA8 ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM
+ # <initial> + 062C + 0645
+FCA9 ARABIC LIGATURE HAH WITH JEEM INITIAL FORM
+ # <initial> + 062D + 062C
+FCAA ARABIC LIGATURE HAH WITH MEEM INITIAL FORM
+ # <initial> + 062D + 0645
+FCAB ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM
+ # <initial> + 062E + 062C
+FCAC ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM
+ # <initial> + 062E + 0645
+FCAD ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM
+ # <initial> + 0633 + 062C
+FCAE ARABIC LIGATURE SEEN WITH HAH INITIAL FORM
+ # <initial> + 0633 + 062D
+FCAF ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM
+ # <initial> + 0633 + 062E
+FCB0 ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM
+ # <initial> + 0633 + 0645
+FCB1 ARABIC LIGATURE SAD WITH HAH INITIAL FORM
+ # <initial> + 0635 + 062D
+FCB2 ARABIC LIGATURE SAD WITH KHAH INITIAL FORM
+ # <initial> + 0635 + 062E
+FCB3 ARABIC LIGATURE SAD WITH MEEM INITIAL FORM
+ # <initial> + 0635 + 0645
+FCB4 ARABIC LIGATURE DAD WITH JEEM INITIAL FORM
+ # <initial> + 0636 + 062C
+FCB5 ARABIC LIGATURE DAD WITH HAH INITIAL FORM
+ # <initial> + 0636 + 062D
+FCB6 ARABIC LIGATURE DAD WITH KHAH INITIAL FORM
+ # <initial> + 0636 + 062E
+FCB7 ARABIC LIGATURE DAD WITH MEEM INITIAL FORM
+ # <initial> + 0636 + 0645
+FCB8 ARABIC LIGATURE TAH WITH HAH INITIAL FORM
+ # <initial> + 0637 + 062D
+FCB9 ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM
+ # <initial> + 0638 + 0645
+FCBA ARABIC LIGATURE AIN WITH JEEM INITIAL FORM
+ # <initial> + 0639 + 062C
+FCBB ARABIC LIGATURE AIN WITH MEEM INITIAL FORM
+ # <initial> + 0639 + 0645
+FCBC ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM
+ # <initial> + 063A + 062C
+FCBD ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM
+ # <initial> + 063A + 0645
+FCBE ARABIC LIGATURE FEH WITH JEEM INITIAL FORM
+ # <initial> + 0641 + 062C
+FCBF ARABIC LIGATURE FEH WITH HAH INITIAL FORM
+ # <initial> + 0641 + 062D
+FCC0 ARABIC LIGATURE FEH WITH KHAH INITIAL FORM
+ # <initial> + 0641 + 062E
+FCC1 ARABIC LIGATURE FEH WITH MEEM INITIAL FORM
+ # <initial> + 0641 + 0645
+FCC2 ARABIC LIGATURE QAF WITH HAH INITIAL FORM
+ # <initial> + 0642 + 062D
+FCC3 ARABIC LIGATURE QAF WITH MEEM INITIAL FORM
+ # <initial> + 0642 + 0645
+FCC4 ARABIC LIGATURE KAF WITH JEEM INITIAL FORM
+ # <initial> + 0643 + 062C
+FCC5 ARABIC LIGATURE KAF WITH HAH INITIAL FORM
+ # <initial> + 0643 + 062D
+FCC6 ARABIC LIGATURE KAF WITH KHAH INITIAL FORM
+ # <initial> + 0643 + 062E
+FCC7 ARABIC LIGATURE KAF WITH LAM INITIAL FORM
+ # <initial> + 0643 + 0644
+FCC8 ARABIC LIGATURE KAF WITH MEEM INITIAL FORM
+ # <initial> + 0643 + 0645
+FCC9 ARABIC LIGATURE LAM WITH JEEM INITIAL FORM
+ # <initial> + 0644 + 062C
+FCCA ARABIC LIGATURE LAM WITH HAH INITIAL FORM
+ # <initial> + 0644 + 062D
+FCCB ARABIC LIGATURE LAM WITH KHAH INITIAL FORM
+ # <initial> + 0644 + 062E
+FCCC ARABIC LIGATURE LAM WITH MEEM INITIAL FORM
+ # <initial> + 0644 + 0645
+FCCD ARABIC LIGATURE LAM WITH HEH INITIAL FORM
+ # <initial> + 0644 + 0647
+FCCE ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM
+ # <initial> + 0645 + 062C
+FCCF ARABIC LIGATURE MEEM WITH HAH INITIAL FORM
+ # <initial> + 0645 + 062D
+FCD0 ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM
+ # <initial> + 0645 + 062E
+FCD1 ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM
+ # <initial> + 0645 + 0645
+FCD2 ARABIC LIGATURE NOON WITH JEEM INITIAL FORM
+ # <initial> + 0646 + 062C
+FCD3 ARABIC LIGATURE NOON WITH HAH INITIAL FORM
+ # <initial> + 0646 + 062D
+FCD4 ARABIC LIGATURE NOON WITH KHAH INITIAL FORM
+ # <initial> + 0646 + 062E
+FCD5 ARABIC LIGATURE NOON WITH MEEM INITIAL FORM
+ # <initial> + 0646 + 0645
+FCD6 ARABIC LIGATURE NOON WITH HEH INITIAL FORM
+ # <initial> + 0646 + 0647
+FCD7 ARABIC LIGATURE HEH WITH JEEM INITIAL FORM
+ # <initial> + 0647 + 062C
+FCD8 ARABIC LIGATURE HEH WITH MEEM INITIAL FORM
+ # <initial> + 0647 + 0645
+FCD9 ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM
+ # <initial> + 0647 + 0670
+FCDA ARABIC LIGATURE YEH WITH JEEM INITIAL FORM
+ # <initial> + 064A + 062C
+FCDB ARABIC LIGATURE YEH WITH HAH INITIAL FORM
+ # <initial> + 064A + 062D
+FCDC ARABIC LIGATURE YEH WITH KHAH INITIAL FORM
+ # <initial> + 064A + 062E
+FCDD ARABIC LIGATURE YEH WITH MEEM INITIAL FORM
+ # <initial> + 064A + 0645
+FCDE ARABIC LIGATURE YEH WITH HEH INITIAL FORM
+ # <initial> + 064A + 0647
+FCDF ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM
+ # <medial> + 0626 + 0645
+FCE0 ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM
+ # <medial> + 0626 + 0647
+FCE1 ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM
+ # <medial> + 0628 + 0645
+FCE2 ARABIC LIGATURE BEH WITH HEH MEDIAL FORM
+ # <medial> + 0628 + 0647
+FCE3 ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM
+ # <medial> + 062A + 0645
+FCE4 ARABIC LIGATURE TEH WITH HEH MEDIAL FORM
+ # <medial> + 062A + 0647
+FCE5 ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM
+ # <medial> + 062B + 0645
+FCE6 ARABIC LIGATURE THEH WITH HEH MEDIAL FORM
+ # <medial> + 062B + 0647
+FCE7 ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM
+ # <medial> + 0633 + 0645
+FCE8 ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM
+ # <medial> + 0633 + 0647
+FCE9 ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM
+ # <medial> + 0634 + 0645
+FCEA ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM
+ # <medial> + 0634 + 0647
+FCEB ARABIC LIGATURE KAF WITH LAM MEDIAL FORM
+ # <medial> + 0643 + 0644
+FCEC ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM
+ # <medial> + 0643 + 0645
+FCED ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM
+ # <medial> + 0644 + 0645
+FCEE ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM
+ # <medial> + 0646 + 0645
+FCEF ARABIC LIGATURE NOON WITH HEH MEDIAL FORM
+ # <medial> + 0646 + 0647
+FCF0 ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM
+ # <medial> + 064A + 0645
+FCF1 ARABIC LIGATURE YEH WITH HEH MEDIAL FORM
+ # <medial> + 064A + 0647
+FCF2 ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM
+ # <medial> + 0020 + 0651 + 064E
+FCF3 ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM
+ # <medial> + 0020 + 0651 + 064F
+FCF4 ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM
+ # <medial> + 0020 + 0651 + 0650
+FCF5 ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM
+ # <isolated> + 0637 + 0649
+FCF6 ARABIC LIGATURE TAH WITH YEH ISOLATED FORM
+ # <isolated> + 0637 + 064A
+FCF7 ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM
+ # <isolated> + 0639 + 0649
+FCF8 ARABIC LIGATURE AIN WITH YEH ISOLATED FORM
+ # <isolated> + 0639 + 064A
+FCF9 ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM
+ # <isolated> + 063A + 0649
+FCFA ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM
+ # <isolated> + 063A + 064A
+FCFB ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM
+ # <isolated> + 0633 + 0649
+FCFC ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM
+ # <isolated> + 0633 + 064A
+FCFD ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM
+ # <isolated> + 0634 + 0649
+FCFE ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM
+ # <isolated> + 0634 + 064A
+FCFF ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM
+ # <isolated> + 062D + 0649
+FD00 ARABIC LIGATURE HAH WITH YEH ISOLATED FORM
+ # <isolated> + 062D + 064A
+FD01 ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM
+ # <isolated> + 062C + 0649
+FD02 ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM
+ # <isolated> + 062C + 064A
+FD03 ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM
+ # <isolated> + 062E + 0649
+FD04 ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM
+ # <isolated> + 062E + 064A
+FD05 ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM
+ # <isolated> + 0635 + 0649
+FD06 ARABIC LIGATURE SAD WITH YEH ISOLATED FORM
+ # <isolated> + 0635 + 064A
+FD07 ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM
+ # <isolated> + 0636 + 0649
+FD08 ARABIC LIGATURE DAD WITH YEH ISOLATED FORM
+ # <isolated> + 0636 + 064A
+FD09 ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM
+ # <isolated> + 0634 + 062C
+FD0A ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM
+ # <isolated> + 0634 + 062D
+FD0B ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM
+ # <isolated> + 0634 + 062E
+FD0C ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM
+ # <isolated> + 0634 + 0645
+FD0D ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM
+ # <isolated> + 0634 + 0631
+FD0E ARABIC LIGATURE SEEN WITH REH ISOLATED FORM
+ # <isolated> + 0633 + 0631
+FD0F ARABIC LIGATURE SAD WITH REH ISOLATED FORM
+ # <isolated> + 0635 + 0631
+FD10 ARABIC LIGATURE DAD WITH REH ISOLATED FORM
+ # <isolated> + 0636 + 0631
+FD11 ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM
+ # <final> + 0637 + 0649
+FD12 ARABIC LIGATURE TAH WITH YEH FINAL FORM
+ # <final> + 0637 + 064A
+FD13 ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM
+ # <final> + 0639 + 0649
+FD14 ARABIC LIGATURE AIN WITH YEH FINAL FORM
+ # <final> + 0639 + 064A
+FD15 ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM
+ # <final> + 063A + 0649
+FD16 ARABIC LIGATURE GHAIN WITH YEH FINAL FORM
+ # <final> + 063A + 064A
+FD17 ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM
+ # <final> + 0633 + 0649
+FD18 ARABIC LIGATURE SEEN WITH YEH FINAL FORM
+ # <final> + 0633 + 064A
+FD19 ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM
+ # <final> + 0634 + 0649
+FD1A ARABIC LIGATURE SHEEN WITH YEH FINAL FORM
+ # <final> + 0634 + 064A
+FD1B ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM
+ # <final> + 062D + 0649
+FD1C ARABIC LIGATURE HAH WITH YEH FINAL FORM
+ # <final> + 062D + 064A
+FD1D ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM
+ # <final> + 062C + 0649
+FD1E ARABIC LIGATURE JEEM WITH YEH FINAL FORM
+ # <final> + 062C + 064A
+FD1F ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM
+ # <final> + 062E + 0649
+FD20 ARABIC LIGATURE KHAH WITH YEH FINAL FORM
+ # <final> + 062E + 064A
+FD21 ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM
+ # <final> + 0635 + 0649
+FD22 ARABIC LIGATURE SAD WITH YEH FINAL FORM
+ # <final> + 0635 + 064A
+FD23 ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM
+ # <final> + 0636 + 0649
+FD24 ARABIC LIGATURE DAD WITH YEH FINAL FORM
+ # <final> + 0636 + 064A
+FD25 ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM
+ # <final> + 0634 + 062C
+FD26 ARABIC LIGATURE SHEEN WITH HAH FINAL FORM
+ # <final> + 0634 + 062D
+FD27 ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM
+ # <final> + 0634 + 062E
+FD28 ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM
+ # <final> + 0634 + 0645
+FD29 ARABIC LIGATURE SHEEN WITH REH FINAL FORM
+ # <final> + 0634 + 0631
+FD2A ARABIC LIGATURE SEEN WITH REH FINAL FORM
+ # <final> + 0633 + 0631
+FD2B ARABIC LIGATURE SAD WITH REH FINAL FORM
+ # <final> + 0635 + 0631
+FD2C ARABIC LIGATURE DAD WITH REH FINAL FORM
+ # <final> + 0636 + 0631
+FD2D ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM
+ # <initial> + 0634 + 062C
+FD2E ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM
+ # <initial> + 0634 + 062D
+FD2F ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM
+ # <initial> + 0634 + 062E
+FD30 ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM
+ # <initial> + 0634 + 0645
+FD31 ARABIC LIGATURE SEEN WITH HEH INITIAL FORM
+ # <initial> + 0633 + 0647
+FD32 ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM
+ # <initial> + 0634 + 0647
+FD33 ARABIC LIGATURE TAH WITH MEEM INITIAL FORM
+ # <initial> + 0637 + 0645
+FD34 ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM
+ # <medial> + 0633 + 062C
+FD35 ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM
+ # <medial> + 0633 + 062D
+FD36 ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM
+ # <medial> + 0633 + 062E
+FD37 ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM
+ # <medial> + 0634 + 062C
+FD38 ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM
+ # <medial> + 0634 + 062D
+FD39 ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM
+ # <medial> + 0634 + 062E
+FD3A ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM
+ # <medial> + 0637 + 0645
+FD3B ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM
+ # <medial> + 0638 + 0645
+FD3C ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM
+ # <final> + 0627 + 064B
+FD3D ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
+ # <isolated> + 0627 + 064B
+FD3E ORNATE LEFT PARENTHESIS
+FD3F ORNATE RIGHT PARENTHESIS
+FD40 <reserved>
+FD41 <reserved>
+FD42 <reserved>
+FD43 <reserved>
+FD44 <reserved>
+FD45 <reserved>
+FD46 <reserved>
+FD47 <reserved>
+FD48 <reserved>
+FD49 <reserved>
+FD4A <reserved>
+FD4B <reserved>
+FD4C <reserved>
+FD4D <reserved>
+FD4E <reserved>
+FD4F <reserved>
+FD50 ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM
+ # <initial> + 062A + 062C + 0645
+FD51 ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM
+ # <final> + 062A + 062D + 062C
+FD52 ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM
+ # <initial> + 062A + 062D + 062C
+FD53 ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM
+ # <initial> + 062A + 062D + 0645
+FD54 ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM
+ # <initial> + 062A + 062E + 0645
+FD55 ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM
+ # <initial> + 062A + 0645 + 062C
+FD56 ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM
+ # <initial> + 062A + 0645 + 062D
+FD57 ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM
+ # <initial> + 062A + 0645 + 062E
+FD58 ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM
+ # <final> + 062C + 0645 + 062D
+FD59 ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM
+ # <initial> + 062C + 0645 + 062D
+FD5A ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM
+ # <final> + 062D + 0645 + 064A
+FD5B ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM
+ # <final> + 062D + 0645 + 0649
+FD5C ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM
+ # <initial> + 0633 + 062D + 062C
+FD5D ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM
+ # <initial> + 0633 + 062C + 062D
+FD5E ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM
+ # <final> + 0633 + 062C + 0649
+FD5F ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM
+ # <final> + 0633 + 0645 + 062D
+FD60 ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM
+ # <initial> + 0633 + 0645 + 062D
+FD61 ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM
+ # <initial> + 0633 + 0645 + 062C
+FD62 ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM
+ # <final> + 0633 + 0645 + 0645
+FD63 ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM
+ # <initial> + 0633 + 0645 + 0645
+FD64 ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM
+ # <final> + 0635 + 062D + 062D
+FD65 ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM
+ # <initial> + 0635 + 062D + 062D
+FD66 ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM
+ # <final> + 0635 + 0645 + 0645
+FD67 ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM
+ # <final> + 0634 + 062D + 0645
+FD68 ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM
+ # <initial> + 0634 + 062D + 0645
+FD69 ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM
+ # <final> + 0634 + 062C + 064A
+FD6A ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM
+ # <final> + 0634 + 0645 + 062E
+FD6B ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM
+ # <initial> + 0634 + 0645 + 062E
+FD6C ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM
+ # <final> + 0634 + 0645 + 0645
+FD6D ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM
+ # <initial> + 0634 + 0645 + 0645
+FD6E ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM
+ # <final> + 0636 + 062D + 0649
+FD6F ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM
+ # <final> + 0636 + 062E + 0645
+FD70 ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM
+ # <initial> + 0636 + 062E + 0645
+FD71 ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM
+ # <final> + 0637 + 0645 + 062D
+FD72 ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM
+ # <initial> + 0637 + 0645 + 062D
+FD73 ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM
+ # <initial> + 0637 + 0645 + 0645
+FD74 ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM
+ # <final> + 0637 + 0645 + 064A
+FD75 ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM
+ # <final> + 0639 + 062C + 0645
+FD76 ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM
+ # <final> + 0639 + 0645 + 0645
+FD77 ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM
+ # <initial> + 0639 + 0645 + 0645
+FD78 ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
+ # <final> + 0639 + 0645 + 0649
+FD79 ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM
+ # <final> + 063A + 0645 + 0645
+FD7A ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM
+ # <final> + 063A + 0645 + 064A
+FD7B ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
+ # <final> + 063A + 0645 + 0649
+FD7C ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM
+ # <final> + 0641 + 062E + 0645
+FD7D ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM
+ # <initial> + 0641 + 062E + 0645
+FD7E ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM
+ # <final> + 0642 + 0645 + 062D
+FD7F ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM
+ # <final> + 0642 + 0645 + 0645
+FD80 ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM
+ # <final> + 0644 + 062D + 0645
+FD81 ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM
+ # <final> + 0644 + 062D + 064A
+FD82 ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM
+ # <final> + 0644 + 062D + 0649
+FD83 ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM
+ # <initial> + 0644 + 062C + 062C
+FD84 ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM
+ # <final> + 0644 + 062C + 062C
+FD85 ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM
+ # <final> + 0644 + 062E + 0645
+FD86 ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM
+ # <initial> + 0644 + 062E + 0645
+FD87 ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM
+ # <final> + 0644 + 0645 + 062D
+FD88 ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM
+ # <initial> + 0644 + 0645 + 062D
+FD89 ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM
+ # <initial> + 0645 + 062D + 062C
+FD8A ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM
+ # <initial> + 0645 + 062D + 0645
+FD8B ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM
+ # <final> + 0645 + 062D + 064A
+FD8C ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM
+ # <initial> + 0645 + 062C + 062D
+FD8D ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM
+ # <initial> + 0645 + 062C + 0645
+FD8E ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM
+ # <initial> + 0645 + 062E + 062C
+FD8F ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
+ # <initial> + 0645 + 062E + 0645
+FD90 <reserved>
+FD91 <reserved>
+FD92 ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM
+ # <initial> + 0645 + 062C + 062E
+FD93 ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM
+ # <initial> + 0647 + 0645 + 062C
+FD94 ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM
+ # <initial> + 0647 + 0645 + 0645
+FD95 ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM
+ # <initial> + 0646 + 062D + 0645
+FD96 ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM
+ # <final> + 0646 + 062D + 0649
+FD97 ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM
+ # <final> + 0646 + 062C + 0645
+FD98 ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM
+ # <initial> + 0646 + 062C + 0645
+FD99 ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM
+ # <final> + 0646 + 062C + 0649
+FD9A ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM
+ # <final> + 0646 + 0645 + 064A
+FD9B ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM
+ # <final> + 0646 + 0645 + 0649
+FD9C ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM
+ # <final> + 064A + 0645 + 0645
+FD9D ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM
+ # <initial> + 064A + 0645 + 0645
+FD9E ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM
+ # <final> + 0628 + 062E + 064A
+FD9F ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM
+ # <final> + 062A + 062C + 064A
+FDA0 ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM
+ # <final> + 062A + 062C + 0649
+FDA1 ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM
+ # <final> + 062A + 062E + 064A
+FDA2 ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM
+ # <final> + 062A + 062E + 0649
+FDA3 ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM
+ # <final> + 062A + 0645 + 064A
+FDA4 ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM
+ # <final> + 062A + 0645 + 0649
+FDA5 ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM
+ # <final> + 062C + 0645 + 064A
+FDA6 ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM
+ # <final> + 062C + 062D + 0649
+FDA7 ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM
+ # <final> + 062C + 0645 + 0649
+FDA8 ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM
+ # <final> + 0633 + 062E + 0649
+FDA9 ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM
+ # <final> + 0635 + 062D + 064A
+FDAA ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM
+ # <final> + 0634 + 062D + 064A
+FDAB ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM
+ # <final> + 0636 + 062D + 064A
+FDAC ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM
+ # <final> + 0644 + 062C + 064A
+FDAD ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM
+ # <final> + 0644 + 0645 + 064A
+FDAE ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM
+ # <final> + 064A + 062D + 064A
+FDAF ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM
+ # <final> + 064A + 062C + 064A
+FDB0 ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM
+ # <final> + 064A + 0645 + 064A
+FDB1 ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM
+ # <final> + 0645 + 0645 + 064A
+FDB2 ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM
+ # <final> + 0642 + 0645 + 064A
+FDB3 ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM
+ # <final> + 0646 + 062D + 064A
+FDB4 ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM
+ # <initial> + 0642 + 0645 + 062D
+FDB5 ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM
+ # <initial> + 0644 + 062D + 0645
+FDB6 ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM
+ # <final> + 0639 + 0645 + 064A
+FDB7 ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM
+ # <final> + 0643 + 0645 + 064A
+FDB8 ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM
+ # <initial> + 0646 + 062C + 062D
+FDB9 ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM
+ # <final> + 0645 + 062E + 064A
+FDBA ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM
+ # <initial> + 0644 + 062C + 0645
+FDBB ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM
+ # <final> + 0643 + 0645 + 0645
+FDBC ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM
+ # <final> + 0644 + 062C + 0645
+FDBD ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM
+ # <final> + 0646 + 062C + 062D
+FDBE ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM
+ # <final> + 062C + 062D + 064A
+FDBF ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM
+ # <final> + 062D + 062C + 064A
+FDC0 ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM
+ # <final> + 0645 + 062C + 064A
+FDC1 ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM
+ # <final> + 0641 + 0645 + 064A
+FDC2 ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM
+ # <final> + 0628 + 062D + 064A
+FDC3 ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM
+ # <initial> + 0643 + 0645 + 0645
+FDC4 ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM
+ # <initial> + 0639 + 062C + 0645
+FDC5 ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM
+ # <initial> + 0635 + 0645 + 0645
+FDC6 ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM
+ # <final> + 0633 + 062E + 064A
+FDC7 ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
+ # <final> + 0646 + 062C + 064A
+FDC8 <reserved>
+FDC9 <reserved>
+FDCA <reserved>
+FDCB <reserved>
+FDCC <reserved>
+FDCD <reserved>
+FDCE <reserved>
+FDCF <reserved>
+FDD0 <reserved>
+FDD1 <reserved>
+FDD2 <reserved>
+FDD3 <reserved>
+FDD4 <reserved>
+FDD5 <reserved>
+FDD6 <reserved>
+FDD7 <reserved>
+FDD8 <reserved>
+FDD9 <reserved>
+FDDA <reserved>
+FDDB <reserved>
+FDDC <reserved>
+FDDD <reserved>
+FDDE <reserved>
+FDDF <reserved>
+FDE0 <reserved>
+FDE1 <reserved>
+FDE2 <reserved>
+FDE3 <reserved>
+FDE4 <reserved>
+FDE5 <reserved>
+FDE6 <reserved>
+FDE7 <reserved>
+FDE8 <reserved>
+FDE9 <reserved>
+FDEA <reserved>
+FDEB <reserved>
+FDEC <reserved>
+FDED <reserved>
+FDEE <reserved>
+FDEF <reserved>
+FDF0 ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM
+ # <isolated> + 0635 + 0644 + 06D2
+FDF1 ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM
+ # <isolated> + 0642 + 0644 + 06D2
+FDF2 ARABIC LIGATURE ALLAH ISOLATED FORM
+ # <isolated> + 0627 + 0644 + 0644 + 0647
+FDF3 ARABIC LIGATURE AKBAR ISOLATED FORM
+ # <isolated> + 0627 + 0643 + 0628 + 0631
+FDF4 ARABIC LIGATURE MOHAMMAD ISOLATED FORM
+ # <isolated> + 0645 + 062D + 0645 + 062F
+FDF5 ARABIC LIGATURE SALAM ISOLATED FORM
+ # <isolated> + 0635 + 0644 + 0639 + 0645
+FDF6 ARABIC LIGATURE RASOUL ISOLATED FORM
+ # <isolated> + 0631 + 0633 + 0648 + 0644
+FDF7 ARABIC LIGATURE ALAYHE ISOLATED FORM
+ # <isolated> + 0639 + 0644 + 064A + 0647
+FDF8 ARABIC LIGATURE WASALLAM ISOLATED FORM
+ # <isolated> + 0648 + 0633 + 0644 + 0645
+FDF9 ARABIC LIGATURE SALLA ISOLATED FORM
+ # <isolated> + 0635 + 0644 + 0649
+FDFA ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM
+ # <isolated> + 0635 + 0644 + 0649 + 0020 + 0627 + 0644 + 0644 + 0647 + 0020 + 0639 + 0644 + 064A + 0647 + 0020 + 0648 + 0633 + 0644 + 0645
+FDFB ARABIC LIGATURE JALLAJALALOUHOU
+ # <isolated> + 062C + 0644 + 0020 + 062C + 0644 + 0627 + 0644 + 0647
+@@ FE20 Combining Half Marks FE2F
+@ Combining half marks
+FE20 COMBINING LIGATURE LEFT HALF
+FE21 COMBINING LIGATURE RIGHT HALF
+FE22 COMBINING DOUBLE TILDE LEFT HALF
+FE23 COMBINING DOUBLE TILDE RIGHT HALF
+@@ FE30 CJK Compatibility Forms FE4F
+@ Glyphs for vertical variants
+FE30 PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
+ # <vertical> + 2025
+FE31 PRESENTATION FORM FOR VERTICAL EM DASH
+ # <vertical> + 2014
+FE32 PRESENTATION FORM FOR VERTICAL EN DASH
+ # <vertical> + 2013
+FE33 PRESENTATION FORM FOR VERTICAL LOW LINE
+ # <vertical> + 005F
+FE34 PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
+ # <vertical> + 005F
+FE35 PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
+ # <vertical> + 0028
+FE36 PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
+ # <vertical> + 0029
+FE37 PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
+ # <vertical> + 007B
+FE38 PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
+ # <vertical> + 007D
+FE39 PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
+ # <vertical> + 3014
+FE3A PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
+ # <vertical> + 3015
+FE3B PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
+ # <vertical> + 3010
+FE3C PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
+ # <vertical> + 3011
+FE3D PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
+ # <vertical> + 300A
+FE3E PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
+ # <vertical> + 300B
+FE3F PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
+ # <vertical> + 3008
+FE40 PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
+ # <vertical> + 3009
+FE41 PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
+ # <vertical> + 300C
+FE42 PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
+ # <vertical> + 300D
+FE43 PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
+ # <vertical> + 300E
+FE44 PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
+ # <vertical> + 300F
+FE45 <reserved>
+FE46 <reserved>
+FE47 <reserved>
+FE48 <reserved>
+@ Overscores and underscores
+FE49 DASHED OVERLINE
+ # 203E
+FE4A CENTRELINE OVERLINE
+ # 203E
+FE4B WAVY OVERLINE
+ # 203E
+FE4C DOUBLE WAVY OVERLINE
+ # 203E
+FE4D DASHED LOW LINE
+ # 005F
+FE4E CENTRELINE LOW LINE
+ # 005F
+FE4F WAVY LOW LINE
+ # 005F
+@@ FE50 Small Form Variants FE6F
+@ Small form variants
+FE50 SMALL COMMA
+ # <small> + 002C
+FE51 SMALL IDEOGRAPHIC COMMA
+ # <small> + 3001
+FE52 SMALL FULL STOP
+ # <small> + 002E
+FE53 <reserved>
+ x (middle dot - 00B7)
+FE54 SMALL SEMICOLON
+ # <small> + 003B
+FE55 SMALL COLON
+ # <small> + 003A
+FE56 SMALL QUESTION MARK
+ # <small> + 003F
+FE57 SMALL EXCLAMATION MARK
+ # <small> + 0021
+FE58 SMALL EM DASH
+ # <small> + 2014
+FE59 SMALL LEFT PARENTHESIS
+ # <small> + 0028
+FE5A SMALL RIGHT PARENTHESIS
+ # <small> + 0029
+FE5B SMALL LEFT CURLY BRACKET
+ # <small> + 007B
+FE5C SMALL RIGHT CURLY BRACKET
+ # <small> + 007D
+FE5D SMALL LEFT TORTOISE SHELL BRACKET
+ # <small> + 3014
+FE5E SMALL RIGHT TORTOISE SHELL BRACKET
+ # <small> + 3015
+FE5F SMALL NUMBER SIGN
+ # <small> + 0023
+FE60 SMALL AMPERSAND
+ # <small> + 0026
+FE61 SMALL ASTERISK
+ # <small> + 002A
+FE62 SMALL PLUS SIGN
+ # <small> + 002B
+FE63 SMALL HYPHEN-MINUS
+ # <small> + 002D
+FE64 SMALL LESS-THAN SIGN
+ # <small> + 003C
+FE65 SMALL GREATER-THAN SIGN
+ # <small> + 003E
+FE66 SMALL EQUALS SIGN
+ # <small> + 003D
+FE67 <reserved>
+ x (division slash - 2215)
+FE68 SMALL REVERSE SOLIDUS
+ # <small> + 005C
+FE69 SMALL DOLLAR SIGN
+ # <small> + 0024
+FE6A SMALL PERCENT SIGN
+ # <small> + 0025
+FE6B SMALL COMMERCIAL AT
+ # <small> + 0040
+@@ FE70 Arabic Presentation Forms-B FEFF
+@ Glyphs for spacing forms of Arabic points
+FE70 ARABIC FATHATAN ISOLATED FORM
+ # <isolated> + 0020 + 064B
+FE71 ARABIC TATWEEL WITH FATHATAN ABOVE
+ # <medial> + 0640 + 064B
+FE72 ARABIC DAMMATAN ISOLATED FORM
+ # <isolated> + 0020 + 064C
+FE73 <reserved>
+FE74 ARABIC KASRATAN ISOLATED FORM
+ # <isolated> + 0020 + 064D
+FE75 <reserved>
+FE76 ARABIC FATHA ISOLATED FORM
+ # <isolated> + 0020 + 064E
+FE77 ARABIC FATHA MEDIAL FORM
+ # <medial> + 0640 + 064E
+FE78 ARABIC DAMMA ISOLATED FORM
+ # <isolated> + 0020 + 064F
+FE79 ARABIC DAMMA MEDIAL FORM
+ # <medial> + 0640 + 064F
+FE7A ARABIC KASRA ISOLATED FORM
+ # <isolated> + 0020 + 0650
+FE7B ARABIC KASRA MEDIAL FORM
+ # <medial> + 0640 + 0650
+FE7C ARABIC SHADDA ISOLATED FORM
+ # <isolated> + 0020 + 0651
+FE7D ARABIC SHADDA MEDIAL FORM
+ # <medial> + 0640 + 0651
+FE7E ARABIC SUKUN ISOLATED FORM
+ # <isolated> + 0020 + 0652
+FE7F ARABIC SUKUN MEDIAL FORM
+ # <medial> + 0640 + 0652
+@ Basic glyphs for Arabic language contextual forms
+FE80 ARABIC LETTER HAMZA ISOLATED FORM
+ # <isolated> + 0621
+FE81 ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
+ # <isolated> + 0622
+FE82 ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
+ # <final> + 0622
+FE83 ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
+ # <isolated> + 0623
+FE84 ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
+ # <final> + 0623
+FE85 ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
+ # <isolated> + 0624
+FE86 ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM
+ # <final> + 0624
+FE87 ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM
+ # <isolated> + 0625
+FE88 ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM
+ # <final> + 0625
+FE89 ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM
+ # <isolated> + 0626
+FE8A ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM
+ # <final> + 0626
+FE8B ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
+ # <initial> + 0626
+FE8C ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM
+ # <medial> + 0626
+FE8D ARABIC LETTER ALEF ISOLATED FORM
+ # <isolated> + 0627
+FE8E ARABIC LETTER ALEF FINAL FORM
+ # <final> + 0627
+FE8F ARABIC LETTER BEH ISOLATED FORM
+ # <isolated> + 0628
+FE90 ARABIC LETTER BEH FINAL FORM
+ # <final> + 0628
+FE91 ARABIC LETTER BEH INITIAL FORM
+ # <initial> + 0628
+FE92 ARABIC LETTER BEH MEDIAL FORM
+ # <medial> + 0628
+FE93 ARABIC LETTER TEH MARBUTA ISOLATED FORM
+ # <isolated> + 0629
+FE94 ARABIC LETTER TEH MARBUTA FINAL FORM
+ # <final> + 0629
+FE95 ARABIC LETTER TEH ISOLATED FORM
+ # <isolated> + 062A
+FE96 ARABIC LETTER TEH FINAL FORM
+ # <final> + 062A
+FE97 ARABIC LETTER TEH INITIAL FORM
+ # <initial> + 062A
+FE98 ARABIC LETTER TEH MEDIAL FORM
+ # <medial> + 062A
+FE99 ARABIC LETTER THEH ISOLATED FORM
+ # <isolated> + 062B
+FE9A ARABIC LETTER THEH FINAL FORM
+ # <final> + 062B
+FE9B ARABIC LETTER THEH INITIAL FORM
+ # <initial> + 062B
+FE9C ARABIC LETTER THEH MEDIAL FORM
+ # <medial> + 062B
+FE9D ARABIC LETTER JEEM ISOLATED FORM
+ # <isolated> + 062C
+FE9E ARABIC LETTER JEEM FINAL FORM
+ # <final> + 062C
+FE9F ARABIC LETTER JEEM INITIAL FORM
+ # <initial> + 062C
+FEA0 ARABIC LETTER JEEM MEDIAL FORM
+ # <medial> + 062C
+FEA1 ARABIC LETTER HAH ISOLATED FORM
+ # <isolated> + 062D
+FEA2 ARABIC LETTER HAH FINAL FORM
+ # <final> + 062D
+FEA3 ARABIC LETTER HAH INITIAL FORM
+ # <initial> + 062D
+FEA4 ARABIC LETTER HAH MEDIAL FORM
+ # <medial> + 062D
+FEA5 ARABIC LETTER KHAH ISOLATED FORM
+ # <isolated> + 062E
+FEA6 ARABIC LETTER KHAH FINAL FORM
+ # <final> + 062E
+FEA7 ARABIC LETTER KHAH INITIAL FORM
+ # <initial> + 062E
+FEA8 ARABIC LETTER KHAH MEDIAL FORM
+ # <medial> + 062E
+FEA9 ARABIC LETTER DAL ISOLATED FORM
+ # <isolated> + 062F
+FEAA ARABIC LETTER DAL FINAL FORM
+ # <final> + 062F
+FEAB ARABIC LETTER THAL ISOLATED FORM
+ # <isolated> + 0630
+FEAC ARABIC LETTER THAL FINAL FORM
+ # <final> + 0630
+FEAD ARABIC LETTER REH ISOLATED FORM
+ # <isolated> + 0631
+FEAE ARABIC LETTER REH FINAL FORM
+ # <final> + 0631
+FEAF ARABIC LETTER ZAIN ISOLATED FORM
+ # <isolated> + 0632
+FEB0 ARABIC LETTER ZAIN FINAL FORM
+ # <final> + 0632
+FEB1 ARABIC LETTER SEEN ISOLATED FORM
+ # <isolated> + 0633
+FEB2 ARABIC LETTER SEEN FINAL FORM
+ # <final> + 0633
+FEB3 ARABIC LETTER SEEN INITIAL FORM
+ # <initial> + 0633
+FEB4 ARABIC LETTER SEEN MEDIAL FORM
+ # <medial> + 0633
+FEB5 ARABIC LETTER SHEEN ISOLATED FORM
+ # <isolated> + 0634
+FEB6 ARABIC LETTER SHEEN FINAL FORM
+ # <final> + 0634
+FEB7 ARABIC LETTER SHEEN INITIAL FORM
+ # <initial> + 0634
+FEB8 ARABIC LETTER SHEEN MEDIAL FORM
+ # <medial> + 0634
+FEB9 ARABIC LETTER SAD ISOLATED FORM
+ # <isolated> + 0635
+FEBA ARABIC LETTER SAD FINAL FORM
+ # <final> + 0635
+FEBB ARABIC LETTER SAD INITIAL FORM
+ # <initial> + 0635
+FEBC ARABIC LETTER SAD MEDIAL FORM
+ # <medial> + 0635
+FEBD ARABIC LETTER DAD ISOLATED FORM
+ # <isolated> + 0636
+FEBE ARABIC LETTER DAD FINAL FORM
+ # <final> + 0636
+FEBF ARABIC LETTER DAD INITIAL FORM
+ # <initial> + 0636
+FEC0 ARABIC LETTER DAD MEDIAL FORM
+ # <medial> + 0636
+FEC1 ARABIC LETTER TAH ISOLATED FORM
+ # <isolated> + 0637
+FEC2 ARABIC LETTER TAH FINAL FORM
+ # <final> + 0637
+FEC3 ARABIC LETTER TAH INITIAL FORM
+ # <initial> + 0637
+FEC4 ARABIC LETTER TAH MEDIAL FORM
+ # <medial> + 0637
+FEC5 ARABIC LETTER ZAH ISOLATED FORM
+ # <isolated> + 0638
+FEC6 ARABIC LETTER ZAH FINAL FORM
+ # <final> + 0638
+FEC7 ARABIC LETTER ZAH INITIAL FORM
+ # <initial> + 0638
+FEC8 ARABIC LETTER ZAH MEDIAL FORM
+ # <medial> + 0638
+FEC9 ARABIC LETTER AIN ISOLATED FORM
+ # <isolated> + 0639
+FECA ARABIC LETTER AIN FINAL FORM
+ # <final> + 0639
+FECB ARABIC LETTER AIN INITIAL FORM
+ # <initial> + 0639
+FECC ARABIC LETTER AIN MEDIAL FORM
+ # <medial> + 0639
+FECD ARABIC LETTER GHAIN ISOLATED FORM
+ # <isolated> + 063A
+FECE ARABIC LETTER GHAIN FINAL FORM
+ # <final> + 063A
+FECF ARABIC LETTER GHAIN INITIAL FORM
+ # <initial> + 063A
+FED0 ARABIC LETTER GHAIN MEDIAL FORM
+ # <medial> + 063A
+FED1 ARABIC LETTER FEH ISOLATED FORM
+ # <isolated> + 0641
+FED2 ARABIC LETTER FEH FINAL FORM
+ # <final> + 0641
+FED3 ARABIC LETTER FEH INITIAL FORM
+ # <initial> + 0641
+FED4 ARABIC LETTER FEH MEDIAL FORM
+ # <medial> + 0641
+FED5 ARABIC LETTER QAF ISOLATED FORM
+ # <isolated> + 0642
+FED6 ARABIC LETTER QAF FINAL FORM
+ # <final> + 0642
+FED7 ARABIC LETTER QAF INITIAL FORM
+ # <initial> + 0642
+FED8 ARABIC LETTER QAF MEDIAL FORM
+ # <medial> + 0642
+FED9 ARABIC LETTER KAF ISOLATED FORM
+ # <isolated> + 0643
+FEDA ARABIC LETTER KAF FINAL FORM
+ # <final> + 0643
+FEDB ARABIC LETTER KAF INITIAL FORM
+ # <initial> + 0643
+FEDC ARABIC LETTER KAF MEDIAL FORM
+ # <medial> + 0643
+FEDD ARABIC LETTER LAM ISOLATED FORM
+ # <isolated> + 0644
+FEDE ARABIC LETTER LAM FINAL FORM
+ # <final> + 0644
+FEDF ARABIC LETTER LAM INITIAL FORM
+ # <initial> + 0644
+FEE0 ARABIC LETTER LAM MEDIAL FORM
+ # <medial> + 0644
+FEE1 ARABIC LETTER MEEM ISOLATED FORM
+ # <isolated> + 0645
+FEE2 ARABIC LETTER MEEM FINAL FORM
+ # <final> + 0645
+FEE3 ARABIC LETTER MEEM INITIAL FORM
+ # <initial> + 0645
+FEE4 ARABIC LETTER MEEM MEDIAL FORM
+ # <medial> + 0645
+FEE5 ARABIC LETTER NOON ISOLATED FORM
+ # <isolated> + 0646
+FEE6 ARABIC LETTER NOON FINAL FORM
+ # <final> + 0646
+FEE7 ARABIC LETTER NOON INITIAL FORM
+ # <initial> + 0646
+FEE8 ARABIC LETTER NOON MEDIAL FORM
+ # <medial> + 0646
+FEE9 ARABIC LETTER HEH ISOLATED FORM
+ # <isolated> + 0647
+FEEA ARABIC LETTER HEH FINAL FORM
+ # <final> + 0647
+FEEB ARABIC LETTER HEH INITIAL FORM
+ # <initial> + 0647
+FEEC ARABIC LETTER HEH MEDIAL FORM
+ # <medial> + 0647
+FEED ARABIC LETTER WAW ISOLATED FORM
+ # <isolated> + 0648
+FEEE ARABIC LETTER WAW FINAL FORM
+ # <final> + 0648
+FEEF ARABIC LETTER ALEF MAKSURA ISOLATED FORM
+ # <isolated> + 0649
+FEF0 ARABIC LETTER ALEF MAKSURA FINAL FORM
+ # <final> + 0649
+FEF1 ARABIC LETTER YEH ISOLATED FORM
+ # <isolated> + 064A
+FEF2 ARABIC LETTER YEH FINAL FORM
+ # <final> + 064A
+FEF3 ARABIC LETTER YEH INITIAL FORM
+ # <initial> + 064A
+FEF4 ARABIC LETTER YEH MEDIAL FORM
+ # <medial> + 064A
+FEF5 ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
+ # <isolated> + 0644 + 0622
+FEF6 ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
+ # <final> + 0644 + 0622
+FEF7 ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
+ # <isolated> + 0644 + 0623
+FEF8 ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
+ # <final> + 0644 + 0623
+FEF9 ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM
+ # <isolated> + 0644 + 0625
+FEFA ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM
+ # <final> + 0644 + 0625
+FEFB ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
+ # <isolated> + 0644 + 0627
+FEFC ARABIC LIGATURE LAM WITH ALEF FINAL FORM
+ # <final> + 0644 + 0627
+FEFD <reserved>
+FEFE <reserved>
+@ Special
+FEFF ZERO WIDTH NO-BREAK SPACE
+ = BYTE ORDER MARK
+ = BOM
+ * may be used to detect byte order by contrast with FFFE which is not a character
+ * may also be used as zero width no-break space
+ x (<not a character> - FFFE)
+@@ FF00 Halfwidth and Fullwidth Forms FFEF
+@ Fullwidth ASCII variants
+FF00 <reserved>
+FF01 FULLWIDTH EXCLAMATION MARK
+ # <wide> + 0021
+FF02 FULLWIDTH QUOTATION MARK
+ # <wide> + 0022
+FF03 FULLWIDTH NUMBER SIGN
+ # <wide> + 0023
+FF04 FULLWIDTH DOLLAR SIGN
+ # <wide> + 0024
+FF05 FULLWIDTH PERCENT SIGN
+ # <wide> + 0025
+FF06 FULLWIDTH AMPERSAND
+ # <wide> + 0026
+FF07 FULLWIDTH APOSTROPHE
+ # <wide> + 0027
+FF08 FULLWIDTH LEFT PARENTHESIS
+ # <wide> + 0028
+FF09 FULLWIDTH RIGHT PARENTHESIS
+ # <wide> + 0029
+FF0A FULLWIDTH ASTERISK
+ # <wide> + 002A
+FF0B FULLWIDTH PLUS SIGN
+ # <wide> + 002B
+FF0C FULLWIDTH COMMA
+ # <wide> + 002C
+FF0D FULLWIDTH HYPHEN-MINUS
+ # <wide> + 002D
+FF0E FULLWIDTH FULL STOP
+ # <wide> + 002E
+FF0F FULLWIDTH SOLIDUS
+ # <wide> + 002F
+FF10 FULLWIDTH DIGIT ZERO
+ # <wide> + 0030
+FF11 FULLWIDTH DIGIT ONE
+ # <wide> + 0031
+FF12 FULLWIDTH DIGIT TWO
+ # <wide> + 0032
+FF13 FULLWIDTH DIGIT THREE
+ # <wide> + 0033
+FF14 FULLWIDTH DIGIT FOUR
+ # <wide> + 0034
+FF15 FULLWIDTH DIGIT FIVE
+ # <wide> + 0035
+FF16 FULLWIDTH DIGIT SIX
+ # <wide> + 0036
+FF17 FULLWIDTH DIGIT SEVEN
+ # <wide> + 0037
+FF18 FULLWIDTH DIGIT EIGHT
+ # <wide> + 0038
+FF19 FULLWIDTH DIGIT NINE
+ # <wide> + 0039
+FF1A FULLWIDTH COLON
+ # <wide> + 003A
+FF1B FULLWIDTH SEMICOLON
+ # <wide> + 003B
+FF1C FULLWIDTH LESS-THAN SIGN
+ # <wide> + 003C
+FF1D FULLWIDTH EQUALS SIGN
+ # <wide> + 003D
+FF1E FULLWIDTH GREATER-THAN SIGN
+ # <wide> + 003E
+FF1F FULLWIDTH QUESTION MARK
+ # <wide> + 003F
+FF20 FULLWIDTH COMMERCIAL AT
+ # <wide> + 0040
+FF21 FULLWIDTH LATIN CAPITAL LETTER A
+ # <wide> + 0041
+FF22 FULLWIDTH LATIN CAPITAL LETTER B
+ # <wide> + 0042
+FF23 FULLWIDTH LATIN CAPITAL LETTER C
+ # <wide> + 0043
+FF24 FULLWIDTH LATIN CAPITAL LETTER D
+ # <wide> + 0044
+FF25 FULLWIDTH LATIN CAPITAL LETTER E
+ # <wide> + 0045
+FF26 FULLWIDTH LATIN CAPITAL LETTER F
+ # <wide> + 0046
+FF27 FULLWIDTH LATIN CAPITAL LETTER G
+ # <wide> + 0047
+FF28 FULLWIDTH LATIN CAPITAL LETTER H
+ # <wide> + 0048
+FF29 FULLWIDTH LATIN CAPITAL LETTER I
+ # <wide> + 0049
+FF2A FULLWIDTH LATIN CAPITAL LETTER J
+ # <wide> + 004A
+FF2B FULLWIDTH LATIN CAPITAL LETTER K
+ # <wide> + 004B
+FF2C FULLWIDTH LATIN CAPITAL LETTER L
+ # <wide> + 004C
+FF2D FULLWIDTH LATIN CAPITAL LETTER M
+ # <wide> + 004D
+FF2E FULLWIDTH LATIN CAPITAL LETTER N
+ # <wide> + 004E
+FF2F FULLWIDTH LATIN CAPITAL LETTER O
+ # <wide> + 004F
+FF30 FULLWIDTH LATIN CAPITAL LETTER P
+ # <wide> + 0050
+FF31 FULLWIDTH LATIN CAPITAL LETTER Q
+ # <wide> + 0051
+FF32 FULLWIDTH LATIN CAPITAL LETTER R
+ # <wide> + 0052
+FF33 FULLWIDTH LATIN CAPITAL LETTER S
+ # <wide> + 0053
+FF34 FULLWIDTH LATIN CAPITAL LETTER T
+ # <wide> + 0054
+FF35 FULLWIDTH LATIN CAPITAL LETTER U
+ # <wide> + 0055
+FF36 FULLWIDTH LATIN CAPITAL LETTER V
+ # <wide> + 0056
+FF37 FULLWIDTH LATIN CAPITAL LETTER W
+ # <wide> + 0057
+FF38 FULLWIDTH LATIN CAPITAL LETTER X
+ # <wide> + 0058
+FF39 FULLWIDTH LATIN CAPITAL LETTER Y
+ # <wide> + 0059
+FF3A FULLWIDTH LATIN CAPITAL LETTER Z
+ # <wide> + 005A
+FF3B FULLWIDTH LEFT SQUARE BRACKET
+ # <wide> + 005B
+FF3C FULLWIDTH REVERSE SOLIDUS
+ # <wide> + 005C
+FF3D FULLWIDTH RIGHT SQUARE BRACKET
+ # <wide> + 005D
+FF3E FULLWIDTH CIRCUMFLEX ACCENT
+ # <wide> + 005E
+FF3F FULLWIDTH LOW LINE
+ # <wide> + 005F
+FF40 FULLWIDTH GRAVE ACCENT
+ # <wide> + 0060
+FF41 FULLWIDTH LATIN SMALL LETTER A
+ # <wide> + 0061
+FF42 FULLWIDTH LATIN SMALL LETTER B
+ # <wide> + 0062
+FF43 FULLWIDTH LATIN SMALL LETTER C
+ # <wide> + 0063
+FF44 FULLWIDTH LATIN SMALL LETTER D
+ # <wide> + 0064
+FF45 FULLWIDTH LATIN SMALL LETTER E
+ # <wide> + 0065
+FF46 FULLWIDTH LATIN SMALL LETTER F
+ # <wide> + 0066
+FF47 FULLWIDTH LATIN SMALL LETTER G
+ # <wide> + 0067
+FF48 FULLWIDTH LATIN SMALL LETTER H
+ # <wide> + 0068
+FF49 FULLWIDTH LATIN SMALL LETTER I
+ # <wide> + 0069
+FF4A FULLWIDTH LATIN SMALL LETTER J
+ # <wide> + 006A
+FF4B FULLWIDTH LATIN SMALL LETTER K
+ # <wide> + 006B
+FF4C FULLWIDTH LATIN SMALL LETTER L
+ # <wide> + 006C
+FF4D FULLWIDTH LATIN SMALL LETTER M
+ # <wide> + 006D
+FF4E FULLWIDTH LATIN SMALL LETTER N
+ # <wide> + 006E
+FF4F FULLWIDTH LATIN SMALL LETTER O
+ # <wide> + 006F
+FF50 FULLWIDTH LATIN SMALL LETTER P
+ # <wide> + 0070
+FF51 FULLWIDTH LATIN SMALL LETTER Q
+ # <wide> + 0071
+FF52 FULLWIDTH LATIN SMALL LETTER R
+ # <wide> + 0072
+FF53 FULLWIDTH LATIN SMALL LETTER S
+ # <wide> + 0073
+FF54 FULLWIDTH LATIN SMALL LETTER T
+ # <wide> + 0074
+FF55 FULLWIDTH LATIN SMALL LETTER U
+ # <wide> + 0075
+FF56 FULLWIDTH LATIN SMALL LETTER V
+ # <wide> + 0076
+FF57 FULLWIDTH LATIN SMALL LETTER W
+ # <wide> + 0077
+FF58 FULLWIDTH LATIN SMALL LETTER X
+ # <wide> + 0078
+FF59 FULLWIDTH LATIN SMALL LETTER Y
+ # <wide> + 0079
+FF5A FULLWIDTH LATIN SMALL LETTER Z
+ # <wide> + 007A
+FF5B FULLWIDTH LEFT CURLY BRACKET
+ # <wide> + 007B
+FF5C FULLWIDTH VERTICAL LINE
+ # <wide> + 007C
+FF5D FULLWIDTH RIGHT CURLY BRACKET
+ # <wide> + 007D
+FF5E FULLWIDTH TILDE
+ # <wide> + 007E
+FF5F <reserved>
+@ Halfwidth Katakana variants
+FF60 <reserved>
+FF61 HALFWIDTH IDEOGRAPHIC FULL STOP
+ # <narrow> + 3002
+FF62 HALFWIDTH LEFT CORNER BRACKET
+ # <narrow> + 300C
+FF63 HALFWIDTH RIGHT CORNER BRACKET
+ # <narrow> + 300D
+FF64 HALFWIDTH IDEOGRAPHIC COMMA
+ # <narrow> + 3001
+FF65 HALFWIDTH KATAKANA MIDDLE DOT
+ # <narrow> + 30FB
+FF66 HALFWIDTH KATAKANA LETTER WO
+ # <narrow> + 30F2
+FF67 HALFWIDTH KATAKANA LETTER SMALL A
+ # <narrow> + 30A1
+FF68 HALFWIDTH KATAKANA LETTER SMALL I
+ # <narrow> + 30A3
+FF69 HALFWIDTH KATAKANA LETTER SMALL U
+ # <narrow> + 30A5
+FF6A HALFWIDTH KATAKANA LETTER SMALL E
+ # <narrow> + 30A7
+FF6B HALFWIDTH KATAKANA LETTER SMALL O
+ # <narrow> + 30A9
+FF6C HALFWIDTH KATAKANA LETTER SMALL YA
+ # <narrow> + 30E3
+FF6D HALFWIDTH KATAKANA LETTER SMALL YU
+ # <narrow> + 30E5
+FF6E HALFWIDTH KATAKANA LETTER SMALL YO
+ # <narrow> + 30E7
+FF6F HALFWIDTH KATAKANA LETTER SMALL TU
+ # <narrow> + 30C3
+FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
+ # <narrow> + 30FC
+FF71 HALFWIDTH KATAKANA LETTER A
+ # <narrow> + 30A2
+FF72 HALFWIDTH KATAKANA LETTER I
+ # <narrow> + 30A4
+FF73 HALFWIDTH KATAKANA LETTER U
+ # <narrow> + 30A6
+FF74 HALFWIDTH KATAKANA LETTER E
+ # <narrow> + 30A8
+FF75 HALFWIDTH KATAKANA LETTER O
+ # <narrow> + 30AA
+FF76 HALFWIDTH KATAKANA LETTER KA
+ # <narrow> + 30AB
+FF77 HALFWIDTH KATAKANA LETTER KI
+ # <narrow> + 30AD
+FF78 HALFWIDTH KATAKANA LETTER KU
+ # <narrow> + 30AF
+FF79 HALFWIDTH KATAKANA LETTER KE
+ # <narrow> + 30B1
+FF7A HALFWIDTH KATAKANA LETTER KO
+ # <narrow> + 30B3
+FF7B HALFWIDTH KATAKANA LETTER SA
+ # <narrow> + 30B5
+FF7C HALFWIDTH KATAKANA LETTER SI
+ # <narrow> + 30B7
+FF7D HALFWIDTH KATAKANA LETTER SU
+ # <narrow> + 30B9
+FF7E HALFWIDTH KATAKANA LETTER SE
+ # <narrow> + 30BB
+FF7F HALFWIDTH KATAKANA LETTER SO
+ # <narrow> + 30BD
+FF80 HALFWIDTH KATAKANA LETTER TA
+ # <narrow> + 30BF
+FF81 HALFWIDTH KATAKANA LETTER TI
+ # <narrow> + 30C1
+FF82 HALFWIDTH KATAKANA LETTER TU
+ # <narrow> + 30C4
+FF83 HALFWIDTH KATAKANA LETTER TE
+ # <narrow> + 30C6
+FF84 HALFWIDTH KATAKANA LETTER TO
+ # <narrow> + 30C8
+FF85 HALFWIDTH KATAKANA LETTER NA
+ # <narrow> + 30CA
+FF86 HALFWIDTH KATAKANA LETTER NI
+ # <narrow> + 30CB
+FF87 HALFWIDTH KATAKANA LETTER NU
+ # <narrow> + 30CC
+FF88 HALFWIDTH KATAKANA LETTER NE
+ # <narrow> + 30CD
+FF89 HALFWIDTH KATAKANA LETTER NO
+ # <narrow> + 30CE
+FF8A HALFWIDTH KATAKANA LETTER HA
+ # <narrow> + 30CF
+FF8B HALFWIDTH KATAKANA LETTER HI
+ # <narrow> + 30D2
+FF8C HALFWIDTH KATAKANA LETTER HU
+ # <narrow> + 30D5
+FF8D HALFWIDTH KATAKANA LETTER HE
+ # <narrow> + 30D8
+FF8E HALFWIDTH KATAKANA LETTER HO
+ # <narrow> + 30DB
+FF8F HALFWIDTH KATAKANA LETTER MA
+ # <narrow> + 30DE
+FF90 HALFWIDTH KATAKANA LETTER MI
+ # <narrow> + 30DF
+FF91 HALFWIDTH KATAKANA LETTER MU
+ # <narrow> + 30E0
+FF92 HALFWIDTH KATAKANA LETTER ME
+ # <narrow> + 30E1
+FF93 HALFWIDTH KATAKANA LETTER MO
+ # <narrow> + 30E2
+FF94 HALFWIDTH KATAKANA LETTER YA
+ # <narrow> + 30E4
+FF95 HALFWIDTH KATAKANA LETTER YU
+ # <narrow> + 30E6
+FF96 HALFWIDTH KATAKANA LETTER YO
+ # <narrow> + 30E8
+FF97 HALFWIDTH KATAKANA LETTER RA
+ # <narrow> + 30E9
+FF98 HALFWIDTH KATAKANA LETTER RI
+ # <narrow> + 30EA
+FF99 HALFWIDTH KATAKANA LETTER RU
+ # <narrow> + 30EB
+FF9A HALFWIDTH KATAKANA LETTER RE
+ # <narrow> + 30EC
+FF9B HALFWIDTH KATAKANA LETTER RO
+ # <narrow> + 30ED
+FF9C HALFWIDTH KATAKANA LETTER WA
+ # <narrow> + 30EF
+FF9D HALFWIDTH KATAKANA LETTER N
+ # <narrow> + 30F3
+FF9E HALFWIDTH KATAKANA VOICED SOUND MARK
+ # <narrow> + 309B
+FF9F HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
+ # <narrow> + 309C
+@ Halfwidth Hangul variants
+FFA0 HALFWIDTH HANGUL FILLER
+ # <narrow> + 3164
+FFA1 HALFWIDTH HANGUL LETTER KIYEOK
+ # <narrow> + 3131
+FFA2 HALFWIDTH HANGUL LETTER SSANGKIYEOK
+ # <narrow> + 3132
+FFA3 HALFWIDTH HANGUL LETTER KIYEOK-SIOS
+ # <narrow> + 3133
+FFA4 HALFWIDTH HANGUL LETTER NIEUN
+ # <narrow> + 3134
+FFA5 HALFWIDTH HANGUL LETTER NIEUN-CIEUC
+ # <narrow> + 3135
+FFA6 HALFWIDTH HANGUL LETTER NIEUN-HIEUH
+ # <narrow> + 3136
+FFA7 HALFWIDTH HANGUL LETTER TIKEUT
+ # <narrow> + 3137
+FFA8 HALFWIDTH HANGUL LETTER SSANGTIKEUT
+ # <narrow> + 3138
+FFA9 HALFWIDTH HANGUL LETTER RIEUL
+ # <narrow> + 3139
+FFAA HALFWIDTH HANGUL LETTER RIEUL-KIYEOK
+ # <narrow> + 313A
+FFAB HALFWIDTH HANGUL LETTER RIEUL-MIEUM
+ # <narrow> + 313B
+FFAC HALFWIDTH HANGUL LETTER RIEUL-PIEUP
+ # <narrow> + 313C
+FFAD HALFWIDTH HANGUL LETTER RIEUL-SIOS
+ # <narrow> + 313D
+FFAE HALFWIDTH HANGUL LETTER RIEUL-THIEUTH
+ # <narrow> + 313E
+FFAF HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH
+ # <narrow> + 313F
+FFB0 HALFWIDTH HANGUL LETTER RIEUL-HIEUH
+ # <narrow> + 3140
+FFB1 HALFWIDTH HANGUL LETTER MIEUM
+ # <narrow> + 3141
+FFB2 HALFWIDTH HANGUL LETTER PIEUP
+ # <narrow> + 3142
+FFB3 HALFWIDTH HANGUL LETTER SSANGPIEUP
+ # <narrow> + 3143
+FFB4 HALFWIDTH HANGUL LETTER PIEUP-SIOS
+ # <narrow> + 3144
+FFB5 HALFWIDTH HANGUL LETTER SIOS
+ # <narrow> + 3145
+FFB6 HALFWIDTH HANGUL LETTER SSANGSIOS
+ # <narrow> + 3146
+FFB7 HALFWIDTH HANGUL LETTER IEUNG
+ # <narrow> + 3147
+FFB8 HALFWIDTH HANGUL LETTER CIEUC
+ # <narrow> + 3148
+FFB9 HALFWIDTH HANGUL LETTER SSANGCIEUC
+ # <narrow> + 3149
+FFBA HALFWIDTH HANGUL LETTER CHIEUCH
+ # <narrow> + 314A
+FFBB HALFWIDTH HANGUL LETTER KHIEUKH
+ # <narrow> + 314B
+FFBC HALFWIDTH HANGUL LETTER THIEUTH
+ # <narrow> + 314C
+FFBD HALFWIDTH HANGUL LETTER PHIEUPH
+ # <narrow> + 314D
+FFBE HALFWIDTH HANGUL LETTER HIEUH
+ # <narrow> + 314E
+FFBF <reserved>
+FFC0 <reserved>
+FFC1 <reserved>
+FFC2 HALFWIDTH HANGUL LETTER A
+ # <narrow> + 314F
+FFC3 HALFWIDTH HANGUL LETTER AE
+ # <narrow> + 3150
+FFC4 HALFWIDTH HANGUL LETTER YA
+ # <narrow> + 3151
+FFC5 HALFWIDTH HANGUL LETTER YAE
+ # <narrow> + 3152
+FFC6 HALFWIDTH HANGUL LETTER EO
+ # <narrow> + 3153
+FFC7 HALFWIDTH HANGUL LETTER E
+ # <narrow> + 3154
+FFC8 <reserved>
+FFC9 <reserved>
+FFCA HALFWIDTH HANGUL LETTER YEO
+ # <narrow> + 3155
+FFCB HALFWIDTH HANGUL LETTER YE
+ # <narrow> + 3156
+FFCC HALFWIDTH HANGUL LETTER O
+ # <narrow> + 3157
+FFCD HALFWIDTH HANGUL LETTER WA
+ # <narrow> + 3158
+FFCE HALFWIDTH HANGUL LETTER WAE
+ # <narrow> + 3159
+FFCF HALFWIDTH HANGUL LETTER OE
+ # <narrow> + 315A
+FFD0 <reserved>
+FFD1 <reserved>
+FFD2 HALFWIDTH HANGUL LETTER YO
+ # <narrow> + 315B
+FFD3 HALFWIDTH HANGUL LETTER U
+ # <narrow> + 315C
+FFD4 HALFWIDTH HANGUL LETTER WEO
+ # <narrow> + 315D
+FFD5 HALFWIDTH HANGUL LETTER WE
+ # <narrow> + 315E
+FFD6 HALFWIDTH HANGUL LETTER WI
+ # <narrow> + 315F
+FFD7 HALFWIDTH HANGUL LETTER YU
+ # <narrow> + 3160
+FFD8 <reserved>
+FFD9 <reserved>
+FFDA HALFWIDTH HANGUL LETTER EU
+ # <narrow> + 3161
+FFDB HALFWIDTH HANGUL LETTER YI
+ # <narrow> + 3162
+FFDC HALFWIDTH HANGUL LETTER I
+ # <narrow> + 3163
+FFDD <reserved>
+FFDE <reserved>
+FFDF <reserved>
+@ Fullwidth symbol variants
+FFE0 FULLWIDTH CENT SIGN
+ # <wide> + 00A2
+FFE1 FULLWIDTH POUND SIGN
+ # <wide> + 00A3
+FFE2 FULLWIDTH NOT SIGN
+ # <wide> + 00AC
+FFE3 FULLWIDTH MACRON
+ # <wide> + 00AF
+FFE4 FULLWIDTH BROKEN BAR
+ # <wide> + 00A6
+FFE5 FULLWIDTH YEN SIGN
+ # <wide> + 00A5
+FFE6 FULLWIDTH WON SIGN
+ # <wide> + 20A9
+FFE7 <reserved>
+FFE8 HALFWIDTH FORMS LIGHT VERTICAL
+ # <narrow> + 2502
+FFE9 HALFWIDTH LEFTWARDS ARROW
+ # <narrow> + 2190
+FFEA HALFWIDTH UPWARDS ARROW
+ # <narrow> + 2191
+FFEB HALFWIDTH RIGHTWARDS ARROW
+ # <narrow> + 2192
+FFEC HALFWIDTH DOWNWARDS ARROW
+ # <narrow> + 2193
+FFED HALFWIDTH BLACK SQUARE
+ # <narrow> + 25A0
+FFEE HALFWIDTH WHITE CIRCLE
+ # <narrow> + 25CB
+@@ FFF0 Specials FFFF
+@ Specials
+FFF0 <reserved>
+FFF1 <reserved>
+FFF2 <reserved>
+FFF3 <reserved>
+FFF4 <reserved>
+FFF5 <reserved>
+FFF6 <reserved>
+FFF7 <reserved>
+FFF8 <reserved>
+FFF9 <reserved>
+FFFA <reserved>
+FFFB <reserved>
+FFFC <reserved>
+FFFD REPLACEMENT CHARACTER
+ * used to replace incoming characters whose values are unknown or unrepresentable in Unicode
+ x (substitute - 001A)
+@ Not character codes
+FFFE <not a character>
+ * the value FFFE is guaranteed not to be a Unicode character at all
+ * may be used to detect byte order by contrast with FEFF which is a character
+ x (zero width no-break space - FEFF)
+FFFF <not a character>
+ * the value FFFF is guaranteed not to be a Unicode character at all
diff --git a/lib/unicode/props2.txt b/lib/unicode/props2.txt
new file mode 100755
index 0000000000..3909bff394
--- /dev/null
+++ b/lib/unicode/props2.txt
@@ -0,0 +1,51 @@
+# Alphabetic
+0041..005A, 0061..007A, 00AA , 00B5 , 00BA , 00C0..00D6,
+00D8..00F6, 00F8..01F5, 01FA..0217, 0250..02A8, 02B0..02B8, 02BB..02C1,
+02E0..02E4, 037A , 0386 , 0388..038A, 038C , 038E..03A1,
+03A3..03CE, 03D0..03D6, 03DA , 03DC , 03DE , 03E0 ,
+03E2..03F3, 0401..040C, 040E..044F, 0451..045C, 045E..0481, 0490..04C4,
+04C7..04C8, 04CB..04CC, 04D0..04EB, 04EE..04F5, 04F8..04F9, 0531..0556,
+0559..055A, 0561..0587, 05D0..05EA, 05F0..05F2, 0621..063A, 0641..0652,
+0670..06B7, 06BA..06BE, 06C0..06CE, 06D0..06D3, 06D5..06DC, 06E1..06E8,
+06ED , 0901..0903, 0905..0939, 093D..094C, 0958..0963, 0981..0983,
+0985..098C, 098F..0990, 0993..09A8, 09AA..09B0, 09B2 , 09B6..09B9,
+09BE..09C4, 09C7..09C8, 09CB..09CC, 09D7 , 09DC..09DD, 09DF..09E3,
+09F0..09F1, 0A02 , 0A05..0A0A, 0A0F..0A10, 0A13..0A28, 0A2A..0A30,
+0A32..0A33, 0A35..0A36, 0A38..0A39, 0A3E..0A42, 0A47..0A48, 0A4B..0A4C,
+0A8F..0A91, 0A93..0AA8, 0AAA..0AB0, 0AB2..0AB3, 0AB5..0AB9, 0ABD..0AC5,
+0AC7..0AC9, 0ACB..0ACC, 0AE0 , 0B01..0B03, 0B05..0B0C, 0B0F..0B10,
+0B13..0B28, 0B2A..0B30, 0B32..0B33, 0B36..0B39, 0B3D..0B43, 0B47..0B48,
+0B4B..0B4C, 0B56..0B57, 0B5C..0B5D, 0B5F..0B61, 0B82..0B83, 0B85..0B8A,
+0B8E..0B90, 0B92..0B95, 0B99..0B9A, 0B9C , 0B9E..0B9F, 0BA3..0BA4,
+0BA8..0BAA, 0BAE..0BB5, 0BB7..0BB9, 0BBE..0BC2, 0BC6..0BC8, 0BCA..0BCC,
+0BD7 , 0C01..0C03, 0C05..0C0C, 0C0E..0C10, 0C12..0C28, 0C2A..0C33,
+0C35..0C39, 0C3E..0C44, 0C46..0C48, 0C4A..0C4C, 0C55..0C56, 0C60..0C61,
+0C82..0C83, 0C85..0C8C, 0C8E..0C90, 0C92..0CA8, 0CAA..0CB3, 0CB5..0CB9,
+0CBE..0CC4, 0CC6..0CC8, 0CCA..0CCC, 0CD5..0CD6, 0CDE , 0CE0..0CE1,
+0D02..0D03, 0D05..0D0C, 0D0E..0D10, 0D12..0D28, 0D2A..0D39, 0D3E..0D43,
+0D46..0D48, 0D4A..0D4C, 0D57 , 0D60..0D61, 0E01..0E2E, 0E30..0E3A,
+0E40..0E45, 0E47 , 0E4D , 0E81..0E82, 0E84 , 0E87..0E88,
+0E8A , 0E8D , 0E94..0E97, 0E99..0E9F, 0EA1..0EA3, 0EA5 ,
+0EA7 , 0EAA..0EAB, 0EAD..0EAE, 0EB0..0EB9, 0EBB..0EBD, 0EC0..0EC4,
+0ECD , 0EDC..0EDD, 0F40..0F47, 0F49..0F69, 0F71..0F81, 0F90..0F95,
+0F97 , 0F99..0FAD, 0FB1..0FB7, 0FB9 , 10A0..10C5, 10D0..10F6,
+1100..1159, 115F..11A2, 11A8..11F9, 1E00..1E9B, 1EA0..1EF9, 1F00..1F15,
+1F18..1F1D, 1F20..1F45, 1F48..1F4D, 1F50..1F57, 1F59 , 1F5B ,
+1F5D , 1F5F..1F7D, 1F80..1FB4, 1FB6..1FBC, 1FBE , 1FC2..1FC4,
+1FC6..1FCC, 1FD0..1FD3, 1FD6..1FDB, 1FE0..1FEC, 1FF2..1FF4, 1FF6..1FFC,
+207F , 2102 , 2107 , 210A..2113, 2115 , 2118..211D,
+2124 , 2126 , 2128 , 212A..212D, 212F..2131, 2133..2138,
+2160..2182, 3041..3094, 30A1..30FA, 3105..312C, 3131..318E, AC00..D7A3,
+FB00..FB06, FB13..FB17, FB1F..FB28, FB2A..FB36, FB38..FB3C, FB3E ,
+FB40..FB41, FB43..FB44, FB46..FBB1, FBD3..FD3D, FD50..FD8F, FD92..FDC7,
+FDF0..FDFB, FE70..FE72, FE74 , FE76..FEFC, FF21..FF3A, FF41..FF5A,
+FF66..FF6F, FF71..FF9D, FFA0..FFBE, FFC2..FFC7, FFCA..FFCF, FFD2..FFD7,
+FFDA..FFDC
+
+# Ideographic
+4E00..9FA5, F900..FA2D, 3007, 3021..3029
+
+# Mathematical
+0028..002B, 002D, 002F, 003C..003E, 005B..005E, 007B..007E, 00AC, 00B1,
+00D7, 00F7, 20A6, 2032..2034, 2044, 20D2..20E1, 2190..2194, 21D2, 21D4,
+2200..22F1, 2308..230B, 2320..2321, 2329..232A
diff --git a/lib/unicode/readme.txt b/lib/unicode/readme.txt
new file mode 100755
index 0000000000..5f908d3067
--- /dev/null
+++ b/lib/unicode/readme.txt
@@ -0,0 +1,301 @@
+
+UNICODE 2.0 CHARACTER DATABASE
+
+Copyright (c) 1991-1996 Unicode, Inc.
+All Rights reserved.
+
+DISCLAIMER
+
+The Unicode Character Database "UNIDATA2.TXT" is provided as-is by
+Unicode, Inc. (The Unicode Consortium). No claims are made as to fitness for any
+particular purpose. No warranties of any kind are expressed or implied. The
+recipient agrees to determine applicability of information provided. If this
+file has been purchased on magnetic or optical media from Unicode, Inc.,
+the sole remedy for any claim will be exchange of defective media within
+90 days of receipt.
+
+This disclaimer is applicable for all other data files accompanying the
+Unicode Character Database, some of which have been compiled by the
+Unicode Consortium, and some of which have been supplied by other vendors.
+
+LIMITATIONS ON RIGHTS TO REDISTRIBUTE THIS DATA
+
+Recipient is granted the right to make copies in any form for internal
+distribution and to freely use the information supplied in the creation of
+products supporting the Unicode (TM) Standard. This file can be redistributed
+to third parties or other organizations (whether for profit or not) as long
+as this notice and the disclaimer notice are retained.
+
+EXPLANATORY INFORMATION
+
+The Unicode Character Database defines the default Unicode character
+properties, and internal mappings. Particular implementations may choose to
+override the properties and mappings that are not normative. If that is done,
+it is up to the implementer to establish a protocol to convey that
+information. For more information about character properties and mappings,
+see "The Unicode Standard, Worldwide Character Encoding, Version 2.0",
+published by Addison-Wesley. For information about other data files
+accompanying the Unicode Character Database, see the section of the
+Unicode Standard they were extracted from, or the explanatory readme
+files and/or header sections with those files.
+
+The Unicode Character Database is a plain ASCII text file consisting of lines
+containing fields terminated by semicolons. Each line represents the data for
+one encoded character in the Unicode Standard, Version 2.0. Every encoded
+character has a data entry, with the exception of certain special ranges, as
+detailed below.
+
+There are five special ranges of characters that are represented only by
+their start and end characters, since the properties in the file are uniform,
+except for code values (which are all sequential and assigned). The names of CJK
+ideograph characters and Hangul syllable characters are algorithmically
+derivable. (See the Unicode Standard for more information). Surrogate
+characters and private use characters have no names.
+
+The exact ranges represented by start and end characters are:
+
+ The CJK Ideographs Area (U+4E00 - U+9FFF)
+ The Hangul Syllables Area (U+AC00 - U+D7A3)
+ The Surrogates Area (U+D800 - U+DFFF)
+ The Private Use Area (U+E000 - U+F8FF)
+ CJK Compatibility Ideographs (U+F900 - U+FAFF)
+
+The following table describes the format and meaning of each field in a
+data entry in the Unicode Character Database. Fields which contain
+normative information are so indicated.
+
+Field Explanation
+----- -----------
+
+ 0 Code value in 4-digit hexadecimal format.
+ This field is normative.
+
+ 1 Unicode 2.0 Character Name. These names match exactly the
+ names published in Chapter 7 of the Unicode Standard.
+ This field is normative.
+
+ 2 General Category. This is a useful breakdown into various "character
+ types" which can be used as a default categorization in implementations.
+ Some of the values are normative, and some are informative.
+ See below for a brief explanation.
+
+ 3 Canonical Combining Classes. The classes used for the
+ Canonical Ordering Algorithm in the Unicode Standard. These
+ classes are also printed in Chapter 4 of the Unicode Standard.
+ This field is normative. See below for a brief explanation.
+
+ 4 Bidirectional Category. See the list below for an explanation of the
+ abbreviations used in this field. These are the categories required
+ by the Bidirectional Behavior Algorithm in the Unicode Standard.
+ These categories are summarized in Chapter 4 of the Unicode Standard.
+ This field is normative.
+
+ 5 Character Decomposition. In the Unicode Standard, Version 2.0, not all of
+ the decompositions are full decompositions. Recursive
+ application of look-up for decompositions will, in all cases, lead to
+ a maximal decomposition. The decompositions match exactly the
+ decompositions published with the character names in Chapter 7
+ of the Unicode Standard. This field is normative.
+
+ 6 Decimal digit value. This is a numeric field. If the character
+ has the decimal digit property, as specified in Chapter 4 of
+ the Unicode Standard, the value of that digit is represented
+ with an integer value in this field. This field is normative.
+
+ 7 Digit value. This is a numeric field. If the character represents a
+ digit, not necessarily a decimal digit, the value is here. This
+ covers digits which do not form decimal radix forms, such as the
+ compatibility superscript digits. This field is informative.
+
+ 8 Numeric value. This is a numeric field. If the character has the
+ numeric property, as specified in Chapter 4 of the Unicode
+ Standard, the value of that character is represented with an
+ integer or rational number in this field. This includes fractions as,
+ e.g., "1/5" for U+2155 VULGAR FRACTION ONE FIFTH.
+ Also included are numerical values for compatibility characters
+ such as circled numbers. This field is normative.
+
+ 9 If the characters has been identified as a "mirrored" character in
+ bidirectional text, this field has the value "Y"; otherwise "N".
+ The list of mirrored characters is also printed in Chapter 4 of
+ the Unicode Standard. This field is normative.
+
+ 10 Unicode 1.0 Name. This is the old name as published in Unicode 1.0.
+ This name is only provided when it is significantly different from
+ the Unicode 2.0 name for the character. This field is informative.
+
+ 11 10646 Comment field. This field is informative.
+
+ 12 Upper case equivalent mapping. If a character is part of an
+ alphabet with case distinctions, and has an upper case equivalent,
+ then the upper case equivalent is in this field. See the explanation
+ below on case distinctions. These mappings are always one-to-one,
+ not one-to-many or many-to-one. This field is informative.
+
+ 13 Lower case equivalent mapping. Similar to 12. This field is informative.
+
+ 14 Title case equivalent mapping. Similar to 12. This field is informative.
+
+GENERAL CATEGORY
+
+The values in this field are abbreviations for the following. Some of the
+values are normative, and some are informative. For more information, see
+the Unicode Standard.
+
+Normative
+ Mn = Mark, Non-Spacing
+ Mc = Mark, Combining
+ Nd = Number, Decimal Digit
+ No = Number, Other
+ Zs = Separator, Space
+ Zl = Separator, Line
+ Zp = Separator, Paragraph
+ Cc = Other, Control or Format
+ Co = Other, Private Use
+ Cn = Other, Not Assigned
+
+Informative
+ Lu = Letter, Uppercase
+ Ll = Letter, Lowercase
+ Lt = Letter, Titlecase
+ Lm = Letter, Modifier
+ Lo = Letter, Other
+ Pd = Punctuation, Dash
+ Ps = Punctuation, Open
+ Pe = Punctuation, Close
+ Po = Punctuation, Other
+ Sm = Symbol, Math
+ Sc = Symbol, Currency
+ So = Symbol, Other
+
+BIDIRECTIONAL PROPERTIES
+
+Please refer to the Unicode Standard for an explanation of the algorithm for
+Bidirectional Behavior and an explanation of the sigificance of these categories.
+These values are normative.
+
+Strong types:
+ L Left-Right; Most alphabetic, syllabic, and logographic
+ characters (e.g., CJK ideographs)
+ R Right-Left; Arabic, Hebrew, and
+ punctuation specific to those scripts
+Weak types:
+ EN European Number
+ ES European Number Separator
+ ET European Number Terminator
+ AN Arabic Number
+ CS Common Number Separator
+
+Separators:
+ B Block Separator
+ S Segment Separator
+
+Neutrals:
+ WS Whitespace
+ ON Other Neutrals ; All other characters: punctuation, symbols
+
+CHARACTER DECOMPOSITION TAGS
+
+The decomposition is a normative property of a character. The tags supplied
+with certain decompositions generally indicate formatting information.
+Where no such tag is given, the decomposition is designated as canonical.
+Conversely, the presence of a formatting tag also indicates
+that the decomposition is a compatibility decomposition and not a canonical
+decomposition. In the absence of other formatting information in a
+compatibility decomposition, the tag <compat> is used to distinguish it from
+canonical decompositions.
+
+In some instances a canonical decomposition or a compatibility decomposition
+may consist of a single character. For a canonical decomposition, this
+indicates that the character is a canonical equivalent of another single
+character. For a compatibility decomposition, this indicates that the
+character is a compatibility equivalent of another single character.
+
+The compatibility formatting tags used are:
+
+ <font> A font variant (e.g. a blackletter form).
+ <noBreak> A no-break version of a space or hyphen.
+ <initial> An initial presentation form (Arabic).
+ <medial> A medial presentation form (Arabic).
+ <final> A final presentation form (Arabic).
+ <isolated> An isolated presentation form (Arabic).
+ <circle> An encircled form.
+ <super> A superscript form.
+ <sub> A subscript form.
+ <vertical> A vertical layout presentation form.
+ <wide> A wide (or zenkaku) compatibility character.
+ <narrow> A narrow (or hankaku) compatibility character.
+ <small> A small variant form (CNS compatibility).
+ <square> A CJK squared font variant.
+ <compat> Otherwise unspecified compatibility character.
+
+CANONICAL COMBINING CLASSES
+
+ 0: Spacing, enclosing, reordrant, and surrounding
+ 1: Overlays and interior
+ 6: Tibetan subjoined Letters
+ 7: Nuktas
+ 8: Hiragana/Katakana voiced marks
+ 9: Viramas
+ 10: Start of fixed position classes
+199: End of fixed position classes
+200: Below left attached
+202: Below attached
+204: Below right attached
+208: Left attached (reordrant around single base character)
+210: Right attached
+212: Above left attached
+214: Above attached
+216: Above right attached
+218: Below left
+220: Below
+222: Below right
+224: Left (reordrant around single base character)
+226: Right
+228: Above left
+230: Above
+232: Above right
+234: Double above
+
+Note: some of the combining classes in this list do not currently have
+members but are specified here for completeness.
+
+CASE MAPPINGS
+
+In addition to uppercase and lowercase, because of the inclusion of certain
+composite characters for compatibility, such as "01F1;LATIN CAPITAL LETTER
+DZ", there is a third case, called titlecase, which is used where the first
+character of a word is to be capitalized (e.g. UPPERCASE, Titlecase,
+lowercase). An example of such a character is "01F2;LATIN CAPITAL LETTER D
+WITH SMALL LETTER Z".
+
+The uppercase, titlecase and lowercase fields are only included for characters
+that have a single corresponding character of that type. Composite characters
+(such as "339D;SQUARE CM") that do not have a single corresponding character
+of that type can be cased by decomposition.
+
+The case mapping is an informative, default mapping. Certain languages, such
+as Turkish, German, French, or Greek may have small deviations from the
+default mappings listed in the Unicode Character Database.
+
+MODIFICATION HISTORY
+
+Some of the modifications made in updating the Unicode Character Database
+for the Unicode Standard, Version 2.0 are:
+* Fixed decompositions with TONOS to use correct NSM: 030D.
+* Removed old Hangul Syllables; mapping to new characters are
+ in a separate table.
+* Marked compability decompositions with additional tags.
+* Changed old tag names for clarity.
+* Revision of decompositions to use first-level decomposition, instead
+ of maximal decomposition.
+* Correction of all known errors in decompositions from earlier versions.
+* Added control code names (as old Unicode names).
+* Added Hangul Jamo decompositions.
+* Added Number category to match properties list in book.
+* Fixed categories of Koranic Arabic marks.
+* Fixed categories of precomposed characters to match decomposition where possible.
+* Added Hebrew cantillation marks and the Tibetan script.
+* Added place holders for ranges such as CJK Ideographic Area and the
+ Private Use Area.
+* Eliminated "Nd" as a category.
diff --git a/lib/utf8.pm b/lib/utf8.pm
new file mode 100644
index 0000000000..be46d17230
--- /dev/null
+++ b/lib/utf8.pm
@@ -0,0 +1,181 @@
+package utf8;
+
+sub import {
+ $^H |= 0x00000008;
+ $enc{caller()} = $_[1] if $_[1];
+}
+
+sub unimport {
+ $^H &= ~0x00000008;
+}
+
+sub AUTOLOAD {
+ require "utf8_heavy.pl";
+ goto &$AUTOLOAD;
+}
+
+1;
+__END__
+
+=head1 NAME
+
+utf8 - Perl pragma to turn on UTF-8 and Unicode support
+
+=head1 SYNOPSIS
+
+ use utf8;
+ no utf8;
+
+=head1 DESCRIPTION
+
+The utf8 pragma tells Perl to use UTF-8 as its internal string
+representation for the rest of the enclosing block. (The "no utf8"
+pragma tells Perl to switch back to ordinary byte-oriented processing
+for the rest of the enclosing block.) Under utf8, many operations that
+formerly operated on bytes change to operating on characters. For
+ASCII data this makes no difference, because UTF-8 stores ASCII in
+single bytes, but for any character greater than C<chr(127)>, the
+character is stored in a sequence of two or more bytes, all of which
+have the high bit set. But by and large, the user need not worry about
+this, because the utf8 pragma hides it from the user. A character
+under utf8 is logically just a number ranging from 0 to 2**32 or so.
+Larger characters encode to longer sequences of bytes, but again, this
+is hidden.
+
+Use of the utf8 pragma has the following effects:
+
+=over 4
+
+=item *
+
+Strings and patterns may contain characters that have an ordinal value
+larger than 255. Presuming you use a Unicode editor to edit your
+program, these will typically occur directly within the literal strings
+as UTF-8 characters, but you can also specify a particular character
+with an extension of the C<\x> notation. UTF-8 characters are
+specified by putting the hexidecimal code within curlies after the
+C<\x>. For instance, a Unicode smiley face is C<\x{263A}>. A
+character in the Latin-1 range (128..255) should be written C<\x{ab}>
+rather than C<\xab>, since the former will turn into a two-byte UTF-8
+code, while the latter will continue to be interpreted as generating a
+8-bit byte rather than a character. In fact, if -w is turned on, it will
+produce a warning that you might be generating invalid UTF-8.
+
+=item *
+
+Identifiers within the Perl script may contain Unicode alphanumeric
+characters, including ideographs. (You are currently on your own when
+it comes to using the canonical forms of characters--Perl doesn't (yet)
+attempt to canonicalize variable names for you.)
+
+=item *
+
+Regular expressions match characters instead of bytes. For instance,
+"." matches a character instead of a byte. (However, the C<\C> pattern
+is provided to force a match a single byte ("C<char>" in C, hence
+C<\C>).)
+
+=item *
+
+Character classes in regular expressions match characters instead of
+bytes, and match against the character properties specified in the
+Unicode properties database. So C<\w> can be used to match an ideograph,
+for instance.
+
+=item *
+
+Named Unicode properties and block ranges make be used as character
+classes via the new C<\p{}> (matches property) and C<\P{}> (doesn't
+match property) constructs. For instance, C<\p{Lu}> matches any
+character with the Unicode uppercase property, while C<\p{M}> matches
+any mark character. Single letter properties may omit the brackets, so
+that can be written C<\pM> also. Many predefined character classes are
+available, such as C<\p{IsMirrored}> and C<\p{InTibetan}>.
+
+=item *
+
+The special pattern C<\X> match matches any extended Unicode sequence
+(a "combining character sequence" in Standardese), where the first
+character is a base character and subsequent characters are mark
+characters that apply to the base character. It is equivalent to
+C<(?:\pM\PM*)>.
+
+=item *
+
+The C<tr///> operator translates characters instead of bytes. It can also
+be forced to translate between 8-bit codes and UTF-8 regardless of the
+surrounding utf8 state. For instance, if you know your input in Latin-1,
+you can say:
+
+ use utf8;
+ while (<>) {
+ tr/\0-\xff//CU; # latin1 char to utf8
+ ...
+ }
+
+Similarly you could translate your output with
+
+ tr/\0-\x{ff}//UC; # utf8 to latin1 char
+
+No, C<s///> doesn't take /U or /C (yet?).
+
+=item *
+
+Case translation operators use the Unicode case translation tables.
+Note that C<uc()> translates to uppercase, while C<ucfirst> translates
+to titlecase (for languages that make the distinction). Naturally
+the corresponding backslash sequences have the same semantics.
+
+=item *
+
+Most operators that deal with positions or lengths in the string will
+automatically switch to using character positions, including C<chop()>,
+C<substr()>, C<pos()>, C<index()>, C<rindex()>, C<sprintf()>,
+C<write()>, and C<length()>. Operators that specifically don't switch
+include C<vec()>, C<pack()>, and C<unpack()>. Operators that really
+don't care include C<chomp()>, as well as any other operator that
+treats a string as a bucket of bits, such as C<sort()>, and the
+operators dealing with filenames.
+
+=item *
+
+The C<pack()>/C<unpack()> letters "C<c>" and "C<C>" do I<not> change,
+since they're often used for byte-oriented formats. (Again, think
+"C<char>" in the C language.) However, there is a new "C<U>" specifier
+that will convert between UTF-8 characters and integers. (It works
+outside of the utf8 pragma too.)
+
+=item *
+
+The C<chr()> and C<ord()> functions work on characters. This is like
+C<pack("U")> and C<unpack("U")>, not like C<pack("C")> and
+C<unpack("C")>. In fact, the latter are how you now emulate
+byte-oriented C<chr()> and C<ord()> under utf8.
+
+=item *
+
+And finally, C<scalar reverse()> reverses by character rather than by byte.
+
+=back
+
+=head1 CAVEATS
+
+As of yet, there is no method for automatically coercing input and
+output to some encoding other than UTF-8. This is planned in the near
+future, however.
+
+In any event, you'll need to keep track of whether interfaces to other
+modules expect UTF-8 data or something else. The utf8 pragma does not
+magically mark strings for you in order to remember their encoding, nor
+will any automatic coercion happen (other than that eventually planned
+for I/O). If you want such automatic coercion, you can build yourself
+a set of pretty object-oriented modules. Expect it to run considerably
+slower than than this low-level support.
+
+Use of locales with utf8 may lead to odd results. Currently there is
+some attempt to apply 8-bit locale info to characters in the range
+0..255, but this is demonstrably incorrect for locales that use
+characters above that range (when mapped into Unicode). It will also
+tend to run slower. Avoidance of locales is strongly encouraged.
+
+=cut
diff --git a/lib/utf8_heavy.pl b/lib/utf8_heavy.pl
new file mode 100644
index 0000000000..d9454b0f5e
--- /dev/null
+++ b/lib/utf8_heavy.pl
@@ -0,0 +1,224 @@
+package utf8;
+
+my $DEBUG = 0;
+my $seq = "AAA0000";
+
+sub DESTROY {}
+
+sub croak { require Carp; Carp::croak(@_) }
+
+sub SWASHNEW {
+ my ($class, $type, $list, $minbits, $none) = @_;
+ local $^D = 0 if $^D;
+ print STDERR "SWASHNEW @_\n" if $DEBUG;
+ my $extras;
+ my $bits;
+
+ if ($type and ref ${"${class}::{$type}"} eq $class) {
+ warn qq/Found \${"${class}::{$type}"}\n/ if $DEBUG;
+ return ${"${class}::{$type}"}; # Already there...
+ }
+
+ $type ||= $seq++;
+
+ my $caller;
+ my $i = 0;
+ while (($caller = caller($i)) eq __PACKAGE__) { $i++ }
+ my $encoding = $enc{$caller} || "unicode";
+ (my $file = $type) =~ s!::!/!g;
+ $file =~ s#^(I[sn]|To)([A-Z].*)#$1/$2#;
+ $list ||= eval { $caller->$type(); }
+ || do "$file.pl"
+ || do "unicode/$file.pl"
+ || do "unicode/Is/${type}.pl"
+ || croak("Can't find character property definition via $caller->$type or $file.pl");
+
+ $| = 1;
+
+ if ($list) {
+ my @tmp = split(/^/m, $list);
+ my %seen;
+ local $^W = 0;
+ $extras = join '', grep /^[^0-9a-fA-F]/, @tmp;
+ $list = join '',
+ sort { hex $a <=> hex $b }
+ grep {/^([0-9a-fA-F]+)/ and not $seen{$1}++} @tmp; # XXX doesn't do ranges right
+ }
+
+ if ($none) {
+ my $hextra = sprintf "%04x", $none + 1;
+ $list =~ s/\tXXXX$/\t$hextra/mg;
+ }
+
+ if ($minbits < 32) {
+ my $top = 0;
+ while ($list =~ /^([0-9a-fA-F]+)(?:\t([0-9a-fA-F]+)?)(?:\t([0-9a-fA-F]+))?/mg) {
+ my $min = hex $1;
+ my $max = hex(defined $2 ? $2 : $1);
+ my $val = hex(defined $3 ? $3 : "");
+ $val += $max - $min if defined $3;
+ $top = $val if $val > $top;
+ }
+ $bits =
+ $top > 0xffff ? 32 :
+ $top > 0xff ? 16 :
+ $top > 1 ? 8 : 1
+ }
+ $bits = $minbits if $bits < $minbits;
+
+ my @extras;
+ for my $x ($extras) {
+ pos $x = 0;
+ while ($x =~ /^([^0-9a-fA-F])(.*)/mg) {
+ my $char = $1;
+ my $name = $2;
+ # print STDERR "$1 => $2\n" if $DEBUG;
+ if ($char =~ /[-+!]/) {
+ my ($c,$t) = split(/::/, $name, 2); # bogus use of ::, really
+ my $subobj = $c->SWASHNEW($t, "", 0, 0, 0);
+ push @extras, $name => $subobj;
+ $bits = $subobj->{BITS} if $bits < $subobj->{BITS};
+ }
+ }
+ }
+
+ print STDERR "CLASS = $class, TYPE => $type, BITS => $bits, NONE => $none\nEXTRAS =>\n$extras\nLIST =>\n$list\n" if $DEBUG;
+
+ ${"${class}::{$type}"} = bless {
+ TYPE => $type,
+ BITS => $bits,
+ EXTRAS => $extras,
+ LIST => $list,
+ NONE => $none,
+ @extras,
+ } => $class;
+}
+
+# NOTE: utf8.c:swash_init() assumes entries are never modified once generated.
+
+sub SWASHGET {
+ my ($self, $start, $len) = @_;
+ local $^D = 0 if $^D;
+ print STDERR "SWASHGET @_\n" if $DEBUG;
+ my $type = $self->{TYPE};
+ my $bits = $self->{BITS};
+ my $none = $self->{NONE};
+ my $end = $start + $len;
+ my $swatch = "";
+ my $key;
+ vec($swatch, $len - 1, $bits) = 0; # Extend to correct length.
+ if ($none) {
+ for $key (0 .. $len - 1) { vec($swatch, $key, $bits) = $none }
+ }
+
+ for ($self->{LIST}) {
+ pos $_ = 0;
+ if ($bits > 1) {
+ LINE:
+ while (/^([0-9a-fA-F]+)(?:\t([0-9a-fA-F]+)?)(?:\t([0-9a-fA-F]+))?/mg) {
+ my $min = hex $1;
+ my $max = (defined $2 ? hex $2 : $min);
+ my $val = hex $3;
+ next if $max < $start;
+# print "$min $max $val\n";
+ if ($none) {
+ if ($min < $start) {
+ $val += $start - $min;
+ $val = $none if $val > $none;
+ $min = $start;
+ }
+ for ($key = $min; $key <= $max; $key++) {
+ last LINE if $key >= $end;
+# print STDERR "$key => $val\n" if $DEBUG;
+ vec($swatch, $key - $start, $bits) = $val;
+ ++$val if $val < $none;
+ }
+ }
+ else {
+ if ($min < $start) {
+ $val += $start - $min;
+ $min = $start;
+ }
+ for ($key = $min; $key <= $max; $key++, $val++) {
+ last LINE if $key >= $end;
+# print STDERR "$key => $val\n" if $DEBUG;
+ vec($swatch, $key - $start, $bits) = $val;
+ }
+ }
+ }
+ }
+ else {
+ LINE:
+ while (/^([0-9a-fA-F]+)(?:\t([0-9a-fA-F]+))?/mg) {
+ my $min = hex $1;
+ my $max = (defined $2 ? hex $2 : $min);
+ next if $max < $start;
+ if ($min < $start) {
+ $min = $start;
+ }
+ for ($key = $min; $key <= $max; $key++) {
+ last LINE if $key >= $end;
+# print STDERR "$key => 1\n" if $DEBUG;
+ vec($swatch, $key - $start, 1) = 1;
+ }
+ }
+ }
+ }
+ for my $x ($self->{EXTRAS}) {
+ pos $x = 0;
+ while ($x =~ /^([^0-9a-fA-F])(.*)/mg) {
+ my $char = $1;
+ my $name = $2;
+ print STDERR "INDIRECT $1 $2\n" if $DEBUG;
+ if ($char =~ /^[-+!]$/) {
+ my $otherbits = $self->{$name}->{BITS};
+ croak("SWASHGET size mismatch") if $bits < $otherbits;
+ my $other = $self->{$name}->SWASHGET($start, $len);
+ if ($char eq '+') {
+ if ($bits == 1 and $otherbits == 1) {
+ $swatch |= $other;
+ }
+ else {
+ for ($key = 0; $key < $len; $key++) {
+ vec($swatch, $key, $bits) = vec($other, $key, $otherbits);
+ }
+ }
+ }
+ elsif ($char eq '!') {
+ if ($bits == 1 and $otherbits == 1) {
+ $swatch |= ~$other;
+ }
+ else {
+ for ($key = 0; $key < $len; $key++) {
+ if (!vec($other, $key, $otherbits)) {
+ vec($swatch, $key, $bits) = 1;
+ }
+ }
+ }
+ }
+ elsif ($char eq '-') {
+ if ($bits == 1 and $otherbits == 1) {
+ $swatch &= ~$other;
+ }
+ else {
+ for ($key = 0; $key < $len; $key++) {
+ if (vec($other, $key, $otherbits)) {
+ vec($swatch, $key, $bits) = 0;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ if ($DEBUG) {
+ print STDERR "CELLS ";
+ for ($key = 0; $key < $len; $key++) {
+ print STDERR vec($swatch, $key, $bits), " ";
+ }
+ print STDERR "\n";
+ }
+ $swatch;
+}
+
+1;
diff --git a/mg.c b/mg.c
index 6068d9bdec..3efa41764b 100644
--- a/mg.c
+++ b/mg.c
@@ -1131,7 +1131,10 @@ magic_getpos(SV *sv, MAGIC *mg)
mg = mg_find(lsv, 'g');
if (mg && mg->mg_len >= 0) {
dTHR;
- sv_setiv(sv, mg->mg_len + PL_curcop->cop_arybase);
+ I32 i = mg->mg_len;
+ if (IN_UTF8)
+ sv_pos_b2u(lsv, &i);
+ sv_setiv(sv, i + PL_curcop->cop_arybase);
return 0;
}
}
@@ -1145,6 +1148,7 @@ magic_setpos(SV *sv, MAGIC *mg)
SV* lsv = LvTARG(sv);
SSize_t pos;
STRLEN len;
+ STRLEN ulen;
mg = 0;
@@ -1163,6 +1167,15 @@ magic_setpos(SV *sv, MAGIC *mg)
len = SvPOK(lsv) ? SvCUR(lsv) : sv_len(lsv);
WITH_THR(pos = SvIV(sv) - PL_curcop->cop_arybase);
+
+ if (IN_UTF8) {
+ ulen = sv_len_utf8(lsv);
+ if (ulen)
+ len = ulen;
+ else
+ ulen = 0;
+ }
+
if (pos < 0) {
pos += len;
if (pos < 0)
@@ -1170,6 +1183,13 @@ magic_setpos(SV *sv, MAGIC *mg)
}
else if (pos > len)
pos = len;
+
+ if (ulen) {
+ I32 p = pos;
+ sv_pos_u2b(lsv, &p, 0);
+ pos = p;
+ }
+
mg->mg_len = pos;
mg->mg_flags &= ~MGf_MINMATCH;
diff --git a/op.c b/op.c
index 16f528df84..d6836d9a1f 100644
--- a/op.c
+++ b/op.c
@@ -612,7 +612,10 @@ op_free(OP *o)
break;
/* FALL THROUGH */
case OP_TRANS:
- Safefree(cPVOPo->op_pv);
+ if (o->op_private & (OPpTRANS_FROM_UTF|OPpTRANS_TO_UTF))
+ SvREFCNT_dec(cSVOPo->op_sv);
+ else
+ Safefree(cPVOPo->op_pv);
break;
case OP_SUBST:
op_free(cPMOPo->op_pmreplroot);
@@ -1566,6 +1569,7 @@ block_end(I32 floor, OP *seq)
OP* retval = scalarseq(seq);
LEAVE_SCOPE(floor);
PL_pad_reset_pending = FALSE;
+ compiling.op_private = PL_hints;
if (needblockscope)
PL_hints |= HINT_BLOCK_SCOPE; /* propagate out */
pad_leavemy(PL_comppad_name_fill);
@@ -2021,6 +2025,19 @@ newBINOP(I32 type, I32 flags, OP *first, OP *last)
return fold_constants((OP *)binop);
}
+static int
+utf8compare(const void *a, const void *b)
+{
+ int i;
+ for (i = 0; i < 10; i++) {
+ if ((*(U8**)a)[i] < (*(U8**)b)[i])
+ return -1;
+ if ((*(U8**)a)[i] > (*(U8**)b)[i])
+ return 1;
+ }
+ return 0;
+}
+
OP *
pmtrans(OP *o, OP *expr, OP *repl)
{
@@ -2032,16 +2049,191 @@ pmtrans(OP *o, OP *expr, OP *repl)
register U8 *r = (U8*)SvPV(rstr, rlen);
register I32 i;
register I32 j;
- I32 Delete;
+ I32 del;
I32 complement;
I32 squash;
register short *tbl;
- tbl = (short*)cPVOPo->op_pv;
complement = o->op_private & OPpTRANS_COMPLEMENT;
- Delete = o->op_private & OPpTRANS_DELETE;
+ del = o->op_private & OPpTRANS_DELETE;
squash = o->op_private & OPpTRANS_SQUASH;
+ if (o->op_private & (OPpTRANS_FROM_UTF|OPpTRANS_TO_UTF)) {
+ SV* listsv = newSVpv("# comment\n",0);
+ SV* transv = 0;
+ U8* tend = t + tlen;
+ U8* rend = r + rlen;
+ I32 ulen;
+ U32 tfirst = 1;
+ U32 tlast = 0;
+ I32 tdiff;
+ U32 rfirst = 1;
+ U32 rlast = 0;
+ I32 rdiff;
+ I32 diff;
+ I32 none = 0;
+ U32 max = 0;
+ I32 bits;
+ I32 grows = 0;
+ I32 havefinal = 0;
+ U32 final;
+ HV *hv;
+ I32 from_utf = o->op_private & OPpTRANS_FROM_UTF;
+ I32 to_utf = o->op_private & OPpTRANS_TO_UTF;
+
+ if (complement) {
+ U8 tmpbuf[10];
+ U8** cp;
+ UV nextmin = 0;
+ New(1109, cp, tlen, U8*);
+ i = 0;
+ transv = newSVpv("",0);
+ while (t < tend) {
+ cp[i++] = t;
+ t += UTF8SKIP(t);
+ if (*t == 0xff) {
+ t++;
+ t += UTF8SKIP(t);
+ }
+ }
+ qsort(cp, i, sizeof(U8*), utf8compare);
+ for (j = 0; j < i; j++) {
+ U8 *s = cp[j];
+ UV val = utf8_to_uv(s, &ulen);
+ s += ulen;
+ diff = val - nextmin;
+ if (diff > 0) {
+ t = uv_to_utf8(tmpbuf,nextmin);
+ sv_catpvn(transv, tmpbuf, t - tmpbuf);
+ if (diff > 1) {
+ t = uv_to_utf8(tmpbuf, val - 1);
+ sv_catpvn(transv, "\377", 1);
+ sv_catpvn(transv, tmpbuf, t - tmpbuf);
+ }
+ }
+ if (*s == 0xff)
+ val = utf8_to_uv(s+1, &ulen);
+ if (val >= nextmin)
+ nextmin = val + 1;
+ }
+ t = uv_to_utf8(tmpbuf,nextmin);
+ sv_catpvn(transv, tmpbuf, t - tmpbuf);
+ t = uv_to_utf8(tmpbuf, 0x7fffffff);
+ sv_catpvn(transv, "\377", 1);
+ sv_catpvn(transv, tmpbuf, t - tmpbuf);
+ t = SvPVX(transv);
+ tlen = SvCUR(transv);
+ tend = t + tlen;
+ }
+ else if (!rlen && !del) {
+ r = t; rlen = tlen; rend = tend;
+ if (!squash && to_utf && from_utf)
+ o->op_private |= OPpTRANS_COUNTONLY;
+ }
+
+ while (t < tend || tfirst <= tlast) {
+ /* see if we need more "t" chars */
+ if (tfirst > tlast) {
+ tfirst = (I32)utf8_to_uv(t, &ulen);
+ t += ulen;
+ if (t < tend && *t == 0xff) { /* illegal utf8 val indicates range */
+ tlast = (I32)utf8_to_uv(++t, &ulen);
+ t += ulen;
+ }
+ else
+ tlast = tfirst;
+ }
+
+ /* now see if we need more "r" chars */
+ if (rfirst > rlast) {
+ if (r < rend) {
+ rfirst = (I32)utf8_to_uv(r, &ulen);
+ r += ulen;
+ if (r < rend && *r == 0xff) { /* illegal utf8 val indicates range */
+ rlast = (I32)utf8_to_uv(++r, &ulen);
+ r += ulen;
+ }
+ else
+ rlast = rfirst;
+ }
+ else {
+ if (!havefinal++)
+ final = rlast;
+ rfirst = rlast = 0xffffffff;
+ }
+ }
+
+ /* now see which range will peter our first, if either. */
+ tdiff = tlast - tfirst;
+ rdiff = rlast - rfirst;
+
+ if (tdiff <= rdiff)
+ diff = tdiff;
+ else
+ diff = rdiff;
+
+ if (rfirst == 0xffffffff) {
+ diff = tdiff; /* oops, pretend rdiff is infinite */
+ if (diff > 0)
+ sv_catpvf(listsv, "%04x\t%04x\tXXXX\n", tfirst, tlast);
+ else
+ sv_catpvf(listsv, "%04x\t\tXXXX\n", tfirst);
+ }
+ else {
+ if (diff > 0)
+ sv_catpvf(listsv, "%04x\t%04x\t%04x\n", tfirst, tfirst + diff, rfirst);
+ else
+ sv_catpvf(listsv, "%04x\t\t%04x\n", tfirst, rfirst);
+
+ if (rfirst + diff > max)
+ max = rfirst + diff;
+ rfirst += diff + 1;
+ if (!grows) {
+ if (rfirst <= 0x80)
+ ;
+ else if (rfirst <= 0x800)
+ grows |= (tfirst < 0x80);
+ else if (rfirst <= 0x10000)
+ grows |= (tfirst < 0x800);
+ else if (rfirst <= 0x200000)
+ grows |= (tfirst < 0x10000);
+ else if (rfirst <= 0x4000000)
+ grows |= (tfirst < 0x200000);
+ else if (rfirst <= 0x80000000)
+ grows |= (tfirst < 0x4000000);
+ }
+ }
+ tfirst += diff + 1;
+ }
+
+ none = ++max;
+ if (del)
+ del = ++max;
+
+ if (max > 0xffff)
+ bits = 32;
+ else if (max > 0xff)
+ bits = 16;
+ else
+ bits = 8;
+
+ cSVOPo->op_sv = (SV*)swash_init("utf8", "", listsv, bits, none);
+ SvREFCNT_dec(listsv);
+ if (transv)
+ SvREFCNT_dec(transv);
+
+ if (!del && havefinal)
+ (void)hv_store((HV*)SvRV((cSVOPo->op_sv)), "FINAL", 5, newSViv((IV)final), 0);
+
+ if (grows && to_utf)
+ o->op_private |= OPpTRANS_GROWS;
+
+ op_free(expr);
+ op_free(repl);
+ return o;
+ }
+
+ tbl = (short*)cPVOPo->op_pv;
if (complement) {
Zero(tbl, 256, short);
for (i = 0; i < tlen; i++)
@@ -2049,7 +2241,7 @@ pmtrans(OP *o, OP *expr, OP *repl)
for (i = 0, j = 0; i < 256; i++) {
if (!tbl[i]) {
if (j >= rlen) {
- if (Delete)
+ if (del)
tbl[i] = -2;
else if (rlen)
tbl[i] = r[j-1];
@@ -2062,7 +2254,7 @@ pmtrans(OP *o, OP *expr, OP *repl)
}
}
else {
- if (!rlen && !Delete) {
+ if (!rlen && !del) {
r = t; rlen = tlen;
if (!squash)
o->op_private |= OPpTRANS_COUNTONLY;
@@ -2071,7 +2263,7 @@ pmtrans(OP *o, OP *expr, OP *repl)
tbl[i] = -1;
for (i = 0, j = 0; i < tlen; i++,j++) {
if (j >= rlen) {
- if (Delete) {
+ if (del) {
if (tbl[t[i]] == -1)
tbl[t[i]] = -2;
continue;
@@ -2611,10 +2803,11 @@ newSTATEOP(I32 flags, char *label, OP *o)
cop->op_ppaddr = ppaddr[ OP_NEXTSTATE ];
}
cop->op_flags = flags;
- cop->op_private = 0 | (flags >> 8);
+ cop->op_private = (PL_hints & HINT_UTF8);
#ifdef NATIVE_HINTS
cop->op_private |= NATIVE_HINTS;
#endif
+ compiling.op_private = cop->op_private;
cop->op_next = (OP*)cop;
if (label) {
@@ -3656,6 +3849,7 @@ newSUB(I32 floor, OP *o, OP *proto, OP *block)
call_list(oldscope, PL_beginav);
PL_curcop = &PL_compiling;
+ PL_compiling.op_private = PL_hints;
LEAVE;
}
else if (strEQ(s, "END") && !PL_error_count) {
diff --git a/op.h b/op.h
index 75e674e143..9ec72e9b25 100644
--- a/op.h
+++ b/op.h
@@ -103,6 +103,9 @@ typedef U32 PADOFFSET;
#define OPpRUNTIME 64 /* Pattern coming in on the stack */
/* Private for OP_TRANS */
+#define OPpTRANS_GROWS 1
+#define OPpTRANS_FROM_UTF 2
+#define OPpTRANS_TO_UTF 4
#define OPpTRANS_COUNTONLY 8
#define OPpTRANS_SQUASH 16
#define OPpTRANS_DELETE 32
diff --git a/perl.h b/perl.h
index e2b34bc2b7..9061a96eee 100644
--- a/perl.h
+++ b/perl.h
@@ -1259,6 +1259,7 @@ union any {
#include "scope.h"
#include "bytecode.h"
#include "byterun.h"
+#include "utf8.h"
/* Current curly descriptor */
typedef struct curcur CURCUR;
@@ -1822,6 +1823,10 @@ typedef enum {
stuffing into op->op_private */
#define HINT_INTEGER 0x00000001
#define HINT_STRICT_REFS 0x00000002
+/* #define HINT_notused4 0x00000004 */
+#define HINT_UTF8 0x00000008
+/* #define HINT_notused10 0x00000010 */
+ /* Note: 20,40,80 used for NATIVE_HINTS */
#define HINT_BLOCK_SCOPE 0x00000100
#define HINT_STRICT_SUBS 0x00000200
diff --git a/perlvars.h b/perlvars.h
index 4e9d3b8689..4ccfc58f86 100644
--- a/perlvars.h
+++ b/perlvars.h
@@ -170,6 +170,24 @@ PERLVARI(Gnumeric_local, bool, TRUE)
#endif /* !USE_LOCALE_NUMERIC */
+/* utf8 character classes */
+PERLVAR(Gutf8_alnum, SV *)
+PERLVAR(Gutf8_alpha, SV *)
+PERLVAR(Gutf8_space, SV *)
+PERLVAR(Gutf8_digit, SV *)
+PERLVAR(Gutf8_upper, SV *)
+PERLVAR(Gutf8_lower, SV *)
+PERLVAR(Gutf8_print, SV *)
+PERLVAR(Gutf8_mark, SV *)
+PERLVAR(Gutf8_toupper, SV *)
+PERLVAR(Gutf8_totitle, SV *)
+PERLVAR(Gutf8_tolower, SV *)
+PERLVAR(Glast_swash_hv, HV *)
+PERLVAR(Glast_swash_klen, U32)
+PERLVAR(Glast_swash_key[10], U8)
+PERLVAR(Glast_swash_tmps, U8 *)
+PERLVAR(Glast_swash_slen, STRLEN)
+
/* constants (these are not literals to facilitate pointer comparisons) */
PERLVARIC(GYes, char *, "1")
PERLVARIC(GNo, char *, "")
diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod
index 35cab3adb3..ec76881f63 100644
--- a/pod/perlfunc.pod
+++ b/pod/perlfunc.pod
@@ -553,7 +553,9 @@ restrictions may be relaxed, but this is not a portable assumption.
=item chr
Returns the character represented by that NUMBER in the character set.
-For example, C<chr(65)> is C<"A"> in ASCII. For the reverse, use L</ord>.
+For example, C<chr(65)> is C<"A"> in either ASCII or Unicode, and
+chr(0x263a) is a Unicode smiley face (but only within the scope of a
+C<use utf8>). For the reverse, use L</ord>.
If NUMBER is omitted, uses C<$_>.
@@ -1937,7 +1939,7 @@ C<redo> work.
Returns an lowercased version of EXPR. This is the internal function
implementing the C<\L> escape in double-quoted strings.
-Respects current C<LC_CTYPE> locale if C<use locale> in force. See L<perllocale>.
+Respects current LC_CTYPE locale if C<use locale> in force. See L<perllocale>.
If EXPR is omitted, uses C<$_>.
@@ -1947,7 +1949,7 @@ If EXPR is omitted, uses C<$_>.
Returns the value of EXPR with the first character lowercased. This is
the internal function implementing the C<\l> escape in double-quoted strings.
-Respects current C<LC_CTYPE> locale if C<use locale> in force. See L<perllocale>.
+Respects current LC_CTYPE locale if C<use locale> in force. See L<perllocale>.
If EXPR is omitted, uses C<$_>.
@@ -1955,7 +1957,7 @@ If EXPR is omitted, uses C<$_>.
=item length
-Returns the length in bytes of the value of EXPR. If EXPR is
+Returns the length in characters of the value of EXPR. If EXPR is
omitted, returns length of C<$_>.
=item link OLDFILE,NEWFILE
@@ -2374,7 +2376,7 @@ DIRHANDLEs have their own namespace separate from FILEHANDLEs.
=item ord
-Returns the numeric ascii value of the first character of EXPR. If
+Returns the numeric (ASCII or Unicode) value of the first character of EXPR. If
EXPR is omitted, uses C<$_>. For the reverse, see L</chr>.
=item pack TEMPLATE,LIST
@@ -2392,7 +2394,7 @@ follows:
H A hex string (high nybble first).
c A signed char value.
- C An unsigned char value.
+ C An unsigned char value. Only does bytes. See U for Unicode.
s A signed short value.
S An unsigned short value.
@@ -2425,6 +2427,8 @@ follows:
P A pointer to a structure (fixed-length string).
u A uuencoded string.
+ U A Unicode character number. Encodes to UTF-8 internally.
+ Works even if C<use utf8> is not in effect.
w A BER compressed integer. Its bytes represent an unsigned
integer in base 128, most significant digit first, with as
@@ -2462,10 +2466,12 @@ C<unpack("f", pack("f", $foo)>) will not in general equal C<$foo>).
Examples:
- $foo = pack("cccc",65,66,67,68);
+ $foo = pack("CCCC",65,66,67,68);
# foo eq "ABCD"
- $foo = pack("c4",65,66,67,68);
+ $foo = pack("C4",65,66,67,68);
# same thing
+ $foo = pack("U4",0x24b6,0x24b7,0x24b8,0x24b9);
+ # same thing with Unicode circled letters
$foo = pack("ccxxcc",65,66,67,68);
# foo eq "AB\0\0CD"
@@ -2897,13 +2903,13 @@ will automatically return the value of the last expression evaluated.)
In list context, returns a list value consisting of the elements
of LIST in the opposite order. In scalar context, concatenates the
-elements of LIST, and returns a string value consisting of those bytes,
-but in the opposite order.
+elements of LIST, and returns a string value with all the characters
+in the opposite order.
print reverse <>; # line tac, last line first
undef $/; # for efficiency of <>
- print scalar reverse <>; # byte tac, last line tsrif
+ print scalar reverse <>; # character tac, last line tsrif
This operator is also handy for inverting a hash, although there are some
caveats. If a value is duplicated in the original hash, only one of those
@@ -4059,6 +4065,8 @@ otherwise.
Returns an uppercased version of EXPR. This is the internal function
implementing the C<\U> escape in double-quoted strings.
Respects current LC_CTYPE locale if C<use locale> in force. See L<perllocale>.
+Under Unicode (C<use utf8>) it uses the standard Unicode uppercase mappings. (It
+does not attempt to do titlecase mapping on initial letters. See C<ucfirst()> for that.)
If EXPR is omitted, uses C<$_>.
@@ -4066,7 +4074,8 @@ If EXPR is omitted, uses C<$_>.
=item ucfirst
-Returns the value of EXPR with the first character uppercased. This is
+Returns the value of EXPR with the first character
+in uppercase (titlecase in Unicode). This is
the internal function implementing the C<\u> escape in double-quoted strings.
Respects current LC_CTYPE locale if C<use locale> in force. See L<perllocale>.
diff --git a/pod/perlop.pod b/pod/perlop.pod
index c7209fac28..35f9e5f4f8 100644
--- a/pod/perlop.pod
+++ b/pod/perlop.pod
@@ -636,7 +636,7 @@ next line. This allows you to write:
For constructs that do interpolation, variables beginning with "C<$>"
or "C<@>" are interpolated, as are the following sequences. Within
-a transliteration, the first ten of these sequences may be used.
+a transliteration, the first eleven of these sequences may be used.
\t tab (HT, TAB)
\n newline (NL)
@@ -645,8 +645,9 @@ a transliteration, the first ten of these sequences may be used.
\b backspace (BS)
\a alarm (bell) (BEL)
\e escape (ESC)
- \033 octal char
- \x1b hex char
+ \033 octal char (ESC)
+ \x1b hex char (ESC)
+ \x{263a} wide hex char (SMILEY)
\c[ control char
\l lowercase next char
@@ -1138,9 +1139,9 @@ to occur. Here are two common cases:
1 while s/\t+/' ' x (length($&)*8 - length($`)%8)/e;
-=item tr/SEARCHLIST/REPLACEMENTLIST/cds
+=item tr/SEARCHLIST/REPLACEMENTLIST/cdsUC
-=item y/SEARCHLIST/REPLACEMENTLIST/cds
+=item y/SEARCHLIST/REPLACEMENTLIST/cdsUC
Transliterates all occurrences of the characters found in the search list
with the corresponding character in the replacement list. It returns
@@ -1160,6 +1161,8 @@ Options:
c Complement the SEARCHLIST.
d Delete found but unreplaced characters.
s Squash duplicate replaced characters.
+ U Translate to/from UTF-8.
+ C Translate to/from 8-bit char (octet).
If the C</c> modifier is specified, the SEARCHLIST character set is
complemented. If the C</d> modifier is specified, any characters specified
@@ -1177,6 +1180,10 @@ enough. If the REPLACEMENTLIST is empty, the SEARCHLIST is replicated.
This latter is useful for counting characters in a class or for
squashing character sequences in a class.
+The first C</U> or C</C> modifier applies to the left side of the translation.
+The second one applies to the right side. If present, these modifiers override
+the current utf8 state.
+
Examples:
$ARGV[1] =~ tr/A-Z/a-z/; # canonicalize to lower case
@@ -1196,6 +1203,9 @@ Examples:
tr [\200-\377]
[\000-\177]; # delete 8th bit
+ tr/\0-\xFF//CU; # translate Latin-1 to Unicode
+ tr/\0-\x{FF}//UC; # translate Unicode to Latin-1
+
If multiple transliterations are given for a character, only the first one is used:
tr/AAA/XYZ/
diff --git a/pod/perlre.pod b/pod/perlre.pod
index 924a2c4115..b7fda54061 100644
--- a/pod/perlre.pod
+++ b/pod/perlre.pod
@@ -141,6 +141,7 @@ also work:
\e escape (think troff) (ESC)
\033 octal char (think of a PDP-11)
\x1B hex char
+ \x{263a} wide hex char (Unicode SMILEY)
\c[ control char
\l lowercase next char (think vi)
\u uppercase next char (think vi)
@@ -165,6 +166,10 @@ In addition, Perl defines the following:
\S Match a non-whitespace character
\d Match a digit character
\D Match a non-digit character
+ \pP Match P, named property. Use \p{Prop} for longer names.
+ \PP Match non-P
+ \X Match eXtended Unicode "combining character sequence", \pM\pm*
+ \C Match a single C char (octet) even under utf8.
A C<\w> matches a single alphanumeric character, not a whole
word. To match a word you'd need to say C<\w+>. If C<use locale> is in
diff --git a/pp.c b/pp.c
index 4eb8f2f09f..f3430a2699 100644
--- a/pp.c
+++ b/pp.c
@@ -338,7 +338,10 @@ PP(pp_pos)
if (SvTYPE(sv) >= SVt_PVMG && SvMAGIC(sv)) {
mg = mg_find(sv, 'g');
if (mg && mg->mg_len >= 0) {
- PUSHi(mg->mg_len + PL_curcop->cop_arybase);
+ I32 i = mg->mg_len;
+ if (IN_UTF8)
+ sv_pos_b2u(sv, &i);
+ PUSHi(i + PL_curcop->cop_arybase);
RETURN;
}
}
@@ -1791,6 +1794,12 @@ PP(pp_oct)
PP(pp_length)
{
djSP; dTARGET;
+
+ if (IN_UTF8) {
+ SETi( sv_len_utf8(TOPs) );
+ RETURN;
+ }
+
SETi( sv_len(TOPs) );
RETURN;
}
@@ -1801,6 +1810,7 @@ PP(pp_substr)
SV *sv;
I32 len;
STRLEN curlen;
+ STRLEN utfcurlen;
I32 pos;
I32 rem;
I32 fail;
@@ -1822,6 +1832,14 @@ PP(pp_substr)
sv = POPs;
PUTBACK;
tmps = SvPV(sv, curlen);
+ if (IN_UTF8) {
+ utfcurlen = sv_len_utf8(sv);
+ if (utfcurlen == curlen)
+ utfcurlen = 0;
+ else
+ curlen = utfcurlen;
+ }
+
if (pos >= arybase) {
pos -= arybase;
rem = curlen-pos;
@@ -1861,6 +1879,8 @@ PP(pp_substr)
RETPUSHUNDEF;
}
else {
+ if (utfcurlen)
+ sv_pos_u2b(sv, &pos, &rem);
tmps += pos;
sv_setpvn(TARG, tmps, rem);
if (lvalue) { /* it's an lvalue! */
@@ -1996,16 +2016,20 @@ PP(pp_index)
little = POPs;
big = POPs;
tmps = SvPV(big, biglen);
+ if (IN_UTF8 && offset > 0)
+ sv_pos_u2b(big, &offset, 0);
if (offset < 0)
offset = 0;
else if (offset > biglen)
offset = biglen;
if (!(tmps2 = fbm_instr((unsigned char*)tmps + offset,
(unsigned char*)tmps + biglen, little, 0)))
- retval = -1 + arybase;
+ retval = -1;
else
- retval = tmps2 - tmps + arybase;
- PUSHi(retval);
+ retval = tmps2 - tmps;
+ if (IN_UTF8 && retval > 0)
+ sv_pos_b2u(big, &retval);
+ PUSHi(retval + arybase);
RETURN;
}
@@ -2016,7 +2040,6 @@ PP(pp_rindex)
SV *little;
STRLEN blen;
STRLEN llen;
- SV *offstr;
I32 offset;
I32 retval;
char *tmps;
@@ -2024,25 +2047,30 @@ PP(pp_rindex)
I32 arybase = PL_curcop->cop_arybase;
if (MAXARG >= 3)
- offstr = POPs;
+ offset = POPi;
little = POPs;
big = POPs;
tmps2 = SvPV(little, llen);
tmps = SvPV(big, blen);
if (MAXARG < 3)
offset = blen;
- else
- offset = SvIV(offstr) - arybase + llen;
+ else {
+ if (IN_UTF8 && offset > 0)
+ sv_pos_u2b(big, &offset, 0);
+ offset = offset - arybase + llen;
+ }
if (offset < 0)
offset = 0;
else if (offset > blen)
offset = blen;
if (!(tmps2 = rninstr(tmps, tmps + offset,
tmps2, tmps2 + llen)))
- retval = -1 + arybase;
+ retval = -1;
else
- retval = tmps2 - tmps + arybase;
- PUSHi(retval);
+ retval = tmps2 - tmps;
+ if (IN_UTF8 && retval > 0)
+ sv_pos_b2u(big, &retval);
+ PUSHi(retval + arybase);
RETURN;
}
@@ -2066,17 +2094,13 @@ PP(pp_ord)
{
djSP; dTARGET;
I32 value;
- char *tmps;
+ char *tmps = POPp;
+ I32 retlen;
-#ifndef I286
- tmps = POPp;
- value = (I32) (*tmps & 255);
-#else
- I32 anum;
- tmps = POPp;
- anum = (I32) *tmps;
- value = (I32) (anum & 255);
-#endif
+ if (IN_UTF8 && (*tmps & 0x80))
+ value = (I32) utf8_to_uv(tmps, &retlen);
+ else
+ value = (I32) (*tmps & 255);
XPUSHi(value);
RETURN;
}
@@ -2085,12 +2109,25 @@ PP(pp_chr)
{
djSP; dTARGET;
char *tmps;
+ I32 value = POPi;
(void)SvUPGRADE(TARG,SVt_PV);
+
+ if (IN_UTF8 && value >= 128) {
+ SvGROW(TARG,8);
+ tmps = SvPVX(TARG);
+ tmps = uv_to_utf8(tmps, (UV)value);
+ SvCUR_set(TARG, tmps - SvPVX(TARG));
+ *tmps = '\0';
+ (void)SvPOK_only(TARG);
+ XPUSHs(TARG);
+ RETURN;
+ }
+
SvGROW(TARG,2);
SvCUR_set(TARG, 1);
tmps = SvPVX(TARG);
- *tmps++ = POPi;
+ *tmps++ = value;
*tmps = '\0';
(void)SvPOK_only(TARG);
XPUSHs(TARG);
@@ -2119,7 +2156,37 @@ PP(pp_ucfirst)
{
djSP;
SV *sv = TOPs;
- register char *s;
+ register U8 *s;
+ STRLEN slen;
+
+ if (IN_UTF8 && (s = SvPV(sv, slen)) && slen && (*s & 0xc0) == 0xc0) {
+ I32 ulen;
+ U8 tmpbuf[10];
+ U8 *tend;
+ UV uv = utf8_to_uv(s, &ulen);
+
+ if (PL_op->op_private & OPpLOCALE) {
+ TAINT;
+ SvTAINTED_on(sv);
+ uv = toTITLE_LC_uni(uv);
+ }
+ else
+ uv = toTITLE_utf8(s);
+
+ tend = uv_to_utf8(tmpbuf, uv);
+
+ if (!SvPADTMP(sv) || tend - tmpbuf != ulen) {
+ dTARGET;
+ sv_setpvn(TARG, tmpbuf, tend - tmpbuf);
+ sv_catpvn(TARG, s + ulen, slen - ulen);
+ SETs(TARG);
+ }
+ else {
+ s = SvPV_force(sv, slen);
+ Copy(tmpbuf, s, ulen, U8);
+ }
+ RETURN;
+ }
if (!SvPADTMP(sv)) {
dTARGET;
@@ -2145,7 +2212,37 @@ PP(pp_lcfirst)
{
djSP;
SV *sv = TOPs;
- register char *s;
+ register U8 *s;
+ STRLEN slen;
+
+ if (IN_UTF8 && (s = SvPV(sv, slen)) && slen && (*s & 0xc0) == 0xc0) {
+ I32 ulen;
+ U8 tmpbuf[10];
+ U8 *tend;
+ UV uv = utf8_to_uv(s, &ulen);
+
+ if (PL_op->op_private & OPpLOCALE) {
+ TAINT;
+ SvTAINTED_on(sv);
+ uv = toLOWER_LC_uni(uv);
+ }
+ else
+ uv = toLOWER_utf8(s);
+
+ tend = uv_to_utf8(tmpbuf, uv);
+
+ if (!SvPADTMP(sv) || tend - tmpbuf != ulen) {
+ dTARGET;
+ sv_setpvn(TARG, tmpbuf, tend - tmpbuf);
+ sv_catpvn(TARG, s + ulen, slen - ulen);
+ SETs(TARG);
+ }
+ else {
+ s = SvPV_force(sv, slen);
+ Copy(tmpbuf, s, ulen, U8);
+ }
+ RETURN;
+ }
if (!SvPADTMP(sv)) {
dTARGET;
@@ -2172,9 +2269,44 @@ PP(pp_uc)
{
djSP;
SV *sv = TOPs;
- register char *s;
+ register U8 *s;
STRLEN len;
+ if (IN_UTF8) {
+ dTARGET;
+ I32 ulen;
+ register U8 *d;
+ U8 *send;
+
+ s = SvPV(sv,len);
+ if (!len)
+ RETURN;
+
+ (void)SvUPGRADE(TARG, SVt_PV);
+ SvGROW(TARG, (len * 2) + 1);
+ (void)SvPOK_only(TARG);
+ d = SvPVX(TARG);
+ send = s + len;
+ if (PL_op->op_private & OPpLOCALE) {
+ TAINT;
+ SvTAINTED_on(TARG);
+ while (s < send) {
+ d = uv_to_utf8(d, toUPPER_LC_uni( utf8_to_uv(s, &ulen)));
+ s += ulen;
+ }
+ }
+ else {
+ while (s < send) {
+ d = uv_to_utf8(d, toUPPER_utf8( s ));
+ s += UTF8SKIP(s);
+ }
+ }
+ *d = '\0';
+ SvCUR_set(TARG, d - (U8*)SvPVX(TARG));
+ SETs(TARG);
+ RETURN;
+ }
+
if (!SvPADTMP(sv)) {
dTARGET;
sv_setsv(TARG, sv);
@@ -2184,7 +2316,7 @@ PP(pp_uc)
s = SvPV_force(sv, len);
if (len) {
- register char *send = s + len;
+ register U8 *send = s + len;
if (PL_op->op_private & OPpLOCALE) {
TAINT;
@@ -2204,9 +2336,44 @@ PP(pp_lc)
{
djSP;
SV *sv = TOPs;
- register char *s;
+ register U8 *s;
STRLEN len;
+ if (IN_UTF8) {
+ dTARGET;
+ I32 ulen;
+ register U8 *d;
+ U8 *send;
+
+ s = SvPV(sv,len);
+ if (!len)
+ RETURN;
+
+ (void)SvUPGRADE(TARG, SVt_PV);
+ SvGROW(TARG, (len * 2) + 1);
+ (void)SvPOK_only(TARG);
+ d = SvPVX(TARG);
+ send = s + len;
+ if (PL_op->op_private & OPpLOCALE) {
+ TAINT;
+ SvTAINTED_on(TARG);
+ while (s < send) {
+ d = uv_to_utf8(d, toLOWER_LC_uni( utf8_to_uv(s, &ulen)));
+ s += ulen;
+ }
+ }
+ else {
+ while (s < send) {
+ d = uv_to_utf8(d, toLOWER_utf8(s));
+ s += UTF8SKIP(s);
+ }
+ }
+ *d = '\0';
+ SvCUR_set(TARG, d - (U8*)SvPVX(TARG));
+ SETs(TARG);
+ RETURN;
+ }
+
if (!SvPADTMP(sv)) {
dTARGET;
sv_setsv(TARG, sv);
@@ -2216,7 +2383,7 @@ PP(pp_lc)
s = SvPV_force(sv, len);
if (len) {
- register char *send = s + len;
+ register U8 *send = s + len;
if (PL_op->op_private & OPpLOCALE) {
TAINT;
@@ -2245,7 +2412,7 @@ PP(pp_quotemeta)
SvGROW(TARG, (len * 2) + 1);
d = SvPVX(TARG);
while (len--) {
- if (!isALNUM(*s))
+ if (!(*s & 0x80) && !isALNUM(*s))
*d++ = '\\';
*d++ = *s++;
}
@@ -2865,6 +3032,31 @@ PP(pp_reverse)
sv_setsv(TARG, (SP > MARK) ? *SP : DEFSV);
up = SvPV_force(TARG, len);
if (len > 1) {
+ if (IN_UTF8) { /* first reverse each character */
+ unsigned char* s = SvPVX(TARG);
+ unsigned char* send = s + len;
+ while (s < send) {
+ if (*s < 0x80) {
+ s++;
+ continue;
+ }
+ else {
+ up = s;
+ s += UTF8SKIP(s);
+ down = s - 1;
+ if (s > send || !((*down & 0xc0) == 0x80)) {
+ warn("Malformed UTF-8 character");
+ break;
+ }
+ while (down > up) {
+ tmp = *up;
+ *up++ = *down;
+ *down-- = tmp;
+ }
+ }
+ }
+ up = SvPVX(TARG);
+ }
down = SvPVX(TARG) + len - 1;
while (down > up) {
tmp = *up;
@@ -3174,6 +3366,28 @@ PP(pp_unpack)
}
}
break;
+ case 'U':
+ if (len > strend - s)
+ len = strend - s;
+ if (checksum) {
+ while (len-- > 0 && s < strend) {
+ auint = utf8_to_uv(s, &along);
+ s += along;
+ culong += auint;
+ }
+ }
+ else {
+ EXTEND(SP, len);
+ EXTEND_MORTAL(len);
+ while (len-- > 0 && s < strend) {
+ auint = utf8_to_uv(s, &along);
+ s += along;
+ sv = NEWSV(37, 0);
+ sv_setiv(sv, (IV)auint);
+ PUSHs(sv_2mortal(sv));
+ }
+ }
+ break;
case 's':
along = (strend - s) / SIZE16;
if (len > along)
@@ -3949,6 +4163,15 @@ PP(pp_pack)
sv_catpvn(cat, &achar, sizeof(char));
}
break;
+ case 'U':
+ while (len-- > 0) {
+ fromstr = NEXTFROM;
+ auint = SvUV(fromstr);
+ SvGROW(cat, SvCUR(cat) + 10);
+ SvCUR_set(cat, uv_to_utf8(SvEND(cat), auint) - SvPVX(cat));
+ }
+ *SvEND(cat) = '\0';
+ break;
/* Float and double added by gnb@melba.bby.oz.au 22/11/89 */
case 'f':
case 'F':
diff --git a/pp_ctl.c b/pp_ctl.c
index 8d4b7f71ab..26ec0f1f8f 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -287,6 +287,7 @@ PP(pp_formline)
double value;
bool gotsome;
STRLEN len;
+ STRLEN fudge = SvCUR(tmpForm) * (IN_UTF8 ? 3 : 1) + 1;
if (!SvMAGICAL(tmpForm) || !SvCOMPILED(tmpForm)) {
SvREADONLY_off(tmpForm);
@@ -294,7 +295,7 @@ PP(pp_formline)
}
SvPV_force(PL_formtarget, len);
- t = SvGROW(PL_formtarget, len + SvCUR(tmpForm) + 1); /* XXX SvCUR bad */
+ t = SvGROW(PL_formtarget, len + fudge + 1); /* XXX SvCUR bad */
t += len;
f = SvPV(tmpForm, len);
/* need to jump to the next word */
@@ -364,6 +365,30 @@ PP(pp_formline)
case FF_CHECKNL:
item = s = SvPV(sv, len);
itemsize = len;
+ if (IN_UTF8) {
+ itemsize = sv_len_utf8(sv);
+ if (itemsize != len) {
+ I32 itembytes;
+ if (itemsize > fieldsize) {
+ itemsize = fieldsize;
+ itembytes = itemsize;
+ sv_pos_u2b(sv, &itembytes, 0);
+ }
+ else
+ itembytes = len;
+ send = chophere = s + itembytes;
+ while (s < send) {
+ if (*s & ~31)
+ gotsome = TRUE;
+ else if (*s == '\n')
+ break;
+ s++;
+ }
+ itemsize = s - item;
+ sv_pos_b2u(sv, &itemsize);
+ break;
+ }
+ }
if (itemsize > fieldsize)
itemsize = fieldsize;
send = chophere = s + itemsize;
@@ -380,6 +405,47 @@ PP(pp_formline)
case FF_CHECKCHOP:
item = s = SvPV(sv, len);
itemsize = len;
+ if (IN_UTF8) {
+ itemsize = sv_len_utf8(sv);
+ if (itemsize != len) {
+ I32 itembytes;
+ if (itemsize <= fieldsize) {
+ send = chophere = s + itemsize;
+ while (s < send) {
+ if (*s == '\r') {
+ itemsize = s - item;
+ break;
+ }
+ if (*s++ & ~31)
+ gotsome = TRUE;
+ }
+ }
+ else {
+ itemsize = fieldsize;
+ itembytes = itemsize;
+ sv_pos_u2b(sv, &itembytes, 0);
+ send = chophere = s + itembytes;
+ while (s < send || (s == send && isSPACE(*s))) {
+ if (isSPACE(*s)) {
+ if (chopspace)
+ chophere = s;
+ if (*s == '\r')
+ break;
+ }
+ else {
+ if (*s & ~31)
+ gotsome = TRUE;
+ if (strchr(PL_chopset, *s))
+ chophere = s + 1;
+ }
+ s++;
+ }
+ itemsize = chophere - item;
+ sv_pos_b2u(sv, &itemsize);
+ }
+ break;
+ }
+ }
if (itemsize <= fieldsize) {
send = chophere = s + itemsize;
while (s < send) {
@@ -435,6 +501,26 @@ PP(pp_formline)
case FF_ITEM:
arg = itemsize;
s = item;
+ if (IN_UTF8) {
+ while (arg--) {
+ if (*s & 0x80) {
+ switch (UTF8SKIP(s)) {
+ case 7: *t++ = *s++;
+ case 6: *t++ = *s++;
+ case 5: *t++ = *s++;
+ case 4: *t++ = *s++;
+ case 3: *t++ = *s++;
+ case 2: *t++ = *s++;
+ case 1: *t++ = *s++;
+ }
+ }
+ else {
+ if ( !((*t++ = *s++) & ~31) )
+ t[-1] = ' ';
+ }
+ }
+ break;
+ }
while (arg--) {
#if 'z' - 'a' != 25
int ch = *t++ = *s++;
@@ -473,7 +559,7 @@ PP(pp_formline)
}
SvCUR_set(PL_formtarget, t - SvPVX(PL_formtarget));
sv_catpvn(PL_formtarget, item, itemsize);
- SvGROW(PL_formtarget, SvCUR(PL_formtarget) + SvCUR(tmpForm) + 1);
+ SvGROW(PL_formtarget, SvCUR(PL_formtarget) + fudge + 1);
t = SvPVX(PL_formtarget) + SvCUR(PL_formtarget);
}
break;
@@ -2290,6 +2376,8 @@ sv_compile_2op(SV *sv, OP** startop, char *code, AV** avp)
lex_end();
*avp = (AV*)SvREFCNT_inc(PL_comppad);
LEAVE;
+ if (curcop = &PL_compiling)
+ PL_compiling.op_private = PL_hints;
#ifdef OP_IN_REGISTER
op = PL_opsave;
#endif
diff --git a/pp_hot.c b/pp_hot.c
index dd4f82b6bb..9d2a55f8d1 100644
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -22,6 +22,8 @@
#include <unistd.h>
#endif
+#define HOP(pos,off) (IN_UTF8 ? utf8_hop(pos, off) : (pos + off))
+
/* Hot code. */
#ifdef USE_THREADS
@@ -873,17 +875,20 @@ play_it_again:
if (!(rx->reganch & ROPT_NOSCAN)) { /* Floating checkstring. */
if ( screamer ) {
I32 p = -1;
+ char *b;
if (PL_screamfirst[BmRARE(rx->check_substr)] < 0)
goto nope;
- else if (!(s = screaminstr(TARG, rx->check_substr,
- rx->check_offset_min, 0, &p, 0)))
+
+ b = HOP((U8*)s, rx->check_offset_min);
+ if (!(s = screaminstr(TARG, rx->check_substr, b - s, 0, &p, 0)))
goto nope;
- else if ((rx->reganch & ROPT_CHECK_ALL)
+
+ if ((rx->reganch & ROPT_CHECK_ALL)
&& !PL_sawampersand && !SvTAIL(rx->check_substr))
goto yup;
}
- else if (!(s = fbm_instr((unsigned char*)s + rx->check_offset_min,
+ else if (!(s = fbm_instr((unsigned char*)HOP((U8*)s, rx->check_offset_min),
(unsigned char*)strend,
rx->check_substr, 0)))
goto nope;
@@ -891,7 +896,7 @@ play_it_again:
goto yup;
if (s && rx->check_offset_max < s - t) {
++BmUSEFUL(rx->check_substr);
- s -= rx->check_offset_max;
+ s = HOP((U8*)s, -rx->check_offset_max);
}
else
s = t;
@@ -900,13 +905,13 @@ play_it_again:
beginning of match, and the match is anchored at s. */
else if (!PL_multiline) { /* Anchored near beginning of string. */
I32 slen;
- if (*SvPVX(rx->check_substr) != s[rx->check_offset_min]
+ char *b = HOP((U8*)s, rx->check_offset_min);
+ if (*SvPVX(rx->check_substr) != *b
|| ((slen = SvCUR(rx->check_substr)) > 1
- && memNE(SvPVX(rx->check_substr),
- s + rx->check_offset_min, slen)))
+ && memNE(SvPVX(rx->check_substr), b, slen)))
goto nope;
}
- if (!rx->naughty && --BmUSEFUL(rx->check_substr) < 0
+ if (!(rx->reganch & ROPT_NAUGHTY) && --BmUSEFUL(rx->check_substr) < 0
&& rx->check_substr == rx->float_substr) {
SvREFCNT_dec(rx->check_substr);
rx->check_substr = Nullsv; /* opt is being useless */
@@ -1614,19 +1619,22 @@ PP(pp_subst)
if (!(rx->reganch & ROPT_NOSCAN)) { /* It floats. */
if (screamer) {
I32 p = -1;
+ char *b;
if (PL_screamfirst[BmRARE(rx->check_substr)] < 0)
goto nope;
- else if (!(s = screaminstr(TARG, rx->check_substr, rx->check_offset_min, 0, &p, 0)))
+
+ b = HOP((U8*)s, rx->check_offset_min);
+ if (!(s = screaminstr(TARG, rx->check_substr, b - s, 0, &p, 0)))
goto nope;
}
- else if (!(s = fbm_instr((unsigned char*)s + rx->check_offset_min,
+ else if (!(s = fbm_instr((unsigned char*)HOP((U8*)s, rx->check_offset_min),
(unsigned char*)strend,
rx->check_substr, 0)))
goto nope;
if (s && rx->check_offset_max < s - m) {
++BmUSEFUL(rx->check_substr);
- s -= rx->check_offset_max;
+ s = HOP((U8*)s, -rx->check_offset_max);
}
else
s = m;
@@ -1635,13 +1643,13 @@ PP(pp_subst)
beginning of match, and the match is anchored at s. */
else if (!PL_multiline) { /* Anchored at beginning of string. */
I32 slen;
- if (*SvPVX(rx->check_substr) != s[rx->check_offset_min]
+ char *b = HOP((U8*)s, rx->check_offset_min);
+ if (*SvPVX(rx->check_substr) != *b
|| ((slen = SvCUR(rx->check_substr)) > 1
- && memNE(SvPVX(rx->check_substr),
- s + rx->check_offset_min, slen)))
+ && memNE(SvPVX(rx->check_substr), b, slen)))
goto nope;
}
- if (!rx->naughty && --BmUSEFUL(rx->check_substr) < 0
+ if (!(rx->reganch & ROPT_NAUGHTY) && --BmUSEFUL(rx->check_substr) < 0
&& rx->check_substr == rx->float_substr) {
SvREFCNT_dec(rx->check_substr);
rx->check_substr = Nullsv; /* opt is being useless */
diff --git a/proto.h b/proto.h
index 8b42914f0a..acd88d0d37 100644
--- a/proto.h
+++ b/proto.h
@@ -194,6 +194,15 @@ VIRTUAL U32 intro_my _((void));
VIRTUAL char* instr _((char* big, char* little));
VIRTUAL bool io_close _((IO* io));
VIRTUAL OP* invert _((OP* cmd));
+VIRTUAL bool is_utf8_alnum _((unsigned char *p));
+VIRTUAL bool is_utf8_idfirst _((unsigned char *p));
+VIRTUAL bool is_utf8_alpha _((unsigned char *p));
+VIRTUAL bool is_utf8_space _((unsigned char *p));
+VIRTUAL bool is_utf8_digit _((unsigned char *p));
+VIRTUAL bool is_utf8_upper _((unsigned char *p));
+VIRTUAL bool is_utf8_lower _((unsigned char *p));
+VIRTUAL bool is_utf8_print _((unsigned char *p));
+VIRTUAL bool is_utf8_mark _((unsigned char *p));
VIRTUAL OP* jmaybe _((OP* arg));
VIRTUAL I32 keyword _((char* d, I32 len));
VIRTUAL void leave_scope _((I32 base));
@@ -487,6 +496,7 @@ VIRTUAL void save_nogv _((GV* gv));
VIRTUAL void save_op _((void));
VIRTUAL SV* save_scalar _((GV* gv));
VIRTUAL void save_pptr _((char** pptr));
+VIRTUAL void save_re_context _((void));
VIRTUAL void save_sptr _((SV** sptr));
VIRTUAL SV* save_svref _((SV** sptr));
VIRTUAL SV** save_threadsv _((PADOFFSET i));
@@ -557,11 +567,14 @@ VIRTUAL void sv_insert _((SV* bigsv, STRLEN offset, STRLEN len, char* little, ST
VIRTUAL int sv_isa _((SV* sv, char* name));
VIRTUAL int sv_isobject _((SV* sv));
VIRTUAL STRLEN sv_len _((SV* sv));
+VIRTUAL STRLEN sv_len_utf8 _((SV* sv));
VIRTUAL void sv_magic _((SV* sv, SV* obj, int how, char* name, I32 namlen));
VIRTUAL SV* sv_mortalcopy _((SV* oldsv));
VIRTUAL SV* sv_newmortal _((void));
VIRTUAL SV* sv_newref _((SV* sv));
VIRTUAL char* sv_peek _((SV* sv));
+VIRTUAL void sv_pos_u2b _((SV* sv, I32* offsetp, I32* lenp));
+VIRTUAL void sv_pos_b2u _((SV* sv, I32* offsetp));
VIRTUAL char* sv_pvn_force _((SV* sv, STRLEN* lp));
VIRTUAL char* sv_reftype _((SV* sv, int ob));
VIRTUAL void sv_replace _((SV* sv, SV* nsv));
@@ -592,8 +605,13 @@ VIRTUAL void sv_vcatpvfn _((SV* sv, const char* pat, STRLEN patlen,
VIRTUAL void sv_vsetpvfn _((SV* sv, const char* pat, STRLEN patlen,
va_list* args, SV** svargs, I32 svmax,
bool *used_locale));
+VIRTUAL SV* swash_init _((char* pkg, char* name, SV* listsv, I32 minbits, I32 none));
+VIRTUAL UV swash_fetch _((SV *sv, unsigned char *ptr));
VIRTUAL void taint_env _((void));
VIRTUAL void taint_proper _((const char* f, char* s));
+VIRTUAL UV to_utf8_lower _((unsigned char *p));
+VIRTUAL UV to_utf8_upper _((unsigned char *p));
+VIRTUAL UV to_utf8_title _((unsigned char *p));
#ifdef UNLINK_ALL_VERSIONS
VIRTUAL I32 unlnk _((char* f));
#endif
@@ -603,6 +621,12 @@ VIRTUAL void unlock_condpair _((void* svv));
VIRTUAL void unsharepvn _((char* sv, I32 len, U32 hash));
VIRTUAL void unshare_hek _((HEK* hek));
VIRTUAL void utilize _((int aver, I32 floor, OP* version, OP* id, OP* arg));
+VIRTUAL U8* utf16_to_utf8 _((U16* p, U8 *d, I32 bytelen));
+VIRTUAL U8* utf16_to_utf8_reversed _((U16* p, U8 *d, I32 bytelen));
+VIRTUAL I32 utf8_distance _((unsigned char *a, unsigned char *b));
+VIRTUAL U8* utf8_hop _((unsigned char *s, I32 off));
+VIRTUAL UV utf8_to_uv _((unsigned char *s, I32* retlen));
+VIRTUAL char* uv_to_utf8 _((unsigned char *d, UV uv));
VIRTUAL void vivify_defelem _((SV* sv));
VIRTUAL void vivify_ref _((SV* sv, U32 to_what));
VIRTUAL I32 wait4pid _((int pid, int* statusp, int flags));
diff --git a/regcomp.c b/regcomp.c
index 79b1316694..d1f29d9994 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -64,7 +64,7 @@
*
**** Alterations to Henry's code are...
****
- **** Copyright (c) 1991-1997, Larry Wall
+ **** Copyright (c) 1991-1998, Larry Wall
****
**** You may distribute under the terms of either the GNU General Public
**** License or the Artistic License, as specified in the README file.
@@ -132,7 +132,9 @@ static regnode *reganode _((U8, U32));
static regnode *regatom _((I32 *));
static regnode *regbranch _((I32 *, I32));
static void regc _((U8, char *));
+static void reguni _((UV, char *, I32*));
static regnode *regclass _((void));
+static regnode *regclassutf8 _((void));
STATIC I32 regcurly _((char *));
static regnode *reg_node _((U8));
static regnode *regpiece _((I32 *));
@@ -150,18 +152,18 @@ static void re_croak2 _((const char* pat1,const char* pat2,...)) __attribute__((
typedef struct {
I32 len_min;
I32 len_delta;
- I32 pos_min;
- I32 pos_delta;
+ I32 pos_min; /* CC */
+ I32 pos_delta; /* CC */
SV *last_found;
I32 last_end; /* min value, <0 unless valid. */
- I32 last_start_min;
- I32 last_start_max;
+ I32 last_start_min; /* CC */
+ I32 last_start_max; /* CC */
SV **longest; /* Either &l_fixed, or &l_float. */
SV *longest_fixed;
- I32 offset_fixed;
+ I32 offset_fixed; /* CC */
SV *longest_float;
- I32 offset_float_min;
- I32 offset_float_max;
+ I32 offset_float_min; /* CC */
+ I32 offset_float_max; /* CC */
I32 flags;
} scan_data_t;
#endif
@@ -193,11 +195,19 @@ static scan_data_t zero_scan_data = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
#define SF_HAS_EVAL 0x200
#define SCF_DO_SUBSTR 0x400
+#define RF_utf8 8
+#define UTF (PL_reg_flags & RF_utf8)
+#define LOC (PL_regflags & PMf_LOCALE)
+#define FOLD (PL_regflags & PMf_FOLD)
+
+#define CHR_SVLEN(sv) (UTF ? sv_len_utf8(sv) : SvCUR(sv))
+#define CHR_DIST(a,b) (UTF ? utf8_distance(a,b) : a - b)
+
STATIC void
scan_commit(scan_data_t *data)
{
- STRLEN l = SvCUR(data->last_found);
- STRLEN old_l = SvCUR(*data->longest);
+ STRLEN l = CHR_SVLEN(data->last_found);
+ STRLEN old_l = CHR_SVLEN(*data->longest);
if ((l >= old_l) && ((l > old_l) || (data->flags & SF_BEFORE_EOL))) {
sv_setsv(*data->longest, data->last_found);
@@ -208,7 +218,8 @@ scan_commit(scan_data_t *data)
|= ((data->flags & SF_BEFORE_EOL) << SF_FIX_SHIFT_EOL);
else
data->flags &= ~SF_FIX_BEFORE_EOL;
- } else {
+ }
+ else {
data->offset_float_min = l ? data->last_start_min : data->pos_min;
data->offset_float_max = (l
? data->last_start_max
@@ -269,7 +280,8 @@ study_chunk(regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32
stop = n;
#endif
n = regnext(n);
- } else {
+ }
+ else {
int oldl = *OPERAND(scan);
regnode *nnext = regnext(n);
@@ -368,16 +380,27 @@ study_chunk(regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32
}
min += min1;
delta += max1 - min1;
- } else if (code == BRANCHJ) /* single branch is optimized. */
+ }
+ else if (code == BRANCHJ) /* single branch is optimized. */
scan = NEXTOPER(NEXTOPER(scan));
else /* single branch is optimized. */
scan = NEXTOPER(scan);
continue;
- } else if (OP(scan) == EXACT) {
- min += *OPERAND(scan);
+ }
+ else if (OP(scan) == EXACT) {
+ I32 l = *OPERAND(scan);
+ if (UTF) {
+ unsigned char *s = (unsigned char *)(OPERAND(scan)+1);
+ unsigned char *e = s + l;
+ I32 newl = 0;
+ while (s < e) {
+ newl++;
+ s += UTF8SKIP(s);
+ }
+ l = newl;
+ }
+ min += l;
if (flags & SCF_DO_SUBSTR) { /* Update longest substr. */
- I32 l = *OPERAND(scan);
-
/* The code below prefers earlier match for fixed
offset, later match for variable offset. */
if (data->last_end == -1) { /* Update the start info. */
@@ -385,18 +408,31 @@ study_chunk(regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32
data->last_start_max = is_inf
? I32_MAX : data->pos_min + data->pos_delta;
}
- sv_catpvn(data->last_found, (char *)(OPERAND(scan)+1), l);
+ sv_catpvn(data->last_found, (char *)(OPERAND(scan)+1), *OPERAND(scan));
data->last_end = data->pos_min + l;
data->pos_min += l; /* As in the first entry. */
data->flags &= ~SF_BEFORE_EOL;
}
- } else if (regkind[(U8)OP(scan)] == EXACT) {
+ }
+ else if (regkind[(U8)OP(scan)] == EXACT) {
+ I32 l = *OPERAND(scan);
if (flags & SCF_DO_SUBSTR)
scan_commit(data);
- min += *OPERAND(scan);
+ if (UTF) {
+ unsigned char *s = (unsigned char *)(OPERAND(scan)+1);
+ unsigned char *e = s + l;
+ I32 newl = 0;
+ while (s < e) {
+ newl++;
+ s += UTF8SKIP(s);
+ }
+ l = newl;
+ }
+ min += l;
if (data && (flags & SCF_DO_SUBSTR))
- data->pos_min += *OPERAND(scan);
- } else if (strchr(varies,OP(scan))) {
+ data->pos_min += l;
+ }
+ else if (strchr(varies,OP(scan))) {
I32 mincount, maxcount, minnext, deltanext, pos_before, fl;
regnode *oscan = scan;
@@ -540,7 +576,8 @@ study_chunk(regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32
#endif
/* Optimize again: */
study_chunk(&nxt1, &deltanext, nxt, NULL, 0);
- } else
+ }
+ else
oscan->flags = 0;
}
if (data && fl & (SF_HAS_PAR|SF_IN_PAR))
@@ -554,10 +591,14 @@ study_chunk(regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32
? pos_before : data->last_start_min;
STRLEN l;
char *s = SvPV(data->last_found, l);
+ I32 old = b - data->last_start_min;
+
+ if (UTF)
+ old = utf8_hop((U8*)s, old) - (U8*)s;
- l -= b - data->last_start_min;
+ l -= old;
/* Get the added string: */
- last_str = newSVpv(s + b - data->last_start_min, l);
+ last_str = newSVpv(s + old, l);
if (deltanext == 0 && pos_before == b) {
/* What was added is a constant string */
if (mincount > 1) {
@@ -583,11 +624,11 @@ study_chunk(regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32
sv_setsv(data->last_found, last_str);
data->last_end = data->pos_min;
data->last_start_min =
- data->pos_min - SvCUR(last_str);
+ data->pos_min - CHR_SVLEN(last_str);
data->last_start_max = is_inf
? I32_MAX
: data->pos_min + data->pos_delta
- - SvCUR(last_str);
+ - CHR_SVLEN(last_str);
}
data->longest = &(data->longest_float);
}
@@ -609,17 +650,20 @@ study_chunk(regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32
is_inf = 1;
break;
}
- } else if (strchr(simple,OP(scan))) {
+ }
+ else if (strchr(simple,OP(scan)) || regkind[(U8)OP(scan)] == ANYUTF8) {
if (flags & SCF_DO_SUBSTR) {
scan_commit(data);
data->pos_min++;
}
min++;
- } else if (regkind[(U8)OP(scan)] == EOL && flags & SCF_DO_SUBSTR) {
+ }
+ else if (regkind[(U8)OP(scan)] == EOL && flags & SCF_DO_SUBSTR) {
data->flags |= (OP(scan) == MEOL
? SF_BEFORE_MEOL
: SF_BEFORE_SEOL);
- } else if (regkind[(U8)OP(scan)] == BRANCHJ
+ }
+ else if (regkind[(U8)OP(scan)] == BRANCHJ
&& (scan->flags || data)
&& (OP(scan) == IFMATCH || OP(scan) == UNLESSM)) {
I32 deltanext, minnext;
@@ -632,7 +676,8 @@ study_chunk(regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32
if (scan->flags) {
if (deltanext) {
FAIL("variable length lookbehind not implemented");
- } else if (minnext > U8_MAX) {
+ }
+ else if (minnext > U8_MAX) {
FAIL2("lookbehind longer than %d not implemented", U8_MAX);
}
scan->flags = minnext;
@@ -641,14 +686,17 @@ study_chunk(regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32
pars++;
if (data && (data_fake.flags & SF_HAS_EVAL))
data->flags |= SF_HAS_EVAL;
- } else if (OP(scan) == OPEN) {
+ }
+ else if (OP(scan) == OPEN) {
pars++;
- } else if (OP(scan) == CLOSE && ARG(scan) == is_par) {
+ }
+ else if (OP(scan) == CLOSE && ARG(scan) == is_par) {
next = regnext(scan);
if ( next && (OP(next) != WHILEM) && next < last)
is_par = 0; /* Disable optimization */
- } else if (OP(scan) == EVAL) {
+ }
+ else if (OP(scan) == EVAL) {
if (data)
data->flags |= SF_HAS_EVAL;
}
@@ -666,7 +714,8 @@ study_chunk(regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32
if (is_par && pars==1 && data) {
data->flags |= SF_IN_PAR;
data->flags &= ~SF_HAS_PAR;
- } else if (pars && data) {
+ }
+ else if (pars && data) {
data->flags |= SF_HAS_PAR;
data->flags &= ~SF_IN_PAR;
}
@@ -683,7 +732,8 @@ add_data(I32 n, char *s)
char, struct reg_data);
Renew(PL_regcomp_rx->data->what, PL_regcomp_rx->data->count + n, U8);
PL_regcomp_rx->data->count += n;
- } else {
+ }
+ else {
Newc(1207, PL_regcomp_rx->data, sizeof(*PL_regcomp_rx->data) + sizeof(void*) * (n - 1),
char, struct reg_data);
New(1208, PL_regcomp_rx->data->what, n, U8);
@@ -726,6 +776,11 @@ pregcomp(char *exp, char *xend, PMOP *pm)
if (exp == NULL)
FAIL("NULL regexp argument");
+ if (PL_curcop == &compiling ? (PL_hints & HINT_UTF8) : IN_UTF8)
+ PL_reg_flags |= RF_utf8;
+ else
+ PL_reg_flags = 0;
+
PL_regprecomp = savepvn(exp, xend - exp);
DEBUG_r(PerlIO_printf(Perl_debug_log, "compiling RE `%*s'\n",
xend - exp, PL_regprecomp));
@@ -767,7 +822,8 @@ pregcomp(char *exp, char *xend, PMOP *pm)
*s = '\0';
PL_colors[i] = ++s;
}
- } else {
+ }
+ else {
while (i < 4)
PL_colors[i++] = "";
}
@@ -812,8 +868,11 @@ pregcomp(char *exp, char *xend, PMOP *pm)
/* Dig out information for optimizations. */
r->reganch = pm->op_pmflags & PMf_COMPILETIME;
pm->op_pmflags = PL_regflags;
+ if (UTF)
+ r->reganch |= ROPT_UTF8;
r->regstclass = NULL;
- r->naughty = PL_regnaughty >= 10; /* Probably an expensive pattern. */
+ if (PL_regnaughty >= 10) /* Probably an expensive pattern. */
+ r->reganch |= ROPT_NAUGHTY;
scan = r->program + 1; /* First BRANCH. */
/* XXXX To minimize changes to RE engine we always allocate
@@ -843,7 +902,7 @@ pregcomp(char *exp, char *xend, PMOP *pm)
/* Starting-point info. */
again:
if (OP(first) == EXACT); /* Empty, get anchored substr later. */
- else if (strchr(simple+2,OP(first)))
+ else if (strchr(simple+4,OP(first)))
r->regstclass = first;
else if (regkind[(U8)OP(first)] == BOUND ||
regkind[(U8)OP(first)] == NBOUND)
@@ -902,12 +961,12 @@ pregcomp(char *exp, char *xend, PMOP *pm)
scan_commit(&data);
SvREFCNT_dec(data.last_found);
- longest_float_length = SvCUR(data.longest_float);
+ longest_float_length = CHR_SVLEN(data.longest_float);
if (longest_float_length
|| (data.flags & SF_FL_BEFORE_EOL
&& (!(data.flags & SF_FL_BEFORE_MEOL)
|| (PL_regflags & PMf_MULTILINE)))) {
- if (SvCUR(data.longest_fixed)
+ if (SvCUR(data.longest_fixed) /* ok to leave SvCUR */
&& data.offset_fixed == data.offset_float_min)
goto remove; /* Like in (a)+. */
@@ -920,14 +979,15 @@ pregcomp(char *exp, char *xend, PMOP *pm)
&& (!(data.flags & SF_FL_BEFORE_MEOL)
|| (PL_regflags & PMf_MULTILINE)))
SvTAIL_on(r->float_substr);
- } else {
+ }
+ else {
remove:
r->float_substr = Nullsv;
SvREFCNT_dec(data.longest_float);
longest_float_length = 0;
}
- longest_fixed_length = SvCUR(data.longest_fixed);
+ longest_fixed_length = CHR_SVLEN(data.longest_fixed);
if (longest_fixed_length
|| (data.flags & SF_FIX_BEFORE_EOL /* Cannot have SEOL and MULTI */
&& (!(data.flags & SF_FIX_BEFORE_MEOL)
@@ -940,7 +1000,8 @@ pregcomp(char *exp, char *xend, PMOP *pm)
&& (!(data.flags & SF_FIX_BEFORE_MEOL)
|| (PL_regflags & PMf_MULTILINE)))
SvTAIL_on(r->anchored_substr);
- } else {
+ }
+ else {
r->anchored_substr = Nullsv;
SvREFCNT_dec(data.longest_fixed);
longest_fixed_length = 0;
@@ -952,12 +1013,14 @@ pregcomp(char *exp, char *xend, PMOP *pm)
r->check_offset_min = r->check_offset_max = r->anchored_offset;
if (r->reganch & ROPT_ANCH_SINGLE)
r->reganch |= ROPT_NOSCAN;
- } else {
+ }
+ else {
r->check_substr = r->float_substr;
r->check_offset_min = data.offset_float_min;
r->check_offset_max = data.offset_float_max;
}
- } else {
+ }
+ else {
/* Several toplevels. Best we can is to set minlen. */
I32 fake;
@@ -1076,8 +1139,9 @@ reg(I32 paren, I32 *flagp)
PL_regcomp_rx->data->data[n+1] = (void*)av;
PL_regcomp_rx->data->data[n+2] = (void*)sop;
SvREFCNT_dec(sv);
- } else { /* First pass */
- if (PL_reginterp_cnt < ++PL_seen_evals && PL_curcop != &PL_compiling)
+ }
+ else { /* First pass */
+ if (PL_reginterp_cnt < ++PL_seen_evals && PL_curcop != &compiling)
/* No compiled RE interpolated, has runtime
components ===> unsafe. */
FAIL("Eval-group not allowed at runtime, use re 'eval'");
@@ -1100,7 +1164,8 @@ reg(I32 paren, I32 *flagp)
regtail(ret, reg(1, &flag));
goto insert_if;
}
- } else if (PL_regcomp_parse[0] >= '1' && PL_regcomp_parse[0] <= '9' ) {
+ }
+ else if (PL_regcomp_parse[0] >= '1' && PL_regcomp_parse[0] <= '9' ) {
parno = atoi(PL_regcomp_parse++);
while (isDIGIT(*PL_regcomp_parse))
@@ -1121,7 +1186,8 @@ reg(I32 paren, I32 *flagp)
regbranch(&flags, 1);
regtail(ret, lastbr);
c = *nextchar();
- } else
+ }
+ else
lastbr = NULL;
if (c != ')')
FAIL("Switch (?(condition)... contains too many branches");
@@ -1130,10 +1196,12 @@ reg(I32 paren, I32 *flagp)
if (lastbr) {
regtail(lastbr, ender);
regtail(NEXTOPER(NEXTOPER(lastbr)), ender);
- } else
+ }
+ else
regtail(ret, ender);
return ret;
- } else {
+ }
+ else {
FAIL2("Unknown condition for (?(%.2s", PL_regcomp_parse);
}
}
@@ -1174,7 +1242,8 @@ reg(I32 paren, I32 *flagp)
ret = reganode(OPEN, parno);
open = 1;
}
- } else
+ }
+ else
ret = NULL;
/* Pick up the branches, linking them together. */
@@ -1184,17 +1253,20 @@ reg(I32 paren, I32 *flagp)
if (*PL_regcomp_parse == '|') {
if (!SIZE_ONLY && PL_extralen) {
reginsert(BRANCHJ, br);
- } else
+ }
+ else
reginsert(BRANCH, br);
have_branch = 1;
if (SIZE_ONLY)
PL_extralen += 1; /* For BRANCHJ-BRANCH. */
- } else if (paren == ':') {
+ }
+ else if (paren == ':') {
*flagp |= flags&SIMPLE;
}
if (open) { /* Starts with OPEN. */
regtail(ret, br); /* OPEN -> first. */
- } else if (paren != '?') /* Not Conditional */
+ }
+ else if (paren != '?') /* Not Conditional */
ret = br;
if (flags&HASWIDTH)
*flagp |= HASWIDTH;
@@ -1269,10 +1341,12 @@ reg(I32 paren, I32 *flagp)
/* Check for proper termination. */
if (paren && (PL_regcomp_parse >= PL_regxend || *nextchar() != ')')) {
FAIL("unmatched () in regexp");
- } else if (!paren && PL_regcomp_parse < PL_regxend) {
+ }
+ else if (!paren && PL_regcomp_parse < PL_regxend) {
if (*PL_regcomp_parse == ')') {
FAIL("unmatched () in regexp");
- } else
+ }
+ else
FAIL("junk on end of regexp"); /* "Can't happen". */
/* NOTREACHED */
}
@@ -1320,7 +1394,8 @@ regbranch(I32 *flagp, I32 first)
if (flags & TRYAGAIN)
continue;
return(NULL);
- } else if (ret == NULL)
+ }
+ else if (ret == NULL)
ret = latest;
*flagp |= flags&HASWIDTH;
if (chain == NULL) /* First piece. */
@@ -1463,7 +1538,8 @@ regpiece(I32 *flagp)
else if (op == '*') {
min = 0;
goto do_curly;
- } else if (op == '+' && (flags&SIMPLE)) {
+ }
+ else if (op == '+' && (flags&SIMPLE)) {
reginsert(PLUS, ret);
ret->flags = 0;
PL_regnaughty += 3;
@@ -1471,7 +1547,8 @@ regpiece(I32 *flagp)
else if (op == '+') {
min = 1;
goto do_curly;
- } else if (op == '?') {
+ }
+ else if (op == '?') {
min = 0; max = 1;
goto do_curly;
}
@@ -1536,16 +1613,25 @@ tryagain:
break;
case '.':
nextchar();
- if (PL_regflags & PMf_SINGLELINE)
- ret = reg_node(SANY);
- else
- ret = reg_node(ANY);
+ if (UTF) {
+ if (PL_regflags & PMf_SINGLELINE)
+ ret = reg_node(SANYUTF8);
+ else
+ ret = reg_node(ANYUTF8);
+ *flagp |= HASWIDTH;
+ }
+ else {
+ if (PL_regflags & PMf_SINGLELINE)
+ ret = reg_node(SANY);
+ else
+ ret = reg_node(ANY);
+ *flagp |= HASWIDTH|SIMPLE;
+ }
PL_regnaughty++;
- *flagp |= HASWIDTH|SIMPLE;
break;
case '[':
PL_regcomp_parse++;
- ret = regclass();
+ ret = (UTF ? regclassutf8() : regclass());
*flagp |= HASWIDTH|SIMPLE;
break;
case '(':
@@ -1603,47 +1689,93 @@ tryagain:
PL_seen_zerolen++; /* Do not optimize RE away */
nextchar();
break;
+ case 'C':
+ ret = reg_node(SANY);
+ *flagp |= HASWIDTH|SIMPLE;
+ nextchar();
+ break;
+ case 'X':
+ ret = reg_node(CLUMP);
+ *flagp |= HASWIDTH;
+ nextchar();
+ if (UTF && !PL_utf8_mark)
+ is_utf8_mark("~"); /* preload table */
+ break;
case 'w':
- ret = reg_node((PL_regflags & PMf_LOCALE) ? ALNUML : ALNUM);
+ ret = reg_node(
+ UTF
+ ? (LOC ? ALNUMLUTF8 : ALNUMUTF8)
+ : (LOC ? ALNUML : ALNUM));
*flagp |= HASWIDTH|SIMPLE;
nextchar();
+ if (UTF && !PL_utf8_alnum)
+ is_utf8_alnum("a"); /* preload table */
break;
case 'W':
- ret = reg_node((PL_regflags & PMf_LOCALE) ? NALNUML : NALNUM);
+ ret = reg_node(
+ UTF
+ ? (LOC ? NALNUMLUTF8 : NALNUMUTF8)
+ : (LOC ? NALNUML : NALNUM));
*flagp |= HASWIDTH|SIMPLE;
nextchar();
+ if (UTF && !PL_utf8_alnum)
+ is_utf8_alnum("a"); /* preload table */
break;
case 'b':
PL_seen_zerolen++;
- ret = reg_node((PL_regflags & PMf_LOCALE) ? BOUNDL : BOUND);
+ ret = reg_node(
+ UTF
+ ? (LOC ? BOUNDLUTF8 : BOUNDUTF8)
+ : (LOC ? BOUNDL : BOUND));
*flagp |= SIMPLE;
nextchar();
+ if (UTF && !PL_utf8_alnum)
+ is_utf8_alnum("a"); /* preload table */
break;
case 'B':
PL_seen_zerolen++;
- ret = reg_node((PL_regflags & PMf_LOCALE) ? NBOUNDL : NBOUND);
+ ret = reg_node(
+ UTF
+ ? (LOC ? NBOUNDLUTF8 : NBOUNDUTF8)
+ : (LOC ? NBOUNDL : NBOUND));
*flagp |= SIMPLE;
nextchar();
+ if (UTF && !PL_utf8_alnum)
+ is_utf8_alnum("a"); /* preload table */
break;
case 's':
- ret = reg_node((PL_regflags & PMf_LOCALE) ? SPACEL : SPACE);
+ ret = reg_node(
+ UTF
+ ? (LOC ? SPACELUTF8 : SPACEUTF8)
+ : (LOC ? SPACEL : SPACE));
*flagp |= HASWIDTH|SIMPLE;
nextchar();
+ if (UTF && !PL_utf8_space)
+ is_utf8_space(" "); /* preload table */
break;
case 'S':
- ret = reg_node((PL_regflags & PMf_LOCALE) ? NSPACEL : NSPACE);
+ ret = reg_node(
+ UTF
+ ? (LOC ? NSPACELUTF8 : NSPACEUTF8)
+ : (LOC ? NSPACEL : NSPACE));
*flagp |= HASWIDTH|SIMPLE;
nextchar();
+ if (UTF && !PL_utf8_space)
+ is_utf8_space(" "); /* preload table */
break;
case 'd':
- ret = reg_node(DIGIT);
+ ret = reg_node(UTF ? DIGITUTF8 : DIGIT);
*flagp |= HASWIDTH|SIMPLE;
nextchar();
+ if (UTF && !PL_utf8_digit)
+ is_utf8_digit("1"); /* preload table */
break;
case 'D':
- ret = reg_node(NDIGIT);
+ ret = reg_node(UTF ? NDIGITUTF8 : NDIGIT);
*flagp |= HASWIDTH|SIMPLE;
nextchar();
+ if (UTF && !PL_utf8_digit)
+ is_utf8_digit("1"); /* preload table */
break;
case 'n':
case 'r':
@@ -1666,8 +1798,8 @@ tryagain:
if (!SIZE_ONLY && num > PL_regcomp_rx->nparens)
FAIL("reference to nonexistent group");
PL_regsawback = 1;
- ret = reganode((PL_regflags & PMf_FOLD)
- ? ((PL_regflags & PMf_LOCALE) ? REFFL : REFF)
+ ret = reganode(FOLD
+ ? (LOC ? REFFL : REFF)
: REF, num);
*flagp |= HASWIDTH;
while (isDIGIT(*PL_regcomp_parse))
@@ -1696,7 +1828,7 @@ tryagain:
default: {
register I32 len;
- register U8 ender;
+ register UV ender;
register char *p;
char *oldp, *s;
I32 numlen;
@@ -1704,8 +1836,8 @@ tryagain:
PL_regcomp_parse++;
defchar:
- ret = reg_node((PL_regflags & PMf_FOLD)
- ? ((PL_regflags & PMf_LOCALE) ? EXACTFL : EXACTF)
+ ret = reg_node(FOLD
+ ? (LOC ? EXACTFL : EXACTF)
: EXACT);
s = (char *) OPERAND(ret);
regc(0, s++); /* save spot for len */
@@ -1767,8 +1899,26 @@ tryagain:
p++;
break;
case 'x':
- ender = scan_hex(++p, 2, &numlen);
- p += numlen;
+ if (*++p == '{') {
+ char* e = strchr(p, '}');
+
+ if (!e)
+ FAIL("Missing right brace on \\x{}");
+ else if (UTF) {
+ ender = scan_hex(p + 1, e - p, &numlen);
+ if (numlen + len >= 127) { /* numlen is generous */
+ p--;
+ goto loopdone;
+ }
+ p = e + 1;
+ }
+ else
+ FAIL("Can't use \\x{} without 'use utf8' declaration");
+ }
+ else {
+ ender = scan_hex(p, 2, &numlen);
+ p += numlen;
+ }
break;
case 'c':
p++;
@@ -1792,26 +1942,48 @@ tryagain:
FAIL("trailing \\ in regexp");
/* FALL THROUGH */
default:
- ender = *p++;
- break;
+ goto normal_default;
}
break;
default:
- ender = *p++;
+ normal_default:
+ if ((*p & 0xc0) == 0xc0 && UTF) {
+ ender = utf8_to_uv(p, &numlen);
+ p += numlen;
+ }
+ else
+ ender = *p++;
break;
}
if (PL_regflags & PMf_EXTENDED)
p = regwhite(p, PL_regxend);
+ if (UTF && FOLD) {
+ if (LOC)
+ ender = toLOWER_LC_uni(ender);
+ else
+ ender = toLOWER_uni(ender);
+ }
if (ISMULT2(p)) { /* Back off on ?+*. */
if (len)
p = oldp;
+ else if (ender >= 0x80 && UTF) {
+ reguni(ender, s, &numlen);
+ s += numlen;
+ len += numlen;
+ }
else {
len++;
regc(ender, s++);
}
break;
}
- regc(ender, s++);
+ if (ender >= 0x80 && UTF) {
+ reguni(ender, s, &numlen);
+ s += numlen;
+ len += numlen - 1;
+ }
+ else
+ regc(ender, s++);
}
loopdone:
PL_regcomp_parse = p - 1;
@@ -1827,7 +1999,8 @@ tryagain:
regc('\0', s++);
if (SIZE_ONLY) {
PL_regsize += (len + 2 + sizeof(regnode) - 1) / sizeof(regnode);
- } else {
+ }
+ else {
PL_regcode += (len + 2 + sizeof(regnode) - 1) / sizeof(regnode);
}
}
@@ -1859,8 +2032,8 @@ regclass(void)
{
dTHR;
register char *opnd, *s;
- register I32 Class;
- register I32 lastclass = 1234;
+ register I32 value;
+ register I32 lastvalue = 1234;
register I32 range = 0;
register regnode *ret;
register I32 def;
@@ -1868,7 +2041,7 @@ regclass(void)
s = opnd = (char *) OPERAND(PL_regcode);
ret = reg_node(ANYOF);
- for (Class = 0; Class < 33; Class++)
+ for (value = 0; value < 33; value++)
regc(0, s++);
if (*PL_regcomp_parse == '^') { /* Complement of range. */
PL_regnaughty++;
@@ -1878,19 +2051,20 @@ regclass(void)
}
if (!SIZE_ONLY) {
PL_regcode += ANY_SKIP;
- if (PL_regflags & PMf_FOLD)
+ if (FOLD)
*opnd |= ANYOF_FOLD;
- if (PL_regflags & PMf_LOCALE)
+ if (LOC)
*opnd |= ANYOF_LOCALE;
- } else {
+ }
+ else {
PL_regsize += ANY_SKIP;
}
if (*PL_regcomp_parse == ']' || *PL_regcomp_parse == '-')
goto skipcond; /* allow 1st char to be ] or - */
while (PL_regcomp_parse < PL_regxend && *PL_regcomp_parse != ']') {
skipcond:
- Class = UCHARAT(PL_regcomp_parse++);
- if (Class == '[' && PL_regcomp_parse + 1 < PL_regxend &&
+ value = UCHARAT(PL_regcomp_parse++);
+ if (value == '[' && PL_regcomp_parse + 1 < PL_regxend &&
/* I smell either [: or [= or [. -- POSIX has been here, right? */
(*PL_regcomp_parse == ':' || *PL_regcomp_parse == '=' || *PL_regcomp_parse == '.')) {
char posixccc = *PL_regcomp_parse;
@@ -1908,122 +2082,122 @@ regclass(void)
* (POSIX Extended Character Classes, that is)
* The text between e.g. [: and :] would start
* at posixccs + 1 and stop at regcomp_parse - 2. */
- if (PL_dowarn && !SIZE_ONLY)
+ if (dowarn && !SIZE_ONLY)
warn("Character class syntax [%c %c] is reserved for future extensions", posixccc, posixccc);
PL_regcomp_parse++; /* skip over the ending ] */
}
}
}
- if (Class == '\\') {
- Class = UCHARAT(PL_regcomp_parse++);
- switch (Class) {
+ if (value == '\\') {
+ value = UCHARAT(PL_regcomp_parse++);
+ switch (value) {
case 'w':
if (!SIZE_ONLY) {
- if (PL_regflags & PMf_LOCALE)
+ if (LOC)
*opnd |= ANYOF_ALNUML;
else {
- for (Class = 0; Class < 256; Class++)
- if (isALNUM(Class))
- ANYOF_SET(opnd, Class);
+ for (value = 0; value < 256; value++)
+ if (isALNUM(value))
+ ANYOF_SET(opnd, value);
}
}
- lastclass = 1234;
+ lastvalue = 1234;
continue;
case 'W':
if (!SIZE_ONLY) {
- if (PL_regflags & PMf_LOCALE)
+ if (LOC)
*opnd |= ANYOF_NALNUML;
else {
- for (Class = 0; Class < 256; Class++)
- if (!isALNUM(Class))
- ANYOF_SET(opnd, Class);
+ for (value = 0; value < 256; value++)
+ if (!isALNUM(value))
+ ANYOF_SET(opnd, value);
}
}
- lastclass = 1234;
+ lastvalue = 1234;
continue;
case 's':
if (!SIZE_ONLY) {
- if (PL_regflags & PMf_LOCALE)
+ if (LOC)
*opnd |= ANYOF_SPACEL;
else {
- for (Class = 0; Class < 256; Class++)
- if (isSPACE(Class))
- ANYOF_SET(opnd, Class);
+ for (value = 0; value < 256; value++)
+ if (isSPACE(value))
+ ANYOF_SET(opnd, value);
}
}
- lastclass = 1234;
+ lastvalue = 1234;
continue;
case 'S':
if (!SIZE_ONLY) {
- if (PL_regflags & PMf_LOCALE)
+ if (LOC)
*opnd |= ANYOF_NSPACEL;
else {
- for (Class = 0; Class < 256; Class++)
- if (!isSPACE(Class))
- ANYOF_SET(opnd, Class);
+ for (value = 0; value < 256; value++)
+ if (!isSPACE(value))
+ ANYOF_SET(opnd, value);
}
}
- lastclass = 1234;
+ lastvalue = 1234;
continue;
case 'd':
if (!SIZE_ONLY) {
- for (Class = '0'; Class <= '9'; Class++)
- ANYOF_SET(opnd, Class);
+ for (value = '0'; value <= '9'; value++)
+ ANYOF_SET(opnd, value);
}
- lastclass = 1234;
+ lastvalue = 1234;
continue;
case 'D':
if (!SIZE_ONLY) {
- for (Class = 0; Class < '0'; Class++)
- ANYOF_SET(opnd, Class);
- for (Class = '9' + 1; Class < 256; Class++)
- ANYOF_SET(opnd, Class);
+ for (value = 0; value < '0'; value++)
+ ANYOF_SET(opnd, value);
+ for (value = '9' + 1; value < 256; value++)
+ ANYOF_SET(opnd, value);
}
- lastclass = 1234;
+ lastvalue = 1234;
continue;
case 'n':
- Class = '\n';
+ value = '\n';
break;
case 'r':
- Class = '\r';
+ value = '\r';
break;
case 't':
- Class = '\t';
+ value = '\t';
break;
case 'f':
- Class = '\f';
+ value = '\f';
break;
case 'b':
- Class = '\b';
+ value = '\b';
break;
case 'e':
- Class = '\033';
+ value = '\033';
break;
case 'a':
- Class = '\007';
+ value = '\007';
break;
case 'x':
- Class = scan_hex(PL_regcomp_parse, 2, &numlen);
+ value = scan_hex(PL_regcomp_parse, 2, &numlen);
PL_regcomp_parse += numlen;
break;
case 'c':
- Class = UCHARAT(PL_regcomp_parse++);
- Class = toCTRL(Class);
+ value = UCHARAT(PL_regcomp_parse++);
+ value = toCTRL(value);
break;
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
- Class = scan_oct(--PL_regcomp_parse, 3, &numlen);
+ value = scan_oct(--PL_regcomp_parse, 3, &numlen);
PL_regcomp_parse += numlen;
break;
}
}
if (range) {
- if (lastclass > Class)
+ if (lastvalue > value)
FAIL("invalid [] range in regexp");
range = 0;
}
else {
- lastclass = Class;
+ lastvalue = value;
if (*PL_regcomp_parse == '-' && PL_regcomp_parse+1 < PL_regxend &&
PL_regcomp_parse[1] != ']') {
PL_regcomp_parse++;
@@ -2032,19 +2206,19 @@ regclass(void)
}
}
if (!SIZE_ONLY) {
- for ( ; lastclass <= Class; lastclass++)
- ANYOF_SET(opnd, lastclass);
+ for ( ; lastvalue <= value; lastvalue++)
+ ANYOF_SET(opnd, lastvalue);
}
- lastclass = Class;
+ lastvalue = value;
}
if (*PL_regcomp_parse != ']')
FAIL("unmatched [] in regexp");
nextchar();
/* optimize case-insensitive simple patterns (e.g. /[a-z]/i) */
if (!SIZE_ONLY && (*opnd & (0xFF ^ ANYOF_INVERT)) == ANYOF_FOLD) {
- for (Class = 0; Class < 256; ++Class) {
- if (ANYOF_TEST(opnd, Class)) {
- I32 cf = fold[Class];
+ for (value = 0; value < 256; ++value) {
+ if (ANYOF_TEST(opnd, value)) {
+ I32 cf = fold[value];
ANYOF_SET(opnd, cf);
}
}
@@ -2052,13 +2226,237 @@ regclass(void)
}
/* optimize inverted simple patterns (e.g. [^a-z]) */
if (!SIZE_ONLY && (*opnd & 0xFF) == ANYOF_INVERT) {
- for (Class = 0; Class < 32; ++Class)
- opnd[1 + Class] ^= 0xFF;
+ for (value = 0; value < 32; ++value)
+ opnd[1 + value] ^= 0xFF;
*opnd = 0;
}
return ret;
}
+STATIC regnode *
+regclassutf8(void)
+{
+ register char *opnd, *e;
+ register U32 value;
+ register U32 lastvalue = 123456;
+ register I32 range = 0;
+ register regnode *ret;
+ I32 numlen;
+ I32 n;
+ SV *listsv;
+ U8 flags = 0;
+
+ if (*PL_regcomp_parse == '^') { /* Complement of range. */
+ PL_regnaughty++;
+ PL_regcomp_parse++;
+ if (!SIZE_ONLY)
+ flags |= ANYOF_INVERT;
+ }
+ if (!SIZE_ONLY) {
+ if (FOLD)
+ flags |= ANYOF_FOLD;
+ if (LOC)
+ flags |= ANYOF_LOCALE;
+ listsv = newSVpv("# comment\n",0);
+ }
+
+ if (*PL_regcomp_parse == ']' || *PL_regcomp_parse == '-')
+ goto skipcond; /* allow 1st char to be ] or - */
+
+ while (PL_regcomp_parse < PL_regxend && *PL_regcomp_parse != ']') {
+ skipcond:
+ value = utf8_to_uv(PL_regcomp_parse, &numlen);
+ PL_regcomp_parse += numlen;
+
+ if (value == '[' && PL_regcomp_parse + 1 < PL_regxend &&
+ /* I smell either [: or [= or [. -- POSIX has been here, right? */
+ (*PL_regcomp_parse == ':' || *PL_regcomp_parse == '=' || *PL_regcomp_parse == '.')) {
+ char posixccc = *PL_regcomp_parse;
+ char* posixccs = PL_regcomp_parse++;
+
+ while (PL_regcomp_parse < PL_regxend && *PL_regcomp_parse != posixccc)
+ PL_regcomp_parse++;
+ if (PL_regcomp_parse == PL_regxend)
+ /* Grandfather lone [:, [=, [. */
+ PL_regcomp_parse = posixccs;
+ else {
+ PL_regcomp_parse++; /* skip over the posixccc */
+ if (*PL_regcomp_parse == ']') {
+ /* Not Implemented Yet.
+ * (POSIX Extended Character Classes, that is)
+ * The text between e.g. [: and :] would start
+ * at posixccs + 1 and stop at regcomp_parse - 2. */
+ if (dowarn && !SIZE_ONLY)
+ warn("Character class syntax [%c %c] is reserved for future extensions", posixccc, posixccc);
+ PL_regcomp_parse++; /* skip over the ending ] */
+ }
+ }
+ }
+
+ if (value == '\\') {
+ value = utf8_to_uv(PL_regcomp_parse, &numlen);
+ PL_regcomp_parse += numlen;
+ switch (value) {
+ case 'w':
+ if (!SIZE_ONLY) {
+ if (LOC)
+ flags |= ANYOF_ALNUML;
+
+ sv_catpvf(listsv, "+utf8::IsAlnum\n");
+ }
+ lastvalue = 123456;
+ continue;
+ case 'W':
+ if (!SIZE_ONLY) {
+ if (LOC)
+ flags |= ANYOF_NALNUML;
+
+ sv_catpvf(listsv,
+ "-utf8::IsAlpha\n-utf8::IsDigit\n0000\t%04x\n%04x\tffff\n",
+ '_' - 1,
+ '_' + 1);
+ }
+ lastvalue = 123456;
+ continue;
+ case 's':
+ if (!SIZE_ONLY) {
+ if (LOC)
+ flags |= ANYOF_SPACEL;
+ sv_catpvf(listsv, "+utf8::IsSpace\n");
+ if (!PL_utf8_space)
+ is_utf8_space(" ");
+ }
+ lastvalue = 123456;
+ continue;
+ case 'S':
+ if (!SIZE_ONLY) {
+ if (LOC)
+ flags |= ANYOF_NSPACEL;
+ sv_catpvf(listsv,
+ "!utf8::IsSpace\n");
+ if (!PL_utf8_space)
+ is_utf8_space(" ");
+ }
+ lastvalue = 123456;
+ continue;
+ case 'd':
+ if (!SIZE_ONLY) {
+ sv_catpvf(listsv, "+utf8::IsDigit\n");
+ }
+ lastvalue = 123456;
+ continue;
+ case 'D':
+ if (!SIZE_ONLY) {
+ sv_catpvf(listsv,
+ "!utf8::IsDigit\n");
+ }
+ lastvalue = 123456;
+ continue;
+ case 'p':
+ case 'P':
+ if (*PL_regcomp_parse == '{') {
+ e = strchr(PL_regcomp_parse++, '}');
+ if (!e)
+ FAIL("Missing right brace on \\p{}");
+ n = e - PL_regcomp_parse;
+ }
+ else {
+ e = PL_regcomp_parse;
+ n = 1;
+ }
+ if (!SIZE_ONLY) {
+ if (value == 'p')
+ sv_catpvf(listsv, "+utf8::%.*s\n", n, PL_regcomp_parse);
+ else
+ sv_catpvf(listsv,
+ "!utf8::%.*s\n", n, PL_regcomp_parse);
+ }
+ PL_regcomp_parse = e + 1;
+ lastvalue = 123456;
+ continue;
+ case 'n':
+ value = '\n';
+ break;
+ case 'r':
+ value = '\r';
+ break;
+ case 't':
+ value = '\t';
+ break;
+ case 'f':
+ value = '\f';
+ break;
+ case 'b':
+ value = '\b';
+ break;
+ case 'e':
+ value = '\033';
+ break;
+ case 'a':
+ value = '\007';
+ break;
+ case 'x':
+ if (*PL_regcomp_parse == '{') {
+ e = strchr(PL_regcomp_parse++, '}');
+ if (!e)
+ FAIL("Missing right brace on \\x{}");
+ value = scan_hex(PL_regcomp_parse + 1, e - PL_regcomp_parse, &numlen);
+ PL_regcomp_parse = e + 1;
+ }
+ else {
+ value = scan_hex(PL_regcomp_parse, 2, &numlen);
+ PL_regcomp_parse += numlen;
+ }
+ break;
+ case 'c':
+ value = UCHARAT(PL_regcomp_parse++);
+ value = toCTRL(value);
+ break;
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ value = scan_oct(--PL_regcomp_parse, 3, &numlen);
+ PL_regcomp_parse += numlen;
+ break;
+ }
+ }
+ if (range) {
+ if (lastvalue > value)
+ FAIL("invalid [] range in regexp");
+ if (!SIZE_ONLY)
+ sv_catpvf(listsv, "%04x\t%04x\n", lastvalue, value);
+ lastvalue = value;
+ range = 0;
+ }
+ else {
+ lastvalue = value;
+ if (*PL_regcomp_parse == '-' && PL_regcomp_parse+1 < PL_regxend &&
+ PL_regcomp_parse[1] != ']') {
+ PL_regcomp_parse++;
+ range = 1;
+ continue; /* do it next time */
+ }
+ if (!SIZE_ONLY)
+ sv_catpvf(listsv, "%04x\n", value);
+ }
+ }
+ if (*PL_regcomp_parse != ']')
+ FAIL("unmatched [] in regexp");
+ nextchar();
+
+ ret = reganode(ANYOFUTF8, 0);
+
+ if (!SIZE_ONLY) {
+ SV *rv = swash_init("utf8", "", listsv, 1, 0);
+ SvREFCNT_dec(listsv);
+ n = add_data(1,"s");
+ PL_regcomp_rx->data->data[n] = (void*)rv;
+ ARG1_SET(ret, flags);
+ ARG2_SET(ret, n);
+ }
+
+ return ret;
+}
+
STATIC char*
nextchar(void)
{
@@ -2140,6 +2538,21 @@ reganode(U8 op, U32 arg)
}
/*
+- regc - emit (if appropriate) a Unicode character
+*/
+STATIC void
+reguni(UV uv, char* s, I32* lenp)
+{
+ if (SIZE_ONLY) {
+ char tmpbuf[10];
+ *lenp = uv_to_utf8(tmpbuf, uv) - tmpbuf;
+ }
+ else
+ *lenp = uv_to_utf8(s, uv) - s;
+
+}
+
+/*
- regc - emit (if appropriate) a byte of code
*/
STATIC void
@@ -2208,7 +2621,8 @@ regtail(regnode *p, regnode *val)
if (reg_off_by_arg[OP(scan)]) {
ARG_SET(scan, val - scan);
- } else {
+ }
+ else {
NEXT_OFF(scan) = val - scan;
}
}
@@ -2225,9 +2639,11 @@ regoptail(regnode *p, regnode *val)
return;
if (regkind[(U8)OP(p)] == BRANCH) {
regtail(NEXTOPER(p), val);
- } else if ( regkind[(U8)OP(p)] == BRANCHJ) {
+ }
+ else if ( regkind[(U8)OP(p)] == BRANCHJ) {
regtail(NEXTOPER(NEXTOPER(p)), val);
- } else
+ }
+ else
return;
}
@@ -2287,24 +2703,31 @@ dumpuntil(regnode *start, regnode *node, regnode *last, SV* sv, I32 l)
if (last && nnode > last)
nnode = last;
node = dumpuntil(start, NEXTOPER(NEXTOPER(node)), nnode, sv, l + 1);
- } else if (regkind[(U8)op] == BRANCH) {
+ }
+ else if (regkind[(U8)op] == BRANCH) {
node = dumpuntil(start, NEXTOPER(node), next, sv, l + 1);
- } else if ( op == CURLY) { /* `next' might be very big: optimizer */
+ }
+ else if ( op == CURLY) { /* `next' might be very big: optimizer */
node = dumpuntil(start, NEXTOPER(node) + EXTRA_STEP_2ARGS,
NEXTOPER(node) + EXTRA_STEP_2ARGS + 1, sv, l + 1);
- } else if (regkind[(U8)op] == CURLY && op != CURLYX) {
+ }
+ else if (regkind[(U8)op] == CURLY && op != CURLYX) {
node = dumpuntil(start, NEXTOPER(node) + EXTRA_STEP_2ARGS,
next, sv, l + 1);
- } else if ( op == PLUS || op == STAR) {
+ }
+ else if ( op == PLUS || op == STAR) {
node = dumpuntil(start, NEXTOPER(node), NEXTOPER(node) + 1, sv, l + 1);
- } else if (op == ANYOF) {
+ }
+ else if (op == ANYOF) {
node = NEXTOPER(node);
node += ANY_SKIP;
- } else if (regkind[(U8)op] == EXACT) {
+ }
+ else if (regkind[(U8)op] == EXACT) {
/* Literal string, where present. */
node += ((*OPERAND(node)) + 2 + sizeof(regnode) - 1) / sizeof(regnode);
node = NEXTOPER(node);
- } else {
+ }
+ else {
node = NEXTOPER(node);
node += regarglen[(U8)op];
}
@@ -2421,6 +2844,15 @@ regprop(SV *sv, regnode *o)
case SANY:
p = "SANY";
break;
+ case ANYUTF8:
+ p = "ANYUTF8";
+ break;
+ case SANYUTF8:
+ p = "SANYUTF8";
+ break;
+ case ANYOFUTF8:
+ p = "ANYOFUTF8";
+ break;
case ANYOF:
p = "ANYOF";
break;
@@ -2667,3 +3099,43 @@ re_croak2(const char* pat1,const char* pat2,...)
buf[l1] = '\0'; /* Overwrite \n */
croak("%s", buf);
}
+
+/* XXX Here's a total kludge. But we need to re-enter for swash routines. */
+
+void
+save_re_context(void)
+{
+ SAVEPPTR(PL_bostr);
+ SAVEPPTR(PL_regprecomp); /* uncompiled string. */
+ SAVEI32(PL_regnpar); /* () count. */
+ SAVEI32(PL_regsize); /* Code size. */
+ SAVEI16(PL_regflags); /* are we folding, multilining? */
+ SAVEPPTR(PL_reginput); /* String-input pointer. */
+ SAVEPPTR(PL_regbol); /* Beginning of input, for ^ check. */
+ SAVEPPTR(PL_regeol); /* End of input, for $ check. */
+ SAVESPTR(PL_regstartp); /* Pointer to startp array. */
+ SAVESPTR(PL_regendp); /* Ditto for endp. */
+ SAVESPTR(PL_reglastparen); /* Similarly for lastparen. */
+ SAVEPPTR(PL_regtill); /* How far we are required to go. */
+ SAVEI32(PL_regprev); /* char before regbol, \n if none */
+ SAVESPTR(PL_reg_start_tmp); /* from regexec.c */
+ PL_reg_start_tmp = 0;
+ SAVEFREEPV(PL_reg_start_tmp);
+ SAVEI32(PL_reg_start_tmpl); /* from regexec.c */
+ PL_reg_start_tmpl = 0;
+ SAVESPTR(PL_regdata);
+ SAVEI32(PL_reg_flags); /* from regexec.c */
+ SAVEI32(PL_reg_eval_set); /* from regexec.c */
+ SAVEI32(PL_regnarrate); /* from regexec.c */
+ SAVESPTR(PL_regprogram); /* from regexec.c */
+ SAVEINT(PL_regindent); /* from regexec.c */
+ SAVESPTR(PL_regcc); /* from regexec.c */
+ SAVESPTR(PL_curcop);
+ SAVESPTR(PL_regcomp_rx); /* from regcomp.c */
+ SAVEI32(PL_regseen); /* from regcomp.c */
+ SAVEI32(PL_regsawback); /* Did we see \1, ...? */
+ SAVEI32(PL_regnaughty); /* How bad is this pattern? */
+ SAVESPTR(PL_regcode); /* Code-emit pointer; &regdummy = don't */
+ SAVEPPTR(PL_regxend); /* End of input for compile */
+ SAVEPPTR(PL_regcomp_parse); /* Input-scan pointer. */
+}
diff --git a/regcomp.h b/regcomp.h
index 526b885eec..38b15acc69 100644
--- a/regcomp.h
+++ b/regcomp.h
@@ -204,19 +204,22 @@ EXTCONST char varies[];
#else
EXTCONST char varies[] = {
BRANCH, BACK, STAR, PLUS, CURLY, CURLYX, REF, REFF, REFFL,
- WHILEM, CURLYM, CURLYN, BRANCHJ, IFTHEN, SUSPEND, 0
+ WHILEM, CURLYM, CURLYN, BRANCHJ, IFTHEN, SUSPEND, CLUMP, 0
};
#endif
/* The following always have a length of 1. char* since we do strchr on it. */
+/* (Note that lenght 1 means "one character" under UTF8, not "one octet".) */
#ifndef DOINIT
EXTCONST char simple[];
#else
EXTCONST char simple[] = {
- ANY, SANY, ANYOF,
- ALNUM, ALNUML, NALNUM, NALNUML,
- SPACE, SPACEL, NSPACE, NSPACEL,
- DIGIT, NDIGIT, 0
+ ANY, ANYUTF8, SANY, SANYUTF8, ANYOF, ANYOFUTF8,
+ ALNUM, ALNUMUTF8, ALNUML, ALNUMLUTF8,
+ NALNUM, NALNUMUTF8, NALNUML, NALNUMLUTF8,
+ SPACE, SPACEUTF8, SPACEL, SPACELUTF8,
+ NSPACE, NSPACEUTF8, NSPACEL, NSPACELUTF8,
+ DIGIT, DIGITUTF8, NDIGIT, NDIGITUTF8, 0
};
#endif
diff --git a/regcomp.sym b/regcomp.sym
index 9775b9374d..c831bce5c2 100644
--- a/regcomp.sym
+++ b/regcomp.sym
@@ -16,25 +16,43 @@ EOL EOL, no Match "" at end of line.
MEOL EOL, no Same, assuming multiline.
SEOL EOL, no Same, assuming singleline.
BOUND BOUND, no Match "" at any word boundary
+BOUNDUTF8 BOUND, no Match "" at any word boundary
BOUNDL BOUND, no Match "" at any word boundary
+BOUNDLUTF8 BOUND, no Match "" at any word boundary
NBOUND NBOUND, no Match "" at any word non-boundary
+NBOUNDUTF8 NBOUND, no Match "" at any word non-boundary
NBOUNDL NBOUND, no Match "" at any word non-boundary
+NBOUNDLUTF8 NBOUND, no Match "" at any word non-boundary
GPOS GPOS, no Matches where last m//g left off.
# [Special] alternatives
ANY ANY, no Match any one character (except newline).
+ANYUTF8 ANY, no Match any one Unicode character (except newline).
SANY ANY, no Match any one character.
+SANYUTF8 ANY, no Match any one Unicode character.
ANYOF ANYOF, sv Match character in (or not in) this class.
+ANYOFUTF8 ANYOF, sv 1 Match character in (or not in) this class.
ALNUM ALNUM, no Match any alphanumeric character
+ALNUMUTF8 ALNUM, no Match any alphanumeric character
ALNUML ALNUM, no Match any alphanumeric char in locale
+ALNUMLUTF8 ALNUM, no Match any alphanumeric char in locale
NALNUM NALNUM, no Match any non-alphanumeric character
+NALNUMUTF8 NALNUM, no Match any non-alphanumeric character
NALNUML NALNUM, no Match any non-alphanumeric char in locale
+NALNUMLUTF8 NALNUM, no Match any non-alphanumeric char in locale
SPACE SPACE, no Match any whitespace character
+SPACEUTF8 SPACE, no Match any whitespace character
SPACEL SPACE, no Match any whitespace char in locale
+SPACELUTF8 SPACE, no Match any whitespace char in locale
NSPACE NSPACE, no Match any non-whitespace character
+NSPACEUTF8 NSPACE, no Match any non-whitespace character
NSPACEL NSPACE, no Match any non-whitespace char in locale
+NSPACELUTF8 NSPACE, no Match any non-whitespace char in locale
DIGIT DIGIT, no Match any numeric character
+DIGITUTF8 DIGIT, no Match any numeric character
NDIGIT NDIGIT, no Match any non-numeric character
+NDIGITUTF8 NDIGIT, no Match any non-numeric character
+CLUMP CLUMP, no Match any combining character sequence
# BRANCH The set of branches constituting a single choice are hooked
# together with their "next" pointers, since precedence prevents
diff --git a/regexec.c b/regexec.c
index 47ece6a14b..fe9f833634 100644
--- a/regexec.c
+++ b/regexec.c
@@ -62,7 +62,7 @@
*
**** Alterations to Henry's code are...
****
- **** Copyright (c) 1991-1997, Larry Wall
+ **** Copyright (c) 1991-1998, Larry Wall
****
**** You may distribute under the terms of either the GNU General Public
**** License or the Artistic License, as specified in the README file.
@@ -78,6 +78,9 @@
#define RF_tainted 1 /* tainted information used? */
#define RF_warned 2 /* warned about big count? */
#define RF_evaled 4 /* Did an EVAL with setting? */
+#define RF_utf8 8 /* String contains multibyte chars? */
+
+#define UTF (PL_reg_flags & RF_utf8)
#define RS_init 1 /* eval environment created */
#define RS_set 2 /* replsv value is set */
@@ -99,10 +102,21 @@ static I32 regrepeat_hard _((regnode *p, I32 max, I32 *lp));
static I32 regtry _((regexp *prog, char *startpos));
static bool reginclass _((char *p, I32 c));
+static bool reginclassutf8 _((regnode *f, U8* p));
static CHECKPOINT regcppush _((I32 parenfloor));
static char * regcppop _((void));
#endif
+
#define REGINCLASS(p,c) (*(p) ? reginclass(p,c) : ANYOF_TEST(p,c))
+#define REGINCLASSUTF8(f,p) (ARG1(f) ? reginclassutf8(f,p) : swash_fetch((SV*)PL_regdata->data[ARG2(f)],p))
+
+#define CHR_SVLEN(sv) (UTF ? sv_len_utf8(sv) : SvCUR(sv))
+#define CHR_DIST(a,b) (UTF ? utf8_distance(a,b) : a - b)
+
+static char * reghop _((unsigned char *pos, I32 off));
+static char * reghopmaybe _((unsigned char *pos, I32 off));
+#define HOP(pos,off) (UTF ? reghop(pos, off) : (pos + off))
+#define HOPMAYBE(pos,off) (UTF ? reghopmaybe(pos, off) : (pos + off))
STATIC CHECKPOINT
regcppush(I32 parenfloor)
@@ -224,8 +238,8 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend,
I32 dontbother = 0; /* how many characters not to try at end */
CURCUR cc;
I32 start_shift = 0; /* Offset of the start to find
- constant substr. */
- I32 end_shift = 0; /* Same for the end. */
+ constant substr. */ /* CC */
+ I32 end_shift = 0; /* Same for the end. */ /* CC */
I32 scream_pos = -1; /* Internal iterator of scream. */
char *scream_olds;
SV* oreplsv = GvSV(PL_replgv);
@@ -252,7 +266,7 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend,
if (startpos == strbeg) /* is ^ valid at stringarg? */
PL_regprev = '\n';
else {
- PL_regprev = stringarg[-1];
+ PL_regprev = (U32)stringarg[-1];
if (!PL_multiline && PL_regprev == '\n')
PL_regprev = '\0'; /* force ^ to NOT match */
}
@@ -266,6 +280,19 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend,
PL_reg_flags = 0;
PL_reg_eval_set = 0;
+ if (prog->reganch & ROPT_UTF8)
+ PL_reg_flags |= RF_utf8;
+
+ /* Mark beginning of line for ^ and lookbehind. */
+ PL_regbol = startpos;
+ PL_bostr = strbeg;
+
+ /* Mark end of line for $ (and such) */
+ PL_regeol = strend;
+
+ /* see how far we have to get to not match where we matched before */
+ PL_regtill = startpos+minend;
+
/* If there is a "must appear" string, look for it. */
s = startpos;
if (!(flags & REXEC_CHECKED)
@@ -274,9 +301,10 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend,
(!(prog->reganch & (ROPT_ANCH_BOL | ROPT_ANCH_MBOL))
|| (PL_multiline && prog->check_substr == prog->anchored_substr)) )
{
- start_shift = prog->check_offset_min;
+ char *t;
+ start_shift = prog->check_offset_min; /* okay to underestimate on CC */
/* Should be nonnegative! */
- end_shift = minlen - start_shift - SvCUR(prog->check_substr);
+ end_shift = minlen - start_shift - CHR_SVLEN(prog->check_substr);
if (screamer) {
if (PL_screamfirst[BmRARE(prog->check_substr)] >= 0)
s = screaminstr(screamer, prog->check_substr,
@@ -293,29 +321,29 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend,
if (!s) {
++BmUSEFUL(prog->check_substr); /* hooray */
goto phooey; /* not present */
- } else if ((s - stringarg) > prog->check_offset_max) {
+ }
+ else if (s - stringarg > prog->check_offset_max &&
+ (UTF
+ ? ((t = reghopmaybe(s, -(prog->check_offset_max))) && t >= stringarg)
+ : (t = s - prog->check_offset_max) != 0
+ )
+ )
+ {
++BmUSEFUL(prog->check_substr); /* hooray/2 */
- s -= prog->check_offset_max;
- } else if (!prog->naughty
+ s = t;
+ }
+ else if (!(prog->reganch & ROPT_NAUGHTY)
&& --BmUSEFUL(prog->check_substr) < 0
&& prog->check_substr == prog->float_substr) { /* boo */
SvREFCNT_dec(prog->check_substr);
prog->check_substr = Nullsv; /* disable */
prog->float_substr = Nullsv; /* clear */
s = startpos;
- } else s = startpos;
+ }
+ else
+ s = startpos;
}
- /* Mark beginning of line for ^ and lookbehind. */
- PL_regbol = startpos;
- PL_bostr = strbeg;
-
- /* Mark end of line for $ (and such) */
- PL_regeol = strend;
-
- /* see how far we have to get to not match where we matched before */
- PL_regtill = startpos+minend;
-
DEBUG_r(
PerlIO_printf(Perl_debug_log,
"Matching `%.60s%s' against `%.*s%s'\n",
@@ -326,6 +354,8 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend,
(strend - startpos > 60 ? "..." : ""))
);
+ PL_regdata = prog->data;
+
/* Simplest case: anchored match need be tried only once. */
/* [unless only anchor is BOL and multiline is set] */
if (prog->reganch & ROPT_ANCH) {
@@ -337,12 +367,12 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend,
{
if (minlen)
dontbother = minlen - 1;
- strend -= dontbother;
+ strend = HOP(strend, -dontbother);
/* for multiline we only have to try after newlines */
if (s > startpos)
s--;
while (s < strend) {
- if (*s++ == '\n') {
+ if (*s++ == '\n') { /* don't need utf8skip here */
if (s < strend && regtry(prog, s))
goto got_it;
}
@@ -356,14 +386,27 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend,
/* we have /x+whatever/ */
/* it must be a one character string */
char ch = SvPVX(prog->anchored_substr)[0];
- while (s < strend) {
- if (*s == ch) {
- if (regtry(prog, s)) goto got_it;
- s++;
- while (s < strend && *s == ch)
+ if (UTF) {
+ while (s < strend) {
+ if (*s == ch) {
+ if (regtry(prog, s)) goto got_it;
+ s += UTF8SKIP(s);
+ while (s < strend && *s == ch)
+ s += UTF8SKIP(s);
+ }
+ s += UTF8SKIP(s);
+ }
+ }
+ else {
+ while (s < strend) {
+ if (*s == ch) {
+ if (regtry(prog, s)) goto got_it;
s++;
+ while (s < strend && *s == ch)
+ s++;
+ }
+ s++;
}
- s++;
}
}
/*SUPPRESS 560*/
@@ -377,50 +420,80 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend,
I32 back_min =
prog->anchored_substr ? prog->anchored_offset : prog->float_min_offset;
I32 delta = back_max - back_min;
- char *last = strend - SvCUR(must) - back_min; /* Cannot start after this */
- char *last1 = s - 1; /* Last position checked before */
+ char *last = HOP(strend, -(CHR_SVLEN(must) + back_min)); /* Cannot start after this */
+ char *last1; /* Last position checked before */
+
+ if (s > PL_bostr)
+ last1 = HOP(s, -1);
+ else
+ last1 = s - 1; /* bogus */
/* XXXX check_substr already used to find `s', can optimize if
check_substr==must. */
scream_pos = -1;
dontbother = end_shift;
- strend -= dontbother;
+ strend = HOP(strend, -dontbother);
while ( (s <= last) &&
(screamer
- ? (s = screaminstr(screamer, must, s + back_min - strbeg,
+ ? (s = screaminstr(screamer, must, HOP(s, back_min) - strbeg,
end_shift, &scream_pos, 0))
- : (s = fbm_instr((unsigned char*)s + back_min,
+ : (s = fbm_instr((unsigned char*)HOP(s, back_min),
(unsigned char*)strend, must, 0))) ) {
- if (s - back_max > last1) {
- last1 = s - back_min;
- s = s - back_max;
- } else {
- char *t = last1 + 1;
+ if (HOP(s, -back_max) > last1) {
+ last1 = HOP(s, -back_min);
+ s = HOP(s, -back_max);
+ }
+ else {
+ char *t = (last1 >= PL_bostr) ? HOP(last1, 1) : last + 1;
- last1 = s - back_min;
+ last1 = HOP(s, -back_min);
s = t;
}
- while (s <= last1) {
- if (regtry(prog, s))
- goto got_it;
- s++;
+ if (UTF) {
+ while (s <= last1) {
+ if (regtry(prog, s))
+ goto got_it;
+ s += UTF8SKIP(s);
+ }
+ }
+ else {
+ while (s <= last1) {
+ if (regtry(prog, s))
+ goto got_it;
+ s++;
+ }
}
}
goto phooey;
- } else if (c = prog->regstclass) {
+ }
+ else if (c = prog->regstclass) {
I32 doevery = (prog->reganch & ROPT_SKIP) == 0;
- char *Class;
+ char *cc;
if (minlen)
dontbother = minlen - 1;
- strend -= dontbother; /* don't bother with what can't match */
+ strend = HOP(strend, -dontbother); /* don't bother with what can't match */
tmp = 1;
/* We know what class it must start with. */
switch (OP(c)) {
+ case ANYOFUTF8:
+ cc = (char *) OPERAND(c);
+ while (s < strend) {
+ if (REGINCLASSUTF8(c, (U8*)s)) {
+ if (tmp && regtry(prog, s))
+ goto got_it;
+ else
+ tmp = doevery;
+ }
+ else
+ tmp = 1;
+ s += UTF8SKIP(s);
+ }
+ break;
case ANYOF:
- Class = (char *) OPERAND(c);
+ cc = (char *) OPERAND(c);
while (s < strend) {
- if (REGINCLASS(Class, *s)) {
+ if (REGINCLASS(cc, *s)) {
if (tmp && regtry(prog, s))
goto got_it;
else
@@ -435,8 +508,10 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend,
PL_reg_flags |= RF_tainted;
/* FALL THROUGH */
case BOUND:
- if (minlen)
- dontbother++,strend--;
+ if (minlen) {
+ dontbother++;
+ strend -= 1;
+ }
tmp = (s != startpos) ? UCHARAT(s - 1) : PL_regprev;
tmp = ((OP(c) == BOUND ? isALNUM(tmp) : isALNUM_LC(tmp)) != 0);
while (s < strend) {
@@ -450,12 +525,35 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend,
if ((minlen || tmp) && regtry(prog,s))
goto got_it;
break;
+ case BOUNDLUTF8:
+ PL_reg_flags |= RF_tainted;
+ /* FALL THROUGH */
+ case BOUNDUTF8:
+ if (minlen) {
+ dontbother++;
+ strend = reghop(strend, -1);
+ }
+ tmp = (I32)(s != startpos) ? utf8_to_uv(reghop(s, -1), 0) : PL_regprev;
+ tmp = ((OP(c) == BOUND ? isALNUM_uni(tmp) : isALNUM_LC_uni(tmp)) != 0);
+ while (s < strend) {
+ if (tmp == !(OP(c) == BOUND ? swash_fetch(PL_utf8_alnum, s) : isALNUM_LC_utf8(s))) {
+ tmp = !tmp;
+ if (regtry(prog, s))
+ goto got_it;
+ }
+ s += UTF8SKIP(s);
+ }
+ if ((minlen || tmp) && regtry(prog,s))
+ goto got_it;
+ break;
case NBOUNDL:
PL_reg_flags |= RF_tainted;
/* FALL THROUGH */
case NBOUND:
- if (minlen)
- dontbother++,strend--;
+ if (minlen) {
+ dontbother++;
+ strend -= 1;
+ }
tmp = (s != startpos) ? UCHARAT(s - 1) : PL_regprev;
tmp = ((OP(c) == NBOUND ? isALNUM(tmp) : isALNUM_LC(tmp)) != 0);
while (s < strend) {
@@ -468,6 +566,26 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend,
if ((minlen || !tmp) && regtry(prog,s))
goto got_it;
break;
+ case NBOUNDLUTF8:
+ PL_reg_flags |= RF_tainted;
+ /* FALL THROUGH */
+ case NBOUNDUTF8:
+ if (minlen) {
+ dontbother++;
+ strend = reghop(strend, -1);
+ }
+ tmp = (I32)(s != startpos) ? utf8_to_uv(reghop(s, -1), 0) : PL_regprev;
+ tmp = ((OP(c) == NBOUND ? isALNUM_uni(tmp) : isALNUM_LC_uni(tmp)) != 0);
+ while (s < strend) {
+ if (tmp == !(OP(c) == NBOUND ? swash_fetch(PL_utf8_alnum, s) : isALNUM_LC_utf8(s)))
+ tmp = !tmp;
+ else if (regtry(prog, s))
+ goto got_it;
+ s += UTF8SKIP(s);
+ }
+ if ((minlen || !tmp) && regtry(prog,s))
+ goto got_it;
+ break;
case ALNUM:
while (s < strend) {
if (isALNUM(*s)) {
@@ -481,6 +599,19 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend,
s++;
}
break;
+ case ALNUMUTF8:
+ while (s < strend) {
+ if (swash_fetch(PL_utf8_alnum, s)) {
+ if (tmp && regtry(prog, s))
+ goto got_it;
+ else
+ tmp = doevery;
+ }
+ else
+ tmp = 1;
+ s += UTF8SKIP(s);
+ }
+ break;
case ALNUML:
PL_reg_flags |= RF_tainted;
while (s < strend) {
@@ -495,6 +626,20 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend,
s++;
}
break;
+ case ALNUMLUTF8:
+ PL_reg_flags |= RF_tainted;
+ while (s < strend) {
+ if (isALNUM_LC_utf8(s)) {
+ if (tmp && regtry(prog, s))
+ goto got_it;
+ else
+ tmp = doevery;
+ }
+ else
+ tmp = 1;
+ s += UTF8SKIP(s);
+ }
+ break;
case NALNUM:
while (s < strend) {
if (!isALNUM(*s)) {
@@ -508,6 +653,19 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend,
s++;
}
break;
+ case NALNUMUTF8:
+ while (s < strend) {
+ if (!swash_fetch(PL_utf8_alnum, s)) {
+ if (tmp && regtry(prog, s))
+ goto got_it;
+ else
+ tmp = doevery;
+ }
+ else
+ tmp = 1;
+ s += UTF8SKIP(s);
+ }
+ break;
case NALNUML:
PL_reg_flags |= RF_tainted;
while (s < strend) {
@@ -522,6 +680,20 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend,
s++;
}
break;
+ case NALNUMLUTF8:
+ PL_reg_flags |= RF_tainted;
+ while (s < strend) {
+ if (!isALNUM_LC_utf8(s)) {
+ if (tmp && regtry(prog, s))
+ goto got_it;
+ else
+ tmp = doevery;
+ }
+ else
+ tmp = 1;
+ s += UTF8SKIP(s);
+ }
+ break;
case SPACE:
while (s < strend) {
if (isSPACE(*s)) {
@@ -535,6 +707,19 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend,
s++;
}
break;
+ case SPACEUTF8:
+ while (s < strend) {
+ if (*s == ' ' || swash_fetch(PL_utf8_space,s)) {
+ if (tmp && regtry(prog, s))
+ goto got_it;
+ else
+ tmp = doevery;
+ }
+ else
+ tmp = 1;
+ s += UTF8SKIP(s);
+ }
+ break;
case SPACEL:
PL_reg_flags |= RF_tainted;
while (s < strend) {
@@ -549,6 +734,20 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend,
s++;
}
break;
+ case SPACELUTF8:
+ PL_reg_flags |= RF_tainted;
+ while (s < strend) {
+ if (*s == ' ' || isSPACE_LC_utf8(s)) {
+ if (tmp && regtry(prog, s))
+ goto got_it;
+ else
+ tmp = doevery;
+ }
+ else
+ tmp = 1;
+ s += UTF8SKIP(s);
+ }
+ break;
case NSPACE:
while (s < strend) {
if (!isSPACE(*s)) {
@@ -562,6 +761,19 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend,
s++;
}
break;
+ case NSPACEUTF8:
+ while (s < strend) {
+ if (!(*s == ' ' || swash_fetch(PL_utf8_space,s))) {
+ if (tmp && regtry(prog, s))
+ goto got_it;
+ else
+ tmp = doevery;
+ }
+ else
+ tmp = 1;
+ s += UTF8SKIP(s);
+ }
+ break;
case NSPACEL:
PL_reg_flags |= RF_tainted;
while (s < strend) {
@@ -576,6 +788,20 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend,
s++;
}
break;
+ case NSPACELUTF8:
+ PL_reg_flags |= RF_tainted;
+ while (s < strend) {
+ if (!(*s == ' ' || isSPACE_LC_utf8(s))) {
+ if (tmp && regtry(prog, s))
+ goto got_it;
+ else
+ tmp = doevery;
+ }
+ else
+ tmp = 1;
+ s += UTF8SKIP(s);
+ }
+ break;
case DIGIT:
while (s < strend) {
if (isDIGIT(*s)) {
@@ -589,6 +815,19 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend,
s++;
}
break;
+ case DIGITUTF8:
+ while (s < strend) {
+ if (swash_fetch(PL_utf8_digit,s)) {
+ if (tmp && regtry(prog, s))
+ goto got_it;
+ else
+ tmp = doevery;
+ }
+ else
+ tmp = 1;
+ s += UTF8SKIP(s);
+ }
+ break;
case NDIGIT:
while (s < strend) {
if (!isDIGIT(*s)) {
@@ -602,6 +841,19 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend,
s++;
}
break;
+ case NDIGITUTF8:
+ while (s < strend) {
+ if (!swash_fetch(PL_utf8_digit,s)) {
+ if (tmp && regtry(prog, s))
+ goto got_it;
+ else
+ tmp = doevery;
+ }
+ else
+ tmp = 1;
+ s += UTF8SKIP(s);
+ }
+ break;
}
}
else {
@@ -616,7 +868,8 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend,
if (!last) {
last = scream_olds; /* Only one occurence. */
}
- } else {
+ }
+ else {
STRLEN len;
char *little = SvPV(prog->float_substr, len);
last = rninstr(s, strend, little, little + len);
@@ -626,19 +879,33 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend,
}
if (minlen && (dontbother < minlen))
dontbother = minlen - 1;
- strend -= dontbother;
+ strend -= dontbother; /* this one's always in bytes! */
/* We don't know much -- general case. */
- do {
- if (regtry(prog, s))
- goto got_it;
- } while (s++ < strend);
+ if (UTF) {
+ for (;;) {
+ if (regtry(prog, s)) {
+ strend += dontbother; /* this one's always in bytes! */
+ dontbother = 0;
+ goto got_it;
+ }
+ if (s >= strend)
+ break;
+ s += UTF8SKIP(s);
+ };
+ }
+ else {
+ do {
+ if (regtry(prog, s))
+ goto got_it;
+ } while (s++ < strend);
+ }
}
/* Failure. */
goto phooey;
got_it:
- strend += dontbother; /* uncheat */
+ strend = HOP(strend, dontbother); /* uncheat */
prog->subbeg = strbeg;
prog->subend = strend;
RX_MATCH_TAINTED_set(prog, PL_reg_flags & RF_tainted);
@@ -721,7 +988,6 @@ regtry(regexp *prog, char *startpos)
sp = prog->startp;
ep = prog->endp;
- PL_regdata = prog->data;
if (prog->nparens) {
for (i = prog->nparens; i >= 0; i--) {
*sp++ = NULL;
@@ -771,6 +1037,7 @@ regmatch(regnode *prog)
PL_regindent++;
#endif
+ /* Note that nextchr is a byte even in UTF */
nextchr = UCHARAT(locinput);
scan = prog;
while (scan != NULL) {
@@ -820,7 +1087,7 @@ regmatch(regnode *prog)
: (PL_multiline &&
(nextchr || locinput < PL_regeol) && locinput[-1] == '\n') )
{
- /* PL_regtill = PL_regbol; */
+ /* regtill = regbol; */
break;
}
sayNO;
@@ -861,11 +1128,35 @@ regmatch(regnode *prog)
if (PL_regeol != locinput)
sayNO;
break;
+ case SANYUTF8:
+ if (nextchr & 0x80) {
+ locinput += PL_utf8skip[nextchr];
+ if (locinput > PL_regeol)
+ sayNO;
+ nextchr = UCHARAT(locinput);
+ break;
+ }
+ if (!nextchr && locinput >= PL_regeol)
+ sayNO;
+ nextchr = UCHARAT(++locinput);
+ break;
case SANY:
if (!nextchr && locinput >= PL_regeol)
sayNO;
nextchr = UCHARAT(++locinput);
break;
+ case ANYUTF8:
+ if (nextchr & 0x80) {
+ locinput += PL_utf8skip[nextchr];
+ if (locinput > PL_regeol)
+ sayNO;
+ nextchr = UCHARAT(locinput);
+ break;
+ }
+ if (!nextchr && locinput >= PL_regeol || nextchr == '\n')
+ sayNO;
+ nextchr = UCHARAT(++locinput);
+ break;
case ANY:
if (!nextchr && locinput >= PL_regeol || nextchr == '\n')
sayNO;
@@ -890,6 +1181,24 @@ regmatch(regnode *prog)
case EXACTF:
s = (char *) OPERAND(scan);
ln = UCHARAT(s++);
+
+ if (UTF) {
+ char *l = locinput;
+ char *e = s + ln;
+ c1 = OP(scan) == EXACTF;
+ while (s < e) {
+ if (l >= PL_regeol)
+ sayNO;
+ if (utf8_to_uv(s, 0) != (c1 ? toLOWER_utf8(l) : toLOWER_LC_utf8(l)))
+ sayNO;
+ s += UTF8SKIP(s);
+ l += UTF8SKIP(l);
+ }
+ locinput = l;
+ nextchr = UCHARAT(locinput);
+ break;
+ }
+
/* Inline the first character, for speed. */
if (UCHARAT(s) != nextchr &&
UCHARAT(s) != ((OP(scan) == EXACTF)
@@ -904,6 +1213,15 @@ regmatch(regnode *prog)
locinput += ln;
nextchr = UCHARAT(locinput);
break;
+ case ANYOFUTF8:
+ s = (char *) OPERAND(scan);
+ if (!REGINCLASSUTF8(scan, (U8*)locinput))
+ sayNO;
+ if (locinput >= PL_regeol)
+ sayNO;
+ locinput += PL_utf8skip[nextchr];
+ nextchr = UCHARAT(locinput);
+ break;
case ANYOF:
s = (char *) OPERAND(scan);
if (nextchr < 0)
@@ -925,6 +1243,25 @@ regmatch(regnode *prog)
sayNO;
nextchr = UCHARAT(++locinput);
break;
+ case ALNUMLUTF8:
+ PL_reg_flags |= RF_tainted;
+ /* FALL THROUGH */
+ case ALNUMUTF8:
+ if (!nextchr)
+ sayNO;
+ if (nextchr & 0x80) {
+ if (!(OP(scan) == ALNUMUTF8
+ ? swash_fetch(PL_utf8_alnum, locinput) : isALNUM_LC_utf8(locinput)))
+ sayNO;
+ locinput += PL_utf8skip[nextchr];
+ nextchr = UCHARAT(locinput);
+ break;
+ }
+ if (!(OP(scan) == ALNUMUTF8
+ ? isALNUM(nextchr) : isALNUM_LC(nextchr)))
+ sayNO;
+ nextchr = UCHARAT(++locinput);
+ break;
case NALNUML:
PL_reg_flags |= RF_tainted;
/* FALL THROUGH */
@@ -936,6 +1273,25 @@ regmatch(regnode *prog)
sayNO;
nextchr = UCHARAT(++locinput);
break;
+ case NALNUMLUTF8:
+ PL_reg_flags |= RF_tainted;
+ /* FALL THROUGH */
+ case NALNUMUTF8:
+ if (!nextchr && locinput >= PL_regeol)
+ sayNO;
+ if (nextchr & 0x80) {
+ if (OP(scan) == NALNUMUTF8
+ ? swash_fetch(PL_utf8_alnum, locinput) : isALNUM_LC_utf8(locinput))
+ sayNO;
+ locinput += PL_utf8skip[nextchr];
+ nextchr = UCHARAT(locinput);
+ break;
+ }
+ if (OP(scan) == NALNUMUTF8
+ ? isALNUM(nextchr) : isALNUM_LC(nextchr))
+ sayNO;
+ nextchr = UCHARAT(++locinput);
+ break;
case BOUNDL:
case NBOUNDL:
PL_reg_flags |= RF_tainted;
@@ -955,6 +1311,25 @@ regmatch(regnode *prog)
if (((!ln) == (!n)) == (OP(scan) == BOUND || OP(scan) == BOUNDL))
sayNO;
break;
+ case BOUNDLUTF8:
+ case NBOUNDLUTF8:
+ PL_reg_flags |= RF_tainted;
+ /* FALL THROUGH */
+ case BOUNDUTF8:
+ case NBOUNDUTF8:
+ /* was last char in word? */
+ ln = (locinput != PL_regbol) ? utf8_to_uv(reghop(locinput, -1), 0) : PL_regprev;
+ if (OP(scan) == BOUNDUTF8 || OP(scan) == NBOUNDUTF8) {
+ ln = isALNUM_uni(ln);
+ n = swash_fetch(PL_utf8_alnum, locinput);
+ }
+ else {
+ ln = isALNUM_LC_uni(ln);
+ n = isALNUM_LC_utf8(locinput);
+ }
+ if (((!ln) == (!n)) == (OP(scan) == BOUNDUTF8 || OP(scan) == BOUNDLUTF8))
+ sayNO;
+ break;
case SPACEL:
PL_reg_flags |= RF_tainted;
/* FALL THROUGH */
@@ -966,6 +1341,25 @@ regmatch(regnode *prog)
sayNO;
nextchr = UCHARAT(++locinput);
break;
+ case SPACELUTF8:
+ PL_reg_flags |= RF_tainted;
+ /* FALL THROUGH */
+ case SPACEUTF8:
+ if (!nextchr && locinput >= PL_regeol)
+ sayNO;
+ if (nextchr & 0x80) {
+ if (!(OP(scan) == SPACEUTF8
+ ? swash_fetch(PL_utf8_space,locinput) : isSPACE_LC_utf8(locinput)))
+ sayNO;
+ locinput += PL_utf8skip[nextchr];
+ nextchr = UCHARAT(locinput);
+ break;
+ }
+ if (!(OP(scan) == SPACEUTF8
+ ? isSPACE(nextchr) : isSPACE_LC(nextchr)))
+ sayNO;
+ nextchr = UCHARAT(++locinput);
+ break;
case NSPACEL:
PL_reg_flags |= RF_tainted;
/* FALL THROUGH */
@@ -977,11 +1371,42 @@ regmatch(regnode *prog)
sayNO;
nextchr = UCHARAT(++locinput);
break;
+ case NSPACELUTF8:
+ PL_reg_flags |= RF_tainted;
+ /* FALL THROUGH */
+ case NSPACEUTF8:
+ if (!nextchr)
+ sayNO;
+ if (nextchr & 0x80) {
+ if (OP(scan) == NSPACEUTF8
+ ? swash_fetch(PL_utf8_space,locinput) : isSPACE_LC_utf8(locinput))
+ sayNO;
+ locinput += PL_utf8skip[nextchr];
+ nextchr = UCHARAT(locinput);
+ break;
+ }
+ if (OP(scan) == NSPACEUTF8
+ ? isSPACE(nextchr) : isSPACE_LC(nextchr))
+ sayNO;
+ nextchr = UCHARAT(++locinput);
+ break;
case DIGIT:
if (!isDIGIT(nextchr))
sayNO;
nextchr = UCHARAT(++locinput);
break;
+ case DIGITUTF8:
+ if (nextchr & 0x80) {
+ if (!(swash_fetch(PL_utf8_digit,locinput)))
+ sayNO;
+ locinput += PL_utf8skip[nextchr];
+ nextchr = UCHARAT(locinput);
+ break;
+ }
+ if (!isDIGIT(nextchr))
+ sayNO;
+ nextchr = UCHARAT(++locinput);
+ break;
case NDIGIT:
if (!nextchr && locinput >= PL_regeol)
sayNO;
@@ -989,6 +1414,30 @@ regmatch(regnode *prog)
sayNO;
nextchr = UCHARAT(++locinput);
break;
+ case NDIGITUTF8:
+ if (!nextchr && locinput >= PL_regeol)
+ sayNO;
+ if (nextchr & 0x80) {
+ if (swash_fetch(PL_utf8_digit,locinput))
+ sayNO;
+ locinput += PL_utf8skip[nextchr];
+ nextchr = UCHARAT(locinput);
+ break;
+ }
+ if (isDIGIT(nextchr))
+ sayNO;
+ nextchr = UCHARAT(++locinput);
+ break;
+ case CLUMP:
+ if (locinput >= PL_regeol || swash_fetch(PL_utf8_mark, locinput))
+ sayNO;
+ locinput += PL_utf8skip[nextchr];
+ while (locinput < PL_regeol && swash_fetch(PL_utf8_mark, locinput))
+ locinput += UTF8SKIP(locinput);
+ if (locinput > PL_regeol)
+ sayNO;
+ nextchr = UCHARAT(locinput);
+ break;
case REFFL:
PL_reg_flags |= RF_tainted;
/* FALL THROUGH */
@@ -1000,6 +1449,40 @@ regmatch(regnode *prog)
sayNO; /* Do not match unless seen CLOSEn. */
if (s == PL_regendp[n])
break;
+
+ if (UTF && OP(scan) != REF) { /* REF can do byte comparison */
+ char *l = locinput;
+ char *e = PL_regendp[n];
+ /*
+ * Note that we can't do the "other character" lookup trick as
+ * in the 8-bit case (no pun intended) because in Unicode we
+ * have to map both upper and title case to lower case.
+ */
+ if (OP(scan) == REFF) {
+ while (s < e) {
+ if (l >= PL_regeol)
+ sayNO;
+ if (toLOWER_utf8(s) != toLOWER_utf8(l))
+ sayNO;
+ s += UTF8SKIP(s);
+ l += UTF8SKIP(l);
+ }
+ }
+ else {
+ while (s < e) {
+ if (l >= PL_regeol)
+ sayNO;
+ if (toLOWER_LC_utf8(s) != toLOWER_LC_utf8(l))
+ sayNO;
+ s += UTF8SKIP(s);
+ l += UTF8SKIP(l);
+ }
+ }
+ locinput = l;
+ nextchr = UCHARAT(locinput);
+ break;
+ }
+
/* Inline the first character, for speed. */
if (UCHARAT(s) != nextchr &&
(OP(scan) == REF ||
@@ -1045,7 +1528,8 @@ regmatch(regnode *prog)
if (logical) {
logical = 0;
sw = SvTRUE(ret);
- } else
+ }
+ else
sv_setsv(save_scalar(PL_replgv), ret);
PL_op = oop;
PL_curpad = ocurpad;
@@ -1348,7 +1832,8 @@ regmatch(regnode *prog)
c2 = fold_locale[c1];
else
c2 = c1;
- } else
+ }
+ else
c1 = c2 = -1000;
REGCP_SET;
/* This may be improved if l == 0. */
@@ -1360,9 +1845,10 @@ regmatch(regnode *prog)
{
if (paren) {
if (n) {
- PL_regstartp[paren] = PL_reginput - l;
+ PL_regstartp[paren] = HOP(PL_reginput, -l);
PL_regendp[paren] = PL_reginput;
- } else
+ }
+ else
PL_regendp[paren] = NULL;
}
if (regmatch(next))
@@ -1378,7 +1864,8 @@ regmatch(regnode *prog)
else
sayNO;
}
- } else {
+ }
+ else {
n = regrepeat_hard(scan, n, &l);
if (n != 0 && l == 0
/* In fact, this is tricky. If paren, then the
@@ -1401,7 +1888,8 @@ regmatch(regnode *prog)
c2 = fold_locale[c1];
else
c2 = c1;
- } else
+ }
+ else
c1 = c2 = -1000;
}
REGCP_SET;
@@ -1410,26 +1898,27 @@ regmatch(regnode *prog)
if (c1 == -1000 ||
UCHARAT(PL_reginput) == c1 ||
UCHARAT(PL_reginput) == c2)
- {
- DEBUG_r(
+ {
+ DEBUG_r(
PerlIO_printf(Perl_debug_log,
"%*s trying tail with n=%ld...\n",
REPORT_CODE_OFF+PL_regindent*2, "", n)
- );
- if (paren) {
- if (n) {
- PL_regstartp[paren] = PL_reginput - l;
- PL_regendp[paren] = PL_reginput;
- } else
- PL_regendp[paren] = NULL;
+ );
+ if (paren) {
+ if (n) {
+ PL_regstartp[paren] = HOP(PL_reginput, -l);
+ PL_regendp[paren] = PL_reginput;
}
- if (regmatch(next))
- sayYES;
- REGCP_UNWIND;
+ else
+ PL_regendp[paren] = NULL;
}
+ if (regmatch(next))
+ sayYES;
+ REGCP_UNWIND;
+ }
/* Couldn't or didn't -- back up. */
n--;
- locinput -= l;
+ locinput = HOP(locinput, -l);
PL_reginput = locinput;
}
}
@@ -1485,6 +1974,7 @@ regmatch(regnode *prog)
minmod = 0;
if (ln && regrepeat(scan, ln) < ln)
sayNO;
+ locinput = PL_reginput;
REGCP_SET;
while (n >= ln || (n == REG_INFTY && ln > 0)) { /* ln overflow ? */
/* If it could work, try it. */
@@ -1494,9 +1984,10 @@ regmatch(regnode *prog)
{
if (paren) {
if (n) {
- PL_regstartp[paren] = PL_reginput - 1;
+ PL_regstartp[paren] = HOP(PL_reginput, -1);
PL_regendp[paren] = PL_reginput;
- } else
+ }
+ else
PL_regendp[paren] = NULL;
}
if (regmatch(next))
@@ -1504,17 +1995,19 @@ regmatch(regnode *prog)
REGCP_UNWIND;
}
/* Couldn't or didn't -- move forward. */
- PL_reginput = locinput + ln;
+ PL_reginput = locinput;
if (regrepeat(scan, 1)) {
ln++;
- PL_reginput = locinput + ln;
- } else
+ locinput = PL_reginput;
+ }
+ else
sayNO;
}
}
else {
CHECKPOINT lastcp;
n = regrepeat(scan, n);
+ locinput = PL_reginput;
if (ln < n && regkind[(U8)OP(next)] == EOL &&
(!PL_multiline || OP(next) == SEOL))
ln = n; /* why back off? */
@@ -1528,9 +2021,10 @@ regmatch(regnode *prog)
{
if (paren && n) {
if (n) {
- PL_regstartp[paren] = PL_reginput - 1;
+ PL_regstartp[paren] = HOP(PL_reginput, -1);
PL_regendp[paren] = PL_reginput;
- } else
+ }
+ else
PL_regendp[paren] = NULL;
}
if (regmatch(next))
@@ -1539,9 +2033,10 @@ regmatch(regnode *prog)
}
/* Couldn't or didn't -- back up. */
n--;
- PL_reginput = locinput + n;
+ PL_reginput = locinput = HOP(locinput, -1);
}
- } else {
+ }
+ else {
while (n >= ln) {
/* If it could work, try it. */
if (c1 == -1000 ||
@@ -1554,7 +2049,7 @@ regmatch(regnode *prog)
}
/* Couldn't or didn't -- back up. */
n--;
- PL_reginput = locinput + n;
+ PL_reginput = locinput = HOP(locinput, -1);
}
}
}
@@ -1572,15 +2067,27 @@ regmatch(regnode *prog)
goto do_ifmatch;
case UNLESSM:
n = 0;
- if (locinput < PL_bostr + scan->flags)
- goto say_yes;
+ if (scan->flags) {
+ s = HOPMAYBE(locinput, -scan->flags);
+ if (!s)
+ goto say_yes;
+ PL_reginput = s;
+ }
+ else
+ PL_reginput = locinput;
goto do_ifmatch;
case IFMATCH:
n = 1;
- if (locinput < PL_bostr + scan->flags)
- goto say_no;
+ if (scan->flags) {
+ s = HOPMAYBE(locinput, -scan->flags);
+ if (!s)
+ goto say_no;
+ PL_reginput = s;
+ }
+ else
+ PL_reginput = locinput;
+
do_ifmatch:
- PL_reginput = locinput - scan->flags;
inner = NEXTOPER(NEXTOPER(scan));
if (regmatch(inner) != n) {
say_no:
@@ -1588,7 +2095,8 @@ regmatch(regnode *prog)
logical = 0;
sw = 0;
goto do_longjump;
- } else
+ }
+ else
sayNO;
}
say_yes:
@@ -1642,7 +2150,7 @@ no:
/*
* [This routine now assumes that it will only match on things of length 1.
* That was true before, but now we assume scan - reginput is the count,
- * rather than incrementing count on every character.]
+ * rather than incrementing count on every character. [Er, except utf8.]]
*/
STATIC I32
regrepeat(regnode *p, I32 max)
@@ -1652,6 +2160,7 @@ regrepeat(regnode *p, I32 max)
register char *opnd;
register I32 c;
register char *loceol = PL_regeol;
+ register I32 hardcount = 0;
scan = PL_reginput;
if (max != REG_INFTY && max < loceol - scan)
@@ -1665,6 +2174,20 @@ regrepeat(regnode *p, I32 max)
case SANY:
scan = loceol;
break;
+ case ANYUTF8:
+ loceol = PL_regeol;
+ while (scan < loceol && *scan != '\n') {
+ scan += UTF8SKIP(scan);
+ hardcount++;
+ }
+ break;
+ case SANYUTF8:
+ loceol = PL_regeol;
+ while (scan < loceol) {
+ scan += UTF8SKIP(scan);
+ hardcount++;
+ }
+ break;
case EXACT: /* length of string is 1 */
c = UCHARAT(++opnd);
while (scan < loceol && UCHARAT(scan) == c)
@@ -1683,6 +2206,13 @@ regrepeat(regnode *p, I32 max)
(UCHARAT(scan) == c || UCHARAT(scan) == fold_locale[c]))
scan++;
break;
+ case ANYOFUTF8:
+ loceol = PL_regeol;
+ while (scan < loceol && REGINCLASSUTF8(p, (U8*)scan)) {
+ scan += UTF8SKIP(scan);
+ hardcount++;
+ }
+ break;
case ANYOF:
while (scan < loceol && REGINCLASS(opnd, *scan))
scan++;
@@ -1691,51 +2221,130 @@ regrepeat(regnode *p, I32 max)
while (scan < loceol && isALNUM(*scan))
scan++;
break;
+ case ALNUMUTF8:
+ loceol = PL_regeol;
+ while (scan < loceol && swash_fetch(PL_utf8_alnum, scan)) {
+ scan += UTF8SKIP(scan);
+ hardcount++;
+ }
+ break;
case ALNUML:
PL_reg_flags |= RF_tainted;
while (scan < loceol && isALNUM_LC(*scan))
scan++;
break;
+ case ALNUMLUTF8:
+ PL_reg_flags |= RF_tainted;
+ loceol = PL_regeol;
+ while (scan < loceol && isALNUM_LC_utf8(scan)) {
+ scan += UTF8SKIP(scan);
+ hardcount++;
+ }
+ break;
+ break;
case NALNUM:
while (scan < loceol && !isALNUM(*scan))
scan++;
break;
+ case NALNUMUTF8:
+ loceol = PL_regeol;
+ while (scan < loceol && !swash_fetch(PL_utf8_alnum, scan)) {
+ scan += UTF8SKIP(scan);
+ hardcount++;
+ }
+ break;
case NALNUML:
PL_reg_flags |= RF_tainted;
while (scan < loceol && !isALNUM_LC(*scan))
scan++;
break;
+ case NALNUMLUTF8:
+ PL_reg_flags |= RF_tainted;
+ loceol = PL_regeol;
+ while (scan < loceol && !isALNUM_LC_utf8(scan)) {
+ scan += UTF8SKIP(scan);
+ hardcount++;
+ }
+ break;
case SPACE:
while (scan < loceol && isSPACE(*scan))
scan++;
break;
+ case SPACEUTF8:
+ loceol = PL_regeol;
+ while (scan < loceol && (*scan == ' ' || swash_fetch(PL_utf8_space,scan))) {
+ scan += UTF8SKIP(scan);
+ hardcount++;
+ }
+ break;
case SPACEL:
PL_reg_flags |= RF_tainted;
while (scan < loceol && isSPACE_LC(*scan))
scan++;
break;
+ case SPACELUTF8:
+ PL_reg_flags |= RF_tainted;
+ loceol = PL_regeol;
+ while (scan < loceol && (*scan == ' ' || isSPACE_LC_utf8(scan))) {
+ scan += UTF8SKIP(scan);
+ hardcount++;
+ }
+ break;
case NSPACE:
while (scan < loceol && !isSPACE(*scan))
scan++;
break;
+ case NSPACEUTF8:
+ loceol = PL_regeol;
+ while (scan < loceol && !(*scan == ' ' || swash_fetch(PL_utf8_space,scan))) {
+ scan += UTF8SKIP(scan);
+ hardcount++;
+ }
+ break;
case NSPACEL:
PL_reg_flags |= RF_tainted;
while (scan < loceol && !isSPACE_LC(*scan))
scan++;
break;
+ case NSPACELUTF8:
+ PL_reg_flags |= RF_tainted;
+ loceol = PL_regeol;
+ while (scan < loceol && !(*scan == ' ' || isSPACE_LC_utf8(scan))) {
+ scan += UTF8SKIP(scan);
+ hardcount++;
+ }
+ break;
case DIGIT:
while (scan < loceol && isDIGIT(*scan))
scan++;
break;
+ case DIGITUTF8:
+ loceol = PL_regeol;
+ while (scan < loceol && swash_fetch(PL_utf8_digit,scan)) {
+ scan += UTF8SKIP(scan);
+ hardcount++;
+ }
+ break;
+ break;
case NDIGIT:
while (scan < loceol && !isDIGIT(*scan))
scan++;
break;
+ case NDIGITUTF8:
+ loceol = PL_regeol;
+ while (scan < loceol && !swash_fetch(PL_utf8_digit,scan)) {
+ scan += UTF8SKIP(scan);
+ hardcount++;
+ }
+ break;
default: /* Called on something of 0 width. */
break; /* So match right here or not at all. */
}
- c = scan - PL_reginput;
+ if (hardcount)
+ c = hardcount;
+ else
+ c = scan - PL_reginput;
PL_reginput = scan;
DEBUG_r(
@@ -1764,25 +2373,44 @@ regrepeat_hard(regnode *p, I32 max, I32 *lp)
register char *scan;
register char *start;
register char *loceol = PL_regeol;
- I32 l = -1;
+ I32 l = 0;
+ I32 count = 0;
+
+ if (!max)
+ return 0;
start = PL_reginput;
- while (PL_reginput < loceol && (scan = PL_reginput, regmatch(p))) {
- if (l == -1) {
- *lp = l = PL_reginput - start;
- if (max != REG_INFTY && l*max < loceol - scan)
- loceol = scan + l*max;
- if (l == 0) {
- return max;
+ if (UTF) {
+ while (PL_reginput < loceol && (scan = PL_reginput, regmatch(p))) {
+ if (!count++) {
+ l = 0;
+ while (start < PL_reginput) {
+ l++;
+ start += UTF8SKIP(start);
+ }
+ *lp = l;
+ if (l == 0)
+ return max;
+ }
+ if (count == max)
+ return count;
+ }
+ }
+ else {
+ while (PL_reginput < loceol && (scan = PL_reginput, regmatch(p))) {
+ if (!count++) {
+ *lp = l = PL_reginput - start;
+ if (max != REG_INFTY && l*max < loceol - scan)
+ loceol = scan + l*max;
+ if (l == 0)
+ return max;
}
}
}
if (PL_reginput < loceol)
PL_reginput = scan;
- else
- scan = PL_reginput;
- return (scan - start)/l;
+ return count;
}
/*
@@ -1826,5 +2454,87 @@ reginclass(register char *p, register I32 c)
return (flags & ANYOF_INVERT) ? !match : match;
}
+STATIC bool
+reginclassutf8(regnode *f, U8 *p)
+{
+ char flags = ARG1(f);
+ bool match = FALSE;
+ SV *sv = (SV*)PL_regdata->data[ARG2(f)];
+
+ if (swash_fetch(sv, p))
+ match = TRUE;
+ else if (flags & ANYOF_FOLD) {
+ I32 cf;
+ char tmpbuf[10];
+ if (flags & ANYOF_LOCALE) {
+ PL_reg_flags |= RF_tainted;
+ uv_to_utf8(tmpbuf, toLOWER_LC_utf8(p));
+ }
+ else
+ uv_to_utf8(tmpbuf, toLOWER_utf8(p));
+ if (swash_fetch(sv, tmpbuf))
+ match = TRUE;
+ }
+
+ if (!match && (flags & ANYOF_ISA)) {
+ PL_reg_flags |= RF_tainted;
+
+ if (((flags & ANYOF_ALNUML) && isALNUM_LC_utf8(p)) ||
+ ((flags & ANYOF_NALNUML) && !isALNUM_LC_utf8(p)) ||
+ ((flags & ANYOF_SPACEL) && isSPACE_LC_utf8(p)) ||
+ ((flags & ANYOF_NSPACEL) && !isSPACE_LC_utf8(p)))
+ {
+ match = TRUE;
+ }
+ }
+
+ return (flags & ANYOF_INVERT) ? !match : match;
+}
+STATIC char *
+reghop(unsigned char *s, I32 off)
+{
+ if (off >= 0) {
+ while (off-- && s < (U8*)PL_regeol)
+ s += UTF8SKIP(s);
+ }
+ else {
+ while (off++) {
+ if (s > (U8*)PL_bostr) {
+ s--;
+ if (*s & 0x80) {
+ while (s > (U8*)PL_bostr && (*s & 0xc0) == 0x80)
+ s--;
+ } /* XXX could check well-formedness here */
+ }
+ }
+ }
+ return s;
+}
+STATIC char *
+reghopmaybe(unsigned char *s, I32 off)
+{
+ if (off >= 0) {
+ while (off-- && s < (U8*)PL_regeol)
+ s += UTF8SKIP(s);
+ if (off >= 0)
+ return 0;
+ }
+ else {
+ while (off++) {
+ if (s > (U8*)PL_bostr) {
+ s--;
+ if (*s & 0x80) {
+ while (s > (U8*)PL_bostr && (*s & 0xc0) == 0x80)
+ s--;
+ } /* XXX could check well-formedness here */
+ }
+ else
+ break;
+ }
+ if (off <= 0)
+ return 0;
+ }
+ return s;
+}
diff --git a/regexp.h b/regexp.h
index fbc92370b8..5082610f57 100644
--- a/regexp.h
+++ b/regexp.h
@@ -46,8 +46,7 @@ typedef struct regexp {
char *subbase; /* saved string so \digit works forever */
char *subbeg; /* same, but not responsible for allocation */
char *subend; /* end of subbase */
- U16 naughty; /* how exponential is this pattern? */
- U16 reganch; /* Internal use only +
+ U32 reganch; /* Internal use only +
Tainted information used by regexec? */
#if 0
SV *anchored_substr; /* Substring at fixed position wrt start. */
@@ -76,19 +75,23 @@ typedef struct regexp {
#define ROPT_ANCH (ROPT_ANCH_BOL|ROPT_ANCH_MBOL|ROPT_ANCH_GPOS)
#define ROPT_ANCH_SINGLE (ROPT_ANCH_BOL|ROPT_ANCH_GPOS)
-#define ROPT_ANCH_BOL 1
-#define ROPT_ANCH_MBOL 2
-#define ROPT_ANCH_GPOS 4
-#define ROPT_SKIP 8
-#define ROPT_IMPLICIT 0x10 /* Converted .* to ^.* */
-#define ROPT_NOSCAN 0x20 /* Check-string always at start. */
-#define ROPT_GPOS_SEEN 0x40
-#define ROPT_CHECK_ALL 0x80
-#define ROPT_LOOKBEHIND_SEEN 0x100
-#define ROPT_EVAL_SEEN 0x200
-#define ROPT_TAINTED_SEEN 0x400
+#define ROPT_ANCH_BOL 0x00001
+#define ROPT_ANCH_MBOL 0x00002
+#define ROPT_ANCH_GPOS 0x00004
+#define ROPT_SKIP 0x00008
+#define ROPT_IMPLICIT 0x00010 /* Converted .* to ^.* */
+#define ROPT_NOSCAN 0x00020 /* Check-string always at start. */
+#define ROPT_GPOS_SEEN 0x00040
+#define ROPT_CHECK_ALL 0x00080
+#define ROPT_LOOKBEHIND_SEEN 0x00100
+#define ROPT_EVAL_SEEN 0x00200
+#define ROPT_TAINTED_SEEN 0x00400
+
/* 0xf800 of reganch is used by PMf_COMPILETIME */
+#define ROPT_UTF8 0x10000
+#define ROPT_NAUGHTY 0x20000 /* how exponential is this pattern? */
+
#define RX_MATCH_TAINTED(prog) ((prog)->reganch & ROPT_TAINTED_SEEN)
#define RX_MATCH_TAINTED_on(prog) ((prog)->reganch |= ROPT_TAINTED_SEEN)
#define RX_MATCH_TAINTED_off(prog) ((prog)->reganch &= ~ROPT_TAINTED_SEEN)
diff --git a/regnodes.h b/regnodes.h
index c494daed12..c64c4b7944 100644
--- a/regnodes.h
+++ b/regnodes.h
@@ -3,7 +3,7 @@
Any changes made here will be lost!
*/
-#define END 0 /* 0 End of program. */
+#define END 0 /* 0x0 End of program. */
#define SUCCEED 1 /* 0x1 Return from a subroutine, basically. */
#define BOL 2 /* 0x2 Match "" at beginning of line. */
#define MBOL 3 /* 0x3 Same, assuming multiline. */
@@ -13,54 +13,72 @@
#define MEOL 7 /* 0x7 Same, assuming multiline. */
#define SEOL 8 /* 0x8 Same, assuming singleline. */
#define BOUND 9 /* 0x9 Match "" at any word boundary */
-#define BOUNDL 10 /* 0xa Match "" at any word boundary */
-#define NBOUND 11 /* 0xb Match "" at any word non-boundary */
-#define NBOUNDL 12 /* 0xc Match "" at any word non-boundary */
-#define GPOS 13 /* 0xd Matches where last m//g left off. */
-#define ANY 14 /* 0xe Match any one character (except newline). */
-#define SANY 15 /* 0xf Match any one character. */
-#define ANYOF 16 /* 0x10 Match character in (or not in) this class. */
-#define ALNUM 17 /* 0x11 Match any alphanumeric character */
-#define ALNUML 18 /* 0x12 Match any alphanumeric char in locale */
-#define NALNUM 19 /* 0x13 Match any non-alphanumeric character */
-#define NALNUML 20 /* 0x14 Match any non-alphanumeric char in locale */
-#define SPACE 21 /* 0x15 Match any whitespace character */
-#define SPACEL 22 /* 0x16 Match any whitespace char in locale */
-#define NSPACE 23 /* 0x17 Match any non-whitespace character */
-#define NSPACEL 24 /* 0x18 Match any non-whitespace char in locale */
-#define DIGIT 25 /* 0x19 Match any numeric character */
-#define NDIGIT 26 /* 0x1a Match any non-numeric character */
-#define BRANCH 27 /* 0x1b Match this alternative, or the next... */
-#define BACK 28 /* 0x1c Match "", "next" ptr points backward. */
-#define EXACT 29 /* 0x1d Match this string (preceded by length). */
-#define EXACTF 30 /* 0x1e Match this string, folded (prec. by length). */
-#define EXACTFL 31 /* 0x1f Match this string, folded in locale (w/len). */
-#define NOTHING 32 /* 0x20 Match empty string. */
-#define TAIL 33 /* 0x21 Match empty string. Can jump here from outside. */
-#define STAR 34 /* 0x22 Match this (simple) thing 0 or more times. */
-#define PLUS 35 /* 0x23 Match this (simple) thing 1 or more times. */
-#define CURLY 36 /* 0x24 Match this simple thing {n,m} times. */
-#define CURLYN 37 /* 0x25 Match next-after-this simple thing */
-#define CURLYM 38 /* 0x26 Match this medium-complex thing {n,m} times. */
-#define CURLYX 39 /* 0x27 Match this complex thing {n,m} times. */
-#define WHILEM 40 /* 0x28 Do curly processing and see if rest matches. */
-#define OPEN 41 /* 0x29 Mark this point in input as start of #n. */
-#define CLOSE 42 /* 0x2a Analogous to OPEN. */
-#define REF 43 /* 0x2b Match some already matched string */
-#define REFF 44 /* 0x2c Match already matched string, folded */
-#define REFFL 45 /* 0x2d Match already matched string, folded in loc. */
-#define IFMATCH 46 /* 0x2e Succeeds if the following matches. */
-#define UNLESSM 47 /* 0x2f Fails if the following matches. */
-#define SUSPEND 48 /* 0x30 "Independent" sub-RE. */
-#define IFTHEN 49 /* 0x31 Switch, should be preceeded by switcher . */
-#define GROUPP 50 /* 0x32 Whether the group matched. */
-#define LONGJMP 51 /* 0x33 Jump far away. */
-#define BRANCHJ 52 /* 0x34 BRANCH with long offset. */
-#define EVAL 53 /* 0x35 Execute some Perl code. */
-#define MINMOD 54 /* 0x36 Next operator is not greedy. */
-#define LOGICAL 55 /* 0x37 Next opcode should set the flag only. */
-#define RENUM 56 /* 0x38 Group with independently numbered parens. */
-#define OPTIMIZED 57 /* 0x39 Placeholder for dump. */
+#define BOUNDUTF8 10 /* 0xa Match "" at any word boundary */
+#define BOUNDL 11 /* 0xb Match "" at any word boundary */
+#define BOUNDLUTF8 12 /* 0xc Match "" at any word boundary */
+#define NBOUND 13 /* 0xd Match "" at any word non-boundary */
+#define NBOUNDUTF8 14 /* 0xe Match "" at any word non-boundary */
+#define NBOUNDL 15 /* 0xf Match "" at any word non-boundary */
+#define NBOUNDLUTF8 16 /* 0x10 Match "" at any word non-boundary */
+#define GPOS 17 /* 0x11 Matches where last m//g left off. */
+#define ANY 18 /* 0x12 Match any one character (except newline). */
+#define ANYUTF8 19 /* 0x13 Match any one Unicode character (except newline). */
+#define SANY 20 /* 0x14 Match any one character. */
+#define SANYUTF8 21 /* 0x15 Match any one Unicode character. */
+#define ANYOF 22 /* 0x16 Match character in (or not in) this class. */
+#define ANYOFUTF8 23 /* 0x17 Match character in (or not in) this class. */
+#define ALNUM 24 /* 0x18 Match any alphanumeric character */
+#define ALNUMUTF8 25 /* 0x19 Match any alphanumeric character */
+#define ALNUML 26 /* 0x1a Match any alphanumeric char in locale */
+#define ALNUMLUTF8 27 /* 0x1b Match any alphanumeric char in locale */
+#define NALNUM 28 /* 0x1c Match any non-alphanumeric character */
+#define NALNUMUTF8 29 /* 0x1d Match any non-alphanumeric character */
+#define NALNUML 30 /* 0x1e Match any non-alphanumeric char in locale */
+#define NALNUMLUTF8 31 /* 0x1f Match any non-alphanumeric char in locale */
+#define SPACE 32 /* 0x20 Match any whitespace character */
+#define SPACEUTF8 33 /* 0x21 Match any whitespace character */
+#define SPACEL 34 /* 0x22 Match any whitespace char in locale */
+#define SPACELUTF8 35 /* 0x23 Match any whitespace char in locale */
+#define NSPACE 36 /* 0x24 Match any non-whitespace character */
+#define NSPACEUTF8 37 /* 0x25 Match any non-whitespace character */
+#define NSPACEL 38 /* 0x26 Match any non-whitespace char in locale */
+#define NSPACELUTF8 39 /* 0x27 Match any non-whitespace char in locale */
+#define DIGIT 40 /* 0x28 Match any numeric character */
+#define DIGITUTF8 41 /* 0x29 Match any numeric character */
+#define NDIGIT 42 /* 0x2a Match any non-numeric character */
+#define NDIGITUTF8 43 /* 0x2b Match any non-numeric character */
+#define CLUMP 44 /* 0x2c Match any combining character sequence */
+#define BRANCH 45 /* 0x2d Match this alternative, or the next... */
+#define BACK 46 /* 0x2e Match "", "next" ptr points backward. */
+#define EXACT 47 /* 0x2f Match this string (preceded by length). */
+#define EXACTF 48 /* 0x30 Match this string, folded (prec. by length). */
+#define EXACTFL 49 /* 0x31 Match this string, folded in locale (w/len). */
+#define NOTHING 50 /* 0x32 Match empty string. */
+#define TAIL 51 /* 0x33 Match empty string. Can jump here from outside. */
+#define STAR 52 /* 0x34 Match this (simple) thing 0 or more times. */
+#define PLUS 53 /* 0x35 Match this (simple) thing 1 or more times. */
+#define CURLY 54 /* 0x36 Match this simple thing {n,m} times. */
+#define CURLYN 55 /* 0x37 Match next-after-this simple thing */
+#define CURLYM 56 /* 0x38 Match this medium-complex thing {n,m} times. */
+#define CURLYX 57 /* 0x39 Match this complex thing {n,m} times. */
+#define WHILEM 58 /* 0x3a Do curly processing and see if rest matches. */
+#define OPEN 59 /* 0x3b Mark this point in input as start of #n. */
+#define CLOSE 60 /* 0x3c Analogous to OPEN. */
+#define REF 61 /* 0x3d Match some already matched string */
+#define REFF 62 /* 0x3e Match already matched string, folded */
+#define REFFL 63 /* 0x3f Match already matched string, folded in loc. */
+#define IFMATCH 64 /* 0x40 Succeeds if the following matches. */
+#define UNLESSM 65 /* 0x41 Fails if the following matches. */
+#define SUSPEND 66 /* 0x42 "Independent" sub-RE. */
+#define IFTHEN 67 /* 0x43 Switch, should be preceeded by switcher . */
+#define GROUPP 68 /* 0x44 Whether the group matched. */
+#define LONGJMP 69 /* 0x45 Jump far away. */
+#define BRANCHJ 70 /* 0x46 BRANCH with long offset. */
+#define EVAL 71 /* 0x47 Execute some Perl code. */
+#define MINMOD 72 /* 0x48 Next operator is not greedy. */
+#define LOGICAL 73 /* 0x49 Next opcode should set the flag only. */
+#define RENUM 74 /* 0x4a Group with independently numbered parens. */
+#define OPTIMIZED 75 /* 0x4b Placeholder for dump. */
#ifndef DOINIT
EXTCONST U8 regkind[];
@@ -76,23 +94,41 @@ EXTCONST U8 regkind[] = {
EOL, /* MEOL */
EOL, /* SEOL */
BOUND, /* BOUND */
+ BOUND, /* BOUNDUTF8 */
BOUND, /* BOUNDL */
+ BOUND, /* BOUNDLUTF8 */
NBOUND, /* NBOUND */
+ NBOUND, /* NBOUNDUTF8 */
NBOUND, /* NBOUNDL */
+ NBOUND, /* NBOUNDLUTF8 */
GPOS, /* GPOS */
ANY, /* ANY */
+ ANY, /* ANYUTF8 */
ANY, /* SANY */
+ ANY, /* SANYUTF8 */
ANYOF, /* ANYOF */
+ ANYOF, /* ANYOFUTF8 */
ALNUM, /* ALNUM */
+ ALNUM, /* ALNUMUTF8 */
ALNUM, /* ALNUML */
+ ALNUM, /* ALNUMLUTF8 */
NALNUM, /* NALNUM */
+ NALNUM, /* NALNUMUTF8 */
NALNUM, /* NALNUML */
+ NALNUM, /* NALNUMLUTF8 */
SPACE, /* SPACE */
+ SPACE, /* SPACEUTF8 */
SPACE, /* SPACEL */
+ SPACE, /* SPACELUTF8 */
NSPACE, /* NSPACE */
+ NSPACE, /* NSPACEUTF8 */
NSPACE, /* NSPACEL */
+ NSPACE, /* NSPACELUTF8 */
DIGIT, /* DIGIT */
+ DIGIT, /* DIGITUTF8 */
NDIGIT, /* NDIGIT */
+ NDIGIT, /* NDIGITUTF8 */
+ CLUMP, /* CLUMP */
BRANCH, /* BRANCH */
BACK, /* BACK */
EXACT, /* EXACT */
@@ -140,23 +176,41 @@ const static U8 regarglen[] = {
0, /* MEOL */
0, /* SEOL */
0, /* BOUND */
+ 0, /* BOUNDUTF8 */
0, /* BOUNDL */
+ 0, /* BOUNDLUTF8 */
0, /* NBOUND */
+ 0, /* NBOUNDUTF8 */
0, /* NBOUNDL */
+ 0, /* NBOUNDLUTF8 */
0, /* GPOS */
0, /* ANY */
+ 0, /* ANYUTF8 */
0, /* SANY */
+ 0, /* SANYUTF8 */
0, /* ANYOF */
+ EXTRA_SIZE(struct regnode_1), /* ANYOFUTF8 */
0, /* ALNUM */
+ 0, /* ALNUMUTF8 */
0, /* ALNUML */
+ 0, /* ALNUMLUTF8 */
0, /* NALNUM */
+ 0, /* NALNUMUTF8 */
0, /* NALNUML */
+ 0, /* NALNUMLUTF8 */
0, /* SPACE */
+ 0, /* SPACEUTF8 */
0, /* SPACEL */
+ 0, /* SPACELUTF8 */
0, /* NSPACE */
+ 0, /* NSPACEUTF8 */
0, /* NSPACEL */
+ 0, /* NSPACELUTF8 */
0, /* DIGIT */
+ 0, /* DIGITUTF8 */
0, /* NDIGIT */
+ 0, /* NDIGITUTF8 */
+ 0, /* CLUMP */
0, /* BRANCH */
0, /* BACK */
0, /* EXACT */
@@ -201,23 +255,41 @@ const static char reg_off_by_arg[] = {
0, /* MEOL */
0, /* SEOL */
0, /* BOUND */
+ 0, /* BOUNDUTF8 */
0, /* BOUNDL */
+ 0, /* BOUNDLUTF8 */
0, /* NBOUND */
+ 0, /* NBOUNDUTF8 */
0, /* NBOUNDL */
+ 0, /* NBOUNDLUTF8 */
0, /* GPOS */
0, /* ANY */
+ 0, /* ANYUTF8 */
0, /* SANY */
+ 0, /* SANYUTF8 */
0, /* ANYOF */
+ 0, /* ANYOFUTF8 */
0, /* ALNUM */
+ 0, /* ALNUMUTF8 */
0, /* ALNUML */
+ 0, /* ALNUMLUTF8 */
0, /* NALNUM */
+ 0, /* NALNUMUTF8 */
0, /* NALNUML */
+ 0, /* NALNUMLUTF8 */
0, /* SPACE */
+ 0, /* SPACEUTF8 */
0, /* SPACEL */
+ 0, /* SPACELUTF8 */
0, /* NSPACE */
+ 0, /* NSPACEUTF8 */
0, /* NSPACEL */
+ 0, /* NSPACELUTF8 */
0, /* DIGIT */
+ 0, /* DIGITUTF8 */
0, /* NDIGIT */
+ 0, /* NDIGITUTF8 */
+ 0, /* CLUMP */
0, /* BRANCH */
0, /* BACK */
0, /* EXACT */
diff --git a/sv.c b/sv.c
index 3652b9d83d..278ad8b781 100644
--- a/sv.c
+++ b/sv.c
@@ -2388,6 +2388,7 @@ sv_usepvn(register SV *sv, register char *ptr, register STRLEN len)
(void)SvOK_off(sv);
return;
}
+ (void)SvOOK_off(sv);
if (SvPVX(sv))
Safefree(SvPVX(sv));
Renew(ptr, len+1, char);
@@ -3060,6 +3061,85 @@ sv_len(register SV *sv)
return len;
}
+STRLEN
+sv_len_utf8(register SV *sv)
+{
+ unsigned char *s;
+ unsigned char *send;
+ STRLEN len;
+
+ if (!sv)
+ return 0;
+
+#ifdef NOTYET
+ if (SvGMAGICAL(sv))
+ len = mg_length(sv);
+ else
+#endif
+ s = SvPV(sv, len);
+ send = s + len;
+ len = 0;
+ while (s < send) {
+ s += UTF8SKIP(s);
+ len++;
+ }
+ return len;
+}
+
+void
+sv_pos_u2b(register SV *sv, I32* offsetp, I32* lenp)
+{
+ unsigned char *start;
+ unsigned char *s;
+ unsigned char *send;
+ I32 uoffset = *offsetp;
+ STRLEN len;
+
+ if (!sv)
+ return;
+
+ start = s = SvPV(sv, len);
+ send = s + len;
+ while (s < send && uoffset--)
+ s += UTF8SKIP(s);
+ *offsetp = s - start;
+ if (lenp) {
+ I32 ulen = *lenp;
+ start = s;
+ while (s < send && ulen--)
+ s += UTF8SKIP(s);
+ *lenp = s - start;
+ }
+ return;
+}
+
+void
+sv_pos_b2u(register SV *sv, I32* offsetp)
+{
+ unsigned char *s;
+ unsigned char *send;
+ STRLEN len;
+
+ if (!sv)
+ return;
+
+ s = SvPV(sv, len);
+ if (len < *offsetp)
+ croak("panic: bad byte offset");
+ send = s + *offsetp;
+ len = 0;
+ while (s < send) {
+ s += UTF8SKIP(s);
+ ++len;
+ }
+ if (s != send) {
+ warn("Malformed UTF-8 character");
+ --len;
+ }
+ *offsetp = len;
+ return;
+}
+
I32
sv_eq(register SV *str1, register SV *str2)
{
@@ -4417,6 +4497,7 @@ sv_vcatpvfn(SV *sv, const char *pat, STRLEN patlen, va_list *args, SV **svargs,
STRLEN precis = 0;
char esignbuf[4];
+ char utf8buf[10];
STRLEN esignlen = 0;
char *eptr = Nullch;
@@ -4545,6 +4626,16 @@ sv_vcatpvfn(SV *sv, const char *pat, STRLEN patlen, va_list *args, SV **svargs,
goto string;
case 'c':
+ if (IN_UTF8) {
+ if (args)
+ uv = va_arg(*args, int);
+ else
+ uv = (svix < svmax) ? SvIVx(svargs[svix++]) : 0;
+
+ eptr = utf8buf;
+ elen = uv_to_utf8(eptr, uv) - utf8buf;
+ goto string;
+ }
if (args)
c = va_arg(*args, int);
else
@@ -4563,8 +4654,19 @@ sv_vcatpvfn(SV *sv, const char *pat, STRLEN patlen, va_list *args, SV **svargs,
elen = sizeof nullstr - 1;
}
}
- else if (svix < svmax)
+ else if (svix < svmax) {
eptr = SvPVx(svargs[svix++], elen);
+ if (IN_UTF8) {
+ if (has_precis && precis < elen) {
+ I32 p = precis;
+ sv_pos_u2b(svargs[svix - 1], &p, 0); /* sticks at end */
+ precis = p;
+ }
+ if (width) { /* fudge width (can't fudge elen) */
+ width += elen - sv_len_utf8(svargs[svix - 1]);
+ }
+ }
+ }
goto string;
case '_':
diff --git a/t/UTEST b/t/UTEST
new file mode 100755
index 0000000000..4fc160d3e5
--- /dev/null
+++ b/t/UTEST
@@ -0,0 +1,192 @@
+#!./perl
+
+# Last change: Fri Jan 10 09:57:03 WET 1997
+
+# This is written in a peculiar style, since we're trying to avoid
+# most of the constructs we'll be testing for.
+
+$| = 1;
+
+if ($#ARGV >= 0 && $ARGV[0] eq '-v') {
+ $verbose = 1;
+ shift;
+}
+
+chdir 't' if -f 't/TEST';
+
+die "You need to run \"make test\" first to set things up.\n"
+ unless -e 'perl' or -e 'perl.exe';
+
+#$ENV{PERL_DESTRUCT_LEVEL} = '2';
+$ENV{EMXSHELL} = 'sh'; # For OS/2
+
+if ($#ARGV == -1) {
+ @ARGV = split(/[ \n]/,
+ `echo base/*.t comp/*.t cmd/*.t io/*.t; echo op/*.t pragma/*.t lib/*.t`);
+}
+
+if ($^O eq 'os2' || $^O eq 'qnx') {
+ $sharpbang = 0;
+}
+else {
+ open(CONFIG, "../config.sh");
+ while (<CONFIG>) {
+ if (/sharpbang='(.*)'/) {
+ $sharpbang = ($1 eq '#!');
+ last;
+ }
+ }
+ close(CONFIG);
+}
+
+%infinite = ( 'comp/require.t', 1, 'op/bop.t', 1, 'lib/hostname.t', 1 );
+
+_testprogs('perl', @ARGV);
+_testprogs('compile', @ARGV) if (-e "../testcompile");
+
+sub _testprogs {
+ $type = shift @_;
+ @tests = @_;
+
+
+ print <<'EOT' if ($type eq 'compile');
+--------------------------------------------------------------------------------
+TESTING COMPILER
+--------------------------------------------------------------------------------
+EOT
+
+ $bad = 0;
+ $good = 0;
+ $total = @tests;
+ $files = 0;
+ $totmax = 0;
+ while ($test = shift @tests) {
+
+ if ( $infinite{$test} && $type eq 'compile' ) {
+ print STDERR "$test creates infinite loop! Skipping.\n";
+ next;
+ }
+ if ($test =~ /^$/) {
+ next;
+ }
+ $te = $test;
+ chop($te);
+ print "$te" . '.' x (18 - length($te));
+ if (0) {
+ -x $test || (print "isn't executable.\n");
+
+ if ($type eq 'perl') {
+ open(RESULTS, "./$test |") || (print "can't run.\n"); }
+ else {
+ open(RESULTS, "./perl -I../lib ../utils/perlcc ./$test -run -verbose dcf -log ../compilelog |") or print "can't compile.\n";
+ }
+ }
+ else {
+ open(SCRIPT,"$test") or die "Can't run $test.\n";
+ $_ = <SCRIPT>;
+ close(SCRIPT);
+ if (/#!..perl(.*)/) {
+ $switch = $1;
+ if ($^O eq 'VMS') {
+ # Must protect uppercase switches with "" on command line
+ $switch =~ s/-([A-Z]\S*)/"-$1"/g;
+ }
+ }
+ else {
+ $switch = '';
+ }
+
+ if ($type eq 'perl') {
+ open(RESULTS,"./perl$switch -I../lib -Mutf8 $test |") || (print "can't run.\n");
+ }
+ else {
+ open(RESULTS, "./perl -I../lib ../utils/perlcc -Mutf8 ./$test -run -verbose dcf -log ../compilelog |") or print "can't compile.\n";
+ }
+ }
+ $ok = 0;
+ $next = 0;
+ while (<RESULTS>) {
+ if ($verbose) {
+ print $_;
+ }
+ unless (/^#/) {
+ if (/^1\.\.([0-9]+)/) {
+ $max = $1;
+ $totmax += $max;
+ $files += 1;
+ $next = 1;
+ $ok = 1;
+ }
+ else {
+ $next = $1, $ok = 0, last if /^not ok ([0-9]*)/;
+ if (/^ok (\d+)(\s*#.*)?$/ && $1 == $next) {
+ $next = $next + 1;
+ }
+ else {
+ $ok = 0;
+ }
+ }
+ }
+ }
+ close RESULTS;
+ $next = $next - 1;
+ if ($ok && $next == $max) {
+ if ($max) {
+ print "ok\n";
+ $good = $good + 1;
+ }
+ else {
+ print "skipping test on this platform\n";
+ $files -= 1;
+ }
+ }
+ else {
+ $next += 1;
+ print "FAILED at test $next\n";
+ $bad = $bad + 1;
+ $_ = $test;
+ if (/^base/) {
+ die "Failed a basic test--cannot continue.\n";
+ }
+ }
+ }
+
+ if ($bad == 0) {
+ if ($ok) {
+ print "All tests successful.\n";
+ # XXX add mention of 'perlbug -ok' ?
+ }
+ else {
+ die "FAILED--no tests were run for some reason.\n";
+ }
+ }
+ else {
+ $pct = sprintf("%.2f", $good / $total * 100);
+ if ($bad == 1) {
+ warn "Failed 1 test script out of $total, $pct% okay.\n";
+ }
+ else {
+ warn "Failed $bad test scripts out of $total, $pct% okay.\n";
+ }
+ warn <<'SHRDLU';
+ ### Since not all tests were successful, you may want to run some
+ ### of them individually and examine any diagnostic messages they
+ ### produce. See the INSTALL document's section on "make test".
+ ### If you are testing the compiler, then ignore this message
+ ### and run
+ ### ./perl harness
+ ### in the directory ./t.
+SHRDLU
+ warn <<'SHRDLU' if $good / $total > 0.8;
+ ###
+ ### Since most tests were successful, you have a good chance to
+ ### get information with better granularity by running
+ ### ./perl harness
+ ### in directory ./t.
+SHRDLU
+ }
+ ($user,$sys,$cuser,$csys) = times;
+ print sprintf("u=%g s=%g cu=%g cs=%g scripts=%d tests=%d\n",
+ $user,$sys,$cuser,$csys,$files,$totmax);
+}
+exit ($bad != 0);
diff --git a/t/op/vec.t b/t/op/vec.t
index 71171447d6..bf60fc4a08 100755
--- a/t/op/vec.t
+++ b/t/op/vec.t
@@ -8,7 +8,7 @@ print vec($foo,0,1) == 0 ? "ok 1\n" : "not ok 1\n";
print length($foo) == 0 ? "ok 2\n" : "not ok 2\n";
vec($foo,0,1) = 1;
print length($foo) == 1 ? "ok 3\n" : "not ok 3\n";
-print ord($foo) == 1 ? "ok 4\n" : "not ok 4\n";
+print unpack('C',$foo) == 1 ? "ok 4\n" : "not ok 4\n";
print vec($foo,0,1) == 1 ? "ok 5\n" : "not ok 5\n";
print vec($foo,20,1) == 0 ? "ok 6\n" : "not ok 6\n";
@@ -18,7 +18,7 @@ print length($foo) == 3 ? "ok 8\n" : "not ok 8\n";
print vec($foo,1,8) == 0 ? "ok 9\n" : "not ok 9\n";
vec($foo,1,8) = 0xf1;
print vec($foo,1,8) == 0xf1 ? "ok 10\n" : "not ok 10\n";
-print ((ord(substr($foo,1,1)) & 255) == 0xf1 ? "ok 11\n" : "not ok 11\n");
+print ((unpack('C',substr($foo,1,1)) & 255) == 0xf1 ? "ok 11\n" : "not ok 11\n");
print vec($foo,2,4) == 1 ? "ok 12\n" : "not ok 12\n";
print vec($foo,3,4) == 15 ? "ok 13\n" : "not ok 13\n";
vec($Vec, 0, 32) = 0xbaddacab;
diff --git a/toke.c b/toke.c
index 64c69813b9..9f9631990b 100644
--- a/toke.c
+++ b/toke.c
@@ -59,6 +59,8 @@ static void restore_lex_expect _((void *e));
static char ident_too_long[] = "Identifier too long";
+#define UTF (PL_hints & HINT_UTF8)
+
/* The following are arranged oddly so that the guard on the switch statement
* can get by with a single comparison (if the compiler is smart enough).
*/
@@ -228,6 +230,35 @@ win32_textfilter(int idx, SV *sv, int maxlen)
}
#endif
+STATIC I32
+utf16_textfilter(int idx, SV *sv, int maxlen)
+{
+ I32 count = FILTER_READ(idx+1, sv, maxlen);
+ if (count) {
+ char* tmps;
+ char* tend;
+ New(898, tmps, SvCUR(sv) * 3 / 2 + 1, char);
+ tend = utf16_to_utf8((U16*)SvPVX(sv), tmps, SvCUR(sv));
+ sv_usepvn(sv, tmps, tend - tmps);
+
+ }
+ return count;
+}
+
+STATIC I32
+utf16rev_textfilter(int idx, SV *sv, int maxlen)
+{
+ I32 count = FILTER_READ(idx+1, sv, maxlen);
+ if (count) {
+ char* tmps;
+ char* tend;
+ New(898, tmps, SvCUR(sv) * 3 / 2 + 1, char);
+ tend = utf16_to_utf8_reversed((U16*)SvPVX(sv), tmps, SvCUR(sv));
+ sv_usepvn(sv, tmps, tend - tmps);
+
+ }
+ return count;
+}
void
lex_start(SV *line)
@@ -845,11 +876,17 @@ scan_const(char *start)
register char *d = SvPVX(sv); /* destination for copies */
bool dorange = FALSE; /* are we in a translit range? */
I32 len; /* ? */
+ I32 utf = PL_lex_inwhat == OP_TRANS
+ ? (PL_sublex_info.sub_op->op_private & (OPpTRANS_FROM_UTF|OPpTRANS_TO_UTF))
+ : UTF;
+ I32 thisutf = PL_lex_inwhat == OP_TRANS
+ ? (PL_sublex_info.sub_op->op_private & (PL_lex_repl ? OPpTRANS_FROM_UTF : OPpTRANS_TO_UTF))
+ : UTF;
/* leaveit is the set of acceptably-backslashed characters */
char *leaveit =
PL_lex_inpat
- ? "\\.^$@AGZdDwWsSbB+*?|()-nrtfeaxcz0123456789[{]} \t\n\r\f\v#"
+ ? "\\.^$@AGZdDwWsSbBpPXC+*?|()-nrtfeaxcz0123456789[{]} \t\n\r\f\v#"
: "";
while (s < send || dorange) {
@@ -877,6 +914,11 @@ scan_const(char *start)
/* range begins (ignore - as first or last char) */
else if (*s == '-' && s+1 < send && s != start) {
+ if (utf) {
+ *d++ = 0xff; /* use illegal utf8 byte--see pmtrans */
+ s++;
+ continue;
+ }
dorange = TRUE;
s++;
}
@@ -933,6 +975,17 @@ scan_const(char *start)
break; /* in regexp, $ might be tail anchor */
}
+ /* (now in tr/// code again) */
+
+ if (*s & 0x80 && dowarn && thisutf) {
+ (void)utf8_to_uv(s, &len); /* could cvt latin-1 to utf8 here... */
+ if (len) {
+ while (len--)
+ *d++ = *s++;
+ continue;
+ }
+ }
+
/* backslashes */
if (*s == '\\' && s+1 < send) {
s++;
@@ -984,8 +1037,35 @@ scan_const(char *start)
/* \x24 indicates a hex constant */
case 'x':
- *d++ = scan_hex(++s, 2, &len);
- s += len;
+ ++s;
+ if (*s == '{') {
+ char* e = strchr(s, '}');
+
+ if (!e)
+ yyerror("Missing right brace on \\x{}");
+ if (dowarn && !utf)
+ warn("Use of \\x{} without utf8 declaration");
+ /* note: utf always shorter than hex */
+ d = uv_to_utf8(d, scan_hex(s + 1, e - s, &len));
+ s = e + 1;
+
+ }
+ else {
+ UV uv = (UV)scan_hex(s, 2, &len);
+ if (utf && PL_lex_inwhat == OP_TRANS &&
+ utf != (OPpTRANS_FROM_UTF|OPpTRANS_TO_UTF))
+ {
+ d = uv_to_utf8(d, uv); /* doing a CU or UC */
+ }
+ else {
+ if (dowarn && uv >= 127 && UTF)
+ warn(
+ "\\x%.*s will produce malformed UTF-8 character; use \\x{%.*s} for that",
+ len,s,len,s);
+ *d++ = (char)uv;
+ }
+ s += len;
+ }
continue;
/* \c is a control character */
@@ -1726,7 +1806,17 @@ yylex(void)
retry:
switch (*s) {
default:
- croak("Unrecognized character \\%03o", *s & 255);
+ /*
+ * Note: we try to be careful never to call the isXXX_utf8() functions unless we're
+ * pretty sure we've seen the beginning of a UTF-8 character (that is, the two high
+ * bits are set). Otherwise we risk loading in the heavy-duty SWASHINIT and SWASHGET
+ * routines unnecessarily. You will see this not just here but throughout this file.
+ */
+ if (UTF && (*s & 0xc0) == 0x80) {
+ if (isIDFIRST_utf8(s))
+ goto keylookup;
+ }
+ croak("Unrecognized character \\x%02X", *s & 255);
case 4:
case 26:
goto fake_eof; /* emulate EOF on ^D or ^Z */
@@ -2721,7 +2811,7 @@ yylex(void)
missingterm((char*)0);
yylval.ival = OP_CONST;
for (d = SvPV(PL_lex_stuff, len); len; len--, d++) {
- if (*d == '$' || *d == '@' || *d == '\\') {
+ if (*d == '$' || *d == '@' || *d == '\\' || *d & 0x80) {
yylval.ival = OP_STRINGIFY;
break;
}
@@ -4828,6 +4918,16 @@ scan_word(register char *s, char *dest, STRLEN destlen, int allow_package, STRLE
*d++ = *s++;
*d++ = *s++;
}
+ else if (UTF && (*s & 0xc0) == 0x80 && isALNUM_utf8(s)) {
+ char *t = s + UTF8SKIP(s);
+ while (*t & 0x80 && is_utf8_mark(t))
+ t += UTF8SKIP(t);
+ if (d + (t - s) > e)
+ croak(ident_too_long);
+ Copy(s, d, t - s, char);
+ d += t - s;
+ s = t;
+ }
else {
*d = '\0';
*slp = d - dest;
@@ -4872,6 +4972,16 @@ scan_ident(register char *s, register char *send, char *dest, STRLEN destlen, I3
*d++ = *s++;
*d++ = *s++;
}
+ else if (UTF && (*s & 0xc0) == 0x80 && isALNUM_utf8(s)) {
+ char *t = s + UTF8SKIP(s);
+ while (*t & 0x80 && is_utf8_mark(t))
+ t += UTF8SKIP(t);
+ if (d + (t - s) > e)
+ croak(ident_too_long);
+ Copy(s, d, t - s, char);
+ d += t - s;
+ s = t;
+ }
else
break;
}
@@ -4914,10 +5024,23 @@ scan_ident(register char *s, register char *send, char *dest, STRLEN destlen, I3
}
}
}
- if (isIDFIRST(*d)) {
+ if (isIDFIRST(*d) || (UTF && (*d & 0xc0) == 0x80 && isIDFIRST_utf8(d))) {
d++;
- while (isALNUM(*s) || *s == ':')
- *d++ = *s++;
+ if (UTF) {
+ e = s;
+ while (e < send && (isALNUM(*e) || ((*e & 0xc0) == 0x80 && isALNUM_utf8((U8*)e)) || *e == ':')) {
+ e += UTF8SKIP(e);
+ while (e < send && *e & 0x80 && is_utf8_mark(e))
+ e += UTF8SKIP(e);
+ }
+ Copy(s, d, e - s, char);
+ d += e - s;
+ s = e;
+ }
+ else {
+ while (isALNUM(*s) || *s == ':')
+ *d++ = *s++;
+ }
*d = '\0';
while (s < send && (*s == ' ' || *s == '\t')) s++;
if ((*s == '[' || (*s == '{' && strNE(dest, "sub")))) {
@@ -5077,8 +5200,10 @@ scan_trans(char *start)
OP *o;
short *tbl;
I32 squash;
- I32 Delete;
+ I32 del;
I32 complement;
+ I32 utf8;
+ I32 count = 0;
yylval.ival = OP_NULL;
@@ -5103,20 +5228,45 @@ scan_trans(char *start)
croak("Transliteration replacement not terminated");
}
- New(803,tbl,256,short);
- o = newPVOP(OP_TRANS, 0, (char*)tbl);
+ if (UTF) {
+ o = newSVOP(OP_TRANS, 0, 0);
+ utf8 = OPpTRANS_FROM_UTF|OPpTRANS_TO_UTF;
+ }
+ else {
+ New(803,tbl,256,short);
+ o = newPVOP(OP_TRANS, 0, (char*)tbl);
+ utf8 = 0;
+ }
- complement = Delete = squash = 0;
- while (*s == 'c' || *s == 'd' || *s == 's') {
+ complement = del = squash = 0;
+ while (strchr("cdsCU", *s)) {
if (*s == 'c')
complement = OPpTRANS_COMPLEMENT;
else if (*s == 'd')
- Delete = OPpTRANS_DELETE;
- else
+ del = OPpTRANS_DELETE;
+ else if (*s == 's')
squash = OPpTRANS_SQUASH;
+ else {
+ switch (count++) {
+ case 0:
+ if (*s == 'C')
+ utf8 &= ~OPpTRANS_FROM_UTF;
+ else
+ utf8 |= OPpTRANS_FROM_UTF;
+ break;
+ case 1:
+ if (*s == 'C')
+ utf8 &= ~OPpTRANS_TO_UTF;
+ else
+ utf8 |= OPpTRANS_TO_UTF;
+ break;
+ default:
+ croak("Too many /C and /U options");
+ }
+ }
s++;
}
- o->op_private = Delete|squash|complement;
+ o->op_private = del|squash|complement|utf8;
PL_lex_op = o;
yylval.ival = OP_TRANS;
@@ -5570,7 +5720,7 @@ scan_str(char *start)
}
/* we read a line, so increment our line counter */
PL_curcop->cop_line++;
-
+
/* update debugger info */
if (PERLDB_LINE && PL_curstash != PL_debstash) {
SV *sv = NEWSV(88,0);
@@ -5580,7 +5730,7 @@ scan_str(char *start)
av_store(GvAV(PL_curcop->cop_filegv),
(I32)PL_curcop->cop_line, sv);
}
-
+
/* having changed the buffer, we must update PL_bufend */
PL_bufend = SvPVX(PL_linestr) + SvCUR(PL_linestr);
}
diff --git a/utf8.c b/utf8.c
new file mode 100644
index 0000000000..5796534834
--- /dev/null
+++ b/utf8.c
@@ -0,0 +1,638 @@
+/* utf8.c
+ *
+ * Copyright (c) 1998, Larry Wall
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Artistic License, as specified in the README file.
+ *
+ */
+
+/*
+ * 'What a fix!' said Sam. 'That's the one place in all the lands we've ever
+ * heard of that we don't want to see any closer; and that's the one place
+ * we're trying to get to! And that's just where we can't get, nohow.'
+ *
+ * 'Well do I understand your speech,' he answered in the same language;
+ * 'yet few strangers do so. Why then do you not speak in the Common Tongue,
+ * as is the custom in the West, if you wish to be answered?'
+ *
+ * ...the travellers perceived that the floor was paved with stones of many
+ * hues; branching runes and strange devices intertwined beneath their feet.
+ */
+
+#include "EXTERN.h"
+#include "perl.h"
+
+/* Unicode support */
+
+char *
+uv_to_utf8(unsigned char *d, UV uv)
+{
+ if (uv < 0x80) {
+ *d++ = uv;
+ return d;
+ }
+ if (uv < 0x800) {
+ *d++ = (( uv >> 6) | 0xc0);
+ *d++ = (( uv & 0x3f) | 0x80);
+ return d;
+ }
+ if (uv < 0x10000) {
+ *d++ = (( uv >> 12) | 0xe0);
+ *d++ = (((uv >> 6) & 0x3f) | 0x80);
+ *d++ = (( uv & 0x3f) | 0x80);
+ return d;
+ }
+ if (uv < 0x200000) {
+ *d++ = (( uv >> 18) | 0xf0);
+ *d++ = (((uv >> 12) & 0x3f) | 0x80);
+ *d++ = (((uv >> 6) & 0x3f) | 0x80);
+ *d++ = (( uv & 0x3f) | 0x80);
+ return d;
+ }
+ if (uv < 0x4000000) {
+ *d++ = (( uv >> 24) | 0xf8);
+ *d++ = (((uv >> 18) & 0x3f) | 0x80);
+ *d++ = (((uv >> 12) & 0x3f) | 0x80);
+ *d++ = (((uv >> 6) & 0x3f) | 0x80);
+ *d++ = (( uv & 0x3f) | 0x80);
+ return d;
+ }
+ if (uv < 0x80000000) {
+ *d++ = (( uv >> 30) | 0xfc);
+ *d++ = (((uv >> 24) & 0x3f) | 0x80);
+ *d++ = (((uv >> 18) & 0x3f) | 0x80);
+ *d++ = (((uv >> 12) & 0x3f) | 0x80);
+ *d++ = (((uv >> 6) & 0x3f) | 0x80);
+ *d++ = (( uv & 0x3f) | 0x80);
+ return d;
+ }
+#ifdef Quad_t
+ if (uv < 0x2000000000)
+#endif
+ {
+ *d++ = 0xfe; /* Can't match U+FEFF! */
+ *d++ = (((uv >> 30) & 0x3f) | 0x80);
+ *d++ = (((uv >> 24) & 0x3f) | 0x80);
+ *d++ = (((uv >> 18) & 0x3f) | 0x80);
+ *d++ = (((uv >> 12) & 0x3f) | 0x80);
+ *d++ = (((uv >> 6) & 0x3f) | 0x80);
+ *d++ = (( uv & 0x3f) | 0x80);
+ return d;
+ }
+#ifdef Quad_t
+ {
+ *d++ = 0xff; /* Can't match U+FFFE! */
+ *d++ = (((uv >> 36) & 0x3f) | 0x80);
+ *d++ = (((uv >> 30) & 0x3f) | 0x80);
+ *d++ = (((uv >> 24) & 0x3f) | 0x80);
+ *d++ = (((uv >> 18) & 0x3f) | 0x80);
+ *d++ = (((uv >> 12) & 0x3f) | 0x80);
+ *d++ = (((uv >> 6) & 0x3f) | 0x80);
+ *d++ = (( uv & 0x3f) | 0x80);
+ return d;
+ }
+#endif
+}
+
+UV
+utf8_to_uv(unsigned char* s, I32* retlen)
+{
+ UV uv = *s;
+ int len;
+ if (!(uv & 0x80)) {
+ if (retlen)
+ *retlen = 1;
+ return *s;
+ }
+ if (!(uv & 0x40)) {
+ warn("Malformed UTF-8 character");
+ if (retlen)
+ *retlen = 1;
+ return *s;
+ }
+
+ if (!(uv & 0x20)) { len = 2; uv &= 0x1f; }
+ else if (!(uv & 0x10)) { len = 3; uv &= 0x0f; }
+ else if (!(uv & 0x08)) { len = 4; uv &= 0x07; }
+ else if (!(uv & 0x04)) { len = 5; uv &= 0x03; }
+ else if (!(uv & 0x02)) { len = 6; uv &= 0x01; }
+ else if (!(uv & 0x01)) { len = 7; uv &= 0x00; }
+ else len = 8; /* whoa! */
+
+ if (retlen)
+ *retlen = len;
+ --len;
+ s++;
+ while (len--) {
+ if ((*s & 0xc0) != 0x80) {
+ warn("Malformed UTF-8 character");
+ if (retlen)
+ *retlen -= len + 1;
+ return 0xfffd;
+ }
+ else
+ uv = (uv << 6) | (*s++ & 0x3f);
+ }
+ return uv;
+}
+
+/* utf8_distance(a,b) is intended to be a - b in pointer arithmetic */
+
+I32
+utf8_distance(unsigned char *a, unsigned char *b)
+{
+ I32 off = 0;
+ if (a < b) {
+ while (a < b) {
+ a += UTF8SKIP(a);
+ off--;
+ }
+ }
+ else {
+ while (b < a) {
+ b += UTF8SKIP(b);
+ off++;
+ }
+ }
+ return off;
+}
+
+/* WARNING: do not use the following unless you *know* off is within bounds */
+
+U8 *
+utf8_hop(unsigned char *s, I32 off)
+{
+ if (off >= 0) {
+ while (off--)
+ s += UTF8SKIP(s);
+ }
+ else {
+ while (off++) {
+ s--;
+ if (*s & 0x80) {
+ while ((*s & 0xc0) == 0x80)
+ s--;
+ }
+ }
+ }
+ return s;
+}
+
+/* XXX NOTHING CALLS THE FOLLOWING TWO ROUTINES YET!!! */
+/*
+ * Convert native or reversed UTF-16 to UTF-8.
+ *
+ * Destination must be pre-extended to 3/2 source. Do not use in-place.
+ * We optimize for native, for obvious reasons. */
+
+U8*
+utf16_to_utf8(U16* p, U8* d, I32 bytelen)
+{
+ U16* pend = p + bytelen / 2;
+ while (p < pend) {
+ UV uv = *p++;
+ if (uv < 0x80) {
+ *d++ = uv;
+ continue;
+ }
+ if (uv < 0x800) {
+ *d++ = (( uv >> 6) | 0xc0);
+ *d++ = (( uv & 0x3f) | 0x80);
+ continue;
+ }
+ if (uv >= 0xd800 && uv < 0xdbff) { /* surrogates */
+ int low = *p++;
+ if (low < 0xdc00 || low >= 0xdfff) {
+ warn("Malformed UTF-16 surrogate");
+ p--;
+ uv = 0xfffd;
+ }
+ uv = ((uv - 0xd800) << 10) + (low - 0xdc00) + 0x10000;
+ }
+ if (uv < 0x10000) {
+ *d++ = (( uv >> 12) | 0xe0);
+ *d++ = (((uv >> 6) & 0x3f) | 0x80);
+ *d++ = (( uv & 0x3f) | 0x80);
+ continue;
+ }
+ else {
+ *d++ = (( uv >> 18) | 0xf0);
+ *d++ = (((uv >> 12) & 0x3f) | 0x80);
+ *d++ = (((uv >> 6) & 0x3f) | 0x80);
+ *d++ = (( uv & 0x3f) | 0x80);
+ continue;
+ }
+ }
+ return d;
+}
+
+/* Note: this one is slightly destructive of the source. */
+
+U8*
+utf16_to_utf8_reversed(U16* p, U8* d, I32 bytelen)
+{
+ U8* s = (U8*)p;
+ U8* send = s + bytelen;
+ while (s < send) {
+ U8 tmp = s[0];
+ s[0] = s[1];
+ s[1] = tmp;
+ s += 2;
+ }
+ return utf16_to_utf8(p, d, bytelen);
+}
+
+/* for now these are all defined (inefficiently) in terms of the utf8 versions */
+
+bool
+is_uni_alnum(U32 c)
+{
+ char tmpbuf[10];
+ uv_to_utf8(tmpbuf, (UV)c);
+ return is_utf8_alnum(tmpbuf);
+}
+
+bool
+is_uni_idfirst(U32 c)
+{
+ char tmpbuf[10];
+ uv_to_utf8(tmpbuf, (UV)c);
+ return is_utf8_idfirst(tmpbuf);
+}
+
+bool
+is_uni_alpha(U32 c)
+{
+ char tmpbuf[10];
+ uv_to_utf8(tmpbuf, (UV)c);
+ return is_utf8_alpha(tmpbuf);
+}
+
+bool
+is_uni_space(U32 c)
+{
+ char tmpbuf[10];
+ uv_to_utf8(tmpbuf, (UV)c);
+ return is_utf8_space(tmpbuf);
+}
+
+bool
+is_uni_digit(U32 c)
+{
+ char tmpbuf[10];
+ uv_to_utf8(tmpbuf, (UV)c);
+ return is_utf8_digit(tmpbuf);
+}
+
+bool
+is_uni_upper(U32 c)
+{
+ char tmpbuf[10];
+ uv_to_utf8(tmpbuf, (UV)c);
+ return is_utf8_upper(tmpbuf);
+}
+
+bool
+is_uni_lower(U32 c)
+{
+ char tmpbuf[10];
+ uv_to_utf8(tmpbuf, (UV)c);
+ return is_utf8_lower(tmpbuf);
+}
+
+bool
+is_uni_print(U32 c)
+{
+ char tmpbuf[10];
+ uv_to_utf8(tmpbuf, (UV)c);
+ return is_utf8_print(tmpbuf);
+}
+
+U32
+to_uni_upper(U32 c)
+{
+ char tmpbuf[10];
+ uv_to_utf8(tmpbuf, (UV)c);
+ return to_utf8_upper(tmpbuf);
+}
+
+U32
+to_uni_title(U32 c)
+{
+ char tmpbuf[10];
+ uv_to_utf8(tmpbuf, (UV)c);
+ return to_utf8_title(tmpbuf);
+}
+
+U32
+to_uni_lower(U32 c)
+{
+ char tmpbuf[10];
+ uv_to_utf8(tmpbuf, (UV)c);
+ return to_utf8_lower(tmpbuf);
+}
+
+/* for now these all assume no locale info available for Unicode > 255 */
+
+bool
+is_uni_alnum_lc(U32 c)
+{
+ return is_uni_alnum(c); /* XXX no locale support yet */
+}
+
+bool
+is_uni_idfirst_lc(U32 c)
+{
+ return is_uni_idfirst(c); /* XXX no locale support yet */
+}
+
+bool
+is_uni_alpha_lc(U32 c)
+{
+ return is_uni_alpha(c); /* XXX no locale support yet */
+}
+
+bool
+is_uni_space_lc(U32 c)
+{
+ return is_uni_space(c); /* XXX no locale support yet */
+}
+
+bool
+is_uni_digit_lc(U32 c)
+{
+ return is_uni_digit(c); /* XXX no locale support yet */
+}
+
+bool
+is_uni_upper_lc(U32 c)
+{
+ return is_uni_upper(c); /* XXX no locale support yet */
+}
+
+bool
+is_uni_lower_lc(U32 c)
+{
+ return is_uni_lower(c); /* XXX no locale support yet */
+}
+
+bool
+is_uni_print_lc(U32 c)
+{
+ return is_uni_print(c); /* XXX no locale support yet */
+}
+
+U32
+to_uni_upper_lc(U32 c)
+{
+ return to_uni_upper(c); /* XXX no locale support yet */
+}
+
+U32
+to_uni_title_lc(U32 c)
+{
+ return to_uni_title(c); /* XXX no locale support yet */
+}
+
+U32
+to_uni_lower_lc(U32 c)
+{
+ return to_uni_lower(c); /* XXX no locale support yet */
+}
+
+
+bool
+is_utf8_alnum(unsigned char *p)
+{
+ if (!PL_utf8_alnum)
+ PL_utf8_alnum = swash_init("utf8", "IsAlnum", &sv_undef, 0, 0);
+ return swash_fetch(PL_utf8_alnum, p);
+/* return *p == '_' || is_utf8_alpha(p) || is_utf8_digit(p); */
+#ifdef SURPRISINGLY_SLOWER /* probably because alpha is usually true */
+ if (!PL_utf8_alnum)
+ PL_utf8_alnum = swash_init("utf8", "",
+ sv_2mortal(newSVpv("+utf8::IsAlpha\n+utf8::IsDigit\n005F\n",0)), 0, 0);
+ return swash_fetch(PL_utf8_alnum, p);
+#endif
+}
+
+bool
+is_utf8_idfirst(unsigned char *p)
+{
+ return *p == '_' || is_utf8_alpha(p);
+}
+
+bool
+is_utf8_alpha(unsigned char *p)
+{
+ if (!PL_utf8_alpha)
+ PL_utf8_alpha = swash_init("utf8", "IsAlpha", &sv_undef, 0, 0);
+ return swash_fetch(PL_utf8_alpha, p);
+}
+
+bool
+is_utf8_space(unsigned char *p)
+{
+ if (!PL_utf8_space)
+ PL_utf8_space = swash_init("utf8", "IsSpace", &sv_undef, 0, 0);
+ return swash_fetch(PL_utf8_space, p);
+}
+
+bool
+is_utf8_digit(unsigned char *p)
+{
+ if (!PL_utf8_digit)
+ PL_utf8_digit = swash_init("utf8", "IsDigit", &sv_undef, 0, 0);
+ return swash_fetch(PL_utf8_digit, p);
+}
+
+bool
+is_utf8_upper(unsigned char *p)
+{
+ if (!PL_utf8_upper)
+ PL_utf8_upper = swash_init("utf8", "IsUpper", &sv_undef, 0, 0);
+ return swash_fetch(PL_utf8_upper, p);
+}
+
+bool
+is_utf8_lower(unsigned char *p)
+{
+ if (!PL_utf8_lower)
+ PL_utf8_lower = swash_init("utf8", "IsLower", &sv_undef, 0, 0);
+ return swash_fetch(PL_utf8_lower, p);
+}
+
+bool
+is_utf8_print(unsigned char *p)
+{
+ if (!PL_utf8_print)
+ PL_utf8_print = swash_init("utf8", "IsPrint", &sv_undef, 0, 0);
+ return swash_fetch(PL_utf8_print, p);
+}
+
+bool
+is_utf8_mark(unsigned char *p)
+{
+ if (!PL_utf8_mark)
+ PL_utf8_mark = swash_init("utf8", "IsM", &sv_undef, 0, 0);
+ return swash_fetch(PL_utf8_mark, p);
+}
+
+U32
+to_utf8_upper(unsigned char *p)
+{
+ UV uv;
+
+ if (!PL_utf8_toupper)
+ PL_utf8_toupper = swash_init("utf8", "ToUpper", &sv_undef, 4, 0);
+ uv = swash_fetch(PL_utf8_toupper, p);
+ return uv ? uv : utf8_to_uv(p,0);
+}
+
+U32
+to_utf8_title(unsigned char *p)
+{
+ UV uv;
+
+ if (!PL_utf8_totitle)
+ PL_utf8_totitle = swash_init("utf8", "ToTitle", &sv_undef, 4, 0);
+ uv = swash_fetch(PL_utf8_totitle, p);
+ return uv ? uv : utf8_to_uv(p,0);
+}
+
+U32
+to_utf8_lower(unsigned char *p)
+{
+ UV uv;
+
+ if (!PL_utf8_tolower)
+ PL_utf8_tolower = swash_init("utf8", "ToLower", &sv_undef, 4, 0);
+ uv = swash_fetch(PL_utf8_tolower, p);
+ return uv ? uv : utf8_to_uv(p,0);
+}
+
+/* a "swash" is a swatch hash */
+
+SV*
+swash_init(char* pkg, char* name, SV *listsv, I32 minbits, I32 none)
+{
+ SV* retval;
+ char tmpbuf[256];
+ dSP;
+ PUSHSTACKi(PERLSI_MAGIC);
+ PUSHMARK(SP);
+ EXTEND(SP,5);
+ PUSHs(sv_2mortal(newSVpvn(pkg, strlen(pkg))));
+ PUSHs(sv_2mortal(newSVpvn(name, strlen(name))));
+ PUSHs(listsv);
+ PUSHs(sv_2mortal(newSViv(minbits)));
+ PUSHs(sv_2mortal(newSViv(none)));
+ PUTBACK;
+ ENTER;
+ SAVEI32(PL_hints);
+ PL_hints = 0;
+ save_re_context();
+ if (curcop == &compiling) /* XXX ought to be handled by lex_start */
+ strncpy(tmpbuf, PL_tokenbuf, sizeof tmpbuf);
+ if (perl_call_method("SWASHNEW", G_SCALAR))
+ retval = newSVsv(*stack_sp--);
+ else
+ retval = &sv_undef;
+ LEAVE;
+ POPSTACK;
+ if (curcop == &compiling) {
+ strncpy(PL_tokenbuf, tmpbuf, sizeof tmpbuf);
+ curcop->op_private = PL_hints;
+ }
+ if (!SvROK(retval) || SvTYPE(SvRV(retval)) != SVt_PVHV)
+ croak("SWASHNEW didn't return an HV ref");
+ return retval;
+}
+
+UV
+swash_fetch(SV *sv, unsigned char *ptr)
+{
+ HV* hv = (HV*)SvRV(sv);
+ U32 klen = UTF8SKIP(ptr) - 1;
+ U32 off = ptr[klen] & 127; /* NB: 64 bit always 0 when len > 1 */
+ STRLEN slen;
+ STRLEN needents = (klen ? 64 : 128);
+ unsigned char *tmps;
+ U32 bit;
+ SV *retval;
+
+ /*
+ * This single-entry cache saves about 1/3 of the utf8 overhead in test
+ * suite. (That is, only 7-8% overall over just a hash cache. Still,
+ * it's nothing to sniff at.) Pity we usually come through at least
+ * two function calls to get here...
+ *
+ * NB: this code assumes that swatches are never modified, once generated!
+ */
+
+ if (hv == PL_last_swash_hv &&
+ klen == PL_last_swash_klen &&
+ (!klen || memEQ(ptr,PL_last_swash_key,klen)) )
+ {
+ tmps = PL_last_swash_tmps;
+ slen = PL_last_swash_slen;
+ }
+ else {
+ /* Try our second-level swatch cache, kept in a hash. */
+ SV** svp = hv_fetch(hv, ptr, klen, FALSE);
+
+ /* If not cached, generate it via utf8::SWASHGET */
+ if (!svp || !SvPOK(*svp) || !(tmps = SvPV(*svp, slen))) {
+ dSP;
+ ENTER;
+ SAVETMPS;
+ save_re_context();
+ PUSHSTACKi(PERLSI_MAGIC);
+ PUSHMARK(SP);
+ EXTEND(SP,3);
+ PUSHs((SV*)sv);
+ PUSHs(sv_2mortal(newSViv(utf8_to_uv(ptr, 0) & ~(needents - 1))));
+ PUSHs(sv_2mortal(newSViv(needents)));
+ PUTBACK;
+ if (perl_call_method("SWASHGET", G_SCALAR))
+ retval = newSVsv(*stack_sp--);
+ else
+ retval = &sv_undef;
+ POPSTACK;
+ FREETMPS;
+ LEAVE;
+ if (curcop == &compiling)
+ curcop->op_private = PL_hints;
+
+ svp = hv_store(hv, ptr, klen, retval, 0);
+
+ if (!svp || !(tmps = SvPV(*svp, slen)) || slen < 8)
+ croak("SWASHGET didn't return result of proper length");
+ }
+
+ PL_last_swash_hv = hv;
+ PL_last_swash_klen = klen;
+ PL_last_swash_tmps = tmps;
+ PL_last_swash_slen = slen;
+ if (klen)
+ Copy(ptr, PL_last_swash_key, klen, U8);
+ }
+
+ switch ((slen << 3) / needents) {
+ case 1:
+ bit = 1 << (off & 7);
+ off >>= 3;
+ return (tmps[off] & bit) != 0;
+ case 8:
+ return tmps[off];
+ case 16:
+ off <<= 1;
+ return (tmps[off] << 8) + tmps[off + 1] ;
+ case 32:
+ off <<= 2;
+ return (tmps[off] << 24) + (tmps[off+1] << 16) + (tmps[off+2] << 8) + tmps[off + 3] ;
+ }
+ croak("panic: swash_fetch");
+ return 0;
+}
diff --git a/utf8.h b/utf8.h
new file mode 100644
index 0000000000..6f86f721e6
--- /dev/null
+++ b/utf8.h
@@ -0,0 +1,27 @@
+/* utf8.h
+ *
+ * Copyright (c) 1998, Larry Wall
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Artistic License, as specified in the README file.
+ *
+ */
+
+#ifdef DOINIT
+EXTCONST unsigned char PL_utf8skip[] = {
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* bogus */
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* bogus */
+2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, /* scripts */
+3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,6,6,7,8, /* cjk etc. */
+};
+#else
+EXTCONST unsigned char PL_utf8skip[];
+#endif
+
+#define IN_UTF8 (curcop->op_private & HINT_UTF8)
+
+#define UTF8SKIP(s) PL_utf8skip[*(U8*)s]
diff --git a/util.c b/util.c
index b91601dfe2..b98965bed4 100644
--- a/util.c
+++ b/util.c
@@ -2362,18 +2362,26 @@ scan_hex(char *start, I32 len, I32 *retlen)
register UV retval = 0;
bool overflowed = FALSE;
char *tmp = s;
+ register UV n;
- while (len-- && *s && (tmp = strchr((char *) PL_hexdigit, *s))) {
- register UV n = retval << 4;
+ while (len-- && *s) {
+ tmp = strchr((char *) PL_hexdigit, *s++);
+ if (!tmp) {
+ if (*s == '_')
+ continue;
+ else {
+ --s;
+ if (PL_dowarn)
+ warn("Illegal hex digit ignored");
+ break;
+ }
+ }
+ n = retval << 4;
if (!overflowed && (n >> 4) != retval) {
warn("Integer overflow in hex number");
overflowed = TRUE;
}
retval = n | ((tmp - PL_hexdigit) & 15);
- s++;
- }
- if (PL_dowarn && !tmp) {
- warn("Illegal hex digit ignored");
}
*retlen = s - start;
return retval;
diff --git a/vms/vmsish.h b/vms/vmsish.h
index 228a054996..e74c7fbc2d 100644
--- a/vms/vmsish.h
+++ b/vms/vmsish.h
@@ -200,9 +200,9 @@
#define COMPLEX_STATUS 1 /* We track both "POSIX" and VMS values */
#define HINT_V_VMSISH 24
-#define HINT_M_VMSISH_STATUS 0x01000000 /* system, $? return VMS status */
-#define HINT_M_VMSISH_EXIT 0x02000000 /* exit(1) ==> SS$_NORMAL */
-#define HINT_M_VMSISH_TIME 0x04000000 /* times are local, not UTC */
+#define HINT_M_VMSISH_STATUS 0x20000000 /* system, $? return VMS status */
+#define HINT_M_VMSISH_EXIT 0x40000000 /* exit(1) ==> SS$_NORMAL */
+#define HINT_M_VMSISH_TIME 0x80000000 /* times are local, not UTC */
#define NATIVE_HINTS (PL_hints >> HINT_V_VMSISH) /* used in op.c */
#define TEST_VMSISH(h) (PL_curcop->op_private & ((h) >> HINT_V_VMSISH))