Here are the long-expected Unicode/UTF-8 modifications.
Larry Wall [Fri, 24 Jul 1998 05:44:33 +0000 (05:44 +0000)]
p4raw-id: //depot/utfperl@1651

191 files changed:
Makefile.SH
doop.c
embed.h
embedvar.h
global.sym
handy.h
lib/unicode/ArabLink.pl [new file with mode: 0644]
lib/unicode/ArabLnkGrp.pl [new file with mode: 0644]
lib/unicode/Bidirectional.pl [new file with mode: 0644]
lib/unicode/Block.pl [new file with mode: 0644]
lib/unicode/Category.pl [new file with mode: 0644]
lib/unicode/CombiningClass.pl [new file with mode: 0644]
lib/unicode/Decomposition.pl [new file with mode: 0644]
lib/unicode/In/AlphabeticPresentationForms.pl [new file with mode: 0644]
lib/unicode/In/Arabic.pl [new file with mode: 0644]
lib/unicode/In/ArabicPresentationForms-A.pl [new file with mode: 0644]
lib/unicode/In/ArabicPresentationForms-B.pl [new file with mode: 0644]
lib/unicode/In/Armenian.pl [new file with mode: 0644]
lib/unicode/In/Arrows.pl [new file with mode: 0644]
lib/unicode/In/BasicLatin.pl [new file with mode: 0644]
lib/unicode/In/Bengali.pl [new file with mode: 0644]
lib/unicode/In/BlockElements.pl [new file with mode: 0644]
lib/unicode/In/Bopomofo.pl [new file with mode: 0644]
lib/unicode/In/BoxDrawing.pl [new file with mode: 0644]
lib/unicode/In/CJKCompatibility.pl [new file with mode: 0644]
lib/unicode/In/CJKCompatibilityForms.pl [new file with mode: 0644]
lib/unicode/In/CJKCompatibilityIdeographs.pl [new file with mode: 0644]
lib/unicode/In/CJKSymbolsandPunctuation.pl [new file with mode: 0644]
lib/unicode/In/CJKUnifiedIdeographs.pl [new file with mode: 0644]
lib/unicode/In/CombiningDiacriticalMarks.pl [new file with mode: 0644]
lib/unicode/In/CombiningHalfMarks.pl [new file with mode: 0644]
lib/unicode/In/CombiningMarksforSymbols.pl [new file with mode: 0644]
lib/unicode/In/ControlPictures.pl [new file with mode: 0644]
lib/unicode/In/CurrencySymbols.pl [new file with mode: 0644]
lib/unicode/In/Cyrillic.pl [new file with mode: 0644]
lib/unicode/In/Devanagari.pl [new file with mode: 0644]
lib/unicode/In/Dingbats.pl [new file with mode: 0644]
lib/unicode/In/EnclosedAlphanumerics.pl [new file with mode: 0644]
lib/unicode/In/EnclosedCJKLettersandMonths.pl [new file with mode: 0644]
lib/unicode/In/GeneralPunctuation.pl [new file with mode: 0644]
lib/unicode/In/GeometricShapes.pl [new file with mode: 0644]
lib/unicode/In/Georgian.pl [new file with mode: 0644]
lib/unicode/In/Greek.pl [new file with mode: 0644]
lib/unicode/In/GreekExtended.pl [new file with mode: 0644]
lib/unicode/In/Gujarati.pl [new file with mode: 0644]
lib/unicode/In/Gurmukhi.pl [new file with mode: 0644]
lib/unicode/In/HalfwidthandFullwidthForms.pl [new file with mode: 0644]
lib/unicode/In/HangulCompatibilityJamo.pl [new file with mode: 0644]
lib/unicode/In/HangulJamo.pl [new file with mode: 0644]
lib/unicode/In/HangulSyllables.pl [new file with mode: 0644]
lib/unicode/In/Hebrew.pl [new file with mode: 0644]
lib/unicode/In/HighPrivateUseSurrogates.pl [new file with mode: 0644]
lib/unicode/In/HighSurrogates.pl [new file with mode: 0644]
lib/unicode/In/Hiragana.pl [new file with mode: 0644]
lib/unicode/In/IPAExtensions.pl [new file with mode: 0644]
lib/unicode/In/Kanbun.pl [new file with mode: 0644]
lib/unicode/In/Kannada.pl [new file with mode: 0644]
lib/unicode/In/Katakana.pl [new file with mode: 0644]
lib/unicode/In/Lao.pl [new file with mode: 0644]
lib/unicode/In/Latin-1Supplement.pl [new file with mode: 0644]
lib/unicode/In/LatinExtended-A.pl [new file with mode: 0644]
lib/unicode/In/LatinExtended-B.pl [new file with mode: 0644]
lib/unicode/In/LatinExtendedAdditional.pl [new file with mode: 0644]
lib/unicode/In/LetterlikeSymbols.pl [new file with mode: 0644]
lib/unicode/In/LowSurrogates.pl [new file with mode: 0644]
lib/unicode/In/Malayalam.pl [new file with mode: 0644]
lib/unicode/In/MathematicalOperators.pl [new file with mode: 0644]
lib/unicode/In/MiscellaneousSymbols.pl [new file with mode: 0644]
lib/unicode/In/MiscellaneousTechnical.pl [new file with mode: 0644]
lib/unicode/In/NumberForms.pl [new file with mode: 0644]
lib/unicode/In/OpticalCharacterRecognition.pl [new file with mode: 0644]
lib/unicode/In/Oriya.pl [new file with mode: 0644]
lib/unicode/In/PrivateUse.pl [new file with mode: 0644]
lib/unicode/In/SmallFormVariants.pl [new file with mode: 0644]
lib/unicode/In/SpacingModifierLetters.pl [new file with mode: 0644]
lib/unicode/In/Specials.pl [new file with mode: 0644]
lib/unicode/In/SuperscriptsandSubscripts.pl [new file with mode: 0644]
lib/unicode/In/Tamil.pl [new file with mode: 0644]
lib/unicode/In/Telugu.pl [new file with mode: 0644]
lib/unicode/In/Thai.pl [new file with mode: 0644]
lib/unicode/In/Tibetan.pl [new file with mode: 0644]
lib/unicode/Is/Alnum.pl [new file with mode: 0644]
lib/unicode/Is/Alpha.pl [new file with mode: 0644]
lib/unicode/Is/BidiAN.pl [new file with mode: 0644]
lib/unicode/Is/BidiB.pl [new file with mode: 0644]
lib/unicode/Is/BidiCS.pl [new file with mode: 0644]
lib/unicode/Is/BidiEN.pl [new file with mode: 0644]
lib/unicode/Is/BidiES.pl [new file with mode: 0644]
lib/unicode/Is/BidiET.pl [new file with mode: 0644]
lib/unicode/Is/BidiL.pl [new file with mode: 0644]
lib/unicode/Is/BidiON.pl [new file with mode: 0644]
lib/unicode/Is/BidiR.pl [new file with mode: 0644]
lib/unicode/Is/BidiS.pl [new file with mode: 0644]
lib/unicode/Is/BidiWS.pl [new file with mode: 0644]
lib/unicode/Is/C.pl [new file with mode: 0644]
lib/unicode/Is/Cc.pl [new file with mode: 0644]
lib/unicode/Is/Cn.pl [new file with mode: 0644]
lib/unicode/Is/Co.pl [new file with mode: 0644]
lib/unicode/Is/DCcircle.pl [new file with mode: 0644]
lib/unicode/Is/DCcompat.pl [new file with mode: 0644]
lib/unicode/Is/DCfinal.pl [new file with mode: 0644]
lib/unicode/Is/DCfont.pl [new file with mode: 0644]
lib/unicode/Is/DCinital.pl [new file with mode: 0644]
lib/unicode/Is/DCinitial.pl [new file with mode: 0644]
lib/unicode/Is/DCisolated.pl [new file with mode: 0644]
lib/unicode/Is/DCnarrow.pl [new file with mode: 0644]
lib/unicode/Is/DCnoBreak.pl [new file with mode: 0644]
lib/unicode/Is/DCsmall.pl [new file with mode: 0644]
lib/unicode/Is/DCsquare.pl [new file with mode: 0644]
lib/unicode/Is/DCsub.pl [new file with mode: 0644]
lib/unicode/Is/DCsuper.pl [new file with mode: 0644]
lib/unicode/Is/DCvertical.pl [new file with mode: 0644]
lib/unicode/Is/DCwide.pl [new file with mode: 0644]
lib/unicode/Is/DecoCanon.pl [new file with mode: 0644]
lib/unicode/Is/DecoCompat.pl [new file with mode: 0644]
lib/unicode/Is/Digit.pl [new file with mode: 0644]
lib/unicode/Is/L.pl [new file with mode: 0644]
lib/unicode/Is/Ll.pl [new file with mode: 0644]
lib/unicode/Is/Lm.pl [new file with mode: 0644]
lib/unicode/Is/Lo.pl [new file with mode: 0644]
lib/unicode/Is/Lower.pl [new file with mode: 0644]
lib/unicode/Is/Lt.pl [new file with mode: 0644]
lib/unicode/Is/Lu.pl [new file with mode: 0644]
lib/unicode/Is/M.pl [new file with mode: 0644]
lib/unicode/Is/Mc.pl [new file with mode: 0644]
lib/unicode/Is/Mirrored.pl [new file with mode: 0644]
lib/unicode/Is/Mn.pl [new file with mode: 0644]
lib/unicode/Is/N.pl [new file with mode: 0644]
lib/unicode/Is/Nd.pl [new file with mode: 0644]
lib/unicode/Is/No.pl [new file with mode: 0644]
lib/unicode/Is/P.pl [new file with mode: 0644]
lib/unicode/Is/Pd.pl [new file with mode: 0644]
lib/unicode/Is/Pe.pl [new file with mode: 0644]
lib/unicode/Is/Po.pl [new file with mode: 0644]
lib/unicode/Is/Print.pl [new file with mode: 0644]
lib/unicode/Is/Ps.pl [new file with mode: 0644]
lib/unicode/Is/S.pl [new file with mode: 0644]
lib/unicode/Is/Sc.pl [new file with mode: 0644]
lib/unicode/Is/Sm.pl [new file with mode: 0644]
lib/unicode/Is/So.pl [new file with mode: 0644]
lib/unicode/Is/Space.pl [new file with mode: 0644]
lib/unicode/Is/Upper.pl [new file with mode: 0644]
lib/unicode/Is/Z.pl [new file with mode: 0644]
lib/unicode/Is/Zl.pl [new file with mode: 0644]
lib/unicode/Is/Zp.pl [new file with mode: 0644]
lib/unicode/Is/Zs.pl [new file with mode: 0644]
lib/unicode/JamoShort.pl [new file with mode: 0644]
lib/unicode/Makefile [new file with mode: 0644]
lib/unicode/Name.pl [new file with mode: 0644]
lib/unicode/Number.pl [new file with mode: 0644]
lib/unicode/To/Digit.pl [new file with mode: 0644]
lib/unicode/To/Lower.pl [new file with mode: 0644]
lib/unicode/To/Title.pl [new file with mode: 0644]
lib/unicode/To/Upper.pl [new file with mode: 0644]
lib/unicode/UnicodeData-Latest.txt [new file with mode: 0644]
lib/unicode/arabshp.txt [new file with mode: 0755]
lib/unicode/blocks.txt [new file with mode: 0755]
lib/unicode/index2.txt [new file with mode: 0755]
lib/unicode/jamo2.txt [new file with mode: 0755]
lib/unicode/mktables.PL [new file with mode: 0755]
lib/unicode/names2.txt [new file with mode: 0755]
lib/unicode/props2.txt [new file with mode: 0755]
lib/unicode/readme.txt [new file with mode: 0755]
lib/utf8.pm [new file with mode: 0644]
lib/utf8_heavy.pl [new file with mode: 0644]
mg.c
op.c
op.h
perl.h
perlvars.h
pod/perlfunc.pod
pod/perlop.pod
pod/perlre.pod
pp.c
pp_ctl.c
pp_hot.c
proto.h
regcomp.c
regcomp.h
regcomp.sym
regexec.c
regexp.h
regnodes.h
sv.c
t/UTEST [new file with mode: 0755]
t/op/vec.t
toke.c
utf8.c [new file with mode: 0644]
utf8.h [new file with mode: 0644]
util.c
vms/vmsish.h

