summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xConfigure459
-rw-r--r--MAINTAIN2
-rw-r--r--MANIFEST58
-rw-r--r--Makefile.SH3
-rw-r--r--Porting/Glossary134
-rw-r--r--Porting/config.sh73
-rw-r--r--Porting/config_H182
-rw-r--r--Todo3
-rw-r--r--Todo-5.0054
-rw-r--r--config_h.SH161
-rw-r--r--configure.com25
-rw-r--r--doio.c48
-rw-r--r--doop.c76
-rw-r--r--dump.c6
-rw-r--r--embed.h4
-rwxr-xr-xembed.pl12
-rw-r--r--ext/B/B/Assembler.pm1
-rw-r--r--ext/ByteLoader/ByteLoader.xs7
-rw-r--r--ext/ByteLoader/hints/sunos.pl2
-rw-r--r--ext/DB_File/Changes17
-rw-r--r--ext/DB_File/DB_File.pm6
-rw-r--r--ext/DB_File/DB_File.xs39
-rw-r--r--ext/Devel/DProf/DProf.xs1
-rw-r--r--ext/DynaLoader/dl_vms.xs2
-rw-r--r--ext/Fcntl/Fcntl.pm27
-rw-r--r--ext/Fcntl/Fcntl.xs144
-rw-r--r--ext/POSIX/POSIX.xs1
-rw-r--r--ext/SDBM_File/Makefile.PL1
-rw-r--r--global.sym1
-rw-r--r--hints/aix.sh32
-rw-r--r--hints/hpux.sh7
-rw-r--r--hints/irix_6.sh20
-rw-r--r--intrpvar.h8
-rw-r--r--iperlsys.h1
-rw-r--r--lib/Carp/Heavy.pm15
-rw-r--r--lib/Dumpvalue.pm2
-rw-r--r--lib/Exporter/Heavy.pm13
-rw-r--r--lib/ExtUtils/MM_Unix.pm11
-rw-r--r--lib/ExtUtils/MM_VMS.pm9
-rw-r--r--lib/ExtUtils/MakeMaker.pm29
-rw-r--r--lib/Math/Trig.pm11
-rw-r--r--lib/charnames.pm134
-rw-r--r--lib/overload.pm8
-rw-r--r--lib/unicode/Bidirectional.pl520
-rw-r--r--lib/unicode/Category.pl274
-rw-r--r--lib/unicode/CombiningClass.pl172
-rw-r--r--lib/unicode/Decomposition.pl933
-rw-r--r--lib/unicode/Eq/Latin116
-rw-r--r--lib/unicode/Eq/Unicode181
-rw-r--r--lib/unicode/EthiopicSyllables.txt314
-rw-r--r--lib/unicode/Is/Alnum.pl95
-rw-r--r--lib/unicode/Is/Alpha.pl91
-rw-r--r--lib/unicode/Is/BidiB.pl6
-rw-r--r--lib/unicode/Is/BidiCS.pl10
-rw-r--r--lib/unicode/Is/BidiEN.pl2
-rw-r--r--lib/unicode/Is/BidiES.pl1
-rw-r--r--lib/unicode/Is/BidiET.pl15
-rw-r--r--lib/unicode/Is/BidiL.pl221
-rw-r--r--lib/unicode/Is/BidiON.pl100
-rw-r--r--lib/unicode/Is/BidiR.pl29
-rw-r--r--lib/unicode/Is/BidiS.pl2
-rw-r--r--lib/unicode/Is/BidiWS.pl7
-rw-r--r--lib/unicode/Is/C.pl3
-rw-r--r--lib/unicode/Is/Cntrl.pl3
-rw-r--r--lib/unicode/Is/DCcompat.pl46
-rw-r--r--lib/unicode/Is/DCfont.pl3
-rw-r--r--lib/unicode/Is/DCnoBreak.pl2
-rw-r--r--lib/unicode/Is/DCsuper.pl3
-rw-r--r--lib/unicode/Is/DecoCanon.pl50
-rw-r--r--lib/unicode/Is/DecoCompat.pl52
-rw-r--r--lib/unicode/Is/Digit.pl3
-rw-r--r--lib/unicode/Is/Graph.pl128
-rw-r--r--lib/unicode/Is/L.pl83
-rw-r--r--lib/unicode/Is/Ll.pl35
-rw-r--r--lib/unicode/Is/Lm.pl4
-rw-r--r--lib/unicode/Is/Lo.pl53
-rw-r--r--lib/unicode/Is/Lower.pl35
-rw-r--r--lib/unicode/Is/Lt.pl6
-rw-r--r--lib/unicode/Is/Lu.pl32
-rw-r--r--lib/unicode/Is/M.pl33
-rw-r--r--lib/unicode/Is/Mc.pl11
-rw-r--r--lib/unicode/Is/Mirrored.pl3
-rw-r--r--lib/unicode/Is/Mn.pl31
-rw-r--r--lib/unicode/Is/N.pl7
-rw-r--r--lib/unicode/Is/Nd.pl3
-rw-r--r--lib/unicode/Is/No.pl1
-rw-r--r--lib/unicode/Is/P.pl17
-rw-r--r--lib/unicode/Is/Pd.pl1
-rw-r--r--lib/unicode/Is/Pe.pl5
-rw-r--r--lib/unicode/Is/Po.pl17
-rw-r--r--lib/unicode/Is/Print.pl128
-rw-r--r--lib/unicode/Is/Ps.pl8
-rw-r--r--lib/unicode/Is/Punct.pl17
-rw-r--r--lib/unicode/Is/S.pl43
-rw-r--r--lib/unicode/Is/Sc.pl3
-rw-r--r--lib/unicode/Is/Sm.pl2
-rw-r--r--lib/unicode/Is/So.pl35
-rw-r--r--lib/unicode/Is/Space.pl2
-rw-r--r--lib/unicode/Is/Upper.pl32
-rw-r--r--lib/unicode/Is/Word.pl95
-rw-r--r--lib/unicode/Is/Z.pl2
-rw-r--r--lib/unicode/Is/Zs.pl2
-rwxr-xr-xlib/unicode/MakeEthiopicSyllables.PL63
-rw-r--r--lib/unicode/Name.pl3686
-rw-r--r--lib/unicode/Number.pl34
-rw-r--r--lib/unicode/To/Digit.pl3
-rw-r--r--lib/unicode/To/Lower.pl32
-rw-r--r--lib/unicode/To/Title.pl38
-rw-r--r--lib/unicode/To/Upper.pl32
-rw-r--r--lib/unicode/UnicodeData-Latest.txt7834
-rwxr-xr-xlib/unicode/mktables.PL74
-rw-r--r--lib/unicode/syllables.txt1329
-rw-r--r--lib/utf8.pm7
-rw-r--r--lib/warning.pm70
-rw-r--r--mg.c74
-rw-r--r--objXSUB.h4
-rw-r--r--os2/OS2/REXX/Makefile.PL1
-rw-r--r--perl.c8
-rw-r--r--perl.h305
-rwxr-xr-xperlapi.c21
-rw-r--r--perlio.c37
-rw-r--r--perlsdio.h6
-rw-r--r--pod/perldelta.pod38
-rw-r--r--pod/perldiag.pod37
-rw-r--r--pod/perlfunc.pod53
-rw-r--r--pod/perlhist.pod1
-rw-r--r--pod/perllexwarn.pod10
-rw-r--r--pod/perlobj.pod2
-rw-r--r--pod/perlop.pod4
-rw-r--r--pod/perlre.pod20
-rw-r--r--pp.c95
-rw-r--r--pp.h16
-rw-r--r--pp_hot.c8
-rw-r--r--pp_sys.c81
-rw-r--r--proto.h12
-rw-r--r--regcomp.c131
-rw-r--r--regcomp.h10
-rw-r--r--regexec.c30
-rw-r--r--regexp.h2
-rw-r--r--sv.c43
-rwxr-xr-xt/io/dup.t16
-rwxr-xr-xt/lib/anydbm.t25
-rw-r--r--t/lib/charnames.t53
-rwxr-xr-xt/lib/db-btree.t28
-rwxr-xr-xt/lib/db-hash.t2
-rwxr-xr-xt/lib/dprof.t2
-rwxr-xr-xt/lib/odbm.t11
-rw-r--r--t/lib/syslfs.t149
-rw-r--r--t/op/64bit.t117
-rwxr-xr-xt/op/filetest.t6
-rw-r--r--t/op/lfs.t155
-rw-r--r--t/op/re_tests4
-rw-r--r--t/pragma/warn/util12
-rw-r--r--toke.c156
-rw-r--r--util.c50
-rw-r--r--utils/perlbug.PL80
-rw-r--r--utils/perlcc.PL15
-rw-r--r--vms/descrip_mms.template97
-rw-r--r--vms/gen_shrfls.pl37
-rw-r--r--vms/subconfigure.com376
-rw-r--r--vms/vms.c144
-rw-r--r--vms/vmsish.h18
-rw-r--r--vms/writemain.pl4
-rw-r--r--warning.h33
-rw-r--r--warning.pl3
165 files changed, 16271 insertions, 5400 deletions
diff --git a/Configure b/Configure
index bd158a4232..24bea6503b 100755
--- a/Configure
+++ b/Configure
@@ -20,7 +20,7 @@
# $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
#
-# Generated on Mon Aug 2 17:42:55 EET DST 1999 [metaconfig 3.0 PL70]
+# Generated on Mon Aug 16 22:35:18 EET DST 1999 [metaconfig 3.0 PL70]
# (with additional metaconfig patches by perlbug@perl.com)
cat >/tmp/c1$$ <<EOF
@@ -399,6 +399,7 @@ d_inetaton=''
d_isascii=''
d_killpg=''
d_lchown=''
+d_ldbl_dig=''
d_link=''
d_locconv=''
d_lockf=''
@@ -565,13 +566,6 @@ d_waitpid=''
d_wcstombs=''
d_wctomb=''
d_writev=''
-d_dbmclose64=''
-d_dbminit64=''
-d_delete64=''
-d_fetch64=''
-d_firstkey64=''
-d_nextkey64=''
-d_store64=''
dlext=''
cccdlflags=''
ccdlflags=''
@@ -681,24 +675,9 @@ installusrbinperl=''
intsize=''
longsize=''
shortsize=''
-d_dirent64_s=''
-d_flock64_s=''
-d_fstat64=''
-d_ftruncate64=''
-d_ino64_t=''
+d_fpos64_t=''
d_llseek=''
-d_lockf64=''
-d_lseek64=''
-d_lstat64=''
d_off64_t=''
-d_offset_t=''
-d_open64=''
-d_opendir64=''
-d_readdir64=''
-d_seekdir64=''
-d_stat64=''
-d_telldir64=''
-d_truncate64=''
libc=''
ldlibpthname=''
libperl=''
@@ -830,15 +809,6 @@ ssizetype=''
startperl=''
startsh=''
stdchar=''
-d_fgetpos64=''
-d_fopen64=''
-d_freopen64=''
-d_fseek64=''
-d_fseeko64=''
-d_fsetpos64=''
-d_ftell64=''
-d_ftello64=''
-d_tmpfile64=''
d_stdio_stream_array=''
stdio_stream_array=''
d_strtoull=''
@@ -847,6 +817,7 @@ trnl=''
uidtype=''
archname64=''
use64bits=''
+uselongdouble=''
usemultiplicity=''
nm_opt=''
nm_so_opt=''
@@ -999,7 +970,7 @@ useopcode=true
: List of libraries we want.
: If anyone needs -lnet, put it in a hint file.
libswanted='sfio socket inet nsl nm ndbm gdbm dbm db malloc dl'
-libswanted="$libswanted dld ld sun m rt c cposix posix"
+libswanted="$libswanted dld ld sun m c cposix posix"
libswanted="$libswanted ndir dir crypt sec"
libswanted="$libswanted ucb bsd BSD PW x"
: We probably want to search /usr/shlib before most other libraries.
@@ -3827,7 +3798,13 @@ ABC.XYZ
EOT
cd ..
if test ! -f cppstdin; then
- echo 'cat >.$$.c; '"$cc"' -E ${1+"$@"} .$$.c; rm .$$.c' >cppstdin
+ if test "X$osname" = "Xaix" -a "X$gccversion" = X; then
+ # AIX cc -E doesn't show the absolute headerfile
+ # locations but we'll cheat by using the -M flag.
+ echo 'cat >.$$.c; rm -f .$$.u; '"$cc"' ${1+"$@"} -M -c .$$.c 2>/dev/null; test -s .$$.u && awk '"'"'$2 ~ /\.h$/ { print "# 0 \""$2"\"" }'"'"' .$$.u; rm -f .$$.o .$$.u; '"$cc"' -E ${1+"$@"} .$$.c; rm .$$.c' > cppstdin
+ else
+ echo 'cat >.$$.c; '"$cc"' -E ${1+"$@"} .$$.c; rm .$$.c' >cppstdin
+ fi
else
echo "Keeping your $hint cppstdin wrapper."
fi
@@ -6443,6 +6420,43 @@ fi
cat <<EOM
+Perl can be built to take advantage of long doubles which
+(if available) may give more accuracy and range for floating point
+numbers. To do so, Configure must be run with -Duselongdouble.
+
+If this doesn't make any sense to you, just accept the default 'n'.
+EOM
+case "$uselongdouble" in
+$define|true|[yY]*) dflt='y';;
+*) dflt='n';;
+esac
+rp='Try to use long doubles if available?'
+. ./myread
+case "$ans" in
+y|Y) val="$define" ;;
+*) val="$undef" ;;
+esac
+set uselongdouble
+eval $setvar
+
+case "$uselongdouble" in
+"$define"|true|[yY]*)
+: Look for a hint-file generated 'call-back-unit'. If the
+: user has specified that long doubles should be used,
+: we may need to set or change some other defaults.
+ if $test -f uselongdouble.cbu; then
+ echo "Your platform has some specific hints for long doubles, using them..."
+ . ./uselongdouble.cbu
+ else
+ $cat <<EOM
+(Your platform doesn't have any specific hints for long doubles.)
+EOM
+ fi
+ ;;
+esac
+
+cat <<EOM
+
Previous version of $package used the standard IO mechanisms as defined
in <stdio.h>. Versions 5.003_02 and later of perl allow alternate IO
mechanisms via a "PerlIO" abstraction, but the stdio mechanism is still
@@ -6896,7 +6910,7 @@ $rm -f try.c try
: check for long doubles
echo " "
-echo $n "Checking to see if your system supports long doubles...$c" >&4
+echo $n "Checking to see if your system supports long double...$c" >&4
echo 'long double foo() { long double x; x = 7.0; return x; }' > try.c
if $cc $optimize $ccflags -c try.c >/dev/null 2>&1; then
val="$define"
@@ -6991,10 +7005,6 @@ EOCP
fi
if $test X"$sPRIfldbl" = X; then
- echo "Cannot figure out how to print long doubles." >&4
-fi
-
-if $test X"$sPRIfldbl" = X; then
$cat >try.c <<'EOCP'
#include <sys/types.h>
#include <stdio.h>
@@ -7038,6 +7048,10 @@ EOCP
fi
fi
+if $test X"$sPRIfldbl" = X; then
+ echo "Cannot figure out how to print long doubles." >&4
+fi
+
$rm -f try try.*
fi # d_longdbl
@@ -7773,52 +7787,10 @@ $rm -f dbl_dig.?
set d_dbl_dig
eval $setvar
-
-if $test X"$use64bits" = X"$define"; then
- : see if dbminit64 exists
- set dbminit64 d_dbminit64
- eval $inlibc
-
- : see if dbmclose64 exists
- set dbmclose64 d_dbmclose64
- eval $inlibc
-
- : see if fetch64 exists
- set fetch64 d_fetch64
- eval $inlibc
-
- : see if store64 exists
- set store64 d_store64
- eval $inlibc
-
- : see if delete64 exists
- set delete64 d_delete64
- eval $inlibc
-
- : see if firstkey64 exists
- set firstkey64 d_firstkey64
- eval $inlibc
-
- : see if nextkey64 exists
- set nextkey64 d_nextkey64
- eval $inlibc
-else
- val="$undef"
- for xxx in d_dbminit64 d_dbmclose64 d_fetch64 d_store64 d_delete64 d_firstkey64 d_nextkey64
- do
- set $xxx
- eval $setvar
- done
-fi
-
: see if difftime exists
set difftime d_difftime
eval $inlibc
-: see if sys/stat.h is available
-set sys/stat.h i_sysstat
-eval $inhdr
-
: see if this is a dirent system
echo " "
if xinc=`./findhdr dirent.h`; $test "$xinc"; then
@@ -7887,162 +7859,6 @@ set d_dirnamlen
eval $setvar
$rm -f try.c
-
-if $test X"$use64bits" = X"$define"; then
- : see if fstat64 exists
- set fstat64 d_fstat64
- eval $inlibc
-
- : see if ftruncate64 exists
- set ftruncate64 d_ftruncate64
- eval $inlibc
-
- : see if lockf64 exists
- set lockf64 d_lockf64
- eval $inlibc
-
- : see if llseek exists
- set llseek d_llseek
- eval $inlibc
-
- : see if lseek64 exists
- set lseek64 d_lseek64
- eval $inlibc
-
- : see if lstat64 exists
- set lstat64 d_lstat64
- eval $inlibc
-
- : see if open64 exists
- set open64 d_open64
- eval $inlibc
-
- : see if opendir64 exists
- set opendir64 d_opendir64
- eval $inlibc
-
- : see if readdir64 exists
- set readdir64 d_readdir64
- eval $inlibc
-
- : see if seekdir64 exists
- set seekdir64 d_seekdir64
- eval $inlibc
-
- : see if stat64 exists
- set stat64 d_stat64
- eval $inlibc
-
- : see if telldir64 exists
- set telldir64 d_telldir64
- eval $inlibc
-
- : see if truncate64 exists
- set truncate64 d_truncate64
- eval $inlibc
-
- : check for off64_t
- echo " "
- echo $n "Checking to see if your system supports off64_t...$c" >&4
- $cat >try.c <<EOCP
-#include <sys/types.h>
-#include <unistd.h>
-off64_t foo() { off64_t x; x = 7; return x; }'
-EOCP
- if $cc $optimize $ccflags -c try.c >/dev/null 2>&1; then
- val="$define"
- echo " Yup, it does." >&4
- else
- val="$undef"
- echo " Nope, it doesn't." >&4
- fi
- $rm -f try.*
- set d_off64_t
- eval $setvar
-
- : check for offset_t
- echo " "
- echo $n "Checking to see if your system supports offset_t...$c" >&4
- $cat >try.c <<EOCP
-#include <sys/types.h>
-#include <unistd.h>
-offset_t foo() { offset_t x; x = 7; return x; }'
-EOCP
- if $cc $optimize $ccflags -c try.c >/dev/null 2>&1; then
- val="$define"
- echo " Yup, it does." >&4
- else
- val="$undef"
- echo " Nope, it doesn't." >&4
- fi
- $rm -f try.*
- set d_offset_t
- eval $setvar
-
- : check for ino64_t
- echo " "
- echo $n "Checking to see if your system supports ino64_t...$c" >&4
- val="$undef"
- case "$i_sysstat" in
- "$define" )
- $cat >try.c <<EOCP
-#include <sys/types.h>
-#include <sys/stat.h>
-ino64_t foo() { ino64_t x; x = 7; return x; }'
-EOCP
- if $cc $optimize $ccflags -c try.c >/dev/null 2>&1; then
- val="$define"
- fi
- $rm -f try.*
- ;;
- esac
- if $test "X$val" = X"$define"; then
- echo " Yup, it does." >&4
- else
- echo " Nope, it doesn't." >&4
- fi
- set d_ino64_t
- eval $setvar
-
- : check for struct flock64
- echo " "
- echo "Checking to see if your system supports struct flock64..." >&4
- if $h_fcntl; then
- set d_flock64_s flock64 l_len define fcntl.h
- eval $hasfield
- else
- val="$undef"
- set d_flock64_s
- eval $setvar
- fi
- case "$d_flock64_s" in
- "$define") echo "Yup, it does." >&4
- ;;
- *) echo "Nope, it doesn't." >&4
- ;;
- esac
-
- : check for struct dirent64
- echo " "
- echo "Checking to see if your system supports struct dirent64..." >&4
- set d_dirent64_s dirent64 d_off $i_dirent dirent.h
- eval $hasfield
- case "$d_dirent64_s" in
- "$define") echo "Yup, it does." >&4
- ;;
- *) echo "Nope, it doesn't." >&4
- ;;
- esac
-
-else
- val="$undef"
- for xxx in d_fstat64 d_ftruncate64 d_lockf64 d_lseek64 d_lstat64 d_open64 d_opendir64 d_readdir64 d_seekdir64 d_stat64 d_telldir64 d_truncate64 d_off64_t d_offset_t d_ino64_t d_flock64_s d_dirent64_s
- do
- set $xxx
- eval $setvar
- done
-fi
-
: see if dlerror exists
xxx_runnm="$runnm"
runnm=false
@@ -8150,6 +7966,7 @@ EOM
esac
else
echo "I can't compile and run the test program." >&4
+ echo "I'm guessing that dlsym doesn't need a leading underscore." >&4
fi
;;
esac
@@ -8624,52 +8441,6 @@ $rm -f fd_set*
set fgetpos d_fgetpos
eval $inlibc
-
-if $test X"$use64bits" = X"$define"; then
- : see if fgetpos64 exists
- set fgetpos64 d_fgetpos64
- eval $inlibc
-
- : see if fopen64 exists
- set freopen64 d_fopen64
- eval $inlibc
-
- : see if freopen64 exists
- set freopen64 d_freopen64
- eval $inlibc
-
- : see if fseek64 exists
- set fseek64 d_fseek64
- eval $inlibc
-
- : see if fseeko64 exists
- set fseeko64 d_fseeko64
- eval $inlibc
-
- : see if fsetpos64 exists
- set fsetpos64 d_fsetpos64
- eval $inlibc
-
- : see if ftell64 exists
- set ftell64 d_ftell64
- eval $inlibc
-
- : see if ftello64 exists
- set ftello64 d_ftello64
- eval $inlibc
-
- : see if tmpfile64 exists
- set tmpfile64 d_tmpfile64
- eval $inlibc
-else
- val="$undef"
- for xxx in d_fgetpos64 d_fopen64 d_freopen64 d_fseek64 d_fseeko64 d_fsetpos64 d_ftell64 d_ftello64 d_tmpfile64
- do
- set $xxx
- eval $setvar
- done
-fi
-
: see if flock exists
set flock d_flock
eval $inlibc
@@ -8686,6 +8457,48 @@ eval $inlibc
set fpathconf d_fpathconf
eval $inlibc
+
+: see if llseek exists
+set llseek d_llseek
+eval $inlibc
+
+: check for off64_t
+echo " "
+echo $n "Checking to see if your system supports off64_t...$c" >&4
+$cat >try.c <<EOCP
+#include <sys/types.h>
+#include <unistd.h>
+off64_t foo() { off64_t x; x = 7; return x; }'
+EOCP
+if $cc $optimize $ccflags -c try.c >/dev/null 2>&1; then
+ val="$define"
+ echo " Yup, it does." >&4
+else
+ val="$undef"
+ echo " Nope, it doesn't." >&4
+fi
+$rm -f try.*
+set d_off64_t
+eval $setvar
+
+: check for fpos64_t
+echo " "
+echo $n "Checking to see if your system supports fpos64_t...$c" >&4
+$cat >try.c <<EOCP
+#include <sys/stdio.h>
+fpos64_t foo() { fpos64_t x; x = 7; return x; }'
+EOCP
+if $cc $optimize $ccflags -c try.c >/dev/null 2>&1; then
+ val="$define"
+ echo " Yup, it does." >&4
+else
+ val="$undef"
+ echo " Nope, it doesn't." >&4
+fi
+$rm -f try.*
+set d_fpos64_t
+eval $setvar
+
: see if fseeko exists
set fseeko d_fseeko
eval $inlibc
@@ -9142,6 +8955,33 @@ fi
set d_lchown
eval $setvar
+: See if number of significant digits in a double precision number is known
+echo " "
+$cat >ldbl_dig.c <<EOM
+#$i_limits I_LIMITS
+#$i_float I_FLOAT
+#ifdef I_LIMITS
+#include <limits.h>
+#endif
+#ifdef I_FLOAT
+#include <float.h>
+#endif
+#ifdef LDBL_DIG
+printf("Contains LDBL_DIG");
+#endif
+EOM
+$cppstdin $cppflags $cppminus < ldbl_dig.c >ldbl_dig.E 2>/dev/null
+if $contains 'LDBL_DIG' ldbl_dig.E >/dev/null 2>&1; then
+ echo "LDBL_DIG found." >&4
+ val="$define"
+else
+ echo "LDBL_DIG NOT found." >&4
+ val="$undef"
+fi
+$rm -f ldbl_dig.?
+set d_ldbl_dig
+eval $setvar
+
: see if link exists
set link d_link
eval $inlibc
@@ -10324,6 +10164,10 @@ set d_sigsetjmp
eval $setvar
$rm -f try.c try
+: see if sys/stat.h is available
+set sys/stat.h i_sysstat
+eval $inhdr
+
: see if stat knows about block sizes
echo " "
set d_statblks stat st_blocks $i_sysstat sys/stat.h
@@ -10944,7 +10788,7 @@ You seem to be either cross-compiling or doing a multiarchitecture build,
skipping the byteorder check.
EOM
- byteorder=''
+ byteorder='0xffff'
;;
*)
case "$byteorder" in
@@ -10953,8 +10797,9 @@ EOM
In the following, larger digits indicate more significance. A big-endian
machine like a Pyramid or a Motorola 680?0 chip will come out to 4321. A
little-endian machine like a Vax or an Intel 80?86 chip would be 1234. Other
-machines may have weird orders like 3412. A Cray will report 87654321. If
-the test program works the default is probably right.
+machines may have weird orders like 3412. A Cray will report 87654321,
+an Alpha will report 12345678. If the test program works the default is
+probably right.
I'm now running the test program...
EOM
$cat >try.c <<'EOCP'
@@ -13361,9 +13206,8 @@ case "$d_portable" in
echo " "
echo "Stripping down executable paths..." >&4
for file in $loclist $trylist; do
- if test X$file != Xln -a X$file != Xar -o X$osname != Xos2; then
- eval $file="\$file"
- fi
+ eval temp=\$$file
+ eval $file=`basename $temp`
done
;;
esac
@@ -13492,11 +13336,7 @@ d_crypt='$d_crypt'
d_csh='$d_csh'
d_cuserid='$d_cuserid'
d_dbl_dig='$d_dbl_dig'
-d_dbmclose64='$d_dbmclose64'
-d_dbminit64='$d_dbminit64'
-d_delete64='$d_delete64'
d_difftime='$d_difftime'
-d_dirent64_s='$d_dirent64_s'
d_dirnamlen='$d_dirnamlen'
d_dlerror='$d_dlerror'
d_dlopen='$d_dlopen'
@@ -13520,30 +13360,18 @@ d_fcntl='$d_fcntl'
d_fd_macros='$d_fd_macros'
d_fd_set='$d_fd_set'
d_fds_bits='$d_fds_bits'
-d_fetch64='$d_fetch64'
-d_fgetpos64='$d_fgetpos64'
d_fgetpos='$d_fgetpos'
-d_firstkey64='$d_firstkey64'
d_flexfnam='$d_flexfnam'
-d_flock64_s='$d_flock64_s'
d_flock='$d_flock'
-d_fopen64='$d_fopen64'
d_fork='$d_fork'
d_fpathconf='$d_fpathconf'
-d_freopen64='$d_freopen64'
-d_fseek64='$d_fseek64'
-d_fseeko64='$d_fseeko64'
+d_fpos64_t='$d_fpos64_t'
d_fseeko='$d_fseeko'
-d_fsetpos64='$d_fsetpos64'
d_fsetpos='$d_fsetpos'
-d_fstat64='$d_fstat64'
d_fstatfs='$d_fstatfs'
d_fstatvfs='$d_fstatvfs'
-d_ftell64='$d_ftell64'
-d_ftello64='$d_ftello64'
d_ftello='$d_ftello'
d_ftime='$d_ftime'
-d_ftruncate64='$d_ftruncate64'
d_getgrent='$d_getgrent'
d_getgrps='$d_getgrps'
d_gethbyaddr='$d_gethbyaddr'
@@ -13580,21 +13408,18 @@ d_hasmntopt='$d_hasmntopt'
d_htonl='$d_htonl'
d_index='$d_index'
d_inetaton='$d_inetaton'
-d_ino64_t='$d_ino64_t'
d_int64t='$d_int64t'
d_iovec_s='$d_iovec_s'
d_isascii='$d_isascii'
d_killpg='$d_killpg'
d_lchown='$d_lchown'
+d_ldbl_dig='$d_ldbl_dig'
d_link='$d_link'
d_llseek='$d_llseek'
d_locconv='$d_locconv'
-d_lockf64='$d_lockf64'
d_lockf='$d_lockf'
d_longdbl='$d_longdbl'
d_longlong='$d_longlong'
-d_lseek64='$d_lseek64'
-d_lstat64='$d_lstat64'
d_lstat='$d_lstat'
d_madvise='$d_madvise'
d_mblen='$d_mblen'
@@ -13624,16 +13449,12 @@ d_msgsnd='$d_msgsnd'
d_msync='$d_msync'
d_munmap='$d_munmap'
d_mymalloc='$d_mymalloc'
-d_nextkey64='$d_nextkey64'
d_nice='$d_nice'
d_off64_t='$d_off64_t'
-d_offset_t='$d_offset_t'
d_old_pthread_create_joinable='$d_old_pthread_create_joinable'
d_oldpthreads='$d_oldpthreads'
d_oldsock='$d_oldsock'
d_open3='$d_open3'
-d_open64='$d_open64'
-d_opendir64='$d_opendir64'
d_pathconf='$d_pathconf'
d_pause='$d_pause'
d_phostname='$d_phostname'
@@ -13649,7 +13470,6 @@ d_pwexpire='$d_pwexpire'
d_pwgecos='$d_pwgecos'
d_pwpasswd='$d_pwpasswd'
d_pwquota='$d_pwquota'
-d_readdir64='$d_readdir64'
d_readdir='$d_readdir'
d_readlink='$d_readlink'
d_readv='$d_readv'
@@ -13662,7 +13482,6 @@ d_safemcpy='$d_safemcpy'
d_sanemcmp='$d_sanemcmp'
d_sched_yield='$d_sched_yield'
d_scm_rights='$d_scm_rights'
-d_seekdir64='$d_seekdir64'
d_seekdir='$d_seekdir'
d_select='$d_select'
d_sem='$d_sem'
@@ -13707,7 +13526,6 @@ d_sigaction='$d_sigaction'
d_sigsetjmp='$d_sigsetjmp'
d_socket='$d_socket'
d_sockpair='$d_sockpair'
-d_stat64='$d_stat64'
d_statblks='$d_statblks'
d_statfs='$d_statfs'
d_statfsflags='$d_statfsflags'
@@ -13717,7 +13535,6 @@ d_stdio_ptr_lval='$d_stdio_ptr_lval'
d_stdio_stream_array='$d_stdio_stream_array'
d_stdiobase='$d_stdiobase'
d_stdstdio='$d_stdstdio'
-d_store64='$d_store64'
d_strchr='$d_strchr'
d_strcoll='$d_strcoll'
d_strctcpy='$d_strctcpy'
@@ -13737,13 +13554,10 @@ d_syserrlst='$d_syserrlst'
d_system='$d_system'
d_tcgetpgrp='$d_tcgetpgrp'
d_tcsetpgrp='$d_tcsetpgrp'
-d_telldir64='$d_telldir64'
d_telldir='$d_telldir'
d_telldirproto='$d_telldirproto'
d_time='$d_time'
d_times='$d_times'
-d_tmpfile64='$d_tmpfile64'
-d_truncate64='$d_truncate64'
d_truncate='$d_truncate'
d_tzname='$d_tzname'
d_umask='$d_umask'
@@ -14071,6 +13885,7 @@ uname='$uname'
uniq='$uniq'
use64bits='$use64bits'
usedl='$usedl'
+uselongdouble='$uselongdouble'
usemultiplicity='$usemultiplicity'
usemymalloc='$usemymalloc'
usenm='$usenm'
diff --git a/MAINTAIN b/MAINTAIN
index 12f987d5bc..4507ca9e6e 100644
--- a/MAINTAIN
+++ b/MAINTAIN
@@ -477,6 +477,7 @@ lib/bigint.pl
lib/bigrat.pl
lib/blib.pm
lib/cacheout.pl
+lib/charnames.pm ilya
lib/chat2.pl
lib/complete.pl
lib/constant.pm
@@ -683,6 +684,7 @@ t/lib/cgi-form.t
t/lib/cgi-function.t
t/lib/cgi-html.t
t/lib/cgi-request.t
+t/lib/charnames.t ilya
t/lib/checktree.t
t/lib/complex.t complex
t/lib/db-btree.t pmarquess
diff --git a/MANIFEST b/MANIFEST
index 5d67f3313d..6a18fb73c8 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -15,7 +15,6 @@ INTERN.h Included before domestic .h files
MAINTAIN Who maintains which files
MANIFEST This list of files
Makefile.SH A script that generates Makefile
-objXSUB.h Scoping macros for Perl Object in extensions
Policy_sh.SH Hold site-wide preferences between Configure runs.
Porting/Contract Social contract for contributed modules in Perl core
Porting/Glossary Glossary of config.sh variables
@@ -199,6 +198,7 @@ ext/ByteLoader/Makefile.PL Bytecode loader makefile writer
ext/ByteLoader/bytecode.h Bytecode header for bytecode loader
ext/ByteLoader/byterun.c Runtime support for bytecode loader
ext/ByteLoader/byterun.h Header for byterun.c
+ext/ByteLoader/hints/sunos.pl Hints for named architecture
ext/DB_File/Changes Berkeley DB extension change log
ext/DB_File/DB_File.pm Berkeley DB extension Perl module
ext/DB_File/DB_File.xs Berkeley DB extension external subroutines
@@ -234,8 +234,8 @@ ext/DynaLoader/dl_mpeix.xs MPE/iX implementation
ext/DynaLoader/dl_next.xs Next implementation
ext/DynaLoader/dl_none.xs Stub implementation
ext/DynaLoader/dl_rhapsody.xs Rhapsody implementation
-ext/DynaLoader/dl_vms.xs VMS implementation
ext/DynaLoader/dl_vmesa.xs VM/ESA implementation
+ext/DynaLoader/dl_vms.xs VMS implementation
ext/DynaLoader/dlutils.c Dynamic loader utilities for dl_*.xs files
ext/DynaLoader/hints/linux.pl Hint for DynaLoader for named architecture
ext/Errno/ChangeLog Errno perl module change log
@@ -247,8 +247,8 @@ ext/Fcntl/Makefile.PL Fcntl extension makefile writer
ext/GDBM_File/GDBM_File.pm GDBM extension Perl module
ext/GDBM_File/GDBM_File.xs GDBM extension external subroutines
ext/GDBM_File/Makefile.PL GDBM extension makefile writer
-ext/GDBM_File/typemap GDBM extension interface types
ext/GDBM_File/hints/sco.pl Hint for GDBM_File for named architecture
+ext/GDBM_File/typemap GDBM extension interface types
ext/IO/ChangeLog IO perl module change log
ext/IO/IO.pm Top-level interface to IO::* classes
ext/IO/IO.xs IO extension external subroutines
@@ -267,7 +267,6 @@ ext/IO/lib/IO/Socket/UNIX.pm IO UNIX specific socket methods
ext/IO/poll.c IO poll() emulation using select()
ext/IO/poll.h IO poll() emulation using select()
ext/IPC/SysV/ChangeLog IPC::SysV extension Perl module
-ext/IPC/SysV/hints/next_3.pl Hint for IPC::SysV for named architecture
ext/IPC/SysV/MANIFEST IPC::SysV extension Perl module
ext/IPC/SysV/Makefile.PL IPC::SysV extension Perl module
ext/IPC/SysV/Msg.pm IPC::SysV extension Perl module
@@ -275,6 +274,7 @@ ext/IPC/SysV/README IPC::SysV extension Perl module
ext/IPC/SysV/Semaphore.pm IPC::SysV extension Perl module
ext/IPC/SysV/SysV.pm IPC::SysV extension Perl module
ext/IPC/SysV/SysV.xs IPC::SysV extension Perl module
+ext/IPC/SysV/hints/next_3.pl Hint for IPC::SysV for named architecture
ext/IPC/SysV/t/msg.t IPC::SysV extension Perl module
ext/IPC/SysV/t/sem.t IPC::SysV extension Perl module
ext/NDBM_File/Makefile.PL NDBM extension makefile writer
@@ -543,15 +543,15 @@ lib/DirHandle.pm like FileHandle only for directories
lib/Dumpvalue.pm Screen dump of perl values
lib/English.pm Readable aliases for short variables
lib/Env.pm Map environment into ordinary variables
-lib/Exporter/Heavy.pm Complicated routines for Exporter
lib/Exporter.pm Exporter base class
+lib/Exporter/Heavy.pm Complicated routines for Exporter
lib/ExtUtils/Command.pm Utilities for Make on non-UNIX platforms
lib/ExtUtils/Embed.pm Utilities for embedding Perl in C programs
lib/ExtUtils/Install.pm Handles 'make install' on extensions
lib/ExtUtils/Installed.pm Information on installed extensions
lib/ExtUtils/Liblist.pm Locates libraries
-lib/ExtUtils/MM_OS2.pm MakeMaker methods for OS/2
lib/ExtUtils/MM_Cygwin.pm MakeMaker methods for Cygwin
+lib/ExtUtils/MM_OS2.pm MakeMaker methods for OS/2
lib/ExtUtils/MM_Unix.pm MakeMaker base class for Unix
lib/ExtUtils/MM_VMS.pm MakeMaker methods for VMS
lib/ExtUtils/MM_Win32.pm MakeMaker methods for Win32
@@ -648,6 +648,7 @@ lib/bigrat.pl An arbitrary precision rational arithmetic package
lib/blib.pm For "use blib"
lib/cacheout.pl Manages output filehandles when you need too many
lib/caller.pm Inherit pragmatic attributes from caller's context
+lib/charnames.pm Character names
lib/chat2.pl Obsolete ipc library (use Comm.pm etc instead)
lib/complete.pl A command completion subroutine
lib/constant.pm For "use constant"
@@ -695,7 +696,8 @@ lib/unicode/Block.pl Unicode character database
lib/unicode/Category.pl Unicode character database
lib/unicode/CombiningClass.pl Unicode character database
lib/unicode/Decomposition.pl Unicode character database
-lib/unicode/EthiopicSyllables.txt Unicode character database
+lib/unicode/Eq/Latin1 Unicode character database
+lib/unicode/Eq/Unicode Unicode character database
lib/unicode/In/AlphabeticPresentationForms.pl Unicode character database
lib/unicode/In/Arabic.pl Unicode character database
lib/unicode/In/ArabicPresentationForms-A.pl Unicode character database
@@ -822,14 +824,26 @@ lib/unicode/Is/Pd.pl Unicode character database
lib/unicode/Is/Pe.pl Unicode character database
lib/unicode/Is/Po.pl Unicode character database
lib/unicode/Is/Print.pl Unicode character database
-lib/unicode/Is/Punct.pl Unicode character database
lib/unicode/Is/Ps.pl Unicode character database
+lib/unicode/Is/Punct.pl Unicode character database
lib/unicode/Is/S.pl Unicode character database
lib/unicode/Is/Sc.pl Unicode character database
lib/unicode/Is/Sm.pl Unicode character database
lib/unicode/Is/So.pl Unicode character database
lib/unicode/Is/Space.pl Unicode character database
+lib/unicode/Is/SylA.pl Unicode character database
+lib/unicode/Is/SylC.pl Unicode character database
+lib/unicode/Is/SylE.pl Unicode character database
+lib/unicode/Is/SylI.pl Unicode character database
lib/unicode/Is/Syllable.pl Unicode character database
+lib/unicode/Is/SylO.pl Unicode character database
+lib/unicode/Is/SylU.pl Unicode character database
+lib/unicode/Is/SylV.pl Unicode character database
+lib/unicode/Is/SylWA.pl Unicode character database
+lib/unicode/Is/SylWC.pl Unicode character database
+lib/unicode/Is/SylWE.pl Unicode character database
+lib/unicode/Is/SylWI.pl Unicode character database
+lib/unicode/Is/SylWV.pl Unicode character database
lib/unicode/Is/Upper.pl Unicode character database
lib/unicode/Is/Word.pl Unicode character database
lib/unicode/Is/XDigit.pl Unicode character database
@@ -838,7 +852,6 @@ lib/unicode/Is/Zl.pl Unicode character database
lib/unicode/Is/Zp.pl Unicode character database
lib/unicode/Is/Zs.pl Unicode character database
lib/unicode/JamoShort.pl Unicode character database
-lib/unicode/MakeEthiopicSyllables.PL Unicode character database
lib/unicode/Makefile Unicode character database
lib/unicode/Name.pl Unicode character database
lib/unicode/Number.pl Unicode character database
@@ -856,6 +869,7 @@ lib/unicode/mktables.PL Unicode character database generator
lib/unicode/names2.txt Unicode character database
lib/unicode/props2.txt Unicode character database
lib/unicode/readme.txt Unicode character database info
+lib/unicode/syllables.txt Unicode character database
lib/utf8.pm Pragma to control Unicode support
lib/utf8_heavy.pl Support routines for utf8 pragma
lib/validate.pl Perl library supporting wholesale file mode validation
@@ -870,10 +884,10 @@ mg.c Magic code
mg.h Magic header
minimod.pl Writes lib/ExtUtils/Miniperl.pm
miniperlmain.c Basic perl w/o dynamic loading or extensions
-mint/errno.h MiNT port
mint/Makefile MiNT port
-mint/pwd.c MiNT port
mint/README MiNT port
+mint/errno.h MiNT port
+mint/pwd.c MiNT port
mint/stdio.h MiNT port
mint/sys/time.h MiNT port
mint/time.h MiNT port
@@ -883,6 +897,7 @@ mpeix/relink MPE/iX port
mv-if-diff Script to mv a file if it changed
myconfig.SH Prints summary of the current configuration
nostdio.h Cause compile error on stdio calls
+objXSUB.h Scoping macros for Perl Object in extensions
op.c Opcode syntax tree code
op.h Opcode syntax tree header
opcode.h Automatically generated opcode header
@@ -923,8 +938,8 @@ os2/OS2/REXX/t/rx_tievar.t DLL access module
os2/OS2/REXX/t/rx_tieydb.t DLL access module
os2/OS2/REXX/t/rx_varset.t DLL access module
os2/OS2/REXX/t/rx_vrexx.t DLL access module
-os2/diff.configure Patches to Configure
os2/POSIX.mkfifo OS2-specific patch
+os2/diff.configure Patches to Configure
os2/dl_os2.c Addon for dl_open
os2/dlfcn.h Addon for dl_open
os2/os2.c Additional code for OS/2
@@ -945,10 +960,10 @@ perlsfio.h Prototype sfio mapping for PerlIO
perlsh A poor man's perl shell
perlvars.h Global variables
perly.c A byacc'ed perly.y
-perly_c.diff Fixup perly.c to allow recursion
perly.fixer A program to remove yacc stack limitations
perly.h The header file for perly.c
perly.y Yacc grammar for perl
+perly_c.diff Fixup perly.c to allow recursion
plan9/aperl Shell to make Perl error messages Acme-friendly
plan9/arpa/inet.h Plan9 port: replacement C header file
plan9/buildinfo Plan9 port: configuration information
@@ -969,16 +984,16 @@ pod/Win32.pod Documentation for Win32 extras
pod/buildtoc generate perltoc.pod
pod/checkpods.PL Tool to check for common errors in pods
pod/perl.pod Top level perl man page
+pod/perl5004delta.pod Changes from 5.003 to 5.004
+pod/perl5005delta.pod Changes from 5.004 to 5.005
pod/perlapio.pod IO API info
pod/perlbook.pod Book info
pod/perlbot.pod Object-oriented Bag o' Tricks
pod/perlcall.pod Callback info
pod/perldata.pod Data structure info
+pod/perldbmfilter.pod Info about DBM Filters
pod/perldebug.pod Debugger info
pod/perldelta.pod Changes since last version
-pod/perl5005delta.pod Changes from 5.004 to 5.005
-pod/perl5004delta.pod Changes from 5.003 to 5.004
-pod/perldbmfilter.pod Info about DBM Filters
pod/perldiag.pod Diagnostic info
pod/perldsc.pod Data Structures Cookbook
pod/perlembed.pod Embedding info
@@ -1112,6 +1127,7 @@ t/lib/cgi-form.t See if CGI.pm works
t/lib/cgi-function.t See if CGI.pm works
t/lib/cgi-html.t See if CGI.pm works
t/lib/cgi-request.t See if CGI.pm works
+t/lib/charnames.t See if character names work
t/lib/checktree.t See if File::CheckTree works
t/lib/complex.t See if Math::Complex works
t/lib/db-btree.t See if DB_File works
@@ -1186,8 +1202,9 @@ t/lib/selectsaver.t See if SelectSaver works
t/lib/socket.t See if Socket works
t/lib/soundex.t See if Soundex works
t/lib/symbol.t See if Symbol works
-t/lib/texttabs.t See if Text::Tabs works
+t/lib/syslfs.t See if large files work for sysio
t/lib/textfill.t See if Text::Wrap::fill works
+t/lib/texttabs.t See if Text::Tabs works
t/lib/textwrap.t See if Text::Wrap::wrap works
t/lib/thread.t Basic test of threading (skipped if no threads)
t/lib/tie-push.t Test for Tie::Array
@@ -1236,6 +1253,7 @@ t/op/index.t See if index works
t/op/int.t See if int works
t/op/join.t See if join works
t/op/lex_assign.t See if ops involving lexicals or pad temps work
+t/op/lfs.t See if large files work for perlio
t/op/list.t See if array lists work
t/op/local.t See if local works
t/op/lop.t See if logical operators work
@@ -1244,8 +1262,8 @@ t/op/method.t See if method calls work
t/op/misc.t See if miscellaneous bugs have been fixed
t/op/mkdir.t See if mkdir works
t/op/my.t See if lexical scoping works
-t/op/numconvert.t See if accessing fields does not change numeric values
t/op/nothread.t local @_ test which does not work threaded
+t/op/numconvert.t See if accessing fields does not change numeric values
t/op/oct.t See if oct and hex work
t/op/ord.t See if ord works
t/op/pack.t See if pack and unpack work
@@ -1353,8 +1371,8 @@ t/pragma/warn/sv Tests for sv.c for warning.t
t/pragma/warn/taint Tests for taint.c for warning.t
t/pragma/warn/toke Tests for toke.c for warning.t
t/pragma/warn/universal Tests for universal.c for warning.t
-t/pragma/warn/util Tests for util.c for warning.t
t/pragma/warn/utf8 Tests for utf8.c for warning.t
+t/pragma/warn/util Tests for util.c for warning.t
t/pragma/warning.t See if warning controls work
taint.c Tainting code
thrdvar.h Per-thread variables
@@ -1414,8 +1432,8 @@ vms/vms.c VMS-specific C code for Perl core
vms/vms_yfix.pl convert Unix perly.[ch] to VMS perly_[ch].vms
vms/vmsish.h VMS-specific C header for Perl core
vms/writemain.pl Generate perlmain.c from miniperlmain.c+extensions
-vos/build.cm VOS command macro to build Perl
vos/Changes Changes made to port Perl to the VOS operating system
+vos/build.cm VOS command macro to build Perl
vos/compile_perl.cm VOS commnad macro to build multiple version of Perl
vos/config.h config.h for VOS
vos/config_h.SH_orig config_h.SH at the time config.h was created
diff --git a/Makefile.SH b/Makefile.SH
index 6c6fcc42f7..6a84c1c15a 100644
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -548,6 +548,7 @@ SYMH = perlvars.h intrpvar.h thrdvar.h
# ext/ByteLoader/byterun.h: bytecode.pl
# ext/ByteLoader/byterun.c: bytecode.pl
# ext/B/Asmdata.pm: bytecode.pl
+# global.sym: embed.pl
# regnodes.h: regcomp.pl
# warning.h lib/warning.pm: warning.pl
# The correct versions should be already supplied with the perl kit,
@@ -621,7 +622,7 @@ _cleaner:
-@for x in $(DYNALOADER) $(dynamic_ext) $(static_ext) $(nonxs_ext) ; do \
$(LDLIBPTH) sh ext/util/make_ext realclean $$x MAKE=$(MAKE) ; \
done
- rm -f *.orig */*.orig *~ */*~ core core.perl.*.? core.miniperl.*.? perl.core miniperl.core t/core t/core.perl.*.? t/perl.core t/tmp???? t/c t/perl so_locations t/nonexistent1 $(LIBPERL_NONSHR) $(MINIPERL_NONSHR)
+ rm -f *.orig */*.orig *~ */*~ core core.*perl.*.? *perl.core t/core t/core.perl.*.? t/*perl.core t/misctmp* t/tmp* t/Io.dup t/tmon.out t/big t/c t/perl t/nonexistent1 so_locations $(LIBPERL_NONSHR) $(MINIPERL_NONSHR)
rm -rf $(addedbyconf)
rm -f $(FIRSTMAKEFILE) $(FIRSTMAKEFILE).old
rm -f $(private)
diff --git a/Porting/Glossary b/Porting/Glossary
index d964ce2206..2f4f23d50f 100644
--- a/Porting/Glossary
+++ b/Porting/Glossary
@@ -398,25 +398,10 @@ d_dbl_dig (d_dbl_dig.U):
header files provide DBL_DIG, which is the number of significant
digits in a double precision number.
-d_dbmclose64 (dbm64.U):
- This variable conditionally defines the HAS_DBMCLOSE64 symbol, which
- indicates to the C program that the dbmclose64() routine is available.
-
-d_dbminit64 (dbm64.U):
- This variable conditionally defines the HAS_DBMINIT64 symbol, which
- indicates to the C program that the dbminit64() routine is available.
-
-d_delete64 (dbm64.U):
- This variable conditionally defines the HAS_DELETE64 symbol, which
- indicates to the C program that the delete64() routine is available.
-
d_difftime (d_difftime.U):
This variable conditionally defines the HAS_DIFFTIME symbol, which
indicates to the C program that the difftime() routine is available.
-d_dirent64_s (io64.U):
- This symbol will be defined if the C compiler supports struct dirent64.
-
d_dirnamlen (i_dirent.U):
This variable conditionally defines DIRNAMLEN, which indicates
to the C program that the length of directory entry names is
@@ -522,37 +507,18 @@ d_fds_bits (d_fd_set.U):
a half-fast job and neglected to provide the macros to manipulate
an fd_set, HAS_FDS_BITS will let us know how to fix the gaffe.
-d_fetch64 (dbm64.U):
- This variable conditionally defines the HAS_FETCH64 symbol, which
- indicates to the C program that the fetch64() routine is available.
-
-d_fgetpos64 (stdio64.U):
- This variable conditionally defines the HAS_FGETPOS64 symbol, which
- indicates to the C program that the fgetpos64() routine is available.
-
d_fgetpos (d_fgetpos.U):
This variable conditionally defines HAS_FGETPOS if fgetpos() is
available to get the file position indicator.
-d_firstkey64 (dbm64.U):
- This variable conditionally defines the HAS_FIRSTKEY64 symbol, which
- indicates to the C program that the firstkey64() routine is available.
-
d_flexfnam (d_flexfnam.U):
This variable conditionally defines the FLEXFILENAMES symbol, which
indicates that the system supports filenames longer than 14 characters.
-d_flock64_s (io64.U):
- This symbol will be defined if the C compiler supports struct flock64.
-
d_flock (d_flock.U):
This variable conditionally defines HAS_FLOCK if flock() is
available to do file locking.
-d_fopen64 (stdio64.U):
- This variable conditionally defines the HAS_FOPEN64 symbol, which
- indicates to the C program that the fopen64() routine is available.
-
d_fork (d_fork.U):
This variable conditionally defines the HAS_FORK symbol, which
indicates to the C program that the fork() routine is available.
@@ -563,34 +529,17 @@ d_fpathconf (d_pathconf.U):
to determine file-system related limits and options associated
with a given open file descriptor.
-d_freopen64 (stdio64.U):
- This variable conditionally defines the HAS_FREOPEN64 symbol, which
- indicates to the C program that the freopen64() routine is available.
-
-d_fseek64 (stdio64.U):
- This variable conditionally defines the HAS_FSEEK64 symbol, which
- indicates to the C program that the fseek64() routine is available.
-
-d_fseeko64 (stdio64.U):
- This variable conditionally defines the HAS_FSEEKO64 symbol, which
- indicates to the C program that the fseeko64() routine is available.
+d_fpos64_t (io64.U):
+ This symbol will be defined if the C compiler supports fpos64_t.
d_fseeko (d_fseeko.U):
This variable conditionally defines the HAS_FSEEKO symbol, which
indicates to the C program that the fseeko() routine is available.
-d_fsetpos64 (stdio64.U):
- This variable conditionally defines the HAS_FSETPOS64 symbol, which
- indicates to the C program that the fsetpos64() routine is available.
-
d_fsetpos (d_fsetpos.U):
This variable conditionally defines HAS_FSETPOS if fsetpos() is
available to set the file position indicator.
-d_fstat64 (io64.U):
- This variable conditionally defines the HAS_FSTAT64 symbol, which
- indicates to the C program that the fstat64() routine is available.
-
d_fstatfs (d_statfs.U):
This variable conditionally defines the HAS_FSTATFS symbol, which
indicates to the C program that the fstatfs() routine is available.
@@ -599,14 +548,6 @@ d_fstatvfs (d_statvfs.U):
This variable conditionally defines the HAS_FSTATVFS symbol, which
indicates to the C program that the fstatvfs() routine is available.
-d_ftell64 (stdio64.U):
- This variable conditionally defines the HAS_FTELL64 symbol, which
- indicates to the C program that the ftell64() routine is available.
-
-d_ftello64 (stdio64.U):
- This variable conditionally defines the HAS_FTELLO64 symbol, which
- indicates to the C program that the ftello64() routine is available.
-
d_ftello (d_ftello.U):
This variable conditionally defines the HAS_FTELLO symbol, which
indicates to the C program that the ftello() routine is available.
@@ -616,10 +557,6 @@ d_ftime (d_ftime.U):
that the ftime() routine exists. The ftime() routine is basically
a sub-second accuracy clock.
-d_ftruncate64 (io64.U):
- This variable conditionally defines the HAS_FTRUNCATE64 symbol, which
- indicates to the C program that the ftruncate64() routine is available.
-
d_Gconvert (d_gconvert.U):
This variable holds what Gconvert is defined as to convert
floating point numbers into strings. It could be 'gconvert'
@@ -804,9 +741,6 @@ d_inetaton (d_inetaton.U):
indicates to the C program that the inet_aton() function is available
to parse IP address "dotted-quad" strings.
-d_ino64_t (io64.U):
- This symbol will be defined if the C compiler supports ino64_t.
-
d_int64t (i_inttypes.U):
This symbol will be defined if the C compiler supports int64_t.
@@ -828,6 +762,11 @@ d_lchown (d_lchown.U):
indicates to the C program that the lchown() routine is available
to operate on a symbolic link (instead of following the link).
+d_ldbl_dig (d_ldbl_dig.U):
+ This variable conditionally defines d_ldbl_dig if this system's
+ header files provide LDBL_DIG, which is the number of significant
+ digits in a long double precision number.
+
d_link (d_link.U):
This variable conditionally defines HAS_LINK if link() is
available to create hard links.
@@ -840,10 +779,6 @@ d_locconv (d_locconv.U):
This variable conditionally defines HAS_LOCALECONV if localeconv() is
available for numeric and monetary formatting conventions.
-d_lockf64 (io64.U):
- This variable conditionally defines the HAS_LOCKF64 symbol, which
- indicates to the C program that the lockf64() routine is available.
-
d_lockf (d_lockf.U):
This variable conditionally defines HAS_LOCKF if lockf() is
available to do file locking.
@@ -856,14 +791,6 @@ d_longlong (d_longlong.U):
This variable conditionally defines HAS_LONG_LONG if
the long long type is supported.
-d_lseek64 (io64.U):
- This variable conditionally defines the HAS_LSEEK64 symbol, which
- indicates to the C program that the lseek64() routine is available.
-
-d_lstat64 (io64.U):
- This variable conditionally defines the HAS_LSTAT64 symbol, which
- indicates to the C program that the lstat64() routine is available.
-
d_lstat (d_lstat.U):
This variable conditionally defines HAS_LSTAT if lstat() is
available to do file stats on symbolic links.
@@ -995,10 +922,6 @@ d_mymalloc (mallocsrc.U):
of the source want to take special action if MYMALLOC is used.
This may include different sorts of profiling or error detection.
-d_nextkey64 (dbm64.U):
- This variable conditionally defines the HAS_NEXTKEY64 symbol, which
- indicates to the C program that the nextkey64() routine is available.
-
d_nice (d_nice.U):
This variable conditionally defines the HAS_NICE symbol, which
indicates to the C program that the nice() routine is available.
@@ -1006,9 +929,6 @@ d_nice (d_nice.U):
d_off64_t (io64.U):
This symbol will be defined if the C compiler supports off64_t.
-d_offset_t (io64.U):
- This symbol will be defined if the C compiler supports offset_t.
-
d_old_pthread_create_joinable (d_pthrattrj.U):
This variable conditionally defines pthread_create_joinable.
undef if pthread.h defines PTHREAD_CREATE_JOINABLE.
@@ -1028,14 +948,6 @@ d_open3 (d_open3.U):
which indicates to the C program that the 3 argument version of
the open(2) function is available.
-d_open64 (io64.U):
- This variable conditionally defines the HAS_OPEN64 symbol, which
- indicates to the C program that the open64() routine is available.
-
-d_opendir64 (io64.U):
- This variable conditionally defines the HAS_OPENDIR64 symbol, which
- indicates to the C program that the opendir64() routine is available.
-
d_pathconf (d_pathconf.U):
This variable conditionally defines the HAS_PATHCONF symbol, which
indicates to the C program that the pathconf() routine is available
@@ -1153,10 +1065,6 @@ d_pwquota (i_pwd.U):
This variable conditionally defines PWQUOTA, which indicates
that struct passwd contains pw_quota.
-d_readdir64 (io64.U):
- This variable conditionally defines the HAS_READDIR64 symbol, which
- indicates to the C program that the readdir64() routine is available.
-
d_readdir (d_readdir.U):
This variable conditionally defines HAS_READDIR if readdir() is
available to read directory entries.
@@ -1210,10 +1118,6 @@ d_scm_rights (d_socket.U):
which indicates that the SCM_RIGHTS is available. #ifdef is
not enough because it may be an enum, glibc has been known to do this.
-d_seekdir64 (io64.U):
- This variable conditionally defines the HAS_SEEKDIR64 symbol, which
- indicates to the C program that the seekdir64() routine is available.
-
d_seekdir (d_readdir.U):
This variable conditionally defines HAS_SEEKDIR if seekdir() is
available.
@@ -1408,10 +1312,6 @@ d_sockpair (d_socket.U):
This variable conditionally defines the HAS_SOCKETPAIR symbol, which
indicates that the BSD socketpair() is supported.
-d_stat64 (io64.U):
- This variable conditionally defines the HAS_STAT64 symbol, which
- indicates to the C program that the stat64() routine is available.
-
d_statblks (d_statblks.U):
This variable conditionally defines USE_STAT_BLOCKS
if this system has a stat structure declaring
@@ -1453,10 +1353,6 @@ d_stdstdio (d_stdstdio.U):
has a FILE structure declaring usable _ptr and _cnt fields (or
equivalent) in stdio.h.
-d_store64 (dbm64.U):
- This variable conditionally defines the HAS_STORE64 symbol, which
- indicates to the C program that the store64() routine is available.
-
d_strchr (d_strchr.U):
This variable conditionally defines HAS_STRCHR if strchr() and
strrchr() are available for string searching.
@@ -1543,10 +1439,6 @@ d_tcsetpgrp (d_tcstpgrp.U):
indicates to the C program that the tcsetpgrp() routine is available
to set foreground process group ID.
-d_telldir64 (io64.U):
- This variable conditionally defines the HAS_TELLDIR64 symbol, which
- indicates to the C program that the telldir64() routine is available.
-
d_telldir (d_readdir.U):
This variable conditionally defines HAS_TELLDIR if telldir() is
available.
@@ -1567,14 +1459,6 @@ d_times (d_times.U):
that the times() routine exists. The times() routine is normaly
provided on UNIX systems. You may have to include <sys/times.h>.
-d_tmpfile64 (stdio64.U):
- This variable conditionally defines the HAS_TMPFILE64 symbol, which
- indicates to the C program that the tmpfile64() routine is available.
-
-d_truncate64 (io64.U):
- This variable conditionally defines the HAS_TRUNCATE64 symbol, which
- indicates to the C program that the truncate64() routine is available.
-
d_truncate (d_truncate.U):
This variable conditionally defines HAS_TRUNCATE if truncate() is
available to truncate files.
@@ -3147,6 +3031,10 @@ usedl (dlsrc.U):
This variable indicates if the the system supports dynamic
loading of some sort. See also dlsrc and dlobj.
+uselongdouble (uselongdbl.U):
+ This variable conditionally defines the USE_LONG_DOUBLE symbol,
+ and indicates that long doubles should be used when available.
+
usemultiplicity (usemultiplicity.U):
This variable conditionally defines the MULTIPLICITY symbol,
and indicates that Perl should be built to use multiplicity.
diff --git a/Porting/config.sh b/Porting/config.sh
index ce3ee9416b..b0ab9f23a4 100644
--- a/Porting/config.sh
+++ b/Porting/config.sh
@@ -8,7 +8,7 @@
# Package name : perl5
# Source directory : .
-# Configuration time: Mon Aug 2 01:32:52 EET DST 1999
+# Configuration time: Mon Aug 16 22:37:31 EET DST 1999
# Configured by : jhi
# Target system : osf1 alpha.hut.fi v4.0 878 alpha
@@ -30,10 +30,10 @@ afs='false'
alignbytes='8'
ansi2knr=''
aphostname=''
-apiversion='5.00558'
+apiversion='5.00560'
ar='ar'
-archlib='/opt/perl/lib/5.00558/alpha-dec_osf-thread'
-archlibexp='/opt/perl/lib/5.00558/alpha-dec_osf-thread'
+archlib='/opt/perl/lib/5.00560/alpha-dec_osf-thread'
+archlibexp='/opt/perl/lib/5.00560/alpha-dec_osf-thread'
archname64=''
archname='alpha-dec_osf-thread'
archobjs=''
@@ -51,12 +51,12 @@ castflags='0'
cat='cat'
cc='cc'
cccdlflags=' '
-ccdlflags=' -Wl,-rpath,/opt/perl/lib/5.00558/alpha-dec_osf-thread/CORE'
+ccdlflags=' -Wl,-rpath,/opt/perl/lib/5.00560/alpha-dec_osf-thread/CORE'
ccflags='-pthread -std -DLANGUAGE_C'
ccsymbols='__LANGUAGE_C__=1 _LONGLONG=1 LANGUAGE_C=1 SYSTYPE_BSD=1'
cf_by='jhi'
cf_email='yourname@yourhost.yourplace.com'
-cf_time='Mon Aug 2 01:32:52 EET DST 1999'
+cf_time='Mon Aug 16 22:37:31 EET DST 1999'
chgrp=''
chmod=''
chown=''
@@ -100,7 +100,7 @@ d_atoll='undef'
d_attribut='undef'
d_bcmp='define'
d_bcopy='define'
-d_bincompat5005=''
+d_bincompat5005='undef'
d_bsd='undef'
d_bsdgetpgrp='undef'
d_bsdsetpgrp='define'
@@ -118,11 +118,7 @@ d_crypt='define'
d_csh='define'
d_cuserid='define'
d_dbl_dig='define'
-d_dbmclose64='undef'
-d_dbminit64='undef'
-d_delete64='undef'
d_difftime='define'
-d_dirent64_s='undef'
d_dirnamlen='define'
d_dlerror='define'
d_dlopen='define'
@@ -146,30 +142,18 @@ d_fcntl='define'
d_fd_macros='define'
d_fd_set='define'
d_fds_bits='define'
-d_fetch64='undef'
-d_fgetpos64='undef'
d_fgetpos='define'
-d_firstkey64='undef'
d_flexfnam='define'
-d_flock64_s='undef'
d_flock='define'
-d_fopen64='undef'
d_fork='define'
d_fpathconf='define'
-d_freopen64='undef'
-d_fseek64='undef'
-d_fseeko64='undef'
+d_fpos64_t='undef'
d_fseeko='undef'
-d_fsetpos64='undef'
d_fsetpos='define'
-d_fstat64='undef'
d_fstatfs='define'
d_fstatvfs='define'
-d_ftell64='undef'
-d_ftello64='undef'
d_ftello='undef'
d_ftime='undef'
-d_ftruncate64='undef'
d_getgrent='define'
d_getgrps='define'
d_gethbyaddr='define'
@@ -206,21 +190,18 @@ d_hasmntopt='undef'
d_htonl='define'
d_index='undef'
d_inetaton='define'
-d_ino64_t='undef'
d_int64t='undef'
d_iovec_s='define'
d_isascii='define'
d_killpg='define'
d_lchown='define'
+d_ldbl_dig='define'
d_link='define'
d_llseek='undef'
d_locconv='define'
-d_lockf64='undef'
d_lockf='define'
d_longdbl='define'
d_longlong='define'
-d_lseek64='undef'
-d_lstat64='undef'
d_lstat='define'
d_madvise='define'
d_mblen='define'
@@ -250,16 +231,12 @@ d_msgsnd='define'
d_msync='define'
d_munmap='define'
d_mymalloc='undef'
-d_nextkey64='undef'
d_nice='define'
d_off64_t='undef'
-d_offset_t='undef'
d_old_pthread_create_joinable='undef'
d_oldpthreads='undef'
d_oldsock='undef'
d_open3='define'
-d_open64='undef'
-d_opendir64='undef'
d_pathconf='define'
d_pause='define'
d_phostname='undef'
@@ -275,7 +252,6 @@ d_pwexpire='undef'
d_pwgecos='define'
d_pwpasswd='define'
d_pwquota='define'
-d_readdir64='undef'
d_readdir='define'
d_readlink='define'
d_readv='define'
@@ -288,7 +264,6 @@ d_safemcpy='undef'
d_sanemcmp='define'
d_sched_yield='define'
d_scm_rights='define'
-d_seekdir64='undef'
d_seekdir='define'
d_select='define'
d_sem='define'
@@ -333,7 +308,6 @@ d_sigaction='define'
d_sigsetjmp='define'
d_socket='define'
d_sockpair='define'
-d_stat64='undef'
d_statblks='define'
d_statfs='define'
d_statfsflags='define'
@@ -343,7 +317,6 @@ d_stdio_ptr_lval='define'
d_stdio_stream_array='define'
d_stdiobase='define'
d_stdstdio='define'
-d_store64='undef'
d_strchr='define'
d_strcoll='define'
d_strctcpy='define'
@@ -363,13 +336,10 @@ d_syserrlst='define'
d_system='define'
d_tcgetpgrp='define'
d_tcsetpgrp='define'
-d_telldir64='undef'
d_telldir='define'
d_telldirproto='define'
d_time='define'
d_times='define'
-d_tmpfile64='undef'
-d_truncate64='undef'
d_truncate='define'
d_tzname='define'
d_umask='define'
@@ -500,15 +470,15 @@ i_vfork='undef'
ignore_versioned_solibs=''
incpath=''
inews=''
-installarchlib='/opt/perl/lib/5.00558/alpha-dec_osf-thread'
+installarchlib='/opt/perl/lib/5.00560/alpha-dec_osf-thread'
installbin='/opt/perl/bin'
installman1dir='/opt/perl/man/man1'
installman3dir='/opt/perl/man/man3'
installprefix='/opt/perl'
installprefixexp='/opt/perl'
-installprivlib='/opt/perl/lib/5.00558'
+installprivlib='/opt/perl/lib/5.00560'
installscript='/opt/perl/bin'
-installsitearch='/opt/perl/lib/site_perl/5.00558/alpha-dec_osf-thread'
+installsitearch='/opt/perl/lib/site_perl/5.00560/alpha-dec_osf-thread'
installsitelib='/opt/perl/lib/site_perl'
installstyle='lib'
installusrbinperl='define'
@@ -526,8 +496,8 @@ lib_ext='.a'
libc='/usr/shlib/libc.so'
libperl='libperl.so'
libpth='/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /var/shlib'
-libs='-lgdbm -ldbm -ldb -lm -lrt -lpthread -lexc'
-libswanted='sfio socket inet nsl nm gdbm dbm db malloc dld ld sun m rt cposix posix ndir dir crypt sec ucb BSD x pthread exc'
+libs='-lgdbm -ldbm -ldb -lm -lpthread -lexc'
+libswanted='sfio socket inet nsl nm gdbm dbm db malloc dld ld sun m cposix posix ndir dir crypt sec ucb BSD x pthread exc'
line=''
lint=''
lkflags=''
@@ -603,8 +573,8 @@ pmake=''
pr=''
prefix='/opt/perl'
prefixexp='/opt/perl'
-privlib='/opt/perl/lib/5.00558'
-privlibexp='/opt/perl/lib/5.00558'
+privlib='/opt/perl/lib/5.00560'
+privlibexp='/opt/perl/lib/5.00560'
prototype='define'
ptrsize='8'
randbits='48'
@@ -648,8 +618,8 @@ sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "EMT", "FPE"
sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 6 6 16 20 23 23 23 29 48 '
sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 6, 6, 16, 20, 23, 23, 23, 29, 48, 0'
signal_t='void'
-sitearch='/opt/perl/lib/site_perl/5.00558/alpha-dec_osf-thread'
-sitearchexp='/opt/perl/lib/site_perl/5.00558/alpha-dec_osf-thread'
+sitearch='/opt/perl/lib/site_perl/5.00560/alpha-dec_osf-thread'
+sitearchexp='/opt/perl/lib/site_perl/5.00560/alpha-dec_osf-thread'
sitelib='/opt/perl/lib/site_perl'
sitelibexp='/opt/perl/lib/site_perl'
siteprefix='/opt/perl'
@@ -679,7 +649,7 @@ stdio_ptr='((fp)->_ptr)'
stdio_stream_array='_iob'
strings='/usr/include/string.h'
submit=''
-subversion='58'
+subversion='60'
sysman='/usr/man/man1'
tail=''
tar=''
@@ -697,6 +667,7 @@ uname='uname'
uniq='uniq'
use64bits='define'
usedl='define'
+uselongdouble='undef'
usemultiplicity='undef'
usemymalloc='n'
usenm='true'
@@ -715,7 +686,7 @@ vendorlib=''
vendorlibexp=''
vendorprefix=''
vendorprefixexp=''
-version='5.00558'
+version='5.00560'
vi=''
voidflags='15'
xlibpth='/usr/lib/386 /lib/386'
@@ -737,7 +708,7 @@ config_arg9='-Dmyhostname=yourhost'
config_arg10='-dE'
PERL_REVISION=5
PERL_VERSION=5
-PERL_SUBVERSION=58
+PERL_SUBVERSION=60
CONFIGDOTSH=true
# Variables propagated from previous config.sh file.
pp_sys_cflags='ccflags="$ccflags -DNO_EFF_ONLY_OK"'
diff --git a/Porting/config_H b/Porting/config_H
index 2dbb872f01..4aca318a66 100644
--- a/Porting/config_H
+++ b/Porting/config_H
@@ -17,7 +17,7 @@
/*
* Package name : perl5
* Source directory : .
- * Configuration time: Mon Aug 2 01:32:52 EET DST 1999
+ * Configuration time: Mon Aug 16 22:37:31 EET DST 1999
* Configured by : jhi
* Target system : osf1 alpha.hut.fi v4.0 878 alpha
*/
@@ -1423,8 +1423,8 @@
* This symbol contains the ~name expanded version of ARCHLIB, to be used
* in programs that are not prepared to deal with ~ expansion at run-time.
*/
-#define ARCHLIB "/opt/perl/lib/5.00558/alpha-dec_osf-thread" /**/
-#define ARCHLIB_EXP "/opt/perl/lib/5.00558/alpha-dec_osf-thread" /**/
+#define ARCHLIB "/opt/perl/lib/5.00560/alpha-dec_osf-thread" /**/
+#define ARCHLIB_EXP "/opt/perl/lib/5.00560/alpha-dec_osf-thread" /**/
/* BIN:
* This symbol holds the path of the bin directory where the package will
@@ -1453,8 +1453,8 @@
* This symbol contains the ~name expanded version of PRIVLIB, to be used
* in programs that are not prepared to deal with ~ expansion at run-time.
*/
-#define PRIVLIB "/opt/perl/lib/5.00558" /**/
-#define PRIVLIB_EXP "/opt/perl/lib/5.00558" /**/
+#define PRIVLIB "/opt/perl/lib/5.00560" /**/
+#define PRIVLIB_EXP "/opt/perl/lib/5.00560" /**/
/* SITEARCH:
* This symbol contains the name of the private library for this package.
@@ -1469,8 +1469,8 @@
* This symbol contains the ~name expanded version of SITEARCH, to be used
* in programs that are not prepared to deal with ~ expansion at run-time.
*/
-#define SITEARCH "/opt/perl/lib/site_perl/5.00558/alpha-dec_osf-thread" /**/
-#define SITEARCH_EXP "/opt/perl/lib/site_perl/5.00558/alpha-dec_osf-thread" /**/
+#define SITEARCH "/opt/perl/lib/site_perl/5.00560/alpha-dec_osf-thread" /**/
+#define SITEARCH_EXP "/opt/perl/lib/site_perl/5.00560/alpha-dec_osf-thread" /**/
/* SITELIB:
* This symbol contains the name of the private library for this package.
@@ -2147,7 +2147,7 @@
* that use features like threads and multiplicity it is always
* for those versions.
*/
-# PERL_BINCOMPAT_5005 /**/
+/*#define PERL_BINCOMPAT_5005 / **/
/* DLSYM_NEEDS_UNDERSCORE:
* This symbol, if defined, indicates that we need to prepend an
@@ -2199,6 +2199,14 @@
*/
/*#define HAS_HASMNTOPT / **/
+/* HAS_LDBL_DIG:
+ * This symbol, if defined, indicates that this system's <float.h>
+ * or <limits.h> defines the symbol LDBL_DIG, which is the number
+ * of significant digits in a long double precision number. Unlike
+ * for DBL_DIG, there's no good guess for LDBL_DIG if it is undefined.
+ */
+#define HAS_LDBL_DIG /* */
+
/* HAS_MADVISE:
* This symbol, if defined, indicates that the madvise system call is
* available to map a file into memory.
@@ -2264,42 +2272,6 @@
*/
#define HAS_WRITEV /**/
-/* HAS_DBMINIT64:
- * This symbol, if defined, indicates that the dbminit64 routine is
- * available to open dbm files larger than 2 gigabytes.
- */
-/* HAS_DBMCLOSE64:
- * This symbol, if defined, indicates that the dbmclose64 routine is
- * available to close dbm files larger than 2 gigabytes.
- */
-/* HAS_FETCH64:
- * This symbol, if defined, indicates that the fetch64 routine is
- * available to fetch from dbm files larger than 2 gigabytes.
- */
-/* HAS_STORE64:
- * This symbol, if defined, indicates that the store64 routine is
- * available to store to dbm files larger than 2 gigabytes.
- */
-/* HAS_DELETE64:
- * This symbol, if defined, indicates that the delete64 routine is
- * available to delete from dbm files larger than 2 gigabytes.
- */
-/* HAS_FIRSTKEY64:
- * This symbol, if defined, indicates that the firstkey64 routine is
- * available to firstkey in dbm files larger than 2 gigabytes.
- */
-/* HAS_NEXTKEY64:
- * This symbol, if defined, indicates that the nextkey64 routine is
- * available to nextkey in dbm files larger than 2 gigabytes.
- */
-/*#define HAS_DBMINIT64 / **/
-/*#define HAS_DBMCLOSE64 / **/
-/*#define HAS_FETCH64 / **/
-/*#define HAS_STORE64 / **/
-/*#define HAS_DELETE64 / **/
-/*#define HAS_FIRSTKEY64 / **/
-/*#define HAS_NEXTKEY64 / **/
-
/* USE_DYNAMIC_LOADING:
* This symbol, if defined, indicates that dynamic loading of
* some sort is available.
@@ -2393,69 +2365,14 @@
*/
#define I_SYS_STATVFS /**/
-/* HAS_FSTAT64:
- * This symbol, if defined, indicates that the fstat64 routine is
- * available to stat files (fds) larger than 2 gigabytes.
- */
-/* HAS_FTRUNCATE64:
- * This symbol, if defined, indicates that the ftruncate64 routine is
- * available to tell files larger than 2 gigabytes.
- */
-/* HAS_LSEEK64:
- * This symbol, if defined, indicates that the lseek64 routine is
- * available to seek files larger than 2 gigabytes.
- */
-/* HAS_LSTAT64:
- * This symbol, if defined, indicates that the lstat64 routine is
- * available to stat files (symlinks) larger than 2 gigabytes.
- */
-/* HAS_OPEN64:
- * This symbol, if defined, indicates that the open64 routine is
- * available to open files larger than 2 gigabytes.
- */
-/* HAS_OPENDIR64:
- * This symbol, if defined, indicates that the opendir64 routine is
- * available to opendir files larger than 2 gigabytes.
- */
-/* HAS_READDIR64:
- * This symbol, if defined, indicates that the readdir64 routine is
- * available to readdir files larger than 2 gigabytes.
- */
-/* HAS_SEEKDIR64:
- * This symbol, if defined, indicates that the seekdir64 routine is
- * available to seekdir files larger than 2 gigabytes.
- */
-/* HAS_STAT64:
- * This symbol, if defined, indicates that the stat64 routine is
- * available to stat files larger than 2 gigabytes.
- */
-/* HAS_TELLDIR64:
- * This symbol, if defined, indicates that the telldir64 routine is
- * available to telldir files larger than 2 gigabytes.
- */
-/* HAS_TRUNCATE64:
- * This symbol, if defined, indicates that the truncate64 routine is
- * available to truncate files larger than 2 gigabytes.
- */
/* HAS_OFF64_T:
* This symbol will be defined if the C compiler supports off64_t.
*/
-/* HAS_STRUCT_DIRENT64:
- * This symbol will be defined if the C compiler supports struct dirent64.
- */
-/*#define HAS_FSTAT64 / **/
-/*#define HAS_FTRUNCATE64 / **/
-/*#define HAS_LSEEK64 / **/
-/*#define HAS_LSTAT64 / **/
-/*#define HAS_OPEN64 / **/
-/*#define HAS_OPENDIR64 / **/
-/*#define HAS_READDIR64 / **/
-/*#define HAS_SEEKDIR64 / **/
-/*#define HAS_STAT64 / **/
-/*#define HAS_TELLDIR64 / **/
-/*#define HAS_TRUNCATE64 / **/
-/*#define HAS_OFF64_T / **/
-/*#define HAS_STRUCT_DIRENT64 / **/
+/* HAS_FPOS64_T:
+ * This symbol will be defined if the C compiler supports fpos64_t.
+ */
+/*#define HAS_OFF64_T / **/
+/*#define HAS_FPOS64_T / **/
/* PERL_PRIfldbl:
* This symbol, if defined, contains the string used by stdio to
@@ -2476,12 +2393,17 @@
* This symbol, if defined, contains the string used by stdio to
* format 64-bit unsigned decimal numbers (format 'u') for output.
*/
+/* PERL_PRIo64:
+ * This symbol, if defined, contains the string used by stdio to
+ * format 64-bit octal numbers (format 'o') for output.
+ */
/* PERL_PRIx64:
* This symbol, if defined, contains the string used by stdio to
* format 64-bit hexadecimal numbers (format 'x') for output.
*/
#define PERL_PRId64 "ld" /**/
#define PERL_PRIu64 "lu" /**/
+#define PERL_PRIo64 "lo" /**/
#define PERL_PRIx64 "lx" /**/
/* SELECT_MIN_BITS:
@@ -2500,52 +2422,6 @@
*/
#define STARTPERL "#!/opt/perl/bin/perl" /**/
-/* HAS_FGETPOS64:
- * This symbol, if defined, indicates that the fgetpos64 routine is
- * available to getpos files larger than 2 gigabytes.
- */
-/* HAS_FOPEN64:
- * This symbol, if defined, indicates that the fopen64 routine is
- * available to open files larger than 2 gigabytes.
- */
-/* HAS_FREOPEN64:
- * This symbol, if defined, indicates that the freopen64 routine is
- * available to reopen files larger than 2 gigabytes.
- */
-/* HAS_FSEEK64:
- * This symbol, if defined, indicates that the fseek64 routine is
- * available to seek files larger than 2 gigabytes.
- */
-/* HAS_FSEEKO64:
- * This symbol, if defined, indicates that the fseeko64 routine is
- * available to seek files larger than 2 gigabytes.
- */
-/* HAS_FSETPOS64:
- * This symbol, if defined, indicates that the fsetpos64 routine is
- * available to setpos files larger than 2 gigabytes.
- */
-/* HAS_FTELL64:
- * This symbol, if defined, indicates that the ftell64 routine is
- * available to tell files larger than 2 gigabytes.
- */
-/* HAS_FTELLO64:
- * This symbol, if defined, indicates that the ftello64 routine is
- * available to tell files larger than 2 gigabytes.
- */
-/* HAS_TMPFILE64:
- * This symbol, if defined, indicates that the tmpfile64 routine is
- * available to tmpfile files larger than 2 gigabytes.
- */
-/*#define HAS_FGETPOS64 / **/
-/*#define HAS_FOPEN64 / **/
-/*#define HAS_FREOPEN64 / **/
-/*#define HAS_FSEEK64 / **/
-/*#define HAS_FSEEKO64 / **/
-/*#define HAS_FSETPOS64 / **/
-/*#define HAS_FTELL64 / **/
-/*#define HAS_FTELLO64 / **/
-/*#define HAS_TMPFILE64 / **/
-
/* HAS_STDIO_STREAM_ARRAY:
* This symbol, if defined, tells that there is an array
* holding the stdio streams.
@@ -2570,6 +2446,12 @@
*/
#define USE_64_BITS /**/
+/* USE_LONG_DOUBLE:
+ * This symbol, if defined, indicates that long doubles should
+ * be used when available.
+ */
+/*#define USE_LONG_DOUBLE / **/
+
/* MULTIPLICITY:
* This symbol, if defined, indicates that Perl should
* be built to use multiplicity.
diff --git a/Todo b/Todo
index 028a95e403..c7ab6d0888 100644
--- a/Todo
+++ b/Todo
@@ -46,6 +46,9 @@ Would be nice to have
an extension (Devel::MProf?) that would return the malloc
stats in a nice Perl datastructure (also a simple interface
to return just the grand total would be good)
+ Unicode: [=bar=], combining characters equivalence
+ (U+4001 + U+0308 should be equal to U+00C4, in other words
+ A+diaereres should equal Ä), Unicode collation
Possible pragmas
debugger
diff --git a/Todo-5.005 b/Todo-5.005
index 6abc9d820c..e06add9f0d 100644
--- a/Todo-5.005
+++ b/Todo-5.005
@@ -28,12 +28,10 @@ Configure
make configuring+building away from source directory work (VPATH et al)
_r support
cross-compilation configuring
- mmap support
POSIX 1003.1 1996 Edition support
Locales
- locales across packages
- decimal separator (3,1415927 is Europeanese for an approximation of pi)
+ locales across packages?
Regexen
POSIX [=bar=] and [.zap.] would nice too but there's no API for them
diff --git a/config_h.SH b/config_h.SH
index 41b4ccc841..e38e455b85 100644
--- a/config_h.SH
+++ b/config_h.SH
@@ -2213,6 +2213,14 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
*/
#$d_hasmntopt HAS_HASMNTOPT /**/
+/* HAS_LDBL_DIG:
+ * This symbol, if defined, indicates that this system's <float.h>
+ * or <limits.h> defines the symbol LDBL_DIG, which is the number
+ * of significant digits in a long double precision number. Unlike
+ * for DBL_DIG, there's no good guess for LDBL_DIG if it is undefined.
+ */
+#$d_ldbl_dig HAS_LDBL_DIG /* */
+
/* HAS_MADVISE:
* This symbol, if defined, indicates that the madvise system call is
* available to map a file into memory.
@@ -2278,42 +2286,6 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
*/
#$d_writev HAS_WRITEV /**/
-/* HAS_DBMINIT64:
- * This symbol, if defined, indicates that the dbminit64 routine is
- * available to open dbm files larger than 2 gigabytes.
- */
-/* HAS_DBMCLOSE64:
- * This symbol, if defined, indicates that the dbmclose64 routine is
- * available to close dbm files larger than 2 gigabytes.
- */
-/* HAS_FETCH64:
- * This symbol, if defined, indicates that the fetch64 routine is
- * available to fetch from dbm files larger than 2 gigabytes.
- */
-/* HAS_STORE64:
- * This symbol, if defined, indicates that the store64 routine is
- * available to store to dbm files larger than 2 gigabytes.
- */
-/* HAS_DELETE64:
- * This symbol, if defined, indicates that the delete64 routine is
- * available to delete from dbm files larger than 2 gigabytes.
- */
-/* HAS_FIRSTKEY64:
- * This symbol, if defined, indicates that the firstkey64 routine is
- * available to firstkey in dbm files larger than 2 gigabytes.
- */
-/* HAS_NEXTKEY64:
- * This symbol, if defined, indicates that the nextkey64 routine is
- * available to nextkey in dbm files larger than 2 gigabytes.
- */
-#$d_dbminit64 HAS_DBMINIT64 /**/
-#$d_dbmclose64 HAS_DBMCLOSE64 /**/
-#$d_fetch64 HAS_FETCH64 /**/
-#$d_store64 HAS_STORE64 /**/
-#$d_delete64 HAS_DELETE64 /**/
-#$d_firstkey64 HAS_FIRSTKEY64 /**/
-#$d_nextkey64 HAS_NEXTKEY64 /**/
-
/* USE_DYNAMIC_LOADING:
* This symbol, if defined, indicates that dynamic loading of
* some sort is available.
@@ -2407,69 +2379,14 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
*/
#$i_sysstatvfs I_SYS_STATVFS /**/
-/* HAS_FSTAT64:
- * This symbol, if defined, indicates that the fstat64 routine is
- * available to stat files (fds) larger than 2 gigabytes.
- */
-/* HAS_FTRUNCATE64:
- * This symbol, if defined, indicates that the ftruncate64 routine is
- * available to tell files larger than 2 gigabytes.
- */
-/* HAS_LSEEK64:
- * This symbol, if defined, indicates that the lseek64 routine is
- * available to seek files larger than 2 gigabytes.
- */
-/* HAS_LSTAT64:
- * This symbol, if defined, indicates that the lstat64 routine is
- * available to stat files (symlinks) larger than 2 gigabytes.
- */
-/* HAS_OPEN64:
- * This symbol, if defined, indicates that the open64 routine is
- * available to open files larger than 2 gigabytes.
- */
-/* HAS_OPENDIR64:
- * This symbol, if defined, indicates that the opendir64 routine is
- * available to opendir files larger than 2 gigabytes.
- */
-/* HAS_READDIR64:
- * This symbol, if defined, indicates that the readdir64 routine is
- * available to readdir files larger than 2 gigabytes.
- */
-/* HAS_SEEKDIR64:
- * This symbol, if defined, indicates that the seekdir64 routine is
- * available to seekdir files larger than 2 gigabytes.
- */
-/* HAS_STAT64:
- * This symbol, if defined, indicates that the stat64 routine is
- * available to stat files larger than 2 gigabytes.
- */
-/* HAS_TELLDIR64:
- * This symbol, if defined, indicates that the telldir64 routine is
- * available to telldir files larger than 2 gigabytes.
- */
-/* HAS_TRUNCATE64:
- * This symbol, if defined, indicates that the truncate64 routine is
- * available to truncate files larger than 2 gigabytes.
- */
/* HAS_OFF64_T:
* This symbol will be defined if the C compiler supports off64_t.
*/
-/* HAS_STRUCT_DIRENT64:
- * This symbol will be defined if the C compiler supports struct dirent64.
- */
-#$d_fstat64 HAS_FSTAT64 /**/
-#$d_ftruncate64 HAS_FTRUNCATE64 /**/
-#$d_lseek64 HAS_LSEEK64 /**/
-#$d_lstat64 HAS_LSTAT64 /**/
-#$d_open64 HAS_OPEN64 /**/
-#$d_opendir64 HAS_OPENDIR64 /**/
-#$d_readdir64 HAS_READDIR64 /**/
-#$d_seekdir64 HAS_SEEKDIR64 /**/
-#$d_stat64 HAS_STAT64 /**/
-#$d_telldir64 HAS_TELLDIR64 /**/
-#$d_truncate64 HAS_TRUNCATE64 /**/
-#$d_off64_t HAS_OFF64_T /**/
-#$d_dirent64_s HAS_STRUCT_DIRENT64 /**/
+/* HAS_FPOS64_T:
+ * This symbol will be defined if the C compiler supports fpos64_t.
+ */
+#$d_off64_t HAS_OFF64_T /**/
+#$d_fpos64_t HAS_FPOS64_T /**/
/* PERL_PRIfldbl:
* This symbol, if defined, contains the string used by stdio to
@@ -2519,52 +2436,6 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
*/
#define STARTPERL "$startperl" /**/
-/* HAS_FGETPOS64:
- * This symbol, if defined, indicates that the fgetpos64 routine is
- * available to getpos files larger than 2 gigabytes.
- */
-/* HAS_FOPEN64:
- * This symbol, if defined, indicates that the fopen64 routine is
- * available to open files larger than 2 gigabytes.
- */
-/* HAS_FREOPEN64:
- * This symbol, if defined, indicates that the freopen64 routine is
- * available to reopen files larger than 2 gigabytes.
- */
-/* HAS_FSEEK64:
- * This symbol, if defined, indicates that the fseek64 routine is
- * available to seek files larger than 2 gigabytes.
- */
-/* HAS_FSEEKO64:
- * This symbol, if defined, indicates that the fseeko64 routine is
- * available to seek files larger than 2 gigabytes.
- */
-/* HAS_FSETPOS64:
- * This symbol, if defined, indicates that the fsetpos64 routine is
- * available to setpos files larger than 2 gigabytes.
- */
-/* HAS_FTELL64:
- * This symbol, if defined, indicates that the ftell64 routine is
- * available to tell files larger than 2 gigabytes.
- */
-/* HAS_FTELLO64:
- * This symbol, if defined, indicates that the ftello64 routine is
- * available to tell files larger than 2 gigabytes.
- */
-/* HAS_TMPFILE64:
- * This symbol, if defined, indicates that the tmpfile64 routine is
- * available to tmpfile files larger than 2 gigabytes.
- */
-#$d_fgetpos64 HAS_FGETPOS64 /**/
-#$d_fopen64 HAS_FOPEN64 /**/
-#$d_freopen64 HAS_FREOPEN64 /**/
-#$d_fseek64 HAS_FSEEK64 /**/
-#$d_fseeko64 HAS_FSEEKO64 /**/
-#$d_fsetpos64 HAS_FSETPOS64 /**/
-#$d_ftell64 HAS_FTELL64 /**/
-#$d_ftello64 HAS_FTELLO64 /**/
-#$d_tmpfile64 HAS_TMPFILE64 /**/
-
/* HAS_STDIO_STREAM_ARRAY:
* This symbol, if defined, tells that there is an array
* holding the stdio streams.
@@ -2589,6 +2460,12 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
*/
#$use64bits USE_64_BITS /**/
+/* USE_LONG_DOUBLE:
+ * This symbol, if defined, indicates that long doubles should
+ * be used when available.
+ */
+#$uselongdouble USE_LONG_DOUBLE /**/
+
/* MULTIPLICITY:
* This symbol, if defined, indicates that Perl should
* be built to use multiplicity.
diff --git a/configure.com b/configure.com
index aca42de20b..0f869834fb 100644
--- a/configure.com
+++ b/configure.com
@@ -41,6 +41,7 @@ $ ans = ""
$ macros = ""
$ use_vmsdebug_perl = "N"
$ use_debugging_perl = "Y"
+$ use_64bit = "N"
$ C_Compiler_Replace = "CC="
$ Thread_Live_Dangerously = "MT="
$ use_two_pot_malloc = "N"
@@ -1707,6 +1708,27 @@ $ use_multiplicity="Y"
$ ELSE
$ use_multiplicity="N"
$ ENDIF
+$!
+$! Ask if they want to build with 64-bit support
+$ if (Archname.eqs."VMS_AXP").and.("''f$extract(1,3, f$getsyi(""version""))'".ges."7.1")
+$ THEN
+$ echo "This version of perl has experimental support for building wtih
+$ echo "64 bit integers and 128 bit floating point variables. This gives
+$ echo "a much larger range for perl's mathematical operations. (Note that
+$ echo "does *not* enable 64-bit fileops at the moment, as Dec C doesn't
+$ echo "do that yet)"
+$ echo ""
+$ dflt = use_64bit
+$ rp = "Build with 64 bits? [''dflt'] "
+$ GOSUB myread
+$ if ans.eqs."" then ans = dflt
+$ if (f$extract(0, 1, "''ans'").eqs."Y").or.(f$extract(0, 1, "''ans'").eqs."y")
+$ THEN
+$ use_64bit="Y"
+$ ELSE
+$ use_64bit="N"
+$ ENDIF
+$ ENDIF
$! Ask about threads, if appropriate
$ if (Using_Dec_C.eqs."Yes")
$ THEN
@@ -1837,7 +1859,8 @@ $ echo "you might, for example, want to build GDBM_File instead of
$ echo "SDBM_File if you have the GDBM library built on your machine
$ echo "
$ echo "Which modules do you want to build into perl?"
-$ dflt = "Fcntl Errno IO Opcode Byteloader Devel::Peek Devel::DProf Data::Dumper attrs re VMS::Stdio VMS::DCLsym B SDBM_File"
+$! dflt = "Fcntl Errno IO Opcode Byteloader Devel::Peek Devel::DProf Data::Dumper attrs re VMS::Stdio VMS::DCLsym B SDBM_File"
+$ dflt = "Fcntl Errno IO Opcode Devel::Peek Devel::DProf Data::Dumper attrs re VMS::Stdio VMS::DCLsym B SDBM_File"
$ if Using_Dec_C.eqs."Yes"
$ THEN
$ dflt = dflt + " POSIX"
diff --git a/doio.c b/doio.c
index f13d09f2b2..413e342dbc 100644
--- a/doio.c
+++ b/doio.c
@@ -141,7 +141,7 @@ Perl_do_open9(pTHX_ GV *gv, register char *name, I32 len, int as_raw,
}
if (as_raw) {
-#if defined(O_LARGEFILE)
+#if defined(USE_64_BIT_OFFSETS) && defined(O_LARGEFILE)
rawmode |= O_LARGEFILE;
#endif
@@ -282,7 +282,19 @@ Perl_do_open9(pTHX_ GV *gv, register char *name, I32 len, int as_raw,
goto say_false;
}
if (IoIFP(thatio)) {
- fd = PerlIO_fileno(IoIFP(thatio));
+ PerlIO *fp = IoIFP(thatio);
+ /* Flush stdio buffer before dup. --mjd
+ * Unfortunately SEEK_CURing 0 seems to
+ * be optimized away on most platforms;
+ * only Solaris and Linux seem to flush
+ * on that. --jhi */
+ PerlIO_seek(fp, 0, SEEK_CUR);
+ /* On the other hand, do all platforms
+ * take gracefully to flushing a read-only
+ * filehandle? Perhaps we should do
+ * fsetpos(src)+fgetpos(dst)? --nik */
+ PerlIO_flush(fp);
+ fd = PerlIO_fileno(fp);
if (IoTYPE(thatio) == 's')
IoTYPE(io) = 's';
}
@@ -413,7 +425,7 @@ Perl_do_open9(pTHX_ GV *gv, register char *name, I32 len, int as_raw,
}
}
if (fd != PerlIO_fileno(fp)) {
- int pid;
+ Pid_t pid;
SV *sv;
PerlLIO_dup2(PerlIO_fileno(fp), fd);
@@ -873,7 +885,7 @@ Perl_do_sysseek(pTHX_ GV *gv, Off_t pos, int whence)
Perl_warner(aTHX_ WARN_UNOPENED, "sysseek() on unopened file");
}
SETERRNO(EBADF,RMS$_IFI);
- return -1L;
+ return (Off_t)-1;
}
int
@@ -1019,6 +1031,12 @@ Perl_do_print(pTHX_ register SV *sv, PerlIO *fp)
tmps = SvPV(sv, len);
break;
}
+ /* To detect whether the process is about to overstep its
+ * filesize limit we would need getrlimit(). We could then
+ * also transparently raise the limit with setrlimit() --
+ * but only until the system hard limit/the filesystem limit,
+ * at which we would get EPERM. Note that when using buffered
+ * io the write failure can be delayed until the flush/close. --jhi */
if (len && (PerlIO_write(fp,tmps,len) == 0 || PerlIO_error(fp)))
return FALSE;
return !PerlIO_error(fp);
@@ -1487,8 +1505,10 @@ nothing in the core.
/* Do the permissions allow some operation? Assumes statcache already set. */
#ifndef VMS /* VMS' cando is in vms.c */
-I32
-Perl_cando(pTHX_ I32 bit, I32 effective, register struct stat *statbufp)
+bool
+Perl_cando(pTHX_ Mode_t mode, Uid_t effective, register Stat_t *statbufp)
+/* Note: we use `effective' both for uids and gids.
+ * Here we are betting on Uid_t being equal or wider than Gid_t. */
{
#ifdef DOSISH
/* [Comments and code from Len Reed]
@@ -1512,11 +1532,11 @@ Perl_cando(pTHX_ I32 bit, I32 effective, register struct stat *statbufp)
/* Atari stat() does pretty much the same thing. we set x_bit_set_in_stat
* too so it will actually look into the files for magic numbers
*/
- return (bit & statbufp->st_mode) ? TRUE : FALSE;
+ return (mode & statbufp->st_mode) ? TRUE : FALSE;
#else /* ! DOSISH */
if ((effective ? PL_euid : PL_uid) == 0) { /* root is special */
- if (bit == S_IXUSR) {
+ if (mode == S_IXUSR) {
if (statbufp->st_mode & 0111 || S_ISDIR(statbufp->st_mode))
return TRUE;
}
@@ -1525,22 +1545,22 @@ Perl_cando(pTHX_ I32 bit, I32 effective, register struct stat *statbufp)
return FALSE;
}
if (statbufp->st_uid == (effective ? PL_euid : PL_uid) ) {
- if (statbufp->st_mode & bit)
+ if (statbufp->st_mode & mode)
return TRUE; /* ok as "user" */
}
- else if (ingroup((I32)statbufp->st_gid,effective)) {
- if (statbufp->st_mode & bit >> 3)
+ else if (ingroup(statbufp->st_gid,effective)) {
+ if (statbufp->st_mode & mode >> 3)
return TRUE; /* ok as "group" */
}
- else if (statbufp->st_mode & bit >> 6)
+ else if (statbufp->st_mode & mode >> 6)
return TRUE; /* ok as "other" */
return FALSE;
#endif /* ! DOSISH */
}
#endif /* ! VMS */
-I32
-Perl_ingroup(pTHX_ I32 testgid, I32 effective)
+bool
+Perl_ingroup(pTHX_ Gid_t testgid, Uid_t effective)
{
if (testgid == (effective ? PL_egid : PL_gid))
return TRUE;
diff --git a/doop.c b/doop.c
index ad626ca6d3..36fb6b37f8 100644
--- a/doop.c
+++ b/doop.c
@@ -697,6 +697,69 @@ Perl_do_sprintf(pTHX_ SV *sv, I32 len, SV **sarg)
SvTAINTED_on(sv);
}
+UV
+Perl_do_vecget(pTHX_ SV *sv, I32 offset, I32 size)
+{
+ STRLEN srclen, len;
+ unsigned char *s = (unsigned char *) SvPV(sv, srclen);
+ UV retnum = 0;
+
+ if (offset < 0)
+ return retnum;
+ if (size < 1 || (size & (size-1))) /* size < 1 or not a power of two */
+ Perl_croak(aTHX_ "Illegal number of bits in vec");
+ offset *= size; /* turn into bit offset */
+ len = (offset + size + 7) / 8; /* required number of bytes */
+ if (len > srclen) {
+ if (size <= 8)
+ retnum = 0;
+ else {
+ offset >>= 3; /* turn into byte offset */
+ if (size == 16) {
+ if (offset >= srclen)
+ retnum = 0;
+ else
+ retnum = (UV) s[offset] << 8;
+ }
+ else if (size == 32) {
+ if (offset >= srclen)
+ retnum = 0;
+ else if (offset + 1 >= srclen)
+ retnum =
+ ((UV) s[offset ] << 24);
+ else if (offset + 2 >= srclen)
+ retnum =
+ ((UV) s[offset ] << 24) +
+ ((UV) s[offset + 1] << 16);
+ else
+ retnum =
+ ((UV) s[offset ] << 24) +
+ ((UV) s[offset + 1] << 16) +
+ ( s[offset + 2] << 8);
+ }
+ }
+ }
+ else if (size < 8)
+ retnum = (s[offset >> 3] >> (offset & 7)) & ((1 << size) - 1);
+ else {
+ offset >>= 3; /* turn into byte offset */
+ if (size == 8)
+ retnum = s[offset];
+ else if (size == 16)
+ retnum =
+ ((UV) s[offset] << 8) +
+ s[offset + 1];
+ else if (size == 32)
+ retnum =
+ ((UV) s[offset ] << 24) +
+ ((UV) s[offset + 1] << 16) +
+ ( s[offset + 2] << 8) +
+ s[offset + 3];
+ }
+
+ return retnum;
+}
+
void
Perl_do_vecset(pTHX_ SV *sv)
{
@@ -704,7 +767,7 @@ Perl_do_vecset(pTHX_ SV *sv)
register I32 offset;
register I32 size;
register unsigned char *s;
- register unsigned long lval;
+ register UV lval;
I32 mask;
STRLEN targlen;
STRLEN len;
@@ -712,11 +775,14 @@ Perl_do_vecset(pTHX_ SV *sv)
if (!targ)
return;
s = (unsigned char*)SvPV_force(targ, targlen);
- lval = U_L(SvNV(sv));
+ lval = SvUV(sv);
offset = LvTARGOFF(sv);
size = LvTARGLEN(sv);
+ if (size < 1 || (size & (size-1))) /* size < 1 or not a power of two */
+ Perl_croak(aTHX_ "Illegal number of bits in vec");
- len = (offset + size + 7) / 8;
+ offset *= size; /* turn into bit offset */
+ len = (offset + size + 7) / 8; /* required number of bytes */
if (len > targlen) {
s = (unsigned char*)SvGROW(targ, len + 1);
(void)memzero(s + targlen, len - targlen + 1);
@@ -727,12 +793,12 @@ Perl_do_vecset(pTHX_ SV *sv)
mask = (1 << size) - 1;
size = offset & 7;
lval &= mask;
- offset >>= 3;
+ offset >>= 3; /* turn into byte offset */
s[offset] &= ~(mask << size);
s[offset] |= lval << size;
}
else {
- offset >>= 3;
+ offset >>= 3; /* turn into byte offset */
if (size == 8)
s[offset] = lval & 255;
else if (size == 16) {
diff --git a/dump.c b/dump.c
index 8735db3f0b..ac6a07ed6e 100644
--- a/dump.c
+++ b/dump.c
@@ -17,10 +17,6 @@
#include "perl.h"
#include "regcomp.h"
-#ifndef DBL_DIG
-#define DBL_DIG 15 /* A guess that works lots of places */
-#endif
-
void
Perl_dump_indent(pTHX_ I32 level, PerlIO *file, const char* pat, ...)
{
@@ -923,7 +919,7 @@ Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bo
if (type >= SVt_PVNV || type == SVt_NV) {
RESTORE_NUMERIC_STANDARD();
#ifdef USE_LONG_DOUBLE
- Perl_dump_indent(aTHX_ level, file, " NV = %.*" PERL_PRIgldbl "\n", DBL_DIG, SvNVX(sv));
+ Perl_dump_indent(aTHX_ level, file, " NV = %.*" PERL_PRIgldbl "\n", LDBL_DIG, SvNVX(sv));
#else
Perl_dump_indent(aTHX_ level, file, " NV = %.*g\n", DBL_DIG, SvNVX(sv));
#endif
diff --git a/embed.h b/embed.h
index 2d16e6ab68..4b333cbcf6 100644
--- a/embed.h
+++ b/embed.h
@@ -160,6 +160,7 @@
#define do_sysseek Perl_do_sysseek
#define do_tell Perl_do_tell
#define do_trans Perl_do_trans
+#define do_vecget Perl_do_vecget
#define do_vecset Perl_do_vecset
#define do_vop Perl_do_vop
#define dofile Perl_dofile
@@ -1486,6 +1487,7 @@
#define do_sysseek(a,b,c) Perl_do_sysseek(aTHX_ a,b,c)
#define do_tell(a) Perl_do_tell(aTHX_ a)
#define do_trans(a) Perl_do_trans(aTHX_ a)
+#define do_vecget(a,b,c) Perl_do_vecget(aTHX_ a,b,c)
#define do_vecset(a) Perl_do_vecset(aTHX_ a)
#define do_vop(a,b,c,d) Perl_do_vop(aTHX_ a,b,c,d)
#define dofile(a) Perl_dofile(aTHX_ a)
@@ -2925,6 +2927,8 @@
#define do_tell Perl_do_tell
#define Perl_do_trans CPerlObj::Perl_do_trans
#define do_trans Perl_do_trans
+#define Perl_do_vecget CPerlObj::Perl_do_vecget
+#define do_vecget Perl_do_vecget
#define Perl_do_vecset CPerlObj::Perl_do_vecset
#define do_vecset Perl_do_vecset
#define Perl_do_vop CPerlObj::Perl_do_vop
diff --git a/embed.pl b/embed.pl
index 7016de29de..28c2e384fb 100755
--- a/embed.pl
+++ b/embed.pl
@@ -1026,7 +1026,7 @@ p |I32 |block_gimme
p |int |block_start |int full
p |void |boot_core_UNIVERSAL
p |void |call_list |I32 oldscope|AV* av_list
-p |I32 |cando |I32 bit|I32 effective|Stat_t* statbufp
+p |bool |cando |Mode_t mode|Uid_t effective|Stat_t* statbufp
p |U32 |cast_ulong |NV f
p |I32 |cast_i32 |NV f
p |IV |cast_iv |NV f
@@ -1118,6 +1118,7 @@ p |void |do_sprintf |SV* sv|I32 len|SV** sarg
p |Off_t |do_sysseek |GV* gv|Off_t pos|int whence
p |Off_t |do_tell |GV* gv
p |I32 |do_trans |SV* sv
+p |UV |do_vecget |SV* sv|I32 offset|I32 size
p |void |do_vecset |SV* sv
p |void |do_vop |I32 optype|SV* sv|SV* left|SV* right
p |OP* |dofile |OP* term
@@ -1197,7 +1198,7 @@ p |HE* |hv_store_ent |HV* tb|SV* key|SV* val|U32 hash
p |void |hv_undef |HV* tb
p |I32 |ibcmp |const char* a|const char* b|I32 len
p |I32 |ibcmp_locale |const char* a|const char* b|I32 len
-p |I32 |ingroup |I32 testgid|I32 effective
+p |bool |ingroup |Gid_t testgid|Uid_t effective
p |void |init_debugger
p |void |init_stacks
p |U32 |intro_my
@@ -1471,7 +1472,7 @@ p |void |set_numeric_local
p |void |set_numeric_radix
p |void |set_numeric_standard
p |void |require_pv |const char* pv
-p |void |pidgone |int pid|int status
+p |void |pidgone |Pid_t pid|int status
p |void |pmflag |U16* pmfl|int ch
p |OP* |pmruntime |OP* pm|OP* expr|OP* repl
p |OP* |pmtrans |OP* o|OP* expr|OP* repl
@@ -1677,7 +1678,7 @@ p |UV |utf8_to_uv |U8 *s|I32* retlen
p |U8* |uv_to_utf8 |U8 *d|UV uv
p |void |vivify_defelem |SV* sv
p |void |vivify_ref |SV* sv|U32 to_what
-p |I32 |wait4pid |int pid|int* statusp|int flags
+p |I32 |wait4pid |Pid_t pid|int* statusp|int flags
p |void |warn |const char* pat|...
p |void |vwarn |const char* pat|va_list* args
p |void |warner |U32 err|const char* pat|...
@@ -1884,7 +1885,7 @@ s |SV* |method_common |SV* meth|U32* hashp
#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
s |OP* |doform |CV *cv|GV *gv|OP *retop
-s |int |emulate_eaccess|const char* path|int mode
+s |int |emulate_eaccess|const char* path|Mode_t mode
# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
s |int |dooneliner |char *cmd|char *filename
# endif
@@ -1895,7 +1896,6 @@ s |regnode*|reg |I32|I32 *
s |regnode*|reganode |U8|U32
s |regnode*|regatom |I32 *
s |regnode*|regbranch |I32 *|I32
-s |void |regc |U8|char *
s |void |reguni |UV|char *|I32*
s |regnode*|regclass
s |regnode*|regclassutf8
diff --git a/ext/B/B/Assembler.pm b/ext/B/B/Assembler.pm
index 06e00adeb5..6c51a9ad3e 100644
--- a/ext/B/B/Assembler.pm
+++ b/ext/B/B/Assembler.pm
@@ -52,6 +52,7 @@ sub B::Asmdata::PUT_U8 {
sub B::Asmdata::PUT_U16 { pack("n", $_[0]) }
sub B::Asmdata::PUT_U32 { pack("N", $_[0]) }
sub B::Asmdata::PUT_I32 { pack("N", $_[0]) }
+sub B::Asmdata::PUT_NV { sprintf("%lf\0", $_[0]) }
sub B::Asmdata::PUT_objindex { pack("N", $_[0]) } # could allow names here
sub B::Asmdata::PUT_svindex { &B::Asmdata::PUT_objindex }
sub B::Asmdata::PUT_opindex { &B::Asmdata::PUT_objindex }
diff --git a/ext/ByteLoader/ByteLoader.xs b/ext/ByteLoader/ByteLoader.xs
index a3d53f69cc..c9d7d16d06 100644
--- a/ext/ByteLoader/ByteLoader.xs
+++ b/ext/ByteLoader/ByteLoader.xs
@@ -4,6 +4,13 @@
#include "XSUB.h"
#include "byterun.h"
+#ifdef NEED_FGETC_PROTOTYPE
+extern int fgetc();
+#endif
+#ifdef NEED_FREAD_PROTOTYPE
+extern int fread();
+#endif
+
static void
freadpv(U32 len, void *data, XPV *pv)
{
diff --git a/ext/ByteLoader/hints/sunos.pl b/ext/ByteLoader/hints/sunos.pl
new file mode 100644
index 0000000000..3faf498ecc
--- /dev/null
+++ b/ext/ByteLoader/hints/sunos.pl
@@ -0,0 +1,2 @@
+$self->{CCFLAGS} = $Config{ccflags} . ' -DNEED_FGETC_PROTOTYPE -DNEED_FREAD_PROTOTYPE';
+
diff --git a/ext/DB_File/Changes b/ext/DB_File/Changes
index c5cf329080..6d374bf1f1 100644
--- a/ext/DB_File/Changes
+++ b/ext/DB_File/Changes
@@ -255,3 +255,20 @@
2 databases.
* Added some of the examples in the POD into the test harness.
+
+1.69 3rd August 1999
+
+ * fixed a bug in push -- DB_APPEND wasn't working properly.
+
+ * Fixed the R_SETCURSOR bug introduced in 1.68
+
+ * Added a new Perl variable $DB_File::db_ver
+
+1.70 4th August 1999
+
+ * Initialise $DB_File::db_ver and $DB_File::db_version with
+ GV_ADD|GV_ADDMULT -- bug spotted by Nick Ing-Simmons.
+
+ * Added a BOOT check to test for equivalent versions of db.h &
+ libdb.a/so.
+
diff --git a/ext/DB_File/DB_File.pm b/ext/DB_File/DB_File.pm
index 6c78098b6f..e20a5621e7 100644
--- a/ext/DB_File/DB_File.pm
+++ b/ext/DB_File/DB_File.pm
@@ -1,8 +1,8 @@
# DB_File.pm -- Perl 5 interface to Berkeley DB
#
# written by Paul Marquess (Paul.Marquess@btinternet.com)
-# last modified 22nd July 1999
-# version 1.68
+# last modified 4th August 1999
+# version 1.70
#
# Copyright (c) 1995-1999 Paul Marquess. All rights reserved.
# This program is free software; you can redistribute it and/or
@@ -145,7 +145,7 @@ use vars qw($VERSION @ISA @EXPORT $AUTOLOAD $DB_BTREE $DB_HASH $DB_RECNO $db_ver
use Carp;
-$VERSION = "1.68" ;
+$VERSION = "1.70" ;
#typedef enum { DB_BTREE, DB_HASH, DB_RECNO } DBTYPE;
$DB_BTREE = new DB_File::BTREEINFO ;
diff --git a/ext/DB_File/DB_File.xs b/ext/DB_File/DB_File.xs
index b8c820a48c..2ee1e61f0f 100644
--- a/ext/DB_File/DB_File.xs
+++ b/ext/DB_File/DB_File.xs
@@ -3,8 +3,8 @@
DB_File.xs -- Perl 5 interface to Berkeley DB
written by Paul Marquess <Paul.Marquess@btinternet.com>
- last modified 22nd July 1999
- version 1.68
+ last modified 4th August 1999
+ version 1.70
All comments/suggestions/problems are welcome
@@ -71,8 +71,13 @@
Fixed a small memory leak in the filter code.
1.68 - fixed backward compatability bug with R_IAFTER & R_IBEFORE
merged in the 5.005_58 changes
-
-
+ 1.69 - fixed a bug in push -- DB_APPEND wasn't working properly.
+ Fixed the R_SETCURSOR bug introduced in 1.68
+ Added a new Perl variable $DB_File::db_ver
+ 1.70 - Initialise $DB_File::db_ver and $DB_File::db_version with
+ GV_ADD|GV_ADDMULT -- bug spotted by Nick Ing-Simmons.
+ Added a BOOT check to test for equivalent versions of db.h &
+ libdb.a/so.
*/
@@ -161,7 +166,11 @@ typedef db_recno_t recno_t;
#define R_NEXT DB_NEXT
#define R_NOOVERWRITE DB_NOOVERWRITE
#define R_PREV DB_PREV
-#define R_SETCURSOR (-1 )
+#if DB_VERSION_MAJOR == 2 && DB_VERSION_MINOR < 5
+#define R_SETCURSOR 0x800000
+#else
+#define R_SETCURSOR (-100)
+#endif
#define R_RECNOSYNC 0
#define R_FIXEDLEN DB_FIXEDLEN
#define R_DUP DB_DUP
@@ -271,7 +280,8 @@ typedef union INFO {
#define db_get(db, key, value, flags) ((db->dbp)->get)(db->dbp, TXN &key, &value, flags)
#ifdef DB_VERSION_MAJOR
-#define db_DESTROY(db) ((db->dbp)->close)(db->dbp, 0)
+#define db_DESTROY(db) ( db->cursor->c_close(db->cursor),\
+ db->dbp->close(db->dbp, 0) )
#define db_close(db) ((db->dbp)->close)(db->dbp, 0)
#define db_del(db, key, flags) (flagSet(flags, R_CURSOR) \
? ((db->cursor)->c_del)(db->cursor, 0) \
@@ -432,28 +442,40 @@ u_int flags ;
static void
GetVersionInfo(pTHX)
{
- SV * ver_sv = perl_get_sv("DB_File::db_version", TRUE) ;
+ SV * version_sv = perl_get_sv("DB_File::db_version", GV_ADD|GV_ADDMULTI) ;
+ SV * ver_sv = perl_get_sv("DB_File::db_ver", GV_ADD|GV_ADDMULTI) ;
#ifdef DB_VERSION_MAJOR
int Major, Minor, Patch ;
(void)db_version(&Major, &Minor, &Patch) ;
+ /* Check that the versions of db.h and libdb.a are the same */
+ if (Major != DB_VERSION_MAJOR || Minor != DB_VERSION_MINOR
+ || Patch != DB_VERSION_PATCH)
+ croak("\nDB_File needs compatible versions of libdb & db.h\n\tyou have db.h version %d.%d.%d and libdb version %d.%d.%d\n",
+ DB_VERSION_MAJOR, DB_VERSION_MINOR, DB_VERSION_PATCH,
+ Major, Minor, Patch) ;
+
/* check that libdb is recent enough -- we need 2.3.4 or greater */
if (Major == 2 && (Minor < 3 || (Minor == 3 && Patch < 4)))
croak("DB_File needs Berkeley DB 2.3.4 or greater, you have %d.%d.%d\n",
Major, Minor, Patch) ;
#if PERL_VERSION > 3
- sv_setpvf(ver_sv, "%d.%d", Major, Minor) ;
+ sv_setpvf(version_sv, "%d.%d", Major, Minor) ;
+ sv_setpvf(ver_sv, "%d.%03d%03d", Major, Minor, Patch) ;
#else
{
char buffer[40] ;
sprintf(buffer, "%d.%d", Major, Minor) ;
+ sv_setpv(version_sv, buffer) ;
+ sprintf(buffer, "%d.%03d%03d", Major, Minor, Patch) ;
sv_setpv(ver_sv, buffer) ;
}
#endif
#else
+ sv_setiv(version_sv, 1) ;
sv_setiv(ver_sv, 1) ;
#endif
@@ -1522,6 +1544,7 @@ push(db, ...)
DBT_flags(value) ;
CurrentDB = db ;
#ifdef DB_VERSION_MAJOR
+ RETVAL = do_SEQ(db, key, value, DB_LAST) ;
RETVAL = 0 ;
key = empty ;
for (i = 1 ; i < items ; ++i)
diff --git a/ext/Devel/DProf/DProf.xs b/ext/Devel/DProf/DProf.xs
index 291742123b..e5b7788d30 100644
--- a/ext/Devel/DProf/DProf.xs
+++ b/ext/Devel/DProf/DProf.xs
@@ -35,6 +35,7 @@ static U32 dprof_ticks;
# include <starlet.h> /* prototype for sys$gettim() */
clock_t dprof_times(struct tms *bufptr) {
clock_t retval;
+ dTHX;
/* Get wall time and convert to 10 ms intervals to
* produce the return value dprof expects */
# if defined(__DECC) && defined (__ALPHA)
diff --git a/ext/DynaLoader/dl_vms.xs b/ext/DynaLoader/dl_vms.xs
index d83d532c50..1024c41f96 100644
--- a/ext/DynaLoader/dl_vms.xs
+++ b/ext/DynaLoader/dl_vms.xs
@@ -112,6 +112,7 @@ dl_set_error(sts,stv)
vmssts stv;
{
vmssts vec[3];
+ dTHX;
vec[0] = stv ? 2 : 1;
vec[1] = sts; vec[2] = stv;
@@ -121,6 +122,7 @@ dl_set_error(sts,stv)
static unsigned int
findsym_handler(void *sig, void *mech)
{
+ dTHX;
unsigned long int myvec[8],args, *usig = (unsigned long int *) sig;
/* Be paranoid and assume signal vector passed in might be readonly */
myvec[0] = args = usig[0] > 10 ? 9 : usig[0] - 1;
diff --git a/ext/Fcntl/Fcntl.pm b/ext/Fcntl/Fcntl.pm
index 0f70840075..699ee4a517 100644
--- a/ext/Fcntl/Fcntl.pm
+++ b/ext/Fcntl/Fcntl.pm
@@ -53,15 +53,28 @@ $VERSION = "1.03";
@EXPORT =
qw(
FD_CLOEXEC
+ F_ALLOCSP
+ F_ALLOCSP64
+ F_COMPAT
+ F_DUP2FD
F_DUPFD
F_EXLCK
+ F_FREESP
+ F_FREESP64
+ F_FSYNC
+ F_FSYNC64
F_GETFD
F_GETFL
F_GETLK
F_GETLK64
F_GETOWN
+ F_NODNY
F_POSIX
+ F_RDACC
+ F_RDDNY
F_RDLCK
+ F_RWACC
+ F_RWDNY
F_SETFD
F_SETFL
F_SETLK
@@ -69,8 +82,12 @@ $VERSION = "1.03";
F_SETLKW
F_SETLKW64
F_SETOWN
+ F_SHARE
F_SHLCK
F_UNLCK
+ F_UNSHARE
+ F_WRACC
+ F_WRDNY
F_WRLCK
O_ACCMODE
O_APPEND
@@ -93,6 +110,9 @@ $VERSION = "1.03";
O_TEXT
O_TRUNC
O_WRONLY
+ SEEK_SET
+ SEEK_CUR
+ SEEK_END
);
# Other items we are prepared to export if requested
@@ -101,9 +121,12 @@ $VERSION = "1.03";
FASYNC
FCREAT
FDEFER
+ FDSYNC
FEXCL
+ FLARGEFILE
FNDELAY
FNONBLOCK
+ FRSYNC
FSYNC
FTRUNC
LOCK_EX
@@ -114,8 +137,8 @@ $VERSION = "1.03";
# Named groups of exports
%EXPORT_TAGS = (
'flock' => [qw(LOCK_SH LOCK_EX LOCK_NB LOCK_UN)],
- 'Fcompat' => [qw(FAPPEND FASYNC FCREAT FDEFER FEXCL
- FNDELAY FNONBLOCK FSYNC FTRUNC)],
+ 'Fcompat' => [qw(FAPPEND FASYNC FCREAT FDEFER FDSYNC FEXCL FLARGEFILE
+ FNDELAY FNONBLOCK FRSYNC FSYNC FTRUNC)],
);
sub AUTOLOAD {
diff --git a/ext/Fcntl/Fcntl.xs b/ext/Fcntl/Fcntl.xs
index bc16cc9645..0dab7f17e4 100644
--- a/ext/Fcntl/Fcntl.xs
+++ b/ext/Fcntl/Fcntl.xs
@@ -15,6 +15,10 @@
#endif
#endif
+#ifdef I_UNISTD
+#include <unistd.h>
+#endif
+
/* This comment is a kludge to get metaconfig to see the symbols
VAL_O_NONBLOCK
VAL_EAGAIN
@@ -43,6 +47,30 @@ constant(char *name, int arg)
switch (*name) {
case 'F':
if (strnEQ(name, "F_", 2)) {
+ if (strEQ(name, "F_ALLOCSP"))
+#ifdef F_ALLOCSP
+ return F_ALLOCSP;
+#else
+ goto not_there;
+#endif
+ if (strEQ(name, "F_ALLOCSP64"))
+#ifdef F_ALLOCSP64
+ return F_ALLOCSP64;
+#else
+ goto not_there;
+#endif
+ if (strEQ(name, "F_COMPAT"))
+#ifdef F_COMPAT
+ return F_COMPAT;
+#else
+ goto not_there;
+#endif
+ if (strEQ(name, "F_DUP2FD"))
+#ifdef F_DUP2FD
+ return F_DUP2FD;
+#else
+ goto not_there;
+#endif
if (strEQ(name, "F_DUPFD"))
#ifdef F_DUPFD
return F_DUPFD;
@@ -55,6 +83,30 @@ constant(char *name, int arg)
#else
goto not_there;
#endif
+ if (strEQ(name, "F_FREESP"))
+#ifdef F_FREESP
+ return F_FREESP;
+#else
+ goto not_there;
+#endif
+ if (strEQ(name, "F_FREESP64"))
+#ifdef F_FREESP64
+ return F_FREESP64;
+#else
+ goto not_there;
+#endif
+ if (strEQ(name, "F_FSYNC"))
+#ifdef F_FSYNC
+ return F_FSYNC;
+#else
+ goto not_there;
+#endif
+ if (strEQ(name, "F_FSYNC64"))
+#ifdef F_FSYNC64
+ return F_FSYNC64;
+#else
+ goto not_there;
+#endif
if (strEQ(name, "F_GETFD"))
#ifdef F_GETFD
return F_GETFD;
@@ -85,18 +137,48 @@ constant(char *name, int arg)
#else
goto not_there;
#endif
+ if (strEQ(name, "F_NODNY"))
+#ifdef F_NODNY
+ return F_NODNY;
+#else
+ goto not_there;
+#endif
if (strEQ(name, "F_POSIX"))
#ifdef F_POSIX
return F_POSIX;
#else
goto not_there;
#endif
+ if (strEQ(name, "F_RDACC"))
+#ifdef F_RDACC
+ return F_RDACC;
+#else
+ goto not_there;
+#endif
+ if (strEQ(name, "F_RDDNY"))
+#ifdef F_RDDNY
+ return F_RDDNY;
+#else
+ goto not_there;
+#endif
if (strEQ(name, "F_RDLCK"))
#ifdef F_RDLCK
return F_RDLCK;
#else
goto not_there;
#endif
+ if (strEQ(name, "F_RWACC"))
+#ifdef F_RWACC
+ return F_RWACC;
+#else
+ goto not_there;
+#endif
+ if (strEQ(name, "F_RWDNY"))
+#ifdef F_RWDNY
+ return F_RWDNY;
+#else
+ goto not_there;
+#endif
if (strEQ(name, "F_SETFD"))
#ifdef F_SETFD
return F_SETFD;
@@ -139,6 +221,12 @@ constant(char *name, int arg)
#else
goto not_there;
#endif
+ if (strEQ(name, "F_SHARE"))
+#ifdef F_SHARE
+ return F_SHARE;
+#else
+ goto not_there;
+#endif
if (strEQ(name, "F_SHLCK"))
#ifdef F_SHLCK
return F_SHLCK;
@@ -151,6 +239,24 @@ constant(char *name, int arg)
#else
goto not_there;
#endif
+ if (strEQ(name, "F_UNSHARE"))
+#ifdef F_UNSHARE
+ return F_UNSHARE;
+#else
+ goto not_there;
+#endif
+ if (strEQ(name, "F_WRACC"))
+#ifdef F_WRACC
+ return F_WRACC;
+#else
+ goto not_there;
+#endif
+ if (strEQ(name, "F_WRDNY"))
+#ifdef F_WRDNY
+ return F_WRDNY;
+#else
+ goto not_there;
+#endif
if (strEQ(name, "F_WRLCK"))
#ifdef F_WRLCK
return F_WRLCK;
@@ -190,12 +296,24 @@ constant(char *name, int arg)
#else
goto not_there;
#endif
+ if (strEQ(name, "FDSYNC"))
+#ifdef FDSYNC
+ return FDSYNC;
+#else
+ goto not_there;
+#endif
if (strEQ(name, "FEXCL"))
#ifdef FEXCL
return FEXCL;
#else
goto not_there;
#endif
+ if (strEQ(name, "FLARGEFILE"))
+#ifdef FLARGEFILE
+ return FLARGEFILE;
+#else
+ goto not_there;
+#endif
if (strEQ(name, "FNDELAY"))
#ifdef FNDELAY
return FNDELAY;
@@ -208,6 +326,12 @@ constant(char *name, int arg)
#else
goto not_there;
#endif
+ if (strEQ(name, "FRSYNC"))
+#ifdef FRSYNC
+ return FRSYNC;
+#else
+ goto not_there;
+#endif
if (strEQ(name, "FSYNC"))
#ifdef FSYNC
return FSYNC;
@@ -383,6 +507,26 @@ constant(char *name, int arg)
} else
goto not_there;
break;
+ case 'S':
+ if (strEQ(name, "SEEK_CUR"))
+#ifdef SEEK_CUR
+ return SEEK_CUR;
+#else
+ goto not_there;
+#endif
+ if (strEQ(name, "SEEK_END"))
+#ifdef SEEK_END
+ return SEEK_END;
+#else
+ goto not_there;
+#endif
+ if (strEQ(name, "SEEK_SET"))
+#ifdef SEEK_SET
+ return SEEK_SET;
+#else
+ goto not_there;
+#endif
+ break;
}
errno = EINVAL;
return 0;
diff --git a/ext/POSIX/POSIX.xs b/ext/POSIX/POSIX.xs
index 9cca0e3e1d..cc3f0c10d6 100644
--- a/ext/POSIX/POSIX.xs
+++ b/ext/POSIX/POSIX.xs
@@ -81,6 +81,7 @@
/* The non-POSIX CRTL times() has void return type, so we just get the
current time directly */
clock_t vms_times(struct tms *PL_bufptr) {
+ dTHX;
clock_t retval;
/* Get wall time and convert to 10 ms intervals to
* produce the return value that the POSIX standard expects */
diff --git a/ext/SDBM_File/Makefile.PL b/ext/SDBM_File/Makefile.PL
index 749478551f..afce3f1a54 100644
--- a/ext/SDBM_File/Makefile.PL
+++ b/ext/SDBM_File/Makefile.PL
@@ -16,6 +16,7 @@ WriteMakefile(
XSPROTOARG => '-noprototypes', # XXX remove later?
VERSION_FROM => 'SDBM_File.pm',
DEFINE => $define,
+ PERL_MALLOC_OK => 1,
);
sub MY::postamble {
diff --git a/global.sym b/global.sym
index 3b034e8290..7379173182 100644
--- a/global.sym
+++ b/global.sym
@@ -112,6 +112,7 @@ Perl_do_sprintf
Perl_do_sysseek
Perl_do_tell
Perl_do_trans
+Perl_do_vecget
Perl_do_vecset
Perl_do_vop
Perl_dofile
diff --git a/hints/aix.sh b/hints/aix.sh
index 0f9553a5c7..5a027b3837 100644
--- a/hints/aix.sh
+++ b/hints/aix.sh
@@ -174,38 +174,46 @@ EOCBU
cat > UU/use64bits.cbu <<'EOCBU'
case "$use64bits" in
$define|true|[yY]*)
- case "`uname -r`" in
+ case "`oslevel`" in
3.*|4.[012].*)
cat >&4 <<EOM
-AIX `uname -r` does not support 64-bit interfaces.
-You should upgrade to at least AIX 4.3.
+AIX `oslevel` does not support 64-bit interfaces.
+You should upgrade to at least AIX 4.2.
EOM
exit 1
;;
esac
- ccflags="$ccflags `getconf XBS5_LPBIG_OFFBIG_CFLAGS 2>/dev/null`"
ccflags="$ccflags -DUSE_LONG_LONG"
- case "$cc" in
- *c89) ccflags="$ccflags -qlonglong" ;;
- # Plus AIX also requires LL prefixes for all long long constants.
- esac
+ ccflags="$ccflags `getconf XBS5_ILP32_OFFBIG_CFLAGS 2>/dev/null`"
- ldflags="$ldflags `getconf XBS5_LPBIG_OFFBIG_LDFLAGS 2>/dev/null`"
+ ldflags="$ldflags `getconf XBS5_ILP32_OFFBIG_LDFLAGS 2>/dev/null`"
# _Somehow_ in AIX 4.3.1.0 the above getconf call manages to
# insert(?) *something* to $ldflags so that later (in Configure) evaluating
# $ldflags causes a newline after the '-b64' (the result of the getconf).
+ # (nothing strange shows up in $ldflags even in hexdump;
+ # so it may be something in the shell, instead?)
# Try it out: just uncomment the below line and rerun Configure:
# echo >& "AIX $ldflags mystery" ; exit 1
# Just don't ask me how AIX does it.
- # Therefore the line re-evaluating ldflags: it seems to drop the whatever
- # AIX managed to break. --jhi
+ # Therefore the line re-evaluating ldflags: it seems to bypass
+ # the whatever it was AIX managed to break. --jhi
ldflags="`echo $ldflags`"
- libswanted="$libswanted `getconf XBS5_LPBIG_OFFBIG_LIBS 2>/dev/null|sed -e 's@^-l@@' -e 's@ -l@ @g'`"
+ libswanted="$libswanted `getconf XBS5_ILP32_OFFBIG_LIBS 2>/dev/null|sed -e 's@^-l@@' -e 's@ -l@ @g'`"
# When a 64-bit cc becomes available $archname64
# may need setting so that $archname gets it attached.
;;
esac
EOCBU
+# This script UU/uselongdouble.cbu will get 'called-back' by Configure
+# after it has prompted the user for whether to use long doubles.
+cat > UU/uselongdouble.cbu <<'EOCBU'
+case "$uselongdouble" in
+$define|true|[yY]*)
+ ccflags="$ccflags -qlongdouble"
+ ;;
+esac
+EOCBU
+
# EOF
diff --git a/hints/hpux.sh b/hints/hpux.sh
index 8240b3ed2c..eb9b6856e7 100644
--- a/hints/hpux.sh
+++ b/hints/hpux.sh
@@ -268,14 +268,15 @@ Cannot continue, aborting.
EOM
exit 1
fi
- if [ ! -d /lib/pa20_64 ]; then
+ if [ ! -f /lib/pa20_64/libc.sl ]; then
cat <<EOM >&4
-You do not seem to have the 64-bit libraries, /lib/pa20_64.
+You do not seem to have the 64-bit libraries in /lib/pa20_64.
+Most importantly, I cannot find /lib/pa20_64/libc.sl.
Cannot continue, aborting.
EOM
exit 1
fi
- ccflags="$ccflags +DD64 -D_FILE_OFFSET_BITS=64"
+ ccflags="$ccflags +DD64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
ldflags="$ldflags +DD64"
ld=/usr/bin/ld
set `echo " $libswanted " | sed -e 's@ dl @ @'`
diff --git a/hints/irix_6.sh b/hints/irix_6.sh
index 1b032cdb70..cab48b45ae 100644
--- a/hints/irix_6.sh
+++ b/hints/irix_6.sh
@@ -126,7 +126,10 @@ malloc_cflags='ccflags="-DSTRICT_ALIGNMENT $ccflags"'
# and returning small structures. This affects inet_*() and semctl().
# See http://reality.sgi.com/ariel/freeware/gcc-2.8.1-notes.html
# for more information. Reported by Lionel Cons <lionel.cons@cern.ch>.
- IRIX64) ccflags="$ccflags -mabi=64" ;;
+ IRIX64) ccflags="$ccflags -mabi=64"
+ ldflags="$ldflags -mabi=64 -L/usr/lib64"
+ lddlflags="$lddlflags -mabi=64"
+ ;;
esac
;;
*)
@@ -137,6 +140,9 @@ malloc_cflags='ccflags="-DSTRICT_ALIGNMENT $ccflags"'
;;
esac
+# Don't groan about unused libraries.
+ldflags="$ldflags -Wl,-woff,84"
+
# We don't want these libraries.
# Socket networking is in libc, these are not installed by default,
# and just slow perl down. (scotth@sgi.com)
@@ -237,19 +243,9 @@ EOM
*-n32*)
ccflags="$ccflags -DUSE_LONG_LONG"
archname64="-n32"
- d_open64="$undef"
- # In -n32 mode (ILP32LL64) we use the standard open().
- # In -64 we will use the open64().
- cat << 'EOM' >&2
-
-You will see a *** WHOA THERE!!! *** message from Configure for
-d_open64. Keep the recommended value. See hints/irix6.sh
-for more information.
-
-EOM
;;
esac
- ccflags="$ccflags -DUSE_64_BIT_FILES"
+ ccflags="$ccflags -DUSE_64_BITS"
;;
esac
EOCBU
diff --git a/intrpvar.h b/intrpvar.h
index 65ab5c64fc..a291d393ca 100644
--- a/intrpvar.h
+++ b/intrpvar.h
@@ -200,10 +200,10 @@ PERLVARI(Ithreadnum, U32, 0) /* incremented each thread creation */
PERLVAR(Istrtab_mutex, perl_mutex) /* Mutex for string table access */
#endif /* USE_THREADS */
-PERLVAR(Iuid, int) /* current real user id */
-PERLVAR(Ieuid, int) /* current effective user id */
-PERLVAR(Igid, int) /* current real group id */
-PERLVAR(Iegid, int) /* current effective group id */
+PERLVAR(Iuid, Uid_t) /* current real user id */
+PERLVAR(Ieuid, Uid_t) /* current effective user id */
+PERLVAR(Igid, Gid_t) /* current real group id */
+PERLVAR(Iegid, Gid_t) /* current effective group id */
PERLVAR(Inomemok, bool) /* let malloc context handle nomem */
PERLVAR(Ian, U32) /* malloc sequence number */
PERLVAR(Icop_seqmax, U32) /* statement sequence number */
diff --git a/iperlsys.h b/iperlsys.h
index f6e19acb84..3ecea4289d 100644
--- a/iperlsys.h
+++ b/iperlsys.h
@@ -283,6 +283,7 @@ struct IPerlStdIOInfo
#else /* PERL_IMPLICIT_SYS */
#include "perlsdio.h"
+#include "perl.h"
#endif /* PERL_IMPLICIT_SYS */
diff --git a/lib/Carp/Heavy.pm b/lib/Carp/Heavy.pm
index ae662c1f26..161e7fbe73 100644
--- a/lib/Carp/Heavy.pm
+++ b/lib/Carp/Heavy.pm
@@ -1,4 +1,19 @@
package Carp;
+
+=head1 NAME
+
+Carp::Heavy - Carp guts
+
+=head1 SYNOPIS
+
+(internal use only)
+
+=head1 DESCRIPTION
+
+No user-serviceable parts inside.
+
+=cut
+
# This package is heavily used. Be small. Be fast. Be good.
# Comments added by Andy Wardley <abw@kfs.org> 09-Apr-98, based on an
diff --git a/lib/Dumpvalue.pm b/lib/Dumpvalue.pm
index 22a10af014..18a40eeb1f 100644
--- a/lib/Dumpvalue.pm
+++ b/lib/Dumpvalue.pm
@@ -457,7 +457,7 @@ sub globUsage { # glob ref, name
Dumpvalue - provides screen dump of Perl data.
-=head1 SYNOPSYS
+=head1 SYNOPSIS
use Dumpvalue;
my $dumper = new Dumpvalue;
diff --git a/lib/Exporter/Heavy.pm b/lib/Exporter/Heavy.pm
index f7e95e2b1b..f049e72ea9 100644
--- a/lib/Exporter/Heavy.pm
+++ b/lib/Exporter/Heavy.pm
@@ -1,5 +1,18 @@
package Exporter;
+=head1 NAME
+
+Exporter::Heavy - Exporter guts
+
+=head1 SYNOPIS
+
+(internal use only)
+
+=head1 DESCRIPTION
+
+No user-serviceable parts inside.
+
+=cut
#
# We go to a lot of trouble not to 'require Carp' at file scope,
# because Carp requires Exporter, and something has to give.
diff --git a/lib/ExtUtils/MM_Unix.pm b/lib/ExtUtils/MM_Unix.pm
index b4bf41cd10..7c9657a127 100644
--- a/lib/ExtUtils/MM_Unix.pm
+++ b/lib/ExtUtils/MM_Unix.pm
@@ -388,12 +388,20 @@ sub cflags {
$self->{CCFLAGS} .= ' -DPERL_POLLUTE ';
}
+ my $pollute = '';
+ if ($Config{usemymalloc} and not $Config{bincompat5005}
+ and not $Config{ccflags} =~ /-DPERL_POLLUTE_MALLOC\b/
+ and $self->{PERL_MALLOC_OK}) {
+ $pollute = '$(PERL_MALLOC_DEF)';
+ }
+
return $self->{CFLAGS} = qq{
CCFLAGS = $self->{CCFLAGS}
OPTIMIZE = $self->{OPTIMIZE}
PERLTYPE = $self->{PERLTYPE}
LARGE = $self->{LARGE}
SPLIT = $self->{SPLIT}
+MPOLLUTE = $pollute
};
}
@@ -450,7 +458,7 @@ sub const_cccmd {
return '' unless $self->needs_linking();
return $self->{CONST_CCCMD} =
q{CCCMD = $(CC) -c $(INC) $(CCFLAGS) $(OPTIMIZE) \\
- $(PERLTYPE) $(LARGE) $(SPLIT) $(DEFINE_VERSION) \\
+ $(PERLTYPE) $(LARGE) $(SPLIT) $(MPOLLUTE) $(DEFINE_VERSION) \\
$(XS_DEFINE_VERSION)};
}
@@ -535,6 +543,7 @@ VERSION_MACRO = VERSION
DEFINE_VERSION = -D\$(VERSION_MACRO)=\\\"\$(VERSION)\\\"
XS_VERSION_MACRO = XS_VERSION
XS_DEFINE_VERSION = -D\$(XS_VERSION_MACRO)=\\\"\$(XS_VERSION)\\\"
+PERL_MALLOC_DEF = -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree -Drealloc=Perl_realloc -Dcalloc=Perl_calloc
};
push @m, qq{
diff --git a/lib/ExtUtils/MM_VMS.pm b/lib/ExtUtils/MM_VMS.pm
index ba4c2cc0c4..a2a949b260 100644
--- a/lib/ExtUtils/MM_VMS.pm
+++ b/lib/ExtUtils/MM_VMS.pm
@@ -52,7 +52,7 @@ sub eliminate_macros {
print "eliminate_macros('') = ||\n" if $Verbose >= 3;
return '';
}
- my($npath) = unixify($path);
+ my($npath) = join(' ', map(unixify($_), split(/\s+/, $path)));
my($complex) = 0;
my($head,$macro,$tail);
@@ -67,7 +67,7 @@ sub eliminate_macros {
}
else {
print "Note: can't expand macro \$($macro) containing ",ref($self->{$macro}),
- "\n\t(using MMK-specific deferred substitutuon; MMS will break)\n";
+ "\n\t(using MMK-specific deferred substitution; MMS will break)\n";
$macro = "\cB$macro\cB";
$complex = 1;
}
@@ -107,10 +107,11 @@ sub fixpath {
if ($path =~ m#^\$\([^\)]+\)$# || $path =~ m#[/:>\]]#) {
if ($force_path or $path =~ /(?:DIR\)|\])$/) {
- $fixedpath = vmspath($self->eliminate_macros($path));
+ $fixedpath = join(' ', map(vmspath($_),split(/\s+/, $self->eliminate_macros($path))));
}
else {
- $fixedpath = vmsify($self->eliminate_macros($path));
+ $fixedpath = join(' ', map(vmsify($_),split(/\s+/, $self->eliminate_macros($path))));
+
}
}
elsif ((($prefix,$name) = ($path =~ m#^\$\(([^\)]+)\)(.+)#)) && $self->{$prefix}) {
diff --git a/lib/ExtUtils/MakeMaker.pm b/lib/ExtUtils/MakeMaker.pm
index ad1944c46f..6318d0eed1 100644
--- a/lib/ExtUtils/MakeMaker.pm
+++ b/lib/ExtUtils/MakeMaker.pm
@@ -250,6 +250,7 @@ sub full_setup {
INST_HTMLLIBDIR INST_HTMLSCRIPTDIR
INST_MAN1DIR INST_MAN3DIR INST_SCRIPT LDFROM LIB LIBPERL_A LIBS
LINKTYPE MAKEAPERL MAKEFILE MAN1PODS MAN3PODS MAP_TARGET MYEXTLIB
+ PERL_MALLOC_OK
NAME NEEDS_LINKING NOECHO NORECURS NO_VC OBJECT OPTIMIZE PERL PERLMAINCC
PERL_ARCHLIB PERL_LIB PERL_SRC PERM_RW PERM_RWX
PL_FILES PM PMLIBDIRS POLLUTE PPM_INSTALL_EXEC PPM_INSTALL_SCRIPT PREFIX
@@ -1484,6 +1485,34 @@ Directory, where executable files should be installed during
testing. make install will copy the files in INST_SCRIPT to
INSTALLSCRIPT.
+=item PERL_MALLOC_OK
+
+defaults to 0. Should be set to TRUE if the extension can work with
+the memory allocation routines substituted by the Perl malloc() subsystem.
+This should be applicable to most extensions with exceptions of those
+
+=over
+
+=item *
+
+with bugs in memory allocations which are caught by Perl's malloc();
+
+=item *
+
+which interact with the memory allocator in other ways than via
+malloc(), realloc(), free(), calloc(), sbrk() and brk();
+
+=item *
+
+which rely on special alignment which is not provided by Perl's malloc().
+
+=back
+
+B<NOTE.> Negligence to set this flag in I<any one> of loaded extension
+nullifies many advantages of Perl's malloc(), such as better usage of
+system resources, error detection, memory usage reporting, catchable failure
+of memory allocations, etc.
+
=item LDFROM
defaults to "$(OBJECT)" and is used in the ld command to specify
diff --git a/lib/Math/Trig.pm b/lib/Math/Trig.pm
index 924286d204..d987b5cc76 100644
--- a/lib/Math/Trig.pm
+++ b/lib/Math/Trig.pm
@@ -409,7 +409,16 @@ To calculate the distance between London (51.3N 0.5W) and Tokyo (35.7N
$km = great_circle_distance(@L, @T, 6378);
The answer may be off by few percentages because of the irregular
-(slightly aspherical) form of the Earth.
+(slightly aspherical) form of the Earth. The used formula
+
+ lat0 = 90 degrees - phi0
+ lat1 = 90 degrees - phi1
+ d = R * arccos(cos(lat0) * cos(lat1) * cos(lon1 - lon01) +
+ sin(lat0) * sin(lat1))
+
+is also somewhat unreliable for small distances (for locations
+separated less than about five degrees) because it uses arc cosine
+which is rather ill-conditioned for values close to zero.
=head1 BUGS
diff --git a/lib/charnames.pm b/lib/charnames.pm
new file mode 100644
index 0000000000..e407ff7c8a
--- /dev/null
+++ b/lib/charnames.pm
@@ -0,0 +1,134 @@
+package charnames;
+
+my $fname = 'unicode/UnicodeData-Latest.txt';
+my $txt;
+
+# This is not optimized in any way yet
+sub charnames {
+ $name = shift;
+ $txt = do "unicode/Name.pl" unless $txt;
+ my @off;
+ if ($^H{charnames_full} and $txt =~ /\t\t$name$/m) {
+ @off = ($-[0], $+[0]);
+ }
+ unless (@off) {
+ if ($^H{charnames_short} and $name =~ /^(.*?):(.*)/s) {
+ my ($script, $cname) = ($1,$2);
+ my $case = ( $cname =~ /[[:upper:]]/ ? "CAPITAL" : "SMALL");
+ if ($txt =~ m/\t\t\U$script\E (?:$case )?LETTER \U$cname$/m) {
+ @off = ($-[0], $+[0]);
+ }
+ }
+ }
+ unless (@off) {
+ my $case = ( $name =~ /[[:upper:]]/ ? "CAPITAL" : "SMALL");
+ for ( @{$^H{charnames_scripts}} ) {
+ (@off = ($-[0], $+[0])), last
+ if $txt =~ m/\t\t$_ (?:$case )?LETTER \U$name$/m;
+ }
+ }
+ die "Unknown charname '$name'" unless @off;
+
+ # use caller 'encoding'; # Does not work at compile time?
+
+ my $ord = hex substr $txt, $off[0] - 4, 4;
+ if ($^H & 0x8) {
+ use utf8;
+ return chr $ord;
+ }
+ return chr $ord if $ord <= 255;
+ my $hex = sprintf '%X=0%o', $ord, $ord;
+ my $fname = substr $txt, $off[0] + 2, $off[1] - $off[0] - 2;
+ die "Character 0x$hex with name '$fname' is above 0xFF";
+}
+
+sub import {
+ shift;
+ die "No scripts for `use charnames'" unless @_;
+ $^H |= 0x20000;
+ $^H{charnames} = \&charnames ;
+ my %h;
+ @h{@_} = (1) x @_;
+ $^H{charnames_full} = delete $h{':full'};
+ $^H{charnames_short} = delete $h{':short'};
+ $^H{charnames_scripts} = [map uc, keys %h];
+}
+
+
+1;
+__END__
+
+=head1 NAME
+
+charnames - define character names for C<\C{named}> string literal escape.
+
+=head1 SYNOPSIS
+
+ use charnames ':full';
+ print "\C{GREEK SMALL LETTER SIGMA} is called sigma.\n";
+
+ use charnames ':short';
+ print "\C{greek:Sigma} is an upper-case sigma.\n";
+
+ use charnames qw(cyrillic greek);
+ print "\C{sigma} is Greek sigma, and \C{be} is Cyrillic b.\n";
+
+=head1 DESCRIPTION
+
+Pragma C<use charnames> supports arguments C<:full>, C<:short> and
+script names. If C<:full> is present, for expansion of
+C<\C{CHARNAME}}> string C<CHARNAME> is first looked in the list of
+standard Unicode names of chars. If C<:short> is present, and
+C<CHARNAME> has the form C<SCRIPT:CNAME>, then C<CNAME> is looked up
+as a letter in script C<SCRIPT>. If pragma C<use charnames> is used
+with script name arguments, then for C<\C{CHARNAME}}> the name
+C<CHARNAME> is looked up as a letter in the given scripts (in the
+specified order).
+
+For lookup of C<CHARNAME> inside a given script C<SCRIPTNAME>
+F<charcodes.pm> looks for the names
+
+ SCRIPTNAME CAPITAL LETTER CHARNAME
+ SCRIPTNAME SMALL LETTER CHARNAME
+ SCRIPTNAME LETTER CHARNAME
+
+in the table of standard Unicode names. If C<CHARNAME> is lowercase,
+then the C<CAPITAL> variant is ignored, otherwise C<SMALL> variant is
+ignored.
+
+=head1 CUSTOM TRANSLATORS
+
+The mechanism of translation is C<\C{...}> escapes is general and not
+hardwired into F<charnames.pm>. A module can install custom
+translations (inside the scope which C<use>s the module) by the
+following magic incantation:
+
+ sub import {
+ shift;
+ $^H |= 0x20000;
+ $^H{charnames} = \&translator;
+ }
+
+Here translator() is a subroutine which takes C<CHARNAME> as an
+argument, and returns text to insert into the string instead of the
+C<\C{CHARNAME}> escape. Since the text to insert should be different
+in C<utf8> mode and out of it, the function should check the current
+state of C<utf8>-flag as in
+
+ sub translator {
+ if ($^H & 0x8) {
+ return utf_translator(@_);
+ } else {
+ return no_utf_translator(@_);
+ }
+ }
+
+=head1 BUGS
+
+Since evaluation of the translation function happens in a middle of
+compilation (of a string literal), the translation function should not
+do any C<eval>s or C<require>s. This restriction should be lifted in
+a future version of Perl.
+
+=cut
+
diff --git a/lib/overload.pm b/lib/overload.pm
index c46be839c3..1d8f1a15ad 100644
--- a/lib/overload.pm
+++ b/lib/overload.pm
@@ -113,9 +113,9 @@ sub mycan { # Real can would leave stubs.
%ops = ( with_assign => "+ - * / % ** << >> x .",
assign => "+= -= *= /= %= **= <<= >>= x= .=",
- str_comparison => "< <= > >= == !=",
+ num_comparison => "< <= > >= == !=",
'3way_comparison'=> "<=> cmp",
- num_comparison => "lt le gt ge eq ne",
+ str_comparison => "lt le gt ge eq ne",
binary => "& | ^",
unary => "neg ! ~",
mutators => '++ --',
@@ -396,9 +396,9 @@ A computer-readable form of the above table is available in the hash
with_assign => '+ - * / % ** << >> x .',
assign => '+= -= *= /= %= **= <<= >>= x= .=',
- str_comparison => '< <= > >= == !=',
+ num_comparison => '< <= > >= == !=',
'3way_comparison'=> '<=> cmp',
- num_comparison => 'lt le gt ge eq ne',
+ str_comparison => 'lt le gt ge eq ne',
binary => '& | ^',
unary => 'neg ! ~',
mutators => '++ --',
diff --git a/lib/unicode/Bidirectional.pl b/lib/unicode/Bidirectional.pl
index e10210dc31..92c3f4715a 100644
--- a/lib/unicode/Bidirectional.pl
+++ b/lib/unicode/Bidirectional.pl
@@ -1,7 +1,13 @@
return <<'END';
-0000 0008 ON
+0000 0008 BN
0009 S
-000a 001f ON
+000a B
+000b S
+000c WS
+000d B
+000e 001b BN
+001c 001e B
+001f S
0020 WS
0021 0022 ON
0023 0025 ET
@@ -17,94 +23,140 @@ return <<'END';
0041 005a L
005b 0060 ON
0061 007a L
-007b 009f ON
-00a0 WS
+007b 007e ON
+007f 0084 BN
+0085 B
+0086 009f BN
+00a0 CS
00a1 ON
00a2 00a5 ET
-00a6 00af ON
+00a6 00a9 ON
+00aa L
+00ab 00af ON
00b0 00b1 ET
00b2 00b3 EN
-00b4 00b8 ON
+00b4 ON
+00b5 L
+00b6 00b8 ON
00b9 EN
-00ba 00bf ON
+00ba L
+00bb 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
+00f8 021f L
+0222 0233 L
+0250 02ad L
+02b0 02b8 L
+02b9 02ba ON
+02bb 02c1 L
+02c2 02cf ON
+02d0 02d1 L
+02d2 02df ON
+02e0 02e4 L
+02e5 02ed ON
+02ee L
+0300 034e NSM
+0360 0362 NSM
+0374 0375 ON
037a L
-037e L
-0384 038a L
+037e ON
+0384 0385 ON
+0386 L
+0387 ON
+0388 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
+03d0 03d7 L
+03da 03f3 L
+0400 0482 L
+0483 0486 NSM
+0488 0489 NSM
+048c 04c4 L
04c7 04c8 L
04cb 04cc L
-04d0 04eb L
-04ee 04f5 L
+04d0 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
+058a ON
+0591 05a1 NSM
+05a3 05b9 NSM
+05bb 05bd NSM
+05be R
+05bf NSM
+05c0 R
+05c1 05c2 NSM
+05c3 R
+05c4 NSM
05d0 05ea R
05f0 05f4 R
-060c R
-061b R
-061f R
-0621 063a R
-0640 0652 R
+060c CS
+061b AL
+061f AL
+0621 063a AL
+0640 064a AL
+064b 0655 NSM
0660 0669 AN
066a ET
066b 066c AN
-066d R
-0670 06b7 R
-06ba 06be R
-06c0 06ce R
-06d0 06ed R
+066d AL
+0670 NSM
+0671 06d5 AL
+06d6 06e4 NSM
+06e5 06e6 AL
+06e7 06e8 NSM
+06e9 ON
+06ea 06ed NSM
06f0 06f9 EN
-0901 0903 L
+06fa 06fe AL
+0700 070d AL
+070f BN
+0710 AL
+0711 NSM
+0712 072c AL
+0730 074a NSM
+0780 07a5 AL
+07a6 07b0 NSM
+0901 0902 NSM
+0903 L
0905 0939 L
-093c 094d L
-0950 0954 L
-0958 0970 L
-0981 0983 L
+093c NSM
+093d 0940 L
+0941 0948 NSM
+0949 094c L
+094d NSM
+0950 L
+0951 0954 NSM
+0958 0961 L
+0962 0963 NSM
+0964 0970 L
+0981 NSM
+0982 0983 L
0985 098c L
098f 0990 L
0993 09a8 L
09aa 09b0 L
09b2 L
09b6 09b9 L
-09bc L
-09be 09c4 L
+09bc NSM
+09be 09c0 L
+09c1 09c4 NSM
09c7 09c8 L
-09cb 09cd L
+09cb 09cc L
+09cd NSM
09d7 L
09dc 09dd L
-09df 09e3 L
-09e6 09fa L
-0a02 L
+09df 09e1 L
+09e2 09e3 NSM
+09e6 09f1 L
+09f2 09f3 ET
+09f4 09fa L
+0a02 NSM
0a05 0a0a L
0a0f 0a10 L
0a13 0a28 L
@@ -112,14 +164,18 @@ return <<'END';
0a32 0a33 L
0a35 0a36 L
0a38 0a39 L
-0a3c L
-0a3e 0a42 L
-0a47 0a48 L
-0a4b 0a4d L
+0a3c NSM
+0a3e 0a40 L
+0a41 0a42 NSM
+0a47 0a48 NSM
+0a4b 0a4d NSM
0a59 0a5c L
0a5e L
-0a66 0a74 L
-0a81 0a83 L
+0a66 0a6f L
+0a70 0a71 NSM
+0a72 0a74 L
+0a81 0a82 NSM
+0a83 L
0a85 0a8b L
0a8d L
0a8f 0a91 L
@@ -127,27 +183,39 @@ return <<'END';
0aaa 0ab0 L
0ab2 0ab3 L
0ab5 0ab9 L
-0abc 0ac5 L
-0ac7 0ac9 L
-0acb 0acd L
+0abc NSM
+0abd 0ac0 L
+0ac1 0ac5 NSM
+0ac7 0ac8 NSM
+0ac9 L
+0acb 0acc L
+0acd NSM
0ad0 L
0ae0 L
0ae6 0aef L
-0b01 0b03 L
+0b01 NSM
+0b02 0b03 L
0b05 0b0c L
0b0f 0b10 L
0b13 0b28 L
0b2a 0b30 L
0b32 0b33 L
0b36 0b39 L
-0b3c 0b43 L
+0b3c NSM
+0b3d 0b3e L
+0b3f NSM
+0b40 L
+0b41 0b43 NSM
0b47 0b48 L
-0b4b 0b4d L
-0b56 0b57 L
+0b4b 0b4c L
+0b4d NSM
+0b56 NSM
+0b57 L
0b5c 0b5d L
0b5f 0b61 L
0b66 0b70 L
-0b82 0b83 L
+0b82 NSM
+0b83 L
0b85 0b8a L
0b8e 0b90 L
0b92 0b95 L
@@ -158,9 +226,12 @@ return <<'END';
0ba8 0baa L
0bae 0bb5 L
0bb7 0bb9 L
-0bbe 0bc2 L
+0bbe 0bbf L
+0bc0 NSM
+0bc1 0bc2 L
0bc6 0bc8 L
-0bca 0bcd L
+0bca 0bcc L
+0bcd NSM
0bd7 L
0be7 0bf2 L
0c01 0c03 L
@@ -169,10 +240,11 @@ return <<'END';
0c12 0c28 L
0c2a 0c33 L
0c35 0c39 L
-0c3e 0c44 L
-0c46 0c48 L
-0c4a 0c4d L
-0c55 0c56 L
+0c3e 0c40 NSM
+0c41 0c44 L
+0c46 0c48 NSM
+0c4a 0c4d NSM
+0c55 0c56 NSM
0c60 0c61 L
0c66 0c6f L
0c82 0c83 L
@@ -181,9 +253,13 @@ return <<'END';
0c92 0ca8 L
0caa 0cb3 L
0cb5 0cb9 L
-0cbe 0cc4 L
-0cc6 0cc8 L
-0cca 0ccd L
+0cbe L
+0cbf NSM
+0cc0 0cc4 L
+0cc6 NSM
+0cc7 0cc8 L
+0cca 0ccb L
+0ccc 0ccd NSM
0cd5 0cd6 L
0cde L
0ce0 0ce1 L
@@ -193,14 +269,34 @@ return <<'END';
0d0e 0d10 L
0d12 0d28 L
0d2a 0d39 L
-0d3e 0d43 L
+0d3e 0d40 L
+0d41 0d43 NSM
0d46 0d48 L
-0d4a 0d4d L
+0d4a 0d4c L
+0d4d NSM
0d57 L
0d60 0d61 L
0d66 0d6f L
-0e01 0e3a L
-0e3f 0e5b L
+0d82 0d83 L
+0d85 0d96 L
+0d9a 0db1 L
+0db3 0dbb L
+0dbd L
+0dc0 0dc6 L
+0dca NSM
+0dcf 0dd1 L
+0dd2 0dd4 NSM
+0dd6 NSM
+0dd8 0ddf L
+0df2 0df4 L
+0e01 0e30 L
+0e31 NSM
+0e32 0e33 L
+0e34 0e3a NSM
+0e3f ET
+0e40 0e46 L
+0e47 0e4e NSM
+0e4f 0e5b L
0e81 0e82 L
0e84 L
0e87 0e88 L
@@ -212,21 +308,52 @@ return <<'END';
0ea5 L
0ea7 L
0eaa 0eab L
-0ead 0eb9 L
-0ebb 0ebd L
+0ead 0eb0 L
+0eb1 NSM
+0eb2 0eb3 L
+0eb4 0eb9 NSM
+0ebb 0ebc NSM
+0ebd L
0ec0 0ec4 L
0ec6 L
-0ec8 0ecd L
+0ec8 0ecd NSM
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
+0f00 0f17 L
+0f18 0f19 NSM
+0f1a 0f34 L
+0f35 NSM
+0f36 L
+0f37 NSM
+0f38 L
+0f39 NSM
+0f3a 0f3d ON
+0f3e 0f47 L
+0f49 0f6a L
+0f71 0f7e NSM
+0f7f L
+0f80 0f84 NSM
+0f85 L
+0f86 0f87 NSM
+0f88 0f8b L
+0f90 0f97 NSM
+0f99 0fbc NSM
+0fbe 0fc5 L
+0fc6 NSM
+0fc7 0fcc L
+0fcf L
+1000 1021 L
+1023 1027 L
+1029 102a L
+102c L
+102d 1030 NSM
+1031 L
+1032 NSM
+1036 1037 NSM
+1038 L
+1039 NSM
+1040 1057 L
+1058 1059 NSM
10a0 10c5 L
10d0 10f6 L
10fb L
@@ -259,6 +386,28 @@ return <<'END';
1320 1346 L
1348 135a L
1361 137c L
+13a0 13f4 L
+1401 1676 L
+1680 WS
+1681 169a L
+169b 169c ON
+16a0 16f0 L
+1780 17b6 L
+17b7 17bd NSM
+17be 17c5 L
+17c6 NSM
+17c7 17c8 L
+17c9 17d3 NSM
+17d4 17da L
+17db ET
+17dc L
+17e0 17e9 L
+1800 180a ON
+180b 180e BN
+1810 1819 L
+1820 1877 L
+1880 18a8 L
+18a9 NSM
1e00 1e9b L
1ea0 1ef9 L
1f00 1f15 L
@@ -271,50 +420,90 @@ return <<'END';
1f5d L
1f5f 1f7d L
1f80 1fb4 L
-1fb6 1fc4 L
-1fc6 1fd3 L
+1fb6 1fbc L
+1fbd ON
+1fbe L
+1fbf 1fc1 ON
+1fc2 1fc4 L
+1fc6 1fcc L
+1fcd 1fcf ON
+1fd0 1fd3 L
1fd6 1fdb L
-1fdd 1fef L
+1fdd 1fdf ON
+1fe0 1fec L
+1fed 1fef ON
1ff2 1ff4 L
-1ff6 1ffe L
-2000 2006 WS
-2007 CS
-2008 200b WS
-200c 200d ON
+1ff6 1ffc L
+1ffd 1ffe ON
+2000 200a WS
+200b 200d BN
200e L
200f R
2010 2027 ON
-2028 2029 B
-202a 202e ON
+2028 WS
+2029 B
+202a LRE
+202b RLE
+202c PDF
+202d LRO
+202e RLO
+202f CS
2030 2034 ET
2035 2046 ON
-206a 206f ON
+2048 204d ON
+206a 206f BN
2070 EN
2074 2079 EN
207a 207b ET
-207c 207f ON
+207c 207e ON
+207f L
2080 2089 EN
208a 208b ET
208c 208e ON
-20a0 20ac ET
-20d0 20e1 L
-2100 2138 ON
+20a0 20af ET
+20d0 20e3 NSM
+2100 2101 ON
+2102 L
+2103 2106 ON
+2107 L
+2108 2109 ON
+210a 2113 L
+2114 ON
+2115 L
+2116 2118 ON
+2119 211d L
+211e 2123 ON
+2124 L
+2125 ON
+2126 L
+2127 ON
+2128 L
+2129 ON
+212a 212d L
+212e ET
+212f 2131 L
+2132 ON
+2133 2139 L
+213a ON
2153 215f ON
-2160 2182 L
-2190 21ea ON
+2160 2183 L
+2190 21f3 ON
2200 2211 ON
2212 2213 ET
2214 22f1 ON
-2300 ON
-2302 2335 ON
+2300 2335 ON
2336 237a L
-2400 2424 ON
+237b ON
+237d 239a ON
+2400 2426 ON
2440 244a ON
-2460 24ea ON
+2460 249b EN
+249c 24e9 L
+24ea EN
2500 2595 ON
-25a0 25ef ON
+25a0 25f7 ON
2600 2613 ON
-261a 266f ON
+2619 2671 ON
2701 2704 ON
2706 2709 ON
270c 2727 ON
@@ -327,17 +516,32 @@ return <<'END';
2776 2794 ON
2798 27af ON
27b1 27be ON
+2800 28ff ON
+2e80 2e99 ON
+2e9b 2ef3 ON
+2f00 2fd5 ON
+2ff0 2ffb ON
3000 WS
-3001 3020 ON
-3021 302f L
-3030 3037 ON
-303f ON
+3001 3004 ON
+3005 3007 L
+3008 3020 ON
+3021 3029 L
+302a 302f NSM
+3030 ON
+3031 3035 L
+3036 3037 ON
+3038 303a L
+303e 303f ON
3041 3094 L
-3099 309e L
-30a1 30fe L
+3099 309a NSM
+309b 309c ON
+309d 309e L
+30a1 30fa L
+30fb ON
+30fc 30fe L
3105 312c L
3131 318e L
-3190 319f L
+3190 31b7 L
3200 321c L
3220 3243 L
3260 327b L
@@ -347,7 +551,14 @@ return <<'END';
3300 3376 L
337b 33dd L
33e0 33fe L
+3400 4db5 L
4e00 9fa5 L
+a000 a48c L
+a490 a4a1 L
+a4a4 a4b3 L
+a4b5 a4c0 L
+a4c2 a4c4 L
+a4c6 L
ac00 d7a3 L
d800 db7f L
db80 dbff L
@@ -356,40 +567,67 @@ e000 f8ff L
f900 fa2d L
fb00 fb06 L
fb13 fb17 L
-fb1e fb36 R
+fb1d R
+fb1e NSM
+fb1f fb28 R
+fb29 ET
+fb2a fb36 R
fb38 fb3c R
fb3e R
fb40 fb41 R
fb43 fb44 R
-fb46 fbb1 R
-fbd3 fd3d R
+fb46 fb4f R
+fb50 fbb1 AL
+fbd3 fd3d AL
fd3e fd3f ON
-fd50 fd8f R
-fd92 fdc7 R
-fdf0 fdfb R
-fe20 fe23 ON
+fd50 fd8f AL
+fd92 fdc7 AL
+fdf0 fdfb AL
+fe20 fe23 NSM
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
+fe49 fe4f ON
+fe50 CS
+fe51 ON
+fe52 CS
+fe54 ON
+fe55 CS
+fe56 fe5e ON
+fe5f ET
+fe60 fe61 ON
+fe62 fe63 ET
+fe64 fe66 ON
+fe68 ON
+fe69 fe6a ET
+fe6b ON
+fe70 fe72 AL
+fe74 AL
+fe76 fefc AL
+feff BN
+ff01 ff02 ON
+ff03 ff05 ET
+ff06 ff0a ON
+ff0b ET
+ff0c CS
+ff0d ET
+ff0e CS
+ff0f ES
ff10 ff19 EN
-ff1a ff20 ON
+ff1a CS
+ff1b ff20 ON
ff21 ff3a L
ff3b ff40 ON
ff41 ff5a L
ff5b ff5e ON
-ff61 ff64 ON
-ff65 ffbe L
+ff61 ff65 ON
+ff66 ffbe L
ffc2 ffc7 L
ffca ffcf L
ffd2 ffd7 L
ffda ffdc L
-ffe0 ffe6 ON
+ffe0 ffe1 ET
+ffe2 ffe4 ON
+ffe5 ffe6 ET
ffe8 ffee ON
+fff9 fffb BN
fffc fffd ON
END
diff --git a/lib/unicode/Category.pl b/lib/unicode/Category.pl
index 5c0842c8bf..853de42813 100644
--- a/lib/unicode/Category.pl
+++ b/lib/unicode/Category.pl
@@ -35,7 +35,7 @@ return <<'END';
00a8 Sk
00a9 So
00aa Ll
-00ab Ps
+00ab Pi
00ac Sm
00ad Pd
00ae So
@@ -50,7 +50,7 @@ return <<'END';
00b8 Sk
00b9 No
00ba Ll
-00bb Pe
+00bb Pf
00bc 00be No
00bf Po
00c0 00d6 Lu
@@ -223,7 +223,9 @@ return <<'END';
01bb Lo
01bc Lu
01bd Ll
-01be 01c3 Lo
+01be Lo
+01bf Ll
+01c0 01c3 Lo
01c4 Lu
01c5 Lt
01c6 Ll
@@ -272,6 +274,8 @@ return <<'END';
01f3 Ll
01f4 Lu
01f5 Ll
+01f6 01f8 Lu
+01f9 Ll
01fa Lu
01fb Ll
01fc Lu
@@ -302,18 +306,45 @@ return <<'END';
0215 Ll
0216 Lu
0217 Ll
-0250 02a8 Ll
+0218 Lu
+0219 Ll
+021a Lu
+021b Ll
+021c Lu
+021d Ll
+021e Lu
+021f Ll
+0222 Lu
+0223 Ll
+0224 Lu
+0225 Ll
+0226 Lu
+0227 Ll
+0228 Lu
+0229 Ll
+022a Lu
+022b Ll
+022c Lu
+022d Ll
+022e Lu
+022f Ll
+0230 Lu
+0231 Ll
+0232 Lu
+0233 Ll
+0250 02ad Ll
02b0 02b8 Lm
02b9 02ba Sk
02bb 02c1 Lm
02c2 02cf Sk
02d0 02d1 Lm
-02d2 02de Sk
+02d2 02df Sk
02e0 02e4 Lm
-02e5 02e9 Sk
-0300 0345 Mn
-0360 0361 Mn
-0374 0375 Po
+02e5 02ed Sk
+02ee Lm
+0300 034e Mn
+0360 0362 Mn
+0374 0375 Sk
037a Lm
037e Po
0384 0385 Sk
@@ -328,11 +359,15 @@ return <<'END';
03ac 03ce Ll
03d0 03d1 Ll
03d2 03d4 Lu
-03d5 03d6 Ll
+03d5 03d7 Ll
03da Lu
+03db Ll
03dc Lu
+03dd Ll
03de Lu
+03df Ll
03e0 Lu
+03e1 Ll
03e2 Lu
03e3 Ll
03e4 Lu
@@ -348,11 +383,8 @@ return <<'END';
03ee Lu
03ef 03f2 Ll
03f3 Lo
-0401 040c Lu
-040e 042f Lu
-0430 044f Ll
-0451 045c Ll
-045e 045f Ll
+0400 042f Lu
+0430 045f Ll
0460 Lu
0461 Ll
0462 Lu
@@ -389,6 +421,11 @@ return <<'END';
0481 Ll
0482 So
0483 0486 Mn
+0488 0489 Me
+048c Lu
+048d Ll
+048e Lu
+048f Ll
0490 Lu
0491 Ll
0492 Lu
@@ -474,6 +511,8 @@ return <<'END';
04e9 Ll
04ea Lu
04eb Ll
+04ec Lu
+04ed Ll
04ee Lu
04ef Ll
04f0 Lu
@@ -489,6 +528,7 @@ return <<'END';
055a 055f Po
0561 0587 Ll
0589 Po
+058a Pd
0591 05a1 Mn
05a3 05b9 Mn
05bb 05bd Mn
@@ -507,14 +547,11 @@ return <<'END';
0621 063a Lo
0640 Lm
0641 064a Lo
-064b 0652 Mn
+064b 0655 Mn
0660 0669 Nd
066a 066d Po
0670 Mn
-0671 06b7 Lo
-06ba 06be Lo
-06c0 06ce Lo
-06d0 06d3 Lo
+0671 06d3 Lo
06d4 Po
06d5 Lo
06d6 06dc Mn
@@ -525,6 +562,16 @@ return <<'END';
06e9 So
06ea 06ed Mn
06f0 06f9 Nd
+06fa 06fc Lo
+06fd 06fe So
+0700 070d Po
+070f Cf
+0710 Lo
+0711 Mn
+0712 072c Lo
+0730 074a Mn
+0780 07a5 Lo
+07a6 07b0 Mn
0901 0902 Mn
0903 Mc
0905 0939 Lo
@@ -534,7 +581,7 @@ return <<'END';
0941 0948 Mn
0949 094c Mc
094d Mn
-0950 So
+0950 Lo
0951 0954 Mn
0958 0961 Lo
0962 0963 Mn
@@ -599,7 +646,7 @@ return <<'END';
0ac9 Mc
0acb 0acc Mc
0acd Mn
-0ad0 So
+0ad0 Lo
0ae0 Lo
0ae6 0aef Nd
0b01 Mn
@@ -689,9 +736,20 @@ return <<'END';
0d57 Mc
0d60 0d61 Lo
0d66 0d6f Nd
-0e01 0e2e Lo
-0e2f Po
-0e30 Lo
+0d82 0d83 Mc
+0d85 0d96 Lo
+0d9a 0db1 Lo
+0db3 0dbb Lo
+0dbd Lo
+0dc0 0dc6 Lo
+0dca Mn
+0dcf 0dd1 Mc
+0dd2 0dd4 Mn
+0dd6 Mn
+0dd8 0ddf Mc
+0df2 0df3 Mc
+0df4 Po
+0e01 0e30 Lo
0e31 Mn
0e32 0e33 Lo
0e34 0e3a Mn
@@ -699,7 +757,7 @@ return <<'END';
0e40 0e45 Lo
0e46 Lm
0e47 0e4e Mn
-0e4f So
+0e4f Po
0e50 0e59 Nd
0e5a 0e5b Po
0e81 0e82 Lo
@@ -713,9 +771,7 @@ return <<'END';
0ea5 Lo
0ea7 Lo
0eaa 0eab Lo
-0ead 0eae Lo
-0eaf Po
-0eb0 Lo
+0ead 0eb0 Lo
0eb1 Mn
0eb2 0eb3 Lo
0eb4 0eb9 Mn
@@ -726,7 +782,8 @@ return <<'END';
0ec8 0ecd Mn
0ed0 0ed9 Nd
0edc 0edd Lo
-0f00 0f03 So
+0f00 Lo
+0f01 0f03 So
0f04 0f12 Po
0f13 0f17 So
0f18 0f19 Mn
@@ -745,19 +802,36 @@ return <<'END';
0f3d Pe
0f3e 0f3f Mc
0f40 0f47 Lo
-0f49 0f69 Lo
+0f49 0f6a 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
+0f86 0f87 Mn
+0f88 0f8b Lo
+0f90 0f97 Mn
+0f99 0fbc Mn
+0fbe 0fc5 So
+0fc6 Mn
+0fc7 0fcc So
+0fcf So
+1000 1021 Lo
+1023 1027 Lo
+1029 102a Lo
+102c Mc
+102d 1030 Mn
+1031 Mc
+1032 Mn
+1036 1037 Mn
+1038 Mc
+1039 Mn
+1040 1049 Nd
+104a 104f Po
+1050 1055 Lo
+1056 1057 Mc
+1058 1059 Mn
10a0 10c5 Lu
-10d0 10f6 Ll
+10d0 10f6 Lo
10fb Po
1100 1159 Lo
115f 11a2 Lo
@@ -790,6 +864,36 @@ return <<'END';
1361 1368 Po
1369 1371 Nd
1372 137c No
+13a0 13f4 Lo
+1401 166c Lo
+166d 166e Po
+166f 1676 Lo
+1680 Zs
+1681 169a Lo
+169b Ps
+169c Pe
+16a0 16ea Lo
+16eb 16ed Po
+16ee 16f0 No
+1780 17b3 Lo
+17b4 17b6 Mc
+17b7 17bd Mn
+17be 17c5 Mc
+17c6 Mn
+17c7 17c8 Mc
+17c9 17d3 Mn
+17d4 17da Po
+17db Sc
+17dc Po
+17e0 17e9 Nd
+1800 180a Po
+180b 180e Cf
+1810 1819 Nd
+1820 1842 Lo
+1843 Lm
+1844 1877 Lo
+1880 18a8 Lo
+18a9 Mn
1e00 Lu
1e01 Ll
1e02 Lu
@@ -1049,20 +1153,22 @@ return <<'END';
1f68 1f6f Lu
1f70 1f7d Ll
1f80 1f87 Ll
-1f88 1f8f Lu
+1f88 1f8f Lt
1f90 1f97 Ll
-1f98 1f9f Lu
+1f98 1f9f Lt
1fa0 1fa7 Ll
-1fa8 1faf Lu
+1fa8 1faf Lt
1fb0 1fb4 Ll
1fb6 1fb7 Ll
-1fb8 1fbc Lu
+1fb8 1fbb Lu
+1fbc Lt
1fbd Sk
-1fbe Lu
+1fbe Ll
1fbf 1fc1 Sk
1fc2 1fc4 Ll
1fc6 1fc7 Ll
-1fc8 1fcc Lu
+1fc8 1fcb Lu
+1fcc Lt
1fcd 1fcf Sk
1fd0 1fd3 Ll
1fd6 1fd7 Ll
@@ -1073,30 +1179,35 @@ return <<'END';
1fed 1fef Sk
1ff2 1ff4 Ll
1ff6 1ff7 Ll
-1ff8 1ffc Lu
+1ff8 1ffb Lu
+1ffc Lt
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
+2018 Pi
+2019 Pf
+201a Ps
+201b 201c Pi
+201d Pf
+201e Ps
+201f Pi
2020 2027 Po
2028 Zl
2029 Zp
202a 202e Cf
+202f Zs
2030 2038 Po
-2039 Ps
-203a Pe
+2039 Pi
+203a Pf
203b 203e Po
203f 2040 Pc
2041 2043 Po
2044 Sm
2045 Ps
2046 Pe
+2048 204d Po
206a 206f Cf
2070 No
2074 2079 No
@@ -1108,10 +1219,11 @@ return <<'END';
208a 208c Sm
208d Ps
208e Pe
-20a0 20ac Sc
+20a0 20af Sc
20d0 20dc Mn
20dd 20e0 Me
20e1 Mn
+20e2 20e3 Me
2100 2101 So
2102 Lu
2103 2106 So
@@ -1124,8 +1236,8 @@ return <<'END';
2113 Ll
2114 So
2115 Lu
-2116 2117 So
-2118 211d Lu
+2116 2118 So
+2119 211d Lu
211e 2123 So
2124 Lu
2125 So
@@ -1134,39 +1246,42 @@ return <<'END';
2128 Lu
2129 So
212a 212d Lu
-212e 212f Ll
+212e So
+212f Ll
2130 2131 Lu
2132 So
2133 Lu
2134 Ll
2135 2138 Lo
+2139 Ll
+213a So
2153 215f No
-2160 2182 Nl
+2160 2183 Nl
2190 2194 Sm
2195 21d1 So
21d2 Sm
21d3 So
21d4 Sm
-21d5 21ea So
+21d5 21f3 So
2200 22f1 Sm
-2300 So
-2302 2307 So
+2300 2307 So
2308 230b Sm
230c 231f So
2320 2321 Sm
2322 2328 So
2329 Ps
232a Pe
-232b 237a So
-2400 2424 So
+232b 237b So
+237d 239a So
+2400 2426 So
2440 244a So
2460 249b No
249c 24e9 So
24ea No
2500 2595 So
-25a0 25ef So
+25a0 25f7 So
2600 2613 So
-261a 266f So
+2619 2671 So
2701 2704 So
2706 2709 So
270c 2727 So
@@ -1180,11 +1295,16 @@ return <<'END';
2794 So
2798 27af So
27b1 27be So
+2800 28ff So
+2e80 2e99 So
+2e9b 2ef3 So
+2f00 2fd5 So
+2ff0 2ffb So
3000 Zs
3001 3003 Po
3004 So
3005 Lm
-3006 Po
+3006 Lo
3007 Nl
3008 Ps
3009 Pe
@@ -1214,18 +1334,21 @@ return <<'END';
3030 Pd
3031 3035 Lm
3036 3037 So
-303f So
+3038 303a Nl
+303e 303f So
3041 3094 Lo
3099 309a Mn
-309b 309e Lm
+309b 309c Sk
+309d 309e Lm
30a1 30fa Lo
-30fb Po
+30fb Pc
30fc 30fe Lm
3105 312c Lo
3131 318e Lo
3190 3191 So
3192 3195 No
3196 319f So
+31a0 31b7 Lo
3200 321c So
3220 3229 No
322a 3243 So
@@ -1238,7 +1361,14 @@ return <<'END';
3300 3376 So
337b 33dd So
33e0 33fe So
+3400 4db5 Lo
4e00 9fa5 Lo
+a000 a48c Lo
+a490 a4a1 Lo
+a4a4 a4b3 Lo
+a4b5 a4c0 Lo
+a4c2 a4c4 Lo
+a4c6 Lo
ac00 d7a3 Lo
d800 db7f Cs
db80 dbff Cs
@@ -1247,6 +1377,7 @@ e000 f8ff Co
f900 fa2d Lo
fb00 fb06 Ll
fb13 fb17 Ll
+fb1d Lo
fb1e Mn
fb1f fb28 Lo
fb29 Sm
@@ -1333,7 +1464,8 @@ ff5e Sm
ff61 Po
ff62 Ps
ff63 Pe
-ff64 ff65 Po
+ff64 Po
+ff65 Pc
ff66 ff6f Lo
ff70 Lm
ff71 ff9d Lo
@@ -1348,7 +1480,9 @@ ffe2 Sm
ffe3 Sk
ffe4 So
ffe5 ffe6 Sc
-ffe8 ffec Sm
+ffe8 So
+ffe9 ffec Sm
ffed ffee So
+fff9 fffb Cf
fffc fffd So
END
diff --git a/lib/unicode/CombiningClass.pl b/lib/unicode/CombiningClass.pl
index f50c7bb36e..8449c8c5e1 100644
--- a/lib/unicode/CombiningClass.pl
+++ b/lib/unicode/CombiningClass.pl
@@ -12,8 +12,13 @@ return <<'END';
0334 0338 1
0339 033c 220
033d 0344 230
-0345 220
+0345 240
+0346 230
+0347 0349 220
+034a 034c 230
+034d 034e 220
0360 0361 234
+0362 233
0483 0486 230
0591 220
0592 0595 230
@@ -27,7 +32,8 @@ return <<'END';
05aa 220
05ab 05ac 230
05ad 222
-05ae 05af 230
+05ae 228
+05af 230
05b0 10
05b1 11
05b2 12
@@ -53,6 +59,8 @@ return <<'END';
0650 32
0651 33
0652 34
+0653 0654 230
+0655 220
0670 35
06d6 06dc 230
06df 06e2 230
@@ -62,150 +70,76 @@ return <<'END';
06ea 220
06eb 06ec 230
06ed 220
-0901 37
-0902 36
+0711 36
+0730 230
+0731 220
+0732 0733 230
+0734 220
+0735 0736 230
+0737 0739 220
+073a 230
+073b 073c 220
+073d 230
+073e 220
+073f 0741 230
+0742 220
+0743 230
+0744 220
+0745 230
+0746 220
+0747 230
+0748 220
+0749 074a 230
093c 7
-0941 38
-0942 39
-0943 40
-0944 41
-0945 42
-0946 43
-0947 44
-0948 45
094d 9
-0951 46
-0952 47
+0951 230
+0952 220
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
+0c55 84
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
+0dca 9
+0e38 0e39 103
+0e3a 9
+0e48 0e4b 107
+0e4d 107
+0eb8 0eb9 118
+0ec8 0ecb 122
+0ecd 122
0f18 0f19 220
-0f35 230
-0f37 230
+0f35 220
+0f37 220
0f39 216
-0f3e 0f3f 220
-0f71 145
+0f71 129
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
+0f7a 0f7d 130
+0f80 130
0f82 0f83 230
0f84 9
-0f86 0f8b 230
-0f90 0f95 6
-0f97 6
-0f99 0fad 6
-0fb1 0fb7 6
-0fb9 6
+0f86 0f87 230
+0fc6 220
+1037 7
+1039 9
+17d2 9
+18a9 228
20d0 20d1 230
20d2 20d3 1
20d4 20d7 230
20d8 20da 1
20db 20dc 230
-20e1 1
+20e1 230
302a 218
302b 228
302c 232
diff --git a/lib/unicode/Decomposition.pl b/lib/unicode/Decomposition.pl
index 4bb9852319..fcf7244df3 100644
--- a/lib/unicode/Decomposition.pl
+++ b/lib/unicode/Decomposition.pl
@@ -214,8 +214,8 @@ return <<'END';
01dc 00FC 0300
01de 00C4 0304
01df 00E4 0304
-01e0 0041 0307 0304
-01e1 0061 0307 0304
+01e0 0226 0304
+01e1 0227 0304
01e2 00C6 0304
01e3 00E6 0304
01e6 0047 030C
@@ -234,6 +234,8 @@ return <<'END';
01f3 <compat> 0064 007A
01f4 0047 0301
01f5 0067 0301
+01f8 004E 0300
+01f9 006E 0300
01fa 00C5 0301
01fb 00E5 0301
01fc 00C6 0301
@@ -264,6 +266,26 @@ return <<'END';
0215 0075 030F
0216 0055 0311
0217 0075 0311
+0218 0053 0326
+0219 0073 0326
+021a 0054 0326
+021b 0074 0326
+021e 0048 030C
+021f 0068 030C
+0226 0041 0307
+0227 0061 0307
+0228 0045 0327
+0229 0065 0327
+022a 00D6 0304
+022b 00F6 0304
+022c 00D5 0304
+022d 00F5 0304
+022e 004F 0307
+022f 006F 0307
+0230 022E 0304
+0231 022F 0304
+0232 0059 0304
+0233 0079 0304
02b0 <super> 0068
02b1 <super> 0266
02b2 <super> 006A
@@ -284,50 +306,61 @@ return <<'END';
02e2 <super> 0073
02e3 <super> 0078
02e4 <super> 0295
-0310 0306 0307
0340 0300
0341 0301
0343 0313
-0344 0308 030D
+0344 0308 0301
0374 02B9
037a <compat> 0020 0345
037e 003B
-0384 <compat> 0020 030D
-0385 00A8 030D
-0386 0391 030D
+0384 <compat> 0020 0301
+0385 00A8 0301
+0386 0391 0301
0387 00B7
-0388 0395 030D
-0389 0397 030D
-038a 0399 030D
-038c 039F 030D
-038e 03A5 030D
-038f 03A9 030D
-0390 03B9 0344
+0388 0395 0301
+0389 0397 0301
+038a 0399 0301
+038c 039F 0301
+038e 03A5 0301
+038f 03A9 0301
+0390 03CA 0301
03aa 0399 0308
03ab 03A5 0308
-03ac 03B1 030D
-03ad 03B5 030D
-03ae 03B7 030D
-03af 03B9 030D
-03b0 03C5 0344
+03ac 03B1 0301
+03ad 03B5 0301
+03ae 03B7 0301
+03af 03B9 0301
+03b0 03CB 0301
03ca 03B9 0308
03cb 03C5 0308
-03cc 03BF 030D
-03cd 03C5 030D
-03ce 03C9 030D
-03d3 03D2 030D
+03cc 03BF 0301
+03cd 03C5 0301
+03ce 03C9 0301
+03d0 <compat> 03B2
+03d1 <compat> 03B8
+03d2 <compat> 03A5
+03d3 03D2 0301
03d4 03D2 0308
+03d5 <compat> 03C6
+03d6 <compat> 03C0
+03f0 <compat> 03BA
+03f1 <compat> 03C1
+03f2 <compat> 03C2
+0400 0415 0300
0401 0415 0308
0403 0413 0301
0407 0406 0308
040c 041A 0301
+040d 0418 0300
040e 0423 0306
0419 0418 0306
0439 0438 0306
+0450 0435 0300
0451 0435 0308
0453 0433 0301
0457 0456 0308
045c 043A 0301
+045d 0438 0300
045e 0443 0306
0476 0474 030F
0477 0475 030F
@@ -337,30 +370,24 @@ return <<'END';
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
+04da 04D8 0308
+04db 04D9 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
+04ea 04E8 0308
+04eb 04E9 0308
+04ec 042D 0308
+04ed 044D 0308
04ee 0423 0304
04ef 0443 0304
04f0 0423 0308
@@ -372,6 +399,18 @@ return <<'END';
04f8 042B 0308
04f9 044B 0308
0587 <compat> 0565 0582
+0622 0627 0653
+0623 0627 0654
+0624 0648 0654
+0625 0627 0655
+0626 064A 0654
+0675 <compat> 0627 0674
+0676 <compat> 0648 0674
+0677 <compat> 06C7 0674
+0678 <compat> 064A 0674
+06c0 06D5 0654
+06c2 06C1 0654
+06d3 06D2 0654
0929 0928 093C
0931 0930 093C
0934 0933 093C
@@ -383,23 +422,22 @@ return <<'END';
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
+0a33 0A32 0A3C
+0a36 0A38 0A3C
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
@@ -409,220 +447,39 @@ return <<'END';
0cc7 0CC6 0CD5
0cc8 0CC6 0CD6
0cca 0CC6 0CC2
-0ccb 0CC6 0CC2 0CD5
+0ccb 0CCA 0CD5
0d4a 0D46 0D3E
0d4b 0D47 0D3E
0d4c 0D46 0D57
+0dda 0DD9 0DCA
+0ddc 0DD9 0DCF
+0ddd 0DDC 0DCA
+0dde 0DD9 0DDF
0e33 0E4D 0E32
0eb3 0ECD 0EB2
0edc <compat> 0EAB 0E99
0edd <compat> 0EAB 0EA1
+0f0c <noBreak> 0F0B
0f43 0F42 0FB7
0f4d 0F4C 0FB7
0f52 0F51 0FB7
0f57 0F56 0FB7
0f5c 0F5B 0FB7
0f69 0F40 0FB5
-0f73 0F72 0F71
-0f75 0F74 0F71
+0f73 0F71 0F72
+0f75 0F71 0F74
0f76 0FB2 0F80
-0f77 0F76 0F71
+0f77 <compat> 0FB2 0F81
0f78 0FB3 0F80
-0f79 0F78 0F71
-0f81 0F80 0F71
+0f79 <compat> 0FB3 0F81
+0f81 0F71 0F80
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
+1026 1025 102E
1e00 0041 0325
1e01 0061 0325
1e02 0042 0307
@@ -651,8 +508,8 @@ return <<'END';
1e19 0065 032D
1e1a 0045 0330
1e1b 0065 0330
-1e1c 0114 0327
-1e1d 0115 0327
+1e1c 0228 0306
+1e1d 0229 0306
1e1e 0046 0307
1e1f 0066 0307
1e20 0047 0304
@@ -777,6 +634,7 @@ return <<'END';
1e97 0074 0308
1e98 0077 030A
1e99 0079 030A
+1e9a <compat> 0061 02BE
1e9b 017F 0307
1ea0 0041 0323
1ea1 0061 0323
@@ -790,8 +648,8 @@ return <<'END';
1ea9 00E2 0309
1eaa 00C2 0303
1eab 00E2 0303
-1eac 00C2 0323
-1ead 00E2 0323
+1eac 1EA0 0302
+1ead 1EA1 0302
1eae 0102 0301
1eaf 0103 0301
1eb0 0102 0300
@@ -800,8 +658,8 @@ return <<'END';
1eb3 0103 0309
1eb4 0102 0303
1eb5 0103 0303
-1eb6 0102 0323
-1eb7 0103 0323
+1eb6 1EA0 0306
+1eb7 1EA1 0306
1eb8 0045 0323
1eb9 0065 0323
1eba 0045 0309
@@ -816,8 +674,8 @@ return <<'END';
1ec3 00EA 0309
1ec4 00CA 0303
1ec5 00EA 0303
-1ec6 00CA 0323
-1ec7 00EA 0323
+1ec6 1EB8 0302
+1ec7 1EB9 0302
1ec8 0049 0309
1ec9 0069 0309
1eca 0049 0323
@@ -834,8 +692,8 @@ return <<'END';
1ed5 00F4 0309
1ed6 00D4 0303
1ed7 00F4 0303
-1ed8 00D4 0323
-1ed9 00F4 0323
+1ed8 1ECC 0302
+1ed9 1ECD 0302
1eda 01A0 0301
1edb 01A1 0301
1edc 01A0 0300
@@ -969,19 +827,19 @@ return <<'END';
1f6e 1F68 0342
1f6f 1F69 0342
1f70 03B1 0300
-1f71 03B1 0301
+1f71 03AC
1f72 03B5 0300
-1f73 03B5 0301
+1f73 03AD
1f74 03B7 0300
-1f75 03B7 0301
+1f75 03AE
1f76 03B9 0300
-1f77 03B9 0301
+1f77 03AF
1f78 03BF 0300
-1f79 03BF 0301
+1f79 03CC
1f7a 03C5 0300
-1f7b 03C5 0301
+1f7b 03CD
1f7c 03C9 0300
-1f7d 03C9 0301
+1f7d 03CE
1f80 1F00 0345
1f81 1F01 0345
1f82 1F02 0345
@@ -1034,13 +892,13 @@ return <<'END';
1fb1 03B1 0304
1fb2 1F70 0345
1fb3 03B1 0345
-1fb4 1F71 0345
+1fb4 03AC 0345
1fb6 03B1 0342
1fb7 1FB6 0345
1fb8 0391 0306
1fb9 0391 0304
1fba 0391 0300
-1fbb 0391 0301
+1fbb 0386
1fbc 0391 0345
1fbd <compat> 0020 0313
1fbe 03B9
@@ -1049,13 +907,13 @@ return <<'END';
1fc1 00A8 0342
1fc2 1F74 0345
1fc3 03B7 0345
-1fc4 1F75 0345
+1fc4 03AE 0345
1fc6 03B7 0342
1fc7 1FC6 0345
1fc8 0395 0300
-1fc9 0395 0301
+1fc9 0388
1fca 0397 0300
-1fcb 0397 0301
+1fcb 0389
1fcc 0397 0345
1fcd 1FBF 0300
1fce 1FBF 0301
@@ -1063,20 +921,20 @@ return <<'END';
1fd0 03B9 0306
1fd1 03B9 0304
1fd2 03CA 0300
-1fd3 03CA 0301
+1fd3 0390
1fd6 03B9 0342
1fd7 03CA 0342
1fd8 0399 0306
1fd9 0399 0304
1fda 0399 0300
-1fdb 0399 0301
+1fdb 038A
1fdd 1FFE 0300
1fde 1FFE 0301
1fdf 1FFE 0342
1fe0 03C5 0306
1fe1 03C5 0304
1fe2 03CB 0300
-1fe3 03CB 0301
+1fe3 03B0
1fe4 03C1 0313
1fe5 03C1 0314
1fe6 03C5 0342
@@ -1084,20 +942,20 @@ return <<'END';
1fe8 03A5 0306
1fe9 03A5 0304
1fea 03A5 0300
-1feb 03A5 0301
+1feb 038E
1fec 03A1 0314
1fed 00A8 0300
-1fee 00A8 0301
+1fee 0385
1fef 0060
1ff2 1F7C 0345
1ff3 03C9 0345
-1ff4 1F79 0345
+1ff4 03CE 0345
1ff6 03C9 0342
1ff7 1FF6 0345
1ff8 039F 0300
-1ff9 039F 0301
+1ff9 038C
1ffa 03A9 0300
-1ffb 03A9 0301
+1ffb 038F
1ffc 03A9 0345
1ffd 00B4
1ffe <compat> 0020 0314
@@ -1111,12 +969,15 @@ return <<'END';
2024 <compat> 002E
2025 <compat> 002E 002E
2026 <compat> 002E 002E 002E
+202f <noBreak> 0020
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
+2048 <compat> 003F 0021
+2049 <compat> 0021 003F
2070 <super> 0030
2074 <super> 0034
2075 <super> 0035
@@ -1146,8 +1007,12 @@ return <<'END';
208d <sub> 0028
208e <sub> 0029
20a8 <compat> 0052 0073
+2100 <compat> 0061 002F 0063
+2101 <compat> 0061 002F 0073
2102 <font> 0043
2103 <compat> 00B0 0043
+2105 <compat> 0063 002F 006F
+2106 <compat> 0063 002F 0075
2107 <compat> 0190
2109 <compat> 00B0 0046
210a <font> 0067
@@ -1159,11 +1024,11 @@ return <<'END';
2113 <font> 006C
2115 <font> 004E
2116 <compat> 004E 006F
-2118 2119 <font> 0050
+2119 <font> 0050
211a <font> 0051
211b 211d <font> 0052
2120 <super> 0053 004D
-2121 <super> 0054 0045 004C
+2121 <compat> 0054 0045 004C
2122 <super> 0054 004D
2124 <font> 005A
2126 03A9
@@ -1181,6 +1046,7 @@ return <<'END';
2136 <compat> 05D1
2137 <compat> 05D2
2138 <compat> 05D3
+2139 <font> 0069
2153 <fraction> 0031 2044 0033
2154 <fraction> 0032 2044 0033
2155 <fraction> 0031 2044 0035
@@ -1226,6 +1092,12 @@ return <<'END';
217d <compat> 0063
217e <compat> 0064
217f <compat> 006D
+219a 2190 0338
+219b 2192 0338
+21ae 2194 0338
+21cd 21D0 0338
+21ce 21D4 0338
+21cf 21D2 0338
2204 2203 0338
2209 2208 0338
220c 220B 0338
@@ -1235,7 +1107,7 @@ return <<'END';
222d <compat> 222B 222B 222B
222f <compat> 222E 222E
2230 <compat> 222E 222E 222E
-2241 007E 0338
+2241 223C 0338
2244 2243 0338
2247 2245 0338
2249 2248 0338
@@ -1409,8 +1281,227 @@ return <<'END';
24e8 <circle> 0079
24e9 <circle> 007A
24ea <circle> 0030
+2e9f <compat> 6BCD
+2ef3 <compat> 9F9F
+2f00 <compat> 4E00
+2f01 <compat> 4E28
+2f02 <compat> 4E36
+2f03 <compat> 4E3F
+2f04 <compat> 4E59
+2f05 <compat> 4E85
+2f06 <compat> 4E8C
+2f07 <compat> 4EA0
+2f08 <compat> 4EBA
+2f09 <compat> 513F
+2f0a <compat> 5165
+2f0b <compat> 516B
+2f0c <compat> 5182
+2f0d <compat> 5196
+2f0e <compat> 51AB
+2f0f <compat> 51E0
+2f10 <compat> 51F5
+2f11 <compat> 5200
+2f12 <compat> 529B
+2f13 <compat> 52F9
+2f14 <compat> 5315
+2f15 <compat> 531A
+2f16 <compat> 5338
+2f17 <compat> 5341
+2f18 <compat> 535C
+2f19 <compat> 5369
+2f1a <compat> 5382
+2f1b <compat> 53B6
+2f1c <compat> 53C8
+2f1d <compat> 53E3
+2f1e <compat> 56D7
+2f1f <compat> 571F
+2f20 <compat> 58EB
+2f21 <compat> 5902
+2f22 <compat> 590A
+2f23 <compat> 5915
+2f24 <compat> 5927
+2f25 <compat> 5973
+2f26 <compat> 5B50
+2f27 <compat> 5B80
+2f28 <compat> 5BF8
+2f29 <compat> 5C0F
+2f2a <compat> 5C22
+2f2b <compat> 5C38
+2f2c <compat> 5C6E
+2f2d <compat> 5C71
+2f2e <compat> 5DDB
+2f2f <compat> 5DE5
+2f30 <compat> 5DF1
+2f31 <compat> 5DFE
+2f32 <compat> 5E72
+2f33 <compat> 5E7A
+2f34 <compat> 5E7F
+2f35 <compat> 5EF4
+2f36 <compat> 5EFE
+2f37 <compat> 5F0B
+2f38 <compat> 5F13
+2f39 <compat> 5F50
+2f3a <compat> 5F61
+2f3b <compat> 5F73
+2f3c <compat> 5FC3
+2f3d <compat> 6208
+2f3e <compat> 6236
+2f3f <compat> 624B
+2f40 <compat> 652F
+2f41 <compat> 6534
+2f42 <compat> 6587
+2f43 <compat> 6597
+2f44 <compat> 65A4
+2f45 <compat> 65B9
+2f46 <compat> 65E0
+2f47 <compat> 65E5
+2f48 <compat> 66F0
+2f49 <compat> 6708
+2f4a <compat> 6728
+2f4b <compat> 6B20
+2f4c <compat> 6B62
+2f4d <compat> 6B79
+2f4e <compat> 6BB3
+2f4f <compat> 6BCB
+2f50 <compat> 6BD4
+2f51 <compat> 6BDB
+2f52 <compat> 6C0F
+2f53 <compat> 6C14
+2f54 <compat> 6C34
+2f55 <compat> 706B
+2f56 <compat> 722A
+2f57 <compat> 7236
+2f58 <compat> 723B
+2f59 <compat> 723F
+2f5a <compat> 7247
+2f5b <compat> 7259
+2f5c <compat> 725B
+2f5d <compat> 72AC
+2f5e <compat> 7384
+2f5f <compat> 7389
+2f60 <compat> 74DC
+2f61 <compat> 74E6
+2f62 <compat> 7518
+2f63 <compat> 751F
+2f64 <compat> 7528
+2f65 <compat> 7530
+2f66 <compat> 758B
+2f67 <compat> 7592
+2f68 <compat> 7676
+2f69 <compat> 767D
+2f6a <compat> 76AE
+2f6b <compat> 76BF
+2f6c <compat> 76EE
+2f6d <compat> 77DB
+2f6e <compat> 77E2
+2f6f <compat> 77F3
+2f70 <compat> 793A
+2f71 <compat> 79B8
+2f72 <compat> 79BE
+2f73 <compat> 7A74
+2f74 <compat> 7ACB
+2f75 <compat> 7AF9
+2f76 <compat> 7C73
+2f77 <compat> 7CF8
+2f78 <compat> 7F36
+2f79 <compat> 7F51
+2f7a <compat> 7F8A
+2f7b <compat> 7FBD
+2f7c <compat> 8001
+2f7d <compat> 800C
+2f7e <compat> 8012
+2f7f <compat> 8033
+2f80 <compat> 807F
+2f81 <compat> 8089
+2f82 <compat> 81E3
+2f83 <compat> 81EA
+2f84 <compat> 81F3
+2f85 <compat> 81FC
+2f86 <compat> 820C
+2f87 <compat> 821B
+2f88 <compat> 821F
+2f89 <compat> 826E
+2f8a <compat> 8272
+2f8b <compat> 8278
+2f8c <compat> 864D
+2f8d <compat> 866B
+2f8e <compat> 8840
+2f8f <compat> 884C
+2f90 <compat> 8863
+2f91 <compat> 897E
+2f92 <compat> 898B
+2f93 <compat> 89D2
+2f94 <compat> 8A00
+2f95 <compat> 8C37
+2f96 <compat> 8C46
+2f97 <compat> 8C55
+2f98 <compat> 8C78
+2f99 <compat> 8C9D
+2f9a <compat> 8D64
+2f9b <compat> 8D70
+2f9c <compat> 8DB3
+2f9d <compat> 8EAB
+2f9e <compat> 8ECA
+2f9f <compat> 8F9B
+2fa0 <compat> 8FB0
+2fa1 <compat> 8FB5
+2fa2 <compat> 9091
+2fa3 <compat> 9149
+2fa4 <compat> 91C6
+2fa5 <compat> 91CC
+2fa6 <compat> 91D1
+2fa7 <compat> 9577
+2fa8 <compat> 9580
+2fa9 <compat> 961C
+2faa <compat> 96B6
+2fab <compat> 96B9
+2fac <compat> 96E8
+2fad <compat> 9751
+2fae <compat> 975E
+2faf <compat> 9762
+2fb0 <compat> 9769
+2fb1 <compat> 97CB
+2fb2 <compat> 97ED
+2fb3 <compat> 97F3
+2fb4 <compat> 9801
+2fb5 <compat> 98A8
+2fb6 <compat> 98DB
+2fb7 <compat> 98DF
+2fb8 <compat> 9996
+2fb9 <compat> 9999
+2fba <compat> 99AC
+2fbb <compat> 9AA8
+2fbc <compat> 9AD8
+2fbd <compat> 9ADF
+2fbe <compat> 9B25
+2fbf <compat> 9B2F
+2fc0 <compat> 9B32
+2fc1 <compat> 9B3C
+2fc2 <compat> 9B5A
+2fc3 <compat> 9CE5
+2fc4 <compat> 9E75
+2fc5 <compat> 9E7F
+2fc6 <compat> 9EA5
+2fc7 <compat> 9EBB
+2fc8 <compat> 9EC3
+2fc9 <compat> 9ECD
+2fca <compat> 9ED1
+2fcb <compat> 9EF9
+2fcc <compat> 9EFD
+2fcd <compat> 9F0E
+2fce <compat> 9F13
+2fcf <compat> 9F20
+2fd0 <compat> 9F3B
+2fd1 <compat> 9F4A
+2fd2 <compat> 9F52
+2fd3 <compat> 9F8D
+2fd4 <compat> 9F9C
+2fd5 <compat> 9FA0
3000 <wide> 0020
3036 <compat> 3012
+3038 <compat> 5341
+3039 <compat> 5344
+303a <compat> 5345
304c 304B 3099
304e 304D 3099
3050 304F 3099
@@ -2029,6 +2120,295 @@ return <<'END';
33fc <compat> 0032 0039 65E5
33fd <compat> 0033 0030 65E5
33fe <compat> 0033 0031 65E5
+f900 8C48
+f901 66F4
+f902 8ECA
+f903 8CC8
+f904 6ED1
+f905 4E32
+f906 53E5
+f907 f908 9F9C
+f909 5951
+f90a 91D1
+f90b 5587
+f90c 5948
+f90d 61F6
+f90e 7669
+f90f 7F85
+f910 863F
+f911 87BA
+f912 88F8
+f913 908F
+f914 6A02
+f915 6D1B
+f916 70D9
+f917 73DE
+f918 843D
+f919 916A
+f91a 99F1
+f91b 4E82
+f91c 5375
+f91d 6B04
+f91e 721B
+f91f 862D
+f920 9E1E
+f921 5D50
+f922 6FEB
+f923 85CD
+f924 8964
+f925 62C9
+f926 81D8
+f927 881F
+f928 5ECA
+f929 6717
+f92a 6D6A
+f92b 72FC
+f92c 90CE
+f92d 4F86
+f92e 51B7
+f92f 52DE
+f930 64C4
+f931 6AD3
+f932 7210
+f933 76E7
+f934 8001
+f935 8606
+f936 865C
+f937 8DEF
+f938 9732
+f939 9B6F
+f93a 9DFA
+f93b 788C
+f93c 797F
+f93d 7DA0
+f93e 83C9
+f93f 9304
+f940 9E7F
+f941 8AD6
+f942 58DF
+f943 5F04
+f944 7C60
+f945 807E
+f946 7262
+f947 78CA
+f948 8CC2
+f949 96F7
+f94a 58D8
+f94b 5C62
+f94c 6A13
+f94d 6DDA
+f94e 6F0F
+f94f 7D2F
+f950 7E37
+f951 96FB
+f952 52D2
+f953 808B
+f954 51DC
+f955 51CC
+f956 7A1C
+f957 7DBE
+f958 83F1
+f959 9675
+f95a 8B80
+f95b 62CF
+f95c 6A02
+f95d 8AFE
+f95e 4E39
+f95f 5BE7
+f960 6012
+f961 7387
+f962 7570
+f963 5317
+f964 78FB
+f965 4FBF
+f966 5FA9
+f967 4E0D
+f968 6CCC
+f969 6578
+f96a 7D22
+f96b 53C3
+f96c 585E
+f96d 7701
+f96e 8449
+f96f 8AAA
+f970 6BBA
+f971 8FB0
+f972 6C88
+f973 62FE
+f974 82E5
+f975 63A0
+f976 7565
+f977 4EAE
+f978 5169
+f979 51C9
+f97a 6881
+f97b 7CE7
+f97c 826F
+f97d 8AD2
+f97e 91CF
+f97f 52F5
+f980 5442
+f981 5973
+f982 5EEC
+f983 65C5
+f984 6FFE
+f985 792A
+f986 95AD
+f987 9A6A
+f988 9E97
+f989 9ECE
+f98a 529B
+f98b 66C6
+f98c 6B77
+f98d 8F62
+f98e 5E74
+f98f 6190
+f990 6200
+f991 649A
+f992 6F23
+f993 7149
+f994 7489
+f995 79CA
+f996 7DF4
+f997 806F
+f998 8F26
+f999 84EE
+f99a 9023
+f99b 934A
+f99c 5217
+f99d 52A3
+f99e 54BD
+f99f 70C8
+f9a0 88C2
+f9a1 8AAA
+f9a2 5EC9
+f9a3 5FF5
+f9a4 637B
+f9a5 6BAE
+f9a6 7C3E
+f9a7 7375
+f9a8 4EE4
+f9a9 56F9
+f9aa 5BE7
+f9ab 5DBA
+f9ac 601C
+f9ad 73B2
+f9ae 7469
+f9af 7F9A
+f9b0 8046
+f9b1 9234
+f9b2 96F6
+f9b3 9748
+f9b4 9818
+f9b5 4F8B
+f9b6 79AE
+f9b7 91B4
+f9b8 96B8
+f9b9 60E1
+f9ba 4E86
+f9bb 50DA
+f9bc 5BEE
+f9bd 5C3F
+f9be 6599
+f9bf 6A02
+f9c0 71CE
+f9c1 7642
+f9c2 84FC
+f9c3 907C
+f9c4 9F8D
+f9c5 6688
+f9c6 962E
+f9c7 5289
+f9c8 677B
+f9c9 67F3
+f9ca 6D41
+f9cb 6E9C
+f9cc 7409
+f9cd 7559
+f9ce 786B
+f9cf 7D10
+f9d0 985E
+f9d1 516D
+f9d2 622E
+f9d3 9678
+f9d4 502B
+f9d5 5D19
+f9d6 6DEA
+f9d7 8F2A
+f9d8 5F8B
+f9d9 6144
+f9da 6817
+f9db 7387
+f9dc 9686
+f9dd 5229
+f9de 540F
+f9df 5C65
+f9e0 6613
+f9e1 674E
+f9e2 68A8
+f9e3 6CE5
+f9e4 7406
+f9e5 75E2
+f9e6 7F79
+f9e7 88CF
+f9e8 88E1
+f9e9 91CC
+f9ea 96E2
+f9eb 533F
+f9ec 6EBA
+f9ed 541D
+f9ee 71D0
+f9ef 7498
+f9f0 85FA
+f9f1 96A3
+f9f2 9C57
+f9f3 9E9F
+f9f4 6797
+f9f5 6DCB
+f9f6 81E8
+f9f7 7ACB
+f9f8 7B20
+f9f9 7C92
+f9fa 72C0
+f9fb 7099
+f9fc 8B58
+f9fd 4EC0
+f9fe 8336
+f9ff 523A
+fa00 5207
+fa01 5EA6
+fa02 62D3
+fa03 7CD6
+fa04 5B85
+fa05 6D1E
+fa06 66B4
+fa07 8F3B
+fa08 884C
+fa09 964D
+fa0a 898B
+fa0b 5ED3
+fa0c 5140
+fa0d 55C0
+fa10 585A
+fa12 6674
+fa15 51DE
+fa16 732A
+fa17 76CA
+fa18 793C
+fa19 795E
+fa1a 7965
+fa1b 798F
+fa1c 9756
+fa1d 7CBE
+fa1e 7FBD
+fa20 8612
+fa22 8AF8
+fa25 9038
+fa26 90FD
+fa2a 98EF
+fa2b 98FC
+fa2c 9928
+fa2d 9DB4
fb00 <compat> 0066 0066
fb01 <compat> 0066 0069
fb02 <compat> 0066 006C
@@ -2041,6 +2421,7 @@ fb14 <compat> 0574 0565
fb15 <compat> 0574 056B
fb16 <compat> 057E 0576
fb17 <compat> 0574 056D
+fb1d 05D9 05B4
fb1f 05F2 05B7
fb20 <font> 05E2
fb21 <font> 05D0
@@ -2054,8 +2435,8 @@ fb28 <font> 05EA
fb29 <font> 002B
fb2a 05E9 05C1
fb2b 05E9 05C2
-fb2c 05E9 05BC 05C1
-fb2d 05E9 05BC 05C2
+fb2c FB49 05C1
+fb2d FB49 05C2
fb2e 05D0 05B7
fb2f 05D0 05B8
fb30 05D0 05BC
@@ -2322,11 +2703,11 @@ 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
+fc5e <isolated> 0020 064C 0651
+fc5f <isolated> 0020 064D 0651
+fc60 <isolated> 0020 064E 0651
+fc61 <isolated> 0020 064F 0651
+fc62 <isolated> 0020 0650 0651
fc63 <isolated> 0020 0651 0670
fc64 <final> 0626 0631
fc65 <final> 0626 0632
@@ -2470,9 +2851,9 @@ 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
+fcf2 <medial> 0640 064E 0651
+fcf3 <medial> 0640 064F 0651
+fcf4 <medial> 0640 0650 0651
fcf5 <isolated> 0637 0649
fcf6 <isolated> 0637 064A
fcf7 <isolated> 0639 0649
@@ -3018,8 +3399,8 @@ ff9a <narrow> 30EC
ff9b <narrow> 30ED
ff9c <narrow> 30EF
ff9d <narrow> 30F3
-ff9e <narrow> 309B
-ff9f <narrow> 309C
+ff9e <narrow> 3099
+ff9f <narrow> 309A
ffa0 <narrow> 3164
ffa1 <narrow> 3131
ffa2 <narrow> 3132
diff --git a/lib/unicode/Eq/Latin1 b/lib/unicode/Eq/Latin1
new file mode 100644
index 0000000000..b184e3c472
--- /dev/null
+++ b/lib/unicode/Eq/Latin1
@@ -0,0 +1,16 @@
+0041 00C0 00C1 00C2 00C3 00C4 00C5
+0043 00C7
+0045 00C8 00C9 00CA 00CB
+0049 00CC 00CD 00CE 00CF
+004E 00D1
+004F 00D2 00D3 00D4 00D5 00D6 00D8
+0055 00D9 00DA 00DB 00DC
+0059 00DD
+0061 00E0 00E1 00E2 00E3 00E4 00E5
+0063 00E7
+0065 00E8 00E9 00EA 00EB
+0069 00EC 00ED 00EE 00EF
+006E 00F1
+006F 00F2 00F3 00F4 00F5 00F6 00F8
+0075 00F9 00FA 00FB 00FC
+0079 00FD 00FF
diff --git a/lib/unicode/Eq/Unicode b/lib/unicode/Eq/Unicode
new file mode 100644
index 0000000000..f3a9827912
--- /dev/null
+++ b/lib/unicode/Eq/Unicode
@@ -0,0 +1,181 @@
+0041 00C0 00C1 00C2 00C3 00C4 00C5 0100 0102 0104 01CD 01DE 01E0 01FA 0200 0202 0226 1E00 1EA0 1EA2 1EA4 1EA6 1EA8 1EAA 1EAC 1EAE 1EB0 1EB2 1EB4 1EB6
+0042 0181 0182 1E02 1E04 1E06
+0043 00C7 0106 0108 010A 010C 0187 1E08
+0044 010E 0110 018A 018B 01C5 01F2 1E0A 1E0C 1E0E 1E10 1E12
+0045 00C8 00C9 00CA 00CB 0112 0114 0116 0118 011A 0204 0206 0228 1E14 1E16 1E18 1E1A 1E1C 1EB8 1EBA 1EBC 1EBE 1EC0 1EC2 1EC4 1EC6
+0046 0191 1E1E
+0047 011C 011E 0120 0122 0193 01E4 01E6 01F4 1E20
+0048 0124 0126 021E 1E22 1E24 1E26 1E28 1E2A
+0049 00CC 00CD 00CE 00CF 0128 012A 012C 012E 0130 0197 01CF 0208 020A 1E2C 1E2E 1EC8 1ECA
+004A 0134
+004B 0136 0198 01E8 1E30 1E32 1E34
+004C 0139 013B 013D 013F 0141 01C8 1E36 1E38 1E3A 1E3C
+004D 1E3E 1E40 1E42
+004E 00D1 0143 0145 0147 019D 01CB 01F8 1E44 1E46 1E48 1E4A
+004F 00D2 00D3 00D4 00D5 00D6 00D8 014C 014E 0150 019F 01A0 01D1 01EA 01EC 01FE 020C 020E 022A 022C 022E 0230 1E4C 1E4E 1E50 1E52 1ECC 1ECE 1ED0 1ED2 1ED4 1ED6 1ED8 1EDA 1EDC 1EDE 1EE0 1EE2
+0050 01A4 1E54 1E56
+0052 0154 0156 0158 0210 0212 1E58 1E5A 1E5C 1E5E
+0053 015A 015C 015E 0160 0218 1E60 1E62 1E64 1E66 1E68
+0054 0162 0164 0166 01AC 01AE 021A 1E6A 1E6C 1E6E 1E70
+0055 00D9 00DA 00DB 00DC 0168 016A 016C 016E 0170 0172 01AF 01D3 01D5 01D7 01D9 01DB 0214 0216 1E72 1E74 1E76 1E78 1E7A 1EE4 1EE6 1EE8 1EEA 1EEC 1EEE 1EF0
+0056 01B2 1E7C 1E7E
+0057 0174 1E80 1E82 1E84 1E86 1E88
+0058 1E8A 1E8C
+0059 00DD 0176 0178 01B3 0232 1E8E 1EF2 1EF4 1EF6 1EF8
+005A 0179 017B 017D 01B5 0224 1E90 1E92 1E94
+0061 00E0 00E1 00E2 00E3 00E4 00E5 0101 0103 0105 01CE 01DF 01E1 01FB 0201 0203 0227 1E01 1E9A 1EA1 1EA3 1EA5 1EA7 1EA9 1EAB 1EAD 1EAF 1EB1 1EB3 1EB5 1EB7
+0062 0180 0183 0253 1E03 1E05 1E07
+0063 00E7 0107 0109 010B 010D 0188 0255 1E09
+0064 010F 0111 018C 0256 0257 1E0B 1E0D 1E0F 1E11 1E13
+0065 00E8 00E9 00EA 00EB 0113 0115 0117 0119 011B 0205 0207 0229 1E15 1E17 1E19 1E1B 1E1D 1EB9 1EBB 1EBD 1EBF 1EC1 1EC3 1EC5 1EC7
+0066 0192 1E1F
+0067 011D 011F 0121 0123 01E5 01E7 01F5 0260 1E21
+0068 0125 0127 021F 0266 1E23 1E25 1E27 1E29 1E2B 1E96
+0069 00EC 00ED 00EE 00EF 0129 012B 012D 012F 01D0 0209 020B 0268 1E2D 1E2F 1EC9 1ECB
+006A 0135 01F0 029D
+006B 0137 0199 01E9 1E31 1E33 1E35
+006C 013A 013C 013E 0140 0142 019A 026B 026C 026D 1E37 1E39 1E3B 1E3D
+006D 0271 1E3F 1E41 1E43
+006E 00F1 0144 0146 0148 019E 01F9 0272 0273 1E45 1E47 1E49 1E4B
+006F 00F2 00F3 00F4 00F5 00F6 00F8 014D 014F 0151 01A1 01D2 01EB 01ED 01FF 020D 020F 022B 022D 022F 0231 1E4D 1E4F 1E51 1E53 1ECD 1ECF 1ED1 1ED3 1ED5 1ED7 1ED9 1EDB 1EDD 1EDF 1EE1 1EE3
+0070 01A5 1E55 1E57
+0071 02A0
+0072 0155 0157 0159 0211 0213 027C 027D 027E 1E59 1E5B 1E5D 1E5F
+0073 015B 015D 015F 0161 0219 0282 1E61 1E63 1E65 1E67 1E69
+0074 0163 0165 0167 01AB 01AD 021B 0288 1E6B 1E6D 1E6F 1E71 1E97
+0075 00F9 00FA 00FB 00FC 0169 016B 016D 016F 0171 0173 01B0 01D4 01D6 01D8 01DA 01DC 0215 0217 1E73 1E75 1E77 1E79 1E7B 1EE5 1EE7 1EE9 1EEB 1EED 1EEF 1EF1
+0076 028B 1E7D 1E7F
+0077 0175 1E81 1E83 1E85 1E87 1E89 1E98
+0078 1E8B 1E8D
+0079 00FD 00FF 0177 01B4 0233 1E8F 1E99 1EF3 1EF5 1EF7 1EF9
+007A 017A 017C 017E 01B6 0225 0290 0291 1E91 1E93 1E95
+00C6 01E2 01FC
+00E6 01E3 01FD
+017F 1E9B
+01B7 01EE
+01F1 01C4
+01F3 01C6
+0259 025A
+025C 025D
+0262 029B
+026F 0270
+0279 027A 027B
+0283 0286
+0292 01BA 01EF 0293
+0294 02A1
+0296 01BE
+02A3 02A5
+02B0 02B1
+02B4 02B5
+0391 0386 1F08 1F09 1F0A 1F0B 1F0C 1F0D 1F0E 1F0F 1F88 1F89 1F8A 1F8B 1F8C 1F8D 1F8E 1F8F 1FB8 1FB9 1FBA 1FBB 1FBC
+0395 0388 1F18 1F19 1F1A 1F1B 1F1C 1F1D 1FC8 1FC9
+0397 0389 1F28 1F29 1F2A 1F2B 1F2C 1F2D 1F2E 1F2F 1F98 1F99 1F9A 1F9B 1F9C 1F9D 1F9E 1F9F 1FCA 1FCB 1FCC
+0399 038A 03AA 1F38 1F39 1F3A 1F3B 1F3C 1F3D 1F3E 1F3F 1FD8 1FD9 1FDA 1FDB
+039F 038C 1F48 1F49 1F4A 1F4B 1F4C 1F4D 1FF8 1FF9
+03A1 1FEC
+03A5 038E 03AB 1F59 1F5B 1F5D 1F5F 1FE8 1FE9 1FEA 1FEB
+03A9 038F 1F68 1F69 1F6A 1F6B 1F6C 1F6D 1F6E 1F6F 1FA8 1FA9 1FAA 1FAB 1FAC 1FAD 1FAE 1FAF 1FFA 1FFB 1FFC
+03B1 03AC 1F00 1F01 1F02 1F03 1F04 1F05 1F06 1F07 1F70 1F71 1F80 1F81 1F82 1F83 1F84 1F85 1F86 1F87 1FB0 1FB1 1FB2 1FB3 1FB4 1FB6 1FB7
+03B5 03AD 1F10 1F11 1F12 1F13 1F14 1F15 1F72 1F73
+03B7 03AE 1F20 1F21 1F22 1F23 1F24 1F25 1F26 1F27 1F74 1F75 1F90 1F91 1F92 1F93 1F94 1F95 1F96 1F97 1FC2 1FC3 1FC4 1FC6 1FC7
+03B9 0390 03AF 03CA 1F30 1F31 1F32 1F33 1F34 1F35 1F36 1F37 1F76 1F77 1FD0 1FD1 1FD2 1FD3 1FD6 1FD7
+03BF 03CC 1F40 1F41 1F42 1F43 1F44 1F45 1F78 1F79
+03C1 1FE4 1FE5
+03C5 03B0 03CB 03CD 1F50 1F51 1F52 1F53 1F54 1F55 1F56 1F57 1F7A 1F7B 1FE0 1FE1 1FE2 1FE3 1FE6 1FE7
+03C9 03CE 1F60 1F61 1F62 1F63 1F64 1F65 1F66 1F67 1F7C 1F7D 1FA0 1FA1 1FA2 1FA3 1FA4 1FA5 1FA6 1FA7 1FF2 1FF3 1FF4 1FF6 1FF7
+0410 04D0 04D2
+0413 0490 0492 0494
+0415 0400 04D6
+0416 0496 04C1 04DC
+0417 0498 04DE
+0418 040D 04E2 04E4
+041A 049A 049C 049E 04C3
+041D 04A2 04C7
+041E 04E6
+041F 04A6
+0420 048E
+0421 04AA
+0422 04AC
+0423 04EE 04F0 04F2
+0425 04B2
+0427 04B6 04B8 04F4
+042B 04F8
+042D 04EC
+0430 04D1 04D3
+0433 0491 0493 0495
+0435 0450 04D7
+0436 0497 04C2 04DD
+0437 0499 04DF
+0438 045D 04E3 04E5
+043A 049B 049D 049F 04C4
+043D 04A3 04C8
+043E 04E7
+043F 04A7
+0440 048F
+0441 04AB
+0442 04AD
+0443 04EF 04F1 04F3
+0445 04B3
+0447 04B7 04B9 04F5
+044B 04F9
+044D 04ED
+0460 047C
+0461 047D
+0474 0476
+0475 0477
+04AE 04B0
+04AF 04B1
+04BC 04BE
+04BD 04BF
+04D8 04DA
+04D9 04DB
+04E8 04EA
+04E9 04EB
+05D0 FB2E FB2F FB30
+05D1 FB31 FB4C
+05D2 FB32
+05D3 FB33
+05D4 FB34
+05D5 FB35 FB4B
+05D6 FB36
+05D8 FB38
+05D9 FB1D FB39
+05DA FB3A
+05DB FB3B FB4D
+05DC FB3C
+05DE FB3E
+05E0 FB40
+05E1 FB41
+05E3 FB43
+05E4 FB44 FB4E
+05E6 FB46
+05E7 FB47
+05E8 FB48
+05E9 FB2A FB2B FB2C FB2D FB49
+05EA FB4A
+0627 0622 0623 0625 0672 0673 FE81 FE82 FE83 FE84 FE87 FE88
+062A 067C 067D
+062D 0681 0682 0685
+062F 0689 068A 068B 068F 0690
+0631 0692 0693 0694 0695 0696 0697 0699
+0633 069A 069B 069C
+0634 06FA
+0635 069D 069E
+0636 06FB
+0637 069F
+0639 06A0
+063A 06FC
+0641 06A2 06A3 06A5
+0642 06A7 06A8
+0643 06AB 06AC 06AE
+0644 06B5 06B6 06B7 06B8
+0646 06B9 06BC 06BD
+0647 06C0 FBA4 FBA5
+0648 0624 06C4 06CA 06CF FE85 FE86
+064A 0626 06CD 06CE 06D1 FE89 FE8A FE8B FE8C
+0686 06BF
+06AF 06B0 06B2 06B4
+06C1 06C2
+06C7 0677 FBDD
+06D2 06D3 FBB0 FBB1
+09B0 09F0 09F1
diff --git a/lib/unicode/EthiopicSyllables.txt b/lib/unicode/EthiopicSyllables.txt
deleted file mode 100644
index 6d807b6052..0000000000
--- a/lib/unicode/EthiopicSyllables.txt
+++ /dev/null
@@ -1,314 +0,0 @@
-1200 0
-1201 1
-1202 2
-1203 3
-1204 4
-1205 5
-1206 6
-1208 0
-1209 1
-120a 2
-120b 3
-120c 4
-120d 5
-120e 6
-120f 11
-1210 0
-1211 1
-1212 2
-1213 3
-1214 4
-1215 5
-1216 6
-1217 11
-1218 0
-1219 1
-121a 2
-121b 3
-121c 4
-121d 5
-121e 6
-121f 11
-1220 0
-1221 1
-1222 2
-1223 3
-1224 4
-1225 5
-1226 6
-1227 11
-1228 0
-1229 1
-122a 2
-122b 3
-122c 4
-122d 5
-122e 6
-122f 11
-1230 0
-1231 1
-1232 2
-1233 3
-1234 4
-1235 5
-1236 6
-1237 11
-1238 0
-1239 1
-123a 2
-123b 3
-123c 4
-123d 5
-123e 6
-123f 11
-1240 0
-1241 1
-1242 2
-1243 3
-1244 4
-1245 5
-1246 6
-1248 8
-124a 10
-124b 11
-124c 12
-124d 13
-1250 0
-1251 1
-1252 2
-1253 3
-1254 4
-1255 5
-1256 6
-1258 8
-125a 10
-125b 11
-125c 12
-125d 13
-1260 0
-1261 1
-1262 2
-1263 3
-1264 4
-1265 5
-1266 6
-1267 11
-1268 0
-1269 1
-126a 2
-126b 3
-126c 4
-126d 5
-126e 6
-126f 11
-1270 0
-1271 1
-1272 2
-1273 3
-1274 4
-1275 5
-1276 6
-1277 11
-1278 0
-1279 1
-127a 2
-127b 3
-127c 4
-127d 5
-127e 6
-127f 11
-1280 0
-1281 1
-1282 2
-1283 3
-1284 4
-1285 5
-1286 6
-1288 8
-128a 10
-128b 11
-128c 12
-128d 13
-1290 0
-1291 1
-1292 2
-1293 3
-1294 4
-1295 5
-1296 6
-1297 11
-1298 0
-1299 1
-129a 2
-129b 3
-129c 4
-129d 5
-129e 6
-129f 11
-12a0 0
-12a1 1
-12a2 2
-12a3 3
-12a4 4
-12a5 5
-12a6 6
-12a7 11
-12a8 0
-12a9 1
-12aa 2
-12ab 3
-12ac 4
-12ad 5
-12ae 6
-12b0 8
-12b2 10
-12b3 11
-12b4 12
-12b5 13
-12b8 0
-12b9 1
-12ba 2
-12bb 3
-12bc 4
-12bd 5
-12be 6
-12c0 8
-12c2 10
-12c3 11
-12c4 12
-12c5 13
-12c8 0
-12c9 1
-12ca 2
-12cb 3
-12cc 4
-12cd 5
-12ce 6
-12d0 0
-12d1 1
-12d2 2
-12d3 3
-12d4 4
-12d5 5
-12d6 6
-12d8 0
-12d9 1
-12da 2
-12db 3
-12dc 4
-12dd 5
-12de 6
-12df 11
-12e0 0
-12e1 1
-12e2 2
-12e3 3
-12e4 4
-12e5 5
-12e6 6
-12e7 11
-12e8 0
-12e9 1
-12ea 2
-12eb 3
-12ec 4
-12ed 5
-12ee 6
-12f0 0
-12f1 1
-12f2 2
-12f3 3
-12f4 4
-12f5 5
-12f6 6
-12f7 11
-12f8 0
-12f9 1
-12fa 2
-12fb 3
-12fc 4
-12fd 5
-12fe 6
-12ff 11
-1300 0
-1301 1
-1302 2
-1303 3
-1304 4
-1305 5
-1306 6
-1307 11
-1308 0
-1309 1
-130a 2
-130b 3
-130c 4
-130d 5
-130e 6
-1310 8
-1312 10
-1313 11
-1314 12
-1315 13
-1318 0
-1319 1
-131a 2
-131b 3
-131c 4
-131d 5
-131e 6
-1320 0
-1321 1
-1322 2
-1323 3
-1324 4
-1325 5
-1326 6
-1327 11
-1328 0
-1329 1
-132a 2
-132b 3
-132c 4
-132d 5
-132e 6
-132f 11
-1330 0
-1331 1
-1332 2
-1333 3
-1334 4
-1335 5
-1336 6
-1337 11
-1338 0
-1339 1
-133a 2
-133b 3
-133c 4
-133d 5
-133e 6
-133f 11
-1340 0
-1341 1
-1342 2
-1343 3
-1344 4
-1345 5
-1346 6
-1348 0
-1349 1
-134a 2
-134b 3
-134c 4
-134d 5
-134e 6
-134f 11
-1350 0
-1351 1
-1352 2
-1353 3
-1354 4
-1355 5
-1356 6
-1357 11
diff --git a/lib/unicode/Is/Alnum.pl b/lib/unicode/Is/Alnum.pl
index ac48257e9a..20f66e5e46 100644
--- a/lib/unicode/Is/Alnum.pl
+++ b/lib/unicode/Is/Alnum.pl
@@ -11,29 +11,21 @@ return <<'END';
01c6 01c7
01c9 01ca
01cc 01f1
-01f3 01f5
-01fa 0217
-0250 02a8
+01f3 021f
+0222 0233
+0250 02ad
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
+03d0 03d7
+03da 03f3
+0400 0481
+048c 04c4
04c7 04c8
04cb 04cc
-04d0 04eb
-04ee 04f5
+04d0 04f5
04f8 04f9
0531 0556
0561 0587
@@ -42,14 +34,15 @@ return <<'END';
0621 063a
0641 064a
0660 0669
-0671 06b7
-06ba 06be
-06c0 06ce
-06d0 06d3
+0671 06d3
06d5
-06f0 06f9
+06f0 06fc
+0710
+0712 072c
+0780 07a5
0905 0939
093d
+0950
0958 0961
0966 096f
0985 098c
@@ -80,6 +73,7 @@ return <<'END';
0ab2 0ab3
0ab5 0ab9
0abd
+0ad0
0ae0
0ae6 0aef
0b05 0b0c
@@ -124,8 +118,12 @@ return <<'END';
0d2a 0d39
0d60 0d61
0d66 0d6f
-0e01 0e2e
-0e30
+0d85 0d96
+0d9a 0db1
+0db3 0dbb
+0dbd
+0dc0 0dc6
+0e01 0e30
0e32 0e33
0e40 0e45
0e50 0e59
@@ -140,16 +138,22 @@ return <<'END';
0ea5
0ea7
0eaa 0eab
-0ead 0eae
-0eb0
+0ead 0eb0
0eb2 0eb3
0ebd
0ec0 0ec4
0ed0 0ed9
0edc 0edd
+0f00
0f20 0f29
0f40 0f47
-0f49 0f69
+0f49 0f6a
+0f88 0f8b
+1000 1021
+1023 1027
+1029 102a
+1040 1049
+1050 1055
10a0 10c5
10d0 10f6
1100 1159
@@ -181,6 +185,17 @@ return <<'END';
1320 1346
1348 135a
1369 1371
+13a0 13f4
+1401 166c
+166f 1676
+1681 169a
+16a0 16ea
+1780 17b3
+17e0 17e9
+1810 1819
+1820 1842
+1844 1877
+1880 18a8
1e00 1e9b
1ea0 1ef9
1f00 1f15
@@ -192,36 +207,50 @@ return <<'END';
1f5b
1f5d
1f5f 1f7d
-1f80 1fb4
-1fb6 1fbc
+1f80 1f87
+1f90 1f97
+1fa0 1fa7
+1fb0 1fb4
+1fb6 1fbb
1fbe
1fc2 1fc4
-1fc6 1fcc
+1fc6 1fcb
1fd0 1fd3
1fd6 1fdb
1fe0 1fec
1ff2 1ff4
-1ff6 1ffc
+1ff6 1ffb
207f
2102
2107
210a 2113
2115
-2118 211d
+2119 211d
2124
2126
2128
-212a 2131
-2133 2138
+212a 212d
+212f 2131
+2133 2139
+3006
3041 3094
30a1 30fa
3105 312c
3131 318e
+31a0 31b7
+3400 4db5
4e00 9fa5
+a000 a48c
+a490 a4a1
+a4a4 a4b3
+a4b5 a4c0
+a4c2 a4c4
+a4c6
ac00 d7a3
f900 fa2d
fb00 fb06
fb13 fb17
+fb1d
fb1f fb28
fb2a fb36
fb38 fb3c
diff --git a/lib/unicode/Is/Alpha.pl b/lib/unicode/Is/Alpha.pl
index 9de0521776..3177149845 100644
--- a/lib/unicode/Is/Alpha.pl
+++ b/lib/unicode/Is/Alpha.pl
@@ -10,29 +10,21 @@ return <<'END';
01c6 01c7
01c9 01ca
01cc 01f1
-01f3 01f5
-01fa 0217
-0250 02a8
+01f3 021f
+0222 0233
+0250 02ad
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
+03d0 03d7
+03da 03f3
+0400 0481
+048c 04c4
04c7 04c8
04cb 04cc
-04d0 04eb
-04ee 04f5
+04d0 04f5
04f8 04f9
0531 0556
0561 0587
@@ -40,13 +32,15 @@ return <<'END';
05f0 05f2
0621 063a
0641 064a
-0671 06b7
-06ba 06be
-06c0 06ce
-06d0 06d3
+0671 06d3
06d5
+06fa 06fc
+0710
+0712 072c
+0780 07a5
0905 0939
093d
+0950
0958 0961
0985 098c
098f 0990
@@ -75,6 +69,7 @@ return <<'END';
0ab2 0ab3
0ab5 0ab9
0abd
+0ad0
0ae0
0b05 0b0c
0b0f 0b10
@@ -113,8 +108,12 @@ return <<'END';
0d12 0d28
0d2a 0d39
0d60 0d61
-0e01 0e2e
-0e30
+0d85 0d96
+0d9a 0db1
+0db3 0dbb
+0dbd
+0dc0 0dc6
+0e01 0e30
0e32 0e33
0e40 0e45
0e81 0e82
@@ -128,14 +127,19 @@ return <<'END';
0ea5
0ea7
0eaa 0eab
-0ead 0eae
-0eb0
+0ead 0eb0
0eb2 0eb3
0ebd
0ec0 0ec4
0edc 0edd
+0f00
0f40 0f47
-0f49 0f69
+0f49 0f6a
+0f88 0f8b
+1000 1021
+1023 1027
+1029 102a
+1050 1055
10a0 10c5
10d0 10f6
1100 1159
@@ -166,6 +170,15 @@ return <<'END';
1318 131e
1320 1346
1348 135a
+13a0 13f4
+1401 166c
+166f 1676
+1681 169a
+16a0 16ea
+1780 17b3
+1820 1842
+1844 1877
+1880 18a8
1e00 1e9b
1ea0 1ef9
1f00 1f15
@@ -177,36 +190,50 @@ return <<'END';
1f5b
1f5d
1f5f 1f7d
-1f80 1fb4
-1fb6 1fbc
+1f80 1f87
+1f90 1f97
+1fa0 1fa7
+1fb0 1fb4
+1fb6 1fbb
1fbe
1fc2 1fc4
-1fc6 1fcc
+1fc6 1fcb
1fd0 1fd3
1fd6 1fdb
1fe0 1fec
1ff2 1ff4
-1ff6 1ffc
+1ff6 1ffb
207f
2102
2107
210a 2113
2115
-2118 211d
+2119 211d
2124
2126
2128
-212a 2131
-2133 2138
+212a 212d
+212f 2131
+2133 2139
+3006
3041 3094
30a1 30fa
3105 312c
3131 318e
+31a0 31b7
+3400 4db5
4e00 9fa5
+a000 a48c
+a490 a4a1
+a4a4 a4b3
+a4b5 a4c0
+a4c2 a4c4
+a4c6
ac00 d7a3
f900 fa2d
fb00 fb06
fb13 fb17
+fb1d
fb1f fb28
fb2a fb36
fb38 fb3c
diff --git a/lib/unicode/Is/BidiB.pl b/lib/unicode/Is/BidiB.pl
index c40e3c430d..ae1ba37b10 100644
--- a/lib/unicode/Is/BidiB.pl
+++ b/lib/unicode/Is/BidiB.pl
@@ -1,3 +1,7 @@
return <<'END';
-2028 2029
+000a
+000d
+001c 001e
+0085
+2029
END
diff --git a/lib/unicode/Is/BidiCS.pl b/lib/unicode/Is/BidiCS.pl
index e7cab2de4b..0f16811aaa 100644
--- a/lib/unicode/Is/BidiCS.pl
+++ b/lib/unicode/Is/BidiCS.pl
@@ -2,5 +2,13 @@ return <<'END';
002c
002e
003a
-2007
+00a0
+060c
+202f
+fe50
+fe52
+fe55
+ff0c
+ff0e
+ff1a
END
diff --git a/lib/unicode/Is/BidiEN.pl b/lib/unicode/Is/BidiEN.pl
index 3e13986991..eb8c5e7234 100644
--- a/lib/unicode/Is/BidiEN.pl
+++ b/lib/unicode/Is/BidiEN.pl
@@ -6,5 +6,7 @@ return <<'END';
2070
2074 2079
2080 2089
+2460 249b
+24ea
ff10 ff19
END
diff --git a/lib/unicode/Is/BidiES.pl b/lib/unicode/Is/BidiES.pl
index fb1fb2f6cc..50e6d27e1b 100644
--- a/lib/unicode/Is/BidiES.pl
+++ b/lib/unicode/Is/BidiES.pl
@@ -1,3 +1,4 @@
return <<'END';
002f
+ff0f
END
diff --git a/lib/unicode/Is/BidiET.pl b/lib/unicode/Is/BidiET.pl
index d3ea1c7ce3..201892260e 100644
--- a/lib/unicode/Is/BidiET.pl
+++ b/lib/unicode/Is/BidiET.pl
@@ -5,9 +5,22 @@ return <<'END';
00a2 00a5
00b0 00b1
066a
+09f2 09f3
+0e3f
+17db
2030 2034
207a 207b
208a 208b
-20a0 20ac
+20a0 20af
+212e
2212 2213
+fb29
+fe5f
+fe62 fe63
+fe69 fe6a
+ff03 ff05
+ff0b
+ff0d
+ffe0 ffe1
+ffe5 ffe6
END
diff --git a/lib/unicode/Is/BidiL.pl b/lib/unicode/Is/BidiL.pl
index c17ef10a5b..913f0e52a8 100644
--- a/lib/unicode/Is/BidiL.pl
+++ b/lib/unicode/Is/BidiL.pl
@@ -1,63 +1,59 @@
return <<'END';
0041 005a
0061 007a
+00aa
+00b5
+00ba
00c0 00d6
00d8 00f6
-00f8 01f5
-01fa 0217
-0250 02a8
-02b0 02de
-02e0 02e9
-0300 0345
-0360 0361
-0374 0375
+00f8 021f
+0222 0233
+0250 02ad
+02b0 02b8
+02bb 02c1
+02d0 02d1
+02e0 02e4
+02ee
037a
-037e
-0384 038a
+0386
+0388 038a
038c
038e 03a1
03a3 03ce
-03d0 03d6
-03da
-03dc
-03de
-03e0
-03e2 03f3
-0401 040c
-040e 044f
-0451 045c
-045e 0486
-0490 04c4
+03d0 03d7
+03da 03f3
+0400 0482
+048c 04c4
04c7 04c8
04cb 04cc
-04d0 04eb
-04ee 04f5
+04d0 04f5
04f8 04f9
0531 0556
0559 055f
0561 0587
0589
-0901 0903
+0903
0905 0939
-093c 094d
-0950 0954
-0958 0970
-0981 0983
+093d 0940
+0949 094c
+0950
+0958 0961
+0964 0970
+0982 0983
0985 098c
098f 0990
0993 09a8
09aa 09b0
09b2
09b6 09b9
-09bc
-09be 09c4
+09be 09c0
09c7 09c8
-09cb 09cd
+09cb 09cc
09d7
09dc 09dd
-09df 09e3
-09e6 09fa
-0a02
+09df 09e1
+09e6 09f1
+09f4 09fa
0a05 0a0a
0a0f 0a10
0a13 0a28
@@ -65,14 +61,12 @@ return <<'END';
0a32 0a33
0a35 0a36
0a38 0a39
-0a3c
-0a3e 0a42
-0a47 0a48
-0a4b 0a4d
+0a3e 0a40
0a59 0a5c
0a5e
-0a66 0a74
-0a81 0a83
+0a66 0a6f
+0a72 0a74
+0a83
0a85 0a8b
0a8d
0a8f 0a91
@@ -80,27 +74,28 @@ return <<'END';
0aaa 0ab0
0ab2 0ab3
0ab5 0ab9
-0abc 0ac5
-0ac7 0ac9
-0acb 0acd
+0abd 0ac0
+0ac9
+0acb 0acc
0ad0
0ae0
0ae6 0aef
-0b01 0b03
+0b02 0b03
0b05 0b0c
0b0f 0b10
0b13 0b28
0b2a 0b30
0b32 0b33
0b36 0b39
-0b3c 0b43
+0b3d 0b3e
+0b40
0b47 0b48
-0b4b 0b4d
-0b56 0b57
+0b4b 0b4c
+0b57
0b5c 0b5d
0b5f 0b61
0b66 0b70
-0b82 0b83
+0b83
0b85 0b8a
0b8e 0b90
0b92 0b95
@@ -111,9 +106,10 @@ return <<'END';
0ba8 0baa
0bae 0bb5
0bb7 0bb9
-0bbe 0bc2
+0bbe 0bbf
+0bc1 0bc2
0bc6 0bc8
-0bca 0bcd
+0bca 0bcc
0bd7
0be7 0bf2
0c01 0c03
@@ -122,10 +118,7 @@ return <<'END';
0c12 0c28
0c2a 0c33
0c35 0c39
-0c3e 0c44
-0c46 0c48
-0c4a 0c4d
-0c55 0c56
+0c41 0c44
0c60 0c61
0c66 0c6f
0c82 0c83
@@ -134,9 +127,10 @@ return <<'END';
0c92 0ca8
0caa 0cb3
0cb5 0cb9
-0cbe 0cc4
-0cc6 0cc8
-0cca 0ccd
+0cbe
+0cc0 0cc4
+0cc7 0cc8
+0cca 0ccb
0cd5 0cd6
0cde
0ce0 0ce1
@@ -146,14 +140,25 @@ return <<'END';
0d0e 0d10
0d12 0d28
0d2a 0d39
-0d3e 0d43
+0d3e 0d40
0d46 0d48
-0d4a 0d4d
+0d4a 0d4c
0d57
0d60 0d61
0d66 0d6f
-0e01 0e3a
-0e3f 0e5b
+0d82 0d83
+0d85 0d96
+0d9a 0db1
+0db3 0dbb
+0dbd
+0dc0 0dc6
+0dcf 0dd1
+0dd8 0ddf
+0df2 0df4
+0e01 0e30
+0e32 0e33
+0e40 0e46
+0e4f 0e5b
0e81 0e82
0e84
0e87 0e88
@@ -165,21 +170,32 @@ return <<'END';
0ea5
0ea7
0eaa 0eab
-0ead 0eb9
-0ebb 0ebd
+0ead 0eb0
+0eb2 0eb3
+0ebd
0ec0 0ec4
0ec6
-0ec8 0ecd
0ed0 0ed9
0edc 0edd
-0f00 0f47
-0f49 0f69
-0f71 0f8b
-0f90 0f95
-0f97
-0f99 0fad
-0fb1 0fb7
-0fb9
+0f00 0f17
+0f1a 0f34
+0f36
+0f38
+0f3e 0f47
+0f49 0f6a
+0f7f
+0f85
+0f88 0f8b
+0fbe 0fc5
+0fc7 0fcc
+0fcf
+1000 1021
+1023 1027
+1029 102a
+102c
+1031
+1038
+1040 1057
10a0 10c5
10d0 10f6
10fb
@@ -212,6 +228,19 @@ return <<'END';
1320 1346
1348 135a
1361 137c
+13a0 13f4
+1401 1676
+1681 169a
+16a0 16f0
+1780 17b6
+17be 17c5
+17c7 17c8
+17d4 17da
+17dc
+17e0 17e9
+1810 1819
+1820 1877
+1880 18a8
1e00 1e9b
1ea0 1ef9
1f00 1f15
@@ -224,23 +253,42 @@ return <<'END';
1f5d
1f5f 1f7d
1f80 1fb4
-1fb6 1fc4
-1fc6 1fd3
+1fb6 1fbc
+1fbe
+1fc2 1fc4
+1fc6 1fcc
+1fd0 1fd3
1fd6 1fdb
-1fdd 1fef
+1fe0 1fec
1ff2 1ff4
-1ff6 1ffe
+1ff6 1ffc
200e
-20d0 20e1
-2160 2182
+207f
+2102
+2107
+210a 2113
+2115
+2119 211d
+2124
+2126
+2128
+212a 212d
+212f 2131
+2133 2139
+2160 2183
2336 237a
-3021 302f
+249c 24e9
+3005 3007
+3021 3029
+3031 3035
+3038 303a
3041 3094
-3099 309e
-30a1 30fe
+309d 309e
+30a1 30fa
+30fc 30fe
3105 312c
3131 318e
-3190 319f
+3190 31b7
3200 321c
3220 3243
3260 327b
@@ -250,7 +298,14 @@ return <<'END';
3300 3376
337b 33dd
33e0 33fe
+3400 4db5
4e00 9fa5
+a000 a48c
+a490 a4a1
+a4a4 a4b3
+a4b5 a4c0
+a4c2 a4c4
+a4c6
ac00 d7a3
d800 db7f
db80 dbff
@@ -261,7 +316,7 @@ fb00 fb06
fb13 fb17
ff21 ff3a
ff41 ff5a
-ff65 ffbe
+ff66 ffbe
ffc2 ffc7
ffca ffcf
ffd2 ffd7
diff --git a/lib/unicode/Is/BidiON.pl b/lib/unicode/Is/BidiON.pl
index aa8ae8d499..061ecffe8d 100644
--- a/lib/unicode/Is/BidiON.pl
+++ b/lib/unicode/Is/BidiON.pl
@@ -1,38 +1,65 @@
return <<'END';
-0000 0008
-000a 001f
0021 0022
0026 002a
003b 0040
005b 0060
-007b 009f
+007b 007e
00a1
-00a6 00af
-00b4 00b8
-00ba 00bf
+00a6 00a9
+00ab 00af
+00b4
+00b6 00b8
+00bb 00bf
00d7
00f7
-200c 200d
+02b9 02ba
+02c2 02cf
+02d2 02df
+02e5 02ed
+0374 0375
+037e
+0384 0385
+0387
+058a
+06e9
+0f3a 0f3d
+169b 169c
+1800 180a
+1fbd
+1fbf 1fc1
+1fcd 1fcf
+1fdd 1fdf
+1fed 1fef
+1ffd 1ffe
2010 2027
-202a 202e
2035 2046
-206a 206f
-207c 207f
+2048 204d
+207c 207e
208c 208e
-2100 2138
+2100 2101
+2103 2106
+2108 2109
+2114
+2116 2118
+211e 2123
+2125
+2127
+2129
+2132
+213a
2153 215f
-2190 21ea
+2190 21f3
2200 2211
2214 22f1
-2300
-2302 2335
-2400 2424
+2300 2335
+237b
+237d 239a
+2400 2426
2440 244a
-2460 24ea
2500 2595
-25a0 25ef
+25a0 25f7
2600 2613
-261a 266f
+2619 2671
2701 2704
2706 2709
270c 2727
@@ -45,22 +72,35 @@ return <<'END';
2776 2794
2798 27af
27b1 27be
-3001 3020
-3030 3037
-303f
+2800 28ff
+2e80 2e99
+2e9b 2ef3
+2f00 2fd5
+2ff0 2ffb
+3001 3004
+3008 3020
+3030
+3036 3037
+303e 303f
+309b 309c
+30fb
fd3e fd3f
-fe20 fe23
fe30 fe44
-fe49 fe52
-fe54 fe66
-fe68 fe6b
-feff
-ff01 ff0f
-ff1a ff20
+fe49 fe4f
+fe51
+fe54
+fe56 fe5e
+fe60 fe61
+fe64 fe66
+fe68
+fe6b
+ff01 ff02
+ff06 ff0a
+ff1b ff20
ff3b ff40
ff5b ff5e
-ff61 ff64
-ffe0 ffe6
+ff61 ff65
+ffe2 ffe4
ffe8 ffee
fffc fffd
END
diff --git a/lib/unicode/Is/BidiR.pl b/lib/unicode/Is/BidiR.pl
index e726bcb222..5dbdd1b809 100644
--- a/lib/unicode/Is/BidiR.pl
+++ b/lib/unicode/Is/BidiR.pl
@@ -1,31 +1,16 @@
return <<'END';
-0591 05a1
-05a3 05b9
-05bb 05c4
+05be
+05c0
+05c3
05d0 05ea
05f0 05f4
-060c
-061b
-061f
-0621 063a
-0640 0652
-066d
-0670 06b7
-06ba 06be
-06c0 06ce
-06d0 06ed
200f
-fb1e fb36
+fb1d
+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
+fb46 fb4f
END
diff --git a/lib/unicode/Is/BidiS.pl b/lib/unicode/Is/BidiS.pl
index 17f19de9bd..3270482f0a 100644
--- a/lib/unicode/Is/BidiS.pl
+++ b/lib/unicode/Is/BidiS.pl
@@ -1,3 +1,5 @@
return <<'END';
0009
+000b
+001f
END
diff --git a/lib/unicode/Is/BidiWS.pl b/lib/unicode/Is/BidiWS.pl
index a459f2d4d9..9a6a880a68 100644
--- a/lib/unicode/Is/BidiWS.pl
+++ b/lib/unicode/Is/BidiWS.pl
@@ -1,7 +1,8 @@
return <<'END';
+000c
0020
-00a0
-2000 2006
-2008 200b
+1680
+2000 200a
+2028
3000
END
diff --git a/lib/unicode/Is/C.pl b/lib/unicode/Is/C.pl
index 274239f9d2..837115a127 100644
--- a/lib/unicode/Is/C.pl
+++ b/lib/unicode/Is/C.pl
@@ -1,6 +1,8 @@
return <<'END';
0000 001f
007f 009f
+070f
+180b 180e
200c 200f
202a 202e
206a 206f
@@ -9,4 +11,5 @@ db80 dbff
dc00 dfff
e000 f8ff
feff
+fff9 fffb
END
diff --git a/lib/unicode/Is/Cntrl.pl b/lib/unicode/Is/Cntrl.pl
index 274239f9d2..837115a127 100644
--- a/lib/unicode/Is/Cntrl.pl
+++ b/lib/unicode/Is/Cntrl.pl
@@ -1,6 +1,8 @@
return <<'END';
0000 001f
007f 009f
+070f
+180b 180e
200c 200f
202a 202e
206a 206f
@@ -9,4 +11,5 @@ db80 dbff
dc00 dfff
e000 f8ff
feff
+fff9 fffb
END
diff --git a/lib/unicode/Is/DCcompat.pl b/lib/unicode/Is/DCcompat.pl
index 1c7eded5c1..86e73d0414 100644
--- a/lib/unicode/Is/DCcompat.pl
+++ b/lib/unicode/Is/DCcompat.pl
@@ -13,38 +13,15 @@ return <<'END';
02d8 02dd
037a
0384
+03d0 03d2
+03d5 03d6
+03f0 03f2
0587
+0675 0678
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
+0f77
+0f79
+1e9a
1fbd
1fbf 1fc0
1ffe
@@ -56,17 +33,24 @@ return <<'END';
2036 2037
203c
203e
+2048 2049
20a8
+2100 2101
2103
-2107
+2105 2107
2109
2116
+2121
2135 2138
2160 217f
222c 222d
222f 2230
2474 24b5
+2e9f
+2ef3
+2f00 2fd5
3036
+3038 303a
309b 309c
3131 318e
3200 321c
diff --git a/lib/unicode/Is/DCfont.pl b/lib/unicode/Is/DCfont.pl
index 9b0b86b967..c6d24436b3 100644
--- a/lib/unicode/Is/DCfont.pl
+++ b/lib/unicode/Is/DCfont.pl
@@ -2,11 +2,12 @@ return <<'END';
2102
210a 2113
2115
-2118 211d
+2119 211d
2124
2128
212c 212d
212f 2131
2133 2134
+2139
fb20 fb29
END
diff --git a/lib/unicode/Is/DCnoBreak.pl b/lib/unicode/Is/DCnoBreak.pl
index 0f9cac27bd..5b0e817c7d 100644
--- a/lib/unicode/Is/DCnoBreak.pl
+++ b/lib/unicode/Is/DCnoBreak.pl
@@ -1,5 +1,7 @@
return <<'END';
00a0
+0f0c
2007
2011
+202f
END
diff --git a/lib/unicode/Is/DCsuper.pl b/lib/unicode/Is/DCsuper.pl
index 89dc6b8010..8e1330ee51 100644
--- a/lib/unicode/Is/DCsuper.pl
+++ b/lib/unicode/Is/DCsuper.pl
@@ -6,6 +6,7 @@ return <<'END';
02e0 02e4
2070
2074 207f
-2120 2122
+2120
+2122
3192 319f
END
diff --git a/lib/unicode/Is/DecoCanon.pl b/lib/unicode/Is/DecoCanon.pl
index 51cbb6c267..53ac38557c 100644
--- a/lib/unicode/Is/DecoCanon.pl
+++ b/lib/unicode/Is/DecoCanon.pl
@@ -22,8 +22,9 @@ return <<'END';
01de 01e3
01e6 01f0
01f4 01f5
-01fa 0217
-0310
+01f8 021b
+021e 021f
+0226 0233
0340 0341
0343 0344
0374
@@ -34,37 +35,42 @@ return <<'END';
03aa 03b0
03ca 03ce
03d3 03d4
-0401
+0400 0401
0403
0407
-040c
-040e
+040c 040e
0419
0439
-0451
+0450 0451
0453
0457
-045c
-045e
+045c 045e
0476 0477
04c1 04c2
-04d0 04eb
-04ee 04f5
+04d0 04d3
+04d6 04d7
+04da 04df
+04e2 04e7
+04ea 04f5
04f8 04f9
+0622 0626
+06c0
+06c2
+06d3
0929
0931
0934
0958 095f
-09b0
09cb 09cc
09dc 09dd
09df
-0a59 0a5c
+0a33
+0a36
+0a59 0a5b
0a5e
0b48
0b4b 0b4c
0b5c 0b5d
-0b5f
0b94
0bca 0bcc
0c48
@@ -72,6 +78,8 @@ return <<'END';
0cc7 0cc8
0cca 0ccb
0d4a 0d4c
+0dda
+0ddc 0dde
0e33
0eb3
0f43
@@ -81,7 +89,8 @@ return <<'END';
0f5c
0f69
0f73
-0f75 0f79
+0f75 0f76
+0f78
0f81
0f93
0f9d
@@ -89,6 +98,7 @@ return <<'END';
0fa7
0fac
0fb9
+1026
1e00 1e99
1e9b
1ea0 1ef9
@@ -113,6 +123,9 @@ return <<'END';
2000 2001
2126
212a 212b
+219a 219b
+21ae
+21cd 21cf
2204
2209
220c
@@ -179,6 +192,15 @@ return <<'END';
30f4
30f7 30fa
30fe
+f900 fa0d
+fa10
+fa12
+fa15 fa1e
+fa20
+fa22
+fa25 fa26
+fa2a fa2d
+fb1d
fb1f
fb2a fb36
fb38 fb3c
diff --git a/lib/unicode/Is/DecoCompat.pl b/lib/unicode/Is/DecoCompat.pl
index 7eb8587b2e..7b68855290 100644
--- a/lib/unicode/Is/DecoCompat.pl
+++ b/lib/unicode/Is/DecoCompat.pl
@@ -18,38 +18,16 @@ return <<'END';
02e0 02e4
037a
0384
+03d0 03d2
+03d5 03d6
+03f0 03f2
0587
+0675 0678
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
+0f0c
+0f77
+0f79
+1e9a
1fbd
1fbf 1fc0
1ffe
@@ -57,30 +35,36 @@ return <<'END';
2011
2017
2024 2026
+202f
2033 2034
2036 2037
203c
203e
+2048 2049
2070
2074 208e
20a8
-2102 2103
-2107
+2100 2103
+2105 2107
2109 2113
2115 2116
-2118 211d
+2119 211d
2120 2122
2124
2128
212c 212d
212f 2131
-2133 2138
+2133 2139
2153 217f
222c 222d
222f 2230
2460 24ea
+2e9f
+2ef3
+2f00 2fd5
3000
3036
+3038 303a
309b 309c
3131 318e
3192 319f
diff --git a/lib/unicode/Is/Digit.pl b/lib/unicode/Is/Digit.pl
index a25e28f9e9..2ae9c84f02 100644
--- a/lib/unicode/Is/Digit.pl
+++ b/lib/unicode/Is/Digit.pl
@@ -14,6 +14,9 @@ return <<'END';
0e50 0e59
0ed0 0ed9
0f20 0f29
+1040 1049
1369 1371
+17e0 17e9
+1810 1819
ff10 ff19
END
diff --git a/lib/unicode/Is/Graph.pl b/lib/unicode/Is/Graph.pl
index 7a8c225176..723c881dd6 100644
--- a/lib/unicode/Is/Graph.pl
+++ b/lib/unicode/Is/Graph.pl
@@ -1,12 +1,11 @@
return <<'END';
0021 007e
-00a0 01f5
-01fa 0217
-0250 02a8
-02b0 02de
-02e0 02e9
-0300 0345
-0360 0361
+00a0 021f
+0222 0233
+0250 02ad
+02b0 02ee
+0300 034e
+0360 0362
0374 0375
037a
037e
@@ -14,26 +13,19 @@ return <<'END';
038c
038e 03a1
03a3 03ce
-03d0 03d6
-03da
-03dc
-03de
-03e0
-03e2 03f3
-0401 040c
-040e 044f
-0451 045c
-045e 0486
-0490 04c4
+03d0 03d7
+03da 03f3
+0400 0486
+0488 0489
+048c 04c4
04c7 04c8
04cb 04cc
-04d0 04eb
-04ee 04f5
+04d0 04f5
04f8 04f9
0531 0556
0559 055f
0561 0587
-0589
+0589 058a
0591 05a1
05a3 05b9
05bb 05c4
@@ -43,13 +35,14 @@ return <<'END';
061b
061f
0621 063a
-0640 0652
+0640 0655
0660 066d
-0670 06b7
-06ba 06be
-06c0 06ce
-06d0 06ed
-06f0 06f9
+0670 06ed
+06f0 06fe
+0700 070d
+0710 072c
+0730 074a
+0780 07b0
0901 0903
0905 0939
093c 094d
@@ -165,6 +158,17 @@ return <<'END';
0d57
0d60 0d61
0d66 0d6f
+0d82 0d83
+0d85 0d96
+0d9a 0db1
+0db3 0dbb
+0dbd
+0dc0 0dc6
+0dca
+0dcf 0dd4
+0dd6
+0dd8 0ddf
+0df2 0df4
0e01 0e3a
0e3f 0e5b
0e81 0e82
@@ -186,13 +190,18 @@ return <<'END';
0ed0 0ed9
0edc 0edd
0f00 0f47
-0f49 0f69
+0f49 0f6a
0f71 0f8b
-0f90 0f95
-0f97
-0f99 0fad
-0fb1 0fb7
-0fb9
+0f90 0f97
+0f99 0fbc
+0fbe 0fcc
+0fcf
+1000 1021
+1023 1027
+1029 102a
+102c 1032
+1036 1039
+1040 1059
10a0 10c5
10d0 10f6
10fb
@@ -225,6 +234,16 @@ return <<'END';
1320 1346
1348 135a
1361 137c
+13a0 13f4
+1401 1676
+1680 169c
+16a0 16f0
+1780 17dc
+17e0 17e9
+1800 180a
+1810 1819
+1820 1877
+1880 18a9
1e00 1e9b
1ea0 1ef9
1f00 1f15
@@ -245,24 +264,25 @@ return <<'END';
1ff6 1ffe
2000 200b
2010 2029
-2030 2046
+202f 2046
+2048 204d
2070
2074 208e
-20a0 20ac
-20d0 20e1
-2100 2138
-2153 2182
-2190 21ea
+20a0 20af
+20d0 20e3
+2100 213a
+2153 2183
+2190 21f3
2200 22f1
-2300
-2302 237a
-2400 2424
+2300 237b
+237d 239a
+2400 2426
2440 244a
2460 24ea
2500 2595
-25a0 25ef
+25a0 25f7
2600 2613
-261a 266f
+2619 2671
2701 2704
2706 2709
270c 2727
@@ -275,14 +295,19 @@ return <<'END';
2776 2794
2798 27af
27b1 27be
-3000 3037
-303f
+2800 28ff
+2e80 2e99
+2e9b 2ef3
+2f00 2fd5
+2ff0 2ffb
+3000 303a
+303e 303f
3041 3094
3099 309e
30a1 30fe
3105 312c
3131 318e
-3190 319f
+3190 31b7
3200 321c
3220 3243
3260 327b
@@ -292,12 +317,19 @@ return <<'END';
3300 3376
337b 33dd
33e0 33fe
+3400 4db5
4e00 9fa5
+a000 a48c
+a490 a4a1
+a4a4 a4b3
+a4b5 a4c0
+a4c2 a4c4
+a4c6
ac00 d7a3
f900 fa2d
fb00 fb06
fb13 fb17
-fb1e fb36
+fb1d fb36
fb38 fb3c
fb3e
fb40 fb41
diff --git a/lib/unicode/Is/L.pl b/lib/unicode/Is/L.pl
index 06796fd1bb..ac98766c6f 100644
--- a/lib/unicode/Is/L.pl
+++ b/lib/unicode/Is/L.pl
@@ -6,34 +6,27 @@ return <<'END';
00ba
00c0 00d6
00d8 00f6
-00f8 01f5
-01fa 0217
-0250 02a8
+00f8 021f
+0222 0233
+0250 02ad
02b0 02b8
02bb 02c1
02d0 02d1
02e0 02e4
+02ee
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
+03d0 03d7
+03da 03f3
+0400 0481
+048c 04c4
04c7 04c8
04cb 04cc
-04d0 04eb
-04ee 04f5
+04d0 04f5
04f8 04f9
0531 0556
0559
@@ -42,14 +35,16 @@ return <<'END';
05f0 05f2
0621 063a
0640 064a
-0671 06b7
-06ba 06be
-06c0 06ce
-06d0 06d3
+0671 06d3
06d5
06e5 06e6
+06fa 06fc
+0710
+0712 072c
+0780 07a5
0905 0939
093d
+0950
0958 0961
0985 098c
098f 0990
@@ -78,6 +73,7 @@ return <<'END';
0ab2 0ab3
0ab5 0ab9
0abd
+0ad0
0ae0
0b05 0b0c
0b0f 0b10
@@ -116,8 +112,12 @@ return <<'END';
0d12 0d28
0d2a 0d39
0d60 0d61
-0e01 0e2e
-0e30
+0d85 0d96
+0d9a 0db1
+0db3 0dbb
+0dbd
+0dc0 0dc6
+0e01 0e30
0e32 0e33
0e40 0e46
0e81 0e82
@@ -131,15 +131,20 @@ return <<'END';
0ea5
0ea7
0eaa 0eab
-0ead 0eae
-0eb0
+0ead 0eb0
0eb2 0eb3
0ebd
0ec0 0ec4
0ec6
0edc 0edd
+0f00
0f40 0f47
-0f49 0f69
+0f49 0f6a
+0f88 0f8b
+1000 1021
+1023 1027
+1029 102a
+1050 1055
10a0 10c5
10d0 10f6
1100 1159
@@ -170,6 +175,14 @@ return <<'END';
1318 131e
1320 1346
1348 135a
+13a0 13f4
+1401 166c
+166f 1676
+1681 169a
+16a0 16ea
+1780 17b3
+1820 1877
+1880 18a8
1e00 1e9b
1ea0 1ef9
1f00 1f15
@@ -196,25 +209,35 @@ return <<'END';
2107
210a 2113
2115
-2118 211d
+2119 211d
2124
2126
2128
-212a 2131
-2133 2138
-3005
+212a 212d
+212f 2131
+2133 2139
+3005 3006
3031 3035
3041 3094
-309b 309e
+309d 309e
30a1 30fa
30fc 30fe
3105 312c
3131 318e
+31a0 31b7
+3400 4db5
4e00 9fa5
+a000 a48c
+a490 a4a1
+a4a4 a4b3
+a4b5 a4c0
+a4c2 a4c4
+a4c6
ac00 d7a3
f900 fa2d
fb00 fb06
fb13 fb17
+fb1d
fb1f fb28
fb2a fb36
fb38 fb3c
diff --git a/lib/unicode/Is/Ll.pl b/lib/unicode/Is/Ll.pl
index 7b34adfd05..9a7588ceca 100644
--- a/lib/unicode/Is/Ll.pl
+++ b/lib/unicode/Is/Ll.pl
@@ -86,6 +86,7 @@ return <<'END';
01b6
01b9 01ba
01bd
+01bf
01c6
01c9
01cc
@@ -108,6 +109,7 @@ return <<'END';
01ef 01f0
01f3
01f5
+01f9
01fb
01fd
01ff
@@ -123,11 +125,28 @@ return <<'END';
0213
0215
0217
-0250 02a8
+0219
+021b
+021d
+021f
+0223
+0225
+0227
+0229
+022b
+022d
+022f
+0231
+0233
+0250 02ad
0390
03ac 03ce
03d0 03d1
-03d5 03d6
+03d5 03d7
+03db
+03dd
+03df
+03e1
03e3
03e5
03e7
@@ -135,9 +154,7 @@ return <<'END';
03eb
03ed
03ef 03f2
-0430 044f
-0451 045c
-045e 045f
+0430 045f
0461
0463
0465
@@ -155,6 +172,8 @@ return <<'END';
047d
047f
0481
+048d
+048f
0491
0493
0495
@@ -197,13 +216,13 @@ return <<'END';
04e7
04e9
04eb
+04ed
04ef
04f1
04f3
04f5
04f9
0561 0587
-10d0 10f6
1e01
1e03
1e05
@@ -337,6 +356,7 @@ return <<'END';
1fa0 1fa7
1fb0 1fb4
1fb6 1fb7
+1fbe
1fc2 1fc4
1fc6 1fc7
1fd0 1fd3
@@ -348,8 +368,9 @@ return <<'END';
210a
210e 210f
2113
-212e 212f
+212f
2134
+2139
fb00 fb06
fb13 fb17
ff41 ff5a
diff --git a/lib/unicode/Is/Lm.pl b/lib/unicode/Is/Lm.pl
index 9035aa532a..cc76e43f73 100644
--- a/lib/unicode/Is/Lm.pl
+++ b/lib/unicode/Is/Lm.pl
@@ -3,15 +3,17 @@ return <<'END';
02bb 02c1
02d0 02d1
02e0 02e4
+02ee
037a
0559
0640
06e5 06e6
0e46
0ec6
+1843
3005
3031 3035
-309b 309e
+309d 309e
30fc 30fe
ff70
ff9e ff9f
diff --git a/lib/unicode/Is/Lo.pl b/lib/unicode/Is/Lo.pl
index 07da29ed1b..57f722b284 100644
--- a/lib/unicode/Is/Lo.pl
+++ b/lib/unicode/Is/Lo.pl
@@ -1,20 +1,23 @@
return <<'END';
01aa
01bb
-01be 01c3
+01be
+01c0 01c3
03f3
04c0
05d0 05ea
05f0 05f2
0621 063a
0641 064a
-0671 06b7
-06ba 06be
-06c0 06ce
-06d0 06d3
+0671 06d3
06d5
+06fa 06fc
+0710
+0712 072c
+0780 07a5
0905 0939
093d
+0950
0958 0961
0985 098c
098f 0990
@@ -43,6 +46,7 @@ return <<'END';
0ab2 0ab3
0ab5 0ab9
0abd
+0ad0
0ae0
0b05 0b0c
0b0f 0b10
@@ -81,8 +85,12 @@ return <<'END';
0d12 0d28
0d2a 0d39
0d60 0d61
-0e01 0e2e
-0e30
+0d85 0d96
+0d9a 0db1
+0db3 0dbb
+0dbd
+0dc0 0dc6
+0e01 0e30
0e32 0e33
0e40 0e45
0e81 0e82
@@ -96,14 +104,20 @@ return <<'END';
0ea5
0ea7
0eaa 0eab
-0ead 0eae
-0eb0
+0ead 0eb0
0eb2 0eb3
0ebd
0ec0 0ec4
0edc 0edd
+0f00
0f40 0f47
-0f49 0f69
+0f49 0f6a
+0f88 0f8b
+1000 1021
+1023 1027
+1029 102a
+1050 1055
+10d0 10f6
1100 1159
115f 11a2
11a8 11f9
@@ -132,14 +146,33 @@ return <<'END';
1318 131e
1320 1346
1348 135a
+13a0 13f4
+1401 166c
+166f 1676
+1681 169a
+16a0 16ea
+1780 17b3
+1820 1842
+1844 1877
+1880 18a8
2135 2138
+3006
3041 3094
30a1 30fa
3105 312c
3131 318e
+31a0 31b7
+3400 4db5
4e00 9fa5
+a000 a48c
+a490 a4a1
+a4a4 a4b3
+a4b5 a4c0
+a4c2 a4c4
+a4c6
ac00 d7a3
f900 fa2d
+fb1d
fb1f fb28
fb2a fb36
fb38 fb3c
diff --git a/lib/unicode/Is/Lower.pl b/lib/unicode/Is/Lower.pl
index 7b34adfd05..9a7588ceca 100644
--- a/lib/unicode/Is/Lower.pl
+++ b/lib/unicode/Is/Lower.pl
@@ -86,6 +86,7 @@ return <<'END';
01b6
01b9 01ba
01bd
+01bf
01c6
01c9
01cc
@@ -108,6 +109,7 @@ return <<'END';
01ef 01f0
01f3
01f5
+01f9
01fb
01fd
01ff
@@ -123,11 +125,28 @@ return <<'END';
0213
0215
0217
-0250 02a8
+0219
+021b
+021d
+021f
+0223
+0225
+0227
+0229
+022b
+022d
+022f
+0231
+0233
+0250 02ad
0390
03ac 03ce
03d0 03d1
-03d5 03d6
+03d5 03d7
+03db
+03dd
+03df
+03e1
03e3
03e5
03e7
@@ -135,9 +154,7 @@ return <<'END';
03eb
03ed
03ef 03f2
-0430 044f
-0451 045c
-045e 045f
+0430 045f
0461
0463
0465
@@ -155,6 +172,8 @@ return <<'END';
047d
047f
0481
+048d
+048f
0491
0493
0495
@@ -197,13 +216,13 @@ return <<'END';
04e7
04e9
04eb
+04ed
04ef
04f1
04f3
04f5
04f9
0561 0587
-10d0 10f6
1e01
1e03
1e05
@@ -337,6 +356,7 @@ return <<'END';
1fa0 1fa7
1fb0 1fb4
1fb6 1fb7
+1fbe
1fc2 1fc4
1fc6 1fc7
1fd0 1fd3
@@ -348,8 +368,9 @@ return <<'END';
210a
210e 210f
2113
-212e 212f
+212f
2134
+2139
fb00 fb06
fb13 fb17
ff41 ff5a
diff --git a/lib/unicode/Is/Lt.pl b/lib/unicode/Is/Lt.pl
index 282f31df5f..2a6771723e 100644
--- a/lib/unicode/Is/Lt.pl
+++ b/lib/unicode/Is/Lt.pl
@@ -3,4 +3,10 @@ return <<'END';
01c8
01cb
01f2
+1f88 1f8f
+1f98 1f9f
+1fa8 1faf
+1fbc
+1fcc
+1ffc
END
diff --git a/lib/unicode/Is/Lu.pl b/lib/unicode/Is/Lu.pl
index dfb7835361..928e10b102 100644
--- a/lib/unicode/Is/Lu.pl
+++ b/lib/unicode/Is/Lu.pl
@@ -105,6 +105,7 @@ return <<'END';
01ee
01f1
01f4
+01f6 01f8
01fa
01fc
01fe
@@ -120,6 +121,19 @@ return <<'END';
0212
0214
0216
+0218
+021a
+021c
+021e
+0222
+0224
+0226
+0228
+022a
+022c
+022e
+0230
+0232
0386
0388 038a
038c
@@ -138,8 +152,7 @@ return <<'END';
03ea
03ec
03ee
-0401 040c
-040e 042f
+0400 042f
0460
0462
0464
@@ -157,6 +170,8 @@ return <<'END';
047c
047e
0480
+048c
+048e
0490
0492
0494
@@ -199,6 +214,7 @@ return <<'END';
04e6
04e8
04ea
+04ec
04ee
04f0
04f2
@@ -336,21 +352,17 @@ return <<'END';
1f5d
1f5f
1f68 1f6f
-1f88 1f8f
-1f98 1f9f
-1fa8 1faf
-1fb8 1fbc
-1fbe
-1fc8 1fcc
+1fb8 1fbb
+1fc8 1fcb
1fd8 1fdb
1fe8 1fec
-1ff8 1ffc
+1ff8 1ffb
2102
2107
210b 210d
2110 2112
2115
-2118 211d
+2119 211d
2124
2126
2128
diff --git a/lib/unicode/Is/M.pl b/lib/unicode/Is/M.pl
index 0a2f005da0..0b2bf32916 100644
--- a/lib/unicode/Is/M.pl
+++ b/lib/unicode/Is/M.pl
@@ -1,18 +1,22 @@
return <<'END';
-0300 0345
-0360 0361
+0300 034e
+0360 0362
0483 0486
+0488 0489
0591 05a1
05a3 05b9
05bb 05bd
05bf
05c1 05c2
05c4
-064b 0652
+064b 0655
0670
06d6 06e4
06e7 06e8
06ea 06ed
+0711
+0730 074a
+07a6 07b0
0901 0903
093c
093e 094d
@@ -62,6 +66,12 @@ return <<'END';
0d46 0d48
0d4a 0d4d
0d57
+0d82 0d83
+0dca
+0dcf 0dd4
+0dd6
+0dd8 0ddf
+0df2 0df3
0e31
0e34 0e3a
0e47 0e4e
@@ -75,13 +85,16 @@ return <<'END';
0f39
0f3e 0f3f
0f71 0f84
-0f86 0f8b
-0f90 0f95
-0f97
-0f99 0fad
-0fb1 0fb7
-0fb9
-20d0 20e1
+0f86 0f87
+0f90 0f97
+0f99 0fbc
+0fc6
+102c 1032
+1036 1039
+1056 1059
+17b4 17d3
+18a9
+20d0 20e3
302a 302f
3099 309a
fb1e
diff --git a/lib/unicode/Is/Mc.pl b/lib/unicode/Is/Mc.pl
index 385a15b543..d707c6712e 100644
--- a/lib/unicode/Is/Mc.pl
+++ b/lib/unicode/Is/Mc.pl
@@ -37,6 +37,17 @@ return <<'END';
0d46 0d48
0d4a 0d4c
0d57
+0d82 0d83
+0dcf 0dd1
+0dd8 0ddf
+0df2 0df3
0f3e 0f3f
0f7f
+102c
+1031
+1038
+1056 1057
+17b4 17b6
+17be 17c5
+17c7 17c8
END
diff --git a/lib/unicode/Is/Mirrored.pl b/lib/unicode/Is/Mirrored.pl
index bb78be507f..b56c8357bc 100644
--- a/lib/unicode/Is/Mirrored.pl
+++ b/lib/unicode/Is/Mirrored.pl
@@ -6,6 +6,9 @@ return <<'END';
005d
007b
007d
+00ab
+00bb
+2039 203a
2045 2046
207d 207e
208d 208e
diff --git a/lib/unicode/Is/Mn.pl b/lib/unicode/Is/Mn.pl
index cff1c481be..ffb56f9801 100644
--- a/lib/unicode/Is/Mn.pl
+++ b/lib/unicode/Is/Mn.pl
@@ -1,6 +1,6 @@
return <<'END';
-0300 0345
-0360 0361
+0300 034e
+0360 0362
0483 0486
0591 05a1
05a3 05b9
@@ -8,12 +8,15 @@ return <<'END';
05bf
05c1 05c2
05c4
-064b 0652
+064b 0655
0670
06d6 06dc
06df 06e4
06e7 06e8
06ea 06ed
+0711
+0730 074a
+07a6 07b0
0901 0902
093c
0941 0948
@@ -54,6 +57,9 @@ return <<'END';
0ccc 0ccd
0d41 0d43
0d4d
+0dca
+0dd2 0dd4
+0dd6
0e31
0e34 0e3a
0e47 0e4e
@@ -67,12 +73,19 @@ return <<'END';
0f39
0f71 0f7e
0f80 0f84
-0f86 0f8b
-0f90 0f95
-0f97
-0f99 0fad
-0fb1 0fb7
-0fb9
+0f86 0f87
+0f90 0f97
+0f99 0fbc
+0fc6
+102d 1030
+1032
+1036 1037
+1039
+1058 1059
+17b7 17bd
+17c6
+17c9 17d3
+18a9
20d0 20dc
20e1
302a 302f
diff --git a/lib/unicode/Is/N.pl b/lib/unicode/Is/N.pl
index b43924b94f..6a8072c3de 100644
--- a/lib/unicode/Is/N.pl
+++ b/lib/unicode/Is/N.pl
@@ -18,16 +18,21 @@ return <<'END';
0e50 0e59
0ed0 0ed9
0f20 0f33
+1040 1049
1369 137c
+16ee 16f0
+17e0 17e9
+1810 1819
2070
2074 2079
2080 2089
-2153 2182
+2153 2183
2460 249b
24ea
2776 2793
3007
3021 3029
+3038 303a
3192 3195
3220 3229
3280 3289
diff --git a/lib/unicode/Is/Nd.pl b/lib/unicode/Is/Nd.pl
index a25e28f9e9..2ae9c84f02 100644
--- a/lib/unicode/Is/Nd.pl
+++ b/lib/unicode/Is/Nd.pl
@@ -14,6 +14,9 @@ return <<'END';
0e50 0e59
0ed0 0ed9
0f20 0f29
+1040 1049
1369 1371
+17e0 17e9
+1810 1819
ff10 ff19
END
diff --git a/lib/unicode/Is/No.pl b/lib/unicode/Is/No.pl
index a02e5ca96f..0b926a8dec 100644
--- a/lib/unicode/Is/No.pl
+++ b/lib/unicode/Is/No.pl
@@ -6,6 +6,7 @@ return <<'END';
0bf0 0bf2
0f2a 0f33
1372 137c
+16ee 16f0
2070
2074 2079
2080 2089
diff --git a/lib/unicode/Is/P.pl b/lib/unicode/Is/P.pl
index 0d52205b0a..57b5e24331 100644
--- a/lib/unicode/Is/P.pl
+++ b/lib/unicode/Is/P.pl
@@ -14,11 +14,10 @@ return <<'END';
00b7
00bb
00bf
-0374 0375
037e
0387
055a 055f
-0589
+0589 058a
05be
05c0
05c3
@@ -28,24 +27,32 @@ return <<'END';
061f
066a 066d
06d4
+0700 070d
0964 0965
0970
-0e2f
+0df4
+0e4f
0e5a 0e5b
-0eaf
0f04 0f12
0f3a 0f3d
0f85
+104a 104f
10fb
1361 1368
+166d 166e
+169b 169c
+16eb 16ed
+17d4 17da
+17dc
+1800 180a
2010 2027
2030 2043
2045 2046
+2048 204d
207d 207e
208d 208e
2329 232a
3001 3003
-3006
3008 3011
3014 301f
3030
diff --git a/lib/unicode/Is/Pd.pl b/lib/unicode/Is/Pd.pl
index 0b05079c36..e2d9477dde 100644
--- a/lib/unicode/Is/Pd.pl
+++ b/lib/unicode/Is/Pd.pl
@@ -1,6 +1,7 @@
return <<'END';
002d
00ad
+058a
2010 2015
301c
3030
diff --git a/lib/unicode/Is/Pe.pl b/lib/unicode/Is/Pe.pl
index 40b66e8c08..83a22a40c2 100644
--- a/lib/unicode/Is/Pe.pl
+++ b/lib/unicode/Is/Pe.pl
@@ -2,12 +2,9 @@ return <<'END';
0029
005d
007d
-00bb
0f3b
0f3d
-2019
-201d
-203a
+169c
2046
207e
208e
diff --git a/lib/unicode/Is/Po.pl b/lib/unicode/Is/Po.pl
index e9bed935ff..05a22f2cfc 100644
--- a/lib/unicode/Is/Po.pl
+++ b/lib/unicode/Is/Po.pl
@@ -10,7 +10,6 @@ return <<'END';
00a1
00b7
00bf
-0374 0375
037e
0387
055a 055f
@@ -24,23 +23,29 @@ return <<'END';
061f
066a 066d
06d4
+0700 070d
0964 0965
0970
-0e2f
+0df4
+0e4f
0e5a 0e5b
-0eaf
0f04 0f12
0f85
+104a 104f
10fb
1361 1368
+166d 166e
+16eb 16ed
+17d4 17da
+17dc
+1800 180a
2016 2017
2020 2027
2030 2038
203b 203e
2041 2043
+2048 204d
3001 3003
-3006
-30fb
fe30
fe49 fe4c
fe50 fe52
@@ -57,5 +62,5 @@ ff1a ff1b
ff1f ff20
ff3c
ff61
-ff64 ff65
+ff64
END
diff --git a/lib/unicode/Is/Print.pl b/lib/unicode/Is/Print.pl
index c2e607006b..8faeea6d95 100644
--- a/lib/unicode/Is/Print.pl
+++ b/lib/unicode/Is/Print.pl
@@ -1,12 +1,11 @@
return <<'END';
0020 007e
-00a0 01f5
-01fa 0217
-0250 02a8
-02b0 02de
-02e0 02e9
-0300 0345
-0360 0361
+00a0 021f
+0222 0233
+0250 02ad
+02b0 02ee
+0300 034e
+0360 0362
0374 0375
037a
037e
@@ -14,26 +13,19 @@ return <<'END';
038c
038e 03a1
03a3 03ce
-03d0 03d6
-03da
-03dc
-03de
-03e0
-03e2 03f3
-0401 040c
-040e 044f
-0451 045c
-045e 0486
-0490 04c4
+03d0 03d7
+03da 03f3
+0400 0486
+0488 0489
+048c 04c4
04c7 04c8
04cb 04cc
-04d0 04eb
-04ee 04f5
+04d0 04f5
04f8 04f9
0531 0556
0559 055f
0561 0587
-0589
+0589 058a
0591 05a1
05a3 05b9
05bb 05c4
@@ -43,13 +35,14 @@ return <<'END';
061b
061f
0621 063a
-0640 0652
+0640 0655
0660 066d
-0670 06b7
-06ba 06be
-06c0 06ce
-06d0 06ed
-06f0 06f9
+0670 06ed
+06f0 06fe
+0700 070d
+0710 072c
+0730 074a
+0780 07b0
0901 0903
0905 0939
093c 094d
@@ -165,6 +158,17 @@ return <<'END';
0d57
0d60 0d61
0d66 0d6f
+0d82 0d83
+0d85 0d96
+0d9a 0db1
+0db3 0dbb
+0dbd
+0dc0 0dc6
+0dca
+0dcf 0dd4
+0dd6
+0dd8 0ddf
+0df2 0df4
0e01 0e3a
0e3f 0e5b
0e81 0e82
@@ -186,13 +190,18 @@ return <<'END';
0ed0 0ed9
0edc 0edd
0f00 0f47
-0f49 0f69
+0f49 0f6a
0f71 0f8b
-0f90 0f95
-0f97
-0f99 0fad
-0fb1 0fb7
-0fb9
+0f90 0f97
+0f99 0fbc
+0fbe 0fcc
+0fcf
+1000 1021
+1023 1027
+1029 102a
+102c 1032
+1036 1039
+1040 1059
10a0 10c5
10d0 10f6
10fb
@@ -225,6 +234,16 @@ return <<'END';
1320 1346
1348 135a
1361 137c
+13a0 13f4
+1401 1676
+1680 169c
+16a0 16f0
+1780 17dc
+17e0 17e9
+1800 180a
+1810 1819
+1820 1877
+1880 18a9
1e00 1e9b
1ea0 1ef9
1f00 1f15
@@ -245,24 +264,25 @@ return <<'END';
1ff6 1ffe
2000 200b
2010 2029
-2030 2046
+202f 2046
+2048 204d
2070
2074 208e
-20a0 20ac
-20d0 20e1
-2100 2138
-2153 2182
-2190 21ea
+20a0 20af
+20d0 20e3
+2100 213a
+2153 2183
+2190 21f3
2200 22f1
-2300
-2302 237a
-2400 2424
+2300 237b
+237d 239a
+2400 2426
2440 244a
2460 24ea
2500 2595
-25a0 25ef
+25a0 25f7
2600 2613
-261a 266f
+2619 2671
2701 2704
2706 2709
270c 2727
@@ -275,14 +295,19 @@ return <<'END';
2776 2794
2798 27af
27b1 27be
-3000 3037
-303f
+2800 28ff
+2e80 2e99
+2e9b 2ef3
+2f00 2fd5
+2ff0 2ffb
+3000 303a
+303e 303f
3041 3094
3099 309e
30a1 30fe
3105 312c
3131 318e
-3190 319f
+3190 31b7
3200 321c
3220 3243
3260 327b
@@ -292,12 +317,19 @@ return <<'END';
3300 3376
337b 33dd
33e0 33fe
+3400 4db5
4e00 9fa5
+a000 a48c
+a490 a4a1
+a4a4 a4b3
+a4b5 a4c0
+a4c2 a4c4
+a4c6
ac00 d7a3
f900 fa2d
fb00 fb06
fb13 fb17
-fb1e fb36
+fb1d fb36
fb38 fb3c
fb3e
fb40 fb41
diff --git a/lib/unicode/Is/Ps.pl b/lib/unicode/Is/Ps.pl
index 12ea0b1cc4..fad4da758c 100644
--- a/lib/unicode/Is/Ps.pl
+++ b/lib/unicode/Is/Ps.pl
@@ -2,13 +2,11 @@ return <<'END';
0028
005b
007b
-00ab
0f3a
0f3c
-2018
-201a 201c
-201e 201f
-2039
+169b
+201a
+201e
2045
207d
208d
diff --git a/lib/unicode/Is/Punct.pl b/lib/unicode/Is/Punct.pl
index 0d52205b0a..57b5e24331 100644
--- a/lib/unicode/Is/Punct.pl
+++ b/lib/unicode/Is/Punct.pl
@@ -14,11 +14,10 @@ return <<'END';
00b7
00bb
00bf
-0374 0375
037e
0387
055a 055f
-0589
+0589 058a
05be
05c0
05c3
@@ -28,24 +27,32 @@ return <<'END';
061f
066a 066d
06d4
+0700 070d
0964 0965
0970
-0e2f
+0df4
+0e4f
0e5a 0e5b
-0eaf
0f04 0f12
0f3a 0f3d
0f85
+104a 104f
10fb
1361 1368
+166d 166e
+169b 169c
+16eb 16ed
+17d4 17da
+17dc
+1800 180a
2010 2027
2030 2043
2045 2046
+2048 204d
207d 207e
208d 208e
2329 232a
3001 3003
-3006
3008 3011
3014 301f
3030
diff --git a/lib/unicode/Is/S.pl b/lib/unicode/Is/S.pl
index c3f20947fe..851a0f6d53 100644
--- a/lib/unicode/Is/S.pl
+++ b/lib/unicode/Is/S.pl
@@ -16,24 +16,27 @@ return <<'END';
00f7
02b9 02ba
02c2 02cf
-02d2 02de
-02e5 02e9
+02d2 02df
+02e5 02ed
+0374 0375
0384 0385
0482
06e9
-0950
+06fd 06fe
09f2 09f3
09fa
-0ad0
0b70
0e3f
-0e4f
-0f00 0f03
+0f01 0f03
0f13 0f17
0f1a 0f1f
0f34
0f36
0f38
+0fbe 0fc5
+0fc7 0fcc
+0fcf
+17db
1fbd
1fbf 1fc1
1fcd 1fcf
@@ -43,29 +46,31 @@ return <<'END';
2044
207a 207c
208a 208c
-20a0 20ac
+20a0 20af
2100 2101
2103 2106
2108 2109
2114
-2116 2117
+2116 2118
211e 2123
2125
2127
2129
+212e
2132
-2190 21ea
+213a
+2190 21f3
2200 22f1
-2300
-2302 2328
-232b 237a
-2400 2424
+2300 2328
+232b 237b
+237d 239a
+2400 2426
2440 244a
249c 24e9
2500 2595
-25a0 25ef
+25a0 25f7
2600 2613
-261a 266f
+2619 2671
2701 2704
2706 2709
270c 2727
@@ -78,11 +83,17 @@ return <<'END';
2794
2798 27af
27b1 27be
+2800 28ff
+2e80 2e99
+2e9b 2ef3
+2f00 2fd5
+2ff0 2ffb
3004
3012 3013
3020
3036 3037
-303f
+303e 303f
+309b 309c
3190 3191
3196 319f
3200 321c
diff --git a/lib/unicode/Is/Sc.pl b/lib/unicode/Is/Sc.pl
index 72e22f5195..ab2b0d6a30 100644
--- a/lib/unicode/Is/Sc.pl
+++ b/lib/unicode/Is/Sc.pl
@@ -3,7 +3,8 @@ return <<'END';
00a2 00a5
09f2 09f3
0e3f
-20a0 20ac
+17db
+20a0 20af
fe69
ff04
ffe0 ffe1
diff --git a/lib/unicode/Is/Sm.pl b/lib/unicode/Is/Sm.pl
index f06ad2a0ba..5be99c80a1 100644
--- a/lib/unicode/Is/Sm.pl
+++ b/lib/unicode/Is/Sm.pl
@@ -24,5 +24,5 @@ ff1c ff1e
ff5c
ff5e
ffe2
-ffe8 ffec
+ffe9 ffec
END
diff --git a/lib/unicode/Is/So.pl b/lib/unicode/Is/So.pl
index 0c548e6783..07cb14d819 100644
--- a/lib/unicode/Is/So.pl
+++ b/lib/unicode/Is/So.pl
@@ -6,42 +6,45 @@ return <<'END';
00b6
0482
06e9
-0950
+06fd 06fe
09fa
-0ad0
0b70
-0e4f
-0f00 0f03
+0f01 0f03
0f13 0f17
0f1a 0f1f
0f34
0f36
0f38
+0fbe 0fc5
+0fc7 0fcc
+0fcf
2100 2101
2103 2106
2108 2109
2114
-2116 2117
+2116 2118
211e 2123
2125
2127
2129
+212e
2132
+213a
2195 21d1
21d3
-21d5 21ea
-2300
-2302 2307
+21d5 21f3
+2300 2307
230c 231f
2322 2328
-232b 237a
-2400 2424
+232b 237b
+237d 239a
+2400 2426
2440 244a
249c 24e9
2500 2595
-25a0 25ef
+25a0 25f7
2600 2613
-261a 266f
+2619 2671
2701 2704
2706 2709
270c 2727
@@ -54,11 +57,16 @@ return <<'END';
2794
2798 27af
27b1 27be
+2800 28ff
+2e80 2e99
+2e9b 2ef3
+2f00 2fd5
+2ff0 2ffb
3004
3012 3013
3020
3036 3037
-303f
+303e 303f
3190 3191
3196 319f
3200 321c
@@ -72,6 +80,7 @@ return <<'END';
337b 33dd
33e0 33fe
ffe4
+ffe8
ffed ffee
fffc fffd
END
diff --git a/lib/unicode/Is/Space.pl b/lib/unicode/Is/Space.pl
index 715afc3ef3..d14c3fb78b 100644
--- a/lib/unicode/Is/Space.pl
+++ b/lib/unicode/Is/Space.pl
@@ -3,7 +3,9 @@ return <<'END';
000c 000d
0020
00a0
+1680
2000 200b
2028 2029
+202f
3000
END
diff --git a/lib/unicode/Is/Upper.pl b/lib/unicode/Is/Upper.pl
index dfb7835361..928e10b102 100644
--- a/lib/unicode/Is/Upper.pl
+++ b/lib/unicode/Is/Upper.pl
@@ -105,6 +105,7 @@ return <<'END';
01ee
01f1
01f4
+01f6 01f8
01fa
01fc
01fe
@@ -120,6 +121,19 @@ return <<'END';
0212
0214
0216
+0218
+021a
+021c
+021e
+0222
+0224
+0226
+0228
+022a
+022c
+022e
+0230
+0232
0386
0388 038a
038c
@@ -138,8 +152,7 @@ return <<'END';
03ea
03ec
03ee
-0401 040c
-040e 042f
+0400 042f
0460
0462
0464
@@ -157,6 +170,8 @@ return <<'END';
047c
047e
0480
+048c
+048e
0490
0492
0494
@@ -199,6 +214,7 @@ return <<'END';
04e6
04e8
04ea
+04ec
04ee
04f0
04f2
@@ -336,21 +352,17 @@ return <<'END';
1f5d
1f5f
1f68 1f6f
-1f88 1f8f
-1f98 1f9f
-1fa8 1faf
-1fb8 1fbc
-1fbe
-1fc8 1fcc
+1fb8 1fbb
+1fc8 1fcb
1fd8 1fdb
1fe8 1fec
-1ff8 1ffc
+1ff8 1ffb
2102
2107
210b 210d
2110 2112
2115
-2118 211d
+2119 211d
2124
2126
2128
diff --git a/lib/unicode/Is/Word.pl b/lib/unicode/Is/Word.pl
index 6a30246b20..9ce5137dba 100644
--- a/lib/unicode/Is/Word.pl
+++ b/lib/unicode/Is/Word.pl
@@ -12,29 +12,21 @@ return <<'END';
01c6 01c7
01c9 01ca
01cc 01f1
-01f3 01f5
-01fa 0217
-0250 02a8
+01f3 021f
+0222 0233
+0250 02ad
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
+03d0 03d7
+03da 03f3
+0400 0481
+048c 04c4
04c7 04c8
04cb 04cc
-04d0 04eb
-04ee 04f5
+04d0 04f5
04f8 04f9
0531 0556
0561 0587
@@ -43,14 +35,15 @@ return <<'END';
0621 063a
0641 064a
0660 0669
-0671 06b7
-06ba 06be
-06c0 06ce
-06d0 06d3
+0671 06d3
06d5
-06f0 06f9
+06f0 06fc
+0710
+0712 072c
+0780 07a5
0905 0939
093d
+0950
0958 0961
0966 096f
0985 098c
@@ -81,6 +74,7 @@ return <<'END';
0ab2 0ab3
0ab5 0ab9
0abd
+0ad0
0ae0
0ae6 0aef
0b05 0b0c
@@ -125,8 +119,12 @@ return <<'END';
0d2a 0d39
0d60 0d61
0d66 0d6f
-0e01 0e2e
-0e30
+0d85 0d96
+0d9a 0db1
+0db3 0dbb
+0dbd
+0dc0 0dc6
+0e01 0e30
0e32 0e33
0e40 0e45
0e50 0e59
@@ -141,16 +139,22 @@ return <<'END';
0ea5
0ea7
0eaa 0eab
-0ead 0eae
-0eb0
+0ead 0eb0
0eb2 0eb3
0ebd
0ec0 0ec4
0ed0 0ed9
0edc 0edd
+0f00
0f20 0f29
0f40 0f47
-0f49 0f69
+0f49 0f6a
+0f88 0f8b
+1000 1021
+1023 1027
+1029 102a
+1040 1049
+1050 1055
10a0 10c5
10d0 10f6
1100 1159
@@ -182,6 +186,17 @@ return <<'END';
1320 1346
1348 135a
1369 1371
+13a0 13f4
+1401 166c
+166f 1676
+1681 169a
+16a0 16ea
+1780 17b3
+17e0 17e9
+1810 1819
+1820 1842
+1844 1877
+1880 18a8
1e00 1e9b
1ea0 1ef9
1f00 1f15
@@ -193,36 +208,50 @@ return <<'END';
1f5b
1f5d
1f5f 1f7d
-1f80 1fb4
-1fb6 1fbc
+1f80 1f87
+1f90 1f97
+1fa0 1fa7
+1fb0 1fb4
+1fb6 1fbb
1fbe
1fc2 1fc4
-1fc6 1fcc
+1fc6 1fcb
1fd0 1fd3
1fd6 1fdb
1fe0 1fec
1ff2 1ff4
-1ff6 1ffc
+1ff6 1ffb
207f
2102
2107
210a 2113
2115
-2118 211d
+2119 211d
2124
2126
2128
-212a 2131
-2133 2138
+212a 212d
+212f 2131
+2133 2139
+3006
3041 3094
30a1 30fa
3105 312c
3131 318e
+31a0 31b7
+3400 4db5
4e00 9fa5
+a000 a48c
+a490 a4a1
+a4a4 a4b3
+a4b5 a4c0
+a4c2 a4c4
+a4c6
ac00 d7a3
f900 fa2d
fb00 fb06
fb13 fb17
+fb1d
fb1f fb28
fb2a fb36
fb38 fb3c
diff --git a/lib/unicode/Is/Z.pl b/lib/unicode/Is/Z.pl
index 9e83d9427f..42e0249273 100644
--- a/lib/unicode/Is/Z.pl
+++ b/lib/unicode/Is/Z.pl
@@ -1,7 +1,9 @@
return <<'END';
0020
00a0
+1680
2000 200b
2028 2029
+202f
3000
END
diff --git a/lib/unicode/Is/Zs.pl b/lib/unicode/Is/Zs.pl
index 87d4455d02..067c7c33df 100644
--- a/lib/unicode/Is/Zs.pl
+++ b/lib/unicode/Is/Zs.pl
@@ -1,6 +1,8 @@
return <<'END';
0020
00a0
+1680
2000 200b
+202f
3000
END
diff --git a/lib/unicode/MakeEthiopicSyllables.PL b/lib/unicode/MakeEthiopicSyllables.PL
deleted file mode 100755
index bccec321cf..0000000000
--- a/lib/unicode/MakeEthiopicSyllables.PL
+++ /dev/null
@@ -1,63 +0,0 @@
-#!../../miniperl
-
-#
-# We use the "two rows of 8" perspective to map the syllables onto the
-# expected forms as per the various asundry Ethiopic locales...
-#
-open (GEEZ, ">Is/Y0.pl");
-open (KAIB, ">Is/Y1.pl");
-open (SALS, ">Is/Y2.pl");
-open (RABI, ">Is/Y3.pl");
-open (HAMS, ">Is/Y4.pl");
-open (SADS, ">Is/Y5.pl");
-open (SABI, ">Is/Y6.pl");
-
-open (DIQALA_GEEZ, ">Is/Y8.pl");
-open (DIQALA_SALS, ">Is/Y10.pl");
-open (DIQALA_RABI, ">Is/Y11.pl"); # which is sometimes just DIQALA
-open (DIQALA_HAMS, ">Is/Y12.pl");
-open (DIQALA_SADS, ">Is/Y13.pl"); # though people outside of unicode.org
- # might say DIQALA_KAIB...
-
-@fh = qw(
- GEEZ KAIB SALS RABI HAMS SADS SABI none
- DIQALA_GEEZ none DIQALA_SALS DIQALA_RABI DIQALA_HAMS DIQALA_SADS
- );
-
-
-for $form (0..$#fh) {
- $FILE = $fh[$form];
- print $FILE "return <<'END'\n" if ($FILE ne "none");
-}
-
-
-open (ETHIOPIC, "EthiopicSyllables.txt");
-while (<ETHIOPIC>) {
- ($uni, $form) = split (/\s+/ );
- $FILE = $fh[$form];
- print $FILE "$uni\n";
-}
-close (ETHIOPIC);
-
-
-for $form (0..$#fh) {
- $FILE = $fh[$form];
- print $FILE "END\n" if ($FILE ne "none");
-}
-
-close (GEEZ);
-close (KAIB);
-close (SALS);
-close (RABI);
-close (HAMS);
-close (SADS);
-close (SABI);
-
-close (DIQALA_GEEZ);
-close (DIQALA_SALS);
-close (DIQALA_RABI);
-close (DIQALA_HAMS);
-close (DIQALA_SADS);
-
-symlink ( "Is/Y11.pl", "Is/Y7.pl" );
-symlink ( "Is/Y13.pl", "Is/Y9.pl" );
diff --git a/lib/unicode/Name.pl b/lib/unicode/Name.pl
index 45099acd4d..155031cbba 100644
--- a/lib/unicode/Name.pl
+++ b/lib/unicode/Name.pl
@@ -438,6 +438,10 @@ return <<'END';
01f3 LATIN SMALL LETTER DZ
01f4 LATIN CAPITAL LETTER G WITH ACUTE
01f5 LATIN SMALL LETTER G WITH ACUTE
+01f6 LATIN CAPITAL LETTER HWAIR
+01f7 LATIN CAPITAL LETTER WYNN
+01f8 LATIN CAPITAL LETTER N WITH GRAVE
+01f9 LATIN SMALL LETTER N WITH GRAVE
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
@@ -468,6 +472,32 @@ return <<'END';
0215 LATIN SMALL LETTER U WITH DOUBLE GRAVE
0216 LATIN CAPITAL LETTER U WITH INVERTED BREVE
0217 LATIN SMALL LETTER U WITH INVERTED BREVE
+0218 LATIN CAPITAL LETTER S WITH COMMA BELOW
+0219 LATIN SMALL LETTER S WITH COMMA BELOW
+021a LATIN CAPITAL LETTER T WITH COMMA BELOW
+021b LATIN SMALL LETTER T WITH COMMA BELOW
+021c LATIN CAPITAL LETTER YOGH
+021d LATIN SMALL LETTER YOGH
+021e LATIN CAPITAL LETTER H WITH CARON
+021f LATIN SMALL LETTER H WITH CARON
+0222 LATIN CAPITAL LETTER OU
+0223 LATIN SMALL LETTER OU
+0224 LATIN CAPITAL LETTER Z WITH HOOK
+0225 LATIN SMALL LETTER Z WITH HOOK
+0226 LATIN CAPITAL LETTER A WITH DOT ABOVE
+0227 LATIN SMALL LETTER A WITH DOT ABOVE
+0228 LATIN CAPITAL LETTER E WITH CEDILLA
+0229 LATIN SMALL LETTER E WITH CEDILLA
+022a LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+022b LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022c LATIN CAPITAL LETTER O WITH TILDE AND MACRON
+022d LATIN SMALL LETTER O WITH TILDE AND MACRON
+022e LATIN CAPITAL LETTER O WITH DOT ABOVE
+022f LATIN SMALL LETTER O WITH DOT ABOVE
+0230 LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON
+0231 LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON
+0232 LATIN CAPITAL LETTER Y WITH MACRON
+0233 LATIN SMALL LETTER Y WITH MACRON
0250 LATIN SMALL LETTER TURNED A
0251 LATIN SMALL LETTER ALPHA
0252 LATIN SMALL LETTER TURNED ALPHA
@@ -557,6 +587,11 @@ return <<'END';
02a6 LATIN SMALL LETTER TS DIGRAPH
02a7 LATIN SMALL LETTER TESH DIGRAPH
02a8 LATIN SMALL LETTER TC DIGRAPH WITH CURL
+02a9 LATIN SMALL LETTER FENG DIGRAPH
+02aa LATIN SMALL LETTER LS DIGRAPH
+02ab LATIN SMALL LETTER LZ DIGRAPH
+02ac LATIN LETTER BILABIAL PERCUSSIVE
+02ad LATIN LETTER BIDENTAL PERCUSSIVE
02b0 MODIFIER LETTER SMALL H
02b1 MODIFIER LETTER SMALL H WITH HOOK
02b2 MODIFIER LETTER SMALL J
@@ -604,6 +639,7 @@ return <<'END';
02dc SMALL TILDE
02dd DOUBLE ACUTE ACCENT
02de MODIFIER LETTER RHOTIC HOOK
+02df MODIFIER LETTER CROSS ACCENT
02e0 MODIFIER LETTER SMALL GAMMA
02e1 MODIFIER LETTER SMALL L
02e2 MODIFIER LETTER SMALL S
@@ -614,6 +650,11 @@ return <<'END';
02e7 MODIFIER LETTER MID TONE BAR
02e8 MODIFIER LETTER LOW TONE BAR
02e9 MODIFIER LETTER EXTRA-LOW TONE BAR
+02ea MODIFIER LETTER YIN DEPARTING TONE MARK
+02eb MODIFIER LETTER YANG DEPARTING TONE MARK
+02ec MODIFIER LETTER VOICING
+02ed MODIFIER LETTER UNASPIRATED
+02ee MODIFIER LETTER DOUBLE APOSTROPHE
0300 COMBINING GRAVE ACCENT
0301 COMBINING ACUTE ACCENT
0302 COMBINING CIRCUMFLEX ACCENT
@@ -684,8 +725,18 @@ return <<'END';
0343 COMBINING GREEK KORONIS
0344 COMBINING GREEK DIALYTIKA TONOS
0345 COMBINING GREEK YPOGEGRAMMENI
+0346 COMBINING BRIDGE ABOVE
+0347 COMBINING EQUALS SIGN BELOW
+0348 COMBINING DOUBLE VERTICAL LINE BELOW
+0349 COMBINING LEFT ANGLE BELOW
+034a COMBINING NOT TILDE ABOVE
+034b COMBINING HOMOTHETIC ABOVE
+034c COMBINING ALMOST EQUAL TO ABOVE
+034d COMBINING LEFT RIGHT ARROW BELOW
+034e COMBINING UPWARDS ARROW BELOW
0360 COMBINING DOUBLE TILDE
0361 COMBINING DOUBLE INVERTED BREVE
+0362 COMBINING DOUBLE RIGHTWARDS ARROW BELOW
0374 GREEK NUMERAL SIGN
0375 GREEK LOWER NUMERAL SIGN
037a GREEK YPOGEGRAMMENI
@@ -769,10 +820,15 @@ return <<'END';
03d4 GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL
03d5 GREEK PHI SYMBOL
03d6 GREEK PI SYMBOL
+03d7 GREEK KAI SYMBOL
03da GREEK LETTER STIGMA
+03db GREEK SMALL LETTER STIGMA
03dc GREEK LETTER DIGAMMA
+03dd GREEK SMALL LETTER DIGAMMA
03de GREEK LETTER KOPPA
+03df GREEK SMALL LETTER KOPPA
03e0 GREEK LETTER SAMPI
+03e1 GREEK SMALL LETTER SAMPI
03e2 COPTIC CAPITAL LETTER SHEI
03e3 COPTIC SMALL LETTER SHEI
03e4 COPTIC CAPITAL LETTER FEI
@@ -791,6 +847,7 @@ return <<'END';
03f1 GREEK RHO SYMBOL
03f2 GREEK LUNATE SIGMA SYMBOL
03f3 GREEK LETTER YOT
+0400 CYRILLIC CAPITAL LETTER IE WITH GRAVE
0401 CYRILLIC CAPITAL LETTER IO
0402 CYRILLIC CAPITAL LETTER DJE
0403 CYRILLIC CAPITAL LETTER GJE
@@ -803,6 +860,7 @@ return <<'END';
040a CYRILLIC CAPITAL LETTER NJE
040b CYRILLIC CAPITAL LETTER TSHE
040c CYRILLIC CAPITAL LETTER KJE
+040d CYRILLIC CAPITAL LETTER I WITH GRAVE
040e CYRILLIC CAPITAL LETTER SHORT U
040f CYRILLIC CAPITAL LETTER DZHE
0410 CYRILLIC CAPITAL LETTER A
@@ -869,6 +927,7 @@ return <<'END';
044d CYRILLIC SMALL LETTER E
044e CYRILLIC SMALL LETTER YU
044f CYRILLIC SMALL LETTER YA
+0450 CYRILLIC SMALL LETTER IE WITH GRAVE
0451 CYRILLIC SMALL LETTER IO
0452 CYRILLIC SMALL LETTER DJE
0453 CYRILLIC SMALL LETTER GJE
@@ -881,6 +940,7 @@ return <<'END';
045a CYRILLIC SMALL LETTER NJE
045b CYRILLIC SMALL LETTER TSHE
045c CYRILLIC SMALL LETTER KJE
+045d CYRILLIC SMALL LETTER I WITH GRAVE
045e CYRILLIC SMALL LETTER SHORT U
045f CYRILLIC SMALL LETTER DZHE
0460 CYRILLIC CAPITAL LETTER OMEGA
@@ -922,6 +982,12 @@ return <<'END';
0484 COMBINING CYRILLIC PALATALIZATION
0485 COMBINING CYRILLIC DASIA PNEUMATA
0486 COMBINING CYRILLIC PSILI PNEUMATA
+0488 COMBINING CYRILLIC HUNDRED THOUSANDS SIGN
+0489 COMBINING CYRILLIC MILLIONS SIGN
+048c CYRILLIC CAPITAL LETTER SEMISOFT SIGN
+048d CYRILLIC SMALL LETTER SEMISOFT SIGN
+048e CYRILLIC CAPITAL LETTER ER WITH TICK
+048f CYRILLIC SMALL LETTER ER WITH TICK
0490 CYRILLIC CAPITAL LETTER GHE WITH UPTURN
0491 CYRILLIC SMALL LETTER GHE WITH UPTURN
0492 CYRILLIC CAPITAL LETTER GHE WITH STROKE
@@ -1007,6 +1073,8 @@ return <<'END';
04e9 CYRILLIC SMALL LETTER BARRED O
04ea CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
04eb CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04ec CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+04ed CYRILLIC SMALL LETTER E WITH DIAERESIS
04ee CYRILLIC CAPITAL LETTER U WITH MACRON
04ef CYRILLIC SMALL LETTER U WITH MACRON
04f0 CYRILLIC CAPITAL LETTER U WITH DIAERESIS
@@ -1102,6 +1170,7 @@ return <<'END';
0586 ARMENIAN SMALL LETTER FEH
0587 ARMENIAN SMALL LIGATURE ECH YIWN
0589 ARMENIAN FULL STOP
+058a ARMENIAN HYPHEN
0591 HEBREW ACCENT ETNAHTA
0592 HEBREW ACCENT SEGOL
0593 HEBREW ACCENT SHALSHELET
@@ -1232,6 +1301,9 @@ return <<'END';
0650 ARABIC KASRA
0651 ARABIC SHADDA
0652 ARABIC SUKUN
+0653 ARABIC MADDAH ABOVE
+0654 ARABIC HAMZA ABOVE
+0655 ARABIC HAMZA BELOW
0660 ARABIC-INDIC DIGIT ZERO
0661 ARABIC-INDIC DIGIT ONE
0662 ARABIC-INDIC DIGIT TWO
@@ -1318,11 +1390,14 @@ return <<'END';
06b5 ARABIC LETTER LAM WITH SMALL V
06b6 ARABIC LETTER LAM WITH DOT ABOVE
06b7 ARABIC LETTER LAM WITH THREE DOTS ABOVE
+06b8 ARABIC LETTER LAM WITH THREE DOTS BELOW
+06b9 ARABIC LETTER NOON WITH DOT BELOW
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
+06bf ARABIC LETTER TCHEH WITH DOT ABOVE
06c0 ARABIC LETTER HEH WITH YEH ABOVE
06c1 ARABIC LETTER HEH GOAL
06c2 ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
@@ -1338,6 +1413,7 @@ return <<'END';
06cc ARABIC LETTER FARSI YEH
06cd ARABIC LETTER YEH WITH TAIL
06ce ARABIC LETTER YEH WITH SMALL V
+06cf ARABIC LETTER WAW WITH DOT ABOVE
06d0 ARABIC LETTER E
06d1 ARABIC LETTER YEH WITH THREE DOTS BELOW
06d2 ARABIC LETTER YEH BARREE
@@ -1378,6 +1454,131 @@ return <<'END';
06f7 EXTENDED ARABIC-INDIC DIGIT SEVEN
06f8 EXTENDED ARABIC-INDIC DIGIT EIGHT
06f9 EXTENDED ARABIC-INDIC DIGIT NINE
+06fa ARABIC LETTER SHEEN WITH DOT BELOW
+06fb ARABIC LETTER DAD WITH DOT BELOW
+06fc ARABIC LETTER GHAIN WITH DOT BELOW
+06fd ARABIC SIGN SINDHI AMPERSAND
+06fe ARABIC SIGN SINDHI POSTPOSITION MEN
+0700 SYRIAC END OF PARAGRAPH
+0701 SYRIAC SUPRALINEAR FULL STOP
+0702 SYRIAC SUBLINEAR FULL STOP
+0703 SYRIAC SUPRALINEAR COLON
+0704 SYRIAC SUBLINEAR COLON
+0705 SYRIAC HORIZONTAL COLON
+0706 SYRIAC COLON SKEWED LEFT
+0707 SYRIAC COLON SKEWED RIGHT
+0708 SYRIAC SUPRALINEAR COLON SKEWED LEFT
+0709 SYRIAC SUBLINEAR COLON SKEWED RIGHT
+070a SYRIAC CONTRACTION
+070b SYRIAC HARKLEAN OBELUS
+070c SYRIAC HARKLEAN METOBELUS
+070d SYRIAC HARKLEAN ASTERISCUS
+070f SYRIAC ABBREVIATION MARK
+0710 SYRIAC LETTER ALAPH
+0711 SYRIAC LETTER SUPERSCRIPT ALAPH
+0712 SYRIAC LETTER BETH
+0713 SYRIAC LETTER GAMAL
+0714 SYRIAC LETTER GAMAL GARSHUNI
+0715 SYRIAC LETTER DALATH
+0716 SYRIAC LETTER DOTLESS DALATH RISH
+0717 SYRIAC LETTER HE
+0718 SYRIAC LETTER WAW
+0719 SYRIAC LETTER ZAIN
+071a SYRIAC LETTER HETH
+071b SYRIAC LETTER TETH
+071c SYRIAC LETTER TETH GARSHUNI
+071d SYRIAC LETTER YUDH
+071e SYRIAC LETTER YUDH HE
+071f SYRIAC LETTER KAPH
+0720 SYRIAC LETTER LAMADH
+0721 SYRIAC LETTER MIM
+0722 SYRIAC LETTER NUN
+0723 SYRIAC LETTER SEMKATH
+0724 SYRIAC LETTER FINAL SEMKATH
+0725 SYRIAC LETTER E
+0726 SYRIAC LETTER PE
+0727 SYRIAC LETTER REVERSED PE
+0728 SYRIAC LETTER SADHE
+0729 SYRIAC LETTER QAPH
+072a SYRIAC LETTER RISH
+072b SYRIAC LETTER SHIN
+072c SYRIAC LETTER TAW
+0730 SYRIAC PTHAHA ABOVE
+0731 SYRIAC PTHAHA BELOW
+0732 SYRIAC PTHAHA DOTTED
+0733 SYRIAC ZQAPHA ABOVE
+0734 SYRIAC ZQAPHA BELOW
+0735 SYRIAC ZQAPHA DOTTED
+0736 SYRIAC RBASA ABOVE
+0737 SYRIAC RBASA BELOW
+0738 SYRIAC DOTTED ZLAMA HORIZONTAL
+0739 SYRIAC DOTTED ZLAMA ANGULAR
+073a SYRIAC HBASA ABOVE
+073b SYRIAC HBASA BELOW
+073c SYRIAC HBASA-ESASA DOTTED
+073d SYRIAC ESASA ABOVE
+073e SYRIAC ESASA BELOW
+073f SYRIAC RWAHA
+0740 SYRIAC FEMININE DOT
+0741 SYRIAC QUSHSHAYA
+0742 SYRIAC RUKKAKHA
+0743 SYRIAC TWO VERTICAL DOTS ABOVE
+0744 SYRIAC TWO VERTICAL DOTS BELOW
+0745 SYRIAC THREE DOTS ABOVE
+0746 SYRIAC THREE DOTS BELOW
+0747 SYRIAC OBLIQUE LINE ABOVE
+0748 SYRIAC OBLIQUE LINE BELOW
+0749 SYRIAC MUSIC
+074a SYRIAC BARREKH
+0780 THAANA LETTER HAA
+0781 THAANA LETTER SHAVIYANI
+0782 THAANA LETTER NOONU
+0783 THAANA LETTER RAA
+0784 THAANA LETTER BAA
+0785 THAANA LETTER LHAVIYANI
+0786 THAANA LETTER KAAFU
+0787 THAANA LETTER ALIFU
+0788 THAANA LETTER VAAVU
+0789 THAANA LETTER MEEMU
+078a THAANA LETTER FAAFU
+078b THAANA LETTER DHAALU
+078c THAANA LETTER THAA
+078d THAANA LETTER LAAMU
+078e THAANA LETTER GAAFU
+078f THAANA LETTER GNAVIYANI
+0790 THAANA LETTER SEENU
+0791 THAANA LETTER DAVIYANI
+0792 THAANA LETTER ZAVIYANI
+0793 THAANA LETTER TAVIYANI
+0794 THAANA LETTER YAA
+0795 THAANA LETTER PAVIYANI
+0796 THAANA LETTER JAVIYANI
+0797 THAANA LETTER CHAVIYANI
+0798 THAANA LETTER TTAA
+0799 THAANA LETTER HHAA
+079a THAANA LETTER KHAA
+079b THAANA LETTER THAALU
+079c THAANA LETTER ZAA
+079d THAANA LETTER SHEENU
+079e THAANA LETTER SAADHU
+079f THAANA LETTER DAADHU
+07a0 THAANA LETTER TO
+07a1 THAANA LETTER ZO
+07a2 THAANA LETTER AINU
+07a3 THAANA LETTER GHAINU
+07a4 THAANA LETTER QAAFU
+07a5 THAANA LETTER WAAVU
+07a6 THAANA ABAFILI
+07a7 THAANA AABAAFILI
+07a8 THAANA IBIFILI
+07a9 THAANA EEBEEFILI
+07aa THAANA UBUFILI
+07ab THAANA OOBOOFILI
+07ac THAANA EBEFILI
+07ad THAANA EYBEYFILI
+07ae THAANA OBOFILI
+07af THAANA OABOAFILI
+07b0 THAANA SUKUN
0901 DEVANAGARI SIGN CANDRABINDU
0902 DEVANAGARI SIGN ANUSVARA
0903 DEVANAGARI SIGN VISARGA
@@ -2102,6 +2303,86 @@ return <<'END';
0d6d MALAYALAM DIGIT SEVEN
0d6e MALAYALAM DIGIT EIGHT
0d6f MALAYALAM DIGIT NINE
+0d82 SINHALA SIGN ANUSVARAYA
+0d83 SINHALA SIGN VISARGAYA
+0d85 SINHALA LETTER AYANNA
+0d86 SINHALA LETTER AAYANNA
+0d87 SINHALA LETTER AEYANNA
+0d88 SINHALA LETTER AEEYANNA
+0d89 SINHALA LETTER IYANNA
+0d8a SINHALA LETTER IIYANNA
+0d8b SINHALA LETTER UYANNA
+0d8c SINHALA LETTER UUYANNA
+0d8d SINHALA LETTER IRUYANNA
+0d8e SINHALA LETTER IRUUYANNA
+0d8f SINHALA LETTER ILUYANNA
+0d90 SINHALA LETTER ILUUYANNA
+0d91 SINHALA LETTER EYANNA
+0d92 SINHALA LETTER EEYANNA
+0d93 SINHALA LETTER AIYANNA
+0d94 SINHALA LETTER OYANNA
+0d95 SINHALA LETTER OOYANNA
+0d96 SINHALA LETTER AUYANNA
+0d9a SINHALA LETTER ALPAPRAANA KAYANNA
+0d9b SINHALA LETTER MAHAAPRAANA KAYANNA
+0d9c SINHALA LETTER ALPAPRAANA GAYANNA
+0d9d SINHALA LETTER MAHAAPRAANA GAYANNA
+0d9e SINHALA LETTER KANTAJA NAASIKYAYA
+0d9f SINHALA LETTER SANYAKA GAYANNA
+0da0 SINHALA LETTER ALPAPRAANA CAYANNA
+0da1 SINHALA LETTER MAHAAPRAANA CAYANNA
+0da2 SINHALA LETTER ALPAPRAANA JAYANNA
+0da3 SINHALA LETTER MAHAAPRAANA JAYANNA
+0da4 SINHALA LETTER TAALUJA NAASIKYAYA
+0da5 SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
+0da6 SINHALA LETTER SANYAKA JAYANNA
+0da7 SINHALA LETTER ALPAPRAANA TTAYANNA
+0da8 SINHALA LETTER MAHAAPRAANA TTAYANNA
+0da9 SINHALA LETTER ALPAPRAANA DDAYANNA
+0daa SINHALA LETTER MAHAAPRAANA DDAYANNA
+0dab SINHALA LETTER MUURDHAJA NAYANNA
+0dac SINHALA LETTER SANYAKA DDAYANNA
+0dad SINHALA LETTER ALPAPRAANA TAYANNA
+0dae SINHALA LETTER MAHAAPRAANA TAYANNA
+0daf SINHALA LETTER ALPAPRAANA DAYANNA
+0db0 SINHALA LETTER MAHAAPRAANA DAYANNA
+0db1 SINHALA LETTER DANTAJA NAYANNA
+0db3 SINHALA LETTER SANYAKA DAYANNA
+0db4 SINHALA LETTER ALPAPRAANA PAYANNA
+0db5 SINHALA LETTER MAHAAPRAANA PAYANNA
+0db6 SINHALA LETTER ALPAPRAANA BAYANNA
+0db7 SINHALA LETTER MAHAAPRAANA BAYANNA
+0db8 SINHALA LETTER MAYANNA
+0db9 SINHALA LETTER AMBA BAYANNA
+0dba SINHALA LETTER YAYANNA
+0dbb SINHALA LETTER RAYANNA
+0dbd SINHALA LETTER DANTAJA LAYANNA
+0dc0 SINHALA LETTER VAYANNA
+0dc1 SINHALA LETTER TAALUJA SAYANNA
+0dc2 SINHALA LETTER MUURDHAJA SAYANNA
+0dc3 SINHALA LETTER DANTAJA SAYANNA
+0dc4 SINHALA LETTER HAYANNA
+0dc5 SINHALA LETTER MUURDHAJA LAYANNA
+0dc6 SINHALA LETTER FAYANNA
+0dca SINHALA SIGN AL-LAKUNA
+0dcf SINHALA VOWEL SIGN AELA-PILLA
+0dd0 SINHALA VOWEL SIGN KETTI AEDA-PILLA
+0dd1 SINHALA VOWEL SIGN DIGA AEDA-PILLA
+0dd2 SINHALA VOWEL SIGN KETTI IS-PILLA
+0dd3 SINHALA VOWEL SIGN DIGA IS-PILLA
+0dd4 SINHALA VOWEL SIGN KETTI PAA-PILLA
+0dd6 SINHALA VOWEL SIGN DIGA PAA-PILLA
+0dd8 SINHALA VOWEL SIGN GAETTA-PILLA
+0dd9 SINHALA VOWEL SIGN KOMBUVA
+0dda SINHALA VOWEL SIGN DIGA KOMBUVA
+0ddb SINHALA VOWEL SIGN KOMBU DEKA
+0ddc SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
+0ddd SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
+0dde SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
+0ddf SINHALA VOWEL SIGN GAYANUKITTA
+0df2 SINHALA VOWEL SIGN DIGA GAETTA-PILLA
+0df3 SINHALA VOWEL SIGN DIGA GAYANUKITTA
+0df4 SINHALA PUNCTUATION KUNDDALIYA
0e01 THAI CHARACTER KO KAI
0e02 THAI CHARACTER KHO KHAI
0e03 THAI CHARACTER KHO KHUAT
@@ -2359,6 +2640,7 @@ return <<'END';
0f67 TIBETAN LETTER HA
0f68 TIBETAN LETTER A
0f69 TIBETAN LETTER KSSA
+0f6a TIBETAN LETTER FIXED-FORM RA
0f71 TIBETAN VOWEL SIGN AA
0f72 TIBETAN VOWEL SIGN I
0f73 TIBETAN VOWEL SIGN II
@@ -2392,6 +2674,7 @@ return <<'END';
0f93 TIBETAN SUBJOINED LETTER GHA
0f94 TIBETAN SUBJOINED LETTER NGA
0f95 TIBETAN SUBJOINED LETTER CA
+0f96 TIBETAN SUBJOINED LETTER CHA
0f97 TIBETAN SUBJOINED LETTER JA
0f99 TIBETAN SUBJOINED LETTER NYA
0f9a TIBETAN SUBJOINED LETTER TTA
@@ -2414,6 +2697,9 @@ return <<'END';
0fab TIBETAN SUBJOINED LETTER DZA
0fac TIBETAN SUBJOINED LETTER DZHA
0fad TIBETAN SUBJOINED LETTER WA
+0fae TIBETAN SUBJOINED LETTER ZHA
+0faf TIBETAN SUBJOINED LETTER ZA
+0fb0 TIBETAN SUBJOINED LETTER -A
0fb1 TIBETAN SUBJOINED LETTER YA
0fb2 TIBETAN SUBJOINED LETTER RA
0fb3 TIBETAN SUBJOINED LETTER LA
@@ -2421,7 +2707,105 @@ return <<'END';
0fb5 TIBETAN SUBJOINED LETTER SSA
0fb6 TIBETAN SUBJOINED LETTER SA
0fb7 TIBETAN SUBJOINED LETTER HA
+0fb8 TIBETAN SUBJOINED LETTER A
0fb9 TIBETAN SUBJOINED LETTER KSSA
+0fba TIBETAN SUBJOINED LETTER FIXED-FORM WA
+0fbb TIBETAN SUBJOINED LETTER FIXED-FORM YA
+0fbc TIBETAN SUBJOINED LETTER FIXED-FORM RA
+0fbe TIBETAN KU RU KHA
+0fbf TIBETAN KU RU KHA BZHI MIG CAN
+0fc0 TIBETAN CANTILLATION SIGN HEAVY BEAT
+0fc1 TIBETAN CANTILLATION SIGN LIGHT BEAT
+0fc2 TIBETAN CANTILLATION SIGN CANG TE-U
+0fc3 TIBETAN CANTILLATION SIGN SBUB -CHAL
+0fc4 TIBETAN SYMBOL DRIL BU
+0fc5 TIBETAN SYMBOL RDO RJE
+0fc6 TIBETAN SYMBOL PADMA GDAN
+0fc7 TIBETAN SYMBOL RDO RJE RGYA GRAM
+0fc8 TIBETAN SYMBOL PHUR PA
+0fc9 TIBETAN SYMBOL NOR BU
+0fca TIBETAN SYMBOL NOR BU NYIS -KHYIL
+0fcb TIBETAN SYMBOL NOR BU GSUM -KHYIL
+0fcc TIBETAN SYMBOL NOR BU BZHI -KHYIL
+0fcf TIBETAN SIGN RDEL NAG GSUM
+1000 MYANMAR LETTER KA
+1001 MYANMAR LETTER KHA
+1002 MYANMAR LETTER GA
+1003 MYANMAR LETTER GHA
+1004 MYANMAR LETTER NGA
+1005 MYANMAR LETTER CA
+1006 MYANMAR LETTER CHA
+1007 MYANMAR LETTER JA
+1008 MYANMAR LETTER JHA
+1009 MYANMAR LETTER NYA
+100a MYANMAR LETTER NNYA
+100b MYANMAR LETTER TTA
+100c MYANMAR LETTER TTHA
+100d MYANMAR LETTER DDA
+100e MYANMAR LETTER DDHA
+100f MYANMAR LETTER NNA
+1010 MYANMAR LETTER TA
+1011 MYANMAR LETTER THA
+1012 MYANMAR LETTER DA
+1013 MYANMAR LETTER DHA
+1014 MYANMAR LETTER NA
+1015 MYANMAR LETTER PA
+1016 MYANMAR LETTER PHA
+1017 MYANMAR LETTER BA
+1018 MYANMAR LETTER BHA
+1019 MYANMAR LETTER MA
+101a MYANMAR LETTER YA
+101b MYANMAR LETTER RA
+101c MYANMAR LETTER LA
+101d MYANMAR LETTER WA
+101e MYANMAR LETTER SA
+101f MYANMAR LETTER HA
+1020 MYANMAR LETTER LLA
+1021 MYANMAR LETTER A
+1023 MYANMAR LETTER I
+1024 MYANMAR LETTER II
+1025 MYANMAR LETTER U
+1026 MYANMAR LETTER UU
+1027 MYANMAR LETTER E
+1029 MYANMAR LETTER O
+102a MYANMAR LETTER AU
+102c MYANMAR VOWEL SIGN AA
+102d MYANMAR VOWEL SIGN I
+102e MYANMAR VOWEL SIGN II
+102f MYANMAR VOWEL SIGN U
+1030 MYANMAR VOWEL SIGN UU
+1031 MYANMAR VOWEL SIGN E
+1032 MYANMAR VOWEL SIGN AI
+1036 MYANMAR SIGN ANUSVARA
+1037 MYANMAR SIGN DOT BELOW
+1038 MYANMAR SIGN VISARGA
+1039 MYANMAR SIGN VIRAMA
+1040 MYANMAR DIGIT ZERO
+1041 MYANMAR DIGIT ONE
+1042 MYANMAR DIGIT TWO
+1043 MYANMAR DIGIT THREE
+1044 MYANMAR DIGIT FOUR
+1045 MYANMAR DIGIT FIVE
+1046 MYANMAR DIGIT SIX
+1047 MYANMAR DIGIT SEVEN
+1048 MYANMAR DIGIT EIGHT
+1049 MYANMAR DIGIT NINE
+104a MYANMAR SIGN LITTLE SECTION
+104b MYANMAR SIGN SECTION
+104c MYANMAR SYMBOL LOCATIVE
+104d MYANMAR SYMBOL COMPLETED
+104e MYANMAR SYMBOL AFOREMENTIONED
+104f MYANMAR SYMBOL GENITIVE
+1050 MYANMAR LETTER SHA
+1051 MYANMAR LETTER SSA
+1052 MYANMAR LETTER VOCALIC R
+1053 MYANMAR LETTER VOCALIC RR
+1054 MYANMAR LETTER VOCALIC L
+1055 MYANMAR LETTER VOCALIC LL
+1056 MYANMAR VOWEL SIGN VOCALIC R
+1057 MYANMAR VOWEL SIGN VOCALIC RR
+1058 MYANMAR VOWEL SIGN VOCALIC L
+1059 MYANMAR VOWEL SIGN VOCALIC LL
10a0 GEORGIAN CAPITAL LETTER AN
10a1 GEORGIAN CAPITAL LETTER BAN
10a2 GEORGIAN CAPITAL LETTER GAN
@@ -3085,6 +3469,1089 @@ return <<'END';
137a ETHIOPIC NUMBER NINETY
137b ETHIOPIC NUMBER HUNDRED
137c ETHIOPIC NUMBER TEN THOUSAND
+13a0 CHEROKEE LETTER A
+13a1 CHEROKEE LETTER E
+13a2 CHEROKEE LETTER I
+13a3 CHEROKEE LETTER O
+13a4 CHEROKEE LETTER U
+13a5 CHEROKEE LETTER V
+13a6 CHEROKEE LETTER GA
+13a7 CHEROKEE LETTER KA
+13a8 CHEROKEE LETTER GE
+13a9 CHEROKEE LETTER GI
+13aa CHEROKEE LETTER GO
+13ab CHEROKEE LETTER GU
+13ac CHEROKEE LETTER GV
+13ad CHEROKEE LETTER HA
+13ae CHEROKEE LETTER HE
+13af CHEROKEE LETTER HI
+13b0 CHEROKEE LETTER HO
+13b1 CHEROKEE LETTER HU
+13b2 CHEROKEE LETTER HV
+13b3 CHEROKEE LETTER LA
+13b4 CHEROKEE LETTER LE
+13b5 CHEROKEE LETTER LI
+13b6 CHEROKEE LETTER LO
+13b7 CHEROKEE LETTER LU
+13b8 CHEROKEE LETTER LV
+13b9 CHEROKEE LETTER MA
+13ba CHEROKEE LETTER ME
+13bb CHEROKEE LETTER MI
+13bc CHEROKEE LETTER MO
+13bd CHEROKEE LETTER MU
+13be CHEROKEE LETTER NA
+13bf CHEROKEE LETTER HNA
+13c0 CHEROKEE LETTER NAH
+13c1 CHEROKEE LETTER NE
+13c2 CHEROKEE LETTER NI
+13c3 CHEROKEE LETTER NO
+13c4 CHEROKEE LETTER NU
+13c5 CHEROKEE LETTER NV
+13c6 CHEROKEE LETTER QUA
+13c7 CHEROKEE LETTER QUE
+13c8 CHEROKEE LETTER QUI
+13c9 CHEROKEE LETTER QUO
+13ca CHEROKEE LETTER QUU
+13cb CHEROKEE LETTER QUV
+13cc CHEROKEE LETTER SA
+13cd CHEROKEE LETTER S
+13ce CHEROKEE LETTER SE
+13cf CHEROKEE LETTER SI
+13d0 CHEROKEE LETTER SO
+13d1 CHEROKEE LETTER SU
+13d2 CHEROKEE LETTER SV
+13d3 CHEROKEE LETTER DA
+13d4 CHEROKEE LETTER TA
+13d5 CHEROKEE LETTER DE
+13d6 CHEROKEE LETTER TE
+13d7 CHEROKEE LETTER DI
+13d8 CHEROKEE LETTER TI
+13d9 CHEROKEE LETTER DO
+13da CHEROKEE LETTER DU
+13db CHEROKEE LETTER DV
+13dc CHEROKEE LETTER DLA
+13dd CHEROKEE LETTER TLA
+13de CHEROKEE LETTER TLE
+13df CHEROKEE LETTER TLI
+13e0 CHEROKEE LETTER TLO
+13e1 CHEROKEE LETTER TLU
+13e2 CHEROKEE LETTER TLV
+13e3 CHEROKEE LETTER TSA
+13e4 CHEROKEE LETTER TSE
+13e5 CHEROKEE LETTER TSI
+13e6 CHEROKEE LETTER TSO
+13e7 CHEROKEE LETTER TSU
+13e8 CHEROKEE LETTER TSV
+13e9 CHEROKEE LETTER WA
+13ea CHEROKEE LETTER WE
+13eb CHEROKEE LETTER WI
+13ec CHEROKEE LETTER WO
+13ed CHEROKEE LETTER WU
+13ee CHEROKEE LETTER WV
+13ef CHEROKEE LETTER YA
+13f0 CHEROKEE LETTER YE
+13f1 CHEROKEE LETTER YI
+13f2 CHEROKEE LETTER YO
+13f3 CHEROKEE LETTER YU
+13f4 CHEROKEE LETTER YV
+1401 CANADIAN SYLLABICS E
+1402 CANADIAN SYLLABICS AAI
+1403 CANADIAN SYLLABICS I
+1404 CANADIAN SYLLABICS II
+1405 CANADIAN SYLLABICS O
+1406 CANADIAN SYLLABICS OO
+1407 CANADIAN SYLLABICS Y-CREE OO
+1408 CANADIAN SYLLABICS CARRIER EE
+1409 CANADIAN SYLLABICS CARRIER I
+140a CANADIAN SYLLABICS A
+140b CANADIAN SYLLABICS AA
+140c CANADIAN SYLLABICS WE
+140d CANADIAN SYLLABICS WEST-CREE WE
+140e CANADIAN SYLLABICS WI
+140f CANADIAN SYLLABICS WEST-CREE WI
+1410 CANADIAN SYLLABICS WII
+1411 CANADIAN SYLLABICS WEST-CREE WII
+1412 CANADIAN SYLLABICS WO
+1413 CANADIAN SYLLABICS WEST-CREE WO
+1414 CANADIAN SYLLABICS WOO
+1415 CANADIAN SYLLABICS WEST-CREE WOO
+1416 CANADIAN SYLLABICS NASKAPI WOO
+1417 CANADIAN SYLLABICS WA
+1418 CANADIAN SYLLABICS WEST-CREE WA
+1419 CANADIAN SYLLABICS WAA
+141a CANADIAN SYLLABICS WEST-CREE WAA
+141b CANADIAN SYLLABICS NASKAPI WAA
+141c CANADIAN SYLLABICS AI
+141d CANADIAN SYLLABICS Y-CREE W
+141e CANADIAN SYLLABICS GLOTTAL STOP
+141f CANADIAN SYLLABICS FINAL ACUTE
+1420 CANADIAN SYLLABICS FINAL GRAVE
+1421 CANADIAN SYLLABICS FINAL BOTTOM HALF RING
+1422 CANADIAN SYLLABICS FINAL TOP HALF RING
+1423 CANADIAN SYLLABICS FINAL RIGHT HALF RING
+1424 CANADIAN SYLLABICS FINAL RING
+1425 CANADIAN SYLLABICS FINAL DOUBLE ACUTE
+1426 CANADIAN SYLLABICS FINAL DOUBLE SHORT VERTICAL STROKES
+1427 CANADIAN SYLLABICS FINAL MIDDLE DOT
+1428 CANADIAN SYLLABICS FINAL SHORT HORIZONTAL STROKE
+1429 CANADIAN SYLLABICS FINAL PLUS
+142a CANADIAN SYLLABICS FINAL DOWN TACK
+142b CANADIAN SYLLABICS EN
+142c CANADIAN SYLLABICS IN
+142d CANADIAN SYLLABICS ON
+142e CANADIAN SYLLABICS AN
+142f CANADIAN SYLLABICS PE
+1430 CANADIAN SYLLABICS PAAI
+1431 CANADIAN SYLLABICS PI
+1432 CANADIAN SYLLABICS PII
+1433 CANADIAN SYLLABICS PO
+1434 CANADIAN SYLLABICS POO
+1435 CANADIAN SYLLABICS Y-CREE POO
+1436 CANADIAN SYLLABICS CARRIER HEE
+1437 CANADIAN SYLLABICS CARRIER HI
+1438 CANADIAN SYLLABICS PA
+1439 CANADIAN SYLLABICS PAA
+143a CANADIAN SYLLABICS PWE
+143b CANADIAN SYLLABICS WEST-CREE PWE
+143c CANADIAN SYLLABICS PWI
+143d CANADIAN SYLLABICS WEST-CREE PWI
+143e CANADIAN SYLLABICS PWII
+143f CANADIAN SYLLABICS WEST-CREE PWII
+1440 CANADIAN SYLLABICS PWO
+1441 CANADIAN SYLLABICS WEST-CREE PWO
+1442 CANADIAN SYLLABICS PWOO
+1443 CANADIAN SYLLABICS WEST-CREE PWOO
+1444 CANADIAN SYLLABICS PWA
+1445 CANADIAN SYLLABICS WEST-CREE PWA
+1446 CANADIAN SYLLABICS PWAA
+1447 CANADIAN SYLLABICS WEST-CREE PWAA
+1448 CANADIAN SYLLABICS Y-CREE PWAA
+1449 CANADIAN SYLLABICS P
+144a CANADIAN SYLLABICS WEST-CREE P
+144b CANADIAN SYLLABICS CARRIER H
+144c CANADIAN SYLLABICS TE
+144d CANADIAN SYLLABICS TAAI
+144e CANADIAN SYLLABICS TI
+144f CANADIAN SYLLABICS TII
+1450 CANADIAN SYLLABICS TO
+1451 CANADIAN SYLLABICS TOO
+1452 CANADIAN SYLLABICS Y-CREE TOO
+1453 CANADIAN SYLLABICS CARRIER DEE
+1454 CANADIAN SYLLABICS CARRIER DI
+1455 CANADIAN SYLLABICS TA
+1456 CANADIAN SYLLABICS TAA
+1457 CANADIAN SYLLABICS TWE
+1458 CANADIAN SYLLABICS WEST-CREE TWE
+1459 CANADIAN SYLLABICS TWI
+145a CANADIAN SYLLABICS WEST-CREE TWI
+145b CANADIAN SYLLABICS TWII
+145c CANADIAN SYLLABICS WEST-CREE TWII
+145d CANADIAN SYLLABICS TWO
+145e CANADIAN SYLLABICS WEST-CREE TWO
+145f CANADIAN SYLLABICS TWOO
+1460 CANADIAN SYLLABICS WEST-CREE TWOO
+1461 CANADIAN SYLLABICS TWA
+1462 CANADIAN SYLLABICS WEST-CREE TWA
+1463 CANADIAN SYLLABICS TWAA
+1464 CANADIAN SYLLABICS WEST-CREE TWAA
+1465 CANADIAN SYLLABICS NASKAPI TWAA
+1466 CANADIAN SYLLABICS T
+1467 CANADIAN SYLLABICS TTE
+1468 CANADIAN SYLLABICS TTI
+1469 CANADIAN SYLLABICS TTO
+146a CANADIAN SYLLABICS TTA
+146b CANADIAN SYLLABICS KE
+146c CANADIAN SYLLABICS KAAI
+146d CANADIAN SYLLABICS KI
+146e CANADIAN SYLLABICS KII
+146f CANADIAN SYLLABICS KO
+1470 CANADIAN SYLLABICS KOO
+1471 CANADIAN SYLLABICS Y-CREE KOO
+1472 CANADIAN SYLLABICS KA
+1473 CANADIAN SYLLABICS KAA
+1474 CANADIAN SYLLABICS KWE
+1475 CANADIAN SYLLABICS WEST-CREE KWE
+1476 CANADIAN SYLLABICS KWI
+1477 CANADIAN SYLLABICS WEST-CREE KWI
+1478 CANADIAN SYLLABICS KWII
+1479 CANADIAN SYLLABICS WEST-CREE KWII
+147a CANADIAN SYLLABICS KWO
+147b CANADIAN SYLLABICS WEST-CREE KWO
+147c CANADIAN SYLLABICS KWOO
+147d CANADIAN SYLLABICS WEST-CREE KWOO
+147e CANADIAN SYLLABICS KWA
+147f CANADIAN SYLLABICS WEST-CREE KWA
+1480 CANADIAN SYLLABICS KWAA
+1481 CANADIAN SYLLABICS WEST-CREE KWAA
+1482 CANADIAN SYLLABICS NASKAPI KWAA
+1483 CANADIAN SYLLABICS K
+1484 CANADIAN SYLLABICS KW
+1485 CANADIAN SYLLABICS SOUTH-SLAVEY KEH
+1486 CANADIAN SYLLABICS SOUTH-SLAVEY KIH
+1487 CANADIAN SYLLABICS SOUTH-SLAVEY KOH
+1488 CANADIAN SYLLABICS SOUTH-SLAVEY KAH
+1489 CANADIAN SYLLABICS CE
+148a CANADIAN SYLLABICS CAAI
+148b CANADIAN SYLLABICS CI
+148c CANADIAN SYLLABICS CII
+148d CANADIAN SYLLABICS CO
+148e CANADIAN SYLLABICS COO
+148f CANADIAN SYLLABICS Y-CREE COO
+1490 CANADIAN SYLLABICS CA
+1491 CANADIAN SYLLABICS CAA
+1492 CANADIAN SYLLABICS CWE
+1493 CANADIAN SYLLABICS WEST-CREE CWE
+1494 CANADIAN SYLLABICS CWI
+1495 CANADIAN SYLLABICS WEST-CREE CWI
+1496 CANADIAN SYLLABICS CWII
+1497 CANADIAN SYLLABICS WEST-CREE CWII
+1498 CANADIAN SYLLABICS CWO
+1499 CANADIAN SYLLABICS WEST-CREE CWO
+149a CANADIAN SYLLABICS CWOO
+149b CANADIAN SYLLABICS WEST-CREE CWOO
+149c CANADIAN SYLLABICS CWA
+149d CANADIAN SYLLABICS WEST-CREE CWA
+149e CANADIAN SYLLABICS CWAA
+149f CANADIAN SYLLABICS WEST-CREE CWAA
+14a0 CANADIAN SYLLABICS NASKAPI CWAA
+14a1 CANADIAN SYLLABICS C
+14a2 CANADIAN SYLLABICS SAYISI TH
+14a3 CANADIAN SYLLABICS ME
+14a4 CANADIAN SYLLABICS MAAI
+14a5 CANADIAN SYLLABICS MI
+14a6 CANADIAN SYLLABICS MII
+14a7 CANADIAN SYLLABICS MO
+14a8 CANADIAN SYLLABICS MOO
+14a9 CANADIAN SYLLABICS Y-CREE MOO
+14aa CANADIAN SYLLABICS MA
+14ab CANADIAN SYLLABICS MAA
+14ac CANADIAN SYLLABICS MWE
+14ad CANADIAN SYLLABICS WEST-CREE MWE
+14ae CANADIAN SYLLABICS MWI
+14af CANADIAN SYLLABICS WEST-CREE MWI
+14b0 CANADIAN SYLLABICS MWII
+14b1 CANADIAN SYLLABICS WEST-CREE MWII
+14b2 CANADIAN SYLLABICS MWO
+14b3 CANADIAN SYLLABICS WEST-CREE MWO
+14b4 CANADIAN SYLLABICS MWOO
+14b5 CANADIAN SYLLABICS WEST-CREE MWOO
+14b6 CANADIAN SYLLABICS MWA
+14b7 CANADIAN SYLLABICS WEST-CREE MWA
+14b8 CANADIAN SYLLABICS MWAA
+14b9 CANADIAN SYLLABICS WEST-CREE MWAA
+14ba CANADIAN SYLLABICS NASKAPI MWAA
+14bb CANADIAN SYLLABICS M
+14bc CANADIAN SYLLABICS WEST-CREE M
+14bd CANADIAN SYLLABICS MH
+14be CANADIAN SYLLABICS ATHAPASCAN M
+14bf CANADIAN SYLLABICS SAYISI M
+14c0 CANADIAN SYLLABICS NE
+14c1 CANADIAN SYLLABICS NAAI
+14c2 CANADIAN SYLLABICS NI
+14c3 CANADIAN SYLLABICS NII
+14c4 CANADIAN SYLLABICS NO
+14c5 CANADIAN SYLLABICS NOO
+14c6 CANADIAN SYLLABICS Y-CREE NOO
+14c7 CANADIAN SYLLABICS NA
+14c8 CANADIAN SYLLABICS NAA
+14c9 CANADIAN SYLLABICS NWE
+14ca CANADIAN SYLLABICS WEST-CREE NWE
+14cb CANADIAN SYLLABICS NWA
+14cc CANADIAN SYLLABICS WEST-CREE NWA
+14cd CANADIAN SYLLABICS NWAA
+14ce CANADIAN SYLLABICS WEST-CREE NWAA
+14cf CANADIAN SYLLABICS NASKAPI NWAA
+14d0 CANADIAN SYLLABICS N
+14d1 CANADIAN SYLLABICS CARRIER NG
+14d2 CANADIAN SYLLABICS NH
+14d3 CANADIAN SYLLABICS LE
+14d4 CANADIAN SYLLABICS LAAI
+14d5 CANADIAN SYLLABICS LI
+14d6 CANADIAN SYLLABICS LII
+14d7 CANADIAN SYLLABICS LO
+14d8 CANADIAN SYLLABICS LOO
+14d9 CANADIAN SYLLABICS Y-CREE LOO
+14da CANADIAN SYLLABICS LA
+14db CANADIAN SYLLABICS LAA
+14dc CANADIAN SYLLABICS LWE
+14dd CANADIAN SYLLABICS WEST-CREE LWE
+14de CANADIAN SYLLABICS LWI
+14df CANADIAN SYLLABICS WEST-CREE LWI
+14e0 CANADIAN SYLLABICS LWII
+14e1 CANADIAN SYLLABICS WEST-CREE LWII
+14e2 CANADIAN SYLLABICS LWO
+14e3 CANADIAN SYLLABICS WEST-CREE LWO
+14e4 CANADIAN SYLLABICS LWOO
+14e5 CANADIAN SYLLABICS WEST-CREE LWOO
+14e6 CANADIAN SYLLABICS LWA
+14e7 CANADIAN SYLLABICS WEST-CREE LWA
+14e8 CANADIAN SYLLABICS LWAA
+14e9 CANADIAN SYLLABICS WEST-CREE LWAA
+14ea CANADIAN SYLLABICS L
+14eb CANADIAN SYLLABICS WEST-CREE L
+14ec CANADIAN SYLLABICS MEDIAL L
+14ed CANADIAN SYLLABICS SE
+14ee CANADIAN SYLLABICS SAAI
+14ef CANADIAN SYLLABICS SI
+14f0 CANADIAN SYLLABICS SII
+14f1 CANADIAN SYLLABICS SO
+14f2 CANADIAN SYLLABICS SOO
+14f3 CANADIAN SYLLABICS Y-CREE SOO
+14f4 CANADIAN SYLLABICS SA
+14f5 CANADIAN SYLLABICS SAA
+14f6 CANADIAN SYLLABICS SWE
+14f7 CANADIAN SYLLABICS WEST-CREE SWE
+14f8 CANADIAN SYLLABICS SWI
+14f9 CANADIAN SYLLABICS WEST-CREE SWI
+14fa CANADIAN SYLLABICS SWII
+14fb CANADIAN SYLLABICS WEST-CREE SWII
+14fc CANADIAN SYLLABICS SWO
+14fd CANADIAN SYLLABICS WEST-CREE SWO
+14fe CANADIAN SYLLABICS SWOO
+14ff CANADIAN SYLLABICS WEST-CREE SWOO
+1500 CANADIAN SYLLABICS SWA
+1501 CANADIAN SYLLABICS WEST-CREE SWA
+1502 CANADIAN SYLLABICS SWAA
+1503 CANADIAN SYLLABICS WEST-CREE SWAA
+1504 CANADIAN SYLLABICS NASKAPI SWAA
+1505 CANADIAN SYLLABICS S
+1506 CANADIAN SYLLABICS ATHAPASCAN S
+1507 CANADIAN SYLLABICS SW
+1508 CANADIAN SYLLABICS BLACKFOOT S
+1509 CANADIAN SYLLABICS MOOSE-CREE SK
+150a CANADIAN SYLLABICS NASKAPI SKW
+150b CANADIAN SYLLABICS NASKAPI S-W
+150c CANADIAN SYLLABICS NASKAPI SPWA
+150d CANADIAN SYLLABICS NASKAPI STWA
+150e CANADIAN SYLLABICS NASKAPI SKWA
+150f CANADIAN SYLLABICS NASKAPI SCWA
+1510 CANADIAN SYLLABICS SHE
+1511 CANADIAN SYLLABICS SHI
+1512 CANADIAN SYLLABICS SHII
+1513 CANADIAN SYLLABICS SHO
+1514 CANADIAN SYLLABICS SHOO
+1515 CANADIAN SYLLABICS SHA
+1516 CANADIAN SYLLABICS SHAA
+1517 CANADIAN SYLLABICS SHWE
+1518 CANADIAN SYLLABICS WEST-CREE SHWE
+1519 CANADIAN SYLLABICS SHWI
+151a CANADIAN SYLLABICS WEST-CREE SHWI
+151b CANADIAN SYLLABICS SHWII
+151c CANADIAN SYLLABICS WEST-CREE SHWII
+151d CANADIAN SYLLABICS SHWO
+151e CANADIAN SYLLABICS WEST-CREE SHWO
+151f CANADIAN SYLLABICS SHWOO
+1520 CANADIAN SYLLABICS WEST-CREE SHWOO
+1521 CANADIAN SYLLABICS SHWA
+1522 CANADIAN SYLLABICS WEST-CREE SHWA
+1523 CANADIAN SYLLABICS SHWAA
+1524 CANADIAN SYLLABICS WEST-CREE SHWAA
+1525 CANADIAN SYLLABICS SH
+1526 CANADIAN SYLLABICS YE
+1527 CANADIAN SYLLABICS YAAI
+1528 CANADIAN SYLLABICS YI
+1529 CANADIAN SYLLABICS YII
+152a CANADIAN SYLLABICS YO
+152b CANADIAN SYLLABICS YOO
+152c CANADIAN SYLLABICS Y-CREE YOO
+152d CANADIAN SYLLABICS YA
+152e CANADIAN SYLLABICS YAA
+152f CANADIAN SYLLABICS YWE
+1530 CANADIAN SYLLABICS WEST-CREE YWE
+1531 CANADIAN SYLLABICS YWI
+1532 CANADIAN SYLLABICS WEST-CREE YWI
+1533 CANADIAN SYLLABICS YWII
+1534 CANADIAN SYLLABICS WEST-CREE YWII
+1535 CANADIAN SYLLABICS YWO
+1536 CANADIAN SYLLABICS WEST-CREE YWO
+1537 CANADIAN SYLLABICS YWOO
+1538 CANADIAN SYLLABICS WEST-CREE YWOO
+1539 CANADIAN SYLLABICS YWA
+153a CANADIAN SYLLABICS WEST-CREE YWA
+153b CANADIAN SYLLABICS YWAA
+153c CANADIAN SYLLABICS WEST-CREE YWAA
+153d CANADIAN SYLLABICS NASKAPI YWAA
+153e CANADIAN SYLLABICS Y
+153f CANADIAN SYLLABICS BIBLE-CREE Y
+1540 CANADIAN SYLLABICS WEST-CREE Y
+1541 CANADIAN SYLLABICS SAYISI YI
+1542 CANADIAN SYLLABICS RE
+1543 CANADIAN SYLLABICS R-CREE RE
+1544 CANADIAN SYLLABICS WEST-CREE LE
+1545 CANADIAN SYLLABICS RAAI
+1546 CANADIAN SYLLABICS RI
+1547 CANADIAN SYLLABICS RII
+1548 CANADIAN SYLLABICS RO
+1549 CANADIAN SYLLABICS ROO
+154a CANADIAN SYLLABICS WEST-CREE LO
+154b CANADIAN SYLLABICS RA
+154c CANADIAN SYLLABICS RAA
+154d CANADIAN SYLLABICS WEST-CREE LA
+154e CANADIAN SYLLABICS RWAA
+154f CANADIAN SYLLABICS WEST-CREE RWAA
+1550 CANADIAN SYLLABICS R
+1551 CANADIAN SYLLABICS WEST-CREE R
+1552 CANADIAN SYLLABICS MEDIAL R
+1553 CANADIAN SYLLABICS FE
+1554 CANADIAN SYLLABICS FAAI
+1555 CANADIAN SYLLABICS FI
+1556 CANADIAN SYLLABICS FII
+1557 CANADIAN SYLLABICS FO
+1558 CANADIAN SYLLABICS FOO
+1559 CANADIAN SYLLABICS FA
+155a CANADIAN SYLLABICS FAA
+155b CANADIAN SYLLABICS FWAA
+155c CANADIAN SYLLABICS WEST-CREE FWAA
+155d CANADIAN SYLLABICS F
+155e CANADIAN SYLLABICS THE
+155f CANADIAN SYLLABICS N-CREE THE
+1560 CANADIAN SYLLABICS THI
+1561 CANADIAN SYLLABICS N-CREE THI
+1562 CANADIAN SYLLABICS THII
+1563 CANADIAN SYLLABICS N-CREE THII
+1564 CANADIAN SYLLABICS THO
+1565 CANADIAN SYLLABICS THOO
+1566 CANADIAN SYLLABICS THA
+1567 CANADIAN SYLLABICS THAA
+1568 CANADIAN SYLLABICS THWAA
+1569 CANADIAN SYLLABICS WEST-CREE THWAA
+156a CANADIAN SYLLABICS TH
+156b CANADIAN SYLLABICS TTHE
+156c CANADIAN SYLLABICS TTHI
+156d CANADIAN SYLLABICS TTHO
+156e CANADIAN SYLLABICS TTHA
+156f CANADIAN SYLLABICS TTH
+1570 CANADIAN SYLLABICS TYE
+1571 CANADIAN SYLLABICS TYI
+1572 CANADIAN SYLLABICS TYO
+1573 CANADIAN SYLLABICS TYA
+1574 CANADIAN SYLLABICS NUNAVIK HE
+1575 CANADIAN SYLLABICS NUNAVIK HI
+1576 CANADIAN SYLLABICS NUNAVIK HII
+1577 CANADIAN SYLLABICS NUNAVIK HO
+1578 CANADIAN SYLLABICS NUNAVIK HOO
+1579 CANADIAN SYLLABICS NUNAVIK HA
+157a CANADIAN SYLLABICS NUNAVIK HAA
+157b CANADIAN SYLLABICS NUNAVIK H
+157c CANADIAN SYLLABICS NUNAVUT H
+157d CANADIAN SYLLABICS HK
+157e CANADIAN SYLLABICS QAAI
+157f CANADIAN SYLLABICS QI
+1580 CANADIAN SYLLABICS QII
+1581 CANADIAN SYLLABICS QO
+1582 CANADIAN SYLLABICS QOO
+1583 CANADIAN SYLLABICS QA
+1584 CANADIAN SYLLABICS QAA
+1585 CANADIAN SYLLABICS Q
+1586 CANADIAN SYLLABICS TLHE
+1587 CANADIAN SYLLABICS TLHI
+1588 CANADIAN SYLLABICS TLHO
+1589 CANADIAN SYLLABICS TLHA
+158a CANADIAN SYLLABICS WEST-CREE RE
+158b CANADIAN SYLLABICS WEST-CREE RI
+158c CANADIAN SYLLABICS WEST-CREE RO
+158d CANADIAN SYLLABICS WEST-CREE RA
+158e CANADIAN SYLLABICS NGAAI
+158f CANADIAN SYLLABICS NGI
+1590 CANADIAN SYLLABICS NGII
+1591 CANADIAN SYLLABICS NGO
+1592 CANADIAN SYLLABICS NGOO
+1593 CANADIAN SYLLABICS NGA
+1594 CANADIAN SYLLABICS NGAA
+1595 CANADIAN SYLLABICS NG
+1596 CANADIAN SYLLABICS NNG
+1597 CANADIAN SYLLABICS SAYISI SHE
+1598 CANADIAN SYLLABICS SAYISI SHI
+1599 CANADIAN SYLLABICS SAYISI SHO
+159a CANADIAN SYLLABICS SAYISI SHA
+159b CANADIAN SYLLABICS WOODS-CREE THE
+159c CANADIAN SYLLABICS WOODS-CREE THI
+159d CANADIAN SYLLABICS WOODS-CREE THO
+159e CANADIAN SYLLABICS WOODS-CREE THA
+159f CANADIAN SYLLABICS WOODS-CREE TH
+15a0 CANADIAN SYLLABICS LHI
+15a1 CANADIAN SYLLABICS LHII
+15a2 CANADIAN SYLLABICS LHO
+15a3 CANADIAN SYLLABICS LHOO
+15a4 CANADIAN SYLLABICS LHA
+15a5 CANADIAN SYLLABICS LHAA
+15a6 CANADIAN SYLLABICS LH
+15a7 CANADIAN SYLLABICS TH-CREE THE
+15a8 CANADIAN SYLLABICS TH-CREE THI
+15a9 CANADIAN SYLLABICS TH-CREE THII
+15aa CANADIAN SYLLABICS TH-CREE THO
+15ab CANADIAN SYLLABICS TH-CREE THOO
+15ac CANADIAN SYLLABICS TH-CREE THA
+15ad CANADIAN SYLLABICS TH-CREE THAA
+15ae CANADIAN SYLLABICS TH-CREE TH
+15af CANADIAN SYLLABICS AIVILIK B
+15b0 CANADIAN SYLLABICS BLACKFOOT E
+15b1 CANADIAN SYLLABICS BLACKFOOT I
+15b2 CANADIAN SYLLABICS BLACKFOOT O
+15b3 CANADIAN SYLLABICS BLACKFOOT A
+15b4 CANADIAN SYLLABICS BLACKFOOT WE
+15b5 CANADIAN SYLLABICS BLACKFOOT WI
+15b6 CANADIAN SYLLABICS BLACKFOOT WO
+15b7 CANADIAN SYLLABICS BLACKFOOT WA
+15b8 CANADIAN SYLLABICS BLACKFOOT NE
+15b9 CANADIAN SYLLABICS BLACKFOOT NI
+15ba CANADIAN SYLLABICS BLACKFOOT NO
+15bb CANADIAN SYLLABICS BLACKFOOT NA
+15bc CANADIAN SYLLABICS BLACKFOOT KE
+15bd CANADIAN SYLLABICS BLACKFOOT KI
+15be CANADIAN SYLLABICS BLACKFOOT KO
+15bf CANADIAN SYLLABICS BLACKFOOT KA
+15c0 CANADIAN SYLLABICS SAYISI HE
+15c1 CANADIAN SYLLABICS SAYISI HI
+15c2 CANADIAN SYLLABICS SAYISI HO
+15c3 CANADIAN SYLLABICS SAYISI HA
+15c4 CANADIAN SYLLABICS CARRIER GHU
+15c5 CANADIAN SYLLABICS CARRIER GHO
+15c6 CANADIAN SYLLABICS CARRIER GHE
+15c7 CANADIAN SYLLABICS CARRIER GHEE
+15c8 CANADIAN SYLLABICS CARRIER GHI
+15c9 CANADIAN SYLLABICS CARRIER GHA
+15ca CANADIAN SYLLABICS CARRIER RU
+15cb CANADIAN SYLLABICS CARRIER RO
+15cc CANADIAN SYLLABICS CARRIER RE
+15cd CANADIAN SYLLABICS CARRIER REE
+15ce CANADIAN SYLLABICS CARRIER RI
+15cf CANADIAN SYLLABICS CARRIER RA
+15d0 CANADIAN SYLLABICS CARRIER WU
+15d1 CANADIAN SYLLABICS CARRIER WO
+15d2 CANADIAN SYLLABICS CARRIER WE
+15d3 CANADIAN SYLLABICS CARRIER WEE
+15d4 CANADIAN SYLLABICS CARRIER WI
+15d5 CANADIAN SYLLABICS CARRIER WA
+15d6 CANADIAN SYLLABICS CARRIER HWU
+15d7 CANADIAN SYLLABICS CARRIER HWO
+15d8 CANADIAN SYLLABICS CARRIER HWE
+15d9 CANADIAN SYLLABICS CARRIER HWEE
+15da CANADIAN SYLLABICS CARRIER HWI
+15db CANADIAN SYLLABICS CARRIER HWA
+15dc CANADIAN SYLLABICS CARRIER THU
+15dd CANADIAN SYLLABICS CARRIER THO
+15de CANADIAN SYLLABICS CARRIER THE
+15df CANADIAN SYLLABICS CARRIER THEE
+15e0 CANADIAN SYLLABICS CARRIER THI
+15e1 CANADIAN SYLLABICS CARRIER THA
+15e2 CANADIAN SYLLABICS CARRIER TTU
+15e3 CANADIAN SYLLABICS CARRIER TTO
+15e4 CANADIAN SYLLABICS CARRIER TTE
+15e5 CANADIAN SYLLABICS CARRIER TTEE
+15e6 CANADIAN SYLLABICS CARRIER TTI
+15e7 CANADIAN SYLLABICS CARRIER TTA
+15e8 CANADIAN SYLLABICS CARRIER PU
+15e9 CANADIAN SYLLABICS CARRIER PO
+15ea CANADIAN SYLLABICS CARRIER PE
+15eb CANADIAN SYLLABICS CARRIER PEE
+15ec CANADIAN SYLLABICS CARRIER PI
+15ed CANADIAN SYLLABICS CARRIER PA
+15ee CANADIAN SYLLABICS CARRIER P
+15ef CANADIAN SYLLABICS CARRIER GU
+15f0 CANADIAN SYLLABICS CARRIER GO
+15f1 CANADIAN SYLLABICS CARRIER GE
+15f2 CANADIAN SYLLABICS CARRIER GEE
+15f3 CANADIAN SYLLABICS CARRIER GI
+15f4 CANADIAN SYLLABICS CARRIER GA
+15f5 CANADIAN SYLLABICS CARRIER KHU
+15f6 CANADIAN SYLLABICS CARRIER KHO
+15f7 CANADIAN SYLLABICS CARRIER KHE
+15f8 CANADIAN SYLLABICS CARRIER KHEE
+15f9 CANADIAN SYLLABICS CARRIER KHI
+15fa CANADIAN SYLLABICS CARRIER KHA
+15fb CANADIAN SYLLABICS CARRIER KKU
+15fc CANADIAN SYLLABICS CARRIER KKO
+15fd CANADIAN SYLLABICS CARRIER KKE
+15fe CANADIAN SYLLABICS CARRIER KKEE
+15ff CANADIAN SYLLABICS CARRIER KKI
+1600 CANADIAN SYLLABICS CARRIER KKA
+1601 CANADIAN SYLLABICS CARRIER KK
+1602 CANADIAN SYLLABICS CARRIER NU
+1603 CANADIAN SYLLABICS CARRIER NO
+1604 CANADIAN SYLLABICS CARRIER NE
+1605 CANADIAN SYLLABICS CARRIER NEE
+1606 CANADIAN SYLLABICS CARRIER NI
+1607 CANADIAN SYLLABICS CARRIER NA
+1608 CANADIAN SYLLABICS CARRIER MU
+1609 CANADIAN SYLLABICS CARRIER MO
+160a CANADIAN SYLLABICS CARRIER ME
+160b CANADIAN SYLLABICS CARRIER MEE
+160c CANADIAN SYLLABICS CARRIER MI
+160d CANADIAN SYLLABICS CARRIER MA
+160e CANADIAN SYLLABICS CARRIER YU
+160f CANADIAN SYLLABICS CARRIER YO
+1610 CANADIAN SYLLABICS CARRIER YE
+1611 CANADIAN SYLLABICS CARRIER YEE
+1612 CANADIAN SYLLABICS CARRIER YI
+1613 CANADIAN SYLLABICS CARRIER YA
+1614 CANADIAN SYLLABICS CARRIER JU
+1615 CANADIAN SYLLABICS SAYISI JU
+1616 CANADIAN SYLLABICS CARRIER JO
+1617 CANADIAN SYLLABICS CARRIER JE
+1618 CANADIAN SYLLABICS CARRIER JEE
+1619 CANADIAN SYLLABICS CARRIER JI
+161a CANADIAN SYLLABICS SAYISI JI
+161b CANADIAN SYLLABICS CARRIER JA
+161c CANADIAN SYLLABICS CARRIER JJU
+161d CANADIAN SYLLABICS CARRIER JJO
+161e CANADIAN SYLLABICS CARRIER JJE
+161f CANADIAN SYLLABICS CARRIER JJEE
+1620 CANADIAN SYLLABICS CARRIER JJI
+1621 CANADIAN SYLLABICS CARRIER JJA
+1622 CANADIAN SYLLABICS CARRIER LU
+1623 CANADIAN SYLLABICS CARRIER LO
+1624 CANADIAN SYLLABICS CARRIER LE
+1625 CANADIAN SYLLABICS CARRIER LEE
+1626 CANADIAN SYLLABICS CARRIER LI
+1627 CANADIAN SYLLABICS CARRIER LA
+1628 CANADIAN SYLLABICS CARRIER DLU
+1629 CANADIAN SYLLABICS CARRIER DLO
+162a CANADIAN SYLLABICS CARRIER DLE
+162b CANADIAN SYLLABICS CARRIER DLEE
+162c CANADIAN SYLLABICS CARRIER DLI
+162d CANADIAN SYLLABICS CARRIER DLA
+162e CANADIAN SYLLABICS CARRIER LHU
+162f CANADIAN SYLLABICS CARRIER LHO
+1630 CANADIAN SYLLABICS CARRIER LHE
+1631 CANADIAN SYLLABICS CARRIER LHEE
+1632 CANADIAN SYLLABICS CARRIER LHI
+1633 CANADIAN SYLLABICS CARRIER LHA
+1634 CANADIAN SYLLABICS CARRIER TLHU
+1635 CANADIAN SYLLABICS CARRIER TLHO
+1636 CANADIAN SYLLABICS CARRIER TLHE
+1637 CANADIAN SYLLABICS CARRIER TLHEE
+1638 CANADIAN SYLLABICS CARRIER TLHI
+1639 CANADIAN SYLLABICS CARRIER TLHA
+163a CANADIAN SYLLABICS CARRIER TLU
+163b CANADIAN SYLLABICS CARRIER TLO
+163c CANADIAN SYLLABICS CARRIER TLE
+163d CANADIAN SYLLABICS CARRIER TLEE
+163e CANADIAN SYLLABICS CARRIER TLI
+163f CANADIAN SYLLABICS CARRIER TLA
+1640 CANADIAN SYLLABICS CARRIER ZU
+1641 CANADIAN SYLLABICS CARRIER ZO
+1642 CANADIAN SYLLABICS CARRIER ZE
+1643 CANADIAN SYLLABICS CARRIER ZEE
+1644 CANADIAN SYLLABICS CARRIER ZI
+1645 CANADIAN SYLLABICS CARRIER ZA
+1646 CANADIAN SYLLABICS CARRIER Z
+1647 CANADIAN SYLLABICS CARRIER INITIAL Z
+1648 CANADIAN SYLLABICS CARRIER DZU
+1649 CANADIAN SYLLABICS CARRIER DZO
+164a CANADIAN SYLLABICS CARRIER DZE
+164b CANADIAN SYLLABICS CARRIER DZEE
+164c CANADIAN SYLLABICS CARRIER DZI
+164d CANADIAN SYLLABICS CARRIER DZA
+164e CANADIAN SYLLABICS CARRIER SU
+164f CANADIAN SYLLABICS CARRIER SO
+1650 CANADIAN SYLLABICS CARRIER SE
+1651 CANADIAN SYLLABICS CARRIER SEE
+1652 CANADIAN SYLLABICS CARRIER SI
+1653 CANADIAN SYLLABICS CARRIER SA
+1654 CANADIAN SYLLABICS CARRIER SHU
+1655 CANADIAN SYLLABICS CARRIER SHO
+1656 CANADIAN SYLLABICS CARRIER SHE
+1657 CANADIAN SYLLABICS CARRIER SHEE
+1658 CANADIAN SYLLABICS CARRIER SHI
+1659 CANADIAN SYLLABICS CARRIER SHA
+165a CANADIAN SYLLABICS CARRIER SH
+165b CANADIAN SYLLABICS CARRIER TSU
+165c CANADIAN SYLLABICS CARRIER TSO
+165d CANADIAN SYLLABICS CARRIER TSE
+165e CANADIAN SYLLABICS CARRIER TSEE
+165f CANADIAN SYLLABICS CARRIER TSI
+1660 CANADIAN SYLLABICS CARRIER TSA
+1661 CANADIAN SYLLABICS CARRIER CHU
+1662 CANADIAN SYLLABICS CARRIER CHO
+1663 CANADIAN SYLLABICS CARRIER CHE
+1664 CANADIAN SYLLABICS CARRIER CHEE
+1665 CANADIAN SYLLABICS CARRIER CHI
+1666 CANADIAN SYLLABICS CARRIER CHA
+1667 CANADIAN SYLLABICS CARRIER TTSU
+1668 CANADIAN SYLLABICS CARRIER TTSO
+1669 CANADIAN SYLLABICS CARRIER TTSE
+166a CANADIAN SYLLABICS CARRIER TTSEE
+166b CANADIAN SYLLABICS CARRIER TTSI
+166c CANADIAN SYLLABICS CARRIER TTSA
+166d CANADIAN SYLLABICS CHI SIGN
+166e CANADIAN SYLLABICS FULL STOP
+166f CANADIAN SYLLABICS QAI
+1670 CANADIAN SYLLABICS NGAI
+1671 CANADIAN SYLLABICS NNGI
+1672 CANADIAN SYLLABICS NNGII
+1673 CANADIAN SYLLABICS NNGO
+1674 CANADIAN SYLLABICS NNGOO
+1675 CANADIAN SYLLABICS NNGA
+1676 CANADIAN SYLLABICS NNGAA
+1680 OGHAM SPACE MARK
+1681 OGHAM LETTER BEITH
+1682 OGHAM LETTER LUIS
+1683 OGHAM LETTER FEARN
+1684 OGHAM LETTER SAIL
+1685 OGHAM LETTER NION
+1686 OGHAM LETTER UATH
+1687 OGHAM LETTER DAIR
+1688 OGHAM LETTER TINNE
+1689 OGHAM LETTER COLL
+168a OGHAM LETTER CEIRT
+168b OGHAM LETTER MUIN
+168c OGHAM LETTER GORT
+168d OGHAM LETTER NGEADAL
+168e OGHAM LETTER STRAIF
+168f OGHAM LETTER RUIS
+1690 OGHAM LETTER AILM
+1691 OGHAM LETTER ONN
+1692 OGHAM LETTER UR
+1693 OGHAM LETTER EADHADH
+1694 OGHAM LETTER IODHADH
+1695 OGHAM LETTER EABHADH
+1696 OGHAM LETTER OR
+1697 OGHAM LETTER UILLEANN
+1698 OGHAM LETTER IFIN
+1699 OGHAM LETTER EAMHANCHOLL
+169a OGHAM LETTER PEITH
+169b OGHAM FEATHER MARK
+169c OGHAM REVERSED FEATHER MARK
+16a0 RUNIC LETTER FEHU FEOH FE F
+16a1 RUNIC LETTER V
+16a2 RUNIC LETTER URUZ UR U
+16a3 RUNIC LETTER YR
+16a4 RUNIC LETTER Y
+16a5 RUNIC LETTER W
+16a6 RUNIC LETTER THURISAZ THURS THORN
+16a7 RUNIC LETTER ETH
+16a8 RUNIC LETTER ANSUZ A
+16a9 RUNIC LETTER OS O
+16aa RUNIC LETTER AC A
+16ab RUNIC LETTER AESC
+16ac RUNIC LETTER LONG-BRANCH-OSS O
+16ad RUNIC LETTER SHORT-TWIG-OSS O
+16ae RUNIC LETTER O
+16af RUNIC LETTER OE
+16b0 RUNIC LETTER ON
+16b1 RUNIC LETTER RAIDO RAD REID R
+16b2 RUNIC LETTER KAUNA
+16b3 RUNIC LETTER CEN
+16b4 RUNIC LETTER KAUN K
+16b5 RUNIC LETTER G
+16b6 RUNIC LETTER ENG
+16b7 RUNIC LETTER GEBO GYFU G
+16b8 RUNIC LETTER GAR
+16b9 RUNIC LETTER WUNJO WYNN W
+16ba RUNIC LETTER HAGLAZ H
+16bb RUNIC LETTER HAEGL H
+16bc RUNIC LETTER LONG-BRANCH-HAGALL H
+16bd RUNIC LETTER SHORT-TWIG-HAGALL H
+16be RUNIC LETTER NAUDIZ NYD NAUD N
+16bf RUNIC LETTER SHORT-TWIG-NAUD N
+16c0 RUNIC LETTER DOTTED-N
+16c1 RUNIC LETTER ISAZ IS ISS I
+16c2 RUNIC LETTER E
+16c3 RUNIC LETTER JERAN J
+16c4 RUNIC LETTER GER
+16c5 RUNIC LETTER LONG-BRANCH-AR AE
+16c6 RUNIC LETTER SHORT-TWIG-AR A
+16c7 RUNIC LETTER IWAZ EOH
+16c8 RUNIC LETTER PERTHO PEORTH P
+16c9 RUNIC LETTER ALGIZ EOLHX
+16ca RUNIC LETTER SOWILO S
+16cb RUNIC LETTER SIGEL LONG-BRANCH-SOL S
+16cc RUNIC LETTER SHORT-TWIG-SOL S
+16cd RUNIC LETTER C
+16ce RUNIC LETTER Z
+16cf RUNIC LETTER TIWAZ TIR TYR T
+16d0 RUNIC LETTER SHORT-TWIG-TYR T
+16d1 RUNIC LETTER D
+16d2 RUNIC LETTER BERKANAN BEORC BJARKAN B
+16d3 RUNIC LETTER SHORT-TWIG-BJARKAN B
+16d4 RUNIC LETTER DOTTED-P
+16d5 RUNIC LETTER OPEN-P
+16d6 RUNIC LETTER EHWAZ EH E
+16d7 RUNIC LETTER MANNAZ MAN M
+16d8 RUNIC LETTER LONG-BRANCH-MADR M
+16d9 RUNIC LETTER SHORT-TWIG-MADR M
+16da RUNIC LETTER LAUKAZ LAGU LOGR L
+16db RUNIC LETTER DOTTED-L
+16dc RUNIC LETTER INGWAZ
+16dd RUNIC LETTER ING
+16de RUNIC LETTER DAGAZ DAEG D
+16df RUNIC LETTER OTHALAN ETHEL O
+16e0 RUNIC LETTER EAR
+16e1 RUNIC LETTER IOR
+16e2 RUNIC LETTER CWEORTH
+16e3 RUNIC LETTER CALC
+16e4 RUNIC LETTER CEALC
+16e5 RUNIC LETTER STAN
+16e6 RUNIC LETTER LONG-BRANCH-YR
+16e7 RUNIC LETTER SHORT-TWIG-YR
+16e8 RUNIC LETTER ICELANDIC-YR
+16e9 RUNIC LETTER Q
+16ea RUNIC LETTER X
+16eb RUNIC SINGLE PUNCTUATION
+16ec RUNIC MULTIPLE PUNCTUATION
+16ed RUNIC CROSS PUNCTUATION
+16ee RUNIC ARLAUG SYMBOL
+16ef RUNIC TVIMADUR SYMBOL
+16f0 RUNIC BELGTHOR SYMBOL
+1780 KHMER LETTER KA
+1781 KHMER LETTER KHA
+1782 KHMER LETTER KO
+1783 KHMER LETTER KHO
+1784 KHMER LETTER NGO
+1785 KHMER LETTER CA
+1786 KHMER LETTER CHA
+1787 KHMER LETTER CO
+1788 KHMER LETTER CHO
+1789 KHMER LETTER NYO
+178a KHMER LETTER DA
+178b KHMER LETTER TTHA
+178c KHMER LETTER DO
+178d KHMER LETTER TTHO
+178e KHMER LETTER NNO
+178f KHMER LETTER TA
+1790 KHMER LETTER THA
+1791 KHMER LETTER TO
+1792 KHMER LETTER THO
+1793 KHMER LETTER NO
+1794 KHMER LETTER BA
+1795 KHMER LETTER PHA
+1796 KHMER LETTER PO
+1797 KHMER LETTER PHO
+1798 KHMER LETTER MO
+1799 KHMER LETTER YO
+179a KHMER LETTER RO
+179b KHMER LETTER LO
+179c KHMER LETTER VO
+179d KHMER LETTER SHA
+179e KHMER LETTER SSO
+179f KHMER LETTER SA
+17a0 KHMER LETTER HA
+17a1 KHMER LETTER LA
+17a2 KHMER LETTER QA
+17a3 KHMER INDEPENDENT VOWEL QAQ
+17a4 KHMER INDEPENDENT VOWEL QAA
+17a5 KHMER INDEPENDENT VOWEL QI
+17a6 KHMER INDEPENDENT VOWEL QII
+17a7 KHMER INDEPENDENT VOWEL QU
+17a8 KHMER INDEPENDENT VOWEL QUK
+17a9 KHMER INDEPENDENT VOWEL QUU
+17aa KHMER INDEPENDENT VOWEL QUUV
+17ab KHMER INDEPENDENT VOWEL RY
+17ac KHMER INDEPENDENT VOWEL RYY
+17ad KHMER INDEPENDENT VOWEL LY
+17ae KHMER INDEPENDENT VOWEL LYY
+17af KHMER INDEPENDENT VOWEL QE
+17b0 KHMER INDEPENDENT VOWEL QAI
+17b1 KHMER INDEPENDENT VOWEL QOO TYPE ONE
+17b2 KHMER INDEPENDENT VOWEL QOO TYPE TWO
+17b3 KHMER INDEPENDENT VOWEL QAU
+17b4 KHMER VOWEL INHERENT AQ
+17b5 KHMER VOWEL INHERENT AA
+17b6 KHMER VOWEL SIGN AA
+17b7 KHMER VOWEL SIGN I
+17b8 KHMER VOWEL SIGN II
+17b9 KHMER VOWEL SIGN Y
+17ba KHMER VOWEL SIGN YY
+17bb KHMER VOWEL SIGN U
+17bc KHMER VOWEL SIGN UU
+17bd KHMER VOWEL SIGN UA
+17be KHMER VOWEL SIGN OE
+17bf KHMER VOWEL SIGN YA
+17c0 KHMER VOWEL SIGN IE
+17c1 KHMER VOWEL SIGN E
+17c2 KHMER VOWEL SIGN AE
+17c3 KHMER VOWEL SIGN AI
+17c4 KHMER VOWEL SIGN OO
+17c5 KHMER VOWEL SIGN AU
+17c6 KHMER SIGN NIKAHIT
+17c7 KHMER SIGN REAHMUK
+17c8 KHMER SIGN YUUKALEAPINTU
+17c9 KHMER SIGN MUUSIKATOAN
+17ca KHMER SIGN TRIISAP
+17cb KHMER SIGN BANTOC
+17cc KHMER SIGN ROBAT
+17cd KHMER SIGN TOANDAKHIAT
+17ce KHMER SIGN KAKABAT
+17cf KHMER SIGN AHSDA
+17d0 KHMER SIGN SAMYOK SANNYA
+17d1 KHMER SIGN VIRIAM
+17d2 KHMER SIGN COENG
+17d3 KHMER SIGN BATHAMASAT
+17d4 KHMER SIGN KHAN
+17d5 KHMER SIGN BARIYOOSAN
+17d6 KHMER SIGN CAMNUC PII KUUH
+17d7 KHMER SIGN LEK TOO
+17d8 KHMER SIGN BEYYAL
+17d9 KHMER SIGN PHNAEK MUAN
+17da KHMER SIGN KOOMUUT
+17db KHMER CURRENCY SYMBOL RIEL
+17dc KHMER SIGN AVAKRAHASANYA
+17e0 KHMER DIGIT ZERO
+17e1 KHMER DIGIT ONE
+17e2 KHMER DIGIT TWO
+17e3 KHMER DIGIT THREE
+17e4 KHMER DIGIT FOUR
+17e5 KHMER DIGIT FIVE
+17e6 KHMER DIGIT SIX
+17e7 KHMER DIGIT SEVEN
+17e8 KHMER DIGIT EIGHT
+17e9 KHMER DIGIT NINE
+1800 MONGOLIAN BIRGA
+1801 MONGOLIAN ELLIPSIS
+1802 MONGOLIAN COMMA
+1803 MONGOLIAN FULL STOP
+1804 MONGOLIAN COLON
+1805 MONGOLIAN FOUR DOTS
+1806 MONGOLIAN TODO SOFT HYPHEN
+1807 MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER
+1808 MONGOLIAN MANCHU COMMA
+1809 MONGOLIAN MANCHU FULL STOP
+180a MONGOLIAN NIRUGU
+180b MONGOLIAN FREE VARIATION SELECTOR ONE
+180c MONGOLIAN FREE VARIATION SELECTOR TWO
+180d MONGOLIAN FREE VARIATION SELECTOR THREE
+180e MONGOLIAN VOWEL SEPARATOR
+1810 MONGOLIAN DIGIT ZERO
+1811 MONGOLIAN DIGIT ONE
+1812 MONGOLIAN DIGIT TWO
+1813 MONGOLIAN DIGIT THREE
+1814 MONGOLIAN DIGIT FOUR
+1815 MONGOLIAN DIGIT FIVE
+1816 MONGOLIAN DIGIT SIX
+1817 MONGOLIAN DIGIT SEVEN
+1818 MONGOLIAN DIGIT EIGHT
+1819 MONGOLIAN DIGIT NINE
+1820 MONGOLIAN LETTER A
+1821 MONGOLIAN LETTER E
+1822 MONGOLIAN LETTER I
+1823 MONGOLIAN LETTER O
+1824 MONGOLIAN LETTER U
+1825 MONGOLIAN LETTER OE
+1826 MONGOLIAN LETTER UE
+1827 MONGOLIAN LETTER EE
+1828 MONGOLIAN LETTER NA
+1829 MONGOLIAN LETTER ANG
+182a MONGOLIAN LETTER BA
+182b MONGOLIAN LETTER PA
+182c MONGOLIAN LETTER QA
+182d MONGOLIAN LETTER GA
+182e MONGOLIAN LETTER MA
+182f MONGOLIAN LETTER LA
+1830 MONGOLIAN LETTER SA
+1831 MONGOLIAN LETTER SHA
+1832 MONGOLIAN LETTER TA
+1833 MONGOLIAN LETTER DA
+1834 MONGOLIAN LETTER CHA
+1835 MONGOLIAN LETTER JA
+1836 MONGOLIAN LETTER YA
+1837 MONGOLIAN LETTER RA
+1838 MONGOLIAN LETTER WA
+1839 MONGOLIAN LETTER FA
+183a MONGOLIAN LETTER KA
+183b MONGOLIAN LETTER KHA
+183c MONGOLIAN LETTER TSA
+183d MONGOLIAN LETTER ZA
+183e MONGOLIAN LETTER HAA
+183f MONGOLIAN LETTER ZRA
+1840 MONGOLIAN LETTER LHA
+1841 MONGOLIAN LETTER ZHI
+1842 MONGOLIAN LETTER CHI
+1843 MONGOLIAN LETTER TODO LONG VOWEL SIGN
+1844 MONGOLIAN LETTER TODO E
+1845 MONGOLIAN LETTER TODO I
+1846 MONGOLIAN LETTER TODO O
+1847 MONGOLIAN LETTER TODO U
+1848 MONGOLIAN LETTER TODO OE
+1849 MONGOLIAN LETTER TODO UE
+184a MONGOLIAN LETTER TODO ANG
+184b MONGOLIAN LETTER TODO BA
+184c MONGOLIAN LETTER TODO PA
+184d MONGOLIAN LETTER TODO QA
+184e MONGOLIAN LETTER TODO GA
+184f MONGOLIAN LETTER TODO MA
+1850 MONGOLIAN LETTER TODO TA
+1851 MONGOLIAN LETTER TODO DA
+1852 MONGOLIAN LETTER TODO CHA
+1853 MONGOLIAN LETTER TODO JA
+1854 MONGOLIAN LETTER TODO TSA
+1855 MONGOLIAN LETTER TODO YA
+1856 MONGOLIAN LETTER TODO WA
+1857 MONGOLIAN LETTER TODO KA
+1858 MONGOLIAN LETTER TODO GAA
+1859 MONGOLIAN LETTER TODO HAA
+185a MONGOLIAN LETTER TODO JIA
+185b MONGOLIAN LETTER TODO NIA
+185c MONGOLIAN LETTER TODO DZA
+185d MONGOLIAN LETTER SIBE E
+185e MONGOLIAN LETTER SIBE I
+185f MONGOLIAN LETTER SIBE IY
+1860 MONGOLIAN LETTER SIBE UE
+1861 MONGOLIAN LETTER SIBE U
+1862 MONGOLIAN LETTER SIBE ANG
+1863 MONGOLIAN LETTER SIBE KA
+1864 MONGOLIAN LETTER SIBE GA
+1865 MONGOLIAN LETTER SIBE HA
+1866 MONGOLIAN LETTER SIBE PA
+1867 MONGOLIAN LETTER SIBE SHA
+1868 MONGOLIAN LETTER SIBE TA
+1869 MONGOLIAN LETTER SIBE DA
+186a MONGOLIAN LETTER SIBE JA
+186b MONGOLIAN LETTER SIBE FA
+186c MONGOLIAN LETTER SIBE GAA
+186d MONGOLIAN LETTER SIBE HAA
+186e MONGOLIAN LETTER SIBE TSA
+186f MONGOLIAN LETTER SIBE ZA
+1870 MONGOLIAN LETTER SIBE RAA
+1871 MONGOLIAN LETTER SIBE CHA
+1872 MONGOLIAN LETTER SIBE ZHA
+1873 MONGOLIAN LETTER MANCHU I
+1874 MONGOLIAN LETTER MANCHU KA
+1875 MONGOLIAN LETTER MANCHU RA
+1876 MONGOLIAN LETTER MANCHU FA
+1877 MONGOLIAN LETTER MANCHU ZHA
+1880 MONGOLIAN LETTER ALI GALI ANUSVARA ONE
+1881 MONGOLIAN LETTER ALI GALI VISARGA ONE
+1882 MONGOLIAN LETTER ALI GALI DAMARU
+1883 MONGOLIAN LETTER ALI GALI UBADAMA
+1884 MONGOLIAN LETTER ALI GALI INVERTED UBADAMA
+1885 MONGOLIAN LETTER ALI GALI BALUDA
+1886 MONGOLIAN LETTER ALI GALI THREE BALUDA
+1887 MONGOLIAN LETTER ALI GALI A
+1888 MONGOLIAN LETTER ALI GALI I
+1889 MONGOLIAN LETTER ALI GALI KA
+188a MONGOLIAN LETTER ALI GALI NGA
+188b MONGOLIAN LETTER ALI GALI CA
+188c MONGOLIAN LETTER ALI GALI TTA
+188d MONGOLIAN LETTER ALI GALI TTHA
+188e MONGOLIAN LETTER ALI GALI DDA
+188f MONGOLIAN LETTER ALI GALI NNA
+1890 MONGOLIAN LETTER ALI GALI TA
+1891 MONGOLIAN LETTER ALI GALI DA
+1892 MONGOLIAN LETTER ALI GALI PA
+1893 MONGOLIAN LETTER ALI GALI PHA
+1894 MONGOLIAN LETTER ALI GALI SSA
+1895 MONGOLIAN LETTER ALI GALI ZHA
+1896 MONGOLIAN LETTER ALI GALI ZA
+1897 MONGOLIAN LETTER ALI GALI AH
+1898 MONGOLIAN LETTER TODO ALI GALI TA
+1899 MONGOLIAN LETTER TODO ALI GALI ZHA
+189a MONGOLIAN LETTER MANCHU ALI GALI GHA
+189b MONGOLIAN LETTER MANCHU ALI GALI NGA
+189c MONGOLIAN LETTER MANCHU ALI GALI CA
+189d MONGOLIAN LETTER MANCHU ALI GALI JHA
+189e MONGOLIAN LETTER MANCHU ALI GALI TTA
+189f MONGOLIAN LETTER MANCHU ALI GALI DDHA
+18a0 MONGOLIAN LETTER MANCHU ALI GALI TA
+18a1 MONGOLIAN LETTER MANCHU ALI GALI DHA
+18a2 MONGOLIAN LETTER MANCHU ALI GALI SSA
+18a3 MONGOLIAN LETTER MANCHU ALI GALI CYA
+18a4 MONGOLIAN LETTER MANCHU ALI GALI ZHA
+18a5 MONGOLIAN LETTER MANCHU ALI GALI ZA
+18a6 MONGOLIAN LETTER ALI GALI HALF U
+18a7 MONGOLIAN LETTER ALI GALI HALF YA
+18a8 MONGOLIAN LETTER MANCHU ALI GALI BHA
+18a9 MONGOLIAN LETTER ALI GALI DAGALGA
1e00 LATIN CAPITAL LETTER A WITH RING BELOW
1e01 LATIN SMALL LETTER A WITH RING BELOW
1e02 LATIN CAPITAL LETTER B WITH DOT ABOVE
@@ -3611,6 +5078,7 @@ return <<'END';
202c POP DIRECTIONAL FORMATTING
202d LEFT-TO-RIGHT OVERRIDE
202e RIGHT-TO-LEFT OVERRIDE
+202f NARROW NO-BREAK SPACE
2030 PER MILLE SIGN
2031 PER TEN THOUSAND SIGN
2032 PRIME
@@ -3634,6 +5102,12 @@ return <<'END';
2044 FRACTION SLASH
2045 LEFT SQUARE BRACKET WITH QUILL
2046 RIGHT SQUARE BRACKET WITH QUILL
+2048 QUESTION EXCLAMATION MARK
+2049 EXCLAMATION QUESTION MARK
+204a TIRONIAN SIGN ET
+204b REVERSED PILCROW SIGN
+204c BLACK LEFTWARDS BULLET
+204d BLACK RIGHTWARDS BULLET
206a INHIBIT SYMMETRIC SWAPPING
206b ACTIVATE SYMMETRIC SWAPPING
206c INHIBIT ARABIC FORM SHAPING
@@ -3681,6 +5155,9 @@ return <<'END';
20aa NEW SHEQEL SIGN
20ab DONG SIGN
20ac EURO SIGN
+20ad KIP SIGN
+20ae TUGRIK SIGN
+20af DRACHMA SIGN
20d0 COMBINING LEFT HARPOON ABOVE
20d1 COMBINING RIGHT HARPOON ABOVE
20d2 COMBINING LONG VERTICAL LINE OVERLAY
@@ -3699,6 +5176,8 @@ return <<'END';
20df COMBINING ENCLOSING DIAMOND
20e0 COMBINING ENCLOSING CIRCLE BACKSLASH
20e1 COMBINING LEFT RIGHT ARROW ABOVE
+20e2 COMBINING ENCLOSING SCREEN
+20e3 COMBINING ENCLOSING KEYCAP
2100 ACCOUNT OF
2101 ADDRESSED TO THE SUBJECT
2102 DOUBLE-STRUCK CAPITAL C
@@ -3756,6 +5235,8 @@ return <<'END';
2136 BET SYMBOL
2137 GIMEL SYMBOL
2138 DALET SYMBOL
+2139 INFORMATION SOURCE
+213a ROTATED CAPITAL Q
2153 VULGAR FRACTION ONE THIRD
2154 VULGAR FRACTION TWO THIRDS
2155 VULGAR FRACTION ONE FIFTH
@@ -3804,6 +5285,7 @@ return <<'END';
2180 ROMAN NUMERAL ONE THOUSAND C D
2181 ROMAN NUMERAL FIVE THOUSAND
2182 ROMAN NUMERAL TEN THOUSAND
+2183 ROMAN NUMERAL REVERSED ONE HUNDRED
2190 LEFTWARDS ARROW
2191 UPWARDS ARROW
2192 RIGHTWARDS ARROW
@@ -3895,6 +5377,15 @@ return <<'END';
21e8 RIGHTWARDS WHITE ARROW
21e9 DOWNWARDS WHITE ARROW
21ea UPWARDS WHITE ARROW FROM BAR
+21eb UPWARDS WHITE ARROW ON PEDESTAL
+21ec UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR
+21ed UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR
+21ee UPWARDS WHITE DOUBLE ARROW
+21ef UPWARDS WHITE DOUBLE ARROW ON PEDESTAL
+21f0 RIGHTWARDS WHITE ARROW FROM WALL
+21f1 NORTH WEST ARROW TO CORNER
+21f2 SOUTH EAST ARROW TO CORNER
+21f3 UP DOWN WHITE ARROW
2200 FOR ALL
2201 COMPLEMENT
2202 PARTIAL DIFFERENTIAL
@@ -4138,6 +5629,7 @@ return <<'END';
22f0 UP RIGHT DIAGONAL ELLIPSIS
22f1 DOWN RIGHT DIAGONAL ELLIPSIS
2300 DIAMETER SIGN
+2301 ELECTRIC ARROW
2302 HOUSE
2303 UP ARROWHEAD
2304 DOWN ARROWHEAD
@@ -4259,6 +5751,37 @@ return <<'END';
2378 APL FUNCTIONAL SYMBOL IOTA UNDERBAR
2379 APL FUNCTIONAL SYMBOL OMEGA UNDERBAR
237a APL FUNCTIONAL SYMBOL ALPHA
+237b NOT CHECK MARK
+237d SHOULDERED OPEN BOX
+237e BELL SYMBOL
+237f VERTICAL LINE WITH MIDDLE DOT
+2380 INSERTION SYMBOL
+2381 CONTINUOUS UNDERLINE SYMBOL
+2382 DISCONTINUOUS UNDERLINE SYMBOL
+2383 EMPHASIS SYMBOL
+2384 COMPOSITION SYMBOL
+2385 WHITE SQUARE WITH CENTRE VERTICAL LINE
+2386 ENTER SYMBOL
+2387 ALTERNATIVE KEY SYMBOL
+2388 HELM SYMBOL
+2389 CIRCLED HORIZONTAL BAR WITH NOTCH
+238a CIRCLED TRIANGLE DOWN
+238b BROKEN CIRCLE WITH NORTHWEST ARROW
+238c UNDO SYMBOL
+238d MONOSTABLE SYMBOL
+238e HYSTERESIS SYMBOL
+238f OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL
+2390 OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL
+2391 PASSIVE-PULL-DOWN-OUTPUT SYMBOL
+2392 PASSIVE-PULL-UP-OUTPUT SYMBOL
+2393 DIRECT CURRENT SYMBOL FORM TWO
+2394 SOFTWARE-FUNCTION SYMBOL
+2395 APL FUNCTIONAL SYMBOL QUAD
+2396 DECIMAL SEPARATOR KEY SYMBOL
+2397 PREVIOUS PAGE
+2398 NEXT PAGE
+2399 PRINT SCREEN SYMBOL
+239a CLEAR SCREEN SYMBOL
2400 SYMBOL FOR NULL
2401 SYMBOL FOR START OF HEADING
2402 SYMBOL FOR START OF TEXT
@@ -4296,6 +5819,8 @@ return <<'END';
2422 BLANK SYMBOL
2423 OPEN BOX
2424 SYMBOL FOR NEWLINE
+2425 SYMBOL FOR DELETE FORM TWO
+2426 SYMBOL FOR SUBSTITUTE FORM TWO
2440 OCR HOOK
2441 OCR CHAIR
2442 OCR FORK
@@ -4676,6 +6201,14 @@ return <<'END';
25ed UP-POINTING TRIANGLE WITH LEFT HALF BLACK
25ee UP-POINTING TRIANGLE WITH RIGHT HALF BLACK
25ef LARGE CIRCLE
+25f0 WHITE SQUARE WITH UPPER LEFT QUADRANT
+25f1 WHITE SQUARE WITH LOWER LEFT QUADRANT
+25f2 WHITE SQUARE WITH LOWER RIGHT QUADRANT
+25f3 WHITE SQUARE WITH UPPER RIGHT QUADRANT
+25f4 WHITE CIRCLE WITH UPPER LEFT QUADRANT
+25f5 WHITE CIRCLE WITH LOWER LEFT QUADRANT
+25f6 WHITE CIRCLE WITH LOWER RIGHT QUADRANT
+25f7 WHITE CIRCLE WITH UPPER RIGHT QUADRANT
2600 BLACK SUN WITH RAYS
2601 CLOUD
2602 UMBRELLA
@@ -4696,6 +6229,7 @@ return <<'END';
2611 BALLOT BOX WITH CHECK
2612 BALLOT BOX WITH X
2613 SALTIRE
+2619 REVERSED ROTATED FLORAL HEART BULLET
261a BLACK LEFT POINTING INDEX
261b BLACK RIGHT POINTING INDEX
261c WHITE LEFT POINTING INDEX
@@ -4782,6 +6316,8 @@ return <<'END';
266d MUSIC FLAT SIGN
266e MUSIC NATURAL SIGN
266f MUSIC SHARP SIGN
+2670 WEST SYRIAC CROSS
+2671 EAST SYRIAC CROSS
2701 UPPER BLADE SCISSORS
2702 BLACK SCISSORS
2703 LOWER BLADE SCISSORS
@@ -4942,6 +6478,603 @@ return <<'END';
27bc WEDGE-TAILED RIGHTWARDS ARROW
27bd HEAVY WEDGE-TAILED RIGHTWARDS ARROW
27be OPEN-OUTLINED RIGHTWARDS ARROW
+2800 BRAILLE PATTERN BLANK
+2801 BRAILLE PATTERN DOTS-1
+2802 BRAILLE PATTERN DOTS-2
+2803 BRAILLE PATTERN DOTS-12
+2804 BRAILLE PATTERN DOTS-3
+2805 BRAILLE PATTERN DOTS-13
+2806 BRAILLE PATTERN DOTS-23
+2807 BRAILLE PATTERN DOTS-123
+2808 BRAILLE PATTERN DOTS-4
+2809 BRAILLE PATTERN DOTS-14
+280a BRAILLE PATTERN DOTS-24
+280b BRAILLE PATTERN DOTS-124
+280c BRAILLE PATTERN DOTS-34
+280d BRAILLE PATTERN DOTS-134
+280e BRAILLE PATTERN DOTS-234
+280f BRAILLE PATTERN DOTS-1234
+2810 BRAILLE PATTERN DOTS-5
+2811 BRAILLE PATTERN DOTS-15
+2812 BRAILLE PATTERN DOTS-25
+2813 BRAILLE PATTERN DOTS-125
+2814 BRAILLE PATTERN DOTS-35
+2815 BRAILLE PATTERN DOTS-135
+2816 BRAILLE PATTERN DOTS-235
+2817 BRAILLE PATTERN DOTS-1235
+2818 BRAILLE PATTERN DOTS-45
+2819 BRAILLE PATTERN DOTS-145
+281a BRAILLE PATTERN DOTS-245
+281b BRAILLE PATTERN DOTS-1245
+281c BRAILLE PATTERN DOTS-345
+281d BRAILLE PATTERN DOTS-1345
+281e BRAILLE PATTERN DOTS-2345
+281f BRAILLE PATTERN DOTS-12345
+2820 BRAILLE PATTERN DOTS-6
+2821 BRAILLE PATTERN DOTS-16
+2822 BRAILLE PATTERN DOTS-26
+2823 BRAILLE PATTERN DOTS-126
+2824 BRAILLE PATTERN DOTS-36
+2825 BRAILLE PATTERN DOTS-136
+2826 BRAILLE PATTERN DOTS-236
+2827 BRAILLE PATTERN DOTS-1236
+2828 BRAILLE PATTERN DOTS-46
+2829 BRAILLE PATTERN DOTS-146
+282a BRAILLE PATTERN DOTS-246
+282b BRAILLE PATTERN DOTS-1246
+282c BRAILLE PATTERN DOTS-346
+282d BRAILLE PATTERN DOTS-1346
+282e BRAILLE PATTERN DOTS-2346
+282f BRAILLE PATTERN DOTS-12346
+2830 BRAILLE PATTERN DOTS-56
+2831 BRAILLE PATTERN DOTS-156
+2832 BRAILLE PATTERN DOTS-256
+2833 BRAILLE PATTERN DOTS-1256
+2834 BRAILLE PATTERN DOTS-356
+2835 BRAILLE PATTERN DOTS-1356
+2836 BRAILLE PATTERN DOTS-2356
+2837 BRAILLE PATTERN DOTS-12356
+2838 BRAILLE PATTERN DOTS-456
+2839 BRAILLE PATTERN DOTS-1456
+283a BRAILLE PATTERN DOTS-2456
+283b BRAILLE PATTERN DOTS-12456
+283c BRAILLE PATTERN DOTS-3456
+283d BRAILLE PATTERN DOTS-13456
+283e BRAILLE PATTERN DOTS-23456
+283f BRAILLE PATTERN DOTS-123456
+2840 BRAILLE PATTERN DOTS-7
+2841 BRAILLE PATTERN DOTS-17
+2842 BRAILLE PATTERN DOTS-27
+2843 BRAILLE PATTERN DOTS-127
+2844 BRAILLE PATTERN DOTS-37
+2845 BRAILLE PATTERN DOTS-137
+2846 BRAILLE PATTERN DOTS-237
+2847 BRAILLE PATTERN DOTS-1237
+2848 BRAILLE PATTERN DOTS-47
+2849 BRAILLE PATTERN DOTS-147
+284a BRAILLE PATTERN DOTS-247
+284b BRAILLE PATTERN DOTS-1247
+284c BRAILLE PATTERN DOTS-347
+284d BRAILLE PATTERN DOTS-1347
+284e BRAILLE PATTERN DOTS-2347
+284f BRAILLE PATTERN DOTS-12347
+2850 BRAILLE PATTERN DOTS-57
+2851 BRAILLE PATTERN DOTS-157
+2852 BRAILLE PATTERN DOTS-257
+2853 BRAILLE PATTERN DOTS-1257
+2854 BRAILLE PATTERN DOTS-357
+2855 BRAILLE PATTERN DOTS-1357
+2856 BRAILLE PATTERN DOTS-2357
+2857 BRAILLE PATTERN DOTS-12357
+2858 BRAILLE PATTERN DOTS-457
+2859 BRAILLE PATTERN DOTS-1457
+285a BRAILLE PATTERN DOTS-2457
+285b BRAILLE PATTERN DOTS-12457
+285c BRAILLE PATTERN DOTS-3457
+285d BRAILLE PATTERN DOTS-13457
+285e BRAILLE PATTERN DOTS-23457
+285f BRAILLE PATTERN DOTS-123457
+2860 BRAILLE PATTERN DOTS-67
+2861 BRAILLE PATTERN DOTS-167
+2862 BRAILLE PATTERN DOTS-267
+2863 BRAILLE PATTERN DOTS-1267
+2864 BRAILLE PATTERN DOTS-367
+2865 BRAILLE PATTERN DOTS-1367
+2866 BRAILLE PATTERN DOTS-2367
+2867 BRAILLE PATTERN DOTS-12367
+2868 BRAILLE PATTERN DOTS-467
+2869 BRAILLE PATTERN DOTS-1467
+286a BRAILLE PATTERN DOTS-2467
+286b BRAILLE PATTERN DOTS-12467
+286c BRAILLE PATTERN DOTS-3467
+286d BRAILLE PATTERN DOTS-13467
+286e BRAILLE PATTERN DOTS-23467
+286f BRAILLE PATTERN DOTS-123467
+2870 BRAILLE PATTERN DOTS-567
+2871 BRAILLE PATTERN DOTS-1567
+2872 BRAILLE PATTERN DOTS-2567
+2873 BRAILLE PATTERN DOTS-12567
+2874 BRAILLE PATTERN DOTS-3567
+2875 BRAILLE PATTERN DOTS-13567
+2876 BRAILLE PATTERN DOTS-23567
+2877 BRAILLE PATTERN DOTS-123567
+2878 BRAILLE PATTERN DOTS-4567
+2879 BRAILLE PATTERN DOTS-14567
+287a BRAILLE PATTERN DOTS-24567
+287b BRAILLE PATTERN DOTS-124567
+287c BRAILLE PATTERN DOTS-34567
+287d BRAILLE PATTERN DOTS-134567
+287e BRAILLE PATTERN DOTS-234567
+287f BRAILLE PATTERN DOTS-1234567
+2880 BRAILLE PATTERN DOTS-8
+2881 BRAILLE PATTERN DOTS-18
+2882 BRAILLE PATTERN DOTS-28
+2883 BRAILLE PATTERN DOTS-128
+2884 BRAILLE PATTERN DOTS-38
+2885 BRAILLE PATTERN DOTS-138
+2886 BRAILLE PATTERN DOTS-238
+2887 BRAILLE PATTERN DOTS-1238
+2888 BRAILLE PATTERN DOTS-48
+2889 BRAILLE PATTERN DOTS-148
+288a BRAILLE PATTERN DOTS-248
+288b BRAILLE PATTERN DOTS-1248
+288c BRAILLE PATTERN DOTS-348
+288d BRAILLE PATTERN DOTS-1348
+288e BRAILLE PATTERN DOTS-2348
+288f BRAILLE PATTERN DOTS-12348
+2890 BRAILLE PATTERN DOTS-58
+2891 BRAILLE PATTERN DOTS-158
+2892 BRAILLE PATTERN DOTS-258
+2893 BRAILLE PATTERN DOTS-1258
+2894 BRAILLE PATTERN DOTS-358
+2895 BRAILLE PATTERN DOTS-1358
+2896 BRAILLE PATTERN DOTS-2358
+2897 BRAILLE PATTERN DOTS-12358
+2898 BRAILLE PATTERN DOTS-458
+2899 BRAILLE PATTERN DOTS-1458
+289a BRAILLE PATTERN DOTS-2458
+289b BRAILLE PATTERN DOTS-12458
+289c BRAILLE PATTERN DOTS-3458
+289d BRAILLE PATTERN DOTS-13458
+289e BRAILLE PATTERN DOTS-23458
+289f BRAILLE PATTERN DOTS-123458
+28a0 BRAILLE PATTERN DOTS-68
+28a1 BRAILLE PATTERN DOTS-168
+28a2 BRAILLE PATTERN DOTS-268
+28a3 BRAILLE PATTERN DOTS-1268
+28a4 BRAILLE PATTERN DOTS-368
+28a5 BRAILLE PATTERN DOTS-1368
+28a6 BRAILLE PATTERN DOTS-2368
+28a7 BRAILLE PATTERN DOTS-12368
+28a8 BRAILLE PATTERN DOTS-468
+28a9 BRAILLE PATTERN DOTS-1468
+28aa BRAILLE PATTERN DOTS-2468
+28ab BRAILLE PATTERN DOTS-12468
+28ac BRAILLE PATTERN DOTS-3468
+28ad BRAILLE PATTERN DOTS-13468
+28ae BRAILLE PATTERN DOTS-23468
+28af BRAILLE PATTERN DOTS-123468
+28b0 BRAILLE PATTERN DOTS-568
+28b1 BRAILLE PATTERN DOTS-1568
+28b2 BRAILLE PATTERN DOTS-2568
+28b3 BRAILLE PATTERN DOTS-12568
+28b4 BRAILLE PATTERN DOTS-3568
+28b5 BRAILLE PATTERN DOTS-13568
+28b6 BRAILLE PATTERN DOTS-23568
+28b7 BRAILLE PATTERN DOTS-123568
+28b8 BRAILLE PATTERN DOTS-4568
+28b9 BRAILLE PATTERN DOTS-14568
+28ba BRAILLE PATTERN DOTS-24568
+28bb BRAILLE PATTERN DOTS-124568
+28bc BRAILLE PATTERN DOTS-34568
+28bd BRAILLE PATTERN DOTS-134568
+28be BRAILLE PATTERN DOTS-234568
+28bf BRAILLE PATTERN DOTS-1234568
+28c0 BRAILLE PATTERN DOTS-78
+28c1 BRAILLE PATTERN DOTS-178
+28c2 BRAILLE PATTERN DOTS-278
+28c3 BRAILLE PATTERN DOTS-1278
+28c4 BRAILLE PATTERN DOTS-378
+28c5 BRAILLE PATTERN DOTS-1378
+28c6 BRAILLE PATTERN DOTS-2378
+28c7 BRAILLE PATTERN DOTS-12378
+28c8 BRAILLE PATTERN DOTS-478
+28c9 BRAILLE PATTERN DOTS-1478
+28ca BRAILLE PATTERN DOTS-2478
+28cb BRAILLE PATTERN DOTS-12478
+28cc BRAILLE PATTERN DOTS-3478
+28cd BRAILLE PATTERN DOTS-13478
+28ce BRAILLE PATTERN DOTS-23478
+28cf BRAILLE PATTERN DOTS-123478
+28d0 BRAILLE PATTERN DOTS-578
+28d1 BRAILLE PATTERN DOTS-1578
+28d2 BRAILLE PATTERN DOTS-2578
+28d3 BRAILLE PATTERN DOTS-12578
+28d4 BRAILLE PATTERN DOTS-3578
+28d5 BRAILLE PATTERN DOTS-13578
+28d6 BRAILLE PATTERN DOTS-23578
+28d7 BRAILLE PATTERN DOTS-123578
+28d8 BRAILLE PATTERN DOTS-4578
+28d9 BRAILLE PATTERN DOTS-14578
+28da BRAILLE PATTERN DOTS-24578
+28db BRAILLE PATTERN DOTS-124578
+28dc BRAILLE PATTERN DOTS-34578
+28dd BRAILLE PATTERN DOTS-134578
+28de BRAILLE PATTERN DOTS-234578
+28df BRAILLE PATTERN DOTS-1234578
+28e0 BRAILLE PATTERN DOTS-678
+28e1 BRAILLE PATTERN DOTS-1678
+28e2 BRAILLE PATTERN DOTS-2678
+28e3 BRAILLE PATTERN DOTS-12678
+28e4 BRAILLE PATTERN DOTS-3678
+28e5 BRAILLE PATTERN DOTS-13678
+28e6 BRAILLE PATTERN DOTS-23678
+28e7 BRAILLE PATTERN DOTS-123678
+28e8 BRAILLE PATTERN DOTS-4678
+28e9 BRAILLE PATTERN DOTS-14678
+28ea BRAILLE PATTERN DOTS-24678
+28eb BRAILLE PATTERN DOTS-124678
+28ec BRAILLE PATTERN DOTS-34678
+28ed BRAILLE PATTERN DOTS-134678
+28ee BRAILLE PATTERN DOTS-234678
+28ef BRAILLE PATTERN DOTS-1234678
+28f0 BRAILLE PATTERN DOTS-5678
+28f1 BRAILLE PATTERN DOTS-15678
+28f2 BRAILLE PATTERN DOTS-25678
+28f3 BRAILLE PATTERN DOTS-125678
+28f4 BRAILLE PATTERN DOTS-35678
+28f5 BRAILLE PATTERN DOTS-135678
+28f6 BRAILLE PATTERN DOTS-235678
+28f7 BRAILLE PATTERN DOTS-1235678
+28f8 BRAILLE PATTERN DOTS-45678
+28f9 BRAILLE PATTERN DOTS-145678
+28fa BRAILLE PATTERN DOTS-245678
+28fb BRAILLE PATTERN DOTS-1245678
+28fc BRAILLE PATTERN DOTS-345678
+28fd BRAILLE PATTERN DOTS-1345678
+28fe BRAILLE PATTERN DOTS-2345678
+28ff BRAILLE PATTERN DOTS-12345678
+2e80 CJK RADICAL REPEAT
+2e81 CJK RADICAL CLIFF
+2e82 CJK RADICAL SECOND ONE
+2e83 CJK RADICAL SECOND TWO
+2e84 CJK RADICAL SECOND THREE
+2e85 CJK RADICAL PERSON
+2e86 CJK RADICAL BOX
+2e87 CJK RADICAL TABLE
+2e88 CJK RADICAL KNIFE ONE
+2e89 CJK RADICAL KNIFE TWO
+2e8a CJK RADICAL DIVINATION
+2e8b CJK RADICAL SEAL
+2e8c CJK RADICAL SMALL ONE
+2e8d CJK RADICAL SMALL TWO
+2e8e CJK RADICAL LAME ONE
+2e8f CJK RADICAL LAME TWO
+2e90 CJK RADICAL LAME THREE
+2e91 CJK RADICAL LAME FOUR
+2e92 CJK RADICAL SNAKE
+2e93 CJK RADICAL THREAD
+2e94 CJK RADICAL SNOUT ONE
+2e95 CJK RADICAL SNOUT TWO
+2e96 CJK RADICAL HEART ONE
+2e97 CJK RADICAL HEART TWO
+2e98 CJK RADICAL HAND
+2e99 CJK RADICAL RAP
+2e9b CJK RADICAL CHOKE
+2e9c CJK RADICAL SUN
+2e9d CJK RADICAL MOON
+2e9e CJK RADICAL DEATH
+2e9f CJK RADICAL MOTHER
+2ea0 CJK RADICAL CIVILIAN
+2ea1 CJK RADICAL WATER ONE
+2ea2 CJK RADICAL WATER TWO
+2ea3 CJK RADICAL FIRE
+2ea4 CJK RADICAL PAW ONE
+2ea5 CJK RADICAL PAW TWO
+2ea6 CJK RADICAL SIMPLIFIED HALF TREE TRUNK
+2ea7 CJK RADICAL COW
+2ea8 CJK RADICAL DOG
+2ea9 CJK RADICAL JADE
+2eaa CJK RADICAL BOLT OF CLOTH
+2eab CJK RADICAL EYE
+2eac CJK RADICAL SPIRIT ONE
+2ead CJK RADICAL SPIRIT TWO
+2eae CJK RADICAL BAMBOO
+2eaf CJK RADICAL SILK
+2eb0 CJK RADICAL C-SIMPLIFIED SILK
+2eb1 CJK RADICAL NET ONE
+2eb2 CJK RADICAL NET TWO
+2eb3 CJK RADICAL NET THREE
+2eb4 CJK RADICAL NET FOUR
+2eb5 CJK RADICAL MESH
+2eb6 CJK RADICAL SHEEP
+2eb7 CJK RADICAL RAM
+2eb8 CJK RADICAL EWE
+2eb9 CJK RADICAL OLD
+2eba CJK RADICAL BRUSH ONE
+2ebb CJK RADICAL BRUSH TWO
+2ebc CJK RADICAL MEAT
+2ebd CJK RADICAL MORTAR
+2ebe CJK RADICAL GRASS ONE
+2ebf CJK RADICAL GRASS TWO
+2ec0 CJK RADICAL GRASS THREE
+2ec1 CJK RADICAL TIGER
+2ec2 CJK RADICAL CLOTHES
+2ec3 CJK RADICAL WEST ONE
+2ec4 CJK RADICAL WEST TWO
+2ec5 CJK RADICAL C-SIMPLIFIED SEE
+2ec6 CJK RADICAL SIMPLIFIED HORN
+2ec7 CJK RADICAL HORN
+2ec8 CJK RADICAL C-SIMPLIFIED SPEECH
+2ec9 CJK RADICAL C-SIMPLIFIED SHELL
+2eca CJK RADICAL FOOT
+2ecb CJK RADICAL C-SIMPLIFIED CART
+2ecc CJK RADICAL SIMPLIFIED WALK
+2ecd CJK RADICAL WALK ONE
+2ece CJK RADICAL WALK TWO
+2ecf CJK RADICAL CITY
+2ed0 CJK RADICAL C-SIMPLIFIED GOLD
+2ed1 CJK RADICAL LONG ONE
+2ed2 CJK RADICAL LONG TWO
+2ed3 CJK RADICAL C-SIMPLIFIED LONG
+2ed4 CJK RADICAL C-SIMPLIFIED GATE
+2ed5 CJK RADICAL MOUND ONE
+2ed6 CJK RADICAL MOUND TWO
+2ed7 CJK RADICAL RAIN
+2ed8 CJK RADICAL BLUE
+2ed9 CJK RADICAL C-SIMPLIFIED TANNED LEATHER
+2eda CJK RADICAL C-SIMPLIFIED LEAF
+2edb CJK RADICAL C-SIMPLIFIED WIND
+2edc CJK RADICAL C-SIMPLIFIED FLY
+2edd CJK RADICAL EAT ONE
+2ede CJK RADICAL EAT TWO
+2edf CJK RADICAL EAT THREE
+2ee0 CJK RADICAL C-SIMPLIFIED EAT
+2ee1 CJK RADICAL HEAD
+2ee2 CJK RADICAL C-SIMPLIFIED HORSE
+2ee3 CJK RADICAL BONE
+2ee4 CJK RADICAL GHOST
+2ee5 CJK RADICAL C-SIMPLIFIED FISH
+2ee6 CJK RADICAL C-SIMPLIFIED BIRD
+2ee7 CJK RADICAL C-SIMPLIFIED SALT
+2ee8 CJK RADICAL SIMPLIFIED WHEAT
+2ee9 CJK RADICAL SIMPLIFIED YELLOW
+2eea CJK RADICAL C-SIMPLIFIED FROG
+2eeb CJK RADICAL J-SIMPLIFIED EVEN
+2eec CJK RADICAL C-SIMPLIFIED EVEN
+2eed CJK RADICAL J-SIMPLIFIED TOOTH
+2eee CJK RADICAL C-SIMPLIFIED TOOTH
+2eef CJK RADICAL J-SIMPLIFIED DRAGON
+2ef0 CJK RADICAL C-SIMPLIFIED DRAGON
+2ef1 CJK RADICAL TURTLE
+2ef2 CJK RADICAL J-SIMPLIFIED TURTLE
+2ef3 CJK RADICAL C-SIMPLIFIED TURTLE
+2f00 KANGXI RADICAL ONE
+2f01 KANGXI RADICAL LINE
+2f02 KANGXI RADICAL DOT
+2f03 KANGXI RADICAL SLASH
+2f04 KANGXI RADICAL SECOND
+2f05 KANGXI RADICAL HOOK
+2f06 KANGXI RADICAL TWO
+2f07 KANGXI RADICAL LID
+2f08 KANGXI RADICAL MAN
+2f09 KANGXI RADICAL LEGS
+2f0a KANGXI RADICAL ENTER
+2f0b KANGXI RADICAL EIGHT
+2f0c KANGXI RADICAL DOWN BOX
+2f0d KANGXI RADICAL COVER
+2f0e KANGXI RADICAL ICE
+2f0f KANGXI RADICAL TABLE
+2f10 KANGXI RADICAL OPEN BOX
+2f11 KANGXI RADICAL KNIFE
+2f12 KANGXI RADICAL POWER
+2f13 KANGXI RADICAL WRAP
+2f14 KANGXI RADICAL SPOON
+2f15 KANGXI RADICAL RIGHT OPEN BOX
+2f16 KANGXI RADICAL HIDING ENCLOSURE
+2f17 KANGXI RADICAL TEN
+2f18 KANGXI RADICAL DIVINATION
+2f19 KANGXI RADICAL SEAL
+2f1a KANGXI RADICAL CLIFF
+2f1b KANGXI RADICAL PRIVATE
+2f1c KANGXI RADICAL AGAIN
+2f1d KANGXI RADICAL MOUTH
+2f1e KANGXI RADICAL ENCLOSURE
+2f1f KANGXI RADICAL EARTH
+2f20 KANGXI RADICAL SCHOLAR
+2f21 KANGXI RADICAL GO
+2f22 KANGXI RADICAL GO SLOWLY
+2f23 KANGXI RADICAL EVENING
+2f24 KANGXI RADICAL BIG
+2f25 KANGXI RADICAL WOMAN
+2f26 KANGXI RADICAL CHILD
+2f27 KANGXI RADICAL ROOF
+2f28 KANGXI RADICAL INCH
+2f29 KANGXI RADICAL SMALL
+2f2a KANGXI RADICAL LAME
+2f2b KANGXI RADICAL CORPSE
+2f2c KANGXI RADICAL SPROUT
+2f2d KANGXI RADICAL MOUNTAIN
+2f2e KANGXI RADICAL RIVER
+2f2f KANGXI RADICAL WORK
+2f30 KANGXI RADICAL ONESELF
+2f31 KANGXI RADICAL TURBAN
+2f32 KANGXI RADICAL DRY
+2f33 KANGXI RADICAL SHORT THREAD
+2f34 KANGXI RADICAL DOTTED CLIFF
+2f35 KANGXI RADICAL LONG STRIDE
+2f36 KANGXI RADICAL TWO HANDS
+2f37 KANGXI RADICAL SHOOT
+2f38 KANGXI RADICAL BOW
+2f39 KANGXI RADICAL SNOUT
+2f3a KANGXI RADICAL BRISTLE
+2f3b KANGXI RADICAL STEP
+2f3c KANGXI RADICAL HEART
+2f3d KANGXI RADICAL HALBERD
+2f3e KANGXI RADICAL DOOR
+2f3f KANGXI RADICAL HAND
+2f40 KANGXI RADICAL BRANCH
+2f41 KANGXI RADICAL RAP
+2f42 KANGXI RADICAL SCRIPT
+2f43 KANGXI RADICAL DIPPER
+2f44 KANGXI RADICAL AXE
+2f45 KANGXI RADICAL SQUARE
+2f46 KANGXI RADICAL NOT
+2f47 KANGXI RADICAL SUN
+2f48 KANGXI RADICAL SAY
+2f49 KANGXI RADICAL MOON
+2f4a KANGXI RADICAL TREE
+2f4b KANGXI RADICAL LACK
+2f4c KANGXI RADICAL STOP
+2f4d KANGXI RADICAL DEATH
+2f4e KANGXI RADICAL WEAPON
+2f4f KANGXI RADICAL DO NOT
+2f50 KANGXI RADICAL COMPARE
+2f51 KANGXI RADICAL FUR
+2f52 KANGXI RADICAL CLAN
+2f53 KANGXI RADICAL STEAM
+2f54 KANGXI RADICAL WATER
+2f55 KANGXI RADICAL FIRE
+2f56 KANGXI RADICAL CLAW
+2f57 KANGXI RADICAL FATHER
+2f58 KANGXI RADICAL DOUBLE X
+2f59 KANGXI RADICAL HALF TREE TRUNK
+2f5a KANGXI RADICAL SLICE
+2f5b KANGXI RADICAL FANG
+2f5c KANGXI RADICAL COW
+2f5d KANGXI RADICAL DOG
+2f5e KANGXI RADICAL PROFOUND
+2f5f KANGXI RADICAL JADE
+2f60 KANGXI RADICAL MELON
+2f61 KANGXI RADICAL TILE
+2f62 KANGXI RADICAL SWEET
+2f63 KANGXI RADICAL LIFE
+2f64 KANGXI RADICAL USE
+2f65 KANGXI RADICAL FIELD
+2f66 KANGXI RADICAL BOLT OF CLOTH
+2f67 KANGXI RADICAL SICKNESS
+2f68 KANGXI RADICAL DOTTED TENT
+2f69 KANGXI RADICAL WHITE
+2f6a KANGXI RADICAL SKIN
+2f6b KANGXI RADICAL DISH
+2f6c KANGXI RADICAL EYE
+2f6d KANGXI RADICAL SPEAR
+2f6e KANGXI RADICAL ARROW
+2f6f KANGXI RADICAL STONE
+2f70 KANGXI RADICAL SPIRIT
+2f71 KANGXI RADICAL TRACK
+2f72 KANGXI RADICAL GRAIN
+2f73 KANGXI RADICAL CAVE
+2f74 KANGXI RADICAL STAND
+2f75 KANGXI RADICAL BAMBOO
+2f76 KANGXI RADICAL RICE
+2f77 KANGXI RADICAL SILK
+2f78 KANGXI RADICAL JAR
+2f79 KANGXI RADICAL NET
+2f7a KANGXI RADICAL SHEEP
+2f7b KANGXI RADICAL FEATHER
+2f7c KANGXI RADICAL OLD
+2f7d KANGXI RADICAL AND
+2f7e KANGXI RADICAL PLOW
+2f7f KANGXI RADICAL EAR
+2f80 KANGXI RADICAL BRUSH
+2f81 KANGXI RADICAL MEAT
+2f82 KANGXI RADICAL MINISTER
+2f83 KANGXI RADICAL SELF
+2f84 KANGXI RADICAL ARRIVE
+2f85 KANGXI RADICAL MORTAR
+2f86 KANGXI RADICAL TONGUE
+2f87 KANGXI RADICAL OPPOSE
+2f88 KANGXI RADICAL BOAT
+2f89 KANGXI RADICAL STOPPING
+2f8a KANGXI RADICAL COLOR
+2f8b KANGXI RADICAL GRASS
+2f8c KANGXI RADICAL TIGER
+2f8d KANGXI RADICAL INSECT
+2f8e KANGXI RADICAL BLOOD
+2f8f KANGXI RADICAL WALK ENCLOSURE
+2f90 KANGXI RADICAL CLOTHES
+2f91 KANGXI RADICAL WEST
+2f92 KANGXI RADICAL SEE
+2f93 KANGXI RADICAL HORN
+2f94 KANGXI RADICAL SPEECH
+2f95 KANGXI RADICAL VALLEY
+2f96 KANGXI RADICAL BEAN
+2f97 KANGXI RADICAL PIG
+2f98 KANGXI RADICAL BADGER
+2f99 KANGXI RADICAL SHELL
+2f9a KANGXI RADICAL RED
+2f9b KANGXI RADICAL RUN
+2f9c KANGXI RADICAL FOOT
+2f9d KANGXI RADICAL BODY
+2f9e KANGXI RADICAL CART
+2f9f KANGXI RADICAL BITTER
+2fa0 KANGXI RADICAL MORNING
+2fa1 KANGXI RADICAL WALK
+2fa2 KANGXI RADICAL CITY
+2fa3 KANGXI RADICAL WINE
+2fa4 KANGXI RADICAL DISTINGUISH
+2fa5 KANGXI RADICAL VILLAGE
+2fa6 KANGXI RADICAL GOLD
+2fa7 KANGXI RADICAL LONG
+2fa8 KANGXI RADICAL GATE
+2fa9 KANGXI RADICAL MOUND
+2faa KANGXI RADICAL SLAVE
+2fab KANGXI RADICAL SHORT TAILED BIRD
+2fac KANGXI RADICAL RAIN
+2fad KANGXI RADICAL BLUE
+2fae KANGXI RADICAL WRONG
+2faf KANGXI RADICAL FACE
+2fb0 KANGXI RADICAL LEATHER
+2fb1 KANGXI RADICAL TANNED LEATHER
+2fb2 KANGXI RADICAL LEEK
+2fb3 KANGXI RADICAL SOUND
+2fb4 KANGXI RADICAL LEAF
+2fb5 KANGXI RADICAL WIND
+2fb6 KANGXI RADICAL FLY
+2fb7 KANGXI RADICAL EAT
+2fb8 KANGXI RADICAL HEAD
+2fb9 KANGXI RADICAL FRAGRANT
+2fba KANGXI RADICAL HORSE
+2fbb KANGXI RADICAL BONE
+2fbc KANGXI RADICAL TALL
+2fbd KANGXI RADICAL HAIR
+2fbe KANGXI RADICAL FIGHT
+2fbf KANGXI RADICAL SACRIFICIAL WINE
+2fc0 KANGXI RADICAL CAULDRON
+2fc1 KANGXI RADICAL GHOST
+2fc2 KANGXI RADICAL FISH
+2fc3 KANGXI RADICAL BIRD
+2fc4 KANGXI RADICAL SALT
+2fc5 KANGXI RADICAL DEER
+2fc6 KANGXI RADICAL WHEAT
+2fc7 KANGXI RADICAL HEMP
+2fc8 KANGXI RADICAL YELLOW
+2fc9 KANGXI RADICAL MILLET
+2fca KANGXI RADICAL BLACK
+2fcb KANGXI RADICAL EMBROIDERY
+2fcc KANGXI RADICAL FROG
+2fcd KANGXI RADICAL TRIPOD
+2fce KANGXI RADICAL DRUM
+2fcf KANGXI RADICAL RAT
+2fd0 KANGXI RADICAL NOSE
+2fd1 KANGXI RADICAL EVEN
+2fd2 KANGXI RADICAL TOOTH
+2fd3 KANGXI RADICAL DRAGON
+2fd4 KANGXI RADICAL TURTLE
+2fd5 KANGXI RADICAL FLUTE
+2ff0 IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT
+2ff1 IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW
+2ff2 IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT
+2ff3 IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW
+2ff4 IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND
+2ff5 IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE
+2ff6 IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW
+2ff7 IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT
+2ff8 IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT
+2ff9 IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT
+2ffa IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT
+2ffb IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
3000 IDEOGRAPHIC SPACE
3001 IDEOGRAPHIC COMMA
3002 IDEOGRAPHIC FULL STOP
@@ -4998,6 +7131,10 @@ return <<'END';
3035 VERTICAL KANA REPEAT MARK LOWER HALF
3036 CIRCLED POSTAL MARK
3037 IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
+3038 HANGZHOU NUMERAL TEN
+3039 HANGZHOU NUMERAL TWENTY
+303a HANGZHOU NUMERAL THIRTY
+303e IDEOGRAPHIC VARIATION INDICATOR
303f IDEOGRAPHIC HALF FILL SPACE
3041 HIRAGANA LETTER SMALL A
3042 HIRAGANA LETTER A
@@ -5333,6 +7470,30 @@ return <<'END';
319d IDEOGRAPHIC ANNOTATION HEAVEN MARK
319e IDEOGRAPHIC ANNOTATION EARTH MARK
319f IDEOGRAPHIC ANNOTATION MAN MARK
+31a0 BOPOMOFO LETTER BU
+31a1 BOPOMOFO LETTER ZI
+31a2 BOPOMOFO LETTER JI
+31a3 BOPOMOFO LETTER GU
+31a4 BOPOMOFO LETTER EE
+31a5 BOPOMOFO LETTER ENN
+31a6 BOPOMOFO LETTER OO
+31a7 BOPOMOFO LETTER ONN
+31a8 BOPOMOFO LETTER IR
+31a9 BOPOMOFO LETTER ANN
+31aa BOPOMOFO LETTER INN
+31ab BOPOMOFO LETTER UNN
+31ac BOPOMOFO LETTER IM
+31ad BOPOMOFO LETTER NGG
+31ae BOPOMOFO LETTER AINN
+31af BOPOMOFO LETTER AUNN
+31b0 BOPOMOFO LETTER AM
+31b1 BOPOMOFO LETTER OM
+31b2 BOPOMOFO LETTER ONG
+31b3 BOPOMOFO LETTER INNN
+31b4 BOPOMOFO FINAL LETTER P
+31b5 BOPOMOFO FINAL LETTER T
+31b6 BOPOMOFO FINAL LETTER K
+31b7 BOPOMOFO FINAL LETTER H
3200 PARENTHESIZED HANGUL KIYEOK
3201 PARENTHESIZED HANGUL NIEUN
3202 PARENTHESIZED HANGUL TIKEUT
@@ -5784,13 +7945,1530 @@ return <<'END';
33fc IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
33fd IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
33fe IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
+3400 4db5 <CJK Ideograph Extension A, First>
4e00 9fa5 <CJK Ideograph, First>
+a000 YI SYLLABLE IT
+a001 YI SYLLABLE IX
+a002 YI SYLLABLE I
+a003 YI SYLLABLE IP
+a004 YI SYLLABLE IET
+a005 YI SYLLABLE IEX
+a006 YI SYLLABLE IE
+a007 YI SYLLABLE IEP
+a008 YI SYLLABLE AT
+a009 YI SYLLABLE AX
+a00a YI SYLLABLE A
+a00b YI SYLLABLE AP
+a00c YI SYLLABLE UOX
+a00d YI SYLLABLE UO
+a00e YI SYLLABLE UOP
+a00f YI SYLLABLE OT
+a010 YI SYLLABLE OX
+a011 YI SYLLABLE O
+a012 YI SYLLABLE OP
+a013 YI SYLLABLE EX
+a014 YI SYLLABLE E
+a015 YI SYLLABLE WU
+a016 YI SYLLABLE BIT
+a017 YI SYLLABLE BIX
+a018 YI SYLLABLE BI
+a019 YI SYLLABLE BIP
+a01a YI SYLLABLE BIET
+a01b YI SYLLABLE BIEX
+a01c YI SYLLABLE BIE
+a01d YI SYLLABLE BIEP
+a01e YI SYLLABLE BAT
+a01f YI SYLLABLE BAX
+a020 YI SYLLABLE BA
+a021 YI SYLLABLE BAP
+a022 YI SYLLABLE BUOX
+a023 YI SYLLABLE BUO
+a024 YI SYLLABLE BUOP
+a025 YI SYLLABLE BOT
+a026 YI SYLLABLE BOX
+a027 YI SYLLABLE BO
+a028 YI SYLLABLE BOP
+a029 YI SYLLABLE BEX
+a02a YI SYLLABLE BE
+a02b YI SYLLABLE BEP
+a02c YI SYLLABLE BUT
+a02d YI SYLLABLE BUX
+a02e YI SYLLABLE BU
+a02f YI SYLLABLE BUP
+a030 YI SYLLABLE BURX
+a031 YI SYLLABLE BUR
+a032 YI SYLLABLE BYT
+a033 YI SYLLABLE BYX
+a034 YI SYLLABLE BY
+a035 YI SYLLABLE BYP
+a036 YI SYLLABLE BYRX
+a037 YI SYLLABLE BYR
+a038 YI SYLLABLE PIT
+a039 YI SYLLABLE PIX
+a03a YI SYLLABLE PI
+a03b YI SYLLABLE PIP
+a03c YI SYLLABLE PIEX
+a03d YI SYLLABLE PIE
+a03e YI SYLLABLE PIEP
+a03f YI SYLLABLE PAT
+a040 YI SYLLABLE PAX
+a041 YI SYLLABLE PA
+a042 YI SYLLABLE PAP
+a043 YI SYLLABLE PUOX
+a044 YI SYLLABLE PUO
+a045 YI SYLLABLE PUOP
+a046 YI SYLLABLE POT
+a047 YI SYLLABLE POX
+a048 YI SYLLABLE PO
+a049 YI SYLLABLE POP
+a04a YI SYLLABLE PUT
+a04b YI SYLLABLE PUX
+a04c YI SYLLABLE PU
+a04d YI SYLLABLE PUP
+a04e YI SYLLABLE PURX
+a04f YI SYLLABLE PUR
+a050 YI SYLLABLE PYT
+a051 YI SYLLABLE PYX
+a052 YI SYLLABLE PY
+a053 YI SYLLABLE PYP
+a054 YI SYLLABLE PYRX
+a055 YI SYLLABLE PYR
+a056 YI SYLLABLE BBIT
+a057 YI SYLLABLE BBIX
+a058 YI SYLLABLE BBI
+a059 YI SYLLABLE BBIP
+a05a YI SYLLABLE BBIET
+a05b YI SYLLABLE BBIEX
+a05c YI SYLLABLE BBIE
+a05d YI SYLLABLE BBIEP
+a05e YI SYLLABLE BBAT
+a05f YI SYLLABLE BBAX
+a060 YI SYLLABLE BBA
+a061 YI SYLLABLE BBAP
+a062 YI SYLLABLE BBUOX
+a063 YI SYLLABLE BBUO
+a064 YI SYLLABLE BBUOP
+a065 YI SYLLABLE BBOT
+a066 YI SYLLABLE BBOX
+a067 YI SYLLABLE BBO
+a068 YI SYLLABLE BBOP
+a069 YI SYLLABLE BBEX
+a06a YI SYLLABLE BBE
+a06b YI SYLLABLE BBEP
+a06c YI SYLLABLE BBUT
+a06d YI SYLLABLE BBUX
+a06e YI SYLLABLE BBU
+a06f YI SYLLABLE BBUP
+a070 YI SYLLABLE BBURX
+a071 YI SYLLABLE BBUR
+a072 YI SYLLABLE BBYT
+a073 YI SYLLABLE BBYX
+a074 YI SYLLABLE BBY
+a075 YI SYLLABLE BBYP
+a076 YI SYLLABLE NBIT
+a077 YI SYLLABLE NBIX
+a078 YI SYLLABLE NBI
+a079 YI SYLLABLE NBIP
+a07a YI SYLLABLE NBIEX
+a07b YI SYLLABLE NBIE
+a07c YI SYLLABLE NBIEP
+a07d YI SYLLABLE NBAT
+a07e YI SYLLABLE NBAX
+a07f YI SYLLABLE NBA
+a080 YI SYLLABLE NBAP
+a081 YI SYLLABLE NBOT
+a082 YI SYLLABLE NBOX
+a083 YI SYLLABLE NBO
+a084 YI SYLLABLE NBOP
+a085 YI SYLLABLE NBUT
+a086 YI SYLLABLE NBUX
+a087 YI SYLLABLE NBU
+a088 YI SYLLABLE NBUP
+a089 YI SYLLABLE NBURX
+a08a YI SYLLABLE NBUR
+a08b YI SYLLABLE NBYT
+a08c YI SYLLABLE NBYX
+a08d YI SYLLABLE NBY
+a08e YI SYLLABLE NBYP
+a08f YI SYLLABLE NBYRX
+a090 YI SYLLABLE NBYR
+a091 YI SYLLABLE HMIT
+a092 YI SYLLABLE HMIX
+a093 YI SYLLABLE HMI
+a094 YI SYLLABLE HMIP
+a095 YI SYLLABLE HMIEX
+a096 YI SYLLABLE HMIE
+a097 YI SYLLABLE HMIEP
+a098 YI SYLLABLE HMAT
+a099 YI SYLLABLE HMAX
+a09a YI SYLLABLE HMA
+a09b YI SYLLABLE HMAP
+a09c YI SYLLABLE HMUOX
+a09d YI SYLLABLE HMUO
+a09e YI SYLLABLE HMUOP
+a09f YI SYLLABLE HMOT
+a0a0 YI SYLLABLE HMOX
+a0a1 YI SYLLABLE HMO
+a0a2 YI SYLLABLE HMOP
+a0a3 YI SYLLABLE HMUT
+a0a4 YI SYLLABLE HMUX
+a0a5 YI SYLLABLE HMU
+a0a6 YI SYLLABLE HMUP
+a0a7 YI SYLLABLE HMURX
+a0a8 YI SYLLABLE HMUR
+a0a9 YI SYLLABLE HMYX
+a0aa YI SYLLABLE HMY
+a0ab YI SYLLABLE HMYP
+a0ac YI SYLLABLE HMYRX
+a0ad YI SYLLABLE HMYR
+a0ae YI SYLLABLE MIT
+a0af YI SYLLABLE MIX
+a0b0 YI SYLLABLE MI
+a0b1 YI SYLLABLE MIP
+a0b2 YI SYLLABLE MIEX
+a0b3 YI SYLLABLE MIE
+a0b4 YI SYLLABLE MIEP
+a0b5 YI SYLLABLE MAT
+a0b6 YI SYLLABLE MAX
+a0b7 YI SYLLABLE MA
+a0b8 YI SYLLABLE MAP
+a0b9 YI SYLLABLE MUOT
+a0ba YI SYLLABLE MUOX
+a0bb YI SYLLABLE MUO
+a0bc YI SYLLABLE MUOP
+a0bd YI SYLLABLE MOT
+a0be YI SYLLABLE MOX
+a0bf YI SYLLABLE MO
+a0c0 YI SYLLABLE MOP
+a0c1 YI SYLLABLE MEX
+a0c2 YI SYLLABLE ME
+a0c3 YI SYLLABLE MUT
+a0c4 YI SYLLABLE MUX
+a0c5 YI SYLLABLE MU
+a0c6 YI SYLLABLE MUP
+a0c7 YI SYLLABLE MURX
+a0c8 YI SYLLABLE MUR
+a0c9 YI SYLLABLE MYT
+a0ca YI SYLLABLE MYX
+a0cb YI SYLLABLE MY
+a0cc YI SYLLABLE MYP
+a0cd YI SYLLABLE FIT
+a0ce YI SYLLABLE FIX
+a0cf YI SYLLABLE FI
+a0d0 YI SYLLABLE FIP
+a0d1 YI SYLLABLE FAT
+a0d2 YI SYLLABLE FAX
+a0d3 YI SYLLABLE FA
+a0d4 YI SYLLABLE FAP
+a0d5 YI SYLLABLE FOX
+a0d6 YI SYLLABLE FO
+a0d7 YI SYLLABLE FOP
+a0d8 YI SYLLABLE FUT
+a0d9 YI SYLLABLE FUX
+a0da YI SYLLABLE FU
+a0db YI SYLLABLE FUP
+a0dc YI SYLLABLE FURX
+a0dd YI SYLLABLE FUR
+a0de YI SYLLABLE FYT
+a0df YI SYLLABLE FYX
+a0e0 YI SYLLABLE FY
+a0e1 YI SYLLABLE FYP
+a0e2 YI SYLLABLE VIT
+a0e3 YI SYLLABLE VIX
+a0e4 YI SYLLABLE VI
+a0e5 YI SYLLABLE VIP
+a0e6 YI SYLLABLE VIET
+a0e7 YI SYLLABLE VIEX
+a0e8 YI SYLLABLE VIE
+a0e9 YI SYLLABLE VIEP
+a0ea YI SYLLABLE VAT
+a0eb YI SYLLABLE VAX
+a0ec YI SYLLABLE VA
+a0ed YI SYLLABLE VAP
+a0ee YI SYLLABLE VOT
+a0ef YI SYLLABLE VOX
+a0f0 YI SYLLABLE VO
+a0f1 YI SYLLABLE VOP
+a0f2 YI SYLLABLE VEX
+a0f3 YI SYLLABLE VEP
+a0f4 YI SYLLABLE VUT
+a0f5 YI SYLLABLE VUX
+a0f6 YI SYLLABLE VU
+a0f7 YI SYLLABLE VUP
+a0f8 YI SYLLABLE VURX
+a0f9 YI SYLLABLE VUR
+a0fa YI SYLLABLE VYT
+a0fb YI SYLLABLE VYX
+a0fc YI SYLLABLE VY
+a0fd YI SYLLABLE VYP
+a0fe YI SYLLABLE VYRX
+a0ff YI SYLLABLE VYR
+a100 YI SYLLABLE DIT
+a101 YI SYLLABLE DIX
+a102 YI SYLLABLE DI
+a103 YI SYLLABLE DIP
+a104 YI SYLLABLE DIEX
+a105 YI SYLLABLE DIE
+a106 YI SYLLABLE DIEP
+a107 YI SYLLABLE DAT
+a108 YI SYLLABLE DAX
+a109 YI SYLLABLE DA
+a10a YI SYLLABLE DAP
+a10b YI SYLLABLE DUOX
+a10c YI SYLLABLE DUO
+a10d YI SYLLABLE DOT
+a10e YI SYLLABLE DOX
+a10f YI SYLLABLE DO
+a110 YI SYLLABLE DOP
+a111 YI SYLLABLE DEX
+a112 YI SYLLABLE DE
+a113 YI SYLLABLE DEP
+a114 YI SYLLABLE DUT
+a115 YI SYLLABLE DUX
+a116 YI SYLLABLE DU
+a117 YI SYLLABLE DUP
+a118 YI SYLLABLE DURX
+a119 YI SYLLABLE DUR
+a11a YI SYLLABLE TIT
+a11b YI SYLLABLE TIX
+a11c YI SYLLABLE TI
+a11d YI SYLLABLE TIP
+a11e YI SYLLABLE TIEX
+a11f YI SYLLABLE TIE
+a120 YI SYLLABLE TIEP
+a121 YI SYLLABLE TAT
+a122 YI SYLLABLE TAX
+a123 YI SYLLABLE TA
+a124 YI SYLLABLE TAP
+a125 YI SYLLABLE TUOT
+a126 YI SYLLABLE TUOX
+a127 YI SYLLABLE TUO
+a128 YI SYLLABLE TUOP
+a129 YI SYLLABLE TOT
+a12a YI SYLLABLE TOX
+a12b YI SYLLABLE TO
+a12c YI SYLLABLE TOP
+a12d YI SYLLABLE TEX
+a12e YI SYLLABLE TE
+a12f YI SYLLABLE TEP
+a130 YI SYLLABLE TUT
+a131 YI SYLLABLE TUX
+a132 YI SYLLABLE TU
+a133 YI SYLLABLE TUP
+a134 YI SYLLABLE TURX
+a135 YI SYLLABLE TUR
+a136 YI SYLLABLE DDIT
+a137 YI SYLLABLE DDIX
+a138 YI SYLLABLE DDI
+a139 YI SYLLABLE DDIP
+a13a YI SYLLABLE DDIEX
+a13b YI SYLLABLE DDIE
+a13c YI SYLLABLE DDIEP
+a13d YI SYLLABLE DDAT
+a13e YI SYLLABLE DDAX
+a13f YI SYLLABLE DDA
+a140 YI SYLLABLE DDAP
+a141 YI SYLLABLE DDUOX
+a142 YI SYLLABLE DDUO
+a143 YI SYLLABLE DDUOP
+a144 YI SYLLABLE DDOT
+a145 YI SYLLABLE DDOX
+a146 YI SYLLABLE DDO
+a147 YI SYLLABLE DDOP
+a148 YI SYLLABLE DDEX
+a149 YI SYLLABLE DDE
+a14a YI SYLLABLE DDEP
+a14b YI SYLLABLE DDUT
+a14c YI SYLLABLE DDUX
+a14d YI SYLLABLE DDU
+a14e YI SYLLABLE DDUP
+a14f YI SYLLABLE DDURX
+a150 YI SYLLABLE DDUR
+a151 YI SYLLABLE NDIT
+a152 YI SYLLABLE NDIX
+a153 YI SYLLABLE NDI
+a154 YI SYLLABLE NDIP
+a155 YI SYLLABLE NDIEX
+a156 YI SYLLABLE NDIE
+a157 YI SYLLABLE NDAT
+a158 YI SYLLABLE NDAX
+a159 YI SYLLABLE NDA
+a15a YI SYLLABLE NDAP
+a15b YI SYLLABLE NDOT
+a15c YI SYLLABLE NDOX
+a15d YI SYLLABLE NDO
+a15e YI SYLLABLE NDOP
+a15f YI SYLLABLE NDEX
+a160 YI SYLLABLE NDE
+a161 YI SYLLABLE NDEP
+a162 YI SYLLABLE NDUT
+a163 YI SYLLABLE NDUX
+a164 YI SYLLABLE NDU
+a165 YI SYLLABLE NDUP
+a166 YI SYLLABLE NDURX
+a167 YI SYLLABLE NDUR
+a168 YI SYLLABLE HNIT
+a169 YI SYLLABLE HNIX
+a16a YI SYLLABLE HNI
+a16b YI SYLLABLE HNIP
+a16c YI SYLLABLE HNIET
+a16d YI SYLLABLE HNIEX
+a16e YI SYLLABLE HNIE
+a16f YI SYLLABLE HNIEP
+a170 YI SYLLABLE HNAT
+a171 YI SYLLABLE HNAX
+a172 YI SYLLABLE HNA
+a173 YI SYLLABLE HNAP
+a174 YI SYLLABLE HNUOX
+a175 YI SYLLABLE HNUO
+a176 YI SYLLABLE HNOT
+a177 YI SYLLABLE HNOX
+a178 YI SYLLABLE HNOP
+a179 YI SYLLABLE HNEX
+a17a YI SYLLABLE HNE
+a17b YI SYLLABLE HNEP
+a17c YI SYLLABLE HNUT
+a17d YI SYLLABLE NIT
+a17e YI SYLLABLE NIX
+a17f YI SYLLABLE NI
+a180 YI SYLLABLE NIP
+a181 YI SYLLABLE NIEX
+a182 YI SYLLABLE NIE
+a183 YI SYLLABLE NIEP
+a184 YI SYLLABLE NAX
+a185 YI SYLLABLE NA
+a186 YI SYLLABLE NAP
+a187 YI SYLLABLE NUOX
+a188 YI SYLLABLE NUO
+a189 YI SYLLABLE NUOP
+a18a YI SYLLABLE NOT
+a18b YI SYLLABLE NOX
+a18c YI SYLLABLE NO
+a18d YI SYLLABLE NOP
+a18e YI SYLLABLE NEX
+a18f YI SYLLABLE NE
+a190 YI SYLLABLE NEP
+a191 YI SYLLABLE NUT
+a192 YI SYLLABLE NUX
+a193 YI SYLLABLE NU
+a194 YI SYLLABLE NUP
+a195 YI SYLLABLE NURX
+a196 YI SYLLABLE NUR
+a197 YI SYLLABLE HLIT
+a198 YI SYLLABLE HLIX
+a199 YI SYLLABLE HLI
+a19a YI SYLLABLE HLIP
+a19b YI SYLLABLE HLIEX
+a19c YI SYLLABLE HLIE
+a19d YI SYLLABLE HLIEP
+a19e YI SYLLABLE HLAT
+a19f YI SYLLABLE HLAX
+a1a0 YI SYLLABLE HLA
+a1a1 YI SYLLABLE HLAP
+a1a2 YI SYLLABLE HLUOX
+a1a3 YI SYLLABLE HLUO
+a1a4 YI SYLLABLE HLUOP
+a1a5 YI SYLLABLE HLOX
+a1a6 YI SYLLABLE HLO
+a1a7 YI SYLLABLE HLOP
+a1a8 YI SYLLABLE HLEX
+a1a9 YI SYLLABLE HLE
+a1aa YI SYLLABLE HLEP
+a1ab YI SYLLABLE HLUT
+a1ac YI SYLLABLE HLUX
+a1ad YI SYLLABLE HLU
+a1ae YI SYLLABLE HLUP
+a1af YI SYLLABLE HLURX
+a1b0 YI SYLLABLE HLUR
+a1b1 YI SYLLABLE HLYT
+a1b2 YI SYLLABLE HLYX
+a1b3 YI SYLLABLE HLY
+a1b4 YI SYLLABLE HLYP
+a1b5 YI SYLLABLE HLYRX
+a1b6 YI SYLLABLE HLYR
+a1b7 YI SYLLABLE LIT
+a1b8 YI SYLLABLE LIX
+a1b9 YI SYLLABLE LI
+a1ba YI SYLLABLE LIP
+a1bb YI SYLLABLE LIET
+a1bc YI SYLLABLE LIEX
+a1bd YI SYLLABLE LIE
+a1be YI SYLLABLE LIEP
+a1bf YI SYLLABLE LAT
+a1c0 YI SYLLABLE LAX
+a1c1 YI SYLLABLE LA
+a1c2 YI SYLLABLE LAP
+a1c3 YI SYLLABLE LUOT
+a1c4 YI SYLLABLE LUOX
+a1c5 YI SYLLABLE LUO
+a1c6 YI SYLLABLE LUOP
+a1c7 YI SYLLABLE LOT
+a1c8 YI SYLLABLE LOX
+a1c9 YI SYLLABLE LO
+a1ca YI SYLLABLE LOP
+a1cb YI SYLLABLE LEX
+a1cc YI SYLLABLE LE
+a1cd YI SYLLABLE LEP
+a1ce YI SYLLABLE LUT
+a1cf YI SYLLABLE LUX
+a1d0 YI SYLLABLE LU
+a1d1 YI SYLLABLE LUP
+a1d2 YI SYLLABLE LURX
+a1d3 YI SYLLABLE LUR
+a1d4 YI SYLLABLE LYT
+a1d5 YI SYLLABLE LYX
+a1d6 YI SYLLABLE LY
+a1d7 YI SYLLABLE LYP
+a1d8 YI SYLLABLE LYRX
+a1d9 YI SYLLABLE LYR
+a1da YI SYLLABLE GIT
+a1db YI SYLLABLE GIX
+a1dc YI SYLLABLE GI
+a1dd YI SYLLABLE GIP
+a1de YI SYLLABLE GIET
+a1df YI SYLLABLE GIEX
+a1e0 YI SYLLABLE GIE
+a1e1 YI SYLLABLE GIEP
+a1e2 YI SYLLABLE GAT
+a1e3 YI SYLLABLE GAX
+a1e4 YI SYLLABLE GA
+a1e5 YI SYLLABLE GAP
+a1e6 YI SYLLABLE GUOT
+a1e7 YI SYLLABLE GUOX
+a1e8 YI SYLLABLE GUO
+a1e9 YI SYLLABLE GUOP
+a1ea YI SYLLABLE GOT
+a1eb YI SYLLABLE GOX
+a1ec YI SYLLABLE GO
+a1ed YI SYLLABLE GOP
+a1ee YI SYLLABLE GET
+a1ef YI SYLLABLE GEX
+a1f0 YI SYLLABLE GE
+a1f1 YI SYLLABLE GEP
+a1f2 YI SYLLABLE GUT
+a1f3 YI SYLLABLE GUX
+a1f4 YI SYLLABLE GU
+a1f5 YI SYLLABLE GUP
+a1f6 YI SYLLABLE GURX
+a1f7 YI SYLLABLE GUR
+a1f8 YI SYLLABLE KIT
+a1f9 YI SYLLABLE KIX
+a1fa YI SYLLABLE KI
+a1fb YI SYLLABLE KIP
+a1fc YI SYLLABLE KIEX
+a1fd YI SYLLABLE KIE
+a1fe YI SYLLABLE KIEP
+a1ff YI SYLLABLE KAT
+a200 YI SYLLABLE KAX
+a201 YI SYLLABLE KA
+a202 YI SYLLABLE KAP
+a203 YI SYLLABLE KUOX
+a204 YI SYLLABLE KUO
+a205 YI SYLLABLE KUOP
+a206 YI SYLLABLE KOT
+a207 YI SYLLABLE KOX
+a208 YI SYLLABLE KO
+a209 YI SYLLABLE KOP
+a20a YI SYLLABLE KET
+a20b YI SYLLABLE KEX
+a20c YI SYLLABLE KE
+a20d YI SYLLABLE KEP
+a20e YI SYLLABLE KUT
+a20f YI SYLLABLE KUX
+a210 YI SYLLABLE KU
+a211 YI SYLLABLE KUP
+a212 YI SYLLABLE KURX
+a213 YI SYLLABLE KUR
+a214 YI SYLLABLE GGIT
+a215 YI SYLLABLE GGIX
+a216 YI SYLLABLE GGI
+a217 YI SYLLABLE GGIEX
+a218 YI SYLLABLE GGIE
+a219 YI SYLLABLE GGIEP
+a21a YI SYLLABLE GGAT
+a21b YI SYLLABLE GGAX
+a21c YI SYLLABLE GGA
+a21d YI SYLLABLE GGAP
+a21e YI SYLLABLE GGUOT
+a21f YI SYLLABLE GGUOX
+a220 YI SYLLABLE GGUO
+a221 YI SYLLABLE GGUOP
+a222 YI SYLLABLE GGOT
+a223 YI SYLLABLE GGOX
+a224 YI SYLLABLE GGO
+a225 YI SYLLABLE GGOP
+a226 YI SYLLABLE GGET
+a227 YI SYLLABLE GGEX
+a228 YI SYLLABLE GGE
+a229 YI SYLLABLE GGEP
+a22a YI SYLLABLE GGUT
+a22b YI SYLLABLE GGUX
+a22c YI SYLLABLE GGU
+a22d YI SYLLABLE GGUP
+a22e YI SYLLABLE GGURX
+a22f YI SYLLABLE GGUR
+a230 YI SYLLABLE MGIEX
+a231 YI SYLLABLE MGIE
+a232 YI SYLLABLE MGAT
+a233 YI SYLLABLE MGAX
+a234 YI SYLLABLE MGA
+a235 YI SYLLABLE MGAP
+a236 YI SYLLABLE MGUOX
+a237 YI SYLLABLE MGUO
+a238 YI SYLLABLE MGUOP
+a239 YI SYLLABLE MGOT
+a23a YI SYLLABLE MGOX
+a23b YI SYLLABLE MGO
+a23c YI SYLLABLE MGOP
+a23d YI SYLLABLE MGEX
+a23e YI SYLLABLE MGE
+a23f YI SYLLABLE MGEP
+a240 YI SYLLABLE MGUT
+a241 YI SYLLABLE MGUX
+a242 YI SYLLABLE MGU
+a243 YI SYLLABLE MGUP
+a244 YI SYLLABLE MGURX
+a245 YI SYLLABLE MGUR
+a246 YI SYLLABLE HXIT
+a247 YI SYLLABLE HXIX
+a248 YI SYLLABLE HXI
+a249 YI SYLLABLE HXIP
+a24a YI SYLLABLE HXIET
+a24b YI SYLLABLE HXIEX
+a24c YI SYLLABLE HXIE
+a24d YI SYLLABLE HXIEP
+a24e YI SYLLABLE HXAT
+a24f YI SYLLABLE HXAX
+a250 YI SYLLABLE HXA
+a251 YI SYLLABLE HXAP
+a252 YI SYLLABLE HXUOT
+a253 YI SYLLABLE HXUOX
+a254 YI SYLLABLE HXUO
+a255 YI SYLLABLE HXUOP
+a256 YI SYLLABLE HXOT
+a257 YI SYLLABLE HXOX
+a258 YI SYLLABLE HXO
+a259 YI SYLLABLE HXOP
+a25a YI SYLLABLE HXEX
+a25b YI SYLLABLE HXE
+a25c YI SYLLABLE HXEP
+a25d YI SYLLABLE NGIEX
+a25e YI SYLLABLE NGIE
+a25f YI SYLLABLE NGIEP
+a260 YI SYLLABLE NGAT
+a261 YI SYLLABLE NGAX
+a262 YI SYLLABLE NGA
+a263 YI SYLLABLE NGAP
+a264 YI SYLLABLE NGUOT
+a265 YI SYLLABLE NGUOX
+a266 YI SYLLABLE NGUO
+a267 YI SYLLABLE NGOT
+a268 YI SYLLABLE NGOX
+a269 YI SYLLABLE NGO
+a26a YI SYLLABLE NGOP
+a26b YI SYLLABLE NGEX
+a26c YI SYLLABLE NGE
+a26d YI SYLLABLE NGEP
+a26e YI SYLLABLE HIT
+a26f YI SYLLABLE HIEX
+a270 YI SYLLABLE HIE
+a271 YI SYLLABLE HAT
+a272 YI SYLLABLE HAX
+a273 YI SYLLABLE HA
+a274 YI SYLLABLE HAP
+a275 YI SYLLABLE HUOT
+a276 YI SYLLABLE HUOX
+a277 YI SYLLABLE HUO
+a278 YI SYLLABLE HUOP
+a279 YI SYLLABLE HOT
+a27a YI SYLLABLE HOX
+a27b YI SYLLABLE HO
+a27c YI SYLLABLE HOP
+a27d YI SYLLABLE HEX
+a27e YI SYLLABLE HE
+a27f YI SYLLABLE HEP
+a280 YI SYLLABLE WAT
+a281 YI SYLLABLE WAX
+a282 YI SYLLABLE WA
+a283 YI SYLLABLE WAP
+a284 YI SYLLABLE WUOX
+a285 YI SYLLABLE WUO
+a286 YI SYLLABLE WUOP
+a287 YI SYLLABLE WOX
+a288 YI SYLLABLE WO
+a289 YI SYLLABLE WOP
+a28a YI SYLLABLE WEX
+a28b YI SYLLABLE WE
+a28c YI SYLLABLE WEP
+a28d YI SYLLABLE ZIT
+a28e YI SYLLABLE ZIX
+a28f YI SYLLABLE ZI
+a290 YI SYLLABLE ZIP
+a291 YI SYLLABLE ZIEX
+a292 YI SYLLABLE ZIE
+a293 YI SYLLABLE ZIEP
+a294 YI SYLLABLE ZAT
+a295 YI SYLLABLE ZAX
+a296 YI SYLLABLE ZA
+a297 YI SYLLABLE ZAP
+a298 YI SYLLABLE ZUOX
+a299 YI SYLLABLE ZUO
+a29a YI SYLLABLE ZUOP
+a29b YI SYLLABLE ZOT
+a29c YI SYLLABLE ZOX
+a29d YI SYLLABLE ZO
+a29e YI SYLLABLE ZOP
+a29f YI SYLLABLE ZEX
+a2a0 YI SYLLABLE ZE
+a2a1 YI SYLLABLE ZEP
+a2a2 YI SYLLABLE ZUT
+a2a3 YI SYLLABLE ZUX
+a2a4 YI SYLLABLE ZU
+a2a5 YI SYLLABLE ZUP
+a2a6 YI SYLLABLE ZURX
+a2a7 YI SYLLABLE ZUR
+a2a8 YI SYLLABLE ZYT
+a2a9 YI SYLLABLE ZYX
+a2aa YI SYLLABLE ZY
+a2ab YI SYLLABLE ZYP
+a2ac YI SYLLABLE ZYRX
+a2ad YI SYLLABLE ZYR
+a2ae YI SYLLABLE CIT
+a2af YI SYLLABLE CIX
+a2b0 YI SYLLABLE CI
+a2b1 YI SYLLABLE CIP
+a2b2 YI SYLLABLE CIET
+a2b3 YI SYLLABLE CIEX
+a2b4 YI SYLLABLE CIE
+a2b5 YI SYLLABLE CIEP
+a2b6 YI SYLLABLE CAT
+a2b7 YI SYLLABLE CAX
+a2b8 YI SYLLABLE CA
+a2b9 YI SYLLABLE CAP
+a2ba YI SYLLABLE CUOX
+a2bb YI SYLLABLE CUO
+a2bc YI SYLLABLE CUOP
+a2bd YI SYLLABLE COT
+a2be YI SYLLABLE COX
+a2bf YI SYLLABLE CO
+a2c0 YI SYLLABLE COP
+a2c1 YI SYLLABLE CEX
+a2c2 YI SYLLABLE CE
+a2c3 YI SYLLABLE CEP
+a2c4 YI SYLLABLE CUT
+a2c5 YI SYLLABLE CUX
+a2c6 YI SYLLABLE CU
+a2c7 YI SYLLABLE CUP
+a2c8 YI SYLLABLE CURX
+a2c9 YI SYLLABLE CUR
+a2ca YI SYLLABLE CYT
+a2cb YI SYLLABLE CYX
+a2cc YI SYLLABLE CY
+a2cd YI SYLLABLE CYP
+a2ce YI SYLLABLE CYRX
+a2cf YI SYLLABLE CYR
+a2d0 YI SYLLABLE ZZIT
+a2d1 YI SYLLABLE ZZIX
+a2d2 YI SYLLABLE ZZI
+a2d3 YI SYLLABLE ZZIP
+a2d4 YI SYLLABLE ZZIET
+a2d5 YI SYLLABLE ZZIEX
+a2d6 YI SYLLABLE ZZIE
+a2d7 YI SYLLABLE ZZIEP
+a2d8 YI SYLLABLE ZZAT
+a2d9 YI SYLLABLE ZZAX
+a2da YI SYLLABLE ZZA
+a2db YI SYLLABLE ZZAP
+a2dc YI SYLLABLE ZZOX
+a2dd YI SYLLABLE ZZO
+a2de YI SYLLABLE ZZOP
+a2df YI SYLLABLE ZZEX
+a2e0 YI SYLLABLE ZZE
+a2e1 YI SYLLABLE ZZEP
+a2e2 YI SYLLABLE ZZUX
+a2e3 YI SYLLABLE ZZU
+a2e4 YI SYLLABLE ZZUP
+a2e5 YI SYLLABLE ZZURX
+a2e6 YI SYLLABLE ZZUR
+a2e7 YI SYLLABLE ZZYT
+a2e8 YI SYLLABLE ZZYX
+a2e9 YI SYLLABLE ZZY
+a2ea YI SYLLABLE ZZYP
+a2eb YI SYLLABLE ZZYRX
+a2ec YI SYLLABLE ZZYR
+a2ed YI SYLLABLE NZIT
+a2ee YI SYLLABLE NZIX
+a2ef YI SYLLABLE NZI
+a2f0 YI SYLLABLE NZIP
+a2f1 YI SYLLABLE NZIEX
+a2f2 YI SYLLABLE NZIE
+a2f3 YI SYLLABLE NZIEP
+a2f4 YI SYLLABLE NZAT
+a2f5 YI SYLLABLE NZAX
+a2f6 YI SYLLABLE NZA
+a2f7 YI SYLLABLE NZAP
+a2f8 YI SYLLABLE NZUOX
+a2f9 YI SYLLABLE NZUO
+a2fa YI SYLLABLE NZOX
+a2fb YI SYLLABLE NZOP
+a2fc YI SYLLABLE NZEX
+a2fd YI SYLLABLE NZE
+a2fe YI SYLLABLE NZUX
+a2ff YI SYLLABLE NZU
+a300 YI SYLLABLE NZUP
+a301 YI SYLLABLE NZURX
+a302 YI SYLLABLE NZUR
+a303 YI SYLLABLE NZYT
+a304 YI SYLLABLE NZYX
+a305 YI SYLLABLE NZY
+a306 YI SYLLABLE NZYP
+a307 YI SYLLABLE NZYRX
+a308 YI SYLLABLE NZYR
+a309 YI SYLLABLE SIT
+a30a YI SYLLABLE SIX
+a30b YI SYLLABLE SI
+a30c YI SYLLABLE SIP
+a30d YI SYLLABLE SIEX
+a30e YI SYLLABLE SIE
+a30f YI SYLLABLE SIEP
+a310 YI SYLLABLE SAT
+a311 YI SYLLABLE SAX
+a312 YI SYLLABLE SA
+a313 YI SYLLABLE SAP
+a314 YI SYLLABLE SUOX
+a315 YI SYLLABLE SUO
+a316 YI SYLLABLE SUOP
+a317 YI SYLLABLE SOT
+a318 YI SYLLABLE SOX
+a319 YI SYLLABLE SO
+a31a YI SYLLABLE SOP
+a31b YI SYLLABLE SEX
+a31c YI SYLLABLE SE
+a31d YI SYLLABLE SEP
+a31e YI SYLLABLE SUT
+a31f YI SYLLABLE SUX
+a320 YI SYLLABLE SU
+a321 YI SYLLABLE SUP
+a322 YI SYLLABLE SURX
+a323 YI SYLLABLE SUR
+a324 YI SYLLABLE SYT
+a325 YI SYLLABLE SYX
+a326 YI SYLLABLE SY
+a327 YI SYLLABLE SYP
+a328 YI SYLLABLE SYRX
+a329 YI SYLLABLE SYR
+a32a YI SYLLABLE SSIT
+a32b YI SYLLABLE SSIX
+a32c YI SYLLABLE SSI
+a32d YI SYLLABLE SSIP
+a32e YI SYLLABLE SSIEX
+a32f YI SYLLABLE SSIE
+a330 YI SYLLABLE SSIEP
+a331 YI SYLLABLE SSAT
+a332 YI SYLLABLE SSAX
+a333 YI SYLLABLE SSA
+a334 YI SYLLABLE SSAP
+a335 YI SYLLABLE SSOT
+a336 YI SYLLABLE SSOX
+a337 YI SYLLABLE SSO
+a338 YI SYLLABLE SSOP
+a339 YI SYLLABLE SSEX
+a33a YI SYLLABLE SSE
+a33b YI SYLLABLE SSEP
+a33c YI SYLLABLE SSUT
+a33d YI SYLLABLE SSUX
+a33e YI SYLLABLE SSU
+a33f YI SYLLABLE SSUP
+a340 YI SYLLABLE SSYT
+a341 YI SYLLABLE SSYX
+a342 YI SYLLABLE SSY
+a343 YI SYLLABLE SSYP
+a344 YI SYLLABLE SSYRX
+a345 YI SYLLABLE SSYR
+a346 YI SYLLABLE ZHAT
+a347 YI SYLLABLE ZHAX
+a348 YI SYLLABLE ZHA
+a349 YI SYLLABLE ZHAP
+a34a YI SYLLABLE ZHUOX
+a34b YI SYLLABLE ZHUO
+a34c YI SYLLABLE ZHUOP
+a34d YI SYLLABLE ZHOT
+a34e YI SYLLABLE ZHOX
+a34f YI SYLLABLE ZHO
+a350 YI SYLLABLE ZHOP
+a351 YI SYLLABLE ZHET
+a352 YI SYLLABLE ZHEX
+a353 YI SYLLABLE ZHE
+a354 YI SYLLABLE ZHEP
+a355 YI SYLLABLE ZHUT
+a356 YI SYLLABLE ZHUX
+a357 YI SYLLABLE ZHU
+a358 YI SYLLABLE ZHUP
+a359 YI SYLLABLE ZHURX
+a35a YI SYLLABLE ZHUR
+a35b YI SYLLABLE ZHYT
+a35c YI SYLLABLE ZHYX
+a35d YI SYLLABLE ZHY
+a35e YI SYLLABLE ZHYP
+a35f YI SYLLABLE ZHYRX
+a360 YI SYLLABLE ZHYR
+a361 YI SYLLABLE CHAT
+a362 YI SYLLABLE CHAX
+a363 YI SYLLABLE CHA
+a364 YI SYLLABLE CHAP
+a365 YI SYLLABLE CHUOT
+a366 YI SYLLABLE CHUOX
+a367 YI SYLLABLE CHUO
+a368 YI SYLLABLE CHUOP
+a369 YI SYLLABLE CHOT
+a36a YI SYLLABLE CHOX
+a36b YI SYLLABLE CHO
+a36c YI SYLLABLE CHOP
+a36d YI SYLLABLE CHET
+a36e YI SYLLABLE CHEX
+a36f YI SYLLABLE CHE
+a370 YI SYLLABLE CHEP
+a371 YI SYLLABLE CHUX
+a372 YI SYLLABLE CHU
+a373 YI SYLLABLE CHUP
+a374 YI SYLLABLE CHURX
+a375 YI SYLLABLE CHUR
+a376 YI SYLLABLE CHYT
+a377 YI SYLLABLE CHYX
+a378 YI SYLLABLE CHY
+a379 YI SYLLABLE CHYP
+a37a YI SYLLABLE CHYRX
+a37b YI SYLLABLE CHYR
+a37c YI SYLLABLE RRAX
+a37d YI SYLLABLE RRA
+a37e YI SYLLABLE RRUOX
+a37f YI SYLLABLE RRUO
+a380 YI SYLLABLE RROT
+a381 YI SYLLABLE RROX
+a382 YI SYLLABLE RRO
+a383 YI SYLLABLE RROP
+a384 YI SYLLABLE RRET
+a385 YI SYLLABLE RREX
+a386 YI SYLLABLE RRE
+a387 YI SYLLABLE RREP
+a388 YI SYLLABLE RRUT
+a389 YI SYLLABLE RRUX
+a38a YI SYLLABLE RRU
+a38b YI SYLLABLE RRUP
+a38c YI SYLLABLE RRURX
+a38d YI SYLLABLE RRUR
+a38e YI SYLLABLE RRYT
+a38f YI SYLLABLE RRYX
+a390 YI SYLLABLE RRY
+a391 YI SYLLABLE RRYP
+a392 YI SYLLABLE RRYRX
+a393 YI SYLLABLE RRYR
+a394 YI SYLLABLE NRAT
+a395 YI SYLLABLE NRAX
+a396 YI SYLLABLE NRA
+a397 YI SYLLABLE NRAP
+a398 YI SYLLABLE NROX
+a399 YI SYLLABLE NRO
+a39a YI SYLLABLE NROP
+a39b YI SYLLABLE NRET
+a39c YI SYLLABLE NREX
+a39d YI SYLLABLE NRE
+a39e YI SYLLABLE NREP
+a39f YI SYLLABLE NRUT
+a3a0 YI SYLLABLE NRUX
+a3a1 YI SYLLABLE NRU
+a3a2 YI SYLLABLE NRUP
+a3a3 YI SYLLABLE NRURX
+a3a4 YI SYLLABLE NRUR
+a3a5 YI SYLLABLE NRYT
+a3a6 YI SYLLABLE NRYX
+a3a7 YI SYLLABLE NRY
+a3a8 YI SYLLABLE NRYP
+a3a9 YI SYLLABLE NRYRX
+a3aa YI SYLLABLE NRYR
+a3ab YI SYLLABLE SHAT
+a3ac YI SYLLABLE SHAX
+a3ad YI SYLLABLE SHA
+a3ae YI SYLLABLE SHAP
+a3af YI SYLLABLE SHUOX
+a3b0 YI SYLLABLE SHUO
+a3b1 YI SYLLABLE SHUOP
+a3b2 YI SYLLABLE SHOT
+a3b3 YI SYLLABLE SHOX
+a3b4 YI SYLLABLE SHO
+a3b5 YI SYLLABLE SHOP
+a3b6 YI SYLLABLE SHET
+a3b7 YI SYLLABLE SHEX
+a3b8 YI SYLLABLE SHE
+a3b9 YI SYLLABLE SHEP
+a3ba YI SYLLABLE SHUT
+a3bb YI SYLLABLE SHUX
+a3bc YI SYLLABLE SHU
+a3bd YI SYLLABLE SHUP
+a3be YI SYLLABLE SHURX
+a3bf YI SYLLABLE SHUR
+a3c0 YI SYLLABLE SHYT
+a3c1 YI SYLLABLE SHYX
+a3c2 YI SYLLABLE SHY
+a3c3 YI SYLLABLE SHYP
+a3c4 YI SYLLABLE SHYRX
+a3c5 YI SYLLABLE SHYR
+a3c6 YI SYLLABLE RAT
+a3c7 YI SYLLABLE RAX
+a3c8 YI SYLLABLE RA
+a3c9 YI SYLLABLE RAP
+a3ca YI SYLLABLE RUOX
+a3cb YI SYLLABLE RUO
+a3cc YI SYLLABLE RUOP
+a3cd YI SYLLABLE ROT
+a3ce YI SYLLABLE ROX
+a3cf YI SYLLABLE RO
+a3d0 YI SYLLABLE ROP
+a3d1 YI SYLLABLE REX
+a3d2 YI SYLLABLE RE
+a3d3 YI SYLLABLE REP
+a3d4 YI SYLLABLE RUT
+a3d5 YI SYLLABLE RUX
+a3d6 YI SYLLABLE RU
+a3d7 YI SYLLABLE RUP
+a3d8 YI SYLLABLE RURX
+a3d9 YI SYLLABLE RUR
+a3da YI SYLLABLE RYT
+a3db YI SYLLABLE RYX
+a3dc YI SYLLABLE RY
+a3dd YI SYLLABLE RYP
+a3de YI SYLLABLE RYRX
+a3df YI SYLLABLE RYR
+a3e0 YI SYLLABLE JIT
+a3e1 YI SYLLABLE JIX
+a3e2 YI SYLLABLE JI
+a3e3 YI SYLLABLE JIP
+a3e4 YI SYLLABLE JIET
+a3e5 YI SYLLABLE JIEX
+a3e6 YI SYLLABLE JIE
+a3e7 YI SYLLABLE JIEP
+a3e8 YI SYLLABLE JUOT
+a3e9 YI SYLLABLE JUOX
+a3ea YI SYLLABLE JUO
+a3eb YI SYLLABLE JUOP
+a3ec YI SYLLABLE JOT
+a3ed YI SYLLABLE JOX
+a3ee YI SYLLABLE JO
+a3ef YI SYLLABLE JOP
+a3f0 YI SYLLABLE JUT
+a3f1 YI SYLLABLE JUX
+a3f2 YI SYLLABLE JU
+a3f3 YI SYLLABLE JUP
+a3f4 YI SYLLABLE JURX
+a3f5 YI SYLLABLE JUR
+a3f6 YI SYLLABLE JYT
+a3f7 YI SYLLABLE JYX
+a3f8 YI SYLLABLE JY
+a3f9 YI SYLLABLE JYP
+a3fa YI SYLLABLE JYRX
+a3fb YI SYLLABLE JYR
+a3fc YI SYLLABLE QIT
+a3fd YI SYLLABLE QIX
+a3fe YI SYLLABLE QI
+a3ff YI SYLLABLE QIP
+a400 YI SYLLABLE QIET
+a401 YI SYLLABLE QIEX
+a402 YI SYLLABLE QIE
+a403 YI SYLLABLE QIEP
+a404 YI SYLLABLE QUOT
+a405 YI SYLLABLE QUOX
+a406 YI SYLLABLE QUO
+a407 YI SYLLABLE QUOP
+a408 YI SYLLABLE QOT
+a409 YI SYLLABLE QOX
+a40a YI SYLLABLE QO
+a40b YI SYLLABLE QOP
+a40c YI SYLLABLE QUT
+a40d YI SYLLABLE QUX
+a40e YI SYLLABLE QU
+a40f YI SYLLABLE QUP
+a410 YI SYLLABLE QURX
+a411 YI SYLLABLE QUR
+a412 YI SYLLABLE QYT
+a413 YI SYLLABLE QYX
+a414 YI SYLLABLE QY
+a415 YI SYLLABLE QYP
+a416 YI SYLLABLE QYRX
+a417 YI SYLLABLE QYR
+a418 YI SYLLABLE JJIT
+a419 YI SYLLABLE JJIX
+a41a YI SYLLABLE JJI
+a41b YI SYLLABLE JJIP
+a41c YI SYLLABLE JJIET
+a41d YI SYLLABLE JJIEX
+a41e YI SYLLABLE JJIE
+a41f YI SYLLABLE JJIEP
+a420 YI SYLLABLE JJUOX
+a421 YI SYLLABLE JJUO
+a422 YI SYLLABLE JJUOP
+a423 YI SYLLABLE JJOT
+a424 YI SYLLABLE JJOX
+a425 YI SYLLABLE JJO
+a426 YI SYLLABLE JJOP
+a427 YI SYLLABLE JJUT
+a428 YI SYLLABLE JJUX
+a429 YI SYLLABLE JJU
+a42a YI SYLLABLE JJUP
+a42b YI SYLLABLE JJURX
+a42c YI SYLLABLE JJUR
+a42d YI SYLLABLE JJYT
+a42e YI SYLLABLE JJYX
+a42f YI SYLLABLE JJY
+a430 YI SYLLABLE JJYP
+a431 YI SYLLABLE NJIT
+a432 YI SYLLABLE NJIX
+a433 YI SYLLABLE NJI
+a434 YI SYLLABLE NJIP
+a435 YI SYLLABLE NJIET
+a436 YI SYLLABLE NJIEX
+a437 YI SYLLABLE NJIE
+a438 YI SYLLABLE NJIEP
+a439 YI SYLLABLE NJUOX
+a43a YI SYLLABLE NJUO
+a43b YI SYLLABLE NJOT
+a43c YI SYLLABLE NJOX
+a43d YI SYLLABLE NJO
+a43e YI SYLLABLE NJOP
+a43f YI SYLLABLE NJUX
+a440 YI SYLLABLE NJU
+a441 YI SYLLABLE NJUP
+a442 YI SYLLABLE NJURX
+a443 YI SYLLABLE NJUR
+a444 YI SYLLABLE NJYT
+a445 YI SYLLABLE NJYX
+a446 YI SYLLABLE NJY
+a447 YI SYLLABLE NJYP
+a448 YI SYLLABLE NJYRX
+a449 YI SYLLABLE NJYR
+a44a YI SYLLABLE NYIT
+a44b YI SYLLABLE NYIX
+a44c YI SYLLABLE NYI
+a44d YI SYLLABLE NYIP
+a44e YI SYLLABLE NYIET
+a44f YI SYLLABLE NYIEX
+a450 YI SYLLABLE NYIE
+a451 YI SYLLABLE NYIEP
+a452 YI SYLLABLE NYUOX
+a453 YI SYLLABLE NYUO
+a454 YI SYLLABLE NYUOP
+a455 YI SYLLABLE NYOT
+a456 YI SYLLABLE NYOX
+a457 YI SYLLABLE NYO
+a458 YI SYLLABLE NYOP
+a459 YI SYLLABLE NYUT
+a45a YI SYLLABLE NYUX
+a45b YI SYLLABLE NYU
+a45c YI SYLLABLE NYUP
+a45d YI SYLLABLE XIT
+a45e YI SYLLABLE XIX
+a45f YI SYLLABLE XI
+a460 YI SYLLABLE XIP
+a461 YI SYLLABLE XIET
+a462 YI SYLLABLE XIEX
+a463 YI SYLLABLE XIE
+a464 YI SYLLABLE XIEP
+a465 YI SYLLABLE XUOX
+a466 YI SYLLABLE XUO
+a467 YI SYLLABLE XOT
+a468 YI SYLLABLE XOX
+a469 YI SYLLABLE XO
+a46a YI SYLLABLE XOP
+a46b YI SYLLABLE XYT
+a46c YI SYLLABLE XYX
+a46d YI SYLLABLE XY
+a46e YI SYLLABLE XYP
+a46f YI SYLLABLE XYRX
+a470 YI SYLLABLE XYR
+a471 YI SYLLABLE YIT
+a472 YI SYLLABLE YIX
+a473 YI SYLLABLE YI
+a474 YI SYLLABLE YIP
+a475 YI SYLLABLE YIET
+a476 YI SYLLABLE YIEX
+a477 YI SYLLABLE YIE
+a478 YI SYLLABLE YIEP
+a479 YI SYLLABLE YUOT
+a47a YI SYLLABLE YUOX
+a47b YI SYLLABLE YUO
+a47c YI SYLLABLE YUOP
+a47d YI SYLLABLE YOT
+a47e YI SYLLABLE YOX
+a47f YI SYLLABLE YO
+a480 YI SYLLABLE YOP
+a481 YI SYLLABLE YUT
+a482 YI SYLLABLE YUX
+a483 YI SYLLABLE YU
+a484 YI SYLLABLE YUP
+a485 YI SYLLABLE YURX
+a486 YI SYLLABLE YUR
+a487 YI SYLLABLE YYT
+a488 YI SYLLABLE YYX
+a489 YI SYLLABLE YY
+a48a YI SYLLABLE YYP
+a48b YI SYLLABLE YYRX
+a48c YI SYLLABLE YYR
+a490 YI RADICAL QOT
+a491 YI RADICAL LI
+a492 YI RADICAL KIT
+a493 YI RADICAL NYIP
+a494 YI RADICAL CYP
+a495 YI RADICAL SSI
+a496 YI RADICAL GGOP
+a497 YI RADICAL GEP
+a498 YI RADICAL MI
+a499 YI RADICAL HXIT
+a49a YI RADICAL LYR
+a49b YI RADICAL BBUT
+a49c YI RADICAL MOP
+a49d YI RADICAL YO
+a49e YI RADICAL PUT
+a49f YI RADICAL HXUO
+a4a0 YI RADICAL TAT
+a4a1 YI RADICAL GA
+a4a4 YI RADICAL DDUR
+a4a5 YI RADICAL BUR
+a4a6 YI RADICAL GGUO
+a4a7 YI RADICAL NYOP
+a4a8 YI RADICAL TU
+a4a9 YI RADICAL OP
+a4aa YI RADICAL JJUT
+a4ab YI RADICAL ZOT
+a4ac YI RADICAL PYT
+a4ad YI RADICAL HMO
+a4ae YI RADICAL YIT
+a4af YI RADICAL VUR
+a4b0 YI RADICAL SHY
+a4b1 YI RADICAL VEP
+a4b2 YI RADICAL ZA
+a4b3 YI RADICAL JO
+a4b5 YI RADICAL JJY
+a4b6 YI RADICAL GOT
+a4b7 YI RADICAL JJIE
+a4b8 YI RADICAL WO
+a4b9 YI RADICAL DU
+a4ba YI RADICAL SHUR
+a4bb YI RADICAL LIE
+a4bc YI RADICAL CY
+a4bd YI RADICAL CUOP
+a4be YI RADICAL CIP
+a4bf YI RADICAL HXOP
+a4c0 YI RADICAL SHAT
+a4c2 YI RADICAL SHOP
+a4c3 YI RADICAL CHE
+a4c4 YI RADICAL ZZIET
+a4c6 YI RADICAL KE
ac00 d7a3 <Hangul Syllable, First>
-d800 db7f <Unassigned High Surrogate, First>
+d800 db7f <Non Private Use 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>
+f900 CJK COMPATIBILITY IDEOGRAPH-F900
+f901 CJK COMPATIBILITY IDEOGRAPH-F901
+f902 CJK COMPATIBILITY IDEOGRAPH-F902
+f903 CJK COMPATIBILITY IDEOGRAPH-F903
+f904 CJK COMPATIBILITY IDEOGRAPH-F904
+f905 CJK COMPATIBILITY IDEOGRAPH-F905
+f906 CJK COMPATIBILITY IDEOGRAPH-F906
+f907 CJK COMPATIBILITY IDEOGRAPH-F907
+f908 CJK COMPATIBILITY IDEOGRAPH-F908
+f909 CJK COMPATIBILITY IDEOGRAPH-F909
+f90a CJK COMPATIBILITY IDEOGRAPH-F90A
+f90b CJK COMPATIBILITY IDEOGRAPH-F90B
+f90c CJK COMPATIBILITY IDEOGRAPH-F90C
+f90d CJK COMPATIBILITY IDEOGRAPH-F90D
+f90e CJK COMPATIBILITY IDEOGRAPH-F90E
+f90f CJK COMPATIBILITY IDEOGRAPH-F90F
+f910 CJK COMPATIBILITY IDEOGRAPH-F910
+f911 CJK COMPATIBILITY IDEOGRAPH-F911
+f912 CJK COMPATIBILITY IDEOGRAPH-F912
+f913 CJK COMPATIBILITY IDEOGRAPH-F913
+f914 CJK COMPATIBILITY IDEOGRAPH-F914
+f915 CJK COMPATIBILITY IDEOGRAPH-F915
+f916 CJK COMPATIBILITY IDEOGRAPH-F916
+f917 CJK COMPATIBILITY IDEOGRAPH-F917
+f918 CJK COMPATIBILITY IDEOGRAPH-F918
+f919 CJK COMPATIBILITY IDEOGRAPH-F919
+f91a CJK COMPATIBILITY IDEOGRAPH-F91A
+f91b CJK COMPATIBILITY IDEOGRAPH-F91B
+f91c CJK COMPATIBILITY IDEOGRAPH-F91C
+f91d CJK COMPATIBILITY IDEOGRAPH-F91D
+f91e CJK COMPATIBILITY IDEOGRAPH-F91E
+f91f CJK COMPATIBILITY IDEOGRAPH-F91F
+f920 CJK COMPATIBILITY IDEOGRAPH-F920
+f921 CJK COMPATIBILITY IDEOGRAPH-F921
+f922 CJK COMPATIBILITY IDEOGRAPH-F922
+f923 CJK COMPATIBILITY IDEOGRAPH-F923
+f924 CJK COMPATIBILITY IDEOGRAPH-F924
+f925 CJK COMPATIBILITY IDEOGRAPH-F925
+f926 CJK COMPATIBILITY IDEOGRAPH-F926
+f927 CJK COMPATIBILITY IDEOGRAPH-F927
+f928 CJK COMPATIBILITY IDEOGRAPH-F928
+f929 CJK COMPATIBILITY IDEOGRAPH-F929
+f92a CJK COMPATIBILITY IDEOGRAPH-F92A
+f92b CJK COMPATIBILITY IDEOGRAPH-F92B
+f92c CJK COMPATIBILITY IDEOGRAPH-F92C
+f92d CJK COMPATIBILITY IDEOGRAPH-F92D
+f92e CJK COMPATIBILITY IDEOGRAPH-F92E
+f92f CJK COMPATIBILITY IDEOGRAPH-F92F
+f930 CJK COMPATIBILITY IDEOGRAPH-F930
+f931 CJK COMPATIBILITY IDEOGRAPH-F931
+f932 CJK COMPATIBILITY IDEOGRAPH-F932
+f933 CJK COMPATIBILITY IDEOGRAPH-F933
+f934 CJK COMPATIBILITY IDEOGRAPH-F934
+f935 CJK COMPATIBILITY IDEOGRAPH-F935
+f936 CJK COMPATIBILITY IDEOGRAPH-F936
+f937 CJK COMPATIBILITY IDEOGRAPH-F937
+f938 CJK COMPATIBILITY IDEOGRAPH-F938
+f939 CJK COMPATIBILITY IDEOGRAPH-F939
+f93a CJK COMPATIBILITY IDEOGRAPH-F93A
+f93b CJK COMPATIBILITY IDEOGRAPH-F93B
+f93c CJK COMPATIBILITY IDEOGRAPH-F93C
+f93d CJK COMPATIBILITY IDEOGRAPH-F93D
+f93e CJK COMPATIBILITY IDEOGRAPH-F93E
+f93f CJK COMPATIBILITY IDEOGRAPH-F93F
+f940 CJK COMPATIBILITY IDEOGRAPH-F940
+f941 CJK COMPATIBILITY IDEOGRAPH-F941
+f942 CJK COMPATIBILITY IDEOGRAPH-F942
+f943 CJK COMPATIBILITY IDEOGRAPH-F943
+f944 CJK COMPATIBILITY IDEOGRAPH-F944
+f945 CJK COMPATIBILITY IDEOGRAPH-F945
+f946 CJK COMPATIBILITY IDEOGRAPH-F946
+f947 CJK COMPATIBILITY IDEOGRAPH-F947
+f948 CJK COMPATIBILITY IDEOGRAPH-F948
+f949 CJK COMPATIBILITY IDEOGRAPH-F949
+f94a CJK COMPATIBILITY IDEOGRAPH-F94A
+f94b CJK COMPATIBILITY IDEOGRAPH-F94B
+f94c CJK COMPATIBILITY IDEOGRAPH-F94C
+f94d CJK COMPATIBILITY IDEOGRAPH-F94D
+f94e CJK COMPATIBILITY IDEOGRAPH-F94E
+f94f CJK COMPATIBILITY IDEOGRAPH-F94F
+f950 CJK COMPATIBILITY IDEOGRAPH-F950
+f951 CJK COMPATIBILITY IDEOGRAPH-F951
+f952 CJK COMPATIBILITY IDEOGRAPH-F952
+f953 CJK COMPATIBILITY IDEOGRAPH-F953
+f954 CJK COMPATIBILITY IDEOGRAPH-F954
+f955 CJK COMPATIBILITY IDEOGRAPH-F955
+f956 CJK COMPATIBILITY IDEOGRAPH-F956
+f957 CJK COMPATIBILITY IDEOGRAPH-F957
+f958 CJK COMPATIBILITY IDEOGRAPH-F958
+f959 CJK COMPATIBILITY IDEOGRAPH-F959
+f95a CJK COMPATIBILITY IDEOGRAPH-F95A
+f95b CJK COMPATIBILITY IDEOGRAPH-F95B
+f95c CJK COMPATIBILITY IDEOGRAPH-F95C
+f95d CJK COMPATIBILITY IDEOGRAPH-F95D
+f95e CJK COMPATIBILITY IDEOGRAPH-F95E
+f95f CJK COMPATIBILITY IDEOGRAPH-F95F
+f960 CJK COMPATIBILITY IDEOGRAPH-F960
+f961 CJK COMPATIBILITY IDEOGRAPH-F961
+f962 CJK COMPATIBILITY IDEOGRAPH-F962
+f963 CJK COMPATIBILITY IDEOGRAPH-F963
+f964 CJK COMPATIBILITY IDEOGRAPH-F964
+f965 CJK COMPATIBILITY IDEOGRAPH-F965
+f966 CJK COMPATIBILITY IDEOGRAPH-F966
+f967 CJK COMPATIBILITY IDEOGRAPH-F967
+f968 CJK COMPATIBILITY IDEOGRAPH-F968
+f969 CJK COMPATIBILITY IDEOGRAPH-F969
+f96a CJK COMPATIBILITY IDEOGRAPH-F96A
+f96b CJK COMPATIBILITY IDEOGRAPH-F96B
+f96c CJK COMPATIBILITY IDEOGRAPH-F96C
+f96d CJK COMPATIBILITY IDEOGRAPH-F96D
+f96e CJK COMPATIBILITY IDEOGRAPH-F96E
+f96f CJK COMPATIBILITY IDEOGRAPH-F96F
+f970 CJK COMPATIBILITY IDEOGRAPH-F970
+f971 CJK COMPATIBILITY IDEOGRAPH-F971
+f972 CJK COMPATIBILITY IDEOGRAPH-F972
+f973 CJK COMPATIBILITY IDEOGRAPH-F973
+f974 CJK COMPATIBILITY IDEOGRAPH-F974
+f975 CJK COMPATIBILITY IDEOGRAPH-F975
+f976 CJK COMPATIBILITY IDEOGRAPH-F976
+f977 CJK COMPATIBILITY IDEOGRAPH-F977
+f978 CJK COMPATIBILITY IDEOGRAPH-F978
+f979 CJK COMPATIBILITY IDEOGRAPH-F979
+f97a CJK COMPATIBILITY IDEOGRAPH-F97A
+f97b CJK COMPATIBILITY IDEOGRAPH-F97B
+f97c CJK COMPATIBILITY IDEOGRAPH-F97C
+f97d CJK COMPATIBILITY IDEOGRAPH-F97D
+f97e CJK COMPATIBILITY IDEOGRAPH-F97E
+f97f CJK COMPATIBILITY IDEOGRAPH-F97F
+f980 CJK COMPATIBILITY IDEOGRAPH-F980
+f981 CJK COMPATIBILITY IDEOGRAPH-F981
+f982 CJK COMPATIBILITY IDEOGRAPH-F982
+f983 CJK COMPATIBILITY IDEOGRAPH-F983
+f984 CJK COMPATIBILITY IDEOGRAPH-F984
+f985 CJK COMPATIBILITY IDEOGRAPH-F985
+f986 CJK COMPATIBILITY IDEOGRAPH-F986
+f987 CJK COMPATIBILITY IDEOGRAPH-F987
+f988 CJK COMPATIBILITY IDEOGRAPH-F988
+f989 CJK COMPATIBILITY IDEOGRAPH-F989
+f98a CJK COMPATIBILITY IDEOGRAPH-F98A
+f98b CJK COMPATIBILITY IDEOGRAPH-F98B
+f98c CJK COMPATIBILITY IDEOGRAPH-F98C
+f98d CJK COMPATIBILITY IDEOGRAPH-F98D
+f98e CJK COMPATIBILITY IDEOGRAPH-F98E
+f98f CJK COMPATIBILITY IDEOGRAPH-F98F
+f990 CJK COMPATIBILITY IDEOGRAPH-F990
+f991 CJK COMPATIBILITY IDEOGRAPH-F991
+f992 CJK COMPATIBILITY IDEOGRAPH-F992
+f993 CJK COMPATIBILITY IDEOGRAPH-F993
+f994 CJK COMPATIBILITY IDEOGRAPH-F994
+f995 CJK COMPATIBILITY IDEOGRAPH-F995
+f996 CJK COMPATIBILITY IDEOGRAPH-F996
+f997 CJK COMPATIBILITY IDEOGRAPH-F997
+f998 CJK COMPATIBILITY IDEOGRAPH-F998
+f999 CJK COMPATIBILITY IDEOGRAPH-F999
+f99a CJK COMPATIBILITY IDEOGRAPH-F99A
+f99b CJK COMPATIBILITY IDEOGRAPH-F99B
+f99c CJK COMPATIBILITY IDEOGRAPH-F99C
+f99d CJK COMPATIBILITY IDEOGRAPH-F99D
+f99e CJK COMPATIBILITY IDEOGRAPH-F99E
+f99f CJK COMPATIBILITY IDEOGRAPH-F99F
+f9a0 CJK COMPATIBILITY IDEOGRAPH-F9A0
+f9a1 CJK COMPATIBILITY IDEOGRAPH-F9A1
+f9a2 CJK COMPATIBILITY IDEOGRAPH-F9A2
+f9a3 CJK COMPATIBILITY IDEOGRAPH-F9A3
+f9a4 CJK COMPATIBILITY IDEOGRAPH-F9A4
+f9a5 CJK COMPATIBILITY IDEOGRAPH-F9A5
+f9a6 CJK COMPATIBILITY IDEOGRAPH-F9A6
+f9a7 CJK COMPATIBILITY IDEOGRAPH-F9A7
+f9a8 CJK COMPATIBILITY IDEOGRAPH-F9A8
+f9a9 CJK COMPATIBILITY IDEOGRAPH-F9A9
+f9aa CJK COMPATIBILITY IDEOGRAPH-F9AA
+f9ab CJK COMPATIBILITY IDEOGRAPH-F9AB
+f9ac CJK COMPATIBILITY IDEOGRAPH-F9AC
+f9ad CJK COMPATIBILITY IDEOGRAPH-F9AD
+f9ae CJK COMPATIBILITY IDEOGRAPH-F9AE
+f9af CJK COMPATIBILITY IDEOGRAPH-F9AF
+f9b0 CJK COMPATIBILITY IDEOGRAPH-F9B0
+f9b1 CJK COMPATIBILITY IDEOGRAPH-F9B1
+f9b2 CJK COMPATIBILITY IDEOGRAPH-F9B2
+f9b3 CJK COMPATIBILITY IDEOGRAPH-F9B3
+f9b4 CJK COMPATIBILITY IDEOGRAPH-F9B4
+f9b5 CJK COMPATIBILITY IDEOGRAPH-F9B5
+f9b6 CJK COMPATIBILITY IDEOGRAPH-F9B6
+f9b7 CJK COMPATIBILITY IDEOGRAPH-F9B7
+f9b8 CJK COMPATIBILITY IDEOGRAPH-F9B8
+f9b9 CJK COMPATIBILITY IDEOGRAPH-F9B9
+f9ba CJK COMPATIBILITY IDEOGRAPH-F9BA
+f9bb CJK COMPATIBILITY IDEOGRAPH-F9BB
+f9bc CJK COMPATIBILITY IDEOGRAPH-F9BC
+f9bd CJK COMPATIBILITY IDEOGRAPH-F9BD
+f9be CJK COMPATIBILITY IDEOGRAPH-F9BE
+f9bf CJK COMPATIBILITY IDEOGRAPH-F9BF
+f9c0 CJK COMPATIBILITY IDEOGRAPH-F9C0
+f9c1 CJK COMPATIBILITY IDEOGRAPH-F9C1
+f9c2 CJK COMPATIBILITY IDEOGRAPH-F9C2
+f9c3 CJK COMPATIBILITY IDEOGRAPH-F9C3
+f9c4 CJK COMPATIBILITY IDEOGRAPH-F9C4
+f9c5 CJK COMPATIBILITY IDEOGRAPH-F9C5
+f9c6 CJK COMPATIBILITY IDEOGRAPH-F9C6
+f9c7 CJK COMPATIBILITY IDEOGRAPH-F9C7
+f9c8 CJK COMPATIBILITY IDEOGRAPH-F9C8
+f9c9 CJK COMPATIBILITY IDEOGRAPH-F9C9
+f9ca CJK COMPATIBILITY IDEOGRAPH-F9CA
+f9cb CJK COMPATIBILITY IDEOGRAPH-F9CB
+f9cc CJK COMPATIBILITY IDEOGRAPH-F9CC
+f9cd CJK COMPATIBILITY IDEOGRAPH-F9CD
+f9ce CJK COMPATIBILITY IDEOGRAPH-F9CE
+f9cf CJK COMPATIBILITY IDEOGRAPH-F9CF
+f9d0 CJK COMPATIBILITY IDEOGRAPH-F9D0
+f9d1 CJK COMPATIBILITY IDEOGRAPH-F9D1
+f9d2 CJK COMPATIBILITY IDEOGRAPH-F9D2
+f9d3 CJK COMPATIBILITY IDEOGRAPH-F9D3
+f9d4 CJK COMPATIBILITY IDEOGRAPH-F9D4
+f9d5 CJK COMPATIBILITY IDEOGRAPH-F9D5
+f9d6 CJK COMPATIBILITY IDEOGRAPH-F9D6
+f9d7 CJK COMPATIBILITY IDEOGRAPH-F9D7
+f9d8 CJK COMPATIBILITY IDEOGRAPH-F9D8
+f9d9 CJK COMPATIBILITY IDEOGRAPH-F9D9
+f9da CJK COMPATIBILITY IDEOGRAPH-F9DA
+f9db CJK COMPATIBILITY IDEOGRAPH-F9DB
+f9dc CJK COMPATIBILITY IDEOGRAPH-F9DC
+f9dd CJK COMPATIBILITY IDEOGRAPH-F9DD
+f9de CJK COMPATIBILITY IDEOGRAPH-F9DE
+f9df CJK COMPATIBILITY IDEOGRAPH-F9DF
+f9e0 CJK COMPATIBILITY IDEOGRAPH-F9E0
+f9e1 CJK COMPATIBILITY IDEOGRAPH-F9E1
+f9e2 CJK COMPATIBILITY IDEOGRAPH-F9E2
+f9e3 CJK COMPATIBILITY IDEOGRAPH-F9E3
+f9e4 CJK COMPATIBILITY IDEOGRAPH-F9E4
+f9e5 CJK COMPATIBILITY IDEOGRAPH-F9E5
+f9e6 CJK COMPATIBILITY IDEOGRAPH-F9E6
+f9e7 CJK COMPATIBILITY IDEOGRAPH-F9E7
+f9e8 CJK COMPATIBILITY IDEOGRAPH-F9E8
+f9e9 CJK COMPATIBILITY IDEOGRAPH-F9E9
+f9ea CJK COMPATIBILITY IDEOGRAPH-F9EA
+f9eb CJK COMPATIBILITY IDEOGRAPH-F9EB
+f9ec CJK COMPATIBILITY IDEOGRAPH-F9EC
+f9ed CJK COMPATIBILITY IDEOGRAPH-F9ED
+f9ee CJK COMPATIBILITY IDEOGRAPH-F9EE
+f9ef CJK COMPATIBILITY IDEOGRAPH-F9EF
+f9f0 CJK COMPATIBILITY IDEOGRAPH-F9F0
+f9f1 CJK COMPATIBILITY IDEOGRAPH-F9F1
+f9f2 CJK COMPATIBILITY IDEOGRAPH-F9F2
+f9f3 CJK COMPATIBILITY IDEOGRAPH-F9F3
+f9f4 CJK COMPATIBILITY IDEOGRAPH-F9F4
+f9f5 CJK COMPATIBILITY IDEOGRAPH-F9F5
+f9f6 CJK COMPATIBILITY IDEOGRAPH-F9F6
+f9f7 CJK COMPATIBILITY IDEOGRAPH-F9F7
+f9f8 CJK COMPATIBILITY IDEOGRAPH-F9F8
+f9f9 CJK COMPATIBILITY IDEOGRAPH-F9F9
+f9fa CJK COMPATIBILITY IDEOGRAPH-F9FA
+f9fb CJK COMPATIBILITY IDEOGRAPH-F9FB
+f9fc CJK COMPATIBILITY IDEOGRAPH-F9FC
+f9fd CJK COMPATIBILITY IDEOGRAPH-F9FD
+f9fe CJK COMPATIBILITY IDEOGRAPH-F9FE
+f9ff CJK COMPATIBILITY IDEOGRAPH-F9FF
+fa00 CJK COMPATIBILITY IDEOGRAPH-FA00
+fa01 CJK COMPATIBILITY IDEOGRAPH-FA01
+fa02 CJK COMPATIBILITY IDEOGRAPH-FA02
+fa03 CJK COMPATIBILITY IDEOGRAPH-FA03
+fa04 CJK COMPATIBILITY IDEOGRAPH-FA04
+fa05 CJK COMPATIBILITY IDEOGRAPH-FA05
+fa06 CJK COMPATIBILITY IDEOGRAPH-FA06
+fa07 CJK COMPATIBILITY IDEOGRAPH-FA07
+fa08 CJK COMPATIBILITY IDEOGRAPH-FA08
+fa09 CJK COMPATIBILITY IDEOGRAPH-FA09
+fa0a CJK COMPATIBILITY IDEOGRAPH-FA0A
+fa0b CJK COMPATIBILITY IDEOGRAPH-FA0B
+fa0c CJK COMPATIBILITY IDEOGRAPH-FA0C
+fa0d CJK COMPATIBILITY IDEOGRAPH-FA0D
+fa0e CJK COMPATIBILITY IDEOGRAPH-FA0E
+fa0f CJK COMPATIBILITY IDEOGRAPH-FA0F
+fa10 CJK COMPATIBILITY IDEOGRAPH-FA10
+fa11 CJK COMPATIBILITY IDEOGRAPH-FA11
+fa12 CJK COMPATIBILITY IDEOGRAPH-FA12
+fa13 CJK COMPATIBILITY IDEOGRAPH-FA13
+fa14 CJK COMPATIBILITY IDEOGRAPH-FA14
+fa15 CJK COMPATIBILITY IDEOGRAPH-FA15
+fa16 CJK COMPATIBILITY IDEOGRAPH-FA16
+fa17 CJK COMPATIBILITY IDEOGRAPH-FA17
+fa18 CJK COMPATIBILITY IDEOGRAPH-FA18
+fa19 CJK COMPATIBILITY IDEOGRAPH-FA19
+fa1a CJK COMPATIBILITY IDEOGRAPH-FA1A
+fa1b CJK COMPATIBILITY IDEOGRAPH-FA1B
+fa1c CJK COMPATIBILITY IDEOGRAPH-FA1C
+fa1d CJK COMPATIBILITY IDEOGRAPH-FA1D
+fa1e CJK COMPATIBILITY IDEOGRAPH-FA1E
+fa1f CJK COMPATIBILITY IDEOGRAPH-FA1F
+fa20 CJK COMPATIBILITY IDEOGRAPH-FA20
+fa21 CJK COMPATIBILITY IDEOGRAPH-FA21
+fa22 CJK COMPATIBILITY IDEOGRAPH-FA22
+fa23 CJK COMPATIBILITY IDEOGRAPH-FA23
+fa24 CJK COMPATIBILITY IDEOGRAPH-FA24
+fa25 CJK COMPATIBILITY IDEOGRAPH-FA25
+fa26 CJK COMPATIBILITY IDEOGRAPH-FA26
+fa27 CJK COMPATIBILITY IDEOGRAPH-FA27
+fa28 CJK COMPATIBILITY IDEOGRAPH-FA28
+fa29 CJK COMPATIBILITY IDEOGRAPH-FA29
+fa2a CJK COMPATIBILITY IDEOGRAPH-FA2A
+fa2b CJK COMPATIBILITY IDEOGRAPH-FA2B
+fa2c CJK COMPATIBILITY IDEOGRAPH-FA2C
+fa2d CJK COMPATIBILITY IDEOGRAPH-FA2D
fb00 LATIN SMALL LIGATURE FF
fb01 LATIN SMALL LIGATURE FI
fb02 LATIN SMALL LIGATURE FL
@@ -5803,6 +9481,7 @@ fb14 ARMENIAN SMALL LIGATURE MEN ECH
fb15 ARMENIAN SMALL LIGATURE MEN INI
fb16 ARMENIAN SMALL LIGATURE VEW NOW
fb17 ARMENIAN SMALL LIGATURE MEN XEH
+fb1d HEBREW LETTER YOD WITH HIRIQ
fb1e HEBREW POINT JUDEO-SPANISH VARIKA
fb1f HEBREW LIGATURE YIDDISH YOD YOD PATAH
fb20 HEBREW LETTER ALTERNATIVE AYIN
@@ -6862,6 +10541,9 @@ ffeb HALFWIDTH RIGHTWARDS ARROW
ffec HALFWIDTH DOWNWARDS ARROW
ffed HALFWIDTH BLACK SQUARE
ffee HALFWIDTH WHITE CIRCLE
+fff9 INTERLINEAR ANNOTATION ANCHOR
+fffa INTERLINEAR ANNOTATION SEPARATOR
+fffb INTERLINEAR ANNOTATION TERMINATOR
fffc OBJECT REPLACEMENT CHARACTER
fffd REPLACEMENT CHARACTER
END
diff --git a/lib/unicode/Number.pl b/lib/unicode/Number.pl
index 82066b947f..55cc8571ff 100644
--- a/lib/unicode/Number.pl
+++ b/lib/unicode/Number.pl
@@ -54,7 +54,6 @@ return <<'END';
09f5 2
09f6 3
09f7 4
-09f8 -1
09f9 16
0a67 1
0a68 2
@@ -149,6 +148,15 @@ return <<'END';
0f27 7
0f28 8
0f29 9
+1041 1
+1042 2
+1043 3
+1044 4
+1045 5
+1046 6
+1047 7
+1048 8
+1049 9
1369 1
136a 2
136b 3
@@ -169,6 +177,27 @@ return <<'END';
137a 90
137b 100
137c 10000
+16ee 17
+16ef 18
+16f0 19
+17e1 1
+17e2 2
+17e3 3
+17e4 4
+17e5 5
+17e6 6
+17e7 7
+17e8 8
+17e9 9
+1811 1
+1812 2
+1813 3
+1814 4
+1815 5
+1816 6
+1817 7
+1818 8
+1819 9
2074 4
2075 5
2076 6
@@ -329,6 +358,9 @@ return <<'END';
3027 7
3028 8
3029 9
+3038 10
+3039 20
+303a 30
3280 1
3281 2
3282 3
diff --git a/lib/unicode/To/Digit.pl b/lib/unicode/To/Digit.pl
index 7ccd849700..1a7b88c470 100644
--- a/lib/unicode/To/Digit.pl
+++ b/lib/unicode/To/Digit.pl
@@ -16,7 +16,10 @@ return <<'END';
0e50 0e59 0000
0ed0 0ed9 0000
0f20 0f29 0000
+1040 1049 0000
1369 1371 0001
+17e0 17e9 0000
+1810 1819 0000
2070 0000
2074 2079 0004
2080 2089 0000
diff --git a/lib/unicode/To/Lower.pl b/lib/unicode/To/Lower.pl
index 4a86d3edd9..da8512ebb6 100644
--- a/lib/unicode/To/Lower.pl
+++ b/lib/unicode/To/Lower.pl
@@ -87,6 +87,7 @@ return <<'END';
01a0 01a1
01a2 01a3
01a4 01a5
+01a6 0280
01a7 01a8
01a9 0283
01ac 01ad
@@ -124,6 +125,9 @@ return <<'END';
01f1 01f3
01f2 01f3
01f4 01f5
+01f6 0195
+01f7 01bf
+01f8 01f9
01fa 01fb
01fc 01fd
01fe 01ff
@@ -139,13 +143,29 @@ return <<'END';
0212 0213
0214 0215
0216 0217
-0275 019f
+0218 0219
+021a 021b
+021c 021d
+021e 021f
+0222 0223
+0224 0225
+0226 0227
+0228 0229
+022a 022b
+022c 022d
+022e 022f
+0230 0231
+0232 0233
0386 03ac
0388 038a 03ad
038c 03cc
038e 038f 03cd
0391 03a1 03b1
03a3 03ab 03c3
+03da 03db
+03dc 03dd
+03de 03df
+03e0 03e1
03e2 03e3
03e4 03e5
03e6 03e7
@@ -153,8 +173,7 @@ return <<'END';
03ea 03eb
03ec 03ed
03ee 03ef
-0401 040c 0451
-040e 040f 045e
+0400 040f 0450
0410 042f 0430
0460 0461
0462 0463
@@ -173,6 +192,8 @@ return <<'END';
047c 047d
047e 047f
0480 0481
+048c 048d
+048e 048f
0490 0491
0492 0493
0494 0495
@@ -215,13 +236,13 @@ return <<'END';
04e6 04e7
04e8 04e9
04ea 04eb
+04ec 04ed
04ee 04ef
04f0 04f1
04f2 04f3
04f4 04f5
04f8 04f9
0531 0556 0561
-10a0 10c5 10d0
1e00 1e01
1e02 1e03
1e04 1e05
@@ -368,6 +389,9 @@ return <<'END';
1ff8 1ff9 1f78
1ffa 1ffb 1f7c
1ffc 1ff3
+2126 03c9
+212a 006b
+212b 00e5
2160 216f 2170
24b6 24cf 24d0
ff21 ff3a ff41
diff --git a/lib/unicode/To/Title.pl b/lib/unicode/To/Title.pl
index 06ef76c9f3..cf99256802 100644
--- a/lib/unicode/To/Title.pl
+++ b/lib/unicode/To/Title.pl
@@ -1,5 +1,6 @@
return <<'END';
0061 007a 0041
+00b5 039c
00e0 00f6 00c0
00f8 00fe 00d8
00ff 0178
@@ -71,6 +72,7 @@ return <<'END';
0188 0187
018c 018b
0192 0191
+0195 01f6
0199 0198
01a1 01a0
01a3 01a2
@@ -82,6 +84,7 @@ return <<'END';
01b6 01b5
01b9 01b8
01bd 01bc
+01bf 01f7
01c4 01c5
01c6 01c5
01c7 01c8
@@ -109,6 +112,7 @@ return <<'END';
01f1 01f2
01f3 01f2
01f5 01f4
+01f9 01f8
01fb 01fa
01fd 01fc
01ff 01fe
@@ -124,6 +128,19 @@ return <<'END';
0213 0212
0215 0214
0217 0216
+0219 0218
+021b 021a
+021d 021c
+021f 021e
+0223 0222
+0225 0224
+0227 0226
+0229 0228
+022b 022a
+022d 022c
+022f 022e
+0231 0230
+0233 0232
0253 0181
0254 0186
0256 0257 0189
@@ -135,10 +152,13 @@ return <<'END';
0269 0196
026f 019c
0272 019d
+0275 019f
+0280 01a6
0283 01a9
0288 01ae
028a 028b 01b1
0292 01b7
+0345 0399
03ac 0386
03ad 03af 0388
03b1 03c1 0391
@@ -146,6 +166,14 @@ return <<'END';
03c3 03cb 03a3
03cc 038c
03cd 03ce 038e
+03d0 0392
+03d1 0398
+03d5 03a6
+03d6 03a0
+03db 03da
+03dd 03dc
+03df 03de
+03e1 03e0
03e3 03e2
03e5 03e4
03e7 03e6
@@ -153,9 +181,11 @@ return <<'END';
03eb 03ea
03ed 03ec
03ef 03ee
+03f0 039a
+03f1 03a1
+03f2 03a3
0430 044f 0410
-0451 045c 0401
-045e 045f 040e
+0450 045f 0400
0461 0460
0463 0462
0465 0464
@@ -173,6 +203,8 @@ return <<'END';
047d 047c
047f 047e
0481 0480
+048d 048c
+048f 048e
0491 0490
0493 0492
0495 0494
@@ -215,6 +247,7 @@ return <<'END';
04e7 04e6
04e9 04e8
04eb 04ea
+04ed 04ec
04ef 04ee
04f1 04f0
04f3 04f2
@@ -363,6 +396,7 @@ return <<'END';
1fa0 1fa7 1fa8
1fb0 1fb1 1fb8
1fb3 1fbc
+1fbe 0399
1fc3 1fcc
1fd0 1fd1 1fd8
1fe0 1fe1 1fe8
diff --git a/lib/unicode/To/Upper.pl b/lib/unicode/To/Upper.pl
index 2415c03a6a..31d6eefa88 100644
--- a/lib/unicode/To/Upper.pl
+++ b/lib/unicode/To/Upper.pl
@@ -1,5 +1,6 @@
return <<'END';
0061 007a 0041
+00b5 039c
00e0 00f6 00c0
00f8 00fe 00d8
00ff 0178
@@ -71,6 +72,7 @@ return <<'END';
0188 0187
018c 018b
0192 0191
+0195 01f6
0199 0198
01a1 01a0
01a3 01a2
@@ -82,6 +84,7 @@ return <<'END';
01b6 01b5
01b9 01b8
01bd 01bc
+01bf 01f7
01c5 01c4
01c6 01c4
01c8 01c7
@@ -109,6 +112,7 @@ return <<'END';
01f2 01f1
01f3 01f1
01f5 01f4
+01f9 01f8
01fb 01fa
01fd 01fc
01ff 01fe
@@ -124,6 +128,19 @@ return <<'END';
0213 0212
0215 0214
0217 0216
+0219 0218
+021b 021a
+021d 021c
+021f 021e
+0223 0222
+0225 0224
+0227 0226
+0229 0228
+022b 022a
+022d 022c
+022f 022e
+0231 0230
+0233 0232
0253 0181
0254 0186
0256 0257 0189
@@ -135,10 +152,13 @@ return <<'END';
0269 0196
026f 019c
0272 019d
+0275 019f
+0280 01a6
0283 01a9
0288 01ae
028a 028b 01b1
0292 01b7
+0345 0399
03ac 0386
03ad 03af 0388
03b1 03c1 0391
@@ -150,6 +170,10 @@ return <<'END';
03d1 0398
03d5 03a6
03d6 03a0
+03db 03da
+03dd 03dc
+03df 03de
+03e1 03e0
03e3 03e2
03e5 03e4
03e7 03e6
@@ -159,9 +183,9 @@ return <<'END';
03ef 03ee
03f0 039a
03f1 03a1
+03f2 03a3
0430 044f 0410
-0451 045c 0401
-045e 045f 040e
+0450 045f 0400
0461 0460
0463 0462
0465 0464
@@ -179,6 +203,8 @@ return <<'END';
047d 047c
047f 047e
0481 0480
+048d 048c
+048f 048e
0491 0490
0493 0492
0495 0494
@@ -221,6 +247,7 @@ return <<'END';
04e7 04e6
04e9 04e8
04eb 04ea
+04ed 04ec
04ef 04ee
04f1 04f0
04f3 04f2
@@ -369,6 +396,7 @@ return <<'END';
1fa0 1fa7 1fa8
1fb0 1fb1 1fb8
1fb3 1fbc
+1fbe 0399
1fc3 1fcc
1fd0 1fd1 1fd8
1fe0 1fe1 1fe8
diff --git a/lib/unicode/UnicodeData-Latest.txt b/lib/unicode/UnicodeData-Latest.txt
index c011a7f85d..a4e4be5e4e 100644
--- a/lib/unicode/UnicodeData-Latest.txt
+++ b/lib/unicode/UnicodeData-Latest.txt
@@ -1,35 +1,35 @@
-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;;;;
+0000;<control>;Cc;0;BN;;;;;N;NULL;;;;
+0001;<control>;Cc;0;BN;;;;;N;START OF HEADING;;;;
+0002;<control>;Cc;0;BN;;;;;N;START OF TEXT;;;;
+0003;<control>;Cc;0;BN;;;;;N;END OF TEXT;;;;
+0004;<control>;Cc;0;BN;;;;;N;END OF TRANSMISSION;;;;
+0005;<control>;Cc;0;BN;;;;;N;ENQUIRY;;;;
+0006;<control>;Cc;0;BN;;;;;N;ACKNOWLEDGE;;;;
+0007;<control>;Cc;0;BN;;;;;N;BELL;;;;
+0008;<control>;Cc;0;BN;;;;;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;;;;
+000A;<control>;Cc;0;B;;;;;N;LINE FEED;;;;
+000B;<control>;Cc;0;S;;;;;N;VERTICAL TABULATION;;;;
+000C;<control>;Cc;0;WS;;;;;N;FORM FEED;;;;
+000D;<control>;Cc;0;B;;;;;N;CARRIAGE RETURN;;;;
+000E;<control>;Cc;0;BN;;;;;N;SHIFT OUT;;;;
+000F;<control>;Cc;0;BN;;;;;N;SHIFT IN;;;;
+0010;<control>;Cc;0;BN;;;;;N;DATA LINK ESCAPE;;;;
+0011;<control>;Cc;0;BN;;;;;N;DEVICE CONTROL ONE;;;;
+0012;<control>;Cc;0;BN;;;;;N;DEVICE CONTROL TWO;;;;
+0013;<control>;Cc;0;BN;;;;;N;DEVICE CONTROL THREE;;;;
+0014;<control>;Cc;0;BN;;;;;N;DEVICE CONTROL FOUR;;;;
+0015;<control>;Cc;0;BN;;;;;N;NEGATIVE ACKNOWLEDGE;;;;
+0016;<control>;Cc;0;BN;;;;;N;SYNCHRONOUS IDLE;;;;
+0017;<control>;Cc;0;BN;;;;;N;END OF TRANSMISSION BLOCK;;;;
+0018;<control>;Cc;0;BN;;;;;N;CANCEL;;;;
+0019;<control>;Cc;0;BN;;;;;N;END OF MEDIUM;;;;
+001A;<control>;Cc;0;BN;;;;;N;SUBSTITUTE;;;;
+001B;<control>;Cc;0;BN;;;;;N;ESCAPE;;;;
+001C;<control>;Cc;0;B;;;;;N;FILE SEPARATOR;;;;
+001D;<control>;Cc;0;B;;;;;N;GROUP SEPARATOR;;;;
+001E;<control>;Cc;0;B;;;;;N;RECORD SEPARATOR;;;;
+001F;<control>;Cc;0;S;;;;;N;UNIT SEPARATOR;;;;
0020;SPACE;Zs;0;WS;;;;;N;;;;;
0021;EXCLAMATION MARK;Po;0;ON;;;;;N;;;;;
0022;QUOTATION MARK;Po;0;ON;;;;;N;;;;;
@@ -125,40 +125,40 @@
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;;;;
+007F;<control>;Cc;0;BN;;;;;N;DELETE;;;;
+0080;<control>;Cc;0;BN;;;;;N;;;;;
+0081;<control>;Cc;0;BN;;;;;N;;;;;
+0082;<control>;Cc;0;BN;;;;;N;BREAK PERMITTED HERE;;;;
+0083;<control>;Cc;0;BN;;;;;N;NO BREAK HERE;;;;
+0084;<control>;Cc;0;BN;;;;;N;INDEX;;;;
+0085;<control>;Cc;0;B;;;;;N;NEXT LINE;;;;
+0086;<control>;Cc;0;BN;;;;;N;START OF SELECTED AREA;;;;
+0087;<control>;Cc;0;BN;;;;;N;END OF SELECTED AREA;;;;
+0088;<control>;Cc;0;BN;;;;;N;CHARACTER TABULATION SET;;;;
+0089;<control>;Cc;0;BN;;;;;N;CHARACTER TABULATION WITH JUSTIFICATION;;;;
+008A;<control>;Cc;0;BN;;;;;N;LINE TABULATION SET;;;;
+008B;<control>;Cc;0;BN;;;;;N;PARTIAL LINE DOWN;;;;
+008C;<control>;Cc;0;BN;;;;;N;PARTIAL LINE UP;;;;
+008D;<control>;Cc;0;BN;;;;;N;REVERSE LINE FEED;;;;
+008E;<control>;Cc;0;BN;;;;;N;SINGLE SHIFT TWO;;;;
+008F;<control>;Cc;0;BN;;;;;N;SINGLE SHIFT THREE;;;;
+0090;<control>;Cc;0;BN;;;;;N;DEVICE CONTROL STRING;;;;
+0091;<control>;Cc;0;BN;;;;;N;PRIVATE USE ONE;;;;
+0092;<control>;Cc;0;BN;;;;;N;PRIVATE USE TWO;;;;
+0093;<control>;Cc;0;BN;;;;;N;SET TRANSMIT STATE;;;;
+0094;<control>;Cc;0;BN;;;;;N;CANCEL CHARACTER;;;;
+0095;<control>;Cc;0;BN;;;;;N;MESSAGE WAITING;;;;
+0096;<control>;Cc;0;BN;;;;;N;START OF GUARDED AREA;;;;
+0097;<control>;Cc;0;BN;;;;;N;END OF GUARDED AREA;;;;
+0098;<control>;Cc;0;BN;;;;;N;START OF STRING;;;;
+0099;<control>;Cc;0;BN;;;;;N;;;;;
+009A;<control>;Cc;0;BN;;;;;N;SINGLE CHARACTER INTRODUCER;;;;
+009B;<control>;Cc;0;BN;;;;;N;CONTROL SEQUENCE INTRODUCER;;;;
+009C;<control>;Cc;0;BN;;;;;N;STRING TERMINATOR;;;;
+009D;<control>;Cc;0;BN;;;;;N;OPERATING SYSTEM COMMAND;;;;
+009E;<control>;Cc;0;BN;;;;;N;PRIVACY MESSAGE;;;;
+009F;<control>;Cc;0;BN;;;;;N;APPLICATION PROGRAM COMMAND;;;;
+00A0;NO-BREAK SPACE;Zs;0;CS;<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;;;;;
@@ -168,8 +168,8 @@
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;;;;
+00AA;FEMININE ORDINAL INDICATOR;Ll;0;L;<super> 0061;;;;N;;;;;
+00AB;LEFT-POINTING DOUBLE ANGLE QUOTATION MARK;Pi;0;ON;;;;;Y;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;;;;
@@ -179,13 +179,13 @@
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;;;;;
+00B5;MICRO SIGN;Ll;0;L;<compat> 03BC;;;;N;;;039C;;039C
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;;;;
+00BA;MASCULINE ORDINAL INDICATOR;Ll;0;L;<super> 006F;;;;N;;;;;
+00BB;RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK;Pf;0;ON;;;;;Y;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;;;;
@@ -196,7 +196,7 @@
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;
+00C6;LATIN CAPITAL LETTER AE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER A E;ash *;;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;
@@ -228,7 +228,7 @@
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
+00E6;LATIN SMALL LETTER AE;Ll;0;L;;;;;N;LATIN SMALL LETTER A E;ash *;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
@@ -348,12 +348,12 @@
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
+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
+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;
@@ -391,7 +391,7 @@
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;
+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
@@ -403,7 +403,7 @@
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;;;;
+0195;LATIN SMALL LETTER HV;Ll;0;L;;;;;N;LATIN SMALL LETTER H V;hwair;01F6;;01F6
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;
@@ -413,14 +413,14 @@
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;
+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
+01A2;LATIN CAPITAL LETTER OI;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O I;gha;;01A3;
+01A3;LATIN SMALL LETTER OI;Ll;0;L;;;;;N;LATIN SMALL LETTER O I;gha;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;;;;
+01A6;LATIN LETTER YR;Lu;0;L;;;;;N;LATIN LETTER Y R;;;0280;
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;
@@ -445,7 +445,7 @@
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;;;;;
+01BF;LATIN LETTER WYNN;Ll;0;L;;;;;N;;;01F7;;01F7
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;;;;
@@ -478,10 +478,10 @@
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
+01E0;LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON;Lu;0;L;0226 0304;;;;N;LATIN CAPITAL LETTER A DOT MACRON;;;01E1;
+01E1;LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON;Ll;0;L;0227 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;ash *;;01E3;
+01E3;LATIN SMALL LETTER AE WITH MACRON;Ll;0;L;00E6 0304;;;;N;LATIN SMALL LETTER A E MACRON;ash *;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;
@@ -500,10 +500,14 @@
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
+01F6;LATIN CAPITAL LETTER HWAIR;Lu;0;L;;;;;N;;;;0195;
+01F7;LATIN CAPITAL LETTER WYNN;Lu;0;L;;;;;N;;;;01BF;
+01F8;LATIN CAPITAL LETTER N WITH GRAVE;Lu;0;L;004E 0300;;;;N;;;;01F9;
+01F9;LATIN SMALL LETTER N WITH GRAVE;Ll;0;L;006E 0300;;;;N;;;01F8;;01F8
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
+01FC;LATIN CAPITAL LETTER AE WITH ACUTE;Lu;0;L;00C6 0301;;;;N;;ash *;;01FD;
+01FD;LATIN SMALL LETTER AE WITH ACUTE;Ll;0;L;00E6 0301;;;;N;;ash *;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;
@@ -530,6 +534,32 @@
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
+0218;LATIN CAPITAL LETTER S WITH COMMA BELOW;Lu;0;L;0053 0326;;;;N;;*;;0219;
+0219;LATIN SMALL LETTER S WITH COMMA BELOW;Ll;0;L;0073 0326;;;;N;;*;0218;;0218
+021A;LATIN CAPITAL LETTER T WITH COMMA BELOW;Lu;0;L;0054 0326;;;;N;;*;;021B;
+021B;LATIN SMALL LETTER T WITH COMMA BELOW;Ll;0;L;0074 0326;;;;N;;*;021A;;021A
+021C;LATIN CAPITAL LETTER YOGH;Lu;0;L;;;;;N;;;;021D;
+021D;LATIN SMALL LETTER YOGH;Ll;0;L;;;;;N;;;021C;;021C
+021E;LATIN CAPITAL LETTER H WITH CARON;Lu;0;L;0048 030C;;;;N;;;;021F;
+021F;LATIN SMALL LETTER H WITH CARON;Ll;0;L;0068 030C;;;;N;;;021E;;021E
+0222;LATIN CAPITAL LETTER OU;Lu;0;L;;;;;N;;;;0223;
+0223;LATIN SMALL LETTER OU;Ll;0;L;;;;;N;;;0222;;0222
+0224;LATIN CAPITAL LETTER Z WITH HOOK;Lu;0;L;;;;;N;;;;0225;
+0225;LATIN SMALL LETTER Z WITH HOOK;Ll;0;L;;;;;N;;;0224;;0224
+0226;LATIN CAPITAL LETTER A WITH DOT ABOVE;Lu;0;L;0041 0307;;;;N;;;;0227;
+0227;LATIN SMALL LETTER A WITH DOT ABOVE;Ll;0;L;0061 0307;;;;N;;;0226;;0226
+0228;LATIN CAPITAL LETTER E WITH CEDILLA;Lu;0;L;0045 0327;;;;N;;;;0229;
+0229;LATIN SMALL LETTER E WITH CEDILLA;Ll;0;L;0065 0327;;;;N;;;0228;;0228
+022A;LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON;Lu;0;L;00D6 0304;;;;N;;;;022B;
+022B;LATIN SMALL LETTER O WITH DIAERESIS AND MACRON;Ll;0;L;00F6 0304;;;;N;;;022A;;022A
+022C;LATIN CAPITAL LETTER O WITH TILDE AND MACRON;Lu;0;L;00D5 0304;;;;N;;;;022D;
+022D;LATIN SMALL LETTER O WITH TILDE AND MACRON;Ll;0;L;00F5 0304;;;;N;;;022C;;022C
+022E;LATIN CAPITAL LETTER O WITH DOT ABOVE;Lu;0;L;004F 0307;;;;N;;;;022F;
+022F;LATIN SMALL LETTER O WITH DOT ABOVE;Ll;0;L;006F 0307;;;;N;;;022E;;022E
+0230;LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON;Lu;0;L;022E 0304;;;;N;;;;0231;
+0231;LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON;Ll;0;L;022F 0304;;;;N;;;0230;;0230
+0232;LATIN CAPITAL LETTER Y WITH MACRON;Lu;0;L;0059 0304;;;;N;;;;0233;
+0233;LATIN SMALL LETTER Y WITH MACRON;Ll;0;L;0079 0304;;;;N;;;0232;;0232
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;;;;
@@ -567,7 +597,7 @@
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;
+0275;LATIN SMALL LETTER BARRED O;Ll;0;L;;;;;N;;;019F;;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;;;;;
@@ -578,7 +608,7 @@
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;;;;;
+0280;LATIN LETTER SMALL CAPITAL R;Ll;0;L;;;;;N;;;01A6;;01A6
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
@@ -619,6 +649,11 @@
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;;;;
+02A9;LATIN SMALL LETTER FENG DIGRAPH;Ll;0;L;;;;;N;;;;;
+02AA;LATIN SMALL LETTER LS DIGRAPH;Ll;0;L;;;;;N;;;;;
+02AB;LATIN SMALL LETTER LZ DIGRAPH;Ll;0;L;;;;;N;;;;;
+02AC;LATIN LETTER BILABIAL PERCUSSIVE;Ll;0;L;;;;;N;;;;;
+02AD;LATIN LETTER BIDENTAL PERCUSSIVE;Ll;0;L;;;;;N;;;;;
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;;;;;
@@ -628,8 +663,8 @@
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;;;;;
+02B9;MODIFIER LETTER PRIME;Sk;0;ON;;;;;N;;;;;
+02BA;MODIFIER LETTER DOUBLE PRIME;Sk;0;ON;;;;;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;;;;;
@@ -637,132 +672,148 @@
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;;;;
+02C2;MODIFIER LETTER LEFT ARROWHEAD;Sk;0;ON;;;;;N;;;;;
+02C3;MODIFIER LETTER RIGHT ARROWHEAD;Sk;0;ON;;;;;N;;;;;
+02C4;MODIFIER LETTER UP ARROWHEAD;Sk;0;ON;;;;;N;;;;;
+02C5;MODIFIER LETTER DOWN ARROWHEAD;Sk;0;ON;;;;;N;;;;;
+02C6;MODIFIER LETTER CIRCUMFLEX ACCENT;Sk;0;ON;;;;;N;MODIFIER LETTER CIRCUMFLEX;;;;
+02C7;CARON;Sk;0;ON;;;;;N;MODIFIER LETTER HACEK;Mandarin Chinese third tone;;;
+02C8;MODIFIER LETTER VERTICAL LINE;Sk;0;ON;;;;;N;;;;;
+02C9;MODIFIER LETTER MACRON;Sk;0;ON;;;;;N;;Mandarin Chinese first tone;;;
+02CA;MODIFIER LETTER ACUTE ACCENT;Sk;0;ON;;;;;N;MODIFIER LETTER ACUTE;Mandarin Chinese second tone;;;
+02CB;MODIFIER LETTER GRAVE ACCENT;Sk;0;ON;;;;;N;MODIFIER LETTER GRAVE;Mandarin Chinese fourth tone;;;
+02CC;MODIFIER LETTER LOW VERTICAL LINE;Sk;0;ON;;;;;N;;;;;
+02CD;MODIFIER LETTER LOW MACRON;Sk;0;ON;;;;;N;;;;;
+02CE;MODIFIER LETTER LOW GRAVE ACCENT;Sk;0;ON;;;;;N;MODIFIER LETTER LOW GRAVE;;;;
+02CF;MODIFIER LETTER LOW ACUTE ACCENT;Sk;0;ON;;;;;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;;;;;
+02D2;MODIFIER LETTER CENTRED RIGHT HALF RING;Sk;0;ON;;;;;N;MODIFIER LETTER CENTERED RIGHT HALF RING;;;;
+02D3;MODIFIER LETTER CENTRED LEFT HALF RING;Sk;0;ON;;;;;N;MODIFIER LETTER CENTERED LEFT HALF RING;;;;
+02D4;MODIFIER LETTER UP TACK;Sk;0;ON;;;;;N;;;;;
+02D5;MODIFIER LETTER DOWN TACK;Sk;0;ON;;;;;N;;;;;
+02D6;MODIFIER LETTER PLUS SIGN;Sk;0;ON;;;;;N;;;;;
+02D7;MODIFIER LETTER MINUS SIGN;Sk;0;ON;;;;;N;;;;;
+02D8;BREVE;Sk;0;ON;<compat> 0020 0306;;;;N;SPACING BREVE;;;;
+02D9;DOT ABOVE;Sk;0;ON;<compat> 0020 0307;;;;N;SPACING DOT ABOVE;Mandarin Chinese light tone;;;
+02DA;RING ABOVE;Sk;0;ON;<compat> 0020 030A;;;;N;SPACING RING ABOVE;;;;
+02DB;OGONEK;Sk;0;ON;<compat> 0020 0328;;;;N;SPACING OGONEK;;;;
+02DC;SMALL TILDE;Sk;0;ON;<compat> 0020 0303;;;;N;SPACING TILDE;;;;
+02DD;DOUBLE ACUTE ACCENT;Sk;0;ON;<compat> 0020 030B;;;;N;SPACING DOUBLE ACUTE;;;;
+02DE;MODIFIER LETTER RHOTIC HOOK;Sk;0;ON;;;;;N;;;;;
+02DF;MODIFIER LETTER CROSS ACCENT;Sk;0;ON;;;;;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;;;
+02E5;MODIFIER LETTER EXTRA-HIGH TONE BAR;Sk;0;ON;;;;;N;;;;;
+02E6;MODIFIER LETTER HIGH TONE BAR;Sk;0;ON;;;;;N;;;;;
+02E7;MODIFIER LETTER MID TONE BAR;Sk;0;ON;;;;;N;;;;;
+02E8;MODIFIER LETTER LOW TONE BAR;Sk;0;ON;;;;;N;;;;;
+02E9;MODIFIER LETTER EXTRA-LOW TONE BAR;Sk;0;ON;;;;;N;;;;;
+02EA;MODIFIER LETTER YIN DEPARTING TONE MARK;Sk;0;ON;;;;;N;;;;;
+02EB;MODIFIER LETTER YANG DEPARTING TONE MARK;Sk;0;ON;;;;;N;;;;;
+02EC;MODIFIER LETTER VOICING;Sk;0;ON;;;;;N;;;;;
+02ED;MODIFIER LETTER UNASPIRATED;Sk;0;ON;;;;;N;;;;;
+02EE;MODIFIER LETTER DOUBLE APOSTROPHE;Lm;0;L;;;;;N;;;;;
+0300;COMBINING GRAVE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING GRAVE;Varia;;;
+0301;COMBINING ACUTE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING ACUTE;Oxia;;;
+0302;COMBINING CIRCUMFLEX ACCENT;Mn;230;NSM;;;;;N;NON-SPACING CIRCUMFLEX;;;;
+0303;COMBINING TILDE;Mn;230;NSM;;;;;N;NON-SPACING TILDE;;;;
+0304;COMBINING MACRON;Mn;230;NSM;;;;;N;NON-SPACING MACRON;;;;
+0305;COMBINING OVERLINE;Mn;230;NSM;;;;;N;NON-SPACING OVERSCORE;;;;
+0306;COMBINING BREVE;Mn;230;NSM;;;;;N;NON-SPACING BREVE;Vrachy;;;
+0307;COMBINING DOT ABOVE;Mn;230;NSM;;;;;N;NON-SPACING DOT ABOVE;;;;
+0308;COMBINING DIAERESIS;Mn;230;NSM;;;;;N;NON-SPACING DIAERESIS;Dialytika;;;
+0309;COMBINING HOOK ABOVE;Mn;230;NSM;;;;;N;NON-SPACING HOOK ABOVE;;;;
+030A;COMBINING RING ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RING ABOVE;;;;
+030B;COMBINING DOUBLE ACUTE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE ACUTE;;;;
+030C;COMBINING CARON;Mn;230;NSM;;;;;N;NON-SPACING HACEK;;;;
+030D;COMBINING VERTICAL LINE ABOVE;Mn;230;NSM;;;;;N;NON-SPACING VERTICAL LINE ABOVE;Tonos;;;
+030E;COMBINING DOUBLE VERTICAL LINE ABOVE;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE VERTICAL LINE ABOVE;;;;
+030F;COMBINING DOUBLE GRAVE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE GRAVE;;;;
+0310;COMBINING CANDRABINDU;Mn;230;NSM;;;;;N;NON-SPACING CANDRABINDU;;;;
+0311;COMBINING INVERTED BREVE;Mn;230;NSM;;;;;N;NON-SPACING INVERTED BREVE;;;;
+0312;COMBINING TURNED COMMA ABOVE;Mn;230;NSM;;;;;N;NON-SPACING TURNED COMMA ABOVE;;;;
+0313;COMBINING COMMA ABOVE;Mn;230;NSM;;;;;N;NON-SPACING COMMA ABOVE;Psili;;;
+0314;COMBINING REVERSED COMMA ABOVE;Mn;230;NSM;;;;;N;NON-SPACING REVERSED COMMA ABOVE;Dasia;;;
+0315;COMBINING COMMA ABOVE RIGHT;Mn;232;NSM;;;;;N;NON-SPACING COMMA ABOVE RIGHT;;;;
+0316;COMBINING GRAVE ACCENT BELOW;Mn;220;NSM;;;;;N;NON-SPACING GRAVE BELOW;;;;
+0317;COMBINING ACUTE ACCENT BELOW;Mn;220;NSM;;;;;N;NON-SPACING ACUTE BELOW;;;;
+0318;COMBINING LEFT TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING LEFT TACK BELOW;;;;
+0319;COMBINING RIGHT TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING RIGHT TACK BELOW;;;;
+031A;COMBINING LEFT ANGLE ABOVE;Mn;232;NSM;;;;;N;NON-SPACING LEFT ANGLE ABOVE;;;;
+031B;COMBINING HORN;Mn;216;NSM;;;;;N;NON-SPACING HORN;;;;
+031C;COMBINING LEFT HALF RING BELOW;Mn;220;NSM;;;;;N;NON-SPACING LEFT HALF RING BELOW;;;;
+031D;COMBINING UP TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING UP TACK BELOW;;;;
+031E;COMBINING DOWN TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING DOWN TACK BELOW;;;;
+031F;COMBINING PLUS SIGN BELOW;Mn;220;NSM;;;;;N;NON-SPACING PLUS SIGN BELOW;;;;
+0320;COMBINING MINUS SIGN BELOW;Mn;220;NSM;;;;;N;NON-SPACING MINUS SIGN BELOW;;;;
+0321;COMBINING PALATALIZED HOOK BELOW;Mn;202;NSM;;;;;N;NON-SPACING PALATALIZED HOOK BELOW;;;;
+0322;COMBINING RETROFLEX HOOK BELOW;Mn;202;NSM;;;;;N;NON-SPACING RETROFLEX HOOK BELOW;;;;
+0323;COMBINING DOT BELOW;Mn;220;NSM;;;;;N;NON-SPACING DOT BELOW;;;;
+0324;COMBINING DIAERESIS BELOW;Mn;220;NSM;;;;;N;NON-SPACING DOUBLE DOT BELOW;;;;
+0325;COMBINING RING BELOW;Mn;220;NSM;;;;;N;NON-SPACING RING BELOW;;;;
+0326;COMBINING COMMA BELOW;Mn;220;NSM;;;;;N;NON-SPACING COMMA BELOW;;;;
+0327;COMBINING CEDILLA;Mn;202;NSM;;;;;N;NON-SPACING CEDILLA;;;;
+0328;COMBINING OGONEK;Mn;202;NSM;;;;;N;NON-SPACING OGONEK;;;;
+0329;COMBINING VERTICAL LINE BELOW;Mn;220;NSM;;;;;N;NON-SPACING VERTICAL LINE BELOW;;;;
+032A;COMBINING BRIDGE BELOW;Mn;220;NSM;;;;;N;NON-SPACING BRIDGE BELOW;;;;
+032B;COMBINING INVERTED DOUBLE ARCH BELOW;Mn;220;NSM;;;;;N;NON-SPACING INVERTED DOUBLE ARCH BELOW;;;;
+032C;COMBINING CARON BELOW;Mn;220;NSM;;;;;N;NON-SPACING HACEK BELOW;;;;
+032D;COMBINING CIRCUMFLEX ACCENT BELOW;Mn;220;NSM;;;;;N;NON-SPACING CIRCUMFLEX BELOW;;;;
+032E;COMBINING BREVE BELOW;Mn;220;NSM;;;;;N;NON-SPACING BREVE BELOW;;;;
+032F;COMBINING INVERTED BREVE BELOW;Mn;220;NSM;;;;;N;NON-SPACING INVERTED BREVE BELOW;;;;
+0330;COMBINING TILDE BELOW;Mn;220;NSM;;;;;N;NON-SPACING TILDE BELOW;;;;
+0331;COMBINING MACRON BELOW;Mn;220;NSM;;;;;N;NON-SPACING MACRON BELOW;;;;
+0332;COMBINING LOW LINE;Mn;220;NSM;;;;;N;NON-SPACING UNDERSCORE;;;;
+0333;COMBINING DOUBLE LOW LINE;Mn;220;NSM;;;;;N;NON-SPACING DOUBLE UNDERSCORE;;;;
+0334;COMBINING TILDE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING TILDE OVERLAY;;;;
+0335;COMBINING SHORT STROKE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING SHORT BAR OVERLAY;;;;
+0336;COMBINING LONG STROKE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG BAR OVERLAY;;;;
+0337;COMBINING SHORT SOLIDUS OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING SHORT SLASH OVERLAY;;;;
+0338;COMBINING LONG SOLIDUS OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG SLASH OVERLAY;;;;
+0339;COMBINING RIGHT HALF RING BELOW;Mn;220;NSM;;;;;N;NON-SPACING RIGHT HALF RING BELOW;;;;
+033A;COMBINING INVERTED BRIDGE BELOW;Mn;220;NSM;;;;;N;NON-SPACING INVERTED BRIDGE BELOW;;;;
+033B;COMBINING SQUARE BELOW;Mn;220;NSM;;;;;N;NON-SPACING SQUARE BELOW;;;;
+033C;COMBINING SEAGULL BELOW;Mn;220;NSM;;;;;N;NON-SPACING SEAGULL BELOW;;;;
+033D;COMBINING X ABOVE;Mn;230;NSM;;;;;N;NON-SPACING X ABOVE;;;;
+033E;COMBINING VERTICAL TILDE;Mn;230;NSM;;;;;N;NON-SPACING VERTICAL TILDE;;;;
+033F;COMBINING DOUBLE OVERLINE;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE OVERSCORE;;;;
+0340;COMBINING GRAVE TONE MARK;Mn;230;NSM;0300;;;;N;NON-SPACING GRAVE TONE MARK;Vietnamese;;;
+0341;COMBINING ACUTE TONE MARK;Mn;230;NSM;0301;;;;N;NON-SPACING ACUTE TONE MARK;Vietnamese;;;
+0342;COMBINING GREEK PERISPOMENI;Mn;230;NSM;;;;;N;;;;;
+0343;COMBINING GREEK KORONIS;Mn;230;NSM;0313;;;;N;;;;;
+0344;COMBINING GREEK DIALYTIKA TONOS;Mn;230;NSM;0308 0301;;;;N;GREEK NON-SPACING DIAERESIS TONOS;;;;
+0345;COMBINING GREEK YPOGEGRAMMENI;Mn;240;NSM;;;;;N;GREEK NON-SPACING IOTA BELOW;;0399;;0399
+0346;COMBINING BRIDGE ABOVE;Mn;230;NSM;;;;;N;;;;;
+0347;COMBINING EQUALS SIGN BELOW;Mn;220;NSM;;;;;N;;;;;
+0348;COMBINING DOUBLE VERTICAL LINE BELOW;Mn;220;NSM;;;;;N;;;;;
+0349;COMBINING LEFT ANGLE BELOW;Mn;220;NSM;;;;;N;;;;;
+034A;COMBINING NOT TILDE ABOVE;Mn;230;NSM;;;;;N;;;;;
+034B;COMBINING HOMOTHETIC ABOVE;Mn;230;NSM;;;;;N;;;;;
+034C;COMBINING ALMOST EQUAL TO ABOVE;Mn;230;NSM;;;;;N;;;;;
+034D;COMBINING LEFT RIGHT ARROW BELOW;Mn;220;NSM;;;;;N;;;;;
+034E;COMBINING UPWARDS ARROW BELOW;Mn;220;NSM;;;;;N;;;;;
+0360;COMBINING DOUBLE TILDE;Mn;234;NSM;;;;;N;;;;;
+0361;COMBINING DOUBLE INVERTED BREVE;Mn;234;NSM;;;;;N;;;;;
+0362;COMBINING DOUBLE RIGHTWARDS ARROW BELOW;Mn;233;NSM;;;;;N;;;;;
+0374;GREEK NUMERAL SIGN;Sk;0;ON;02B9;;;;N;GREEK UPPER NUMERAL SIGN;Dexia keraia;;;
+0375;GREEK LOWER NUMERAL SIGN;Sk;0;ON;;;;;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;;;;
+037E;GREEK QUESTION MARK;Po;0;ON;003B;;;;N;;Erotimatiko;;;
+0384;GREEK TONOS;Sk;0;ON;<compat> 0020 0301;;;;N;GREEK SPACING TONOS;;;;
+0385;GREEK DIALYTIKA TONOS;Sk;0;ON;00A8 0301;;;;N;GREEK SPACING DIAERESIS TONOS;;;;
+0386;GREEK CAPITAL LETTER ALPHA WITH TONOS;Lu;0;L;0391 0301;;;;N;GREEK CAPITAL LETTER ALPHA TONOS;;;03AC;
+0387;GREEK ANO TELEIA;Po;0;ON;00B7;;;;N;;;;;
+0388;GREEK CAPITAL LETTER EPSILON WITH TONOS;Lu;0;L;0395 0301;;;;N;GREEK CAPITAL LETTER EPSILON TONOS;;;03AD;
+0389;GREEK CAPITAL LETTER ETA WITH TONOS;Lu;0;L;0397 0301;;;;N;GREEK CAPITAL LETTER ETA TONOS;;;03AE;
+038A;GREEK CAPITAL LETTER IOTA WITH TONOS;Lu;0;L;0399 0301;;;;N;GREEK CAPITAL LETTER IOTA TONOS;;;03AF;
+038C;GREEK CAPITAL LETTER OMICRON WITH TONOS;Lu;0;L;039F 0301;;;;N;GREEK CAPITAL LETTER OMICRON TONOS;;;03CC;
+038E;GREEK CAPITAL LETTER UPSILON WITH TONOS;Lu;0;L;03A5 0301;;;;N;GREEK CAPITAL LETTER UPSILON TONOS;;;03CD;
+038F;GREEK CAPITAL LETTER OMEGA WITH TONOS;Lu;0;L;03A9 0301;;;;N;GREEK CAPITAL LETTER OMEGA TONOS;;;03CE;
+0390;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS;Ll;0;L;03CA 0301;;;;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;
@@ -789,11 +840,11 @@
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;;;;
+03AC;GREEK SMALL LETTER ALPHA WITH TONOS;Ll;0;L;03B1 0301;;;;N;GREEK SMALL LETTER ALPHA TONOS;;0386;;0386
+03AD;GREEK SMALL LETTER EPSILON WITH TONOS;Ll;0;L;03B5 0301;;;;N;GREEK SMALL LETTER EPSILON TONOS;;0388;;0388
+03AE;GREEK SMALL LETTER ETA WITH TONOS;Ll;0;L;03B7 0301;;;;N;GREEK SMALL LETTER ETA TONOS;;0389;;0389
+03AF;GREEK SMALL LETTER IOTA WITH TONOS;Ll;0;L;03B9 0301;;;;N;GREEK SMALL LETTER IOTA TONOS;;038A;;038A
+03B0;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS;Ll;0;L;03CB 0301;;;;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
@@ -821,20 +872,25 @@
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;;;;
+03CC;GREEK SMALL LETTER OMICRON WITH TONOS;Ll;0;L;03BF 0301;;;;N;GREEK SMALL LETTER OMICRON TONOS;;038C;;038C
+03CD;GREEK SMALL LETTER UPSILON WITH TONOS;Ll;0;L;03C5 0301;;;;N;GREEK SMALL LETTER UPSILON TONOS;;038E;;038E
+03CE;GREEK SMALL LETTER OMEGA WITH TONOS;Ll;0;L;03C9 0301;;;;N;GREEK SMALL LETTER OMEGA TONOS;;038F;;038F
+03D0;GREEK BETA SYMBOL;Ll;0;L;<compat> 03B2;;;;N;GREEK SMALL LETTER CURLED BETA;;0392;;0392
+03D1;GREEK THETA SYMBOL;Ll;0;L;<compat> 03B8;;;;N;GREEK SMALL LETTER SCRIPT THETA;;0398;;0398
+03D2;GREEK UPSILON WITH HOOK SYMBOL;Lu;0;L;<compat> 03A5;;;;N;GREEK CAPITAL LETTER UPSILON HOOK;;;;
+03D3;GREEK UPSILON WITH ACUTE AND HOOK SYMBOL;Lu;0;L;03D2 0301;;;;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;;;;
+03D5;GREEK PHI SYMBOL;Ll;0;L;<compat> 03C6;;;;N;GREEK SMALL LETTER SCRIPT PHI;;03A6;;03A6
+03D6;GREEK PI SYMBOL;Ll;0;L;<compat> 03C0;;;;N;GREEK SMALL LETTER OMEGA PI;;03A0;;03A0
+03D7;GREEK KAI SYMBOL;Ll;0;L;;;;;N;;;;;
+03DA;GREEK LETTER STIGMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER STIGMA;;;03DB;
+03DB;GREEK SMALL LETTER STIGMA;Ll;0;L;;;;;N;;;03DA;;03DA
+03DC;GREEK LETTER DIGAMMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER DIGAMMA;;;03DD;
+03DD;GREEK SMALL LETTER DIGAMMA;Ll;0;L;;;;;N;;;03DC;;03DC
+03DE;GREEK LETTER KOPPA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER KOPPA;;;03DF;
+03DF;GREEK SMALL LETTER KOPPA;Ll;0;L;;;;;N;;;03DE;;03DE
+03E0;GREEK LETTER SAMPI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER SAMPI;;;03E1;
+03E1;GREEK SMALL LETTER SAMPI;Ll;0;L;;;;;N;;;03E0;;03E0
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;
@@ -849,10 +905,11 @@
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;;;;
+03F0;GREEK KAPPA SYMBOL;Ll;0;L;<compat> 03BA;;;;N;GREEK SMALL LETTER SCRIPT KAPPA;;039A;;039A
+03F1;GREEK RHO SYMBOL;Ll;0;L;<compat> 03C1;;;;N;GREEK SMALL LETTER TAILED RHO;;03A1;;03A1
+03F2;GREEK LUNATE SIGMA SYMBOL;Ll;0;L;<compat> 03C2;;;;N;GREEK SMALL LETTER LUNATE SIGMA;;03A3;;03A3
03F3;GREEK LETTER YOT;Lo;0;L;;;;;N;;;;;
+0400;CYRILLIC CAPITAL LETTER IE WITH GRAVE;Lu;0;L;0415 0300;;;;N;;;;0450;
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;
@@ -865,6 +922,7 @@
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;
+040D;CYRILLIC CAPITAL LETTER I WITH GRAVE;Lu;0;L;0418 0300;;;;N;;;;045D;
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;
@@ -931,6 +989,7 @@
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
+0450;CYRILLIC SMALL LETTER IE WITH GRAVE;Ll;0;L;0435 0300;;;;N;;;0400;;0400
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
@@ -943,6 +1002,7 @@
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
+045D;CYRILLIC SMALL LETTER I WITH GRAVE;Ll;0;L;0438 0300;;;;N;;;040D;;040D
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;
@@ -980,10 +1040,16 @@
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;;;;
+0483;COMBINING CYRILLIC TITLO;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING TITLO;;;;
+0484;COMBINING CYRILLIC PALATALIZATION;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING PALATALIZATION;;;;
+0485;COMBINING CYRILLIC DASIA PNEUMATA;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING DASIA PNEUMATA;;;;
+0486;COMBINING CYRILLIC PSILI PNEUMATA;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING PSILI PNEUMATA;;;;
+0488;COMBINING CYRILLIC HUNDRED THOUSANDS SIGN;Me;0;NSM;;;;;N;;;;;
+0489;COMBINING CYRILLIC MILLIONS SIGN;Me;0;NSM;;;;;N;;;;;
+048C;CYRILLIC CAPITAL LETTER SEMISOFT SIGN;Lu;0;L;;;;;N;;;;048D;
+048D;CYRILLIC SMALL LETTER SEMISOFT SIGN;Ll;0;L;;;;;N;;;048C;;048C
+048E;CYRILLIC CAPITAL LETTER ER WITH TICK;Lu;0;L;;;;;N;;;;048F;
+048F;CYRILLIC SMALL LETTER ER WITH TICK;Ll;0;L;;;;;N;;;048E;;048E
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;
@@ -1045,30 +1111,32 @@
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
+04D4;CYRILLIC CAPITAL LIGATURE A IE;Lu;0;L;;;;;N;;;;04D5;
+04D5;CYRILLIC SMALL LIGATURE A IE;Ll;0;L;;;;;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
+04D8;CYRILLIC CAPITAL LETTER SCHWA;Lu;0;L;;;;;N;;;;04D9;
+04D9;CYRILLIC SMALL LETTER SCHWA;Ll;0;L;;;;;N;;;04D8;;04D8
+04DA;CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS;Lu;0;L;04D8 0308;;;;N;;;;04DB;
+04DB;CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS;Ll;0;L;04D9 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
+04E0;CYRILLIC CAPITAL LETTER ABKHASIAN DZE;Lu;0;L;;;;;N;;;;04E1;
+04E1;CYRILLIC SMALL LETTER ABKHASIAN DZE;Ll;0;L;;;;;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
+04E8;CYRILLIC CAPITAL LETTER BARRED O;Lu;0;L;;;;;N;;;;04E9;
+04E9;CYRILLIC SMALL LETTER BARRED O;Ll;0;L;;;;;N;;;04E8;;04E8
+04EA;CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS;Lu;0;L;04E8 0308;;;;N;;;;04EB;
+04EB;CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS;Ll;0;L;04E9 0308;;;;N;;;04EA;;04EA
+04EC;CYRILLIC CAPITAL LETTER E WITH DIAERESIS;Lu;0;L;042D 0308;;;;N;;;;04ED;
+04ED;CYRILLIC SMALL LETTER E WITH DIAERESIS;Ll;0;L;044D 0308;;;;N;;;04EC;;04EC
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;
@@ -1164,56 +1232,57 @@
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;;;;;
+058A;ARMENIAN HYPHEN;Pd;0;ON;;;;;N;;;;;
+0591;HEBREW ACCENT ETNAHTA;Mn;220;NSM;;;;;N;;;;;
+0592;HEBREW ACCENT SEGOL;Mn;230;NSM;;;;;N;;;;;
+0593;HEBREW ACCENT SHALSHELET;Mn;230;NSM;;;;;N;;;;;
+0594;HEBREW ACCENT ZAQEF QATAN;Mn;230;NSM;;;;;N;;;;;
+0595;HEBREW ACCENT ZAQEF GADOL;Mn;230;NSM;;;;;N;;;;;
+0596;HEBREW ACCENT TIPEHA;Mn;220;NSM;;;;;N;;*;;;
+0597;HEBREW ACCENT REVIA;Mn;230;NSM;;;;;N;;;;;
+0598;HEBREW ACCENT ZARQA;Mn;230;NSM;;;;;N;;*;;;
+0599;HEBREW ACCENT PASHTA;Mn;230;NSM;;;;;N;;;;;
+059A;HEBREW ACCENT YETIV;Mn;222;NSM;;;;;N;;;;;
+059B;HEBREW ACCENT TEVIR;Mn;220;NSM;;;;;N;;;;;
+059C;HEBREW ACCENT GERESH;Mn;230;NSM;;;;;N;;;;;
+059D;HEBREW ACCENT GERESH MUQDAM;Mn;230;NSM;;;;;N;;;;;
+059E;HEBREW ACCENT GERSHAYIM;Mn;230;NSM;;;;;N;;;;;
+059F;HEBREW ACCENT QARNEY PARA;Mn;230;NSM;;;;;N;;;;;
+05A0;HEBREW ACCENT TELISHA GEDOLA;Mn;230;NSM;;;;;N;;;;;
+05A1;HEBREW ACCENT PAZER;Mn;230;NSM;;;;;N;;;;;
+05A3;HEBREW ACCENT MUNAH;Mn;220;NSM;;;;;N;;;;;
+05A4;HEBREW ACCENT MAHAPAKH;Mn;220;NSM;;;;;N;;;;;
+05A5;HEBREW ACCENT MERKHA;Mn;220;NSM;;;;;N;;*;;;
+05A6;HEBREW ACCENT MERKHA KEFULA;Mn;220;NSM;;;;;N;;;;;
+05A7;HEBREW ACCENT DARGA;Mn;220;NSM;;;;;N;;;;;
+05A8;HEBREW ACCENT QADMA;Mn;230;NSM;;;;;N;;*;;;
+05A9;HEBREW ACCENT TELISHA QETANA;Mn;230;NSM;;;;;N;;;;;
+05AA;HEBREW ACCENT YERAH BEN YOMO;Mn;220;NSM;;;;;N;;*;;;
+05AB;HEBREW ACCENT OLE;Mn;230;NSM;;;;;N;;;;;
+05AC;HEBREW ACCENT ILUY;Mn;230;NSM;;;;;N;;;;;
+05AD;HEBREW ACCENT DEHI;Mn;222;NSM;;;;;N;;;;;
+05AE;HEBREW ACCENT ZINOR;Mn;228;NSM;;;;;N;;;;;
+05AF;HEBREW MARK MASORA CIRCLE;Mn;230;NSM;;;;;N;;;;;
+05B0;HEBREW POINT SHEVA;Mn;10;NSM;;;;;N;;;;;
+05B1;HEBREW POINT HATAF SEGOL;Mn;11;NSM;;;;;N;;;;;
+05B2;HEBREW POINT HATAF PATAH;Mn;12;NSM;;;;;N;;;;;
+05B3;HEBREW POINT HATAF QAMATS;Mn;13;NSM;;;;;N;;;;;
+05B4;HEBREW POINT HIRIQ;Mn;14;NSM;;;;;N;;;;;
+05B5;HEBREW POINT TSERE;Mn;15;NSM;;;;;N;;;;;
+05B6;HEBREW POINT SEGOL;Mn;16;NSM;;;;;N;;;;;
+05B7;HEBREW POINT PATAH;Mn;17;NSM;;;;;N;;;;;
+05B8;HEBREW POINT QAMATS;Mn;18;NSM;;;;;N;;;;;
+05B9;HEBREW POINT HOLAM;Mn;19;NSM;;;;;N;;;;;
+05BB;HEBREW POINT QUBUTS;Mn;20;NSM;;;;;N;;;;;
+05BC;HEBREW POINT DAGESH OR MAPIQ;Mn;21;NSM;;;;;N;HEBREW POINT DAGESH;or shuruq;;;
+05BD;HEBREW POINT METEG;Mn;22;NSM;;;;;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;;;;;
+05BF;HEBREW POINT RAFE;Mn;23;NSM;;;;;N;;;;;
+05C0;HEBREW PUNCTUATION PASEQ;Po;0;R;;;;;N;HEBREW POINT PASEQ;*;;;
+05C1;HEBREW POINT SHIN DOT;Mn;24;NSM;;;;;N;;;;;
+05C2;HEBREW POINT SIN DOT;Mn;25;NSM;;;;;N;;;;;
+05C3;HEBREW PUNCTUATION SOF PASUQ;Po;0;R;;;;;N;;*;;;
+05C4;HEBREW MARK UPPER DOT;Mn;230;NSM;;;;;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;;;;;
@@ -1246,54 +1315,57 @@
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;;;;;
+060C;ARABIC COMMA;Po;0;CS;;;;;N;;;;;
+061B;ARABIC SEMICOLON;Po;0;AL;;;;;N;;;;;
+061F;ARABIC QUESTION MARK;Po;0;AL;;;;;N;;;;;
+0621;ARABIC LETTER HAMZA;Lo;0;AL;;;;;N;ARABIC LETTER HAMZAH;;;;
+0622;ARABIC LETTER ALEF WITH MADDA ABOVE;Lo;0;AL;0627 0653;;;;N;ARABIC LETTER MADDAH ON ALEF;;;;
+0623;ARABIC LETTER ALEF WITH HAMZA ABOVE;Lo;0;AL;0627 0654;;;;N;ARABIC LETTER HAMZAH ON ALEF;;;;
+0624;ARABIC LETTER WAW WITH HAMZA ABOVE;Lo;0;AL;0648 0654;;;;N;ARABIC LETTER HAMZAH ON WAW;;;;
+0625;ARABIC LETTER ALEF WITH HAMZA BELOW;Lo;0;AL;0627 0655;;;;N;ARABIC LETTER HAMZAH UNDER ALEF;;;;
+0626;ARABIC LETTER YEH WITH HAMZA ABOVE;Lo;0;AL;064A 0654;;;;N;ARABIC LETTER HAMZAH ON YA;;;;
+0627;ARABIC LETTER ALEF;Lo;0;AL;;;;;N;;;;;
+0628;ARABIC LETTER BEH;Lo;0;AL;;;;;N;ARABIC LETTER BAA;;;;
+0629;ARABIC LETTER TEH MARBUTA;Lo;0;AL;;;;;N;ARABIC LETTER TAA MARBUTAH;;;;
+062A;ARABIC LETTER TEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA;;;;
+062B;ARABIC LETTER THEH;Lo;0;AL;;;;;N;ARABIC LETTER THAA;;;;
+062C;ARABIC LETTER JEEM;Lo;0;AL;;;;;N;;;;;
+062D;ARABIC LETTER HAH;Lo;0;AL;;;;;N;ARABIC LETTER HAA;;;;
+062E;ARABIC LETTER KHAH;Lo;0;AL;;;;;N;ARABIC LETTER KHAA;;;;
+062F;ARABIC LETTER DAL;Lo;0;AL;;;;;N;;;;;
+0630;ARABIC LETTER THAL;Lo;0;AL;;;;;N;;;;;
+0631;ARABIC LETTER REH;Lo;0;AL;;;;;N;ARABIC LETTER RA;;;;
+0632;ARABIC LETTER ZAIN;Lo;0;AL;;;;;N;;;;;
+0633;ARABIC LETTER SEEN;Lo;0;AL;;;;;N;;;;;
+0634;ARABIC LETTER SHEEN;Lo;0;AL;;;;;N;;;;;
+0635;ARABIC LETTER SAD;Lo;0;AL;;;;;N;;;;;
+0636;ARABIC LETTER DAD;Lo;0;AL;;;;;N;;;;;
+0637;ARABIC LETTER TAH;Lo;0;AL;;;;;N;;;;;
+0638;ARABIC LETTER ZAH;Lo;0;AL;;;;;N;ARABIC LETTER DHAH;;;;
+0639;ARABIC LETTER AIN;Lo;0;AL;;;;;N;;;;;
+063A;ARABIC LETTER GHAIN;Lo;0;AL;;;;;N;;;;;
+0640;ARABIC TATWEEL;Lm;0;AL;;;;;N;;;;;
+0641;ARABIC LETTER FEH;Lo;0;AL;;;;;N;ARABIC LETTER FA;;;;
+0642;ARABIC LETTER QAF;Lo;0;AL;;;;;N;;;;;
+0643;ARABIC LETTER KAF;Lo;0;AL;;;;;N;ARABIC LETTER CAF;;;;
+0644;ARABIC LETTER LAM;Lo;0;AL;;;;;N;;;;;
+0645;ARABIC LETTER MEEM;Lo;0;AL;;;;;N;;;;;
+0646;ARABIC LETTER NOON;Lo;0;AL;;;;;N;;;;;
+0647;ARABIC LETTER HEH;Lo;0;AL;;;;;N;ARABIC LETTER HA;;;;
+0648;ARABIC LETTER WAW;Lo;0;AL;;;;;N;;;;;
+0649;ARABIC LETTER ALEF MAKSURA;Lo;0;AL;;;;;N;ARABIC LETTER ALEF MAQSURAH;;;;
+064A;ARABIC LETTER YEH;Lo;0;AL;;;;;N;ARABIC LETTER YA;;;;
+064B;ARABIC FATHATAN;Mn;27;NSM;;;;;N;;;;;
+064C;ARABIC DAMMATAN;Mn;28;NSM;;;;;N;;;;;
+064D;ARABIC KASRATAN;Mn;29;NSM;;;;;N;;;;;
+064E;ARABIC FATHA;Mn;30;NSM;;;;;N;ARABIC FATHAH;;;;
+064F;ARABIC DAMMA;Mn;31;NSM;;;;;N;ARABIC DAMMAH;;;;
+0650;ARABIC KASRA;Mn;32;NSM;;;;;N;ARABIC KASRAH;;;;
+0651;ARABIC SHADDA;Mn;33;NSM;;;;;N;ARABIC SHADDAH;;;;
+0652;ARABIC SUKUN;Mn;34;NSM;;;;;N;;;;;
+0653;ARABIC MADDAH ABOVE;Mn;230;NSM;;;;;N;;;;;
+0654;ARABIC HAMZA ABOVE;Mn;230;NSM;;;;;N;;;;;
+0655;ARABIC HAMZA BELOW;Mn;220;NSM;;;;;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;;;;;
@@ -1307,129 +1379,133 @@
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;;;;;
+066D;ARABIC FIVE POINTED STAR;Po;0;AL;;;;;N;;;;;
+0670;ARABIC LETTER SUPERSCRIPT ALEF;Mn;35;NSM;;;;;N;ARABIC ALEF ABOVE;;;;
+0671;ARABIC LETTER ALEF WASLA;Lo;0;AL;;;;;N;ARABIC LETTER HAMZAT WASL ON ALEF;;;;
+0672;ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER WAVY HAMZAH ON ALEF;;;;
+0673;ARABIC LETTER ALEF WITH WAVY HAMZA BELOW;Lo;0;AL;;;;;N;ARABIC LETTER WAVY HAMZAH UNDER ALEF;;;;
+0674;ARABIC LETTER HIGH HAMZA;Lo;0;AL;;;;;N;ARABIC LETTER HIGH HAMZAH;;;;
+0675;ARABIC LETTER HIGH HAMZA ALEF;Lo;0;AL;<compat> 0627 0674;;;;N;ARABIC LETTER HIGH HAMZAH ALEF;;;;
+0676;ARABIC LETTER HIGH HAMZA WAW;Lo;0;AL;<compat> 0648 0674;;;;N;ARABIC LETTER HIGH HAMZAH WAW;;;;
+0677;ARABIC LETTER U WITH HAMZA ABOVE;Lo;0;AL;<compat> 06C7 0674;;;;N;ARABIC LETTER HIGH HAMZAH WAW WITH DAMMAH;;;;
+0678;ARABIC LETTER HIGH HAMZA YEH;Lo;0;AL;<compat> 064A 0674;;;;N;ARABIC LETTER HIGH HAMZAH YA;;;;
+0679;ARABIC LETTER TTEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH SMALL TAH;;;;
+067A;ARABIC LETTER TTEHEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH TWO DOTS VERTICAL ABOVE;;;;
+067B;ARABIC LETTER BEEH;Lo;0;AL;;;;;N;ARABIC LETTER BAA WITH TWO DOTS VERTICAL BELOW;;;;
+067C;ARABIC LETTER TEH WITH RING;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH RING;;;;
+067D;ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH THREE DOTS ABOVE DOWNWARD;;;;
+067E;ARABIC LETTER PEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH THREE DOTS BELOW;;;;
+067F;ARABIC LETTER TEHEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH FOUR DOTS ABOVE;;;;
+0680;ARABIC LETTER BEHEH;Lo;0;AL;;;;;N;ARABIC LETTER BAA WITH FOUR DOTS BELOW;;;;
+0681;ARABIC LETTER HAH WITH HAMZA ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER HAMZAH ON HAA;;;;
+0682;ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH TWO DOTS VERTICAL ABOVE;;;;
+0683;ARABIC LETTER NYEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE TWO DOTS;;;;
+0684;ARABIC LETTER DYEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE TWO DOTS VERTICAL;;;;
+0685;ARABIC LETTER HAH WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH THREE DOTS ABOVE;;;;
+0686;ARABIC LETTER TCHEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE THREE DOTS DOWNWARD;;;;
+0687;ARABIC LETTER TCHEHEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE FOUR DOTS;;;;
+0688;ARABIC LETTER DDAL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH SMALL TAH;;;;
+0689;ARABIC LETTER DAL WITH RING;Lo;0;AL;;;;;N;;;;;
+068A;ARABIC LETTER DAL WITH DOT BELOW;Lo;0;AL;;;;;N;;;;;
+068B;ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH;Lo;0;AL;;;;;N;;;;;
+068C;ARABIC LETTER DAHAL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH TWO DOTS ABOVE;;;;
+068D;ARABIC LETTER DDAHAL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH TWO DOTS BELOW;;;;
+068E;ARABIC LETTER DUL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH THREE DOTS ABOVE;;;;
+068F;ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARD;;;;
+0690;ARABIC LETTER DAL WITH FOUR DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+0691;ARABIC LETTER RREH;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH SMALL TAH;;;;
+0692;ARABIC LETTER REH WITH SMALL V;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH SMALL V;;;;
+0693;ARABIC LETTER REH WITH RING;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH RING;;;;
+0694;ARABIC LETTER REH WITH DOT BELOW;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH DOT BELOW;;;;
+0695;ARABIC LETTER REH WITH SMALL V BELOW;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH SMALL V BELOW;;;;
+0696;ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH DOT BELOW AND DOT ABOVE;;;;
+0697;ARABIC LETTER REH WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH TWO DOTS ABOVE;;;;
+0698;ARABIC LETTER JEH;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH THREE DOTS ABOVE;;;;
+0699;ARABIC LETTER REH WITH FOUR DOTS ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH FOUR DOTS ABOVE;;;;
+069A;ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE;Lo;0;AL;;;;;N;;;;;
+069B;ARABIC LETTER SEEN WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;;
+069C;ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+069D;ARABIC LETTER SAD WITH TWO DOTS BELOW;Lo;0;AL;;;;;N;;;;;
+069E;ARABIC LETTER SAD WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+069F;ARABIC LETTER TAH WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+06A0;ARABIC LETTER AIN WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+06A1;ARABIC LETTER DOTLESS FEH;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS FA;;;;
+06A2;ARABIC LETTER FEH WITH DOT MOVED BELOW;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH DOT MOVED BELOW;;;;
+06A3;ARABIC LETTER FEH WITH DOT BELOW;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH DOT BELOW;;;;
+06A4;ARABIC LETTER VEH;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH THREE DOTS ABOVE;;;;
+06A5;ARABIC LETTER FEH WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH THREE DOTS BELOW;;;;
+06A6;ARABIC LETTER PEHEH;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH FOUR DOTS ABOVE;;;;
+06A7;ARABIC LETTER QAF WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;;
+06A8;ARABIC LETTER QAF WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+06A9;ARABIC LETTER KEHEH;Lo;0;AL;;;;;N;ARABIC LETTER OPEN CAF;;;;
+06AA;ARABIC LETTER SWASH KAF;Lo;0;AL;;;;;N;ARABIC LETTER SWASH CAF;;;;
+06AB;ARABIC LETTER KAF WITH RING;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH RING;;;;
+06AC;ARABIC LETTER KAF WITH DOT ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH DOT ABOVE;;;;
+06AD;ARABIC LETTER NG;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH THREE DOTS ABOVE;;;;
+06AE;ARABIC LETTER KAF WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH THREE DOTS BELOW;;;;
+06AF;ARABIC LETTER GAF;Lo;0;AL;;;;;N;;*;;;
+06B0;ARABIC LETTER GAF WITH RING;Lo;0;AL;;;;;N;;;;;
+06B1;ARABIC LETTER NGOEH;Lo;0;AL;;;;;N;ARABIC LETTER GAF WITH TWO DOTS ABOVE;;;;
+06B2;ARABIC LETTER GAF WITH TWO DOTS BELOW;Lo;0;AL;;;;;N;;;;;
+06B3;ARABIC LETTER GUEH;Lo;0;AL;;;;;N;ARABIC LETTER GAF WITH TWO DOTS VERTICAL BELOW;;;;
+06B4;ARABIC LETTER GAF WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+06B5;ARABIC LETTER LAM WITH SMALL V;Lo;0;AL;;;;;N;;;;;
+06B6;ARABIC LETTER LAM WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;;
+06B7;ARABIC LETTER LAM WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+06B8;ARABIC LETTER LAM WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;;
+06B9;ARABIC LETTER NOON WITH DOT BELOW;Lo;0;AL;;;;;N;;;;;
+06BA;ARABIC LETTER NOON GHUNNA;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS NOON;;;;
+06BB;ARABIC LETTER RNOON;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS NOON WITH SMALL TAH;;;;
+06BC;ARABIC LETTER NOON WITH RING;Lo;0;AL;;;;;N;;;;;
+06BD;ARABIC LETTER NOON WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+06BE;ARABIC LETTER HEH DOACHASHMEE;Lo;0;AL;;;;;N;ARABIC LETTER KNOTTED HA;;;;
+06BF;ARABIC LETTER TCHEH WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;;
+06C0;ARABIC LETTER HEH WITH YEH ABOVE;Lo;0;AL;06D5 0654;;;;N;ARABIC LETTER HAMZAH ON HA;;;;
+06C1;ARABIC LETTER HEH GOAL;Lo;0;AL;;;;;N;ARABIC LETTER HA GOAL;;;;
+06C2;ARABIC LETTER HEH GOAL WITH HAMZA ABOVE;Lo;0;AL;06C1 0654;;;;N;ARABIC LETTER HAMZAH ON HA GOAL;;;;
+06C3;ARABIC LETTER TEH MARBUTA GOAL;Lo;0;AL;;;;;N;ARABIC LETTER TAA MARBUTAH GOAL;;;;
+06C4;ARABIC LETTER WAW WITH RING;Lo;0;AL;;;;;N;;;;;
+06C5;ARABIC LETTER KIRGHIZ OE;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH BAR;;;;
+06C6;ARABIC LETTER OE;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH SMALL V;;;;
+06C7;ARABIC LETTER U;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH DAMMAH;;;;
+06C8;ARABIC LETTER YU;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH ALEF ABOVE;;;;
+06C9;ARABIC LETTER KIRGHIZ YU;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH INVERTED SMALL V;;;;
+06CA;ARABIC LETTER WAW WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+06CB;ARABIC LETTER VE;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH THREE DOTS ABOVE;;;;
+06CC;ARABIC LETTER FARSI YEH;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS YA;;;;
+06CD;ARABIC LETTER YEH WITH TAIL;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH TAIL;;;;
+06CE;ARABIC LETTER YEH WITH SMALL V;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH SMALL V;;;;
+06CF;ARABIC LETTER WAW WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;;
+06D0;ARABIC LETTER E;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH TWO DOTS VERTICAL BELOW;*;;;
+06D1;ARABIC LETTER YEH WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH THREE DOTS BELOW;;;;
+06D2;ARABIC LETTER YEH BARREE;Lo;0;AL;;;;;N;ARABIC LETTER YA BARREE;;;;
+06D3;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE;Lo;0;AL;06D2 0654;;;;N;ARABIC LETTER HAMZAH ON YA BARREE;;;;
+06D4;ARABIC FULL STOP;Po;0;AL;;;;;N;ARABIC PERIOD;;;;
+06D5;ARABIC LETTER AE;Lo;0;AL;;;;;N;;;;;
+06D6;ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA;Mn;230;NSM;;;;;N;;;;;
+06D7;ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA;Mn;230;NSM;;;;;N;;;;;
+06D8;ARABIC SMALL HIGH MEEM INITIAL FORM;Mn;230;NSM;;;;;N;;;;;
+06D9;ARABIC SMALL HIGH LAM ALEF;Mn;230;NSM;;;;;N;;;;;
+06DA;ARABIC SMALL HIGH JEEM;Mn;230;NSM;;;;;N;;;;;
+06DB;ARABIC SMALL HIGH THREE DOTS;Mn;230;NSM;;;;;N;;;;;
+06DC;ARABIC SMALL HIGH SEEN;Mn;230;NSM;;;;;N;;;;;
+06DD;ARABIC END OF AYAH;Me;0;NSM;;;;;N;;;;;
+06DE;ARABIC START OF RUB EL HIZB;Me;0;NSM;;;;;N;;;;;
+06DF;ARABIC SMALL HIGH ROUNDED ZERO;Mn;230;NSM;;;;;N;;;;;
+06E0;ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO;Mn;230;NSM;;;;;N;;;;;
+06E1;ARABIC SMALL HIGH DOTLESS HEAD OF KHAH;Mn;230;NSM;;;;;N;;;;;
+06E2;ARABIC SMALL HIGH MEEM ISOLATED FORM;Mn;230;NSM;;;;;N;;;;;
+06E3;ARABIC SMALL LOW SEEN;Mn;220;NSM;;;;;N;;;;;
+06E4;ARABIC SMALL HIGH MADDA;Mn;230;NSM;;;;;N;;;;;
+06E5;ARABIC SMALL WAW;Lm;0;AL;;;;;N;;;;;
+06E6;ARABIC SMALL YEH;Lm;0;AL;;;;;N;;;;;
+06E7;ARABIC SMALL HIGH YEH;Mn;230;NSM;;;;;N;;;;;
+06E8;ARABIC SMALL HIGH NOON;Mn;230;NSM;;;;;N;;;;;
+06E9;ARABIC PLACE OF SAJDAH;So;0;ON;;;;;N;;;;;
+06EA;ARABIC EMPTY CENTRE LOW STOP;Mn;220;NSM;;;;;N;;;;;
+06EB;ARABIC EMPTY CENTRE HIGH STOP;Mn;230;NSM;;;;;N;;;;;
+06EC;ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE;Mn;230;NSM;;;;;N;;;;;
+06ED;ARABIC SMALL LOW MEEM;Mn;220;NSM;;;;;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;;;;
@@ -1440,8 +1516,133 @@
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;;;;;
+06FA;ARABIC LETTER SHEEN WITH DOT BELOW;Lo;0;AL;;;;;N;;;;;
+06FB;ARABIC LETTER DAD WITH DOT BELOW;Lo;0;AL;;;;;N;;;;;
+06FC;ARABIC LETTER GHAIN WITH DOT BELOW;Lo;0;AL;;;;;N;;;;;
+06FD;ARABIC SIGN SINDHI AMPERSAND;So;0;AL;;;;;N;;;;;
+06FE;ARABIC SIGN SINDHI POSTPOSITION MEN;So;0;AL;;;;;N;;;;;
+0700;SYRIAC END OF PARAGRAPH;Po;0;AL;;;;;N;;;;;
+0701;SYRIAC SUPRALINEAR FULL STOP;Po;0;AL;;;;;N;;;;;
+0702;SYRIAC SUBLINEAR FULL STOP;Po;0;AL;;;;;N;;;;;
+0703;SYRIAC SUPRALINEAR COLON;Po;0;AL;;;;;N;;;;;
+0704;SYRIAC SUBLINEAR COLON;Po;0;AL;;;;;N;;;;;
+0705;SYRIAC HORIZONTAL COLON;Po;0;AL;;;;;N;;;;;
+0706;SYRIAC COLON SKEWED LEFT;Po;0;AL;;;;;N;;;;;
+0707;SYRIAC COLON SKEWED RIGHT;Po;0;AL;;;;;N;;;;;
+0708;SYRIAC SUPRALINEAR COLON SKEWED LEFT;Po;0;AL;;;;;N;;;;;
+0709;SYRIAC SUBLINEAR COLON SKEWED RIGHT;Po;0;AL;;;;;N;;;;;
+070A;SYRIAC CONTRACTION;Po;0;AL;;;;;N;;;;;
+070B;SYRIAC HARKLEAN OBELUS;Po;0;AL;;;;;N;;;;;
+070C;SYRIAC HARKLEAN METOBELUS;Po;0;AL;;;;;N;;;;;
+070D;SYRIAC HARKLEAN ASTERISCUS;Po;0;AL;;;;;N;;;;;
+070F;SYRIAC ABBREVIATION MARK;Cf;0;BN;;;;;N;;;;;
+0710;SYRIAC LETTER ALAPH;Lo;0;AL;;;;;N;;;;;
+0711;SYRIAC LETTER SUPERSCRIPT ALAPH;Mn;36;NSM;;;;;N;;;;;
+0712;SYRIAC LETTER BETH;Lo;0;AL;;;;;N;;;;;
+0713;SYRIAC LETTER GAMAL;Lo;0;AL;;;;;N;;;;;
+0714;SYRIAC LETTER GAMAL GARSHUNI;Lo;0;AL;;;;;N;;;;;
+0715;SYRIAC LETTER DALATH;Lo;0;AL;;;;;N;;;;;
+0716;SYRIAC LETTER DOTLESS DALATH RISH;Lo;0;AL;;;;;N;;;;;
+0717;SYRIAC LETTER HE;Lo;0;AL;;;;;N;;;;;
+0718;SYRIAC LETTER WAW;Lo;0;AL;;;;;N;;;;;
+0719;SYRIAC LETTER ZAIN;Lo;0;AL;;;;;N;;;;;
+071A;SYRIAC LETTER HETH;Lo;0;AL;;;;;N;;;;;
+071B;SYRIAC LETTER TETH;Lo;0;AL;;;;;N;;;;;
+071C;SYRIAC LETTER TETH GARSHUNI;Lo;0;AL;;;;;N;;;;;
+071D;SYRIAC LETTER YUDH;Lo;0;AL;;;;;N;;;;;
+071E;SYRIAC LETTER YUDH HE;Lo;0;AL;;;;;N;;;;;
+071F;SYRIAC LETTER KAPH;Lo;0;AL;;;;;N;;;;;
+0720;SYRIAC LETTER LAMADH;Lo;0;AL;;;;;N;;;;;
+0721;SYRIAC LETTER MIM;Lo;0;AL;;;;;N;;;;;
+0722;SYRIAC LETTER NUN;Lo;0;AL;;;;;N;;;;;
+0723;SYRIAC LETTER SEMKATH;Lo;0;AL;;;;;N;;;;;
+0724;SYRIAC LETTER FINAL SEMKATH;Lo;0;AL;;;;;N;;;;;
+0725;SYRIAC LETTER E;Lo;0;AL;;;;;N;;;;;
+0726;SYRIAC LETTER PE;Lo;0;AL;;;;;N;;;;;
+0727;SYRIAC LETTER REVERSED PE;Lo;0;AL;;;;;N;;;;;
+0728;SYRIAC LETTER SADHE;Lo;0;AL;;;;;N;;;;;
+0729;SYRIAC LETTER QAPH;Lo;0;AL;;;;;N;;;;;
+072A;SYRIAC LETTER RISH;Lo;0;AL;;;;;N;;;;;
+072B;SYRIAC LETTER SHIN;Lo;0;AL;;;;;N;;;;;
+072C;SYRIAC LETTER TAW;Lo;0;AL;;;;;N;;;;;
+0730;SYRIAC PTHAHA ABOVE;Mn;230;NSM;;;;;N;;;;;
+0731;SYRIAC PTHAHA BELOW;Mn;220;NSM;;;;;N;;;;;
+0732;SYRIAC PTHAHA DOTTED;Mn;230;NSM;;;;;N;;;;;
+0733;SYRIAC ZQAPHA ABOVE;Mn;230;NSM;;;;;N;;;;;
+0734;SYRIAC ZQAPHA BELOW;Mn;220;NSM;;;;;N;;;;;
+0735;SYRIAC ZQAPHA DOTTED;Mn;230;NSM;;;;;N;;;;;
+0736;SYRIAC RBASA ABOVE;Mn;230;NSM;;;;;N;;;;;
+0737;SYRIAC RBASA BELOW;Mn;220;NSM;;;;;N;;;;;
+0738;SYRIAC DOTTED ZLAMA HORIZONTAL;Mn;220;NSM;;;;;N;;;;;
+0739;SYRIAC DOTTED ZLAMA ANGULAR;Mn;220;NSM;;;;;N;;;;;
+073A;SYRIAC HBASA ABOVE;Mn;230;NSM;;;;;N;;;;;
+073B;SYRIAC HBASA BELOW;Mn;220;NSM;;;;;N;;;;;
+073C;SYRIAC HBASA-ESASA DOTTED;Mn;220;NSM;;;;;N;;;;;
+073D;SYRIAC ESASA ABOVE;Mn;230;NSM;;;;;N;;;;;
+073E;SYRIAC ESASA BELOW;Mn;220;NSM;;;;;N;;;;;
+073F;SYRIAC RWAHA;Mn;230;NSM;;;;;N;;;;;
+0740;SYRIAC FEMININE DOT;Mn;230;NSM;;;;;N;;;;;
+0741;SYRIAC QUSHSHAYA;Mn;230;NSM;;;;;N;;;;;
+0742;SYRIAC RUKKAKHA;Mn;220;NSM;;;;;N;;;;;
+0743;SYRIAC TWO VERTICAL DOTS ABOVE;Mn;230;NSM;;;;;N;;;;;
+0744;SYRIAC TWO VERTICAL DOTS BELOW;Mn;220;NSM;;;;;N;;;;;
+0745;SYRIAC THREE DOTS ABOVE;Mn;230;NSM;;;;;N;;;;;
+0746;SYRIAC THREE DOTS BELOW;Mn;220;NSM;;;;;N;;;;;
+0747;SYRIAC OBLIQUE LINE ABOVE;Mn;230;NSM;;;;;N;;;;;
+0748;SYRIAC OBLIQUE LINE BELOW;Mn;220;NSM;;;;;N;;;;;
+0749;SYRIAC MUSIC;Mn;230;NSM;;;;;N;;;;;
+074A;SYRIAC BARREKH;Mn;230;NSM;;;;;N;;;;;
+0780;THAANA LETTER HAA;Lo;0;AL;;;;;N;;;;;
+0781;THAANA LETTER SHAVIYANI;Lo;0;AL;;;;;N;;;;;
+0782;THAANA LETTER NOONU;Lo;0;AL;;;;;N;;;;;
+0783;THAANA LETTER RAA;Lo;0;AL;;;;;N;;;;;
+0784;THAANA LETTER BAA;Lo;0;AL;;;;;N;;;;;
+0785;THAANA LETTER LHAVIYANI;Lo;0;AL;;;;;N;;;;;
+0786;THAANA LETTER KAAFU;Lo;0;AL;;;;;N;;;;;
+0787;THAANA LETTER ALIFU;Lo;0;AL;;;;;N;;;;;
+0788;THAANA LETTER VAAVU;Lo;0;AL;;;;;N;;;;;
+0789;THAANA LETTER MEEMU;Lo;0;AL;;;;;N;;;;;
+078A;THAANA LETTER FAAFU;Lo;0;AL;;;;;N;;;;;
+078B;THAANA LETTER DHAALU;Lo;0;AL;;;;;N;;;;;
+078C;THAANA LETTER THAA;Lo;0;AL;;;;;N;;;;;
+078D;THAANA LETTER LAAMU;Lo;0;AL;;;;;N;;;;;
+078E;THAANA LETTER GAAFU;Lo;0;AL;;;;;N;;;;;
+078F;THAANA LETTER GNAVIYANI;Lo;0;AL;;;;;N;;;;;
+0790;THAANA LETTER SEENU;Lo;0;AL;;;;;N;;;;;
+0791;THAANA LETTER DAVIYANI;Lo;0;AL;;;;;N;;;;;
+0792;THAANA LETTER ZAVIYANI;Lo;0;AL;;;;;N;;;;;
+0793;THAANA LETTER TAVIYANI;Lo;0;AL;;;;;N;;;;;
+0794;THAANA LETTER YAA;Lo;0;AL;;;;;N;;;;;
+0795;THAANA LETTER PAVIYANI;Lo;0;AL;;;;;N;;;;;
+0796;THAANA LETTER JAVIYANI;Lo;0;AL;;;;;N;;;;;
+0797;THAANA LETTER CHAVIYANI;Lo;0;AL;;;;;N;;;;;
+0798;THAANA LETTER TTAA;Lo;0;AL;;;;;N;;;;;
+0799;THAANA LETTER HHAA;Lo;0;AL;;;;;N;;;;;
+079A;THAANA LETTER KHAA;Lo;0;AL;;;;;N;;;;;
+079B;THAANA LETTER THAALU;Lo;0;AL;;;;;N;;;;;
+079C;THAANA LETTER ZAA;Lo;0;AL;;;;;N;;;;;
+079D;THAANA LETTER SHEENU;Lo;0;AL;;;;;N;;;;;
+079E;THAANA LETTER SAADHU;Lo;0;AL;;;;;N;;;;;
+079F;THAANA LETTER DAADHU;Lo;0;AL;;;;;N;;;;;
+07A0;THAANA LETTER TO;Lo;0;AL;;;;;N;;;;;
+07A1;THAANA LETTER ZO;Lo;0;AL;;;;;N;;;;;
+07A2;THAANA LETTER AINU;Lo;0;AL;;;;;N;;;;;
+07A3;THAANA LETTER GHAINU;Lo;0;AL;;;;;N;;;;;
+07A4;THAANA LETTER QAAFU;Lo;0;AL;;;;;N;;;;;
+07A5;THAANA LETTER WAAVU;Lo;0;AL;;;;;N;;;;;
+07A6;THAANA ABAFILI;Mn;0;NSM;;;;;N;;;;;
+07A7;THAANA AABAAFILI;Mn;0;NSM;;;;;N;;;;;
+07A8;THAANA IBIFILI;Mn;0;NSM;;;;;N;;;;;
+07A9;THAANA EEBEEFILI;Mn;0;NSM;;;;;N;;;;;
+07AA;THAANA UBUFILI;Mn;0;NSM;;;;;N;;;;;
+07AB;THAANA OOBOOFILI;Mn;0;NSM;;;;;N;;;;;
+07AC;THAANA EBEFILI;Mn;0;NSM;;;;;N;;;;;
+07AD;THAANA EYBEYFILI;Mn;0;NSM;;;;;N;;;;;
+07AE;THAANA OBOFILI;Mn;0;NSM;;;;;N;;;;;
+07AF;THAANA OABOAFILI;Mn;0;NSM;;;;;N;;;;;
+07B0;THAANA SUKUN;Mn;0;NSM;;;;;N;;;;;
+0901;DEVANAGARI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
+0902;DEVANAGARI SIGN ANUSVARA;Mn;0;NSM;;;;;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;;;;;
@@ -1496,29 +1697,29 @@
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;;;;;
+093C;DEVANAGARI SIGN NUKTA;Mn;7;NSM;;;;;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;;;;;
+0941;DEVANAGARI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+0942;DEVANAGARI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+0943;DEVANAGARI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
+0944;DEVANAGARI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;;
+0945;DEVANAGARI VOWEL SIGN CANDRA E;Mn;0;NSM;;;;;N;;;;;
+0946;DEVANAGARI VOWEL SIGN SHORT E;Mn;0;NSM;;;;;N;;;;;
+0947;DEVANAGARI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+0948;DEVANAGARI VOWEL SIGN AI;Mn;0;NSM;;;;;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;;;;;
+094D;DEVANAGARI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+0950;DEVANAGARI OM;Lo;0;L;;;;;N;;;;;
+0951;DEVANAGARI STRESS SIGN UDATTA;Mn;230;NSM;;;;;N;;;;;
+0952;DEVANAGARI STRESS SIGN ANUDATTA;Mn;220;NSM;;;;;N;;;;;
+0953;DEVANAGARI GRAVE ACCENT;Mn;230;NSM;;;;;N;;;;;
+0954;DEVANAGARI ACUTE ACCENT;Mn;230;NSM;;;;;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;;;;;
@@ -1529,8 +1730,8 @@
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;;;;;
+0962;DEVANAGARI VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
+0963;DEVANAGARI VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;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;;;;;
@@ -1544,7 +1745,7 @@
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;;;;;
+0981;BENGALI SIGN CANDRABINDU;Mn;0;NSM;;;;;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;;;;;
@@ -1585,33 +1786,33 @@
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;;;;;
+09B0;BENGALI LETTER RA;Lo;0;L;;;;;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;;;;;
+09BC;BENGALI SIGN NUKTA;Mn;7;NSM;;;;;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;;;;;
+09C1;BENGALI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+09C2;BENGALI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+09C3;BENGALI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
+09C4;BENGALI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;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;;;;;
+09CD;BENGALI SIGN VIRAMA;Mn;9;NSM;;;;;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;;;;;
+09E2;BENGALI VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
+09E3;BENGALI VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;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;;;;;
@@ -1624,16 +1825,16 @@
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;;;;;
+09F2;BENGALI RUPEE MARK;Sc;0;ET;;;;;N;;;;;
+09F3;BENGALI RUPEE SIGN;Sc;0;ET;;;;;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;;;;;
+09F8;BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR;No;0;L;;;;;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;;;;;
+0A02;GURMUKHI SIGN BINDI;Mn;0;NSM;;;;;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;;;;;
@@ -1672,26 +1873,26 @@
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;;;;;
+0A33;GURMUKHI LETTER LLA;Lo;0;L;0A32 0A3C;;;;N;;;;;
0A35;GURMUKHI LETTER VA;Lo;0;L;;;;;N;;;;;
-0A36;GURMUKHI LETTER SHA;Lo;0;L;;;;;N;;;;;
+0A36;GURMUKHI LETTER SHA;Lo;0;L;0A38 0A3C;;;;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;;;;;
+0A3C;GURMUKHI SIGN NUKTA;Mn;7;NSM;;;;;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;;;;;
+0A41;GURMUKHI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+0A42;GURMUKHI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+0A47;GURMUKHI VOWEL SIGN EE;Mn;0;NSM;;;;;N;;;;;
+0A48;GURMUKHI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+0A4B;GURMUKHI VOWEL SIGN OO;Mn;0;NSM;;;;;N;;;;;
+0A4C;GURMUKHI VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;;
+0A4D;GURMUKHI SIGN VIRAMA;Mn;9;NSM;;;;;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;;;;;
+0A5C;GURMUKHI LETTER RRA;Lo;0;L;;;;;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;;;;;
@@ -1703,13 +1904,13 @@
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;;;;;
+0A70;GURMUKHI TIPPI;Mn;0;NSM;;;;;N;;;;;
+0A71;GURMUKHI ADDAK;Mn;0;NSM;;;;;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;;;;;
+0A81;GUJARATI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
+0A82;GUJARATI SIGN ANUSVARA;Mn;0;NSM;;;;;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;;;;;
@@ -1758,23 +1959,23 @@
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;;;;;
+0ABC;GUJARATI SIGN NUKTA;Mn;7;NSM;;;;;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;;;;;
+0AC1;GUJARATI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+0AC2;GUJARATI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+0AC3;GUJARATI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
+0AC4;GUJARATI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;;
+0AC5;GUJARATI VOWEL SIGN CANDRA E;Mn;0;NSM;;;;;N;;;;;
+0AC7;GUJARATI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+0AC8;GUJARATI VOWEL SIGN AI;Mn;0;NSM;;;;;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;;;;;
+0ACD;GUJARATI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+0AD0;GUJARATI OM;Lo;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;;;;;
@@ -1786,7 +1987,7 @@
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;;;;;
+0B01;ORIYA SIGN CANDRABINDU;Mn;0;NSM;;;;;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;;;;;
@@ -1834,24 +2035,24 @@
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;;;;;
+0B3C;ORIYA SIGN NUKTA;Mn;7;NSM;;;;;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;;;;;
+0B3F;ORIYA VOWEL SIGN I;Mn;0;NSM;;;;;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;;;;;
+0B41;ORIYA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+0B42;ORIYA VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+0B43;ORIYA VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;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;;;;;
+0B4D;ORIYA SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+0B56;ORIYA AI LENGTH MARK;Mn;0;NSM;;;;;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;;;;;
+0B5F;ORIYA LETTER YYA;Lo;0;L;;;;;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;;;;;
@@ -1865,7 +2066,7 @@
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;;;;;
+0B82;TAMIL SIGN ANUSVARA;Mn;0;NSM;;;;;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;;;;;
@@ -1903,7 +2104,7 @@
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;;;;;
+0BC0;TAMIL VOWEL SIGN II;Mn;0;NSM;;;;;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;;;;;
@@ -1912,7 +2113,7 @@
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;;;;;
+0BCD;TAMIL SIGN VIRAMA;Mn;9;NSM;;;;;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;;;;;
@@ -1978,22 +2179,22 @@
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;;;;;
+0C3E;TELUGU VOWEL SIGN AA;Mn;0;NSM;;;;;N;;;;;
+0C3F;TELUGU VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
+0C40;TELUGU VOWEL SIGN II;Mn;0;NSM;;;;;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;;;;;
+0C46;TELUGU VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+0C47;TELUGU VOWEL SIGN EE;Mn;0;NSM;;;;;N;;;;;
+0C48;TELUGU VOWEL SIGN AI;Mn;0;NSM;0C46 0C56;;;;N;;;;;
+0C4A;TELUGU VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
+0C4B;TELUGU VOWEL SIGN OO;Mn;0;NSM;;;;;N;;;;;
+0C4C;TELUGU VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;;
+0C4D;TELUGU SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+0C55;TELUGU LENGTH MARK;Mn;84;NSM;;;;;N;;;;;
+0C56;TELUGU AI LENGTH MARK;Mn;91;NSM;;;;;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;;;;;
@@ -2058,19 +2259,19 @@
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;;;;;
+0CBF;KANNADA VOWEL SIGN I;Mn;0;NSM;;;;;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;;;;;
+0CC6;KANNADA VOWEL SIGN E;Mn;0;NSM;;;;;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;;;;;
+0CCB;KANNADA VOWEL SIGN OO;Mc;0;L;0CCA 0CD5;;;;N;;;;;
+0CCC;KANNADA VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;;
+0CCD;KANNADA SIGN VIRAMA;Mn;9;NSM;;;;;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;;;;;
@@ -2141,16 +2342,16 @@
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;;;;;
+0D41;MALAYALAM VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+0D42;MALAYALAM VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+0D43;MALAYALAM VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;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;;;;;
+0D4D;MALAYALAM SIGN VIRAMA;Mn;9;NSM;;;;;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;;;;;
@@ -2164,6 +2365,86 @@
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;;;;;
+0D82;SINHALA SIGN ANUSVARAYA;Mc;0;L;;;;;N;;;;;
+0D83;SINHALA SIGN VISARGAYA;Mc;0;L;;;;;N;;;;;
+0D85;SINHALA LETTER AYANNA;Lo;0;L;;;;;N;;;;;
+0D86;SINHALA LETTER AAYANNA;Lo;0;L;;;;;N;;;;;
+0D87;SINHALA LETTER AEYANNA;Lo;0;L;;;;;N;;;;;
+0D88;SINHALA LETTER AEEYANNA;Lo;0;L;;;;;N;;;;;
+0D89;SINHALA LETTER IYANNA;Lo;0;L;;;;;N;;;;;
+0D8A;SINHALA LETTER IIYANNA;Lo;0;L;;;;;N;;;;;
+0D8B;SINHALA LETTER UYANNA;Lo;0;L;;;;;N;;;;;
+0D8C;SINHALA LETTER UUYANNA;Lo;0;L;;;;;N;;;;;
+0D8D;SINHALA LETTER IRUYANNA;Lo;0;L;;;;;N;;;;;
+0D8E;SINHALA LETTER IRUUYANNA;Lo;0;L;;;;;N;;;;;
+0D8F;SINHALA LETTER ILUYANNA;Lo;0;L;;;;;N;;;;;
+0D90;SINHALA LETTER ILUUYANNA;Lo;0;L;;;;;N;;;;;
+0D91;SINHALA LETTER EYANNA;Lo;0;L;;;;;N;;;;;
+0D92;SINHALA LETTER EEYANNA;Lo;0;L;;;;;N;;;;;
+0D93;SINHALA LETTER AIYANNA;Lo;0;L;;;;;N;;;;;
+0D94;SINHALA LETTER OYANNA;Lo;0;L;;;;;N;;;;;
+0D95;SINHALA LETTER OOYANNA;Lo;0;L;;;;;N;;;;;
+0D96;SINHALA LETTER AUYANNA;Lo;0;L;;;;;N;;;;;
+0D9A;SINHALA LETTER ALPAPRAANA KAYANNA;Lo;0;L;;;;;N;;;;;
+0D9B;SINHALA LETTER MAHAAPRAANA KAYANNA;Lo;0;L;;;;;N;;;;;
+0D9C;SINHALA LETTER ALPAPRAANA GAYANNA;Lo;0;L;;;;;N;;;;;
+0D9D;SINHALA LETTER MAHAAPRAANA GAYANNA;Lo;0;L;;;;;N;;;;;
+0D9E;SINHALA LETTER KANTAJA NAASIKYAYA;Lo;0;L;;;;;N;;;;;
+0D9F;SINHALA LETTER SANYAKA GAYANNA;Lo;0;L;;;;;N;;;;;
+0DA0;SINHALA LETTER ALPAPRAANA CAYANNA;Lo;0;L;;;;;N;;;;;
+0DA1;SINHALA LETTER MAHAAPRAANA CAYANNA;Lo;0;L;;;;;N;;;;;
+0DA2;SINHALA LETTER ALPAPRAANA JAYANNA;Lo;0;L;;;;;N;;;;;
+0DA3;SINHALA LETTER MAHAAPRAANA JAYANNA;Lo;0;L;;;;;N;;;;;
+0DA4;SINHALA LETTER TAALUJA NAASIKYAYA;Lo;0;L;;;;;N;;;;;
+0DA5;SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA;Lo;0;L;;;;;N;;;;;
+0DA6;SINHALA LETTER SANYAKA JAYANNA;Lo;0;L;;;;;N;;;;;
+0DA7;SINHALA LETTER ALPAPRAANA TTAYANNA;Lo;0;L;;;;;N;;;;;
+0DA8;SINHALA LETTER MAHAAPRAANA TTAYANNA;Lo;0;L;;;;;N;;;;;
+0DA9;SINHALA LETTER ALPAPRAANA DDAYANNA;Lo;0;L;;;;;N;;;;;
+0DAA;SINHALA LETTER MAHAAPRAANA DDAYANNA;Lo;0;L;;;;;N;;;;;
+0DAB;SINHALA LETTER MUURDHAJA NAYANNA;Lo;0;L;;;;;N;;;;;
+0DAC;SINHALA LETTER SANYAKA DDAYANNA;Lo;0;L;;;;;N;;;;;
+0DAD;SINHALA LETTER ALPAPRAANA TAYANNA;Lo;0;L;;;;;N;;;;;
+0DAE;SINHALA LETTER MAHAAPRAANA TAYANNA;Lo;0;L;;;;;N;;;;;
+0DAF;SINHALA LETTER ALPAPRAANA DAYANNA;Lo;0;L;;;;;N;;;;;
+0DB0;SINHALA LETTER MAHAAPRAANA DAYANNA;Lo;0;L;;;;;N;;;;;
+0DB1;SINHALA LETTER DANTAJA NAYANNA;Lo;0;L;;;;;N;;;;;
+0DB3;SINHALA LETTER SANYAKA DAYANNA;Lo;0;L;;;;;N;;;;;
+0DB4;SINHALA LETTER ALPAPRAANA PAYANNA;Lo;0;L;;;;;N;;;;;
+0DB5;SINHALA LETTER MAHAAPRAANA PAYANNA;Lo;0;L;;;;;N;;;;;
+0DB6;SINHALA LETTER ALPAPRAANA BAYANNA;Lo;0;L;;;;;N;;;;;
+0DB7;SINHALA LETTER MAHAAPRAANA BAYANNA;Lo;0;L;;;;;N;;;;;
+0DB8;SINHALA LETTER MAYANNA;Lo;0;L;;;;;N;;;;;
+0DB9;SINHALA LETTER AMBA BAYANNA;Lo;0;L;;;;;N;;;;;
+0DBA;SINHALA LETTER YAYANNA;Lo;0;L;;;;;N;;;;;
+0DBB;SINHALA LETTER RAYANNA;Lo;0;L;;;;;N;;;;;
+0DBD;SINHALA LETTER DANTAJA LAYANNA;Lo;0;L;;;;;N;;;;;
+0DC0;SINHALA LETTER VAYANNA;Lo;0;L;;;;;N;;;;;
+0DC1;SINHALA LETTER TAALUJA SAYANNA;Lo;0;L;;;;;N;;;;;
+0DC2;SINHALA LETTER MUURDHAJA SAYANNA;Lo;0;L;;;;;N;;;;;
+0DC3;SINHALA LETTER DANTAJA SAYANNA;Lo;0;L;;;;;N;;;;;
+0DC4;SINHALA LETTER HAYANNA;Lo;0;L;;;;;N;;;;;
+0DC5;SINHALA LETTER MUURDHAJA LAYANNA;Lo;0;L;;;;;N;;;;;
+0DC6;SINHALA LETTER FAYANNA;Lo;0;L;;;;;N;;;;;
+0DCA;SINHALA SIGN AL-LAKUNA;Mn;9;NSM;;;;;N;;;;;
+0DCF;SINHALA VOWEL SIGN AELA-PILLA;Mc;0;L;;;;;N;;;;;
+0DD0;SINHALA VOWEL SIGN KETTI AEDA-PILLA;Mc;0;L;;;;;N;;;;;
+0DD1;SINHALA VOWEL SIGN DIGA AEDA-PILLA;Mc;0;L;;;;;N;;;;;
+0DD2;SINHALA VOWEL SIGN KETTI IS-PILLA;Mn;0;NSM;;;;;N;;;;;
+0DD3;SINHALA VOWEL SIGN DIGA IS-PILLA;Mn;0;NSM;;;;;N;;;;;
+0DD4;SINHALA VOWEL SIGN KETTI PAA-PILLA;Mn;0;NSM;;;;;N;;;;;
+0DD6;SINHALA VOWEL SIGN DIGA PAA-PILLA;Mn;0;NSM;;;;;N;;;;;
+0DD8;SINHALA VOWEL SIGN GAETTA-PILLA;Mc;0;L;;;;;N;;;;;
+0DD9;SINHALA VOWEL SIGN KOMBUVA;Mc;0;L;;;;;N;;;;;
+0DDA;SINHALA VOWEL SIGN DIGA KOMBUVA;Mc;0;L;0DD9 0DCA;;;;N;;;;;
+0DDB;SINHALA VOWEL SIGN KOMBU DEKA;Mc;0;L;;;;;N;;;;;
+0DDC;SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA;Mc;0;L;0DD9 0DCF;;;;N;;;;;
+0DDD;SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA;Mc;0;L;0DDC 0DCA;;;;N;;;;;
+0DDE;SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA;Mc;0;L;0DD9 0DDF;;;;N;;;;;
+0DDF;SINHALA VOWEL SIGN GAYANUKITTA;Mc;0;L;;;;;N;;;;;
+0DF2;SINHALA VOWEL SIGN DIGA GAETTA-PILLA;Mc;0;L;;;;;N;;;;;
+0DF3;SINHALA VOWEL SIGN DIGA GAYANUKITTA;Mc;0;L;;;;;N;;;;;
+0DF4;SINHALA PUNCTUATION KUNDDALIYA;Po;0;L;;;;;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;;;;
@@ -2210,35 +2491,35 @@
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;;;;
+0E2F;THAI CHARACTER PAIYANNOI;Lo;0;L;;;;;N;THAI PAI YAN NOI;paiyan 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;;;;
+0E31;THAI CHARACTER MAI HAN-AKAT;Mn;0;NSM;;;;;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;;;;
+0E34;THAI CHARACTER SARA I;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA I;;;;
+0E35;THAI CHARACTER SARA II;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA II;;;;
+0E36;THAI CHARACTER SARA UE;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA UE;;;;
+0E37;THAI CHARACTER SARA UEE;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA UEE;sara uue;;;
+0E38;THAI CHARACTER SARA U;Mn;103;NSM;;;;;N;THAI VOWEL SIGN SARA U;;;;
+0E39;THAI CHARACTER SARA UU;Mn;103;NSM;;;;;N;THAI VOWEL SIGN SARA UU;;;;
+0E3A;THAI CHARACTER PHINTHU;Mn;9;NSM;;;;;N;THAI VOWEL SIGN PHINTHU;;;;
+0E3F;THAI CURRENCY SYMBOL BAHT;Sc;0;ET;;;;;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;;;;
+0E43;THAI CHARACTER SARA AI MAIMUAN;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA MAI MUAN;sara ai mai muan;;;
+0E44;THAI CHARACTER SARA AI MAIMALAI;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA MAI MALAI;sara ai mai malai;;;
+0E45;THAI CHARACTER LAKKHANGYAO;Lo;0;L;;;;;N;THAI LAK KHANG YAO;lakkhang yao;;;
+0E46;THAI CHARACTER MAIYAMOK;Lm;0;L;;;;;N;THAI MAI YAMOK;mai yamok;;;
+0E47;THAI CHARACTER MAITAIKHU;Mn;0;NSM;;;;;N;THAI VOWEL SIGN MAI TAI KHU;mai taikhu;;;
+0E48;THAI CHARACTER MAI EK;Mn;107;NSM;;;;;N;THAI TONE MAI EK;;;;
+0E49;THAI CHARACTER MAI THO;Mn;107;NSM;;;;;N;THAI TONE MAI THO;;;;
+0E4A;THAI CHARACTER MAI TRI;Mn;107;NSM;;;;;N;THAI TONE MAI TRI;;;;
+0E4B;THAI CHARACTER MAI CHATTAWA;Mn;107;NSM;;;;;N;THAI TONE MAI CHATTAWA;;;;
+0E4C;THAI CHARACTER THANTHAKHAT;Mn;0;NSM;;;;;N;THAI THANTHAKHAT;;;;
+0E4D;THAI CHARACTER NIKHAHIT;Mn;107;NSM;;;;;N;THAI NIKKHAHIT;nikkhahit;;;
+0E4E;THAI CHARACTER YAMAKKAN;Mn;0;NSM;;;;;N;THAI YAMAKKAN;;;;
+0E4F;THAI CHARACTER FONGMAN;Po;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;;;;;
@@ -2278,19 +2559,19 @@
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;;;;;
+0EAF;LAO ELLIPSIS;Lo;0;L;;;;;N;;;;;
0EB0;LAO VOWEL SIGN A;Lo;0;L;;;;;N;;;;;
-0EB1;LAO VOWEL SIGN MAI KAN;Mn;113;L;;;;;N;;;;;
+0EB1;LAO VOWEL SIGN MAI KAN;Mn;0;NSM;;;;;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;;;;;
+0EB4;LAO VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
+0EB5;LAO VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
+0EB6;LAO VOWEL SIGN Y;Mn;0;NSM;;;;;N;;;;;
+0EB7;LAO VOWEL SIGN YY;Mn;0;NSM;;;;;N;;;;;
+0EB8;LAO VOWEL SIGN U;Mn;118;NSM;;;;;N;;;;;
+0EB9;LAO VOWEL SIGN UU;Mn;118;NSM;;;;;N;;;;;
+0EBB;LAO VOWEL SIGN MAI KON;Mn;0;NSM;;;;;N;;;;;
+0EBC;LAO SEMIVOWEL SIGN LO;Mn;0;NSM;;;;;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;;;;;
@@ -2298,12 +2579,12 @@
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;;;;;
+0EC8;LAO TONE MAI EK;Mn;122;NSM;;;;;N;;;;;
+0EC9;LAO TONE MAI THO;Mn;122;NSM;;;;;N;;;;;
+0ECA;LAO TONE MAI TI;Mn;122;NSM;;;;;N;;;;;
+0ECB;LAO TONE MAI CATAWA;Mn;122;NSM;;;;;N;;;;;
+0ECC;LAO CANCELLATION MARK;Mn;0;NSM;;;;;N;;;;;
+0ECD;LAO NIGGAHITA;Mn;122;NSM;;;;;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;;;;;
@@ -2316,32 +2597,32 @@
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;;;;;
+0F00;TIBETAN SYLLABLE OM;Lo;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;;;
+0F04;TIBETAN MARK INITIAL YIG MGO MDUN MA;Po;0;L;;;;;N;TIBETAN SINGLE ORNAMENT;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;;;
+0F08;TIBETAN MARK SBRUL SHAD;Po;0;L;;;;;N;TIBETAN RGYANSHAD;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;;;
+0F0B;TIBETAN MARK INTERSYLLABIC TSHEG;Po;0;L;;;;;N;TIBETAN TSEG;tsek;;;
+0F0C;TIBETAN MARK DELIMITER TSHEG BSTAR;Po;0;L;<noBreak> 0F0B;;;;N;;tsek tar;;;
+0F0D;TIBETAN MARK SHAD;Po;0;L;;;;;N;TIBETAN SHAD;shey;;;
+0F0E;TIBETAN MARK NYIS SHAD;Po;0;L;;;;;N;TIBETAN DOUBLE SHAD;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;;;
+0F11;TIBETAN MARK RIN CHEN SPUNGS SHAD;Po;0;L;;;;;N;TIBETAN RINCHANPHUNGSHAD;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;;;
+0F14;TIBETAN MARK GTER TSHEG;So;0;L;;;;;N;TIBETAN COMMA;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;;;
+0F18;TIBETAN ASTROLOGICAL SIGN -KHYUD PA;Mn;220;NSM;;;;;N;;kyu pa;;;
+0F19;TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS;Mn;220;NSM;;;;;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;;;
@@ -2369,17 +2650,17 @@
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;;;
+0F35;TIBETAN MARK NGAS BZUNG NYI ZLA;Mn;220;NSM;;;;;N;TIBETAN HONORIFIC UNDER RING;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;;;
+0F37;TIBETAN MARK NGAS BZUNG SGOR RTAGS;Mn;220;NSM;;;;;N;TIBETAN UNDER RING;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;;;
+0F39;TIBETAN MARK TSA -PHRU;Mn;216;NSM;;;;;N;TIBETAN LENITION MARK;tsa tru;;;
+0F3A;TIBETAN MARK GUG RTAGS GYON;Ps;0;ON;;;;;N;;gug ta yun;;;
+0F3B;TIBETAN MARK GUG RTAGS GYAS;Pe;0;ON;;;;;N;;gug ta ye;;;
+0F3C;TIBETAN MARK ANG KHANG GYON;Ps;0;ON;;;;;N;TIBETAN LEFT BRACE;ang kang yun;;;
+0F3D;TIBETAN MARK ANG KHANG GYAS;Pe;0;ON;;;;;N;TIBETAN RIGHT BRACE;ang kang ye;;;
+0F3E;TIBETAN SIGN YAR TSHES;Mc;0;L;;;;;N;;yar tse;;;
+0F3F;TIBETAN SIGN MAR TSHES;Mc;0;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;;;;;
@@ -2389,11 +2670,11 @@
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;;;;;
+0F4A;TIBETAN LETTER TTA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED TA;;;;
+0F4B;TIBETAN LETTER TTHA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED THA;;;;
+0F4C;TIBETAN LETTER DDA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED DA;;;;
0F4D;TIBETAN LETTER DDHA;Lo;0;L;0F4C 0FB7;;;;N;;;;;
-0F4E;TIBETAN LETTER NNA;Lo;0;L;;;;;N;;;;;
+0F4E;TIBETAN LETTER NNA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED NA;;;;
0F4F;TIBETAN LETTER TA;Lo;0;L;;;;;N;;;;;
0F50;TIBETAN LETTER THA;Lo;0;L;;;;;N;;;;;
0F51;TIBETAN LETTER DA;Lo;0;L;;;;;N;;;;;
@@ -2411,396 +2692,499 @@
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;;;;;
+0F60;TIBETAN LETTER -A;Lo;0;L;;;;;N;TIBETAN LETTER AA;;;;
0F61;TIBETAN LETTER YA;Lo;0;L;;;;;N;;;;;
-0F62;TIBETAN LETTER RA;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;;;;;
+0F65;TIBETAN LETTER SSA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED SHA;;;;
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;;;;
+0F6A;TIBETAN LETTER FIXED-FORM RA;Lo;0;L;;;;;N;;*;;;
+0F71;TIBETAN VOWEL SIGN AA;Mn;129;NSM;;;;;N;;;;;
+0F72;TIBETAN VOWEL SIGN I;Mn;130;NSM;;;;;N;;;;;
+0F73;TIBETAN VOWEL SIGN II;Mn;0;NSM;0F71 0F72;;;;N;;;;;
+0F74;TIBETAN VOWEL SIGN U;Mn;132;NSM;;;;;N;;;;;
+0F75;TIBETAN VOWEL SIGN UU;Mn;0;NSM;0F71 0F74;;;;N;;;;;
+0F76;TIBETAN VOWEL SIGN VOCALIC R;Mn;0;NSM;0FB2 0F80;;;;N;;;;;
+0F77;TIBETAN VOWEL SIGN VOCALIC RR;Mn;0;NSM;<compat> 0FB2 0F81;;;;N;;;;;
+0F78;TIBETAN VOWEL SIGN VOCALIC L;Mn;0;NSM;0FB3 0F80;;;;N;;;;;
+0F79;TIBETAN VOWEL SIGN VOCALIC LL;Mn;0;NSM;<compat> 0FB3 0F81;;;;N;;;;;
+0F7A;TIBETAN VOWEL SIGN E;Mn;130;NSM;;;;;N;;;;;
+0F7B;TIBETAN VOWEL SIGN EE;Mn;130;NSM;;;;;N;TIBETAN VOWEL SIGN AI;;;;
+0F7C;TIBETAN VOWEL SIGN O;Mn;130;NSM;;;;;N;;;;;
+0F7D;TIBETAN VOWEL SIGN OO;Mn;130;NSM;;;;;N;TIBETAN VOWEL SIGN AU;;;;
+0F7E;TIBETAN SIGN RJES SU NGA RO;Mn;0;NSM;;;;;N;TIBETAN ANUSVARA;je su nga ro;;;
+0F7F;TIBETAN SIGN RNAM BCAD;Mc;0;L;;;;;N;TIBETAN VISARGA;nam chey;;;
+0F80;TIBETAN VOWEL SIGN REVERSED I;Mn;130;NSM;;;;;N;TIBETAN VOWEL SIGN SHORT I;;;;
+0F81;TIBETAN VOWEL SIGN REVERSED II;Mn;0;NSM;0F71 0F80;;;;N;;;;;
+0F82;TIBETAN SIGN NYI ZLA NAA DA;Mn;230;NSM;;;;;N;TIBETAN CANDRABINDU WITH ORNAMENT;nyi da na da;;;
+0F83;TIBETAN SIGN SNA LDAN;Mn;230;NSM;;;;;N;TIBETAN CANDRABINDU;nan de;;;
+0F84;TIBETAN MARK HALANTA;Mn;9;NSM;;;;;N;TIBETAN VIRAMA;;;;
+0F85;TIBETAN MARK PALUTA;Po;0;L;;;;;N;TIBETAN CHUCHENYIGE;;;;
+0F86;TIBETAN SIGN LCI RTAGS;Mn;230;NSM;;;;;N;;ji ta;;;
+0F87;TIBETAN SIGN YANG RTAGS;Mn;230;NSM;;;;;N;;yang ta;;;
+0F88;TIBETAN SIGN LCE TSA CAN;Lo;0;L;;;;;N;;che tsa chen;;;
+0F89;TIBETAN SIGN MCHU CAN;Lo;0;L;;;;;N;;chu chen;;;
+0F8A;TIBETAN SIGN GRU CAN RGYINGS;Lo;0;L;;;;;N;;tru chen ging;;;
+0F8B;TIBETAN SIGN GRU MED RGYINGS;Lo;0;L;;;;;N;;tru me ging;;;
+0F90;TIBETAN SUBJOINED LETTER KA;Mn;0;NSM;;;;;N;;;;;
+0F91;TIBETAN SUBJOINED LETTER KHA;Mn;0;NSM;;;;;N;;;;;
+0F92;TIBETAN SUBJOINED LETTER GA;Mn;0;NSM;;;;;N;;;;;
+0F93;TIBETAN SUBJOINED LETTER GHA;Mn;0;NSM;0F92 0FB7;;;;N;;;;;
+0F94;TIBETAN SUBJOINED LETTER NGA;Mn;0;NSM;;;;;N;;;;;
+0F95;TIBETAN SUBJOINED LETTER CA;Mn;0;NSM;;;;;N;;;;;
+0F96;TIBETAN SUBJOINED LETTER CHA;Mn;0;NSM;;;;;N;;;;;
+0F97;TIBETAN SUBJOINED LETTER JA;Mn;0;NSM;;;;;N;;;;;
+0F99;TIBETAN SUBJOINED LETTER NYA;Mn;0;NSM;;;;;N;;;;;
+0F9A;TIBETAN SUBJOINED LETTER TTA;Mn;0;NSM;;;;;N;;;;;
+0F9B;TIBETAN SUBJOINED LETTER TTHA;Mn;0;NSM;;;;;N;;;;;
+0F9C;TIBETAN SUBJOINED LETTER DDA;Mn;0;NSM;;;;;N;;;;;
+0F9D;TIBETAN SUBJOINED LETTER DDHA;Mn;0;NSM;0F9C 0FB7;;;;N;;;;;
+0F9E;TIBETAN SUBJOINED LETTER NNA;Mn;0;NSM;;;;;N;;;;;
+0F9F;TIBETAN SUBJOINED LETTER TA;Mn;0;NSM;;;;;N;;;;;
+0FA0;TIBETAN SUBJOINED LETTER THA;Mn;0;NSM;;;;;N;;;;;
+0FA1;TIBETAN SUBJOINED LETTER DA;Mn;0;NSM;;;;;N;;;;;
+0FA2;TIBETAN SUBJOINED LETTER DHA;Mn;0;NSM;0FA1 0FB7;;;;N;;;;;
+0FA3;TIBETAN SUBJOINED LETTER NA;Mn;0;NSM;;;;;N;;;;;
+0FA4;TIBETAN SUBJOINED LETTER PA;Mn;0;NSM;;;;;N;;;;;
+0FA5;TIBETAN SUBJOINED LETTER PHA;Mn;0;NSM;;;;;N;;;;;
+0FA6;TIBETAN SUBJOINED LETTER BA;Mn;0;NSM;;;;;N;;;;;
+0FA7;TIBETAN SUBJOINED LETTER BHA;Mn;0;NSM;0FA6 0FB7;;;;N;;;;;
+0FA8;TIBETAN SUBJOINED LETTER MA;Mn;0;NSM;;;;;N;;;;;
+0FA9;TIBETAN SUBJOINED LETTER TSA;Mn;0;NSM;;;;;N;;;;;
+0FAA;TIBETAN SUBJOINED LETTER TSHA;Mn;0;NSM;;;;;N;;;;;
+0FAB;TIBETAN SUBJOINED LETTER DZA;Mn;0;NSM;;;;;N;;;;;
+0FAC;TIBETAN SUBJOINED LETTER DZHA;Mn;0;NSM;0FAB 0FB7;;;;N;;;;;
+0FAD;TIBETAN SUBJOINED LETTER WA;Mn;0;NSM;;;;;N;;*;;;
+0FAE;TIBETAN SUBJOINED LETTER ZHA;Mn;0;NSM;;;;;N;;;;;
+0FAF;TIBETAN SUBJOINED LETTER ZA;Mn;0;NSM;;;;;N;;;;;
+0FB0;TIBETAN SUBJOINED LETTER -A;Mn;0;NSM;;;;;N;;;;;
+0FB1;TIBETAN SUBJOINED LETTER YA;Mn;0;NSM;;;;;N;;*;;;
+0FB2;TIBETAN SUBJOINED LETTER RA;Mn;0;NSM;;;;;N;;*;;;
+0FB3;TIBETAN SUBJOINED LETTER LA;Mn;0;NSM;;;;;N;;;;;
+0FB4;TIBETAN SUBJOINED LETTER SHA;Mn;0;NSM;;;;;N;;;;;
+0FB5;TIBETAN SUBJOINED LETTER SSA;Mn;0;NSM;;;;;N;;;;;
+0FB6;TIBETAN SUBJOINED LETTER SA;Mn;0;NSM;;;;;N;;;;;
+0FB7;TIBETAN SUBJOINED LETTER HA;Mn;0;NSM;;;;;N;;;;;
+0FB8;TIBETAN SUBJOINED LETTER A;Mn;0;NSM;;;;;N;;;;;
+0FB9;TIBETAN SUBJOINED LETTER KSSA;Mn;0;NSM;0F90 0FB5;;;;N;;;;;
+0FBA;TIBETAN SUBJOINED LETTER FIXED-FORM WA;Mn;0;NSM;;;;;N;;*;;;
+0FBB;TIBETAN SUBJOINED LETTER FIXED-FORM YA;Mn;0;NSM;;;;;N;;*;;;
+0FBC;TIBETAN SUBJOINED LETTER FIXED-FORM RA;Mn;0;NSM;;;;;N;;*;;;
+0FBE;TIBETAN KU RU KHA;So;0;L;;;;;N;;kuruka;;;
+0FBF;TIBETAN KU RU KHA BZHI MIG CAN;So;0;L;;;;;N;;kuruka shi mik chen;;;
+0FC0;TIBETAN CANTILLATION SIGN HEAVY BEAT;So;0;L;;;;;N;;;;;
+0FC1;TIBETAN CANTILLATION SIGN LIGHT BEAT;So;0;L;;;;;N;;;;;
+0FC2;TIBETAN CANTILLATION SIGN CANG TE-U;So;0;L;;;;;N;;chang tyu;;;
+0FC3;TIBETAN CANTILLATION SIGN SBUB -CHAL;So;0;L;;;;;N;;bub chey;;;
+0FC4;TIBETAN SYMBOL DRIL BU;So;0;L;;;;;N;;drilbu;;;
+0FC5;TIBETAN SYMBOL RDO RJE;So;0;L;;;;;N;;dorje;;;
+0FC6;TIBETAN SYMBOL PADMA GDAN;Mn;220;NSM;;;;;N;;pema den;;;
+0FC7;TIBETAN SYMBOL RDO RJE RGYA GRAM;So;0;L;;;;;N;;dorje gya dram;;;
+0FC8;TIBETAN SYMBOL PHUR PA;So;0;L;;;;;N;;phurba;;;
+0FC9;TIBETAN SYMBOL NOR BU;So;0;L;;;;;N;;norbu;;;
+0FCA;TIBETAN SYMBOL NOR BU NYIS -KHYIL;So;0;L;;;;;N;;norbu nyi khyi;;;
+0FCB;TIBETAN SYMBOL NOR BU GSUM -KHYIL;So;0;L;;;;;N;;norbu sum khyi;;;
+0FCC;TIBETAN SYMBOL NOR BU BZHI -KHYIL;So;0;L;;;;;N;;norbu shi khyi;;;
+0FCF;TIBETAN SIGN RDEL NAG GSUM;So;0;L;;;;;N;;;;;
+1000;MYANMAR LETTER KA;Lo;0;L;;;;;N;;;;;
+1001;MYANMAR LETTER KHA;Lo;0;L;;;;;N;;;;;
+1002;MYANMAR LETTER GA;Lo;0;L;;;;;N;;;;;
+1003;MYANMAR LETTER GHA;Lo;0;L;;;;;N;;;;;
+1004;MYANMAR LETTER NGA;Lo;0;L;;;;;N;;;;;
+1005;MYANMAR LETTER CA;Lo;0;L;;;;;N;;;;;
+1006;MYANMAR LETTER CHA;Lo;0;L;;;;;N;;;;;
+1007;MYANMAR LETTER JA;Lo;0;L;;;;;N;;;;;
+1008;MYANMAR LETTER JHA;Lo;0;L;;;;;N;;;;;
+1009;MYANMAR LETTER NYA;Lo;0;L;;;;;N;;;;;
+100A;MYANMAR LETTER NNYA;Lo;0;L;;;;;N;;;;;
+100B;MYANMAR LETTER TTA;Lo;0;L;;;;;N;;;;;
+100C;MYANMAR LETTER TTHA;Lo;0;L;;;;;N;;;;;
+100D;MYANMAR LETTER DDA;Lo;0;L;;;;;N;;;;;
+100E;MYANMAR LETTER DDHA;Lo;0;L;;;;;N;;;;;
+100F;MYANMAR LETTER NNA;Lo;0;L;;;;;N;;;;;
+1010;MYANMAR LETTER TA;Lo;0;L;;;;;N;;;;;
+1011;MYANMAR LETTER THA;Lo;0;L;;;;;N;;;;;
+1012;MYANMAR LETTER DA;Lo;0;L;;;;;N;;;;;
+1013;MYANMAR LETTER DHA;Lo;0;L;;;;;N;;;;;
+1014;MYANMAR LETTER NA;Lo;0;L;;;;;N;;;;;
+1015;MYANMAR LETTER PA;Lo;0;L;;;;;N;;;;;
+1016;MYANMAR LETTER PHA;Lo;0;L;;;;;N;;;;;
+1017;MYANMAR LETTER BA;Lo;0;L;;;;;N;;;;;
+1018;MYANMAR LETTER BHA;Lo;0;L;;;;;N;;;;;
+1019;MYANMAR LETTER MA;Lo;0;L;;;;;N;;;;;
+101A;MYANMAR LETTER YA;Lo;0;L;;;;;N;;;;;
+101B;MYANMAR LETTER RA;Lo;0;L;;;;;N;;;;;
+101C;MYANMAR LETTER LA;Lo;0;L;;;;;N;;;;;
+101D;MYANMAR LETTER WA;Lo;0;L;;;;;N;;;;;
+101E;MYANMAR LETTER SA;Lo;0;L;;;;;N;;;;;
+101F;MYANMAR LETTER HA;Lo;0;L;;;;;N;;;;;
+1020;MYANMAR LETTER LLA;Lo;0;L;;;;;N;;;;;
+1021;MYANMAR LETTER A;Lo;0;L;;;;;N;;;;;
+1023;MYANMAR LETTER I;Lo;0;L;;;;;N;;;;;
+1024;MYANMAR LETTER II;Lo;0;L;;;;;N;;;;;
+1025;MYANMAR LETTER U;Lo;0;L;;;;;N;;;;;
+1026;MYANMAR LETTER UU;Lo;0;L;1025 102E;;;;N;;;;;
+1027;MYANMAR LETTER E;Lo;0;L;;;;;N;;;;;
+1029;MYANMAR LETTER O;Lo;0;L;;;;;N;;;;;
+102A;MYANMAR LETTER AU;Lo;0;L;;;;;N;;;;;
+102C;MYANMAR VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+102D;MYANMAR VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
+102E;MYANMAR VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
+102F;MYANMAR VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+1030;MYANMAR VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+1031;MYANMAR VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+1032;MYANMAR VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+1036;MYANMAR SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+1037;MYANMAR SIGN DOT BELOW;Mn;7;NSM;;;;;N;;;;;
+1038;MYANMAR SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+1039;MYANMAR SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+1040;MYANMAR DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+1041;MYANMAR DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+1042;MYANMAR DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+1043;MYANMAR DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+1044;MYANMAR DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+1045;MYANMAR DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+1046;MYANMAR DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+1047;MYANMAR DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+1048;MYANMAR DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+1049;MYANMAR DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+104A;MYANMAR SIGN LITTLE SECTION;Po;0;L;;;;;N;;;;;
+104B;MYANMAR SIGN SECTION;Po;0;L;;;;;N;;;;;
+104C;MYANMAR SYMBOL LOCATIVE;Po;0;L;;;;;N;;;;;
+104D;MYANMAR SYMBOL COMPLETED;Po;0;L;;;;;N;;;;;
+104E;MYANMAR SYMBOL AFOREMENTIONED;Po;0;L;;;;;N;;;;;
+104F;MYANMAR SYMBOL GENITIVE;Po;0;L;;;;;N;;;;;
+1050;MYANMAR LETTER SHA;Lo;0;L;;;;;N;;;;;
+1051;MYANMAR LETTER SSA;Lo;0;L;;;;;N;;;;;
+1052;MYANMAR LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+1053;MYANMAR LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+1054;MYANMAR LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+1055;MYANMAR LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+1056;MYANMAR VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;;
+1057;MYANMAR VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;;
+1058;MYANMAR VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
+1059;MYANMAR VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;;
+10A0;GEORGIAN CAPITAL LETTER AN;Lu;0;L;;;;;N;;Khutsuri;;;
+10A1;GEORGIAN CAPITAL LETTER BAN;Lu;0;L;;;;;N;;Khutsuri;;;
+10A2;GEORGIAN CAPITAL LETTER GAN;Lu;0;L;;;;;N;;Khutsuri;;;
+10A3;GEORGIAN CAPITAL LETTER DON;Lu;0;L;;;;;N;;Khutsuri;;;
+10A4;GEORGIAN CAPITAL LETTER EN;Lu;0;L;;;;;N;;Khutsuri;;;
+10A5;GEORGIAN CAPITAL LETTER VIN;Lu;0;L;;;;;N;;Khutsuri;;;
+10A6;GEORGIAN CAPITAL LETTER ZEN;Lu;0;L;;;;;N;;Khutsuri;;;
+10A7;GEORGIAN CAPITAL LETTER TAN;Lu;0;L;;;;;N;;Khutsuri;;;
+10A8;GEORGIAN CAPITAL LETTER IN;Lu;0;L;;;;;N;;Khutsuri;;;
+10A9;GEORGIAN CAPITAL LETTER KAN;Lu;0;L;;;;;N;;Khutsuri;;;
+10AA;GEORGIAN CAPITAL LETTER LAS;Lu;0;L;;;;;N;;Khutsuri;;;
+10AB;GEORGIAN CAPITAL LETTER MAN;Lu;0;L;;;;;N;;Khutsuri;;;
+10AC;GEORGIAN CAPITAL LETTER NAR;Lu;0;L;;;;;N;;Khutsuri;;;
+10AD;GEORGIAN CAPITAL LETTER ON;Lu;0;L;;;;;N;;Khutsuri;;;
+10AE;GEORGIAN CAPITAL LETTER PAR;Lu;0;L;;;;;N;;Khutsuri;;;
+10AF;GEORGIAN CAPITAL LETTER ZHAR;Lu;0;L;;;;;N;;Khutsuri;;;
+10B0;GEORGIAN CAPITAL LETTER RAE;Lu;0;L;;;;;N;;Khutsuri;;;
+10B1;GEORGIAN CAPITAL LETTER SAN;Lu;0;L;;;;;N;;Khutsuri;;;
+10B2;GEORGIAN CAPITAL LETTER TAR;Lu;0;L;;;;;N;;Khutsuri;;;
+10B3;GEORGIAN CAPITAL LETTER UN;Lu;0;L;;;;;N;;Khutsuri;;;
+10B4;GEORGIAN CAPITAL LETTER PHAR;Lu;0;L;;;;;N;;Khutsuri;;;
+10B5;GEORGIAN CAPITAL LETTER KHAR;Lu;0;L;;;;;N;;Khutsuri;;;
+10B6;GEORGIAN CAPITAL LETTER GHAN;Lu;0;L;;;;;N;;Khutsuri;;;
+10B7;GEORGIAN CAPITAL LETTER QAR;Lu;0;L;;;;;N;;Khutsuri;;;
+10B8;GEORGIAN CAPITAL LETTER SHIN;Lu;0;L;;;;;N;;Khutsuri;;;
+10B9;GEORGIAN CAPITAL LETTER CHIN;Lu;0;L;;;;;N;;Khutsuri;;;
+10BA;GEORGIAN CAPITAL LETTER CAN;Lu;0;L;;;;;N;;Khutsuri;;;
+10BB;GEORGIAN CAPITAL LETTER JIL;Lu;0;L;;;;;N;;Khutsuri;;;
+10BC;GEORGIAN CAPITAL LETTER CIL;Lu;0;L;;;;;N;;Khutsuri;;;
+10BD;GEORGIAN CAPITAL LETTER CHAR;Lu;0;L;;;;;N;;Khutsuri;;;
+10BE;GEORGIAN CAPITAL LETTER XAN;Lu;0;L;;;;;N;;Khutsuri;;;
+10BF;GEORGIAN CAPITAL LETTER JHAN;Lu;0;L;;;;;N;;Khutsuri;;;
+10C0;GEORGIAN CAPITAL LETTER HAE;Lu;0;L;;;;;N;;Khutsuri;;;
+10C1;GEORGIAN CAPITAL LETTER HE;Lu;0;L;;;;;N;;Khutsuri;;;
+10C2;GEORGIAN CAPITAL LETTER HIE;Lu;0;L;;;;;N;;Khutsuri;;;
+10C3;GEORGIAN CAPITAL LETTER WE;Lu;0;L;;;;;N;;Khutsuri;;;
+10C4;GEORGIAN CAPITAL LETTER HAR;Lu;0;L;;;;;N;;Khutsuri;;;
+10C5;GEORGIAN CAPITAL LETTER HOE;Lu;0;L;;;;;N;;Khutsuri;;;
+10D0;GEORGIAN LETTER AN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER AN;;;;
+10D1;GEORGIAN LETTER BAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER BAN;;;;
+10D2;GEORGIAN LETTER GAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER GAN;;;;
+10D3;GEORGIAN LETTER DON;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER DON;;;;
+10D4;GEORGIAN LETTER EN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER EN;;;;
+10D5;GEORGIAN LETTER VIN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER VIN;;;;
+10D6;GEORGIAN LETTER ZEN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER ZEN;;;;
+10D7;GEORGIAN LETTER TAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER TAN;;;;
+10D8;GEORGIAN LETTER IN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER IN;;;;
+10D9;GEORGIAN LETTER KAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER KAN;;;;
+10DA;GEORGIAN LETTER LAS;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER LAS;;;;
+10DB;GEORGIAN LETTER MAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER MAN;;;;
+10DC;GEORGIAN LETTER NAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER NAR;;;;
+10DD;GEORGIAN LETTER ON;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER ON;;;;
+10DE;GEORGIAN LETTER PAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER PAR;;;;
+10DF;GEORGIAN LETTER ZHAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER ZHAR;;;;
+10E0;GEORGIAN LETTER RAE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER RAE;;;;
+10E1;GEORGIAN LETTER SAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER SAN;;;;
+10E2;GEORGIAN LETTER TAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER TAR;;;;
+10E3;GEORGIAN LETTER UN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER UN;;;;
+10E4;GEORGIAN LETTER PHAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER PHAR;;;;
+10E5;GEORGIAN LETTER KHAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER KHAR;;;;
+10E6;GEORGIAN LETTER GHAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER GHAN;;;;
+10E7;GEORGIAN LETTER QAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER QAR;;;;
+10E8;GEORGIAN LETTER SHIN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER SHIN;;;;
+10E9;GEORGIAN LETTER CHIN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER CHIN;;;;
+10EA;GEORGIAN LETTER CAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER CAN;;;;
+10EB;GEORGIAN LETTER JIL;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER JIL;;;;
+10EC;GEORGIAN LETTER CIL;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER CIL;;;;
+10ED;GEORGIAN LETTER CHAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER CHAR;;;;
+10EE;GEORGIAN LETTER XAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER XAN;;;;
+10EF;GEORGIAN LETTER JHAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER JHAN;;;;
+10F0;GEORGIAN LETTER HAE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HAE;;;;
+10F1;GEORGIAN LETTER HE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HE;;;;
+10F2;GEORGIAN LETTER HIE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HIE;;;;
+10F3;GEORGIAN LETTER WE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER WE;;;;
+10F4;GEORGIAN LETTER HAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HAR;;;;
+10F5;GEORGIAN LETTER HOE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HOE;;;;
+10F6;GEORGIAN LETTER FI;Lo;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;;;;;
+1100;HANGUL CHOSEONG KIYEOK;Lo;0;L;;;;;N;;g *;;;
+1101;HANGUL CHOSEONG SSANGKIYEOK;Lo;0;L;;;;;N;;gg *;;;
+1102;HANGUL CHOSEONG NIEUN;Lo;0;L;;;;;N;;n *;;;
+1103;HANGUL CHOSEONG TIKEUT;Lo;0;L;;;;;N;;d *;;;
+1104;HANGUL CHOSEONG SSANGTIKEUT;Lo;0;L;;;;;N;;dd *;;;
+1105;HANGUL CHOSEONG RIEUL;Lo;0;L;;;;;N;;r *;;;
+1106;HANGUL CHOSEONG MIEUM;Lo;0;L;;;;;N;;m *;;;
+1107;HANGUL CHOSEONG PIEUP;Lo;0;L;;;;;N;;b *;;;
+1108;HANGUL CHOSEONG SSANGPIEUP;Lo;0;L;;;;;N;;bb *;;;
+1109;HANGUL CHOSEONG SIOS;Lo;0;L;;;;;N;;s *;;;
+110A;HANGUL CHOSEONG SSANGSIOS;Lo;0;L;;;;;N;;ss *;;;
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;;;;;
+110C;HANGUL CHOSEONG CIEUC;Lo;0;L;;;;;N;;j *;;;
+110D;HANGUL CHOSEONG SSANGCIEUC;Lo;0;L;;;;;N;;jj *;;;
+110E;HANGUL CHOSEONG CHIEUCH;Lo;0;L;;;;;N;;c *;;;
+110F;HANGUL CHOSEONG KHIEUKH;Lo;0;L;;;;;N;;k *;;;
+1110;HANGUL CHOSEONG THIEUTH;Lo;0;L;;;;;N;;t *;;;
+1111;HANGUL CHOSEONG PHIEUPH;Lo;0;L;;;;;N;;p *;;;
+1112;HANGUL CHOSEONG HIEUH;Lo;0;L;;;;;N;;h *;;;
+1113;HANGUL CHOSEONG NIEUN-KIYEOK;Lo;0;L;;;;;N;;;;;
+1114;HANGUL CHOSEONG SSANGNIEUN;Lo;0;L;;;;;N;;;;;
+1115;HANGUL CHOSEONG NIEUN-TIKEUT;Lo;0;L;;;;;N;;;;;
+1116;HANGUL CHOSEONG NIEUN-PIEUP;Lo;0;L;;;;;N;;;;;
+1117;HANGUL CHOSEONG TIKEUT-KIYEOK;Lo;0;L;;;;;N;;;;;
+1118;HANGUL CHOSEONG RIEUL-NIEUN;Lo;0;L;;;;;N;;;;;
+1119;HANGUL CHOSEONG SSANGRIEUL;Lo;0;L;;;;;N;;;;;
+111A;HANGUL CHOSEONG RIEUL-HIEUH;Lo;0;L;;;;;N;;;;;
+111B;HANGUL CHOSEONG KAPYEOUNRIEUL;Lo;0;L;;;;;N;;;;;
+111C;HANGUL CHOSEONG MIEUM-PIEUP;Lo;0;L;;;;;N;;;;;
+111D;HANGUL CHOSEONG KAPYEOUNMIEUM;Lo;0;L;;;;;N;;;;;
+111E;HANGUL CHOSEONG PIEUP-KIYEOK;Lo;0;L;;;;;N;;;;;
+111F;HANGUL CHOSEONG PIEUP-NIEUN;Lo;0;L;;;;;N;;;;;
+1120;HANGUL CHOSEONG PIEUP-TIKEUT;Lo;0;L;;;;;N;;;;;
+1121;HANGUL CHOSEONG PIEUP-SIOS;Lo;0;L;;;;;N;;;;;
+1122;HANGUL CHOSEONG PIEUP-SIOS-KIYEOK;Lo;0;L;;;;;N;;;;;
+1123;HANGUL CHOSEONG PIEUP-SIOS-TIKEUT;Lo;0;L;;;;;N;;;;;
+1124;HANGUL CHOSEONG PIEUP-SIOS-PIEUP;Lo;0;L;;;;;N;;;;;
+1125;HANGUL CHOSEONG PIEUP-SSANGSIOS;Lo;0;L;;;;;N;;;;;
+1126;HANGUL CHOSEONG PIEUP-SIOS-CIEUC;Lo;0;L;;;;;N;;;;;
+1127;HANGUL CHOSEONG PIEUP-CIEUC;Lo;0;L;;;;;N;;;;;
+1128;HANGUL CHOSEONG PIEUP-CHIEUCH;Lo;0;L;;;;;N;;;;;
+1129;HANGUL CHOSEONG PIEUP-THIEUTH;Lo;0;L;;;;;N;;;;;
+112A;HANGUL CHOSEONG PIEUP-PHIEUPH;Lo;0;L;;;;;N;;;;;
+112B;HANGUL CHOSEONG KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;;
+112C;HANGUL CHOSEONG KAPYEOUNSSANGPIEUP;Lo;0;L;;;;;N;;;;;
+112D;HANGUL CHOSEONG SIOS-KIYEOK;Lo;0;L;;;;;N;;;;;
+112E;HANGUL CHOSEONG SIOS-NIEUN;Lo;0;L;;;;;N;;;;;
+112F;HANGUL CHOSEONG SIOS-TIKEUT;Lo;0;L;;;;;N;;;;;
+1130;HANGUL CHOSEONG SIOS-RIEUL;Lo;0;L;;;;;N;;;;;
+1131;HANGUL CHOSEONG SIOS-MIEUM;Lo;0;L;;;;;N;;;;;
+1132;HANGUL CHOSEONG SIOS-PIEUP;Lo;0;L;;;;;N;;;;;
+1133;HANGUL CHOSEONG SIOS-PIEUP-KIYEOK;Lo;0;L;;;;;N;;;;;
+1134;HANGUL CHOSEONG SIOS-SSANGSIOS;Lo;0;L;;;;;N;;;;;
+1135;HANGUL CHOSEONG SIOS-IEUNG;Lo;0;L;;;;;N;;;;;
+1136;HANGUL CHOSEONG SIOS-CIEUC;Lo;0;L;;;;;N;;;;;
+1137;HANGUL CHOSEONG SIOS-CHIEUCH;Lo;0;L;;;;;N;;;;;
+1138;HANGUL CHOSEONG SIOS-KHIEUKH;Lo;0;L;;;;;N;;;;;
+1139;HANGUL CHOSEONG SIOS-THIEUTH;Lo;0;L;;;;;N;;;;;
+113A;HANGUL CHOSEONG SIOS-PHIEUPH;Lo;0;L;;;;;N;;;;;
+113B;HANGUL CHOSEONG SIOS-HIEUH;Lo;0;L;;;;;N;;;;;
113C;HANGUL CHOSEONG CHITUEUMSIOS;Lo;0;L;;;;;N;;;;;
-113D;HANGUL CHOSEONG CHITUEUMSSANGSIOS;Lo;0;L;<compat> 113C 113C;;;;N;;;;;
+113D;HANGUL CHOSEONG CHITUEUMSSANGSIOS;Lo;0;L;;;;;N;;;;;
113E;HANGUL CHOSEONG CEONGCHIEUMSIOS;Lo;0;L;;;;;N;;;;;
-113F;HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS;Lo;0;L;<compat> 113E 113E;;;;N;;;;;
+113F;HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS;Lo;0;L;;;;;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;;;;;
+1141;HANGUL CHOSEONG IEUNG-KIYEOK;Lo;0;L;;;;;N;;;;;
+1142;HANGUL CHOSEONG IEUNG-TIKEUT;Lo;0;L;;;;;N;;;;;
+1143;HANGUL CHOSEONG IEUNG-MIEUM;Lo;0;L;;;;;N;;;;;
+1144;HANGUL CHOSEONG IEUNG-PIEUP;Lo;0;L;;;;;N;;;;;
+1145;HANGUL CHOSEONG IEUNG-SIOS;Lo;0;L;;;;;N;;;;;
+1146;HANGUL CHOSEONG IEUNG-PANSIOS;Lo;0;L;;;;;N;;;;;
+1147;HANGUL CHOSEONG SSANGIEUNG;Lo;0;L;;;;;N;;;;;
+1148;HANGUL CHOSEONG IEUNG-CIEUC;Lo;0;L;;;;;N;;;;;
+1149;HANGUL CHOSEONG IEUNG-CHIEUCH;Lo;0;L;;;;;N;;;;;
+114A;HANGUL CHOSEONG IEUNG-THIEUTH;Lo;0;L;;;;;N;;;;;
+114B;HANGUL CHOSEONG IEUNG-PHIEUPH;Lo;0;L;;;;;N;;;;;
114C;HANGUL CHOSEONG YESIEUNG;Lo;0;L;;;;;N;;;;;
-114D;HANGUL CHOSEONG CIEUC-IEUNG;Lo;0;L;<compat> 110C 110B;;;;N;;;;;
+114D;HANGUL CHOSEONG CIEUC-IEUNG;Lo;0;L;;;;;N;;;;;
114E;HANGUL CHOSEONG CHITUEUMCIEUC;Lo;0;L;;;;;N;;;;;
-114F;HANGUL CHOSEONG CHITUEUMSSANGCIEUC;Lo;0;L;<compat> 114E 114E;;;;N;;;;;
+114F;HANGUL CHOSEONG CHITUEUMSSANGCIEUC;Lo;0;L;;;;;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;;;;;
+1151;HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC;Lo;0;L;;;;;N;;;;;
+1152;HANGUL CHOSEONG CHIEUCH-KHIEUKH;Lo;0;L;;;;;N;;;;;
+1153;HANGUL CHOSEONG CHIEUCH-HIEUH;Lo;0;L;;;;;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;;;;;
+1156;HANGUL CHOSEONG PHIEUPH-PIEUP;Lo;0;L;;;;;N;;;;;
+1157;HANGUL CHOSEONG KAPYEOUNPHIEUPH;Lo;0;L;;;;;N;;;;;
+1158;HANGUL CHOSEONG SSANGHIEUH;Lo;0;L;;;;;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;;;;;
+1162;HANGUL JUNGSEONG AE;Lo;0;L;;;;;N;;;;;
1163;HANGUL JUNGSEONG YA;Lo;0;L;;;;;N;;;;;
-1164;HANGUL JUNGSEONG YAE;Lo;0;L;<compat> 1163 1175;;;;N;;;;;
+1164;HANGUL JUNGSEONG YAE;Lo;0;L;;;;;N;;;;;
1165;HANGUL JUNGSEONG EO;Lo;0;L;;;;;N;;;;;
-1166;HANGUL JUNGSEONG E;Lo;0;L;<compat> 1165 1175;;;;N;;;;;
+1166;HANGUL JUNGSEONG E;Lo;0;L;;;;;N;;;;;
1167;HANGUL JUNGSEONG YEO;Lo;0;L;;;;;N;;;;;
-1168;HANGUL JUNGSEONG YE;Lo;0;L;<compat> 1167 1175;;;;N;;;;;
+1168;HANGUL JUNGSEONG YE;Lo;0;L;;;;;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;;;;;
+116A;HANGUL JUNGSEONG WA;Lo;0;L;;;;;N;;;;;
+116B;HANGUL JUNGSEONG WAE;Lo;0;L;;;;;N;;;;;
+116C;HANGUL JUNGSEONG OE;Lo;0;L;;;;;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;;;;;
+116F;HANGUL JUNGSEONG WEO;Lo;0;L;;;;;N;;;;;
+1170;HANGUL JUNGSEONG WE;Lo;0;L;;;;;N;;;;;
+1171;HANGUL JUNGSEONG WI;Lo;0;L;;;;;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;;;;;
+1174;HANGUL JUNGSEONG YI;Lo;0;L;;;;;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;;;;;
+1176;HANGUL JUNGSEONG A-O;Lo;0;L;;;;;N;;;;;
+1177;HANGUL JUNGSEONG A-U;Lo;0;L;;;;;N;;;;;
+1178;HANGUL JUNGSEONG YA-O;Lo;0;L;;;;;N;;;;;
+1179;HANGUL JUNGSEONG YA-YO;Lo;0;L;;;;;N;;;;;
+117A;HANGUL JUNGSEONG EO-O;Lo;0;L;;;;;N;;;;;
+117B;HANGUL JUNGSEONG EO-U;Lo;0;L;;;;;N;;;;;
+117C;HANGUL JUNGSEONG EO-EU;Lo;0;L;;;;;N;;;;;
+117D;HANGUL JUNGSEONG YEO-O;Lo;0;L;;;;;N;;;;;
+117E;HANGUL JUNGSEONG YEO-U;Lo;0;L;;;;;N;;;;;
+117F;HANGUL JUNGSEONG O-EO;Lo;0;L;;;;;N;;;;;
+1180;HANGUL JUNGSEONG O-E;Lo;0;L;;;;;N;;;;;
+1181;HANGUL JUNGSEONG O-YE;Lo;0;L;;;;;N;;;;;
+1182;HANGUL JUNGSEONG O-O;Lo;0;L;;;;;N;;;;;
+1183;HANGUL JUNGSEONG O-U;Lo;0;L;;;;;N;;;;;
+1184;HANGUL JUNGSEONG YO-YA;Lo;0;L;;;;;N;;;;;
+1185;HANGUL JUNGSEONG YO-YAE;Lo;0;L;;;;;N;;;;;
+1186;HANGUL JUNGSEONG YO-YEO;Lo;0;L;;;;;N;;;;;
+1187;HANGUL JUNGSEONG YO-O;Lo;0;L;;;;;N;;;;;
+1188;HANGUL JUNGSEONG YO-I;Lo;0;L;;;;;N;;;;;
+1189;HANGUL JUNGSEONG U-A;Lo;0;L;;;;;N;;;;;
+118A;HANGUL JUNGSEONG U-AE;Lo;0;L;;;;;N;;;;;
+118B;HANGUL JUNGSEONG U-EO-EU;Lo;0;L;;;;;N;;;;;
+118C;HANGUL JUNGSEONG U-YE;Lo;0;L;;;;;N;;;;;
+118D;HANGUL JUNGSEONG U-U;Lo;0;L;;;;;N;;;;;
+118E;HANGUL JUNGSEONG YU-A;Lo;0;L;;;;;N;;;;;
+118F;HANGUL JUNGSEONG YU-EO;Lo;0;L;;;;;N;;;;;
+1190;HANGUL JUNGSEONG YU-E;Lo;0;L;;;;;N;;;;;
+1191;HANGUL JUNGSEONG YU-YEO;Lo;0;L;;;;;N;;;;;
+1192;HANGUL JUNGSEONG YU-YE;Lo;0;L;;;;;N;;;;;
+1193;HANGUL JUNGSEONG YU-U;Lo;0;L;;;;;N;;;;;
+1194;HANGUL JUNGSEONG YU-I;Lo;0;L;;;;;N;;;;;
+1195;HANGUL JUNGSEONG EU-U;Lo;0;L;;;;;N;;;;;
+1196;HANGUL JUNGSEONG EU-EU;Lo;0;L;;;;;N;;;;;
+1197;HANGUL JUNGSEONG YI-U;Lo;0;L;;;;;N;;;;;
+1198;HANGUL JUNGSEONG I-A;Lo;0;L;;;;;N;;;;;
+1199;HANGUL JUNGSEONG I-YA;Lo;0;L;;;;;N;;;;;
+119A;HANGUL JUNGSEONG I-O;Lo;0;L;;;;;N;;;;;
+119B;HANGUL JUNGSEONG I-U;Lo;0;L;;;;;N;;;;;
+119C;HANGUL JUNGSEONG I-EU;Lo;0;L;;;;;N;;;;;
+119D;HANGUL JUNGSEONG I-ARAEA;Lo;0;L;;;;;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;;;;;
+119F;HANGUL JUNGSEONG ARAEA-EO;Lo;0;L;;;;;N;;;;;
+11A0;HANGUL JUNGSEONG ARAEA-U;Lo;0;L;;;;;N;;;;;
+11A1;HANGUL JUNGSEONG ARAEA-I;Lo;0;L;;;;;N;;;;;
+11A2;HANGUL JUNGSEONG SSANGARAEA;Lo;0;L;;;;;N;;;;;
+11A8;HANGUL JONGSEONG KIYEOK;Lo;0;L;;;;;N;;g *;;;
+11A9;HANGUL JONGSEONG SSANGKIYEOK;Lo;0;L;;;;;N;;gg *;;;
+11AA;HANGUL JONGSEONG KIYEOK-SIOS;Lo;0;L;;;;;N;;gs *;;;
+11AB;HANGUL JONGSEONG NIEUN;Lo;0;L;;;;;N;;n *;;;
+11AC;HANGUL JONGSEONG NIEUN-CIEUC;Lo;0;L;;;;;N;;nj *;;;
+11AD;HANGUL JONGSEONG NIEUN-HIEUH;Lo;0;L;;;;;N;;nh *;;;
+11AE;HANGUL JONGSEONG TIKEUT;Lo;0;L;;;;;N;;d *;;;
+11AF;HANGUL JONGSEONG RIEUL;Lo;0;L;;;;;N;;l *;;;
+11B0;HANGUL JONGSEONG RIEUL-KIYEOK;Lo;0;L;;;;;N;;lg *;;;
+11B1;HANGUL JONGSEONG RIEUL-MIEUM;Lo;0;L;;;;;N;;lm *;;;
+11B2;HANGUL JONGSEONG RIEUL-PIEUP;Lo;0;L;;;;;N;;lb *;;;
+11B3;HANGUL JONGSEONG RIEUL-SIOS;Lo;0;L;;;;;N;;ls *;;;
+11B4;HANGUL JONGSEONG RIEUL-THIEUTH;Lo;0;L;;;;;N;;lt *;;;
+11B5;HANGUL JONGSEONG RIEUL-PHIEUPH;Lo;0;L;;;;;N;;lp *;;;
+11B6;HANGUL JONGSEONG RIEUL-HIEUH;Lo;0;L;;;;;N;;lh *;;;
+11B7;HANGUL JONGSEONG MIEUM;Lo;0;L;;;;;N;;m *;;;
+11B8;HANGUL JONGSEONG PIEUP;Lo;0;L;;;;;N;;b *;;;
+11B9;HANGUL JONGSEONG PIEUP-SIOS;Lo;0;L;;;;;N;;bs *;;;
+11BA;HANGUL JONGSEONG SIOS;Lo;0;L;;;;;N;;s *;;;
+11BB;HANGUL JONGSEONG SSANGSIOS;Lo;0;L;;;;;N;;ss *;;;
+11BC;HANGUL JONGSEONG IEUNG;Lo;0;L;;;;;N;;ng *;;;
+11BD;HANGUL JONGSEONG CIEUC;Lo;0;L;;;;;N;;j *;;;
+11BE;HANGUL JONGSEONG CHIEUCH;Lo;0;L;;;;;N;;c *;;;
+11BF;HANGUL JONGSEONG KHIEUKH;Lo;0;L;;;;;N;;k *;;;
+11C0;HANGUL JONGSEONG THIEUTH;Lo;0;L;;;;;N;;t *;;;
+11C1;HANGUL JONGSEONG PHIEUPH;Lo;0;L;;;;;N;;p *;;;
+11C2;HANGUL JONGSEONG HIEUH;Lo;0;L;;;;;N;;h *;;;
+11C3;HANGUL JONGSEONG KIYEOK-RIEUL;Lo;0;L;;;;;N;;;;;
+11C4;HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK;Lo;0;L;;;;;N;;;;;
+11C5;HANGUL JONGSEONG NIEUN-KIYEOK;Lo;0;L;;;;;N;;;;;
+11C6;HANGUL JONGSEONG NIEUN-TIKEUT;Lo;0;L;;;;;N;;;;;
+11C7;HANGUL JONGSEONG NIEUN-SIOS;Lo;0;L;;;;;N;;;;;
+11C8;HANGUL JONGSEONG NIEUN-PANSIOS;Lo;0;L;;;;;N;;;;;
+11C9;HANGUL JONGSEONG NIEUN-THIEUTH;Lo;0;L;;;;;N;;;;;
+11CA;HANGUL JONGSEONG TIKEUT-KIYEOK;Lo;0;L;;;;;N;;;;;
+11CB;HANGUL JONGSEONG TIKEUT-RIEUL;Lo;0;L;;;;;N;;;;;
+11CC;HANGUL JONGSEONG RIEUL-KIYEOK-SIOS;Lo;0;L;;;;;N;;;;;
+11CD;HANGUL JONGSEONG RIEUL-NIEUN;Lo;0;L;;;;;N;;;;;
+11CE;HANGUL JONGSEONG RIEUL-TIKEUT;Lo;0;L;;;;;N;;;;;
+11CF;HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH;Lo;0;L;;;;;N;;;;;
+11D0;HANGUL JONGSEONG SSANGRIEUL;Lo;0;L;;;;;N;;;;;
+11D1;HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK;Lo;0;L;;;;;N;;;;;
+11D2;HANGUL JONGSEONG RIEUL-MIEUM-SIOS;Lo;0;L;;;;;N;;;;;
+11D3;HANGUL JONGSEONG RIEUL-PIEUP-SIOS;Lo;0;L;;;;;N;;;;;
+11D4;HANGUL JONGSEONG RIEUL-PIEUP-HIEUH;Lo;0;L;;;;;N;;;;;
+11D5;HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;;
+11D6;HANGUL JONGSEONG RIEUL-SSANGSIOS;Lo;0;L;;;;;N;;;;;
+11D7;HANGUL JONGSEONG RIEUL-PANSIOS;Lo;0;L;;;;;N;;;;;
+11D8;HANGUL JONGSEONG RIEUL-KHIEUKH;Lo;0;L;;;;;N;;;;;
+11D9;HANGUL JONGSEONG RIEUL-YEORINHIEUH;Lo;0;L;;;;;N;;;;;
+11DA;HANGUL JONGSEONG MIEUM-KIYEOK;Lo;0;L;;;;;N;;;;;
+11DB;HANGUL JONGSEONG MIEUM-RIEUL;Lo;0;L;;;;;N;;;;;
+11DC;HANGUL JONGSEONG MIEUM-PIEUP;Lo;0;L;;;;;N;;;;;
+11DD;HANGUL JONGSEONG MIEUM-SIOS;Lo;0;L;;;;;N;;;;;
+11DE;HANGUL JONGSEONG MIEUM-SSANGSIOS;Lo;0;L;;;;;N;;;;;
+11DF;HANGUL JONGSEONG MIEUM-PANSIOS;Lo;0;L;;;;;N;;;;;
+11E0;HANGUL JONGSEONG MIEUM-CHIEUCH;Lo;0;L;;;;;N;;;;;
+11E1;HANGUL JONGSEONG MIEUM-HIEUH;Lo;0;L;;;;;N;;;;;
+11E2;HANGUL JONGSEONG KAPYEOUNMIEUM;Lo;0;L;;;;;N;;;;;
+11E3;HANGUL JONGSEONG PIEUP-RIEUL;Lo;0;L;;;;;N;;;;;
+11E4;HANGUL JONGSEONG PIEUP-PHIEUPH;Lo;0;L;;;;;N;;;;;
+11E5;HANGUL JONGSEONG PIEUP-HIEUH;Lo;0;L;;;;;N;;;;;
+11E6;HANGUL JONGSEONG KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;;
+11E7;HANGUL JONGSEONG SIOS-KIYEOK;Lo;0;L;;;;;N;;;;;
+11E8;HANGUL JONGSEONG SIOS-TIKEUT;Lo;0;L;;;;;N;;;;;
+11E9;HANGUL JONGSEONG SIOS-RIEUL;Lo;0;L;;;;;N;;;;;
+11EA;HANGUL JONGSEONG SIOS-PIEUP;Lo;0;L;;;;;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;;;;;
+11EC;HANGUL JONGSEONG IEUNG-KIYEOK;Lo;0;L;;;;;N;;;;;
+11ED;HANGUL JONGSEONG IEUNG-SSANGKIYEOK;Lo;0;L;;;;;N;;;;;
+11EE;HANGUL JONGSEONG SSANGIEUNG;Lo;0;L;;;;;N;;;;;
+11EF;HANGUL JONGSEONG IEUNG-KHIEUKH;Lo;0;L;;;;;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;;;;;
+11F1;HANGUL JONGSEONG YESIEUNG-SIOS;Lo;0;L;;;;;N;;;;;
+11F2;HANGUL JONGSEONG YESIEUNG-PANSIOS;Lo;0;L;;;;;N;;;;;
+11F3;HANGUL JONGSEONG PHIEUPH-PIEUP;Lo;0;L;;;;;N;;;;;
+11F4;HANGUL JONGSEONG KAPYEOUNPHIEUPH;Lo;0;L;;;;;N;;;;;
+11F5;HANGUL JONGSEONG HIEUH-NIEUN;Lo;0;L;;;;;N;;;;;
+11F6;HANGUL JONGSEONG HIEUH-RIEUL;Lo;0;L;;;;;N;;;;;
+11F7;HANGUL JONGSEONG HIEUH-MIEUM;Lo;0;L;;;;;N;;;;;
+11F8;HANGUL JONGSEONG HIEUH-PIEUP;Lo;0;L;;;;;N;;;;;
11F9;HANGUL JONGSEONG YEORINHIEUH;Lo;0;L;;;;;N;;;;;
1200;ETHIOPIC SYLLABLE HA;Lo;0;L;;;;;N;;;;;
1201;ETHIOPIC SYLLABLE HU;Lo;0;L;;;;;N;;;;;
@@ -3147,6 +3531,1089 @@
137A;ETHIOPIC NUMBER NINETY;No;0;L;;;;90;N;;;;;
137B;ETHIOPIC NUMBER HUNDRED;No;0;L;;;;100;N;;;;;
137C;ETHIOPIC NUMBER TEN THOUSAND;No;0;L;;;;10000;N;;;;;
+13A0;CHEROKEE LETTER A;Lo;0;L;;;;;N;;;;;
+13A1;CHEROKEE LETTER E;Lo;0;L;;;;;N;;;;;
+13A2;CHEROKEE LETTER I;Lo;0;L;;;;;N;;;;;
+13A3;CHEROKEE LETTER O;Lo;0;L;;;;;N;;;;;
+13A4;CHEROKEE LETTER U;Lo;0;L;;;;;N;;;;;
+13A5;CHEROKEE LETTER V;Lo;0;L;;;;;N;;;;;
+13A6;CHEROKEE LETTER GA;Lo;0;L;;;;;N;;;;;
+13A7;CHEROKEE LETTER KA;Lo;0;L;;;;;N;;;;;
+13A8;CHEROKEE LETTER GE;Lo;0;L;;;;;N;;;;;
+13A9;CHEROKEE LETTER GI;Lo;0;L;;;;;N;;;;;
+13AA;CHEROKEE LETTER GO;Lo;0;L;;;;;N;;;;;
+13AB;CHEROKEE LETTER GU;Lo;0;L;;;;;N;;;;;
+13AC;CHEROKEE LETTER GV;Lo;0;L;;;;;N;;;;;
+13AD;CHEROKEE LETTER HA;Lo;0;L;;;;;N;;;;;
+13AE;CHEROKEE LETTER HE;Lo;0;L;;;;;N;;;;;
+13AF;CHEROKEE LETTER HI;Lo;0;L;;;;;N;;;;;
+13B0;CHEROKEE LETTER HO;Lo;0;L;;;;;N;;;;;
+13B1;CHEROKEE LETTER HU;Lo;0;L;;;;;N;;;;;
+13B2;CHEROKEE LETTER HV;Lo;0;L;;;;;N;;;;;
+13B3;CHEROKEE LETTER LA;Lo;0;L;;;;;N;;;;;
+13B4;CHEROKEE LETTER LE;Lo;0;L;;;;;N;;;;;
+13B5;CHEROKEE LETTER LI;Lo;0;L;;;;;N;;;;;
+13B6;CHEROKEE LETTER LO;Lo;0;L;;;;;N;;;;;
+13B7;CHEROKEE LETTER LU;Lo;0;L;;;;;N;;;;;
+13B8;CHEROKEE LETTER LV;Lo;0;L;;;;;N;;;;;
+13B9;CHEROKEE LETTER MA;Lo;0;L;;;;;N;;;;;
+13BA;CHEROKEE LETTER ME;Lo;0;L;;;;;N;;;;;
+13BB;CHEROKEE LETTER MI;Lo;0;L;;;;;N;;;;;
+13BC;CHEROKEE LETTER MO;Lo;0;L;;;;;N;;;;;
+13BD;CHEROKEE LETTER MU;Lo;0;L;;;;;N;;;;;
+13BE;CHEROKEE LETTER NA;Lo;0;L;;;;;N;;;;;
+13BF;CHEROKEE LETTER HNA;Lo;0;L;;;;;N;;;;;
+13C0;CHEROKEE LETTER NAH;Lo;0;L;;;;;N;;;;;
+13C1;CHEROKEE LETTER NE;Lo;0;L;;;;;N;;;;;
+13C2;CHEROKEE LETTER NI;Lo;0;L;;;;;N;;;;;
+13C3;CHEROKEE LETTER NO;Lo;0;L;;;;;N;;;;;
+13C4;CHEROKEE LETTER NU;Lo;0;L;;;;;N;;;;;
+13C5;CHEROKEE LETTER NV;Lo;0;L;;;;;N;;;;;
+13C6;CHEROKEE LETTER QUA;Lo;0;L;;;;;N;;;;;
+13C7;CHEROKEE LETTER QUE;Lo;0;L;;;;;N;;;;;
+13C8;CHEROKEE LETTER QUI;Lo;0;L;;;;;N;;;;;
+13C9;CHEROKEE LETTER QUO;Lo;0;L;;;;;N;;;;;
+13CA;CHEROKEE LETTER QUU;Lo;0;L;;;;;N;;;;;
+13CB;CHEROKEE LETTER QUV;Lo;0;L;;;;;N;;;;;
+13CC;CHEROKEE LETTER SA;Lo;0;L;;;;;N;;;;;
+13CD;CHEROKEE LETTER S;Lo;0;L;;;;;N;;;;;
+13CE;CHEROKEE LETTER SE;Lo;0;L;;;;;N;;;;;
+13CF;CHEROKEE LETTER SI;Lo;0;L;;;;;N;;;;;
+13D0;CHEROKEE LETTER SO;Lo;0;L;;;;;N;;;;;
+13D1;CHEROKEE LETTER SU;Lo;0;L;;;;;N;;;;;
+13D2;CHEROKEE LETTER SV;Lo;0;L;;;;;N;;;;;
+13D3;CHEROKEE LETTER DA;Lo;0;L;;;;;N;;;;;
+13D4;CHEROKEE LETTER TA;Lo;0;L;;;;;N;;;;;
+13D5;CHEROKEE LETTER DE;Lo;0;L;;;;;N;;;;;
+13D6;CHEROKEE LETTER TE;Lo;0;L;;;;;N;;;;;
+13D7;CHEROKEE LETTER DI;Lo;0;L;;;;;N;;;;;
+13D8;CHEROKEE LETTER TI;Lo;0;L;;;;;N;;;;;
+13D9;CHEROKEE LETTER DO;Lo;0;L;;;;;N;;;;;
+13DA;CHEROKEE LETTER DU;Lo;0;L;;;;;N;;;;;
+13DB;CHEROKEE LETTER DV;Lo;0;L;;;;;N;;;;;
+13DC;CHEROKEE LETTER DLA;Lo;0;L;;;;;N;;;;;
+13DD;CHEROKEE LETTER TLA;Lo;0;L;;;;;N;;;;;
+13DE;CHEROKEE LETTER TLE;Lo;0;L;;;;;N;;;;;
+13DF;CHEROKEE LETTER TLI;Lo;0;L;;;;;N;;;;;
+13E0;CHEROKEE LETTER TLO;Lo;0;L;;;;;N;;;;;
+13E1;CHEROKEE LETTER TLU;Lo;0;L;;;;;N;;;;;
+13E2;CHEROKEE LETTER TLV;Lo;0;L;;;;;N;;;;;
+13E3;CHEROKEE LETTER TSA;Lo;0;L;;;;;N;;;;;
+13E4;CHEROKEE LETTER TSE;Lo;0;L;;;;;N;;;;;
+13E5;CHEROKEE LETTER TSI;Lo;0;L;;;;;N;;;;;
+13E6;CHEROKEE LETTER TSO;Lo;0;L;;;;;N;;;;;
+13E7;CHEROKEE LETTER TSU;Lo;0;L;;;;;N;;;;;
+13E8;CHEROKEE LETTER TSV;Lo;0;L;;;;;N;;;;;
+13E9;CHEROKEE LETTER WA;Lo;0;L;;;;;N;;;;;
+13EA;CHEROKEE LETTER WE;Lo;0;L;;;;;N;;;;;
+13EB;CHEROKEE LETTER WI;Lo;0;L;;;;;N;;;;;
+13EC;CHEROKEE LETTER WO;Lo;0;L;;;;;N;;;;;
+13ED;CHEROKEE LETTER WU;Lo;0;L;;;;;N;;;;;
+13EE;CHEROKEE LETTER WV;Lo;0;L;;;;;N;;;;;
+13EF;CHEROKEE LETTER YA;Lo;0;L;;;;;N;;;;;
+13F0;CHEROKEE LETTER YE;Lo;0;L;;;;;N;;;;;
+13F1;CHEROKEE LETTER YI;Lo;0;L;;;;;N;;;;;
+13F2;CHEROKEE LETTER YO;Lo;0;L;;;;;N;;;;;
+13F3;CHEROKEE LETTER YU;Lo;0;L;;;;;N;;;;;
+13F4;CHEROKEE LETTER YV;Lo;0;L;;;;;N;;;;;
+1401;CANADIAN SYLLABICS E;Lo;0;L;;;;;N;;;;;
+1402;CANADIAN SYLLABICS AAI;Lo;0;L;;;;;N;;;;;
+1403;CANADIAN SYLLABICS I;Lo;0;L;;;;;N;;;;;
+1404;CANADIAN SYLLABICS II;Lo;0;L;;;;;N;;;;;
+1405;CANADIAN SYLLABICS O;Lo;0;L;;;;;N;;;;;
+1406;CANADIAN SYLLABICS OO;Lo;0;L;;;;;N;;;;;
+1407;CANADIAN SYLLABICS Y-CREE OO;Lo;0;L;;;;;N;;;;;
+1408;CANADIAN SYLLABICS CARRIER EE;Lo;0;L;;;;;N;;;;;
+1409;CANADIAN SYLLABICS CARRIER I;Lo;0;L;;;;;N;;;;;
+140A;CANADIAN SYLLABICS A;Lo;0;L;;;;;N;;;;;
+140B;CANADIAN SYLLABICS AA;Lo;0;L;;;;;N;;;;;
+140C;CANADIAN SYLLABICS WE;Lo;0;L;;;;;N;;;;;
+140D;CANADIAN SYLLABICS WEST-CREE WE;Lo;0;L;;;;;N;;;;;
+140E;CANADIAN SYLLABICS WI;Lo;0;L;;;;;N;;;;;
+140F;CANADIAN SYLLABICS WEST-CREE WI;Lo;0;L;;;;;N;;;;;
+1410;CANADIAN SYLLABICS WII;Lo;0;L;;;;;N;;;;;
+1411;CANADIAN SYLLABICS WEST-CREE WII;Lo;0;L;;;;;N;;;;;
+1412;CANADIAN SYLLABICS WO;Lo;0;L;;;;;N;;;;;
+1413;CANADIAN SYLLABICS WEST-CREE WO;Lo;0;L;;;;;N;;;;;
+1414;CANADIAN SYLLABICS WOO;Lo;0;L;;;;;N;;;;;
+1415;CANADIAN SYLLABICS WEST-CREE WOO;Lo;0;L;;;;;N;;;;;
+1416;CANADIAN SYLLABICS NASKAPI WOO;Lo;0;L;;;;;N;;;;;
+1417;CANADIAN SYLLABICS WA;Lo;0;L;;;;;N;;;;;
+1418;CANADIAN SYLLABICS WEST-CREE WA;Lo;0;L;;;;;N;;;;;
+1419;CANADIAN SYLLABICS WAA;Lo;0;L;;;;;N;;;;;
+141A;CANADIAN SYLLABICS WEST-CREE WAA;Lo;0;L;;;;;N;;;;;
+141B;CANADIAN SYLLABICS NASKAPI WAA;Lo;0;L;;;;;N;;;;;
+141C;CANADIAN SYLLABICS AI;Lo;0;L;;;;;N;;;;;
+141D;CANADIAN SYLLABICS Y-CREE W;Lo;0;L;;;;;N;;;;;
+141E;CANADIAN SYLLABICS GLOTTAL STOP;Lo;0;L;;;;;N;;;;;
+141F;CANADIAN SYLLABICS FINAL ACUTE;Lo;0;L;;;;;N;;;;;
+1420;CANADIAN SYLLABICS FINAL GRAVE;Lo;0;L;;;;;N;;;;;
+1421;CANADIAN SYLLABICS FINAL BOTTOM HALF RING;Lo;0;L;;;;;N;;;;;
+1422;CANADIAN SYLLABICS FINAL TOP HALF RING;Lo;0;L;;;;;N;;;;;
+1423;CANADIAN SYLLABICS FINAL RIGHT HALF RING;Lo;0;L;;;;;N;;;;;
+1424;CANADIAN SYLLABICS FINAL RING;Lo;0;L;;;;;N;;;;;
+1425;CANADIAN SYLLABICS FINAL DOUBLE ACUTE;Lo;0;L;;;;;N;;;;;
+1426;CANADIAN SYLLABICS FINAL DOUBLE SHORT VERTICAL STROKES;Lo;0;L;;;;;N;;;;;
+1427;CANADIAN SYLLABICS FINAL MIDDLE DOT;Lo;0;L;;;;;N;;;;;
+1428;CANADIAN SYLLABICS FINAL SHORT HORIZONTAL STROKE;Lo;0;L;;;;;N;;;;;
+1429;CANADIAN SYLLABICS FINAL PLUS;Lo;0;L;;;;;N;;;;;
+142A;CANADIAN SYLLABICS FINAL DOWN TACK;Lo;0;L;;;;;N;;;;;
+142B;CANADIAN SYLLABICS EN;Lo;0;L;;;;;N;;;;;
+142C;CANADIAN SYLLABICS IN;Lo;0;L;;;;;N;;;;;
+142D;CANADIAN SYLLABICS ON;Lo;0;L;;;;;N;;;;;
+142E;CANADIAN SYLLABICS AN;Lo;0;L;;;;;N;;;;;
+142F;CANADIAN SYLLABICS PE;Lo;0;L;;;;;N;;;;;
+1430;CANADIAN SYLLABICS PAAI;Lo;0;L;;;;;N;;;;;
+1431;CANADIAN SYLLABICS PI;Lo;0;L;;;;;N;;;;;
+1432;CANADIAN SYLLABICS PII;Lo;0;L;;;;;N;;;;;
+1433;CANADIAN SYLLABICS PO;Lo;0;L;;;;;N;;;;;
+1434;CANADIAN SYLLABICS POO;Lo;0;L;;;;;N;;;;;
+1435;CANADIAN SYLLABICS Y-CREE POO;Lo;0;L;;;;;N;;;;;
+1436;CANADIAN SYLLABICS CARRIER HEE;Lo;0;L;;;;;N;;;;;
+1437;CANADIAN SYLLABICS CARRIER HI;Lo;0;L;;;;;N;;;;;
+1438;CANADIAN SYLLABICS PA;Lo;0;L;;;;;N;;;;;
+1439;CANADIAN SYLLABICS PAA;Lo;0;L;;;;;N;;;;;
+143A;CANADIAN SYLLABICS PWE;Lo;0;L;;;;;N;;;;;
+143B;CANADIAN SYLLABICS WEST-CREE PWE;Lo;0;L;;;;;N;;;;;
+143C;CANADIAN SYLLABICS PWI;Lo;0;L;;;;;N;;;;;
+143D;CANADIAN SYLLABICS WEST-CREE PWI;Lo;0;L;;;;;N;;;;;
+143E;CANADIAN SYLLABICS PWII;Lo;0;L;;;;;N;;;;;
+143F;CANADIAN SYLLABICS WEST-CREE PWII;Lo;0;L;;;;;N;;;;;
+1440;CANADIAN SYLLABICS PWO;Lo;0;L;;;;;N;;;;;
+1441;CANADIAN SYLLABICS WEST-CREE PWO;Lo;0;L;;;;;N;;;;;
+1442;CANADIAN SYLLABICS PWOO;Lo;0;L;;;;;N;;;;;
+1443;CANADIAN SYLLABICS WEST-CREE PWOO;Lo;0;L;;;;;N;;;;;
+1444;CANADIAN SYLLABICS PWA;Lo;0;L;;;;;N;;;;;
+1445;CANADIAN SYLLABICS WEST-CREE PWA;Lo;0;L;;;;;N;;;;;
+1446;CANADIAN SYLLABICS PWAA;Lo;0;L;;;;;N;;;;;
+1447;CANADIAN SYLLABICS WEST-CREE PWAA;Lo;0;L;;;;;N;;;;;
+1448;CANADIAN SYLLABICS Y-CREE PWAA;Lo;0;L;;;;;N;;;;;
+1449;CANADIAN SYLLABICS P;Lo;0;L;;;;;N;;;;;
+144A;CANADIAN SYLLABICS WEST-CREE P;Lo;0;L;;;;;N;;;;;
+144B;CANADIAN SYLLABICS CARRIER H;Lo;0;L;;;;;N;;;;;
+144C;CANADIAN SYLLABICS TE;Lo;0;L;;;;;N;;;;;
+144D;CANADIAN SYLLABICS TAAI;Lo;0;L;;;;;N;;;;;
+144E;CANADIAN SYLLABICS TI;Lo;0;L;;;;;N;;;;;
+144F;CANADIAN SYLLABICS TII;Lo;0;L;;;;;N;;;;;
+1450;CANADIAN SYLLABICS TO;Lo;0;L;;;;;N;;;;;
+1451;CANADIAN SYLLABICS TOO;Lo;0;L;;;;;N;;;;;
+1452;CANADIAN SYLLABICS Y-CREE TOO;Lo;0;L;;;;;N;;;;;
+1453;CANADIAN SYLLABICS CARRIER DEE;Lo;0;L;;;;;N;;;;;
+1454;CANADIAN SYLLABICS CARRIER DI;Lo;0;L;;;;;N;;;;;
+1455;CANADIAN SYLLABICS TA;Lo;0;L;;;;;N;;;;;
+1456;CANADIAN SYLLABICS TAA;Lo;0;L;;;;;N;;;;;
+1457;CANADIAN SYLLABICS TWE;Lo;0;L;;;;;N;;;;;
+1458;CANADIAN SYLLABICS WEST-CREE TWE;Lo;0;L;;;;;N;;;;;
+1459;CANADIAN SYLLABICS TWI;Lo;0;L;;;;;N;;;;;
+145A;CANADIAN SYLLABICS WEST-CREE TWI;Lo;0;L;;;;;N;;;;;
+145B;CANADIAN SYLLABICS TWII;Lo;0;L;;;;;N;;;;;
+145C;CANADIAN SYLLABICS WEST-CREE TWII;Lo;0;L;;;;;N;;;;;
+145D;CANADIAN SYLLABICS TWO;Lo;0;L;;;;;N;;;;;
+145E;CANADIAN SYLLABICS WEST-CREE TWO;Lo;0;L;;;;;N;;;;;
+145F;CANADIAN SYLLABICS TWOO;Lo;0;L;;;;;N;;;;;
+1460;CANADIAN SYLLABICS WEST-CREE TWOO;Lo;0;L;;;;;N;;;;;
+1461;CANADIAN SYLLABICS TWA;Lo;0;L;;;;;N;;;;;
+1462;CANADIAN SYLLABICS WEST-CREE TWA;Lo;0;L;;;;;N;;;;;
+1463;CANADIAN SYLLABICS TWAA;Lo;0;L;;;;;N;;;;;
+1464;CANADIAN SYLLABICS WEST-CREE TWAA;Lo;0;L;;;;;N;;;;;
+1465;CANADIAN SYLLABICS NASKAPI TWAA;Lo;0;L;;;;;N;;;;;
+1466;CANADIAN SYLLABICS T;Lo;0;L;;;;;N;;;;;
+1467;CANADIAN SYLLABICS TTE;Lo;0;L;;;;;N;;;;;
+1468;CANADIAN SYLLABICS TTI;Lo;0;L;;;;;N;;;;;
+1469;CANADIAN SYLLABICS TTO;Lo;0;L;;;;;N;;;;;
+146A;CANADIAN SYLLABICS TTA;Lo;0;L;;;;;N;;;;;
+146B;CANADIAN SYLLABICS KE;Lo;0;L;;;;;N;;;;;
+146C;CANADIAN SYLLABICS KAAI;Lo;0;L;;;;;N;;;;;
+146D;CANADIAN SYLLABICS KI;Lo;0;L;;;;;N;;;;;
+146E;CANADIAN SYLLABICS KII;Lo;0;L;;;;;N;;;;;
+146F;CANADIAN SYLLABICS KO;Lo;0;L;;;;;N;;;;;
+1470;CANADIAN SYLLABICS KOO;Lo;0;L;;;;;N;;;;;
+1471;CANADIAN SYLLABICS Y-CREE KOO;Lo;0;L;;;;;N;;;;;
+1472;CANADIAN SYLLABICS KA;Lo;0;L;;;;;N;;;;;
+1473;CANADIAN SYLLABICS KAA;Lo;0;L;;;;;N;;;;;
+1474;CANADIAN SYLLABICS KWE;Lo;0;L;;;;;N;;;;;
+1475;CANADIAN SYLLABICS WEST-CREE KWE;Lo;0;L;;;;;N;;;;;
+1476;CANADIAN SYLLABICS KWI;Lo;0;L;;;;;N;;;;;
+1477;CANADIAN SYLLABICS WEST-CREE KWI;Lo;0;L;;;;;N;;;;;
+1478;CANADIAN SYLLABICS KWII;Lo;0;L;;;;;N;;;;;
+1479;CANADIAN SYLLABICS WEST-CREE KWII;Lo;0;L;;;;;N;;;;;
+147A;CANADIAN SYLLABICS KWO;Lo;0;L;;;;;N;;;;;
+147B;CANADIAN SYLLABICS WEST-CREE KWO;Lo;0;L;;;;;N;;;;;
+147C;CANADIAN SYLLABICS KWOO;Lo;0;L;;;;;N;;;;;
+147D;CANADIAN SYLLABICS WEST-CREE KWOO;Lo;0;L;;;;;N;;;;;
+147E;CANADIAN SYLLABICS KWA;Lo;0;L;;;;;N;;;;;
+147F;CANADIAN SYLLABICS WEST-CREE KWA;Lo;0;L;;;;;N;;;;;
+1480;CANADIAN SYLLABICS KWAA;Lo;0;L;;;;;N;;;;;
+1481;CANADIAN SYLLABICS WEST-CREE KWAA;Lo;0;L;;;;;N;;;;;
+1482;CANADIAN SYLLABICS NASKAPI KWAA;Lo;0;L;;;;;N;;;;;
+1483;CANADIAN SYLLABICS K;Lo;0;L;;;;;N;;;;;
+1484;CANADIAN SYLLABICS KW;Lo;0;L;;;;;N;;;;;
+1485;CANADIAN SYLLABICS SOUTH-SLAVEY KEH;Lo;0;L;;;;;N;;;;;
+1486;CANADIAN SYLLABICS SOUTH-SLAVEY KIH;Lo;0;L;;;;;N;;;;;
+1487;CANADIAN SYLLABICS SOUTH-SLAVEY KOH;Lo;0;L;;;;;N;;;;;
+1488;CANADIAN SYLLABICS SOUTH-SLAVEY KAH;Lo;0;L;;;;;N;;;;;
+1489;CANADIAN SYLLABICS CE;Lo;0;L;;;;;N;;;;;
+148A;CANADIAN SYLLABICS CAAI;Lo;0;L;;;;;N;;;;;
+148B;CANADIAN SYLLABICS CI;Lo;0;L;;;;;N;;;;;
+148C;CANADIAN SYLLABICS CII;Lo;0;L;;;;;N;;;;;
+148D;CANADIAN SYLLABICS CO;Lo;0;L;;;;;N;;;;;
+148E;CANADIAN SYLLABICS COO;Lo;0;L;;;;;N;;;;;
+148F;CANADIAN SYLLABICS Y-CREE COO;Lo;0;L;;;;;N;;;;;
+1490;CANADIAN SYLLABICS CA;Lo;0;L;;;;;N;;;;;
+1491;CANADIAN SYLLABICS CAA;Lo;0;L;;;;;N;;;;;
+1492;CANADIAN SYLLABICS CWE;Lo;0;L;;;;;N;;;;;
+1493;CANADIAN SYLLABICS WEST-CREE CWE;Lo;0;L;;;;;N;;;;;
+1494;CANADIAN SYLLABICS CWI;Lo;0;L;;;;;N;;;;;
+1495;CANADIAN SYLLABICS WEST-CREE CWI;Lo;0;L;;;;;N;;;;;
+1496;CANADIAN SYLLABICS CWII;Lo;0;L;;;;;N;;;;;
+1497;CANADIAN SYLLABICS WEST-CREE CWII;Lo;0;L;;;;;N;;;;;
+1498;CANADIAN SYLLABICS CWO;Lo;0;L;;;;;N;;;;;
+1499;CANADIAN SYLLABICS WEST-CREE CWO;Lo;0;L;;;;;N;;;;;
+149A;CANADIAN SYLLABICS CWOO;Lo;0;L;;;;;N;;;;;
+149B;CANADIAN SYLLABICS WEST-CREE CWOO;Lo;0;L;;;;;N;;;;;
+149C;CANADIAN SYLLABICS CWA;Lo;0;L;;;;;N;;;;;
+149D;CANADIAN SYLLABICS WEST-CREE CWA;Lo;0;L;;;;;N;;;;;
+149E;CANADIAN SYLLABICS CWAA;Lo;0;L;;;;;N;;;;;
+149F;CANADIAN SYLLABICS WEST-CREE CWAA;Lo;0;L;;;;;N;;;;;
+14A0;CANADIAN SYLLABICS NASKAPI CWAA;Lo;0;L;;;;;N;;;;;
+14A1;CANADIAN SYLLABICS C;Lo;0;L;;;;;N;;;;;
+14A2;CANADIAN SYLLABICS SAYISI TH;Lo;0;L;;;;;N;;;;;
+14A3;CANADIAN SYLLABICS ME;Lo;0;L;;;;;N;;;;;
+14A4;CANADIAN SYLLABICS MAAI;Lo;0;L;;;;;N;;;;;
+14A5;CANADIAN SYLLABICS MI;Lo;0;L;;;;;N;;;;;
+14A6;CANADIAN SYLLABICS MII;Lo;0;L;;;;;N;;;;;
+14A7;CANADIAN SYLLABICS MO;Lo;0;L;;;;;N;;;;;
+14A8;CANADIAN SYLLABICS MOO;Lo;0;L;;;;;N;;;;;
+14A9;CANADIAN SYLLABICS Y-CREE MOO;Lo;0;L;;;;;N;;;;;
+14AA;CANADIAN SYLLABICS MA;Lo;0;L;;;;;N;;;;;
+14AB;CANADIAN SYLLABICS MAA;Lo;0;L;;;;;N;;;;;
+14AC;CANADIAN SYLLABICS MWE;Lo;0;L;;;;;N;;;;;
+14AD;CANADIAN SYLLABICS WEST-CREE MWE;Lo;0;L;;;;;N;;;;;
+14AE;CANADIAN SYLLABICS MWI;Lo;0;L;;;;;N;;;;;
+14AF;CANADIAN SYLLABICS WEST-CREE MWI;Lo;0;L;;;;;N;;;;;
+14B0;CANADIAN SYLLABICS MWII;Lo;0;L;;;;;N;;;;;
+14B1;CANADIAN SYLLABICS WEST-CREE MWII;Lo;0;L;;;;;N;;;;;
+14B2;CANADIAN SYLLABICS MWO;Lo;0;L;;;;;N;;;;;
+14B3;CANADIAN SYLLABICS WEST-CREE MWO;Lo;0;L;;;;;N;;;;;
+14B4;CANADIAN SYLLABICS MWOO;Lo;0;L;;;;;N;;;;;
+14B5;CANADIAN SYLLABICS WEST-CREE MWOO;Lo;0;L;;;;;N;;;;;
+14B6;CANADIAN SYLLABICS MWA;Lo;0;L;;;;;N;;;;;
+14B7;CANADIAN SYLLABICS WEST-CREE MWA;Lo;0;L;;;;;N;;;;;
+14B8;CANADIAN SYLLABICS MWAA;Lo;0;L;;;;;N;;;;;
+14B9;CANADIAN SYLLABICS WEST-CREE MWAA;Lo;0;L;;;;;N;;;;;
+14BA;CANADIAN SYLLABICS NASKAPI MWAA;Lo;0;L;;;;;N;;;;;
+14BB;CANADIAN SYLLABICS M;Lo;0;L;;;;;N;;;;;
+14BC;CANADIAN SYLLABICS WEST-CREE M;Lo;0;L;;;;;N;;;;;
+14BD;CANADIAN SYLLABICS MH;Lo;0;L;;;;;N;;;;;
+14BE;CANADIAN SYLLABICS ATHAPASCAN M;Lo;0;L;;;;;N;;;;;
+14BF;CANADIAN SYLLABICS SAYISI M;Lo;0;L;;;;;N;;;;;
+14C0;CANADIAN SYLLABICS NE;Lo;0;L;;;;;N;;;;;
+14C1;CANADIAN SYLLABICS NAAI;Lo;0;L;;;;;N;;;;;
+14C2;CANADIAN SYLLABICS NI;Lo;0;L;;;;;N;;;;;
+14C3;CANADIAN SYLLABICS NII;Lo;0;L;;;;;N;;;;;
+14C4;CANADIAN SYLLABICS NO;Lo;0;L;;;;;N;;;;;
+14C5;CANADIAN SYLLABICS NOO;Lo;0;L;;;;;N;;;;;
+14C6;CANADIAN SYLLABICS Y-CREE NOO;Lo;0;L;;;;;N;;;;;
+14C7;CANADIAN SYLLABICS NA;Lo;0;L;;;;;N;;;;;
+14C8;CANADIAN SYLLABICS NAA;Lo;0;L;;;;;N;;;;;
+14C9;CANADIAN SYLLABICS NWE;Lo;0;L;;;;;N;;;;;
+14CA;CANADIAN SYLLABICS WEST-CREE NWE;Lo;0;L;;;;;N;;;;;
+14CB;CANADIAN SYLLABICS NWA;Lo;0;L;;;;;N;;;;;
+14CC;CANADIAN SYLLABICS WEST-CREE NWA;Lo;0;L;;;;;N;;;;;
+14CD;CANADIAN SYLLABICS NWAA;Lo;0;L;;;;;N;;;;;
+14CE;CANADIAN SYLLABICS WEST-CREE NWAA;Lo;0;L;;;;;N;;;;;
+14CF;CANADIAN SYLLABICS NASKAPI NWAA;Lo;0;L;;;;;N;;;;;
+14D0;CANADIAN SYLLABICS N;Lo;0;L;;;;;N;;;;;
+14D1;CANADIAN SYLLABICS CARRIER NG;Lo;0;L;;;;;N;;;;;
+14D2;CANADIAN SYLLABICS NH;Lo;0;L;;;;;N;;;;;
+14D3;CANADIAN SYLLABICS LE;Lo;0;L;;;;;N;;;;;
+14D4;CANADIAN SYLLABICS LAAI;Lo;0;L;;;;;N;;;;;
+14D5;CANADIAN SYLLABICS LI;Lo;0;L;;;;;N;;;;;
+14D6;CANADIAN SYLLABICS LII;Lo;0;L;;;;;N;;;;;
+14D7;CANADIAN SYLLABICS LO;Lo;0;L;;;;;N;;;;;
+14D8;CANADIAN SYLLABICS LOO;Lo;0;L;;;;;N;;;;;
+14D9;CANADIAN SYLLABICS Y-CREE LOO;Lo;0;L;;;;;N;;;;;
+14DA;CANADIAN SYLLABICS LA;Lo;0;L;;;;;N;;;;;
+14DB;CANADIAN SYLLABICS LAA;Lo;0;L;;;;;N;;;;;
+14DC;CANADIAN SYLLABICS LWE;Lo;0;L;;;;;N;;;;;
+14DD;CANADIAN SYLLABICS WEST-CREE LWE;Lo;0;L;;;;;N;;;;;
+14DE;CANADIAN SYLLABICS LWI;Lo;0;L;;;;;N;;;;;
+14DF;CANADIAN SYLLABICS WEST-CREE LWI;Lo;0;L;;;;;N;;;;;
+14E0;CANADIAN SYLLABICS LWII;Lo;0;L;;;;;N;;;;;
+14E1;CANADIAN SYLLABICS WEST-CREE LWII;Lo;0;L;;;;;N;;;;;
+14E2;CANADIAN SYLLABICS LWO;Lo;0;L;;;;;N;;;;;
+14E3;CANADIAN SYLLABICS WEST-CREE LWO;Lo;0;L;;;;;N;;;;;
+14E4;CANADIAN SYLLABICS LWOO;Lo;0;L;;;;;N;;;;;
+14E5;CANADIAN SYLLABICS WEST-CREE LWOO;Lo;0;L;;;;;N;;;;;
+14E6;CANADIAN SYLLABICS LWA;Lo;0;L;;;;;N;;;;;
+14E7;CANADIAN SYLLABICS WEST-CREE LWA;Lo;0;L;;;;;N;;;;;
+14E8;CANADIAN SYLLABICS LWAA;Lo;0;L;;;;;N;;;;;
+14E9;CANADIAN SYLLABICS WEST-CREE LWAA;Lo;0;L;;;;;N;;;;;
+14EA;CANADIAN SYLLABICS L;Lo;0;L;;;;;N;;;;;
+14EB;CANADIAN SYLLABICS WEST-CREE L;Lo;0;L;;;;;N;;;;;
+14EC;CANADIAN SYLLABICS MEDIAL L;Lo;0;L;;;;;N;;;;;
+14ED;CANADIAN SYLLABICS SE;Lo;0;L;;;;;N;;;;;
+14EE;CANADIAN SYLLABICS SAAI;Lo;0;L;;;;;N;;;;;
+14EF;CANADIAN SYLLABICS SI;Lo;0;L;;;;;N;;;;;
+14F0;CANADIAN SYLLABICS SII;Lo;0;L;;;;;N;;;;;
+14F1;CANADIAN SYLLABICS SO;Lo;0;L;;;;;N;;;;;
+14F2;CANADIAN SYLLABICS SOO;Lo;0;L;;;;;N;;;;;
+14F3;CANADIAN SYLLABICS Y-CREE SOO;Lo;0;L;;;;;N;;;;;
+14F4;CANADIAN SYLLABICS SA;Lo;0;L;;;;;N;;;;;
+14F5;CANADIAN SYLLABICS SAA;Lo;0;L;;;;;N;;;;;
+14F6;CANADIAN SYLLABICS SWE;Lo;0;L;;;;;N;;;;;
+14F7;CANADIAN SYLLABICS WEST-CREE SWE;Lo;0;L;;;;;N;;;;;
+14F8;CANADIAN SYLLABICS SWI;Lo;0;L;;;;;N;;;;;
+14F9;CANADIAN SYLLABICS WEST-CREE SWI;Lo;0;L;;;;;N;;;;;
+14FA;CANADIAN SYLLABICS SWII;Lo;0;L;;;;;N;;;;;
+14FB;CANADIAN SYLLABICS WEST-CREE SWII;Lo;0;L;;;;;N;;;;;
+14FC;CANADIAN SYLLABICS SWO;Lo;0;L;;;;;N;;;;;
+14FD;CANADIAN SYLLABICS WEST-CREE SWO;Lo;0;L;;;;;N;;;;;
+14FE;CANADIAN SYLLABICS SWOO;Lo;0;L;;;;;N;;;;;
+14FF;CANADIAN SYLLABICS WEST-CREE SWOO;Lo;0;L;;;;;N;;;;;
+1500;CANADIAN SYLLABICS SWA;Lo;0;L;;;;;N;;;;;
+1501;CANADIAN SYLLABICS WEST-CREE SWA;Lo;0;L;;;;;N;;;;;
+1502;CANADIAN SYLLABICS SWAA;Lo;0;L;;;;;N;;;;;
+1503;CANADIAN SYLLABICS WEST-CREE SWAA;Lo;0;L;;;;;N;;;;;
+1504;CANADIAN SYLLABICS NASKAPI SWAA;Lo;0;L;;;;;N;;;;;
+1505;CANADIAN SYLLABICS S;Lo;0;L;;;;;N;;;;;
+1506;CANADIAN SYLLABICS ATHAPASCAN S;Lo;0;L;;;;;N;;;;;
+1507;CANADIAN SYLLABICS SW;Lo;0;L;;;;;N;;;;;
+1508;CANADIAN SYLLABICS BLACKFOOT S;Lo;0;L;;;;;N;;;;;
+1509;CANADIAN SYLLABICS MOOSE-CREE SK;Lo;0;L;;;;;N;;;;;
+150A;CANADIAN SYLLABICS NASKAPI SKW;Lo;0;L;;;;;N;;;;;
+150B;CANADIAN SYLLABICS NASKAPI S-W;Lo;0;L;;;;;N;;;;;
+150C;CANADIAN SYLLABICS NASKAPI SPWA;Lo;0;L;;;;;N;;;;;
+150D;CANADIAN SYLLABICS NASKAPI STWA;Lo;0;L;;;;;N;;;;;
+150E;CANADIAN SYLLABICS NASKAPI SKWA;Lo;0;L;;;;;N;;;;;
+150F;CANADIAN SYLLABICS NASKAPI SCWA;Lo;0;L;;;;;N;;;;;
+1510;CANADIAN SYLLABICS SHE;Lo;0;L;;;;;N;;;;;
+1511;CANADIAN SYLLABICS SHI;Lo;0;L;;;;;N;;;;;
+1512;CANADIAN SYLLABICS SHII;Lo;0;L;;;;;N;;;;;
+1513;CANADIAN SYLLABICS SHO;Lo;0;L;;;;;N;;;;;
+1514;CANADIAN SYLLABICS SHOO;Lo;0;L;;;;;N;;;;;
+1515;CANADIAN SYLLABICS SHA;Lo;0;L;;;;;N;;;;;
+1516;CANADIAN SYLLABICS SHAA;Lo;0;L;;;;;N;;;;;
+1517;CANADIAN SYLLABICS SHWE;Lo;0;L;;;;;N;;;;;
+1518;CANADIAN SYLLABICS WEST-CREE SHWE;Lo;0;L;;;;;N;;;;;
+1519;CANADIAN SYLLABICS SHWI;Lo;0;L;;;;;N;;;;;
+151A;CANADIAN SYLLABICS WEST-CREE SHWI;Lo;0;L;;;;;N;;;;;
+151B;CANADIAN SYLLABICS SHWII;Lo;0;L;;;;;N;;;;;
+151C;CANADIAN SYLLABICS WEST-CREE SHWII;Lo;0;L;;;;;N;;;;;
+151D;CANADIAN SYLLABICS SHWO;Lo;0;L;;;;;N;;;;;
+151E;CANADIAN SYLLABICS WEST-CREE SHWO;Lo;0;L;;;;;N;;;;;
+151F;CANADIAN SYLLABICS SHWOO;Lo;0;L;;;;;N;;;;;
+1520;CANADIAN SYLLABICS WEST-CREE SHWOO;Lo;0;L;;;;;N;;;;;
+1521;CANADIAN SYLLABICS SHWA;Lo;0;L;;;;;N;;;;;
+1522;CANADIAN SYLLABICS WEST-CREE SHWA;Lo;0;L;;;;;N;;;;;
+1523;CANADIAN SYLLABICS SHWAA;Lo;0;L;;;;;N;;;;;
+1524;CANADIAN SYLLABICS WEST-CREE SHWAA;Lo;0;L;;;;;N;;;;;
+1525;CANADIAN SYLLABICS SH;Lo;0;L;;;;;N;;;;;
+1526;CANADIAN SYLLABICS YE;Lo;0;L;;;;;N;;;;;
+1527;CANADIAN SYLLABICS YAAI;Lo;0;L;;;;;N;;;;;
+1528;CANADIAN SYLLABICS YI;Lo;0;L;;;;;N;;;;;
+1529;CANADIAN SYLLABICS YII;Lo;0;L;;;;;N;;;;;
+152A;CANADIAN SYLLABICS YO;Lo;0;L;;;;;N;;;;;
+152B;CANADIAN SYLLABICS YOO;Lo;0;L;;;;;N;;;;;
+152C;CANADIAN SYLLABICS Y-CREE YOO;Lo;0;L;;;;;N;;;;;
+152D;CANADIAN SYLLABICS YA;Lo;0;L;;;;;N;;;;;
+152E;CANADIAN SYLLABICS YAA;Lo;0;L;;;;;N;;;;;
+152F;CANADIAN SYLLABICS YWE;Lo;0;L;;;;;N;;;;;
+1530;CANADIAN SYLLABICS WEST-CREE YWE;Lo;0;L;;;;;N;;;;;
+1531;CANADIAN SYLLABICS YWI;Lo;0;L;;;;;N;;;;;
+1532;CANADIAN SYLLABICS WEST-CREE YWI;Lo;0;L;;;;;N;;;;;
+1533;CANADIAN SYLLABICS YWII;Lo;0;L;;;;;N;;;;;
+1534;CANADIAN SYLLABICS WEST-CREE YWII;Lo;0;L;;;;;N;;;;;
+1535;CANADIAN SYLLABICS YWO;Lo;0;L;;;;;N;;;;;
+1536;CANADIAN SYLLABICS WEST-CREE YWO;Lo;0;L;;;;;N;;;;;
+1537;CANADIAN SYLLABICS YWOO;Lo;0;L;;;;;N;;;;;
+1538;CANADIAN SYLLABICS WEST-CREE YWOO;Lo;0;L;;;;;N;;;;;
+1539;CANADIAN SYLLABICS YWA;Lo;0;L;;;;;N;;;;;
+153A;CANADIAN SYLLABICS WEST-CREE YWA;Lo;0;L;;;;;N;;;;;
+153B;CANADIAN SYLLABICS YWAA;Lo;0;L;;;;;N;;;;;
+153C;CANADIAN SYLLABICS WEST-CREE YWAA;Lo;0;L;;;;;N;;;;;
+153D;CANADIAN SYLLABICS NASKAPI YWAA;Lo;0;L;;;;;N;;;;;
+153E;CANADIAN SYLLABICS Y;Lo;0;L;;;;;N;;;;;
+153F;CANADIAN SYLLABICS BIBLE-CREE Y;Lo;0;L;;;;;N;;;;;
+1540;CANADIAN SYLLABICS WEST-CREE Y;Lo;0;L;;;;;N;;;;;
+1541;CANADIAN SYLLABICS SAYISI YI;Lo;0;L;;;;;N;;;;;
+1542;CANADIAN SYLLABICS RE;Lo;0;L;;;;;N;;;;;
+1543;CANADIAN SYLLABICS R-CREE RE;Lo;0;L;;;;;N;;;;;
+1544;CANADIAN SYLLABICS WEST-CREE LE;Lo;0;L;;;;;N;;;;;
+1545;CANADIAN SYLLABICS RAAI;Lo;0;L;;;;;N;;;;;
+1546;CANADIAN SYLLABICS RI;Lo;0;L;;;;;N;;;;;
+1547;CANADIAN SYLLABICS RII;Lo;0;L;;;;;N;;;;;
+1548;CANADIAN SYLLABICS RO;Lo;0;L;;;;;N;;;;;
+1549;CANADIAN SYLLABICS ROO;Lo;0;L;;;;;N;;;;;
+154A;CANADIAN SYLLABICS WEST-CREE LO;Lo;0;L;;;;;N;;;;;
+154B;CANADIAN SYLLABICS RA;Lo;0;L;;;;;N;;;;;
+154C;CANADIAN SYLLABICS RAA;Lo;0;L;;;;;N;;;;;
+154D;CANADIAN SYLLABICS WEST-CREE LA;Lo;0;L;;;;;N;;;;;
+154E;CANADIAN SYLLABICS RWAA;Lo;0;L;;;;;N;;;;;
+154F;CANADIAN SYLLABICS WEST-CREE RWAA;Lo;0;L;;;;;N;;;;;
+1550;CANADIAN SYLLABICS R;Lo;0;L;;;;;N;;;;;
+1551;CANADIAN SYLLABICS WEST-CREE R;Lo;0;L;;;;;N;;;;;
+1552;CANADIAN SYLLABICS MEDIAL R;Lo;0;L;;;;;N;;;;;
+1553;CANADIAN SYLLABICS FE;Lo;0;L;;;;;N;;;;;
+1554;CANADIAN SYLLABICS FAAI;Lo;0;L;;;;;N;;;;;
+1555;CANADIAN SYLLABICS FI;Lo;0;L;;;;;N;;;;;
+1556;CANADIAN SYLLABICS FII;Lo;0;L;;;;;N;;;;;
+1557;CANADIAN SYLLABICS FO;Lo;0;L;;;;;N;;;;;
+1558;CANADIAN SYLLABICS FOO;Lo;0;L;;;;;N;;;;;
+1559;CANADIAN SYLLABICS FA;Lo;0;L;;;;;N;;;;;
+155A;CANADIAN SYLLABICS FAA;Lo;0;L;;;;;N;;;;;
+155B;CANADIAN SYLLABICS FWAA;Lo;0;L;;;;;N;;;;;
+155C;CANADIAN SYLLABICS WEST-CREE FWAA;Lo;0;L;;;;;N;;;;;
+155D;CANADIAN SYLLABICS F;Lo;0;L;;;;;N;;;;;
+155E;CANADIAN SYLLABICS THE;Lo;0;L;;;;;N;;;;;
+155F;CANADIAN SYLLABICS N-CREE THE;Lo;0;L;;;;;N;;;;;
+1560;CANADIAN SYLLABICS THI;Lo;0;L;;;;;N;;;;;
+1561;CANADIAN SYLLABICS N-CREE THI;Lo;0;L;;;;;N;;;;;
+1562;CANADIAN SYLLABICS THII;Lo;0;L;;;;;N;;;;;
+1563;CANADIAN SYLLABICS N-CREE THII;Lo;0;L;;;;;N;;;;;
+1564;CANADIAN SYLLABICS THO;Lo;0;L;;;;;N;;;;;
+1565;CANADIAN SYLLABICS THOO;Lo;0;L;;;;;N;;;;;
+1566;CANADIAN SYLLABICS THA;Lo;0;L;;;;;N;;;;;
+1567;CANADIAN SYLLABICS THAA;Lo;0;L;;;;;N;;;;;
+1568;CANADIAN SYLLABICS THWAA;Lo;0;L;;;;;N;;;;;
+1569;CANADIAN SYLLABICS WEST-CREE THWAA;Lo;0;L;;;;;N;;;;;
+156A;CANADIAN SYLLABICS TH;Lo;0;L;;;;;N;;;;;
+156B;CANADIAN SYLLABICS TTHE;Lo;0;L;;;;;N;;;;;
+156C;CANADIAN SYLLABICS TTHI;Lo;0;L;;;;;N;;;;;
+156D;CANADIAN SYLLABICS TTHO;Lo;0;L;;;;;N;;;;;
+156E;CANADIAN SYLLABICS TTHA;Lo;0;L;;;;;N;;;;;
+156F;CANADIAN SYLLABICS TTH;Lo;0;L;;;;;N;;;;;
+1570;CANADIAN SYLLABICS TYE;Lo;0;L;;;;;N;;;;;
+1571;CANADIAN SYLLABICS TYI;Lo;0;L;;;;;N;;;;;
+1572;CANADIAN SYLLABICS TYO;Lo;0;L;;;;;N;;;;;
+1573;CANADIAN SYLLABICS TYA;Lo;0;L;;;;;N;;;;;
+1574;CANADIAN SYLLABICS NUNAVIK HE;Lo;0;L;;;;;N;;;;;
+1575;CANADIAN SYLLABICS NUNAVIK HI;Lo;0;L;;;;;N;;;;;
+1576;CANADIAN SYLLABICS NUNAVIK HII;Lo;0;L;;;;;N;;;;;
+1577;CANADIAN SYLLABICS NUNAVIK HO;Lo;0;L;;;;;N;;;;;
+1578;CANADIAN SYLLABICS NUNAVIK HOO;Lo;0;L;;;;;N;;;;;
+1579;CANADIAN SYLLABICS NUNAVIK HA;Lo;0;L;;;;;N;;;;;
+157A;CANADIAN SYLLABICS NUNAVIK HAA;Lo;0;L;;;;;N;;;;;
+157B;CANADIAN SYLLABICS NUNAVIK H;Lo;0;L;;;;;N;;;;;
+157C;CANADIAN SYLLABICS NUNAVUT H;Lo;0;L;;;;;N;;;;;
+157D;CANADIAN SYLLABICS HK;Lo;0;L;;;;;N;;;;;
+157E;CANADIAN SYLLABICS QAAI;Lo;0;L;;;;;N;;;;;
+157F;CANADIAN SYLLABICS QI;Lo;0;L;;;;;N;;;;;
+1580;CANADIAN SYLLABICS QII;Lo;0;L;;;;;N;;;;;
+1581;CANADIAN SYLLABICS QO;Lo;0;L;;;;;N;;;;;
+1582;CANADIAN SYLLABICS QOO;Lo;0;L;;;;;N;;;;;
+1583;CANADIAN SYLLABICS QA;Lo;0;L;;;;;N;;;;;
+1584;CANADIAN SYLLABICS QAA;Lo;0;L;;;;;N;;;;;
+1585;CANADIAN SYLLABICS Q;Lo;0;L;;;;;N;;;;;
+1586;CANADIAN SYLLABICS TLHE;Lo;0;L;;;;;N;;;;;
+1587;CANADIAN SYLLABICS TLHI;Lo;0;L;;;;;N;;;;;
+1588;CANADIAN SYLLABICS TLHO;Lo;0;L;;;;;N;;;;;
+1589;CANADIAN SYLLABICS TLHA;Lo;0;L;;;;;N;;;;;
+158A;CANADIAN SYLLABICS WEST-CREE RE;Lo;0;L;;;;;N;;;;;
+158B;CANADIAN SYLLABICS WEST-CREE RI;Lo;0;L;;;;;N;;;;;
+158C;CANADIAN SYLLABICS WEST-CREE RO;Lo;0;L;;;;;N;;;;;
+158D;CANADIAN SYLLABICS WEST-CREE RA;Lo;0;L;;;;;N;;;;;
+158E;CANADIAN SYLLABICS NGAAI;Lo;0;L;;;;;N;;;;;
+158F;CANADIAN SYLLABICS NGI;Lo;0;L;;;;;N;;;;;
+1590;CANADIAN SYLLABICS NGII;Lo;0;L;;;;;N;;;;;
+1591;CANADIAN SYLLABICS NGO;Lo;0;L;;;;;N;;;;;
+1592;CANADIAN SYLLABICS NGOO;Lo;0;L;;;;;N;;;;;
+1593;CANADIAN SYLLABICS NGA;Lo;0;L;;;;;N;;;;;
+1594;CANADIAN SYLLABICS NGAA;Lo;0;L;;;;;N;;;;;
+1595;CANADIAN SYLLABICS NG;Lo;0;L;;;;;N;;;;;
+1596;CANADIAN SYLLABICS NNG;Lo;0;L;;;;;N;;;;;
+1597;CANADIAN SYLLABICS SAYISI SHE;Lo;0;L;;;;;N;;;;;
+1598;CANADIAN SYLLABICS SAYISI SHI;Lo;0;L;;;;;N;;;;;
+1599;CANADIAN SYLLABICS SAYISI SHO;Lo;0;L;;;;;N;;;;;
+159A;CANADIAN SYLLABICS SAYISI SHA;Lo;0;L;;;;;N;;;;;
+159B;CANADIAN SYLLABICS WOODS-CREE THE;Lo;0;L;;;;;N;;;;;
+159C;CANADIAN SYLLABICS WOODS-CREE THI;Lo;0;L;;;;;N;;;;;
+159D;CANADIAN SYLLABICS WOODS-CREE THO;Lo;0;L;;;;;N;;;;;
+159E;CANADIAN SYLLABICS WOODS-CREE THA;Lo;0;L;;;;;N;;;;;
+159F;CANADIAN SYLLABICS WOODS-CREE TH;Lo;0;L;;;;;N;;;;;
+15A0;CANADIAN SYLLABICS LHI;Lo;0;L;;;;;N;;;;;
+15A1;CANADIAN SYLLABICS LHII;Lo;0;L;;;;;N;;;;;
+15A2;CANADIAN SYLLABICS LHO;Lo;0;L;;;;;N;;;;;
+15A3;CANADIAN SYLLABICS LHOO;Lo;0;L;;;;;N;;;;;
+15A4;CANADIAN SYLLABICS LHA;Lo;0;L;;;;;N;;;;;
+15A5;CANADIAN SYLLABICS LHAA;Lo;0;L;;;;;N;;;;;
+15A6;CANADIAN SYLLABICS LH;Lo;0;L;;;;;N;;;;;
+15A7;CANADIAN SYLLABICS TH-CREE THE;Lo;0;L;;;;;N;;;;;
+15A8;CANADIAN SYLLABICS TH-CREE THI;Lo;0;L;;;;;N;;;;;
+15A9;CANADIAN SYLLABICS TH-CREE THII;Lo;0;L;;;;;N;;;;;
+15AA;CANADIAN SYLLABICS TH-CREE THO;Lo;0;L;;;;;N;;;;;
+15AB;CANADIAN SYLLABICS TH-CREE THOO;Lo;0;L;;;;;N;;;;;
+15AC;CANADIAN SYLLABICS TH-CREE THA;Lo;0;L;;;;;N;;;;;
+15AD;CANADIAN SYLLABICS TH-CREE THAA;Lo;0;L;;;;;N;;;;;
+15AE;CANADIAN SYLLABICS TH-CREE TH;Lo;0;L;;;;;N;;;;;
+15AF;CANADIAN SYLLABICS AIVILIK B;Lo;0;L;;;;;N;;;;;
+15B0;CANADIAN SYLLABICS BLACKFOOT E;Lo;0;L;;;;;N;;;;;
+15B1;CANADIAN SYLLABICS BLACKFOOT I;Lo;0;L;;;;;N;;;;;
+15B2;CANADIAN SYLLABICS BLACKFOOT O;Lo;0;L;;;;;N;;;;;
+15B3;CANADIAN SYLLABICS BLACKFOOT A;Lo;0;L;;;;;N;;;;;
+15B4;CANADIAN SYLLABICS BLACKFOOT WE;Lo;0;L;;;;;N;;;;;
+15B5;CANADIAN SYLLABICS BLACKFOOT WI;Lo;0;L;;;;;N;;;;;
+15B6;CANADIAN SYLLABICS BLACKFOOT WO;Lo;0;L;;;;;N;;;;;
+15B7;CANADIAN SYLLABICS BLACKFOOT WA;Lo;0;L;;;;;N;;;;;
+15B8;CANADIAN SYLLABICS BLACKFOOT NE;Lo;0;L;;;;;N;;;;;
+15B9;CANADIAN SYLLABICS BLACKFOOT NI;Lo;0;L;;;;;N;;;;;
+15BA;CANADIAN SYLLABICS BLACKFOOT NO;Lo;0;L;;;;;N;;;;;
+15BB;CANADIAN SYLLABICS BLACKFOOT NA;Lo;0;L;;;;;N;;;;;
+15BC;CANADIAN SYLLABICS BLACKFOOT KE;Lo;0;L;;;;;N;;;;;
+15BD;CANADIAN SYLLABICS BLACKFOOT KI;Lo;0;L;;;;;N;;;;;
+15BE;CANADIAN SYLLABICS BLACKFOOT KO;Lo;0;L;;;;;N;;;;;
+15BF;CANADIAN SYLLABICS BLACKFOOT KA;Lo;0;L;;;;;N;;;;;
+15C0;CANADIAN SYLLABICS SAYISI HE;Lo;0;L;;;;;N;;;;;
+15C1;CANADIAN SYLLABICS SAYISI HI;Lo;0;L;;;;;N;;;;;
+15C2;CANADIAN SYLLABICS SAYISI HO;Lo;0;L;;;;;N;;;;;
+15C3;CANADIAN SYLLABICS SAYISI HA;Lo;0;L;;;;;N;;;;;
+15C4;CANADIAN SYLLABICS CARRIER GHU;Lo;0;L;;;;;N;;;;;
+15C5;CANADIAN SYLLABICS CARRIER GHO;Lo;0;L;;;;;N;;;;;
+15C6;CANADIAN SYLLABICS CARRIER GHE;Lo;0;L;;;;;N;;;;;
+15C7;CANADIAN SYLLABICS CARRIER GHEE;Lo;0;L;;;;;N;;;;;
+15C8;CANADIAN SYLLABICS CARRIER GHI;Lo;0;L;;;;;N;;;;;
+15C9;CANADIAN SYLLABICS CARRIER GHA;Lo;0;L;;;;;N;;;;;
+15CA;CANADIAN SYLLABICS CARRIER RU;Lo;0;L;;;;;N;;;;;
+15CB;CANADIAN SYLLABICS CARRIER RO;Lo;0;L;;;;;N;;;;;
+15CC;CANADIAN SYLLABICS CARRIER RE;Lo;0;L;;;;;N;;;;;
+15CD;CANADIAN SYLLABICS CARRIER REE;Lo;0;L;;;;;N;;;;;
+15CE;CANADIAN SYLLABICS CARRIER RI;Lo;0;L;;;;;N;;;;;
+15CF;CANADIAN SYLLABICS CARRIER RA;Lo;0;L;;;;;N;;;;;
+15D0;CANADIAN SYLLABICS CARRIER WU;Lo;0;L;;;;;N;;;;;
+15D1;CANADIAN SYLLABICS CARRIER WO;Lo;0;L;;;;;N;;;;;
+15D2;CANADIAN SYLLABICS CARRIER WE;Lo;0;L;;;;;N;;;;;
+15D3;CANADIAN SYLLABICS CARRIER WEE;Lo;0;L;;;;;N;;;;;
+15D4;CANADIAN SYLLABICS CARRIER WI;Lo;0;L;;;;;N;;;;;
+15D5;CANADIAN SYLLABICS CARRIER WA;Lo;0;L;;;;;N;;;;;
+15D6;CANADIAN SYLLABICS CARRIER HWU;Lo;0;L;;;;;N;;;;;
+15D7;CANADIAN SYLLABICS CARRIER HWO;Lo;0;L;;;;;N;;;;;
+15D8;CANADIAN SYLLABICS CARRIER HWE;Lo;0;L;;;;;N;;;;;
+15D9;CANADIAN SYLLABICS CARRIER HWEE;Lo;0;L;;;;;N;;;;;
+15DA;CANADIAN SYLLABICS CARRIER HWI;Lo;0;L;;;;;N;;;;;
+15DB;CANADIAN SYLLABICS CARRIER HWA;Lo;0;L;;;;;N;;;;;
+15DC;CANADIAN SYLLABICS CARRIER THU;Lo;0;L;;;;;N;;;;;
+15DD;CANADIAN SYLLABICS CARRIER THO;Lo;0;L;;;;;N;;;;;
+15DE;CANADIAN SYLLABICS CARRIER THE;Lo;0;L;;;;;N;;;;;
+15DF;CANADIAN SYLLABICS CARRIER THEE;Lo;0;L;;;;;N;;;;;
+15E0;CANADIAN SYLLABICS CARRIER THI;Lo;0;L;;;;;N;;;;;
+15E1;CANADIAN SYLLABICS CARRIER THA;Lo;0;L;;;;;N;;;;;
+15E2;CANADIAN SYLLABICS CARRIER TTU;Lo;0;L;;;;;N;;;;;
+15E3;CANADIAN SYLLABICS CARRIER TTO;Lo;0;L;;;;;N;;;;;
+15E4;CANADIAN SYLLABICS CARRIER TTE;Lo;0;L;;;;;N;;;;;
+15E5;CANADIAN SYLLABICS CARRIER TTEE;Lo;0;L;;;;;N;;;;;
+15E6;CANADIAN SYLLABICS CARRIER TTI;Lo;0;L;;;;;N;;;;;
+15E7;CANADIAN SYLLABICS CARRIER TTA;Lo;0;L;;;;;N;;;;;
+15E8;CANADIAN SYLLABICS CARRIER PU;Lo;0;L;;;;;N;;;;;
+15E9;CANADIAN SYLLABICS CARRIER PO;Lo;0;L;;;;;N;;;;;
+15EA;CANADIAN SYLLABICS CARRIER PE;Lo;0;L;;;;;N;;;;;
+15EB;CANADIAN SYLLABICS CARRIER PEE;Lo;0;L;;;;;N;;;;;
+15EC;CANADIAN SYLLABICS CARRIER PI;Lo;0;L;;;;;N;;;;;
+15ED;CANADIAN SYLLABICS CARRIER PA;Lo;0;L;;;;;N;;;;;
+15EE;CANADIAN SYLLABICS CARRIER P;Lo;0;L;;;;;N;;;;;
+15EF;CANADIAN SYLLABICS CARRIER GU;Lo;0;L;;;;;N;;;;;
+15F0;CANADIAN SYLLABICS CARRIER GO;Lo;0;L;;;;;N;;;;;
+15F1;CANADIAN SYLLABICS CARRIER GE;Lo;0;L;;;;;N;;;;;
+15F2;CANADIAN SYLLABICS CARRIER GEE;Lo;0;L;;;;;N;;;;;
+15F3;CANADIAN SYLLABICS CARRIER GI;Lo;0;L;;;;;N;;;;;
+15F4;CANADIAN SYLLABICS CARRIER GA;Lo;0;L;;;;;N;;;;;
+15F5;CANADIAN SYLLABICS CARRIER KHU;Lo;0;L;;;;;N;;;;;
+15F6;CANADIAN SYLLABICS CARRIER KHO;Lo;0;L;;;;;N;;;;;
+15F7;CANADIAN SYLLABICS CARRIER KHE;Lo;0;L;;;;;N;;;;;
+15F8;CANADIAN SYLLABICS CARRIER KHEE;Lo;0;L;;;;;N;;;;;
+15F9;CANADIAN SYLLABICS CARRIER KHI;Lo;0;L;;;;;N;;;;;
+15FA;CANADIAN SYLLABICS CARRIER KHA;Lo;0;L;;;;;N;;;;;
+15FB;CANADIAN SYLLABICS CARRIER KKU;Lo;0;L;;;;;N;;;;;
+15FC;CANADIAN SYLLABICS CARRIER KKO;Lo;0;L;;;;;N;;;;;
+15FD;CANADIAN SYLLABICS CARRIER KKE;Lo;0;L;;;;;N;;;;;
+15FE;CANADIAN SYLLABICS CARRIER KKEE;Lo;0;L;;;;;N;;;;;
+15FF;CANADIAN SYLLABICS CARRIER KKI;Lo;0;L;;;;;N;;;;;
+1600;CANADIAN SYLLABICS CARRIER KKA;Lo;0;L;;;;;N;;;;;
+1601;CANADIAN SYLLABICS CARRIER KK;Lo;0;L;;;;;N;;;;;
+1602;CANADIAN SYLLABICS CARRIER NU;Lo;0;L;;;;;N;;;;;
+1603;CANADIAN SYLLABICS CARRIER NO;Lo;0;L;;;;;N;;;;;
+1604;CANADIAN SYLLABICS CARRIER NE;Lo;0;L;;;;;N;;;;;
+1605;CANADIAN SYLLABICS CARRIER NEE;Lo;0;L;;;;;N;;;;;
+1606;CANADIAN SYLLABICS CARRIER NI;Lo;0;L;;;;;N;;;;;
+1607;CANADIAN SYLLABICS CARRIER NA;Lo;0;L;;;;;N;;;;;
+1608;CANADIAN SYLLABICS CARRIER MU;Lo;0;L;;;;;N;;;;;
+1609;CANADIAN SYLLABICS CARRIER MO;Lo;0;L;;;;;N;;;;;
+160A;CANADIAN SYLLABICS CARRIER ME;Lo;0;L;;;;;N;;;;;
+160B;CANADIAN SYLLABICS CARRIER MEE;Lo;0;L;;;;;N;;;;;
+160C;CANADIAN SYLLABICS CARRIER MI;Lo;0;L;;;;;N;;;;;
+160D;CANADIAN SYLLABICS CARRIER MA;Lo;0;L;;;;;N;;;;;
+160E;CANADIAN SYLLABICS CARRIER YU;Lo;0;L;;;;;N;;;;;
+160F;CANADIAN SYLLABICS CARRIER YO;Lo;0;L;;;;;N;;;;;
+1610;CANADIAN SYLLABICS CARRIER YE;Lo;0;L;;;;;N;;;;;
+1611;CANADIAN SYLLABICS CARRIER YEE;Lo;0;L;;;;;N;;;;;
+1612;CANADIAN SYLLABICS CARRIER YI;Lo;0;L;;;;;N;;;;;
+1613;CANADIAN SYLLABICS CARRIER YA;Lo;0;L;;;;;N;;;;;
+1614;CANADIAN SYLLABICS CARRIER JU;Lo;0;L;;;;;N;;;;;
+1615;CANADIAN SYLLABICS SAYISI JU;Lo;0;L;;;;;N;;;;;
+1616;CANADIAN SYLLABICS CARRIER JO;Lo;0;L;;;;;N;;;;;
+1617;CANADIAN SYLLABICS CARRIER JE;Lo;0;L;;;;;N;;;;;
+1618;CANADIAN SYLLABICS CARRIER JEE;Lo;0;L;;;;;N;;;;;
+1619;CANADIAN SYLLABICS CARRIER JI;Lo;0;L;;;;;N;;;;;
+161A;CANADIAN SYLLABICS SAYISI JI;Lo;0;L;;;;;N;;;;;
+161B;CANADIAN SYLLABICS CARRIER JA;Lo;0;L;;;;;N;;;;;
+161C;CANADIAN SYLLABICS CARRIER JJU;Lo;0;L;;;;;N;;;;;
+161D;CANADIAN SYLLABICS CARRIER JJO;Lo;0;L;;;;;N;;;;;
+161E;CANADIAN SYLLABICS CARRIER JJE;Lo;0;L;;;;;N;;;;;
+161F;CANADIAN SYLLABICS CARRIER JJEE;Lo;0;L;;;;;N;;;;;
+1620;CANADIAN SYLLABICS CARRIER JJI;Lo;0;L;;;;;N;;;;;
+1621;CANADIAN SYLLABICS CARRIER JJA;Lo;0;L;;;;;N;;;;;
+1622;CANADIAN SYLLABICS CARRIER LU;Lo;0;L;;;;;N;;;;;
+1623;CANADIAN SYLLABICS CARRIER LO;Lo;0;L;;;;;N;;;;;
+1624;CANADIAN SYLLABICS CARRIER LE;Lo;0;L;;;;;N;;;;;
+1625;CANADIAN SYLLABICS CARRIER LEE;Lo;0;L;;;;;N;;;;;
+1626;CANADIAN SYLLABICS CARRIER LI;Lo;0;L;;;;;N;;;;;
+1627;CANADIAN SYLLABICS CARRIER LA;Lo;0;L;;;;;N;;;;;
+1628;CANADIAN SYLLABICS CARRIER DLU;Lo;0;L;;;;;N;;;;;
+1629;CANADIAN SYLLABICS CARRIER DLO;Lo;0;L;;;;;N;;;;;
+162A;CANADIAN SYLLABICS CARRIER DLE;Lo;0;L;;;;;N;;;;;
+162B;CANADIAN SYLLABICS CARRIER DLEE;Lo;0;L;;;;;N;;;;;
+162C;CANADIAN SYLLABICS CARRIER DLI;Lo;0;L;;;;;N;;;;;
+162D;CANADIAN SYLLABICS CARRIER DLA;Lo;0;L;;;;;N;;;;;
+162E;CANADIAN SYLLABICS CARRIER LHU;Lo;0;L;;;;;N;;;;;
+162F;CANADIAN SYLLABICS CARRIER LHO;Lo;0;L;;;;;N;;;;;
+1630;CANADIAN SYLLABICS CARRIER LHE;Lo;0;L;;;;;N;;;;;
+1631;CANADIAN SYLLABICS CARRIER LHEE;Lo;0;L;;;;;N;;;;;
+1632;CANADIAN SYLLABICS CARRIER LHI;Lo;0;L;;;;;N;;;;;
+1633;CANADIAN SYLLABICS CARRIER LHA;Lo;0;L;;;;;N;;;;;
+1634;CANADIAN SYLLABICS CARRIER TLHU;Lo;0;L;;;;;N;;;;;
+1635;CANADIAN SYLLABICS CARRIER TLHO;Lo;0;L;;;;;N;;;;;
+1636;CANADIAN SYLLABICS CARRIER TLHE;Lo;0;L;;;;;N;;;;;
+1637;CANADIAN SYLLABICS CARRIER TLHEE;Lo;0;L;;;;;N;;;;;
+1638;CANADIAN SYLLABICS CARRIER TLHI;Lo;0;L;;;;;N;;;;;
+1639;CANADIAN SYLLABICS CARRIER TLHA;Lo;0;L;;;;;N;;;;;
+163A;CANADIAN SYLLABICS CARRIER TLU;Lo;0;L;;;;;N;;;;;
+163B;CANADIAN SYLLABICS CARRIER TLO;Lo;0;L;;;;;N;;;;;
+163C;CANADIAN SYLLABICS CARRIER TLE;Lo;0;L;;;;;N;;;;;
+163D;CANADIAN SYLLABICS CARRIER TLEE;Lo;0;L;;;;;N;;;;;
+163E;CANADIAN SYLLABICS CARRIER TLI;Lo;0;L;;;;;N;;;;;
+163F;CANADIAN SYLLABICS CARRIER TLA;Lo;0;L;;;;;N;;;;;
+1640;CANADIAN SYLLABICS CARRIER ZU;Lo;0;L;;;;;N;;;;;
+1641;CANADIAN SYLLABICS CARRIER ZO;Lo;0;L;;;;;N;;;;;
+1642;CANADIAN SYLLABICS CARRIER ZE;Lo;0;L;;;;;N;;;;;
+1643;CANADIAN SYLLABICS CARRIER ZEE;Lo;0;L;;;;;N;;;;;
+1644;CANADIAN SYLLABICS CARRIER ZI;Lo;0;L;;;;;N;;;;;
+1645;CANADIAN SYLLABICS CARRIER ZA;Lo;0;L;;;;;N;;;;;
+1646;CANADIAN SYLLABICS CARRIER Z;Lo;0;L;;;;;N;;;;;
+1647;CANADIAN SYLLABICS CARRIER INITIAL Z;Lo;0;L;;;;;N;;;;;
+1648;CANADIAN SYLLABICS CARRIER DZU;Lo;0;L;;;;;N;;;;;
+1649;CANADIAN SYLLABICS CARRIER DZO;Lo;0;L;;;;;N;;;;;
+164A;CANADIAN SYLLABICS CARRIER DZE;Lo;0;L;;;;;N;;;;;
+164B;CANADIAN SYLLABICS CARRIER DZEE;Lo;0;L;;;;;N;;;;;
+164C;CANADIAN SYLLABICS CARRIER DZI;Lo;0;L;;;;;N;;;;;
+164D;CANADIAN SYLLABICS CARRIER DZA;Lo;0;L;;;;;N;;;;;
+164E;CANADIAN SYLLABICS CARRIER SU;Lo;0;L;;;;;N;;;;;
+164F;CANADIAN SYLLABICS CARRIER SO;Lo;0;L;;;;;N;;;;;
+1650;CANADIAN SYLLABICS CARRIER SE;Lo;0;L;;;;;N;;;;;
+1651;CANADIAN SYLLABICS CARRIER SEE;Lo;0;L;;;;;N;;;;;
+1652;CANADIAN SYLLABICS CARRIER SI;Lo;0;L;;;;;N;;;;;
+1653;CANADIAN SYLLABICS CARRIER SA;Lo;0;L;;;;;N;;;;;
+1654;CANADIAN SYLLABICS CARRIER SHU;Lo;0;L;;;;;N;;;;;
+1655;CANADIAN SYLLABICS CARRIER SHO;Lo;0;L;;;;;N;;;;;
+1656;CANADIAN SYLLABICS CARRIER SHE;Lo;0;L;;;;;N;;;;;
+1657;CANADIAN SYLLABICS CARRIER SHEE;Lo;0;L;;;;;N;;;;;
+1658;CANADIAN SYLLABICS CARRIER SHI;Lo;0;L;;;;;N;;;;;
+1659;CANADIAN SYLLABICS CARRIER SHA;Lo;0;L;;;;;N;;;;;
+165A;CANADIAN SYLLABICS CARRIER SH;Lo;0;L;;;;;N;;;;;
+165B;CANADIAN SYLLABICS CARRIER TSU;Lo;0;L;;;;;N;;;;;
+165C;CANADIAN SYLLABICS CARRIER TSO;Lo;0;L;;;;;N;;;;;
+165D;CANADIAN SYLLABICS CARRIER TSE;Lo;0;L;;;;;N;;;;;
+165E;CANADIAN SYLLABICS CARRIER TSEE;Lo;0;L;;;;;N;;;;;
+165F;CANADIAN SYLLABICS CARRIER TSI;Lo;0;L;;;;;N;;;;;
+1660;CANADIAN SYLLABICS CARRIER TSA;Lo;0;L;;;;;N;;;;;
+1661;CANADIAN SYLLABICS CARRIER CHU;Lo;0;L;;;;;N;;;;;
+1662;CANADIAN SYLLABICS CARRIER CHO;Lo;0;L;;;;;N;;;;;
+1663;CANADIAN SYLLABICS CARRIER CHE;Lo;0;L;;;;;N;;;;;
+1664;CANADIAN SYLLABICS CARRIER CHEE;Lo;0;L;;;;;N;;;;;
+1665;CANADIAN SYLLABICS CARRIER CHI;Lo;0;L;;;;;N;;;;;
+1666;CANADIAN SYLLABICS CARRIER CHA;Lo;0;L;;;;;N;;;;;
+1667;CANADIAN SYLLABICS CARRIER TTSU;Lo;0;L;;;;;N;;;;;
+1668;CANADIAN SYLLABICS CARRIER TTSO;Lo;0;L;;;;;N;;;;;
+1669;CANADIAN SYLLABICS CARRIER TTSE;Lo;0;L;;;;;N;;;;;
+166A;CANADIAN SYLLABICS CARRIER TTSEE;Lo;0;L;;;;;N;;;;;
+166B;CANADIAN SYLLABICS CARRIER TTSI;Lo;0;L;;;;;N;;;;;
+166C;CANADIAN SYLLABICS CARRIER TTSA;Lo;0;L;;;;;N;;;;;
+166D;CANADIAN SYLLABICS CHI SIGN;Po;0;L;;;;;N;;;;;
+166E;CANADIAN SYLLABICS FULL STOP;Po;0;L;;;;;N;;;;;
+166F;CANADIAN SYLLABICS QAI;Lo;0;L;;;;;N;;;;;
+1670;CANADIAN SYLLABICS NGAI;Lo;0;L;;;;;N;;;;;
+1671;CANADIAN SYLLABICS NNGI;Lo;0;L;;;;;N;;;;;
+1672;CANADIAN SYLLABICS NNGII;Lo;0;L;;;;;N;;;;;
+1673;CANADIAN SYLLABICS NNGO;Lo;0;L;;;;;N;;;;;
+1674;CANADIAN SYLLABICS NNGOO;Lo;0;L;;;;;N;;;;;
+1675;CANADIAN SYLLABICS NNGA;Lo;0;L;;;;;N;;;;;
+1676;CANADIAN SYLLABICS NNGAA;Lo;0;L;;;;;N;;;;;
+1680;OGHAM SPACE MARK;Zs;0;WS;;;;;N;;;;;
+1681;OGHAM LETTER BEITH;Lo;0;L;;;;;N;;;;;
+1682;OGHAM LETTER LUIS;Lo;0;L;;;;;N;;;;;
+1683;OGHAM LETTER FEARN;Lo;0;L;;;;;N;;;;;
+1684;OGHAM LETTER SAIL;Lo;0;L;;;;;N;;;;;
+1685;OGHAM LETTER NION;Lo;0;L;;;;;N;;;;;
+1686;OGHAM LETTER UATH;Lo;0;L;;;;;N;;;;;
+1687;OGHAM LETTER DAIR;Lo;0;L;;;;;N;;;;;
+1688;OGHAM LETTER TINNE;Lo;0;L;;;;;N;;;;;
+1689;OGHAM LETTER COLL;Lo;0;L;;;;;N;;;;;
+168A;OGHAM LETTER CEIRT;Lo;0;L;;;;;N;;;;;
+168B;OGHAM LETTER MUIN;Lo;0;L;;;;;N;;;;;
+168C;OGHAM LETTER GORT;Lo;0;L;;;;;N;;;;;
+168D;OGHAM LETTER NGEADAL;Lo;0;L;;;;;N;;;;;
+168E;OGHAM LETTER STRAIF;Lo;0;L;;;;;N;;;;;
+168F;OGHAM LETTER RUIS;Lo;0;L;;;;;N;;;;;
+1690;OGHAM LETTER AILM;Lo;0;L;;;;;N;;;;;
+1691;OGHAM LETTER ONN;Lo;0;L;;;;;N;;;;;
+1692;OGHAM LETTER UR;Lo;0;L;;;;;N;;;;;
+1693;OGHAM LETTER EADHADH;Lo;0;L;;;;;N;;;;;
+1694;OGHAM LETTER IODHADH;Lo;0;L;;;;;N;;;;;
+1695;OGHAM LETTER EABHADH;Lo;0;L;;;;;N;;;;;
+1696;OGHAM LETTER OR;Lo;0;L;;;;;N;;;;;
+1697;OGHAM LETTER UILLEANN;Lo;0;L;;;;;N;;;;;
+1698;OGHAM LETTER IFIN;Lo;0;L;;;;;N;;;;;
+1699;OGHAM LETTER EAMHANCHOLL;Lo;0;L;;;;;N;;;;;
+169A;OGHAM LETTER PEITH;Lo;0;L;;;;;N;;;;;
+169B;OGHAM FEATHER MARK;Ps;0;ON;;;;;N;;;;;
+169C;OGHAM REVERSED FEATHER MARK;Pe;0;ON;;;;;N;;;;;
+16A0;RUNIC LETTER FEHU FEOH FE F;Lo;0;L;;;;;N;;;;;
+16A1;RUNIC LETTER V;Lo;0;L;;;;;N;;;;;
+16A2;RUNIC LETTER URUZ UR U;Lo;0;L;;;;;N;;;;;
+16A3;RUNIC LETTER YR;Lo;0;L;;;;;N;;;;;
+16A4;RUNIC LETTER Y;Lo;0;L;;;;;N;;;;;
+16A5;RUNIC LETTER W;Lo;0;L;;;;;N;;;;;
+16A6;RUNIC LETTER THURISAZ THURS THORN;Lo;0;L;;;;;N;;;;;
+16A7;RUNIC LETTER ETH;Lo;0;L;;;;;N;;;;;
+16A8;RUNIC LETTER ANSUZ A;Lo;0;L;;;;;N;;;;;
+16A9;RUNIC LETTER OS O;Lo;0;L;;;;;N;;;;;
+16AA;RUNIC LETTER AC A;Lo;0;L;;;;;N;;;;;
+16AB;RUNIC LETTER AESC;Lo;0;L;;;;;N;;;;;
+16AC;RUNIC LETTER LONG-BRANCH-OSS O;Lo;0;L;;;;;N;;;;;
+16AD;RUNIC LETTER SHORT-TWIG-OSS O;Lo;0;L;;;;;N;;;;;
+16AE;RUNIC LETTER O;Lo;0;L;;;;;N;;;;;
+16AF;RUNIC LETTER OE;Lo;0;L;;;;;N;;;;;
+16B0;RUNIC LETTER ON;Lo;0;L;;;;;N;;;;;
+16B1;RUNIC LETTER RAIDO RAD REID R;Lo;0;L;;;;;N;;;;;
+16B2;RUNIC LETTER KAUNA;Lo;0;L;;;;;N;;;;;
+16B3;RUNIC LETTER CEN;Lo;0;L;;;;;N;;;;;
+16B4;RUNIC LETTER KAUN K;Lo;0;L;;;;;N;;;;;
+16B5;RUNIC LETTER G;Lo;0;L;;;;;N;;;;;
+16B6;RUNIC LETTER ENG;Lo;0;L;;;;;N;;;;;
+16B7;RUNIC LETTER GEBO GYFU G;Lo;0;L;;;;;N;;;;;
+16B8;RUNIC LETTER GAR;Lo;0;L;;;;;N;;;;;
+16B9;RUNIC LETTER WUNJO WYNN W;Lo;0;L;;;;;N;;;;;
+16BA;RUNIC LETTER HAGLAZ H;Lo;0;L;;;;;N;;;;;
+16BB;RUNIC LETTER HAEGL H;Lo;0;L;;;;;N;;;;;
+16BC;RUNIC LETTER LONG-BRANCH-HAGALL H;Lo;0;L;;;;;N;;;;;
+16BD;RUNIC LETTER SHORT-TWIG-HAGALL H;Lo;0;L;;;;;N;;;;;
+16BE;RUNIC LETTER NAUDIZ NYD NAUD N;Lo;0;L;;;;;N;;;;;
+16BF;RUNIC LETTER SHORT-TWIG-NAUD N;Lo;0;L;;;;;N;;;;;
+16C0;RUNIC LETTER DOTTED-N;Lo;0;L;;;;;N;;;;;
+16C1;RUNIC LETTER ISAZ IS ISS I;Lo;0;L;;;;;N;;;;;
+16C2;RUNIC LETTER E;Lo;0;L;;;;;N;;;;;
+16C3;RUNIC LETTER JERAN J;Lo;0;L;;;;;N;;;;;
+16C4;RUNIC LETTER GER;Lo;0;L;;;;;N;;;;;
+16C5;RUNIC LETTER LONG-BRANCH-AR AE;Lo;0;L;;;;;N;;;;;
+16C6;RUNIC LETTER SHORT-TWIG-AR A;Lo;0;L;;;;;N;;;;;
+16C7;RUNIC LETTER IWAZ EOH;Lo;0;L;;;;;N;;;;;
+16C8;RUNIC LETTER PERTHO PEORTH P;Lo;0;L;;;;;N;;;;;
+16C9;RUNIC LETTER ALGIZ EOLHX;Lo;0;L;;;;;N;;;;;
+16CA;RUNIC LETTER SOWILO S;Lo;0;L;;;;;N;;;;;
+16CB;RUNIC LETTER SIGEL LONG-BRANCH-SOL S;Lo;0;L;;;;;N;;;;;
+16CC;RUNIC LETTER SHORT-TWIG-SOL S;Lo;0;L;;;;;N;;;;;
+16CD;RUNIC LETTER C;Lo;0;L;;;;;N;;;;;
+16CE;RUNIC LETTER Z;Lo;0;L;;;;;N;;;;;
+16CF;RUNIC LETTER TIWAZ TIR TYR T;Lo;0;L;;;;;N;;;;;
+16D0;RUNIC LETTER SHORT-TWIG-TYR T;Lo;0;L;;;;;N;;;;;
+16D1;RUNIC LETTER D;Lo;0;L;;;;;N;;;;;
+16D2;RUNIC LETTER BERKANAN BEORC BJARKAN B;Lo;0;L;;;;;N;;;;;
+16D3;RUNIC LETTER SHORT-TWIG-BJARKAN B;Lo;0;L;;;;;N;;;;;
+16D4;RUNIC LETTER DOTTED-P;Lo;0;L;;;;;N;;;;;
+16D5;RUNIC LETTER OPEN-P;Lo;0;L;;;;;N;;;;;
+16D6;RUNIC LETTER EHWAZ EH E;Lo;0;L;;;;;N;;;;;
+16D7;RUNIC LETTER MANNAZ MAN M;Lo;0;L;;;;;N;;;;;
+16D8;RUNIC LETTER LONG-BRANCH-MADR M;Lo;0;L;;;;;N;;;;;
+16D9;RUNIC LETTER SHORT-TWIG-MADR M;Lo;0;L;;;;;N;;;;;
+16DA;RUNIC LETTER LAUKAZ LAGU LOGR L;Lo;0;L;;;;;N;;;;;
+16DB;RUNIC LETTER DOTTED-L;Lo;0;L;;;;;N;;;;;
+16DC;RUNIC LETTER INGWAZ;Lo;0;L;;;;;N;;;;;
+16DD;RUNIC LETTER ING;Lo;0;L;;;;;N;;;;;
+16DE;RUNIC LETTER DAGAZ DAEG D;Lo;0;L;;;;;N;;;;;
+16DF;RUNIC LETTER OTHALAN ETHEL O;Lo;0;L;;;;;N;;;;;
+16E0;RUNIC LETTER EAR;Lo;0;L;;;;;N;;;;;
+16E1;RUNIC LETTER IOR;Lo;0;L;;;;;N;;;;;
+16E2;RUNIC LETTER CWEORTH;Lo;0;L;;;;;N;;;;;
+16E3;RUNIC LETTER CALC;Lo;0;L;;;;;N;;;;;
+16E4;RUNIC LETTER CEALC;Lo;0;L;;;;;N;;;;;
+16E5;RUNIC LETTER STAN;Lo;0;L;;;;;N;;;;;
+16E6;RUNIC LETTER LONG-BRANCH-YR;Lo;0;L;;;;;N;;;;;
+16E7;RUNIC LETTER SHORT-TWIG-YR;Lo;0;L;;;;;N;;;;;
+16E8;RUNIC LETTER ICELANDIC-YR;Lo;0;L;;;;;N;;;;;
+16E9;RUNIC LETTER Q;Lo;0;L;;;;;N;;;;;
+16EA;RUNIC LETTER X;Lo;0;L;;;;;N;;;;;
+16EB;RUNIC SINGLE PUNCTUATION;Po;0;L;;;;;N;;;;;
+16EC;RUNIC MULTIPLE PUNCTUATION;Po;0;L;;;;;N;;;;;
+16ED;RUNIC CROSS PUNCTUATION;Po;0;L;;;;;N;;;;;
+16EE;RUNIC ARLAUG SYMBOL;No;0;L;;;;17;N;;golden number 17;;;
+16EF;RUNIC TVIMADUR SYMBOL;No;0;L;;;;18;N;;golden number 18;;;
+16F0;RUNIC BELGTHOR SYMBOL;No;0;L;;;;19;N;;golden number 19;;;
+1780;KHMER LETTER KA;Lo;0;L;;;;;N;;;;;
+1781;KHMER LETTER KHA;Lo;0;L;;;;;N;;;;;
+1782;KHMER LETTER KO;Lo;0;L;;;;;N;;;;;
+1783;KHMER LETTER KHO;Lo;0;L;;;;;N;;;;;
+1784;KHMER LETTER NGO;Lo;0;L;;;;;N;;;;;
+1785;KHMER LETTER CA;Lo;0;L;;;;;N;;;;;
+1786;KHMER LETTER CHA;Lo;0;L;;;;;N;;;;;
+1787;KHMER LETTER CO;Lo;0;L;;;;;N;;;;;
+1788;KHMER LETTER CHO;Lo;0;L;;;;;N;;;;;
+1789;KHMER LETTER NYO;Lo;0;L;;;;;N;;;;;
+178A;KHMER LETTER DA;Lo;0;L;;;;;N;;;;;
+178B;KHMER LETTER TTHA;Lo;0;L;;;;;N;;;;;
+178C;KHMER LETTER DO;Lo;0;L;;;;;N;;;;;
+178D;KHMER LETTER TTHO;Lo;0;L;;;;;N;;;;;
+178E;KHMER LETTER NNO;Lo;0;L;;;;;N;;;;;
+178F;KHMER LETTER TA;Lo;0;L;;;;;N;;;;;
+1790;KHMER LETTER THA;Lo;0;L;;;;;N;;;;;
+1791;KHMER LETTER TO;Lo;0;L;;;;;N;;;;;
+1792;KHMER LETTER THO;Lo;0;L;;;;;N;;;;;
+1793;KHMER LETTER NO;Lo;0;L;;;;;N;;;;;
+1794;KHMER LETTER BA;Lo;0;L;;;;;N;;;;;
+1795;KHMER LETTER PHA;Lo;0;L;;;;;N;;;;;
+1796;KHMER LETTER PO;Lo;0;L;;;;;N;;;;;
+1797;KHMER LETTER PHO;Lo;0;L;;;;;N;;;;;
+1798;KHMER LETTER MO;Lo;0;L;;;;;N;;;;;
+1799;KHMER LETTER YO;Lo;0;L;;;;;N;;;;;
+179A;KHMER LETTER RO;Lo;0;L;;;;;N;;;;;
+179B;KHMER LETTER LO;Lo;0;L;;;;;N;;;;;
+179C;KHMER LETTER VO;Lo;0;L;;;;;N;;;;;
+179D;KHMER LETTER SHA;Lo;0;L;;;;;N;;;;;
+179E;KHMER LETTER SSO;Lo;0;L;;;;;N;;;;;
+179F;KHMER LETTER SA;Lo;0;L;;;;;N;;;;;
+17A0;KHMER LETTER HA;Lo;0;L;;;;;N;;;;;
+17A1;KHMER LETTER LA;Lo;0;L;;;;;N;;;;;
+17A2;KHMER LETTER QA;Lo;0;L;;;;;N;;;;;
+17A3;KHMER INDEPENDENT VOWEL QAQ;Lo;0;L;;;;;N;;;;;
+17A4;KHMER INDEPENDENT VOWEL QAA;Lo;0;L;;;;;N;;;;;
+17A5;KHMER INDEPENDENT VOWEL QI;Lo;0;L;;;;;N;;;;;
+17A6;KHMER INDEPENDENT VOWEL QII;Lo;0;L;;;;;N;;;;;
+17A7;KHMER INDEPENDENT VOWEL QU;Lo;0;L;;;;;N;;;;;
+17A8;KHMER INDEPENDENT VOWEL QUK;Lo;0;L;;;;;N;;;;;
+17A9;KHMER INDEPENDENT VOWEL QUU;Lo;0;L;;;;;N;;;;;
+17AA;KHMER INDEPENDENT VOWEL QUUV;Lo;0;L;;;;;N;;;;;
+17AB;KHMER INDEPENDENT VOWEL RY;Lo;0;L;;;;;N;;;;;
+17AC;KHMER INDEPENDENT VOWEL RYY;Lo;0;L;;;;;N;;;;;
+17AD;KHMER INDEPENDENT VOWEL LY;Lo;0;L;;;;;N;;;;;
+17AE;KHMER INDEPENDENT VOWEL LYY;Lo;0;L;;;;;N;;;;;
+17AF;KHMER INDEPENDENT VOWEL QE;Lo;0;L;;;;;N;;;;;
+17B0;KHMER INDEPENDENT VOWEL QAI;Lo;0;L;;;;;N;;;;;
+17B1;KHMER INDEPENDENT VOWEL QOO TYPE ONE;Lo;0;L;;;;;N;;;;;
+17B2;KHMER INDEPENDENT VOWEL QOO TYPE TWO;Lo;0;L;;;;;N;;;;;
+17B3;KHMER INDEPENDENT VOWEL QAU;Lo;0;L;;;;;N;;;;;
+17B4;KHMER VOWEL INHERENT AQ;Mc;0;L;;;;;N;;;;;
+17B5;KHMER VOWEL INHERENT AA;Mc;0;L;;;;;N;;;;;
+17B6;KHMER VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+17B7;KHMER VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
+17B8;KHMER VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
+17B9;KHMER VOWEL SIGN Y;Mn;0;NSM;;;;;N;;;;;
+17BA;KHMER VOWEL SIGN YY;Mn;0;NSM;;;;;N;;;;;
+17BB;KHMER VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+17BC;KHMER VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+17BD;KHMER VOWEL SIGN UA;Mn;0;NSM;;;;;N;;;;;
+17BE;KHMER VOWEL SIGN OE;Mc;0;L;;;;;N;;;;;
+17BF;KHMER VOWEL SIGN YA;Mc;0;L;;;;;N;;;;;
+17C0;KHMER VOWEL SIGN IE;Mc;0;L;;;;;N;;;;;
+17C1;KHMER VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+17C2;KHMER VOWEL SIGN AE;Mc;0;L;;;;;N;;;;;
+17C3;KHMER VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
+17C4;KHMER VOWEL SIGN OO;Mc;0;L;;;;;N;;;;;
+17C5;KHMER VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
+17C6;KHMER SIGN NIKAHIT;Mn;0;NSM;;;;;N;;;;;
+17C7;KHMER SIGN REAHMUK;Mc;0;L;;;;;N;;;;;
+17C8;KHMER SIGN YUUKALEAPINTU;Mc;0;L;;;;;N;;;;;
+17C9;KHMER SIGN MUUSIKATOAN;Mn;0;NSM;;;;;N;;;;;
+17CA;KHMER SIGN TRIISAP;Mn;0;NSM;;;;;N;;;;;
+17CB;KHMER SIGN BANTOC;Mn;0;NSM;;;;;N;;;;;
+17CC;KHMER SIGN ROBAT;Mn;0;NSM;;;;;N;;;;;
+17CD;KHMER SIGN TOANDAKHIAT;Mn;0;NSM;;;;;N;;;;;
+17CE;KHMER SIGN KAKABAT;Mn;0;NSM;;;;;N;;;;;
+17CF;KHMER SIGN AHSDA;Mn;0;NSM;;;;;N;;;;;
+17D0;KHMER SIGN SAMYOK SANNYA;Mn;0;NSM;;;;;N;;;;;
+17D1;KHMER SIGN VIRIAM;Mn;0;NSM;;;;;N;;;;;
+17D2;KHMER SIGN COENG;Mn;9;NSM;;;;;N;;;;;
+17D3;KHMER SIGN BATHAMASAT;Mn;0;NSM;;;;;N;;;;;
+17D4;KHMER SIGN KHAN;Po;0;L;;;;;N;;;;;
+17D5;KHMER SIGN BARIYOOSAN;Po;0;L;;;;;N;;;;;
+17D6;KHMER SIGN CAMNUC PII KUUH;Po;0;L;;;;;N;;;;;
+17D7;KHMER SIGN LEK TOO;Po;0;L;;;;;N;;;;;
+17D8;KHMER SIGN BEYYAL;Po;0;L;;;;;N;;;;;
+17D9;KHMER SIGN PHNAEK MUAN;Po;0;L;;;;;N;;;;;
+17DA;KHMER SIGN KOOMUUT;Po;0;L;;;;;N;;;;;
+17DB;KHMER CURRENCY SYMBOL RIEL;Sc;0;ET;;;;;N;;;;;
+17DC;KHMER SIGN AVAKRAHASANYA;Po;0;L;;;;;N;;;;;
+17E0;KHMER DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+17E1;KHMER DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+17E2;KHMER DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+17E3;KHMER DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+17E4;KHMER DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+17E5;KHMER DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+17E6;KHMER DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+17E7;KHMER DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+17E8;KHMER DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+17E9;KHMER DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+1800;MONGOLIAN BIRGA;Po;0;ON;;;;;N;;;;;
+1801;MONGOLIAN ELLIPSIS;Po;0;ON;;;;;N;;;;;
+1802;MONGOLIAN COMMA;Po;0;ON;;;;;N;;;;;
+1803;MONGOLIAN FULL STOP;Po;0;ON;;;;;N;;;;;
+1804;MONGOLIAN COLON;Po;0;ON;;;;;N;;;;;
+1805;MONGOLIAN FOUR DOTS;Po;0;ON;;;;;N;;;;;
+1806;MONGOLIAN TODO SOFT HYPHEN;Po;0;ON;;;;;N;;;;;
+1807;MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER;Po;0;ON;;;;;N;;;;;
+1808;MONGOLIAN MANCHU COMMA;Po;0;ON;;;;;N;;;;;
+1809;MONGOLIAN MANCHU FULL STOP;Po;0;ON;;;;;N;;;;;
+180A;MONGOLIAN NIRUGU;Po;0;ON;;;;;N;;;;;
+180B;MONGOLIAN FREE VARIATION SELECTOR ONE;Cf;0;BN;;;;;N;;;;;
+180C;MONGOLIAN FREE VARIATION SELECTOR TWO;Cf;0;BN;;;;;N;;;;;
+180D;MONGOLIAN FREE VARIATION SELECTOR THREE;Cf;0;BN;;;;;N;;;;;
+180E;MONGOLIAN VOWEL SEPARATOR;Cf;0;BN;;;;;N;;;;;
+1810;MONGOLIAN DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+1811;MONGOLIAN DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+1812;MONGOLIAN DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+1813;MONGOLIAN DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+1814;MONGOLIAN DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+1815;MONGOLIAN DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+1816;MONGOLIAN DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+1817;MONGOLIAN DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+1818;MONGOLIAN DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+1819;MONGOLIAN DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+1820;MONGOLIAN LETTER A;Lo;0;L;;;;;N;;;;;
+1821;MONGOLIAN LETTER E;Lo;0;L;;;;;N;;;;;
+1822;MONGOLIAN LETTER I;Lo;0;L;;;;;N;;;;;
+1823;MONGOLIAN LETTER O;Lo;0;L;;;;;N;;;;;
+1824;MONGOLIAN LETTER U;Lo;0;L;;;;;N;;;;;
+1825;MONGOLIAN LETTER OE;Lo;0;L;;;;;N;;;;;
+1826;MONGOLIAN LETTER UE;Lo;0;L;;;;;N;;;;;
+1827;MONGOLIAN LETTER EE;Lo;0;L;;;;;N;;;;;
+1828;MONGOLIAN LETTER NA;Lo;0;L;;;;;N;;;;;
+1829;MONGOLIAN LETTER ANG;Lo;0;L;;;;;N;;;;;
+182A;MONGOLIAN LETTER BA;Lo;0;L;;;;;N;;;;;
+182B;MONGOLIAN LETTER PA;Lo;0;L;;;;;N;;;;;
+182C;MONGOLIAN LETTER QA;Lo;0;L;;;;;N;;;;;
+182D;MONGOLIAN LETTER GA;Lo;0;L;;;;;N;;;;;
+182E;MONGOLIAN LETTER MA;Lo;0;L;;;;;N;;;;;
+182F;MONGOLIAN LETTER LA;Lo;0;L;;;;;N;;;;;
+1830;MONGOLIAN LETTER SA;Lo;0;L;;;;;N;;;;;
+1831;MONGOLIAN LETTER SHA;Lo;0;L;;;;;N;;;;;
+1832;MONGOLIAN LETTER TA;Lo;0;L;;;;;N;;;;;
+1833;MONGOLIAN LETTER DA;Lo;0;L;;;;;N;;;;;
+1834;MONGOLIAN LETTER CHA;Lo;0;L;;;;;N;;;;;
+1835;MONGOLIAN LETTER JA;Lo;0;L;;;;;N;;;;;
+1836;MONGOLIAN LETTER YA;Lo;0;L;;;;;N;;;;;
+1837;MONGOLIAN LETTER RA;Lo;0;L;;;;;N;;;;;
+1838;MONGOLIAN LETTER WA;Lo;0;L;;;;;N;;;;;
+1839;MONGOLIAN LETTER FA;Lo;0;L;;;;;N;;;;;
+183A;MONGOLIAN LETTER KA;Lo;0;L;;;;;N;;;;;
+183B;MONGOLIAN LETTER KHA;Lo;0;L;;;;;N;;;;;
+183C;MONGOLIAN LETTER TSA;Lo;0;L;;;;;N;;;;;
+183D;MONGOLIAN LETTER ZA;Lo;0;L;;;;;N;;;;;
+183E;MONGOLIAN LETTER HAA;Lo;0;L;;;;;N;;;;;
+183F;MONGOLIAN LETTER ZRA;Lo;0;L;;;;;N;;;;;
+1840;MONGOLIAN LETTER LHA;Lo;0;L;;;;;N;;;;;
+1841;MONGOLIAN LETTER ZHI;Lo;0;L;;;;;N;;;;;
+1842;MONGOLIAN LETTER CHI;Lo;0;L;;;;;N;;;;;
+1843;MONGOLIAN LETTER TODO LONG VOWEL SIGN;Lm;0;L;;;;;N;;;;;
+1844;MONGOLIAN LETTER TODO E;Lo;0;L;;;;;N;;;;;
+1845;MONGOLIAN LETTER TODO I;Lo;0;L;;;;;N;;;;;
+1846;MONGOLIAN LETTER TODO O;Lo;0;L;;;;;N;;;;;
+1847;MONGOLIAN LETTER TODO U;Lo;0;L;;;;;N;;;;;
+1848;MONGOLIAN LETTER TODO OE;Lo;0;L;;;;;N;;;;;
+1849;MONGOLIAN LETTER TODO UE;Lo;0;L;;;;;N;;;;;
+184A;MONGOLIAN LETTER TODO ANG;Lo;0;L;;;;;N;;;;;
+184B;MONGOLIAN LETTER TODO BA;Lo;0;L;;;;;N;;;;;
+184C;MONGOLIAN LETTER TODO PA;Lo;0;L;;;;;N;;;;;
+184D;MONGOLIAN LETTER TODO QA;Lo;0;L;;;;;N;;;;;
+184E;MONGOLIAN LETTER TODO GA;Lo;0;L;;;;;N;;;;;
+184F;MONGOLIAN LETTER TODO MA;Lo;0;L;;;;;N;;;;;
+1850;MONGOLIAN LETTER TODO TA;Lo;0;L;;;;;N;;;;;
+1851;MONGOLIAN LETTER TODO DA;Lo;0;L;;;;;N;;;;;
+1852;MONGOLIAN LETTER TODO CHA;Lo;0;L;;;;;N;;;;;
+1853;MONGOLIAN LETTER TODO JA;Lo;0;L;;;;;N;;;;;
+1854;MONGOLIAN LETTER TODO TSA;Lo;0;L;;;;;N;;;;;
+1855;MONGOLIAN LETTER TODO YA;Lo;0;L;;;;;N;;;;;
+1856;MONGOLIAN LETTER TODO WA;Lo;0;L;;;;;N;;;;;
+1857;MONGOLIAN LETTER TODO KA;Lo;0;L;;;;;N;;;;;
+1858;MONGOLIAN LETTER TODO GAA;Lo;0;L;;;;;N;;;;;
+1859;MONGOLIAN LETTER TODO HAA;Lo;0;L;;;;;N;;;;;
+185A;MONGOLIAN LETTER TODO JIA;Lo;0;L;;;;;N;;;;;
+185B;MONGOLIAN LETTER TODO NIA;Lo;0;L;;;;;N;;;;;
+185C;MONGOLIAN LETTER TODO DZA;Lo;0;L;;;;;N;;;;;
+185D;MONGOLIAN LETTER SIBE E;Lo;0;L;;;;;N;;;;;
+185E;MONGOLIAN LETTER SIBE I;Lo;0;L;;;;;N;;;;;
+185F;MONGOLIAN LETTER SIBE IY;Lo;0;L;;;;;N;;;;;
+1860;MONGOLIAN LETTER SIBE UE;Lo;0;L;;;;;N;;;;;
+1861;MONGOLIAN LETTER SIBE U;Lo;0;L;;;;;N;;;;;
+1862;MONGOLIAN LETTER SIBE ANG;Lo;0;L;;;;;N;;;;;
+1863;MONGOLIAN LETTER SIBE KA;Lo;0;L;;;;;N;;;;;
+1864;MONGOLIAN LETTER SIBE GA;Lo;0;L;;;;;N;;;;;
+1865;MONGOLIAN LETTER SIBE HA;Lo;0;L;;;;;N;;;;;
+1866;MONGOLIAN LETTER SIBE PA;Lo;0;L;;;;;N;;;;;
+1867;MONGOLIAN LETTER SIBE SHA;Lo;0;L;;;;;N;;;;;
+1868;MONGOLIAN LETTER SIBE TA;Lo;0;L;;;;;N;;;;;
+1869;MONGOLIAN LETTER SIBE DA;Lo;0;L;;;;;N;;;;;
+186A;MONGOLIAN LETTER SIBE JA;Lo;0;L;;;;;N;;;;;
+186B;MONGOLIAN LETTER SIBE FA;Lo;0;L;;;;;N;;;;;
+186C;MONGOLIAN LETTER SIBE GAA;Lo;0;L;;;;;N;;;;;
+186D;MONGOLIAN LETTER SIBE HAA;Lo;0;L;;;;;N;;;;;
+186E;MONGOLIAN LETTER SIBE TSA;Lo;0;L;;;;;N;;;;;
+186F;MONGOLIAN LETTER SIBE ZA;Lo;0;L;;;;;N;;;;;
+1870;MONGOLIAN LETTER SIBE RAA;Lo;0;L;;;;;N;;;;;
+1871;MONGOLIAN LETTER SIBE CHA;Lo;0;L;;;;;N;;;;;
+1872;MONGOLIAN LETTER SIBE ZHA;Lo;0;L;;;;;N;;;;;
+1873;MONGOLIAN LETTER MANCHU I;Lo;0;L;;;;;N;;;;;
+1874;MONGOLIAN LETTER MANCHU KA;Lo;0;L;;;;;N;;;;;
+1875;MONGOLIAN LETTER MANCHU RA;Lo;0;L;;;;;N;;;;;
+1876;MONGOLIAN LETTER MANCHU FA;Lo;0;L;;;;;N;;;;;
+1877;MONGOLIAN LETTER MANCHU ZHA;Lo;0;L;;;;;N;;;;;
+1880;MONGOLIAN LETTER ALI GALI ANUSVARA ONE;Lo;0;L;;;;;N;;;;;
+1881;MONGOLIAN LETTER ALI GALI VISARGA ONE;Lo;0;L;;;;;N;;;;;
+1882;MONGOLIAN LETTER ALI GALI DAMARU;Lo;0;L;;;;;N;;;;;
+1883;MONGOLIAN LETTER ALI GALI UBADAMA;Lo;0;L;;;;;N;;;;;
+1884;MONGOLIAN LETTER ALI GALI INVERTED UBADAMA;Lo;0;L;;;;;N;;;;;
+1885;MONGOLIAN LETTER ALI GALI BALUDA;Lo;0;L;;;;;N;;;;;
+1886;MONGOLIAN LETTER ALI GALI THREE BALUDA;Lo;0;L;;;;;N;;;;;
+1887;MONGOLIAN LETTER ALI GALI A;Lo;0;L;;;;;N;;;;;
+1888;MONGOLIAN LETTER ALI GALI I;Lo;0;L;;;;;N;;;;;
+1889;MONGOLIAN LETTER ALI GALI KA;Lo;0;L;;;;;N;;;;;
+188A;MONGOLIAN LETTER ALI GALI NGA;Lo;0;L;;;;;N;;;;;
+188B;MONGOLIAN LETTER ALI GALI CA;Lo;0;L;;;;;N;;;;;
+188C;MONGOLIAN LETTER ALI GALI TTA;Lo;0;L;;;;;N;;;;;
+188D;MONGOLIAN LETTER ALI GALI TTHA;Lo;0;L;;;;;N;;;;;
+188E;MONGOLIAN LETTER ALI GALI DDA;Lo;0;L;;;;;N;;;;;
+188F;MONGOLIAN LETTER ALI GALI NNA;Lo;0;L;;;;;N;;;;;
+1890;MONGOLIAN LETTER ALI GALI TA;Lo;0;L;;;;;N;;;;;
+1891;MONGOLIAN LETTER ALI GALI DA;Lo;0;L;;;;;N;;;;;
+1892;MONGOLIAN LETTER ALI GALI PA;Lo;0;L;;;;;N;;;;;
+1893;MONGOLIAN LETTER ALI GALI PHA;Lo;0;L;;;;;N;;;;;
+1894;MONGOLIAN LETTER ALI GALI SSA;Lo;0;L;;;;;N;;;;;
+1895;MONGOLIAN LETTER ALI GALI ZHA;Lo;0;L;;;;;N;;;;;
+1896;MONGOLIAN LETTER ALI GALI ZA;Lo;0;L;;;;;N;;;;;
+1897;MONGOLIAN LETTER ALI GALI AH;Lo;0;L;;;;;N;;;;;
+1898;MONGOLIAN LETTER TODO ALI GALI TA;Lo;0;L;;;;;N;;;;;
+1899;MONGOLIAN LETTER TODO ALI GALI ZHA;Lo;0;L;;;;;N;;;;;
+189A;MONGOLIAN LETTER MANCHU ALI GALI GHA;Lo;0;L;;;;;N;;;;;
+189B;MONGOLIAN LETTER MANCHU ALI GALI NGA;Lo;0;L;;;;;N;;;;;
+189C;MONGOLIAN LETTER MANCHU ALI GALI CA;Lo;0;L;;;;;N;;;;;
+189D;MONGOLIAN LETTER MANCHU ALI GALI JHA;Lo;0;L;;;;;N;;;;;
+189E;MONGOLIAN LETTER MANCHU ALI GALI TTA;Lo;0;L;;;;;N;;;;;
+189F;MONGOLIAN LETTER MANCHU ALI GALI DDHA;Lo;0;L;;;;;N;;;;;
+18A0;MONGOLIAN LETTER MANCHU ALI GALI TA;Lo;0;L;;;;;N;;;;;
+18A1;MONGOLIAN LETTER MANCHU ALI GALI DHA;Lo;0;L;;;;;N;;;;;
+18A2;MONGOLIAN LETTER MANCHU ALI GALI SSA;Lo;0;L;;;;;N;;;;;
+18A3;MONGOLIAN LETTER MANCHU ALI GALI CYA;Lo;0;L;;;;;N;;;;;
+18A4;MONGOLIAN LETTER MANCHU ALI GALI ZHA;Lo;0;L;;;;;N;;;;;
+18A5;MONGOLIAN LETTER MANCHU ALI GALI ZA;Lo;0;L;;;;;N;;;;;
+18A6;MONGOLIAN LETTER ALI GALI HALF U;Lo;0;L;;;;;N;;;;;
+18A7;MONGOLIAN LETTER ALI GALI HALF YA;Lo;0;L;;;;;N;;;;;
+18A8;MONGOLIAN LETTER MANCHU ALI GALI BHA;Lo;0;L;;;;;N;;;;;
+18A9;MONGOLIAN LETTER ALI GALI DAGALGA;Mn;228;NSM;;;;;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;
@@ -3175,8 +4642,8 @@
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
+1E1C;LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE;Lu;0;L;0228 0306;;;;N;;;;1E1D;
+1E1D;LATIN SMALL LETTER E WITH CEDILLA AND BREVE;Ll;0;L;0229 0306;;;;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;
@@ -3301,7 +4768,7 @@
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;;;;;
+1E9A;LATIN SMALL LETTER A WITH RIGHT HALF RING;Ll;0;L;<compat> 0061 02BE;;;;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
@@ -3315,8 +4782,8 @@
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
+1EAC;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;1EA0 0302;;;;N;;;;1EAD;
+1EAD;LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;1EA1 0302;;;;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;
@@ -3325,8 +4792,8 @@
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
+1EB6;LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW;Lu;0;L;1EA0 0306;;;;N;;;;1EB7;
+1EB7;LATIN SMALL LETTER A WITH BREVE AND DOT BELOW;Ll;0;L;1EA1 0306;;;;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;
@@ -3341,8 +4808,8 @@
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
+1EC6;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;1EB8 0302;;;;N;;;;1EC7;
+1EC7;LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;1EB9 0302;;;;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;
@@ -3359,8 +4826,8 @@
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
+1ED8;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;1ECC 0302;;;;N;;;;1ED9;
+1ED9;LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;1ECD 0302;;;;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;
@@ -3494,19 +4961,19 @@
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
+1F71;GREEK SMALL LETTER ALPHA WITH OXIA;Ll;0;L;03AC;;;;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
+1F73;GREEK SMALL LETTER EPSILON WITH OXIA;Ll;0;L;03AD;;;;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
+1F75;GREEK SMALL LETTER ETA WITH OXIA;Ll;0;L;03AE;;;;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
+1F77;GREEK SMALL LETTER IOTA WITH OXIA;Ll;0;L;03AF;;;;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
+1F79;GREEK SMALL LETTER OMICRON WITH OXIA;Ll;0;L;03CC;;;;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
+1F7B;GREEK SMALL LETTER UPSILON WITH OXIA;Ll;0;L;03CD;;;;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
+1F7D;GREEK SMALL LETTER OMEGA WITH OXIA;Ll;0;L;03CE;;;;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
@@ -3515,14 +4982,14 @@
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;
+1F88;GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI;Lt;0;L;1F08 0345;;;;N;;;;1F80;
+1F89;GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI;Lt;0;L;1F09 0345;;;;N;;;;1F81;
+1F8A;GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F0A 0345;;;;N;;;;1F82;
+1F8B;GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F0B 0345;;;;N;;;;1F83;
+1F8C;GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F0C 0345;;;;N;;;;1F84;
+1F8D;GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F0D 0345;;;;N;;;;1F85;
+1F8E;GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F0E 0345;;;;N;;;;1F86;
+1F8F;GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lt;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
@@ -3531,14 +4998,14 @@
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;
+1F98;GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI;Lt;0;L;1F28 0345;;;;N;;;;1F90;
+1F99;GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI;Lt;0;L;1F29 0345;;;;N;;;;1F91;
+1F9A;GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F2A 0345;;;;N;;;;1F92;
+1F9B;GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F2B 0345;;;;N;;;;1F93;
+1F9C;GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F2C 0345;;;;N;;;;1F94;
+1F9D;GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F2D 0345;;;;N;;;;1F95;
+1F9E;GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F2E 0345;;;;N;;;;1F96;
+1F9F;GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lt;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
@@ -3547,61 +5014,61 @@
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;
+1FA8;GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI;Lt;0;L;1F68 0345;;;;N;;;;1FA0;
+1FA9;GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI;Lt;0;L;1F69 0345;;;;N;;;;1FA1;
+1FAA;GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F6A 0345;;;;N;;;;1FA2;
+1FAB;GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F6B 0345;;;;N;;;;1FA3;
+1FAC;GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F6C 0345;;;;N;;;;1FA4;
+1FAD;GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F6D 0345;;;;N;;;;1FA5;
+1FAE;GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F6E 0345;;;;N;;;;1FA6;
+1FAF;GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lt;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;;;;;
+1FB4;GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;03AC 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;;;;;
+1FBB;GREEK CAPITAL LETTER ALPHA WITH OXIA;Lu;0;L;0386;;;;N;;;;1F71;
+1FBC;GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI;Lt;0;L;0391 0345;;;;N;;;;1FB3;
+1FBD;GREEK KORONIS;Sk;0;ON;<compat> 0020 0313;;;;N;;;;;
+1FBE;GREEK PROSGEGRAMMENI;Ll;0;L;03B9;;;;N;;;0399;;0399
+1FBF;GREEK PSILI;Sk;0;ON;<compat> 0020 0313;;;;N;;;;;
+1FC0;GREEK PERISPOMENI;Sk;0;ON;<compat> 0020 0342;;;;N;;;;;
+1FC1;GREEK DIALYTIKA AND PERISPOMENI;Sk;0;ON;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;;;;;
+1FC4;GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;03AE 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;
+1FC9;GREEK CAPITAL LETTER EPSILON WITH OXIA;Lu;0;L;0388;;;;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;;;;;
+1FCB;GREEK CAPITAL LETTER ETA WITH OXIA;Lu;0;L;0389;;;;N;;;;1F75;
+1FCC;GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI;Lt;0;L;0397 0345;;;;N;;;;1FC3;
+1FCD;GREEK PSILI AND VARIA;Sk;0;ON;1FBF 0300;;;;N;;;;;
+1FCE;GREEK PSILI AND OXIA;Sk;0;ON;1FBF 0301;;;;N;;;;;
+1FCF;GREEK PSILI AND PERISPOMENI;Sk;0;ON;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;;;;;
+1FD3;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA;Ll;0;L;0390;;;;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;;;;;
+1FDB;GREEK CAPITAL LETTER IOTA WITH OXIA;Lu;0;L;038A;;;;N;;;;1F77;
+1FDD;GREEK DASIA AND VARIA;Sk;0;ON;1FFE 0300;;;;N;;;;;
+1FDE;GREEK DASIA AND OXIA;Sk;0;ON;1FFE 0301;;;;N;;;;;
+1FDF;GREEK DASIA AND PERISPOMENI;Sk;0;ON;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;;;;;
+1FE3;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA;Ll;0;L;03B0;;;;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;;;;;
@@ -3609,23 +5076,23 @@
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;
+1FEB;GREEK CAPITAL LETTER UPSILON WITH OXIA;Lu;0;L;038E;;;;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;;;;;
+1FED;GREEK DIALYTIKA AND VARIA;Sk;0;ON;00A8 0300;;;;N;;;;;
+1FEE;GREEK DIALYTIKA AND OXIA;Sk;0;ON;0385;;;;N;;;;;
+1FEF;GREEK VARIA;Sk;0;ON;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;;;;;
+1FF4;GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;03CE 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;
+1FF9;GREEK CAPITAL LETTER OMICRON WITH OXIA;Lu;0;L;038C;;;;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;;;;;
+1FFB;GREEK CAPITAL LETTER OMEGA WITH OXIA;Lu;0;L;038F;;;;N;;;;1F7D;
+1FFC;GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI;Lt;0;L;03A9 0345;;;;N;;;;1FF3;
+1FFD;GREEK OXIA;Sk;0;ON;00B4;;;;N;;;;;
+1FFE;GREEK DASIA;Sk;0;ON;<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;;;;;
@@ -3633,13 +5100,13 @@
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;;;;;
+2007;FIGURE SPACE;Zs;0;WS;<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;;;;;
+200B;ZERO WIDTH SPACE;Zs;0;BN;;;;;N;;;;;
+200C;ZERO WIDTH NON-JOINER;Cf;0;BN;;;;;N;;;;;
+200D;ZERO WIDTH JOINER;Cf;0;BN;;;;;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;;;;;
@@ -3650,14 +5117,14 @@
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;;;;
+2018;LEFT SINGLE QUOTATION MARK;Pi;0;ON;;;;;N;SINGLE TURNED COMMA QUOTATION MARK;;;;
+2019;RIGHT SINGLE QUOTATION MARK;Pf;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;;;;
+201B;SINGLE HIGH-REVERSED-9 QUOTATION MARK;Pi;0;ON;;;;;N;SINGLE REVERSED COMMA QUOTATION MARK;;;;
+201C;LEFT DOUBLE QUOTATION MARK;Pi;0;ON;;;;;N;DOUBLE TURNED COMMA QUOTATION MARK;;;;
+201D;RIGHT DOUBLE QUOTATION MARK;Pf;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;;;;
+201F;DOUBLE HIGH-REVERSED-9 QUOTATION MARK;Pi;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;;;;;
@@ -3666,13 +5133,14 @@
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;;;;;
+2028;LINE SEPARATOR;Zl;0;WS;;;;;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;;;;;
+202A;LEFT-TO-RIGHT EMBEDDING;Cf;0;LRE;;;;;N;;;;;
+202B;RIGHT-TO-LEFT EMBEDDING;Cf;0;RLE;;;;;N;;;;;
+202C;POP DIRECTIONAL FORMATTING;Cf;0;PDF;;;;;N;;;;;
+202D;LEFT-TO-RIGHT OVERRIDE;Cf;0;LRO;;;;;N;;;;;
+202E;RIGHT-TO-LEFT OVERRIDE;Cf;0;RLO;;;;;N;;;;;
+202F;NARROW NO-BREAK SPACE;Zs;0;CS;<noBreak> 0020;;;;N;;;;;
2030;PER MILLE SIGN;Po;0;ET;;;;;N;;;;;
2031;PER TEN THOUSAND SIGN;Po;0;ET;;;;;N;;;;;
2032;PRIME;Po;0;ET;;;;;N;;;;;
@@ -3682,8 +5150,8 @@
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;;;;
+2039;SINGLE LEFT-POINTING ANGLE QUOTATION MARK;Pi;0;ON;;;;;Y;LEFT POINTING SINGLE GUILLEMET;;;;
+203A;SINGLE RIGHT-POINTING ANGLE QUOTATION MARK;Pf;0;ON;;;;;Y;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;;;;;
@@ -3696,12 +5164,18 @@
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;;;;;
+2048;QUESTION EXCLAMATION MARK;Po;0;ON;<compat> 003F 0021;;;;N;;;;;
+2049;EXCLAMATION QUESTION MARK;Po;0;ON;<compat> 0021 003F;;;;N;;;;;
+204A;TIRONIAN SIGN ET;Po;0;ON;;;;;N;;;;;
+204B;REVERSED PILCROW SIGN;Po;0;ON;;;;;N;;;;;
+204C;BLACK LEFTWARDS BULLET;Po;0;ON;;;;;N;;;;;
+204D;BLACK RIGHTWARDS BULLET;Po;0;ON;;;;;N;;;;;
+206A;INHIBIT SYMMETRIC SWAPPING;Cf;0;BN;;;;;N;;;;;
+206B;ACTIVATE SYMMETRIC SWAPPING;Cf;0;BN;;;;;N;;;;;
+206C;INHIBIT ARABIC FORM SHAPING;Cf;0;BN;;;;;N;;;;;
+206D;ACTIVATE ARABIC FORM SHAPING;Cf;0;BN;;;;;N;;;;;
+206E;NATIONAL DIGIT SHAPES;Cf;0;BN;;;;;N;;;;;
+206F;NOMINAL DIGIT SHAPES;Cf;0;BN;;;;;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;;;;
@@ -3714,7 +5188,7 @@
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;;;;;
+207F;SUPERSCRIPT LATIN SMALL LETTER N;Ll;0;L;<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;;;;
@@ -3743,81 +5217,88 @@
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;;;;
+20AD;KIP SIGN;Sc;0;ET;;;;;N;;;;;
+20AE;TUGRIK SIGN;Sc;0;ET;;;;;N;;;;;
+20AF;DRACHMA SIGN;Sc;0;ET;;;;;N;;;;;
+20D0;COMBINING LEFT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT HARPOON ABOVE;;;;
+20D1;COMBINING RIGHT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RIGHT HARPOON ABOVE;;;;
+20D2;COMBINING LONG VERTICAL LINE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG VERTICAL BAR OVERLAY;;;;
+20D3;COMBINING SHORT VERTICAL LINE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING SHORT VERTICAL BAR OVERLAY;;;;
+20D4;COMBINING ANTICLOCKWISE ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING ANTICLOCKWISE ARROW ABOVE;;;;
+20D5;COMBINING CLOCKWISE ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING CLOCKWISE ARROW ABOVE;;;;
+20D6;COMBINING LEFT ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT ARROW ABOVE;;;;
+20D7;COMBINING RIGHT ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RIGHT ARROW ABOVE;;;;
+20D8;COMBINING RING OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING RING OVERLAY;;;;
+20D9;COMBINING CLOCKWISE RING OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING CLOCKWISE RING OVERLAY;;;;
+20DA;COMBINING ANTICLOCKWISE RING OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING ANTICLOCKWISE RING OVERLAY;;;;
+20DB;COMBINING THREE DOTS ABOVE;Mn;230;NSM;;;;;N;NON-SPACING THREE DOTS ABOVE;;;;
+20DC;COMBINING FOUR DOTS ABOVE;Mn;230;NSM;;;;;N;NON-SPACING FOUR DOTS ABOVE;;;;
+20DD;COMBINING ENCLOSING CIRCLE;Me;0;NSM;;;;;N;ENCLOSING CIRCLE;;;;
+20DE;COMBINING ENCLOSING SQUARE;Me;0;NSM;;;;;N;ENCLOSING SQUARE;;;;
+20DF;COMBINING ENCLOSING DIAMOND;Me;0;NSM;;;;;N;ENCLOSING DIAMOND;;;;
+20E0;COMBINING ENCLOSING CIRCLE BACKSLASH;Me;0;NSM;;;;;N;ENCLOSING CIRCLE SLASH;;;;
+20E1;COMBINING LEFT RIGHT ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT RIGHT ARROW ABOVE;;;;
+20E2;COMBINING ENCLOSING SCREEN;Me;0;NSM;;;;;N;;;;;
+20E3;COMBINING ENCLOSING KEYCAP;Me;0;NSM;;;;;N;;;;;
+2100;ACCOUNT OF;So;0;ON;<compat> 0061 002F 0063;;;;N;;;;;
+2101;ADDRESSED TO THE SUBJECT;So;0;ON;<compat> 0061 002F 0073;;;;N;;;;;
+2102;DOUBLE-STRUCK CAPITAL C;Lu;0;L;<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;;;;
+2105;CARE OF;So;0;ON;<compat> 0063 002F 006F;;;;N;;;;;
+2106;CADA UNA;So;0;ON;<compat> 0063 002F 0075;;;;N;;;;;
+2107;EULER CONSTANT;Lu;0;L;<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;;;;;
+210A;SCRIPT SMALL G;Ll;0;L;<font> 0067;;;;N;;;;;
+210B;SCRIPT CAPITAL H;Lu;0;L;<font> 0048;;;;N;SCRIPT H;;;;
+210C;BLACK-LETTER CAPITAL H;Lu;0;L;<font> 0048;;;;N;BLACK-LETTER H;;;;
+210D;DOUBLE-STRUCK CAPITAL H;Lu;0;L;<font> 0048;;;;N;DOUBLE-STRUCK H;;;;
+210E;PLANCK CONSTANT;Ll;0;L;<font> 0068;;;;N;;;;;
+210F;PLANCK CONSTANT OVER TWO PI;Ll;0;L;<font> 0127;;;;N;PLANCK CONSTANT OVER 2 PI;;;;
+2110;SCRIPT CAPITAL I;Lu;0;L;<font> 0049;;;;N;SCRIPT I;;;;
+2111;BLACK-LETTER CAPITAL I;Lu;0;L;<font> 0049;;;;N;BLACK-LETTER I;;;;
+2112;SCRIPT CAPITAL L;Lu;0;L;<font> 004C;;;;N;SCRIPT L;;;;
+2113;SCRIPT SMALL L;Ll;0;L;<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;;;;
+2115;DOUBLE-STRUCK CAPITAL N;Lu;0;L;<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;;;;
+2118;SCRIPT CAPITAL P;So;0;ON;;;;;N;SCRIPT P;;;;
+2119;DOUBLE-STRUCK CAPITAL P;Lu;0;L;<font> 0050;;;;N;DOUBLE-STRUCK P;;;;
+211A;DOUBLE-STRUCK CAPITAL Q;Lu;0;L;<font> 0051;;;;N;DOUBLE-STRUCK Q;;;;
+211B;SCRIPT CAPITAL R;Lu;0;L;<font> 0052;;;;N;SCRIPT R;;;;
+211C;BLACK-LETTER CAPITAL R;Lu;0;L;<font> 0052;;;;N;BLACK-LETTER R;;;;
+211D;DOUBLE-STRUCK CAPITAL R;Lu;0;L;<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;;;;
+2121;TELEPHONE SIGN;So;0;ON;<compat> 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;;;;
+2124;DOUBLE-STRUCK CAPITAL Z;Lu;0;L;<font> 005A;;;;N;DOUBLE-STRUCK Z;;;;
2125;OUNCE SIGN;So;0;ON;;;;;N;OUNCE;;;;
-2126;OHM SIGN;Lu;0;ON;03A9;;;;N;OHM;;;;
+2126;OHM SIGN;Lu;0;L;03A9;;;;N;OHM;;;03C9;
2127;INVERTED OHM SIGN;So;0;ON;;;;;N;MHO;;;;
-2128;BLACK-LETTER CAPITAL Z;Lu;0;ON;<font> 005A;;;;N;BLACK-LETTER Z;;;;
+2128;BLACK-LETTER CAPITAL Z;Lu;0;L;<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;;;;
+212A;KELVIN SIGN;Lu;0;L;004B;;;;N;DEGREES KELVIN;;;006B;
+212B;ANGSTROM SIGN;Lu;0;L;00C5;;;;N;ANGSTROM UNIT;;;00E5;
+212C;SCRIPT CAPITAL B;Lu;0;L;<font> 0042;;;;N;SCRIPT B;;;;
+212D;BLACK-LETTER CAPITAL C;Lu;0;L;<font> 0043;;;;N;BLACK-LETTER C;;;;
+212E;ESTIMATED SYMBOL;So;0;ET;;;;;N;;;;;
+212F;SCRIPT SMALL E;Ll;0;L;<font> 0065;;;;N;;;;;
+2130;SCRIPT CAPITAL E;Lu;0;L;<font> 0045;;;;N;SCRIPT E;;;;
+2131;SCRIPT CAPITAL F;Lu;0;L;<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;;;;
+2133;SCRIPT CAPITAL M;Lu;0;L;<font> 004D;;;;N;SCRIPT M;;;;
+2134;SCRIPT SMALL O;Ll;0;L;<font> 006F;;;;N;;;;;
+2135;ALEF SYMBOL;Lo;0;L;<compat> 05D0;;;;N;FIRST TRANSFINITE CARDINAL;;;;
+2136;BET SYMBOL;Lo;0;L;<compat> 05D1;;;;N;SECOND TRANSFINITE CARDINAL;;;;
+2137;GIMEL SYMBOL;Lo;0;L;<compat> 05D2;;;;N;THIRD TRANSFINITE CARDINAL;;;;
+2138;DALET SYMBOL;Lo;0;L;<compat> 05D3;;;;N;FOURTH TRANSFINITE CARDINAL;;;;
+2139;INFORMATION SOURCE;Ll;0;L;<font> 0069;;;;N;;;;;
+213A;ROTATED CAPITAL Q;So;0;ON;;;;;N;;;;;
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;;;;
@@ -3866,6 +5347,7 @@
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;;;;;
+2183;ROMAN NUMERAL REVERSED ONE HUNDRED;Nl;0;L;;;;;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;;;;
@@ -3876,8 +5358,8 @@
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;;;;
+219A;LEFTWARDS ARROW WITH STROKE;So;0;ON;2190 0338;;;;N;LEFT ARROW WITH STROKE;;;;
+219B;RIGHTWARDS ARROW WITH STROKE;So;0;ON;2192 0338;;;;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;;;;
@@ -3896,7 +5378,7 @@
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;;;;;
+21AE;LEFT RIGHT ARROW WITH STROKE;So;0;ON;2194 0338;;;;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;;;;
@@ -3927,9 +5409,9 @@
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;;;;
+21CD;LEFTWARDS DOUBLE ARROW WITH STROKE;So;0;ON;21D0 0338;;;;N;LEFT DOUBLE ARROW WITH STROKE;;;;
+21CE;LEFT RIGHT DOUBLE ARROW WITH STROKE;So;0;ON;21D4 0338;;;;N;;;;;
+21CF;RIGHTWARDS DOUBLE ARROW WITH STROKE;So;0;ON;21D2 0338;;;;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;;;;
@@ -3957,6 +5439,15 @@
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;;;;
+21EB;UPWARDS WHITE ARROW ON PEDESTAL;So;0;ON;;;;;N;;;;;
+21EC;UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR;So;0;ON;;;;;N;;;;;
+21ED;UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR;So;0;ON;;;;;N;;;;;
+21EE;UPWARDS WHITE DOUBLE ARROW;So;0;ON;;;;;N;;;;;
+21EF;UPWARDS WHITE DOUBLE ARROW ON PEDESTAL;So;0;ON;;;;;N;;;;;
+21F0;RIGHTWARDS WHITE ARROW FROM WALL;So;0;ON;;;;;N;;;;;
+21F1;NORTH WEST ARROW TO CORNER;So;0;ON;;;;;N;;;;;
+21F2;SOUTH EAST ARROW TO CORNER;So;0;ON;;;;;N;;;;;
+21F3;UP DOWN WHITE ARROW;So;0;ON;;;;;N;;;;;
2200;FOR ALL;Sm;0;ON;;;;;N;;;;;
2201;COMPLEMENT;Sm;0;ON;;;;;Y;;;;;
2202;PARTIAL DIFFERENTIAL;Sm;0;ON;;;;;Y;;;;;
@@ -4018,11 +5509,11 @@
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;;;;;
+223D;REVERSED TILDE;Sm;0;ON;;;;;Y;;lazy S;;;
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;;;;;
+2241;NOT TILDE;Sm;0;ON;223C 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;;;;;
@@ -4200,6 +5691,7 @@
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;;;;;
+2301;ELECTRIC ARROW;So;0;ON;;;;;N;;;;;
2302;HOUSE;So;0;ON;;;;;N;;;;;
2303;UP ARROWHEAD;So;0;ON;;;;;N;;;;;
2304;DOWN ARROWHEAD;So;0;ON;;;;;N;;;;;
@@ -4272,18 +5764,18 @@
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;;;;;
+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;;;;;
+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;;;;;
+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;;;;;
+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;;;;;
@@ -4295,7 +5787,7 @@
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;;;;;
+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;;;;;
@@ -4321,6 +5813,37 @@
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;;;;;
+237B;NOT CHECK MARK;So;0;ON;;;;;N;;;;;
+237D;SHOULDERED OPEN BOX;So;0;ON;;;;;N;;;;;
+237E;BELL SYMBOL;So;0;ON;;;;;N;;;;;
+237F;VERTICAL LINE WITH MIDDLE DOT;So;0;ON;;;;;N;;;;;
+2380;INSERTION SYMBOL;So;0;ON;;;;;N;;;;;
+2381;CONTINUOUS UNDERLINE SYMBOL;So;0;ON;;;;;N;;;;;
+2382;DISCONTINUOUS UNDERLINE SYMBOL;So;0;ON;;;;;N;;;;;
+2383;EMPHASIS SYMBOL;So;0;ON;;;;;N;;;;;
+2384;COMPOSITION SYMBOL;So;0;ON;;;;;N;;;;;
+2385;WHITE SQUARE WITH CENTRE VERTICAL LINE;So;0;ON;;;;;N;;;;;
+2386;ENTER SYMBOL;So;0;ON;;;;;N;;;;;
+2387;ALTERNATIVE KEY SYMBOL;So;0;ON;;;;;N;;;;;
+2388;HELM SYMBOL;So;0;ON;;;;;N;;;;;
+2389;CIRCLED HORIZONTAL BAR WITH NOTCH;So;0;ON;;;;;N;;pause;;;
+238A;CIRCLED TRIANGLE DOWN;So;0;ON;;;;;N;;break;;;
+238B;BROKEN CIRCLE WITH NORTHWEST ARROW;So;0;ON;;;;;N;;escape;;;
+238C;UNDO SYMBOL;So;0;ON;;;;;N;;;;;
+238D;MONOSTABLE SYMBOL;So;0;ON;;;;;N;;;;;
+238E;HYSTERESIS SYMBOL;So;0;ON;;;;;N;;;;;
+238F;OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL;So;0;ON;;;;;N;;;;;
+2390;OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL;So;0;ON;;;;;N;;;;;
+2391;PASSIVE-PULL-DOWN-OUTPUT SYMBOL;So;0;ON;;;;;N;;;;;
+2392;PASSIVE-PULL-UP-OUTPUT SYMBOL;So;0;ON;;;;;N;;;;;
+2393;DIRECT CURRENT SYMBOL FORM TWO;So;0;ON;;;;;N;;;;;
+2394;SOFTWARE-FUNCTION SYMBOL;So;0;ON;;;;;N;;;;;
+2395;APL FUNCTIONAL SYMBOL QUAD;So;0;ON;;;;;N;;;;;
+2396;DECIMAL SEPARATOR KEY SYMBOL;So;0;ON;;;;;N;;;;;
+2397;PREVIOUS PAGE;So;0;ON;;;;;N;;;;;
+2398;NEXT PAGE;So;0;ON;;;;;N;;;;;
+2399;PRINT SCREEN SYMBOL;So;0;ON;;;;;N;;;;;
+239A;CLEAR SCREEN SYMBOL;So;0;ON;;;;;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;;;;
@@ -4358,6 +5881,8 @@
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;;;;
+2425;SYMBOL FOR DELETE FORM TWO;So;0;ON;;;;;N;;;;;
+2426;SYMBOL FOR SUBSTITUTE FORM TWO;So;0;ON;;;;;N;;;;;
2440;OCR HOOK;So;0;ON;;;;;N;;;;;
2441;OCR CHAIR;So;0;ON;;;;;N;;;;;
2442;OCR FORK;So;0;ON;;;;;N;;;;;
@@ -4369,145 +5894,145 @@
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;;;;;
+2460;CIRCLED DIGIT ONE;No;0;EN;<circle> 0031;;1;1;N;;;;;
+2461;CIRCLED DIGIT TWO;No;0;EN;<circle> 0032;;2;2;N;;;;;
+2462;CIRCLED DIGIT THREE;No;0;EN;<circle> 0033;;3;3;N;;;;;
+2463;CIRCLED DIGIT FOUR;No;0;EN;<circle> 0034;;4;4;N;;;;;
+2464;CIRCLED DIGIT FIVE;No;0;EN;<circle> 0035;;5;5;N;;;;;
+2465;CIRCLED DIGIT SIX;No;0;EN;<circle> 0036;;6;6;N;;;;;
+2466;CIRCLED DIGIT SEVEN;No;0;EN;<circle> 0037;;7;7;N;;;;;
+2467;CIRCLED DIGIT EIGHT;No;0;EN;<circle> 0038;;8;8;N;;;;;
+2468;CIRCLED DIGIT NINE;No;0;EN;<circle> 0039;;9;9;N;;;;;
+2469;CIRCLED NUMBER TEN;No;0;EN;<circle> 0031 0030;;;10;N;;;;;
+246A;CIRCLED NUMBER ELEVEN;No;0;EN;<circle> 0031 0031;;;11;N;;;;;
+246B;CIRCLED NUMBER TWELVE;No;0;EN;<circle> 0031 0032;;;12;N;;;;;
+246C;CIRCLED NUMBER THIRTEEN;No;0;EN;<circle> 0031 0033;;;13;N;;;;;
+246D;CIRCLED NUMBER FOURTEEN;No;0;EN;<circle> 0031 0034;;;14;N;;;;;
+246E;CIRCLED NUMBER FIFTEEN;No;0;EN;<circle> 0031 0035;;;15;N;;;;;
+246F;CIRCLED NUMBER SIXTEEN;No;0;EN;<circle> 0031 0036;;;16;N;;;;;
+2470;CIRCLED NUMBER SEVENTEEN;No;0;EN;<circle> 0031 0037;;;17;N;;;;;
+2471;CIRCLED NUMBER EIGHTEEN;No;0;EN;<circle> 0031 0038;;;18;N;;;;;
+2472;CIRCLED NUMBER NINETEEN;No;0;EN;<circle> 0031 0039;;;19;N;;;;;
+2473;CIRCLED NUMBER TWENTY;No;0;EN;<circle> 0032 0030;;;20;N;;;;;
+2474;PARENTHESIZED DIGIT ONE;No;0;EN;<compat> 0028 0031 0029;;1;1;N;;;;;
+2475;PARENTHESIZED DIGIT TWO;No;0;EN;<compat> 0028 0032 0029;;2;2;N;;;;;
+2476;PARENTHESIZED DIGIT THREE;No;0;EN;<compat> 0028 0033 0029;;3;3;N;;;;;
+2477;PARENTHESIZED DIGIT FOUR;No;0;EN;<compat> 0028 0034 0029;;4;4;N;;;;;
+2478;PARENTHESIZED DIGIT FIVE;No;0;EN;<compat> 0028 0035 0029;;5;5;N;;;;;
+2479;PARENTHESIZED DIGIT SIX;No;0;EN;<compat> 0028 0036 0029;;6;6;N;;;;;
+247A;PARENTHESIZED DIGIT SEVEN;No;0;EN;<compat> 0028 0037 0029;;7;7;N;;;;;
+247B;PARENTHESIZED DIGIT EIGHT;No;0;EN;<compat> 0028 0038 0029;;8;8;N;;;;;
+247C;PARENTHESIZED DIGIT NINE;No;0;EN;<compat> 0028 0039 0029;;9;9;N;;;;;
+247D;PARENTHESIZED NUMBER TEN;No;0;EN;<compat> 0028 0031 0030 0029;;;10;N;;;;;
+247E;PARENTHESIZED NUMBER ELEVEN;No;0;EN;<compat> 0028 0031 0031 0029;;;11;N;;;;;
+247F;PARENTHESIZED NUMBER TWELVE;No;0;EN;<compat> 0028 0031 0032 0029;;;12;N;;;;;
+2480;PARENTHESIZED NUMBER THIRTEEN;No;0;EN;<compat> 0028 0031 0033 0029;;;13;N;;;;;
+2481;PARENTHESIZED NUMBER FOURTEEN;No;0;EN;<compat> 0028 0031 0034 0029;;;14;N;;;;;
+2482;PARENTHESIZED NUMBER FIFTEEN;No;0;EN;<compat> 0028 0031 0035 0029;;;15;N;;;;;
+2483;PARENTHESIZED NUMBER SIXTEEN;No;0;EN;<compat> 0028 0031 0036 0029;;;16;N;;;;;
+2484;PARENTHESIZED NUMBER SEVENTEEN;No;0;EN;<compat> 0028 0031 0037 0029;;;17;N;;;;;
+2485;PARENTHESIZED NUMBER EIGHTEEN;No;0;EN;<compat> 0028 0031 0038 0029;;;18;N;;;;;
+2486;PARENTHESIZED NUMBER NINETEEN;No;0;EN;<compat> 0028 0031 0039 0029;;;19;N;;;;;
+2487;PARENTHESIZED NUMBER TWENTY;No;0;EN;<compat> 0028 0032 0030 0029;;;20;N;;;;;
+2488;DIGIT ONE FULL STOP;No;0;EN;<compat> 0031 002E;;1;1;N;DIGIT ONE PERIOD;;;;
+2489;DIGIT TWO FULL STOP;No;0;EN;<compat> 0032 002E;;2;2;N;DIGIT TWO PERIOD;;;;
+248A;DIGIT THREE FULL STOP;No;0;EN;<compat> 0033 002E;;3;3;N;DIGIT THREE PERIOD;;;;
+248B;DIGIT FOUR FULL STOP;No;0;EN;<compat> 0034 002E;;4;4;N;DIGIT FOUR PERIOD;;;;
+248C;DIGIT FIVE FULL STOP;No;0;EN;<compat> 0035 002E;;5;5;N;DIGIT FIVE PERIOD;;;;
+248D;DIGIT SIX FULL STOP;No;0;EN;<compat> 0036 002E;;6;6;N;DIGIT SIX PERIOD;;;;
+248E;DIGIT SEVEN FULL STOP;No;0;EN;<compat> 0037 002E;;7;7;N;DIGIT SEVEN PERIOD;;;;
+248F;DIGIT EIGHT FULL STOP;No;0;EN;<compat> 0038 002E;;8;8;N;DIGIT EIGHT PERIOD;;;;
+2490;DIGIT NINE FULL STOP;No;0;EN;<compat> 0039 002E;;9;9;N;DIGIT NINE PERIOD;;;;
+2491;NUMBER TEN FULL STOP;No;0;EN;<compat> 0031 0030 002E;;;10;N;NUMBER TEN PERIOD;;;;
+2492;NUMBER ELEVEN FULL STOP;No;0;EN;<compat> 0031 0031 002E;;;11;N;NUMBER ELEVEN PERIOD;;;;
+2493;NUMBER TWELVE FULL STOP;No;0;EN;<compat> 0031 0032 002E;;;12;N;NUMBER TWELVE PERIOD;;;;
+2494;NUMBER THIRTEEN FULL STOP;No;0;EN;<compat> 0031 0033 002E;;;13;N;NUMBER THIRTEEN PERIOD;;;;
+2495;NUMBER FOURTEEN FULL STOP;No;0;EN;<compat> 0031 0034 002E;;;14;N;NUMBER FOURTEEN PERIOD;;;;
+2496;NUMBER FIFTEEN FULL STOP;No;0;EN;<compat> 0031 0035 002E;;;15;N;NUMBER FIFTEEN PERIOD;;;;
+2497;NUMBER SIXTEEN FULL STOP;No;0;EN;<compat> 0031 0036 002E;;;16;N;NUMBER SIXTEEN PERIOD;;;;
+2498;NUMBER SEVENTEEN FULL STOP;No;0;EN;<compat> 0031 0037 002E;;;17;N;NUMBER SEVENTEEN PERIOD;;;;
+2499;NUMBER EIGHTEEN FULL STOP;No;0;EN;<compat> 0031 0038 002E;;;18;N;NUMBER EIGHTEEN PERIOD;;;;
+249A;NUMBER NINETEEN FULL STOP;No;0;EN;<compat> 0031 0039 002E;;;19;N;NUMBER NINETEEN PERIOD;;;;
+249B;NUMBER TWENTY FULL STOP;No;0;EN;<compat> 0032 0030 002E;;;20;N;NUMBER TWENTY PERIOD;;;;
+249C;PARENTHESIZED LATIN SMALL LETTER A;So;0;L;<compat> 0028 0061 0029;;;;N;;;;;
+249D;PARENTHESIZED LATIN SMALL LETTER B;So;0;L;<compat> 0028 0062 0029;;;;N;;;;;
+249E;PARENTHESIZED LATIN SMALL LETTER C;So;0;L;<compat> 0028 0063 0029;;;;N;;;;;
+249F;PARENTHESIZED LATIN SMALL LETTER D;So;0;L;<compat> 0028 0064 0029;;;;N;;;;;
+24A0;PARENTHESIZED LATIN SMALL LETTER E;So;0;L;<compat> 0028 0065 0029;;;;N;;;;;
+24A1;PARENTHESIZED LATIN SMALL LETTER F;So;0;L;<compat> 0028 0066 0029;;;;N;;;;;
+24A2;PARENTHESIZED LATIN SMALL LETTER G;So;0;L;<compat> 0028 0067 0029;;;;N;;;;;
+24A3;PARENTHESIZED LATIN SMALL LETTER H;So;0;L;<compat> 0028 0068 0029;;;;N;;;;;
+24A4;PARENTHESIZED LATIN SMALL LETTER I;So;0;L;<compat> 0028 0069 0029;;;;N;;;;;
+24A5;PARENTHESIZED LATIN SMALL LETTER J;So;0;L;<compat> 0028 006A 0029;;;;N;;;;;
+24A6;PARENTHESIZED LATIN SMALL LETTER K;So;0;L;<compat> 0028 006B 0029;;;;N;;;;;
+24A7;PARENTHESIZED LATIN SMALL LETTER L;So;0;L;<compat> 0028 006C 0029;;;;N;;;;;
+24A8;PARENTHESIZED LATIN SMALL LETTER M;So;0;L;<compat> 0028 006D 0029;;;;N;;;;;
+24A9;PARENTHESIZED LATIN SMALL LETTER N;So;0;L;<compat> 0028 006E 0029;;;;N;;;;;
+24AA;PARENTHESIZED LATIN SMALL LETTER O;So;0;L;<compat> 0028 006F 0029;;;;N;;;;;
+24AB;PARENTHESIZED LATIN SMALL LETTER P;So;0;L;<compat> 0028 0070 0029;;;;N;;;;;
+24AC;PARENTHESIZED LATIN SMALL LETTER Q;So;0;L;<compat> 0028 0071 0029;;;;N;;;;;
+24AD;PARENTHESIZED LATIN SMALL LETTER R;So;0;L;<compat> 0028 0072 0029;;;;N;;;;;
+24AE;PARENTHESIZED LATIN SMALL LETTER S;So;0;L;<compat> 0028 0073 0029;;;;N;;;;;
+24AF;PARENTHESIZED LATIN SMALL LETTER T;So;0;L;<compat> 0028 0074 0029;;;;N;;;;;
+24B0;PARENTHESIZED LATIN SMALL LETTER U;So;0;L;<compat> 0028 0075 0029;;;;N;;;;;
+24B1;PARENTHESIZED LATIN SMALL LETTER V;So;0;L;<compat> 0028 0076 0029;;;;N;;;;;
+24B2;PARENTHESIZED LATIN SMALL LETTER W;So;0;L;<compat> 0028 0077 0029;;;;N;;;;;
+24B3;PARENTHESIZED LATIN SMALL LETTER X;So;0;L;<compat> 0028 0078 0029;;;;N;;;;;
+24B4;PARENTHESIZED LATIN SMALL LETTER Y;So;0;L;<compat> 0028 0079 0029;;;;N;;;;;
+24B5;PARENTHESIZED LATIN SMALL LETTER Z;So;0;L;<compat> 0028 007A 0029;;;;N;;;;;
+24B6;CIRCLED LATIN CAPITAL LETTER A;So;0;L;<circle> 0041;;;;N;;;;24D0;
+24B7;CIRCLED LATIN CAPITAL LETTER B;So;0;L;<circle> 0042;;;;N;;;;24D1;
+24B8;CIRCLED LATIN CAPITAL LETTER C;So;0;L;<circle> 0043;;;;N;;;;24D2;
+24B9;CIRCLED LATIN CAPITAL LETTER D;So;0;L;<circle> 0044;;;;N;;;;24D3;
+24BA;CIRCLED LATIN CAPITAL LETTER E;So;0;L;<circle> 0045;;;;N;;;;24D4;
+24BB;CIRCLED LATIN CAPITAL LETTER F;So;0;L;<circle> 0046;;;;N;;;;24D5;
+24BC;CIRCLED LATIN CAPITAL LETTER G;So;0;L;<circle> 0047;;;;N;;;;24D6;
+24BD;CIRCLED LATIN CAPITAL LETTER H;So;0;L;<circle> 0048;;;;N;;;;24D7;
+24BE;CIRCLED LATIN CAPITAL LETTER I;So;0;L;<circle> 0049;;;;N;;;;24D8;
+24BF;CIRCLED LATIN CAPITAL LETTER J;So;0;L;<circle> 004A;;;;N;;;;24D9;
+24C0;CIRCLED LATIN CAPITAL LETTER K;So;0;L;<circle> 004B;;;;N;;;;24DA;
+24C1;CIRCLED LATIN CAPITAL LETTER L;So;0;L;<circle> 004C;;;;N;;;;24DB;
+24C2;CIRCLED LATIN CAPITAL LETTER M;So;0;L;<circle> 004D;;;;N;;;;24DC;
+24C3;CIRCLED LATIN CAPITAL LETTER N;So;0;L;<circle> 004E;;;;N;;;;24DD;
+24C4;CIRCLED LATIN CAPITAL LETTER O;So;0;L;<circle> 004F;;;;N;;;;24DE;
+24C5;CIRCLED LATIN CAPITAL LETTER P;So;0;L;<circle> 0050;;;;N;;;;24DF;
+24C6;CIRCLED LATIN CAPITAL LETTER Q;So;0;L;<circle> 0051;;;;N;;;;24E0;
+24C7;CIRCLED LATIN CAPITAL LETTER R;So;0;L;<circle> 0052;;;;N;;;;24E1;
+24C8;CIRCLED LATIN CAPITAL LETTER S;So;0;L;<circle> 0053;;;;N;;;;24E2;
+24C9;CIRCLED LATIN CAPITAL LETTER T;So;0;L;<circle> 0054;;;;N;;;;24E3;
+24CA;CIRCLED LATIN CAPITAL LETTER U;So;0;L;<circle> 0055;;;;N;;;;24E4;
+24CB;CIRCLED LATIN CAPITAL LETTER V;So;0;L;<circle> 0056;;;;N;;;;24E5;
+24CC;CIRCLED LATIN CAPITAL LETTER W;So;0;L;<circle> 0057;;;;N;;;;24E6;
+24CD;CIRCLED LATIN CAPITAL LETTER X;So;0;L;<circle> 0058;;;;N;;;;24E7;
+24CE;CIRCLED LATIN CAPITAL LETTER Y;So;0;L;<circle> 0059;;;;N;;;;24E8;
+24CF;CIRCLED LATIN CAPITAL LETTER Z;So;0;L;<circle> 005A;;;;N;;;;24E9;
+24D0;CIRCLED LATIN SMALL LETTER A;So;0;L;<circle> 0061;;;;N;;;24B6;;24B6
+24D1;CIRCLED LATIN SMALL LETTER B;So;0;L;<circle> 0062;;;;N;;;24B7;;24B7
+24D2;CIRCLED LATIN SMALL LETTER C;So;0;L;<circle> 0063;;;;N;;;24B8;;24B8
+24D3;CIRCLED LATIN SMALL LETTER D;So;0;L;<circle> 0064;;;;N;;;24B9;;24B9
+24D4;CIRCLED LATIN SMALL LETTER E;So;0;L;<circle> 0065;;;;N;;;24BA;;24BA
+24D5;CIRCLED LATIN SMALL LETTER F;So;0;L;<circle> 0066;;;;N;;;24BB;;24BB
+24D6;CIRCLED LATIN SMALL LETTER G;So;0;L;<circle> 0067;;;;N;;;24BC;;24BC
+24D7;CIRCLED LATIN SMALL LETTER H;So;0;L;<circle> 0068;;;;N;;;24BD;;24BD
+24D8;CIRCLED LATIN SMALL LETTER I;So;0;L;<circle> 0069;;;;N;;;24BE;;24BE
+24D9;CIRCLED LATIN SMALL LETTER J;So;0;L;<circle> 006A;;;;N;;;24BF;;24BF
+24DA;CIRCLED LATIN SMALL LETTER K;So;0;L;<circle> 006B;;;;N;;;24C0;;24C0
+24DB;CIRCLED LATIN SMALL LETTER L;So;0;L;<circle> 006C;;;;N;;;24C1;;24C1
+24DC;CIRCLED LATIN SMALL LETTER M;So;0;L;<circle> 006D;;;;N;;;24C2;;24C2
+24DD;CIRCLED LATIN SMALL LETTER N;So;0;L;<circle> 006E;;;;N;;;24C3;;24C3
+24DE;CIRCLED LATIN SMALL LETTER O;So;0;L;<circle> 006F;;;;N;;;24C4;;24C4
+24DF;CIRCLED LATIN SMALL LETTER P;So;0;L;<circle> 0070;;;;N;;;24C5;;24C5
+24E0;CIRCLED LATIN SMALL LETTER Q;So;0;L;<circle> 0071;;;;N;;;24C6;;24C6
+24E1;CIRCLED LATIN SMALL LETTER R;So;0;L;<circle> 0072;;;;N;;;24C7;;24C7
+24E2;CIRCLED LATIN SMALL LETTER S;So;0;L;<circle> 0073;;;;N;;;24C8;;24C8
+24E3;CIRCLED LATIN SMALL LETTER T;So;0;L;<circle> 0074;;;;N;;;24C9;;24C9
+24E4;CIRCLED LATIN SMALL LETTER U;So;0;L;<circle> 0075;;;;N;;;24CA;;24CA
+24E5;CIRCLED LATIN SMALL LETTER V;So;0;L;<circle> 0076;;;;N;;;24CB;;24CB
+24E6;CIRCLED LATIN SMALL LETTER W;So;0;L;<circle> 0077;;;;N;;;24CC;;24CC
+24E7;CIRCLED LATIN SMALL LETTER X;So;0;L;<circle> 0078;;;;N;;;24CD;;24CD
+24E8;CIRCLED LATIN SMALL LETTER Y;So;0;L;<circle> 0079;;;;N;;;24CE;;24CE
+24E9;CIRCLED LATIN SMALL LETTER Z;So;0;L;<circle> 007A;;;;N;;;24CF;;24CF
+24EA;CIRCLED DIGIT ZERO;No;0;EN;<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;;;;
@@ -4738,6 +6263,14 @@
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;;;;;
+25F0;WHITE SQUARE WITH UPPER LEFT QUADRANT;So;0;ON;;;;;N;;;;;
+25F1;WHITE SQUARE WITH LOWER LEFT QUADRANT;So;0;ON;;;;;N;;;;;
+25F2;WHITE SQUARE WITH LOWER RIGHT QUADRANT;So;0;ON;;;;;N;;;;;
+25F3;WHITE SQUARE WITH UPPER RIGHT QUADRANT;So;0;ON;;;;;N;;;;;
+25F4;WHITE CIRCLE WITH UPPER LEFT QUADRANT;So;0;ON;;;;;N;;;;;
+25F5;WHITE CIRCLE WITH LOWER LEFT QUADRANT;So;0;ON;;;;;N;;;;;
+25F6;WHITE CIRCLE WITH LOWER RIGHT QUADRANT;So;0;ON;;;;;N;;;;;
+25F7;WHITE CIRCLE WITH UPPER RIGHT QUADRANT;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;;;;;
@@ -4758,6 +6291,7 @@
2611;BALLOT BOX WITH CHECK;So;0;ON;;;;;N;;;;;
2612;BALLOT BOX WITH X;So;0;ON;;;;;N;;;;;
2613;SALTIRE;So;0;ON;;;;;N;;;;;
+2619;REVERSED ROTATED FLORAL HEART BULLET;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;;;;;
@@ -4844,6 +6378,8 @@
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;;;;
+2670;WEST SYRIAC CROSS;So;0;ON;;;;;N;;;;;
+2671;EAST SYRIAC CROSS;So;0;ON;;;;;N;;;;;
2701;UPPER BLADE SCISSORS;So;0;ON;;;;;N;;;;;
2702;BLACK SCISSORS;So;0;ON;;;;;N;;;;;
2703;LOWER BLADE SCISSORS;So;0;ON;;;;;N;;;;;
@@ -5004,14 +6540,611 @@
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;;;;
+2800;BRAILLE PATTERN BLANK;So;0;ON;;;;;N;;;;;
+2801;BRAILLE PATTERN DOTS-1;So;0;ON;;;;;N;;;;;
+2802;BRAILLE PATTERN DOTS-2;So;0;ON;;;;;N;;;;;
+2803;BRAILLE PATTERN DOTS-12;So;0;ON;;;;;N;;;;;
+2804;BRAILLE PATTERN DOTS-3;So;0;ON;;;;;N;;;;;
+2805;BRAILLE PATTERN DOTS-13;So;0;ON;;;;;N;;;;;
+2806;BRAILLE PATTERN DOTS-23;So;0;ON;;;;;N;;;;;
+2807;BRAILLE PATTERN DOTS-123;So;0;ON;;;;;N;;;;;
+2808;BRAILLE PATTERN DOTS-4;So;0;ON;;;;;N;;;;;
+2809;BRAILLE PATTERN DOTS-14;So;0;ON;;;;;N;;;;;
+280A;BRAILLE PATTERN DOTS-24;So;0;ON;;;;;N;;;;;
+280B;BRAILLE PATTERN DOTS-124;So;0;ON;;;;;N;;;;;
+280C;BRAILLE PATTERN DOTS-34;So;0;ON;;;;;N;;;;;
+280D;BRAILLE PATTERN DOTS-134;So;0;ON;;;;;N;;;;;
+280E;BRAILLE PATTERN DOTS-234;So;0;ON;;;;;N;;;;;
+280F;BRAILLE PATTERN DOTS-1234;So;0;ON;;;;;N;;;;;
+2810;BRAILLE PATTERN DOTS-5;So;0;ON;;;;;N;;;;;
+2811;BRAILLE PATTERN DOTS-15;So;0;ON;;;;;N;;;;;
+2812;BRAILLE PATTERN DOTS-25;So;0;ON;;;;;N;;;;;
+2813;BRAILLE PATTERN DOTS-125;So;0;ON;;;;;N;;;;;
+2814;BRAILLE PATTERN DOTS-35;So;0;ON;;;;;N;;;;;
+2815;BRAILLE PATTERN DOTS-135;So;0;ON;;;;;N;;;;;
+2816;BRAILLE PATTERN DOTS-235;So;0;ON;;;;;N;;;;;
+2817;BRAILLE PATTERN DOTS-1235;So;0;ON;;;;;N;;;;;
+2818;BRAILLE PATTERN DOTS-45;So;0;ON;;;;;N;;;;;
+2819;BRAILLE PATTERN DOTS-145;So;0;ON;;;;;N;;;;;
+281A;BRAILLE PATTERN DOTS-245;So;0;ON;;;;;N;;;;;
+281B;BRAILLE PATTERN DOTS-1245;So;0;ON;;;;;N;;;;;
+281C;BRAILLE PATTERN DOTS-345;So;0;ON;;;;;N;;;;;
+281D;BRAILLE PATTERN DOTS-1345;So;0;ON;;;;;N;;;;;
+281E;BRAILLE PATTERN DOTS-2345;So;0;ON;;;;;N;;;;;
+281F;BRAILLE PATTERN DOTS-12345;So;0;ON;;;;;N;;;;;
+2820;BRAILLE PATTERN DOTS-6;So;0;ON;;;;;N;;;;;
+2821;BRAILLE PATTERN DOTS-16;So;0;ON;;;;;N;;;;;
+2822;BRAILLE PATTERN DOTS-26;So;0;ON;;;;;N;;;;;
+2823;BRAILLE PATTERN DOTS-126;So;0;ON;;;;;N;;;;;
+2824;BRAILLE PATTERN DOTS-36;So;0;ON;;;;;N;;;;;
+2825;BRAILLE PATTERN DOTS-136;So;0;ON;;;;;N;;;;;
+2826;BRAILLE PATTERN DOTS-236;So;0;ON;;;;;N;;;;;
+2827;BRAILLE PATTERN DOTS-1236;So;0;ON;;;;;N;;;;;
+2828;BRAILLE PATTERN DOTS-46;So;0;ON;;;;;N;;;;;
+2829;BRAILLE PATTERN DOTS-146;So;0;ON;;;;;N;;;;;
+282A;BRAILLE PATTERN DOTS-246;So;0;ON;;;;;N;;;;;
+282B;BRAILLE PATTERN DOTS-1246;So;0;ON;;;;;N;;;;;
+282C;BRAILLE PATTERN DOTS-346;So;0;ON;;;;;N;;;;;
+282D;BRAILLE PATTERN DOTS-1346;So;0;ON;;;;;N;;;;;
+282E;BRAILLE PATTERN DOTS-2346;So;0;ON;;;;;N;;;;;
+282F;BRAILLE PATTERN DOTS-12346;So;0;ON;;;;;N;;;;;
+2830;BRAILLE PATTERN DOTS-56;So;0;ON;;;;;N;;;;;
+2831;BRAILLE PATTERN DOTS-156;So;0;ON;;;;;N;;;;;
+2832;BRAILLE PATTERN DOTS-256;So;0;ON;;;;;N;;;;;
+2833;BRAILLE PATTERN DOTS-1256;So;0;ON;;;;;N;;;;;
+2834;BRAILLE PATTERN DOTS-356;So;0;ON;;;;;N;;;;;
+2835;BRAILLE PATTERN DOTS-1356;So;0;ON;;;;;N;;;;;
+2836;BRAILLE PATTERN DOTS-2356;So;0;ON;;;;;N;;;;;
+2837;BRAILLE PATTERN DOTS-12356;So;0;ON;;;;;N;;;;;
+2838;BRAILLE PATTERN DOTS-456;So;0;ON;;;;;N;;;;;
+2839;BRAILLE PATTERN DOTS-1456;So;0;ON;;;;;N;;;;;
+283A;BRAILLE PATTERN DOTS-2456;So;0;ON;;;;;N;;;;;
+283B;BRAILLE PATTERN DOTS-12456;So;0;ON;;;;;N;;;;;
+283C;BRAILLE PATTERN DOTS-3456;So;0;ON;;;;;N;;;;;
+283D;BRAILLE PATTERN DOTS-13456;So;0;ON;;;;;N;;;;;
+283E;BRAILLE PATTERN DOTS-23456;So;0;ON;;;;;N;;;;;
+283F;BRAILLE PATTERN DOTS-123456;So;0;ON;;;;;N;;;;;
+2840;BRAILLE PATTERN DOTS-7;So;0;ON;;;;;N;;;;;
+2841;BRAILLE PATTERN DOTS-17;So;0;ON;;;;;N;;;;;
+2842;BRAILLE PATTERN DOTS-27;So;0;ON;;;;;N;;;;;
+2843;BRAILLE PATTERN DOTS-127;So;0;ON;;;;;N;;;;;
+2844;BRAILLE PATTERN DOTS-37;So;0;ON;;;;;N;;;;;
+2845;BRAILLE PATTERN DOTS-137;So;0;ON;;;;;N;;;;;
+2846;BRAILLE PATTERN DOTS-237;So;0;ON;;;;;N;;;;;
+2847;BRAILLE PATTERN DOTS-1237;So;0;ON;;;;;N;;;;;
+2848;BRAILLE PATTERN DOTS-47;So;0;ON;;;;;N;;;;;
+2849;BRAILLE PATTERN DOTS-147;So;0;ON;;;;;N;;;;;
+284A;BRAILLE PATTERN DOTS-247;So;0;ON;;;;;N;;;;;
+284B;BRAILLE PATTERN DOTS-1247;So;0;ON;;;;;N;;;;;
+284C;BRAILLE PATTERN DOTS-347;So;0;ON;;;;;N;;;;;
+284D;BRAILLE PATTERN DOTS-1347;So;0;ON;;;;;N;;;;;
+284E;BRAILLE PATTERN DOTS-2347;So;0;ON;;;;;N;;;;;
+284F;BRAILLE PATTERN DOTS-12347;So;0;ON;;;;;N;;;;;
+2850;BRAILLE PATTERN DOTS-57;So;0;ON;;;;;N;;;;;
+2851;BRAILLE PATTERN DOTS-157;So;0;ON;;;;;N;;;;;
+2852;BRAILLE PATTERN DOTS-257;So;0;ON;;;;;N;;;;;
+2853;BRAILLE PATTERN DOTS-1257;So;0;ON;;;;;N;;;;;
+2854;BRAILLE PATTERN DOTS-357;So;0;ON;;;;;N;;;;;
+2855;BRAILLE PATTERN DOTS-1357;So;0;ON;;;;;N;;;;;
+2856;BRAILLE PATTERN DOTS-2357;So;0;ON;;;;;N;;;;;
+2857;BRAILLE PATTERN DOTS-12357;So;0;ON;;;;;N;;;;;
+2858;BRAILLE PATTERN DOTS-457;So;0;ON;;;;;N;;;;;
+2859;BRAILLE PATTERN DOTS-1457;So;0;ON;;;;;N;;;;;
+285A;BRAILLE PATTERN DOTS-2457;So;0;ON;;;;;N;;;;;
+285B;BRAILLE PATTERN DOTS-12457;So;0;ON;;;;;N;;;;;
+285C;BRAILLE PATTERN DOTS-3457;So;0;ON;;;;;N;;;;;
+285D;BRAILLE PATTERN DOTS-13457;So;0;ON;;;;;N;;;;;
+285E;BRAILLE PATTERN DOTS-23457;So;0;ON;;;;;N;;;;;
+285F;BRAILLE PATTERN DOTS-123457;So;0;ON;;;;;N;;;;;
+2860;BRAILLE PATTERN DOTS-67;So;0;ON;;;;;N;;;;;
+2861;BRAILLE PATTERN DOTS-167;So;0;ON;;;;;N;;;;;
+2862;BRAILLE PATTERN DOTS-267;So;0;ON;;;;;N;;;;;
+2863;BRAILLE PATTERN DOTS-1267;So;0;ON;;;;;N;;;;;
+2864;BRAILLE PATTERN DOTS-367;So;0;ON;;;;;N;;;;;
+2865;BRAILLE PATTERN DOTS-1367;So;0;ON;;;;;N;;;;;
+2866;BRAILLE PATTERN DOTS-2367;So;0;ON;;;;;N;;;;;
+2867;BRAILLE PATTERN DOTS-12367;So;0;ON;;;;;N;;;;;
+2868;BRAILLE PATTERN DOTS-467;So;0;ON;;;;;N;;;;;
+2869;BRAILLE PATTERN DOTS-1467;So;0;ON;;;;;N;;;;;
+286A;BRAILLE PATTERN DOTS-2467;So;0;ON;;;;;N;;;;;
+286B;BRAILLE PATTERN DOTS-12467;So;0;ON;;;;;N;;;;;
+286C;BRAILLE PATTERN DOTS-3467;So;0;ON;;;;;N;;;;;
+286D;BRAILLE PATTERN DOTS-13467;So;0;ON;;;;;N;;;;;
+286E;BRAILLE PATTERN DOTS-23467;So;0;ON;;;;;N;;;;;
+286F;BRAILLE PATTERN DOTS-123467;So;0;ON;;;;;N;;;;;
+2870;BRAILLE PATTERN DOTS-567;So;0;ON;;;;;N;;;;;
+2871;BRAILLE PATTERN DOTS-1567;So;0;ON;;;;;N;;;;;
+2872;BRAILLE PATTERN DOTS-2567;So;0;ON;;;;;N;;;;;
+2873;BRAILLE PATTERN DOTS-12567;So;0;ON;;;;;N;;;;;
+2874;BRAILLE PATTERN DOTS-3567;So;0;ON;;;;;N;;;;;
+2875;BRAILLE PATTERN DOTS-13567;So;0;ON;;;;;N;;;;;
+2876;BRAILLE PATTERN DOTS-23567;So;0;ON;;;;;N;;;;;
+2877;BRAILLE PATTERN DOTS-123567;So;0;ON;;;;;N;;;;;
+2878;BRAILLE PATTERN DOTS-4567;So;0;ON;;;;;N;;;;;
+2879;BRAILLE PATTERN DOTS-14567;So;0;ON;;;;;N;;;;;
+287A;BRAILLE PATTERN DOTS-24567;So;0;ON;;;;;N;;;;;
+287B;BRAILLE PATTERN DOTS-124567;So;0;ON;;;;;N;;;;;
+287C;BRAILLE PATTERN DOTS-34567;So;0;ON;;;;;N;;;;;
+287D;BRAILLE PATTERN DOTS-134567;So;0;ON;;;;;N;;;;;
+287E;BRAILLE PATTERN DOTS-234567;So;0;ON;;;;;N;;;;;
+287F;BRAILLE PATTERN DOTS-1234567;So;0;ON;;;;;N;;;;;
+2880;BRAILLE PATTERN DOTS-8;So;0;ON;;;;;N;;;;;
+2881;BRAILLE PATTERN DOTS-18;So;0;ON;;;;;N;;;;;
+2882;BRAILLE PATTERN DOTS-28;So;0;ON;;;;;N;;;;;
+2883;BRAILLE PATTERN DOTS-128;So;0;ON;;;;;N;;;;;
+2884;BRAILLE PATTERN DOTS-38;So;0;ON;;;;;N;;;;;
+2885;BRAILLE PATTERN DOTS-138;So;0;ON;;;;;N;;;;;
+2886;BRAILLE PATTERN DOTS-238;So;0;ON;;;;;N;;;;;
+2887;BRAILLE PATTERN DOTS-1238;So;0;ON;;;;;N;;;;;
+2888;BRAILLE PATTERN DOTS-48;So;0;ON;;;;;N;;;;;
+2889;BRAILLE PATTERN DOTS-148;So;0;ON;;;;;N;;;;;
+288A;BRAILLE PATTERN DOTS-248;So;0;ON;;;;;N;;;;;
+288B;BRAILLE PATTERN DOTS-1248;So;0;ON;;;;;N;;;;;
+288C;BRAILLE PATTERN DOTS-348;So;0;ON;;;;;N;;;;;
+288D;BRAILLE PATTERN DOTS-1348;So;0;ON;;;;;N;;;;;
+288E;BRAILLE PATTERN DOTS-2348;So;0;ON;;;;;N;;;;;
+288F;BRAILLE PATTERN DOTS-12348;So;0;ON;;;;;N;;;;;
+2890;BRAILLE PATTERN DOTS-58;So;0;ON;;;;;N;;;;;
+2891;BRAILLE PATTERN DOTS-158;So;0;ON;;;;;N;;;;;
+2892;BRAILLE PATTERN DOTS-258;So;0;ON;;;;;N;;;;;
+2893;BRAILLE PATTERN DOTS-1258;So;0;ON;;;;;N;;;;;
+2894;BRAILLE PATTERN DOTS-358;So;0;ON;;;;;N;;;;;
+2895;BRAILLE PATTERN DOTS-1358;So;0;ON;;;;;N;;;;;
+2896;BRAILLE PATTERN DOTS-2358;So;0;ON;;;;;N;;;;;
+2897;BRAILLE PATTERN DOTS-12358;So;0;ON;;;;;N;;;;;
+2898;BRAILLE PATTERN DOTS-458;So;0;ON;;;;;N;;;;;
+2899;BRAILLE PATTERN DOTS-1458;So;0;ON;;;;;N;;;;;
+289A;BRAILLE PATTERN DOTS-2458;So;0;ON;;;;;N;;;;;
+289B;BRAILLE PATTERN DOTS-12458;So;0;ON;;;;;N;;;;;
+289C;BRAILLE PATTERN DOTS-3458;So;0;ON;;;;;N;;;;;
+289D;BRAILLE PATTERN DOTS-13458;So;0;ON;;;;;N;;;;;
+289E;BRAILLE PATTERN DOTS-23458;So;0;ON;;;;;N;;;;;
+289F;BRAILLE PATTERN DOTS-123458;So;0;ON;;;;;N;;;;;
+28A0;BRAILLE PATTERN DOTS-68;So;0;ON;;;;;N;;;;;
+28A1;BRAILLE PATTERN DOTS-168;So;0;ON;;;;;N;;;;;
+28A2;BRAILLE PATTERN DOTS-268;So;0;ON;;;;;N;;;;;
+28A3;BRAILLE PATTERN DOTS-1268;So;0;ON;;;;;N;;;;;
+28A4;BRAILLE PATTERN DOTS-368;So;0;ON;;;;;N;;;;;
+28A5;BRAILLE PATTERN DOTS-1368;So;0;ON;;;;;N;;;;;
+28A6;BRAILLE PATTERN DOTS-2368;So;0;ON;;;;;N;;;;;
+28A7;BRAILLE PATTERN DOTS-12368;So;0;ON;;;;;N;;;;;
+28A8;BRAILLE PATTERN DOTS-468;So;0;ON;;;;;N;;;;;
+28A9;BRAILLE PATTERN DOTS-1468;So;0;ON;;;;;N;;;;;
+28AA;BRAILLE PATTERN DOTS-2468;So;0;ON;;;;;N;;;;;
+28AB;BRAILLE PATTERN DOTS-12468;So;0;ON;;;;;N;;;;;
+28AC;BRAILLE PATTERN DOTS-3468;So;0;ON;;;;;N;;;;;
+28AD;BRAILLE PATTERN DOTS-13468;So;0;ON;;;;;N;;;;;
+28AE;BRAILLE PATTERN DOTS-23468;So;0;ON;;;;;N;;;;;
+28AF;BRAILLE PATTERN DOTS-123468;So;0;ON;;;;;N;;;;;
+28B0;BRAILLE PATTERN DOTS-568;So;0;ON;;;;;N;;;;;
+28B1;BRAILLE PATTERN DOTS-1568;So;0;ON;;;;;N;;;;;
+28B2;BRAILLE PATTERN DOTS-2568;So;0;ON;;;;;N;;;;;
+28B3;BRAILLE PATTERN DOTS-12568;So;0;ON;;;;;N;;;;;
+28B4;BRAILLE PATTERN DOTS-3568;So;0;ON;;;;;N;;;;;
+28B5;BRAILLE PATTERN DOTS-13568;So;0;ON;;;;;N;;;;;
+28B6;BRAILLE PATTERN DOTS-23568;So;0;ON;;;;;N;;;;;
+28B7;BRAILLE PATTERN DOTS-123568;So;0;ON;;;;;N;;;;;
+28B8;BRAILLE PATTERN DOTS-4568;So;0;ON;;;;;N;;;;;
+28B9;BRAILLE PATTERN DOTS-14568;So;0;ON;;;;;N;;;;;
+28BA;BRAILLE PATTERN DOTS-24568;So;0;ON;;;;;N;;;;;
+28BB;BRAILLE PATTERN DOTS-124568;So;0;ON;;;;;N;;;;;
+28BC;BRAILLE PATTERN DOTS-34568;So;0;ON;;;;;N;;;;;
+28BD;BRAILLE PATTERN DOTS-134568;So;0;ON;;;;;N;;;;;
+28BE;BRAILLE PATTERN DOTS-234568;So;0;ON;;;;;N;;;;;
+28BF;BRAILLE PATTERN DOTS-1234568;So;0;ON;;;;;N;;;;;
+28C0;BRAILLE PATTERN DOTS-78;So;0;ON;;;;;N;;;;;
+28C1;BRAILLE PATTERN DOTS-178;So;0;ON;;;;;N;;;;;
+28C2;BRAILLE PATTERN DOTS-278;So;0;ON;;;;;N;;;;;
+28C3;BRAILLE PATTERN DOTS-1278;So;0;ON;;;;;N;;;;;
+28C4;BRAILLE PATTERN DOTS-378;So;0;ON;;;;;N;;;;;
+28C5;BRAILLE PATTERN DOTS-1378;So;0;ON;;;;;N;;;;;
+28C6;BRAILLE PATTERN DOTS-2378;So;0;ON;;;;;N;;;;;
+28C7;BRAILLE PATTERN DOTS-12378;So;0;ON;;;;;N;;;;;
+28C8;BRAILLE PATTERN DOTS-478;So;0;ON;;;;;N;;;;;
+28C9;BRAILLE PATTERN DOTS-1478;So;0;ON;;;;;N;;;;;
+28CA;BRAILLE PATTERN DOTS-2478;So;0;ON;;;;;N;;;;;
+28CB;BRAILLE PATTERN DOTS-12478;So;0;ON;;;;;N;;;;;
+28CC;BRAILLE PATTERN DOTS-3478;So;0;ON;;;;;N;;;;;
+28CD;BRAILLE PATTERN DOTS-13478;So;0;ON;;;;;N;;;;;
+28CE;BRAILLE PATTERN DOTS-23478;So;0;ON;;;;;N;;;;;
+28CF;BRAILLE PATTERN DOTS-123478;So;0;ON;;;;;N;;;;;
+28D0;BRAILLE PATTERN DOTS-578;So;0;ON;;;;;N;;;;;
+28D1;BRAILLE PATTERN DOTS-1578;So;0;ON;;;;;N;;;;;
+28D2;BRAILLE PATTERN DOTS-2578;So;0;ON;;;;;N;;;;;
+28D3;BRAILLE PATTERN DOTS-12578;So;0;ON;;;;;N;;;;;
+28D4;BRAILLE PATTERN DOTS-3578;So;0;ON;;;;;N;;;;;
+28D5;BRAILLE PATTERN DOTS-13578;So;0;ON;;;;;N;;;;;
+28D6;BRAILLE PATTERN DOTS-23578;So;0;ON;;;;;N;;;;;
+28D7;BRAILLE PATTERN DOTS-123578;So;0;ON;;;;;N;;;;;
+28D8;BRAILLE PATTERN DOTS-4578;So;0;ON;;;;;N;;;;;
+28D9;BRAILLE PATTERN DOTS-14578;So;0;ON;;;;;N;;;;;
+28DA;BRAILLE PATTERN DOTS-24578;So;0;ON;;;;;N;;;;;
+28DB;BRAILLE PATTERN DOTS-124578;So;0;ON;;;;;N;;;;;
+28DC;BRAILLE PATTERN DOTS-34578;So;0;ON;;;;;N;;;;;
+28DD;BRAILLE PATTERN DOTS-134578;So;0;ON;;;;;N;;;;;
+28DE;BRAILLE PATTERN DOTS-234578;So;0;ON;;;;;N;;;;;
+28DF;BRAILLE PATTERN DOTS-1234578;So;0;ON;;;;;N;;;;;
+28E0;BRAILLE PATTERN DOTS-678;So;0;ON;;;;;N;;;;;
+28E1;BRAILLE PATTERN DOTS-1678;So;0;ON;;;;;N;;;;;
+28E2;BRAILLE PATTERN DOTS-2678;So;0;ON;;;;;N;;;;;
+28E3;BRAILLE PATTERN DOTS-12678;So;0;ON;;;;;N;;;;;
+28E4;BRAILLE PATTERN DOTS-3678;So;0;ON;;;;;N;;;;;
+28E5;BRAILLE PATTERN DOTS-13678;So;0;ON;;;;;N;;;;;
+28E6;BRAILLE PATTERN DOTS-23678;So;0;ON;;;;;N;;;;;
+28E7;BRAILLE PATTERN DOTS-123678;So;0;ON;;;;;N;;;;;
+28E8;BRAILLE PATTERN DOTS-4678;So;0;ON;;;;;N;;;;;
+28E9;BRAILLE PATTERN DOTS-14678;So;0;ON;;;;;N;;;;;
+28EA;BRAILLE PATTERN DOTS-24678;So;0;ON;;;;;N;;;;;
+28EB;BRAILLE PATTERN DOTS-124678;So;0;ON;;;;;N;;;;;
+28EC;BRAILLE PATTERN DOTS-34678;So;0;ON;;;;;N;;;;;
+28ED;BRAILLE PATTERN DOTS-134678;So;0;ON;;;;;N;;;;;
+28EE;BRAILLE PATTERN DOTS-234678;So;0;ON;;;;;N;;;;;
+28EF;BRAILLE PATTERN DOTS-1234678;So;0;ON;;;;;N;;;;;
+28F0;BRAILLE PATTERN DOTS-5678;So;0;ON;;;;;N;;;;;
+28F1;BRAILLE PATTERN DOTS-15678;So;0;ON;;;;;N;;;;;
+28F2;BRAILLE PATTERN DOTS-25678;So;0;ON;;;;;N;;;;;
+28F3;BRAILLE PATTERN DOTS-125678;So;0;ON;;;;;N;;;;;
+28F4;BRAILLE PATTERN DOTS-35678;So;0;ON;;;;;N;;;;;
+28F5;BRAILLE PATTERN DOTS-135678;So;0;ON;;;;;N;;;;;
+28F6;BRAILLE PATTERN DOTS-235678;So;0;ON;;;;;N;;;;;
+28F7;BRAILLE PATTERN DOTS-1235678;So;0;ON;;;;;N;;;;;
+28F8;BRAILLE PATTERN DOTS-45678;So;0;ON;;;;;N;;;;;
+28F9;BRAILLE PATTERN DOTS-145678;So;0;ON;;;;;N;;;;;
+28FA;BRAILLE PATTERN DOTS-245678;So;0;ON;;;;;N;;;;;
+28FB;BRAILLE PATTERN DOTS-1245678;So;0;ON;;;;;N;;;;;
+28FC;BRAILLE PATTERN DOTS-345678;So;0;ON;;;;;N;;;;;
+28FD;BRAILLE PATTERN DOTS-1345678;So;0;ON;;;;;N;;;;;
+28FE;BRAILLE PATTERN DOTS-2345678;So;0;ON;;;;;N;;;;;
+28FF;BRAILLE PATTERN DOTS-12345678;So;0;ON;;;;;N;;;;;
+2E80;CJK RADICAL REPEAT;So;0;ON;;;;;N;;;;;
+2E81;CJK RADICAL CLIFF;So;0;ON;;;;;N;;;;;
+2E82;CJK RADICAL SECOND ONE;So;0;ON;;;;;N;;;;;
+2E83;CJK RADICAL SECOND TWO;So;0;ON;;;;;N;;;;;
+2E84;CJK RADICAL SECOND THREE;So;0;ON;;;;;N;;;;;
+2E85;CJK RADICAL PERSON;So;0;ON;;;;;N;;;;;
+2E86;CJK RADICAL BOX;So;0;ON;;;;;N;;;;;
+2E87;CJK RADICAL TABLE;So;0;ON;;;;;N;;;;;
+2E88;CJK RADICAL KNIFE ONE;So;0;ON;;;;;N;;;;;
+2E89;CJK RADICAL KNIFE TWO;So;0;ON;;;;;N;;;;;
+2E8A;CJK RADICAL DIVINATION;So;0;ON;;;;;N;;;;;
+2E8B;CJK RADICAL SEAL;So;0;ON;;;;;N;;;;;
+2E8C;CJK RADICAL SMALL ONE;So;0;ON;;;;;N;;;;;
+2E8D;CJK RADICAL SMALL TWO;So;0;ON;;;;;N;;;;;
+2E8E;CJK RADICAL LAME ONE;So;0;ON;;;;;N;;;;;
+2E8F;CJK RADICAL LAME TWO;So;0;ON;;;;;N;;;;;
+2E90;CJK RADICAL LAME THREE;So;0;ON;;;;;N;;;;;
+2E91;CJK RADICAL LAME FOUR;So;0;ON;;;;;N;;;;;
+2E92;CJK RADICAL SNAKE;So;0;ON;;;;;N;;;;;
+2E93;CJK RADICAL THREAD;So;0;ON;;;;;N;;;;;
+2E94;CJK RADICAL SNOUT ONE;So;0;ON;;;;;N;;;;;
+2E95;CJK RADICAL SNOUT TWO;So;0;ON;;;;;N;;;;;
+2E96;CJK RADICAL HEART ONE;So;0;ON;;;;;N;;;;;
+2E97;CJK RADICAL HEART TWO;So;0;ON;;;;;N;;;;;
+2E98;CJK RADICAL HAND;So;0;ON;;;;;N;;;;;
+2E99;CJK RADICAL RAP;So;0;ON;;;;;N;;;;;
+2E9B;CJK RADICAL CHOKE;So;0;ON;;;;;N;;;;;
+2E9C;CJK RADICAL SUN;So;0;ON;;;;;N;;;;;
+2E9D;CJK RADICAL MOON;So;0;ON;;;;;N;;;;;
+2E9E;CJK RADICAL DEATH;So;0;ON;;;;;N;;;;;
+2E9F;CJK RADICAL MOTHER;So;0;ON;<compat> 6BCD;;;;N;;;;;
+2EA0;CJK RADICAL CIVILIAN;So;0;ON;;;;;N;;;;;
+2EA1;CJK RADICAL WATER ONE;So;0;ON;;;;;N;;;;;
+2EA2;CJK RADICAL WATER TWO;So;0;ON;;;;;N;;;;;
+2EA3;CJK RADICAL FIRE;So;0;ON;;;;;N;;;;;
+2EA4;CJK RADICAL PAW ONE;So;0;ON;;;;;N;;;;;
+2EA5;CJK RADICAL PAW TWO;So;0;ON;;;;;N;;;;;
+2EA6;CJK RADICAL SIMPLIFIED HALF TREE TRUNK;So;0;ON;;;;;N;;;;;
+2EA7;CJK RADICAL COW;So;0;ON;;;;;N;;;;;
+2EA8;CJK RADICAL DOG;So;0;ON;;;;;N;;;;;
+2EA9;CJK RADICAL JADE;So;0;ON;;;;;N;;;;;
+2EAA;CJK RADICAL BOLT OF CLOTH;So;0;ON;;;;;N;;;;;
+2EAB;CJK RADICAL EYE;So;0;ON;;;;;N;;;;;
+2EAC;CJK RADICAL SPIRIT ONE;So;0;ON;;;;;N;;;;;
+2EAD;CJK RADICAL SPIRIT TWO;So;0;ON;;;;;N;;;;;
+2EAE;CJK RADICAL BAMBOO;So;0;ON;;;;;N;;;;;
+2EAF;CJK RADICAL SILK;So;0;ON;;;;;N;;;;;
+2EB0;CJK RADICAL C-SIMPLIFIED SILK;So;0;ON;;;;;N;;;;;
+2EB1;CJK RADICAL NET ONE;So;0;ON;;;;;N;;;;;
+2EB2;CJK RADICAL NET TWO;So;0;ON;;;;;N;;;;;
+2EB3;CJK RADICAL NET THREE;So;0;ON;;;;;N;;;;;
+2EB4;CJK RADICAL NET FOUR;So;0;ON;;;;;N;;;;;
+2EB5;CJK RADICAL MESH;So;0;ON;;;;;N;;;;;
+2EB6;CJK RADICAL SHEEP;So;0;ON;;;;;N;;;;;
+2EB7;CJK RADICAL RAM;So;0;ON;;;;;N;;;;;
+2EB8;CJK RADICAL EWE;So;0;ON;;;;;N;;;;;
+2EB9;CJK RADICAL OLD;So;0;ON;;;;;N;;;;;
+2EBA;CJK RADICAL BRUSH ONE;So;0;ON;;;;;N;;;;;
+2EBB;CJK RADICAL BRUSH TWO;So;0;ON;;;;;N;;;;;
+2EBC;CJK RADICAL MEAT;So;0;ON;;;;;N;;;;;
+2EBD;CJK RADICAL MORTAR;So;0;ON;;;;;N;;;;;
+2EBE;CJK RADICAL GRASS ONE;So;0;ON;;;;;N;;;;;
+2EBF;CJK RADICAL GRASS TWO;So;0;ON;;;;;N;;;;;
+2EC0;CJK RADICAL GRASS THREE;So;0;ON;;;;;N;;;;;
+2EC1;CJK RADICAL TIGER;So;0;ON;;;;;N;;;;;
+2EC2;CJK RADICAL CLOTHES;So;0;ON;;;;;N;;;;;
+2EC3;CJK RADICAL WEST ONE;So;0;ON;;;;;N;;;;;
+2EC4;CJK RADICAL WEST TWO;So;0;ON;;;;;N;;;;;
+2EC5;CJK RADICAL C-SIMPLIFIED SEE;So;0;ON;;;;;N;;;;;
+2EC6;CJK RADICAL SIMPLIFIED HORN;So;0;ON;;;;;N;;;;;
+2EC7;CJK RADICAL HORN;So;0;ON;;;;;N;;;;;
+2EC8;CJK RADICAL C-SIMPLIFIED SPEECH;So;0;ON;;;;;N;;;;;
+2EC9;CJK RADICAL C-SIMPLIFIED SHELL;So;0;ON;;;;;N;;;;;
+2ECA;CJK RADICAL FOOT;So;0;ON;;;;;N;;;;;
+2ECB;CJK RADICAL C-SIMPLIFIED CART;So;0;ON;;;;;N;;;;;
+2ECC;CJK RADICAL SIMPLIFIED WALK;So;0;ON;;;;;N;;;;;
+2ECD;CJK RADICAL WALK ONE;So;0;ON;;;;;N;;;;;
+2ECE;CJK RADICAL WALK TWO;So;0;ON;;;;;N;;;;;
+2ECF;CJK RADICAL CITY;So;0;ON;;;;;N;;;;;
+2ED0;CJK RADICAL C-SIMPLIFIED GOLD;So;0;ON;;;;;N;;;;;
+2ED1;CJK RADICAL LONG ONE;So;0;ON;;;;;N;;;;;
+2ED2;CJK RADICAL LONG TWO;So;0;ON;;;;;N;;;;;
+2ED3;CJK RADICAL C-SIMPLIFIED LONG;So;0;ON;;;;;N;;;;;
+2ED4;CJK RADICAL C-SIMPLIFIED GATE;So;0;ON;;;;;N;;;;;
+2ED5;CJK RADICAL MOUND ONE;So;0;ON;;;;;N;;;;;
+2ED6;CJK RADICAL MOUND TWO;So;0;ON;;;;;N;;;;;
+2ED7;CJK RADICAL RAIN;So;0;ON;;;;;N;;;;;
+2ED8;CJK RADICAL BLUE;So;0;ON;;;;;N;;;;;
+2ED9;CJK RADICAL C-SIMPLIFIED TANNED LEATHER;So;0;ON;;;;;N;;;;;
+2EDA;CJK RADICAL C-SIMPLIFIED LEAF;So;0;ON;;;;;N;;;;;
+2EDB;CJK RADICAL C-SIMPLIFIED WIND;So;0;ON;;;;;N;;;;;
+2EDC;CJK RADICAL C-SIMPLIFIED FLY;So;0;ON;;;;;N;;;;;
+2EDD;CJK RADICAL EAT ONE;So;0;ON;;;;;N;;;;;
+2EDE;CJK RADICAL EAT TWO;So;0;ON;;;;;N;;;;;
+2EDF;CJK RADICAL EAT THREE;So;0;ON;;;;;N;;;;;
+2EE0;CJK RADICAL C-SIMPLIFIED EAT;So;0;ON;;;;;N;;;;;
+2EE1;CJK RADICAL HEAD;So;0;ON;;;;;N;;;;;
+2EE2;CJK RADICAL C-SIMPLIFIED HORSE;So;0;ON;;;;;N;;;;;
+2EE3;CJK RADICAL BONE;So;0;ON;;;;;N;;;;;
+2EE4;CJK RADICAL GHOST;So;0;ON;;;;;N;;;;;
+2EE5;CJK RADICAL C-SIMPLIFIED FISH;So;0;ON;;;;;N;;;;;
+2EE6;CJK RADICAL C-SIMPLIFIED BIRD;So;0;ON;;;;;N;;;;;
+2EE7;CJK RADICAL C-SIMPLIFIED SALT;So;0;ON;;;;;N;;;;;
+2EE8;CJK RADICAL SIMPLIFIED WHEAT;So;0;ON;;;;;N;;;;;
+2EE9;CJK RADICAL SIMPLIFIED YELLOW;So;0;ON;;;;;N;;;;;
+2EEA;CJK RADICAL C-SIMPLIFIED FROG;So;0;ON;;;;;N;;;;;
+2EEB;CJK RADICAL J-SIMPLIFIED EVEN;So;0;ON;;;;;N;;;;;
+2EEC;CJK RADICAL C-SIMPLIFIED EVEN;So;0;ON;;;;;N;;;;;
+2EED;CJK RADICAL J-SIMPLIFIED TOOTH;So;0;ON;;;;;N;;;;;
+2EEE;CJK RADICAL C-SIMPLIFIED TOOTH;So;0;ON;;;;;N;;;;;
+2EEF;CJK RADICAL J-SIMPLIFIED DRAGON;So;0;ON;;;;;N;;;;;
+2EF0;CJK RADICAL C-SIMPLIFIED DRAGON;So;0;ON;;;;;N;;;;;
+2EF1;CJK RADICAL TURTLE;So;0;ON;;;;;N;;;;;
+2EF2;CJK RADICAL J-SIMPLIFIED TURTLE;So;0;ON;;;;;N;;;;;
+2EF3;CJK RADICAL C-SIMPLIFIED TURTLE;So;0;ON;<compat> 9F9F;;;;N;;;;;
+2F00;KANGXI RADICAL ONE;So;0;ON;<compat> 4E00;;;;N;;;;;
+2F01;KANGXI RADICAL LINE;So;0;ON;<compat> 4E28;;;;N;;;;;
+2F02;KANGXI RADICAL DOT;So;0;ON;<compat> 4E36;;;;N;;;;;
+2F03;KANGXI RADICAL SLASH;So;0;ON;<compat> 4E3F;;;;N;;;;;
+2F04;KANGXI RADICAL SECOND;So;0;ON;<compat> 4E59;;;;N;;;;;
+2F05;KANGXI RADICAL HOOK;So;0;ON;<compat> 4E85;;;;N;;;;;
+2F06;KANGXI RADICAL TWO;So;0;ON;<compat> 4E8C;;;;N;;;;;
+2F07;KANGXI RADICAL LID;So;0;ON;<compat> 4EA0;;;;N;;;;;
+2F08;KANGXI RADICAL MAN;So;0;ON;<compat> 4EBA;;;;N;;;;;
+2F09;KANGXI RADICAL LEGS;So;0;ON;<compat> 513F;;;;N;;;;;
+2F0A;KANGXI RADICAL ENTER;So;0;ON;<compat> 5165;;;;N;;;;;
+2F0B;KANGXI RADICAL EIGHT;So;0;ON;<compat> 516B;;;;N;;;;;
+2F0C;KANGXI RADICAL DOWN BOX;So;0;ON;<compat> 5182;;;;N;;;;;
+2F0D;KANGXI RADICAL COVER;So;0;ON;<compat> 5196;;;;N;;;;;
+2F0E;KANGXI RADICAL ICE;So;0;ON;<compat> 51AB;;;;N;;;;;
+2F0F;KANGXI RADICAL TABLE;So;0;ON;<compat> 51E0;;;;N;;;;;
+2F10;KANGXI RADICAL OPEN BOX;So;0;ON;<compat> 51F5;;;;N;;;;;
+2F11;KANGXI RADICAL KNIFE;So;0;ON;<compat> 5200;;;;N;;;;;
+2F12;KANGXI RADICAL POWER;So;0;ON;<compat> 529B;;;;N;;;;;
+2F13;KANGXI RADICAL WRAP;So;0;ON;<compat> 52F9;;;;N;;;;;
+2F14;KANGXI RADICAL SPOON;So;0;ON;<compat> 5315;;;;N;;;;;
+2F15;KANGXI RADICAL RIGHT OPEN BOX;So;0;ON;<compat> 531A;;;;N;;;;;
+2F16;KANGXI RADICAL HIDING ENCLOSURE;So;0;ON;<compat> 5338;;;;N;;;;;
+2F17;KANGXI RADICAL TEN;So;0;ON;<compat> 5341;;;;N;;;;;
+2F18;KANGXI RADICAL DIVINATION;So;0;ON;<compat> 535C;;;;N;;;;;
+2F19;KANGXI RADICAL SEAL;So;0;ON;<compat> 5369;;;;N;;;;;
+2F1A;KANGXI RADICAL CLIFF;So;0;ON;<compat> 5382;;;;N;;;;;
+2F1B;KANGXI RADICAL PRIVATE;So;0;ON;<compat> 53B6;;;;N;;;;;
+2F1C;KANGXI RADICAL AGAIN;So;0;ON;<compat> 53C8;;;;N;;;;;
+2F1D;KANGXI RADICAL MOUTH;So;0;ON;<compat> 53E3;;;;N;;;;;
+2F1E;KANGXI RADICAL ENCLOSURE;So;0;ON;<compat> 56D7;;;;N;;;;;
+2F1F;KANGXI RADICAL EARTH;So;0;ON;<compat> 571F;;;;N;;;;;
+2F20;KANGXI RADICAL SCHOLAR;So;0;ON;<compat> 58EB;;;;N;;;;;
+2F21;KANGXI RADICAL GO;So;0;ON;<compat> 5902;;;;N;;;;;
+2F22;KANGXI RADICAL GO SLOWLY;So;0;ON;<compat> 590A;;;;N;;;;;
+2F23;KANGXI RADICAL EVENING;So;0;ON;<compat> 5915;;;;N;;;;;
+2F24;KANGXI RADICAL BIG;So;0;ON;<compat> 5927;;;;N;;;;;
+2F25;KANGXI RADICAL WOMAN;So;0;ON;<compat> 5973;;;;N;;;;;
+2F26;KANGXI RADICAL CHILD;So;0;ON;<compat> 5B50;;;;N;;;;;
+2F27;KANGXI RADICAL ROOF;So;0;ON;<compat> 5B80;;;;N;;;;;
+2F28;KANGXI RADICAL INCH;So;0;ON;<compat> 5BF8;;;;N;;;;;
+2F29;KANGXI RADICAL SMALL;So;0;ON;<compat> 5C0F;;;;N;;;;;
+2F2A;KANGXI RADICAL LAME;So;0;ON;<compat> 5C22;;;;N;;;;;
+2F2B;KANGXI RADICAL CORPSE;So;0;ON;<compat> 5C38;;;;N;;;;;
+2F2C;KANGXI RADICAL SPROUT;So;0;ON;<compat> 5C6E;;;;N;;;;;
+2F2D;KANGXI RADICAL MOUNTAIN;So;0;ON;<compat> 5C71;;;;N;;;;;
+2F2E;KANGXI RADICAL RIVER;So;0;ON;<compat> 5DDB;;;;N;;;;;
+2F2F;KANGXI RADICAL WORK;So;0;ON;<compat> 5DE5;;;;N;;;;;
+2F30;KANGXI RADICAL ONESELF;So;0;ON;<compat> 5DF1;;;;N;;;;;
+2F31;KANGXI RADICAL TURBAN;So;0;ON;<compat> 5DFE;;;;N;;;;;
+2F32;KANGXI RADICAL DRY;So;0;ON;<compat> 5E72;;;;N;;;;;
+2F33;KANGXI RADICAL SHORT THREAD;So;0;ON;<compat> 5E7A;;;;N;;;;;
+2F34;KANGXI RADICAL DOTTED CLIFF;So;0;ON;<compat> 5E7F;;;;N;;;;;
+2F35;KANGXI RADICAL LONG STRIDE;So;0;ON;<compat> 5EF4;;;;N;;;;;
+2F36;KANGXI RADICAL TWO HANDS;So;0;ON;<compat> 5EFE;;;;N;;;;;
+2F37;KANGXI RADICAL SHOOT;So;0;ON;<compat> 5F0B;;;;N;;;;;
+2F38;KANGXI RADICAL BOW;So;0;ON;<compat> 5F13;;;;N;;;;;
+2F39;KANGXI RADICAL SNOUT;So;0;ON;<compat> 5F50;;;;N;;;;;
+2F3A;KANGXI RADICAL BRISTLE;So;0;ON;<compat> 5F61;;;;N;;;;;
+2F3B;KANGXI RADICAL STEP;So;0;ON;<compat> 5F73;;;;N;;;;;
+2F3C;KANGXI RADICAL HEART;So;0;ON;<compat> 5FC3;;;;N;;;;;
+2F3D;KANGXI RADICAL HALBERD;So;0;ON;<compat> 6208;;;;N;;;;;
+2F3E;KANGXI RADICAL DOOR;So;0;ON;<compat> 6236;;;;N;;;;;
+2F3F;KANGXI RADICAL HAND;So;0;ON;<compat> 624B;;;;N;;;;;
+2F40;KANGXI RADICAL BRANCH;So;0;ON;<compat> 652F;;;;N;;;;;
+2F41;KANGXI RADICAL RAP;So;0;ON;<compat> 6534;;;;N;;;;;
+2F42;KANGXI RADICAL SCRIPT;So;0;ON;<compat> 6587;;;;N;;;;;
+2F43;KANGXI RADICAL DIPPER;So;0;ON;<compat> 6597;;;;N;;;;;
+2F44;KANGXI RADICAL AXE;So;0;ON;<compat> 65A4;;;;N;;;;;
+2F45;KANGXI RADICAL SQUARE;So;0;ON;<compat> 65B9;;;;N;;;;;
+2F46;KANGXI RADICAL NOT;So;0;ON;<compat> 65E0;;;;N;;;;;
+2F47;KANGXI RADICAL SUN;So;0;ON;<compat> 65E5;;;;N;;;;;
+2F48;KANGXI RADICAL SAY;So;0;ON;<compat> 66F0;;;;N;;;;;
+2F49;KANGXI RADICAL MOON;So;0;ON;<compat> 6708;;;;N;;;;;
+2F4A;KANGXI RADICAL TREE;So;0;ON;<compat> 6728;;;;N;;;;;
+2F4B;KANGXI RADICAL LACK;So;0;ON;<compat> 6B20;;;;N;;;;;
+2F4C;KANGXI RADICAL STOP;So;0;ON;<compat> 6B62;;;;N;;;;;
+2F4D;KANGXI RADICAL DEATH;So;0;ON;<compat> 6B79;;;;N;;;;;
+2F4E;KANGXI RADICAL WEAPON;So;0;ON;<compat> 6BB3;;;;N;;;;;
+2F4F;KANGXI RADICAL DO NOT;So;0;ON;<compat> 6BCB;;;;N;;;;;
+2F50;KANGXI RADICAL COMPARE;So;0;ON;<compat> 6BD4;;;;N;;;;;
+2F51;KANGXI RADICAL FUR;So;0;ON;<compat> 6BDB;;;;N;;;;;
+2F52;KANGXI RADICAL CLAN;So;0;ON;<compat> 6C0F;;;;N;;;;;
+2F53;KANGXI RADICAL STEAM;So;0;ON;<compat> 6C14;;;;N;;;;;
+2F54;KANGXI RADICAL WATER;So;0;ON;<compat> 6C34;;;;N;;;;;
+2F55;KANGXI RADICAL FIRE;So;0;ON;<compat> 706B;;;;N;;;;;
+2F56;KANGXI RADICAL CLAW;So;0;ON;<compat> 722A;;;;N;;;;;
+2F57;KANGXI RADICAL FATHER;So;0;ON;<compat> 7236;;;;N;;;;;
+2F58;KANGXI RADICAL DOUBLE X;So;0;ON;<compat> 723B;;;;N;;;;;
+2F59;KANGXI RADICAL HALF TREE TRUNK;So;0;ON;<compat> 723F;;;;N;;;;;
+2F5A;KANGXI RADICAL SLICE;So;0;ON;<compat> 7247;;;;N;;;;;
+2F5B;KANGXI RADICAL FANG;So;0;ON;<compat> 7259;;;;N;;;;;
+2F5C;KANGXI RADICAL COW;So;0;ON;<compat> 725B;;;;N;;;;;
+2F5D;KANGXI RADICAL DOG;So;0;ON;<compat> 72AC;;;;N;;;;;
+2F5E;KANGXI RADICAL PROFOUND;So;0;ON;<compat> 7384;;;;N;;;;;
+2F5F;KANGXI RADICAL JADE;So;0;ON;<compat> 7389;;;;N;;;;;
+2F60;KANGXI RADICAL MELON;So;0;ON;<compat> 74DC;;;;N;;;;;
+2F61;KANGXI RADICAL TILE;So;0;ON;<compat> 74E6;;;;N;;;;;
+2F62;KANGXI RADICAL SWEET;So;0;ON;<compat> 7518;;;;N;;;;;
+2F63;KANGXI RADICAL LIFE;So;0;ON;<compat> 751F;;;;N;;;;;
+2F64;KANGXI RADICAL USE;So;0;ON;<compat> 7528;;;;N;;;;;
+2F65;KANGXI RADICAL FIELD;So;0;ON;<compat> 7530;;;;N;;;;;
+2F66;KANGXI RADICAL BOLT OF CLOTH;So;0;ON;<compat> 758B;;;;N;;;;;
+2F67;KANGXI RADICAL SICKNESS;So;0;ON;<compat> 7592;;;;N;;;;;
+2F68;KANGXI RADICAL DOTTED TENT;So;0;ON;<compat> 7676;;;;N;;;;;
+2F69;KANGXI RADICAL WHITE;So;0;ON;<compat> 767D;;;;N;;;;;
+2F6A;KANGXI RADICAL SKIN;So;0;ON;<compat> 76AE;;;;N;;;;;
+2F6B;KANGXI RADICAL DISH;So;0;ON;<compat> 76BF;;;;N;;;;;
+2F6C;KANGXI RADICAL EYE;So;0;ON;<compat> 76EE;;;;N;;;;;
+2F6D;KANGXI RADICAL SPEAR;So;0;ON;<compat> 77DB;;;;N;;;;;
+2F6E;KANGXI RADICAL ARROW;So;0;ON;<compat> 77E2;;;;N;;;;;
+2F6F;KANGXI RADICAL STONE;So;0;ON;<compat> 77F3;;;;N;;;;;
+2F70;KANGXI RADICAL SPIRIT;So;0;ON;<compat> 793A;;;;N;;;;;
+2F71;KANGXI RADICAL TRACK;So;0;ON;<compat> 79B8;;;;N;;;;;
+2F72;KANGXI RADICAL GRAIN;So;0;ON;<compat> 79BE;;;;N;;;;;
+2F73;KANGXI RADICAL CAVE;So;0;ON;<compat> 7A74;;;;N;;;;;
+2F74;KANGXI RADICAL STAND;So;0;ON;<compat> 7ACB;;;;N;;;;;
+2F75;KANGXI RADICAL BAMBOO;So;0;ON;<compat> 7AF9;;;;N;;;;;
+2F76;KANGXI RADICAL RICE;So;0;ON;<compat> 7C73;;;;N;;;;;
+2F77;KANGXI RADICAL SILK;So;0;ON;<compat> 7CF8;;;;N;;;;;
+2F78;KANGXI RADICAL JAR;So;0;ON;<compat> 7F36;;;;N;;;;;
+2F79;KANGXI RADICAL NET;So;0;ON;<compat> 7F51;;;;N;;;;;
+2F7A;KANGXI RADICAL SHEEP;So;0;ON;<compat> 7F8A;;;;N;;;;;
+2F7B;KANGXI RADICAL FEATHER;So;0;ON;<compat> 7FBD;;;;N;;;;;
+2F7C;KANGXI RADICAL OLD;So;0;ON;<compat> 8001;;;;N;;;;;
+2F7D;KANGXI RADICAL AND;So;0;ON;<compat> 800C;;;;N;;;;;
+2F7E;KANGXI RADICAL PLOW;So;0;ON;<compat> 8012;;;;N;;;;;
+2F7F;KANGXI RADICAL EAR;So;0;ON;<compat> 8033;;;;N;;;;;
+2F80;KANGXI RADICAL BRUSH;So;0;ON;<compat> 807F;;;;N;;;;;
+2F81;KANGXI RADICAL MEAT;So;0;ON;<compat> 8089;;;;N;;;;;
+2F82;KANGXI RADICAL MINISTER;So;0;ON;<compat> 81E3;;;;N;;;;;
+2F83;KANGXI RADICAL SELF;So;0;ON;<compat> 81EA;;;;N;;;;;
+2F84;KANGXI RADICAL ARRIVE;So;0;ON;<compat> 81F3;;;;N;;;;;
+2F85;KANGXI RADICAL MORTAR;So;0;ON;<compat> 81FC;;;;N;;;;;
+2F86;KANGXI RADICAL TONGUE;So;0;ON;<compat> 820C;;;;N;;;;;
+2F87;KANGXI RADICAL OPPOSE;So;0;ON;<compat> 821B;;;;N;;;;;
+2F88;KANGXI RADICAL BOAT;So;0;ON;<compat> 821F;;;;N;;;;;
+2F89;KANGXI RADICAL STOPPING;So;0;ON;<compat> 826E;;;;N;;;;;
+2F8A;KANGXI RADICAL COLOR;So;0;ON;<compat> 8272;;;;N;;;;;
+2F8B;KANGXI RADICAL GRASS;So;0;ON;<compat> 8278;;;;N;;;;;
+2F8C;KANGXI RADICAL TIGER;So;0;ON;<compat> 864D;;;;N;;;;;
+2F8D;KANGXI RADICAL INSECT;So;0;ON;<compat> 866B;;;;N;;;;;
+2F8E;KANGXI RADICAL BLOOD;So;0;ON;<compat> 8840;;;;N;;;;;
+2F8F;KANGXI RADICAL WALK ENCLOSURE;So;0;ON;<compat> 884C;;;;N;;;;;
+2F90;KANGXI RADICAL CLOTHES;So;0;ON;<compat> 8863;;;;N;;;;;
+2F91;KANGXI RADICAL WEST;So;0;ON;<compat> 897E;;;;N;;;;;
+2F92;KANGXI RADICAL SEE;So;0;ON;<compat> 898B;;;;N;;;;;
+2F93;KANGXI RADICAL HORN;So;0;ON;<compat> 89D2;;;;N;;;;;
+2F94;KANGXI RADICAL SPEECH;So;0;ON;<compat> 8A00;;;;N;;;;;
+2F95;KANGXI RADICAL VALLEY;So;0;ON;<compat> 8C37;;;;N;;;;;
+2F96;KANGXI RADICAL BEAN;So;0;ON;<compat> 8C46;;;;N;;;;;
+2F97;KANGXI RADICAL PIG;So;0;ON;<compat> 8C55;;;;N;;;;;
+2F98;KANGXI RADICAL BADGER;So;0;ON;<compat> 8C78;;;;N;;;;;
+2F99;KANGXI RADICAL SHELL;So;0;ON;<compat> 8C9D;;;;N;;;;;
+2F9A;KANGXI RADICAL RED;So;0;ON;<compat> 8D64;;;;N;;;;;
+2F9B;KANGXI RADICAL RUN;So;0;ON;<compat> 8D70;;;;N;;;;;
+2F9C;KANGXI RADICAL FOOT;So;0;ON;<compat> 8DB3;;;;N;;;;;
+2F9D;KANGXI RADICAL BODY;So;0;ON;<compat> 8EAB;;;;N;;;;;
+2F9E;KANGXI RADICAL CART;So;0;ON;<compat> 8ECA;;;;N;;;;;
+2F9F;KANGXI RADICAL BITTER;So;0;ON;<compat> 8F9B;;;;N;;;;;
+2FA0;KANGXI RADICAL MORNING;So;0;ON;<compat> 8FB0;;;;N;;;;;
+2FA1;KANGXI RADICAL WALK;So;0;ON;<compat> 8FB5;;;;N;;;;;
+2FA2;KANGXI RADICAL CITY;So;0;ON;<compat> 9091;;;;N;;;;;
+2FA3;KANGXI RADICAL WINE;So;0;ON;<compat> 9149;;;;N;;;;;
+2FA4;KANGXI RADICAL DISTINGUISH;So;0;ON;<compat> 91C6;;;;N;;;;;
+2FA5;KANGXI RADICAL VILLAGE;So;0;ON;<compat> 91CC;;;;N;;;;;
+2FA6;KANGXI RADICAL GOLD;So;0;ON;<compat> 91D1;;;;N;;;;;
+2FA7;KANGXI RADICAL LONG;So;0;ON;<compat> 9577;;;;N;;;;;
+2FA8;KANGXI RADICAL GATE;So;0;ON;<compat> 9580;;;;N;;;;;
+2FA9;KANGXI RADICAL MOUND;So;0;ON;<compat> 961C;;;;N;;;;;
+2FAA;KANGXI RADICAL SLAVE;So;0;ON;<compat> 96B6;;;;N;;;;;
+2FAB;KANGXI RADICAL SHORT TAILED BIRD;So;0;ON;<compat> 96B9;;;;N;;;;;
+2FAC;KANGXI RADICAL RAIN;So;0;ON;<compat> 96E8;;;;N;;;;;
+2FAD;KANGXI RADICAL BLUE;So;0;ON;<compat> 9751;;;;N;;;;;
+2FAE;KANGXI RADICAL WRONG;So;0;ON;<compat> 975E;;;;N;;;;;
+2FAF;KANGXI RADICAL FACE;So;0;ON;<compat> 9762;;;;N;;;;;
+2FB0;KANGXI RADICAL LEATHER;So;0;ON;<compat> 9769;;;;N;;;;;
+2FB1;KANGXI RADICAL TANNED LEATHER;So;0;ON;<compat> 97CB;;;;N;;;;;
+2FB2;KANGXI RADICAL LEEK;So;0;ON;<compat> 97ED;;;;N;;;;;
+2FB3;KANGXI RADICAL SOUND;So;0;ON;<compat> 97F3;;;;N;;;;;
+2FB4;KANGXI RADICAL LEAF;So;0;ON;<compat> 9801;;;;N;;;;;
+2FB5;KANGXI RADICAL WIND;So;0;ON;<compat> 98A8;;;;N;;;;;
+2FB6;KANGXI RADICAL FLY;So;0;ON;<compat> 98DB;;;;N;;;;;
+2FB7;KANGXI RADICAL EAT;So;0;ON;<compat> 98DF;;;;N;;;;;
+2FB8;KANGXI RADICAL HEAD;So;0;ON;<compat> 9996;;;;N;;;;;
+2FB9;KANGXI RADICAL FRAGRANT;So;0;ON;<compat> 9999;;;;N;;;;;
+2FBA;KANGXI RADICAL HORSE;So;0;ON;<compat> 99AC;;;;N;;;;;
+2FBB;KANGXI RADICAL BONE;So;0;ON;<compat> 9AA8;;;;N;;;;;
+2FBC;KANGXI RADICAL TALL;So;0;ON;<compat> 9AD8;;;;N;;;;;
+2FBD;KANGXI RADICAL HAIR;So;0;ON;<compat> 9ADF;;;;N;;;;;
+2FBE;KANGXI RADICAL FIGHT;So;0;ON;<compat> 9B25;;;;N;;;;;
+2FBF;KANGXI RADICAL SACRIFICIAL WINE;So;0;ON;<compat> 9B2F;;;;N;;;;;
+2FC0;KANGXI RADICAL CAULDRON;So;0;ON;<compat> 9B32;;;;N;;;;;
+2FC1;KANGXI RADICAL GHOST;So;0;ON;<compat> 9B3C;;;;N;;;;;
+2FC2;KANGXI RADICAL FISH;So;0;ON;<compat> 9B5A;;;;N;;;;;
+2FC3;KANGXI RADICAL BIRD;So;0;ON;<compat> 9CE5;;;;N;;;;;
+2FC4;KANGXI RADICAL SALT;So;0;ON;<compat> 9E75;;;;N;;;;;
+2FC5;KANGXI RADICAL DEER;So;0;ON;<compat> 9E7F;;;;N;;;;;
+2FC6;KANGXI RADICAL WHEAT;So;0;ON;<compat> 9EA5;;;;N;;;;;
+2FC7;KANGXI RADICAL HEMP;So;0;ON;<compat> 9EBB;;;;N;;;;;
+2FC8;KANGXI RADICAL YELLOW;So;0;ON;<compat> 9EC3;;;;N;;;;;
+2FC9;KANGXI RADICAL MILLET;So;0;ON;<compat> 9ECD;;;;N;;;;;
+2FCA;KANGXI RADICAL BLACK;So;0;ON;<compat> 9ED1;;;;N;;;;;
+2FCB;KANGXI RADICAL EMBROIDERY;So;0;ON;<compat> 9EF9;;;;N;;;;;
+2FCC;KANGXI RADICAL FROG;So;0;ON;<compat> 9EFD;;;;N;;;;;
+2FCD;KANGXI RADICAL TRIPOD;So;0;ON;<compat> 9F0E;;;;N;;;;;
+2FCE;KANGXI RADICAL DRUM;So;0;ON;<compat> 9F13;;;;N;;;;;
+2FCF;KANGXI RADICAL RAT;So;0;ON;<compat> 9F20;;;;N;;;;;
+2FD0;KANGXI RADICAL NOSE;So;0;ON;<compat> 9F3B;;;;N;;;;;
+2FD1;KANGXI RADICAL EVEN;So;0;ON;<compat> 9F4A;;;;N;;;;;
+2FD2;KANGXI RADICAL TOOTH;So;0;ON;<compat> 9F52;;;;N;;;;;
+2FD3;KANGXI RADICAL DRAGON;So;0;ON;<compat> 9F8D;;;;N;;;;;
+2FD4;KANGXI RADICAL TURTLE;So;0;ON;<compat> 9F9C;;;;N;;;;;
+2FD5;KANGXI RADICAL FLUTE;So;0;ON;<compat> 9FA0;;;;N;;;;;
+2FF0;IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT;So;0;ON;;;;;N;;;;;
+2FF1;IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW;So;0;ON;;;;;N;;;;;
+2FF2;IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT;So;0;ON;;;;;N;;;;;
+2FF3;IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW;So;0;ON;;;;;N;;;;;
+2FF4;IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND;So;0;ON;;;;;N;;;;;
+2FF5;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE;So;0;ON;;;;;N;;;;;
+2FF6;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW;So;0;ON;;;;;N;;;;;
+2FF7;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT;So;0;ON;;;;;N;;;;;
+2FF8;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT;So;0;ON;;;;;N;;;;;
+2FF9;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT;So;0;ON;;;;;N;;;;;
+2FFA;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT;So;0;ON;;;;;N;;;;;
+2FFB;IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID;So;0;ON;;;;;N;;;;;
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;;;;;
+3005;IDEOGRAPHIC ITERATION MARK;Lm;0;L;;;;;N;;;;;
+3006;IDEOGRAPHIC CLOSING MARK;Lo;0;L;;;;;N;;;;;
+3007;IDEOGRAPHIC NUMBER ZERO;Nl;0;L;;;;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;;;;
@@ -5046,20 +7179,24 @@
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;;;;;
+302A;IDEOGRAPHIC LEVEL TONE MARK;Mn;218;NSM;;;;;N;;;;;
+302B;IDEOGRAPHIC RISING TONE MARK;Mn;228;NSM;;;;;N;;;;;
+302C;IDEOGRAPHIC DEPARTING TONE MARK;Mn;232;NSM;;;;;N;;;;;
+302D;IDEOGRAPHIC ENTERING TONE MARK;Mn;222;NSM;;;;;N;;;;;
+302E;HANGUL SINGLE DOT TONE MARK;Mn;224;NSM;;;;;N;;;;;
+302F;HANGUL DOUBLE DOT TONE MARK;Mn;224;NSM;;;;;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;;;;;
+3031;VERTICAL KANA REPEAT MARK;Lm;0;L;;;;;N;;;;;
+3032;VERTICAL KANA REPEAT WITH VOICED SOUND MARK;Lm;0;L;;;;;N;;;;;
+3033;VERTICAL KANA REPEAT MARK UPPER HALF;Lm;0;L;;;;;N;;;;;
+3034;VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF;Lm;0;L;;;;;N;;;;;
+3035;VERTICAL KANA REPEAT MARK LOWER HALF;Lm;0;L;;;;;N;;;;;
3036;CIRCLED POSTAL MARK;So;0;ON;<compat> 3012;;;;N;;;;;
3037;IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL;So;0;ON;;;;;N;;;;;
+3038;HANGZHOU NUMERAL TEN;Nl;0;L;<compat> 5341;;;10;N;;;;;
+3039;HANGZHOU NUMERAL TWENTY;Nl;0;L;<compat> 5344;;;20;N;;;;;
+303A;HANGZHOU NUMERAL THIRTY;Nl;0;L;<compat> 5345;;;30;N;;;;;
+303E;IDEOGRAPHIC VARIATION INDICATOR;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;;;;;
@@ -5145,10 +7282,10 @@
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;;;;;
+3099;COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK;Mn;8;NSM;;;;;N;NON-SPACING KATAKANA-HIRAGANA VOICED SOUND MARK;;;;
+309A;COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;Mn;8;NSM;;;;;N;NON-SPACING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;;;;
+309B;KATAKANA-HIRAGANA VOICED SOUND MARK;Sk;0;ON;<compat> 0020 3099;;;;N;;;;;
+309C;KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;Sk;0;ON;<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;;;;;
@@ -5241,7 +7378,7 @@
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;;;;;
+30FB;KATAKANA MIDDLE DOT;Pc;0;ON;;;;;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;;;;;
@@ -5395,6 +7532,30 @@
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;;;
+31A0;BOPOMOFO LETTER BU;Lo;0;L;;;;;N;;;;;
+31A1;BOPOMOFO LETTER ZI;Lo;0;L;;;;;N;;;;;
+31A2;BOPOMOFO LETTER JI;Lo;0;L;;;;;N;;;;;
+31A3;BOPOMOFO LETTER GU;Lo;0;L;;;;;N;;;;;
+31A4;BOPOMOFO LETTER EE;Lo;0;L;;;;;N;;;;;
+31A5;BOPOMOFO LETTER ENN;Lo;0;L;;;;;N;;;;;
+31A6;BOPOMOFO LETTER OO;Lo;0;L;;;;;N;;;;;
+31A7;BOPOMOFO LETTER ONN;Lo;0;L;;;;;N;;;;;
+31A8;BOPOMOFO LETTER IR;Lo;0;L;;;;;N;;;;;
+31A9;BOPOMOFO LETTER ANN;Lo;0;L;;;;;N;;;;;
+31AA;BOPOMOFO LETTER INN;Lo;0;L;;;;;N;;;;;
+31AB;BOPOMOFO LETTER UNN;Lo;0;L;;;;;N;;;;;
+31AC;BOPOMOFO LETTER IM;Lo;0;L;;;;;N;;;;;
+31AD;BOPOMOFO LETTER NGG;Lo;0;L;;;;;N;;;;;
+31AE;BOPOMOFO LETTER AINN;Lo;0;L;;;;;N;;;;;
+31AF;BOPOMOFO LETTER AUNN;Lo;0;L;;;;;N;;;;;
+31B0;BOPOMOFO LETTER AM;Lo;0;L;;;;;N;;;;;
+31B1;BOPOMOFO LETTER OM;Lo;0;L;;;;;N;;;;;
+31B2;BOPOMOFO LETTER ONG;Lo;0;L;;;;;N;;;;;
+31B3;BOPOMOFO LETTER INNN;Lo;0;L;;;;;N;;;;;
+31B4;BOPOMOFO FINAL LETTER P;Lo;0;L;;;;;N;;;;;
+31B5;BOPOMOFO FINAL LETTER T;Lo;0;L;;;;;N;;;;;
+31B6;BOPOMOFO FINAL LETTER K;Lo;0;L;;;;;N;;;;;
+31B7;BOPOMOFO FINAL LETTER H;Lo;0;L;;;;;N;;;;;
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;;;;
@@ -5846,20 +8007,1537 @@
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;;;;;
+3400;<CJK Ideograph Extension A, First>;Lo;0;L;;;;;N;;;;;
+4DB5;<CJK Ideograph Extension A, Last>;Lo;0;L;;;;;N;;;;;
4E00;<CJK Ideograph, First>;Lo;0;L;;;;;N;;;;;
9FA5;<CJK Ideograph, Last>;Lo;0;L;;;;;N;;;;;
+A000;YI SYLLABLE IT;Lo;0;L;;;;;N;;;;;
+A001;YI SYLLABLE IX;Lo;0;L;;;;;N;;;;;
+A002;YI SYLLABLE I;Lo;0;L;;;;;N;;;;;
+A003;YI SYLLABLE IP;Lo;0;L;;;;;N;;;;;
+A004;YI SYLLABLE IET;Lo;0;L;;;;;N;;;;;
+A005;YI SYLLABLE IEX;Lo;0;L;;;;;N;;;;;
+A006;YI SYLLABLE IE;Lo;0;L;;;;;N;;;;;
+A007;YI SYLLABLE IEP;Lo;0;L;;;;;N;;;;;
+A008;YI SYLLABLE AT;Lo;0;L;;;;;N;;;;;
+A009;YI SYLLABLE AX;Lo;0;L;;;;;N;;;;;
+A00A;YI SYLLABLE A;Lo;0;L;;;;;N;;;;;
+A00B;YI SYLLABLE AP;Lo;0;L;;;;;N;;;;;
+A00C;YI SYLLABLE UOX;Lo;0;L;;;;;N;;;;;
+A00D;YI SYLLABLE UO;Lo;0;L;;;;;N;;;;;
+A00E;YI SYLLABLE UOP;Lo;0;L;;;;;N;;;;;
+A00F;YI SYLLABLE OT;Lo;0;L;;;;;N;;;;;
+A010;YI SYLLABLE OX;Lo;0;L;;;;;N;;;;;
+A011;YI SYLLABLE O;Lo;0;L;;;;;N;;;;;
+A012;YI SYLLABLE OP;Lo;0;L;;;;;N;;;;;
+A013;YI SYLLABLE EX;Lo;0;L;;;;;N;;;;;
+A014;YI SYLLABLE E;Lo;0;L;;;;;N;;;;;
+A015;YI SYLLABLE WU;Lo;0;L;;;;;N;;;;;
+A016;YI SYLLABLE BIT;Lo;0;L;;;;;N;;;;;
+A017;YI SYLLABLE BIX;Lo;0;L;;;;;N;;;;;
+A018;YI SYLLABLE BI;Lo;0;L;;;;;N;;;;;
+A019;YI SYLLABLE BIP;Lo;0;L;;;;;N;;;;;
+A01A;YI SYLLABLE BIET;Lo;0;L;;;;;N;;;;;
+A01B;YI SYLLABLE BIEX;Lo;0;L;;;;;N;;;;;
+A01C;YI SYLLABLE BIE;Lo;0;L;;;;;N;;;;;
+A01D;YI SYLLABLE BIEP;Lo;0;L;;;;;N;;;;;
+A01E;YI SYLLABLE BAT;Lo;0;L;;;;;N;;;;;
+A01F;YI SYLLABLE BAX;Lo;0;L;;;;;N;;;;;
+A020;YI SYLLABLE BA;Lo;0;L;;;;;N;;;;;
+A021;YI SYLLABLE BAP;Lo;0;L;;;;;N;;;;;
+A022;YI SYLLABLE BUOX;Lo;0;L;;;;;N;;;;;
+A023;YI SYLLABLE BUO;Lo;0;L;;;;;N;;;;;
+A024;YI SYLLABLE BUOP;Lo;0;L;;;;;N;;;;;
+A025;YI SYLLABLE BOT;Lo;0;L;;;;;N;;;;;
+A026;YI SYLLABLE BOX;Lo;0;L;;;;;N;;;;;
+A027;YI SYLLABLE BO;Lo;0;L;;;;;N;;;;;
+A028;YI SYLLABLE BOP;Lo;0;L;;;;;N;;;;;
+A029;YI SYLLABLE BEX;Lo;0;L;;;;;N;;;;;
+A02A;YI SYLLABLE BE;Lo;0;L;;;;;N;;;;;
+A02B;YI SYLLABLE BEP;Lo;0;L;;;;;N;;;;;
+A02C;YI SYLLABLE BUT;Lo;0;L;;;;;N;;;;;
+A02D;YI SYLLABLE BUX;Lo;0;L;;;;;N;;;;;
+A02E;YI SYLLABLE BU;Lo;0;L;;;;;N;;;;;
+A02F;YI SYLLABLE BUP;Lo;0;L;;;;;N;;;;;
+A030;YI SYLLABLE BURX;Lo;0;L;;;;;N;;;;;
+A031;YI SYLLABLE BUR;Lo;0;L;;;;;N;;;;;
+A032;YI SYLLABLE BYT;Lo;0;L;;;;;N;;;;;
+A033;YI SYLLABLE BYX;Lo;0;L;;;;;N;;;;;
+A034;YI SYLLABLE BY;Lo;0;L;;;;;N;;;;;
+A035;YI SYLLABLE BYP;Lo;0;L;;;;;N;;;;;
+A036;YI SYLLABLE BYRX;Lo;0;L;;;;;N;;;;;
+A037;YI SYLLABLE BYR;Lo;0;L;;;;;N;;;;;
+A038;YI SYLLABLE PIT;Lo;0;L;;;;;N;;;;;
+A039;YI SYLLABLE PIX;Lo;0;L;;;;;N;;;;;
+A03A;YI SYLLABLE PI;Lo;0;L;;;;;N;;;;;
+A03B;YI SYLLABLE PIP;Lo;0;L;;;;;N;;;;;
+A03C;YI SYLLABLE PIEX;Lo;0;L;;;;;N;;;;;
+A03D;YI SYLLABLE PIE;Lo;0;L;;;;;N;;;;;
+A03E;YI SYLLABLE PIEP;Lo;0;L;;;;;N;;;;;
+A03F;YI SYLLABLE PAT;Lo;0;L;;;;;N;;;;;
+A040;YI SYLLABLE PAX;Lo;0;L;;;;;N;;;;;
+A041;YI SYLLABLE PA;Lo;0;L;;;;;N;;;;;
+A042;YI SYLLABLE PAP;Lo;0;L;;;;;N;;;;;
+A043;YI SYLLABLE PUOX;Lo;0;L;;;;;N;;;;;
+A044;YI SYLLABLE PUO;Lo;0;L;;;;;N;;;;;
+A045;YI SYLLABLE PUOP;Lo;0;L;;;;;N;;;;;
+A046;YI SYLLABLE POT;Lo;0;L;;;;;N;;;;;
+A047;YI SYLLABLE POX;Lo;0;L;;;;;N;;;;;
+A048;YI SYLLABLE PO;Lo;0;L;;;;;N;;;;;
+A049;YI SYLLABLE POP;Lo;0;L;;;;;N;;;;;
+A04A;YI SYLLABLE PUT;Lo;0;L;;;;;N;;;;;
+A04B;YI SYLLABLE PUX;Lo;0;L;;;;;N;;;;;
+A04C;YI SYLLABLE PU;Lo;0;L;;;;;N;;;;;
+A04D;YI SYLLABLE PUP;Lo;0;L;;;;;N;;;;;
+A04E;YI SYLLABLE PURX;Lo;0;L;;;;;N;;;;;
+A04F;YI SYLLABLE PUR;Lo;0;L;;;;;N;;;;;
+A050;YI SYLLABLE PYT;Lo;0;L;;;;;N;;;;;
+A051;YI SYLLABLE PYX;Lo;0;L;;;;;N;;;;;
+A052;YI SYLLABLE PY;Lo;0;L;;;;;N;;;;;
+A053;YI SYLLABLE PYP;Lo;0;L;;;;;N;;;;;
+A054;YI SYLLABLE PYRX;Lo;0;L;;;;;N;;;;;
+A055;YI SYLLABLE PYR;Lo;0;L;;;;;N;;;;;
+A056;YI SYLLABLE BBIT;Lo;0;L;;;;;N;;;;;
+A057;YI SYLLABLE BBIX;Lo;0;L;;;;;N;;;;;
+A058;YI SYLLABLE BBI;Lo;0;L;;;;;N;;;;;
+A059;YI SYLLABLE BBIP;Lo;0;L;;;;;N;;;;;
+A05A;YI SYLLABLE BBIET;Lo;0;L;;;;;N;;;;;
+A05B;YI SYLLABLE BBIEX;Lo;0;L;;;;;N;;;;;
+A05C;YI SYLLABLE BBIE;Lo;0;L;;;;;N;;;;;
+A05D;YI SYLLABLE BBIEP;Lo;0;L;;;;;N;;;;;
+A05E;YI SYLLABLE BBAT;Lo;0;L;;;;;N;;;;;
+A05F;YI SYLLABLE BBAX;Lo;0;L;;;;;N;;;;;
+A060;YI SYLLABLE BBA;Lo;0;L;;;;;N;;;;;
+A061;YI SYLLABLE BBAP;Lo;0;L;;;;;N;;;;;
+A062;YI SYLLABLE BBUOX;Lo;0;L;;;;;N;;;;;
+A063;YI SYLLABLE BBUO;Lo;0;L;;;;;N;;;;;
+A064;YI SYLLABLE BBUOP;Lo;0;L;;;;;N;;;;;
+A065;YI SYLLABLE BBOT;Lo;0;L;;;;;N;;;;;
+A066;YI SYLLABLE BBOX;Lo;0;L;;;;;N;;;;;
+A067;YI SYLLABLE BBO;Lo;0;L;;;;;N;;;;;
+A068;YI SYLLABLE BBOP;Lo;0;L;;;;;N;;;;;
+A069;YI SYLLABLE BBEX;Lo;0;L;;;;;N;;;;;
+A06A;YI SYLLABLE BBE;Lo;0;L;;;;;N;;;;;
+A06B;YI SYLLABLE BBEP;Lo;0;L;;;;;N;;;;;
+A06C;YI SYLLABLE BBUT;Lo;0;L;;;;;N;;;;;
+A06D;YI SYLLABLE BBUX;Lo;0;L;;;;;N;;;;;
+A06E;YI SYLLABLE BBU;Lo;0;L;;;;;N;;;;;
+A06F;YI SYLLABLE BBUP;Lo;0;L;;;;;N;;;;;
+A070;YI SYLLABLE BBURX;Lo;0;L;;;;;N;;;;;
+A071;YI SYLLABLE BBUR;Lo;0;L;;;;;N;;;;;
+A072;YI SYLLABLE BBYT;Lo;0;L;;;;;N;;;;;
+A073;YI SYLLABLE BBYX;Lo;0;L;;;;;N;;;;;
+A074;YI SYLLABLE BBY;Lo;0;L;;;;;N;;;;;
+A075;YI SYLLABLE BBYP;Lo;0;L;;;;;N;;;;;
+A076;YI SYLLABLE NBIT;Lo;0;L;;;;;N;;;;;
+A077;YI SYLLABLE NBIX;Lo;0;L;;;;;N;;;;;
+A078;YI SYLLABLE NBI;Lo;0;L;;;;;N;;;;;
+A079;YI SYLLABLE NBIP;Lo;0;L;;;;;N;;;;;
+A07A;YI SYLLABLE NBIEX;Lo;0;L;;;;;N;;;;;
+A07B;YI SYLLABLE NBIE;Lo;0;L;;;;;N;;;;;
+A07C;YI SYLLABLE NBIEP;Lo;0;L;;;;;N;;;;;
+A07D;YI SYLLABLE NBAT;Lo;0;L;;;;;N;;;;;
+A07E;YI SYLLABLE NBAX;Lo;0;L;;;;;N;;;;;
+A07F;YI SYLLABLE NBA;Lo;0;L;;;;;N;;;;;
+A080;YI SYLLABLE NBAP;Lo;0;L;;;;;N;;;;;
+A081;YI SYLLABLE NBOT;Lo;0;L;;;;;N;;;;;
+A082;YI SYLLABLE NBOX;Lo;0;L;;;;;N;;;;;
+A083;YI SYLLABLE NBO;Lo;0;L;;;;;N;;;;;
+A084;YI SYLLABLE NBOP;Lo;0;L;;;;;N;;;;;
+A085;YI SYLLABLE NBUT;Lo;0;L;;;;;N;;;;;
+A086;YI SYLLABLE NBUX;Lo;0;L;;;;;N;;;;;
+A087;YI SYLLABLE NBU;Lo;0;L;;;;;N;;;;;
+A088;YI SYLLABLE NBUP;Lo;0;L;;;;;N;;;;;
+A089;YI SYLLABLE NBURX;Lo;0;L;;;;;N;;;;;
+A08A;YI SYLLABLE NBUR;Lo;0;L;;;;;N;;;;;
+A08B;YI SYLLABLE NBYT;Lo;0;L;;;;;N;;;;;
+A08C;YI SYLLABLE NBYX;Lo;0;L;;;;;N;;;;;
+A08D;YI SYLLABLE NBY;Lo;0;L;;;;;N;;;;;
+A08E;YI SYLLABLE NBYP;Lo;0;L;;;;;N;;;;;
+A08F;YI SYLLABLE NBYRX;Lo;0;L;;;;;N;;;;;
+A090;YI SYLLABLE NBYR;Lo;0;L;;;;;N;;;;;
+A091;YI SYLLABLE HMIT;Lo;0;L;;;;;N;;;;;
+A092;YI SYLLABLE HMIX;Lo;0;L;;;;;N;;;;;
+A093;YI SYLLABLE HMI;Lo;0;L;;;;;N;;;;;
+A094;YI SYLLABLE HMIP;Lo;0;L;;;;;N;;;;;
+A095;YI SYLLABLE HMIEX;Lo;0;L;;;;;N;;;;;
+A096;YI SYLLABLE HMIE;Lo;0;L;;;;;N;;;;;
+A097;YI SYLLABLE HMIEP;Lo;0;L;;;;;N;;;;;
+A098;YI SYLLABLE HMAT;Lo;0;L;;;;;N;;;;;
+A099;YI SYLLABLE HMAX;Lo;0;L;;;;;N;;;;;
+A09A;YI SYLLABLE HMA;Lo;0;L;;;;;N;;;;;
+A09B;YI SYLLABLE HMAP;Lo;0;L;;;;;N;;;;;
+A09C;YI SYLLABLE HMUOX;Lo;0;L;;;;;N;;;;;
+A09D;YI SYLLABLE HMUO;Lo;0;L;;;;;N;;;;;
+A09E;YI SYLLABLE HMUOP;Lo;0;L;;;;;N;;;;;
+A09F;YI SYLLABLE HMOT;Lo;0;L;;;;;N;;;;;
+A0A0;YI SYLLABLE HMOX;Lo;0;L;;;;;N;;;;;
+A0A1;YI SYLLABLE HMO;Lo;0;L;;;;;N;;;;;
+A0A2;YI SYLLABLE HMOP;Lo;0;L;;;;;N;;;;;
+A0A3;YI SYLLABLE HMUT;Lo;0;L;;;;;N;;;;;
+A0A4;YI SYLLABLE HMUX;Lo;0;L;;;;;N;;;;;
+A0A5;YI SYLLABLE HMU;Lo;0;L;;;;;N;;;;;
+A0A6;YI SYLLABLE HMUP;Lo;0;L;;;;;N;;;;;
+A0A7;YI SYLLABLE HMURX;Lo;0;L;;;;;N;;;;;
+A0A8;YI SYLLABLE HMUR;Lo;0;L;;;;;N;;;;;
+A0A9;YI SYLLABLE HMYX;Lo;0;L;;;;;N;;;;;
+A0AA;YI SYLLABLE HMY;Lo;0;L;;;;;N;;;;;
+A0AB;YI SYLLABLE HMYP;Lo;0;L;;;;;N;;;;;
+A0AC;YI SYLLABLE HMYRX;Lo;0;L;;;;;N;;;;;
+A0AD;YI SYLLABLE HMYR;Lo;0;L;;;;;N;;;;;
+A0AE;YI SYLLABLE MIT;Lo;0;L;;;;;N;;;;;
+A0AF;YI SYLLABLE MIX;Lo;0;L;;;;;N;;;;;
+A0B0;YI SYLLABLE MI;Lo;0;L;;;;;N;;;;;
+A0B1;YI SYLLABLE MIP;Lo;0;L;;;;;N;;;;;
+A0B2;YI SYLLABLE MIEX;Lo;0;L;;;;;N;;;;;
+A0B3;YI SYLLABLE MIE;Lo;0;L;;;;;N;;;;;
+A0B4;YI SYLLABLE MIEP;Lo;0;L;;;;;N;;;;;
+A0B5;YI SYLLABLE MAT;Lo;0;L;;;;;N;;;;;
+A0B6;YI SYLLABLE MAX;Lo;0;L;;;;;N;;;;;
+A0B7;YI SYLLABLE MA;Lo;0;L;;;;;N;;;;;
+A0B8;YI SYLLABLE MAP;Lo;0;L;;;;;N;;;;;
+A0B9;YI SYLLABLE MUOT;Lo;0;L;;;;;N;;;;;
+A0BA;YI SYLLABLE MUOX;Lo;0;L;;;;;N;;;;;
+A0BB;YI SYLLABLE MUO;Lo;0;L;;;;;N;;;;;
+A0BC;YI SYLLABLE MUOP;Lo;0;L;;;;;N;;;;;
+A0BD;YI SYLLABLE MOT;Lo;0;L;;;;;N;;;;;
+A0BE;YI SYLLABLE MOX;Lo;0;L;;;;;N;;;;;
+A0BF;YI SYLLABLE MO;Lo;0;L;;;;;N;;;;;
+A0C0;YI SYLLABLE MOP;Lo;0;L;;;;;N;;;;;
+A0C1;YI SYLLABLE MEX;Lo;0;L;;;;;N;;;;;
+A0C2;YI SYLLABLE ME;Lo;0;L;;;;;N;;;;;
+A0C3;YI SYLLABLE MUT;Lo;0;L;;;;;N;;;;;
+A0C4;YI SYLLABLE MUX;Lo;0;L;;;;;N;;;;;
+A0C5;YI SYLLABLE MU;Lo;0;L;;;;;N;;;;;
+A0C6;YI SYLLABLE MUP;Lo;0;L;;;;;N;;;;;
+A0C7;YI SYLLABLE MURX;Lo;0;L;;;;;N;;;;;
+A0C8;YI SYLLABLE MUR;Lo;0;L;;;;;N;;;;;
+A0C9;YI SYLLABLE MYT;Lo;0;L;;;;;N;;;;;
+A0CA;YI SYLLABLE MYX;Lo;0;L;;;;;N;;;;;
+A0CB;YI SYLLABLE MY;Lo;0;L;;;;;N;;;;;
+A0CC;YI SYLLABLE MYP;Lo;0;L;;;;;N;;;;;
+A0CD;YI SYLLABLE FIT;Lo;0;L;;;;;N;;;;;
+A0CE;YI SYLLABLE FIX;Lo;0;L;;;;;N;;;;;
+A0CF;YI SYLLABLE FI;Lo;0;L;;;;;N;;;;;
+A0D0;YI SYLLABLE FIP;Lo;0;L;;;;;N;;;;;
+A0D1;YI SYLLABLE FAT;Lo;0;L;;;;;N;;;;;
+A0D2;YI SYLLABLE FAX;Lo;0;L;;;;;N;;;;;
+A0D3;YI SYLLABLE FA;Lo;0;L;;;;;N;;;;;
+A0D4;YI SYLLABLE FAP;Lo;0;L;;;;;N;;;;;
+A0D5;YI SYLLABLE FOX;Lo;0;L;;;;;N;;;;;
+A0D6;YI SYLLABLE FO;Lo;0;L;;;;;N;;;;;
+A0D7;YI SYLLABLE FOP;Lo;0;L;;;;;N;;;;;
+A0D8;YI SYLLABLE FUT;Lo;0;L;;;;;N;;;;;
+A0D9;YI SYLLABLE FUX;Lo;0;L;;;;;N;;;;;
+A0DA;YI SYLLABLE FU;Lo;0;L;;;;;N;;;;;
+A0DB;YI SYLLABLE FUP;Lo;0;L;;;;;N;;;;;
+A0DC;YI SYLLABLE FURX;Lo;0;L;;;;;N;;;;;
+A0DD;YI SYLLABLE FUR;Lo;0;L;;;;;N;;;;;
+A0DE;YI SYLLABLE FYT;Lo;0;L;;;;;N;;;;;
+A0DF;YI SYLLABLE FYX;Lo;0;L;;;;;N;;;;;
+A0E0;YI SYLLABLE FY;Lo;0;L;;;;;N;;;;;
+A0E1;YI SYLLABLE FYP;Lo;0;L;;;;;N;;;;;
+A0E2;YI SYLLABLE VIT;Lo;0;L;;;;;N;;;;;
+A0E3;YI SYLLABLE VIX;Lo;0;L;;;;;N;;;;;
+A0E4;YI SYLLABLE VI;Lo;0;L;;;;;N;;;;;
+A0E5;YI SYLLABLE VIP;Lo;0;L;;;;;N;;;;;
+A0E6;YI SYLLABLE VIET;Lo;0;L;;;;;N;;;;;
+A0E7;YI SYLLABLE VIEX;Lo;0;L;;;;;N;;;;;
+A0E8;YI SYLLABLE VIE;Lo;0;L;;;;;N;;;;;
+A0E9;YI SYLLABLE VIEP;Lo;0;L;;;;;N;;;;;
+A0EA;YI SYLLABLE VAT;Lo;0;L;;;;;N;;;;;
+A0EB;YI SYLLABLE VAX;Lo;0;L;;;;;N;;;;;
+A0EC;YI SYLLABLE VA;Lo;0;L;;;;;N;;;;;
+A0ED;YI SYLLABLE VAP;Lo;0;L;;;;;N;;;;;
+A0EE;YI SYLLABLE VOT;Lo;0;L;;;;;N;;;;;
+A0EF;YI SYLLABLE VOX;Lo;0;L;;;;;N;;;;;
+A0F0;YI SYLLABLE VO;Lo;0;L;;;;;N;;;;;
+A0F1;YI SYLLABLE VOP;Lo;0;L;;;;;N;;;;;
+A0F2;YI SYLLABLE VEX;Lo;0;L;;;;;N;;;;;
+A0F3;YI SYLLABLE VEP;Lo;0;L;;;;;N;;;;;
+A0F4;YI SYLLABLE VUT;Lo;0;L;;;;;N;;;;;
+A0F5;YI SYLLABLE VUX;Lo;0;L;;;;;N;;;;;
+A0F6;YI SYLLABLE VU;Lo;0;L;;;;;N;;;;;
+A0F7;YI SYLLABLE VUP;Lo;0;L;;;;;N;;;;;
+A0F8;YI SYLLABLE VURX;Lo;0;L;;;;;N;;;;;
+A0F9;YI SYLLABLE VUR;Lo;0;L;;;;;N;;;;;
+A0FA;YI SYLLABLE VYT;Lo;0;L;;;;;N;;;;;
+A0FB;YI SYLLABLE VYX;Lo;0;L;;;;;N;;;;;
+A0FC;YI SYLLABLE VY;Lo;0;L;;;;;N;;;;;
+A0FD;YI SYLLABLE VYP;Lo;0;L;;;;;N;;;;;
+A0FE;YI SYLLABLE VYRX;Lo;0;L;;;;;N;;;;;
+A0FF;YI SYLLABLE VYR;Lo;0;L;;;;;N;;;;;
+A100;YI SYLLABLE DIT;Lo;0;L;;;;;N;;;;;
+A101;YI SYLLABLE DIX;Lo;0;L;;;;;N;;;;;
+A102;YI SYLLABLE DI;Lo;0;L;;;;;N;;;;;
+A103;YI SYLLABLE DIP;Lo;0;L;;;;;N;;;;;
+A104;YI SYLLABLE DIEX;Lo;0;L;;;;;N;;;;;
+A105;YI SYLLABLE DIE;Lo;0;L;;;;;N;;;;;
+A106;YI SYLLABLE DIEP;Lo;0;L;;;;;N;;;;;
+A107;YI SYLLABLE DAT;Lo;0;L;;;;;N;;;;;
+A108;YI SYLLABLE DAX;Lo;0;L;;;;;N;;;;;
+A109;YI SYLLABLE DA;Lo;0;L;;;;;N;;;;;
+A10A;YI SYLLABLE DAP;Lo;0;L;;;;;N;;;;;
+A10B;YI SYLLABLE DUOX;Lo;0;L;;;;;N;;;;;
+A10C;YI SYLLABLE DUO;Lo;0;L;;;;;N;;;;;
+A10D;YI SYLLABLE DOT;Lo;0;L;;;;;N;;;;;
+A10E;YI SYLLABLE DOX;Lo;0;L;;;;;N;;;;;
+A10F;YI SYLLABLE DO;Lo;0;L;;;;;N;;;;;
+A110;YI SYLLABLE DOP;Lo;0;L;;;;;N;;;;;
+A111;YI SYLLABLE DEX;Lo;0;L;;;;;N;;;;;
+A112;YI SYLLABLE DE;Lo;0;L;;;;;N;;;;;
+A113;YI SYLLABLE DEP;Lo;0;L;;;;;N;;;;;
+A114;YI SYLLABLE DUT;Lo;0;L;;;;;N;;;;;
+A115;YI SYLLABLE DUX;Lo;0;L;;;;;N;;;;;
+A116;YI SYLLABLE DU;Lo;0;L;;;;;N;;;;;
+A117;YI SYLLABLE DUP;Lo;0;L;;;;;N;;;;;
+A118;YI SYLLABLE DURX;Lo;0;L;;;;;N;;;;;
+A119;YI SYLLABLE DUR;Lo;0;L;;;;;N;;;;;
+A11A;YI SYLLABLE TIT;Lo;0;L;;;;;N;;;;;
+A11B;YI SYLLABLE TIX;Lo;0;L;;;;;N;;;;;
+A11C;YI SYLLABLE TI;Lo;0;L;;;;;N;;;;;
+A11D;YI SYLLABLE TIP;Lo;0;L;;;;;N;;;;;
+A11E;YI SYLLABLE TIEX;Lo;0;L;;;;;N;;;;;
+A11F;YI SYLLABLE TIE;Lo;0;L;;;;;N;;;;;
+A120;YI SYLLABLE TIEP;Lo;0;L;;;;;N;;;;;
+A121;YI SYLLABLE TAT;Lo;0;L;;;;;N;;;;;
+A122;YI SYLLABLE TAX;Lo;0;L;;;;;N;;;;;
+A123;YI SYLLABLE TA;Lo;0;L;;;;;N;;;;;
+A124;YI SYLLABLE TAP;Lo;0;L;;;;;N;;;;;
+A125;YI SYLLABLE TUOT;Lo;0;L;;;;;N;;;;;
+A126;YI SYLLABLE TUOX;Lo;0;L;;;;;N;;;;;
+A127;YI SYLLABLE TUO;Lo;0;L;;;;;N;;;;;
+A128;YI SYLLABLE TUOP;Lo;0;L;;;;;N;;;;;
+A129;YI SYLLABLE TOT;Lo;0;L;;;;;N;;;;;
+A12A;YI SYLLABLE TOX;Lo;0;L;;;;;N;;;;;
+A12B;YI SYLLABLE TO;Lo;0;L;;;;;N;;;;;
+A12C;YI SYLLABLE TOP;Lo;0;L;;;;;N;;;;;
+A12D;YI SYLLABLE TEX;Lo;0;L;;;;;N;;;;;
+A12E;YI SYLLABLE TE;Lo;0;L;;;;;N;;;;;
+A12F;YI SYLLABLE TEP;Lo;0;L;;;;;N;;;;;
+A130;YI SYLLABLE TUT;Lo;0;L;;;;;N;;;;;
+A131;YI SYLLABLE TUX;Lo;0;L;;;;;N;;;;;
+A132;YI SYLLABLE TU;Lo;0;L;;;;;N;;;;;
+A133;YI SYLLABLE TUP;Lo;0;L;;;;;N;;;;;
+A134;YI SYLLABLE TURX;Lo;0;L;;;;;N;;;;;
+A135;YI SYLLABLE TUR;Lo;0;L;;;;;N;;;;;
+A136;YI SYLLABLE DDIT;Lo;0;L;;;;;N;;;;;
+A137;YI SYLLABLE DDIX;Lo;0;L;;;;;N;;;;;
+A138;YI SYLLABLE DDI;Lo;0;L;;;;;N;;;;;
+A139;YI SYLLABLE DDIP;Lo;0;L;;;;;N;;;;;
+A13A;YI SYLLABLE DDIEX;Lo;0;L;;;;;N;;;;;
+A13B;YI SYLLABLE DDIE;Lo;0;L;;;;;N;;;;;
+A13C;YI SYLLABLE DDIEP;Lo;0;L;;;;;N;;;;;
+A13D;YI SYLLABLE DDAT;Lo;0;L;;;;;N;;;;;
+A13E;YI SYLLABLE DDAX;Lo;0;L;;;;;N;;;;;
+A13F;YI SYLLABLE DDA;Lo;0;L;;;;;N;;;;;
+A140;YI SYLLABLE DDAP;Lo;0;L;;;;;N;;;;;
+A141;YI SYLLABLE DDUOX;Lo;0;L;;;;;N;;;;;
+A142;YI SYLLABLE DDUO;Lo;0;L;;;;;N;;;;;
+A143;YI SYLLABLE DDUOP;Lo;0;L;;;;;N;;;;;
+A144;YI SYLLABLE DDOT;Lo;0;L;;;;;N;;;;;
+A145;YI SYLLABLE DDOX;Lo;0;L;;;;;N;;;;;
+A146;YI SYLLABLE DDO;Lo;0;L;;;;;N;;;;;
+A147;YI SYLLABLE DDOP;Lo;0;L;;;;;N;;;;;
+A148;YI SYLLABLE DDEX;Lo;0;L;;;;;N;;;;;
+A149;YI SYLLABLE DDE;Lo;0;L;;;;;N;;;;;
+A14A;YI SYLLABLE DDEP;Lo;0;L;;;;;N;;;;;
+A14B;YI SYLLABLE DDUT;Lo;0;L;;;;;N;;;;;
+A14C;YI SYLLABLE DDUX;Lo;0;L;;;;;N;;;;;
+A14D;YI SYLLABLE DDU;Lo;0;L;;;;;N;;;;;
+A14E;YI SYLLABLE DDUP;Lo;0;L;;;;;N;;;;;
+A14F;YI SYLLABLE DDURX;Lo;0;L;;;;;N;;;;;
+A150;YI SYLLABLE DDUR;Lo;0;L;;;;;N;;;;;
+A151;YI SYLLABLE NDIT;Lo;0;L;;;;;N;;;;;
+A152;YI SYLLABLE NDIX;Lo;0;L;;;;;N;;;;;
+A153;YI SYLLABLE NDI;Lo;0;L;;;;;N;;;;;
+A154;YI SYLLABLE NDIP;Lo;0;L;;;;;N;;;;;
+A155;YI SYLLABLE NDIEX;Lo;0;L;;;;;N;;;;;
+A156;YI SYLLABLE NDIE;Lo;0;L;;;;;N;;;;;
+A157;YI SYLLABLE NDAT;Lo;0;L;;;;;N;;;;;
+A158;YI SYLLABLE NDAX;Lo;0;L;;;;;N;;;;;
+A159;YI SYLLABLE NDA;Lo;0;L;;;;;N;;;;;
+A15A;YI SYLLABLE NDAP;Lo;0;L;;;;;N;;;;;
+A15B;YI SYLLABLE NDOT;Lo;0;L;;;;;N;;;;;
+A15C;YI SYLLABLE NDOX;Lo;0;L;;;;;N;;;;;
+A15D;YI SYLLABLE NDO;Lo;0;L;;;;;N;;;;;
+A15E;YI SYLLABLE NDOP;Lo;0;L;;;;;N;;;;;
+A15F;YI SYLLABLE NDEX;Lo;0;L;;;;;N;;;;;
+A160;YI SYLLABLE NDE;Lo;0;L;;;;;N;;;;;
+A161;YI SYLLABLE NDEP;Lo;0;L;;;;;N;;;;;
+A162;YI SYLLABLE NDUT;Lo;0;L;;;;;N;;;;;
+A163;YI SYLLABLE NDUX;Lo;0;L;;;;;N;;;;;
+A164;YI SYLLABLE NDU;Lo;0;L;;;;;N;;;;;
+A165;YI SYLLABLE NDUP;Lo;0;L;;;;;N;;;;;
+A166;YI SYLLABLE NDURX;Lo;0;L;;;;;N;;;;;
+A167;YI SYLLABLE NDUR;Lo;0;L;;;;;N;;;;;
+A168;YI SYLLABLE HNIT;Lo;0;L;;;;;N;;;;;
+A169;YI SYLLABLE HNIX;Lo;0;L;;;;;N;;;;;
+A16A;YI SYLLABLE HNI;Lo;0;L;;;;;N;;;;;
+A16B;YI SYLLABLE HNIP;Lo;0;L;;;;;N;;;;;
+A16C;YI SYLLABLE HNIET;Lo;0;L;;;;;N;;;;;
+A16D;YI SYLLABLE HNIEX;Lo;0;L;;;;;N;;;;;
+A16E;YI SYLLABLE HNIE;Lo;0;L;;;;;N;;;;;
+A16F;YI SYLLABLE HNIEP;Lo;0;L;;;;;N;;;;;
+A170;YI SYLLABLE HNAT;Lo;0;L;;;;;N;;;;;
+A171;YI SYLLABLE HNAX;Lo;0;L;;;;;N;;;;;
+A172;YI SYLLABLE HNA;Lo;0;L;;;;;N;;;;;
+A173;YI SYLLABLE HNAP;Lo;0;L;;;;;N;;;;;
+A174;YI SYLLABLE HNUOX;Lo;0;L;;;;;N;;;;;
+A175;YI SYLLABLE HNUO;Lo;0;L;;;;;N;;;;;
+A176;YI SYLLABLE HNOT;Lo;0;L;;;;;N;;;;;
+A177;YI SYLLABLE HNOX;Lo;0;L;;;;;N;;;;;
+A178;YI SYLLABLE HNOP;Lo;0;L;;;;;N;;;;;
+A179;YI SYLLABLE HNEX;Lo;0;L;;;;;N;;;;;
+A17A;YI SYLLABLE HNE;Lo;0;L;;;;;N;;;;;
+A17B;YI SYLLABLE HNEP;Lo;0;L;;;;;N;;;;;
+A17C;YI SYLLABLE HNUT;Lo;0;L;;;;;N;;;;;
+A17D;YI SYLLABLE NIT;Lo;0;L;;;;;N;;;;;
+A17E;YI SYLLABLE NIX;Lo;0;L;;;;;N;;;;;
+A17F;YI SYLLABLE NI;Lo;0;L;;;;;N;;;;;
+A180;YI SYLLABLE NIP;Lo;0;L;;;;;N;;;;;
+A181;YI SYLLABLE NIEX;Lo;0;L;;;;;N;;;;;
+A182;YI SYLLABLE NIE;Lo;0;L;;;;;N;;;;;
+A183;YI SYLLABLE NIEP;Lo;0;L;;;;;N;;;;;
+A184;YI SYLLABLE NAX;Lo;0;L;;;;;N;;;;;
+A185;YI SYLLABLE NA;Lo;0;L;;;;;N;;;;;
+A186;YI SYLLABLE NAP;Lo;0;L;;;;;N;;;;;
+A187;YI SYLLABLE NUOX;Lo;0;L;;;;;N;;;;;
+A188;YI SYLLABLE NUO;Lo;0;L;;;;;N;;;;;
+A189;YI SYLLABLE NUOP;Lo;0;L;;;;;N;;;;;
+A18A;YI SYLLABLE NOT;Lo;0;L;;;;;N;;;;;
+A18B;YI SYLLABLE NOX;Lo;0;L;;;;;N;;;;;
+A18C;YI SYLLABLE NO;Lo;0;L;;;;;N;;;;;
+A18D;YI SYLLABLE NOP;Lo;0;L;;;;;N;;;;;
+A18E;YI SYLLABLE NEX;Lo;0;L;;;;;N;;;;;
+A18F;YI SYLLABLE NE;Lo;0;L;;;;;N;;;;;
+A190;YI SYLLABLE NEP;Lo;0;L;;;;;N;;;;;
+A191;YI SYLLABLE NUT;Lo;0;L;;;;;N;;;;;
+A192;YI SYLLABLE NUX;Lo;0;L;;;;;N;;;;;
+A193;YI SYLLABLE NU;Lo;0;L;;;;;N;;;;;
+A194;YI SYLLABLE NUP;Lo;0;L;;;;;N;;;;;
+A195;YI SYLLABLE NURX;Lo;0;L;;;;;N;;;;;
+A196;YI SYLLABLE NUR;Lo;0;L;;;;;N;;;;;
+A197;YI SYLLABLE HLIT;Lo;0;L;;;;;N;;;;;
+A198;YI SYLLABLE HLIX;Lo;0;L;;;;;N;;;;;
+A199;YI SYLLABLE HLI;Lo;0;L;;;;;N;;;;;
+A19A;YI SYLLABLE HLIP;Lo;0;L;;;;;N;;;;;
+A19B;YI SYLLABLE HLIEX;Lo;0;L;;;;;N;;;;;
+A19C;YI SYLLABLE HLIE;Lo;0;L;;;;;N;;;;;
+A19D;YI SYLLABLE HLIEP;Lo;0;L;;;;;N;;;;;
+A19E;YI SYLLABLE HLAT;Lo;0;L;;;;;N;;;;;
+A19F;YI SYLLABLE HLAX;Lo;0;L;;;;;N;;;;;
+A1A0;YI SYLLABLE HLA;Lo;0;L;;;;;N;;;;;
+A1A1;YI SYLLABLE HLAP;Lo;0;L;;;;;N;;;;;
+A1A2;YI SYLLABLE HLUOX;Lo;0;L;;;;;N;;;;;
+A1A3;YI SYLLABLE HLUO;Lo;0;L;;;;;N;;;;;
+A1A4;YI SYLLABLE HLUOP;Lo;0;L;;;;;N;;;;;
+A1A5;YI SYLLABLE HLOX;Lo;0;L;;;;;N;;;;;
+A1A6;YI SYLLABLE HLO;Lo;0;L;;;;;N;;;;;
+A1A7;YI SYLLABLE HLOP;Lo;0;L;;;;;N;;;;;
+A1A8;YI SYLLABLE HLEX;Lo;0;L;;;;;N;;;;;
+A1A9;YI SYLLABLE HLE;Lo;0;L;;;;;N;;;;;
+A1AA;YI SYLLABLE HLEP;Lo;0;L;;;;;N;;;;;
+A1AB;YI SYLLABLE HLUT;Lo;0;L;;;;;N;;;;;
+A1AC;YI SYLLABLE HLUX;Lo;0;L;;;;;N;;;;;
+A1AD;YI SYLLABLE HLU;Lo;0;L;;;;;N;;;;;
+A1AE;YI SYLLABLE HLUP;Lo;0;L;;;;;N;;;;;
+A1AF;YI SYLLABLE HLURX;Lo;0;L;;;;;N;;;;;
+A1B0;YI SYLLABLE HLUR;Lo;0;L;;;;;N;;;;;
+A1B1;YI SYLLABLE HLYT;Lo;0;L;;;;;N;;;;;
+A1B2;YI SYLLABLE HLYX;Lo;0;L;;;;;N;;;;;
+A1B3;YI SYLLABLE HLY;Lo;0;L;;;;;N;;;;;
+A1B4;YI SYLLABLE HLYP;Lo;0;L;;;;;N;;;;;
+A1B5;YI SYLLABLE HLYRX;Lo;0;L;;;;;N;;;;;
+A1B6;YI SYLLABLE HLYR;Lo;0;L;;;;;N;;;;;
+A1B7;YI SYLLABLE LIT;Lo;0;L;;;;;N;;;;;
+A1B8;YI SYLLABLE LIX;Lo;0;L;;;;;N;;;;;
+A1B9;YI SYLLABLE LI;Lo;0;L;;;;;N;;;;;
+A1BA;YI SYLLABLE LIP;Lo;0;L;;;;;N;;;;;
+A1BB;YI SYLLABLE LIET;Lo;0;L;;;;;N;;;;;
+A1BC;YI SYLLABLE LIEX;Lo;0;L;;;;;N;;;;;
+A1BD;YI SYLLABLE LIE;Lo;0;L;;;;;N;;;;;
+A1BE;YI SYLLABLE LIEP;Lo;0;L;;;;;N;;;;;
+A1BF;YI SYLLABLE LAT;Lo;0;L;;;;;N;;;;;
+A1C0;YI SYLLABLE LAX;Lo;0;L;;;;;N;;;;;
+A1C1;YI SYLLABLE LA;Lo;0;L;;;;;N;;;;;
+A1C2;YI SYLLABLE LAP;Lo;0;L;;;;;N;;;;;
+A1C3;YI SYLLABLE LUOT;Lo;0;L;;;;;N;;;;;
+A1C4;YI SYLLABLE LUOX;Lo;0;L;;;;;N;;;;;
+A1C5;YI SYLLABLE LUO;Lo;0;L;;;;;N;;;;;
+A1C6;YI SYLLABLE LUOP;Lo;0;L;;;;;N;;;;;
+A1C7;YI SYLLABLE LOT;Lo;0;L;;;;;N;;;;;
+A1C8;YI SYLLABLE LOX;Lo;0;L;;;;;N;;;;;
+A1C9;YI SYLLABLE LO;Lo;0;L;;;;;N;;;;;
+A1CA;YI SYLLABLE LOP;Lo;0;L;;;;;N;;;;;
+A1CB;YI SYLLABLE LEX;Lo;0;L;;;;;N;;;;;
+A1CC;YI SYLLABLE LE;Lo;0;L;;;;;N;;;;;
+A1CD;YI SYLLABLE LEP;Lo;0;L;;;;;N;;;;;
+A1CE;YI SYLLABLE LUT;Lo;0;L;;;;;N;;;;;
+A1CF;YI SYLLABLE LUX;Lo;0;L;;;;;N;;;;;
+A1D0;YI SYLLABLE LU;Lo;0;L;;;;;N;;;;;
+A1D1;YI SYLLABLE LUP;Lo;0;L;;;;;N;;;;;
+A1D2;YI SYLLABLE LURX;Lo;0;L;;;;;N;;;;;
+A1D3;YI SYLLABLE LUR;Lo;0;L;;;;;N;;;;;
+A1D4;YI SYLLABLE LYT;Lo;0;L;;;;;N;;;;;
+A1D5;YI SYLLABLE LYX;Lo;0;L;;;;;N;;;;;
+A1D6;YI SYLLABLE LY;Lo;0;L;;;;;N;;;;;
+A1D7;YI SYLLABLE LYP;Lo;0;L;;;;;N;;;;;
+A1D8;YI SYLLABLE LYRX;Lo;0;L;;;;;N;;;;;
+A1D9;YI SYLLABLE LYR;Lo;0;L;;;;;N;;;;;
+A1DA;YI SYLLABLE GIT;Lo;0;L;;;;;N;;;;;
+A1DB;YI SYLLABLE GIX;Lo;0;L;;;;;N;;;;;
+A1DC;YI SYLLABLE GI;Lo;0;L;;;;;N;;;;;
+A1DD;YI SYLLABLE GIP;Lo;0;L;;;;;N;;;;;
+A1DE;YI SYLLABLE GIET;Lo;0;L;;;;;N;;;;;
+A1DF;YI SYLLABLE GIEX;Lo;0;L;;;;;N;;;;;
+A1E0;YI SYLLABLE GIE;Lo;0;L;;;;;N;;;;;
+A1E1;YI SYLLABLE GIEP;Lo;0;L;;;;;N;;;;;
+A1E2;YI SYLLABLE GAT;Lo;0;L;;;;;N;;;;;
+A1E3;YI SYLLABLE GAX;Lo;0;L;;;;;N;;;;;
+A1E4;YI SYLLABLE GA;Lo;0;L;;;;;N;;;;;
+A1E5;YI SYLLABLE GAP;Lo;0;L;;;;;N;;;;;
+A1E6;YI SYLLABLE GUOT;Lo;0;L;;;;;N;;;;;
+A1E7;YI SYLLABLE GUOX;Lo;0;L;;;;;N;;;;;
+A1E8;YI SYLLABLE GUO;Lo;0;L;;;;;N;;;;;
+A1E9;YI SYLLABLE GUOP;Lo;0;L;;;;;N;;;;;
+A1EA;YI SYLLABLE GOT;Lo;0;L;;;;;N;;;;;
+A1EB;YI SYLLABLE GOX;Lo;0;L;;;;;N;;;;;
+A1EC;YI SYLLABLE GO;Lo;0;L;;;;;N;;;;;
+A1ED;YI SYLLABLE GOP;Lo;0;L;;;;;N;;;;;
+A1EE;YI SYLLABLE GET;Lo;0;L;;;;;N;;;;;
+A1EF;YI SYLLABLE GEX;Lo;0;L;;;;;N;;;;;
+A1F0;YI SYLLABLE GE;Lo;0;L;;;;;N;;;;;
+A1F1;YI SYLLABLE GEP;Lo;0;L;;;;;N;;;;;
+A1F2;YI SYLLABLE GUT;Lo;0;L;;;;;N;;;;;
+A1F3;YI SYLLABLE GUX;Lo;0;L;;;;;N;;;;;
+A1F4;YI SYLLABLE GU;Lo;0;L;;;;;N;;;;;
+A1F5;YI SYLLABLE GUP;Lo;0;L;;;;;N;;;;;
+A1F6;YI SYLLABLE GURX;Lo;0;L;;;;;N;;;;;
+A1F7;YI SYLLABLE GUR;Lo;0;L;;;;;N;;;;;
+A1F8;YI SYLLABLE KIT;Lo;0;L;;;;;N;;;;;
+A1F9;YI SYLLABLE KIX;Lo;0;L;;;;;N;;;;;
+A1FA;YI SYLLABLE KI;Lo;0;L;;;;;N;;;;;
+A1FB;YI SYLLABLE KIP;Lo;0;L;;;;;N;;;;;
+A1FC;YI SYLLABLE KIEX;Lo;0;L;;;;;N;;;;;
+A1FD;YI SYLLABLE KIE;Lo;0;L;;;;;N;;;;;
+A1FE;YI SYLLABLE KIEP;Lo;0;L;;;;;N;;;;;
+A1FF;YI SYLLABLE KAT;Lo;0;L;;;;;N;;;;;
+A200;YI SYLLABLE KAX;Lo;0;L;;;;;N;;;;;
+A201;YI SYLLABLE KA;Lo;0;L;;;;;N;;;;;
+A202;YI SYLLABLE KAP;Lo;0;L;;;;;N;;;;;
+A203;YI SYLLABLE KUOX;Lo;0;L;;;;;N;;;;;
+A204;YI SYLLABLE KUO;Lo;0;L;;;;;N;;;;;
+A205;YI SYLLABLE KUOP;Lo;0;L;;;;;N;;;;;
+A206;YI SYLLABLE KOT;Lo;0;L;;;;;N;;;;;
+A207;YI SYLLABLE KOX;Lo;0;L;;;;;N;;;;;
+A208;YI SYLLABLE KO;Lo;0;L;;;;;N;;;;;
+A209;YI SYLLABLE KOP;Lo;0;L;;;;;N;;;;;
+A20A;YI SYLLABLE KET;Lo;0;L;;;;;N;;;;;
+A20B;YI SYLLABLE KEX;Lo;0;L;;;;;N;;;;;
+A20C;YI SYLLABLE KE;Lo;0;L;;;;;N;;;;;
+A20D;YI SYLLABLE KEP;Lo;0;L;;;;;N;;;;;
+A20E;YI SYLLABLE KUT;Lo;0;L;;;;;N;;;;;
+A20F;YI SYLLABLE KUX;Lo;0;L;;;;;N;;;;;
+A210;YI SYLLABLE KU;Lo;0;L;;;;;N;;;;;
+A211;YI SYLLABLE KUP;Lo;0;L;;;;;N;;;;;
+A212;YI SYLLABLE KURX;Lo;0;L;;;;;N;;;;;
+A213;YI SYLLABLE KUR;Lo;0;L;;;;;N;;;;;
+A214;YI SYLLABLE GGIT;Lo;0;L;;;;;N;;;;;
+A215;YI SYLLABLE GGIX;Lo;0;L;;;;;N;;;;;
+A216;YI SYLLABLE GGI;Lo;0;L;;;;;N;;;;;
+A217;YI SYLLABLE GGIEX;Lo;0;L;;;;;N;;;;;
+A218;YI SYLLABLE GGIE;Lo;0;L;;;;;N;;;;;
+A219;YI SYLLABLE GGIEP;Lo;0;L;;;;;N;;;;;
+A21A;YI SYLLABLE GGAT;Lo;0;L;;;;;N;;;;;
+A21B;YI SYLLABLE GGAX;Lo;0;L;;;;;N;;;;;
+A21C;YI SYLLABLE GGA;Lo;0;L;;;;;N;;;;;
+A21D;YI SYLLABLE GGAP;Lo;0;L;;;;;N;;;;;
+A21E;YI SYLLABLE GGUOT;Lo;0;L;;;;;N;;;;;
+A21F;YI SYLLABLE GGUOX;Lo;0;L;;;;;N;;;;;
+A220;YI SYLLABLE GGUO;Lo;0;L;;;;;N;;;;;
+A221;YI SYLLABLE GGUOP;Lo;0;L;;;;;N;;;;;
+A222;YI SYLLABLE GGOT;Lo;0;L;;;;;N;;;;;
+A223;YI SYLLABLE GGOX;Lo;0;L;;;;;N;;;;;
+A224;YI SYLLABLE GGO;Lo;0;L;;;;;N;;;;;
+A225;YI SYLLABLE GGOP;Lo;0;L;;;;;N;;;;;
+A226;YI SYLLABLE GGET;Lo;0;L;;;;;N;;;;;
+A227;YI SYLLABLE GGEX;Lo;0;L;;;;;N;;;;;
+A228;YI SYLLABLE GGE;Lo;0;L;;;;;N;;;;;
+A229;YI SYLLABLE GGEP;Lo;0;L;;;;;N;;;;;
+A22A;YI SYLLABLE GGUT;Lo;0;L;;;;;N;;;;;
+A22B;YI SYLLABLE GGUX;Lo;0;L;;;;;N;;;;;
+A22C;YI SYLLABLE GGU;Lo;0;L;;;;;N;;;;;
+A22D;YI SYLLABLE GGUP;Lo;0;L;;;;;N;;;;;
+A22E;YI SYLLABLE GGURX;Lo;0;L;;;;;N;;;;;
+A22F;YI SYLLABLE GGUR;Lo;0;L;;;;;N;;;;;
+A230;YI SYLLABLE MGIEX;Lo;0;L;;;;;N;;;;;
+A231;YI SYLLABLE MGIE;Lo;0;L;;;;;N;;;;;
+A232;YI SYLLABLE MGAT;Lo;0;L;;;;;N;;;;;
+A233;YI SYLLABLE MGAX;Lo;0;L;;;;;N;;;;;
+A234;YI SYLLABLE MGA;Lo;0;L;;;;;N;;;;;
+A235;YI SYLLABLE MGAP;Lo;0;L;;;;;N;;;;;
+A236;YI SYLLABLE MGUOX;Lo;0;L;;;;;N;;;;;
+A237;YI SYLLABLE MGUO;Lo;0;L;;;;;N;;;;;
+A238;YI SYLLABLE MGUOP;Lo;0;L;;;;;N;;;;;
+A239;YI SYLLABLE MGOT;Lo;0;L;;;;;N;;;;;
+A23A;YI SYLLABLE MGOX;Lo;0;L;;;;;N;;;;;
+A23B;YI SYLLABLE MGO;Lo;0;L;;;;;N;;;;;
+A23C;YI SYLLABLE MGOP;Lo;0;L;;;;;N;;;;;
+A23D;YI SYLLABLE MGEX;Lo;0;L;;;;;N;;;;;
+A23E;YI SYLLABLE MGE;Lo;0;L;;;;;N;;;;;
+A23F;YI SYLLABLE MGEP;Lo;0;L;;;;;N;;;;;
+A240;YI SYLLABLE MGUT;Lo;0;L;;;;;N;;;;;
+A241;YI SYLLABLE MGUX;Lo;0;L;;;;;N;;;;;
+A242;YI SYLLABLE MGU;Lo;0;L;;;;;N;;;;;
+A243;YI SYLLABLE MGUP;Lo;0;L;;;;;N;;;;;
+A244;YI SYLLABLE MGURX;Lo;0;L;;;;;N;;;;;
+A245;YI SYLLABLE MGUR;Lo;0;L;;;;;N;;;;;
+A246;YI SYLLABLE HXIT;Lo;0;L;;;;;N;;;;;
+A247;YI SYLLABLE HXIX;Lo;0;L;;;;;N;;;;;
+A248;YI SYLLABLE HXI;Lo;0;L;;;;;N;;;;;
+A249;YI SYLLABLE HXIP;Lo;0;L;;;;;N;;;;;
+A24A;YI SYLLABLE HXIET;Lo;0;L;;;;;N;;;;;
+A24B;YI SYLLABLE HXIEX;Lo;0;L;;;;;N;;;;;
+A24C;YI SYLLABLE HXIE;Lo;0;L;;;;;N;;;;;
+A24D;YI SYLLABLE HXIEP;Lo;0;L;;;;;N;;;;;
+A24E;YI SYLLABLE HXAT;Lo;0;L;;;;;N;;;;;
+A24F;YI SYLLABLE HXAX;Lo;0;L;;;;;N;;;;;
+A250;YI SYLLABLE HXA;Lo;0;L;;;;;N;;;;;
+A251;YI SYLLABLE HXAP;Lo;0;L;;;;;N;;;;;
+A252;YI SYLLABLE HXUOT;Lo;0;L;;;;;N;;;;;
+A253;YI SYLLABLE HXUOX;Lo;0;L;;;;;N;;;;;
+A254;YI SYLLABLE HXUO;Lo;0;L;;;;;N;;;;;
+A255;YI SYLLABLE HXUOP;Lo;0;L;;;;;N;;;;;
+A256;YI SYLLABLE HXOT;Lo;0;L;;;;;N;;;;;
+A257;YI SYLLABLE HXOX;Lo;0;L;;;;;N;;;;;
+A258;YI SYLLABLE HXO;Lo;0;L;;;;;N;;;;;
+A259;YI SYLLABLE HXOP;Lo;0;L;;;;;N;;;;;
+A25A;YI SYLLABLE HXEX;Lo;0;L;;;;;N;;;;;
+A25B;YI SYLLABLE HXE;Lo;0;L;;;;;N;;;;;
+A25C;YI SYLLABLE HXEP;Lo;0;L;;;;;N;;;;;
+A25D;YI SYLLABLE NGIEX;Lo;0;L;;;;;N;;;;;
+A25E;YI SYLLABLE NGIE;Lo;0;L;;;;;N;;;;;
+A25F;YI SYLLABLE NGIEP;Lo;0;L;;;;;N;;;;;
+A260;YI SYLLABLE NGAT;Lo;0;L;;;;;N;;;;;
+A261;YI SYLLABLE NGAX;Lo;0;L;;;;;N;;;;;
+A262;YI SYLLABLE NGA;Lo;0;L;;;;;N;;;;;
+A263;YI SYLLABLE NGAP;Lo;0;L;;;;;N;;;;;
+A264;YI SYLLABLE NGUOT;Lo;0;L;;;;;N;;;;;
+A265;YI SYLLABLE NGUOX;Lo;0;L;;;;;N;;;;;
+A266;YI SYLLABLE NGUO;Lo;0;L;;;;;N;;;;;
+A267;YI SYLLABLE NGOT;Lo;0;L;;;;;N;;;;;
+A268;YI SYLLABLE NGOX;Lo;0;L;;;;;N;;;;;
+A269;YI SYLLABLE NGO;Lo;0;L;;;;;N;;;;;
+A26A;YI SYLLABLE NGOP;Lo;0;L;;;;;N;;;;;
+A26B;YI SYLLABLE NGEX;Lo;0;L;;;;;N;;;;;
+A26C;YI SYLLABLE NGE;Lo;0;L;;;;;N;;;;;
+A26D;YI SYLLABLE NGEP;Lo;0;L;;;;;N;;;;;
+A26E;YI SYLLABLE HIT;Lo;0;L;;;;;N;;;;;
+A26F;YI SYLLABLE HIEX;Lo;0;L;;;;;N;;;;;
+A270;YI SYLLABLE HIE;Lo;0;L;;;;;N;;;;;
+A271;YI SYLLABLE HAT;Lo;0;L;;;;;N;;;;;
+A272;YI SYLLABLE HAX;Lo;0;L;;;;;N;;;;;
+A273;YI SYLLABLE HA;Lo;0;L;;;;;N;;;;;
+A274;YI SYLLABLE HAP;Lo;0;L;;;;;N;;;;;
+A275;YI SYLLABLE HUOT;Lo;0;L;;;;;N;;;;;
+A276;YI SYLLABLE HUOX;Lo;0;L;;;;;N;;;;;
+A277;YI SYLLABLE HUO;Lo;0;L;;;;;N;;;;;
+A278;YI SYLLABLE HUOP;Lo;0;L;;;;;N;;;;;
+A279;YI SYLLABLE HOT;Lo;0;L;;;;;N;;;;;
+A27A;YI SYLLABLE HOX;Lo;0;L;;;;;N;;;;;
+A27B;YI SYLLABLE HO;Lo;0;L;;;;;N;;;;;
+A27C;YI SYLLABLE HOP;Lo;0;L;;;;;N;;;;;
+A27D;YI SYLLABLE HEX;Lo;0;L;;;;;N;;;;;
+A27E;YI SYLLABLE HE;Lo;0;L;;;;;N;;;;;
+A27F;YI SYLLABLE HEP;Lo;0;L;;;;;N;;;;;
+A280;YI SYLLABLE WAT;Lo;0;L;;;;;N;;;;;
+A281;YI SYLLABLE WAX;Lo;0;L;;;;;N;;;;;
+A282;YI SYLLABLE WA;Lo;0;L;;;;;N;;;;;
+A283;YI SYLLABLE WAP;Lo;0;L;;;;;N;;;;;
+A284;YI SYLLABLE WUOX;Lo;0;L;;;;;N;;;;;
+A285;YI SYLLABLE WUO;Lo;0;L;;;;;N;;;;;
+A286;YI SYLLABLE WUOP;Lo;0;L;;;;;N;;;;;
+A287;YI SYLLABLE WOX;Lo;0;L;;;;;N;;;;;
+A288;YI SYLLABLE WO;Lo;0;L;;;;;N;;;;;
+A289;YI SYLLABLE WOP;Lo;0;L;;;;;N;;;;;
+A28A;YI SYLLABLE WEX;Lo;0;L;;;;;N;;;;;
+A28B;YI SYLLABLE WE;Lo;0;L;;;;;N;;;;;
+A28C;YI SYLLABLE WEP;Lo;0;L;;;;;N;;;;;
+A28D;YI SYLLABLE ZIT;Lo;0;L;;;;;N;;;;;
+A28E;YI SYLLABLE ZIX;Lo;0;L;;;;;N;;;;;
+A28F;YI SYLLABLE ZI;Lo;0;L;;;;;N;;;;;
+A290;YI SYLLABLE ZIP;Lo;0;L;;;;;N;;;;;
+A291;YI SYLLABLE ZIEX;Lo;0;L;;;;;N;;;;;
+A292;YI SYLLABLE ZIE;Lo;0;L;;;;;N;;;;;
+A293;YI SYLLABLE ZIEP;Lo;0;L;;;;;N;;;;;
+A294;YI SYLLABLE ZAT;Lo;0;L;;;;;N;;;;;
+A295;YI SYLLABLE ZAX;Lo;0;L;;;;;N;;;;;
+A296;YI SYLLABLE ZA;Lo;0;L;;;;;N;;;;;
+A297;YI SYLLABLE ZAP;Lo;0;L;;;;;N;;;;;
+A298;YI SYLLABLE ZUOX;Lo;0;L;;;;;N;;;;;
+A299;YI SYLLABLE ZUO;Lo;0;L;;;;;N;;;;;
+A29A;YI SYLLABLE ZUOP;Lo;0;L;;;;;N;;;;;
+A29B;YI SYLLABLE ZOT;Lo;0;L;;;;;N;;;;;
+A29C;YI SYLLABLE ZOX;Lo;0;L;;;;;N;;;;;
+A29D;YI SYLLABLE ZO;Lo;0;L;;;;;N;;;;;
+A29E;YI SYLLABLE ZOP;Lo;0;L;;;;;N;;;;;
+A29F;YI SYLLABLE ZEX;Lo;0;L;;;;;N;;;;;
+A2A0;YI SYLLABLE ZE;Lo;0;L;;;;;N;;;;;
+A2A1;YI SYLLABLE ZEP;Lo;0;L;;;;;N;;;;;
+A2A2;YI SYLLABLE ZUT;Lo;0;L;;;;;N;;;;;
+A2A3;YI SYLLABLE ZUX;Lo;0;L;;;;;N;;;;;
+A2A4;YI SYLLABLE ZU;Lo;0;L;;;;;N;;;;;
+A2A5;YI SYLLABLE ZUP;Lo;0;L;;;;;N;;;;;
+A2A6;YI SYLLABLE ZURX;Lo;0;L;;;;;N;;;;;
+A2A7;YI SYLLABLE ZUR;Lo;0;L;;;;;N;;;;;
+A2A8;YI SYLLABLE ZYT;Lo;0;L;;;;;N;;;;;
+A2A9;YI SYLLABLE ZYX;Lo;0;L;;;;;N;;;;;
+A2AA;YI SYLLABLE ZY;Lo;0;L;;;;;N;;;;;
+A2AB;YI SYLLABLE ZYP;Lo;0;L;;;;;N;;;;;
+A2AC;YI SYLLABLE ZYRX;Lo;0;L;;;;;N;;;;;
+A2AD;YI SYLLABLE ZYR;Lo;0;L;;;;;N;;;;;
+A2AE;YI SYLLABLE CIT;Lo;0;L;;;;;N;;;;;
+A2AF;YI SYLLABLE CIX;Lo;0;L;;;;;N;;;;;
+A2B0;YI SYLLABLE CI;Lo;0;L;;;;;N;;;;;
+A2B1;YI SYLLABLE CIP;Lo;0;L;;;;;N;;;;;
+A2B2;YI SYLLABLE CIET;Lo;0;L;;;;;N;;;;;
+A2B3;YI SYLLABLE CIEX;Lo;0;L;;;;;N;;;;;
+A2B4;YI SYLLABLE CIE;Lo;0;L;;;;;N;;;;;
+A2B5;YI SYLLABLE CIEP;Lo;0;L;;;;;N;;;;;
+A2B6;YI SYLLABLE CAT;Lo;0;L;;;;;N;;;;;
+A2B7;YI SYLLABLE CAX;Lo;0;L;;;;;N;;;;;
+A2B8;YI SYLLABLE CA;Lo;0;L;;;;;N;;;;;
+A2B9;YI SYLLABLE CAP;Lo;0;L;;;;;N;;;;;
+A2BA;YI SYLLABLE CUOX;Lo;0;L;;;;;N;;;;;
+A2BB;YI SYLLABLE CUO;Lo;0;L;;;;;N;;;;;
+A2BC;YI SYLLABLE CUOP;Lo;0;L;;;;;N;;;;;
+A2BD;YI SYLLABLE COT;Lo;0;L;;;;;N;;;;;
+A2BE;YI SYLLABLE COX;Lo;0;L;;;;;N;;;;;
+A2BF;YI SYLLABLE CO;Lo;0;L;;;;;N;;;;;
+A2C0;YI SYLLABLE COP;Lo;0;L;;;;;N;;;;;
+A2C1;YI SYLLABLE CEX;Lo;0;L;;;;;N;;;;;
+A2C2;YI SYLLABLE CE;Lo;0;L;;;;;N;;;;;
+A2C3;YI SYLLABLE CEP;Lo;0;L;;;;;N;;;;;
+A2C4;YI SYLLABLE CUT;Lo;0;L;;;;;N;;;;;
+A2C5;YI SYLLABLE CUX;Lo;0;L;;;;;N;;;;;
+A2C6;YI SYLLABLE CU;Lo;0;L;;;;;N;;;;;
+A2C7;YI SYLLABLE CUP;Lo;0;L;;;;;N;;;;;
+A2C8;YI SYLLABLE CURX;Lo;0;L;;;;;N;;;;;
+A2C9;YI SYLLABLE CUR;Lo;0;L;;;;;N;;;;;
+A2CA;YI SYLLABLE CYT;Lo;0;L;;;;;N;;;;;
+A2CB;YI SYLLABLE CYX;Lo;0;L;;;;;N;;;;;
+A2CC;YI SYLLABLE CY;Lo;0;L;;;;;N;;;;;
+A2CD;YI SYLLABLE CYP;Lo;0;L;;;;;N;;;;;
+A2CE;YI SYLLABLE CYRX;Lo;0;L;;;;;N;;;;;
+A2CF;YI SYLLABLE CYR;Lo;0;L;;;;;N;;;;;
+A2D0;YI SYLLABLE ZZIT;Lo;0;L;;;;;N;;;;;
+A2D1;YI SYLLABLE ZZIX;Lo;0;L;;;;;N;;;;;
+A2D2;YI SYLLABLE ZZI;Lo;0;L;;;;;N;;;;;
+A2D3;YI SYLLABLE ZZIP;Lo;0;L;;;;;N;;;;;
+A2D4;YI SYLLABLE ZZIET;Lo;0;L;;;;;N;;;;;
+A2D5;YI SYLLABLE ZZIEX;Lo;0;L;;;;;N;;;;;
+A2D6;YI SYLLABLE ZZIE;Lo;0;L;;;;;N;;;;;
+A2D7;YI SYLLABLE ZZIEP;Lo;0;L;;;;;N;;;;;
+A2D8;YI SYLLABLE ZZAT;Lo;0;L;;;;;N;;;;;
+A2D9;YI SYLLABLE ZZAX;Lo;0;L;;;;;N;;;;;
+A2DA;YI SYLLABLE ZZA;Lo;0;L;;;;;N;;;;;
+A2DB;YI SYLLABLE ZZAP;Lo;0;L;;;;;N;;;;;
+A2DC;YI SYLLABLE ZZOX;Lo;0;L;;;;;N;;;;;
+A2DD;YI SYLLABLE ZZO;Lo;0;L;;;;;N;;;;;
+A2DE;YI SYLLABLE ZZOP;Lo;0;L;;;;;N;;;;;
+A2DF;YI SYLLABLE ZZEX;Lo;0;L;;;;;N;;;;;
+A2E0;YI SYLLABLE ZZE;Lo;0;L;;;;;N;;;;;
+A2E1;YI SYLLABLE ZZEP;Lo;0;L;;;;;N;;;;;
+A2E2;YI SYLLABLE ZZUX;Lo;0;L;;;;;N;;;;;
+A2E3;YI SYLLABLE ZZU;Lo;0;L;;;;;N;;;;;
+A2E4;YI SYLLABLE ZZUP;Lo;0;L;;;;;N;;;;;
+A2E5;YI SYLLABLE ZZURX;Lo;0;L;;;;;N;;;;;
+A2E6;YI SYLLABLE ZZUR;Lo;0;L;;;;;N;;;;;
+A2E7;YI SYLLABLE ZZYT;Lo;0;L;;;;;N;;;;;
+A2E8;YI SYLLABLE ZZYX;Lo;0;L;;;;;N;;;;;
+A2E9;YI SYLLABLE ZZY;Lo;0;L;;;;;N;;;;;
+A2EA;YI SYLLABLE ZZYP;Lo;0;L;;;;;N;;;;;
+A2EB;YI SYLLABLE ZZYRX;Lo;0;L;;;;;N;;;;;
+A2EC;YI SYLLABLE ZZYR;Lo;0;L;;;;;N;;;;;
+A2ED;YI SYLLABLE NZIT;Lo;0;L;;;;;N;;;;;
+A2EE;YI SYLLABLE NZIX;Lo;0;L;;;;;N;;;;;
+A2EF;YI SYLLABLE NZI;Lo;0;L;;;;;N;;;;;
+A2F0;YI SYLLABLE NZIP;Lo;0;L;;;;;N;;;;;
+A2F1;YI SYLLABLE NZIEX;Lo;0;L;;;;;N;;;;;
+A2F2;YI SYLLABLE NZIE;Lo;0;L;;;;;N;;;;;
+A2F3;YI SYLLABLE NZIEP;Lo;0;L;;;;;N;;;;;
+A2F4;YI SYLLABLE NZAT;Lo;0;L;;;;;N;;;;;
+A2F5;YI SYLLABLE NZAX;Lo;0;L;;;;;N;;;;;
+A2F6;YI SYLLABLE NZA;Lo;0;L;;;;;N;;;;;
+A2F7;YI SYLLABLE NZAP;Lo;0;L;;;;;N;;;;;
+A2F8;YI SYLLABLE NZUOX;Lo;0;L;;;;;N;;;;;
+A2F9;YI SYLLABLE NZUO;Lo;0;L;;;;;N;;;;;
+A2FA;YI SYLLABLE NZOX;Lo;0;L;;;;;N;;;;;
+A2FB;YI SYLLABLE NZOP;Lo;0;L;;;;;N;;;;;
+A2FC;YI SYLLABLE NZEX;Lo;0;L;;;;;N;;;;;
+A2FD;YI SYLLABLE NZE;Lo;0;L;;;;;N;;;;;
+A2FE;YI SYLLABLE NZUX;Lo;0;L;;;;;N;;;;;
+A2FF;YI SYLLABLE NZU;Lo;0;L;;;;;N;;;;;
+A300;YI SYLLABLE NZUP;Lo;0;L;;;;;N;;;;;
+A301;YI SYLLABLE NZURX;Lo;0;L;;;;;N;;;;;
+A302;YI SYLLABLE NZUR;Lo;0;L;;;;;N;;;;;
+A303;YI SYLLABLE NZYT;Lo;0;L;;;;;N;;;;;
+A304;YI SYLLABLE NZYX;Lo;0;L;;;;;N;;;;;
+A305;YI SYLLABLE NZY;Lo;0;L;;;;;N;;;;;
+A306;YI SYLLABLE NZYP;Lo;0;L;;;;;N;;;;;
+A307;YI SYLLABLE NZYRX;Lo;0;L;;;;;N;;;;;
+A308;YI SYLLABLE NZYR;Lo;0;L;;;;;N;;;;;
+A309;YI SYLLABLE SIT;Lo;0;L;;;;;N;;;;;
+A30A;YI SYLLABLE SIX;Lo;0;L;;;;;N;;;;;
+A30B;YI SYLLABLE SI;Lo;0;L;;;;;N;;;;;
+A30C;YI SYLLABLE SIP;Lo;0;L;;;;;N;;;;;
+A30D;YI SYLLABLE SIEX;Lo;0;L;;;;;N;;;;;
+A30E;YI SYLLABLE SIE;Lo;0;L;;;;;N;;;;;
+A30F;YI SYLLABLE SIEP;Lo;0;L;;;;;N;;;;;
+A310;YI SYLLABLE SAT;Lo;0;L;;;;;N;;;;;
+A311;YI SYLLABLE SAX;Lo;0;L;;;;;N;;;;;
+A312;YI SYLLABLE SA;Lo;0;L;;;;;N;;;;;
+A313;YI SYLLABLE SAP;Lo;0;L;;;;;N;;;;;
+A314;YI SYLLABLE SUOX;Lo;0;L;;;;;N;;;;;
+A315;YI SYLLABLE SUO;Lo;0;L;;;;;N;;;;;
+A316;YI SYLLABLE SUOP;Lo;0;L;;;;;N;;;;;
+A317;YI SYLLABLE SOT;Lo;0;L;;;;;N;;;;;
+A318;YI SYLLABLE SOX;Lo;0;L;;;;;N;;;;;
+A319;YI SYLLABLE SO;Lo;0;L;;;;;N;;;;;
+A31A;YI SYLLABLE SOP;Lo;0;L;;;;;N;;;;;
+A31B;YI SYLLABLE SEX;Lo;0;L;;;;;N;;;;;
+A31C;YI SYLLABLE SE;Lo;0;L;;;;;N;;;;;
+A31D;YI SYLLABLE SEP;Lo;0;L;;;;;N;;;;;
+A31E;YI SYLLABLE SUT;Lo;0;L;;;;;N;;;;;
+A31F;YI SYLLABLE SUX;Lo;0;L;;;;;N;;;;;
+A320;YI SYLLABLE SU;Lo;0;L;;;;;N;;;;;
+A321;YI SYLLABLE SUP;Lo;0;L;;;;;N;;;;;
+A322;YI SYLLABLE SURX;Lo;0;L;;;;;N;;;;;
+A323;YI SYLLABLE SUR;Lo;0;L;;;;;N;;;;;
+A324;YI SYLLABLE SYT;Lo;0;L;;;;;N;;;;;
+A325;YI SYLLABLE SYX;Lo;0;L;;;;;N;;;;;
+A326;YI SYLLABLE SY;Lo;0;L;;;;;N;;;;;
+A327;YI SYLLABLE SYP;Lo;0;L;;;;;N;;;;;
+A328;YI SYLLABLE SYRX;Lo;0;L;;;;;N;;;;;
+A329;YI SYLLABLE SYR;Lo;0;L;;;;;N;;;;;
+A32A;YI SYLLABLE SSIT;Lo;0;L;;;;;N;;;;;
+A32B;YI SYLLABLE SSIX;Lo;0;L;;;;;N;;;;;
+A32C;YI SYLLABLE SSI;Lo;0;L;;;;;N;;;;;
+A32D;YI SYLLABLE SSIP;Lo;0;L;;;;;N;;;;;
+A32E;YI SYLLABLE SSIEX;Lo;0;L;;;;;N;;;;;
+A32F;YI SYLLABLE SSIE;Lo;0;L;;;;;N;;;;;
+A330;YI SYLLABLE SSIEP;Lo;0;L;;;;;N;;;;;
+A331;YI SYLLABLE SSAT;Lo;0;L;;;;;N;;;;;
+A332;YI SYLLABLE SSAX;Lo;0;L;;;;;N;;;;;
+A333;YI SYLLABLE SSA;Lo;0;L;;;;;N;;;;;
+A334;YI SYLLABLE SSAP;Lo;0;L;;;;;N;;;;;
+A335;YI SYLLABLE SSOT;Lo;0;L;;;;;N;;;;;
+A336;YI SYLLABLE SSOX;Lo;0;L;;;;;N;;;;;
+A337;YI SYLLABLE SSO;Lo;0;L;;;;;N;;;;;
+A338;YI SYLLABLE SSOP;Lo;0;L;;;;;N;;;;;
+A339;YI SYLLABLE SSEX;Lo;0;L;;;;;N;;;;;
+A33A;YI SYLLABLE SSE;Lo;0;L;;;;;N;;;;;
+A33B;YI SYLLABLE SSEP;Lo;0;L;;;;;N;;;;;
+A33C;YI SYLLABLE SSUT;Lo;0;L;;;;;N;;;;;
+A33D;YI SYLLABLE SSUX;Lo;0;L;;;;;N;;;;;
+A33E;YI SYLLABLE SSU;Lo;0;L;;;;;N;;;;;
+A33F;YI SYLLABLE SSUP;Lo;0;L;;;;;N;;;;;
+A340;YI SYLLABLE SSYT;Lo;0;L;;;;;N;;;;;
+A341;YI SYLLABLE SSYX;Lo;0;L;;;;;N;;;;;
+A342;YI SYLLABLE SSY;Lo;0;L;;;;;N;;;;;
+A343;YI SYLLABLE SSYP;Lo;0;L;;;;;N;;;;;
+A344;YI SYLLABLE SSYRX;Lo;0;L;;;;;N;;;;;
+A345;YI SYLLABLE SSYR;Lo;0;L;;;;;N;;;;;
+A346;YI SYLLABLE ZHAT;Lo;0;L;;;;;N;;;;;
+A347;YI SYLLABLE ZHAX;Lo;0;L;;;;;N;;;;;
+A348;YI SYLLABLE ZHA;Lo;0;L;;;;;N;;;;;
+A349;YI SYLLABLE ZHAP;Lo;0;L;;;;;N;;;;;
+A34A;YI SYLLABLE ZHUOX;Lo;0;L;;;;;N;;;;;
+A34B;YI SYLLABLE ZHUO;Lo;0;L;;;;;N;;;;;
+A34C;YI SYLLABLE ZHUOP;Lo;0;L;;;;;N;;;;;
+A34D;YI SYLLABLE ZHOT;Lo;0;L;;;;;N;;;;;
+A34E;YI SYLLABLE ZHOX;Lo;0;L;;;;;N;;;;;
+A34F;YI SYLLABLE ZHO;Lo;0;L;;;;;N;;;;;
+A350;YI SYLLABLE ZHOP;Lo;0;L;;;;;N;;;;;
+A351;YI SYLLABLE ZHET;Lo;0;L;;;;;N;;;;;
+A352;YI SYLLABLE ZHEX;Lo;0;L;;;;;N;;;;;
+A353;YI SYLLABLE ZHE;Lo;0;L;;;;;N;;;;;
+A354;YI SYLLABLE ZHEP;Lo;0;L;;;;;N;;;;;
+A355;YI SYLLABLE ZHUT;Lo;0;L;;;;;N;;;;;
+A356;YI SYLLABLE ZHUX;Lo;0;L;;;;;N;;;;;
+A357;YI SYLLABLE ZHU;Lo;0;L;;;;;N;;;;;
+A358;YI SYLLABLE ZHUP;Lo;0;L;;;;;N;;;;;
+A359;YI SYLLABLE ZHURX;Lo;0;L;;;;;N;;;;;
+A35A;YI SYLLABLE ZHUR;Lo;0;L;;;;;N;;;;;
+A35B;YI SYLLABLE ZHYT;Lo;0;L;;;;;N;;;;;
+A35C;YI SYLLABLE ZHYX;Lo;0;L;;;;;N;;;;;
+A35D;YI SYLLABLE ZHY;Lo;0;L;;;;;N;;;;;
+A35E;YI SYLLABLE ZHYP;Lo;0;L;;;;;N;;;;;
+A35F;YI SYLLABLE ZHYRX;Lo;0;L;;;;;N;;;;;
+A360;YI SYLLABLE ZHYR;Lo;0;L;;;;;N;;;;;
+A361;YI SYLLABLE CHAT;Lo;0;L;;;;;N;;;;;
+A362;YI SYLLABLE CHAX;Lo;0;L;;;;;N;;;;;
+A363;YI SYLLABLE CHA;Lo;0;L;;;;;N;;;;;
+A364;YI SYLLABLE CHAP;Lo;0;L;;;;;N;;;;;
+A365;YI SYLLABLE CHUOT;Lo;0;L;;;;;N;;;;;
+A366;YI SYLLABLE CHUOX;Lo;0;L;;;;;N;;;;;
+A367;YI SYLLABLE CHUO;Lo;0;L;;;;;N;;;;;
+A368;YI SYLLABLE CHUOP;Lo;0;L;;;;;N;;;;;
+A369;YI SYLLABLE CHOT;Lo;0;L;;;;;N;;;;;
+A36A;YI SYLLABLE CHOX;Lo;0;L;;;;;N;;;;;
+A36B;YI SYLLABLE CHO;Lo;0;L;;;;;N;;;;;
+A36C;YI SYLLABLE CHOP;Lo;0;L;;;;;N;;;;;
+A36D;YI SYLLABLE CHET;Lo;0;L;;;;;N;;;;;
+A36E;YI SYLLABLE CHEX;Lo;0;L;;;;;N;;;;;
+A36F;YI SYLLABLE CHE;Lo;0;L;;;;;N;;;;;
+A370;YI SYLLABLE CHEP;Lo;0;L;;;;;N;;;;;
+A371;YI SYLLABLE CHUX;Lo;0;L;;;;;N;;;;;
+A372;YI SYLLABLE CHU;Lo;0;L;;;;;N;;;;;
+A373;YI SYLLABLE CHUP;Lo;0;L;;;;;N;;;;;
+A374;YI SYLLABLE CHURX;Lo;0;L;;;;;N;;;;;
+A375;YI SYLLABLE CHUR;Lo;0;L;;;;;N;;;;;
+A376;YI SYLLABLE CHYT;Lo;0;L;;;;;N;;;;;
+A377;YI SYLLABLE CHYX;Lo;0;L;;;;;N;;;;;
+A378;YI SYLLABLE CHY;Lo;0;L;;;;;N;;;;;
+A379;YI SYLLABLE CHYP;Lo;0;L;;;;;N;;;;;
+A37A;YI SYLLABLE CHYRX;Lo;0;L;;;;;N;;;;;
+A37B;YI SYLLABLE CHYR;Lo;0;L;;;;;N;;;;;
+A37C;YI SYLLABLE RRAX;Lo;0;L;;;;;N;;;;;
+A37D;YI SYLLABLE RRA;Lo;0;L;;;;;N;;;;;
+A37E;YI SYLLABLE RRUOX;Lo;0;L;;;;;N;;;;;
+A37F;YI SYLLABLE RRUO;Lo;0;L;;;;;N;;;;;
+A380;YI SYLLABLE RROT;Lo;0;L;;;;;N;;;;;
+A381;YI SYLLABLE RROX;Lo;0;L;;;;;N;;;;;
+A382;YI SYLLABLE RRO;Lo;0;L;;;;;N;;;;;
+A383;YI SYLLABLE RROP;Lo;0;L;;;;;N;;;;;
+A384;YI SYLLABLE RRET;Lo;0;L;;;;;N;;;;;
+A385;YI SYLLABLE RREX;Lo;0;L;;;;;N;;;;;
+A386;YI SYLLABLE RRE;Lo;0;L;;;;;N;;;;;
+A387;YI SYLLABLE RREP;Lo;0;L;;;;;N;;;;;
+A388;YI SYLLABLE RRUT;Lo;0;L;;;;;N;;;;;
+A389;YI SYLLABLE RRUX;Lo;0;L;;;;;N;;;;;
+A38A;YI SYLLABLE RRU;Lo;0;L;;;;;N;;;;;
+A38B;YI SYLLABLE RRUP;Lo;0;L;;;;;N;;;;;
+A38C;YI SYLLABLE RRURX;Lo;0;L;;;;;N;;;;;
+A38D;YI SYLLABLE RRUR;Lo;0;L;;;;;N;;;;;
+A38E;YI SYLLABLE RRYT;Lo;0;L;;;;;N;;;;;
+A38F;YI SYLLABLE RRYX;Lo;0;L;;;;;N;;;;;
+A390;YI SYLLABLE RRY;Lo;0;L;;;;;N;;;;;
+A391;YI SYLLABLE RRYP;Lo;0;L;;;;;N;;;;;
+A392;YI SYLLABLE RRYRX;Lo;0;L;;;;;N;;;;;
+A393;YI SYLLABLE RRYR;Lo;0;L;;;;;N;;;;;
+A394;YI SYLLABLE NRAT;Lo;0;L;;;;;N;;;;;
+A395;YI SYLLABLE NRAX;Lo;0;L;;;;;N;;;;;
+A396;YI SYLLABLE NRA;Lo;0;L;;;;;N;;;;;
+A397;YI SYLLABLE NRAP;Lo;0;L;;;;;N;;;;;
+A398;YI SYLLABLE NROX;Lo;0;L;;;;;N;;;;;
+A399;YI SYLLABLE NRO;Lo;0;L;;;;;N;;;;;
+A39A;YI SYLLABLE NROP;Lo;0;L;;;;;N;;;;;
+A39B;YI SYLLABLE NRET;Lo;0;L;;;;;N;;;;;
+A39C;YI SYLLABLE NREX;Lo;0;L;;;;;N;;;;;
+A39D;YI SYLLABLE NRE;Lo;0;L;;;;;N;;;;;
+A39E;YI SYLLABLE NREP;Lo;0;L;;;;;N;;;;;
+A39F;YI SYLLABLE NRUT;Lo;0;L;;;;;N;;;;;
+A3A0;YI SYLLABLE NRUX;Lo;0;L;;;;;N;;;;;
+A3A1;YI SYLLABLE NRU;Lo;0;L;;;;;N;;;;;
+A3A2;YI SYLLABLE NRUP;Lo;0;L;;;;;N;;;;;
+A3A3;YI SYLLABLE NRURX;Lo;0;L;;;;;N;;;;;
+A3A4;YI SYLLABLE NRUR;Lo;0;L;;;;;N;;;;;
+A3A5;YI SYLLABLE NRYT;Lo;0;L;;;;;N;;;;;
+A3A6;YI SYLLABLE NRYX;Lo;0;L;;;;;N;;;;;
+A3A7;YI SYLLABLE NRY;Lo;0;L;;;;;N;;;;;
+A3A8;YI SYLLABLE NRYP;Lo;0;L;;;;;N;;;;;
+A3A9;YI SYLLABLE NRYRX;Lo;0;L;;;;;N;;;;;
+A3AA;YI SYLLABLE NRYR;Lo;0;L;;;;;N;;;;;
+A3AB;YI SYLLABLE SHAT;Lo;0;L;;;;;N;;;;;
+A3AC;YI SYLLABLE SHAX;Lo;0;L;;;;;N;;;;;
+A3AD;YI SYLLABLE SHA;Lo;0;L;;;;;N;;;;;
+A3AE;YI SYLLABLE SHAP;Lo;0;L;;;;;N;;;;;
+A3AF;YI SYLLABLE SHUOX;Lo;0;L;;;;;N;;;;;
+A3B0;YI SYLLABLE SHUO;Lo;0;L;;;;;N;;;;;
+A3B1;YI SYLLABLE SHUOP;Lo;0;L;;;;;N;;;;;
+A3B2;YI SYLLABLE SHOT;Lo;0;L;;;;;N;;;;;
+A3B3;YI SYLLABLE SHOX;Lo;0;L;;;;;N;;;;;
+A3B4;YI SYLLABLE SHO;Lo;0;L;;;;;N;;;;;
+A3B5;YI SYLLABLE SHOP;Lo;0;L;;;;;N;;;;;
+A3B6;YI SYLLABLE SHET;Lo;0;L;;;;;N;;;;;
+A3B7;YI SYLLABLE SHEX;Lo;0;L;;;;;N;;;;;
+A3B8;YI SYLLABLE SHE;Lo;0;L;;;;;N;;;;;
+A3B9;YI SYLLABLE SHEP;Lo;0;L;;;;;N;;;;;
+A3BA;YI SYLLABLE SHUT;Lo;0;L;;;;;N;;;;;
+A3BB;YI SYLLABLE SHUX;Lo;0;L;;;;;N;;;;;
+A3BC;YI SYLLABLE SHU;Lo;0;L;;;;;N;;;;;
+A3BD;YI SYLLABLE SHUP;Lo;0;L;;;;;N;;;;;
+A3BE;YI SYLLABLE SHURX;Lo;0;L;;;;;N;;;;;
+A3BF;YI SYLLABLE SHUR;Lo;0;L;;;;;N;;;;;
+A3C0;YI SYLLABLE SHYT;Lo;0;L;;;;;N;;;;;
+A3C1;YI SYLLABLE SHYX;Lo;0;L;;;;;N;;;;;
+A3C2;YI SYLLABLE SHY;Lo;0;L;;;;;N;;;;;
+A3C3;YI SYLLABLE SHYP;Lo;0;L;;;;;N;;;;;
+A3C4;YI SYLLABLE SHYRX;Lo;0;L;;;;;N;;;;;
+A3C5;YI SYLLABLE SHYR;Lo;0;L;;;;;N;;;;;
+A3C6;YI SYLLABLE RAT;Lo;0;L;;;;;N;;;;;
+A3C7;YI SYLLABLE RAX;Lo;0;L;;;;;N;;;;;
+A3C8;YI SYLLABLE RA;Lo;0;L;;;;;N;;;;;
+A3C9;YI SYLLABLE RAP;Lo;0;L;;;;;N;;;;;
+A3CA;YI SYLLABLE RUOX;Lo;0;L;;;;;N;;;;;
+A3CB;YI SYLLABLE RUO;Lo;0;L;;;;;N;;;;;
+A3CC;YI SYLLABLE RUOP;Lo;0;L;;;;;N;;;;;
+A3CD;YI SYLLABLE ROT;Lo;0;L;;;;;N;;;;;
+A3CE;YI SYLLABLE ROX;Lo;0;L;;;;;N;;;;;
+A3CF;YI SYLLABLE RO;Lo;0;L;;;;;N;;;;;
+A3D0;YI SYLLABLE ROP;Lo;0;L;;;;;N;;;;;
+A3D1;YI SYLLABLE REX;Lo;0;L;;;;;N;;;;;
+A3D2;YI SYLLABLE RE;Lo;0;L;;;;;N;;;;;
+A3D3;YI SYLLABLE REP;Lo;0;L;;;;;N;;;;;
+A3D4;YI SYLLABLE RUT;Lo;0;L;;;;;N;;;;;
+A3D5;YI SYLLABLE RUX;Lo;0;L;;;;;N;;;;;
+A3D6;YI SYLLABLE RU;Lo;0;L;;;;;N;;;;;
+A3D7;YI SYLLABLE RUP;Lo;0;L;;;;;N;;;;;
+A3D8;YI SYLLABLE RURX;Lo;0;L;;;;;N;;;;;
+A3D9;YI SYLLABLE RUR;Lo;0;L;;;;;N;;;;;
+A3DA;YI SYLLABLE RYT;Lo;0;L;;;;;N;;;;;
+A3DB;YI SYLLABLE RYX;Lo;0;L;;;;;N;;;;;
+A3DC;YI SYLLABLE RY;Lo;0;L;;;;;N;;;;;
+A3DD;YI SYLLABLE RYP;Lo;0;L;;;;;N;;;;;
+A3DE;YI SYLLABLE RYRX;Lo;0;L;;;;;N;;;;;
+A3DF;YI SYLLABLE RYR;Lo;0;L;;;;;N;;;;;
+A3E0;YI SYLLABLE JIT;Lo;0;L;;;;;N;;;;;
+A3E1;YI SYLLABLE JIX;Lo;0;L;;;;;N;;;;;
+A3E2;YI SYLLABLE JI;Lo;0;L;;;;;N;;;;;
+A3E3;YI SYLLABLE JIP;Lo;0;L;;;;;N;;;;;
+A3E4;YI SYLLABLE JIET;Lo;0;L;;;;;N;;;;;
+A3E5;YI SYLLABLE JIEX;Lo;0;L;;;;;N;;;;;
+A3E6;YI SYLLABLE JIE;Lo;0;L;;;;;N;;;;;
+A3E7;YI SYLLABLE JIEP;Lo;0;L;;;;;N;;;;;
+A3E8;YI SYLLABLE JUOT;Lo;0;L;;;;;N;;;;;
+A3E9;YI SYLLABLE JUOX;Lo;0;L;;;;;N;;;;;
+A3EA;YI SYLLABLE JUO;Lo;0;L;;;;;N;;;;;
+A3EB;YI SYLLABLE JUOP;Lo;0;L;;;;;N;;;;;
+A3EC;YI SYLLABLE JOT;Lo;0;L;;;;;N;;;;;
+A3ED;YI SYLLABLE JOX;Lo;0;L;;;;;N;;;;;
+A3EE;YI SYLLABLE JO;Lo;0;L;;;;;N;;;;;
+A3EF;YI SYLLABLE JOP;Lo;0;L;;;;;N;;;;;
+A3F0;YI SYLLABLE JUT;Lo;0;L;;;;;N;;;;;
+A3F1;YI SYLLABLE JUX;Lo;0;L;;;;;N;;;;;
+A3F2;YI SYLLABLE JU;Lo;0;L;;;;;N;;;;;
+A3F3;YI SYLLABLE JUP;Lo;0;L;;;;;N;;;;;
+A3F4;YI SYLLABLE JURX;Lo;0;L;;;;;N;;;;;
+A3F5;YI SYLLABLE JUR;Lo;0;L;;;;;N;;;;;
+A3F6;YI SYLLABLE JYT;Lo;0;L;;;;;N;;;;;
+A3F7;YI SYLLABLE JYX;Lo;0;L;;;;;N;;;;;
+A3F8;YI SYLLABLE JY;Lo;0;L;;;;;N;;;;;
+A3F9;YI SYLLABLE JYP;Lo;0;L;;;;;N;;;;;
+A3FA;YI SYLLABLE JYRX;Lo;0;L;;;;;N;;;;;
+A3FB;YI SYLLABLE JYR;Lo;0;L;;;;;N;;;;;
+A3FC;YI SYLLABLE QIT;Lo;0;L;;;;;N;;;;;
+A3FD;YI SYLLABLE QIX;Lo;0;L;;;;;N;;;;;
+A3FE;YI SYLLABLE QI;Lo;0;L;;;;;N;;;;;
+A3FF;YI SYLLABLE QIP;Lo;0;L;;;;;N;;;;;
+A400;YI SYLLABLE QIET;Lo;0;L;;;;;N;;;;;
+A401;YI SYLLABLE QIEX;Lo;0;L;;;;;N;;;;;
+A402;YI SYLLABLE QIE;Lo;0;L;;;;;N;;;;;
+A403;YI SYLLABLE QIEP;Lo;0;L;;;;;N;;;;;
+A404;YI SYLLABLE QUOT;Lo;0;L;;;;;N;;;;;
+A405;YI SYLLABLE QUOX;Lo;0;L;;;;;N;;;;;
+A406;YI SYLLABLE QUO;Lo;0;L;;;;;N;;;;;
+A407;YI SYLLABLE QUOP;Lo;0;L;;;;;N;;;;;
+A408;YI SYLLABLE QOT;Lo;0;L;;;;;N;;;;;
+A409;YI SYLLABLE QOX;Lo;0;L;;;;;N;;;;;
+A40A;YI SYLLABLE QO;Lo;0;L;;;;;N;;;;;
+A40B;YI SYLLABLE QOP;Lo;0;L;;;;;N;;;;;
+A40C;YI SYLLABLE QUT;Lo;0;L;;;;;N;;;;;
+A40D;YI SYLLABLE QUX;Lo;0;L;;;;;N;;;;;
+A40E;YI SYLLABLE QU;Lo;0;L;;;;;N;;;;;
+A40F;YI SYLLABLE QUP;Lo;0;L;;;;;N;;;;;
+A410;YI SYLLABLE QURX;Lo;0;L;;;;;N;;;;;
+A411;YI SYLLABLE QUR;Lo;0;L;;;;;N;;;;;
+A412;YI SYLLABLE QYT;Lo;0;L;;;;;N;;;;;
+A413;YI SYLLABLE QYX;Lo;0;L;;;;;N;;;;;
+A414;YI SYLLABLE QY;Lo;0;L;;;;;N;;;;;
+A415;YI SYLLABLE QYP;Lo;0;L;;;;;N;;;;;
+A416;YI SYLLABLE QYRX;Lo;0;L;;;;;N;;;;;
+A417;YI SYLLABLE QYR;Lo;0;L;;;;;N;;;;;
+A418;YI SYLLABLE JJIT;Lo;0;L;;;;;N;;;;;
+A419;YI SYLLABLE JJIX;Lo;0;L;;;;;N;;;;;
+A41A;YI SYLLABLE JJI;Lo;0;L;;;;;N;;;;;
+A41B;YI SYLLABLE JJIP;Lo;0;L;;;;;N;;;;;
+A41C;YI SYLLABLE JJIET;Lo;0;L;;;;;N;;;;;
+A41D;YI SYLLABLE JJIEX;Lo;0;L;;;;;N;;;;;
+A41E;YI SYLLABLE JJIE;Lo;0;L;;;;;N;;;;;
+A41F;YI SYLLABLE JJIEP;Lo;0;L;;;;;N;;;;;
+A420;YI SYLLABLE JJUOX;Lo;0;L;;;;;N;;;;;
+A421;YI SYLLABLE JJUO;Lo;0;L;;;;;N;;;;;
+A422;YI SYLLABLE JJUOP;Lo;0;L;;;;;N;;;;;
+A423;YI SYLLABLE JJOT;Lo;0;L;;;;;N;;;;;
+A424;YI SYLLABLE JJOX;Lo;0;L;;;;;N;;;;;
+A425;YI SYLLABLE JJO;Lo;0;L;;;;;N;;;;;
+A426;YI SYLLABLE JJOP;Lo;0;L;;;;;N;;;;;
+A427;YI SYLLABLE JJUT;Lo;0;L;;;;;N;;;;;
+A428;YI SYLLABLE JJUX;Lo;0;L;;;;;N;;;;;
+A429;YI SYLLABLE JJU;Lo;0;L;;;;;N;;;;;
+A42A;YI SYLLABLE JJUP;Lo;0;L;;;;;N;;;;;
+A42B;YI SYLLABLE JJURX;Lo;0;L;;;;;N;;;;;
+A42C;YI SYLLABLE JJUR;Lo;0;L;;;;;N;;;;;
+A42D;YI SYLLABLE JJYT;Lo;0;L;;;;;N;;;;;
+A42E;YI SYLLABLE JJYX;Lo;0;L;;;;;N;;;;;
+A42F;YI SYLLABLE JJY;Lo;0;L;;;;;N;;;;;
+A430;YI SYLLABLE JJYP;Lo;0;L;;;;;N;;;;;
+A431;YI SYLLABLE NJIT;Lo;0;L;;;;;N;;;;;
+A432;YI SYLLABLE NJIX;Lo;0;L;;;;;N;;;;;
+A433;YI SYLLABLE NJI;Lo;0;L;;;;;N;;;;;
+A434;YI SYLLABLE NJIP;Lo;0;L;;;;;N;;;;;
+A435;YI SYLLABLE NJIET;Lo;0;L;;;;;N;;;;;
+A436;YI SYLLABLE NJIEX;Lo;0;L;;;;;N;;;;;
+A437;YI SYLLABLE NJIE;Lo;0;L;;;;;N;;;;;
+A438;YI SYLLABLE NJIEP;Lo;0;L;;;;;N;;;;;
+A439;YI SYLLABLE NJUOX;Lo;0;L;;;;;N;;;;;
+A43A;YI SYLLABLE NJUO;Lo;0;L;;;;;N;;;;;
+A43B;YI SYLLABLE NJOT;Lo;0;L;;;;;N;;;;;
+A43C;YI SYLLABLE NJOX;Lo;0;L;;;;;N;;;;;
+A43D;YI SYLLABLE NJO;Lo;0;L;;;;;N;;;;;
+A43E;YI SYLLABLE NJOP;Lo;0;L;;;;;N;;;;;
+A43F;YI SYLLABLE NJUX;Lo;0;L;;;;;N;;;;;
+A440;YI SYLLABLE NJU;Lo;0;L;;;;;N;;;;;
+A441;YI SYLLABLE NJUP;Lo;0;L;;;;;N;;;;;
+A442;YI SYLLABLE NJURX;Lo;0;L;;;;;N;;;;;
+A443;YI SYLLABLE NJUR;Lo;0;L;;;;;N;;;;;
+A444;YI SYLLABLE NJYT;Lo;0;L;;;;;N;;;;;
+A445;YI SYLLABLE NJYX;Lo;0;L;;;;;N;;;;;
+A446;YI SYLLABLE NJY;Lo;0;L;;;;;N;;;;;
+A447;YI SYLLABLE NJYP;Lo;0;L;;;;;N;;;;;
+A448;YI SYLLABLE NJYRX;Lo;0;L;;;;;N;;;;;
+A449;YI SYLLABLE NJYR;Lo;0;L;;;;;N;;;;;
+A44A;YI SYLLABLE NYIT;Lo;0;L;;;;;N;;;;;
+A44B;YI SYLLABLE NYIX;Lo;0;L;;;;;N;;;;;
+A44C;YI SYLLABLE NYI;Lo;0;L;;;;;N;;;;;
+A44D;YI SYLLABLE NYIP;Lo;0;L;;;;;N;;;;;
+A44E;YI SYLLABLE NYIET;Lo;0;L;;;;;N;;;;;
+A44F;YI SYLLABLE NYIEX;Lo;0;L;;;;;N;;;;;
+A450;YI SYLLABLE NYIE;Lo;0;L;;;;;N;;;;;
+A451;YI SYLLABLE NYIEP;Lo;0;L;;;;;N;;;;;
+A452;YI SYLLABLE NYUOX;Lo;0;L;;;;;N;;;;;
+A453;YI SYLLABLE NYUO;Lo;0;L;;;;;N;;;;;
+A454;YI SYLLABLE NYUOP;Lo;0;L;;;;;N;;;;;
+A455;YI SYLLABLE NYOT;Lo;0;L;;;;;N;;;;;
+A456;YI SYLLABLE NYOX;Lo;0;L;;;;;N;;;;;
+A457;YI SYLLABLE NYO;Lo;0;L;;;;;N;;;;;
+A458;YI SYLLABLE NYOP;Lo;0;L;;;;;N;;;;;
+A459;YI SYLLABLE NYUT;Lo;0;L;;;;;N;;;;;
+A45A;YI SYLLABLE NYUX;Lo;0;L;;;;;N;;;;;
+A45B;YI SYLLABLE NYU;Lo;0;L;;;;;N;;;;;
+A45C;YI SYLLABLE NYUP;Lo;0;L;;;;;N;;;;;
+A45D;YI SYLLABLE XIT;Lo;0;L;;;;;N;;;;;
+A45E;YI SYLLABLE XIX;Lo;0;L;;;;;N;;;;;
+A45F;YI SYLLABLE XI;Lo;0;L;;;;;N;;;;;
+A460;YI SYLLABLE XIP;Lo;0;L;;;;;N;;;;;
+A461;YI SYLLABLE XIET;Lo;0;L;;;;;N;;;;;
+A462;YI SYLLABLE XIEX;Lo;0;L;;;;;N;;;;;
+A463;YI SYLLABLE XIE;Lo;0;L;;;;;N;;;;;
+A464;YI SYLLABLE XIEP;Lo;0;L;;;;;N;;;;;
+A465;YI SYLLABLE XUOX;Lo;0;L;;;;;N;;;;;
+A466;YI SYLLABLE XUO;Lo;0;L;;;;;N;;;;;
+A467;YI SYLLABLE XOT;Lo;0;L;;;;;N;;;;;
+A468;YI SYLLABLE XOX;Lo;0;L;;;;;N;;;;;
+A469;YI SYLLABLE XO;Lo;0;L;;;;;N;;;;;
+A46A;YI SYLLABLE XOP;Lo;0;L;;;;;N;;;;;
+A46B;YI SYLLABLE XYT;Lo;0;L;;;;;N;;;;;
+A46C;YI SYLLABLE XYX;Lo;0;L;;;;;N;;;;;
+A46D;YI SYLLABLE XY;Lo;0;L;;;;;N;;;;;
+A46E;YI SYLLABLE XYP;Lo;0;L;;;;;N;;;;;
+A46F;YI SYLLABLE XYRX;Lo;0;L;;;;;N;;;;;
+A470;YI SYLLABLE XYR;Lo;0;L;;;;;N;;;;;
+A471;YI SYLLABLE YIT;Lo;0;L;;;;;N;;;;;
+A472;YI SYLLABLE YIX;Lo;0;L;;;;;N;;;;;
+A473;YI SYLLABLE YI;Lo;0;L;;;;;N;;;;;
+A474;YI SYLLABLE YIP;Lo;0;L;;;;;N;;;;;
+A475;YI SYLLABLE YIET;Lo;0;L;;;;;N;;;;;
+A476;YI SYLLABLE YIEX;Lo;0;L;;;;;N;;;;;
+A477;YI SYLLABLE YIE;Lo;0;L;;;;;N;;;;;
+A478;YI SYLLABLE YIEP;Lo;0;L;;;;;N;;;;;
+A479;YI SYLLABLE YUOT;Lo;0;L;;;;;N;;;;;
+A47A;YI SYLLABLE YUOX;Lo;0;L;;;;;N;;;;;
+A47B;YI SYLLABLE YUO;Lo;0;L;;;;;N;;;;;
+A47C;YI SYLLABLE YUOP;Lo;0;L;;;;;N;;;;;
+A47D;YI SYLLABLE YOT;Lo;0;L;;;;;N;;;;;
+A47E;YI SYLLABLE YOX;Lo;0;L;;;;;N;;;;;
+A47F;YI SYLLABLE YO;Lo;0;L;;;;;N;;;;;
+A480;YI SYLLABLE YOP;Lo;0;L;;;;;N;;;;;
+A481;YI SYLLABLE YUT;Lo;0;L;;;;;N;;;;;
+A482;YI SYLLABLE YUX;Lo;0;L;;;;;N;;;;;
+A483;YI SYLLABLE YU;Lo;0;L;;;;;N;;;;;
+A484;YI SYLLABLE YUP;Lo;0;L;;;;;N;;;;;
+A485;YI SYLLABLE YURX;Lo;0;L;;;;;N;;;;;
+A486;YI SYLLABLE YUR;Lo;0;L;;;;;N;;;;;
+A487;YI SYLLABLE YYT;Lo;0;L;;;;;N;;;;;
+A488;YI SYLLABLE YYX;Lo;0;L;;;;;N;;;;;
+A489;YI SYLLABLE YY;Lo;0;L;;;;;N;;;;;
+A48A;YI SYLLABLE YYP;Lo;0;L;;;;;N;;;;;
+A48B;YI SYLLABLE YYRX;Lo;0;L;;;;;N;;;;;
+A48C;YI SYLLABLE YYR;Lo;0;L;;;;;N;;;;;
+A490;YI RADICAL QOT;Lo;0;L;;;;;N;;;;;
+A491;YI RADICAL LI;Lo;0;L;;;;;N;;;;;
+A492;YI RADICAL KIT;Lo;0;L;;;;;N;;;;;
+A493;YI RADICAL NYIP;Lo;0;L;;;;;N;;;;;
+A494;YI RADICAL CYP;Lo;0;L;;;;;N;;;;;
+A495;YI RADICAL SSI;Lo;0;L;;;;;N;;;;;
+A496;YI RADICAL GGOP;Lo;0;L;;;;;N;;;;;
+A497;YI RADICAL GEP;Lo;0;L;;;;;N;;;;;
+A498;YI RADICAL MI;Lo;0;L;;;;;N;;;;;
+A499;YI RADICAL HXIT;Lo;0;L;;;;;N;;;;;
+A49A;YI RADICAL LYR;Lo;0;L;;;;;N;;;;;
+A49B;YI RADICAL BBUT;Lo;0;L;;;;;N;;;;;
+A49C;YI RADICAL MOP;Lo;0;L;;;;;N;;;;;
+A49D;YI RADICAL YO;Lo;0;L;;;;;N;;;;;
+A49E;YI RADICAL PUT;Lo;0;L;;;;;N;;;;;
+A49F;YI RADICAL HXUO;Lo;0;L;;;;;N;;;;;
+A4A0;YI RADICAL TAT;Lo;0;L;;;;;N;;;;;
+A4A1;YI RADICAL GA;Lo;0;L;;;;;N;;;;;
+A4A4;YI RADICAL DDUR;Lo;0;L;;;;;N;;;;;
+A4A5;YI RADICAL BUR;Lo;0;L;;;;;N;;;;;
+A4A6;YI RADICAL GGUO;Lo;0;L;;;;;N;;;;;
+A4A7;YI RADICAL NYOP;Lo;0;L;;;;;N;;;;;
+A4A8;YI RADICAL TU;Lo;0;L;;;;;N;;;;;
+A4A9;YI RADICAL OP;Lo;0;L;;;;;N;;;;;
+A4AA;YI RADICAL JJUT;Lo;0;L;;;;;N;;;;;
+A4AB;YI RADICAL ZOT;Lo;0;L;;;;;N;;;;;
+A4AC;YI RADICAL PYT;Lo;0;L;;;;;N;;;;;
+A4AD;YI RADICAL HMO;Lo;0;L;;;;;N;;;;;
+A4AE;YI RADICAL YIT;Lo;0;L;;;;;N;;;;;
+A4AF;YI RADICAL VUR;Lo;0;L;;;;;N;;;;;
+A4B0;YI RADICAL SHY;Lo;0;L;;;;;N;;;;;
+A4B1;YI RADICAL VEP;Lo;0;L;;;;;N;;;;;
+A4B2;YI RADICAL ZA;Lo;0;L;;;;;N;;;;;
+A4B3;YI RADICAL JO;Lo;0;L;;;;;N;;;;;
+A4B5;YI RADICAL JJY;Lo;0;L;;;;;N;;;;;
+A4B6;YI RADICAL GOT;Lo;0;L;;;;;N;;;;;
+A4B7;YI RADICAL JJIE;Lo;0;L;;;;;N;;;;;
+A4B8;YI RADICAL WO;Lo;0;L;;;;;N;;;;;
+A4B9;YI RADICAL DU;Lo;0;L;;;;;N;;;;;
+A4BA;YI RADICAL SHUR;Lo;0;L;;;;;N;;;;;
+A4BB;YI RADICAL LIE;Lo;0;L;;;;;N;;;;;
+A4BC;YI RADICAL CY;Lo;0;L;;;;;N;;;;;
+A4BD;YI RADICAL CUOP;Lo;0;L;;;;;N;;;;;
+A4BE;YI RADICAL CIP;Lo;0;L;;;;;N;;;;;
+A4BF;YI RADICAL HXOP;Lo;0;L;;;;;N;;;;;
+A4C0;YI RADICAL SHAT;Lo;0;L;;;;;N;;;;;
+A4C2;YI RADICAL SHOP;Lo;0;L;;;;;N;;;;;
+A4C3;YI RADICAL CHE;Lo;0;L;;;;;N;;;;;
+A4C4;YI RADICAL ZZIET;Lo;0;L;;;;;N;;;;;
+A4C6;YI RADICAL KE;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;;;;;
+D800;<Non Private Use High Surrogate, First>;Cs;0;L;;;;;N;;;;;
+DB7F;<Non Private Use 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;;;;;
+F900;CJK COMPATIBILITY IDEOGRAPH-F900;Lo;0;L;8C48;;;;N;;;;;
+F901;CJK COMPATIBILITY IDEOGRAPH-F901;Lo;0;L;66F4;;;;N;;;;;
+F902;CJK COMPATIBILITY IDEOGRAPH-F902;Lo;0;L;8ECA;;;;N;;;;;
+F903;CJK COMPATIBILITY IDEOGRAPH-F903;Lo;0;L;8CC8;;;;N;;;;;
+F904;CJK COMPATIBILITY IDEOGRAPH-F904;Lo;0;L;6ED1;;;;N;;;;;
+F905;CJK COMPATIBILITY IDEOGRAPH-F905;Lo;0;L;4E32;;;;N;;;;;
+F906;CJK COMPATIBILITY IDEOGRAPH-F906;Lo;0;L;53E5;;;;N;;;;;
+F907;CJK COMPATIBILITY IDEOGRAPH-F907;Lo;0;L;9F9C;;;;N;;;;;
+F908;CJK COMPATIBILITY IDEOGRAPH-F908;Lo;0;L;9F9C;;;;N;;;;;
+F909;CJK COMPATIBILITY IDEOGRAPH-F909;Lo;0;L;5951;;;;N;;;;;
+F90A;CJK COMPATIBILITY IDEOGRAPH-F90A;Lo;0;L;91D1;;;;N;;;;;
+F90B;CJK COMPATIBILITY IDEOGRAPH-F90B;Lo;0;L;5587;;;;N;;;;;
+F90C;CJK COMPATIBILITY IDEOGRAPH-F90C;Lo;0;L;5948;;;;N;;;;;
+F90D;CJK COMPATIBILITY IDEOGRAPH-F90D;Lo;0;L;61F6;;;;N;;;;;
+F90E;CJK COMPATIBILITY IDEOGRAPH-F90E;Lo;0;L;7669;;;;N;;;;;
+F90F;CJK COMPATIBILITY IDEOGRAPH-F90F;Lo;0;L;7F85;;;;N;;;;;
+F910;CJK COMPATIBILITY IDEOGRAPH-F910;Lo;0;L;863F;;;;N;;;;;
+F911;CJK COMPATIBILITY IDEOGRAPH-F911;Lo;0;L;87BA;;;;N;;;;;
+F912;CJK COMPATIBILITY IDEOGRAPH-F912;Lo;0;L;88F8;;;;N;;;;;
+F913;CJK COMPATIBILITY IDEOGRAPH-F913;Lo;0;L;908F;;;;N;;;;;
+F914;CJK COMPATIBILITY IDEOGRAPH-F914;Lo;0;L;6A02;;;;N;;;;;
+F915;CJK COMPATIBILITY IDEOGRAPH-F915;Lo;0;L;6D1B;;;;N;;;;;
+F916;CJK COMPATIBILITY IDEOGRAPH-F916;Lo;0;L;70D9;;;;N;;;;;
+F917;CJK COMPATIBILITY IDEOGRAPH-F917;Lo;0;L;73DE;;;;N;;;;;
+F918;CJK COMPATIBILITY IDEOGRAPH-F918;Lo;0;L;843D;;;;N;;;;;
+F919;CJK COMPATIBILITY IDEOGRAPH-F919;Lo;0;L;916A;;;;N;;;;;
+F91A;CJK COMPATIBILITY IDEOGRAPH-F91A;Lo;0;L;99F1;;;;N;;;;;
+F91B;CJK COMPATIBILITY IDEOGRAPH-F91B;Lo;0;L;4E82;;;;N;;;;;
+F91C;CJK COMPATIBILITY IDEOGRAPH-F91C;Lo;0;L;5375;;;;N;;;;;
+F91D;CJK COMPATIBILITY IDEOGRAPH-F91D;Lo;0;L;6B04;;;;N;;;;;
+F91E;CJK COMPATIBILITY IDEOGRAPH-F91E;Lo;0;L;721B;;;;N;;;;;
+F91F;CJK COMPATIBILITY IDEOGRAPH-F91F;Lo;0;L;862D;;;;N;;;;;
+F920;CJK COMPATIBILITY IDEOGRAPH-F920;Lo;0;L;9E1E;;;;N;;;;;
+F921;CJK COMPATIBILITY IDEOGRAPH-F921;Lo;0;L;5D50;;;;N;;;;;
+F922;CJK COMPATIBILITY IDEOGRAPH-F922;Lo;0;L;6FEB;;;;N;;;;;
+F923;CJK COMPATIBILITY IDEOGRAPH-F923;Lo;0;L;85CD;;;;N;;;;;
+F924;CJK COMPATIBILITY IDEOGRAPH-F924;Lo;0;L;8964;;;;N;;;;;
+F925;CJK COMPATIBILITY IDEOGRAPH-F925;Lo;0;L;62C9;;;;N;;;;;
+F926;CJK COMPATIBILITY IDEOGRAPH-F926;Lo;0;L;81D8;;;;N;;;;;
+F927;CJK COMPATIBILITY IDEOGRAPH-F927;Lo;0;L;881F;;;;N;;;;;
+F928;CJK COMPATIBILITY IDEOGRAPH-F928;Lo;0;L;5ECA;;;;N;;;;;
+F929;CJK COMPATIBILITY IDEOGRAPH-F929;Lo;0;L;6717;;;;N;;;;;
+F92A;CJK COMPATIBILITY IDEOGRAPH-F92A;Lo;0;L;6D6A;;;;N;;;;;
+F92B;CJK COMPATIBILITY IDEOGRAPH-F92B;Lo;0;L;72FC;;;;N;;;;;
+F92C;CJK COMPATIBILITY IDEOGRAPH-F92C;Lo;0;L;90CE;;;;N;;;;;
+F92D;CJK COMPATIBILITY IDEOGRAPH-F92D;Lo;0;L;4F86;;;;N;;;;;
+F92E;CJK COMPATIBILITY IDEOGRAPH-F92E;Lo;0;L;51B7;;;;N;;;;;
+F92F;CJK COMPATIBILITY IDEOGRAPH-F92F;Lo;0;L;52DE;;;;N;;;;;
+F930;CJK COMPATIBILITY IDEOGRAPH-F930;Lo;0;L;64C4;;;;N;;;;;
+F931;CJK COMPATIBILITY IDEOGRAPH-F931;Lo;0;L;6AD3;;;;N;;;;;
+F932;CJK COMPATIBILITY IDEOGRAPH-F932;Lo;0;L;7210;;;;N;;;;;
+F933;CJK COMPATIBILITY IDEOGRAPH-F933;Lo;0;L;76E7;;;;N;;;;;
+F934;CJK COMPATIBILITY IDEOGRAPH-F934;Lo;0;L;8001;;;;N;;;;;
+F935;CJK COMPATIBILITY IDEOGRAPH-F935;Lo;0;L;8606;;;;N;;;;;
+F936;CJK COMPATIBILITY IDEOGRAPH-F936;Lo;0;L;865C;;;;N;;;;;
+F937;CJK COMPATIBILITY IDEOGRAPH-F937;Lo;0;L;8DEF;;;;N;;;;;
+F938;CJK COMPATIBILITY IDEOGRAPH-F938;Lo;0;L;9732;;;;N;;;;;
+F939;CJK COMPATIBILITY IDEOGRAPH-F939;Lo;0;L;9B6F;;;;N;;;;;
+F93A;CJK COMPATIBILITY IDEOGRAPH-F93A;Lo;0;L;9DFA;;;;N;;;;;
+F93B;CJK COMPATIBILITY IDEOGRAPH-F93B;Lo;0;L;788C;;;;N;;;;;
+F93C;CJK COMPATIBILITY IDEOGRAPH-F93C;Lo;0;L;797F;;;;N;;;;;
+F93D;CJK COMPATIBILITY IDEOGRAPH-F93D;Lo;0;L;7DA0;;;;N;;;;;
+F93E;CJK COMPATIBILITY IDEOGRAPH-F93E;Lo;0;L;83C9;;;;N;;;;;
+F93F;CJK COMPATIBILITY IDEOGRAPH-F93F;Lo;0;L;9304;;;;N;;;;;
+F940;CJK COMPATIBILITY IDEOGRAPH-F940;Lo;0;L;9E7F;;;;N;;;;;
+F941;CJK COMPATIBILITY IDEOGRAPH-F941;Lo;0;L;8AD6;;;;N;;;;;
+F942;CJK COMPATIBILITY IDEOGRAPH-F942;Lo;0;L;58DF;;;;N;;;;;
+F943;CJK COMPATIBILITY IDEOGRAPH-F943;Lo;0;L;5F04;;;;N;;;;;
+F944;CJK COMPATIBILITY IDEOGRAPH-F944;Lo;0;L;7C60;;;;N;;;;;
+F945;CJK COMPATIBILITY IDEOGRAPH-F945;Lo;0;L;807E;;;;N;;;;;
+F946;CJK COMPATIBILITY IDEOGRAPH-F946;Lo;0;L;7262;;;;N;;;;;
+F947;CJK COMPATIBILITY IDEOGRAPH-F947;Lo;0;L;78CA;;;;N;;;;;
+F948;CJK COMPATIBILITY IDEOGRAPH-F948;Lo;0;L;8CC2;;;;N;;;;;
+F949;CJK COMPATIBILITY IDEOGRAPH-F949;Lo;0;L;96F7;;;;N;;;;;
+F94A;CJK COMPATIBILITY IDEOGRAPH-F94A;Lo;0;L;58D8;;;;N;;;;;
+F94B;CJK COMPATIBILITY IDEOGRAPH-F94B;Lo;0;L;5C62;;;;N;;;;;
+F94C;CJK COMPATIBILITY IDEOGRAPH-F94C;Lo;0;L;6A13;;;;N;;;;;
+F94D;CJK COMPATIBILITY IDEOGRAPH-F94D;Lo;0;L;6DDA;;;;N;;;;;
+F94E;CJK COMPATIBILITY IDEOGRAPH-F94E;Lo;0;L;6F0F;;;;N;;;;;
+F94F;CJK COMPATIBILITY IDEOGRAPH-F94F;Lo;0;L;7D2F;;;;N;;;;;
+F950;CJK COMPATIBILITY IDEOGRAPH-F950;Lo;0;L;7E37;;;;N;;;;;
+F951;CJK COMPATIBILITY IDEOGRAPH-F951;Lo;0;L;96FB;;;;N;;;;;
+F952;CJK COMPATIBILITY IDEOGRAPH-F952;Lo;0;L;52D2;;;;N;;;;;
+F953;CJK COMPATIBILITY IDEOGRAPH-F953;Lo;0;L;808B;;;;N;;;;;
+F954;CJK COMPATIBILITY IDEOGRAPH-F954;Lo;0;L;51DC;;;;N;;;;;
+F955;CJK COMPATIBILITY IDEOGRAPH-F955;Lo;0;L;51CC;;;;N;;;;;
+F956;CJK COMPATIBILITY IDEOGRAPH-F956;Lo;0;L;7A1C;;;;N;;;;;
+F957;CJK COMPATIBILITY IDEOGRAPH-F957;Lo;0;L;7DBE;;;;N;;;;;
+F958;CJK COMPATIBILITY IDEOGRAPH-F958;Lo;0;L;83F1;;;;N;;;;;
+F959;CJK COMPATIBILITY IDEOGRAPH-F959;Lo;0;L;9675;;;;N;;;;;
+F95A;CJK COMPATIBILITY IDEOGRAPH-F95A;Lo;0;L;8B80;;;;N;;;;;
+F95B;CJK COMPATIBILITY IDEOGRAPH-F95B;Lo;0;L;62CF;;;;N;;;;;
+F95C;CJK COMPATIBILITY IDEOGRAPH-F95C;Lo;0;L;6A02;;;;N;;;;;
+F95D;CJK COMPATIBILITY IDEOGRAPH-F95D;Lo;0;L;8AFE;;;;N;;;;;
+F95E;CJK COMPATIBILITY IDEOGRAPH-F95E;Lo;0;L;4E39;;;;N;;;;;
+F95F;CJK COMPATIBILITY IDEOGRAPH-F95F;Lo;0;L;5BE7;;;;N;;;;;
+F960;CJK COMPATIBILITY IDEOGRAPH-F960;Lo;0;L;6012;;;;N;;;;;
+F961;CJK COMPATIBILITY IDEOGRAPH-F961;Lo;0;L;7387;;;;N;;;;;
+F962;CJK COMPATIBILITY IDEOGRAPH-F962;Lo;0;L;7570;;;;N;;;;;
+F963;CJK COMPATIBILITY IDEOGRAPH-F963;Lo;0;L;5317;;;;N;;;;;
+F964;CJK COMPATIBILITY IDEOGRAPH-F964;Lo;0;L;78FB;;;;N;;;;;
+F965;CJK COMPATIBILITY IDEOGRAPH-F965;Lo;0;L;4FBF;;;;N;;;;;
+F966;CJK COMPATIBILITY IDEOGRAPH-F966;Lo;0;L;5FA9;;;;N;;;;;
+F967;CJK COMPATIBILITY IDEOGRAPH-F967;Lo;0;L;4E0D;;;;N;;;;;
+F968;CJK COMPATIBILITY IDEOGRAPH-F968;Lo;0;L;6CCC;;;;N;;;;;
+F969;CJK COMPATIBILITY IDEOGRAPH-F969;Lo;0;L;6578;;;;N;;;;;
+F96A;CJK COMPATIBILITY IDEOGRAPH-F96A;Lo;0;L;7D22;;;;N;;;;;
+F96B;CJK COMPATIBILITY IDEOGRAPH-F96B;Lo;0;L;53C3;;;;N;;;;;
+F96C;CJK COMPATIBILITY IDEOGRAPH-F96C;Lo;0;L;585E;;;;N;;;;;
+F96D;CJK COMPATIBILITY IDEOGRAPH-F96D;Lo;0;L;7701;;;;N;;;;;
+F96E;CJK COMPATIBILITY IDEOGRAPH-F96E;Lo;0;L;8449;;;;N;;;;;
+F96F;CJK COMPATIBILITY IDEOGRAPH-F96F;Lo;0;L;8AAA;;;;N;;;;;
+F970;CJK COMPATIBILITY IDEOGRAPH-F970;Lo;0;L;6BBA;;;;N;;;;;
+F971;CJK COMPATIBILITY IDEOGRAPH-F971;Lo;0;L;8FB0;;;;N;;;;;
+F972;CJK COMPATIBILITY IDEOGRAPH-F972;Lo;0;L;6C88;;;;N;;;;;
+F973;CJK COMPATIBILITY IDEOGRAPH-F973;Lo;0;L;62FE;;;;N;;;;;
+F974;CJK COMPATIBILITY IDEOGRAPH-F974;Lo;0;L;82E5;;;;N;;;;;
+F975;CJK COMPATIBILITY IDEOGRAPH-F975;Lo;0;L;63A0;;;;N;;;;;
+F976;CJK COMPATIBILITY IDEOGRAPH-F976;Lo;0;L;7565;;;;N;;;;;
+F977;CJK COMPATIBILITY IDEOGRAPH-F977;Lo;0;L;4EAE;;;;N;;;;;
+F978;CJK COMPATIBILITY IDEOGRAPH-F978;Lo;0;L;5169;;;;N;;;;;
+F979;CJK COMPATIBILITY IDEOGRAPH-F979;Lo;0;L;51C9;;;;N;;;;;
+F97A;CJK COMPATIBILITY IDEOGRAPH-F97A;Lo;0;L;6881;;;;N;;;;;
+F97B;CJK COMPATIBILITY IDEOGRAPH-F97B;Lo;0;L;7CE7;;;;N;;;;;
+F97C;CJK COMPATIBILITY IDEOGRAPH-F97C;Lo;0;L;826F;;;;N;;;;;
+F97D;CJK COMPATIBILITY IDEOGRAPH-F97D;Lo;0;L;8AD2;;;;N;;;;;
+F97E;CJK COMPATIBILITY IDEOGRAPH-F97E;Lo;0;L;91CF;;;;N;;;;;
+F97F;CJK COMPATIBILITY IDEOGRAPH-F97F;Lo;0;L;52F5;;;;N;;;;;
+F980;CJK COMPATIBILITY IDEOGRAPH-F980;Lo;0;L;5442;;;;N;;;;;
+F981;CJK COMPATIBILITY IDEOGRAPH-F981;Lo;0;L;5973;;;;N;;;;;
+F982;CJK COMPATIBILITY IDEOGRAPH-F982;Lo;0;L;5EEC;;;;N;;;;;
+F983;CJK COMPATIBILITY IDEOGRAPH-F983;Lo;0;L;65C5;;;;N;;;;;
+F984;CJK COMPATIBILITY IDEOGRAPH-F984;Lo;0;L;6FFE;;;;N;;;;;
+F985;CJK COMPATIBILITY IDEOGRAPH-F985;Lo;0;L;792A;;;;N;;;;;
+F986;CJK COMPATIBILITY IDEOGRAPH-F986;Lo;0;L;95AD;;;;N;;;;;
+F987;CJK COMPATIBILITY IDEOGRAPH-F987;Lo;0;L;9A6A;;;;N;;;;;
+F988;CJK COMPATIBILITY IDEOGRAPH-F988;Lo;0;L;9E97;;;;N;;;;;
+F989;CJK COMPATIBILITY IDEOGRAPH-F989;Lo;0;L;9ECE;;;;N;;;;;
+F98A;CJK COMPATIBILITY IDEOGRAPH-F98A;Lo;0;L;529B;;;;N;;;;;
+F98B;CJK COMPATIBILITY IDEOGRAPH-F98B;Lo;0;L;66C6;;;;N;;;;;
+F98C;CJK COMPATIBILITY IDEOGRAPH-F98C;Lo;0;L;6B77;;;;N;;;;;
+F98D;CJK COMPATIBILITY IDEOGRAPH-F98D;Lo;0;L;8F62;;;;N;;;;;
+F98E;CJK COMPATIBILITY IDEOGRAPH-F98E;Lo;0;L;5E74;;;;N;;;;;
+F98F;CJK COMPATIBILITY IDEOGRAPH-F98F;Lo;0;L;6190;;;;N;;;;;
+F990;CJK COMPATIBILITY IDEOGRAPH-F990;Lo;0;L;6200;;;;N;;;;;
+F991;CJK COMPATIBILITY IDEOGRAPH-F991;Lo;0;L;649A;;;;N;;;;;
+F992;CJK COMPATIBILITY IDEOGRAPH-F992;Lo;0;L;6F23;;;;N;;;;;
+F993;CJK COMPATIBILITY IDEOGRAPH-F993;Lo;0;L;7149;;;;N;;;;;
+F994;CJK COMPATIBILITY IDEOGRAPH-F994;Lo;0;L;7489;;;;N;;;;;
+F995;CJK COMPATIBILITY IDEOGRAPH-F995;Lo;0;L;79CA;;;;N;;;;;
+F996;CJK COMPATIBILITY IDEOGRAPH-F996;Lo;0;L;7DF4;;;;N;;;;;
+F997;CJK COMPATIBILITY IDEOGRAPH-F997;Lo;0;L;806F;;;;N;;;;;
+F998;CJK COMPATIBILITY IDEOGRAPH-F998;Lo;0;L;8F26;;;;N;;;;;
+F999;CJK COMPATIBILITY IDEOGRAPH-F999;Lo;0;L;84EE;;;;N;;;;;
+F99A;CJK COMPATIBILITY IDEOGRAPH-F99A;Lo;0;L;9023;;;;N;;;;;
+F99B;CJK COMPATIBILITY IDEOGRAPH-F99B;Lo;0;L;934A;;;;N;;;;;
+F99C;CJK COMPATIBILITY IDEOGRAPH-F99C;Lo;0;L;5217;;;;N;;;;;
+F99D;CJK COMPATIBILITY IDEOGRAPH-F99D;Lo;0;L;52A3;;;;N;;;;;
+F99E;CJK COMPATIBILITY IDEOGRAPH-F99E;Lo;0;L;54BD;;;;N;;;;;
+F99F;CJK COMPATIBILITY IDEOGRAPH-F99F;Lo;0;L;70C8;;;;N;;;;;
+F9A0;CJK COMPATIBILITY IDEOGRAPH-F9A0;Lo;0;L;88C2;;;;N;;;;;
+F9A1;CJK COMPATIBILITY IDEOGRAPH-F9A1;Lo;0;L;8AAA;;;;N;;;;;
+F9A2;CJK COMPATIBILITY IDEOGRAPH-F9A2;Lo;0;L;5EC9;;;;N;;;;;
+F9A3;CJK COMPATIBILITY IDEOGRAPH-F9A3;Lo;0;L;5FF5;;;;N;;;;;
+F9A4;CJK COMPATIBILITY IDEOGRAPH-F9A4;Lo;0;L;637B;;;;N;;;;;
+F9A5;CJK COMPATIBILITY IDEOGRAPH-F9A5;Lo;0;L;6BAE;;;;N;;;;;
+F9A6;CJK COMPATIBILITY IDEOGRAPH-F9A6;Lo;0;L;7C3E;;;;N;;;;;
+F9A7;CJK COMPATIBILITY IDEOGRAPH-F9A7;Lo;0;L;7375;;;;N;;;;;
+F9A8;CJK COMPATIBILITY IDEOGRAPH-F9A8;Lo;0;L;4EE4;;;;N;;;;;
+F9A9;CJK COMPATIBILITY IDEOGRAPH-F9A9;Lo;0;L;56F9;;;;N;;;;;
+F9AA;CJK COMPATIBILITY IDEOGRAPH-F9AA;Lo;0;L;5BE7;;;;N;;;;;
+F9AB;CJK COMPATIBILITY IDEOGRAPH-F9AB;Lo;0;L;5DBA;;;;N;;;;;
+F9AC;CJK COMPATIBILITY IDEOGRAPH-F9AC;Lo;0;L;601C;;;;N;;;;;
+F9AD;CJK COMPATIBILITY IDEOGRAPH-F9AD;Lo;0;L;73B2;;;;N;;;;;
+F9AE;CJK COMPATIBILITY IDEOGRAPH-F9AE;Lo;0;L;7469;;;;N;;;;;
+F9AF;CJK COMPATIBILITY IDEOGRAPH-F9AF;Lo;0;L;7F9A;;;;N;;;;;
+F9B0;CJK COMPATIBILITY IDEOGRAPH-F9B0;Lo;0;L;8046;;;;N;;;;;
+F9B1;CJK COMPATIBILITY IDEOGRAPH-F9B1;Lo;0;L;9234;;;;N;;;;;
+F9B2;CJK COMPATIBILITY IDEOGRAPH-F9B2;Lo;0;L;96F6;;;;N;;;;;
+F9B3;CJK COMPATIBILITY IDEOGRAPH-F9B3;Lo;0;L;9748;;;;N;;;;;
+F9B4;CJK COMPATIBILITY IDEOGRAPH-F9B4;Lo;0;L;9818;;;;N;;;;;
+F9B5;CJK COMPATIBILITY IDEOGRAPH-F9B5;Lo;0;L;4F8B;;;;N;;;;;
+F9B6;CJK COMPATIBILITY IDEOGRAPH-F9B6;Lo;0;L;79AE;;;;N;;;;;
+F9B7;CJK COMPATIBILITY IDEOGRAPH-F9B7;Lo;0;L;91B4;;;;N;;;;;
+F9B8;CJK COMPATIBILITY IDEOGRAPH-F9B8;Lo;0;L;96B8;;;;N;;;;;
+F9B9;CJK COMPATIBILITY IDEOGRAPH-F9B9;Lo;0;L;60E1;;;;N;;;;;
+F9BA;CJK COMPATIBILITY IDEOGRAPH-F9BA;Lo;0;L;4E86;;;;N;;;;;
+F9BB;CJK COMPATIBILITY IDEOGRAPH-F9BB;Lo;0;L;50DA;;;;N;;;;;
+F9BC;CJK COMPATIBILITY IDEOGRAPH-F9BC;Lo;0;L;5BEE;;;;N;;;;;
+F9BD;CJK COMPATIBILITY IDEOGRAPH-F9BD;Lo;0;L;5C3F;;;;N;;;;;
+F9BE;CJK COMPATIBILITY IDEOGRAPH-F9BE;Lo;0;L;6599;;;;N;;;;;
+F9BF;CJK COMPATIBILITY IDEOGRAPH-F9BF;Lo;0;L;6A02;;;;N;;;;;
+F9C0;CJK COMPATIBILITY IDEOGRAPH-F9C0;Lo;0;L;71CE;;;;N;;;;;
+F9C1;CJK COMPATIBILITY IDEOGRAPH-F9C1;Lo;0;L;7642;;;;N;;;;;
+F9C2;CJK COMPATIBILITY IDEOGRAPH-F9C2;Lo;0;L;84FC;;;;N;;;;;
+F9C3;CJK COMPATIBILITY IDEOGRAPH-F9C3;Lo;0;L;907C;;;;N;;;;;
+F9C4;CJK COMPATIBILITY IDEOGRAPH-F9C4;Lo;0;L;9F8D;;;;N;;;;;
+F9C5;CJK COMPATIBILITY IDEOGRAPH-F9C5;Lo;0;L;6688;;;;N;;;;;
+F9C6;CJK COMPATIBILITY IDEOGRAPH-F9C6;Lo;0;L;962E;;;;N;;;;;
+F9C7;CJK COMPATIBILITY IDEOGRAPH-F9C7;Lo;0;L;5289;;;;N;;;;;
+F9C8;CJK COMPATIBILITY IDEOGRAPH-F9C8;Lo;0;L;677B;;;;N;;;;;
+F9C9;CJK COMPATIBILITY IDEOGRAPH-F9C9;Lo;0;L;67F3;;;;N;;;;;
+F9CA;CJK COMPATIBILITY IDEOGRAPH-F9CA;Lo;0;L;6D41;;;;N;;;;;
+F9CB;CJK COMPATIBILITY IDEOGRAPH-F9CB;Lo;0;L;6E9C;;;;N;;;;;
+F9CC;CJK COMPATIBILITY IDEOGRAPH-F9CC;Lo;0;L;7409;;;;N;;;;;
+F9CD;CJK COMPATIBILITY IDEOGRAPH-F9CD;Lo;0;L;7559;;;;N;;;;;
+F9CE;CJK COMPATIBILITY IDEOGRAPH-F9CE;Lo;0;L;786B;;;;N;;;;;
+F9CF;CJK COMPATIBILITY IDEOGRAPH-F9CF;Lo;0;L;7D10;;;;N;;;;;
+F9D0;CJK COMPATIBILITY IDEOGRAPH-F9D0;Lo;0;L;985E;;;;N;;;;;
+F9D1;CJK COMPATIBILITY IDEOGRAPH-F9D1;Lo;0;L;516D;;;;N;;;;;
+F9D2;CJK COMPATIBILITY IDEOGRAPH-F9D2;Lo;0;L;622E;;;;N;;;;;
+F9D3;CJK COMPATIBILITY IDEOGRAPH-F9D3;Lo;0;L;9678;;;;N;;;;;
+F9D4;CJK COMPATIBILITY IDEOGRAPH-F9D4;Lo;0;L;502B;;;;N;;;;;
+F9D5;CJK COMPATIBILITY IDEOGRAPH-F9D5;Lo;0;L;5D19;;;;N;;;;;
+F9D6;CJK COMPATIBILITY IDEOGRAPH-F9D6;Lo;0;L;6DEA;;;;N;;;;;
+F9D7;CJK COMPATIBILITY IDEOGRAPH-F9D7;Lo;0;L;8F2A;;;;N;;;;;
+F9D8;CJK COMPATIBILITY IDEOGRAPH-F9D8;Lo;0;L;5F8B;;;;N;;;;;
+F9D9;CJK COMPATIBILITY IDEOGRAPH-F9D9;Lo;0;L;6144;;;;N;;;;;
+F9DA;CJK COMPATIBILITY IDEOGRAPH-F9DA;Lo;0;L;6817;;;;N;;;;;
+F9DB;CJK COMPATIBILITY IDEOGRAPH-F9DB;Lo;0;L;7387;;;;N;;;;;
+F9DC;CJK COMPATIBILITY IDEOGRAPH-F9DC;Lo;0;L;9686;;;;N;;;;;
+F9DD;CJK COMPATIBILITY IDEOGRAPH-F9DD;Lo;0;L;5229;;;;N;;;;;
+F9DE;CJK COMPATIBILITY IDEOGRAPH-F9DE;Lo;0;L;540F;;;;N;;;;;
+F9DF;CJK COMPATIBILITY IDEOGRAPH-F9DF;Lo;0;L;5C65;;;;N;;;;;
+F9E0;CJK COMPATIBILITY IDEOGRAPH-F9E0;Lo;0;L;6613;;;;N;;;;;
+F9E1;CJK COMPATIBILITY IDEOGRAPH-F9E1;Lo;0;L;674E;;;;N;;;;;
+F9E2;CJK COMPATIBILITY IDEOGRAPH-F9E2;Lo;0;L;68A8;;;;N;;;;;
+F9E3;CJK COMPATIBILITY IDEOGRAPH-F9E3;Lo;0;L;6CE5;;;;N;;;;;
+F9E4;CJK COMPATIBILITY IDEOGRAPH-F9E4;Lo;0;L;7406;;;;N;;;;;
+F9E5;CJK COMPATIBILITY IDEOGRAPH-F9E5;Lo;0;L;75E2;;;;N;;;;;
+F9E6;CJK COMPATIBILITY IDEOGRAPH-F9E6;Lo;0;L;7F79;;;;N;;;;;
+F9E7;CJK COMPATIBILITY IDEOGRAPH-F9E7;Lo;0;L;88CF;;;;N;;;;;
+F9E8;CJK COMPATIBILITY IDEOGRAPH-F9E8;Lo;0;L;88E1;;;;N;;;;;
+F9E9;CJK COMPATIBILITY IDEOGRAPH-F9E9;Lo;0;L;91CC;;;;N;;;;;
+F9EA;CJK COMPATIBILITY IDEOGRAPH-F9EA;Lo;0;L;96E2;;;;N;;;;;
+F9EB;CJK COMPATIBILITY IDEOGRAPH-F9EB;Lo;0;L;533F;;;;N;;;;;
+F9EC;CJK COMPATIBILITY IDEOGRAPH-F9EC;Lo;0;L;6EBA;;;;N;;;;;
+F9ED;CJK COMPATIBILITY IDEOGRAPH-F9ED;Lo;0;L;541D;;;;N;;;;;
+F9EE;CJK COMPATIBILITY IDEOGRAPH-F9EE;Lo;0;L;71D0;;;;N;;;;;
+F9EF;CJK COMPATIBILITY IDEOGRAPH-F9EF;Lo;0;L;7498;;;;N;;;;;
+F9F0;CJK COMPATIBILITY IDEOGRAPH-F9F0;Lo;0;L;85FA;;;;N;;;;;
+F9F1;CJK COMPATIBILITY IDEOGRAPH-F9F1;Lo;0;L;96A3;;;;N;;;;;
+F9F2;CJK COMPATIBILITY IDEOGRAPH-F9F2;Lo;0;L;9C57;;;;N;;;;;
+F9F3;CJK COMPATIBILITY IDEOGRAPH-F9F3;Lo;0;L;9E9F;;;;N;;;;;
+F9F4;CJK COMPATIBILITY IDEOGRAPH-F9F4;Lo;0;L;6797;;;;N;;;;;
+F9F5;CJK COMPATIBILITY IDEOGRAPH-F9F5;Lo;0;L;6DCB;;;;N;;;;;
+F9F6;CJK COMPATIBILITY IDEOGRAPH-F9F6;Lo;0;L;81E8;;;;N;;;;;
+F9F7;CJK COMPATIBILITY IDEOGRAPH-F9F7;Lo;0;L;7ACB;;;;N;;;;;
+F9F8;CJK COMPATIBILITY IDEOGRAPH-F9F8;Lo;0;L;7B20;;;;N;;;;;
+F9F9;CJK COMPATIBILITY IDEOGRAPH-F9F9;Lo;0;L;7C92;;;;N;;;;;
+F9FA;CJK COMPATIBILITY IDEOGRAPH-F9FA;Lo;0;L;72C0;;;;N;;;;;
+F9FB;CJK COMPATIBILITY IDEOGRAPH-F9FB;Lo;0;L;7099;;;;N;;;;;
+F9FC;CJK COMPATIBILITY IDEOGRAPH-F9FC;Lo;0;L;8B58;;;;N;;;;;
+F9FD;CJK COMPATIBILITY IDEOGRAPH-F9FD;Lo;0;L;4EC0;;;;N;;;;;
+F9FE;CJK COMPATIBILITY IDEOGRAPH-F9FE;Lo;0;L;8336;;;;N;;;;;
+F9FF;CJK COMPATIBILITY IDEOGRAPH-F9FF;Lo;0;L;523A;;;;N;;;;;
+FA00;CJK COMPATIBILITY IDEOGRAPH-FA00;Lo;0;L;5207;;;;N;;;;;
+FA01;CJK COMPATIBILITY IDEOGRAPH-FA01;Lo;0;L;5EA6;;;;N;;;;;
+FA02;CJK COMPATIBILITY IDEOGRAPH-FA02;Lo;0;L;62D3;;;;N;;;;;
+FA03;CJK COMPATIBILITY IDEOGRAPH-FA03;Lo;0;L;7CD6;;;;N;;;;;
+FA04;CJK COMPATIBILITY IDEOGRAPH-FA04;Lo;0;L;5B85;;;;N;;;;;
+FA05;CJK COMPATIBILITY IDEOGRAPH-FA05;Lo;0;L;6D1E;;;;N;;;;;
+FA06;CJK COMPATIBILITY IDEOGRAPH-FA06;Lo;0;L;66B4;;;;N;;;;;
+FA07;CJK COMPATIBILITY IDEOGRAPH-FA07;Lo;0;L;8F3B;;;;N;;;;;
+FA08;CJK COMPATIBILITY IDEOGRAPH-FA08;Lo;0;L;884C;;;;N;;;;;
+FA09;CJK COMPATIBILITY IDEOGRAPH-FA09;Lo;0;L;964D;;;;N;;;;;
+FA0A;CJK COMPATIBILITY IDEOGRAPH-FA0A;Lo;0;L;898B;;;;N;;;;;
+FA0B;CJK COMPATIBILITY IDEOGRAPH-FA0B;Lo;0;L;5ED3;;;;N;;;;;
+FA0C;CJK COMPATIBILITY IDEOGRAPH-FA0C;Lo;0;L;5140;;;;N;;;;;
+FA0D;CJK COMPATIBILITY IDEOGRAPH-FA0D;Lo;0;L;55C0;;;;N;;;;;
+FA0E;CJK COMPATIBILITY IDEOGRAPH-FA0E;Lo;0;L;;;;;N;;;;;
+FA0F;CJK COMPATIBILITY IDEOGRAPH-FA0F;Lo;0;L;;;;;N;;;;;
+FA10;CJK COMPATIBILITY IDEOGRAPH-FA10;Lo;0;L;585A;;;;N;;;;;
+FA11;CJK COMPATIBILITY IDEOGRAPH-FA11;Lo;0;L;;;;;N;;;;;
+FA12;CJK COMPATIBILITY IDEOGRAPH-FA12;Lo;0;L;6674;;;;N;;;;;
+FA13;CJK COMPATIBILITY IDEOGRAPH-FA13;Lo;0;L;;;;;N;;;;;
+FA14;CJK COMPATIBILITY IDEOGRAPH-FA14;Lo;0;L;;;;;N;;;;;
+FA15;CJK COMPATIBILITY IDEOGRAPH-FA15;Lo;0;L;51DE;;;;N;;;;;
+FA16;CJK COMPATIBILITY IDEOGRAPH-FA16;Lo;0;L;732A;;;;N;;;;;
+FA17;CJK COMPATIBILITY IDEOGRAPH-FA17;Lo;0;L;76CA;;;;N;;;;;
+FA18;CJK COMPATIBILITY IDEOGRAPH-FA18;Lo;0;L;793C;;;;N;;;;;
+FA19;CJK COMPATIBILITY IDEOGRAPH-FA19;Lo;0;L;795E;;;;N;;;;;
+FA1A;CJK COMPATIBILITY IDEOGRAPH-FA1A;Lo;0;L;7965;;;;N;;;;;
+FA1B;CJK COMPATIBILITY IDEOGRAPH-FA1B;Lo;0;L;798F;;;;N;;;;;
+FA1C;CJK COMPATIBILITY IDEOGRAPH-FA1C;Lo;0;L;9756;;;;N;;;;;
+FA1D;CJK COMPATIBILITY IDEOGRAPH-FA1D;Lo;0;L;7CBE;;;;N;;;;;
+FA1E;CJK COMPATIBILITY IDEOGRAPH-FA1E;Lo;0;L;7FBD;;;;N;;;;;
+FA1F;CJK COMPATIBILITY IDEOGRAPH-FA1F;Lo;0;L;;;;;N;;*;;;
+FA20;CJK COMPATIBILITY IDEOGRAPH-FA20;Lo;0;L;8612;;;;N;;;;;
+FA21;CJK COMPATIBILITY IDEOGRAPH-FA21;Lo;0;L;;;;;N;;;;;
+FA22;CJK COMPATIBILITY IDEOGRAPH-FA22;Lo;0;L;8AF8;;;;N;;;;;
+FA23;CJK COMPATIBILITY IDEOGRAPH-FA23;Lo;0;L;;;;;N;;*;;;
+FA24;CJK COMPATIBILITY IDEOGRAPH-FA24;Lo;0;L;;;;;N;;;;;
+FA25;CJK COMPATIBILITY IDEOGRAPH-FA25;Lo;0;L;9038;;;;N;;;;;
+FA26;CJK COMPATIBILITY IDEOGRAPH-FA26;Lo;0;L;90FD;;;;N;;;;;
+FA27;CJK COMPATIBILITY IDEOGRAPH-FA27;Lo;0;L;;;;;N;;;;;
+FA28;CJK COMPATIBILITY IDEOGRAPH-FA28;Lo;0;L;;;;;N;;;;;
+FA29;CJK COMPATIBILITY IDEOGRAPH-FA29;Lo;0;L;;;;;N;;;;;
+FA2A;CJK COMPATIBILITY IDEOGRAPH-FA2A;Lo;0;L;98EF;;;;N;;;;;
+FA2B;CJK COMPATIBILITY IDEOGRAPH-FA2B;Lo;0;L;98FC;;;;N;;;;;
+FA2C;CJK COMPATIBILITY IDEOGRAPH-FA2C;Lo;0;L;9928;;;;N;;;;;
+FA2D;CJK COMPATIBILITY IDEOGRAPH-FA2D;Lo;0;L;9DB4;;;;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;;;;;
@@ -5872,7 +9550,8 @@ 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;;;;
+FB1D;HEBREW LETTER YOD WITH HIRIQ;Lo;0;R;05D9 05B4;;;;N;;;;;
+FB1E;HEBREW POINT JUDEO-SPANISH VARIKA;Mn;26;NSM;;;;;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;;;;;
@@ -5883,11 +9562,11 @@ 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;;;;;
+FB29;HEBREW LETTER ALTERNATIVE PLUS SIGN;Sm;0;ET;<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;;;;;
+FB2C;HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT;Lo;0;R;FB49 05C1;;;;N;;;;;
+FB2D;HEBREW LETTER SHIN WITH DAGESH AND SIN DOT;Lo;0;R;FB49 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;;;;;
@@ -5917,603 +9596,603 @@ 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;;;;;
+FB50;ARABIC LETTER ALEF WASLA ISOLATED FORM;Lo;0;AL;<isolated> 0671;;;;N;;;;;
+FB51;ARABIC LETTER ALEF WASLA FINAL FORM;Lo;0;AL;<final> 0671;;;;N;;;;;
+FB52;ARABIC LETTER BEEH ISOLATED FORM;Lo;0;AL;<isolated> 067B;;;;N;;;;;
+FB53;ARABIC LETTER BEEH FINAL FORM;Lo;0;AL;<final> 067B;;;;N;;;;;
+FB54;ARABIC LETTER BEEH INITIAL FORM;Lo;0;AL;<initial> 067B;;;;N;;;;;
+FB55;ARABIC LETTER BEEH MEDIAL FORM;Lo;0;AL;<medial> 067B;;;;N;;;;;
+FB56;ARABIC LETTER PEH ISOLATED FORM;Lo;0;AL;<isolated> 067E;;;;N;;;;;
+FB57;ARABIC LETTER PEH FINAL FORM;Lo;0;AL;<final> 067E;;;;N;;;;;
+FB58;ARABIC LETTER PEH INITIAL FORM;Lo;0;AL;<initial> 067E;;;;N;;;;;
+FB59;ARABIC LETTER PEH MEDIAL FORM;Lo;0;AL;<medial> 067E;;;;N;;;;;
+FB5A;ARABIC LETTER BEHEH ISOLATED FORM;Lo;0;AL;<isolated> 0680;;;;N;;;;;
+FB5B;ARABIC LETTER BEHEH FINAL FORM;Lo;0;AL;<final> 0680;;;;N;;;;;
+FB5C;ARABIC LETTER BEHEH INITIAL FORM;Lo;0;AL;<initial> 0680;;;;N;;;;;
+FB5D;ARABIC LETTER BEHEH MEDIAL FORM;Lo;0;AL;<medial> 0680;;;;N;;;;;
+FB5E;ARABIC LETTER TTEHEH ISOLATED FORM;Lo;0;AL;<isolated> 067A;;;;N;;;;;
+FB5F;ARABIC LETTER TTEHEH FINAL FORM;Lo;0;AL;<final> 067A;;;;N;;;;;
+FB60;ARABIC LETTER TTEHEH INITIAL FORM;Lo;0;AL;<initial> 067A;;;;N;;;;;
+FB61;ARABIC LETTER TTEHEH MEDIAL FORM;Lo;0;AL;<medial> 067A;;;;N;;;;;
+FB62;ARABIC LETTER TEHEH ISOLATED FORM;Lo;0;AL;<isolated> 067F;;;;N;;;;;
+FB63;ARABIC LETTER TEHEH FINAL FORM;Lo;0;AL;<final> 067F;;;;N;;;;;
+FB64;ARABIC LETTER TEHEH INITIAL FORM;Lo;0;AL;<initial> 067F;;;;N;;;;;
+FB65;ARABIC LETTER TEHEH MEDIAL FORM;Lo;0;AL;<medial> 067F;;;;N;;;;;
+FB66;ARABIC LETTER TTEH ISOLATED FORM;Lo;0;AL;<isolated> 0679;;;;N;;;;;
+FB67;ARABIC LETTER TTEH FINAL FORM;Lo;0;AL;<final> 0679;;;;N;;;;;
+FB68;ARABIC LETTER TTEH INITIAL FORM;Lo;0;AL;<initial> 0679;;;;N;;;;;
+FB69;ARABIC LETTER TTEH MEDIAL FORM;Lo;0;AL;<medial> 0679;;;;N;;;;;
+FB6A;ARABIC LETTER VEH ISOLATED FORM;Lo;0;AL;<isolated> 06A4;;;;N;;;;;
+FB6B;ARABIC LETTER VEH FINAL FORM;Lo;0;AL;<final> 06A4;;;;N;;;;;
+FB6C;ARABIC LETTER VEH INITIAL FORM;Lo;0;AL;<initial> 06A4;;;;N;;;;;
+FB6D;ARABIC LETTER VEH MEDIAL FORM;Lo;0;AL;<medial> 06A4;;;;N;;;;;
+FB6E;ARABIC LETTER PEHEH ISOLATED FORM;Lo;0;AL;<isolated> 06A6;;;;N;;;;;
+FB6F;ARABIC LETTER PEHEH FINAL FORM;Lo;0;AL;<final> 06A6;;;;N;;;;;
+FB70;ARABIC LETTER PEHEH INITIAL FORM;Lo;0;AL;<initial> 06A6;;;;N;;;;;
+FB71;ARABIC LETTER PEHEH MEDIAL FORM;Lo;0;AL;<medial> 06A6;;;;N;;;;;
+FB72;ARABIC LETTER DYEH ISOLATED FORM;Lo;0;AL;<isolated> 0684;;;;N;;;;;
+FB73;ARABIC LETTER DYEH FINAL FORM;Lo;0;AL;<final> 0684;;;;N;;;;;
+FB74;ARABIC LETTER DYEH INITIAL FORM;Lo;0;AL;<initial> 0684;;;;N;;;;;
+FB75;ARABIC LETTER DYEH MEDIAL FORM;Lo;0;AL;<medial> 0684;;;;N;;;;;
+FB76;ARABIC LETTER NYEH ISOLATED FORM;Lo;0;AL;<isolated> 0683;;;;N;;;;;
+FB77;ARABIC LETTER NYEH FINAL FORM;Lo;0;AL;<final> 0683;;;;N;;;;;
+FB78;ARABIC LETTER NYEH INITIAL FORM;Lo;0;AL;<initial> 0683;;;;N;;;;;
+FB79;ARABIC LETTER NYEH MEDIAL FORM;Lo;0;AL;<medial> 0683;;;;N;;;;;
+FB7A;ARABIC LETTER TCHEH ISOLATED FORM;Lo;0;AL;<isolated> 0686;;;;N;;;;;
+FB7B;ARABIC LETTER TCHEH FINAL FORM;Lo;0;AL;<final> 0686;;;;N;;;;;
+FB7C;ARABIC LETTER TCHEH INITIAL FORM;Lo;0;AL;<initial> 0686;;;;N;;;;;
+FB7D;ARABIC LETTER TCHEH MEDIAL FORM;Lo;0;AL;<medial> 0686;;;;N;;;;;
+FB7E;ARABIC LETTER TCHEHEH ISOLATED FORM;Lo;0;AL;<isolated> 0687;;;;N;;;;;
+FB7F;ARABIC LETTER TCHEHEH FINAL FORM;Lo;0;AL;<final> 0687;;;;N;;;;;
+FB80;ARABIC LETTER TCHEHEH INITIAL FORM;Lo;0;AL;<initial> 0687;;;;N;;;;;
+FB81;ARABIC LETTER TCHEHEH MEDIAL FORM;Lo;0;AL;<medial> 0687;;;;N;;;;;
+FB82;ARABIC LETTER DDAHAL ISOLATED FORM;Lo;0;AL;<isolated> 068D;;;;N;;;;;
+FB83;ARABIC LETTER DDAHAL FINAL FORM;Lo;0;AL;<final> 068D;;;;N;;;;;
+FB84;ARABIC LETTER DAHAL ISOLATED FORM;Lo;0;AL;<isolated> 068C;;;;N;;;;;
+FB85;ARABIC LETTER DAHAL FINAL FORM;Lo;0;AL;<final> 068C;;;;N;;;;;
+FB86;ARABIC LETTER DUL ISOLATED FORM;Lo;0;AL;<isolated> 068E;;;;N;;;;;
+FB87;ARABIC LETTER DUL FINAL FORM;Lo;0;AL;<final> 068E;;;;N;;;;;
+FB88;ARABIC LETTER DDAL ISOLATED FORM;Lo;0;AL;<isolated> 0688;;;;N;;;;;
+FB89;ARABIC LETTER DDAL FINAL FORM;Lo;0;AL;<final> 0688;;;;N;;;;;
+FB8A;ARABIC LETTER JEH ISOLATED FORM;Lo;0;AL;<isolated> 0698;;;;N;;;;;
+FB8B;ARABIC LETTER JEH FINAL FORM;Lo;0;AL;<final> 0698;;;;N;;;;;
+FB8C;ARABIC LETTER RREH ISOLATED FORM;Lo;0;AL;<isolated> 0691;;;;N;;;;;
+FB8D;ARABIC LETTER RREH FINAL FORM;Lo;0;AL;<final> 0691;;;;N;;;;;
+FB8E;ARABIC LETTER KEHEH ISOLATED FORM;Lo;0;AL;<isolated> 06A9;;;;N;;;;;
+FB8F;ARABIC LETTER KEHEH FINAL FORM;Lo;0;AL;<final> 06A9;;;;N;;;;;
+FB90;ARABIC LETTER KEHEH INITIAL FORM;Lo;0;AL;<initial> 06A9;;;;N;;;;;
+FB91;ARABIC LETTER KEHEH MEDIAL FORM;Lo;0;AL;<medial> 06A9;;;;N;;;;;
+FB92;ARABIC LETTER GAF ISOLATED FORM;Lo;0;AL;<isolated> 06AF;;;;N;;;;;
+FB93;ARABIC LETTER GAF FINAL FORM;Lo;0;AL;<final> 06AF;;;;N;;;;;
+FB94;ARABIC LETTER GAF INITIAL FORM;Lo;0;AL;<initial> 06AF;;;;N;;;;;
+FB95;ARABIC LETTER GAF MEDIAL FORM;Lo;0;AL;<medial> 06AF;;;;N;;;;;
+FB96;ARABIC LETTER GUEH ISOLATED FORM;Lo;0;AL;<isolated> 06B3;;;;N;;;;;
+FB97;ARABIC LETTER GUEH FINAL FORM;Lo;0;AL;<final> 06B3;;;;N;;;;;
+FB98;ARABIC LETTER GUEH INITIAL FORM;Lo;0;AL;<initial> 06B3;;;;N;;;;;
+FB99;ARABIC LETTER GUEH MEDIAL FORM;Lo;0;AL;<medial> 06B3;;;;N;;;;;
+FB9A;ARABIC LETTER NGOEH ISOLATED FORM;Lo;0;AL;<isolated> 06B1;;;;N;;;;;
+FB9B;ARABIC LETTER NGOEH FINAL FORM;Lo;0;AL;<final> 06B1;;;;N;;;;;
+FB9C;ARABIC LETTER NGOEH INITIAL FORM;Lo;0;AL;<initial> 06B1;;;;N;;;;;
+FB9D;ARABIC LETTER NGOEH MEDIAL FORM;Lo;0;AL;<medial> 06B1;;;;N;;;;;
+FB9E;ARABIC LETTER NOON GHUNNA ISOLATED FORM;Lo;0;AL;<isolated> 06BA;;;;N;;;;;
+FB9F;ARABIC LETTER NOON GHUNNA FINAL FORM;Lo;0;AL;<final> 06BA;;;;N;;;;;
+FBA0;ARABIC LETTER RNOON ISOLATED FORM;Lo;0;AL;<isolated> 06BB;;;;N;;;;;
+FBA1;ARABIC LETTER RNOON FINAL FORM;Lo;0;AL;<final> 06BB;;;;N;;;;;
+FBA2;ARABIC LETTER RNOON INITIAL FORM;Lo;0;AL;<initial> 06BB;;;;N;;;;;
+FBA3;ARABIC LETTER RNOON MEDIAL FORM;Lo;0;AL;<medial> 06BB;;;;N;;;;;
+FBA4;ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 06C0;;;;N;;;;;
+FBA5;ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM;Lo;0;AL;<final> 06C0;;;;N;;;;;
+FBA6;ARABIC LETTER HEH GOAL ISOLATED FORM;Lo;0;AL;<isolated> 06C1;;;;N;;;;;
+FBA7;ARABIC LETTER HEH GOAL FINAL FORM;Lo;0;AL;<final> 06C1;;;;N;;;;;
+FBA8;ARABIC LETTER HEH GOAL INITIAL FORM;Lo;0;AL;<initial> 06C1;;;;N;;;;;
+FBA9;ARABIC LETTER HEH GOAL MEDIAL FORM;Lo;0;AL;<medial> 06C1;;;;N;;;;;
+FBAA;ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM;Lo;0;AL;<isolated> 06BE;;;;N;;;;;
+FBAB;ARABIC LETTER HEH DOACHASHMEE FINAL FORM;Lo;0;AL;<final> 06BE;;;;N;;;;;
+FBAC;ARABIC LETTER HEH DOACHASHMEE INITIAL FORM;Lo;0;AL;<initial> 06BE;;;;N;;;;;
+FBAD;ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM;Lo;0;AL;<medial> 06BE;;;;N;;;;;
+FBAE;ARABIC LETTER YEH BARREE ISOLATED FORM;Lo;0;AL;<isolated> 06D2;;;;N;;;;;
+FBAF;ARABIC LETTER YEH BARREE FINAL FORM;Lo;0;AL;<final> 06D2;;;;N;;;;;
+FBB0;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 06D3;;;;N;;;;;
+FBB1;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM;Lo;0;AL;<final> 06D3;;;;N;;;;;
+FBD3;ARABIC LETTER NG ISOLATED FORM;Lo;0;AL;<isolated> 06AD;;;;N;;;;;
+FBD4;ARABIC LETTER NG FINAL FORM;Lo;0;AL;<final> 06AD;;;;N;;;;;
+FBD5;ARABIC LETTER NG INITIAL FORM;Lo;0;AL;<initial> 06AD;;;;N;;;;;
+FBD6;ARABIC LETTER NG MEDIAL FORM;Lo;0;AL;<medial> 06AD;;;;N;;;;;
+FBD7;ARABIC LETTER U ISOLATED FORM;Lo;0;AL;<isolated> 06C7;;;;N;;;;;
+FBD8;ARABIC LETTER U FINAL FORM;Lo;0;AL;<final> 06C7;;;;N;;;;;
+FBD9;ARABIC LETTER OE ISOLATED FORM;Lo;0;AL;<isolated> 06C6;;;;N;;;;;
+FBDA;ARABIC LETTER OE FINAL FORM;Lo;0;AL;<final> 06C6;;;;N;;;;;
+FBDB;ARABIC LETTER YU ISOLATED FORM;Lo;0;AL;<isolated> 06C8;;;;N;;;;;
+FBDC;ARABIC LETTER YU FINAL FORM;Lo;0;AL;<final> 06C8;;;;N;;;;;
+FBDD;ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 0677;;;;N;;;;;
+FBDE;ARABIC LETTER VE ISOLATED FORM;Lo;0;AL;<isolated> 06CB;;;;N;;;;;
+FBDF;ARABIC LETTER VE FINAL FORM;Lo;0;AL;<final> 06CB;;;;N;;;;;
+FBE0;ARABIC LETTER KIRGHIZ OE ISOLATED FORM;Lo;0;AL;<isolated> 06C5;;;;N;;;;;
+FBE1;ARABIC LETTER KIRGHIZ OE FINAL FORM;Lo;0;AL;<final> 06C5;;;;N;;;;;
+FBE2;ARABIC LETTER KIRGHIZ YU ISOLATED FORM;Lo;0;AL;<isolated> 06C9;;;;N;;;;;
+FBE3;ARABIC LETTER KIRGHIZ YU FINAL FORM;Lo;0;AL;<final> 06C9;;;;N;;;;;
+FBE4;ARABIC LETTER E ISOLATED FORM;Lo;0;AL;<isolated> 06D0;;;;N;;;;;
+FBE5;ARABIC LETTER E FINAL FORM;Lo;0;AL;<final> 06D0;;;;N;;;;;
+FBE6;ARABIC LETTER E INITIAL FORM;Lo;0;AL;<initial> 06D0;;;;N;;;;;
+FBE7;ARABIC LETTER E MEDIAL FORM;Lo;0;AL;<medial> 06D0;;;;N;;;;;
+FBE8;ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM;Lo;0;AL;<initial> 0649;;;;N;;;;;
+FBE9;ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM;Lo;0;AL;<medial> 0649;;;;N;;;;;
+FBEA;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0626 0627;;;;N;;;;;
+FBEB;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM;Lo;0;AL;<final> 0626 0627;;;;N;;;;;
+FBEC;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM;Lo;0;AL;<isolated> 0626 06D5;;;;N;;;;;
+FBED;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM;Lo;0;AL;<final> 0626 06D5;;;;N;;;;;
+FBEE;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM;Lo;0;AL;<isolated> 0626 0648;;;;N;;;;;
+FBEF;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM;Lo;0;AL;<final> 0626 0648;;;;N;;;;;
+FBF0;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM;Lo;0;AL;<isolated> 0626 06C7;;;;N;;;;;
+FBF1;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM;Lo;0;AL;<final> 0626 06C7;;;;N;;;;;
+FBF2;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM;Lo;0;AL;<isolated> 0626 06C6;;;;N;;;;;
+FBF3;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM;Lo;0;AL;<final> 0626 06C6;;;;N;;;;;
+FBF4;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM;Lo;0;AL;<isolated> 0626 06C8;;;;N;;;;;
+FBF5;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM;Lo;0;AL;<final> 0626 06C8;;;;N;;;;;
+FBF6;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM;Lo;0;AL;<isolated> 0626 06D0;;;;N;;;;;
+FBF7;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM;Lo;0;AL;<final> 0626 06D0;;;;N;;;;;
+FBF8;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM;Lo;0;AL;<initial> 0626 06D0;;;;N;;;;;
+FBF9;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0626 0649;;;;N;;;;;
+FBFA;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0626 0649;;;;N;;;;;
+FBFB;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM;Lo;0;AL;<initial> 0626 0649;;;;N;;;;;
+FBFC;ARABIC LETTER FARSI YEH ISOLATED FORM;Lo;0;AL;<isolated> 06CC;;;;N;;;;;
+FBFD;ARABIC LETTER FARSI YEH FINAL FORM;Lo;0;AL;<final> 06CC;;;;N;;;;;
+FBFE;ARABIC LETTER FARSI YEH INITIAL FORM;Lo;0;AL;<initial> 06CC;;;;N;;;;;
+FBFF;ARABIC LETTER FARSI YEH MEDIAL FORM;Lo;0;AL;<medial> 06CC;;;;N;;;;;
+FC00;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0626 062C;;;;N;;;;;
+FC01;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0626 062D;;;;N;;;;;
+FC02;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0626 0645;;;;N;;;;;
+FC03;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0626 0649;;;;N;;;;;
+FC04;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0626 064A;;;;N;;;;;
+FC05;ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0628 062C;;;;N;;;;;
+FC06;ARABIC LIGATURE BEH WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0628 062D;;;;N;;;;;
+FC07;ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0628 062E;;;;N;;;;;
+FC08;ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0628 0645;;;;N;;;;;
+FC09;ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0628 0649;;;;N;;;;;
+FC0A;ARABIC LIGATURE BEH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0628 064A;;;;N;;;;;
+FC0B;ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 062A 062C;;;;N;;;;;
+FC0C;ARABIC LIGATURE TEH WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 062A 062D;;;;N;;;;;
+FC0D;ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 062A 062E;;;;N;;;;;
+FC0E;ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 062A 0645;;;;N;;;;;
+FC0F;ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 062A 0649;;;;N;;;;;
+FC10;ARABIC LIGATURE TEH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 062A 064A;;;;N;;;;;
+FC11;ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 062B 062C;;;;N;;;;;
+FC12;ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 062B 0645;;;;N;;;;;
+FC13;ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 062B 0649;;;;N;;;;;
+FC14;ARABIC LIGATURE THEH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 062B 064A;;;;N;;;;;
+FC15;ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 062C 062D;;;;N;;;;;
+FC16;ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 062C 0645;;;;N;;;;;
+FC17;ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 062D 062C;;;;N;;;;;
+FC18;ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 062D 0645;;;;N;;;;;
+FC19;ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 062E 062C;;;;N;;;;;
+FC1A;ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 062E 062D;;;;N;;;;;
+FC1B;ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 062E 0645;;;;N;;;;;
+FC1C;ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0633 062C;;;;N;;;;;
+FC1D;ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0633 062D;;;;N;;;;;
+FC1E;ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0633 062E;;;;N;;;;;
+FC1F;ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0633 0645;;;;N;;;;;
+FC20;ARABIC LIGATURE SAD WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0635 062D;;;;N;;;;;
+FC21;ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0635 0645;;;;N;;;;;
+FC22;ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0636 062C;;;;N;;;;;
+FC23;ARABIC LIGATURE DAD WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0636 062D;;;;N;;;;;
+FC24;ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0636 062E;;;;N;;;;;
+FC25;ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0636 0645;;;;N;;;;;
+FC26;ARABIC LIGATURE TAH WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0637 062D;;;;N;;;;;
+FC27;ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0637 0645;;;;N;;;;;
+FC28;ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0638 0645;;;;N;;;;;
+FC29;ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0639 062C;;;;N;;;;;
+FC2A;ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0639 0645;;;;N;;;;;
+FC2B;ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 063A 062C;;;;N;;;;;
+FC2C;ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 063A 0645;;;;N;;;;;
+FC2D;ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0641 062C;;;;N;;;;;
+FC2E;ARABIC LIGATURE FEH WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0641 062D;;;;N;;;;;
+FC2F;ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0641 062E;;;;N;;;;;
+FC30;ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0641 0645;;;;N;;;;;
+FC31;ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0641 0649;;;;N;;;;;
+FC32;ARABIC LIGATURE FEH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0641 064A;;;;N;;;;;
+FC33;ARABIC LIGATURE QAF WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0642 062D;;;;N;;;;;
+FC34;ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0642 0645;;;;N;;;;;
+FC35;ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0642 0649;;;;N;;;;;
+FC36;ARABIC LIGATURE QAF WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0642 064A;;;;N;;;;;
+FC37;ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0643 0627;;;;N;;;;;
+FC38;ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0643 062C;;;;N;;;;;
+FC39;ARABIC LIGATURE KAF WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0643 062D;;;;N;;;;;
+FC3A;ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0643 062E;;;;N;;;;;
+FC3B;ARABIC LIGATURE KAF WITH LAM ISOLATED FORM;Lo;0;AL;<isolated> 0643 0644;;;;N;;;;;
+FC3C;ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0643 0645;;;;N;;;;;
+FC3D;ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0643 0649;;;;N;;;;;
+FC3E;ARABIC LIGATURE KAF WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0643 064A;;;;N;;;;;
+FC3F;ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0644 062C;;;;N;;;;;
+FC40;ARABIC LIGATURE LAM WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0644 062D;;;;N;;;;;
+FC41;ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0644 062E;;;;N;;;;;
+FC42;ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0644 0645;;;;N;;;;;
+FC43;ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0644 0649;;;;N;;;;;
+FC44;ARABIC LIGATURE LAM WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0644 064A;;;;N;;;;;
+FC45;ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0645 062C;;;;N;;;;;
+FC46;ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0645 062D;;;;N;;;;;
+FC47;ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0645 062E;;;;N;;;;;
+FC48;ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0645 0645;;;;N;;;;;
+FC49;ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0645 0649;;;;N;;;;;
+FC4A;ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0645 064A;;;;N;;;;;
+FC4B;ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0646 062C;;;;N;;;;;
+FC4C;ARABIC LIGATURE NOON WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0646 062D;;;;N;;;;;
+FC4D;ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0646 062E;;;;N;;;;;
+FC4E;ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0646 0645;;;;N;;;;;
+FC4F;ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0646 0649;;;;N;;;;;
+FC50;ARABIC LIGATURE NOON WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0646 064A;;;;N;;;;;
+FC51;ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0647 062C;;;;N;;;;;
+FC52;ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0647 0645;;;;N;;;;;
+FC53;ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0647 0649;;;;N;;;;;
+FC54;ARABIC LIGATURE HEH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0647 064A;;;;N;;;;;
+FC55;ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 064A 062C;;;;N;;;;;
+FC56;ARABIC LIGATURE YEH WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 064A 062D;;;;N;;;;;
+FC57;ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 064A 062E;;;;N;;;;;
+FC58;ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 064A 0645;;;;N;;;;;
+FC59;ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 064A 0649;;;;N;;;;;
+FC5A;ARABIC LIGATURE YEH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 064A 064A;;;;N;;;;;
+FC5B;ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0630 0670;;;;N;;;;;
+FC5C;ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0631 0670;;;;N;;;;;
+FC5D;ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0649 0670;;;;N;;;;;
+FC5E;ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM;Lo;0;AL;<isolated> 0020 064C 0651;;;;N;;;;;
+FC5F;ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM;Lo;0;AL;<isolated> 0020 064D 0651;;;;N;;;;;
+FC60;ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM;Lo;0;AL;<isolated> 0020 064E 0651;;;;N;;;;;
+FC61;ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM;Lo;0;AL;<isolated> 0020 064F 0651;;;;N;;;;;
+FC62;ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM;Lo;0;AL;<isolated> 0020 0650 0651;;;;N;;;;;
+FC63;ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0020 0651 0670;;;;N;;;;;
+FC64;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM;Lo;0;AL;<final> 0626 0631;;;;N;;;;;
+FC65;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM;Lo;0;AL;<final> 0626 0632;;;;N;;;;;
+FC66;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM;Lo;0;AL;<final> 0626 0645;;;;N;;;;;
+FC67;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM;Lo;0;AL;<final> 0626 0646;;;;N;;;;;
+FC68;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0626 0649;;;;N;;;;;
+FC69;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM;Lo;0;AL;<final> 0626 064A;;;;N;;;;;
+FC6A;ARABIC LIGATURE BEH WITH REH FINAL FORM;Lo;0;AL;<final> 0628 0631;;;;N;;;;;
+FC6B;ARABIC LIGATURE BEH WITH ZAIN FINAL FORM;Lo;0;AL;<final> 0628 0632;;;;N;;;;;
+FC6C;ARABIC LIGATURE BEH WITH MEEM FINAL FORM;Lo;0;AL;<final> 0628 0645;;;;N;;;;;
+FC6D;ARABIC LIGATURE BEH WITH NOON FINAL FORM;Lo;0;AL;<final> 0628 0646;;;;N;;;;;
+FC6E;ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0628 0649;;;;N;;;;;
+FC6F;ARABIC LIGATURE BEH WITH YEH FINAL FORM;Lo;0;AL;<final> 0628 064A;;;;N;;;;;
+FC70;ARABIC LIGATURE TEH WITH REH FINAL FORM;Lo;0;AL;<final> 062A 0631;;;;N;;;;;
+FC71;ARABIC LIGATURE TEH WITH ZAIN FINAL FORM;Lo;0;AL;<final> 062A 0632;;;;N;;;;;
+FC72;ARABIC LIGATURE TEH WITH MEEM FINAL FORM;Lo;0;AL;<final> 062A 0645;;;;N;;;;;
+FC73;ARABIC LIGATURE TEH WITH NOON FINAL FORM;Lo;0;AL;<final> 062A 0646;;;;N;;;;;
+FC74;ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062A 0649;;;;N;;;;;
+FC75;ARABIC LIGATURE TEH WITH YEH FINAL FORM;Lo;0;AL;<final> 062A 064A;;;;N;;;;;
+FC76;ARABIC LIGATURE THEH WITH REH FINAL FORM;Lo;0;AL;<final> 062B 0631;;;;N;;;;;
+FC77;ARABIC LIGATURE THEH WITH ZAIN FINAL FORM;Lo;0;AL;<final> 062B 0632;;;;N;;;;;
+FC78;ARABIC LIGATURE THEH WITH MEEM FINAL FORM;Lo;0;AL;<final> 062B 0645;;;;N;;;;;
+FC79;ARABIC LIGATURE THEH WITH NOON FINAL FORM;Lo;0;AL;<final> 062B 0646;;;;N;;;;;
+FC7A;ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062B 0649;;;;N;;;;;
+FC7B;ARABIC LIGATURE THEH WITH YEH FINAL FORM;Lo;0;AL;<final> 062B 064A;;;;N;;;;;
+FC7C;ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0641 0649;;;;N;;;;;
+FC7D;ARABIC LIGATURE FEH WITH YEH FINAL FORM;Lo;0;AL;<final> 0641 064A;;;;N;;;;;
+FC7E;ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0642 0649;;;;N;;;;;
+FC7F;ARABIC LIGATURE QAF WITH YEH FINAL FORM;Lo;0;AL;<final> 0642 064A;;;;N;;;;;
+FC80;ARABIC LIGATURE KAF WITH ALEF FINAL FORM;Lo;0;AL;<final> 0643 0627;;;;N;;;;;
+FC81;ARABIC LIGATURE KAF WITH LAM FINAL FORM;Lo;0;AL;<final> 0643 0644;;;;N;;;;;
+FC82;ARABIC LIGATURE KAF WITH MEEM FINAL FORM;Lo;0;AL;<final> 0643 0645;;;;N;;;;;
+FC83;ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0643 0649;;;;N;;;;;
+FC84;ARABIC LIGATURE KAF WITH YEH FINAL FORM;Lo;0;AL;<final> 0643 064A;;;;N;;;;;
+FC85;ARABIC LIGATURE LAM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0644 0645;;;;N;;;;;
+FC86;ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0644 0649;;;;N;;;;;
+FC87;ARABIC LIGATURE LAM WITH YEH FINAL FORM;Lo;0;AL;<final> 0644 064A;;;;N;;;;;
+FC88;ARABIC LIGATURE MEEM WITH ALEF FINAL FORM;Lo;0;AL;<final> 0645 0627;;;;N;;;;;
+FC89;ARABIC LIGATURE MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0645 0645;;;;N;;;;;
+FC8A;ARABIC LIGATURE NOON WITH REH FINAL FORM;Lo;0;AL;<final> 0646 0631;;;;N;;;;;
+FC8B;ARABIC LIGATURE NOON WITH ZAIN FINAL FORM;Lo;0;AL;<final> 0646 0632;;;;N;;;;;
+FC8C;ARABIC LIGATURE NOON WITH MEEM FINAL FORM;Lo;0;AL;<final> 0646 0645;;;;N;;;;;
+FC8D;ARABIC LIGATURE NOON WITH NOON FINAL FORM;Lo;0;AL;<final> 0646 0646;;;;N;;;;;
+FC8E;ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0646 0649;;;;N;;;;;
+FC8F;ARABIC LIGATURE NOON WITH YEH FINAL FORM;Lo;0;AL;<final> 0646 064A;;;;N;;;;;
+FC90;ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM;Lo;0;AL;<final> 0649 0670;;;;N;;;;;
+FC91;ARABIC LIGATURE YEH WITH REH FINAL FORM;Lo;0;AL;<final> 064A 0631;;;;N;;;;;
+FC92;ARABIC LIGATURE YEH WITH ZAIN FINAL FORM;Lo;0;AL;<final> 064A 0632;;;;N;;;;;
+FC93;ARABIC LIGATURE YEH WITH MEEM FINAL FORM;Lo;0;AL;<final> 064A 0645;;;;N;;;;;
+FC94;ARABIC LIGATURE YEH WITH NOON FINAL FORM;Lo;0;AL;<final> 064A 0646;;;;N;;;;;
+FC95;ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 064A 0649;;;;N;;;;;
+FC96;ARABIC LIGATURE YEH WITH YEH FINAL FORM;Lo;0;AL;<final> 064A 064A;;;;N;;;;;
+FC97;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0626 062C;;;;N;;;;;
+FC98;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0626 062D;;;;N;;;;;
+FC99;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0626 062E;;;;N;;;;;
+FC9A;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0626 0645;;;;N;;;;;
+FC9B;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM;Lo;0;AL;<initial> 0626 0647;;;;N;;;;;
+FC9C;ARABIC LIGATURE BEH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0628 062C;;;;N;;;;;
+FC9D;ARABIC LIGATURE BEH WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0628 062D;;;;N;;;;;
+FC9E;ARABIC LIGATURE BEH WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0628 062E;;;;N;;;;;
+FC9F;ARABIC LIGATURE BEH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0628 0645;;;;N;;;;;
+FCA0;ARABIC LIGATURE BEH WITH HEH INITIAL FORM;Lo;0;AL;<initial> 0628 0647;;;;N;;;;;
+FCA1;ARABIC LIGATURE TEH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 062A 062C;;;;N;;;;;
+FCA2;ARABIC LIGATURE TEH WITH HAH INITIAL FORM;Lo;0;AL;<initial> 062A 062D;;;;N;;;;;
+FCA3;ARABIC LIGATURE TEH WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 062A 062E;;;;N;;;;;
+FCA4;ARABIC LIGATURE TEH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062A 0645;;;;N;;;;;
+FCA5;ARABIC LIGATURE TEH WITH HEH INITIAL FORM;Lo;0;AL;<initial> 062A 0647;;;;N;;;;;
+FCA6;ARABIC LIGATURE THEH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062B 0645;;;;N;;;;;
+FCA7;ARABIC LIGATURE JEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 062C 062D;;;;N;;;;;
+FCA8;ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062C 0645;;;;N;;;;;
+FCA9;ARABIC LIGATURE HAH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 062D 062C;;;;N;;;;;
+FCAA;ARABIC LIGATURE HAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062D 0645;;;;N;;;;;
+FCAB;ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 062E 062C;;;;N;;;;;
+FCAC;ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062E 0645;;;;N;;;;;
+FCAD;ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0633 062C;;;;N;;;;;
+FCAE;ARABIC LIGATURE SEEN WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0633 062D;;;;N;;;;;
+FCAF;ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0633 062E;;;;N;;;;;
+FCB0;ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0633 0645;;;;N;;;;;
+FCB1;ARABIC LIGATURE SAD WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0635 062D;;;;N;;;;;
+FCB2;ARABIC LIGATURE SAD WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0635 062E;;;;N;;;;;
+FCB3;ARABIC LIGATURE SAD WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0635 0645;;;;N;;;;;
+FCB4;ARABIC LIGATURE DAD WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0636 062C;;;;N;;;;;
+FCB5;ARABIC LIGATURE DAD WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0636 062D;;;;N;;;;;
+FCB6;ARABIC LIGATURE DAD WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0636 062E;;;;N;;;;;
+FCB7;ARABIC LIGATURE DAD WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0636 0645;;;;N;;;;;
+FCB8;ARABIC LIGATURE TAH WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0637 062D;;;;N;;;;;
+FCB9;ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0638 0645;;;;N;;;;;
+FCBA;ARABIC LIGATURE AIN WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0639 062C;;;;N;;;;;
+FCBB;ARABIC LIGATURE AIN WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0639 0645;;;;N;;;;;
+FCBC;ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 063A 062C;;;;N;;;;;
+FCBD;ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 063A 0645;;;;N;;;;;
+FCBE;ARABIC LIGATURE FEH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0641 062C;;;;N;;;;;
+FCBF;ARABIC LIGATURE FEH WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0641 062D;;;;N;;;;;
+FCC0;ARABIC LIGATURE FEH WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0641 062E;;;;N;;;;;
+FCC1;ARABIC LIGATURE FEH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0641 0645;;;;N;;;;;
+FCC2;ARABIC LIGATURE QAF WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0642 062D;;;;N;;;;;
+FCC3;ARABIC LIGATURE QAF WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0642 0645;;;;N;;;;;
+FCC4;ARABIC LIGATURE KAF WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0643 062C;;;;N;;;;;
+FCC5;ARABIC LIGATURE KAF WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0643 062D;;;;N;;;;;
+FCC6;ARABIC LIGATURE KAF WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0643 062E;;;;N;;;;;
+FCC7;ARABIC LIGATURE KAF WITH LAM INITIAL FORM;Lo;0;AL;<initial> 0643 0644;;;;N;;;;;
+FCC8;ARABIC LIGATURE KAF WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0643 0645;;;;N;;;;;
+FCC9;ARABIC LIGATURE LAM WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0644 062C;;;;N;;;;;
+FCCA;ARABIC LIGATURE LAM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0644 062D;;;;N;;;;;
+FCCB;ARABIC LIGATURE LAM WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0644 062E;;;;N;;;;;
+FCCC;ARABIC LIGATURE LAM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0644 0645;;;;N;;;;;
+FCCD;ARABIC LIGATURE LAM WITH HEH INITIAL FORM;Lo;0;AL;<initial> 0644 0647;;;;N;;;;;
+FCCE;ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0645 062C;;;;N;;;;;
+FCCF;ARABIC LIGATURE MEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0645 062D;;;;N;;;;;
+FCD0;ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0645 062E;;;;N;;;;;
+FCD1;ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0645 0645;;;;N;;;;;
+FCD2;ARABIC LIGATURE NOON WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0646 062C;;;;N;;;;;
+FCD3;ARABIC LIGATURE NOON WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0646 062D;;;;N;;;;;
+FCD4;ARABIC LIGATURE NOON WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0646 062E;;;;N;;;;;
+FCD5;ARABIC LIGATURE NOON WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0646 0645;;;;N;;;;;
+FCD6;ARABIC LIGATURE NOON WITH HEH INITIAL FORM;Lo;0;AL;<initial> 0646 0647;;;;N;;;;;
+FCD7;ARABIC LIGATURE HEH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0647 062C;;;;N;;;;;
+FCD8;ARABIC LIGATURE HEH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0647 0645;;;;N;;;;;
+FCD9;ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM;Lo;0;AL;<initial> 0647 0670;;;;N;;;;;
+FCDA;ARABIC LIGATURE YEH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 064A 062C;;;;N;;;;;
+FCDB;ARABIC LIGATURE YEH WITH HAH INITIAL FORM;Lo;0;AL;<initial> 064A 062D;;;;N;;;;;
+FCDC;ARABIC LIGATURE YEH WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 064A 062E;;;;N;;;;;
+FCDD;ARABIC LIGATURE YEH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 064A 0645;;;;N;;;;;
+FCDE;ARABIC LIGATURE YEH WITH HEH INITIAL FORM;Lo;0;AL;<initial> 064A 0647;;;;N;;;;;
+FCDF;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0626 0645;;;;N;;;;;
+FCE0;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM;Lo;0;AL;<medial> 0626 0647;;;;N;;;;;
+FCE1;ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0628 0645;;;;N;;;;;
+FCE2;ARABIC LIGATURE BEH WITH HEH MEDIAL FORM;Lo;0;AL;<medial> 0628 0647;;;;N;;;;;
+FCE3;ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 062A 0645;;;;N;;;;;
+FCE4;ARABIC LIGATURE TEH WITH HEH MEDIAL FORM;Lo;0;AL;<medial> 062A 0647;;;;N;;;;;
+FCE5;ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 062B 0645;;;;N;;;;;
+FCE6;ARABIC LIGATURE THEH WITH HEH MEDIAL FORM;Lo;0;AL;<medial> 062B 0647;;;;N;;;;;
+FCE7;ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0633 0645;;;;N;;;;;
+FCE8;ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM;Lo;0;AL;<medial> 0633 0647;;;;N;;;;;
+FCE9;ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0634 0645;;;;N;;;;;
+FCEA;ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM;Lo;0;AL;<medial> 0634 0647;;;;N;;;;;
+FCEB;ARABIC LIGATURE KAF WITH LAM MEDIAL FORM;Lo;0;AL;<medial> 0643 0644;;;;N;;;;;
+FCEC;ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0643 0645;;;;N;;;;;
+FCED;ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0644 0645;;;;N;;;;;
+FCEE;ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0646 0645;;;;N;;;;;
+FCEF;ARABIC LIGATURE NOON WITH HEH MEDIAL FORM;Lo;0;AL;<medial> 0646 0647;;;;N;;;;;
+FCF0;ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 064A 0645;;;;N;;;;;
+FCF1;ARABIC LIGATURE YEH WITH HEH MEDIAL FORM;Lo;0;AL;<medial> 064A 0647;;;;N;;;;;
+FCF2;ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM;Lo;0;AL;<medial> 0640 064E 0651;;;;N;;;;;
+FCF3;ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM;Lo;0;AL;<medial> 0640 064F 0651;;;;N;;;;;
+FCF4;ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM;Lo;0;AL;<medial> 0640 0650 0651;;;;N;;;;;
+FCF5;ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0637 0649;;;;N;;;;;
+FCF6;ARABIC LIGATURE TAH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0637 064A;;;;N;;;;;
+FCF7;ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0639 0649;;;;N;;;;;
+FCF8;ARABIC LIGATURE AIN WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0639 064A;;;;N;;;;;
+FCF9;ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 063A 0649;;;;N;;;;;
+FCFA;ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 063A 064A;;;;N;;;;;
+FCFB;ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0633 0649;;;;N;;;;;
+FCFC;ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0633 064A;;;;N;;;;;
+FCFD;ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0634 0649;;;;N;;;;;
+FCFE;ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0634 064A;;;;N;;;;;
+FCFF;ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 062D 0649;;;;N;;;;;
+FD00;ARABIC LIGATURE HAH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 062D 064A;;;;N;;;;;
+FD01;ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 062C 0649;;;;N;;;;;
+FD02;ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 062C 064A;;;;N;;;;;
+FD03;ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 062E 0649;;;;N;;;;;
+FD04;ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 062E 064A;;;;N;;;;;
+FD05;ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0635 0649;;;;N;;;;;
+FD06;ARABIC LIGATURE SAD WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0635 064A;;;;N;;;;;
+FD07;ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0636 0649;;;;N;;;;;
+FD08;ARABIC LIGATURE DAD WITH YEH ISOLATED FORM;Lo;0;AL;<isolated> 0636 064A;;;;N;;;;;
+FD09;ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM;Lo;0;AL;<isolated> 0634 062C;;;;N;;;;;
+FD0A;ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM;Lo;0;AL;<isolated> 0634 062D;;;;N;;;;;
+FD0B;ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM;Lo;0;AL;<isolated> 0634 062E;;;;N;;;;;
+FD0C;ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0634 0645;;;;N;;;;;
+FD0D;ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM;Lo;0;AL;<isolated> 0634 0631;;;;N;;;;;
+FD0E;ARABIC LIGATURE SEEN WITH REH ISOLATED FORM;Lo;0;AL;<isolated> 0633 0631;;;;N;;;;;
+FD0F;ARABIC LIGATURE SAD WITH REH ISOLATED FORM;Lo;0;AL;<isolated> 0635 0631;;;;N;;;;;
+FD10;ARABIC LIGATURE DAD WITH REH ISOLATED FORM;Lo;0;AL;<isolated> 0636 0631;;;;N;;;;;
+FD11;ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0637 0649;;;;N;;;;;
+FD12;ARABIC LIGATURE TAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0637 064A;;;;N;;;;;
+FD13;ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0639 0649;;;;N;;;;;
+FD14;ARABIC LIGATURE AIN WITH YEH FINAL FORM;Lo;0;AL;<final> 0639 064A;;;;N;;;;;
+FD15;ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 063A 0649;;;;N;;;;;
+FD16;ARABIC LIGATURE GHAIN WITH YEH FINAL FORM;Lo;0;AL;<final> 063A 064A;;;;N;;;;;
+FD17;ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0633 0649;;;;N;;;;;
+FD18;ARABIC LIGATURE SEEN WITH YEH FINAL FORM;Lo;0;AL;<final> 0633 064A;;;;N;;;;;
+FD19;ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0634 0649;;;;N;;;;;
+FD1A;ARABIC LIGATURE SHEEN WITH YEH FINAL FORM;Lo;0;AL;<final> 0634 064A;;;;N;;;;;
+FD1B;ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062D 0649;;;;N;;;;;
+FD1C;ARABIC LIGATURE HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 062D 064A;;;;N;;;;;
+FD1D;ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062C 0649;;;;N;;;;;
+FD1E;ARABIC LIGATURE JEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 062C 064A;;;;N;;;;;
+FD1F;ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062E 0649;;;;N;;;;;
+FD20;ARABIC LIGATURE KHAH WITH YEH FINAL FORM;Lo;0;AL;<final> 062E 064A;;;;N;;;;;
+FD21;ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0635 0649;;;;N;;;;;
+FD22;ARABIC LIGATURE SAD WITH YEH FINAL FORM;Lo;0;AL;<final> 0635 064A;;;;N;;;;;
+FD23;ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0636 0649;;;;N;;;;;
+FD24;ARABIC LIGATURE DAD WITH YEH FINAL FORM;Lo;0;AL;<final> 0636 064A;;;;N;;;;;
+FD25;ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM;Lo;0;AL;<final> 0634 062C;;;;N;;;;;
+FD26;ARABIC LIGATURE SHEEN WITH HAH FINAL FORM;Lo;0;AL;<final> 0634 062D;;;;N;;;;;
+FD27;ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM;Lo;0;AL;<final> 0634 062E;;;;N;;;;;
+FD28;ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM;Lo;0;AL;<final> 0634 0645;;;;N;;;;;
+FD29;ARABIC LIGATURE SHEEN WITH REH FINAL FORM;Lo;0;AL;<final> 0634 0631;;;;N;;;;;
+FD2A;ARABIC LIGATURE SEEN WITH REH FINAL FORM;Lo;0;AL;<final> 0633 0631;;;;N;;;;;
+FD2B;ARABIC LIGATURE SAD WITH REH FINAL FORM;Lo;0;AL;<final> 0635 0631;;;;N;;;;;
+FD2C;ARABIC LIGATURE DAD WITH REH FINAL FORM;Lo;0;AL;<final> 0636 0631;;;;N;;;;;
+FD2D;ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0634 062C;;;;N;;;;;
+FD2E;ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0634 062D;;;;N;;;;;
+FD2F;ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0634 062E;;;;N;;;;;
+FD30;ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0634 0645;;;;N;;;;;
+FD31;ARABIC LIGATURE SEEN WITH HEH INITIAL FORM;Lo;0;AL;<initial> 0633 0647;;;;N;;;;;
+FD32;ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM;Lo;0;AL;<initial> 0634 0647;;;;N;;;;;
+FD33;ARABIC LIGATURE TAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0637 0645;;;;N;;;;;
+FD34;ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM;Lo;0;AL;<medial> 0633 062C;;;;N;;;;;
+FD35;ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM;Lo;0;AL;<medial> 0633 062D;;;;N;;;;;
+FD36;ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM;Lo;0;AL;<medial> 0633 062E;;;;N;;;;;
+FD37;ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM;Lo;0;AL;<medial> 0634 062C;;;;N;;;;;
+FD38;ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM;Lo;0;AL;<medial> 0634 062D;;;;N;;;;;
+FD39;ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM;Lo;0;AL;<medial> 0634 062E;;;;N;;;;;
+FD3A;ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0637 0645;;;;N;;;;;
+FD3B;ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM;Lo;0;AL;<medial> 0638 0645;;;;N;;;;;
+FD3C;ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM;Lo;0;AL;<final> 0627 064B;;;;N;;;;;
+FD3D;ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM;Lo;0;AL;<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;;;;;
+FD50;ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062A 062C 0645;;;;N;;;;;
+FD51;ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM;Lo;0;AL;<final> 062A 062D 062C;;;;N;;;;;
+FD52;ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 062A 062D 062C;;;;N;;;;;
+FD53;ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062A 062D 0645;;;;N;;;;;
+FD54;ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 062A 062E 0645;;;;N;;;;;
+FD55;ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 062A 0645 062C;;;;N;;;;;
+FD56;ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 062A 0645 062D;;;;N;;;;;
+FD57;ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 062A 0645 062E;;;;N;;;;;
+FD58;ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM;Lo;0;AL;<final> 062C 0645 062D;;;;N;;;;;
+FD59;ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 062C 0645 062D;;;;N;;;;;
+FD5A;ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 062D 0645 064A;;;;N;;;;;
+FD5B;ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062D 0645 0649;;;;N;;;;;
+FD5C;ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0633 062D 062C;;;;N;;;;;
+FD5D;ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0633 062C 062D;;;;N;;;;;
+FD5E;ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0633 062C 0649;;;;N;;;;;
+FD5F;ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM;Lo;0;AL;<final> 0633 0645 062D;;;;N;;;;;
+FD60;ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0633 0645 062D;;;;N;;;;;
+FD61;ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0633 0645 062C;;;;N;;;;;
+FD62;ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0633 0645 0645;;;;N;;;;;
+FD63;ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0633 0645 0645;;;;N;;;;;
+FD64;ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM;Lo;0;AL;<final> 0635 062D 062D;;;;N;;;;;
+FD65;ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0635 062D 062D;;;;N;;;;;
+FD66;ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0635 0645 0645;;;;N;;;;;
+FD67;ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM;Lo;0;AL;<final> 0634 062D 0645;;;;N;;;;;
+FD68;ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0634 062D 0645;;;;N;;;;;
+FD69;ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0634 062C 064A;;;;N;;;;;
+FD6A;ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM;Lo;0;AL;<final> 0634 0645 062E;;;;N;;;;;
+FD6B;ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0634 0645 062E;;;;N;;;;;
+FD6C;ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0634 0645 0645;;;;N;;;;;
+FD6D;ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0634 0645 0645;;;;N;;;;;
+FD6E;ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0636 062D 0649;;;;N;;;;;
+FD6F;ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM;Lo;0;AL;<final> 0636 062E 0645;;;;N;;;;;
+FD70;ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0636 062E 0645;;;;N;;;;;
+FD71;ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM;Lo;0;AL;<final> 0637 0645 062D;;;;N;;;;;
+FD72;ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0637 0645 062D;;;;N;;;;;
+FD73;ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0637 0645 0645;;;;N;;;;;
+FD74;ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0637 0645 064A;;;;N;;;;;
+FD75;ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0639 062C 0645;;;;N;;;;;
+FD76;ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0639 0645 0645;;;;N;;;;;
+FD77;ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0639 0645 0645;;;;N;;;;;
+FD78;ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0639 0645 0649;;;;N;;;;;
+FD79;ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 063A 0645 0645;;;;N;;;;;
+FD7A;ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 063A 0645 064A;;;;N;;;;;
+FD7B;ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 063A 0645 0649;;;;N;;;;;
+FD7C;ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM;Lo;0;AL;<final> 0641 062E 0645;;;;N;;;;;
+FD7D;ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0641 062E 0645;;;;N;;;;;
+FD7E;ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM;Lo;0;AL;<final> 0642 0645 062D;;;;N;;;;;
+FD7F;ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0642 0645 0645;;;;N;;;;;
+FD80;ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM;Lo;0;AL;<final> 0644 062D 0645;;;;N;;;;;
+FD81;ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0644 062D 064A;;;;N;;;;;
+FD82;ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0644 062D 0649;;;;N;;;;;
+FD83;ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0644 062C 062C;;;;N;;;;;
+FD84;ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM;Lo;0;AL;<final> 0644 062C 062C;;;;N;;;;;
+FD85;ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM;Lo;0;AL;<final> 0644 062E 0645;;;;N;;;;;
+FD86;ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0644 062E 0645;;;;N;;;;;
+FD87;ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM;Lo;0;AL;<final> 0644 0645 062D;;;;N;;;;;
+FD88;ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0644 0645 062D;;;;N;;;;;
+FD89;ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0645 062D 062C;;;;N;;;;;
+FD8A;ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0645 062D 0645;;;;N;;;;;
+FD8B;ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0645 062D 064A;;;;N;;;;;
+FD8C;ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0645 062C 062D;;;;N;;;;;
+FD8D;ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0645 062C 0645;;;;N;;;;;
+FD8E;ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0645 062E 062C;;;;N;;;;;
+FD8F;ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0645 062E 0645;;;;N;;;;;
+FD92;ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM;Lo;0;AL;<initial> 0645 062C 062E;;;;N;;;;;
+FD93;ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM;Lo;0;AL;<initial> 0647 0645 062C;;;;N;;;;;
+FD94;ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0647 0645 0645;;;;N;;;;;
+FD95;ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0646 062D 0645;;;;N;;;;;
+FD96;ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0646 062D 0649;;;;N;;;;;
+FD97;ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0646 062C 0645;;;;N;;;;;
+FD98;ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0646 062C 0645;;;;N;;;;;
+FD99;ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0646 062C 0649;;;;N;;;;;
+FD9A;ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0646 0645 064A;;;;N;;;;;
+FD9B;ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0646 0645 0649;;;;N;;;;;
+FD9C;ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 064A 0645 0645;;;;N;;;;;
+FD9D;ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 064A 0645 0645;;;;N;;;;;
+FD9E;ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0628 062E 064A;;;;N;;;;;
+FD9F;ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 062A 062C 064A;;;;N;;;;;
+FDA0;ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062A 062C 0649;;;;N;;;;;
+FDA1;ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM;Lo;0;AL;<final> 062A 062E 064A;;;;N;;;;;
+FDA2;ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062A 062E 0649;;;;N;;;;;
+FDA3;ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 062A 0645 064A;;;;N;;;;;
+FDA4;ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062A 0645 0649;;;;N;;;;;
+FDA5;ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 062C 0645 064A;;;;N;;;;;
+FDA6;ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062C 062D 0649;;;;N;;;;;
+FDA7;ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 062C 0645 0649;;;;N;;;;;
+FDA8;ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0633 062E 0649;;;;N;;;;;
+FDA9;ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0635 062D 064A;;;;N;;;;;
+FDAA;ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0634 062D 064A;;;;N;;;;;
+FDAB;ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0636 062D 064A;;;;N;;;;;
+FDAC;ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0644 062C 064A;;;;N;;;;;
+FDAD;ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0644 0645 064A;;;;N;;;;;
+FDAE;ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 064A 062D 064A;;;;N;;;;;
+FDAF;ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 064A 062C 064A;;;;N;;;;;
+FDB0;ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 064A 0645 064A;;;;N;;;;;
+FDB1;ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0645 0645 064A;;;;N;;;;;
+FDB2;ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0642 0645 064A;;;;N;;;;;
+FDB3;ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0646 062D 064A;;;;N;;;;;
+FDB4;ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0642 0645 062D;;;;N;;;;;
+FDB5;ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0644 062D 0645;;;;N;;;;;
+FDB6;ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0639 0645 064A;;;;N;;;;;
+FDB7;ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0643 0645 064A;;;;N;;;;;
+FDB8;ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM;Lo;0;AL;<initial> 0646 062C 062D;;;;N;;;;;
+FDB9;ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0645 062E 064A;;;;N;;;;;
+FDBA;ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0644 062C 0645;;;;N;;;;;
+FDBB;ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0643 0645 0645;;;;N;;;;;
+FDBC;ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM;Lo;0;AL;<final> 0644 062C 0645;;;;N;;;;;
+FDBD;ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM;Lo;0;AL;<final> 0646 062C 062D;;;;N;;;;;
+FDBE;ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 062C 062D 064A;;;;N;;;;;
+FDBF;ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 062D 062C 064A;;;;N;;;;;
+FDC0;ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0645 062C 064A;;;;N;;;;;
+FDC1;ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0641 0645 064A;;;;N;;;;;
+FDC2;ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0628 062D 064A;;;;N;;;;;
+FDC3;ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0643 0645 0645;;;;N;;;;;
+FDC4;ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0639 062C 0645;;;;N;;;;;
+FDC5;ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL;<initial> 0635 0645 0645;;;;N;;;;;
+FDC6;ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM;Lo;0;AL;<final> 0633 062E 064A;;;;N;;;;;
+FDC7;ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM;Lo;0;AL;<final> 0646 062C 064A;;;;N;;;;;
+FDF0;ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM;Lo;0;AL;<isolated> 0635 0644 06D2;;;;N;;;;;
+FDF1;ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM;Lo;0;AL;<isolated> 0642 0644 06D2;;;;N;;;;;
+FDF2;ARABIC LIGATURE ALLAH ISOLATED FORM;Lo;0;AL;<isolated> 0627 0644 0644 0647;;;;N;;;;;
+FDF3;ARABIC LIGATURE AKBAR ISOLATED FORM;Lo;0;AL;<isolated> 0627 0643 0628 0631;;;;N;;;;;
+FDF4;ARABIC LIGATURE MOHAMMAD ISOLATED FORM;Lo;0;AL;<isolated> 0645 062D 0645 062F;;;;N;;;;;
+FDF5;ARABIC LIGATURE SALAM ISOLATED FORM;Lo;0;AL;<isolated> 0635 0644 0639 0645;;;;N;;;;;
+FDF6;ARABIC LIGATURE RASOUL ISOLATED FORM;Lo;0;AL;<isolated> 0631 0633 0648 0644;;;;N;;;;;
+FDF7;ARABIC LIGATURE ALAYHE ISOLATED FORM;Lo;0;AL;<isolated> 0639 0644 064A 0647;;;;N;;;;;
+FDF8;ARABIC LIGATURE WASALLAM ISOLATED FORM;Lo;0;AL;<isolated> 0648 0633 0644 0645;;;;N;;;;;
+FDF9;ARABIC LIGATURE SALLA ISOLATED FORM;Lo;0;AL;<isolated> 0635 0644 0649;;;;N;;;;;
+FDFA;ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM;Lo;0;AL;<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;AL;<isolated> 062C 0644 0020 062C 0644 0627 0644 0647;;;;N;ARABIC LETTER JALLAJALALOUHOU;;;;
+FE20;COMBINING LIGATURE LEFT HALF;Mn;230;NSM;;;;;N;;;;;
+FE21;COMBINING LIGATURE RIGHT HALF;Mn;230;NSM;;;;;N;;;;;
+FE22;COMBINING DOUBLE TILDE LEFT HALF;Mn;230;NSM;;;;;N;;;;;
+FE23;COMBINING DOUBLE TILDE RIGHT HALF;Mn;230;NSM;;;;;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;;;;
@@ -6542,11 +10221,11 @@ FE4C;DOUBLE WAVY OVERLINE;Po;0;ON;<compat> 203E;;;;N;SPACING DOUBLE WAVY OVERSCO
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;;;;;
+FE50;SMALL COMMA;Po;0;CS;<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;;;;
+FE52;SMALL FULL STOP;Po;0;CS;<small> 002E;;;;N;SMALL PERIOD;;;;
FE54;SMALL SEMICOLON;Po;0;ON;<small> 003B;;;;N;;;;;
-FE55;SMALL COLON;Po;0;ON;<small> 003A;;;;N;;;;;
+FE55;SMALL COLON;Po;0;CS;<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;;;;;
@@ -6556,173 +10235,173 @@ FE5B;SMALL LEFT CURLY BRACKET;Ps;0;ON;<small> 007B;;;;N;SMALL OPENING CURLY BRAC
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;;;;;
+FE5F;SMALL NUMBER SIGN;Po;0;ET;<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;;;;;
+FE62;SMALL PLUS SIGN;Sm;0;ET;<small> 002B;;;;N;;;;;
+FE63;SMALL HYPHEN-MINUS;Pd;0;ET;<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;;;;;
+FE69;SMALL DOLLAR SIGN;Sc;0;ET;<small> 0024;;;;N;;;;;
+FE6A;SMALL PERCENT SIGN;Po;0;ET;<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;;;;
+FE70;ARABIC FATHATAN ISOLATED FORM;Lo;0;AL;<isolated> 0020 064B;;;;N;ARABIC SPACING FATHATAN;;;;
+FE71;ARABIC TATWEEL WITH FATHATAN ABOVE;Lo;0;AL;<medial> 0640 064B;;;;N;ARABIC FATHATAN ON TATWEEL;;;;
+FE72;ARABIC DAMMATAN ISOLATED FORM;Lo;0;AL;<isolated> 0020 064C;;;;N;ARABIC SPACING DAMMATAN;;;;
+FE74;ARABIC KASRATAN ISOLATED FORM;Lo;0;AL;<isolated> 0020 064D;;;;N;ARABIC SPACING KASRATAN;;;;
+FE76;ARABIC FATHA ISOLATED FORM;Lo;0;AL;<isolated> 0020 064E;;;;N;ARABIC SPACING FATHAH;;;;
+FE77;ARABIC FATHA MEDIAL FORM;Lo;0;AL;<medial> 0640 064E;;;;N;ARABIC FATHAH ON TATWEEL;;;;
+FE78;ARABIC DAMMA ISOLATED FORM;Lo;0;AL;<isolated> 0020 064F;;;;N;ARABIC SPACING DAMMAH;;;;
+FE79;ARABIC DAMMA MEDIAL FORM;Lo;0;AL;<medial> 0640 064F;;;;N;ARABIC DAMMAH ON TATWEEL;;;;
+FE7A;ARABIC KASRA ISOLATED FORM;Lo;0;AL;<isolated> 0020 0650;;;;N;ARABIC SPACING KASRAH;;;;
+FE7B;ARABIC KASRA MEDIAL FORM;Lo;0;AL;<medial> 0640 0650;;;;N;ARABIC KASRAH ON TATWEEL;;;;
+FE7C;ARABIC SHADDA ISOLATED FORM;Lo;0;AL;<isolated> 0020 0651;;;;N;ARABIC SPACING SHADDAH;;;;
+FE7D;ARABIC SHADDA MEDIAL FORM;Lo;0;AL;<medial> 0640 0651;;;;N;ARABIC SHADDAH ON TATWEEL;;;;
+FE7E;ARABIC SUKUN ISOLATED FORM;Lo;0;AL;<isolated> 0020 0652;;;;N;ARABIC SPACING SUKUN;;;;
+FE7F;ARABIC SUKUN MEDIAL FORM;Lo;0;AL;<medial> 0640 0652;;;;N;ARABIC SUKUN ON TATWEEL;;;;
+FE80;ARABIC LETTER HAMZA ISOLATED FORM;Lo;0;AL;<isolated> 0621;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH;;;;
+FE81;ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 0622;;;;N;GLYPH FOR ISOLATE ARABIC MADDAH ON ALEF;;;;
+FE82;ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM;Lo;0;AL;<final> 0622;;;;N;GLYPH FOR FINAL ARABIC MADDAH ON ALEF;;;;
+FE83;ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 0623;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON ALEF;;;;
+FE84;ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM;Lo;0;AL;<final> 0623;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON ALEF;;;;
+FE85;ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 0624;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON WAW;;;;
+FE86;ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM;Lo;0;AL;<final> 0624;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON WAW;;;;
+FE87;ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM;Lo;0;AL;<isolated> 0625;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH UNDER ALEF;;;;
+FE88;ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM;Lo;0;AL;<final> 0625;;;;N;GLYPH FOR FINAL ARABIC HAMZAH UNDER ALEF;;;;
+FE89;ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 0626;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON YA;;;;
+FE8A;ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM;Lo;0;AL;<final> 0626;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON YA;;;;
+FE8B;ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM;Lo;0;AL;<initial> 0626;;;;N;GLYPH FOR INITIAL ARABIC HAMZAH ON YA;;;;
+FE8C;ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM;Lo;0;AL;<medial> 0626;;;;N;GLYPH FOR MEDIAL ARABIC HAMZAH ON YA;;;;
+FE8D;ARABIC LETTER ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0627;;;;N;GLYPH FOR ISOLATE ARABIC ALEF;;;;
+FE8E;ARABIC LETTER ALEF FINAL FORM;Lo;0;AL;<final> 0627;;;;N;GLYPH FOR FINAL ARABIC ALEF;;;;
+FE8F;ARABIC LETTER BEH ISOLATED FORM;Lo;0;AL;<isolated> 0628;;;;N;GLYPH FOR ISOLATE ARABIC BAA;;;;
+FE90;ARABIC LETTER BEH FINAL FORM;Lo;0;AL;<final> 0628;;;;N;GLYPH FOR FINAL ARABIC BAA;;;;
+FE91;ARABIC LETTER BEH INITIAL FORM;Lo;0;AL;<initial> 0628;;;;N;GLYPH FOR INITIAL ARABIC BAA;;;;
+FE92;ARABIC LETTER BEH MEDIAL FORM;Lo;0;AL;<medial> 0628;;;;N;GLYPH FOR MEDIAL ARABIC BAA;;;;
+FE93;ARABIC LETTER TEH MARBUTA ISOLATED FORM;Lo;0;AL;<isolated> 0629;;;;N;GLYPH FOR ISOLATE ARABIC TAA MARBUTAH;;;;
+FE94;ARABIC LETTER TEH MARBUTA FINAL FORM;Lo;0;AL;<final> 0629;;;;N;GLYPH FOR FINAL ARABIC TAA MARBUTAH;;;;
+FE95;ARABIC LETTER TEH ISOLATED FORM;Lo;0;AL;<isolated> 062A;;;;N;GLYPH FOR ISOLATE ARABIC TAA;;;;
+FE96;ARABIC LETTER TEH FINAL FORM;Lo;0;AL;<final> 062A;;;;N;GLYPH FOR FINAL ARABIC TAA;;;;
+FE97;ARABIC LETTER TEH INITIAL FORM;Lo;0;AL;<initial> 062A;;;;N;GLYPH FOR INITIAL ARABIC TAA;;;;
+FE98;ARABIC LETTER TEH MEDIAL FORM;Lo;0;AL;<medial> 062A;;;;N;GLYPH FOR MEDIAL ARABIC TAA;;;;
+FE99;ARABIC LETTER THEH ISOLATED FORM;Lo;0;AL;<isolated> 062B;;;;N;GLYPH FOR ISOLATE ARABIC THAA;;;;
+FE9A;ARABIC LETTER THEH FINAL FORM;Lo;0;AL;<final> 062B;;;;N;GLYPH FOR FINAL ARABIC THAA;;;;
+FE9B;ARABIC LETTER THEH INITIAL FORM;Lo;0;AL;<initial> 062B;;;;N;GLYPH FOR INITIAL ARABIC THAA;;;;
+FE9C;ARABIC LETTER THEH MEDIAL FORM;Lo;0;AL;<medial> 062B;;;;N;GLYPH FOR MEDIAL ARABIC THAA;;;;
+FE9D;ARABIC LETTER JEEM ISOLATED FORM;Lo;0;AL;<isolated> 062C;;;;N;GLYPH FOR ISOLATE ARABIC JEEM;;;;
+FE9E;ARABIC LETTER JEEM FINAL FORM;Lo;0;AL;<final> 062C;;;;N;GLYPH FOR FINAL ARABIC JEEM;;;;
+FE9F;ARABIC LETTER JEEM INITIAL FORM;Lo;0;AL;<initial> 062C;;;;N;GLYPH FOR INITIAL ARABIC JEEM;;;;
+FEA0;ARABIC LETTER JEEM MEDIAL FORM;Lo;0;AL;<medial> 062C;;;;N;GLYPH FOR MEDIAL ARABIC JEEM;;;;
+FEA1;ARABIC LETTER HAH ISOLATED FORM;Lo;0;AL;<isolated> 062D;;;;N;GLYPH FOR ISOLATE ARABIC HAA;;;;
+FEA2;ARABIC LETTER HAH FINAL FORM;Lo;0;AL;<final> 062D;;;;N;GLYPH FOR FINAL ARABIC HAA;;;;
+FEA3;ARABIC LETTER HAH INITIAL FORM;Lo;0;AL;<initial> 062D;;;;N;GLYPH FOR INITIAL ARABIC HAA;;;;
+FEA4;ARABIC LETTER HAH MEDIAL FORM;Lo;0;AL;<medial> 062D;;;;N;GLYPH FOR MEDIAL ARABIC HAA;;;;
+FEA5;ARABIC LETTER KHAH ISOLATED FORM;Lo;0;AL;<isolated> 062E;;;;N;GLYPH FOR ISOLATE ARABIC KHAA;;;;
+FEA6;ARABIC LETTER KHAH FINAL FORM;Lo;0;AL;<final> 062E;;;;N;GLYPH FOR FINAL ARABIC KHAA;;;;
+FEA7;ARABIC LETTER KHAH INITIAL FORM;Lo;0;AL;<initial> 062E;;;;N;GLYPH FOR INITIAL ARABIC KHAA;;;;
+FEA8;ARABIC LETTER KHAH MEDIAL FORM;Lo;0;AL;<medial> 062E;;;;N;GLYPH FOR MEDIAL ARABIC KHAA;;;;
+FEA9;ARABIC LETTER DAL ISOLATED FORM;Lo;0;AL;<isolated> 062F;;;;N;GLYPH FOR ISOLATE ARABIC DAL;;;;
+FEAA;ARABIC LETTER DAL FINAL FORM;Lo;0;AL;<final> 062F;;;;N;GLYPH FOR FINAL ARABIC DAL;;;;
+FEAB;ARABIC LETTER THAL ISOLATED FORM;Lo;0;AL;<isolated> 0630;;;;N;GLYPH FOR ISOLATE ARABIC THAL;;;;
+FEAC;ARABIC LETTER THAL FINAL FORM;Lo;0;AL;<final> 0630;;;;N;GLYPH FOR FINAL ARABIC THAL;;;;
+FEAD;ARABIC LETTER REH ISOLATED FORM;Lo;0;AL;<isolated> 0631;;;;N;GLYPH FOR ISOLATE ARABIC RA;;;;
+FEAE;ARABIC LETTER REH FINAL FORM;Lo;0;AL;<final> 0631;;;;N;GLYPH FOR FINAL ARABIC RA;;;;
+FEAF;ARABIC LETTER ZAIN ISOLATED FORM;Lo;0;AL;<isolated> 0632;;;;N;GLYPH FOR ISOLATE ARABIC ZAIN;;;;
+FEB0;ARABIC LETTER ZAIN FINAL FORM;Lo;0;AL;<final> 0632;;;;N;GLYPH FOR FINAL ARABIC ZAIN;;;;
+FEB1;ARABIC LETTER SEEN ISOLATED FORM;Lo;0;AL;<isolated> 0633;;;;N;GLYPH FOR ISOLATE ARABIC SEEN;;;;
+FEB2;ARABIC LETTER SEEN FINAL FORM;Lo;0;AL;<final> 0633;;;;N;GLYPH FOR FINAL ARABIC SEEN;;;;
+FEB3;ARABIC LETTER SEEN INITIAL FORM;Lo;0;AL;<initial> 0633;;;;N;GLYPH FOR INITIAL ARABIC SEEN;;;;
+FEB4;ARABIC LETTER SEEN MEDIAL FORM;Lo;0;AL;<medial> 0633;;;;N;GLYPH FOR MEDIAL ARABIC SEEN;;;;
+FEB5;ARABIC LETTER SHEEN ISOLATED FORM;Lo;0;AL;<isolated> 0634;;;;N;GLYPH FOR ISOLATE ARABIC SHEEN;;;;
+FEB6;ARABIC LETTER SHEEN FINAL FORM;Lo;0;AL;<final> 0634;;;;N;GLYPH FOR FINAL ARABIC SHEEN;;;;
+FEB7;ARABIC LETTER SHEEN INITIAL FORM;Lo;0;AL;<initial> 0634;;;;N;GLYPH FOR INITIAL ARABIC SHEEN;;;;
+FEB8;ARABIC LETTER SHEEN MEDIAL FORM;Lo;0;AL;<medial> 0634;;;;N;GLYPH FOR MEDIAL ARABIC SHEEN;;;;
+FEB9;ARABIC LETTER SAD ISOLATED FORM;Lo;0;AL;<isolated> 0635;;;;N;GLYPH FOR ISOLATE ARABIC SAD;;;;
+FEBA;ARABIC LETTER SAD FINAL FORM;Lo;0;AL;<final> 0635;;;;N;GLYPH FOR FINAL ARABIC SAD;;;;
+FEBB;ARABIC LETTER SAD INITIAL FORM;Lo;0;AL;<initial> 0635;;;;N;GLYPH FOR INITIAL ARABIC SAD;;;;
+FEBC;ARABIC LETTER SAD MEDIAL FORM;Lo;0;AL;<medial> 0635;;;;N;GLYPH FOR MEDIAL ARABIC SAD;;;;
+FEBD;ARABIC LETTER DAD ISOLATED FORM;Lo;0;AL;<isolated> 0636;;;;N;GLYPH FOR ISOLATE ARABIC DAD;;;;
+FEBE;ARABIC LETTER DAD FINAL FORM;Lo;0;AL;<final> 0636;;;;N;GLYPH FOR FINAL ARABIC DAD;;;;
+FEBF;ARABIC LETTER DAD INITIAL FORM;Lo;0;AL;<initial> 0636;;;;N;GLYPH FOR INITIAL ARABIC DAD;;;;
+FEC0;ARABIC LETTER DAD MEDIAL FORM;Lo;0;AL;<medial> 0636;;;;N;GLYPH FOR MEDIAL ARABIC DAD;;;;
+FEC1;ARABIC LETTER TAH ISOLATED FORM;Lo;0;AL;<isolated> 0637;;;;N;GLYPH FOR ISOLATE ARABIC TAH;;;;
+FEC2;ARABIC LETTER TAH FINAL FORM;Lo;0;AL;<final> 0637;;;;N;GLYPH FOR FINAL ARABIC TAH;;;;
+FEC3;ARABIC LETTER TAH INITIAL FORM;Lo;0;AL;<initial> 0637;;;;N;GLYPH FOR INITIAL ARABIC TAH;;;;
+FEC4;ARABIC LETTER TAH MEDIAL FORM;Lo;0;AL;<medial> 0637;;;;N;GLYPH FOR MEDIAL ARABIC TAH;;;;
+FEC5;ARABIC LETTER ZAH ISOLATED FORM;Lo;0;AL;<isolated> 0638;;;;N;GLYPH FOR ISOLATE ARABIC DHAH;;;;
+FEC6;ARABIC LETTER ZAH FINAL FORM;Lo;0;AL;<final> 0638;;;;N;GLYPH FOR FINAL ARABIC DHAH;;;;
+FEC7;ARABIC LETTER ZAH INITIAL FORM;Lo;0;AL;<initial> 0638;;;;N;GLYPH FOR INITIAL ARABIC DHAH;;;;
+FEC8;ARABIC LETTER ZAH MEDIAL FORM;Lo;0;AL;<medial> 0638;;;;N;GLYPH FOR MEDIAL ARABIC DHAH;;;;
+FEC9;ARABIC LETTER AIN ISOLATED FORM;Lo;0;AL;<isolated> 0639;;;;N;GLYPH FOR ISOLATE ARABIC AIN;;;;
+FECA;ARABIC LETTER AIN FINAL FORM;Lo;0;AL;<final> 0639;;;;N;GLYPH FOR FINAL ARABIC AIN;;;;
+FECB;ARABIC LETTER AIN INITIAL FORM;Lo;0;AL;<initial> 0639;;;;N;GLYPH FOR INITIAL ARABIC AIN;;;;
+FECC;ARABIC LETTER AIN MEDIAL FORM;Lo;0;AL;<medial> 0639;;;;N;GLYPH FOR MEDIAL ARABIC AIN;;;;
+FECD;ARABIC LETTER GHAIN ISOLATED FORM;Lo;0;AL;<isolated> 063A;;;;N;GLYPH FOR ISOLATE ARABIC GHAIN;;;;
+FECE;ARABIC LETTER GHAIN FINAL FORM;Lo;0;AL;<final> 063A;;;;N;GLYPH FOR FINAL ARABIC GHAIN;;;;
+FECF;ARABIC LETTER GHAIN INITIAL FORM;Lo;0;AL;<initial> 063A;;;;N;GLYPH FOR INITIAL ARABIC GHAIN;;;;
+FED0;ARABIC LETTER GHAIN MEDIAL FORM;Lo;0;AL;<medial> 063A;;;;N;GLYPH FOR MEDIAL ARABIC GHAIN;;;;
+FED1;ARABIC LETTER FEH ISOLATED FORM;Lo;0;AL;<isolated> 0641;;;;N;GLYPH FOR ISOLATE ARABIC FA;;;;
+FED2;ARABIC LETTER FEH FINAL FORM;Lo;0;AL;<final> 0641;;;;N;GLYPH FOR FINAL ARABIC FA;;;;
+FED3;ARABIC LETTER FEH INITIAL FORM;Lo;0;AL;<initial> 0641;;;;N;GLYPH FOR INITIAL ARABIC FA;;;;
+FED4;ARABIC LETTER FEH MEDIAL FORM;Lo;0;AL;<medial> 0641;;;;N;GLYPH FOR MEDIAL ARABIC FA;;;;
+FED5;ARABIC LETTER QAF ISOLATED FORM;Lo;0;AL;<isolated> 0642;;;;N;GLYPH FOR ISOLATE ARABIC QAF;;;;
+FED6;ARABIC LETTER QAF FINAL FORM;Lo;0;AL;<final> 0642;;;;N;GLYPH FOR FINAL ARABIC QAF;;;;
+FED7;ARABIC LETTER QAF INITIAL FORM;Lo;0;AL;<initial> 0642;;;;N;GLYPH FOR INITIAL ARABIC QAF;;;;
+FED8;ARABIC LETTER QAF MEDIAL FORM;Lo;0;AL;<medial> 0642;;;;N;GLYPH FOR MEDIAL ARABIC QAF;;;;
+FED9;ARABIC LETTER KAF ISOLATED FORM;Lo;0;AL;<isolated> 0643;;;;N;GLYPH FOR ISOLATE ARABIC CAF;;;;
+FEDA;ARABIC LETTER KAF FINAL FORM;Lo;0;AL;<final> 0643;;;;N;GLYPH FOR FINAL ARABIC CAF;;;;
+FEDB;ARABIC LETTER KAF INITIAL FORM;Lo;0;AL;<initial> 0643;;;;N;GLYPH FOR INITIAL ARABIC CAF;;;;
+FEDC;ARABIC LETTER KAF MEDIAL FORM;Lo;0;AL;<medial> 0643;;;;N;GLYPH FOR MEDIAL ARABIC CAF;;;;
+FEDD;ARABIC LETTER LAM ISOLATED FORM;Lo;0;AL;<isolated> 0644;;;;N;GLYPH FOR ISOLATE ARABIC LAM;;;;
+FEDE;ARABIC LETTER LAM FINAL FORM;Lo;0;AL;<final> 0644;;;;N;GLYPH FOR FINAL ARABIC LAM;;;;
+FEDF;ARABIC LETTER LAM INITIAL FORM;Lo;0;AL;<initial> 0644;;;;N;GLYPH FOR INITIAL ARABIC LAM;;;;
+FEE0;ARABIC LETTER LAM MEDIAL FORM;Lo;0;AL;<medial> 0644;;;;N;GLYPH FOR MEDIAL ARABIC LAM;;;;
+FEE1;ARABIC LETTER MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0645;;;;N;GLYPH FOR ISOLATE ARABIC MEEM;;;;
+FEE2;ARABIC LETTER MEEM FINAL FORM;Lo;0;AL;<final> 0645;;;;N;GLYPH FOR FINAL ARABIC MEEM;;;;
+FEE3;ARABIC LETTER MEEM INITIAL FORM;Lo;0;AL;<initial> 0645;;;;N;GLYPH FOR INITIAL ARABIC MEEM;;;;
+FEE4;ARABIC LETTER MEEM MEDIAL FORM;Lo;0;AL;<medial> 0645;;;;N;GLYPH FOR MEDIAL ARABIC MEEM;;;;
+FEE5;ARABIC LETTER NOON ISOLATED FORM;Lo;0;AL;<isolated> 0646;;;;N;GLYPH FOR ISOLATE ARABIC NOON;;;;
+FEE6;ARABIC LETTER NOON FINAL FORM;Lo;0;AL;<final> 0646;;;;N;GLYPH FOR FINAL ARABIC NOON;;;;
+FEE7;ARABIC LETTER NOON INITIAL FORM;Lo;0;AL;<initial> 0646;;;;N;GLYPH FOR INITIAL ARABIC NOON;;;;
+FEE8;ARABIC LETTER NOON MEDIAL FORM;Lo;0;AL;<medial> 0646;;;;N;GLYPH FOR MEDIAL ARABIC NOON;;;;
+FEE9;ARABIC LETTER HEH ISOLATED FORM;Lo;0;AL;<isolated> 0647;;;;N;GLYPH FOR ISOLATE ARABIC HA;;;;
+FEEA;ARABIC LETTER HEH FINAL FORM;Lo;0;AL;<final> 0647;;;;N;GLYPH FOR FINAL ARABIC HA;;;;
+FEEB;ARABIC LETTER HEH INITIAL FORM;Lo;0;AL;<initial> 0647;;;;N;GLYPH FOR INITIAL ARABIC HA;;;;
+FEEC;ARABIC LETTER HEH MEDIAL FORM;Lo;0;AL;<medial> 0647;;;;N;GLYPH FOR MEDIAL ARABIC HA;;;;
+FEED;ARABIC LETTER WAW ISOLATED FORM;Lo;0;AL;<isolated> 0648;;;;N;GLYPH FOR ISOLATE ARABIC WAW;;;;
+FEEE;ARABIC LETTER WAW FINAL FORM;Lo;0;AL;<final> 0648;;;;N;GLYPH FOR FINAL ARABIC WAW;;;;
+FEEF;ARABIC LETTER ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0649;;;;N;GLYPH FOR ISOLATE ARABIC ALEF MAQSURAH;;;;
+FEF0;ARABIC LETTER ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0649;;;;N;GLYPH FOR FINAL ARABIC ALEF MAQSURAH;;;;
+FEF1;ARABIC LETTER YEH ISOLATED FORM;Lo;0;AL;<isolated> 064A;;;;N;GLYPH FOR ISOLATE ARABIC YA;;;;
+FEF2;ARABIC LETTER YEH FINAL FORM;Lo;0;AL;<final> 064A;;;;N;GLYPH FOR FINAL ARABIC YA;;;;
+FEF3;ARABIC LETTER YEH INITIAL FORM;Lo;0;AL;<initial> 064A;;;;N;GLYPH FOR INITIAL ARABIC YA;;;;
+FEF4;ARABIC LETTER YEH MEDIAL FORM;Lo;0;AL;<medial> 064A;;;;N;GLYPH FOR MEDIAL ARABIC YA;;;;
+FEF5;ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM;Lo;0;AL;<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;AL;<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;AL;<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;AL;<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;AL;<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;AL;<final> 0644 0625;;;;N;GLYPH FOR FINAL ARABIC HAMZAH UNDER LIGATURE LAM ALEF;;;;
+FEFB;ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0644 0627;;;;N;GLYPH FOR ISOLATE ARABIC LIGATURE LAM ALEF;;;;
+FEFC;ARABIC LIGATURE LAM WITH ALEF FINAL FORM;Lo;0;AL;<final> 0644 0627;;;;N;GLYPH FOR FINAL ARABIC LIGATURE LAM ALEF;;;;
+FEFF;ZERO WIDTH NO-BREAK SPACE;Cf;0;BN;;;;;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;;;;;
+FF03;FULLWIDTH NUMBER SIGN;Po;0;ET;<wide> 0023;;;;N;;;;;
+FF04;FULLWIDTH DOLLAR SIGN;Sc;0;ET;<wide> 0024;;;;N;;;;;
+FF05;FULLWIDTH PERCENT SIGN;Po;0;ET;<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;;;;
+FF0B;FULLWIDTH PLUS SIGN;Sm;0;ET;<wide> 002B;;;;N;;;;;
+FF0C;FULLWIDTH COMMA;Po;0;CS;<wide> 002C;;;;N;;;;;
+FF0D;FULLWIDTH HYPHEN-MINUS;Pd;0;ET;<wide> 002D;;;;N;;;;;
+FF0E;FULLWIDTH FULL STOP;Po;0;CS;<wide> 002E;;;;N;FULLWIDTH PERIOD;;;;
+FF0F;FULLWIDTH SOLIDUS;Po;0;ES;<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;;;;;
@@ -6733,7 +10412,7 @@ 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;;;;;
+FF1A;FULLWIDTH COLON;Po;0;CS;<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;;;;;
@@ -6806,7 +10485,7 @@ FF61;HALFWIDTH IDEOGRAPHIC FULL STOP;Po;0;ON;<narrow> 3002;;;;N;HALFWIDTH IDEOGR
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;;;;;
+FF65;HALFWIDTH KATAKANA MIDDLE DOT;Pc;0;ON;<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;;;;;
@@ -6863,8 +10542,8 @@ 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;;;;;
+FF9E;HALFWIDTH KATAKANA VOICED SOUND MARK;Lm;0;L;<narrow> 3099;;;;N;;halfwidth katakana-hiragana voiced sound mark;;;
+FF9F;HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK;Lm;0;L;<narrow> 309A;;;;N;;halfwidth katakana-hiragana semi-voiced sound mark;;;
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;;;;
@@ -6917,19 +10596,22 @@ 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;;;;;
+FFE0;FULLWIDTH CENT SIGN;Sc;0;ET;<wide> 00A2;;;;N;;;;;
+FFE1;FULLWIDTH POUND SIGN;Sc;0;ET;<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;;;;
+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;;;;;
+FFE5;FULLWIDTH YEN SIGN;Sc;0;ET;<wide> 00A5;;;;N;;;;;
+FFE6;FULLWIDTH WON SIGN;Sc;0;ET;<wide> 20A9;;;;N;;;;;
+FFE8;HALFWIDTH FORMS LIGHT VERTICAL;So;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;;;;;
+FFF9;INTERLINEAR ANNOTATION ANCHOR;Cf;0;BN;;;;;N;;;;;
+FFFA;INTERLINEAR ANNOTATION SEPARATOR;Cf;0;BN;;;;;N;;;;;
+FFFB;INTERLINEAR ANNOTATION TERMINATOR;Cf;0;BN;;;;;N;;;;;
FFFC;OBJECT REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
diff --git a/lib/unicode/mktables.PL b/lib/unicode/mktables.PL
index 82d83077d9..8627701700 100755
--- a/lib/unicode/mktables.PL
+++ b/lib/unicode/mktables.PL
@@ -1,10 +1,13 @@
#!../../miniperl
+$UnicodeData = "UnicodeData-Latest.txt";
+
# 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;
+mkdir "Eq", 0777;
@todo = (
# typical
@@ -149,6 +152,21 @@ mkdir "To", 0777;
# Jamo
['JamoShort', '1', '$short'],
+
+# Syllables
+
+ ['IsSylV', '$syl eq "V"', ''],
+ ['IsSylU', '$syl eq "U"', ''],
+ ['IsSylI', '$syl eq "I"', ''],
+ ['IsSylA', '$syl eq "A"', ''],
+ ['IsSylE', '$syl eq "E"', ''],
+ ['IsSylC', '$syl eq "C"', ''],
+ ['IsSylO', '$syl eq "O"', ''],
+ ['IsSylWV', '$syl eq "V"', ''],
+ ['IsSylWI', '$syl eq "I"', ''],
+ ['IsSylWA', '$syl eq "A"', ''],
+ ['IsSylWE', '$syl eq "E"', ''],
+ ['IsSylWC', '$syl eq "C"', ''],
);
# This is not written for speed...
@@ -220,8 +238,13 @@ sub proplist {
$split = '($code, $short, $name) = split(/; */); $code =~ s/^U\+//;';
}
+ elsif ($table =~ /^IsSyl/) {
+ open(UD, "syllables.txt") or warn "Can't open $table: $!";
+
+ $split = '($code, $short, $syl) = split(/; */); $code =~ s/^U\+//;';
+ }
else {
- open(UD, "UnicodeData-Latest.txt") or warn "Can't open $table: $!";
+ open(UD, $UnicodeData) or warn "Can't open $UnicodeData: $!";
$split = '($code, $name, $cat, $comb, $bid, $decomp, $dec, $dig, $num, $mir, $uni1,
$comment, $up, $down, $title) = split(/;/);';
@@ -298,3 +321,52 @@ END
}
$out;
}
+
+# Create the equivalence mappings.
+
+open(UNICODEDATA, $UnicodeData) || die "$0: $UnicodeData: $!\n";
+
+while (<UNICODEDATA>) {
+ ($code, $name) = split /;/;
+
+ $code{$name} = $code;
+ $name{$code} = $name;
+
+ next unless $name =~ /^(.+? LETTER .+?) WITH .+( \w+ FORM)?$/;
+
+ push @base, [ $code, $1 ];
+ push @base, [ $code, $1.$2 ] if $2 ne '';
+}
+
+foreach my $b (@base) {
+ ($code, $base) = @$b;
+ next unless exists $code{$base};
+ push @{$unicode{$code{$base}}}, $code;
+# print "$code: $name{$code} -> $base\n",
+}
+
+@unicode = sort keys %unicode;
+
+print "EqUnicode\n";
+if (open(EQ_UNICODE, ">Eq/Unicode")) {
+ foreach my $c (@unicode) {
+ print EQ_UNICODE "$c @{$unicode{$c}}\n";
+ }
+ close EQ_UNICODE;
+} else {
+ die "$0: failed to open Eq/Unicode for writing: $!\n";
+}
+
+print "EqLatin1\n";
+if (open(EQ_LATIN1, ">Eq/Latin1")) {
+ foreach my $c (@unicode) {
+ last if hex($c) > 255;
+ my @c = grep { hex($_) <= 255 } @{$unicode{$c}};
+ next unless @c;
+ print EQ_LATIN1 "$c @c\n";
+ }
+ close EQ_LATIN1;
+} else {
+ die "$0: failed to open Eq/Latin1 for writing: $!\n";
+}
+
diff --git a/lib/unicode/syllables.txt b/lib/unicode/syllables.txt
new file mode 100644
index 0000000000..40e946e6d8
--- /dev/null
+++ b/lib/unicode/syllables.txt
@@ -0,0 +1,1329 @@
+################################################################################
+#
+# V: as "u" in "but" (often represented with schwa or small uppercase lambda)
+# U: as "oo" in "fool"
+# I: as "ea" in "meat"
+# A: as "a" in "father"
+# E: as "a" in "hate"
+# C: the consonant form having no vowel element
+# O: as "o" in "note"
+#
+# Vowel identifiers are assumed short, doubled identifiers are considered long
+# (following Cushitic rules). Dipthong syllables are identified with "W" as
+# per Ethiopic and Canadian syllabary character names.
+#
+#
+# WV WVV WU WUU WI WII WA WAA WAI WAAI WE WEE WC WO WOO
+#
+# V VV U UU I II A AA AI AAI E EE C O OO
+#
+################################################################################
+
+#
+# Ethiopic
+#
+1200; HA; V
+1201; HU; U
+1202; HI; I
+1203; HAA; A
+1204; HEE; E
+1205; HE; C
+1206; HO; O
+1208; LA; V
+1209; LU; U
+120A; LI; I
+120B; LAA; A
+120C; LEE; E
+120D; LE; C
+120E; LO; O
+120F; LWA; WA
+1210; HHA; V
+1211; HHU; U
+1212; HHI; I
+1213; HHAA; A
+1214; HHEE; E
+1215; HHE; C
+1216; HHO; O
+1217; HHWA; WA
+1218; MA; V
+1219; MU; U
+121A; MI; I
+121B; MAA; A
+121C; MEE; E
+121D; ME; C
+121E; MO; O
+121F; MWA; WA
+1220; SZA; V
+1221; SZU; U
+1222; SZI; I
+1223; SZAA; A
+1224; SZEE; E
+1225; SZE; C
+1226; SZO; O
+1227; SZWA; WA
+1228; RA; V
+1229; RU; U
+122A; RI; I
+122B; RAA; A
+122C; REE; E
+122D; RE; C
+122E; RO; O
+122F; RWA; WA
+1230; SA; V
+1231; SU; U
+1232; SI; I
+1233; SAA; A
+1234; SEE; E
+1235; SE; C
+1236; SO; O
+1237; SWA; WA
+1238; SHA; V
+1239; SHU; U
+123A; SHI; I
+123B; SHAA; A
+123C; SHEE; E
+123D; SHE; C
+123E; SHO; O
+123F; SHWA; WA
+1240; QA; V
+1241; QU; U
+1242; QI; I
+1243; QAA; A
+1244; QEE; E
+1245; QE; C
+1246; QO; O
+1248; QWA; WV
+124A; QWI; WI
+124B; QWAA; WA
+124C; QWEE; WE
+124D; QWE; WC
+1250; QHA; V
+1251; QHU; U
+1252; QHI; I
+1253; QHAA; A
+1254; QHEE; E
+1255; QHE; C
+1256; QHO; O
+1258; QHWA; WV
+125A; QHWI; WI
+125B; QHWAA; WA
+125C; QHWEE; WE
+125D; QHWE; WC
+1260; BA; V
+1261; BU; U
+1262; BI; I
+1263; BAA; A
+1264; BEE; E
+1265; BE; C
+1266; BO; O
+1267; BWA; WA
+1268; VA; V
+1269; VU; U
+126A; VI; I
+126B; VAA; A
+126C; VEE; E
+126D; VE; C
+126E; VO; O
+126F; VWA; WA
+1270; TA; V
+1271; TU; U
+1272; TI; I
+1273; TAA; A
+1274; TEE; E
+1275; TE; C
+1276; TO; O
+1277; TWA; WA
+1278; CA; V
+1279; CU; U
+127A; CI; I
+127B; CAA; A
+127C; CEE; E
+127D; CE; C
+127E; CO; O
+127F; CWA; WA
+1280; XA; V
+1281; XU; U
+1282; XI; I
+1283; XAA; A
+1284; XEE; E
+1285; XE; C
+1286; XO; O
+1288; XWA; WV
+128A; XWI; WI
+128B; XWAA; WA
+128C; XWEE; WE
+128D; XWE; WC
+1290; NA; V
+1291; NU; U
+1292; NI; I
+1293; NAA; A
+1294; NEE; E
+1295; NE; C
+1296; NO; O
+1297; NWA; WA
+1298; NYA; V
+1299; NYU; U
+129A; NYI; I
+129B; NYAA; A
+129C; NYEE; E
+129D; NYE; C
+129E; NYO; O
+129F; NYWA; WA
+12A0; GLOTTAL A; V
+12A1; GLOTTAL U; U
+12A2; GLOTTAL I; I
+12A3; GLOTTAL AA; A
+12A4; GLOTTAL EE; E
+12A5; GLOTTAL E; C
+12A6; GLOTTAL O; O
+12A7; GLOTTAL WA; WA
+12A8; KA; V
+12A9; KU; U
+12AA; KI; I
+12AB; KAA; A
+12AC; KEE; E
+12AD; KE; C
+12AE; KO; O
+12B0; KWA; WV
+12B2; KWI; WI
+12B3; KWAA; WA
+12B4; KWEE; WE
+12B5; KWE; WC
+12B8; KXA; V
+12B9; KXU; U
+12BA; KXI; I
+12BB; KXAA; A
+12BC; KXEE; E
+12BD; KXE; C
+12BE; KXO; O
+12C0; KXWA; WV
+12C2; KXWI; WI
+12C3; KXWAA; WA
+12C4; KXWEE; WE
+12C5; KXWE; WC
+12C8; WA; V
+12C9; WU; U
+12CA; WI; I
+12CB; WAA; A
+12CC; WEE; E
+12CD; WE; C
+12CE; WO; O
+12D0; PHARYNGEAL A; V
+12D1; PHARYNGEAL U; U
+12D2; PHARYNGEAL I; I
+12D3; PHARYNGEAL AA; A
+12D4; PHARYNGEAL EE; E
+12D5; PHARYNGEAL E; C
+12D6; PHARYNGEAL O; O
+12D8; ZA; V
+12D9; ZU; U
+12DA; ZI; I
+12DB; ZAA; A
+12DC; ZEE; E
+12DD; ZE; C
+12DE; ZO; O
+12DF; ZWA; WA
+12E0; ZHA; V
+12E1; ZHU; U
+12E2; ZHI; I
+12E3; ZHAA; A
+12E4; ZHEE; E
+12E5; ZHE; C
+12E6; ZHO; O
+12E7; ZHWA; WA
+12E8; YA; V
+12E9; YU; U
+12EA; YI; I
+12EB; YAA; A
+12EC; YEE; E
+12ED; YE; C
+12EE; YO; O
+12F0; DA; V
+12F1; DU; U
+12F2; DI; I
+12F3; DAA; A
+12F4; DEE; E
+12F5; DE; C
+12F6; DO; O
+12F7; DWA; WA
+12F8; DDA; V
+12F9; DDU; U
+12FA; DDI; I
+12FB; DDAA; A
+12FC; DDEE; E
+12FD; DDE; C
+12FE; DDO; O
+12FF; DDWA; WA
+1300; JA; V
+1301; JU; U
+1302; JI; I
+1303; JAA; A
+1304; JEE; E
+1305; JE; C
+1306; JO; O
+1307; JWA; WA
+1308; GA; V
+1309; GU; U
+130A; GI; I
+130B; GAA; A
+130C; GEE; E
+130D; GE; C
+130E; GO; O
+1310; GWA; WV
+1312; GWI; WI
+1313; GWAA; WA
+1314; GWEE; WE
+1315; GWE; WC
+1318; GGA; V
+1319; GGU; U
+131A; GGI; I
+131B; GGAA; A
+131C; GGEE; E
+131D; GGE; C
+131E; GGO; O
+1320; THA; V
+1321; THU; U
+1322; THI; I
+1323; THAA; A
+1324; THEE; E
+1325; THE; C
+1326; THO; O
+1327; THWA; WA
+1328; CHA; V
+1329; CHU; U
+132A; CHI; I
+132B; CHAA; A
+132C; CHEE; E
+132D; CHE; C
+132E; CHO; O
+132F; CHWA; WA
+1330; PHA; V
+1331; PHU; U
+1332; PHI; I
+1333; PHAA; A
+1334; PHEE; E
+1335; PHE; C
+1336; PHO; O
+1337; PHWA; WA
+1338; TSA; V
+1339; TSU; U
+133A; TSI; I
+133B; TSAA; A
+133C; TSEE; E
+133D; TSE; C
+133E; TSO; O
+133F; TSWA; WA
+1340; TZA; V
+1341; TZU; U
+1342; TZI; I
+1343; TZAA; A
+1344; TZEE; E
+1345; TZE; C
+1346; TZO; O
+1348; FA; V
+1349; FU; U
+134A; FI; I
+134B; FAA; A
+134C; FEE; E
+134D; FE; C
+134E; FO; O
+134F; FWA; WA
+1350; PA; V
+1351; PU; U
+1352; PI; I
+1353; PAA; A
+1354; PEE; E
+1355; PE; C
+1356; PO; O
+1357; PWA; WA
+#
+# Cherokee
+#
+13A0; A; A
+13A1; E; E
+13A2; I; I
+13A3; O; O
+13A4; U; U
+13A5; V; V
+13A6; GA; A
+13A7; KA; A
+13A8; GE; E
+13A9; GI; I
+13AA; GO; O
+13AB; GU; U
+13AC; GV; V
+13AD; HA; A
+13AE; HE; E
+13AF; HI; I
+13B0; HO; O
+13B1; HU; U
+13B2; HV; V
+13B3; LA; A
+13B4; LE; E
+13B5; LI; I
+13B6; LO; O
+13B7; LU; U
+13B8; LV; V
+13B9; MA; A
+13BA; ME; E
+13BB; MI; I
+13BC; MO; O
+13BD; MU; U
+13BE; NA; A
+13BF; HNA; A
+13C0; NAH; C
+13C1; NE; E
+13C2; NI; I
+13C3; NO; O
+13C4; NU; U
+13C5; NV; V
+13C6; QUA; A
+13C7; QUE; E
+13C8; QUI; I
+13C9; QUO; O
+13CA; QUU; U
+13CB; QUV; V
+13CC; SA; A
+13CD; S; C
+13CE; SE; E
+13CF; SI; I
+13D0; SO; O
+13D1; SU; U
+13D2; SV; V
+13D3; DA; A
+13D4; TA; A
+13D5; DE; E
+13D6; TE; E
+13D7; DI; I
+13D8; TI; I
+13D9; DO; O
+13DA; DU; U
+13DB; DV; V
+13DC; DLA; A
+13DD; TLA; A
+13DE; TLE; E
+13DF; TLI; I
+13E0; TLO; O
+13E1; TLU; U
+13E2; TLV; V
+13E3; TSA; A
+13E4; TSE; E
+13E5; TSI; I
+13E6; TSO; O
+13E7; TSU; U
+13E8; TSV; V
+13E9; WA; A
+13EA; WE; E
+13EB; WI; I
+13EC; WO; O
+13ED; WU; U
+13EE; WV; V
+13EF; YA; A
+13F0; YE; E
+13F1; YI; I
+13F2; YO; O
+13F3; YU; U
+13F4; YV; V
+#
+# 1400 Unified Canadian Aboriginal Syllabics 167F
+#
+1401; E; E
+1402; AAI; AAI
+1403; I; I
+1404; II; II
+1405; O; O
+1406; OO; OO
+1407; Y-CREE OO; OO
+1408; CARRIER EE; EE
+1409; CARRIER I; I
+140A; A; A
+140B; AA; AA
+140C; WE; WE
+140D; WEST-CREE WE; WE
+140E; WI; WI
+140F; WEST-CREE WI; WI
+1410; WII; WII
+1411; WEST-CREE WII; WII
+1412; WO; WO
+1413; WEST-CREE WO; WO
+1414; WOO; WOO
+1415; WEST-CREE WOO; WOO
+1416; NASKAPI WOO; WOO
+1417; WA; WA
+1418; WEST-CREE WA; WA
+1419; WAA; WAA
+141A; WEST-CREE WAA; WAA
+141B; NASKAPI WAA; WAA
+141C; AI; AI
+141D; Y-CREE W; C
+142B; EN; C
+142C; IN; C
+142D; ON; C
+142E; AN; C
+142F; PE; E
+1430; PAAI; AAI
+1431; PI; I
+1432; PII; II
+1433; PO; O
+1434; POO; OO
+1435; Y-CREE POO; OO
+1436; CARRIER HEE; EE
+1437; CARRIER HI; I
+1438; PA; A
+1439; PAA; AA
+143A; PWE; WE
+143B; WEST-CREE PWE; WE
+143C; PWI; WI
+143D; WEST-CREE PWI; WI
+143E; PWII; WII
+143F; WEST-CREE PWII; WII
+1440; PWO; WO
+1441; WEST-CREE PWO; WO
+1442; PWOO; WOO
+1443; WEST-CREE PWOO; WOO
+1444; PWA; WA
+1445; WEST-CREE PWA; WA
+1446; PWAA; WAA
+1447; WEST-CREE PWAA; WAA
+1448; Y-CREE PWAA; WAA
+1449; P; C
+144A; WEST-CREE P; C
+144B; CARRIER H; C
+144C; TE; E
+144D; TAAI; AAI
+144E; TI; I
+144F; TII; II
+1450; TO; O
+1451; TOO; OO
+1452; Y-CREE TOO; OO
+1453; CARRIER DEE; EE
+1454; CARRIER DI; I
+1455; TA; A
+1456; TAA; AA
+1457; TWE; WE
+1458; WEST-CREE TWE; WE
+1459; TWI; WI
+145A; WEST-CREE TWI; WI
+145B; TWII; WII
+145C; WEST-CREE TWII; WII
+145D; TWO; WO
+145E; WEST-CREE TWO; WO
+145F; TWOO; WOO
+1460; WEST-CREE TWOO; WOO
+1461; TWA; WA
+1462; WEST-CREE TWA; WA
+1463; TWAA; WAA
+1464; WEST-CREE TWAA; WAA
+1465; NASKAPI TWAA; WAA
+1466; T; C
+1467; TTE; E
+1468; TTI; I
+1469; TTO; O
+146A; TTA; A
+146B; KE; E
+146C; KAAI; AAI
+146D; KI; I
+146E; KII; II
+146F; KO; O
+1470; KOO; OO
+1471; Y-CREE KOO; OO
+1472; KA; A
+1473; KAA; AA
+1474; KWE; WE
+1475; WEST-CREE KWE; WE
+1476; KWI; WI
+1477; WEST-CREE KWI; WI
+1478; KWII; WII
+1479; WEST-CREE KWII; WII
+147A; KWO; WO
+147B; WEST-CREE KWO; WO
+147C; KWOO; WOO
+147D; WEST-CREE KWOO; WOO
+147E; KWA; WA
+147F; WEST-CREE KWA; WA
+1480; KWAA; WAA
+1481; WEST-CREE KWAA; WAA
+1482; NASKAPI KWAA; WAA
+1483; K; C
+1484; KW; WC
+1485; SOUTH-SLAVEY KEH; C
+1486; SOUTH-SLAVEY KIH; C
+1487; SOUTH-SLAVEY KOH; C
+1488; SOUTH-SLAVEY KAH; C
+1489; CE; E
+148A; CAAI; AAI
+148B; CI; I
+148C; CII; II
+148D; CO; O
+148E; COO; OO
+148F; Y-CREE COO; OO
+1490; CA; A
+1491; CAA; AA
+1492; CWE; WE
+1493; WEST-CREE CWE; WE
+1494; CWI; WI
+1495; WEST-CREE CWI; WI
+1496; CWII; WII
+1497; WEST-CREE CWII; WII
+1498; CWO; WO
+1499; WEST-CREE CWO; WO
+149A; CWOO; WOO
+149B; WEST-CREE CWOO; WOO
+149C; CWA; WA
+149D; WEST-CREE CWA; WA
+149E; CWAA; WAA
+149F; WEST-CREE CWAA; WAA
+14A0; NASKAPI CWAA; WAA
+14A1; C; C
+14A2; SAYISI TH;
+14A3; ME; E
+14A4; MAAI; AAI
+14A5; MI; I
+14A6; MII; II
+14A7; MO; O
+14A8; MOO; OO
+14A9; Y-CREE MOO; OO
+14AA; MA; A
+14AB; MAA; AA
+14AC; MWE; WE
+14AD; WEST-CREE MWE; WE
+14AE; MWI; WI
+14AF; WEST-CREE MWI; WI
+14B0; MWII; WII
+14B1; WEST-CREE MWII; WII
+14B2; MWO; WO
+14B3; WEST-CREE MWO; WO
+14B4; MWOO; WOO
+14B5; WEST-CREE MWOO; WOO
+14B6; MWA; WA
+14B7; WEST-CREE MWA; WA
+14B8; MWAA; WAA
+14B9; WEST-CREE MWAA; WAA
+14BA; NASKAPI MWAA; WAA
+14BB; M; C
+14BC; WEST-CREE M; C
+14BD; MH; C
+14BE; ATHAPASCAN M; C
+14BF; SAYISI M; C
+14C0; NE; E
+14C1; NAAI; AAI
+14C2; NI; I
+14C3; NII; II
+14C4; NO; O
+14C5; NOO; OO
+14C6; Y-CREE NOO; OO
+14C7; NA; A
+14C8; NAA; AA
+14C9; NWE; WE
+14CA; WEST-CREE NWE; WE
+14CB; NWA; WA
+14CC; WEST-CREE NWA; WA
+14CD; NWAA; WAA
+14CE; WEST-CREE NWAA; WAA
+14CF; NASKAPI NWAA; WAA
+14D0; N; C
+14D1; CARRIER NG; C
+14D2; NH; C
+14D3; LE; E
+14D4; LAAI; AAI
+14D5; LI; I
+14D6; LII; II
+14D7; LO; O
+14D8; LOO; OO
+14D9; Y-CREE LOO; OO
+14DA; LA; A
+14DB; LAA; AA
+14DC; LWE; WE
+14DD; WEST-CREE LWE; WE
+14DE; LWI; WI
+14DF; WEST-CREE LWI; WI
+14E0; LWII; WII
+14E1; WEST-CREE LWII; WII
+14E2; LWO; WO
+14E3; WEST-CREE LWO; WO
+14E4; LWOO; WOO
+14E5; WEST-CREE LWOO; WOO
+14E6; LWA; WA
+14E7; WEST-CREE LWA; WA
+14E8; LWAA; WAA
+14E9; WEST-CREE LWAA; WAA
+14EA; L; C
+14EB; WEST-CREE L; C
+14EC; MEDIAL L; C
+14ED; SE; E
+14EE; SAAI; AAI
+14EF; SI; I
+14F0; SII; II
+14F1; SO; O
+14F2; SOO; OO
+14F3; Y-CREE SOO; OO
+14F4; SA; A
+14F5; SAA; AA
+14F6; SWE; WE
+14F7; WEST-CREE SWE; WE
+14F8; SWI; WI
+14F9; WEST-CREE SWI; WI
+14FA; SWII; WII
+14FB; WEST-CREE SWII; WII
+14FC; SWO; WO
+14FD; WEST-CREE SWO; WO
+14FE; SWOO; WOO
+14FF; WEST-CREE SWOO; WOO
+1500; SWA; WA
+1501; WEST-CREE SWA; WA
+1502; SWAA; WAA
+1503; WEST-CREE SWAA; WAA
+1504; NASKAPI SWAA; WAA
+1505; S; C
+1506; ATHAPASCAN S; C
+1507; SW; WC
+1508; BLACKFOOT S; C
+1509; MOOSE-CREE SK;C
+150A; NASKAPI SKW; C
+150B; NASKAPI S-W; C
+150C; NASKAPI SPWA; WA
+150D; NASKAPI STWA; WA
+150E; NASKAPI SKWA; WA
+150F; NASKAPI SCWA; WA
+1510; SHE; E
+1511; SHI; I
+1512; SHII; II
+1513; SHO; O
+1514; SHOO; OO
+1515; SHA; A
+1516; SHAA; AA
+1517; SHWE; WE
+1518; WEST-CREE SHWE; WE
+1519; SHWI; WI
+151A; WEST-CREE SHWI; WI
+151B; SHWII; WII
+151C; WEST-CREE SHWII; WII
+151D; SHWO; WO
+151E; WEST-CREE SHWO; WO
+151F; SHWOO; WOO
+1520; WEST-CREE SHWOO; WOO
+1521; SHWA; WA
+1522; WEST-CREE SHWA; WA
+1523; SHWAA; WAA
+1524; WEST-CREE SHWAA; WAA
+1525; SH; C
+1526; YE; E
+1527; YAAI; AAI
+1528; YI; I
+1529; YII; II
+152A; YO; O
+152B; YOO; OO
+152C; Y-CREE YOO; OO
+152D; YA; A
+152E; YAA; AA
+152F; YWE; WE
+1530; WEST-CREE YWE; WE
+1531; YWI; WI
+1532; WEST-CREE YWI; WI
+1533; YWII; WII
+1534; WEST-CREE YWII; WII
+1535; YWO; WO
+1536; WEST-CREE YWO; WO
+1537; YWOO; WOO
+1538; WEST-CREE YWOO; WOO
+1539; YWA; WA
+153A; WEST-CREE YWA; WA
+153B; YWAA; WAA
+153C; WEST-CREE YWAA; WAA
+153D; NASKAPI YWAA; WAA
+153E; Y; C
+153F; BIBLE-CREE Y; C
+1540; WEST-CREE Y; C
+1541; SAYISI YI; I
+1542; RE; E
+1543; R-CREE RE; E
+1544; WEST-CREE LE; E
+1545; RAAI; AAI
+1546; RI; I
+1547; RII; II
+1548; RO; O
+1549; ROO; OO
+154A; WEST-CREE LO; O
+154B; RA; A
+154C; RAA; AA
+154D; WEST-CREE LA; A
+154E; RWAA; WAA
+154F; WEST-CREE RWAA; WAA
+1550; R; C
+1551; WEST-CREE R; C
+1552; MEDIAL R; C
+1553; FE; E
+1554; FAAI; AAI
+1555; FI; I
+1556; FII; II
+1557; FO; O
+1558; FOO; OO
+1559; FA; A
+155A; FAA; AA
+155B; FWAA; WAA
+155C; WEST-CREE FWAA; WAA
+155D; F; C
+155E; THE; E
+155F; N-CREE THE; E
+1560; THI; I
+1561; N-CREE THI; I
+1562; THII; II
+1563; N-CREE THII; II
+1564; THO; O
+1565; THOO; OO
+1566; THA; A
+1567; THAA; AA
+1568; THWAA; WAA
+1569; WEST-CREE THWAA; WAA
+156A; TH; C
+156B; TTHE; E
+156C; TTHI; I
+156D; TTHO; O
+156E; TTHA; A
+156F; TTH; C
+1570; TYE; E
+1571; TYI; I
+1572; TYO; O
+1573; TYA; A
+1574; NUNAVIK HE; E
+1575; NUNAVIK HI; I
+1576; NUNAVIK HII; II
+1577; NUNAVIK HO; O
+1578; NUNAVIK HOO; OO
+1579; NUNAVIK HA; A
+157A; NUNAVIK HAA; AA
+157B; NUNAVIK H; C
+157C; NUNAVUT H; C
+157D; HK; C
+157E; QAAI; AAI
+157F; QI; I
+1580; QII; II
+1581; QO; O
+1582; QOO; OO
+1583; QA; A
+1584; QAA; AA
+1585; Q; C
+1586; TLHE; E
+1587; TLHI; I
+1588; TLHO; O
+1589; TLHA; A
+158A; WEST-CREE RE; E
+158B; WEST-CREE RI; I
+158C; WEST-CREE RO; O
+158D; WEST-CREE RA; A
+158E; NGAAI; AAI
+158F; NGI; I
+1590; NGII; II
+1591; NGO; O
+1592; NGOO; OO
+1593; NGA; A
+1594; NGAA; AA
+1595; NG; C
+1596; NNG; C
+1597; SAYISI SHE; E
+1598; SAYISI SHI; I
+1599; SAYISI SHO; O
+159A; SAYISI SHA; A
+159B; WOODS-CREE THE; E
+159C; WOODS-CREE THI; I
+159D; WOODS-CREE THO; O
+159E; WOODS-CREE THA; A
+159F; WOODS-CREE TH; C
+15A0; LHI; I
+15A1; LHII; II
+15A2; LHO; O
+15A3; LHOO; OO
+15A4; LHA; A
+15A5; LHAA; AA
+15A6; LH; C
+15A7; TH-CREE THE; E
+15A8; TH-CREE THI; I
+15A9; TH-CREE THII; II
+15AA; TH-CREE THO; O
+15AB; TH-CREE THOO; OO
+15AC; TH-CREE THA; A
+15AD; TH-CREE THAA; AA
+15AE; TH-CREE TH; C
+15AF; AIVILIK B; C
+15B0; BLACKFOOT E; E
+15B1; BLACKFOOT I; I
+15B2; BLACKFOOT O; O
+15B3; BLACKFOOT A; A
+15B4; BLACKFOOT WE; E
+15B5; BLACKFOOT WI; I
+15B6; BLACKFOOT WO; O
+15B7; BLACKFOOT WA; A
+15B8; BLACKFOOT NE; E
+15B9; BLACKFOOT NI; I
+15BA; BLACKFOOT NO; O
+15BB; BLACKFOOT NA; A
+15BC; BLACKFOOT KE; E
+15BD; BLACKFOOT KI; I
+15BE; BLACKFOOT KO; O
+15BF; BLACKFOOT KA; A
+15C0; SAYISI HE; E
+15C1; SAYISI HI; I
+15C2; SAYISI HO; O
+15C3; SAYISI HA; A
+15C4; CARRIER GHU; U
+15C5; CARRIER GHO; O
+15C6; CARRIER GHE; E
+15C7; CARRIER GHEE; EE
+15C8; CARRIER GHI; I
+15C9; CARRIER GHA; A
+15CA; CARRIER RU; U
+15CB; CARRIER RO; O
+15CC; CARRIER RE; E
+15CD; CARRIER REE; EE
+15CE; CARRIER RI; I
+15CF; CARRIER RA; A
+15D0; CARRIER WU; U
+15D1; CARRIER WO; O
+15D2; CARRIER WE; E
+15D3; CARRIER WEE; EE
+15D4; CARRIER WI; I
+15D5; CARRIER WA; A
+15D6; CARRIER HWU; WU
+15D7; CARRIER HWO; WO
+15D8; CARRIER HWE; WE
+15D9; CARRIER HWEE; WEE
+15DA; CARRIER HWI; WI
+15DB; CARRIER HWA; WA
+15DC; CARRIER THU; U
+15DD; CARRIER THO; O
+15DE; CARRIER THE; E
+15DF; CARRIER THEE; EE
+15E0; CARRIER THI; I
+15E1; CARRIER THA; A
+15E2; CARRIER TTU; U
+15E3; CARRIER TTO; O
+15E4; CARRIER TTE; E
+15E5; CARRIER TTEE; EE
+15E6; CARRIER TTI; I
+15E7; CARRIER TTA; A
+15E8; CARRIER PU; U
+15E9; CARRIER PO; O
+15EA; CARRIER PE; E
+15EB; CARRIER PEE; EE
+15EC; CARRIER PI; I
+15ED; CARRIER PA; A
+15EE; CARRIER P;
+15EF; CARRIER GU; U
+15F0; CARRIER GO; O
+15F1; CARRIER GE; E
+15F2; CARRIER GEE; EE
+15F3; CARRIER GI; I
+15F4; CARRIER GA; A
+15F5; CARRIER KHU; U
+15F6; CARRIER KHO; O
+15F7; CARRIER KHE; E
+15F8; CARRIER KHEE; EE
+15F9; CARRIER KHI; I
+15FA; CARRIER KHA; A
+15FB; CARRIER KKU; U
+15FC; CARRIER KKO; O
+15FD; CARRIER KKE; E
+15FE; CARRIER KKEE; EE
+15FF; CARRIER KKI; I
+1600; CARRIER KKA; A
+1601; CARRIER KK;
+1602; CARRIER NU; U
+1603; CARRIER NO; O
+1604; CARRIER NE; E
+1605; CARRIER NEE; EE
+1606; CARRIER NI; I
+1607; CARRIER NA; A
+1608; CARRIER MU; U
+1609; CARRIER MO; O
+160A; CARRIER ME; E
+160B; CARRIER MEE; EE
+160C; CARRIER MI; I
+160D; CARRIER MA; A
+160E; CARRIER YU; U
+160F; CARRIER YO; O
+1610; CARRIER YE; E
+1611; CARRIER YEE; EE
+1612; CARRIER YI; I
+1613; CARRIER YA; A
+1614; CARRIER JU; U
+1615; SAYISI JU; U
+1616; CARRIER JO; O
+1617; CARRIER JE; E
+1618; CARRIER JEE; EE
+1619; CARRIER JI; I
+161A; SAYISI JI; I
+161B; CARRIER JA; A
+161C; CARRIER JJU; U
+161D; CARRIER JJO; O
+161E; CARRIER JJE; E
+161F; CARRIER JJEE; EE
+1620; CARRIER JJI; I
+1621; CARRIER JJA; A
+1622; CARRIER LU; U
+1623; CARRIER LO; O
+1624; CARRIER LE; E
+1625; CARRIER LEE; EE
+1626; CARRIER LI; I
+1627; CARRIER LA; A
+1628; CARRIER DLU; U
+1629; CARRIER DLO; O
+162A; CARRIER DLE; E
+162B; CARRIER DLEE; EE
+162C; CARRIER DLI; I
+162D; CARRIER DLA; A
+162E; CARRIER LHU; U
+162F; CARRIER LHO; O
+1630; CARRIER LHE; E
+1631; CARRIER LHEE; EE
+1632; CARRIER LHI; I
+1633; CARRIER LHA; A
+1634; CARRIER TLHU; U
+1635; CARRIER TLHO; O
+1636; CARRIER TLHE; E
+1637; CARRIER TLHEE; EE
+1638; CARRIER TLHI; I
+1639; CARRIER TLHA; A
+163A; CARRIER TLU; U
+163B; CARRIER TLO; O
+163C; CARRIER TLE; E
+163D; CARRIER TLEE; EE
+163E; CARRIER TLI; I
+163F; CARRIER TLA; A
+1640; CARRIER ZU; U
+1641; CARRIER ZO; O
+1642; CARRIER ZE; E
+1643; CARRIER ZEE; EE
+1644; CARRIER ZI; I
+1645; CARRIER ZA; A
+1646; CARRIER Z;
+1647; CARRIER INITIAL Z;
+1648; CARRIER DZU; U
+1649; CARRIER DZO; O
+164A; CARRIER DZE; E
+164B; CARRIER DZEE; EE
+164C; CARRIER DZI; I
+164D; CARRIER DZA; A
+164E; CARRIER SU; U
+164F; CARRIER SO; O
+1650; CARRIER SE; E
+1651; CARRIER SEE; EE
+1652; CARRIER SI; I
+1653; CARRIER SA; A
+1654; CARRIER SHU; U
+1655; CARRIER SHO; O
+1656; CARRIER SHE; E
+1657; CARRIER SHEE; EE
+1658; CARRIER SHI; I
+1659; CARRIER SHA; A
+165A; CARRIER SH;
+165B; CARRIER TSU; U
+165C; CARRIER TSO; O
+165D; CARRIER TSE; E
+165E; CARRIER TSEE; EE
+165F; CARRIER TSI; I
+1660; CARRIER TSA; A
+1661; CARRIER CHU; U
+1662; CARRIER CHO; O
+1663; CARRIER CHE; E
+1664; CARRIER CHEE; EE
+1665; CARRIER CHI; I
+1666; CARRIER CHA; A
+1667; CARRIER TTSU; U
+1668; CARRIER TTSO; O
+1669; CARRIER TTSE; E
+166A; CARRIER TTSEE; EE
+166B; CARRIER TTSI; I
+166C; CARRIER TTSA; A
+166F; QAI; AI
+1670; NGAI; AI
+1671; NNGI; I
+1672; NNGII; II
+1673; NNGO; O
+1674; NNGOO; OO
+1675; NNGA; A
+1676; NNGAA; AA
+#
+# Katakana
+#
+30A1; SMALL A; A
+30A2; A; A
+30A3; SMALL I; I
+30A4; I; I
+30A5; SMALL U; U
+30A6; U; U
+30A7; SMALL E; E
+30A8; E; E
+30A9; SMALL O; O
+30AA; O; O
+30AB; KA; A
+30AC; GA; A
+30AD; KI; I
+30AE; GI; I
+30AF; KU; U
+30B0; GU; U
+30B1; KE; E
+30B2; GE; E
+30B3; KO; O
+30B4; GO; O
+30B5; SA; A
+30B6; ZA; A
+30B7; SI; I
+30B8; ZI; I
+30B9; SU; U
+30BA; ZU; U
+30BB; SE; E
+30BC; ZE; E
+30BD; SO; O
+30BE; ZO; O
+30BF; TA; A
+30C0; DA; A
+30C1; TI; I
+30C2; DI; I
+30C3; SMALL TU; U
+30C4; TU; U
+30C5; DU; U
+30C6; TE; E
+30C7; DE; E
+30C8; TO; O
+30C9; DO; O
+30CA; NA; A
+30CB; NI; I
+30CC; NU; U
+30CD; NE; E
+30CE; NO; O
+30CF; HA; A
+30D0; BA; A
+30D1; PA; A
+30D2; HI; I
+30D3; BI; I
+30D4; PI; I
+30D5; HU; U
+30D6; BU; U
+30D7; PU; U
+30D8; HE; E
+30D9; BE; E
+30DA; PE; E
+30DB; HO; O
+30DC; BO; O
+30DD; PO; O
+30DE; MA; A
+30DF; MI; I
+30E0; MU; U
+30E1; ME; E
+30E2; MO; O
+30E3; SMALL YA; A
+30E4; YA; A
+30E5; SMALL YU; U
+30E6; YU; U
+30E7; SMALL YO; O
+30E8; YO; O
+30E9; RA; A
+30EA; RI; I
+30EB; RU; U
+30EC; RE; E
+30ED; RO; O
+30EE; SMALL WA; A
+30EF; WA; A
+30F0; WI; I
+30F1; WE; E
+30F2; WO; O
+30F3; N; C
+30F4; VU; U
+30F5; SMALL KA; A
+30F6; SMALL KE; E
+30F7; VA; A
+30F8; VI; I
+30F9; VE; E
+30FA; VO; O
+32D0; CIRCLED KATAKANA A; A
+32D1; CIRCLED KATAKANA I; I
+32D2; CIRCLED KATAKANA U; U
+32D3; CIRCLED KATAKANA E; E
+32D4; CIRCLED KATAKANA O; O
+32D5; CIRCLED KATAKANA KA; A
+32D6; CIRCLED KATAKANA KI; I
+32D7; CIRCLED KATAKANA KU; U
+32D8; CIRCLED KATAKANA KE; E
+32D9; CIRCLED KATAKANA KO; O
+32DA; CIRCLED KATAKANA SA; A
+32DB; CIRCLED KATAKANA SI; I
+32DC; CIRCLED KATAKANA SU; U
+32DD; CIRCLED KATAKANA SE; E
+32DE; CIRCLED KATAKANA SO; O
+32DF; CIRCLED KATAKANA TA; A
+32E0; CIRCLED KATAKANA TI; I
+32E1; CIRCLED KATAKANA TU; U
+32E2; CIRCLED KATAKANA TE; E
+32E3; CIRCLED KATAKANA TO; O
+32E4; CIRCLED KATAKANA NA; A
+32E5; CIRCLED KATAKANA NI; I
+32E6; CIRCLED KATAKANA NU; U
+32E7; CIRCLED KATAKANA NE; E
+32E8; CIRCLED KATAKANA NO; O
+32E9; CIRCLED KATAKANA HA; A
+32EA; CIRCLED KATAKANA HI; I
+32EB; CIRCLED KATAKANA HU; U
+32EC; CIRCLED KATAKANA HE; E
+32ED; CIRCLED KATAKANA HO; O
+32EE; CIRCLED KATAKANA MA; A
+32EF; CIRCLED KATAKANA MI; I
+32F0; CIRCLED KATAKANA MU; U
+32F1; CIRCLED KATAKANA ME; E
+32F2; CIRCLED KATAKANA MO; O
+32F3; CIRCLED KATAKANA YA; A
+32F4; CIRCLED KATAKANA YU; U
+32F5; CIRCLED KATAKANA YO; O
+32F6; CIRCLED KATAKANA RA; A
+32F7; CIRCLED KATAKANA RI; I
+32F8; CIRCLED KATAKANA RU; U
+32F9; CIRCLED KATAKANA RE; E
+32FA; CIRCLED KATAKANA RO; O
+32FB; CIRCLED KATAKANA WA; A
+32FC; CIRCLED KATAKANA WI; I
+32FD; CIRCLED KATAKANA WE; E
+32FE; CIRCLED KATAKANA WO; O
+#
+# Katakana
+#
+FF66; HALFWIDTH WO; O
+FF67; HALFWIDTH SMALL A; A
+FF68; HALFWIDTH SMALL I; I
+FF69; HALFWIDTH SMALL U; U
+FF6A; HALFWIDTH SMALL E; E
+FF6B; HALFWIDTH SMALL O; O
+FF6C; HALFWIDTH SMALL YA; A
+FF6D; HALFWIDTH SMALL YU; U
+FF6E; HALFWIDTH SMALL YO; O
+FF6F; HALFWIDTH SMALL TU; U
+FF71; HALFWIDTH A; A
+FF72; HALFWIDTH I; I
+FF73; HALFWIDTH U; U
+FF74; HALFWIDTH E; E
+FF75; HALFWIDTH O; O
+FF76; HALFWIDTH KA; A
+FF77; HALFWIDTH KI; I
+FF78; HALFWIDTH KU; U
+FF79; HALFWIDTH KE; E
+FF7A; HALFWIDTH KO; O
+FF7B; HALFWIDTH SA; A
+FF7C; HALFWIDTH SI; I
+FF7D; HALFWIDTH SU; U
+FF7E; HALFWIDTH SE; E
+FF7F; HALFWIDTH SO; O
+FF80; HALFWIDTH TA; A
+FF81; HALFWIDTH TI; I
+FF82; HALFWIDTH TU; U
+FF83; HALFWIDTH TE; E
+FF84; HALFWIDTH TO; O
+FF85; HALFWIDTH NA; A
+FF86; HALFWIDTH NI; I
+FF87; HALFWIDTH NU; U
+FF88; HALFWIDTH NE; E
+FF89; HALFWIDTH NO; O
+FF8A; HALFWIDTH HA; A
+FF8B; HALFWIDTH HI; I
+FF8C; HALFWIDTH HU; U
+FF8D; HALFWIDTH HE; E
+FF8E; HALFWIDTH HO; O
+FF8F; HALFWIDTH MA; A
+FF90; HALFWIDTH MI; I
+FF91; HALFWIDTH MU; U
+FF92; HALFWIDTH ME; E
+FF93; HALFWIDTH MO; O
+FF94; HALFWIDTH YA; A
+FF95; HALFWIDTH YU; U
+FF96; HALFWIDTH YO; O
+FF97; HALFWIDTH RA; A
+FF98; HALFWIDTH RI; I
+FF99; HALFWIDTH RU; U
+FF9A; HALFWIDTH RE; E
+FF9B; HALFWIDTH RO; O
+FF9C; HALFWIDTH WA; A
+FF9D; HALFWIDTH N; C
+#
+# Hiragana
+#
+3041; SMALL A; A
+3042; A; A
+3043; SMALL I; I
+3044; I; I
+3045; SMALL U; U
+3046; U; U
+3047; SMALL E; E
+3048; E; E
+3049; SMALL O; O
+304A; O; O
+304B; KA; A
+304C; GA; A
+304D; KI; I
+304E; GI; I
+304F; KU; U
+3050; GU; U
+3051; KE; E
+3052; GE; E
+3053; KO; O
+3054; GO; O
+3055; SA; A
+3056; ZA; A
+3057; SI; I
+3058; ZI; I
+3059; SU; U
+305A; ZU; U
+305B; SE; E
+305C; ZE; E
+305D; SO; O
+305E; ZO; O
+305F; TA; A
+3060; DA; A
+3061; TI; I
+3062; DI; I
+3063; SMALL TU; U
+3064; TU; U
+3065; DU; U
+3066; TE; E
+3067; DE; E
+3068; TO; O
+3069; DO; O
+306A; NA; A
+306B; NI; I
+306C; NU; U
+306D; NE; E
+306E; NO; O
+306F; HA; A
+3070; BA; A
+3071; PA; A
+3072; HI; I
+3073; BI; I
+3074; PI; I
+3075; HU; U
+3076; BU; U
+3077; PU; U
+3078; HE; E
+3079; BE; E
+307A; PE; E
+307B; HO; O
+307C; BO; O
+307D; PO; O
+307E; MA; A
+307F; MI; I
+3080; MU; U
+3081; ME; E
+3082; MO; O
+3083; SMALL YA; A
+3084; YA; A
+3085; SMALL YU; U
+3086; YU; U
+3087; SMALL YO; O
+3088; YO; O
+3089; RA; A
+308A; RI; I
+308B; RU; U
+308C; RE; E
+308D; RO; O
+308E; SMALL WA; A
+308F; WA; A
+3090; WI; I
+3091; WE; E
+3092; WO; O
+3093; N; N
+3094; VU; U
diff --git a/lib/utf8.pm b/lib/utf8.pm
index beb4568e2a..8f650d9d00 100644
--- a/lib/utf8.pm
+++ b/lib/utf8.pm
@@ -58,7 +58,7 @@ 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
+8-bit byte rather than a character. In fact, if C<-w> is turned on, it will
produce a warning that you might be generating invalid UTF-8.
=item *
@@ -71,9 +71,8 @@ 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>).)
+"." matches a character instead of a byte. (However, the C<\O> pattern
+is provided to force a match a single byte ("octet", hence C<\O>).)
=item *
diff --git a/lib/warning.pm b/lib/warning.pm
index 1df83d946f..70ed91e56c 100644
--- a/lib/warning.pm
+++ b/lib/warning.pm
@@ -33,9 +33,10 @@ use Carp ;
'all' => "\x55\x55\x55\x55\x55\x55\x55\x55\x55", # [0..35]
'ambiguous' => "\x00\x00\x00\x00\x01\x00\x00\x00\x00", # [16]
'closed' => "\x04\x00\x00\x00\x00\x00\x00\x00\x00", # [1]
- 'closure' => "\x00\x00\x00\x00\x00\x00\x10\x00\x00", # [26]
+ 'closure' => "\x00\x00\x00\x00\x00\x00\x40\x00\x00", # [27]
'debugging' => "\x00\x00\x00\x01\x00\x00\x00\x00\x00", # [12]
'deprecated' => "\x00\x00\x00\x00\x04\x00\x00\x00\x00", # [17]
+ 'digit' => "\x00\x00\x00\x00\x10\x00\x00\x00\x00", # [18]
'exec' => "\x10\x00\x00\x00\x00\x00\x00\x00\x00", # [2]
'inplace' => "\x00\x00\x00\x04\x00\x00\x00\x00\x00", # [13]
'internal' => "\x00\x00\x00\x10\x00\x00\x00\x00\x00", # [14]
@@ -43,36 +44,39 @@ use Carp ;
'misc' => "\x00\x10\x00\x00\x00\x00\x00\x00\x00", # [6]
'newline' => "\x40\x00\x00\x00\x00\x00\x00\x00\x00", # [3]
'numeric' => "\x00\x40\x00\x00\x00\x00\x00\x00\x00", # [7]
- 'octal' => "\x00\x00\x00\x00\x10\x00\x00\x00\x00", # [18]
+ 'octal' => "\x00\x00\x00\x00\x40\x00\x00\x00\x00", # [19]
'once' => "\x00\x00\x01\x00\x00\x00\x00\x00\x00", # [8]
- 'parenthesis' => "\x00\x00\x00\x00\x40\x00\x00\x00\x00", # [19]
+ 'overflow' => "\x00\x00\x00\x00\x00\x00\x00\x01\x00", # [28]
+ 'parenthesis' => "\x00\x00\x00\x00\x00\x01\x00\x00\x00", # [20]
'pipe' => "\x00\x01\x00\x00\x00\x00\x00\x00\x00", # [4]
- 'precedence' => "\x00\x00\x00\x00\x00\x01\x00\x00\x00", # [20]
- 'printf' => "\x00\x00\x00\x00\x00\x04\x00\x00\x00", # [21]
+ 'portable' => "\x00\x00\x00\x00\x00\x00\x00\x04\x00", # [29]
+ 'precedence' => "\x00\x00\x00\x00\x00\x04\x00\x00\x00", # [21]
+ 'printf' => "\x00\x00\x00\x00\x00\x10\x00\x00\x00", # [22]
'recursion' => "\x00\x00\x04\x00\x00\x00\x00\x00\x00", # [9]
'redefine' => "\x00\x00\x10\x00\x00\x00\x00\x00\x00", # [10]
- 'reserved' => "\x00\x00\x00\x00\x00\x10\x00\x00\x00", # [22]
- 'semicolon' => "\x00\x00\x00\x00\x00\x40\x00\x00\x00", # [23]
+ 'reserved' => "\x00\x00\x00\x00\x00\x40\x00\x00\x00", # [23]
+ 'semicolon' => "\x00\x00\x00\x00\x00\x00\x01\x00\x00", # [24]
'severe' => "\x00\x00\x40\x15\x00\x00\x00\x00\x00", # [11..14]
- 'signal' => "\x00\x00\x00\x00\x00\x00\x40\x00\x00", # [27]
- 'substr' => "\x00\x00\x00\x00\x00\x00\x00\x01\x00", # [28]
- 'syntax' => "\x00\x00\x00\x40\x55\x55\x00\x00\x00", # [15..23]
- 'taint' => "\x00\x00\x00\x00\x00\x00\x00\x04\x00", # [29]
- 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x01\x00\x00", # [24]
+ 'signal' => "\x00\x00\x00\x00\x00\x00\x00\x10\x00", # [30]
+ 'substr' => "\x00\x00\x00\x00\x00\x00\x00\x40\x00", # [31]
+ 'syntax' => "\x00\x00\x00\x40\x55\x55\x01\x00\x00", # [15..24]
+ 'taint' => "\x00\x00\x00\x00\x00\x00\x00\x00\x01", # [32]
+ 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x04\x00\x00", # [25]
'unopened' => "\x00\x04\x00\x00\x00\x00\x00\x00\x00", # [5]
- 'unsafe' => "\x00\x00\x00\x00\x00\x00\x54\x55\x00", # [25..31]
- 'untie' => "\x00\x00\x00\x00\x00\x00\x00\x10\x00", # [30]
- 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x40\x00", # [31]
- 'void' => "\x00\x00\x00\x00\x00\x00\x00\x00\x01", # [32]
+ 'unsafe' => "\x00\x00\x00\x00\x00\x00\x50\x55\x15", # [26..34]
+ 'untie' => "\x00\x00\x00\x00\x00\x00\x00\x00\x04", # [33]
+ 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x00\x10", # [34]
+ 'void' => "\x00\x00\x00\x00\x00\x00\x00\x00\x40", # [35]
);
%DeadBits = (
'all' => "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa", # [0..35]
'ambiguous' => "\x00\x00\x00\x00\x02\x00\x00\x00\x00", # [16]
'closed' => "\x08\x00\x00\x00\x00\x00\x00\x00\x00", # [1]
- 'closure' => "\x00\x00\x00\x00\x00\x00\x20\x00\x00", # [26]
+ 'closure' => "\x00\x00\x00\x00\x00\x00\x80\x00\x00", # [27]
'debugging' => "\x00\x00\x00\x02\x00\x00\x00\x00\x00", # [12]
'deprecated' => "\x00\x00\x00\x00\x08\x00\x00\x00\x00", # [17]
+ 'digit' => "\x00\x00\x00\x00\x20\x00\x00\x00\x00", # [18]
'exec' => "\x20\x00\x00\x00\x00\x00\x00\x00\x00", # [2]
'inplace' => "\x00\x00\x00\x08\x00\x00\x00\x00\x00", # [13]
'internal' => "\x00\x00\x00\x20\x00\x00\x00\x00\x00", # [14]
@@ -80,27 +84,29 @@ use Carp ;
'misc' => "\x00\x20\x00\x00\x00\x00\x00\x00\x00", # [6]
'newline' => "\x80\x00\x00\x00\x00\x00\x00\x00\x00", # [3]
'numeric' => "\x00\x80\x00\x00\x00\x00\x00\x00\x00", # [7]
- 'octal' => "\x00\x00\x00\x00\x20\x00\x00\x00\x00", # [18]
+ 'octal' => "\x00\x00\x00\x00\x80\x00\x00\x00\x00", # [19]
'once' => "\x00\x00\x02\x00\x00\x00\x00\x00\x00", # [8]
- 'parenthesis' => "\x00\x00\x00\x00\x80\x00\x00\x00\x00", # [19]
+ 'overflow' => "\x00\x00\x00\x00\x00\x00\x00\x02\x00", # [28]
+ 'parenthesis' => "\x00\x00\x00\x00\x00\x02\x00\x00\x00", # [20]
'pipe' => "\x00\x02\x00\x00\x00\x00\x00\x00\x00", # [4]
- 'precedence' => "\x00\x00\x00\x00\x00\x02\x00\x00\x00", # [20]
- 'printf' => "\x00\x00\x00\x00\x00\x08\x00\x00\x00", # [21]
+ 'portable' => "\x00\x00\x00\x00\x00\x00\x00\x08\x00", # [29]
+ 'precedence' => "\x00\x00\x00\x00\x00\x08\x00\x00\x00", # [21]
+ 'printf' => "\x00\x00\x00\x00\x00\x20\x00\x00\x00", # [22]
'recursion' => "\x00\x00\x08\x00\x00\x00\x00\x00\x00", # [9]
'redefine' => "\x00\x00\x20\x00\x00\x00\x00\x00\x00", # [10]
- 'reserved' => "\x00\x00\x00\x00\x00\x20\x00\x00\x00", # [22]
- 'semicolon' => "\x00\x00\x00\x00\x00\x80\x00\x00\x00", # [23]
+ 'reserved' => "\x00\x00\x00\x00\x00\x80\x00\x00\x00", # [23]
+ 'semicolon' => "\x00\x00\x00\x00\x00\x00\x02\x00\x00", # [24]
'severe' => "\x00\x00\x80\x2a\x00\x00\x00\x00\x00", # [11..14]
- 'signal' => "\x00\x00\x00\x00\x00\x00\x80\x00\x00", # [27]
- 'substr' => "\x00\x00\x00\x00\x00\x00\x00\x02\x00", # [28]
- 'syntax' => "\x00\x00\x00\x80\xaa\xaa\x00\x00\x00", # [15..23]
- 'taint' => "\x00\x00\x00\x00\x00\x00\x00\x08\x00", # [29]
- 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x02\x00\x00", # [24]
+ 'signal' => "\x00\x00\x00\x00\x00\x00\x00\x20\x00", # [30]
+ 'substr' => "\x00\x00\x00\x00\x00\x00\x00\x80\x00", # [31]
+ 'syntax' => "\x00\x00\x00\x80\xaa\xaa\x02\x00\x00", # [15..24]
+ 'taint' => "\x00\x00\x00\x00\x00\x00\x00\x00\x02", # [32]
+ 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x08\x00\x00", # [25]
'unopened' => "\x00\x08\x00\x00\x00\x00\x00\x00\x00", # [5]
- 'unsafe' => "\x00\x00\x00\x00\x00\x00\xa8\xaa\x00", # [25..31]
- 'untie' => "\x00\x00\x00\x00\x00\x00\x00\x20\x00", # [30]
- 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x80\x00", # [31]
- 'void' => "\x00\x00\x00\x00\x00\x00\x00\x00\x02", # [32]
+ 'unsafe' => "\x00\x00\x00\x00\x00\x00\xa0\xaa\x2a", # [26..34]
+ 'untie' => "\x00\x00\x00\x00\x00\x00\x00\x00\x08", # [33]
+ 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x00\x20", # [34]
+ 'void' => "\x00\x00\x00\x00\x00\x00\x00\x00\x80", # [35]
);
diff --git a/mg.c b/mg.c
index 19479db62b..aa5dadd143 100644
--- a/mg.c
+++ b/mg.c
@@ -1361,65 +1361,13 @@ int
Perl_magic_getvec(pTHX_ SV *sv, MAGIC *mg)
{
SV *lsv = LvTARG(sv);
- unsigned char *s;
- unsigned long retnum;
- STRLEN lsvlen;
- I32 len;
- I32 offset;
- I32 size;
if (!lsv) {
SvOK_off(sv);
return 0;
}
- s = (unsigned char *) SvPV(lsv, lsvlen);
- offset = LvTARGOFF(sv);
- size = LvTARGLEN(sv);
- len = (offset + size + 7) / 8;
-
- /* Copied from pp_vec() */
-
- if (len > lsvlen) {
- if (size <= 8)
- retnum = 0;
- else {
- offset >>= 3;
- if (size == 16) {
- if (offset >= lsvlen)
- retnum = 0;
- else
- retnum = (unsigned long) s[offset] << 8;
- }
- else if (size == 32) {
- if (offset >= lsvlen)
- retnum = 0;
- else if (offset + 1 >= lsvlen)
- retnum = (unsigned long) s[offset] << 24;
- else if (offset + 2 >= lsvlen)
- retnum = ((unsigned long) s[offset] << 24) +
- ((unsigned long) s[offset + 1] << 16);
- else
- retnum = ((unsigned long) s[offset] << 24) +
- ((unsigned long) s[offset + 1] << 16) +
- (s[offset + 2] << 8);
- }
- }
- }
- else if (size < 8)
- retnum = (s[offset >> 3] >> (offset & 7)) & ((1 << size) - 1);
- else {
- offset >>= 3;
- if (size == 8)
- retnum = s[offset];
- else if (size == 16)
- retnum = ((unsigned long) s[offset] << 8) + s[offset+1];
- else if (size == 32)
- retnum = ((unsigned long) s[offset] << 24) +
- ((unsigned long) s[offset + 1] << 16) +
- (s[offset + 2] << 8) + s[offset+3];
- }
- sv_setuv(sv, (UV)retnum);
+ sv_setuv(sv, do_vecget(lsv, LvTARGOFF(sv), LvTARGLEN(sv)));
return 0;
}
@@ -1813,13 +1761,13 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
if (PL_uid == PL_euid) /* special case $< = $> */
(void)PerlProc_setuid(PL_uid);
else {
- PL_uid = (I32)PerlProc_getuid();
+ PL_uid = PerlProc_getuid();
Perl_croak(aTHX_ "setruid() not implemented");
}
#endif
#endif
#endif
- PL_uid = (I32)PerlProc_getuid();
+ PL_uid = PerlProc_getuid();
PL_tainting |= (PL_uid && (PL_euid != PL_uid || PL_egid != PL_gid));
break;
case '>':
@@ -1840,13 +1788,13 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
if (PL_euid == PL_uid) /* special case $> = $< */
PerlProc_setuid(PL_euid);
else {
- PL_euid = (I32)PerlProc_geteuid();
+ PL_euid = rlProc_geteuid();
Perl_croak(aTHX_ "seteuid() not implemented");
}
#endif
#endif
#endif
- PL_euid = (I32)PerlProc_geteuid();
+ PL_euid = PerlProc_geteuid();
PL_tainting |= (PL_uid && (PL_euid != PL_uid || PL_egid != PL_gid));
break;
case '(':
@@ -1867,13 +1815,13 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
if (PL_gid == PL_egid) /* special case $( = $) */
(void)PerlProc_setgid(PL_gid);
else {
- PL_gid = (I32)PerlProc_getgid();
+ PL_gid = PerlProc_getgid();
Perl_croak(aTHX_ "setrgid() not implemented");
}
#endif
#endif
#endif
- PL_gid = (I32)PerlProc_getgid();
+ PL_gid = PerlProc_getgid();
PL_tainting |= (PL_uid && (PL_euid != PL_uid || PL_egid != PL_gid));
break;
case ')':
@@ -1884,7 +1832,7 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
while (isSPACE(*p))
++p;
- PL_egid = I_V(Atol(p));
+ PL_egid = Atol(p);
for (i = 0; i < NGROUPS; ++i) {
while (*p && !isSPACE(*p))
++p;
@@ -1892,7 +1840,7 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
++p;
if (!*p)
break;
- gary[i] = I_V(Atol(p));
+ gary[i] = Atol(p);
}
if (i)
(void)setgroups(i, gary);
@@ -1916,13 +1864,13 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
if (PL_egid == PL_gid) /* special case $) = $( */
(void)PerlProc_setgid(PL_egid);
else {
- PL_egid = (I32)PerlProc_getegid();
+ PL_egid = PerlProc_getegid();
Perl_croak(aTHX_ "setegid() not implemented");
}
#endif
#endif
#endif
- PL_egid = (I32)PerlProc_getegid();
+ PL_egid = PerlProc_getegid();
PL_tainting |= (PL_uid && (PL_euid != PL_uid || PL_egid != PL_gid));
break;
case ':':
diff --git a/objXSUB.h b/objXSUB.h
index c3faf68190..2423f58bcb 100644
--- a/objXSUB.h
+++ b/objXSUB.h
@@ -1265,6 +1265,10 @@
#define Perl_do_trans pPerl->Perl_do_trans
#undef do_trans
#define do_trans Perl_do_trans
+#undef Perl_do_vecget
+#define Perl_do_vecget pPerl->Perl_do_vecget
+#undef do_vecget
+#define do_vecget Perl_do_vecget
#undef Perl_do_vecset
#define Perl_do_vecset pPerl->Perl_do_vecset
#undef do_vecset
diff --git a/os2/OS2/REXX/Makefile.PL b/os2/OS2/REXX/Makefile.PL
index 0b43a36612..5eda5a35d1 100644
--- a/os2/OS2/REXX/Makefile.PL
+++ b/os2/OS2/REXX/Makefile.PL
@@ -5,4 +5,5 @@ WriteMakefile(
VERSION => '0.21',
MAN3PODS => ' ', # Pods will be built by installman.
XSPROTOARG => '-noprototypes',
+ PERL_MALLOC_OK => 1,
);
diff --git a/perl.c b/perl.c
index 46fd2c37c5..32b9e2b133 100644
--- a/perl.c
+++ b/perl.c
@@ -2472,10 +2472,10 @@ S_find_beginning(pTHX)
STATIC void
S_init_ids(pTHX)
{
- PL_uid = (int)PerlProc_getuid();
- PL_euid = (int)PerlProc_geteuid();
- PL_gid = (int)PerlProc_getgid();
- PL_egid = (int)PerlProc_getegid();
+ PL_uid = PerlProc_getuid();
+ PL_euid = PerlProc_geteuid();
+ PL_gid = PerlProc_getgid();
+ PL_egid = PerlProc_getegid();
#ifdef VMS
PL_uid |= PL_gid << 16;
PL_euid |= PL_egid << 16;
diff --git a/perl.h b/perl.h
index 8e4e452a81..8014301767 100644
--- a/perl.h
+++ b/perl.h
@@ -505,10 +505,12 @@ register struct op *Perl_op asm(stringify(OP_IN_REGISTER));
#ifdef MYMALLOC
# ifdef PERL_POLLUTE_MALLOC
+# ifndef PERL_EXTMALLOC_DEF
# define Perl_malloc malloc
# define Perl_calloc calloc
# define Perl_realloc realloc
# define Perl_mfree free
+# endif
# else
# define EMBEDMYMALLOC /* for compatibility */
# endif
@@ -1023,8 +1025,8 @@ Free_t Perl_mfree (Malloc_t where);
# define UV_MAX PERL_UQUAD_MAX
# define UV_MIN PERL_UQUAD_MIN
# endif
-# define IV_SIZEOF 8
-# define UV_SIZEOF 8
+# define IVSIZF 8
+# define UVSIZE 8
# define IV_IS_QUAD
# define UV_IS_QUAD
#else
@@ -1041,8 +1043,6 @@ Free_t Perl_mfree (Malloc_t where);
# define UV_MAX PERL_ULONG_MAX
# define UV_MIN PERL_ULONG_MIN
# endif
-# define UV_SIZEOF LONGSIZE
-# define IV_SIZEOF LONGSIZE
# if LONGSIZE == 8
# define IV_IS_QUAD
# define UV_IS_QUAD
@@ -1050,19 +1050,79 @@ Free_t Perl_mfree (Malloc_t where);
# undef IV_IS_QUAD
# undef UV_IS_QUAD
# endif
-# define UV_SIZEOF LONGSIZE
-# define IV_SIZEOF LONGSIZE
+# define UVSIZE LONGSIZE
+# define IVSIZE LONGSIZE
#endif
+#define IV_DIG (BIT_DIGITS(IVSIZE * 8) + 1)
+#define UV_DIG (BIT_DIGITS(IVSIZE * 8) + 1)
#ifdef USE_LONG_DOUBLE
# if defined(HAS_LONG_DOUBLE) && (LONG_DOUBLESIZE > DOUBLESIZE)
# define LDoub_t long double
+# else
+# undef USE_LONG_DOUBLE /* Ouch! */
# endif
#endif
+#ifdef OVR_DBL_DIG
+/* Use an overridden DBL_DIG */
+# ifdef DBL_DIG
+# undef DBL_DIG
+# endif
+# define DBL_DIG OVR_DBL_DIG
+#else
+/* The following is all to get DBL_DIG, in order to pick a nice
+ default value for printing floating point numbers in Gconvert.
+ (see config.h)
+*/
+#ifdef I_LIMITS
+#include <limits.h>
+#endif
+#ifdef I_FLOAT
+#include <float.h>
+#endif
+#ifndef HAS_DBL_DIG
+#define DBL_DIG 15 /* A guess that works lots of places */
+#endif
+#endif
+
+#ifdef OVR_LDBL_DIG
+/* Use an overridden LDBL_DIG */
+# ifdef LDBL_DIG
+# undef LDBL_DIG
+# endif
+# define LDBL_DIG OVR_LDBL_DIG
+#else
+/* The following is all to get LDBL_DIG, in order to pick a nice
+ default value for printing floating point numbers in Gconvert.
+ (see config.h)
+*/
+#ifdef I_LIMITS
+#include <limits.h>
+#endif
+#ifdef I_FLOAT
+#include <float.h>
+#endif
+#ifndef HAS_LDBL_DIG
+#if LONG_DOUBLESIZE == 10
+#define LDBL_DIG 18 /* assume IEEE */
+#else
+#if LONG_DOUBLESIZE == 16
+#define LDBL_DIG 33 /* assume IEEE */
+#else
+#if LONG_DOUBLESIZE == DOUBLESIZE
+#define LDBL_DIG DBL_DIG /* bummer */
+#endif
+#endif
+#endif
+#endif
+#endif
+
#ifdef USE_LONG_DOUBLE
# define HAS_LDOUB
typedef LDoub_t NV;
+# define NVSIZE LONG_DOUBLESIZE
+# define NV_DIG LDBL_DIG
# define Perl_modf modfl
# define Perl_frexp frexpl
# define Perl_cos cosl
@@ -1076,6 +1136,8 @@ Free_t Perl_mfree (Malloc_t where);
# define Perl_fmod fmodl
#else
typedef double NV;
+# define NVSIZE DOUBLESIZE
+# define NV_DIG DBL_DIG
# define Perl_modf modf
# define Perl_frexp frexp
# define Perl_cos cos
@@ -1338,125 +1400,100 @@ typedef union any ANY;
#include "handy.h"
-/* Some day when we have more 64-bit experience under our belts we may
- * be able to merge some of the USE_64_BIT_{FILES,OFFSETS,STDIO,DBM}. At
- * the moment (Oct 1998), though, keep them separate. --jhi
- */
#ifdef USE_64_BITS
-# ifdef USE_64_BIT_FILES
-# ifndef USE_64_BIT_OFFSETS
-# define USE_64_BIT_OFFSETS
-# endif
-# ifndef USE_64_BIT_STDIO
-# define USE_64_BIT_STDIO
-# endif
-# ifndef USE_64_BIT_DBM
-# define USE_64_BIT_DBM
-# endif
+# define USE_64_BIT_FILES
+#endif
+
+#if defined(USE_64_BIT_FILES) || defined(USE_LARGE_FILES)
+# define USE_64_BIT_OFFSETS
+# define USE_64_BIT_STDIO
+#endif
+
+/* I couldn't find any -Ddefine or -flags in IRIX 6.5 that would
+ * have done the necessary symbol renaming using cpp. --jhi */
+#ifdef __sgi
+#define USE_FOPEN64
+#define USE_FSEEK64
+#define USE_FTELL64
+#define USE_FSETPOS64
+#define USE_FGETPOS64
+#define USE_TMPFILE64
+#define USE_FREOPEN64
+#endif
+
+#ifdef USE_64_BIT_OFFSETS
+# ifdef HAS_OFF64_T
+# undef Off_t
+# define Off_t off64_t
+# undef LSEEKSIZE
+# define LSEEKSIZE 8
# endif
-/* Mention LSEEKSIZE here to get it included in %Config. */
-# ifdef USE_64_BIT_OFFSETS
-# ifdef HAS_FSTAT64
-# define fstat fstat64
-# endif
-# ifdef HAS_FTRUNCATE64
-# define ftruncate ftruncate64
-# endif
-# ifdef HAS_LSEEK64
-# define lseek lseek64
-# ifdef HAS_OFF64_T
-# undef Off_t
-# define Off_t off64_t
-# endif
-# endif
-# ifdef HAS_LSTAT64
-# define lstat lstat64
-# endif
- /* Some systems have open64() in libc but use that only
- * for true LP64 mode, in mixed mode (ILP32LL64, for example)
- * they use the vanilla open(). Such systems should undefine
- * d_open64 in their hints files. --jhi */
-# if defined(HAS_OPEN64)
-# define open open64
-# endif
-# ifdef HAS_OPENDIR64
-# define opendir opendir64
-# endif
-# ifdef HAS_READDIR64
-# define readdir readdir64
-# ifdef HAS_STRUCT_DIRENT64
-# define dirent dirent64
-# endif
-# endif
-# ifdef HAS_SEEKDIR64
-# define seekdir seekdir64
-# endif
-# ifdef HAS_STAT64
-# define stat stat64 /* Affects also struct stat, hopefully okay. */
-# endif
-# ifdef HAS_TELLDIR64
-# define telldir telldir64
-# endif
-# ifdef HAS_TRUNCATE64
-# define truncate truncate64
-# endif
- /* flock is not #defined here to be flock64 because it seems
- that a system may have struct flock64 but still use flock()
- and not flock64(). The actual flocking code in pp_sys.c
- must be changed. Also lockf and lockf64 must be dealt
- with in pp_sys.c. --jhi */
-# endif
-# ifdef USE_64_BIT_STDIO
-# ifdef HAS_FGETPOS64
-# define fgetpos fgetpos64
-# endif
-# ifdef HAS_FOPEN64
-# define fopen fopen64
-# endif
-# ifdef HAS_FREOPEN64
-# define freopen freopen64
-# endif
-# ifdef HAS_FSEEK64
-# define fseek fseek64
-# endif
-# ifdef HAS_FSEEKO64
-# define fseeko fseeko64
-# endif
-# ifdef HAS_FSETPOS64
-# define fsetpos fsetpos64
-# endif
-# ifdef HAS_FTELL64
-# define ftell ftell64
-# endif
-# ifdef HAS_FTELLO64
-# define ftello ftello64
-# endif
-# ifdef HAS_TMPFILE64
-# define tmpfile tmpfile64
-# endif
+/* Most 64-bit environments have defines like _LARGEFILE_SOURCE that
+ * will trigger defines like the ones below. Some 64-bit environments,
+ * however, do not. */
+# if defined(USE_OPEN64)
+# define open open64
# endif
-# ifdef USE_64_BIT_DBM
-# ifdef HAS_DBMINIT64
-# define dbminit dbminit64
-# endif
-# ifdef HAS_DBMCLOSE64
-# define dbmclose dbmclose64
-# endif
-# ifdef HAS_FETCH64
-# define fetch fetch64
-# endif
-# ifdef HAS_DELETE64
-# define delete delete64
-# endif
-# ifdef HAS_STORE64
-# define store store64
-# endif
-# ifdef HAS_FIRSTKEY64
-# define firstkey firstkey64
-# endif
-# ifdef HAS_NEXTKEY64
-# define nextkey nextkey64
-# endif
+# if defined(USE_LSEEK64)
+# define lseek lseek64
+# endif
+# if defined(USE_LLSEEK)
+# define lseek llseek
+# endif
+# if defined(USE_STAT64)
+# define stat stat64
+# endif
+# if defined(USE_FSTAT64)
+# define fstat fstat64
+# endif
+# if defined(USE_LSTAT64)
+# define lstat lstat64
+# endif
+# if defined(USE_FLOCK64)
+# define flock flock64
+# endif
+# if defined(USE_LOCKF64)
+# define lockf lockf64
+# endif
+# if defined(USE_FCNTL64)
+# define fcntl fcntl64
+# endif
+# if defined(USE_TRUNCATE64)
+# define truncate truncate64
+# endif
+# if defined(USE_FTRUNCATE64)
+# define ftruncate ftruncate64
+# endif
+#endif
+
+#ifdef USE_64_BIT_STDIO
+# ifdef HAS_FPOS64_T
+# undef Fpos_t
+# define Fpos_t fpos64_t
+# endif
+/* Most 64-bit environments have defines like _LARGEFILE_SOURCE that
+ * will trigger defines like the ones below. Some 64-bit environments,
+ * however, do not. */
+# if defined(USE_FOPEN64)
+# define fopen fopen64
+# endif
+# if defined(USE_FSEEK64)
+# define fseek fseek64
+# endif
+# if defined(USE_FTELL64)
+# define ftell ftell64
+# endif
+# if defined(USE_FSETPOS64)
+# define fsetpos fsetpos64
+# endif
+# if defined(USE_FGETPOS64)
+# define fgetpos fgetpos64
+# endif
+# if defined(USE_TMPFILE64)
+# define tmpfile tmpfile64
+# endif
+# if defined(USE_FREOPEN64)
+# define freopen freopen64
# endif
#endif
@@ -1841,6 +1878,30 @@ typedef I32 CHECKPOINT;
#define U_V(what) (cast_uv((NV)(what)))
#endif
+/* These do not care about the fractional part, only about the range. */
+#define NV_WITHIN_IV(nv) (I_V(nv) >= IV_MIN && I_V(nv) <= IV_MAX)
+#define NV_WITHIN_UV(nv) ((nv)>=0.0 && U_V(nv) >= UV_MIN && U_V(nv) <= UV_MAX)
+
+/* Believe. */
+#define IV_FITS_IN_NV
+/* Doubt. */
+#if defined(USE_LONG_DOUBLE) && \
+ defined(LDBL_MANT_DIG) && IVSIZE*8 >= LDBL_MANT_DIG
+# undef IV_FITS_IN_NV
+#else
+# if defined(DBL_MANT_DIG) && IVSIZE*8 >= DBL_MANT_DIG
+# undef IV_FITS_IN_NV
+# else
+# if IV_DIG >= NV_DIG
+# undef IV_FITS_IN_NV
+# else
+# if IVSIZE >= NVSIZE
+# undef IV_FITS_IN_NV
+# endif
+# endif
+# endif
+#endif
+
/* Used with UV/IV arguments: */
/* XXXX: need to speed it up */
#define CLUMP_2UV(iv) ((iv) < 0 ? 0 : (UV)(iv))
diff --git a/perlapi.c b/perlapi.c
index d0c7f337d8..f409754310 100755
--- a/perlapi.c
+++ b/perlapi.c
@@ -253,10 +253,10 @@ Perl_call_list(pTHXo_ I32 oldscope, AV* av_list)
}
#undef Perl_cando
-I32
-Perl_cando(pTHXo_ I32 bit, I32 effective, Stat_t* statbufp)
+bool
+Perl_cando(pTHXo_ Mode_t mode, Uid_t effective, Stat_t* statbufp)
{
- return ((CPerlObj*)pPerl)->Perl_cando(bit, effective, statbufp);
+ return ((CPerlObj*)pPerl)->Perl_cando(mode, effective, statbufp);
}
#undef Perl_cast_ulong
@@ -868,6 +868,13 @@ Perl_do_trans(pTHXo_ SV* sv)
return ((CPerlObj*)pPerl)->Perl_do_trans(sv);
}
+#undef Perl_do_vecget
+UV
+Perl_do_vecget(pTHXo_ SV* sv, I32 offset, I32 size)
+{
+ return ((CPerlObj*)pPerl)->Perl_do_vecget(sv, offset, size);
+}
+
#undef Perl_do_vecset
void
Perl_do_vecset(pTHXo_ SV* sv)
@@ -1343,8 +1350,8 @@ Perl_ibcmp_locale(pTHXo_ const char* a, const char* b, I32 len)
}
#undef Perl_ingroup
-I32
-Perl_ingroup(pTHXo_ I32 testgid, I32 effective)
+bool
+Perl_ingroup(pTHXo_ Gid_t testgid, Uid_t effective)
{
return ((CPerlObj*)pPerl)->Perl_ingroup(testgid, effective);
}
@@ -3008,7 +3015,7 @@ Perl_require_pv(pTHXo_ const char* pv)
#undef Perl_pidgone
void
-Perl_pidgone(pTHXo_ int pid, int status)
+Perl_pidgone(pTHXo_ Pid_t pid, int status)
{
((CPerlObj*)pPerl)->Perl_pidgone(pid, status);
}
@@ -4285,7 +4292,7 @@ Perl_vivify_ref(pTHXo_ SV* sv, U32 to_what)
#undef Perl_wait4pid
I32
-Perl_wait4pid(pTHXo_ int pid, int* statusp, int flags)
+Perl_wait4pid(pTHXo_ Pid_t pid, int* statusp, int flags)
{
return ((CPerlObj*)pPerl)->Perl_wait4pid(pid, statusp, flags);
}
diff --git a/perlio.c b/perlio.c
index 9230b0c004..7a5924aba3 100644
--- a/perlio.c
+++ b/perlio.c
@@ -143,7 +143,8 @@ PerlIO_canset_cnt(PerlIO *f)
void
PerlIO_set_cnt(PerlIO *f, int cnt)
{
- if (cnt < -1 && ckWARN_s(WARN_INTERNAL))
+ dTHX;
+ if (cnt < -1 && ckWARN_d(WARN_INTERNAL))
Perl_warner(aTHX_ WARN_INTERNAL, "Setting cnt to %d\n",cnt);
#if defined(USE_STDIO_PTR) && defined(STDIO_CNT_LVALUE)
FILE_cnt(f) = cnt;
@@ -156,23 +157,24 @@ PerlIO_set_cnt(PerlIO *f, int cnt)
void
PerlIO_set_ptrcnt(PerlIO *f, STDCHAR *ptr, int cnt)
{
+ dTHX;
#ifdef FILE_bufsiz
STDCHAR *e = FILE_base(f) + FILE_bufsiz(f);
int ec = e - ptr;
- if (ptr > e + 1 && ckWARN_s(WARN_INTERNAL))
+ if (ptr > e + 1 && ckWARN_d(WARN_INTERNAL))
Perl_warner(aTHX_ WARN_INTERNAL, "Setting ptr %p > end+1 %p\n", ptr, e + 1);
- if (cnt != ec && ckWARN_s(WARN_INTERNAL))
+ if (cnt != ec && ckWARN_d(WARN_INTERNAL))
Perl_warner(aTHX_ WARN_INTERNAL, "Setting cnt to %d, ptr implies %d\n",cnt,ec);
#endif
#if defined(USE_STDIO_PTR) && defined(STDIO_PTR_LVALUE)
- FILE_ptr(f) = ptr;
+ FILE_ptr(f) = ptr;
#else
- Perl_croak(aTHX_ "Cannot set 'ptr' of FILE * on this system");
+ Perl_croak(aTHX_ "Cannot set 'ptr' of FILE * on this system");
#endif
#if defined(USE_STDIO_PTR) && defined(STDIO_CNT_LVALUE)
- FILE_cnt(f) = cnt;
+ FILE_cnt(f) = cnt;
#else
- Perl_croak(aTHX_ "Cannot set 'cnt' of FILE * on this system");
+ Perl_croak(aTHX_ "Cannot set 'cnt' of FILE * on this system");
#endif
}
@@ -183,6 +185,7 @@ PerlIO_get_cnt(PerlIO *f)
#ifdef FILE_cnt
return FILE_cnt(f);
#else
+ dTHX;
Perl_croak(aTHX_ "Cannot get 'cnt' of FILE * on this system");
return -1;
#endif
@@ -195,6 +198,7 @@ PerlIO_get_bufsiz(PerlIO *f)
#ifdef FILE_bufsiz
return FILE_bufsiz(f);
#else
+ dTHX;
Perl_croak(aTHX_ "Cannot get 'bufsiz' of FILE * on this system");
return -1;
#endif
@@ -207,6 +211,7 @@ PerlIO_get_ptr(PerlIO *f)
#ifdef FILE_ptr
return FILE_ptr(f);
#else
+ dTHX;
Perl_croak(aTHX_ "Cannot get 'ptr' of FILE * on this system");
return NULL;
#endif
@@ -219,6 +224,7 @@ PerlIO_get_base(PerlIO *f)
#ifdef FILE_base
return FILE_base(f);
#else
+ dTHX;
Perl_croak(aTHX_ "Cannot get 'base' of FILE * on this system");
return NULL;
#endif
@@ -284,6 +290,7 @@ PerlIO_getname(PerlIO *f, char *buf)
#ifdef VMS
return fgetname(f,buf);
#else
+ dTHX;
Perl_croak(aTHX_ "Don't know how to get file name");
return NULL;
#endif
@@ -378,22 +385,14 @@ PerlIO_vprintf(PerlIO *f, const char *fmt, va_list ap)
Off_t
PerlIO_tell(PerlIO *f)
{
-#ifdef HAS_FTELLO
- return ftello(f);
-#else
return ftell(f);
-#endif
}
#undef PerlIO_seek
int
PerlIO_seek(PerlIO *f, Off_t offset, int whence)
{
-#ifdef HAS_FSEEKO
- return fseeko(f,offset,whence);
-#else
return fseek(f,offset,whence);
-#endif
}
#undef PerlIO_rewind
@@ -487,7 +486,11 @@ PerlIO_setpos(PerlIO *f, const Fpos_t *pos)
int
PerlIO_setpos(PerlIO *f, const Fpos_t *pos)
{
+#if defined(USE_64_BIT_STDIO) && defined(USE_FSETPOS64)
+ return fsetpos64(f, pos);
+#else
return fsetpos(f, pos);
+#endif
}
#endif
#endif
@@ -506,7 +509,11 @@ PerlIO_getpos(PerlIO *f, Fpos_t *pos)
int
PerlIO_getpos(PerlIO *f, Fpos_t *pos)
{
+#if defined(USE_64_BIT_STDIO) && defined(USE_FSETPOS64)
+ return fgetpos64(f, pos);
+#else
return fgetpos(f, pos);
+#endif
}
#endif
#endif
diff --git a/perlsdio.h b/perlsdio.h
index 46a15de9fa..71a9e752cd 100644
--- a/perlsdio.h
+++ b/perlsdio.h
@@ -55,12 +55,18 @@
#define PerlIO_clearerr(f) clearerr(f)
#define PerlIO_flush(f) Fflush(f)
#define PerlIO_tell(f) ftell(f)
+#if defined(USE_64_BIT_STDIO) && defined(HAS_FTELLO) && !defined(USE_FTELL64)
+#define ftell ftello
+#endif
#if defined(VMS) && !defined(__DECC)
/* Old VAXC RTL doesn't reset EOF on seek; Perl folk seem to expect this */
# define PerlIO_seek(f,o,w) (((f) && (*f) && ((*f)->_flag &= ~_IOEOF)),fseek(f,o,w))
#else
# define PerlIO_seek(f,o,w) fseek(f,o,w)
#endif
+#if defined(USE_64_BIT_STDIO) && defined(HAS_FSEEKO) && !defined(USE_FSEEK64)
+#define fseek fseeko
+#endif
#ifdef HAS_FGETPOS
#define PerlIO_getpos(f,p) fgetpos(f,p)
#endif
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 029d3154b6..90f1729020 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -169,11 +169,31 @@ and compile Perl using the -Duse64bits Configure flag.
Unfortunately, bit operations (&, <<, ...) and vec() do not work,
they are limited to 32 bits.
-Last but not least: note that due to Perl's tendency to always use
-floating point numbers the quads are not true integers. They may lose
-their precision due to rounding errors, and when they get large their
-less significant digits will fall off.
-
+Last but not least: note that due to Perl's habit of always using
+floating point numbers the quads are still not true integers. When
+quads overflow their limits (18446744073709551615 unsigned,
+-9223372036854775808...9223372036854775807 signed), they are silently
+promoted to floating point numbers, after which they will
+start losing precision (their lower digits).
+
+=head2 Large file support
+
+If you have filesystems that support "large files" (files larger than
+2 gigabytes), you may now also be able to create and access them from Perl.
+
+Note that in addition to requiring a proper file system to do this you
+may also need to adjust your per-process (or even your per-system)
+maximum filesize limits before running Perl scripts that try to handle
+large files, especially if you intend to write such files.
+
+Adjusting your file system/system limits is outside the scope of Perl.
+For process limits, you may try to increase the limits using your
+shell's limit/ulimit command before running Perl. The BSD::Resource
+extension (not included with the standard Perl distribution) may also
+be of use.
+
+(Large file support is also related to 64-bit support, for obvious reasons)
+
=head2 Better syntax checks on parenthesized unary operators
Expressions such as:
@@ -301,6 +321,14 @@ are compile time errors. Attempting to read from filehandles that
were opened only for writing will now produce warnings (just as
writing to read-only filehandles does).
+=head2 Buffered data discarded from input filehandle when dup'ed.
+
+C<open(NEW, "E<lt>&OLD")> now discards any data that was previously
+read and buffered in C<OLD>. The next read operation on C<NEW> will
+return the same data as the corresponding operation on C<OLD>.
+Formerly, it would have returned the data from the start of the
+following disk block instead.
+
=head1 Supported Platforms
=over 4
diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index 47e16bfa5d..3964a1c59b 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -90,6 +90,16 @@ See L<perlfunc/pack>.
checksumming process loses information, and you can't go the other
way. See L<perlfunc/unpack>.
+=item Repeat count in pack overflows
+
+(F) You can't specify a repeat count so large that it overflows
+your signed integers. See L<perlfunc/pack>.
+
+=item Repeat count in unpack overflows
+
+(F) You can't specify a repeat count so large that it overflows
+your signed integers. See L<perlfunc/unpack>.
+
=item /%s/: Unrecognized escape \\%c passed through
(W) You used a backslash-character combination which is not recognized
@@ -1133,6 +1143,16 @@ workarounds.
inlining. See L<perlsub/"Constant Functions"> for commentary and
workarounds.
+=item constant(%s): %%^H is not localized
+
+(F) When setting compile-time-lexicalized hash %^H one should set the
+corresponding bit of $^H as well.
+
+=item constant(%s): %s
+
+(F) Compile-time-substitutions (such as overloaded constants and
+character names) were not correctly set up.
+
=item Copy method did not return a reference
(F) The method which overloads "=" is buggy. See L<overload/Copy Constructor>.
@@ -1503,6 +1523,11 @@ of the octal number stopped before the 8 or 9.
in a hexadecimal number. Interpretation of the hexadecimal number stopped
before the illegal character.
+=item Illegal number of bits in vec
+
+(F) The number of bits in vec() (the third argument) must be a power of
+two from 1 to 32.
+
=item Illegal switch in PERL5OPT: %s
(X) The PERL5OPT environment variable may only be used to set the
@@ -1589,7 +1614,8 @@ rebuild Perl.
=item invalid [] range in regexp
(F) The range specified in a character class had a minimum character
-greater than the maximum character. See L<perlre>.
+greater than the maximum character, or the range didn't start/end with
+a literal character. See L<perlre>.
=item Invalid conversion in %s: "%s"
@@ -1666,6 +1692,11 @@ ended earlier on the current line.
mentioned with the $ in Perl, unlike in the shells, where it can vary from
one line to the next.
+=item Missing %sbrace%s on \C{}
+
+(F) Wrong syntax of character name literal C<\C{charname}> within
+double-quotish context.
+
=item Missing comma after first argument to %s function
(F) While certain functions allow you to specify a filehandle or an
@@ -2581,6 +2612,10 @@ See L<perlfunc/sort>.
(F) A sort comparison subroutine may not return a list value with more
or less than one element. See L<perlfunc/sort>.
+=item split /^/ better written as split /^/m
+
+(W) Implicit translation of /^/ to mean /^/m in split is deprecated.
+
=item Split loop
(P) The split was looping infinitely. (Obviously, a split shouldn't iterate
diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod
index aa55e3e48b..0e4b7c7cc3 100644
--- a/pod/perlfunc.pod
+++ b/pod/perlfunc.pod
@@ -3496,10 +3496,12 @@ See L<perlop> for more details on unary operators and the comma operator.
Sets FILEHANDLE's position, just like the C<fseek> call of C<stdio>.
FILEHANDLE may be an expression whose value gives the name of the
filehandle. The values for WHENCE are C<0> to set the new position to
-POSITION, C<1> to set it to the current position plus POSITION, and C<2> to
-set it to EOF plus POSITION (typically negative). For WHENCE you may
-use the constants C<SEEK_SET>, C<SEEK_CUR>, and C<SEEK_END> from either the
-C<IO::Seekable> or the POSIX module. Returns C<1> upon success, C<0> otherwise.
+POSITION, C<1> to set it to the current position plus POSITION, and
+C<2> to set it to EOF plus POSITION (typically negative). For WHENCE
+you may use the constants C<SEEK_SET>, C<SEEK_CUR>, and C<SEEK_END>
+(start of the file, current position, end of the file) from any of the
+modules Fcntl, C<IO::Seekable>, or POSIX. Returns C<1> upon success,
+C<0> otherwise.
If you want to position file for C<sysread> or C<syswrite>, don't use
C<seek>--buffering makes its effect on the file's system position
@@ -4433,11 +4435,20 @@ FILENAME, MODE, PERMS.
The possible values and flag bits of the MODE parameter are
system-dependent; they are available via the standard module C<Fcntl>.
+See the documentation of your operating system's C<open> to see which
+values and flag bits are available. You may combine several flags
+using the C<|>-operator.
+
+Some of the most common values are C<O_RDONLY> for opening the file in
+read-only mode, C<O_WRONLY> for opening the file in write-only mode,
+and C<O_RDWR> for opening the file in read-write mode, and.
+
For historical reasons, some values work on almost every system
supported by perl: zero means read-only, one means write-only, and two
means read/write. We know that these values do I<not> work under
OS/390 & VM/ESA Unix and on the Macintosh; you probably don't want to
-use them in new code.
+se them in new code, use thhe constants discussed in the preceding
+paragraph.
If the file named by FILENAME does not exist and the C<open> call creates
it (typically because MODE includes the C<O_CREAT> flag), then the value of
@@ -4446,6 +4457,13 @@ the PERMS argument to C<sysopen>, Perl uses the octal value C<0666>.
These permission values need to be in octal, and are modified by your
process's current C<umask>.
+In many systems the C<O_EXCL> flag is available for opening files in
+exclusive mode. This is B<not> locking: exclusiveness means here that
+if the file already exists, sysopen() fails. The C<O_EXCL> wins
+C<O_TRUNC>.
+
+Sometimes you may want to truncate an already-existing file: C<O_TRUNC>.
+
You should seldom if ever use C<0644> as argument to C<sysopen>, because
that takes away the user's option to have a more permissive umask.
Better to omit it. See the perlfunc(1) entry on C<umask> for more
@@ -4481,13 +4499,14 @@ for a return value for 0 to decide whether you're done.
Sets FILEHANDLE's system position using the system call lseek(2). It
bypasses stdio, so mixing this with reads (other than C<sysread>),
-C<print>, C<write>, C<seek>, C<tell>, or C<eof> may cause
-confusion. FILEHANDLE may be an expression whose value gives the name
-of the filehandle. The values for WHENCE are C<0> to set the new
-position to POSITION, C<1> to set the it to the current position plus
-POSITION, and C<2> to set it to EOF plus POSITION (typically negative).
-For WHENCE, you may use the constants C<SEEK_SET>, C<SEEK_CUR>, and
-C<SEEK_END> from either the C<IO::Seekable> or the POSIX module.
+C<print>, C<write>, C<seek>, C<tell>, or C<eof> may cause confusion.
+FILEHANDLE may be an expression whose value gives the name of the
+filehandle. The values for WHENCE are C<0> to set the new position to
+POSITION, C<1> to set the it to the current position plus POSITION,
+and C<2> to set it to EOF plus POSITION (typically negative). For
+WHENCE, you may also use the constants C<SEEK_SET>, C<SEEK_CUR>, and
+C<SEEK_END> (start of the file, current position, end of the file)
+from any of the modules Fcntl, C<IO::Seekable>, or POSIX.
Returns the new position, or the undefined value on failure. A position
of zero is returned as the string C<"0 but true">; thus C<sysseek> returns
@@ -4969,11 +4988,11 @@ See also C<keys>, C<each>, and C<sort>.
=item vec EXPR,OFFSET,BITS
Treats the string in EXPR as a vector of unsigned integers, and
-returns the value of the bit field specified by OFFSET. BITS specifies
-the number of bits that are reserved for each entry in the bit
-vector. This must be a power of two from 1 to 32. C<vec> may also be
-assigned to, in which case parentheses are needed to give the expression
-the correct precedence as in
+returns the value of the bit field specified by OFFSET. BITS
+specifies the number of bits that are reserved for each entry in the
+bit vector. This must be a power of two from 1 to 32.
+C<vec> may also be assigned to, in which case parentheses are needed
+to give the expression the correct precedence as in
vec($image, $max_x * $x + $y, 8) = 3;
diff --git a/pod/perlhist.pod b/pod/perlhist.pod
index d7e2ab70a7..4d109be7da 100644
--- a/pod/perlhist.pod
+++ b/pod/perlhist.pod
@@ -326,6 +326,7 @@ the strings?).
5.005_57 1999-May-25
5.005_58 1999-Jul-27
5.005_59 1999-Aug-02
+ 5.005_60 1999-Aug-02
5.6 beta 1999-***-**
=head2 SELECTED RELEASE SIZES
diff --git a/pod/perllexwarn.pod b/pod/perllexwarn.pod
index 81f44cca3a..b946654425 100644
--- a/pod/perllexwarn.pod
+++ b/pod/perllexwarn.pod
@@ -219,6 +219,10 @@ hierarchy is:
| |
| +--- closure
| |
+ | +--- overflow
+ | |
+ | +--- portable
+ | |
| +--- untie
| |
| +--- utf8
@@ -241,7 +245,7 @@ hierarchy is:
| |
| +--- reserved
| |
- | +--- octal
+ | +--- digit
| |
| +--- parenthesis
| |
@@ -313,10 +317,6 @@ The experimental features need bottomed out.
around the limitations of C<$^W>. Now that those limitations are gone,
the module should be revisited.
- octal
- 'octal' controls illegal octal characters warning, but 'unsafe' controls
- illegal hexadecimal and binary characters warnings.
-
=head1 SEE ALSO
L<warning>.
diff --git a/pod/perlobj.pod b/pod/perlobj.pod
index 21073a795a..fa826415c8 100644
--- a/pod/perlobj.pod
+++ b/pod/perlobj.pod
@@ -339,7 +339,7 @@ confusing precedence problems, as in these next two lines:
Those actually parse as the very surprising:
$obj->move->{FIELD}; # Well, lookee here
- $ary->move->[$i]; # Didn't expect this one, eh?
+ $ary->move([$i]); # Didn't expect this one, eh?
Rather than what you might have expected:
diff --git a/pod/perlop.pod b/pod/perlop.pod
index 3234131f90..bd4ca1df7d 100644
--- a/pod/perlop.pod
+++ b/pod/perlop.pod
@@ -673,6 +673,7 @@ a transliteration, the first eleven of these sequences may be used.
\x1b hex char (ESC)
\x{263a} wide hex char (SMILEY)
\c[ control char (ESC)
+ \C{name} named char
\l lowercase next char
\u uppercase next char
@@ -682,7 +683,8 @@ a transliteration, the first eleven of these sequences may be used.
\Q quote non-word characters till \E
If C<use locale> is in effect, the case map used by C<\l>, C<\L>, C<\u>
-and C<\U> is taken from the current locale. See L<perllocale>.
+and C<\U> is taken from the current locale. See L<perllocale>. For
+documentation of C<\C{name}>, see L<charnames>.
All systems use the virtual C<"\n"> to represent a line terminator,
called a "newline". There is no such thing as an unvarying, physical
diff --git a/pod/perlre.pod b/pod/perlre.pod
index 6c05efc66f..a1a118f371 100644
--- a/pod/perlre.pod
+++ b/pod/perlre.pod
@@ -149,6 +149,7 @@ also work:
\x1B hex char
\x{263a} wide hex char (Unicode SMILEY)
\c[ control char
+ \C{name} named char
\l lowercase next char (think vi)
\u uppercase next char (think vi)
\L lowercase till \E (think vi)
@@ -157,7 +158,8 @@ also work:
\Q quote (disable) pattern metacharacters till \E
If C<use locale> is in effect, the case map used by C<\l>, C<\L>, C<\u>
-and C<\U> is taken from the current locale. See L<perllocale>.
+and C<\U> is taken from the current locale. See L<perllocale>. For
+documentation of C<\C{name}>, see L<charnames>.
You cannot include a literal C<$> or C<@> within a C<\Q> sequence.
An unescaped C<$> or C<@> interpolates the corresponding variable,
@@ -176,7 +178,7 @@ In addition, Perl defines the following:
\PP Match non-P
\X Match eXtended Unicode "combining character sequence",
equivalent to C<(?:\PM\pM*)>
- \C Match a single C char (octet) even under utf8.
+ \O Match a single C char (octet) even under utf8.
A C<\w> matches a single alphanumeric character, not a whole word.
Use C<\w+> to match a string of Perl-identifier characters (which isn't
@@ -215,7 +217,7 @@ character class. For example:
matches one, zero, any alphabetic character, and the percentage sign.
The exact meanings of the above classes depend from many things:
-if the C<utf8> pragma is used, the following equivalenced to Unicode
+if the C<utf8> pragma is used, the following equivalences to Unicode
\p{} constructs hold:
alpha IsAlpha
@@ -236,7 +238,7 @@ For example, [:lower:] and \p{IsLower} are equivalent.
If the C<utf8> pragma is not used but the C<locale> pragma is, the
classes correlate with the isalpha(3) interface (except for `word',
-which is a Perl extension).
+which is a Perl extension, mirroring \w).
The assumedly non-obviously named classes are:
@@ -247,6 +249,8 @@ The assumedly non-obviously named classes are:
Any control character. Usually characters that don't produce
output as such but instead control the terminal somehow:
for example newline and backspace are control characters.
+ All characters with ord() less than 32 are most often control
+ classified as characters.
=item graph
@@ -273,9 +277,11 @@ The assumedly non-obviously named classes are:
You can negate the [::] character classes by prefixing the class name
with a '^'. This is a Perl extension. For example:
- ^digit \D \P{IsDigit}
- ^space \S \P{IsSpace}
- ^word \W \P{IsWord}
+ POSIX trad. Perl utf8 Perl
+
+ [:^digit:] \D \P{IsDigit}
+ [:^space:] \S \P{IsSpace}
+ [:^word:] \W \P{IsWord}
The POSIX character classes [.cc.] and [=cc=] are B<not> supported
and trying to use them will cause an error.
diff --git a/pp.c b/pp.c
index c659e33ec4..187e72abf0 100644
--- a/pp.c
+++ b/pp.c
@@ -2052,74 +2052,24 @@ PP(pp_vec)
register I32 offset = POPi;
register SV *src = POPs;
I32 lvalue = PL_op->op_flags & OPf_MOD;
- STRLEN srclen;
- unsigned char *s = (unsigned char*)SvPV(src, srclen);
- unsigned long retnum;
- I32 len;
-
- SvTAINTED_off(TARG); /* decontaminate */
- offset *= size; /* turn into bit offset */
- len = (offset + size + 7) / 8;
- if (offset < 0 || size < 1)
- retnum = 0;
- else {
- if (lvalue) { /* it's an lvalue! */
- if (SvTYPE(TARG) < SVt_PVLV) {
- sv_upgrade(TARG, SVt_PVLV);
- sv_magic(TARG, Nullsv, 'v', Nullch, 0);
- }
- LvTYPE(TARG) = 'v';
- if (LvTARG(TARG) != src) {
- if (LvTARG(TARG))
- SvREFCNT_dec(LvTARG(TARG));
- LvTARG(TARG) = SvREFCNT_inc(src);
- }
- LvTARGOFF(TARG) = offset;
- LvTARGLEN(TARG) = size;
- }
- if (len > srclen) {
- if (size <= 8)
- retnum = 0;
- else {
- offset >>= 3;
- if (size == 16) {
- if (offset >= srclen)
- retnum = 0;
- else
- retnum = (unsigned long) s[offset] << 8;
- }
- else if (size == 32) {
- if (offset >= srclen)
- retnum = 0;
- else if (offset + 1 >= srclen)
- retnum = (unsigned long) s[offset] << 24;
- else if (offset + 2 >= srclen)
- retnum = ((unsigned long) s[offset] << 24) +
- ((unsigned long) s[offset + 1] << 16);
- else
- retnum = ((unsigned long) s[offset] << 24) +
- ((unsigned long) s[offset + 1] << 16) +
- (s[offset + 2] << 8);
- }
- }
+ SvTAINTED_off(TARG); /* decontaminate */
+ if (lvalue) { /* it's an lvalue! */
+ if (SvTYPE(TARG) < SVt_PVLV) {
+ sv_upgrade(TARG, SVt_PVLV);
+ sv_magic(TARG, Nullsv, 'v', Nullch, 0);
}
- else if (size < 8)
- retnum = (s[offset >> 3] >> (offset & 7)) & ((1 << size) - 1);
- else {
- offset >>= 3;
- if (size == 8)
- retnum = s[offset];
- else if (size == 16)
- retnum = ((unsigned long) s[offset] << 8) + s[offset+1];
- else if (size == 32)
- retnum = ((unsigned long) s[offset] << 24) +
- ((unsigned long) s[offset + 1] << 16) +
- (s[offset + 2] << 8) + s[offset+3];
+ LvTYPE(TARG) = 'v';
+ if (LvTARG(TARG) != src) {
+ if (LvTARG(TARG))
+ SvREFCNT_dec(LvTARG(TARG));
+ LvTARG(TARG) = SvREFCNT_inc(src);
}
+ LvTARGOFF(TARG) = offset;
+ LvTARGLEN(TARG) = size;
}
- sv_setuv(TARG, (UV)retnum);
+ sv_setuv(TARG, do_vecget(src, offset, size));
PUSHs(TARG);
RETURN;
}
@@ -3350,8 +3300,11 @@ PP(pp_unpack)
}
else if (isDIGIT(*pat)) {
len = *pat++ - '0';
- while (isDIGIT(*pat))
+ while (isDIGIT(*pat)) {
len = (len * 10) + (*pat++ - '0');
+ if (len < 0)
+ Perl_croak(aTHX_ "Repeat count in unpack overflows");
+ }
}
else
len = (datumtype != '@');
@@ -4402,8 +4355,11 @@ PP(pp_pack)
}
else if (isDIGIT(*pat)) {
len = *pat++ - '0';
- while (isDIGIT(*pat))
+ while (isDIGIT(*pat)) {
len = (len * 10) + (*pat++ - '0');
+ if (len < 0)
+ Perl_croak(aTHX_ "Repeat count in pack overflows");
+ }
}
else
len = 1;
@@ -5021,7 +4977,14 @@ PP(pp_split)
++s;
}
}
- else if (strEQ("^", rx->precomp)) {
+ else if (rx->prelen == 1 && *rx->precomp == '^') {
+ if (!(pm->op_pmflags & PMf_MULTILINE)
+ && !(pm->op_pmregexp->reganch & ROPT_WARNED)) {
+ if (ckWARN(WARN_DEPRECATED))
+ Perl_warner(aTHX_ WARN_DEPRECATED,
+ "split /^/ better written as split /^/m");
+ pm->op_pmregexp->reganch |= ROPT_WARNED;
+ }
while (--limit) {
/*SUPPRESS 530*/
for (m = s; m < strend && *m != '\n'; m++) ;
diff --git a/pp.h b/pp.h
index 0eac5a56f9..c35f9677d4 100644
--- a/pp.h
+++ b/pp.h
@@ -64,6 +64,11 @@
#define POPi ((IV)SvIVx(POPs))
#define POPu ((UV)SvUVx(POPs))
#define POPl ((long)SvIVx(POPs))
+#define POPul ((unsigned long)SvIVx(POPs))
+#ifdef HAS_QUAD
+#define POPq ((Quad_t)SvIVx(POPs))
+#define POPuq ((Uquad_t)SvIVx(POPs))
+#endif
#define TOPs (*sp)
#define TOPp (SvPV(TOPs, PL_na)) /* deprecated */
@@ -72,6 +77,11 @@
#define TOPi ((IV)SvIV(TOPs))
#define TOPu ((UV)SvUV(TOPs))
#define TOPl ((long)SvIV(TOPs))
+#define TOPul ((unsigned long)SvIV(TOPs))
+#ifdef HAS_QUAD
+#define TOPq ((Quad_t)SvIV(TOPs))
+#define TOPuq ((Uquad_t)SvIV(TOPs))
+#endif
/* Go to some pains in the rare event that we must extend the stack. */
#define EXTEND(p,n) STMT_START { if (PL_stack_max - p < (n)) { \
@@ -115,6 +125,12 @@
#define dPOPiv IV value = POPi
#define dTOPuv UV value = TOPu
#define dPOPuv UV value = POPu
+#ifdef HAS_QUAD
+#define dTOPqv Quad_t value = TOPu
+#define dPOPqv Quad_t value = POPu
+#define dTOPuqv Uquad_t value = TOPuq
+#define dPOPuqv Uquad_t value = POPuq
+#endif
#define dPOPXssrl(X) SV *right = POPs; SV *left = CAT2(X,s)
#define dPOPXnnrl(X) NV right = POPn; NV left = CAT2(X,n)
diff --git a/pp_hot.c b/pp_hot.c
index 38658d18f1..78f07a17f3 100644
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -767,8 +767,8 @@ PP(pp_aassign)
}
# endif /* HAS_SETREUID */
#endif /* HAS_SETRESUID */
- PL_uid = (int)PerlProc_getuid();
- PL_euid = (int)PerlProc_geteuid();
+ PL_uid = PerlProc_getuid();
+ PL_euid = PerlProc_geteuid();
}
if (PL_delaymagic & DM_GID) {
#ifdef HAS_SETRESGID
@@ -796,8 +796,8 @@ PP(pp_aassign)
}
# endif /* HAS_SETREGID */
#endif /* HAS_SETRESGID */
- PL_gid = (int)PerlProc_getgid();
- PL_egid = (int)PerlProc_getegid();
+ PL_gid = PerlProc_getgid();
+ PL_egid = PerlProc_getegid();
}
PL_tainting |= (PL_uid && (PL_euid != PL_uid || PL_egid != PL_gid));
}
diff --git a/pp_sys.c b/pp_sys.c
index e081d676fb..afac5ab1ce 100644
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -230,7 +230,7 @@ static char zero_but_true[ZBTLEN + 1] = "0 but true";
|| defined(HAS_SETREGID) || defined(HAS_SETRESGID))
/* The Hard Way. */
STATIC int
-S_emulate_eaccess(pTHX_ const char* path, int mode)
+S_emulate_eaccess(pTHX_ const char* path, Mode_t mode)
{
Uid_t ruid = getuid();
Uid_t euid = geteuid();
@@ -295,7 +295,7 @@ S_emulate_eaccess(pTHX_ const char* path, int mode)
#if !defined(PERL_EFF_ACCESS_R_OK)
STATIC int
-S_emulate_eaccess(pTHX_ const char* path, int mode)
+S_emulate_eaccess(pTHX_ const char* path, Mode_t mode)
{
Perl_croak(aTHX_ "switching effective uid is not implemented");
/*NOTREACHED*/
@@ -1667,6 +1667,7 @@ PP(pp_send)
else
#endif
{
+ /* See the note at doio.c:do_print about filesize limits. --jhi */
length = PerlLIO_write(PerlIO_fileno(IoIFP(io)),
buffer+offset, length);
}
@@ -1764,7 +1765,7 @@ PP(pp_sysseek)
djSP;
GV *gv;
int whence = POPi;
- Off_t offset = POPl;
+ Off_t offset = (Off_t)SvIVx(POPs);
MAGIC *mg;
gv = PL_last_in_gv = (GV*)POPs;
@@ -2472,30 +2473,30 @@ PP(pp_stat)
if (max) {
EXTEND(SP, max);
EXTEND_MORTAL(max);
- PUSHs(sv_2mortal(newSViv((I32)PL_statcache.st_dev)));
- PUSHs(sv_2mortal(newSViv((I32)PL_statcache.st_ino)));
- PUSHs(sv_2mortal(newSViv((I32)PL_statcache.st_mode)));
- PUSHs(sv_2mortal(newSViv((I32)PL_statcache.st_nlink)));
- PUSHs(sv_2mortal(newSViv((I32)PL_statcache.st_uid)));
- PUSHs(sv_2mortal(newSViv((I32)PL_statcache.st_gid)));
+ PUSHs(sv_2mortal(newSViv(PL_statcache.st_dev)));
+ PUSHs(sv_2mortal(newSViv(PL_statcache.st_ino)));
+ PUSHs(sv_2mortal(newSViv(PL_statcache.st_mode)));
+ PUSHs(sv_2mortal(newSViv(PL_statcache.st_nlink)));
+ PUSHs(sv_2mortal(newSViv(PL_statcache.st_uid)));
+ PUSHs(sv_2mortal(newSViv(PL_statcache.st_gid)));
#ifdef USE_STAT_RDEV
- PUSHs(sv_2mortal(newSViv((I32)PL_statcache.st_rdev)));
+ PUSHs(sv_2mortal(newSViv(PL_statcache.st_rdev)));
#else
PUSHs(sv_2mortal(newSVpvn("", 0)));
#endif
- PUSHs(sv_2mortal(newSViv((I32)PL_statcache.st_size)));
+ PUSHs(sv_2mortal(newSViv(PL_statcache.st_size)));
#ifdef BIG_TIME
- PUSHs(sv_2mortal(newSVnv((U32)PL_statcache.st_atime)));
- PUSHs(sv_2mortal(newSVnv((U32)PL_statcache.st_mtime)));
- PUSHs(sv_2mortal(newSVnv((U32)PL_statcache.st_ctime)));
+ PUSHs(sv_2mortal(newSVnv(PL_statcache.st_atime)));
+ PUSHs(sv_2mortal(newSVnv(PL_statcache.st_mtime)));
+ PUSHs(sv_2mortal(newSVnv(PL_statcache.st_ctime)));
#else
- PUSHs(sv_2mortal(newSViv((I32)PL_statcache.st_atime)));
- PUSHs(sv_2mortal(newSViv((I32)PL_statcache.st_mtime)));
- PUSHs(sv_2mortal(newSViv((I32)PL_statcache.st_ctime)));
+ PUSHs(sv_2mortal(newSViv(PL_statcache.st_atime)));
+ PUSHs(sv_2mortal(newSViv(PL_statcache.st_mtime)));
+ PUSHs(sv_2mortal(newSViv(PL_statcache.st_ctime)));
#endif
#ifdef USE_STAT_BLOCKS
- PUSHs(sv_2mortal(newSViv((I32)PL_statcache.st_blksize)));
- PUSHs(sv_2mortal(newSViv((I32)PL_statcache.st_blocks)));
+ PUSHs(sv_2mortal(newSViv(PL_statcache.st_blksize)));
+ PUSHs(sv_2mortal(newSViv(PL_statcache.st_blocks)));
#else
PUSHs(sv_2mortal(newSVpvn("", 0)));
PUSHs(sv_2mortal(newSVpvn("", 0)));
@@ -2718,7 +2719,7 @@ PP(pp_ftmtime)
djSP; dTARGET;
if (result < 0)
RETPUSHUNDEF;
- PUSHn( ((I32)PL_basetime - (I32)PL_statcache.st_mtime) / 86400.0 );
+ PUSHn( (PL_basetime - PL_statcache.st_mtime) / 86400.0 );
RETURN;
}
@@ -2728,7 +2729,7 @@ PP(pp_ftatime)
djSP; dTARGET;
if (result < 0)
RETPUSHUNDEF;
- PUSHn( ((I32)PL_basetime - (I32)PL_statcache.st_atime) / 86400.0 );
+ PUSHn( (PL_basetime - PL_statcache.st_atime) / 86400.0 );
RETURN;
}
@@ -2738,7 +2739,7 @@ PP(pp_ftctime)
djSP; dTARGET;
if (result < 0)
RETPUSHUNDEF;
- PUSHn( ((I32)PL_basetime - (I32)PL_statcache.st_ctime) / 86400.0 );
+ PUSHn( (PL_basetime - PL_statcache.st_ctime) / 86400.0 );
RETURN;
}
@@ -3764,21 +3765,21 @@ PP(pp_getpgrp)
{
#ifdef HAS_GETPGRP
djSP; dTARGET;
- int pid;
- I32 value;
+ Pid_t pid;
+ Pid_t pgrp;
if (MAXARG < 1)
pid = 0;
else
pid = SvIVx(POPs);
#ifdef BSD_GETPGRP
- value = (I32)BSD_GETPGRP(pid);
+ pgrp = (I32)BSD_GETPGRP(pid);
#else
if (pid != 0 && pid != getpid())
DIE(aTHX_ "POSIX getpgrp can't take an argument");
- value = (I32)getpgrp();
+ pgrp = getpgrp();
#endif
- XPUSHi(value);
+ XPUSHi(pgrp);
RETURN;
#else
DIE(aTHX_ PL_no_func, "getpgrp()");
@@ -3789,8 +3790,8 @@ PP(pp_setpgrp)
{
#ifdef HAS_SETPGRP
djSP; dTARGET;
- int pgrp;
- int pid;
+ Pid_t pgrp;
+ Pid_t pid;
if (MAXARG < 2) {
pgrp = 0;
pid = 0;
@@ -3949,15 +3950,15 @@ PP(pp_gmtime)
PUSHs(sv_2mortal(tsv));
}
else if (tmbuf) {
- PUSHs(sv_2mortal(newSViv((I32)tmbuf->tm_sec)));
- PUSHs(sv_2mortal(newSViv((I32)tmbuf->tm_min)));
- PUSHs(sv_2mortal(newSViv((I32)tmbuf->tm_hour)));
- PUSHs(sv_2mortal(newSViv((I32)tmbuf->tm_mday)));
- PUSHs(sv_2mortal(newSViv((I32)tmbuf->tm_mon)));
- PUSHs(sv_2mortal(newSViv((I32)tmbuf->tm_year)));
- PUSHs(sv_2mortal(newSViv((I32)tmbuf->tm_wday)));
- PUSHs(sv_2mortal(newSViv((I32)tmbuf->tm_yday)));
- PUSHs(sv_2mortal(newSViv((I32)tmbuf->tm_isdst)));
+ PUSHs(sv_2mortal(newSViv(tmbuf->tm_sec)));
+ PUSHs(sv_2mortal(newSViv(tmbuf->tm_min)));
+ PUSHs(sv_2mortal(newSViv(tmbuf->tm_hour)));
+ PUSHs(sv_2mortal(newSViv(tmbuf->tm_mday)));
+ PUSHs(sv_2mortal(newSViv(tmbuf->tm_mon)));
+ PUSHs(sv_2mortal(newSViv(tmbuf->tm_year)));
+ PUSHs(sv_2mortal(newSViv(tmbuf->tm_wday)));
+ PUSHs(sv_2mortal(newSViv(tmbuf->tm_yday)));
+ PUSHs(sv_2mortal(newSViv(tmbuf->tm_isdst)));
}
RETURN;
}
@@ -3972,7 +3973,7 @@ PP(pp_alarm)
EXTEND(SP, 1);
if (anum < 0)
RETPUSHUNDEF;
- PUSHi((I32)anum);
+ PUSHi(anum);
RETURN;
#else
DIE(aTHX_ PL_no_func, "Unsupported function alarm");
@@ -5000,7 +5001,7 @@ fcntl_emulate_flock(int fd, int operation)
return -1;
}
flock.l_whence = SEEK_SET;
- flock.l_start = flock.l_len = 0L;
+ flock.l_start = flock.l_len = (Off_t)0;
return fcntl(fd, (operation & LOCK_NB) ? F_SETLK : F_SETLKW, &flock);
}
diff --git a/proto.h b/proto.h
index bdb0ea0dba..5584aa4304 100644
--- a/proto.h
+++ b/proto.h
@@ -37,7 +37,7 @@ VIRTUAL I32 Perl_block_gimme(pTHX);
VIRTUAL int Perl_block_start(pTHX_ int full);
VIRTUAL void Perl_boot_core_UNIVERSAL(pTHX);
VIRTUAL void Perl_call_list(pTHX_ I32 oldscope, AV* av_list);
-VIRTUAL I32 Perl_cando(pTHX_ I32 bit, I32 effective, Stat_t* statbufp);
+VIRTUAL bool Perl_cando(pTHX_ Mode_t mode, Uid_t effective, Stat_t* statbufp);
VIRTUAL U32 Perl_cast_ulong(pTHX_ NV f);
VIRTUAL I32 Perl_cast_i32(pTHX_ NV f);
VIRTUAL IV Perl_cast_iv(pTHX_ NV f);
@@ -125,6 +125,7 @@ VIRTUAL void Perl_do_sprintf(pTHX_ SV* sv, I32 len, SV** sarg);
VIRTUAL Off_t Perl_do_sysseek(pTHX_ GV* gv, Off_t pos, int whence);
VIRTUAL Off_t Perl_do_tell(pTHX_ GV* gv);
VIRTUAL I32 Perl_do_trans(pTHX_ SV* sv);
+VIRTUAL UV Perl_do_vecget(pTHX_ SV* sv, I32 offset, I32 size);
VIRTUAL void Perl_do_vecset(pTHX_ SV* sv);
VIRTUAL void Perl_do_vop(pTHX_ I32 optype, SV* sv, SV* left, SV* right);
VIRTUAL OP* Perl_dofile(pTHX_ OP* term);
@@ -197,7 +198,7 @@ VIRTUAL HE* Perl_hv_store_ent(pTHX_ HV* tb, SV* key, SV* val, U32 hash);
VIRTUAL void Perl_hv_undef(pTHX_ HV* tb);
VIRTUAL I32 Perl_ibcmp(pTHX_ const char* a, const char* b, I32 len);
VIRTUAL I32 Perl_ibcmp_locale(pTHX_ const char* a, const char* b, I32 len);
-VIRTUAL I32 Perl_ingroup(pTHX_ I32 testgid, I32 effective);
+VIRTUAL bool Perl_ingroup(pTHX_ Gid_t testgid, Uid_t effective);
VIRTUAL void Perl_init_debugger(pTHX);
VIRTUAL void Perl_init_stacks(pTHX);
VIRTUAL U32 Perl_intro_my(pTHX);
@@ -465,7 +466,7 @@ VIRTUAL void Perl_set_numeric_local(pTHX);
VIRTUAL void Perl_set_numeric_radix(pTHX);
VIRTUAL void Perl_set_numeric_standard(pTHX);
VIRTUAL void Perl_require_pv(pTHX_ const char* pv);
-VIRTUAL void Perl_pidgone(pTHX_ int pid, int status);
+VIRTUAL void Perl_pidgone(pTHX_ Pid_t pid, int status);
VIRTUAL void Perl_pmflag(pTHX_ U16* pmfl, int ch);
VIRTUAL OP* Perl_pmruntime(pTHX_ OP* pm, OP* expr, OP* repl);
VIRTUAL OP* Perl_pmtrans(pTHX_ OP* o, OP* expr, OP* repl);
@@ -655,7 +656,7 @@ VIRTUAL UV Perl_utf8_to_uv(pTHX_ U8 *s, I32* retlen);
VIRTUAL U8* Perl_uv_to_utf8(pTHX_ U8 *d, UV uv);
VIRTUAL void Perl_vivify_defelem(pTHX_ SV* sv);
VIRTUAL void Perl_vivify_ref(pTHX_ SV* sv, U32 to_what);
-VIRTUAL I32 Perl_wait4pid(pTHX_ int pid, int* statusp, int flags);
+VIRTUAL I32 Perl_wait4pid(pTHX_ Pid_t pid, int* statusp, int flags);
VIRTUAL void Perl_warn(pTHX_ const char* pat, ...);
VIRTUAL void Perl_vwarn(pTHX_ const char* pat, va_list* args);
VIRTUAL void Perl_warner(pTHX_ U32 err, const char* pat, ...);
@@ -845,7 +846,7 @@ STATIC SV* S_method_common(pTHX_ SV* meth, U32* hashp);
#endif
#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
STATIC OP* S_doform(pTHX_ CV *cv, GV *gv, OP *retop);
-STATIC int S_emulate_eaccess(pTHX_ const char* path, int mode);
+STATIC int S_emulate_eaccess(pTHX_ const char* path, Mode_t mode);
# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
STATIC int S_dooneliner(pTHX_ char *cmd, char *filename);
# endif
@@ -855,7 +856,6 @@ STATIC regnode* S_reg(pTHX_ I32, I32 *);
STATIC regnode* S_reganode(pTHX_ U8, U32);
STATIC regnode* S_regatom(pTHX_ I32 *);
STATIC regnode* S_regbranch(pTHX_ I32 *, I32);
-STATIC void S_regc(pTHX_ U8, char *);
STATIC void S_reguni(pTHX_ UV, char *, I32*);
STATIC regnode* S_regclass(pTHX);
STATIC regnode* S_regclassutf8(pTHX);
diff --git a/regcomp.c b/regcomp.c
index 3fc298fc5a..9846022186 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -192,10 +192,14 @@ static scan_data_t zero_scan_data = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
#define OOB_CHAR8 1234
#define OOB_UTF8 123456
+#define OOB_NAMEDCLASS -1
#define CHR_SVLEN(sv) (UTF ? sv_len_utf8(sv) : SvCUR(sv))
#define CHR_DIST(a,b) (UTF ? utf8_distance(a,b) : a - b)
+/* Allow for side effects in s */
+#define REGC(c,s) STMT_START { if (!SIZE_ONLY) *(s) = (c); else (s);} STMT_END
+
static void clear_re(pTHXo_ void *r);
STATIC void
@@ -260,7 +264,7 @@ S_study_chunk(pTHX_ regnode **scanp, I32 *deltap, regnode *last, scan_data_t *da
regnode *stop = scan;
#endif
- next = scan + (*OPERAND(scan) + 2 - 1)/sizeof(regnode) + 2;
+ next = scan + NODE_SZ_STR(scan);
/* Skip NOTHING, merge EXACT*. */
while (n &&
( PL_regkind[(U8)OP(n)] == NOTHING ||
@@ -279,17 +283,17 @@ S_study_chunk(pTHX_ regnode **scanp, I32 *deltap, regnode *last, scan_data_t *da
n = regnext(n);
}
else {
- int oldl = *OPERAND(scan);
+ int oldl = STR_LEN(scan);
regnode *nnext = regnext(n);
- if (oldl + *OPERAND(n) > U8_MAX)
+ if (oldl + STR_LEN(n) > U8_MAX)
break;
NEXT_OFF(scan) += NEXT_OFF(n);
- *OPERAND(scan) += *OPERAND(n);
- next = n + (*OPERAND(n) + 2 - 1)/sizeof(regnode) + 2;
+ STR_LEN(scan) += STR_LEN(n);
+ next = n + NODE_SZ_STR(n);
/* Now we can overwrite *n : */
- Move(OPERAND(n) + 1, OPERAND(scan) + oldl + 1,
- *OPERAND(n) + 1, char);
+ Move(STRING(n), STRING(scan) + oldl,
+ STR_LEN(n), char);
#ifdef DEBUGGING
if (stringok)
stop = next - 1;
@@ -299,7 +303,7 @@ S_study_chunk(pTHX_ regnode **scanp, I32 *deltap, regnode *last, scan_data_t *da
}
#ifdef DEBUGGING
/* Allow dumping */
- n = scan + (*OPERAND(scan) + 2 - 1)/sizeof(regnode) + 2;
+ n = scan + NODE_SZ_STR(scan);
while (n <= stop) {
/* Purify reports a benign UMR here sometimes, because we
* don't initialize the OP() slot of a node when that node
@@ -392,9 +396,9 @@ S_study_chunk(pTHX_ regnode **scanp, I32 *deltap, regnode *last, scan_data_t *da
continue;
}
else if (OP(scan) == EXACT) {
- I32 l = *OPERAND(scan);
+ I32 l = STR_LEN(scan);
if (UTF) {
- unsigned char *s = (unsigned char *)(OPERAND(scan)+1);
+ unsigned char *s = (unsigned char *)STRING(scan);
unsigned char *e = s + l;
I32 newl = 0;
while (s < e) {
@@ -412,18 +416,18 @@ S_study_chunk(pTHX_ regnode **scanp, I32 *deltap, regnode *last, scan_data_t *da
data->last_start_max = is_inf
? I32_MAX : data->pos_min + data->pos_delta;
}
- sv_catpvn(data->last_found, (char *)(OPERAND(scan)+1), *OPERAND(scan));
+ sv_catpvn(data->last_found, STRING(scan), STR_LEN(scan));
data->last_end = data->pos_min + l;
data->pos_min += l; /* As in the first entry. */
data->flags &= ~SF_BEFORE_EOL;
}
}
else if (PL_regkind[(U8)OP(scan)] == EXACT) {
- I32 l = *OPERAND(scan);
+ I32 l = STR_LEN(scan);
if (flags & SCF_DO_SUBSTR)
scan_commit(data);
if (UTF) {
- unsigned char *s = (unsigned char *)(OPERAND(scan)+1);
+ unsigned char *s = (unsigned char *)STRING(scan);
unsigned char *e = s + l;
I32 newl = 0;
while (s < e) {
@@ -514,7 +518,7 @@ S_study_chunk(pTHX_ regnode **scanp, I32 *deltap, regnode *last, scan_data_t *da
nxt = regnext(nxt);
if (!strchr((char*)PL_simple,OP(nxt))
&& !(PL_regkind[(U8)OP(nxt)] == EXACT
- && *OPERAND(nxt) == 1))
+ && STR_LEN(nxt) == 1))
goto nogo;
nxt2 = nxt;
nxt = regnext(nxt);
@@ -861,7 +865,7 @@ Perl_pregcomp(pTHX_ char *exp, char *xend, PMOP *pm)
PL_regsize = 0L;
PL_regcode = &PL_regdummy;
PL_reg_whilem_seen = 0;
- regc((U8)REG_MAGIC, (char*)PL_regcode);
+ REGC((U8)REG_MAGIC, (char*)PL_regcode);
if (reg(0, &flags) == NULL) {
Safefree(PL_regprecomp);
PL_regprecomp = Nullch;
@@ -904,7 +908,7 @@ Perl_pregcomp(pTHX_ char *exp, char *xend, PMOP *pm)
PL_regcode = r->program;
/* Store the count of eval-groups for security checks: */
PL_regcode->next_off = ((PL_seen_evals > U16_MAX) ? U16_MAX : PL_seen_evals);
- regc((U8)REG_MAGIC, (char*) PL_regcode++);
+ REGC((U8)REG_MAGIC, (char*) PL_regcode++);
r->data = 0;
if (reg(0, &flags) == NULL)
return(NULL);
@@ -1776,7 +1780,7 @@ tryagain:
PL_seen_zerolen++; /* Do not optimize RE away */
nextchar();
break;
- case 'C':
+ case 'O':
ret = reg_node(SANY);
*flagp |= HASWIDTH|SIMPLE;
nextchar();
@@ -1953,8 +1957,7 @@ tryagain:
ret = reg_node(FOLD
? (LOC ? EXACTFL : EXACTF)
: EXACT);
- s = (char *) OPERAND(ret);
- regc(0, s++); /* save spot for len */
+ s = STRING(ret);
for (len = 0, p = PL_regcomp_parse - 1;
len < 127 && p < PL_regxend;
len++)
@@ -2094,7 +2097,7 @@ tryagain:
}
else {
len++;
- regc(ender, s++);
+ REGC(ender, s++);
}
break;
}
@@ -2104,7 +2107,7 @@ tryagain:
len += numlen - 1;
}
else
- regc(ender, s++);
+ REGC(ender, s++);
}
loopdone:
PL_regcomp_parse = p - 1;
@@ -2116,14 +2119,11 @@ tryagain:
if (len == 1)
*flagp |= SIMPLE;
if (!SIZE_ONLY)
- *OPERAND(ret) = len;
- regc('\0', s++);
- if (SIZE_ONLY) {
- PL_regsize += (len + 2 + sizeof(regnode) - 1) / sizeof(regnode);
- }
- else {
- PL_regcode += (len + 2 + sizeof(regnode) - 1) / sizeof(regnode);
- }
+ STR_LEN(ret) = len;
+ if (SIZE_ONLY)
+ PL_regsize += STR_SZ(len);
+ else
+ PL_regcode += STR_SZ(len);
}
break;
}
@@ -2247,7 +2247,7 @@ S_regpposixcc(pTHX_ I32 value)
}
break;
}
- if ((namedclass == -1 ||
+ if ((namedclass == OOB_NAMEDCLASS ||
!(posixcc + skip + 2 < PL_regxend &&
(posixcc[skip] == ':' &&
posixcc[skip + 1] == ']'))))
@@ -2276,7 +2276,7 @@ S_checkposixcc(pTHX)
*PL_regcomp_parse == '=' ||
*PL_regcomp_parse == '.')) {
char *s = PL_regcomp_parse;
- char c = *s++;
+ char c = *s++;
while(*s && isALNUM(*s))
s++;
@@ -2303,10 +2303,10 @@ S_regclass(pTHX)
I32 numlen;
I32 namedclass;
- s = opnd = (char *) OPERAND(PL_regcode);
+ s = opnd = MASK(PL_regcode);
ret = reg_node(ANYOF);
for (value = 0; value < ANYOF_SIZE; value++)
- regc(0, s++);
+ REGC(0, s++);
if (*PL_regcomp_parse == '^') { /* Complement of range. */
PL_regnaughty++;
PL_regcomp_parse++;
@@ -2330,7 +2330,7 @@ S_regclass(pTHX)
goto skipcond; /* allow 1st char to be ] or - */
while (PL_regcomp_parse < PL_regxend && *PL_regcomp_parse != ']') {
skipcond:
- namedclass = -1;
+ namedclass = OOB_NAMEDCLASS;
value = UCHARAT(PL_regcomp_parse++);
if (value == '[')
namedclass = regpposixcc(value);
@@ -2365,7 +2365,9 @@ S_regclass(pTHX)
break;
}
}
- if (!SIZE_ONLY && namedclass > -1) {
+ if (!SIZE_ONLY && namedclass > OOB_NAMEDCLASS) {
+ if (range)
+ FAIL("invalid [] range in regexp"); /* [a-\w], [a-[:word:]] */
switch (namedclass) {
case ANYOF_ALNUM:
if (LOC)
@@ -2606,25 +2608,27 @@ S_regclass(pTHX)
}
if (LOC)
ANYOF_FLAGS(opnd) |= ANYOF_CLASS;
- lastvalue = OOB_CHAR8;
+ continue;
}
- else
if (range) {
if (lastvalue > value)
- FAIL("invalid [] range in regexp");
+ FAIL("invalid [] range in regexp"); /* [b-a] */
range = 0;
}
else {
lastvalue = value;
if (*PL_regcomp_parse == '-' && PL_regcomp_parse+1 < PL_regxend &&
- PL_regcomp_parse[1] != ']') {
+ PL_regcomp_parse[1] != ']') {
+ if (namedclass > OOB_NAMEDCLASS)
+ FAIL("invalid [] range in regexp"); /* [\w-a] */
PL_regcomp_parse++;
range = 1;
continue; /* do it next time */
}
}
+ /* now is the next time */
if (!SIZE_ONLY) {
-#ifndef ASCIIish
+#ifndef ASCIIish /* EBCDIC, for example. */
if ((isLOWER(lastvalue) && isLOWER(value)) ||
(isUPPER(lastvalue) && isUPPER(value)))
{
@@ -2644,7 +2648,7 @@ S_regclass(pTHX)
for ( ; lastvalue <= value; lastvalue++)
ANYOF_BITMAP_SET(opnd, lastvalue);
}
- lastvalue = value;
+ range = 0;
}
/* optimize case-insensitive simple patterns (e.g. /[a-z]/i) */
if (!SIZE_ONLY &&
@@ -2702,7 +2706,7 @@ S_regclassutf8(pTHX)
while (PL_regcomp_parse < PL_regxend && *PL_regcomp_parse != ']') {
skipcond:
- namedclass = -1;
+ namedclass = OOB_NAMEDCLASS;
value = utf8_to_uv((U8*)PL_regcomp_parse, &numlen);
PL_regcomp_parse += numlen;
@@ -2774,7 +2778,9 @@ S_regclassutf8(pTHX)
break;
}
}
- if (!SIZE_ONLY && namedclass > -1) {
+ if (!SIZE_ONLY && namedclass > OOB_NAMEDCLASS) {
+ if (range)
+ FAIL("invalid [] range in regexp"); /* [a-\w], [a-[:word:]] */
switch (namedclass) {
case ANYOF_ALNUM:
Perl_sv_catpvf(aTHX_ listsv, "+utf8::IsWord\n"); break;
@@ -2829,11 +2835,11 @@ S_regclassutf8(pTHX)
case ANYOF_NXDIGIT:
Perl_sv_catpvf(aTHX_ listsv, "!utf8::IsXDigit\n"); break;
}
+ continue;
}
- else
if (range) {
if (lastvalue > value)
- FAIL("invalid [] range in regexp");
+ FAIL("invalid [] range in regexp"); /* [b-a] */
#ifdef UV_IS_QUAD
if (!SIZE_ONLY)
Perl_sv_catpvf(aTHX_ listsv, "%04" PERL_PRIx64 "\t%04" PERL_PRIx64 "\n", (UV)lastvalue, (UV)value);
@@ -2841,25 +2847,28 @@ S_regclassutf8(pTHX)
if (!SIZE_ONLY)
Perl_sv_catpvf(aTHX_ listsv, "%04x\t%04x\n", lastvalue, value);
#endif
- lastvalue = value;
range = 0;
}
else {
lastvalue = value;
if (*PL_regcomp_parse == '-' && PL_regcomp_parse+1 < PL_regxend &&
- PL_regcomp_parse[1] != ']') {
+ PL_regcomp_parse[1] != ']') {
+ if (namedclass > OOB_NAMEDCLASS)
+ FAIL("invalid [] range in regexp"); /* [\w-a] */
PL_regcomp_parse++;
range = 1;
continue; /* do it next time */
}
+ }
+ /* now is the next time */
#ifdef UV_IS_QUAD
- if (!SIZE_ONLY)
- Perl_sv_catpvf(aTHX_ listsv, "%04" PERL_PRIx64 "\n", (UV)value);
+ if (!SIZE_ONLY)
+ Perl_sv_catpvf(aTHX_ listsv, "%04" PERL_PRIx64 "\n", (UV)value);
#else
- if (!SIZE_ONLY)
- Perl_sv_catpvf(aTHX_ listsv, "%04x\n", value);
+ if (!SIZE_ONLY)
+ Perl_sv_catpvf(aTHX_ listsv, "%04x\n", value);
#endif
- }
+ range = 0;
}
ret = reganode(ANYOFUTF8, 0);
@@ -2957,7 +2966,7 @@ S_reganode(pTHX_ U8 op, U32 arg)
}
/*
-- regc - emit (if appropriate) a Unicode character
+- reguni - emit (if appropriate) a Unicode character
*/
STATIC void
S_reguni(pTHX_ UV uv, char* s, I32* lenp)
@@ -2973,17 +2982,6 @@ S_reguni(pTHX_ UV uv, char* s, I32* lenp)
}
/*
-- regc - emit (if appropriate) a byte of code
-*/
-STATIC void
-S_regc(pTHX_ U8 b, char* s)
-{
- dTHR;
- if (!SIZE_ONLY)
- *s = b;
-}
-
-/*
- reginsert - insert an operator in front of already-emitted operand
*
* Means relocating the operand.
@@ -3144,7 +3142,7 @@ S_dumpuntil(pTHX_ regnode *start, regnode *node, regnode *last, SV* sv, I32 l)
}
else if (PL_regkind[(U8)op] == EXACT) {
/* Literal string, where present. */
- node += ((*OPERAND(node)) + 2 + sizeof(regnode) - 1) / sizeof(regnode);
+ node += NODE_SZ_STR(node) - 1;
node = NEXTOPER(node);
}
else {
@@ -3247,7 +3245,8 @@ Perl_regprop(pTHX_ SV *sv, regnode *o)
k = PL_regkind[(U8)OP(o)];
if (k == EXACT)
- Perl_sv_catpvf(aTHX_ sv, " <%s%s%s>", PL_colors[0], OPERAND(o) + 1, PL_colors[1]);
+ Perl_sv_catpvf(aTHX_ sv, " <%s%*s%s>", PL_colors[0],
+ STR_LEN(o), STRING(o), PL_colors[1]);
else if (k == CURLY) {
if (OP(o) == CURLYM || OP(o) == CURLYN)
Perl_sv_catpvf(aTHX_ sv, "[%d]", o->flags); /* Parenth number */
diff --git a/regcomp.h b/regcomp.h
index 7bddc1b051..e30c8e7ca5 100644
--- a/regcomp.h
+++ b/regcomp.h
@@ -66,10 +66,10 @@ typedef OP OP_4tree; /* Will be redefined later. */
*/
struct regnode_string {
- U8 flags;
+ U8 str_len;
U8 type;
U16 next_off;
- U8 string[1];
+ char string[1];
};
struct regnode_1 {
@@ -133,6 +133,12 @@ struct regnode_2 {
#define OP(p) ((p)->type)
#define OPERAND(p) (((struct regnode_string *)p)->string)
+#define MASK(p) ((char*)OPERAND(p))
+#define STR_LEN(p) (((struct regnode_string *)p)->str_len)
+#define STRING(p) (((struct regnode_string *)p)->string)
+#define STR_SZ(l) ((l + sizeof(regnode) - 1) / sizeof(regnode))
+#define NODE_SZ_STR(p) (STR_SZ(STR_LEN(p))+1)
+
#define NODE_ALIGN(node)
#define ARG_LOC(p) (((struct regnode_1 *)p)->arg1)
#define ARG1_LOC(p) (((struct regnode_2 *)p)->arg1)
diff --git a/regexec.c b/regexec.c
index 6be77cc042..3fb1826e19 100644
--- a/regexec.c
+++ b/regexec.c
@@ -884,7 +884,7 @@ Perl_regexec_flags(pTHX_ register regexp *prog, char *stringarg, register char *
/* We know what class it must start with. */
switch (OP(c)) {
case ANYOFUTF8:
- cc = (char *) OPERAND(c);
+ cc = MASK(c);
while (s < strend) {
if (REGINCLASSUTF8(c, (U8*)s)) {
if (tmp && regtry(prog, s))
@@ -898,7 +898,7 @@ Perl_regexec_flags(pTHX_ register regexp *prog, char *stringarg, register char *
}
break;
case ANYOF:
- cc = (char *) OPERAND(c);
+ cc = MASK(c);
while (s < strend) {
if (REGINCLASS(cc, *s)) {
if (tmp && regtry(prog, s))
@@ -1697,8 +1697,8 @@ S_regmatch(pTHX_ regnode *prog)
nextchr = UCHARAT(++locinput);
break;
case EXACT:
- s = (char *) OPERAND(scan);
- ln = UCHARAT(s++);
+ s = STRING(scan);
+ ln = STR_LEN(scan);
/* Inline the first character, for speed. */
if (UCHARAT(s) != nextchr)
sayNO;
@@ -1713,8 +1713,8 @@ S_regmatch(pTHX_ regnode *prog)
PL_reg_flags |= RF_tainted;
/* FALL THROUGH */
case EXACTF:
- s = (char *) OPERAND(scan);
- ln = UCHARAT(s++);
+ s = STRING(scan);
+ ln = STR_LEN(scan);
if (UTF) {
char *l = locinput;
@@ -1752,7 +1752,7 @@ S_regmatch(pTHX_ regnode *prog)
nextchr = UCHARAT(locinput);
break;
case ANYOFUTF8:
- s = (char *) OPERAND(scan);
+ s = MASK(scan);
if (!REGINCLASSUTF8(scan, (U8*)locinput))
sayNO;
if (locinput >= PL_regeol)
@@ -1761,7 +1761,7 @@ S_regmatch(pTHX_ regnode *prog)
nextchr = UCHARAT(locinput);
break;
case ANYOF:
- s = (char *) OPERAND(scan);
+ s = MASK(scan);
if (nextchr < 0)
nextchr = UCHARAT(locinput);
if (!REGINCLASS(s, nextchr))
@@ -2535,7 +2535,7 @@ S_regmatch(pTHX_ regnode *prog)
ln = n;
locinput = PL_reginput;
if (PL_regkind[(U8)OP(next)] == EXACT) {
- c1 = UCHARAT(OPERAND(next) + 1);
+ c1 = (U8)*STRING(next);
if (OP(next) == EXACTF)
c2 = PL_fold[c1];
else if (OP(next) == EXACTFL)
@@ -2592,7 +2592,7 @@ S_regmatch(pTHX_ regnode *prog)
);
if (n >= ln) {
if (PL_regkind[(U8)OP(next)] == EXACT) {
- c1 = UCHARAT(OPERAND(next) + 1);
+ c1 = (U8)*STRING(next);
if (OP(next) == EXACTF)
c2 = PL_fold[c1];
else if (OP(next) == EXACTFL)
@@ -2669,7 +2669,7 @@ S_regmatch(pTHX_ regnode *prog)
* when we know what character comes next.
*/
if (PL_regkind[(U8)OP(next)] == EXACT) {
- c1 = UCHARAT(OPERAND(next) + 1);
+ c1 = (U8)*STRING(next);
if (OP(next) == EXACTF)
c2 = PL_fold[c1];
else if (OP(next) == EXACTFL)
@@ -2975,7 +2975,6 @@ S_regrepeat(pTHX_ regnode *p, I32 max)
scan = PL_reginput;
if (max != REG_INFTY && max < loceol - scan)
loceol = scan + max;
- opnd = (char *) OPERAND(p);
switch (OP(p)) {
case REG_ANY:
while (scan < loceol && *scan != '\n')
@@ -2999,19 +2998,19 @@ S_regrepeat(pTHX_ regnode *p, I32 max)
}
break;
case EXACT: /* length of string is 1 */
- c = UCHARAT(++opnd);
+ c = (U8)*STRING(p);
while (scan < loceol && UCHARAT(scan) == c)
scan++;
break;
case EXACTF: /* length of string is 1 */
- c = UCHARAT(++opnd);
+ c = (U8)*STRING(p);
while (scan < loceol &&
(UCHARAT(scan) == c || UCHARAT(scan) == PL_fold[c]))
scan++;
break;
case EXACTFL: /* length of string is 1 */
PL_reg_flags |= RF_tainted;
- c = UCHARAT(++opnd);
+ c = (U8)*STRING(p);
while (scan < loceol &&
(UCHARAT(scan) == c || UCHARAT(scan) == PL_fold_locale[c]))
scan++;
@@ -3024,6 +3023,7 @@ S_regrepeat(pTHX_ regnode *p, I32 max)
}
break;
case ANYOF:
+ opnd = MASK(p);
while (scan < loceol && REGINCLASS(opnd, *scan))
scan++;
break;
diff --git a/regexp.h b/regexp.h
index 5d787e018a..414b2545ea 100644
--- a/regexp.h
+++ b/regexp.h
@@ -69,6 +69,8 @@ typedef struct regexp {
#define RE_INTUIT_ONECHAR 0x4000000
#define RE_INTUIT_TAIL 0x8000000
+#define ROPT_WARNED 0x10000000
+
#define RE_USE_INTUIT (RE_USE_INTUIT_NOML|RE_USE_INTUIT_ML)
#define REINT_AUTORITATIVE (REINT_AUTORITATIVE_NOML|REINT_AUTORITATIVE_ML)
#define REINT_ONCE (REINT_ONCE_NOML|REINT_ONCE_ML)
diff --git a/sv.c b/sv.c
index 1b15240da4..9ba9f6cb15 100644
--- a/sv.c
+++ b/sv.c
@@ -15,28 +15,6 @@
#define PERL_IN_SV_C
#include "perl.h"
-#ifdef OVR_DBL_DIG
-/* Use an overridden DBL_DIG */
-# ifdef DBL_DIG
-# undef DBL_DIG
-# endif
-# define DBL_DIG OVR_DBL_DIG
-#else
-/* The following is all to get DBL_DIG, in order to pick a nice
- default value for printing floating point numbers in Gconvert.
- (see config.h)
-*/
-#ifdef I_LIMITS
-#include <limits.h>
-#endif
-#ifdef I_FLOAT
-#include <float.h>
-#endif
-#ifndef HAS_DBL_DIG
-#define DBL_DIG 15 /* A guess that works lots of places */
-#endif
-#endif
-
#ifdef PERL_OBJECT
#define VTBL this->*vtbl
#else /* !PERL_OBJECT */
@@ -1320,7 +1298,7 @@ Perl_sv_2uv(pTHX_ register SV *sv)
(void)SvNOK_on(sv);
(void)SvIOK_on(sv);
#if defined(USE_LONG_DOUBLE)
- DEBUG_c(PerlIO_printf(Perl_debug_log, "0x%lx 2nv(%" PERL_PRIg64 ")\n",
+ DEBUG_c(PerlIO_printf(Perl_debug_log, "0x%lx 2nv(%" PERL_PRIgldbl ")\n",
(unsigned long)sv, SvNVX(sv)));
#else
DEBUG_c(PerlIO_printf(Perl_debug_log, "0x%lx 2nv(%g)\n",
@@ -1438,7 +1416,7 @@ Perl_sv_2nv(pTHX_ register SV *sv)
#if defined(USE_LONG_DOUBLE)
DEBUG_c({
RESTORE_NUMERIC_STANDARD();
- PerlIO_printf(Perl_debug_log, "0x%lx num(%" PERL_PRIg64 ")\n",
+ PerlIO_printf(Perl_debug_log, "0x%lx num(%" PERL_PRIgldbl ")\n",
(unsigned long)sv, SvNVX(sv));
RESTORE_NUMERIC_LOCAL();
});
@@ -1477,7 +1455,7 @@ Perl_sv_2nv(pTHX_ register SV *sv)
#if defined(USE_LONG_DOUBLE)
DEBUG_c({
RESTORE_NUMERIC_STANDARD();
- PerlIO_printf(Perl_debug_log, "0x%lx 2nv(%" PERL_PRIg64 ")\n",
+ PerlIO_printf(Perl_debug_log, "0x%lx 2nv(%" PERL_PRIgldbl ")\n",
(unsigned long)sv, SvNVX(sv));
RESTORE_NUMERIC_LOCAL();
});
@@ -1711,7 +1689,7 @@ Perl_sv_2pv(pTHX_ register SV *sv, STRLEN *lp)
goto tokensave;
}
if (SvNOKp(sv)) {
- Gconvert(SvNVX(sv), DBL_DIG, 0, tmpbuf);
+ Gconvert(SvNVX(sv), NV_DIG, 0, tmpbuf);
tsv = Nullsv;
goto tokensave;
}
@@ -1835,7 +1813,7 @@ Perl_sv_2pv(pTHX_ register SV *sv, STRLEN *lp)
else
#endif /*apollo*/
{
- Gconvert(SvNVX(sv), DBL_DIG, 0, s);
+ Gconvert(SvNVX(sv), NV_DIG, 0, s);
}
errno = olderrno;
#ifdef FIXNEGATIVEZERO
@@ -4731,7 +4709,12 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV
char *eptr = Nullch;
STRLEN elen = 0;
- char ebuf[TYPE_DIGITS(int) * 2 + 16]; /* large enough for "%#.#f" */
+ /* Times 4: a decimal digit takes more than 3 binary digits.
+ * NV_DIG: mantissa takes than many decimal digits.
+ * Plus 32: Playing safe. */
+ char ebuf[IV_DIG * 4 + NV_DIG + 32];
+ /* large enough for "%#.#f" --chip */
+ /* what about long double NVs? --jhi */
char c;
int i;
unsigned base;
@@ -5129,8 +5112,8 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV
*--eptr = c;
#ifdef USE_LONG_DOUBLE
{
- char* p = PRIfldbl + sizeof(PRIfldbl) - 3;
- while (p >= PRIfldbl) { *--eptr = *p-- }
+ char* p = PERL_PRIfldbl + sizeof(PERL_PRIfldbl) - 3;
+ while (p >= PERL_PRIfldbl) { *--eptr = *p--; }
}
#endif
if (has_precis) {
diff --git a/t/io/dup.t b/t/io/dup.t
index f312671e56..9ad823fff7 100755
--- a/t/io/dup.t
+++ b/t/io/dup.t
@@ -2,7 +2,7 @@
# $RCSfile: dup.t,v $$Revision: 4.1 $$Date: 92/08/07 18:27:27 $
-print "1..6\n";
+print "1..7\n";
print "ok 1\n";
@@ -37,3 +37,17 @@ else { system 'cat Io.dup' }
unlink 'Io.dup';
print STDOUT "ok 6\n";
+
+# 7 # 19990811 mjd@plover.com
+my ($out1, $out2) = ("Line 1\n", "Line 2\n");
+open(W, "> Io.dup") || die "Can't open stdout";
+print W $out1, $out2;
+close W;
+open(R1, "< Io.dup") || die "Can't read temp file";
+$in1 = <R1>;
+open(R2, "<&R1") || die "Can't dup";
+$in2 = <R2>;
+print "not " unless $in1 eq $out1 && $in2 eq $out2;
+print "ok 7\n";
+
+unlink("Io.dup");
diff --git a/t/lib/anydbm.t b/t/lib/anydbm.t
index a38b5f680e..ed83a56222 100755
--- a/t/lib/anydbm.t
+++ b/t/lib/anydbm.t
@@ -118,7 +118,30 @@ print ($size > 0 ? "ok 9\n" : "not ok 9\n");
print join(':',200..400) eq join(':',@foo) ? "ok 10\n" : "not ok 10\n";
print ($h{'foo'} eq '' ? "ok 11\n" : "not ok 11\n");
-print ($h{''} eq 'bar' ? "ok 12\n" : "not ok 12\n");
+if ($h{''} eq 'bar') {
+ print "ok 12\n" ;
+}
+else {
+ print "not ok 12\n" ;
+ if ($AnyDBM_File::ISA[0] eq 'DB_File' && $DB_File::db_ver >= 2.004010) {
+ ($major, $minor, $patch) = ($DB_File::db_ver =~ /^(\d+)\.(\d\d\d)(\d\d\d)/) ;
+ $major =~ s/^0+// ;
+ $minor =~ s/^0+// ;
+ $patch =~ s/^0+// ;
+ $compact = "$major.$minor.$patch" ;
+
+ print STDERR <<EOM ;
+#
+# anydbm.t test 12 will fail when AnyDBM_File uses the combination of
+# DB_File and Berkeley DB 2.4.10 (or greater).
+# You are using DB_File $DB_File::VERSION and Berkeley DB $compact
+#
+# Berkeley DB 2 from version 2.4.10 onwards does not allow null keys.
+# This feature will be reenabled in a future version of Berkeley DB.
+#
+EOM
+ }
+}
untie %h;
if ($^O eq 'VMS') {
diff --git a/t/lib/charnames.t b/t/lib/charnames.t
new file mode 100644
index 0000000000..860cc03c75
--- /dev/null
+++ b/t/lib/charnames.t
@@ -0,0 +1,53 @@
+#!./perl
+
+BEGIN {
+ unless(grep /blib/, @INC) {
+ chdir 't' if -d 't';
+ unshift @INC, '../lib' if -d '../lib';
+ }
+}
+
+$| = 1;
+print "1..5\n";
+
+use charnames ':full';
+
+print "not " unless "Here\C{EXCLAMATION MARK}?" eq 'Here!?';
+print "ok 1\n";
+
+print "# \$res=$res \$\@='$@'\nnot "
+ if $res = eval <<'EOE'
+use charnames ":full";
+"Here: \C{CYRILLIC SMALL LETTER BE}!";
+1
+EOE
+ or $@ !~ /above 0xFF/;
+print "ok 2\n";
+# print "# \$res=$res \$\@='$@'\n";
+
+print "# \$res=$res \$\@='$@'\nnot "
+ if $res = eval <<'EOE'
+use charnames 'cyrillic';
+"Here: \C{Be}!";
+1
+EOE
+ or $@ !~ /CYRILLIC CAPITAL LETTER BE.*above 0xFF/;
+print "ok 3\n";
+
+# If octal representation of unicode char is \0xyzt, then the utf8 is \3xy\2zt
+$encoded_be = "\320\261";
+$encoded_alpha = "\316\261";
+$encoded_bet = "\327\221";
+{
+ use charnames ':full';
+ use utf8;
+
+ print "not " unless "\C{CYRILLIC SMALL LETTER BE}" eq $encoded_be;
+ print "ok 4\n";
+
+ use charnames qw(cyrillic greek :short);
+
+ print "not " unless "\C{be},\C{alpha},\C{hebrew:bet}"
+ eq "$encoded_be,$encoded_alpha,$encoded_bet";
+ print "ok 5\n";
+}
diff --git a/t/lib/db-btree.t b/t/lib/db-btree.t
index 7263a9093e..cea8163a46 100755
--- a/t/lib/db-btree.t
+++ b/t/lib/db-btree.t
@@ -178,7 +178,6 @@ delete $h{'goner2'};
undef $X ;
untie(%h);
-
# tie to the same file again
ok(26, $X = tie(%h,'DB_File',$Dfile, O_RDWR, 0640, $DB_BTREE)) ;
@@ -1189,4 +1188,31 @@ EOM
}
+#{
+# # R_SETCURSOR
+# use strict ;
+# my (%h, $db) ;
+# unlink $Dfile;
+#
+# ok(156, $db = tie(%h, 'DB_File', $Dfile, O_RDWR|O_CREAT, 0640, $DB_BTREE ) );
+#
+# $h{abc} = 33 ;
+# my $k = "newest" ;
+# my $v = 44 ;
+# my $status = $db->put($k, $v, R_SETCURSOR) ;
+# print "status = [$status]\n" ;
+# ok(157, $status == 0) ;
+# $status = $db->del($k, R_CURSOR) ;
+# print "status = [$status]\n" ;
+# ok(158, $status == 0) ;
+# $k = "newest" ;
+# ok(159, $db->get($k, $v, R_CURSOR)) ;
+#
+# ok(160, keys %h == 1) ;
+#
+# undef $db ;
+# untie %h;
+# unlink $Dfile;
+#}
+
exit ;
diff --git a/t/lib/db-hash.t b/t/lib/db-hash.t
index 2293a42202..c52d8ae9dd 100755
--- a/t/lib/db-hash.t
+++ b/t/lib/db-hash.t
@@ -197,6 +197,8 @@ ok(25, $#keys == 31) ;
$h{'foo'} = '';
ok(26, $h{'foo'} eq '' );
+# Berkeley DB 2 from version 2.4.10 onwards does not allow null keys.
+# This feature will be reenabled in a future version of Berkeley DB.
#$h{''} = 'bar';
#ok(27, $h{''} eq 'bar' );
ok(27,1) ;
diff --git a/t/lib/dprof.t b/t/lib/dprof.t
index 97e42bfcb2..9374151353 100755
--- a/t/lib/dprof.t
+++ b/t/lib/dprof.t
@@ -72,3 +72,5 @@ while( @tests ){
verify $test;
}
}
+
+unlink("tmon.out");
diff --git a/t/lib/odbm.t b/t/lib/odbm.t
index fc15d13ebf..f8b8a110ad 100755
--- a/t/lib/odbm.t
+++ b/t/lib/odbm.t
@@ -393,3 +393,14 @@ EOM
untie %h;
unlink <Op.dbmx*>;
}
+
+if ($^O eq 'hpux') {
+ print <<EOM;
+#
+# If you experience failures with the odbm test in HP-UX,
+# this is a well-known bug that's unfortunately very hard to fix.
+# The suggested course of action is to avoid using the ODBM_File,
+# but to use instead the NDBM_File extension.
+#
+EOM
+}
diff --git a/t/lib/syslfs.t b/t/lib/syslfs.t
new file mode 100644
index 0000000000..c9d7120101
--- /dev/null
+++ b/t/lib/syslfs.t
@@ -0,0 +1,149 @@
+# NOTE: this file tests how large files (>2GB) work with raw system IO.
+# open(), tell(), seek(), print(), read() are tested in t/op/lfs.t.
+# If you modify/add tests here, remember to update also t/op/lfs.t.
+
+BEGIN {
+ # Don't bother if there are no quads.
+ eval { my $q = pack "q", 0 };
+ if ($@) {
+ print "1..0\n# no 64-bit types\n";
+ exit(0);
+ }
+ chdir 't' if -d 't';
+ unshift @INC, '../lib';
+ require Config; import Config;
+ # Don't bother if there are no quad offsets.
+ if ($Config{lseeksize} < 8) {
+ print "1..0\n# no 64-bit file offsets\n";
+ exit(0);
+ }
+ require Fcntl; import Fcntl;
+}
+
+sub bye {
+ close(BIG);
+ unlink "big";
+ exit(0);
+}
+
+sub explain {
+ print <<EOM;
+#
+# If the lfs (large file support: large meaning larger than two gigabytes)
+# tests are skipped or fail, it may mean either that your process is not
+# allowed to write large files or that the file system you are running
+# the tests on doesn't support large files, or both. You may also need
+# to reconfigure your kernel. (This is all very system-dependent.)
+#
+# Perl may still be able to support large files, once you have
+# such a process and such a (file) system.
+#
+EOM
+}
+
+# Known have-nots.
+if ($^O eq 'win32' || $^O eq 'vms') {
+ print "1..0\n# no sparse files\n";
+ bye();
+}
+
+# Then try to deduce whether we have sparse files.
+
+# We'll start off by creating a one megabyte file which has
+# only three "true" bytes. If we have sparseness, we should
+# consume less blocks than one megabyte (assuming nobody has
+# one megabyte blocks...)
+
+sysopen(BIG, "big", O_WRONLY|O_CREAT|O_TRUNC) or
+ do { warn "sysopen failed: $!\n"; bye };
+sysseek(BIG, 1_000_000, SEEK_SET);
+syswrite(BIG, "big");
+close(BIG);
+
+my @s;
+
+@s = stat("big");
+
+print "# @s\n";
+
+my $BLOCKSIZE = 512; # is this really correct everywhere?
+
+unless (@s == 13 &&
+ $s[7] == 1_000_003 &&
+ defined $s[12] &&
+ $BLOCKSIZE * $s[12] < 1_000_003) {
+ print "1..0\n# no sparse files?\n";
+ bye();
+}
+
+# By now we better be sure that we do have sparse files:
+# if we are not, the following will hog 5 gigabytes of disk. Ooops.
+
+sysopen(BIG, "big", O_WRONLY|O_CREAT|O_TRUNC) or
+ do { warn "sysopen failed: $!\n"; bye };
+sysseek(BIG, 5_000_000_000, SEEK_SET);
+# The syswrite will fail if there are are filesize limitations (process or fs).
+unless(syswrite(BIG, "big") == 3) {
+ $ENV{LC_ALL} = "C";
+ if ($! =~/File too large/) {
+ print "1..0\n# writing past 2GB failed\n";
+ explain();
+ bye();
+ }
+}
+close BIG;
+
+@s = stat("big");
+
+print "# @s\n";
+
+sub fail () {
+ print "not ";
+ $fail++;
+}
+
+print "1..8\n";
+
+my $fail = 0;
+
+fail unless $s[7] == 5_000_000_003; # exercizes pp_stat
+print "ok 1\n";
+
+fail unless -s "big" == 5_000_000_003; # exercizes pp_ftsize
+print "ok 2\n";
+
+sysopen(BIG, "big", O_RDONLY) or do { warn "sysopen failed: $!\n"; bye };
+
+sysseek(BIG, 4_500_000_000, SEEK_SET);
+
+fail unless sysseek(BIG, 0, SEEK_CUR) == 4_500_000_000;
+print "ok 3\n";
+
+sysseek(BIG, 1, SEEK_CUR);
+
+fail unless sysseek(BIG, 0, SEEK_CUR) == 4_500_000_001;
+print "ok 4\n";
+
+sysseek(BIG, -1, SEEK_CUR);
+
+fail unless sysseek(BIG, 0, SEEK_CUR) == 4_500_000_000;
+print "ok 5\n";
+
+sysseek(BIG, -3, SEEK_END);
+
+fail unless sysseek(BIG, 0, SEEK_CUR) == 5_000_000_000;
+print "ok 6\n";
+
+my $big;
+
+fail unless sysread(BIG, $big, 3) == 3;
+print "ok 7\n";
+
+fail unless $big eq "big";
+print "ok 8\n";
+
+explain if $fail;
+
+bye();
+
+# eof
diff --git a/t/op/64bit.t b/t/op/64bit.t
index f49b5e47f6..4da3a9e2e8 100644
--- a/t/op/64bit.t
+++ b/t/op/64bit.t
@@ -1,147 +1,192 @@
BEGIN {
- eval { pack "q", 0 };
+ eval { my $q = pack "q", 0 };
if ($@) {
print "1..0\n# no 64-bit types\n";
exit(0);
}
+ chdir 't' if -d 't';
+ unshift @INC, '../lib';
}
# This could use a lot of more tests.
#
-# Nota bene: bit operations are not 64-bit clean. See the beginning
-# of pp.c and the explanation next to IBW/UBW.
+# Nota bene: bit operations (&, |, ^, ~, <<, >>, vec) are not 64-bit clean.
+# See the beginning of pp.c and the explanation next to IBW/UBW.
-print "1..30\n";
+# so that using > 0xfffffff constants and 32+ bit
+# shifts and vector sizes doesn't cause noise
+no warning 'overflow';
+
+print "1..36\n";
my $q = 12345678901;
my $r = 23456789012;
+my $f = 0xffffffff;
my $x;
-
+my $y;
$x = unpack "q", pack "q", $q;
-print "not " unless $x == $q;
+print "not " unless $x == $q && $x > $f;
print "ok 1\n";
$x = sprintf("%d", 12345678901);
-print "not " unless $x eq "$q";
+print "not " unless $x eq $q && $x > $f;
print "ok 2\n";
$x = sprintf("%d", $q);
-print "not " unless $x == $q && $x eq $q;
+print "not " unless $x == $q && $x eq $q && $x > $f;
print "ok 3\n";
$x = sprintf("%lld", $q);
-print "not " unless $x == $q && $x eq $q;
+print "not " unless $x == $q && $x eq $q && $x > $f;
print "ok 4\n";
$x = sprintf("%Ld", $q);
-print "not " unless $x == $q && $x eq $q;
+print "not " unless $x == $q && $x eq $q && $x > $f;
print "ok 5\n";
$x = sprintf("%qd", $q);
-print "not " unless $x == $q && $x eq $q;
+print "not " unless $x == $q && $x eq $q && $x > $f;
print "ok 6\n";
$x = sprintf("%x", $q);
-print "not " unless hex($x) == 0x2dfdc1c35;
+print "not " unless hex($x) == 0x2dfdc1c35 && hex($x) > $f;
print "ok 7\n";
$x = sprintf("%llx", $q);
-print "not " unless hex($x) == 0x2dfdc1c35;
+print "not " unless hex($x) == 0x2dfdc1c35 && hex($x) > $f;
print "ok 8\n";
$x = sprintf("%Lx", $q);
-print "not " unless hex($x) == 0x2dfdc1c35;
+print "not " unless hex($x) == 0x2dfdc1c35 && hex($x) > $f;
print "ok 9\n";
$x = sprintf("%qx", $q);
-print "not " unless hex($x) == 0x2dfdc1c35;
+print "not " unless hex($x) == 0x2dfdc1c35 && hex($x) > $f;
print "ok 10\n";
$x = sprintf("%o", $q);
-print "not " unless oct("0$x") == 0133767016065;
+print "not " unless oct("0$x") == 0133767016065 && oct($x) > $f;
print "ok 11\n";
$x = sprintf("%llo", $q);
-print "not " unless oct("0$x") == 0133767016065;
+print "not " unless oct("0$x") == 0133767016065 && oct($x) > $f;
print "ok 12\n";
$x = sprintf("%Lo", $q);
-print "not " unless oct("0$x") == 0133767016065;
+print "not " unless oct("0$x") == 0133767016065 && oct($x) > $f;
print "ok 13\n";
$x = sprintf("%qo", $q);
-print "not " unless oct("0$x") == 0133767016065;
+print "not " unless oct("0$x") == 0133767016065 && oct($x) > $f;
print "ok 14\n";
$x = sprintf("%b", $q);
-print "not " unless oct("0b$x") == 0b1011011111110111000001110000110101;
+print "not " unless oct("0b$x") == 0b1011011111110111000001110000110101 &&
+ oct("0b$x") > $f;
print "ok 15\n";
$x = sprintf("%llb", $q);
-print "not " unless oct("0b$x") == 0b1011011111110111000001110000110101;
+print "not " unless oct("0b$x") == 0b1011011111110111000001110000110101 &&
+ oct("0b$x") > $f;
print "ok 16\n";
$x = sprintf("%Lb", $q);
-print "not " unless oct("0b$x") == 0b1011011111110111000001110000110101;
+print "not " unless oct("0b$x") == 0b1011011111110111000001110000110101 &&
+ oct("0b$x") > $f;
print "ok 17\n";
$x = sprintf("%qb", $q);
-print "not " unless oct("0b$x") == 0b1011011111110111000001110000110101;
+print "not " unless oct("0b$x") == 0b1011011111110111000001110000110101 &&
+ oct("0b$x") > $f;
print "ok 18\n";
$x = sprintf("%u", 12345678901);
-print "not " unless $x eq "$q";
+print "not " unless $x eq $q && $x > $f;
print "ok 19\n";
$x = sprintf("%u", $q);
-print "not " unless $x == $q && $x eq $q;
+print "not " unless $x == $q && $x eq $q && $x > $f;
print "ok 20\n";
$x = sprintf("%llu", $q);
-print "not " unless $x == $q && $x eq $q;
+print "not " unless $x == $q && $x eq $q && $x > $f;
print "ok 21\n";
$x = sprintf("%Lu", $q);
-print "not " unless $x == $q && $x eq $q;
+print "not " unless $x == $q && $x eq $q && $x > $f;
print "ok 22\n";
$x = sprintf("%D", $q);
-print "not " unless $x == $q && $x eq $q;
+print "not " unless $x == $q && $x eq $q && $x > $f;
print "ok 23\n";
$x = sprintf("%U", $q);
-print "not " unless $x == $q && $x eq $q;
+print "not " unless $x == $q && $x eq $q && $x > $f;
print "ok 24\n";
$x = sprintf("%O", $q);
-print "not " unless oct($x) == $q;
+print "not " unless oct($x) == $q && oct($x) > $f;
print "ok 25\n";
$x = $q + $r;
-print "not " unless $x == 35802467913;
+print "not " unless $x == 35802467913 && $x > $f;
print "ok 26\n";
$x = $q - $r;
-print "not " unless $x == -11111110111;
+print "not " unless $x == -11111110111 && -$x > $f;
print "ok 27\n";
-$x = $q * $r;
-print "not " unless $x == 289589985190657035812;
+$x = $q * 1234567;
+print "not " unless $x == 15241567763770867 && $x > $f;
print "ok 28\n";
-$x /= $r;
-print "not " unless $x == $q;
+$x /= 1234567;
+print "not " unless $x == $q && $x > $f;
print "ok 29\n";
$x = 98765432109 % 12345678901;
print "not " unless $x == 901;
print "ok 30\n";
+
+# The following six adapted from op/inc.
+
+$a = 9223372036854775807;
+$c = $a++;
+print "not " unless $a == 9223372036854775808;
+print "ok 31\n";
+
+$a = 9223372036854775807;
+$c = ++$a;
+print "not " unless $a == 9223372036854775808;
+print "ok 32\n";
+
+$a = 9223372036854775807;
+$c = $a + 1;
+print "not " unless $a == 9223372036854775808;
+print "ok 33\n";
+
+$a = -9223372036854775808;
+$c = $a--;
+print "not " unless $a == -9223372036854775809;
+print "ok 34\n";
+
+$a = -9223372036854775808;
+$c = --$a;
+print "not " unless $a == -9223372036854775809;
+print "ok 35\n";
+
+$a = -9223372036854775808;
+$c = $a - 1;
+print "not " unless $a == -9223372036854775809;
+print "ok 36\n";
+
+
diff --git a/t/op/filetest.t b/t/op/filetest.t
index 66eaa3933d..e00d5fb7b0 100755
--- a/t/op/filetest.t
+++ b/t/op/filetest.t
@@ -48,11 +48,13 @@ else {
# Scripts are not -x everywhere so cannot test that.
+eval '$> = $oldeuid'; # switch uid back (may not be implemented)
+
+# this would fail for the euid 1
+# (unless we have unpacked the source code as uid 1...)
print "not " unless -r 'op';
print "ok 7\n";
-eval '$> = $oldeuid'; # switch uid back (may not be implemented)
-
# this would fail for the euid 1
# (unless we have unpacked the source code as uid 1...)
if ($Config{d_seteuid}) {
diff --git a/t/op/lfs.t b/t/op/lfs.t
new file mode 100644
index 0000000000..46d410da0a
--- /dev/null
+++ b/t/op/lfs.t
@@ -0,0 +1,155 @@
+# NOTE: this file tests how large files (>2GB) work with perlio (stdio/sfio).
+# sysopen(), sysseek(), syswrite(), sysread() are tested in t/lib/syslfs.t.
+# If you modify/add tests here, remember to update also t/lib/syslfs.t.
+
+BEGIN {
+ # Don't bother if there are no quads.
+ eval { my $q = pack "q", 0 };
+ if ($@) {
+ print "1..0\n# no 64-bit types\n";
+ exit(0);
+ }
+ chdir 't' if -d 't';
+ unshift @INC, '../lib';
+ # Don't bother if there are no quad offsets.
+ require Config; import Config;
+ if ($Config{lseeksize} < 8) {
+ print "1..0\n# no 64-bit file offsets\n";
+ exit(0);
+ }
+}
+
+sub bye {
+ close(BIG);
+ unlink "big";
+ exit(0);
+}
+
+sub explain {
+ print <<EOM;
+#
+# If the lfs (large file support: large meaning larger than two gigabytes)
+# tests are skipped or fail, it may mean either that your process is not
+# allowed to write large files or that the file system you are running
+# the tests on doesn't support large files, or both. You may also need
+# to reconfigure your kernel. (This is all very system-dependent.)
+#
+# Perl may still be able to support large files, once you have
+# such a process and such a (file) system.
+#
+EOM
+}
+
+# Known have-nots.
+if ($^O eq 'win32' || $^O eq 'vms') {
+ print "1..0\n# no sparse files\n";
+ bye();
+}
+
+# Then try to deduce whether we have sparse files.
+
+# Let's not depend on Fcntl or any other extension.
+
+my ($SEEK_SET, $SEEK_CUR, $SEEK_END) = (0, 1, 2);
+
+# We'll start off by creating a one megabyte file which has
+# only three "true" bytes. If we have sparseness, we should
+# consume less blocks than one megabyte (assuming nobody has
+# one megabyte blocks...)
+
+open(BIG, ">big") or do { warn "open failed: $!\n"; bye };
+binmode BIG;
+seek(BIG, 1_000_000, $SEEK_SET);
+print BIG "big";
+close(BIG);
+
+my @s;
+
+@s = stat("big");
+
+print "# @s\n";
+
+my $BLOCKSIZE = 512; # is this really correct everywhere?
+
+unless (@s == 13 &&
+ $s[7] == 1_000_003 &&
+ defined $s[12] &&
+ $BLOCKSIZE * $s[12] < 1_000_003) {
+ print "1..0\n# no sparse files?\n";
+ bye();
+}
+
+# By now we better be sure that we do have sparse files:
+# if we are not, the following will hog 5 gigabytes of disk. Ooops.
+
+open(BIG, ">big") or do { warn "open failed: $!\n"; bye };
+binmode BIG;
+seek(BIG, 5_000_000_000, $SEEK_SET);
+# Either the print or (more likely, thanks to buffering) the close will
+# fail if there are are filesize limitations (process or fs).
+my $print = print BIG "big";
+my $close = close BIG if $print;
+unless ($print && $close) {
+ $ENV{LC_ALL} = "C";
+ if ($! =~/File too large/) {
+ print "1..0\n# writing past 2GB failed\n";
+ explain();
+ }
+ bye();
+}
+
+@s = stat("big");
+
+print "# @s\n";
+
+sub fail () {
+ print "not ";
+ $fail++;
+}
+
+print "1..8\n";
+
+my $fail = 0;
+
+fail unless $s[7] == 5_000_000_003; # exercizes pp_stat
+print "ok 1\n";
+
+fail unless -s "big" == 5_000_000_003; # exercizes pp_ftsize
+print "ok 2\n";
+
+open(BIG, "big") or do { warn "open failed: $!\n"; bye };
+binmode BIG;
+
+seek(BIG, 4_500_000_000, $SEEK_SET);
+
+fail unless tell(BIG) == 4_500_000_000;
+print "ok 3\n";
+
+seek(BIG, 1, $SEEK_CUR);
+
+fail unless tell(BIG) == 4_500_000_001;
+print "ok 4\n";
+
+seek(BIG, -1, $SEEK_CUR);
+
+fail unless tell(BIG) == 4_500_000_000;
+print "ok 5\n";
+
+seek(BIG, -3, $SEEK_END);
+
+fail unless tell(BIG) == 5_000_000_000;
+print "ok 6\n";
+
+my $big;
+
+fail unless read(BIG, $big, 3) == 3;
+print "ok 7\n";
+
+fail unless $big eq "big";
+print "ok 8\n";
+
+explain if $fail;
+
+bye();
+
+# eof
diff --git a/t/op/re_tests b/t/op/re_tests
index 899b35ee83..b35e964dc1 100644
--- a/t/op/re_tests
+++ b/t/op/re_tests
@@ -735,3 +735,7 @@ foo.bart foo.bart y - -
.[X](.+)+[X][X] bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa n - -
.[X][X](.+)+[X] bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa n - -
tt+$ xxxtt y - -
+[a-\w] - c - /[a-\w]/: invalid [] range in regexp
+[\w-z] - c - /[\w-z]/: invalid [] range in regexp
+[0-[:digit:]] - c - /[0-[:digit:]]/: invalid [] range in regexp
+[[:digit:]-9] - c - /[[:digit:]-9]/: invalid [] range in regexp
diff --git a/t/pragma/warn/util b/t/pragma/warn/util
index 605b42a771..eebd9207e4 100644
--- a/t/pragma/warn/util
+++ b/t/pragma/warn/util
@@ -11,25 +11,25 @@
__END__
# util.c
-use warning 'octal' ;
+use warning 'digit' ;
my $a = oct "029" ;
-no warning 'octal' ;
+no warning 'digit' ;
my $a = oct "029" ;
EXPECT
Illegal octal digit '9' ignored at - line 3.
########
# util.c
-use warning 'unsafe' ;
+use warning 'digit' ;
*a = hex "0xv9" ;
-no warning 'unsafe' ;
+no warning 'digit' ;
*a = hex "0xv9" ;
EXPECT
Illegal hexadecimal digit 'v' ignored at - line 3.
########
# util.c
-use warning 'unsafe' ;
+use warning 'digit' ;
*a = oct "0b9" ;
-no warning 'unsafe' ;
+no warning 'digit' ;
*a = oct "0b9" ;
EXPECT
Illegal binary digit '9' ignored at - line 3.
diff --git a/toke.c b/toke.c
index 64485ac75c..f351c96591 100644
--- a/toke.c
+++ b/toke.c
@@ -1132,7 +1132,7 @@ S_scan_const(pTHX_ char *start)
: UTF;
char *leaveit = /* set of acceptably-backslashed characters */
PL_lex_inpat
- ? "\\.^$@AGZdDwWsSbBpPXC+*?|()-nrtfeaxcz0123456789[{]} \t\n\r\f\v#"
+ ? "\\.^$@AGZdDwWsSbBpPXO+*?|()-nrtfeaxcz0123456789[{]} \t\n\r\f\v#"
: "";
while (s < send || dorange) {
@@ -1353,6 +1353,43 @@ S_scan_const(pTHX_ char *start)
}
continue;
+ /* \C{latin small letter a} is a named character */
+ case 'C':
+ ++s;
+ if (*s == '{') {
+ char* e = strchr(s, '}');
+ HV *hv;
+ SV **svp;
+ SV *res, *cv;
+ STRLEN len;
+ char *str;
+ char *why = Nullch;
+
+ if (!e) {
+ yyerror("Missing right brace on \\C{}");
+ e = s - 1;
+ goto cont_scan;
+ }
+ res = newSVpvn(s + 1, e - s - 1);
+ res = new_constant( Nullch, 0, "charnames",
+ res, Nullsv, "\\C{...}" );
+ str = SvPV(res,len);
+ if (len > e - s + 4) {
+ char *odest = SvPVX(sv);
+
+ SvGROW(sv, (SvCUR(sv) + len - (e - s + 4)));
+ d = SvPVX(sv) + (d - odest);
+ }
+ Copy(str, d, len, char);
+ d += len;
+ SvREFCNT_dec(res);
+ cont_scan:
+ s = e + 1;
+ }
+ else
+ yyerror("Missing braces on \\C{}");
+ continue;
+
/* \c is a control character */
case 'c':
s++;
@@ -5251,76 +5288,101 @@ S_checkcomma(pTHX_ register char *s, char *name, char *what)
}
}
+/* Either returns sv, or mortalizes sv and returns a new SV*.
+ Best used as sv=new_constant(..., sv, ...).
+ If s, pv are NULL, calls subroutine with one argument,
+ and type is used with error messages only. */
+
STATIC SV *
S_new_constant(pTHX_ char *s, STRLEN len, char *key, SV *sv, SV *pv, char *type)
{
dSP;
HV *table = GvHV(PL_hintgv); /* ^H */
- BINOP myop;
SV *res;
- bool oldcatch = CATCH_GET;
SV **cvp;
SV *cv, *typesv;
-
+ char *why, *why1, *why2;
+
+ if (!(PL_hints & HINT_LOCALIZE_HH)) {
+ SV *msg;
+
+ why = "%^H is not localized";
+ report_short:
+ why1 = why2 = "";
+ report:
+ msg = Perl_newSVpvf(aTHX_ "constant(%s): %s%s%s",
+ (type ? type: "undef"), why1, why2, why);
+ yyerror(SvPVX(msg));
+ SvREFCNT_dec(msg);
+ return sv;
+ }
if (!table) {
- yyerror("%^H is not defined");
- return sv;
+ why = "%^H is not defined";
+ goto report_short;
}
cvp = hv_fetch(table, key, strlen(key), FALSE);
if (!cvp || !SvOK(*cvp)) {
- char buf[128];
- sprintf(buf,"$^H{%s} is not defined", key);
- yyerror(buf);
- return sv;
+ why = "} is not defined";
+ why1 = "$^H{";
+ why2 = key;
+ goto report;
}
sv_2mortal(sv); /* Parent created it permanently */
cv = *cvp;
- if (!pv)
- pv = sv_2mortal(newSVpvn(s, len));
- if (type)
- typesv = sv_2mortal(newSVpv(type, 0));
+ if (!pv && s)
+ pv = sv_2mortal(newSVpvn(s, len));
+ if (type && pv)
+ typesv = sv_2mortal(newSVpv(type, 0));
else
- typesv = &PL_sv_undef;
- CATCH_SET(TRUE);
- Zero(&myop, 1, BINOP);
- myop.op_last = (OP *) &myop;
- myop.op_next = Nullop;
- myop.op_flags = OPf_WANT_SCALAR | OPf_STACKED;
-
+ typesv = &PL_sv_undef;
+
PUSHSTACKi(PERLSI_OVERLOAD);
- ENTER;
- SAVEOP();
- PL_op = (OP *) &myop;
- if (PERLDB_SUB && PL_curstash != PL_debstash)
- PL_op->op_private |= OPpENTERSUB_DB;
- PUTBACK;
- Perl_pp_pushmark(aTHX);
-
+ ENTER ;
+ SAVETMPS;
+
+ PUSHMARK(SP) ;
EXTEND(sp, 4);
- PUSHs(pv);
+ if (pv)
+ PUSHs(pv);
PUSHs(sv);
- PUSHs(typesv);
+ if (pv)
+ PUSHs(typesv);
PUSHs(cv);
PUTBACK;
-
- if (PL_op = Perl_pp_entersub(aTHX))
- CALLRUNOPS(aTHX);
- LEAVE;
- SPAGAIN;
-
- res = POPs;
- PUTBACK;
- CATCH_SET(oldcatch);
+ call_sv(cv, G_SCALAR | ( PL_in_eval ? 0 : G_EVAL));
+
+ SPAGAIN ;
+
+ /* Check the eval first */
+ if (!PL_in_eval && SvTRUE(ERRSV))
+ {
+ STRLEN n_a;
+ sv_catpv(ERRSV, "Propagated");
+ yyerror(SvPV(ERRSV, n_a)); /* Duplicates the message inside eval */
+ POPs ;
+ res = SvREFCNT_inc(sv);
+ }
+ else {
+ res = POPs;
+ SvREFCNT_inc(res);
+ }
+
+ PUTBACK ;
+ FREETMPS ;
+ LEAVE ;
POPSTACK;
-
+
if (!SvOK(res)) {
- char buf[128];
- sprintf(buf,"Call to &{$^H{%s}} did not return a defined value", key);
- yyerror(buf);
- }
- return SvREFCNT_inc(res);
+ why = "}} did not return a defined value";
+ why1 = "Call to &{$^H{";
+ why2 = key;
+ sv = res;
+ goto report;
+ }
+
+ return res;
}
-
+
STATIC char *
S_scan_word(pTHX_ register char *s, char *dest, STRLEN destlen, int allow_package, STRLEN *slp)
{
diff --git a/util.c b/util.c
index a36d89995d..afec79e214 100644
--- a/util.c
+++ b/util.c
@@ -2207,7 +2207,7 @@ Perl_my_popen(pTHX_ char *cmd, char *mode)
{
int p[2];
register I32 This, that;
- register I32 pid;
+ register Pid_t pid;
SV *sv;
I32 doexec = strNE(cmd,"-");
I32 did_pipes = 0;
@@ -2278,7 +2278,7 @@ Perl_my_popen(pTHX_ char *cmd, char *mode)
#endif /* defined OS2 */
/*SUPPRESS 560*/
if (tmpgv = gv_fetchpv("$",TRUE, SVt_PV))
- sv_setiv(GvSV(tmpgv), (IV)getpid());
+ sv_setiv(GvSV(tmpgv), getpid());
PL_forkprocess = 0;
hv_clear(PL_pidstatus); /* we have no children */
return Nullfp;
@@ -2500,8 +2500,8 @@ Perl_my_pclose(pTHX_ PerlIO *ptr)
Sigsave_t hstat, istat, qstat;
int status;
SV **svp;
- int pid;
- int pid2;
+ Pid_t pid;
+ Pid_t pid2;
bool close_failed;
int saved_errno;
#ifdef VMS
@@ -2512,7 +2512,7 @@ Perl_my_pclose(pTHX_ PerlIO *ptr)
#endif
svp = av_fetch(PL_fdpid,PerlIO_fileno(ptr),TRUE);
- pid = (int)SvIVX(*svp);
+ pid = SvIVX(*svp);
SvREFCNT_dec(*svp);
*svp = &PL_sv_undef;
#ifdef OS2
@@ -2551,7 +2551,7 @@ Perl_my_pclose(pTHX_ PerlIO *ptr)
#if !defined(DOSISH) || defined(OS2) || defined(WIN32)
I32
-Perl_wait4pid(pTHX_ int pid, int *statusp, int flags)
+Perl_wait4pid(pTHX_ Pid_t pid, int *statusp, int flags)
{
SV *sv;
SV** svp;
@@ -2611,7 +2611,7 @@ Perl_wait4pid(pTHX_ int pid, int *statusp, int flags)
void
/*SUPPRESS 590*/
-Perl_pidgone(pTHX_ int pid, int status)
+Perl_pidgone(pTHX_ Pid_t pid, int status)
{
register SV *sv;
char spid[TYPE_CHARS(int)];
@@ -2798,8 +2798,8 @@ Perl_scan_bin(pTHX_ char *start, I32 len, I32 *retlen)
}
else {
dTHR;
- if (ckWARN(WARN_UNSAFE))
- Perl_warner(aTHX_ WARN_UNSAFE,
+ if (ckWARN(WARN_DIGIT))
+ Perl_warner(aTHX_ WARN_DIGIT,
"Illegal binary digit '%c' ignored", *s);
break;
}
@@ -2811,8 +2811,8 @@ Perl_scan_bin(pTHX_ char *start, I32 len, I32 *retlen)
dTHR;
overflowed = TRUE;
rnv = (NV) ruv;
- if (ckWARN_d(WARN_UNSAFE))
- Perl_warner(aTHX_ WARN_UNSAFE,
+ if (ckWARN_d(WARN_OVERFLOW))
+ Perl_warner(aTHX_ WARN_OVERFLOW,
"Integer overflow in binary number");
} else
ruv = xuv | (*s - '0');
@@ -2836,8 +2836,8 @@ Perl_scan_bin(pTHX_ char *start, I32 len, I32 *retlen)
#endif
) {
dTHR;
- if (ckWARN(WARN_UNSAFE))
- Perl_warner(aTHX_ WARN_UNSAFE,
+ if (ckWARN(WARN_PORTABLE))
+ Perl_warner(aTHX_ WARN_PORTABLE,
"Binary number > 0b11111111111111111111111111111111 non-portable");
}
*retlen = s - start;
@@ -2862,8 +2862,8 @@ Perl_scan_oct(pTHX_ char *start, I32 len, I32 *retlen)
* someone seems to want to use the digits eight and nine). */
if (*s == '8' || *s == '9') {
dTHR;
- if (ckWARN(WARN_OCTAL))
- Perl_warner(aTHX_ WARN_OCTAL,
+ if (ckWARN(WARN_DIGIT))
+ Perl_warner(aTHX_ WARN_DIGIT,
"Illegal octal digit '%c' ignored", *s);
}
break;
@@ -2876,8 +2876,8 @@ Perl_scan_oct(pTHX_ char *start, I32 len, I32 *retlen)
dTHR;
overflowed = TRUE;
rnv = (NV) ruv;
- if (ckWARN_d(WARN_UNSAFE))
- Perl_warner(aTHX_ WARN_UNSAFE,
+ if (ckWARN_d(WARN_OVERFLOW))
+ Perl_warner(aTHX_ WARN_OVERFLOW,
"Integer overflow in octal number");
} else
ruv = xuv | (*s - '0');
@@ -2901,8 +2901,8 @@ Perl_scan_oct(pTHX_ char *start, I32 len, I32 *retlen)
#endif
) {
dTHR;
- if (ckWARN(WARN_UNSAFE))
- Perl_warner(aTHX_ WARN_UNSAFE,
+ if (ckWARN(WARN_PORTABLE))
+ Perl_warner(aTHX_ WARN_PORTABLE,
"Octal number > 037777777777 non-portable");
}
*retlen = s - start;
@@ -2931,8 +2931,8 @@ Perl_scan_hex(pTHX_ char *start, I32 len, I32 *retlen)
}
else {
dTHR;
- if (ckWARN(WARN_UNSAFE))
- Perl_warner(aTHX_ WARN_UNSAFE,
+ if (ckWARN(WARN_DIGIT))
+ Perl_warner(aTHX_ WARN_DIGIT,
"Illegal hexadecimal digit '%c' ignored", *s);
break;
}
@@ -2944,8 +2944,8 @@ Perl_scan_hex(pTHX_ char *start, I32 len, I32 *retlen)
dTHR;
overflowed = TRUE;
rnv = (NV) ruv;
- if (ckWARN_d(WARN_UNSAFE))
- Perl_warner(aTHX_ WARN_UNSAFE,
+ if (ckWARN_d(WARN_OVERFLOW))
+ Perl_warner(aTHX_ WARN_OVERFLOW,
"Integer overflow in hexadecimal number");
} else
ruv = xuv | ((hexdigit - PL_hexdigit) & 15);
@@ -2969,8 +2969,8 @@ Perl_scan_hex(pTHX_ char *start, I32 len, I32 *retlen)
#endif
) {
dTHR;
- if (ckWARN(WARN_UNSAFE))
- Perl_warner(aTHX_ WARN_UNSAFE,
+ if (ckWARN(WARN_PORTABLE))
+ Perl_warner(aTHX_ WARN_PORTABLE,
"Hexadecimal number > 0xffffffff non-portable");
}
*retlen = s - start;
diff --git a/utils/perlbug.PL b/utils/perlbug.PL
index dc5a6ada28..3404d2b95e 100644
--- a/utils/perlbug.PL
+++ b/utils/perlbug.PL
@@ -3,6 +3,7 @@
use Config;
use File::Basename qw(&basename &dirname);
use Cwd;
+use File::Spec::Functions;
# List explicitly here the variables you want Configure to
# generate. Metaconfig only looks for shell variables, so you
@@ -23,7 +24,8 @@ open OUT, ">$file" or die "Can't create $file: $!";
# extract patchlevel.h information
-open PATCH_LEVEL, "<../patchlevel.h" or die "Can't open patchlevel.h: $!";
+open PATCH_LEVEL, "<" . catfile(updir, "patchlevel.h")
+ or die "Can't open patchlevel.h: $!";
my $patchlevel_date = (stat PATCH_LEVEL)[9];
@@ -74,6 +76,7 @@ my \@patches = (
print OUT <<'!NO!SUBS!';
use Config;
+use File::Spec::Functions;
use Getopt::Std;
use strict;
@@ -86,7 +89,7 @@ BEGIN {
$::HaveUtil = ($@ eq "");
};
-my $Version = "1.26";
+my $Version = "1.27";
# Changed in 1.06 to skip Mail::Send and Mail::Util if not available.
# Changed in 1.07 to see more sendmail execs, and added pipe output.
@@ -117,6 +120,7 @@ my $Version = "1.26";
# Changed in 1.24 Added '-F<file>' to save report HVDS 98-07-01
# Changed in 1.25 Warn on failure to open save file. HVDS 98-07-12
# Changed in 1.26 Don't require -t STDIN for -ok. HVDS 98-07-15
+# Changed in 1.27 Added Mac OS and File::Spec support CNANDOR 99-07-27
# TODO: - Allow the user to re-name the file on mail failure, and
# make sure failure (transmission-wise) of Mail::Send is
@@ -124,7 +128,7 @@ my $Version = "1.26";
# - Test -b option
my( $file, $usefile, $cc, $address, $perlbug, $testaddress, $filename,
- $subject, $from, $verbose, $ed, $outfile,
+ $subject, $from, $verbose, $ed, $outfile, $Is_MacOS,
$fh, $me, $Is_MSWin32, $Is_VMS, $msg, $body, $andcc, %REP, $ok);
my $config_tag2 = "$] - $Config{cf_time}";
@@ -154,6 +158,11 @@ sub Init {
$Is_MSWin32 = $^O eq 'MSWin32';
$Is_VMS = $^O eq 'VMS';
+ $Is_MacOS = $^O eq 'MacOS';
+
+ @ARGV = split m/\s+/,
+ MacPerl::Ask('Provide command-line args here (-h for help):')
+ if $Is_MacOS && $MacPerl::Version =~ /App/;
if (!getopts("dhva:s:b:f:F:r:e:SCc:to:n:")) { Help(); exit; };
@@ -196,6 +205,7 @@ sub Init {
$ed = $::opt_e || $ENV{VISUAL} || $ENV{EDITOR} || $ENV{EDIT}
|| ($Is_VMS && "edit/tpu")
|| ($Is_MSWin32 && "notepad")
+ || ($Is_MacOS && '')
|| "vi";
# Not OK - provide build failure template by finessing OK report
@@ -255,6 +265,7 @@ EOF
# My username
$me = $Is_MSWin32 ? $ENV{'USERNAME'}
: $^O eq 'os2' ? $ENV{'USER'} || $ENV{'LOGNAME'}
+ : $Is_MacOS ? $ENV{'USER'}
: eval { getpwuid($<) }; # May be missing
$from = $::Config{'cf_email'}
@@ -307,6 +318,13 @@ EOF
my $guess;
$guess = $ENV{'REPLY-TO'} || $ENV{'REPLYTO'} || '';
+ if ($Is_MacOS) {
+ require Mac::InternetConfig;
+ $guess = $Mac::InternetConfig::InternetConfig{
+ Mac::InternetConfig::kICEmail()
+ };
+ }
+
unless ($guess) {
my $domain;
if ($::HaveUtil) {
@@ -562,7 +580,15 @@ EOF
}
tryagain:
- my $sts = system("$ed $filename");
+ my $sts = system("$ed $filename") unless $Is_MacOS;
+ if ($Is_MacOS) {
+ require ExtUtils::MakeMaker;
+ ExtUtils::MM_MacOS::launch_file($filename);
+ paraprint <<EOF;
+Press Enter when done.
+EOF
+ scalar <>;
+ }
if ($sts) {
paraprint <<EOF;
The editor you chose (`$ed') could apparently not be run!
@@ -786,7 +812,7 @@ Options:
-v Include Verbose configuration data in the report
-f File containing the body of the report. Use this to
quickly send a prepared message.
- -F File to output the resulting mail message to, instead of mailing.
+ -F File to output the resulting mail message to, instead of mailing.
-S Send without asking for confirmation.
-a Address to send the report to. Defaults to `$address'.
-c Address to send copy of report to. Defaults to `$cc'.
@@ -799,7 +825,7 @@ Options:
this if you don't give it here.
-e Editor to use.
-t Test mode. The target address defaults to `$testaddress'.
- -d Data mode (the default if you redirect or pipe output.)
+ -d Data mode (the default if you redirect or pipe output.)
This prints out your configuration data, without mailing
anything. You can use this with -v to get more complete data.
-ok Report successful build on this system to perl porters
@@ -818,11 +844,12 @@ EOF
sub filename {
my $dir = $Is_VMS ? 'sys$scratch:'
: ($Is_MSWin32 && $ENV{'TEMP'}) ? $ENV{'TEMP'}
- : '/tmp/';
+ : $Is_MacOS ? $ENV{'TMPDIR'}
+ : '/tmp';
$filename = "bugrep0$$";
- $dir .= "\\" if $Is_MSWin32 and $dir !~ m|[\\/]$|;
- $filename++ while -e "$dir$filename";
- $filename = "$dir$filename";
+# $dir .= "\\" if $Is_MSWin32 and $dir !~ m|[\\/]$|;
+ $filename++ while -e catfile($dir, $filename);
+ $filename = catfile($dir, $filename);
}
sub paraprint {
@@ -881,7 +908,7 @@ this checklist:
=over 4
-=item What version of perl you are running?
+=item What version of Perl you are running?
Type C<perl -v> at the command line to find out.
@@ -889,16 +916,16 @@ Type C<perl -v> at the command line to find out.
Look at http://www.perl.com/ to find out. If it is not the latest
released version, get that one and see whether your bug has been
-fixed. Note that bug reports about old versions of perl, especially
+fixed. Note that bug reports about old versions of Perl, especially
those prior to the 5.0 release, are likely to fall upon deaf ears.
You are on your own if you continue to use perl1 .. perl4.
=item Are you sure what you have is a bug?
A significant number of the bug reports we get turn out to be documented
-features in perl. Make sure the behavior you are witnessing doesn't fall
+features in Perl. Make sure the behavior you are witnessing doesn't fall
under that category, by glancing through the documentation that comes
-with perl (we'll admit this is no mean task, given the sheer volume of
+with Perl (we'll admit this is no mean task, given the sheer volume of
it all, but at least have a look at the sections that I<seem> relevant).
Be aware of the familiar traps that perl programmers of various hues
@@ -908,10 +935,10 @@ Check in L<perldiag> to see what any Perl error message(s) mean.
If message isn't in perldiag, it probably isn't generated by Perl.
Consult your operating system documentation instead.
-If you are on a non-UNIX platform check also L<perlport>, some
-features may not be implemented or work differently.
+If you are on a non-UNIX platform check also L<perlport>, as some
+features may be unimplemented or work differently.
-Try to study the problem under the perl debugger, if necessary.
+Try to study the problem under the Perl debugger, if necessary.
See L<perldebug>.
=item Do you have a proper test case?
@@ -933,7 +960,7 @@ If you get a core dump (or equivalent), you may use a debugger
(B<dbx>, B<gdb>, etc) to produce a stack trace to include in the bug
report. NOTE: unless your Perl has been compiled with debug info
(often B<-g>), the stack trace is likely to be somewhat hard to use
-because it will most probably contain only the function names, not
+because it will most probably contain only the function names and not
their arguments. If possible, recompile your Perl with debug info and
reproduce the dump and the stack trace.
@@ -941,8 +968,8 @@ reproduce the dump and the stack trace.
The easier it is to understand a reproducible bug, the more likely it
will be fixed. Anything you can provide by way of insight into the
-problem helps a great deal. In other words, try to analyse the
-problem to the extent you feel qualified and report your discoveries.
+problem helps a great deal. In other words, try to analyze the
+problem (to the extent you can) and report your discoveries.
=item Can you fix the bug yourself?
@@ -976,14 +1003,14 @@ C<perlbug> at all on your system, be sure to include the entire output
produced by running C<perl -V> (note the uppercase V).
Whether you use C<perlbug> or send the email manually, please make
-your subject informative. "a bug" not informative. Neither is "perl
-crashes" nor "HELP!!!", these all are null information. A compact
-description of what's wrong is fine.
+your Subject line informative. "a bug" not informative. Neither is
+"perl crashes" nor "HELP!!!". These don't help.
+A compact description of what's wrong is fine.
=back
Having done your bit, please be prepared to wait, to be told the bug
-is in your code, or even to get no reply at all. The perl maintainers
+is in your code, or even to get no reply at all. The Perl maintainers
are busy folks, so if your problem is a small one or if it is difficult
to understand or already known, they may not respond with a personal reply.
If it is important to you that your bug be fixed, do monitor the
@@ -1098,8 +1125,9 @@ by Gurusamy Sarathy (E<lt>gsar@umich.eduE<gt>), Tom Christiansen
(E<lt>tchrist@perl.comE<gt>), Nathan Torkington (E<lt>gnat@frii.comE<gt>),
Charles F. Randall (E<lt>cfr@pobox.comE<gt>), Mike Guy
(E<lt>mjtg@cam.a.ukE<gt>), Dominic Dunlop (E<lt>domo@computer.orgE<gt>),
-Hugo van der Sanden (E<lt>hv@crypt0.demon.co.ukE<gt>), and
-Jarkko Hietaniemi (E<lt>jhi@iki.fiE<gt>).
+Hugo van der Sanden (E<lt>hv@crypt0.demon.co.ukE<gt>),
+Jarkko Hietaniemi (E<lt>jhi@iki.fiE<gt>), hris Nandor
+(E<lt>pudge@pobox.comE<gt>), and Jon Orwant (E<lt>orwant@media.mit.eduE<gt>).
=head1 SEE ALSO
diff --git a/utils/perlcc.PL b/utils/perlcc.PL
index 3b7c2af822..87ec16c4eb 100644
--- a/utils/perlcc.PL
+++ b/utils/perlcc.PL
@@ -870,11 +870,12 @@ create executable file names.
=item -verbose <verbose_level>
-Show exactly what steps perlcc is taking to compile your code. You can change
-the verbosity level B<verbose_level> much in the same way that the '-D' switch
-changes perl's debugging level, by giving either a number which is the sum of
-bits you want or a list of letters representing what you wish to see. Here are
-the verbosity levels so far :
+Show exactly what steps perlcc is taking to compile your code. You can
+change the verbosity level B<verbose_level> much in the same way that
+the C<-D> switch changes perl's debugging level, by giving either a
+number which is the sum of bits you want or a list of letters
+representing what you wish to see. Here are the verbosity levels so
+far :
Bit 1(g): Code Generation Errors to STDERR
Bit 2(a): Compilation Errors to STDERR
@@ -901,14 +902,14 @@ manually.
=item -argv <arguments>
-In combination with '-run' or '-e', tells perlcc to run the resulting
+In combination with C<-run> or C<-e>, tells perlcc to run the resulting
executable with the string B<arguments> as @ARGV.
=item -sav
Tells perl to save the intermediate C code. Usually, this C code is the name
of the perl code, plus '.c'; 'perlcode.p' gets generated in 'perlcode.p.c',
-for example. If used with the '-e' operator, you need to tell perlcc where to
+for example. If used with the C<-e> operator, you need to tell perlcc where to
save resulting executables.
=item -gen
diff --git a/vms/descrip_mms.template b/vms/descrip_mms.template
index 84f8d04d64..7d86f246f4 100644
--- a/vms/descrip_mms.template
+++ b/vms/descrip_mms.template
@@ -279,7 +279,7 @@ FULLLIBS2 = $(LIBS2)|$(THRLIBS1)|$(THRLIBS2)
#### End of system configuration section. ####
-h1 = EXTERN.h, INTERN.h, XSUB.h, av.h, bytecode.h, byterun.h, config.h, cop.h, cv.h
+h1 = EXTERN.h, INTERN.h, XSUB.h, av.h, config.h, cop.h, cv.h
h2 = embed.h, form.h, gv.h, handy.h, hv.h, keywords.h, mg.h, op.h, thread.h
h3 = opcode.h, patchlevel.h, perl.h, perly.h, pp.h, proto.h, regcomp.h
h4 = regexp.h, scope.h, sv.h, vmsish.h, util.h, perlsdio.h, perlio.h
@@ -289,13 +289,13 @@ h = $(h1), $(h2), $(h3), $(h4), $(h5), $(h6) $(SOCKHLIS) $(THREADH)
c1 = av.c, scope.c, op.c, doop.c, doio.c, dump.c, hv.c, mg.c, universal.c, perlio.c, utf8.c
c2 = perl.c, perly.c, pp.c, pp_hot.c, pp_ctl.c, pp_sys.c, regcomp.c, regexec.c $(MALLOC_C)
-c3 = gv.c, sv.c, taint.c, toke.c, utf8.c, util.c, deb.c, run.c, globals.c, vms.c, byterun.c $(SOCKCLIS)
+c3 = gv.c, sv.c, taint.c, toke.c, utf8.c, util.c, deb.c, run.c, globals.c, vms.c $(SOCKCLIS)
-c = $(c1), $(c2), $(c3), miniperlmain.c, perlmain.c, byteperl.c
+c = $(c1), $(c2), $(c3), miniperlmain.c, perlmain.c
obj1 = perl$(O), gv$(O), toke$(O), perly$(O), op$(O), regcomp$(O), dump$(O), utf8$(O), util$(O), mg$(O), perlio$(O) $(MALLOC_O)
obj2 = hv$(O), av$(O), run$(O), pp_hot$(O), sv$(O), pp$(O), scope$(O), pp_ctl$(O), pp_sys$(O), utf8$(O)
-obj3 = doop$(O), doio$(O), regexec$(O), taint$(O), deb$(O), universal$(O), globals$(O), vms$(O), byterun$(O) $(SOCKOBJ)
+obj3 = doop$(O), doio$(O), regexec$(O), taint$(O), deb$(O), universal$(O), globals$(O), vms$(O) $(SOCKOBJ)
obj = $(obj1), $(obj2), $(obj3)
@@ -308,7 +308,7 @@ ac6 = $(ARCHCORE)pp.h $(ARCHCORE)pp_proto.h $(ARCHCORE)proto.h $(ARCHCORE)regcom
ac7 = $(ARCHCORE)regexp.h $(ARCHCORE)scope.h $(ARCHCORE)sv.h $(ARCHCORE)util.h
ac8 = $(ARCHCORE)embedvar.h $(ARCHCORE)intrpvar.h $(ARCHCORE)perlvars.h $(ARCHCORE)thrdvar.h
ac9 = $(ARCHCORE)vmsish.h $(ARCHCORE)warning.h $(ARCHCORE)$(DBG)libperl$(OLB) $(ARCHCORE)perlshr_attr.opt
-ac10 = $(ARCHCORE)$(DBG)perlshr_bld.opt $(ARCHCORE)bytecode.h $(ARCHCORE)byterun.h
+ac10 = $(ARCHCORE)$(DBG)perlshr_bld.opt
ac11 = $(ARCHCORE)cc_runtime.h
.ifdef SOCKET
acs = $(ARCHCORE)$(SOCKH)
@@ -395,16 +395,13 @@ $(DBG)libperl$(OLB) : $(obj)
perlmain.c : miniperlmain.c $(MINIPERL_EXE) [.vms]writemain.pl
$(MINIPERL) [.VMS]Writemain.pl "$(EXT)"
-byteperl.c : [.ext.B]byteperl.c
- Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
.ifdef __DEBUG__
# Link an extra perl that doesn't invoke the debugger
-perl : $(DBG)perl$(E) $(DBG)byteperl$(E)
+perl : $(DBG)perl$(E)
Link $(LINKFLAGS)/NoDebug/Trace/NoMap/NoCross/NoFull/Exe=N$(DBG)perl$(E) perlmain$(O), perlshr.opt/Option, perlshr_attr.opt/Option $(CRTLOPTS)
- Link $(LINKFLAGS)/NoDebug/Trace/NoMap/NoCross/NoFull/Exe=N$(DBG)byteperl$(E) byteperl$(O), perlshr.opt/Option, perlshr_attr.opt/Option $(CRTLOPTS)
.else
-perl : $(DBG)perl$(E) $(DBG)byteperl$(E)
+perl : $(DBG)perl$(E)
@ Continue
.endif
@@ -416,10 +413,6 @@ $(DBG)perl$(E) : perlmain$(O), $(DBG)perlshr$(E), $(MINIPERL_EXE)
Link $(LINKFLAGS)/Exe=$(MMS$TARGET) perlmain$(O), perlshr.opt/Option, perlshr_attr.opt/Option $(CRTLOPTS)
.endif
-$(DBG)byteperl$(E) : byteperl$(O), $(DBG)perlshr$(E), $(MINIPERL_EXE)
- @ @[.vms]genopt "PerlShr.Opt/Write" "|" "''F$Environment("Default")'$(DBG)PerlShr$(E)/Share"
- Link $(LINKFLAGS)/Exe=$(MMS$TARGET) byteperl$(O), perlshr.opt/Option, perlshr_attr.opt/Option $(CRTLOPTS)
-
$(DBG)perlshr$(E) : $(DBG)libperl$(OLB) $(extobj) $(DBG)perlshr_xtras.ts
Link $(LINKFLAGS)/Share=$(MMS$TARGET) $(extobj) []$(DBG)perlshr_bld.opt/Option, perlshr_attr.opt/Option
@@ -822,12 +815,6 @@ $(ARCHCORE)INTERN.h : INTERN.h
$(ARCHCORE)XSUB.h : XSUB.h
@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-$(ARCHCORE)bytecode.h : bytecode.h
- @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
- Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-$(ARCHCORE)byterun.h : byterun.h
- @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
- Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
$(ARCHCORE)av.h : av.h
@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
@@ -966,103 +953,97 @@ $(ARCHAUTO)time.stamp :
#util$(O) : util.c
# $(CC) $(CORECFLAGS) $(MMS$SOURCE)
# AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
-av$(O) : av.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
- $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-
-byterun$(O) : byterun.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
- $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-
-deb$(O) : deb.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
+av$(O) : av.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-doio$(O) : doio.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
+deb$(O) : deb.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-doop$(O) : doop.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
+doio$(O) : doio.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-dump$(O) : dump.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
+doop$(O) : doop.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-globals$(O) : globals.c INTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
+dump$(O) : dump.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-gv$(O) : gv.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
+globals$(O) : globals.c INTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-hv$(O) : hv.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
+gv$(O) : gv.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-malloc$(O) : malloc.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
+hv$(O) : hv.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-mg$(O) : mg.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
+malloc$(O) : malloc.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-miniperlmain$(O) : miniperlmain.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
+mg$(O) : mg.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-op$(O) : op.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
+miniperlmain$(O) : miniperlmain.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-perl$(O) : perl.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h patchlevel.h iperlsys.h pp_proto.h warning.h
+op$(O) : op.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-perlio$(O) : perlio.c config.h EXTERN.h perl.h bytecode.h byterun.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
+perl$(O) : perl.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h patchlevel.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-perlmain$(O) : perlmain.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
+perlio$(O) : perlio.c config.h EXTERN.h perl.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-byteperl$(O) : byteperl.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
+perlmain$(O) : perlmain.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-perly$(O) : perly.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
+perly$(O) : perly.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-pp$(O) : pp.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
+pp$(O) : pp.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-pp_ctl$(O) : pp_ctl.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
+pp_ctl$(O) : pp_ctl.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-pp_hot$(O) : pp_hot.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
+pp_hot$(O) : pp_hot.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-pp_sys$(O) : pp_sys.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
+pp_sys$(O) : pp_sys.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-regcomp$(O) : regcomp.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h INTERN.h regcomp.h regnodes.h iperlsys.h pp_proto.h warning.h
+regcomp$(O) : regcomp.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h INTERN.h regcomp.h regnodes.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-regexec$(O) : regexec.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h regcomp.h regnodes.h iperlsys.h pp_proto.h warning.h
+regexec$(O) : regexec.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h regcomp.h regnodes.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-run$(O) : run.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
+run$(O) : run.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-scope$(O) : scope.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
+scope$(O) : scope.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-sv$(O) : sv.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
+sv$(O) : sv.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-taint$(O) : taint.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
+taint$(O) : taint.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-toke$(O) : toke.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h keywords.h iperlsys.h pp_proto.h warning.h
+toke$(O) : toke.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h keywords.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-universal$(O) : universal.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h XSUB.h iperlsys.h pp_proto.h warning.h
+universal$(O) : universal.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h XSUB.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-utf8$(O) : utf8.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
+utf8$(O) : utf8.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-util$(O) : util.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
+util$(O) : util.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-vms$(O) : vms.c EXTERN.h perl.h bytecode.h byterun.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h XSUB.h iperlsys.h pp_proto.h warning.h
+vms$(O) : vms.c EXTERN.h perl.h config.h embed.h perlsdio.h handy.h vmsish.h regexp.h sv.h util.h form.h gv.h cv.h opcode.h op.h cop.h av.h hv.h mg.h scope.h perly.h thread.h pp.h proto.h embedvar.h perlvars.h thrdvar.h intrpvar.h XSUB.h iperlsys.h pp_proto.h warning.h
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
#[.x2p]a2p$(O) : [.x2p]a2p.c [.x2p]a2py.c [.x2p]INTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h config.h handy.h
@@ -1109,7 +1090,6 @@ tidy : cleanlis
- If F$Search("VMSish.H;-1").nes."" Then Purge/NoConfirm/Log VMSish.H
- If F$Search("VMS.C;-1") .nes."" Then Purge/NoConfirm/Log VMS.C
- If F$Search("Perlmain.C;-1") .nes."" Then Purge/NoConfirm/Log Perlmain.C
- - If F$Search("byteperl.C;-1") .nes."" Then Purge/NoConfirm/Log byteperl.C
- If F$Search("Perlshr_Gbl*.Mar;-1") .nes."" Then Purge/NoConfirm/Log Perlshr_Gbl*.Mar
- If F$Search("[.Ext.DynaLoader]DL_VMS$(O);-1").nes."" Then Purge/NoConfirm/Log [.Ext.DynaLoader]DL_VMS$(O)
- If F$Search("[.Ext.DynaLoader]DL_VMS.C;-1").nes."" Then Purge/NoConfirm/Log [.Ext.DynaLoader]DL_VMS.C
@@ -1145,7 +1125,6 @@ clean : tidy
- If F$Search("VMSish.H").nes."" Then Delete/NoConfirm/Log VMSish.H;*
- If F$Search("VMS.C") .nes."" Then Delete/NoConfirm/Log VMS.C;*
- If F$Search("Perlmain.C") .nes."" Then Delete/NoConfirm/Log Perlmain.C;*
- - If F$Search("byteperl.C") .nes."" Then Delete/NoConfirm/Log byteperl.C;*
- If F$Search("Perlshr_Gbl*.Mar") .nes."" Then Delete/NoConfirm/Log Perlshr_Gbl*.Mar;*
- If F$Search("*.TS").nes."" Then Delete/NoConfirm/Log *.TS;*
- If F$Search("[.Ext.DynaLoader]DL_VMS$(O)").nes."" Then Delete/NoConfirm/Log [.Ext.DynaLoader]DL_VMS$(O);*
diff --git a/vms/gen_shrfls.pl b/vms/gen_shrfls.pl
index 3e70372524..ef76a683e6 100644
--- a/vms/gen_shrfls.pl
+++ b/vms/gen_shrfls.pl
@@ -74,6 +74,8 @@ if ($docc) {
while(<CONFIG>) {
$debugging_enabled++ if /define\s+DEBUGGING/;
$use_mymalloc++ if /define\s+MYMALLOC/;
+ $hide_mymalloc++ if /define\s+EMBEDMYMALLOC/;
+ $use_threads++ if /define\s+USE_THREADS/;
}
# put quotes back onto defines - they were removed by DCL on the way in
@@ -193,18 +195,27 @@ sub scan_func {
if ($1 eq 'main' || $1 eq 'perl_init_ext') {
print "\tskipped\n" if $debug > 1;
}
- else { $fcns{$1}++ }
+ else { $fcns{uc($1)}++ }
}
}
+open FUNCS, "LIBR/CROSS=SYMB LIBPERL.OLB/OUT=SYS\$OUTPUT |";
+foreach (<FUNCS>) {
+ chomp;
+ next unless /(perl_\w+)/i;
+ $fcns{uc($1)}++;
+}
+
# Go add some right up front if we need 'em
if ($use_mymalloc) {
- $fcns{'Perl_malloc'}++;
- $fcns{'Perl_calloc'}++;
- $fcns{'Perl_realloc'}++;
- $fcns{'Perl_mfree'}++;
+ $fcns{uc('Perl_malloc')}++;
+ $fcns{uc('Perl_calloc')}++;
+ $fcns{uc('Perl_realloc')}++;
+ $fcns{uc('Perl_mfree')}++;
}
+delete $fcns{PERL_DESTRUCT_LEVEL} if exists $fcns{PERL_DESTRUCT_LEVEL};
+
$used_expectation_enum = $used_opcode_enum = 0; # avoid warnings
if ($docc) {
open(CPP,"${cc_cmd}/NoObj/PreProc=Sys\$Output ${dir}perl.h|")
@@ -306,6 +317,22 @@ if ($isvax) {
or die "$0: Can't write to ${dir}perlshr_gbl${marord}.mar: $!\n";
print MAR "\t.title perlshr_gbl$marord\n";
}
+
+($ver, $sub) = $] =~ /\.(\d\d\d)(\d\d)/;
+$gsmatch = ($sub >= 50) ? "equal" : "lequal"; # Force an equal match for
+ # dev, but be more forgiving
+ # for releases
+
+# Build up a major ID. Since it can only be 8 bits, we encode the version
+# number in the top four bits and use the bottom four for build options
+# that'll cause incompatibilities
+$ver *=16;
+$ver += 8 if $debugging_enabled; # If DEBUGGING is set
+$ver += 4 if $use_threads; # if we're threaded
+$ver += 2 if $use_mymalloc; # if we're using perl's malloc
+
+print OPTBLD "GSMATCH=$gsmatch,$ver,$sub\n";
+
unless ($isgcc) {
print OPTBLD "PSECT_ATTR=\$GLOBAL_RO_VARS,PIC,NOEXE,RD,NOWRT,SHR\n";
print OPTBLD "PSECT_ATTR=\$GLOBAL_RW_VARS,PIC,NOEXE,RD,WRT,NOSHR\n";
diff --git a/vms/subconfigure.com b/vms/subconfigure.com
index 6b6483a9a1..86f4c36319 100644
--- a/vms/subconfigure.com
+++ b/vms/subconfigure.com
@@ -64,6 +64,7 @@ $ if "''myname'" .eqs. "" THEN myname = f$trnlnm("SYS$NODE")
$!
$! ##ADD NEW CONSTANTS HERE##
$ perl_d_madvise="undef"
+$ perl_selectminbits=32
$ perl_d_msync="undef"
$ perl_d_mprotect="undef"
$ perl_d_munmap="undef"
@@ -73,10 +74,18 @@ $ perl_d_mmap="undef"
$ perl_i_sysmman="undef"
$ perl_d_telldirproto="define"
$ perl_i_sysmount="undef"
+$ perl_d_bincompat="undef"
+$ perl_d_endspent="undef
+$ perl_d_getspent="undef
+$ perl_d_getspnam="undef
+$ perl_d_setspent="undef
$ perl_d_fstatfs="undef"
$ perl_i_machcthreads="undef"
$ perl_i_pthread="define"
$ perl_d_fstatvfs="undef"
+$ perl_usesocks="undef"
+$ perl_d_vendorlib="undef"
+$ perl_vendorlibexp=""
$ perl_d_statfsflags="undef"
$ perl_i_sysstatvfs="undef"
$ perl_i_mntent="undef"
@@ -111,35 +120,12 @@ $ perl_d_sendmsg = "undef"
$ perl_d_recvmsg = "undef"
$ perl_d_msghdr_s = "undef"
$ perl_d_cmsghdr_s = "undef"
-$ perl_d_dbminit64 = "undef"
-$ perl_d_dbmclose64 = "undef"
-$ perl_d_fetch64 = "undef"
-$ perl_d_store64 = "undef"
-$ perl_d_delete64 = "undef"
-$ perl_d_firstkey64 = "undef"
-$ perl_d_nextkey64 = "undef"
-$ perl_d_fstat64 = "undef"
-$ perl_d_ftruncate64 = "undef"
-$ perl_d_lseek64 = "undef"
-$ perl_d_lstat64 = "undef"
-$ perl_d_open64 = "undef"
-$ perl_d_opendir64 = "undef"
-$ perl_d_readdir64 = "undef"
-$ perl_d_seekdir64 = "undef"
-$ perl_d_stat64 = "undef"
-$ perl_d_telldir64 = "undef"
-$ perl_d_truncate64 = "undef"
-$ perl_d_dirent64_s = "undef"
-$ perl_d_fgetpos64 = "undef"
-$ perl_d_fopen64 = "undef"
-$ perl_d_freopen64 = "undef"
-$ perl_d_fseek64 = "undef"
-$ perl_d_fseeko64 = "undef"
-$ perl_d_fsetpos64 = "undef"
-$ perl_d_ftell64 = "undef"
-$ perl_d_ftello64 = "undef"
-$ perl_d_tmpfile64 = "undef"
-$ perl_use64bits = "undef"
+$ IF use_64bit .eqs. "Y"
+$ THEN
+$ perl_use64bits = "define"
+$ ELSE
+$ perl_use64bits = "undef"
+$ ENDIF
$ perl_d_drand48proto = "define"
$ perl_libpth="/sys$share /sys$library"
$ perl_ld="Link"
@@ -334,6 +320,7 @@ $ perl_d_chown="define"
$ perl_d_chroot="undef"
$ perl_d_cuserid="define"
$ perl_d_dbl_dig="define"
+$ perl_d_ldbl_dig="define"
$ perl_d_difftime="define"
$ perl_d_fork="undef"
$ perl_d_getlogin="define"
@@ -427,6 +414,38 @@ $ perl_PATCHLEVEL="''patchlevel'"
$ perl_SUBVERSION="''subversion'"
$ perl_pager="most"
$!
+$! Are we 64 bit?
+$!
+$ if (use_64bit .eqs. "Y")
+$ THEN
+$ perl_d_PRIfldbl = "define"
+$ perl_d_PRIgldbl = "define"
+$ perl_d_PRId64 = "define"
+$ perl_d_PRIu64 = "define"
+$ perl_d_PRIo64 = "define"
+$ perl_d_PRIx64 = "define"
+$ perl_sPRIfldbl = """Lf"""
+$ perl_sPRIgldbl = """Lg"""
+$ perl_sPRId64 = """Ld"""
+$ perl_sPRIu64 = """Lu"""
+$ perl_sPRIo64 = """Lo"""
+$ perl_sPRIx64 = """Lx"""
+$ ELSE
+$ perl_d_PRIfldbl = "undef"
+$ perl_d_PRIgldbl = "undef"
+$ perl_d_PRId64 = "undef"
+$ perl_d_PRIu64 = "undef"
+$ perl_d_PRIo64 = "undef"
+$ perl_d_PRIx64 = "undef"
+$ perl_sPRIfldbl = ""
+$ perl_sPRIgldbl = ""
+$ perl_sPRId64 = ""
+$ perl_sPRIu64 = ""
+$ perl_sPRIo64 = ""
+$ perl_sPRIx64 = ""
+$ ENDIF
+$ perl_d_llsekk="undef"
+$!
$!
$! Now some that we build up
$!
@@ -897,6 +916,66 @@ $ perl_i_unistd = "define"
$ ENDIF
$ WRITE_RESULT "i_unistd is ''perl_i_unistd'"
$!
+$! Check to see if we've got shadow.h (probably not, but...)
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <shadow.h>
+$ WS "int main()
+$ WS "{"
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ teststatus = f$extract(9,1,$status)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$! Okay, failed. Must not have it
+$ perl_i_shadow = "undef"
+$ ELSE
+$ perl_i_shadow = "define"
+
+$ ENDIF
+$ WRITE_RESULT "i_shadow is ''perl_i_shadow'"
+$!
+$! Check to see if we've got socks.h (probably not, but...)
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <socks.h>
+$ WS "int main()
+$ WS "{"
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ teststatus = f$extract(9,1,$status)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$! Okay, failed. Must not have it
+$ perl_i_socks = "undef"
+$ ELSE
+$ perl_i_socks = "define"
+
+$ ENDIF
+$ WRITE_RESULT "i_socks is ''perl_i_socks'"
+$!
$! Check the prototype for select
$!
$ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
@@ -1105,6 +1184,42 @@ $ perl_d_off64_t="define"
$ ENDIF
$ WRITE_RESULT "d_off64_t is ''perl_d_off64_t'"
$!
+$! Check to see if fpos64_t exists
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "#include <types.h>
+$ WS "#''perl_i_inttypes IIH
+$ WS "#ifdef IIH
+$ WS "#include <inttypes.h>
+$ WS "#endif
+$ WS "#include <unistd.h>
+$ WS "int main()
+$ WS "{"
+$ WS "fpos64_t bar;
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ teststatus = f$extract(9,1,$status)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$! Okay, fpos64_t failed. Must not exist
+$ perl_d_fpos64_t = "undef"
+$ ELSE
+$ perl_d_fpos64_t="define"
+$ ENDIF
+$ WRITE_RESULT "d_fpos64_t is ''perl_d_fpos64_t'"
+$!
$! Check to see if gethostname exists
$!
$ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
@@ -1535,6 +1650,144 @@ $ ENDIF
$ ENDIF
$ WRITE_RESULT "d_memchr is ''perl_d_memchr'"
$!
+$! Check for strtoull
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <string.h>
+$ WS "int main()
+$ WS "{"
+$ WS "unsigned __int64 result;
+$ WS "result = strtoull(""123123"", NULL, 10);
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_strtoull="undef"
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ ELSE
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_strtoull="undef"
+$ ELSE
+$ perl_d_strtoull="define"
+$ ENDIF
+$ ENDIF
+$ WRITE_RESULT "d_strtoull is ''perl_d_strtoull'"
+$!
+$! Check for atoll
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <string.h>
+$ WS "int main()
+$ WS "{"
+$ WS " __int64 result;
+$ WS "result = atoll(""123123"");
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_atoll="undef"
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ ELSE
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_atoll="undef"
+$ ELSE
+$ perl_d_atoll="define"
+$ ENDIF
+$ ENDIF
+$ WRITE_RESULT "d_atoll is ''perl_d_atoll'"
+$!
+$! Check for atoll
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <string.h>
+$ WS "int main()
+$ WS "{"
+$ WS "long double
+$ WS "result = atolf(""123123"");
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_atolf="undef"
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ ELSE
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_atolf="undef"
+$ ELSE
+$ perl_d_atolf="define"
+$ ENDIF
+$ ENDIF
+$ WRITE_RESULT "d_atolf is ''perl_d_atolf'"
+$!
$! Check for access
$!
$ OS
@@ -3059,6 +3312,7 @@ $ WC "d_chown='" + perl_d_chown + "'"
$ WC "d_chroot='" + perl_d_chroot + "'"
$ WC "d_cuserid='" + perl_d_cuserid + "'"
$ WC "d_dbl_dig='" + perl_d_dbl_dig + "'"
+$ WC "d_ldbl_dig='" + perl_d_dbl_dig + "'"
$ WC "d_difftime='" + perl_d_difftime + "'"
$ WC "d_fork='" + perl_d_fork + "'"
$ WC "d_getlogin='" + perl_d_getlogin + "'"
@@ -3087,6 +3341,7 @@ $ WC "intsize='" + perl_intsize + "'"
$ WC "longsize='" + perl_longsize + "'"
$ WC "shortsize='" + perl_shortsize + "'"
$ WC "lseektype='" + perl_lseektype + "'"
+$ WC "lseeksize='4'"
$ WC "i_values='" + perl_i_values + "'"
$ WC "malloctype='" + perl_malloctype + "'"
$ WC "freetype='" + perl_freetype + "'"
@@ -3250,39 +3505,12 @@ $ WC "d_readv='" + perl_d_readv + "'"
$ WC "d_writev='" + perl_d_writev + "'"
$ WC "i_machcthr='" + perl_i_machcthr + "'"
$ WC "usemultiplicity='" + perl_usemultiplicity + "'"
-$ WC "d_dbminit64='" + perl_d_dbminit64 + "'"
-$ WC "d_dbmclose64='" + perl_d_dbmclose64 + "'"
-$ WC "d_fetch64='" + perl_d_fetch64 + "'"
-$ WC "d_store64='" + perl_d_store64 + "'"
-$ WC "d_delete64='" + perl_d_delete64 + "'"
-$ WC "d_firstkey64='" + perl_d_firstkey64 + "'"
-$ WC "d_nextkey64='" + perl_d_nextkey64 + "'"
$ WC "i_poll='" + perl_i_poll + "'"
$ WC "i_inttypes='" + perl_i_inttypes + "'"
$ WC "d_int64t='" + perl_d_int64t + "'"
$ WC "d_off64_t='" + perl_d_off64_t + "'"
-$ WC "d_fstat64='" + perl_d_fstat64 + "'"
-$ WC "d_ftruncate64='" + perl_d_ftruncate64 + "'"
-$ WC "d_lseek64='" + perl_d_lseek64 + "'"
-$ WC "d_lstat64='" + perl_d_lstat64 + "'"
-$ WC "d_open64='" + perl_d_open64 + "'"
-$ WC "d_opendir64='" + perl_d_opendir64 + "'"
-$ WC "d_readdir64='" + perl_d_readdir64 + "'"
-$ WC "d_seekdir64='" + perl_d_seekdir64 + "'"
-$ WC "d_stat64='" + perl_d_stat64 + "'"
-$ WC "d_telldir64='" + perl_d_telldir64 + "'"
-$ WC "d_truncate64='" + perl_d_truncate64 + "'"
-$ WC "d_dirent64_s='" + perl_d_dirent64_s + "'"
+$ WC "d_fpos64_t='" + perl_d_fpos64_t + "'"
$ WC "use64bits='" + perl_use64bits + "'"
-$ WC "d_fgetpos64='" + perl_d_fgetpos64 + "'"
-$ WC "d_fopen64='" + perl_d_fopen64 + "'"
-$ WC "d_freopen64='" + perl_d_freopen64 + "'"
-$ WC "d_fseek64='" + perl_d_fseek64 + "'"
-$ WC "d_fseeko64='" + perl_d_fseeko64 + "'"
-$ WC "d_fsetpos64='" + perl_d_fsetpos64 + "'"
-$ WC "d_ftell64='" + perl_d_ftell64 + "'"
-$ WC "d_ftello64='" + perl_d_ftello64 + "'"
-$ WC "d_tmpfile64='" + perl_d_tmpfile64 + "'"
$ WC "d_drand48proto='" + perl_d_drand48proto + "'"
$ WC "d_old_pthread_create_joinable='" + perl_d_old_pthread_create_joinable + "'"
$ WC "old_pthread_create_joinable='" + perl_old_pthread_create_joinable + "'"
@@ -3312,16 +3540,43 @@ $ WC "d_munmap='" + perl_d_munmap + "'"
$ WC "d_mmap='" + perl_d_mmap + "'"
$ WC "i_sysmman='" + perl_i_sysmman + "'"
$ WC "installusrbinperl='" + perl_installusrbinperl + "'"
+$! WC "selectminbits='" + perl_selectminbits + "'"
$ WC "crosscompile='" + perl_crosscompile + "'"
$ WC "multiarch='" + perl_multiarch + "'"
$ WC "sched_yield='" + perl_sched_yield + "'"
+$ WC "d_strtoull='" + perl_d_strtoull + "'"
+$ WC "usesocks='" + perl_usesocks + "'"
+$ WC "d_vendorlib='" + perl_d_vendorlib + "'"
+$ WC "vendorlibexp='" + perl_vendorlibexp + "'"
+$ WC "d_atolf='" + perl_d_atolf + "'"
+$ WC "d_atoll='" + perl_d_atoll + "'"
+$ WC "d_bincompat5005='" + perl_d_bincompat + "'"
+$ WC "d_endspent='" + perl_d_endspent + "'"
+$ WC "d_getspent='" + perl_d_getspent + "'"
+$ WC "d_getspnam='" + perl_d_getspnam + "'"
+$ WC "d_setspent='" + perl_d_setspent + "'"
+$ WC "i_shadow='" + perl_i_shadow + "'"
+$ WC "i_socks='" + perl_i_socks + "'"
+$ WC "d_PRIfldbl='" + perl_d_PRIfldbl + "'"
+$ WC "d_PRIgldbl='" + perl_d_PRIgldbl + "'"
+$ WC "d_PRId64='" + perl_d_PRId64 + "'"
+$ WC "d_PRIu64='" + perl_d_PRIu64 + "'"
+$ WC "d_PRIo64='" + perl_d_PRIo64 + "'"
+$ WC "d_PRIx64='" + perl_d_PRIx64 + "'"
+$ WC "sPRIfldbl='" + perl_sPRIfldbl + "'"
+$ WC "sPRIgldbl='" + perl_sPRIgldbl + "'"
+$ WC "sPRId64='" + perl_sPRId64 + "'"
+$ WC "sPRIu64='" + perl_sPRIu64 + "'"
+$ WC "sPRIo64='" + perl_sPRIo64 + "'"
+$ WC "sPRIx64='" + perl_sPRIx64 + "'"
+$ WC "d_llseek='" + perl_d_llseek + "'"
$!
$! ##WRITE NEW CONSTANTS HERE##
$!
$ Close CONFIGSH
$
$! Okay, we've gotten here. Build munchconfig and run it
-$ 'Perl_CC' munchconfig.c
+$ 'Perl_CC'/debug munchconfig.c
$ If (Needs_Opt.eqs."Yes")
$ THEN
$ open/write OPTCHAN []munchconfig.opt
@@ -3394,6 +3649,11 @@ $ WRITE CONFIG "#define ALWAYS_DEFTYPES"
$ ELSE
$ WRITE CONFIG "#undef ALWAYS_DEFTYPES"
$ ENDIF
+$ if use_64bit.eqs."Y"
+$ THEN
+$ WRITE CONFIG "#define USE_LONG_LONG"
+$ WRITE CONFIG "#define USE_LONG_DOUBLE"
+$ ENDIF
$ WRITE CONFIG "#define HAS_ENVGETENV"
$ CLOSE CONFIG
$!
diff --git a/vms/vms.c b/vms/vms.c
index 031f1c6b35..29634a59b3 100644
--- a/vms/vms.c
+++ b/vms/vms.c
@@ -91,6 +91,10 @@ static struct dsc$descriptor_s *defenv[] = { &fildevdsc, &crtlenvdsc, NULL };
static struct dsc$descriptor_s **env_tables = defenv;
static bool will_taint = FALSE; /* tainting active, but no PL_curinterp yet */
+/* True if we shouldn't treat barewords as logicals during directory */
+/* munching */
+static int no_translate_barewords;
+
/*{{{int vmstrnenv(const char *lnm, char *eqv, unsigned long int idx, struct dsc$descriptor_s **tabvec, unsigned long int flags) */
int
vmstrnenv(const char *lnm, char *eqv, unsigned long int idx,
@@ -109,7 +113,7 @@ vmstrnenv(const char *lnm, char *eqv, unsigned long int idx,
#if defined(USE_THREADS)
/* We jump through these hoops because we can be called at */
/* platform-specific initialization time, which is before anything is */
- /* set up--we can't even do a plain dTHR since that relies on the */
+ /* set up--we can't even do a plain dTHX since that relies on the */
/* interpreter structure to be initialized */
struct perl_thread *thr;
if (PL_curinterp) {
@@ -142,7 +146,7 @@ vmstrnenv(const char *lnm, char *eqv, unsigned long int idx,
int i;
if (!environ) {
ivenv = 1;
- warn("Can't read CRTL environ\n");
+ Perl_warn(aTHX_ "Can't read CRTL environ\n");
continue;
}
retsts = SS$_NOLOGNAM;
@@ -179,11 +183,11 @@ vmstrnenv(const char *lnm, char *eqv, unsigned long int idx,
if (thr && PL_curcop) {
#endif
if (ckWARN(WARN_MISC)) {
- warner(WARN_MISC,"Value of CLI symbol \"%s\" too long",lnm);
+ Perl_warner(aTHX_ WARN_MISC,"Value of CLI symbol \"%s\" too long",lnm);
}
#if defined(USE_THREADS)
} else {
- warner(WARN_MISC,"Value of CLI symbol \"%s\" too long",lnm);
+ Perl_warner(aTHX_ WARN_MISC,"Value of CLI symbol \"%s\" too long",lnm);
}
#endif
@@ -238,7 +242,7 @@ int my_trnlnm(const char *lnm, char *eqv, unsigned long int idx)
*/
/*{{{ char *my_getenv(const char *lnm, bool sys)*/
char *
-my_getenv(const char *lnm, bool sys)
+Perl_my_getenv(pTHX_ const char *lnm, bool sys)
{
static char __my_getenv_eqv[LNM$C_NAMLENGTH+1];
char uplnm[LNM$C_NAMLENGTH+1], *cp1, *cp2, *eqv;
@@ -285,6 +289,7 @@ my_getenv(const char *lnm, bool sys)
char *
my_getenv_len(const char *lnm, unsigned long *len, bool sys)
{
+ dTHX;
char *buf, *cp1, *cp2;
unsigned long idx = 0;
static char __my_getenv_len_eqv[LNM$C_NAMLENGTH+1];
@@ -338,7 +343,7 @@ prime_env_iter(void)
* find, in preparation for iterating over it.
*/
{
- dTHR;
+ dTHX;
static int primed = 0;
HV *seenhv = NULL, *envhv;
char cmd[LNM$C_NAMLENGTH+24], mbxnam[LNM$C_NAMLENGTH], *buf = Nullch;
@@ -387,7 +392,7 @@ prime_env_iter(void)
for (j = 0; environ[j]; j++) {
if (!(start = strchr(environ[j],'='))) {
if (ckWARN(WARN_INTERNAL))
- warner(WARN_INTERNAL,"Ill-formed CRTL environ value \"%s\"\n",environ[j]);
+ Perl_warner(aTHX_ WARN_INTERNAL,"Ill-formed CRTL environ value \"%s\"\n",environ[j]);
}
else {
start++;
@@ -451,12 +456,12 @@ prime_env_iter(void)
buf[retlen] = '\0';
if (iosb[1] != subpid) {
if (iosb[1]) {
- croak("Unknown process %x sent message to prime_env_iter: %s",buf);
+ Perl_croak(aTHX_ "Unknown process %x sent message to prime_env_iter: %s",buf);
}
continue;
}
if (sts == SS$_BUFFEROVF && ckWARN(WARN_INTERNAL))
- warner(WARN_INTERNAL,"Buffer overflow in prime_env_iter: %s",buf);
+ Perl_warner(aTHX_ WARN_INTERNAL,"Buffer overflow in prime_env_iter: %s",buf);
for (cp1 = buf; *cp1 && isspace(*cp1); cp1++) ;
if (*cp1 == '(' || /* Logical name table name */
@@ -477,7 +482,7 @@ prime_env_iter(void)
cp1--; /* stop on last non-space char */
}
if ((!keylen || (cp1 - cp2 < -1)) && ckWARN(WARN_INTERNAL)) {
- warner(WARN_INTERNAL,"Ill-formed message in prime_env_iter: |%s|",buf);
+ Perl_warner(aTHX_ WARN_INTERNAL,"Ill-formed message in prime_env_iter: |%s|",buf);
continue;
}
PERL_HASH(hash,key,keylen);
@@ -524,6 +529,7 @@ vmssetenv(char *lnm, char *eqv, struct dsc$descriptor_s **tabvec)
tmpdsc = {6,DSC$K_DTYPE_T,DSC$K_CLASS_S,0};
$DESCRIPTOR(crtlenv,"CRTL_ENV"); $DESCRIPTOR(clisym,"CLISYM");
$DESCRIPTOR(local,"_LOCAL");
+ dTHX;
for (cp1 = lnm, cp2 = uplnm; *cp1; cp1++, cp2++) {
*cp2 = _toupper(*cp1);
@@ -549,7 +555,7 @@ vmssetenv(char *lnm, char *eqv, struct dsc$descriptor_s **tabvec)
ivenv = 1; retsts = SS$_NOLOGNAM;
#else
if (ckWARN(WARN_INTERNAL))
- warner(WARN_INTERNAL,"This Perl can't reset CRTL environ elements (%s)",lnm);
+ Perl_warner(aTHX_ WARN_INTERNAL,"This Perl can't reset CRTL environ elements (%s)",lnm);
ivenv = 1; retsts = SS$_NOSUCHPGM;
break;
}
@@ -584,7 +590,7 @@ vmssetenv(char *lnm, char *eqv, struct dsc$descriptor_s **tabvec)
return setenv(lnm,eqv,1) ? vaxc$errno : 0;
#else
if (ckWARN(WARN_INTERNAL))
- warner(WARN_INTERNAL,"This Perl can't set CRTL environ elements (%s=%s)",lnm,eqv);
+ Perl_warner(aTHX_ WARN_INTERNAL,"This Perl can't set CRTL environ elements (%s=%s)",lnm,eqv);
retsts = SS$_NOSUCHPGM;
#endif
}
@@ -643,7 +649,7 @@ vmssetenv(char *lnm, char *eqv, struct dsc$descriptor_s **tabvec)
/*{{{ void my_setenv(char *lnm, char *eqv)*/
/* This has to be a function since there's a prototype for it in proto.h */
void
-my_setenv(char *lnm,char *eqv)
+Perl_my_setenv(pTHX_ char *lnm,char *eqv)
{
if (lnm && *lnm && strlen(lnm) == 7) {
char uplnm[8];
@@ -757,6 +763,7 @@ kill_file(char *name)
char vmsname[NAM$C_MAXRSS+1], rspec[NAM$C_MAXRSS+1];
unsigned long int jpicode = JPI$_UIC, type = ACL$C_FILE;
unsigned long int cxt = 0, aclsts, fndsts, rmsts = -1;
+ dTHX;
struct dsc$descriptor_s fildsc = {0, DSC$K_DTYPE_T, DSC$K_CLASS_S, 0};
struct myacedef {
unsigned char myace$b_length;
@@ -858,6 +865,7 @@ int
my_mkdir(char *dir, Mode_t mode)
{
STRLEN dirlen = strlen(dir);
+ dTHX;
/* CRTL mkdir() doesn't tolerate trailing /, since that implies
* null file name/type. However, it's commonplace under Unix,
@@ -879,6 +887,7 @@ create_mbx(unsigned short int *chan, struct dsc$descriptor_s *namdsc)
{
static unsigned long int mbxbufsiz;
long int syiitm = SYI$_MAXBUF, dviitm = DVI$_DEVNAM;
+ dTHX;
if (!mbxbufsiz) {
/*
@@ -929,6 +938,7 @@ pipe_eof(FILE *fp, int immediate)
char devnam[NAM$C_MAXRSS+1], *cp;
unsigned long int chan, iosb[2], retsts, retsts2;
struct dsc$descriptor devdsc = {0, DSC$K_DTYPE_T, DSC$K_CLASS_S, devnam};
+ dTHX;
if (fgetname(fp,devnam,1)) {
/* It oughta be a mailbox, so fgetname should give just the device
@@ -954,6 +964,7 @@ pipe_exit_routine()
struct pipe_details *info;
unsigned long int retsts = SS$_NORMAL, abort = SS$_TIMEOUT;
int sts, did_stuff;
+ dTHX;
/*
first we try sending an EOF...ignore if doesn't work, make sure we
@@ -1021,6 +1032,7 @@ safe_popen(char *cmd, char *mode)
char mbxname[64];
unsigned short int chan;
unsigned long int flags=1; /* nowait - gnu c doesn't allow &1 */
+ dTHX;
struct pipe_details *info;
struct dsc$descriptor_s namdsc = {sizeof mbxname, DSC$K_DTYPE_T,
DSC$K_CLASS_S, mbxname},
@@ -1078,7 +1090,7 @@ safe_popen(char *cmd, char *mode)
/*{{{ FILE *my_popen(char *cmd, char *mode)*/
FILE *
-my_popen(char *cmd, char *mode)
+Perl_my_popen(pTHX_ char *cmd, char *mode)
{
TAINT_ENV();
TAINT_PROPER("popen");
@@ -1089,7 +1101,7 @@ my_popen(char *cmd, char *mode)
/*}}}*/
/*{{{ I32 my_pclose(FILE *fp)*/
-I32 my_pclose(FILE *fp)
+I32 Perl_my_pclose(pTHX_ FILE *fp)
{
struct pipe_details *info, *last = NULL;
unsigned long int retsts;
@@ -1127,7 +1139,7 @@ Pid_t
my_waitpid(Pid_t pid, int *statusp, int flags)
{
struct pipe_details *info;
- dTHR;
+ dTHX;
for (info = open_pipes; info != NULL; info = info->next)
if (info->pid == pid) break;
@@ -1150,7 +1162,7 @@ my_waitpid(Pid_t pid, int *statusp, int flags)
_ckvmssts(lib$getjpi(&ownercode,&pid,0,&ownerpid,0,0));
_ckvmssts(lib$getjpi(&ownercode,0,0,&mypid,0,0));
if (ownerpid != mypid)
- warner(WARN_EXEC,"pid %x not a child",pid);
+ Perl_warner(aTHX_ WARN_EXEC,"pid %x not a child",pid);
}
_ckvmssts(sys$bintim(&intdsc,interval));
@@ -1713,7 +1725,8 @@ static char *do_pathify_dirspec(char *dir,char *buf, int ts)
if (*dir) strcpy(trndir,dir);
else getcwd(trndir,sizeof trndir - 1);
- while (!strpbrk(trndir,"/]:>") && my_trnlnm(trndir,trndir,0)) {
+ while (!strpbrk(trndir,"/]:>") && !no_translate_barewords
+ && my_trnlnm(trndir,trndir,0)) {
STRLEN trnlen = strlen(trndir);
/* Trap simple rooted lnms, and return lnm:[000000] */
@@ -2746,6 +2759,7 @@ vms_image_init(int *argcp, char ***argvp)
unsigned long int iprv[(sizeof(union prvdef) + sizeof(unsigned long int) - 1) / sizeof(unsigned long int)];
unsigned short int dummy, rlen;
struct dsc$descriptor_s **tabvec;
+ dTHX;
struct itmlst_3 jpilist[4] = { {sizeof iprv, JPI$_IMAGPRIV, iprv, &dummy},
{sizeof rlst, JPI$_RIGHTSLIST, rlst, &rlen},
{ sizeof rsz, JPI$_RIGHTS_SIZE, &rsz, &dummy},
@@ -3093,6 +3107,7 @@ collectversions(dd)
char *p, *text, buff[sizeof dd->entry.d_name];
int i;
unsigned long context, tmpsts;
+ dTHX;
/* Convenient shorthand. */
e = &dd->entry;
@@ -3208,6 +3223,7 @@ void
seekdir(DIR *dd, long count)
{
int vms_wantversions;
+ dTHX;
/* If we haven't done anything yet... */
if (dd->count == 0)
@@ -3288,7 +3304,7 @@ vms_execfree() {
static char *
setup_argstr(SV *really, SV **mark, SV **sp)
{
- dTHR;
+ dTHX;
char *junk, *tmps = Nullch;
register size_t cmdlen = 0;
size_t rlen;
@@ -3340,6 +3356,7 @@ setup_cmddsc(char *cmd, int check_img)
unsigned long int cxt = 0, flags = 1, retsts = SS$_NORMAL;
register char *s, *rest, *cp;
register int isdcl = 0;
+ dTHX;
s = cmd;
while (*s && isspace(*s)) s++;
@@ -3402,12 +3419,12 @@ setup_cmddsc(char *cmd, int check_img)
bool
vms_do_aexec(SV *really,SV **mark,SV **sp)
{
- dTHR;
+ dTHX;
if (sp > mark) {
if (vfork_called) { /* this follows a vfork - act Unixish */
vfork_called--;
if (vfork_called < 0) {
- warn("Internal inconsistency in tracking vforks");
+ Perl_warn(aTHX_ "Internal inconsistency in tracking vforks");
vfork_called = 0;
}
else return do_aexec(really,mark,sp);
@@ -3426,11 +3443,11 @@ bool
vms_do_exec(char *cmd)
{
- dTHR;
+ dTHX;
if (vfork_called) { /* this follows a vfork - act Unixish */
vfork_called--;
if (vfork_called < 0) {
- warn("Internal inconsistency in tracking vforks");
+ Perl_warn(aTHX_ "Internal inconsistency in tracking vforks");
vfork_called = 0;
}
else return do_exec(cmd);
@@ -3462,7 +3479,7 @@ vms_do_exec(char *cmd)
}
set_vaxc_errno(retsts);
if (ckWARN(WARN_EXEC)) {
- warner(WARN_EXEC,"Can't exec \"%*s\": %s",
+ Perl_warner(aTHX_ WARN_EXEC,"Can't exec \"%*s\": %s",
VMScmd.dsc$w_length, VMScmd.dsc$a_pointer, Strerror(errno));
}
vms_execfree();
@@ -3479,7 +3496,7 @@ unsigned long int do_spawn(char *);
unsigned long int
do_aspawn(void *really,void **mark,void **sp)
{
- dTHR;
+ dTHX;
if (sp > mark) return do_spawn(setup_argstr((SV *)really,(SV **)mark,(SV **)sp));
return SS$_ABORT;
@@ -3491,7 +3508,7 @@ unsigned long int
do_spawn(char *cmd)
{
unsigned long int sts, substs, hadcmd = 1;
- dTHR;
+ dTHX;
TAINT_ENV();
TAINT_PROPER("spawn");
@@ -3522,7 +3539,7 @@ do_spawn(char *cmd)
}
set_vaxc_errno(sts);
if (ckWARN(WARN_EXEC)) {
- warner(WARN_EXEC,"Can't spawn \"%*s\": %s",
+ Perl_warner(aTHX_ WARN_EXEC,"Can't spawn \"%*s\": %s",
hadcmd ? VMScmd.dsc$w_length : 0,
hadcmd ? VMScmd.dsc$a_pointer : "",
Strerror(errno));
@@ -3564,7 +3581,7 @@ int
my_flush(FILE *fp)
{
int res;
- if ((res = fflush(fp)) == 0) {
+ if ((res = fflush(fp)) == 0 && fp) {
#ifdef VMS_DO_SOCKETS
Stat_t s;
if (Fstat(fileno(fp), &s) == 0 && !S_ISSOCK(s.st_mode))
@@ -3637,6 +3654,7 @@ static char __pw_namecache[UAI$S_IDENT+1];
*/
static int fillpasswd (const char *name, struct passwd *pwd)
{
+ dTHX;
static struct {
unsigned char length;
char pw_gecos[UAI$S_OWNER+1];
@@ -3695,7 +3713,7 @@ static int fillpasswd (const char *name, struct passwd *pwd)
pwd->pw_gid= uic.uic$v_group;
}
else
- warn("getpwnam returned invalid UIC %#o for user \"%s\"");
+ Perl_warn(aTHX_ "getpwnam returned invalid UIC %#o for user \"%s\"");
pwd->pw_passwd= pw_passwd;
pwd->pw_gecos= owner.pw_gecos;
pwd->pw_dir= defdev.pw_dir;
@@ -3721,6 +3739,7 @@ struct passwd *my_getpwnam(char *name)
struct dsc$descriptor_s name_desc;
union uicdef uic;
unsigned long int status, sts;
+ dTHX;
__pwdcache = __passwd_empty;
if (!fillpasswd(name, &__pwdcache)) {
@@ -3760,6 +3779,7 @@ struct passwd *my_getpwuid(Uid_t uid)
unsigned short lname;
union uicdef uic;
unsigned long int status;
+ dTHX;
if (uid == (unsigned int) -1) {
do {
@@ -3821,6 +3841,7 @@ struct passwd *my_getpwent()
/*{{{void my_endpwent()*/
void my_endpwent()
{
+ dTHX;
if (contxt) {
_ckvmssts(sys$finish_rdb(&contxt));
contxt= 0;
@@ -3990,7 +4011,7 @@ static time_t toloc_dst(time_t utc) {
/*{{{time_t my_time(time_t *timep)*/
time_t my_time(time_t *timep)
{
- dTHR;
+ dTHX;
time_t when;
struct tm *tm_p;
@@ -4007,7 +4028,7 @@ time_t my_time(time_t *timep)
gmtime_emulation_type++;
if (!vmstrnenv("SYS$TIMEZONE_DIFFERENTIAL",off,0,fildev,0)) {
gmtime_emulation_type++;
- warn("no UTC offset information; assuming local time is UTC");
+ Perl_warn(aTHX_ "no UTC offset information; assuming local time is UTC");
}
else { utc_offset_secs = atol(off); }
}
@@ -4043,7 +4064,7 @@ time_t my_time(time_t *timep)
struct tm *
my_gmtime(const time_t *timep)
{
- dTHR;
+ dTHX;
char *p;
time_t when;
struct tm *rsltmp;
@@ -4074,7 +4095,7 @@ my_gmtime(const time_t *timep)
struct tm *
my_localtime(const time_t *timep)
{
- dTHR;
+ dTHX;
time_t when;
struct tm *rsltmp;
@@ -4131,7 +4152,7 @@ static const long int utime_baseadjust[2] = { 0x4beb4000, 0x7c9567 };
/*{{{int my_utime(char *path, struct utimbuf *utimes)*/
int my_utime(char *file, struct utimbuf *utimes)
{
- dTHR;
+ dTHX;
register int i;
long int bintime[2], len = 2, lowbit, unixtime,
secscale = 10000000; /* seconds --> 100 ns intervals */
@@ -4315,6 +4336,7 @@ static mydev_t encode_dev (const char *dev)
mydev_t enc;
char c;
const char *q;
+ dTHX;
if (!dev || !dev[0]) return 0;
@@ -4360,6 +4382,7 @@ static int
is_null_device(name)
const char *name;
{
+ dTHX;
/* The VMS null device is named "_NLA0:", usually abbreviated as "NL:".
The underscore prefix, controller letter, and unit number are
independently optional; for our purposes, the colon punctuation
@@ -4380,9 +4403,8 @@ is_null_device(name)
*/
/*{{{I32 cando(I32 bit, I32 effective, struct stat *statbufp)*/
I32
-cando(I32 bit, I32 effective, Stat_t *statbufp)
+Perl_cando(pTHX_ I32 bit, I32 effective, Stat_t *statbufp)
{
- dTHR;
if (statbufp == &PL_statcache) return cando_by_name(bit,effective,namecache);
else {
char fname[NAM$C_MAXRSS+1];
@@ -4404,7 +4426,7 @@ cando(I32 bit, I32 effective, Stat_t *statbufp)
return cando_by_name(bit,effective,fname);
}
else if (retsts == SS$_NOSUCHDEV || retsts == SS$_NOSUCHFILE) {
- warn("Can't get filespec - stale stat buffer?\n");
+ Perl_warn(aTHX_ "Can't get filespec - stale stat buffer?\n");
return FALSE;
}
_ckvmssts(retsts);
@@ -4424,6 +4446,7 @@ cando_by_name(I32 bit, I32 effective, char *fname)
char vmsname[NAM$C_MAXRSS+1], fileified[NAM$C_MAXRSS+1];
unsigned long int objtyp = ACL$C_FILE, access, retsts, privused, iosb[2];
unsigned short int retlen;
+ dTHX;
struct dsc$descriptor_s namdsc = {0, DSC$K_DTYPE_T, DSC$K_CLASS_S, 0};
union prvdef curprv;
struct itmlst_3 armlst[3] = {{sizeof access, CHP$_ACCESS, &access, &retlen},
@@ -4516,7 +4539,7 @@ cando_by_name(I32 bit, I32 effective, char *fname)
int
flex_fstat(int fd, Stat_t *statbufp)
{
- dTHR;
+ dTHX;
if (!fstat(fd,(stat_t *) statbufp)) {
if (statbufp == (Stat_t *) &PL_statcache) *namecache == '\0';
statbufp->st_dev = encode_dev(statbufp->st_devnam);
@@ -4550,7 +4573,7 @@ flex_fstat(int fd, Stat_t *statbufp)
int
flex_stat(const char *fspec, Stat_t *statbufp)
{
- dTHR;
+ dTHX;
char fileified[NAM$C_MAXRSS+1];
char temp_fspec[NAM$C_MAXRSS+300];
int retval = -1;
@@ -4819,14 +4842,14 @@ rmscopy(char *spec_in, char *spec_out, int preserve_dates)
*/
void
-rmsexpand_fromperl(CV *cv)
+rmsexpand_fromperl(pTHX_ CV *cv)
{
dXSARGS;
char *fspec, *defspec = NULL, *rslt;
STRLEN n_a;
if (!items || items > 2)
- croak("Usage: VMS::Filespec::rmsexpand(spec[,defspec])");
+ Perl_croak(aTHX_ "Usage: VMS::Filespec::rmsexpand(spec[,defspec])");
fspec = SvPV(ST(0),n_a);
if (!fspec || !*fspec) XSRETURN_UNDEF;
if (items == 2) defspec = SvPV(ST(1),n_a);
@@ -4838,13 +4861,13 @@ rmsexpand_fromperl(CV *cv)
}
void
-vmsify_fromperl(CV *cv)
+vmsify_fromperl(pTHX_ CV *cv)
{
dXSARGS;
char *vmsified;
STRLEN n_a;
- if (items != 1) croak("Usage: VMS::Filespec::vmsify(spec)");
+ if (items != 1) Perl_croak(aTHX_ "Usage: VMS::Filespec::vmsify(spec)");
vmsified = do_tovmsspec(SvPV(ST(0),n_a),NULL,1);
ST(0) = sv_newmortal();
if (vmsified != NULL) sv_usepvn(ST(0),vmsified,strlen(vmsified));
@@ -4852,13 +4875,13 @@ vmsify_fromperl(CV *cv)
}
void
-unixify_fromperl(CV *cv)
+unixify_fromperl(pTHX_ CV *cv)
{
dXSARGS;
char *unixified;
STRLEN n_a;
- if (items != 1) croak("Usage: VMS::Filespec::unixify(spec)");
+ if (items != 1) Perl_croak(aTHX_ "Usage: VMS::Filespec::unixify(spec)");
unixified = do_tounixspec(SvPV(ST(0),n_a),NULL,1);
ST(0) = sv_newmortal();
if (unixified != NULL) sv_usepvn(ST(0),unixified,strlen(unixified));
@@ -4866,13 +4889,13 @@ unixify_fromperl(CV *cv)
}
void
-fileify_fromperl(CV *cv)
+fileify_fromperl(pTHX_ CV *cv)
{
dXSARGS;
char *fileified;
STRLEN n_a;
- if (items != 1) croak("Usage: VMS::Filespec::fileify(spec)");
+ if (items != 1) Perl_croak(aTHX_ "Usage: VMS::Filespec::fileify(spec)");
fileified = do_fileify_dirspec(SvPV(ST(0),n_a),NULL,1);
ST(0) = sv_newmortal();
if (fileified != NULL) sv_usepvn(ST(0),fileified,strlen(fileified));
@@ -4880,13 +4903,13 @@ fileify_fromperl(CV *cv)
}
void
-pathify_fromperl(CV *cv)
+pathify_fromperl(pTHX_ CV *cv)
{
dXSARGS;
char *pathified;
STRLEN n_a;
- if (items != 1) croak("Usage: VMS::Filespec::pathify(spec)");
+ if (items != 1) Perl_croak(aTHX_ "Usage: VMS::Filespec::pathify(spec)");
pathified = do_pathify_dirspec(SvPV(ST(0),n_a),NULL,1);
ST(0) = sv_newmortal();
if (pathified != NULL) sv_usepvn(ST(0),pathified,strlen(pathified));
@@ -4894,13 +4917,13 @@ pathify_fromperl(CV *cv)
}
void
-vmspath_fromperl(CV *cv)
+vmspath_fromperl(pTHX_ CV *cv)
{
dXSARGS;
char *vmspath;
STRLEN n_a;
- if (items != 1) croak("Usage: VMS::Filespec::vmspath(spec)");
+ if (items != 1) Perl_croak(aTHX_ "Usage: VMS::Filespec::vmspath(spec)");
vmspath = do_tovmspath(SvPV(ST(0),n_a),NULL,1);
ST(0) = sv_newmortal();
if (vmspath != NULL) sv_usepvn(ST(0),vmspath,strlen(vmspath));
@@ -4908,13 +4931,13 @@ vmspath_fromperl(CV *cv)
}
void
-unixpath_fromperl(CV *cv)
+unixpath_fromperl(pTHX_ CV *cv)
{
dXSARGS;
char *unixpath;
STRLEN n_a;
- if (items != 1) croak("Usage: VMS::Filespec::unixpath(spec)");
+ if (items != 1) Perl_croak(aTHX_ "Usage: VMS::Filespec::unixpath(spec)");
unixpath = do_tounixpath(SvPV(ST(0),n_a),NULL,1);
ST(0) = sv_newmortal();
if (unixpath != NULL) sv_usepvn(ST(0),unixpath,strlen(unixpath));
@@ -4922,7 +4945,7 @@ unixpath_fromperl(CV *cv)
}
void
-candelete_fromperl(CV *cv)
+candelete_fromperl(pTHX_ CV *cv)
{
dXSARGS;
char fspec[NAM$C_MAXRSS+1], *fsp;
@@ -4930,7 +4953,7 @@ candelete_fromperl(CV *cv)
IO *io;
STRLEN n_a;
- if (items != 1) croak("Usage: VMS::Filespec::candelete(spec)");
+ if (items != 1) Perl_croak(aTHX_ "Usage: VMS::Filespec::candelete(spec)");
mysv = SvROK(ST(0)) ? SvRV(ST(0)) : ST(0);
if (SvTYPE(mysv) == SVt_PVGV) {
@@ -4954,7 +4977,7 @@ candelete_fromperl(CV *cv)
}
void
-rmscopy_fromperl(CV *cv)
+rmscopy_fromperl(pTHX_ CV *cv)
{
dXSARGS;
char inspec[NAM$C_MAXRSS+1], outspec[NAM$C_MAXRSS+1], *inp, *outp;
@@ -4967,7 +4990,7 @@ rmscopy_fromperl(CV *cv)
STRLEN n_a;
if (items < 2 || items > 3)
- croak("Usage: File::Copy::rmscopy(from,to[,date_flag])");
+ Perl_croak(aTHX_ "Usage: File::Copy::rmscopy(from,to[,date_flag])");
mysv = SvROK(ST(0)) ? SvRV(ST(0)) : ST(0);
if (SvTYPE(mysv) == SVt_PVGV) {
@@ -5011,6 +5034,13 @@ void
init_os_extras()
{
char* file = __FILE__;
+ dTHX;
+ char temp_buff[512];
+ if (my_trnlnm("DECC$DISABLE_TO_VMS_LOGNAME_TRANSLATION", temp_buff, 0)) {
+ no_translate_barewords = TRUE;
+ } else {
+ no_translate_barewords = FALSE;
+ }
newXSproto("VMS::Filespec::rmsexpand",rmsexpand_fromperl,file,"$;$");
newXSproto("VMS::Filespec::vmsify",vmsify_fromperl,file,"$");
diff --git a/vms/vmsish.h b/vms/vmsish.h
index 8f630189b7..1f7e2c93fa 100644
--- a/vms/vmsish.h
+++ b/vms/vmsish.h
@@ -75,6 +75,9 @@
/* getenv used for regular logical names */
# define getenv(v) my_getenv(v,TRUE)
#endif
+#if defined(getenv_len)
+#undef getenv_len
+#endif
#define getenv_len(v,l) my_getenv_len(v,l,TRUE)
/* DECC introduces this routine in the RTL as of VMS 7.0; for now,
@@ -90,11 +93,16 @@
/* Our own contribution to PerlShr's global symbols . . . */
#define vmstrnenv Perl_vmstrnenv
#define my_trnlnm Perl_my_trnlnm
-#define my_getenv Perl_my_getenv
#define my_getenv_len Perl_my_getenv_len
#define prime_env_iter Perl_prime_env_iter
#define vmssetenv Perl_vmssetenv
+#if !defined(PERL_IMPLICIT_CONTEXT)
#define my_setenv Perl_my_setenv
+#define my_getenv Perl_my_getenv
+#else
+#define my_setenv(a,b) Perl_my_setenv(aTHX_ a,b)
+#define my_getenv(a,b) Perl_my_getenv(aTHX_ a,b)
+#endif
#define my_crypt Perl_my_crypt
#define my_waitpid Perl_my_waitpid
#define my_gconvert Perl_my_gconvert
@@ -222,7 +230,7 @@
#define _ckvmssts(call) STMT_START { register unsigned long int __ckvms_sts; \
if (!((__ckvms_sts=(call))&1)) { \
set_errno(EVMSERR); set_vaxc_errno(__ckvms_sts); \
- croak("Fatal VMS error (status=%d) at %s, line %d", \
+ Perl_croak(aTHX_ "Fatal VMS error (status=%d) at %s, line %d", \
__ckvms_sts,__FILE__,__LINE__); } } STMT_END
/* Same thing, but don't call back to Perl's croak(); useful for errors
@@ -581,7 +589,11 @@ void init_os_extras ();
typedef char __VMS_PROTOTYPES__;
int vmstrnenv (const char *, char *, unsigned long int, struct dsc$descriptor_s **, unsigned long int);
int my_trnlnm (const char *, char *, unsigned long int);
-char * my_getenv (const char *, bool);
+#if !defined(PERL_IMPLICIT_CONTEXT)
+char * Perl_my_getenv (const char *, bool);
+#else
+char * Perl_my_getenv (pTHX_ const char *, bool);
+#endif
char * my_getenv_len (const char *, unsigned long *, bool);
int vmssetenv (char *, char *, struct dsc$descriptor_s **);
char * my_crypt (const char *, const char *);
diff --git a/vms/writemain.pl b/vms/writemain.pl
index b08bf1d924..1843b30206 100644
--- a/vms/writemain.pl
+++ b/vms/writemain.pl
@@ -34,7 +34,7 @@ if (!$ok) {
print OUT <<'EOH';
static void
-xs_init()
+xs_init(pTHX)
{
EOH
@@ -50,7 +50,7 @@ if (@exts) {
foreach $ext (@exts) {
my($subname) = $ext;
$subname =~ s/::/__/g;
- print OUT "extern void boot_${subname} (CV* cv);\n"
+ print OUT "extern void boot_${subname} (pTHX_ CV* cv);\n"
}
# May not actually be a declaration, so put after other declarations
print OUT " dXSUB_SYS;\n";
diff --git a/warning.h b/warning.h
index 8b0cacea1b..7395a96abe 100644
--- a/warning.h
+++ b/warning.h
@@ -79,21 +79,24 @@
#define WARN_SYNTAX 15
#define WARN_AMBIGUOUS 16
#define WARN_DEPRECATED 17
-#define WARN_OCTAL 18
-#define WARN_PARENTHESIS 19
-#define WARN_PRECEDENCE 20
-#define WARN_PRINTF 21
-#define WARN_RESERVED 22
-#define WARN_SEMICOLON 23
-#define WARN_UNINITIALIZED 24
-#define WARN_UNSAFE 25
-#define WARN_CLOSURE 26
-#define WARN_SIGNAL 27
-#define WARN_SUBSTR 28
-#define WARN_TAINT 29
-#define WARN_UNTIE 30
-#define WARN_UTF8 31
-#define WARN_VOID 32
+#define WARN_DIGIT 18
+#define WARN_OCTAL 19
+#define WARN_PARENTHESIS 20
+#define WARN_PRECEDENCE 21
+#define WARN_PRINTF 22
+#define WARN_RESERVED 23
+#define WARN_SEMICOLON 24
+#define WARN_UNINITIALIZED 25
+#define WARN_UNSAFE 26
+#define WARN_CLOSURE 27
+#define WARN_OVERFLOW 28
+#define WARN_PORTABLE 29
+#define WARN_SIGNAL 30
+#define WARN_SUBSTR 31
+#define WARN_TAINT 32
+#define WARN_UNTIE 33
+#define WARN_UTF8 34
+#define WARN_VOID 35
#define WARNsize 9
#define WARN_ALLstring "\125\125\125\125\125\125\125\125\125"
diff --git a/warning.pl b/warning.pl
index 400fc7e569..593b5d7e7c 100644
--- a/warning.pl
+++ b/warning.pl
@@ -14,6 +14,8 @@ my $tree = {
'taint' => DEFAULT_OFF,
'signal' => DEFAULT_OFF,
'closure' => DEFAULT_OFF,
+ 'overflow' => DEFAULT_OFF,
+ 'portable' => DEFAULT_OFF,
'utf8' => DEFAULT_OFF,
} ,
'io' => { 'pipe' => DEFAULT_OFF,
@@ -28,6 +30,7 @@ my $tree = {
'precedence' => DEFAULT_OFF,
'reserved' => DEFAULT_OFF,
'octal' => DEFAULT_OFF,
+ 'digit' => DEFAULT_OFF,
'parenthesis' => DEFAULT_OFF,
'deprecated' => DEFAULT_OFF,
'printf' => DEFAULT_OFF,