index 050e471..34bf4c4 100644 (file)
@@ -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 e80fa48..9dc9b04 100644 (file)
--- 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 e7f8a50..6026c18 100644 (file)
--- a/embed.h
+++ b/embed.h
 #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
 #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
 #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
index 7a258b0..e1c9e9a 100644 (file)
 #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)
 #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)
 #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
 #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
index 9a9ada6..ac13e65 100644 (file)
@@ -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 e74a306..bda9d5c 100644 (file)
--- 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 (file)
index 0000000..ee4630e
--- /dev/null
@@ -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 (file)
index 0000000..e107eb7
--- /dev/null
@@ -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 (file)
index 0000000..1523d50
--- /dev/null
@@ -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 (file)
index 0000000..1c0b280
--- /dev/null
@@ -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 (file)
index 0000000..18d6ab5
--- /dev/null
@@ -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 (file)
index 0000000..f50c7bb
--- /dev/null
@@ -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 (file)
index 0000000..4bb9852
--- /dev/null
@@ -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 (file)
index 0000000..93ded27
--- /dev/null
@@ -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 (file)
index 0000000..a9645d5
--- /dev/null
@@ -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 (file)
index 0000000..b872937
--- /dev/null
@@ -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 (file)
index 0000000..0740d3b
--- /dev/null
@@ -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 (file)
index 0000000..f86fd3c
--- /dev/null
@@ -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 (file)
index 0000000..3910c8d
--- /dev/null
@@ -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 (file)
index 0000000..9ce83b3
--- /dev/null
@@ -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 (file)
index 0000000..0589b85
--- /dev/null
@@ -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 (file)
index 0000000..a52c848
--- /dev/null
@@ -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 (file)
index 0000000..5af1356
--- /dev/null
@@ -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 (file)
index 0000000..c9c1d1e
--- /dev/null
@@ -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 (file)
index 0000000..66cbc54
--- /dev/null
@@ -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 (file)
index 0000000..e65dbd3
--- /dev/null
@@ -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 (file)
index 0000000..b682262
--- /dev/null
@@ -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 (file)
index 0000000..bdf4ab9
--- /dev/null
@@ -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 (file)
index 0000000..04d0a08
--- /dev/null
@@ -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 (file)
index 0000000..2308c52
--- /dev/null
@@ -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 (file)
index 0000000..004d805
--- /dev/null
@@ -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 (file)
index 0000000..b80f637
--- /dev/null
@@ -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 (file)
index 0000000..cfaa3c5
--- /dev/null
@@ -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 (file)
index 0000000..1a89d72
--- /dev/null
@@ -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 (file)
index 0000000..657824c
--- /dev/null
@@ -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 (file)
index 0000000..1a0bffc
--- /dev/null
@@ -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 (file)
index 0000000..3800470
--- /dev/null
@@ -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 (file)
index 0000000..760ebd1
--- /dev/null
@@ -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 (file)
index 0000000..96a9d75
--- /dev/null
@@ -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 (file)
index 0000000..a582d1f
--- /dev/null
@@ -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 (file)
index 0000000..46086b8
--- /dev/null
@@ -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 (file)
index 0000000..df1230d
--- /dev/null
@@ -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 (file)
index 0000000..10c1cf8
--- /dev/null
@@ -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 (file)
index 0000000..f588406
--- /dev/null
@@ -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 (file)
index 0000000..8a31d92
--- /dev/null
@@ -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 (file)
index 0000000..1b6857e
--- /dev/null
@@ -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 (file)
index 0000000..d7ff603
--- /dev/null
@@ -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 (file)
index 0000000..e602d45
--- /dev/null
@@ -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 (file)
index 0000000..dd5df94
--- /dev/null
@@ -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 (file)
index 0000000..95bc194
--- /dev/null
@@ -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 (file)
index 0000000..e34e6fe
--- /dev/null
@@ -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 (file)
index 0000000..000cb70
--- /dev/null
@@ -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 (file)
index 0000000..95c7498
--- /dev/null
@@ -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 (file)
index 0000000..ce8c3ed
--- /dev/null
@@ -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 (file)
index 0000000..106d84b
--- /dev/null
@@ -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 (file)
index 0000000..6d575a8
--- /dev/null
@@ -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 (file)
index 0000000..ad70ade
--- /dev/null
@@ -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 (file)
index 0000000..cb0f30e
--- /dev/null
@@ -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 (file)
index 0000000..ff2d587
--- /dev/null
@@ -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 (file)
index 0000000..3c8b04c
--- /dev/null
@@ -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 (file)
index 0000000..872689f
--- /dev/null
@@ -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 (file)
index 0000000..be497d6
--- /dev/null
@@ -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 (file)
index 0000000..3f1cda1
--- /dev/null
@@ -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 (file)
index 0000000..96ab07b
--- /dev/null
@@ -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 (file)
index 0000000..a30148c
--- /dev/null
@@ -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 (file)
index 0000000..784bac9
--- /dev/null
@@ -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 (file)
index 0000000..b1c2db4
--- /dev/null
@@ -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 (file)
index 0000000..5c6dcd4
--- /dev/null
@@ -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 (file)
index 0000000..0eb7d1e
--- /dev/null
@@ -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 (file)
index 0000000..7d83d31
--- /dev/null
@@ -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 (file)
index 0000000..9168cc7
--- /dev/null
@@ -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 (file)
index 0000000..4d61ed3
--- /dev/null
@@ -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 (file)
index 0000000..5b90e4d
--- /dev/null
@@ -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 (file)
index 0000000..4153052
--- /dev/null
@@ -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 (file)
index 0000000..69179e6
--- /dev/null
@@ -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 (file)
index 0000000..f9d3943
--- /dev/null
@@ -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 (file)
index 0000000..c4041aa
--- /dev/null
@@ -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 (file)
index 0000000..27f61fa
--- /dev/null
@@ -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 (file)
index 0000000..7342ec2
--- /dev/null
@@ -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 (file)
index 0000000..c5c789c
--- /dev/null
@@ -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 (file)
index 0000000..b46705d
--- /dev/null
@@ -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 (file)
index 0000000..4d1570f
--- /dev/null
@@ -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 (file)
index 0000000..af8b9b6
--- /dev/null
@@ -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 (file)
index 0000000..e3639ba
--- /dev/null
@@ -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 (file)
index 0000000..c40e3c4
--- /dev/null
@@ -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 (file)
index 0000000..e7cab2d
--- /dev/null
@@ -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 (file)
index 0000000..3e13986
--- /dev/null
@@ -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 (file)
index 0000000..fb1fb2f
--- /dev/null
@@ -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 (file)
index 0000000..d3ea1c7
--- /dev/null
@@ -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 (file)
index 0000000..85de325
--- /dev/null
@@ -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 (file)
index 0000000..aa8ae8d
--- /dev/null
@@ -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 (file)
index 0000000..e726bcb
--- /dev/null
@@ -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 (file)
index 0000000..17f19de
--- /dev/null
@@ -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 (file)
index 0000000..a459f2d
--- /dev/null
@@ -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 (file)
index 0000000..274239f
--- /dev/null
@@ -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 (file)
index 0000000..2894c68
--- /dev/null
@@ -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 (file)
index 0000000..3054fd6
--- /dev/null
@@ -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 (file)
index 0000000..3944537
--- /dev/null
@@ -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 (file)
index 0000000..a9d58a4
--- /dev/null
@@ -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 (file)
index 0000000..1c7eded
--- /dev/null
@@ -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 (file)
index 0000000..091bd64
--- /dev/null
@@ -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 (file)
index 0000000..9b0b86b
--- /dev/null
@@ -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 (file)
index 0000000..4faba29
--- /dev/null
@@ -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 (file)
index 0000000..b4e2b33
--- /dev/null
@@ -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 (file)
index 0000000..de75742
--- /dev/null
@@ -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 (file)
index 0000000..a4f448a
--- /dev/null
@@ -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 (file)
index 0000000..0f9cac2
--- /dev/null
@@ -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 (file)
index 0000000..2e05334
--- /dev/null
@@ -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 (file)
index 0000000..76b4ad8
--- /dev/null
@@ -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 (file)
index 0000000..d446ad4
--- /dev/null
@@ -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 (file)
index 0000000..89dc6b8
--- /dev/null
@@ -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 (file)
index 0000000..1c00407
--- /dev/null
@@ -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 (file)
index 0000000..b693b21
--- /dev/null
@@ -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 (file)
index 0000000..51cbb6c
--- /dev/null
@@ -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 (file)
index 0000000..7eb8587
--- /dev/null
@@ -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 (file)
index 0000000..1853270
--- /dev/null
@@ -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 (file)
index 0000000..a937c0c
--- /dev/null
@@ -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 (file)
index 0000000..7b34adf
--- /dev/null
@@ -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 (file)
index 0000000..9035aa5
--- /dev/null
@@ -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 (file)
index 0000000..8cd7e33
--- /dev/null
@@ -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 (file)
index 0000000..7b34adf
--- /dev/null
@@ -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 (file)
index 0000000..282f31d
--- /dev/null
@@ -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 (file)
index 0000000..dfb7835
--- /dev/null
@@ -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 (file)
index 0000000..0a2f005
--- /dev/null
@@ -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 (file)
index 0000000..385a15b
--- /dev/null
@@ -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 (file)
index 0000000..bb78be5
--- /dev/null
@@ -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 (file)
index 0000000..cff1c48
--- /dev/null
@@ -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 (file)
index 0000000..66e83f4
--- /dev/null
@@ -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 (file)
index 0000000..1853270
--- /dev/null
@@ -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 (file)
index 0000000..4874e43
--- /dev/null
@@ -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 (file)
index 0000000..b7117cb
--- /dev/null
@@ -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 (file)
index 0000000..0b05079
--- /dev/null
@@ -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 (file)
index 0000000..40b66e8
--- /dev/null
@@ -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 (file)
index 0000000..6db4e3f
--- /dev/null
@@ -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 (file)
index 0000000..eef2d31
--- /dev/null
@@ -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 (file)
index 0000000..12ea0b1
--- /dev/null
@@ -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 (file)
index 0000000..c3f2094
--- /dev/null
@@ -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 (file)
index 0000000..72e22f5
--- /dev/null
@@ -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 (file)
index 0000000..f06ad2a
--- /dev/null
@@ -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 (file)
index 0000000..0c548e6
--- /dev/null
@@ -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 (file)
index 0000000..715afc3
--- /dev/null
@@ -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 (file)
index 0000000..dfb7835
--- /dev/null
@@ -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 (file)
index 0000000..9e83d94
--- /dev/null
@@ -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 (file)
index 0000000..cdc04d6
--- /dev/null
@@ -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 (file)
index 0000000..3a69811
--- /dev/null
@@ -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 (file)
index 0000000..87d4455
--- /dev/null
@@ -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 (file)
index 0000000..6aad4da
--- /dev/null
@@ -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 (file)
index 0000000..6a23d80
--- /dev/null
@@ -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 (file)
index 0000000..c22595f
--- /dev/null
@@ -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 (file)
index 0000000..c87d46f
--- /dev/null
@@ -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 (file)
index 0000000..8f60c4f
--- /dev/null
@@ -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 (file)
index 0000000..4a86d3e
--- /dev/null
@@ -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 (file)
index 0000000..06ef76c
--- /dev/null
@@ -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 (file)
index 0000000..2415c03
--- /dev/null
@@ -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 (file)
index 0000000..bca59e6
--- /dev/null
@@ -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 (executable)
index 0000000..82f2220
--- /dev/null
@@ -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 (executable)
index 0000000..b6bbf6f
--- /dev/null
@@ -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 (executable)
index 0000000..273ea4e
--- /dev/null
@@ -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 (executable)
index 0000000..c81776a
--- /dev/null
@@ -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 (executable)
index 0000000..306f2a4
--- /dev/null
@@ -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 (executable)
index 0000000..8f283d7
--- /dev/null
@@ -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 (executable)
index 0000000..3909bff
--- /dev/null
@@ -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 (executable)
index 0000000..5f908d3
--- /dev/null
@@ -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 (file)
index 0000000..be46d17
--- /dev/null
@@ -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 (file)
index 0000000..d9454b0
--- /dev/null
@@ -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 6068d9b..3efa417 100644 (file)
--- 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 16f528d..d6836d9 100644 (file)
--- 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 75e674e..9ec72e9 100644 (file)
--- 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 e2b34bc..9061a96 100644 (file)
--- 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
index 4e9d3b8..4ccfc58 100644 (file)
@@ -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 *, "")
index 35cab3a..ec76881 100644 (file)
@@ -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>.
 
index c7209fa..35f9e5f 100644 (file)
@@ -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/
index 924a2c4..b7fda54 100644 (file)
@@ -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 4eb8f2f..f3430a2 100644 (file)
--- 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':
index 8d4b7f7..26ec0f1 100644 (file)
--- 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
index dd4f82b..9d2a55f 100644 (file)
--- 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 8b42914..acd88d0 100644 (file)
--- 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));
index 79b1316..d1f29d9 100644 (file)
--- 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. */
+}
index 526b885..38b15ac 100644 (file)
--- 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
 
index 9775b93..c831bce 100644 (file)
@@ -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
index 47ece6a..fe9f833 100644 (file)
--- 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;
+}
index fbc9237..5082610 100644 (file)
--- 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)
index c494dae..c64c4b7 100644 (file)
@@ -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. */
 #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 3652b9d..278ad8b 100644 (file)
--- 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 (executable)
index 0000000..4fc160d
--- /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);
index 7117144..bf60fc4 100755 (executable)
@@ -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 64c6981..9f96319 100644 (file)
--- 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 (file)
index 0000000..5796534
--- /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 (file)
index 0000000..6f86f72
--- /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 b91601d..b98965b 100644 (file)
--- 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;
index 228a054..e74c7fb 100644 (file)
 #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))