Imported Upstream version 1.0.5 upstream/1.0.5
authorBowon Ryu <bowon.ryu@samsung.com>
Thu, 14 Feb 2019 10:32:35 +0000 (19:32 +0900)
committerBowon Ryu <bowon.ryu@samsung.com>
Thu, 14 Feb 2019 10:32:35 +0000 (19:32 +0900)
36 files changed:
ChangeLog
Makefile.in
NEWS
ar-lib
bin/Makefile.in
compile
config.guess
config.sub
configure
configure.ac
depcomp
doc/Makefile.am
doc/Makefile.in
doc/meson.build
gen.tab/Makefile.in
gen.tab/unidata/ArabicShaping.txt
gen.tab/unidata/BidiBrackets.txt
gen.tab/unidata/BidiMirroring.txt
gen.tab/unidata/ReadMe.txt
gen.tab/unidata/UnicodeData.txt
lib/Makefile.in
lib/fribidi-bidi.c
lib/fribidi-char-sets-cap-rtl.c
lib/fribidi-deprecated.c
ltmain.sh
meson.build
missing
test-driver
test/Makefile.am
test/Makefile.in
test/test_CapRTL_isolate.input [new file with mode: 0644]
test/test_CapRTL_isolate.reference [new file with mode: 0644]
test/unicode-conformance/BidiCharacterTest.c
test/unicode-conformance/BidiCharacterTest.txt
test/unicode-conformance/BidiTest.txt
test/unicode-conformance/Makefile.in

index 15c0e5e..4f39aaf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,174 @@
+commit f245343730303bf7edd2af751d739f977466bf41
+Author: Dov Grobgeld <dov.grobgeld@gmail.com>
+Date:   Mon Jul 23 00:04:19 2018 +0300
+
+    Bumped version to 1.0.5
+
+ configure.ac | 2 +-
+ meson.build  | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit beaa8a69771693178f38c76d98cd25a84020db8c
+Author: Dov Grobgeld <dov.grobgeld@gmail.com>
+Date:   Sun Jul 22 23:49:10 2018 +0300
+
+    Fixed remaining 16 char tests errors.
+
+    - A matching parenthesis must be ON.
+
+ lib/fribidi-bidi.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 0932559b116ec3aa15a483c32845b439535b1fb7
+Author: Dov Grobgeld <dov.grobgeld@gmail.com>
+Date:   Sun Jul 22 21:55:19 2018 +0300
+
+    Remove skipping tests and fixed two test errors.
+
+    - BidiCharTest was erroneously skipping RTL tests. This has been
+      fixed.
+    - This exposed 18 errors. Two have been fixed in this commit, but
+      16 remains.
+
+ lib/fribidi-bidi.c                           |  2 +-
+ test/unicode-conformance/BidiCharacterTest.c | 14 +-------------
+ 2 files changed, 2 insertions(+), 14 deletions(-)
+
+commit d989590e124ad995de3598800c8835d819fadf80
+Author: Dov Grobgeld <dov.grobgeld@gmail.com>
+Date:   Sat Jun 30 23:15:21 2018 +0300
+
+    Reduce dynamic allocations by using arrays for all small arrays.
+
+ lib/fribidi-bidi.c       | 64
+ +++++++++++++++++++++++-------------------------
+ lib/fribidi-deprecated.c | 44 ++++++++++++++++++++++++---------
+ 2 files changed, 64 insertions(+), 44 deletions(-)
+
+commit 902618192f1cdb4430e4f2dfc032d9fb36fccc5b
+Author: Dov Grobgeld <dov.grobgeld@gmail.com>
+Date:   Wed Jun 6 12:46:30 2018 +0100
+
+    Bumped version to 1.0.4.
+
+ NEWS         | 5 +++++
+ configure.ac | 2 +-
+ meson.build  | 2 +-
+ 3 files changed, 7 insertions(+), 2 deletions(-)
+
+commit d19206b72287c029a32f1c3ba0fbf29f3ccba718
+Merge: a465eef c8f3e3c
+Author: Dov Grobgeld <dov.grobgeld@gmail.com>
+Date:   Wed Jun 6 11:31:43 2018 +0300
+
+    Merge pull request #82 from khaledhosny/unicode-11
+
+    Update to Unicode 11
+
+commit a465eef7af30217e339eb50947d3256a95cef78e
+Author: Tim-Philipp Müller <tim@centricular.com>
+Date:   Sat Jun 2 11:00:57 2018 +0100
+
+    meson: docs: don't require c2man for tarball with pre-generated
+    man pages
+
+    Fixes #79
+
+ doc/meson.build | 51 ++++++++++++++++++++++++++++++---------------------
+ 1 file changed, 30 insertions(+), 21 deletions(-)
+
+commit c8f3e3cac8b1f0f6af4eadf887ea1156adf9d80e
+Author: Khaled Hosny <khaledhosny@eglug.org>
+Date:   Wed Jun 6 03:44:22 2018 +0200
+
+    Update to Unicode 11
+
+    Fixes https://github.com/fribidi/fribidi/issues/81
+
+ gen.tab/unidata/ArabicShaping.txt              | 104 +++-
+ gen.tab/unidata/BidiBrackets.txt               |   6 +-
+ gen.tab/unidata/BidiMirroring.txt              | 141 +++--
+ gen.tab/unidata/ReadMe.txt                     |   9 +-
+ gen.tab/unidata/UnicodeData.txt                | 778
+ +++++++++++++++++++++++--
+ test/unicode-conformance/BidiCharacterTest.txt |   6 +-
+ test/unicode-conformance/BidiTest.txt          |  11 +-
+ 7 files changed, 917 insertions(+), 138 deletions(-)
+
+commit b254a4c06e449dcaf4e3356f7904f4e6cd19910c
+Author: Dov Grobgeld <dov.grobgeld@gmail.com>
+Date:   Wed May 16 20:46:45 2018 +0300
+
+    Updated NEWS file.
+
+ NEWS | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit a44e063b4ff1006a3af97d115f39c31e49f22f49
+Author: Dov Grobgeld <dov.grobgeld@gmail.com>
+Date:   Wed May 16 20:41:01 2018 +0300
+
+    Bumped version to v1.0.3
+
+ configure.ac | 2 +-
+ meson.build  | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 47ed4eb33d11ff132d698decd24be4e16ff55c60
+Author: Dov Grobgeld <dov.grobgeld@gmail.com>
+Date:   Wed Mar 21 06:47:43 2018 +0200
+
+    Fixed uninitialized memory access. Issue #58.
+
+ lib/fribidi-char-sets-cap-rtl.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 5e8bad36675a59da2e32f3b37a6d85921082b3a7
+Author: Dov Grobgeld <dov.grobgeld@gmail.com>
+Date:   Mon Mar 19 21:28:07 2018 +0200
+
+    Fixed compilation errors in debug mode
+
+ lib/fribidi-bidi.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 18c5c4c7ac2a2e1a45ce8b8868d3018493314485
+Author: Khaled Hosny <khaledhosny@eglug.org>
+Date:   Mon Mar 19 10:39:29 2018 +0200
+
+    Update .travis.yml
+
+ .travis.yml | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+commit 095d88503194e81059ab81d04b849d9245899dfa
+Author: Khaled Hosny <khaledhosny@eglug.org>
+Date:   Mon Mar 19 10:38:27 2018 +0200
+
+    Revert "Add an option to disable building documentation"
+
+    This reverts commit 21b18b07c0b57fbaff15b622df80408cf8936809.
+
+    This made installing man pages when building from release tarballs
+    require c2man, which wasn’t the case before.
+
+    Fixes https://github.com/fribidi/fribidi/issues/72
+
+ configure.ac    | 13 -------------
+ doc/Makefile.am |  6 ++----
+ 2 files changed, 2 insertions(+), 17 deletions(-)
+
+commit 56e07baaea0dd92667753ebb6a29f5354c9256b9
+Author: Khaled Hosny <khaledhosny@eglug.org>
+Date:   Mon Mar 19 14:48:41 2018 +0200
+
+    Add test_CapRTL_isolate.* to test/Makefile.am
+
+    Fixes https://github.com/fribidi/fribidi/issues/74
+
+ test/Makefile.am | 2 ++
+ 1 file changed, 2 insertions(+)
+
 commit f2c9d50722cb60d0cdec3b1bafba9029770e86b4
 Author: Dov Grobgeld <dov.grobgeld@gmail.com>
 Date:   Sun Mar 18 21:07:21 2018 +0200
index 132a8cc..3c9081c 100644 (file)
@@ -247,7 +247,6 @@ AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BUILD_EXEEXT = @BUILD_EXEEXT@
 BUILD_OBJEXT = @BUILD_OBJEXT@
-C2MAN = @C2MAN@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CC_FOR_BUILD = @CC_FOR_BUILD@
diff --git a/NEWS b/NEWS
index 9502360..4f4dd3d 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,22 @@
+Overview of changes between 1.0.4 and 1.0.5
+=============================================
+
+* This is a bugfix release that fixed a bug BidiCharacterTest.c due to which a large number of character tests were not run. Once run, it uncovered 18 test failures. These have all been fixed in this release.
+
+* The release also includes a small speedup due to small arrays being allocated on the stack instead of in dynamic memory.
+
+* Updated Unicode tables to version 11.
+
+Overview of changes between 1.0.3 and 1.0.4
+=============================================
+
+* Updated Unicode tables to version 11.
+
+Overview of changes between 1.0.2 and 1.0.3
+=============================================
+
+* Minor compilation issues.
+
 Overview of changes between 1.0.1 and 1.0.2
 =============================================
 
diff --git a/ar-lib b/ar-lib
index 05094d3..92bbe08 100755 (executable)
--- a/ar-lib
+++ b/ar-lib
@@ -1,4 +1,4 @@
-#! /bin/sh
+#!/bin/sh
 # Wrapper for Microsoft lib.exe
 
 me=ar-lib
index 7ceb727..a695575 100644 (file)
@@ -203,7 +203,6 @@ AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BUILD_EXEEXT = @BUILD_EXEEXT@
 BUILD_OBJEXT = @BUILD_OBJEXT@
-C2MAN = @C2MAN@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CC_FOR_BUILD = @CC_FOR_BUILD@
diff --git a/compile b/compile
index 2ab71e4..de0005d 100755 (executable)
--- a/compile
+++ b/compile
@@ -1,4 +1,4 @@
-#! /bin/sh
+#!/bin/sh
 # Wrapper for compilers which do not understand '-c -o'.
 
 scriptversion=2016-01-11.22; # UTC
index a744844..717b228 100755 (executable)
@@ -1,4 +1,4 @@
-#! /bin/sh
+#!/bin/sh
 # Attempt to guess a canonical system name.
 #   Copyright 1992-2017 Free Software Foundation, Inc.
 
index 932128b..f4bafc1 100755 (executable)
@@ -1,4 +1,4 @@
-#! /bin/sh
+#!/bin/sh
 # Configuration validation subroutine script.
 #   Copyright 1992-2017 Free Software Foundation, Inc.
 
index 663c87d..1210d8b 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for GNU FriBidi 1.0.2.
+# Generated by GNU Autoconf 2.69 for GNU FriBidi 1.0.5.
 #
 # Report bugs to <https://github.com/fribidi/fribidi/issues/new>.
 #
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='GNU FriBidi'
 PACKAGE_TARNAME='fribidi'
-PACKAGE_VERSION='1.0.2'
-PACKAGE_STRING='GNU FriBidi 1.0.2'
+PACKAGE_VERSION='1.0.5'
+PACKAGE_STRING='GNU FriBidi 1.0.5'
 PACKAGE_BUGREPORT='https://github.com/fribidi/fribidi/issues/new'
 PACKAGE_URL='http://fribidi.org/'
 
@@ -636,9 +636,6 @@ ac_subst_vars='am__EXEEXT_FALSE
 am__EXEEXT_TRUE
 LTLIBOBJS
 LIBOBJS
-FRIBIDI_ENABLE_DOC_FALSE
-FRIBIDI_ENABLE_DOC_TRUE
-C2MAN
 LDFLAGS_FOR_BUILD
 CPPFLAGS_FOR_BUILD
 CFLAGS_FOR_BUILD
@@ -793,7 +790,6 @@ with_sysroot
 enable_libtool_lock
 enable_debug
 enable_deprecated
-enable_docs
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1348,7 +1344,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures GNU FriBidi 1.0.2 to adapt to many kinds of systems.
+\`configure' configures GNU FriBidi 1.0.5 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1418,7 +1414,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GNU FriBidi 1.0.2:";;
+     short | recursive ) echo "Configuration of GNU FriBidi 1.0.5:";;
    esac
   cat <<\_ACEOF
 
@@ -1439,7 +1435,6 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-debug          turn on debugging [default=no]
   --disable-deprecated    do not build deprecated functionality
-  --disable-docs          disable building documentation
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -1538,7 +1533,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GNU FriBidi configure 1.0.2
+GNU FriBidi configure 1.0.5
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2090,7 +2085,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by GNU FriBidi $as_me 1.0.2, which was
+It was created by GNU FriBidi $as_me 1.0.5, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2959,7 +2954,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='fribidi'
- VERSION='1.0.2'
+ VERSION='1.0.5'
 
 
 # Some tools Automake needs.
@@ -12370,8 +12365,8 @@ CC=$lt_save_CC
 
 FRIBIDI_MAJOR_VERSION=1
 FRIBIDI_MINOR_VERSION=0
-FRIBIDI_MICRO_VERSION=2
-FRIBIDI_VERSION=1.0.2
+FRIBIDI_MICRO_VERSION=5
+FRIBIDI_VERSION=1.0.5
 FRIBIDI_INTERFACE_VERSION=4
 FRIBIDI_INTERFACE_AGE=0
 FRIBIDI_BINARY_AGE=4
@@ -14609,70 +14604,6 @@ $as_echo "#define FRIBIDI_NO_DEPRECATED 1" >>confdefs.h
 
 fi
 
-# --disable-docs
-# Check whether --enable-docs was given.
-if test "${enable_docs+set}" = set; then :
-  enableval=$enable_docs;
-else
-  enable_docs=yes
-fi
-
-if test x$enable_docs = xyes; then
-       for ac_prog in c2man
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_C2MAN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$C2MAN"; then
-  ac_cv_prog_C2MAN="$C2MAN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_C2MAN="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-C2MAN=$ac_cv_prog_C2MAN
-if test -n "$C2MAN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $C2MAN" >&5
-$as_echo "$C2MAN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$C2MAN" && break
-done
-
-       if test -z "$C2MAN"; then
-               as_fn_error $? "c2man is required to build documentation" "$LINENO" 5
-       fi
-fi
- if test -n "$C2MAN"; then
-  FRIBIDI_ENABLE_DOC_TRUE=
-  FRIBIDI_ENABLE_DOC_FALSE='#'
-else
-  FRIBIDI_ENABLE_DOC_TRUE='#'
-  FRIBIDI_ENABLE_DOC_FALSE=
-fi
-
-
 # Generate output
 ac_config_files="$ac_config_files fribidi.pc lib/fribidi-config.h Makefile gen.tab/Makefile lib/Makefile bin/Makefile doc/Makefile test/Makefile test/unicode-conformance/Makefile"
 
@@ -14825,10 +14756,6 @@ if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
   as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${FRIBIDI_ENABLE_DOC_TRUE}" && test -z "${FRIBIDI_ENABLE_DOC_FALSE}"; then
-  as_fn_error $? "conditional \"FRIBIDI_ENABLE_DOC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 
 : "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
@@ -15226,7 +15153,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by GNU FriBidi $as_me 1.0.2, which was
+This file was extended by GNU FriBidi $as_me 1.0.5, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -15294,7 +15221,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-GNU FriBidi config.status 1.0.2
+GNU FriBidi config.status 1.0.5
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
index 13bfa8b..722142e 100644 (file)
@@ -21,7 +21,7 @@ dnl   FRIBIDI_BINARY_AGE = FRIBIDI_INTERFACE_AGE = 0;
 dnl
 m4_define(fribidi_major_version, 1)dnl
 m4_define(fribidi_minor_version, 0)dnl
-m4_define(fribidi_micro_version, 2)dnl
+m4_define(fribidi_micro_version, 5)dnl
 m4_define(fribidi_interface_version, 4)dnl
 m4_define(fribidi_interface_age, 0)dnl
 m4_define(fribidi_binary_age, 4)dnl
@@ -147,19 +147,6 @@ if test x$enable_deprecated = xno; then
                  [Don not build deprecated functionality])
 fi
 
-# --disable-docs
-AC_ARG_ENABLE(docs,
-             AC_HELP_STRING([--disable-docs],
-                            [disable building documentation]),
-                            [], [enable_docs=yes])
-if test x$enable_docs = xyes; then
-       AC_CHECK_PROGS([C2MAN], [c2man])
-       if test -z "$C2MAN"; then
-               AC_MSG_ERROR([c2man is required to build documentation])
-       fi
-fi
-AM_CONDITIONAL([FRIBIDI_ENABLE_DOC], [test -n "$C2MAN"])
-
 # Generate output
 AC_CONFIG_FILES([fribidi.pc
                 lib/fribidi-config.h
diff --git a/depcomp b/depcomp
index b39f98f..30379e2 100755 (executable)
--- a/depcomp
+++ b/depcomp
@@ -1,4 +1,4 @@
-#! /bin/sh
+#!/bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
 scriptversion=2016-01-11.22; # UTC
index 6a67f2a..bbfb48f 100644 (file)
@@ -4,7 +4,6 @@ EXTRA_DIST =
 MOSTLYCLEANFILES =
 MAINTAINERCLEANFILES =
 
-if FRIBIDI_ENABLE_DOC
 # man3
 
 includepath =
@@ -41,7 +40,8 @@ c2man.stamp: $(headers)
        @touch $@.tmp
        @($(LN_S) $^ . || cp $^ .)
        @echo Running c2man
-       @$(C2MAN) -T n $(C2MANFLAGS) $(headers) 2>&1
+       @$(top_srcdir)/missing --run c2man -T n $(C2MANFLAGS) $(headers) 2>&1 \
+       || true
        @$(RM) $(headers)
        @mv $@.tmp $@
 
@@ -52,6 +52,4 @@ $(man3): c2man.stamp
        fi
        @touch $@
 
-endif # FRIBIDI_ENABLE_DOC
-
 -include $(top_srcdir)/git.mk
index e908d99..edcdf9f 100644 (file)
@@ -86,12 +86,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-@FRIBIDI_ENABLE_DOC_TRUE@am__append_1 = $(inst_symbols:=.3)
-@FRIBIDI_ENABLE_DOC_TRUE@am__append_2 = $(noinst_symbols:=.3)
-@FRIBIDI_ENABLE_DOC_TRUE@am__append_3 = c2man.stamp
-@FRIBIDI_ENABLE_DOC_TRUE@am__append_4 = c2man.stamp.tmp
-@FRIBIDI_ENABLE_DOC_TRUE@am__append_5 = $(man3) c2man.stamp
-@FRIBIDI_ENABLE_DOC_TRUE@am__append_6 = $(includevpath)
 subdir = doc
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -160,7 +154,7 @@ am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 am__DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.in \
        $(top_srcdir)/lib/Headers.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-VPATH = @srcdir@ $(am__append_6)
+VPATH = @srcdir@ $(includevpath)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
@@ -171,7 +165,6 @@ AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BUILD_EXEEXT = @BUILD_EXEEXT@
 BUILD_OBJEXT = @BUILD_OBJEXT@
-C2MAN = @C2MAN@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CC_FOR_BUILD = @CC_FOR_BUILD@
@@ -299,54 +292,52 @@ target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-dist_man_MANS = $(am__append_1)
-dist_noinst_MANS = $(am__append_2)
-EXTRA_DIST = $(am__append_3)
-MOSTLYCLEANFILES = $(am__append_4)
-MAINTAINERCLEANFILES = $(am__append_5)
+dist_man_MANS = $(inst_symbols:=.3)
+dist_noinst_MANS = $(noinst_symbols:=.3)
+EXTRA_DIST = c2man.stamp
+MOSTLYCLEANFILES = c2man.stamp.tmp
+MAINTAINERCLEANFILES = $(man3) c2man.stamp
 
 # man3
-@FRIBIDI_ENABLE_DOC_TRUE@includepath = -I$(top_builddir)/lib \
-@FRIBIDI_ENABLE_DOC_TRUE@      -I$(top_srcdir)/lib
-@FRIBIDI_ENABLE_DOC_TRUE@includevpath = :$(top_builddir)/lib:$(top_srcdir)/lib
+includepath = -I$(top_builddir)/lib -I$(top_srcdir)/lib
+includevpath = :$(top_builddir)/lib:$(top_srcdir)/lib
 
 # The lib/Headers.mk stuff should come after all optional stuff.
-@FRIBIDI_ENABLE_DOC_TRUE@headers = $(libfribidi_la_headers)
+headers = $(libfribidi_la_headers)
 # The las two lines are not functions, we don't want them here.
-@FRIBIDI_ENABLE_DOC_TRUE@inst_symbols = $(shell sed '$$d' \
-@FRIBIDI_ENABLE_DOC_TRUE@      $(top_srcdir)/lib/fribidi.def | sed \
-@FRIBIDI_ENABLE_DOC_TRUE@      '$$d')
-@FRIBIDI_ENABLE_DOC_TRUE@noinst_symbols = 
-@FRIBIDI_ENABLE_DOC_TRUE@libfribidi_la_headers = \
-@FRIBIDI_ENABLE_DOC_TRUE@              fribidi-arabic.h \
-@FRIBIDI_ENABLE_DOC_TRUE@              fribidi-begindecls.h \
-@FRIBIDI_ENABLE_DOC_TRUE@              fribidi-bidi.h \
-@FRIBIDI_ENABLE_DOC_TRUE@              fribidi-bidi-types.h \
-@FRIBIDI_ENABLE_DOC_TRUE@              fribidi-bidi-types-list.h \
-@FRIBIDI_ENABLE_DOC_TRUE@              fribidi-common.h \
-@FRIBIDI_ENABLE_DOC_TRUE@              fribidi-char-sets.h \
-@FRIBIDI_ENABLE_DOC_TRUE@              fribidi-char-sets-list.h \
-@FRIBIDI_ENABLE_DOC_TRUE@              fribidi-deprecated.h \
-@FRIBIDI_ENABLE_DOC_TRUE@              fribidi-enddecls.h \
-@FRIBIDI_ENABLE_DOC_TRUE@              fribidi-flags.h \
-@FRIBIDI_ENABLE_DOC_TRUE@              fribidi-joining.h \
-@FRIBIDI_ENABLE_DOC_TRUE@              fribidi-joining-types.h \
-@FRIBIDI_ENABLE_DOC_TRUE@              fribidi-joining-types-list.h \
-@FRIBIDI_ENABLE_DOC_TRUE@              fribidi-mirroring.h \
-@FRIBIDI_ENABLE_DOC_TRUE@              fribidi-brackets.h \
-@FRIBIDI_ENABLE_DOC_TRUE@              fribidi-shape.h \
-@FRIBIDI_ENABLE_DOC_TRUE@              fribidi-types.h \
-@FRIBIDI_ENABLE_DOC_TRUE@              fribidi-unicode.h \
-@FRIBIDI_ENABLE_DOC_TRUE@              fribidi-unicode-version.h \
-@FRIBIDI_ENABLE_DOC_TRUE@              fribidi.h
+inst_symbols = $(shell sed '$$d' $(top_srcdir)/lib/fribidi.def | sed \
+       '$$d')
+noinst_symbols = 
+libfribidi_la_headers = \
+               fribidi-arabic.h \
+               fribidi-begindecls.h \
+               fribidi-bidi.h \
+               fribidi-bidi-types.h \
+               fribidi-bidi-types-list.h \
+               fribidi-common.h \
+               fribidi-char-sets.h \
+               fribidi-char-sets-list.h \
+               fribidi-deprecated.h \
+               fribidi-enddecls.h \
+               fribidi-flags.h \
+               fribidi-joining.h \
+               fribidi-joining-types.h \
+               fribidi-joining-types-list.h \
+               fribidi-mirroring.h \
+               fribidi-brackets.h \
+               fribidi-shape.h \
+               fribidi-types.h \
+               fribidi-unicode.h \
+               fribidi-unicode-version.h \
+               fribidi.h
 
 # fribidi.h should be the last entry in the list above.
-@FRIBIDI_ENABLE_DOC_TRUE@libfribidi_la_symbols = $(shell cat $(top_srcdir)/lib/fribidi.def)
-@FRIBIDI_ENABLE_DOC_TRUE@man3 = $(dist_man_MANS) $(dist_noinst_MANS)
-@FRIBIDI_ENABLE_DOC_TRUE@C2MANFLAGS = $(includepath) \
-@FRIBIDI_ENABLE_DOC_TRUE@              -D__FRIBIDI_DOC \
-@FRIBIDI_ENABLE_DOC_TRUE@              -DDONT_HAVE_FRIBIDI_CONFIG_H \
-@FRIBIDI_ENABLE_DOC_TRUE@              -M "Programmer's Manual" 
+libfribidi_la_symbols = $(shell cat $(top_srcdir)/lib/fribidi.def)
+man3 = $(dist_man_MANS) $(dist_noinst_MANS)
+C2MANFLAGS = $(includepath) \
+               -D__FRIBIDI_DOC \
+               -DDONT_HAVE_FRIBIDI_CONFIG_H \
+               -M "Programmer's Manual" 
 
 all: all-am
 
@@ -592,21 +583,22 @@ uninstall-man: uninstall-man3
 .PRECIOUS: Makefile
 
 
-@FRIBIDI_ENABLE_DOC_TRUE@c2man.stamp: $(headers)
-@FRIBIDI_ENABLE_DOC_TRUE@      @$(RM) $@.tmp
-@FRIBIDI_ENABLE_DOC_TRUE@      @touch $@.tmp
-@FRIBIDI_ENABLE_DOC_TRUE@      @($(LN_S) $^ . || cp $^ .)
-@FRIBIDI_ENABLE_DOC_TRUE@      @echo Running c2man
-@FRIBIDI_ENABLE_DOC_TRUE@      @$(C2MAN) -T n $(C2MANFLAGS) $(headers) 2>&1
-@FRIBIDI_ENABLE_DOC_TRUE@      @$(RM) $(headers)
-@FRIBIDI_ENABLE_DOC_TRUE@      @mv $@.tmp $@
-
-@FRIBIDI_ENABLE_DOC_TRUE@$(man3): c2man.stamp
-@FRIBIDI_ENABLE_DOC_TRUE@      @if ! test -f $@; then \
-@FRIBIDI_ENABLE_DOC_TRUE@              $(RM) $<; \
-@FRIBIDI_ENABLE_DOC_TRUE@              $(MAKE) $(AM_MAKEFLAGS) $<;\
-@FRIBIDI_ENABLE_DOC_TRUE@      fi
-@FRIBIDI_ENABLE_DOC_TRUE@      @touch $@
+c2man.stamp: $(headers)
+       @$(RM) $@.tmp
+       @touch $@.tmp
+       @($(LN_S) $^ . || cp $^ .)
+       @echo Running c2man
+       @$(top_srcdir)/missing --run c2man -T n $(C2MANFLAGS) $(headers) 2>&1 \
+       || true
+       @$(RM) $(headers)
+       @mv $@.tmp $@
+
+$(man3): c2man.stamp
+       @if ! test -f $@; then \
+               $(RM) $<; \
+               $(MAKE) $(AM_MAKEFLAGS) $<;\
+       fi
+       @touch $@
 
 -include $(top_srcdir)/git.mk
 
index fe13ca6..808795b 100644 (file)
@@ -1,9 +1,3 @@
-c2man = find_program('c2man', required: false)
-
-if not c2man.found()
-  error('c2man is required to build documentation. Or disable with -Ddocs=false')
-endif
-
 # Extract list of man pages (one man page per symbol) from lib/libfribidi.def
 python3 = import('python3').find_python()
 
@@ -25,18 +19,33 @@ foreach sym : syms
   endif
 endforeach
 
-c2man_incs = []
-c2man_incs += ['-I' + join_paths(meson.source_root(), 'lib')]
-c2man_incs += ['-I' + join_paths(meson.build_root(), 'lib')]
-c2man_incs += ['-I' + join_paths(meson.source_root(), 'gen.tab')]
-c2man_incs += ['-I' + join_paths(meson.build_root(), 'gen.tab')]
-
-custom_target('man pages',
-  command: [c2man, '-T', 'n', '-M', 'Programmer\'s Manual', c2man_incs,
-            '-D__FRIBIDI_DOC', '-DDONT_HAVE_FRIBIDI_CONFIG_H',
-            '-o@0@'.format(meson.current_build_dir()),
-           fribidi_headers],
-  depends: [fribidi_unicode_version_h],
-  output: gen_man_pages,
-  install_dir: join_paths(get_option('prefix'), get_option('mandir'), 'man3'),
-  install: true)
+# check if we have a tarball which contains the generated files
+result = run_command(python3, '-c', '''import os.path; import sys
+sys.exit(0 if os.path.isfile('@0@') else 1)'''.format(join_paths(meson.current_source_dir(), gen_man_pages[0])))
+have_man_pages = result.returncode() == 0
+message('Have pre-generated man pages: @0@'.format(have_man_pages))
+
+if have_man_pages
+  install_man(gen_man_pages)
+else
+  c2man = find_program('c2man', required: false)
+  if not c2man.found()
+    error('c2man is required to build documentation from git. Or disable with -Ddocs=false')
+  endif
+
+  c2man_incs = []
+  c2man_incs += ['-I' + join_paths(meson.source_root(), 'lib')]
+  c2man_incs += ['-I' + join_paths(meson.build_root(), 'lib')]
+  c2man_incs += ['-I' + join_paths(meson.source_root(), 'gen.tab')]
+  c2man_incs += ['-I' + join_paths(meson.build_root(), 'gen.tab')]
+
+  custom_target('man pages',
+    command: [c2man, '-T', 'n', '-M', 'Programmer\'s Manual', c2man_incs,
+              '-D__FRIBIDI_DOC', '-DDONT_HAVE_FRIBIDI_CONFIG_H',
+              '-o@0@'.format(meson.current_build_dir()),
+             fribidi_headers],
+    depends: [fribidi_unicode_version_h],
+    output: gen_man_pages,
+    install_dir: join_paths(get_option('prefix'), get_option('mandir'), 'man3'),
+    install: true)
+endif
index 0ac83c2..a5df44f 100644 (file)
@@ -220,7 +220,6 @@ AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BUILD_EXEEXT = @BUILD_EXEEXT@
 BUILD_OBJEXT = @BUILD_OBJEXT@
-C2MAN = @C2MAN@
 CC = $(CC_FOR_BUILD)
 CCDEPMODE = @CCDEPMODE@
 CC_FOR_BUILD = @CC_FOR_BUILD@
index f2ef1fa..5f3506f 100644 (file)
@@ -1,6 +1,6 @@
-# ArabicShaping-10.0.0.txt
-# Date: 2017-02-16, 00:00:00 GMT [RP, KW]
-# © 2017 Unicode®, Inc.
+# ArabicShaping-11.0.0.txt
+# Date: 2018-02-21, 14:50:00 GMT [KW, RP]
+# © 2018 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -8,22 +8,24 @@
 # Unicode Character Database.
 #
 # This file defines the Joining_Type and Joining_Group property
-# values for Arabic, Syriac, N'Ko, Mandaic, and Manichaean positional
+# values for Arabic, Syriac, N'Ko, Mandaic, Manichaean,
+# Hanifi Rohingya, and Sogdian positional
 # shaping, repeating in machine readable form the information
 # exemplified in Tables 9-3, 9-8, 9-9, 9-10, 9-14, 9-15, 9-16, 9-19,
-# 9-20, 10-4, 10-5, 10-6, 10-7, and 19-5 of The Unicode Standard core
+# 9-20, 10-4, 10-5, 10-6, 10-7, 14-10, 16-16, and 19-5 of The Unicode Standard core
 # specification. This file also defines Joining_Type values for
 # Mongolian, Phags-pa, Psalter Pahlavi, and Adlam positional shaping,
 # which are not listed in tables in the standard.
 #
-# See Sections 9.2, 9.3, 9.5, 10.5, 10.6, 13.4, 14.3, 19.4, and 19.9
+# See Sections 9.2, 9.3, 9.5, 10.5, 10.6, 13.4, 14.3, 14.10, 16.13, 19.4, and 19.9
 # of The Unicode Standard core specification for more information.
 #
 # Each line contains four fields, separated by a semicolon.
 #
 # Field 0: the code point, in 4-digit hexadecimal
 #   form, of an Arabic, Syriac, N'Ko, Mandaic, Mongolian,
-#   Phags-pa, Manichaean, Psalter Pahlavi, or other character.
+#   Phags-pa, Manichaean, Psalter Pahlavi, Hanifi Rohingya, Sogdian,
+#   or other character.
 #
 # Field 1: gives a short schematic name for that character.
 #   The schematic name is descriptive of the shape, based as
 # joining group values will be defined only if an explicit proposal
 # to define those values exactly has been approved by the UTC. This
 # is the convention exemplified by the N'Ko, Mandaic, Mongolian,
-# Phags-pa, and Psalter Pahlavi scripts. Only the Arabic,
-# Manichaean, and Syriac scripts currently have explicit joining
-# group values defined.
+# Phags-pa, Psalter Pahlavi, and Sogdian scripts.
+# Only the Arabic, Manichaean, and Syriac scripts currently have
+# explicit joining group values defined for all characters, including
+# those which have only a single character in a particular Joining_Group
+# class. Hanifi Rohingya has explicit Joining_Group values assigned only for
+# the few characters which share a particular Joining_Group class, but
+# assigns jg=No_Joining_Group to all the singletons.
 #
 # Note: Code points that are not explicitly listed in this file are
 # either of joining type T or U:
 
 # Syriac Characters
 
+070F; SYRIAC ABBREVIATION MARK; T; No_Joining_Group
 0710; ALAPH; R; ALAPH
 0712; BETH; D; BETH
 0713; GAMAL; D; GAMAL
 1875; MONGOLIAN MANCHU RA; D; No_Joining_Group
 1876; MONGOLIAN MANCHU FA; D; No_Joining_Group
 1877; MONGOLIAN MANCHU ZHA; D; No_Joining_Group
+1878; MONGOLIAN MANCHU CHA WITH 2 DOTS; D; No_Joining_Group
 1880; MONGOLIAN ALI GALI ANUSVARA ONE; U; No_Joining_Group
 1881; MONGOLIAN ALI GALI VISARGA ONE; U; No_Joining_Group
 1882; MONGOLIAN ALI GALI DAMARU; U; No_Joining_Group
@@ -735,6 +743,82 @@ A873; PHAGS-PA CANDRABINDU; U; No_Joining_Group
 10BAE; PSALTER PAHLAVI TWENTY; D; No_Joining_Group
 10BAF; PSALTER PAHLAVI HUNDRED; U; No_Joining_Group
 
+# Hanifi Rohingya Characters
+
+10D00; HANIFI ROHINGYA A; L; No_Joining_Group
+10D01; HANIFI ROHINGYA BA; D; No_Joining_Group
+10D02; HANIFI ROHINGYA PA; D; HANIFI ROHINGYA PA
+10D03; HANIFI ROHINGYA TA; D; No_Joining_Group
+10D04; HANIFI ROHINGYA TTA; D; No_Joining_Group
+10D05; HANIFI ROHINGYA JA; D; No_Joining_Group
+10D06; HANIFI ROHINGYA CA; D; No_Joining_Group
+10D07; HANIFI ROHINGYA HA; D; No_Joining_Group
+10D08; HANIFI ROHINGYA KHA; D; No_Joining_Group
+10D09; HANIFI ROHINGYA PA WITH DOT ABOVE; D; HANIFI ROHINGYA PA
+10D0A; HANIFI ROHINGYA DA; D; No_Joining_Group
+10D0B; HANIFI ROHINGYA DDA; D; No_Joining_Group
+10D0C; HANIFI ROHINGYA RA; D; No_Joining_Group
+10D0D; HANIFI ROHINGYA RRA; D; No_Joining_Group
+10D0E; HANIFI ROHINGYA ZA; D; No_Joining_Group
+10D0F; HANIFI ROHINGYA SA; D; No_Joining_Group
+10D10; HANIFI ROHINGYA SHA; D; No_Joining_Group
+10D11; HANIFI ROHINGYA KA; D; No_Joining_Group
+10D12; HANIFI ROHINGYA GA; D; No_Joining_Group
+10D13; HANIFI ROHINGYA LA; D; No_Joining_Group
+10D14; HANIFI ROHINGYA MA; D; No_Joining_Group
+10D15; HANIFI ROHINGYA NA; D; No_Joining_Group
+10D16; HANIFI ROHINGYA WA; D; No_Joining_Group
+10D17; HANIFI ROHINGYA KINNA WA; D; No_Joining_Group
+10D18; HANIFI ROHINGYA YA; D; No_Joining_Group
+10D19; HANIFI ROHINGYA KINNA YA; D; HANIFI ROHINGYA KINNA YA
+10D1A; HANIFI ROHINGYA NGA; D; No_Joining_Group
+10D1B; HANIFI ROHINGYA NYA; D; No_Joining_Group
+10D1C; HANIFI ROHINGYA PA WITH 3 DOTS ABOVE; D; HANIFI ROHINGYA PA
+10D1D; HANIFI ROHINGYA VOWEL A; D; No_Joining_Group
+10D1E; HANIFI ROHINGYA DOTLESS KINNA YA WITH LEFT-FACING HOOK BELOW; D; HANIFI ROHINGYA KINNA YA
+10D1F; HANIFI ROHINGYA VOWEL U; D; No_Joining_Group
+10D20; HANIFI ROHINGYA DOTLESS KINNA YA WITH RIGHT-FACING HOOK BELOW; D; HANIFI ROHINGYA KINNA YA
+10D21; HANIFI ROHINGYA VOWEL O; D; No_Joining_Group
+10D22; HANIFI ROHINGYA SAKIN; R; No_Joining_Group
+10D23; HANIFI ROHINGYA DOTLESS KINNA YA WITH DOT ABOVE; D; HANIFI ROHINGYA KINNA YA
+
+# Sogdian Characters
+
+10F30; SOGDIAN ALEPH; D; No_Joining_Group
+10F31; SOGDIAN BETH; D; No_Joining_Group
+10F32; SOGDIAN GIMEL; D; No_Joining_Group
+10F33; SOGDIAN HE; R; No_Joining_Group
+10F34; SOGDIAN WAW; D; No_Joining_Group
+10F35; SOGDIAN ZAYIN; D; No_Joining_Group
+10F36; SOGDIAN HETH; D; No_Joining_Group
+10F37; SOGDIAN YODH; D; No_Joining_Group
+10F38; SOGDIAN KAPH; D; No_Joining_Group
+10F39; SOGDIAN LAMEDH; D; No_Joining_Group
+10F3A; SOGDIAN MEM; D; No_Joining_Group
+10F3B; SOGDIAN NUN; D; No_Joining_Group
+10F3C; SOGDIAN SAMEKH; D; No_Joining_Group
+10F3D; SOGDIAN AYIN; D; No_Joining_Group
+10F3E; SOGDIAN PE; D; No_Joining_Group
+10F3F; SOGDIAN SADHE; D; No_Joining_Group
+10F40; SOGDIAN RESH-AYIN; D; No_Joining_Group
+10F41; SOGDIAN SHIN; D; No_Joining_Group
+10F42; SOGDIAN TAW; D; No_Joining_Group
+10F43; SOGDIAN FETH; D; No_Joining_Group
+10F44; SOGDIAN LESH; D; No_Joining_Group
+10F45; SOGDIAN INDEPENDENT SHIN; U; No_Joining_Group
+10F51; SOGDIAN ONE; D; No_Joining_Group
+10F52; SOGDIAN TEN; D; No_Joining_Group
+10F53; SOGDIAN TWENTY; D; No_Joining_Group
+10F54; SOGDIAN ONE HUNDRED; R; No_Joining_Group
+
+# Kaithi Number Signs
+# These are prepended concatenation marks, comparable
+# to the number signs in the Arabic script.
+# Listed here for consistency in property values.
+
+110BD; KAITHI NUMBER SIGN; U; No_Joining_Group
+110CD; KAITHI NUMBER SIGN ABOVE; U; No_Joining_Group
+
 # Adlam Characters
 
 1E900;ADLAM CAPITAL ALIF; D; No_Joining_Group
index 2114e63..c505861 100644 (file)
@@ -1,6 +1,6 @@
-# BidiBrackets-10.0.0.txt
-# Date: 2017-04-12, 17:30:00 GMT [AG, LI, KW]
-# © 2017 Unicode®, Inc.
+# BidiBrackets-11.0.0.txt
+# Date: 2018-02-18, 05:50:00 GMT [AG, LI, KW]
+# © 2018 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
index cbb61c4..b3135c0 100644 (file)
@@ -1,6 +1,6 @@
-# BidiMirroring-10.0.0.txt
-# Date: 2017-04-12, 17:30:00 GMT [KW, LI]
-# © 2017 Unicode®, Inc.
+# BidiMirroring-11.0.0.txt
+# Date: 2018-05-07, 18:02:00 GMT [KW, LI, RP]
+# © 2018 Unicode®, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # Unicode Character Database
@@ -15,7 +15,7 @@
 # value, for which there is another Unicode character that typically has a glyph
 # that is the mirror image of the original character's glyph.
 #
-# The repertoire covered by the file is Unicode 10.0.0.
+# The repertoire covered by the file is Unicode 11.0.0.
 #
 # The file contains a list of lines with mappings from one code point
 # to another one for character-based mirroring.
 #
 # This file was originally created by Markus Scherer.
 # Extended for Unicode 3.2, 4.0, 4.1, 5.0, 5.1, 5.2, and 6.0 by Ken Whistler,
-# and for subsequent versions by Ken Whistler and Laurentiu Iancu.
+# and for subsequent versions by Ken Whistler, Laurentiu Iancu, and Roozbeh Pournader.
+#
+# Historical and Compatibility Information:
+#
+# The OpenType Mirroring Pairs List (OMPL) is frozen to match the
+# Unicode 5.1 version of the Bidi_Mirroring_Glyph property (2008).
+# See https://www.microsoft.com/typography/otspec/ompl.txt
+#
+# The Unicode 6.1 version of the Bidi_Mirroring_Glyph property (2011)
+# added one mirroring pair: 27CB <--> 27CD.
+#
+# The Unicode 11.0 version of the Bidi_Mirroring_Glyph property (2018)
+# underwent a substantial revision, to formally recognize all of the
+# exact mirroring pairs and "BEST FIT" mirroring pairs that had been
+# added after the freezing of the OMPL list. As a result, starting
+# with Unicode 11.0, the bmg mapping values more accurately reflect
+# the current status of glyphs for Bidi_Mirrored characters in
+# the Unicode Standard, but this listing now extends significantly
+# beyond the frozen OMPL list. Implementers should be aware of this
+# intentional distinction.
 #
 # ############################################################
 #
 220C; 2209 # DOES NOT CONTAIN AS MEMBER
 220D; 220A # SMALL CONTAINS AS MEMBER
 2215; 29F5 # DIVISION SLASH
+221F; 2BFE # RIGHT ANGLE
+2220; 29A3 # ANGLE
+2221; 299B # MEASURED ANGLE
+2222; 29A0 # SPHERICAL ANGLE
+2224; 2AEE # DOES NOT DIVIDE
 223C; 223D # TILDE OPERATOR
 223D; 223C # REVERSED TILDE
 2243; 22CD # ASYMPTOTICALLY EQUAL TO
+2245; 224C # APPROXIMATELY EQUAL TO
+224C; 2245 # ALL EQUAL TO
 2252; 2253 # APPROXIMATELY EQUAL TO OR THE IMAGE OF
 2253; 2252 # IMAGE OF OR APPROXIMATELY EQUAL TO
 2254; 2255 # COLON EQUALS
 22B5; 22B4 # CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
 22B6; 22B7 # ORIGINAL OF
 22B7; 22B6 # IMAGE OF
+22B8; 27DC # MULTIMAP
 22C9; 22CA # LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
 22CA; 22C9 # RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
 22CB; 22CC # LEFT SEMIDIRECT PRODUCT
 27CD; 27CB # MATHEMATICAL FALLING DIAGONAL
 27D5; 27D6 # LEFT OUTER JOIN
 27D6; 27D5 # RIGHT OUTER JOIN
+27DC; 22B8 # LEFT MULTIMAP
 27DD; 27DE # LONG RIGHT TACK
 27DE; 27DD # LONG LEFT TACK
 27E2; 27E3 # WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK
 2996; 2995 # DOUBLE RIGHT ARC LESS-THAN BRACKET
 2997; 2998 # LEFT BLACK TORTOISE SHELL BRACKET
 2998; 2997 # RIGHT BLACK TORTOISE SHELL BRACKET
+299B; 2221 # MEASURED ANGLE OPENING LEFT
+29A0; 2222 # SPHERICAL ANGLE OPENING LEFT
+29A3; 2220 # REVERSED ANGLE
+29A4; 29A5 # ANGLE WITH UNDERBAR
+29A5; 29A4 # REVERSED ANGLE WITH UNDERBAR
+29A8; 29A9 # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
+29A9; 29A8 # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
+29AA; 29AB # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
+29AB; 29AA # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
+29AC; 29AD # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
+29AD; 29AC # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
+29AE; 29AF # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
+29AF; 29AE # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
 29B8; 2298 # CIRCLED REVERSE SOLIDUS
 29C0; 29C1 # CIRCLED LESS-THAN
 29C1; 29C0 # CIRCLED GREATER-THAN
 29D9; 29D8 # RIGHT WIGGLY FENCE
 29DA; 29DB # LEFT DOUBLE WIGGLY FENCE
 29DB; 29DA # RIGHT DOUBLE WIGGLY FENCE
+29E8; 29E9 # DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK
+29E9; 29E8 # DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
 29F5; 2215 # REVERSE SOLIDUS OPERATOR
 29F8; 29F9 # BIG SOLIDUS
 29F9; 29F8 # BIG REVERSE SOLIDUS
 2A65; 2A64 # Z NOTATION RANGE ANTIRESTRICTION
 2A79; 2A7A # LESS-THAN WITH CIRCLE INSIDE
 2A7A; 2A79 # GREATER-THAN WITH CIRCLE INSIDE
+2A7B; 2A7C # [BEST FIT] LESS-THAN WITH QUESTION MARK ABOVE
+2A7C; 2A7B # [BEST FIT] GREATER-THAN WITH QUESTION MARK ABOVE
 2A7D; 2A7E # LESS-THAN OR SLANTED EQUAL TO
 2A7E; 2A7D # GREATER-THAN OR SLANTED EQUAL TO
 2A7F; 2A80 # LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
 2A82; 2A81 # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
 2A83; 2A84 # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
 2A84; 2A83 # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
+2A85; 2A86 # [BEST FIT] LESS-THAN OR APPROXIMATE
+2A86; 2A85 # [BEST FIT] GREATER-THAN OR APPROXIMATE
+2A87; 2A88 # [BEST FIT] LESS-THAN AND SINGLE-LINE NOT EQUAL TO
+2A88; 2A87 # [BEST FIT] GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
+2A89; 2A8A # [BEST FIT] LESS-THAN AND NOT APPROXIMATE
+2A8A; 2A89 # [BEST FIT] GREATER-THAN AND NOT APPROXIMATE
 2A8B; 2A8C # LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
 2A8C; 2A8B # GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
+2A8D; 2A8E # [BEST FIT] LESS-THAN ABOVE SIMILAR OR EQUAL
+2A8E; 2A8D # [BEST FIT] GREATER-THAN ABOVE SIMILAR OR EQUAL
+2A8F; 2A90 # [BEST FIT] LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
+2A90; 2A8F # [BEST FIT] GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
 2A91; 2A92 # LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
 2A92; 2A91 # GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
 2A93; 2A94 # LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
 2A9A; 2A99 # DOUBLE-LINE EQUAL TO OR GREATER-THAN
 2A9B; 2A9C # DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN
 2A9C; 2A9B # DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN
+2A9D; 2A9E # [BEST FIT] SIMILAR OR LESS-THAN
+2A9E; 2A9D # [BEST FIT] SIMILAR OR GREATER-THAN
+2A9F; 2AA0 # [BEST FIT] SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
+2AA0; 2A9F # [BEST FIT] SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
 2AA1; 2AA2 # DOUBLE NESTED LESS-THAN
 2AA2; 2AA1 # DOUBLE NESTED GREATER-THAN
 2AA6; 2AA7 # LESS-THAN CLOSED BY CURVE
 2AAD; 2AAC # LARGER THAN OR EQUAL TO
 2AAF; 2AB0 # PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
 2AB0; 2AAF # SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
+2AB1; 2AB2 # [BEST FIT] PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO
+2AB2; 2AB1 # [BEST FIT] SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO
 2AB3; 2AB4 # PRECEDES ABOVE EQUALS SIGN
 2AB4; 2AB3 # SUCCEEDS ABOVE EQUALS SIGN
+2AB5; 2AB6 # [BEST FIT] PRECEDES ABOVE NOT EQUAL TO
+2AB6; 2AB5 # [BEST FIT] SUCCEEDS ABOVE NOT EQUAL TO
+2AB7; 2AB8 # [BEST FIT] PRECEDES ABOVE ALMOST EQUAL TO
+2AB8; 2AB7 # [BEST FIT] SUCCEEDS ABOVE ALMOST EQUAL TO
+2AB9; 2ABA # [BEST FIT] PRECEDES ABOVE NOT ALMOST EQUAL TO
+2ABA; 2AB9 # [BEST FIT] SUCCEEDS ABOVE NOT ALMOST EQUAL TO
 2ABB; 2ABC # DOUBLE PRECEDES
 2ABC; 2ABB # DOUBLE SUCCEEDS
 2ABD; 2ABE # SUBSET WITH DOT
 2AC4; 2AC3 # SUPERSET OF OR EQUAL TO WITH DOT ABOVE
 2AC5; 2AC6 # SUBSET OF ABOVE EQUALS SIGN
 2AC6; 2AC5 # SUPERSET OF ABOVE EQUALS SIGN
+2AC7; 2AC8 # [BEST FIT] SUBSET OF ABOVE TILDE OPERATOR
+2AC8; 2AC7 # [BEST FIT] SUPERSET OF ABOVE TILDE OPERATOR
+2AC9; 2ACA # [BEST FIT] SUBSET OF ABOVE ALMOST EQUAL TO
+2ACA; 2AC9 # [BEST FIT] SUPERSET OF ABOVE ALMOST EQUAL TO
+2ACB; 2ACC # [BEST FIT] SUBSET OF ABOVE NOT EQUAL TO
+2ACC; 2ACB # [BEST FIT] SUPERSET OF ABOVE NOT EQUAL TO
 2ACD; 2ACE # SQUARE LEFT OPEN BOX OPERATOR
 2ACE; 2ACD # SQUARE RIGHT OPEN BOX OPERATOR
 2ACF; 2AD0 # CLOSED SUBSET
 2AE5; 22AB # DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE
 2AEC; 2AED # DOUBLE STROKE NOT SIGN
 2AED; 2AEC # REVERSED DOUBLE STROKE NOT SIGN
+2AEE; 2224 # DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
 2AF7; 2AF8 # TRIPLE NESTED LESS-THAN
 2AF8; 2AF7 # TRIPLE NESTED GREATER-THAN
 2AF9; 2AFA # DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO
 2AFA; 2AF9 # DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO
+2BFE; 221F # REVERSED RIGHT ANGLE
 2E02; 2E03 # LEFT SUBSTITUTION BRACKET
 2E03; 2E02 # RIGHT SUBSTITUTION BRACKET
 2E04; 2E05 # LEFT DOTTED SUBSTITUTION BRACKET
@@ -432,11 +507,6 @@ FF63; FF62 # [BEST FIT] HALFWIDTH RIGHT CORNER BRACKET
 # 221B; CUBE ROOT
 # 221C; FOURTH ROOT
 # 221D; PROPORTIONAL TO
-# 221F; RIGHT ANGLE
-# 2220; ANGLE
-# 2221; MEASURED ANGLE
-# 2222; SPHERICAL ANGLE
-# 2224; DOES NOT DIVIDE
 # 2226; NOT PARALLEL TO
 # 222B; INTEGRAL
 # 222C; DOUBLE INTEGRAL
@@ -455,14 +525,12 @@ FF63; FF62 # [BEST FIT] HALFWIDTH RIGHT CORNER BRACKET
 # 2241; NOT TILDE
 # 2242; MINUS TILDE
 # 2244; NOT ASYMPTOTICALLY EQUAL TO
-# 2245; APPROXIMATELY EQUAL TO
 # 2246; APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
 # 2247; NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
 # 2248; ALMOST EQUAL TO
 # 2249; NOT ALMOST EQUAL TO
 # 224A; ALMOST EQUAL OR EQUAL TO
 # 224B; TRIPLE TILDE
-# 224C; ALL EQUAL TO
 # 225F; QUESTIONED EQUAL TO
 # 2260; NOT EQUAL TO
 # 2262; NOT IDENTICAL TO
@@ -473,7 +541,6 @@ FF63; FF62 # [BEST FIT] HALFWIDTH RIGHT CORNER BRACKET
 # 22AD; NOT TRUE
 # 22AE; DOES NOT FORCE
 # 22AF; NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
-# 22B8; MULTIMAP
 # 22BE; RIGHT ANGLE WITH ARC
 # 22BF; RIGHT TRIANGLE
 # 22F5; ELEMENT OF WITH DOT ABOVE
@@ -486,28 +553,13 @@ FF63; FF62 # [BEST FIT] HALFWIDTH RIGHT CORNER BRACKET
 # 27CC; LONG DIVISION
 # 27D3; LOWER RIGHT CORNER WITH DOT
 # 27D4; UPPER LEFT CORNER WITH DOT
-# 27DC; LEFT MULTIMAP
-# 299B; MEASURED ANGLE OPENING LEFT
 # 299C; RIGHT ANGLE VARIANT WITH SQUARE
 # 299D; MEASURED RIGHT ANGLE WITH DOT
 # 299E; ANGLE WITH S INSIDE
 # 299F; ACUTE ANGLE
-# 29A0; SPHERICAL ANGLE OPENING LEFT
-# 29A1; SPHERICAL ANGLE OPENING UP
 # 29A2; TURNED ANGLE
-# 29A3; REVERSED ANGLE
-# 29A4; ANGLE WITH UNDERBAR
-# 29A5; REVERSED ANGLE WITH UNDERBAR
 # 29A6; OBLIQUE ANGLE OPENING UP
 # 29A7; OBLIQUE ANGLE OPENING DOWN
-# 29A8; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
-# 29A9; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
-# 29AA; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
-# 29AB; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
-# 29AC; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
-# 29AD; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
-# 29AE; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
-# 29AF; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
 # 29C2; CIRCLE WITH SMALL CIRCLE TO THE RIGHT
 # 29C3; CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT
 # 29C9; TWO JOINED SQUARES
@@ -517,8 +569,6 @@ FF63; FF62 # [BEST FIT] HALFWIDTH RIGHT CORNER BRACKET
 # 29E3; EQUALS SIGN AND SLANTED PARALLEL
 # 29E4; EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
 # 29E5; IDENTICAL TO AND SLANTED PARALLEL
-# 29E8; DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK
-# 29E9; DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
 # 29F4; RULE-DELAYED
 # 29F6; SOLIDUS WITH OVERBAR
 # 29F7; REVERSE SOLIDUS WITH HORIZONTAL STROKE
@@ -559,41 +609,10 @@ FF63; FF62 # [BEST FIT] HALFWIDTH RIGHT CORNER BRACKET
 # 2A70; APPROXIMATELY EQUAL OR EQUAL TO
 # 2A73; EQUALS SIGN ABOVE TILDE OPERATOR
 # 2A74; DOUBLE COLON EQUAL
-# 2A7B; LESS-THAN WITH QUESTION MARK ABOVE
-# 2A7C; GREATER-THAN WITH QUESTION MARK ABOVE
-# 2A85; LESS-THAN OR APPROXIMATE
-# 2A86; GREATER-THAN OR APPROXIMATE
-# 2A87; LESS-THAN AND SINGLE-LINE NOT EQUAL TO
-# 2A88; GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
-# 2A89; LESS-THAN AND NOT APPROXIMATE
-# 2A8A; GREATER-THAN AND NOT APPROXIMATE
-# 2A8D; LESS-THAN ABOVE SIMILAR OR EQUAL
-# 2A8E; GREATER-THAN ABOVE SIMILAR OR EQUAL
-# 2A8F; LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
-# 2A90; GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
-# 2A9D; SIMILAR OR LESS-THAN
-# 2A9E; SIMILAR OR GREATER-THAN
-# 2A9F; SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
-# 2AA0; SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
 # 2AA3; DOUBLE NESTED LESS-THAN WITH UNDERBAR
-# 2AB1; PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO
-# 2AB2; SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO
-# 2AB5; PRECEDES ABOVE NOT EQUAL TO
-# 2AB6; SUCCEEDS ABOVE NOT EQUAL TO
-# 2AB7; PRECEDES ABOVE ALMOST EQUAL TO
-# 2AB8; SUCCEEDS ABOVE ALMOST EQUAL TO
-# 2AB9; PRECEDES ABOVE NOT ALMOST EQUAL TO
-# 2ABA; SUCCEEDS ABOVE NOT ALMOST EQUAL TO
-# 2AC7; SUBSET OF ABOVE TILDE OPERATOR
-# 2AC8; SUPERSET OF ABOVE TILDE OPERATOR
-# 2AC9; SUBSET OF ABOVE ALMOST EQUAL TO
-# 2ACA; SUPERSET OF ABOVE ALMOST EQUAL TO
-# 2ACB; SUBSET OF ABOVE NOT EQUAL TO
-# 2ACC; SUPERSET OF ABOVE NOT EQUAL TO
 # 2ADC; FORKING
 # 2AE2; VERTICAL BAR TRIPLE RIGHT TURNSTILE
 # 2AE6; LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
-# 2AEE; DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
 # 2AF3; PARALLEL WITH TILDE OPERATOR
 # 2AFB; TRIPLE SOLIDUS BINARY RELATION
 # 2AFD; DOUBLE SOLIDUS OPERATOR
index 1ba7a9d..80e957c 100644 (file)
@@ -1,6 +1,7 @@
 # Unicode Character Database
-# Date: 2017-06-18, 23:32:00 GMT [KW]
-# © 2017 Unicode®, Inc.
+# Date: 2018-06-04, 17:57:00 GMT [KW]
+# © 2018 Unicode®, Inc.
+# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # For documentation, see the following:
@@ -8,7 +9,7 @@
 # UAX #38, "Unicode Han Database (Unihan)"
 # UAX #44, "Unicode Character Database."
 #
-# The UAXes can be accessed at http://www.unicode.org/versions/Unicode10.0.0/
+# The UAXes can be accessed at http://www.unicode.org/versions/Unicode11.0.0/
 
 This directory contains the final data files
-for the Unicode Character Database, for Version 10.0.0 of the Unicode Standard.
+for the Unicode Character Database, for Version 11.0.0 of the Unicode Standard.
index d89c64f..ec32faf 100644 (file)
 055D;ARMENIAN COMMA;Po;0;L;;;;;N;;;;;
 055E;ARMENIAN QUESTION MARK;Po;0;L;;;;;N;;;;;
 055F;ARMENIAN ABBREVIATION MARK;Po;0;L;;;;;N;;;;;
+0560;ARMENIAN SMALL LETTER TURNED AYB;Ll;0;L;;;;;N;;;;;
 0561;ARMENIAN SMALL LETTER AYB;Ll;0;L;;;;;N;;;0531;;0531
 0562;ARMENIAN SMALL LETTER BEN;Ll;0;L;;;;;N;;;0532;;0532
 0563;ARMENIAN SMALL LETTER GIM;Ll;0;L;;;;;N;;;0533;;0533
 0585;ARMENIAN SMALL LETTER OH;Ll;0;L;;;;;N;;;0555;;0555
 0586;ARMENIAN SMALL LETTER FEH;Ll;0;L;;;;;N;;;0556;;0556
 0587;ARMENIAN SMALL LIGATURE ECH YIWN;Ll;0;L;<compat> 0565 0582;;;;N;;;;;
+0588;ARMENIAN SMALL LETTER YI WITH STROKE;Ll;0;L;;;;;N;;;;;
 0589;ARMENIAN FULL STOP;Po;0;L;;;;;N;ARMENIAN PERIOD;;;;
 058A;ARMENIAN HYPHEN;Pd;0;ON;;;;;N;;;;;
 058D;RIGHT-FACING ARMENIAN ETERNITY SIGN;So;0;ON;;;;;N;;;;;
 05E8;HEBREW LETTER RESH;Lo;0;R;;;;;N;;;;;
 05E9;HEBREW LETTER SHIN;Lo;0;R;;;;;N;;;;;
 05EA;HEBREW LETTER TAV;Lo;0;R;;;;;N;;;;;
+05EF;HEBREW YOD TRIANGLE;Lo;0;R;;;;;N;;;;;
 05F0;HEBREW LIGATURE YIDDISH DOUBLE VAV;Lo;0;R;;;;;N;HEBREW LETTER DOUBLE VAV;;;;
 05F1;HEBREW LIGATURE YIDDISH VAV YOD;Lo;0;R;;;;;N;HEBREW LETTER VAV YOD;;;;
 05F2;HEBREW LIGATURE YIDDISH DOUBLE YOD;Lo;0;R;;;;;N;HEBREW LETTER DOUBLE YOD;;;;
 07F8;NKO COMMA;Po;0;ON;;;;;N;;;;;
 07F9;NKO EXCLAMATION MARK;Po;0;ON;;;;;N;;;;;
 07FA;NKO LAJANYALAN;Lm;0;R;;;;;N;;;;;
+07FD;NKO DANTAYALAN;Mn;220;NSM;;;;;N;;;;;
+07FE;NKO DOROME SIGN;Sc;0;R;;;;;N;;;;;
+07FF;NKO TAMAN SIGN;Sc;0;R;;;;;N;;;;;
 0800;SAMARITAN LETTER ALAF;Lo;0;R;;;;;N;;;;;
 0801;SAMARITAN LETTER BIT;Lo;0;R;;;;;N;;;;;
 0802;SAMARITAN LETTER GAMAN;Lo;0;R;;;;;N;;;;;
 08BB;ARABIC LETTER AFRICAN FEH;Lo;0;AL;;;;;N;;;;;
 08BC;ARABIC LETTER AFRICAN QAF;Lo;0;AL;;;;;N;;;;;
 08BD;ARABIC LETTER AFRICAN NOON;Lo;0;AL;;;;;N;;;;;
+08D3;ARABIC SMALL LOW WAW;Mn;220;NSM;;;;;N;;;;;
 08D4;ARABIC SMALL HIGH WORD AR-RUB;Mn;230;NSM;;;;;N;;;;;
 08D5;ARABIC SMALL HIGH SAD;Mn;230;NSM;;;;;N;;;;;
 08D6;ARABIC SMALL HIGH AIN;Mn;230;NSM;;;;;N;;;;;
 09FB;BENGALI GANDA MARK;Sc;0;ET;;;;;N;;;;;
 09FC;BENGALI LETTER VEDIC ANUSVARA;Lo;0;L;;;;;N;;;;;
 09FD;BENGALI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
+09FE;BENGALI SANDHI MARK;Mn;230;NSM;;;;;N;;;;;
 0A01;GURMUKHI SIGN ADAK BINDI;Mn;0;NSM;;;;;N;;;;;
 0A02;GURMUKHI SIGN BINDI;Mn;0;NSM;;;;;N;;;;;
 0A03;GURMUKHI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
 0A73;GURMUKHI URA;Lo;0;L;;;;;N;;;;;
 0A74;GURMUKHI EK ONKAR;Lo;0;L;;;;;N;;;;;
 0A75;GURMUKHI SIGN YAKASH;Mn;0;NSM;;;;;N;;;;;
+0A76;GURMUKHI ABBREVIATION SIGN;Po;0;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;;;;;
 0C01;TELUGU SIGN CANDRABINDU;Mc;0;L;;;;;N;;;;;
 0C02;TELUGU SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
 0C03;TELUGU SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+0C04;TELUGU SIGN COMBINING ANUSVARA ABOVE;Mn;0;NSM;;;;;N;;;;;
 0C05;TELUGU LETTER A;Lo;0;L;;;;;N;;;;;
 0C06;TELUGU LETTER AA;Lo;0;L;;;;;N;;;;;
 0C07;TELUGU LETTER I;Lo;0;L;;;;;N;;;;;
 0C81;KANNADA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
 0C82;KANNADA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
 0C83;KANNADA SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+0C84;KANNADA SIGN SIDDHAM;Po;0;L;;;;;N;;;;;
 0C85;KANNADA LETTER A;Lo;0;L;;;;;N;;;;;
 0C86;KANNADA LETTER AA;Lo;0;L;;;;;N;;;;;
 0C87;KANNADA LETTER I;Lo;0;L;;;;;N;;;;;
 10C5;GEORGIAN CAPITAL LETTER HOE;Lu;0;L;;;;;N;;;;2D25;
 10C7;GEORGIAN CAPITAL LETTER YN;Lu;0;L;;;;;N;;;;2D27;
 10CD;GEORGIAN CAPITAL LETTER AEN;Lu;0;L;;;;;N;;;;2D2D;
-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;;;;
-10F7;GEORGIAN LETTER YN;Lo;0;L;;;;;N;;;;;
-10F8;GEORGIAN LETTER ELIFI;Lo;0;L;;;;;N;;;;;
-10F9;GEORGIAN LETTER TURNED GAN;Lo;0;L;;;;;N;;;;;
-10FA;GEORGIAN LETTER AIN;Lo;0;L;;;;;N;;;;;
+10D0;GEORGIAN LETTER AN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER AN;;1C90;;10D0
+10D1;GEORGIAN LETTER BAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER BAN;;1C91;;10D1
+10D2;GEORGIAN LETTER GAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER GAN;;1C92;;10D2
+10D3;GEORGIAN LETTER DON;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER DON;;1C93;;10D3
+10D4;GEORGIAN LETTER EN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER EN;;1C94;;10D4
+10D5;GEORGIAN LETTER VIN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER VIN;;1C95;;10D5
+10D6;GEORGIAN LETTER ZEN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER ZEN;;1C96;;10D6
+10D7;GEORGIAN LETTER TAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER TAN;;1C97;;10D7
+10D8;GEORGIAN LETTER IN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER IN;;1C98;;10D8
+10D9;GEORGIAN LETTER KAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER KAN;;1C99;;10D9
+10DA;GEORGIAN LETTER LAS;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER LAS;;1C9A;;10DA
+10DB;GEORGIAN LETTER MAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER MAN;;1C9B;;10DB
+10DC;GEORGIAN LETTER NAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER NAR;;1C9C;;10DC
+10DD;GEORGIAN LETTER ON;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER ON;;1C9D;;10DD
+10DE;GEORGIAN LETTER PAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER PAR;;1C9E;;10DE
+10DF;GEORGIAN LETTER ZHAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER ZHAR;;1C9F;;10DF
+10E0;GEORGIAN LETTER RAE;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER RAE;;1CA0;;10E0
+10E1;GEORGIAN LETTER SAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER SAN;;1CA1;;10E1
+10E2;GEORGIAN LETTER TAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER TAR;;1CA2;;10E2
+10E3;GEORGIAN LETTER UN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER UN;;1CA3;;10E3
+10E4;GEORGIAN LETTER PHAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER PHAR;;1CA4;;10E4
+10E5;GEORGIAN LETTER KHAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER KHAR;;1CA5;;10E5
+10E6;GEORGIAN LETTER GHAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER GHAN;;1CA6;;10E6
+10E7;GEORGIAN LETTER QAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER QAR;;1CA7;;10E7
+10E8;GEORGIAN LETTER SHIN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER SHIN;;1CA8;;10E8
+10E9;GEORGIAN LETTER CHIN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER CHIN;;1CA9;;10E9
+10EA;GEORGIAN LETTER CAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER CAN;;1CAA;;10EA
+10EB;GEORGIAN LETTER JIL;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER JIL;;1CAB;;10EB
+10EC;GEORGIAN LETTER CIL;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER CIL;;1CAC;;10EC
+10ED;GEORGIAN LETTER CHAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER CHAR;;1CAD;;10ED
+10EE;GEORGIAN LETTER XAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER XAN;;1CAE;;10EE
+10EF;GEORGIAN LETTER JHAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER JHAN;;1CAF;;10EF
+10F0;GEORGIAN LETTER HAE;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER HAE;;1CB0;;10F0
+10F1;GEORGIAN LETTER HE;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER HE;;1CB1;;10F1
+10F2;GEORGIAN LETTER HIE;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER HIE;;1CB2;;10F2
+10F3;GEORGIAN LETTER WE;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER WE;;1CB3;;10F3
+10F4;GEORGIAN LETTER HAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER HAR;;1CB4;;10F4
+10F5;GEORGIAN LETTER HOE;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER HOE;;1CB5;;10F5
+10F6;GEORGIAN LETTER FI;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER FI;;1CB6;;10F6
+10F7;GEORGIAN LETTER YN;Ll;0;L;;;;;N;;;1CB7;;10F7
+10F8;GEORGIAN LETTER ELIFI;Ll;0;L;;;;;N;;;1CB8;;10F8
+10F9;GEORGIAN LETTER TURNED GAN;Ll;0;L;;;;;N;;;1CB9;;10F9
+10FA;GEORGIAN LETTER AIN;Ll;0;L;;;;;N;;;1CBA;;10FA
 10FB;GEORGIAN PARAGRAPH SEPARATOR;Po;0;L;;;;;N;;;;;
 10FC;MODIFIER LETTER GEORGIAN NAR;Lm;0;L;<super> 10DC;;;;N;;;;;
-10FD;GEORGIAN LETTER AEN;Lo;0;L;;;;;N;;;;;
-10FE;GEORGIAN LETTER HARD SIGN;Lo;0;L;;;;;N;;;;;
-10FF;GEORGIAN LETTER LABIAL SIGN;Lo;0;L;;;;;N;;;;;
+10FD;GEORGIAN LETTER AEN;Ll;0;L;;;;;N;;;1CBD;;10FD
+10FE;GEORGIAN LETTER HARD SIGN;Ll;0;L;;;;;N;;;1CBE;;10FE
+10FF;GEORGIAN LETTER LABIAL SIGN;Ll;0;L;;;;;N;;;1CBF;;10FF
 1100;HANGUL CHOSEONG KIYEOK;Lo;0;L;;;;;N;;;;;
 1101;HANGUL CHOSEONG SSANGKIYEOK;Lo;0;L;;;;;N;;;;;
 1102;HANGUL CHOSEONG NIEUN;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;;;;;
+1878;MONGOLIAN LETTER CHA WITH TWO DOTS;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;;;;;
 1C86;CYRILLIC SMALL LETTER TALL HARD SIGN;Ll;0;L;;;;;N;;;042A;;042A
 1C87;CYRILLIC SMALL LETTER TALL YAT;Ll;0;L;;;;;N;;;0462;;0462
 1C88;CYRILLIC SMALL LETTER UNBLENDED UK;Ll;0;L;;;;;N;;;A64A;;A64A
+1C90;GEORGIAN MTAVRULI CAPITAL LETTER AN;Lu;0;L;;;;;N;;;;10D0;
+1C91;GEORGIAN MTAVRULI CAPITAL LETTER BAN;Lu;0;L;;;;;N;;;;10D1;
+1C92;GEORGIAN MTAVRULI CAPITAL LETTER GAN;Lu;0;L;;;;;N;;;;10D2;
+1C93;GEORGIAN MTAVRULI CAPITAL LETTER DON;Lu;0;L;;;;;N;;;;10D3;
+1C94;GEORGIAN MTAVRULI CAPITAL LETTER EN;Lu;0;L;;;;;N;;;;10D4;
+1C95;GEORGIAN MTAVRULI CAPITAL LETTER VIN;Lu;0;L;;;;;N;;;;10D5;
+1C96;GEORGIAN MTAVRULI CAPITAL LETTER ZEN;Lu;0;L;;;;;N;;;;10D6;
+1C97;GEORGIAN MTAVRULI CAPITAL LETTER TAN;Lu;0;L;;;;;N;;;;10D7;
+1C98;GEORGIAN MTAVRULI CAPITAL LETTER IN;Lu;0;L;;;;;N;;;;10D8;
+1C99;GEORGIAN MTAVRULI CAPITAL LETTER KAN;Lu;0;L;;;;;N;;;;10D9;
+1C9A;GEORGIAN MTAVRULI CAPITAL LETTER LAS;Lu;0;L;;;;;N;;;;10DA;
+1C9B;GEORGIAN MTAVRULI CAPITAL LETTER MAN;Lu;0;L;;;;;N;;;;10DB;
+1C9C;GEORGIAN MTAVRULI CAPITAL LETTER NAR;Lu;0;L;;;;;N;;;;10DC;
+1C9D;GEORGIAN MTAVRULI CAPITAL LETTER ON;Lu;0;L;;;;;N;;;;10DD;
+1C9E;GEORGIAN MTAVRULI CAPITAL LETTER PAR;Lu;0;L;;;;;N;;;;10DE;
+1C9F;GEORGIAN MTAVRULI CAPITAL LETTER ZHAR;Lu;0;L;;;;;N;;;;10DF;
+1CA0;GEORGIAN MTAVRULI CAPITAL LETTER RAE;Lu;0;L;;;;;N;;;;10E0;
+1CA1;GEORGIAN MTAVRULI CAPITAL LETTER SAN;Lu;0;L;;;;;N;;;;10E1;
+1CA2;GEORGIAN MTAVRULI CAPITAL LETTER TAR;Lu;0;L;;;;;N;;;;10E2;
+1CA3;GEORGIAN MTAVRULI CAPITAL LETTER UN;Lu;0;L;;;;;N;;;;10E3;
+1CA4;GEORGIAN MTAVRULI CAPITAL LETTER PHAR;Lu;0;L;;;;;N;;;;10E4;
+1CA5;GEORGIAN MTAVRULI CAPITAL LETTER KHAR;Lu;0;L;;;;;N;;;;10E5;
+1CA6;GEORGIAN MTAVRULI CAPITAL LETTER GHAN;Lu;0;L;;;;;N;;;;10E6;
+1CA7;GEORGIAN MTAVRULI CAPITAL LETTER QAR;Lu;0;L;;;;;N;;;;10E7;
+1CA8;GEORGIAN MTAVRULI CAPITAL LETTER SHIN;Lu;0;L;;;;;N;;;;10E8;
+1CA9;GEORGIAN MTAVRULI CAPITAL LETTER CHIN;Lu;0;L;;;;;N;;;;10E9;
+1CAA;GEORGIAN MTAVRULI CAPITAL LETTER CAN;Lu;0;L;;;;;N;;;;10EA;
+1CAB;GEORGIAN MTAVRULI CAPITAL LETTER JIL;Lu;0;L;;;;;N;;;;10EB;
+1CAC;GEORGIAN MTAVRULI CAPITAL LETTER CIL;Lu;0;L;;;;;N;;;;10EC;
+1CAD;GEORGIAN MTAVRULI CAPITAL LETTER CHAR;Lu;0;L;;;;;N;;;;10ED;
+1CAE;GEORGIAN MTAVRULI CAPITAL LETTER XAN;Lu;0;L;;;;;N;;;;10EE;
+1CAF;GEORGIAN MTAVRULI CAPITAL LETTER JHAN;Lu;0;L;;;;;N;;;;10EF;
+1CB0;GEORGIAN MTAVRULI CAPITAL LETTER HAE;Lu;0;L;;;;;N;;;;10F0;
+1CB1;GEORGIAN MTAVRULI CAPITAL LETTER HE;Lu;0;L;;;;;N;;;;10F1;
+1CB2;GEORGIAN MTAVRULI CAPITAL LETTER HIE;Lu;0;L;;;;;N;;;;10F2;
+1CB3;GEORGIAN MTAVRULI CAPITAL LETTER WE;Lu;0;L;;;;;N;;;;10F3;
+1CB4;GEORGIAN MTAVRULI CAPITAL LETTER HAR;Lu;0;L;;;;;N;;;;10F4;
+1CB5;GEORGIAN MTAVRULI CAPITAL LETTER HOE;Lu;0;L;;;;;N;;;;10F5;
+1CB6;GEORGIAN MTAVRULI CAPITAL LETTER FI;Lu;0;L;;;;;N;;;;10F6;
+1CB7;GEORGIAN MTAVRULI CAPITAL LETTER YN;Lu;0;L;;;;;N;;;;10F7;
+1CB8;GEORGIAN MTAVRULI CAPITAL LETTER ELIFI;Lu;0;L;;;;;N;;;;10F8;
+1CB9;GEORGIAN MTAVRULI CAPITAL LETTER TURNED GAN;Lu;0;L;;;;;N;;;;10F9;
+1CBA;GEORGIAN MTAVRULI CAPITAL LETTER AIN;Lu;0;L;;;;;N;;;;10FA;
+1CBD;GEORGIAN MTAVRULI CAPITAL LETTER AEN;Lu;0;L;;;;;N;;;;10FD;
+1CBE;GEORGIAN MTAVRULI CAPITAL LETTER HARD SIGN;Lu;0;L;;;;;N;;;;10FE;
+1CBF;GEORGIAN MTAVRULI CAPITAL LETTER LABIAL SIGN;Lu;0;L;;;;;N;;;;10FF;
 1CC0;SUNDANESE PUNCTUATION BINDU SURYA;Po;0;L;;;;;N;;;;;
 1CC1;SUNDANESE PUNCTUATION BINDU PANGLONG;Po;0;L;;;;;N;;;;;
 1CC2;SUNDANESE PUNCTUATION BINDU PURNAMA;Po;0;L;;;;;N;;;;;
 299E;ANGLE WITH S INSIDE;Sm;0;ON;;;;;Y;;;;;
 299F;ACUTE ANGLE;Sm;0;ON;;;;;Y;;;;;
 29A0;SPHERICAL ANGLE OPENING LEFT;Sm;0;ON;;;;;Y;;;;;
-29A1;SPHERICAL ANGLE OPENING UP;Sm;0;ON;;;;;Y;;;;;
+29A1;SPHERICAL ANGLE OPENING UP;Sm;0;ON;;;;;N;;;;;
 29A2;TURNED ANGLE;Sm;0;ON;;;;;Y;;;;;
 29A3;REVERSED ANGLE;Sm;0;ON;;;;;Y;;;;;
 29A4;ANGLE WITH UNDERBAR;Sm;0;ON;;;;;Y;;;;;
 2BB7;RIBBON ARROW RIGHT DOWN;So;0;ON;;;;;N;;;;;
 2BB8;UPWARDS WHITE ARROW FROM BAR WITH HORIZONTAL BAR;So;0;ON;;;;;N;;;;;
 2BB9;UP ARROWHEAD IN A RECTANGLE BOX;So;0;ON;;;;;N;;;;;
+2BBA;OVERLAPPING WHITE SQUARES;So;0;ON;;;;;N;;;;;
+2BBB;OVERLAPPING WHITE AND BLACK SQUARES;So;0;ON;;;;;N;;;;;
+2BBC;OVERLAPPING BLACK SQUARES;So;0;ON;;;;;N;;;;;
 2BBD;BALLOT BOX WITH LIGHT X;So;0;ON;;;;;N;;;;;
 2BBE;CIRCLED X;So;0;ON;;;;;N;;;;;
 2BBF;CIRCLED BOLD X;So;0;ON;;;;;N;;;;;
 2BD0;SQUARE POSITION INDICATOR;So;0;ON;;;;;N;;;;;
 2BD1;UNCERTAINTY SIGN;So;0;ON;;;;;N;;;;;
 2BD2;GROUP MARK;So;0;ON;;;;;N;;;;;
+2BD3;PLUTO FORM TWO;So;0;ON;;;;;N;;;;;
+2BD4;PLUTO FORM THREE;So;0;ON;;;;;N;;;;;
+2BD5;PLUTO FORM FOUR;So;0;ON;;;;;N;;;;;
+2BD6;PLUTO FORM FIVE;So;0;ON;;;;;N;;;;;
+2BD7;TRANSPLUTO;So;0;ON;;;;;N;;;;;
+2BD8;PROSERPINA;So;0;ON;;;;;N;;;;;
+2BD9;ASTRAEA;So;0;ON;;;;;N;;;;;
+2BDA;HYGIEA;So;0;ON;;;;;N;;;;;
+2BDB;PHOLUS;So;0;ON;;;;;N;;;;;
+2BDC;NESSUS;So;0;ON;;;;;N;;;;;
+2BDD;WHITE MOON SELENA;So;0;ON;;;;;N;;;;;
+2BDE;BLACK DIAMOND ON CROSS;So;0;ON;;;;;N;;;;;
+2BDF;TRUE LIGHT MOON ARTA;So;0;ON;;;;;N;;;;;
+2BE0;CUPIDO;So;0;ON;;;;;N;;;;;
+2BE1;HADES;So;0;ON;;;;;N;;;;;
+2BE2;ZEUS;So;0;ON;;;;;N;;;;;
+2BE3;KRONOS;So;0;ON;;;;;N;;;;;
+2BE4;APOLLON;So;0;ON;;;;;N;;;;;
+2BE5;ADMETOS;So;0;ON;;;;;N;;;;;
+2BE6;VULCANUS;So;0;ON;;;;;N;;;;;
+2BE7;POSEIDON;So;0;ON;;;;;N;;;;;
+2BE8;LEFT HALF BLACK STAR;So;0;ON;;;;;N;;;;;
+2BE9;RIGHT HALF BLACK STAR;So;0;ON;;;;;N;;;;;
+2BEA;STAR WITH LEFT HALF BLACK;So;0;ON;;;;;N;;;;;
+2BEB;STAR WITH RIGHT HALF BLACK;So;0;ON;;;;;N;;;;;
 2BEC;LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;;
 2BED;UPWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;;
 2BEE;RIGHTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;;
 2BEF;DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;;
+2BF0;ERIS FORM ONE;So;0;ON;;;;;N;;;;;
+2BF1;ERIS FORM TWO;So;0;ON;;;;;N;;;;;
+2BF2;SEDNA;So;0;ON;;;;;N;;;;;
+2BF3;RUSSIAN ASTROLOGICAL SYMBOL VIGINTILE;So;0;ON;;;;;N;;;;;
+2BF4;RUSSIAN ASTROLOGICAL SYMBOL NOVILE;So;0;ON;;;;;N;;;;;
+2BF5;RUSSIAN ASTROLOGICAL SYMBOL QUINTILE;So;0;ON;;;;;N;;;;;
+2BF6;RUSSIAN ASTROLOGICAL SYMBOL BINOVILE;So;0;ON;;;;;N;;;;;
+2BF7;RUSSIAN ASTROLOGICAL SYMBOL SENTAGON;So;0;ON;;;;;N;;;;;
+2BF8;RUSSIAN ASTROLOGICAL SYMBOL TREDECILE;So;0;ON;;;;;N;;;;;
+2BF9;EQUALS SIGN WITH INFINITY BELOW;So;0;ON;;;;;N;;;;;
+2BFA;UNITED SYMBOL;So;0;ON;;;;;N;;;;;
+2BFB;SEPARATED SYMBOL;So;0;ON;;;;;N;;;;;
+2BFC;DOUBLED SYMBOL;So;0;ON;;;;;N;;;;;
+2BFD;PASSED SYMBOL;So;0;ON;;;;;N;;;;;
+2BFE;REVERSED RIGHT ANGLE;So;0;ON;;;;;Y;;;;;
 2C00;GLAGOLITIC CAPITAL LETTER AZU;Lu;0;L;;;;;N;;;;2C30;
 2C01;GLAGOLITIC CAPITAL LETTER BUKY;Lu;0;L;;;;;N;;;;2C31;
 2C02;GLAGOLITIC CAPITAL LETTER VEDE;Lu;0;L;;;;;N;;;;2C32;
 2E47;LOW KAVYKA;Po;0;ON;;;;;N;;;;;
 2E48;LOW KAVYKA WITH DOT;Po;0;ON;;;;;N;;;;;
 2E49;DOUBLE STACKED COMMA;Po;0;ON;;;;;N;;;;;
+2E4A;DOTTED SOLIDUS;Po;0;ON;;;;;N;;;;;
+2E4B;TRIPLE DAGGER;Po;0;ON;;;;;N;;;;;
+2E4C;MEDIEVAL COMMA;Po;0;ON;;;;;N;;;;;
+2E4D;PARAGRAPHUS MARK;Po;0;ON;;;;;N;;;;;
+2E4E;PUNCTUS ELEVATUS MARK;Po;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;;;;;
 312C;BOPOMOFO LETTER GN;Lo;0;L;;;;;N;;;;;
 312D;BOPOMOFO LETTER IH;Lo;0;L;;;;;N;;;;;
 312E;BOPOMOFO LETTER O WITH DOT ABOVE;Lo;0;L;;;;;N;;;;;
+312F;BOPOMOFO LETTER NN;Lo;0;L;;;;;N;;;;;
 3131;HANGUL LETTER KIYEOK;Lo;0;L;<compat> 1100;;;;N;HANGUL LETTER GIYEOG;;;;
 3132;HANGUL LETTER SSANGKIYEOK;Lo;0;L;<compat> 1101;;;;N;HANGUL LETTER SSANG GIYEOG;;;;
 3133;HANGUL LETTER KIYEOK-SIOS;Lo;0;L;<compat> 11AA;;;;N;HANGUL LETTER GIYEOG SIOS;;;;
 4DFE;HEXAGRAM FOR AFTER COMPLETION;So;0;ON;;;;;N;;;;;
 4DFF;HEXAGRAM FOR BEFORE COMPLETION;So;0;ON;;;;;N;;;;;
 4E00;<CJK Ideograph, First>;Lo;0;L;;;;;N;;;;;
-9FEA;<CJK Ideograph, Last>;Lo;0;L;;;;;N;;;;;
+9FEF;<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;;;;;
@@ -13980,6 +14087,7 @@ A7AB;LATIN CAPITAL LETTER REVERSED OPEN E;Lu;0;L;;;;;N;;;;025C;
 A7AC;LATIN CAPITAL LETTER SCRIPT G;Lu;0;L;;;;;N;;;;0261;
 A7AD;LATIN CAPITAL LETTER L WITH BELT;Lu;0;L;;;;;N;;;;026C;
 A7AE;LATIN CAPITAL LETTER SMALL CAPITAL I;Lu;0;L;;;;;N;;;;026A;
+A7AF;LATIN LETTER SMALL CAPITAL Q;Ll;0;L;;;;;N;;;;;
 A7B0;LATIN CAPITAL LETTER TURNED K;Lu;0;L;;;;;N;;;;029E;
 A7B1;LATIN CAPITAL LETTER TURNED T;Lu;0;L;;;;;N;;;;0287;
 A7B2;LATIN CAPITAL LETTER J WITH CROSSED-TAIL;Lu;0;L;;;;;N;;;;029D;
@@ -13988,6 +14096,8 @@ A7B4;LATIN CAPITAL LETTER BETA;Lu;0;L;;;;;N;;;;A7B5;
 A7B5;LATIN SMALL LETTER BETA;Ll;0;L;;;;;N;;;A7B4;;A7B4
 A7B6;LATIN CAPITAL LETTER OMEGA;Lu;0;L;;;;;N;;;;A7B7;
 A7B7;LATIN SMALL LETTER OMEGA;Ll;0;L;;;;;N;;;A7B6;;A7B6
+A7B8;LATIN CAPITAL LETTER U WITH STROKE;Lu;0;L;;;;;N;;;;A7B9;
+A7B9;LATIN SMALL LETTER U WITH STROKE;Ll;0;L;;;;;N;;;A7B8;;A7B8
 A7F7;LATIN EPIGRAPHIC LETTER SIDEWAYS I;Lo;0;L;;;;;N;;;;;
 A7F8;MODIFIER LETTER CAPITAL H WITH STROKE;Lm;0;L;<super> 0126;;;;N;;;;;
 A7F9;MODIFIER LETTER SMALL LIGATURE OE;Lm;0;L;<super> 0153;;;;N;;;;;
@@ -14219,6 +14329,8 @@ A8FA;DEVANAGARI CARET;Po;0;L;;;;;N;;;;;
 A8FB;DEVANAGARI HEADSTROKE;Lo;0;L;;;;;N;;;;;
 A8FC;DEVANAGARI SIGN SIDDHAM;Po;0;L;;;;;N;;;;;
 A8FD;DEVANAGARI JAIN OM;Lo;0;L;;;;;N;;;;;
+A8FE;DEVANAGARI LETTER AY;Lo;0;L;;;;;N;;;;;
+A8FF;DEVANAGARI VOWEL SIGN AY;Mn;0;NSM;;;;;N;;;;;
 A900;KAYAH LI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
 A901;KAYAH LI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
 A902;KAYAH LI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
@@ -18363,6 +18475,8 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 10A31;KHAROSHTHI LETTER HA;Lo;0;R;;;;;N;;;;;
 10A32;KHAROSHTHI LETTER KKA;Lo;0;R;;;;;N;;;;;
 10A33;KHAROSHTHI LETTER TTTHA;Lo;0;R;;;;;N;;;;;
+10A34;KHAROSHTHI LETTER TTTA;Lo;0;R;;;;;N;;;;;
+10A35;KHAROSHTHI LETTER VHA;Lo;0;R;;;;;N;;;;;
 10A38;KHAROSHTHI SIGN BAR ABOVE;Mn;230;NSM;;;;;N;;;;;
 10A39;KHAROSHTHI SIGN CAUDA;Mn;1;NSM;;;;;N;;;;;
 10A3A;KHAROSHTHI SIGN DOT BELOW;Mn;220;NSM;;;;;N;;;;;
@@ -18375,6 +18489,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 10A45;KHAROSHTHI NUMBER TWENTY;No;0;R;;;;20;N;;;;;
 10A46;KHAROSHTHI NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
 10A47;KHAROSHTHI NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;;
+10A48;KHAROSHTHI FRACTION ONE HALF;No;0;R;;;;1/2;N;;;;;
 10A50;KHAROSHTHI PUNCTUATION DOT;Po;0;R;;;;;N;;;;;
 10A51;KHAROSHTHI PUNCTUATION SMALL CIRCLE;Po;0;R;;;;;N;;;;;
 10A52;KHAROSHTHI PUNCTUATION CIRCLE;Po;0;R;;;;;N;;;;;
@@ -18827,6 +18942,56 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 10CFD;OLD HUNGARIAN NUMBER FIFTY;No;0;R;;;;50;N;;;;;
 10CFE;OLD HUNGARIAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
 10CFF;OLD HUNGARIAN NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;;
+10D00;HANIFI ROHINGYA LETTER A;Lo;0;AL;;;;;N;;;;;
+10D01;HANIFI ROHINGYA LETTER BA;Lo;0;AL;;;;;N;;;;;
+10D02;HANIFI ROHINGYA LETTER PA;Lo;0;AL;;;;;N;;;;;
+10D03;HANIFI ROHINGYA LETTER TA;Lo;0;AL;;;;;N;;;;;
+10D04;HANIFI ROHINGYA LETTER TTA;Lo;0;AL;;;;;N;;;;;
+10D05;HANIFI ROHINGYA LETTER JA;Lo;0;AL;;;;;N;;;;;
+10D06;HANIFI ROHINGYA LETTER CA;Lo;0;AL;;;;;N;;;;;
+10D07;HANIFI ROHINGYA LETTER HA;Lo;0;AL;;;;;N;;;;;
+10D08;HANIFI ROHINGYA LETTER KHA;Lo;0;AL;;;;;N;;;;;
+10D09;HANIFI ROHINGYA LETTER FA;Lo;0;AL;;;;;N;;;;;
+10D0A;HANIFI ROHINGYA LETTER DA;Lo;0;AL;;;;;N;;;;;
+10D0B;HANIFI ROHINGYA LETTER DDA;Lo;0;AL;;;;;N;;;;;
+10D0C;HANIFI ROHINGYA LETTER RA;Lo;0;AL;;;;;N;;;;;
+10D0D;HANIFI ROHINGYA LETTER RRA;Lo;0;AL;;;;;N;;;;;
+10D0E;HANIFI ROHINGYA LETTER ZA;Lo;0;AL;;;;;N;;;;;
+10D0F;HANIFI ROHINGYA LETTER SA;Lo;0;AL;;;;;N;;;;;
+10D10;HANIFI ROHINGYA LETTER SHA;Lo;0;AL;;;;;N;;;;;
+10D11;HANIFI ROHINGYA LETTER KA;Lo;0;AL;;;;;N;;;;;
+10D12;HANIFI ROHINGYA LETTER GA;Lo;0;AL;;;;;N;;;;;
+10D13;HANIFI ROHINGYA LETTER LA;Lo;0;AL;;;;;N;;;;;
+10D14;HANIFI ROHINGYA LETTER MA;Lo;0;AL;;;;;N;;;;;
+10D15;HANIFI ROHINGYA LETTER NA;Lo;0;AL;;;;;N;;;;;
+10D16;HANIFI ROHINGYA LETTER WA;Lo;0;AL;;;;;N;;;;;
+10D17;HANIFI ROHINGYA LETTER KINNA WA;Lo;0;AL;;;;;N;;;;;
+10D18;HANIFI ROHINGYA LETTER YA;Lo;0;AL;;;;;N;;;;;
+10D19;HANIFI ROHINGYA LETTER KINNA YA;Lo;0;AL;;;;;N;;;;;
+10D1A;HANIFI ROHINGYA LETTER NGA;Lo;0;AL;;;;;N;;;;;
+10D1B;HANIFI ROHINGYA LETTER NYA;Lo;0;AL;;;;;N;;;;;
+10D1C;HANIFI ROHINGYA LETTER VA;Lo;0;AL;;;;;N;;;;;
+10D1D;HANIFI ROHINGYA VOWEL A;Lo;0;AL;;;;;N;;;;;
+10D1E;HANIFI ROHINGYA VOWEL I;Lo;0;AL;;;;;N;;;;;
+10D1F;HANIFI ROHINGYA VOWEL U;Lo;0;AL;;;;;N;;;;;
+10D20;HANIFI ROHINGYA VOWEL E;Lo;0;AL;;;;;N;;;;;
+10D21;HANIFI ROHINGYA VOWEL O;Lo;0;AL;;;;;N;;;;;
+10D22;HANIFI ROHINGYA MARK SAKIN;Lo;0;AL;;;;;N;;;;;
+10D23;HANIFI ROHINGYA MARK NA KHONNA;Lo;0;AL;;;;;N;;;;;
+10D24;HANIFI ROHINGYA SIGN HARBAHAY;Mn;230;NSM;;;;;N;;;;;
+10D25;HANIFI ROHINGYA SIGN TAHALA;Mn;230;NSM;;;;;N;;;;;
+10D26;HANIFI ROHINGYA SIGN TANA;Mn;230;NSM;;;;;N;;;;;
+10D27;HANIFI ROHINGYA SIGN TASSI;Mn;230;NSM;;;;;N;;;;;
+10D30;HANIFI ROHINGYA DIGIT ZERO;Nd;0;AN;;0;0;0;N;;;;;
+10D31;HANIFI ROHINGYA DIGIT ONE;Nd;0;AN;;1;1;1;N;;;;;
+10D32;HANIFI ROHINGYA DIGIT TWO;Nd;0;AN;;2;2;2;N;;;;;
+10D33;HANIFI ROHINGYA DIGIT THREE;Nd;0;AN;;3;3;3;N;;;;;
+10D34;HANIFI ROHINGYA DIGIT FOUR;Nd;0;AN;;4;4;4;N;;;;;
+10D35;HANIFI ROHINGYA DIGIT FIVE;Nd;0;AN;;5;5;5;N;;;;;
+10D36;HANIFI ROHINGYA DIGIT SIX;Nd;0;AN;;6;6;6;N;;;;;
+10D37;HANIFI ROHINGYA DIGIT SEVEN;Nd;0;AN;;7;7;7;N;;;;;
+10D38;HANIFI ROHINGYA DIGIT EIGHT;Nd;0;AN;;8;8;8;N;;;;;
+10D39;HANIFI ROHINGYA DIGIT NINE;Nd;0;AN;;9;9;9;N;;;;;
 10E60;RUMI DIGIT ONE;No;0;AN;;;1;1;N;;;;;
 10E61;RUMI DIGIT TWO;No;0;AN;;;2;2;N;;;;;
 10E62;RUMI DIGIT THREE;No;0;AN;;;3;3;N;;;;;
@@ -18858,6 +19023,88 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 10E7C;RUMI FRACTION ONE QUARTER;No;0;AN;;;;1/4;N;;;;;
 10E7D;RUMI FRACTION ONE THIRD;No;0;AN;;;;1/3;N;;;;;
 10E7E;RUMI FRACTION TWO THIRDS;No;0;AN;;;;2/3;N;;;;;
+10F00;OLD SOGDIAN LETTER ALEPH;Lo;0;R;;;;;N;;;;;
+10F01;OLD SOGDIAN LETTER FINAL ALEPH;Lo;0;R;;;;;N;;;;;
+10F02;OLD SOGDIAN LETTER BETH;Lo;0;R;;;;;N;;;;;
+10F03;OLD SOGDIAN LETTER FINAL BETH;Lo;0;R;;;;;N;;;;;
+10F04;OLD SOGDIAN LETTER GIMEL;Lo;0;R;;;;;N;;;;;
+10F05;OLD SOGDIAN LETTER HE;Lo;0;R;;;;;N;;;;;
+10F06;OLD SOGDIAN LETTER FINAL HE;Lo;0;R;;;;;N;;;;;
+10F07;OLD SOGDIAN LETTER WAW;Lo;0;R;;;;;N;;;;;
+10F08;OLD SOGDIAN LETTER ZAYIN;Lo;0;R;;;;;N;;;;;
+10F09;OLD SOGDIAN LETTER HETH;Lo;0;R;;;;;N;;;;;
+10F0A;OLD SOGDIAN LETTER YODH;Lo;0;R;;;;;N;;;;;
+10F0B;OLD SOGDIAN LETTER KAPH;Lo;0;R;;;;;N;;;;;
+10F0C;OLD SOGDIAN LETTER LAMEDH;Lo;0;R;;;;;N;;;;;
+10F0D;OLD SOGDIAN LETTER MEM;Lo;0;R;;;;;N;;;;;
+10F0E;OLD SOGDIAN LETTER NUN;Lo;0;R;;;;;N;;;;;
+10F0F;OLD SOGDIAN LETTER FINAL NUN;Lo;0;R;;;;;N;;;;;
+10F10;OLD SOGDIAN LETTER FINAL NUN WITH VERTICAL TAIL;Lo;0;R;;;;;N;;;;;
+10F11;OLD SOGDIAN LETTER SAMEKH;Lo;0;R;;;;;N;;;;;
+10F12;OLD SOGDIAN LETTER AYIN;Lo;0;R;;;;;N;;;;;
+10F13;OLD SOGDIAN LETTER ALTERNATE AYIN;Lo;0;R;;;;;N;;;;;
+10F14;OLD SOGDIAN LETTER PE;Lo;0;R;;;;;N;;;;;
+10F15;OLD SOGDIAN LETTER SADHE;Lo;0;R;;;;;N;;;;;
+10F16;OLD SOGDIAN LETTER FINAL SADHE;Lo;0;R;;;;;N;;;;;
+10F17;OLD SOGDIAN LETTER FINAL SADHE WITH VERTICAL TAIL;Lo;0;R;;;;;N;;;;;
+10F18;OLD SOGDIAN LETTER RESH-AYIN-DALETH;Lo;0;R;;;;;N;;;;;
+10F19;OLD SOGDIAN LETTER SHIN;Lo;0;R;;;;;N;;;;;
+10F1A;OLD SOGDIAN LETTER TAW;Lo;0;R;;;;;N;;;;;
+10F1B;OLD SOGDIAN LETTER FINAL TAW;Lo;0;R;;;;;N;;;;;
+10F1C;OLD SOGDIAN LETTER FINAL TAW WITH VERTICAL TAIL;Lo;0;R;;;;;N;;;;;
+10F1D;OLD SOGDIAN NUMBER ONE;No;0;R;;;;1;N;;;;;
+10F1E;OLD SOGDIAN NUMBER TWO;No;0;R;;;;2;N;;;;;
+10F1F;OLD SOGDIAN NUMBER THREE;No;0;R;;;;3;N;;;;;
+10F20;OLD SOGDIAN NUMBER FOUR;No;0;R;;;;4;N;;;;;
+10F21;OLD SOGDIAN NUMBER FIVE;No;0;R;;;;5;N;;;;;
+10F22;OLD SOGDIAN NUMBER TEN;No;0;R;;;;10;N;;;;;
+10F23;OLD SOGDIAN NUMBER TWENTY;No;0;R;;;;20;N;;;;;
+10F24;OLD SOGDIAN NUMBER THIRTY;No;0;R;;;;30;N;;;;;
+10F25;OLD SOGDIAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;;
+10F26;OLD SOGDIAN FRACTION ONE HALF;No;0;R;;;;1/2;N;;;;;
+10F27;OLD SOGDIAN LIGATURE AYIN-DALETH;Lo;0;R;;;;;N;;;;;
+10F30;SOGDIAN LETTER ALEPH;Lo;0;AL;;;;;N;;;;;
+10F31;SOGDIAN LETTER BETH;Lo;0;AL;;;;;N;;;;;
+10F32;SOGDIAN LETTER GIMEL;Lo;0;AL;;;;;N;;;;;
+10F33;SOGDIAN LETTER HE;Lo;0;AL;;;;;N;;;;;
+10F34;SOGDIAN LETTER WAW;Lo;0;AL;;;;;N;;;;;
+10F35;SOGDIAN LETTER ZAYIN;Lo;0;AL;;;;;N;;;;;
+10F36;SOGDIAN LETTER HETH;Lo;0;AL;;;;;N;;;;;
+10F37;SOGDIAN LETTER YODH;Lo;0;AL;;;;;N;;;;;
+10F38;SOGDIAN LETTER KAPH;Lo;0;AL;;;;;N;;;;;
+10F39;SOGDIAN LETTER LAMEDH;Lo;0;AL;;;;;N;;;;;
+10F3A;SOGDIAN LETTER MEM;Lo;0;AL;;;;;N;;;;;
+10F3B;SOGDIAN LETTER NUN;Lo;0;AL;;;;;N;;;;;
+10F3C;SOGDIAN LETTER SAMEKH;Lo;0;AL;;;;;N;;;;;
+10F3D;SOGDIAN LETTER AYIN;Lo;0;AL;;;;;N;;;;;
+10F3E;SOGDIAN LETTER PE;Lo;0;AL;;;;;N;;;;;
+10F3F;SOGDIAN LETTER SADHE;Lo;0;AL;;;;;N;;;;;
+10F40;SOGDIAN LETTER RESH-AYIN;Lo;0;AL;;;;;N;;;;;
+10F41;SOGDIAN LETTER SHIN;Lo;0;AL;;;;;N;;;;;
+10F42;SOGDIAN LETTER TAW;Lo;0;AL;;;;;N;;;;;
+10F43;SOGDIAN LETTER FETH;Lo;0;AL;;;;;N;;;;;
+10F44;SOGDIAN LETTER LESH;Lo;0;AL;;;;;N;;;;;
+10F45;SOGDIAN INDEPENDENT SHIN;Lo;0;AL;;;;;N;;;;;
+10F46;SOGDIAN COMBINING DOT BELOW;Mn;220;NSM;;;;;N;;;;;
+10F47;SOGDIAN COMBINING TWO DOTS BELOW;Mn;220;NSM;;;;;N;;;;;
+10F48;SOGDIAN COMBINING DOT ABOVE;Mn;230;NSM;;;;;N;;;;;
+10F49;SOGDIAN COMBINING TWO DOTS ABOVE;Mn;230;NSM;;;;;N;;;;;
+10F4A;SOGDIAN COMBINING CURVE ABOVE;Mn;230;NSM;;;;;N;;;;;
+10F4B;SOGDIAN COMBINING CURVE BELOW;Mn;220;NSM;;;;;N;;;;;
+10F4C;SOGDIAN COMBINING HOOK ABOVE;Mn;230;NSM;;;;;N;;;;;
+10F4D;SOGDIAN COMBINING HOOK BELOW;Mn;220;NSM;;;;;N;;;;;
+10F4E;SOGDIAN COMBINING LONG HOOK BELOW;Mn;220;NSM;;;;;N;;;;;
+10F4F;SOGDIAN COMBINING RESH BELOW;Mn;220;NSM;;;;;N;;;;;
+10F50;SOGDIAN COMBINING STROKE BELOW;Mn;220;NSM;;;;;N;;;;;
+10F51;SOGDIAN NUMBER ONE;No;0;AL;;;;1;N;;;;;
+10F52;SOGDIAN NUMBER TEN;No;0;AL;;;;10;N;;;;;
+10F53;SOGDIAN NUMBER TWENTY;No;0;AL;;;;20;N;;;;;
+10F54;SOGDIAN NUMBER ONE HUNDRED;No;0;AL;;;;100;N;;;;;
+10F55;SOGDIAN PUNCTUATION TWO VERTICAL BARS;Po;0;AL;;;;;N;;;;;
+10F56;SOGDIAN PUNCTUATION TWO VERTICAL BARS WITH DOTS;Po;0;AL;;;;;N;;;;;
+10F57;SOGDIAN PUNCTUATION CIRCLE WITH DOT;Po;0;AL;;;;;N;;;;;
+10F58;SOGDIAN PUNCTUATION TWO CIRCLES WITH DOTS;Po;0;AL;;;;;N;;;;;
+10F59;SOGDIAN PUNCTUATION HALF CIRCLE WITH DOT;Po;0;AL;;;;;N;;;;;
 11000;BRAHMI SIGN CANDRABINDU;Mc;0;L;;;;;N;;;;;
 11001;BRAHMI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
 11002;BRAHMI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
@@ -19033,6 +19280,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 110BF;KAITHI DOUBLE SECTION MARK;Po;0;L;;;;;N;;;;;
 110C0;KAITHI DANDA;Po;0;L;;;;;N;;;;;
 110C1;KAITHI DOUBLE DANDA;Po;0;L;;;;;N;;;;;
+110CD;KAITHI NUMBER SIGN ABOVE;Cf;0;L;;;;;N;;;;;
 110D0;SORA SOMPENG LETTER SAH;Lo;0;L;;;;;N;;;;;
 110D1;SORA SOMPENG LETTER TAH;Lo;0;L;;;;;N;;;;;
 110D2;SORA SOMPENG LETTER BAH;Lo;0;L;;;;;N;;;;;
@@ -19135,6 +19383,9 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 11141;CHAKMA DANDA;Po;0;L;;;;;N;;;;;
 11142;CHAKMA DOUBLE DANDA;Po;0;L;;;;;N;;;;;
 11143;CHAKMA QUESTION MARK;Po;0;L;;;;;N;;;;;
+11144;CHAKMA LETTER LHAA;Lo;0;L;;;;;N;;;;;
+11145;CHAKMA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+11146;CHAKMA VOWEL SIGN EI;Mc;0;L;;;;;N;;;;;
 11150;MAHAJANI LETTER A;Lo;0;L;;;;;N;;;;;
 11151;MAHAJANI LETTER I;Lo;0;L;;;;;N;;;;;
 11152;MAHAJANI LETTER U;Lo;0;L;;;;;N;;;;;
@@ -19247,7 +19498,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 111C6;SHARADA DOUBLE DANDA;Po;0;L;;;;;N;;;;;
 111C7;SHARADA ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
 111C8;SHARADA SEPARATOR;Po;0;L;;;;;N;;;;;
-111C9;SHARADA SANDHI MARK;Po;0;L;;;;;N;;;;;
+111C9;SHARADA SANDHI MARK;Mn;0;NSM;;;;;N;;;;;
 111CA;SHARADA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
 111CB;SHARADA VOWEL MODIFIER MARK;Mn;0;NSM;;;;;N;;;;;
 111CC;SHARADA EXTRA SHORT VOWEL MARK;Mn;0;NSM;;;;;N;;;;;
@@ -19507,6 +19758,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 11337;GRANTHA LETTER SSA;Lo;0;L;;;;;N;;;;;
 11338;GRANTHA LETTER SA;Lo;0;L;;;;;N;;;;;
 11339;GRANTHA LETTER HA;Lo;0;L;;;;;N;;;;;
+1133B;COMBINING BINDU BELOW;Mn;7;NSM;;;;;N;;;;;
 1133C;GRANTHA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
 1133D;GRANTHA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
 1133E;GRANTHA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
@@ -19634,6 +19886,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 11459;NEWA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
 1145B;NEWA PLACEHOLDER MARK;Po;0;L;;;;;N;;;;;
 1145D;NEWA INSERTION SIGN;Po;0;L;;;;;N;;;;;
+1145E;NEWA SANDHI MARK;Mn;230;NSM;;;;;N;;;;;
 11480;TIRHUTA ANJI;Lo;0;L;;;;;N;;;;;
 11481;TIRHUTA LETTER A;Lo;0;L;;;;;N;;;;;
 11482;TIRHUTA LETTER AA;Lo;0;L;;;;;N;;;;;
@@ -19992,6 +20245,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 11717;AHOM LETTER GHA;Lo;0;L;;;;;N;;;;;
 11718;AHOM LETTER BHA;Lo;0;L;;;;;N;;;;;
 11719;AHOM LETTER JHA;Lo;0;L;;;;;N;;;;;
+1171A;AHOM LETTER ALTERNATE BA;Lo;0;L;;;;;N;;;;;
 1171D;AHOM CONSONANT SIGN MEDIAL LA;Mn;0;NSM;;;;;N;;;;;
 1171E;AHOM CONSONANT SIGN MEDIAL RA;Mn;0;NSM;;;;;N;;;;;
 1171F;AHOM CONSONANT SIGN MEDIAL LIGATING RA;Mn;0;NSM;;;;;N;;;;;
@@ -20023,6 +20277,66 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1173D;AHOM SIGN SECTION;Po;0;L;;;;;N;;;;;
 1173E;AHOM SIGN RULAI;Po;0;L;;;;;N;;;;;
 1173F;AHOM SYMBOL VI;So;0;L;;;;;N;;;;;
+11800;DOGRA LETTER A;Lo;0;L;;;;;N;;;;;
+11801;DOGRA LETTER AA;Lo;0;L;;;;;N;;;;;
+11802;DOGRA LETTER I;Lo;0;L;;;;;N;;;;;
+11803;DOGRA LETTER II;Lo;0;L;;;;;N;;;;;
+11804;DOGRA LETTER U;Lo;0;L;;;;;N;;;;;
+11805;DOGRA LETTER UU;Lo;0;L;;;;;N;;;;;
+11806;DOGRA LETTER E;Lo;0;L;;;;;N;;;;;
+11807;DOGRA LETTER AI;Lo;0;L;;;;;N;;;;;
+11808;DOGRA LETTER O;Lo;0;L;;;;;N;;;;;
+11809;DOGRA LETTER AU;Lo;0;L;;;;;N;;;;;
+1180A;DOGRA LETTER KA;Lo;0;L;;;;;N;;;;;
+1180B;DOGRA LETTER KHA;Lo;0;L;;;;;N;;;;;
+1180C;DOGRA LETTER GA;Lo;0;L;;;;;N;;;;;
+1180D;DOGRA LETTER GHA;Lo;0;L;;;;;N;;;;;
+1180E;DOGRA LETTER NGA;Lo;0;L;;;;;N;;;;;
+1180F;DOGRA LETTER CA;Lo;0;L;;;;;N;;;;;
+11810;DOGRA LETTER CHA;Lo;0;L;;;;;N;;;;;
+11811;DOGRA LETTER JA;Lo;0;L;;;;;N;;;;;
+11812;DOGRA LETTER JHA;Lo;0;L;;;;;N;;;;;
+11813;DOGRA LETTER NYA;Lo;0;L;;;;;N;;;;;
+11814;DOGRA LETTER TTA;Lo;0;L;;;;;N;;;;;
+11815;DOGRA LETTER TTHA;Lo;0;L;;;;;N;;;;;
+11816;DOGRA LETTER DDA;Lo;0;L;;;;;N;;;;;
+11817;DOGRA LETTER DDHA;Lo;0;L;;;;;N;;;;;
+11818;DOGRA LETTER NNA;Lo;0;L;;;;;N;;;;;
+11819;DOGRA LETTER TA;Lo;0;L;;;;;N;;;;;
+1181A;DOGRA LETTER THA;Lo;0;L;;;;;N;;;;;
+1181B;DOGRA LETTER DA;Lo;0;L;;;;;N;;;;;
+1181C;DOGRA LETTER DHA;Lo;0;L;;;;;N;;;;;
+1181D;DOGRA LETTER NA;Lo;0;L;;;;;N;;;;;
+1181E;DOGRA LETTER PA;Lo;0;L;;;;;N;;;;;
+1181F;DOGRA LETTER PHA;Lo;0;L;;;;;N;;;;;
+11820;DOGRA LETTER BA;Lo;0;L;;;;;N;;;;;
+11821;DOGRA LETTER BHA;Lo;0;L;;;;;N;;;;;
+11822;DOGRA LETTER MA;Lo;0;L;;;;;N;;;;;
+11823;DOGRA LETTER YA;Lo;0;L;;;;;N;;;;;
+11824;DOGRA LETTER RA;Lo;0;L;;;;;N;;;;;
+11825;DOGRA LETTER LA;Lo;0;L;;;;;N;;;;;
+11826;DOGRA LETTER VA;Lo;0;L;;;;;N;;;;;
+11827;DOGRA LETTER SHA;Lo;0;L;;;;;N;;;;;
+11828;DOGRA LETTER SSA;Lo;0;L;;;;;N;;;;;
+11829;DOGRA LETTER SA;Lo;0;L;;;;;N;;;;;
+1182A;DOGRA LETTER HA;Lo;0;L;;;;;N;;;;;
+1182B;DOGRA LETTER RRA;Lo;0;L;;;;;N;;;;;
+1182C;DOGRA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+1182D;DOGRA VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+1182E;DOGRA VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+1182F;DOGRA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+11830;DOGRA VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+11831;DOGRA VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
+11832;DOGRA VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;;
+11833;DOGRA VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+11834;DOGRA VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+11835;DOGRA VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
+11836;DOGRA VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;;
+11837;DOGRA SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+11838;DOGRA SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+11839;DOGRA SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+1183A;DOGRA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+1183B;DOGRA ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
 118A0;WARANG CITI CAPITAL LETTER NGAA;Lu;0;L;;;;;N;;;;118C0;
 118A1;WARANG CITI CAPITAL LETTER A;Lu;0;L;;;;;N;;;;118C1;
 118A2;WARANG CITI CAPITAL LETTER WI;Lu;0;L;;;;;N;;;;118C2;
@@ -20114,8 +20428,8 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 11A04;ZANABAZAR SQUARE VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
 11A05;ZANABAZAR SQUARE VOWEL SIGN OE;Mn;0;NSM;;;;;N;;;;;
 11A06;ZANABAZAR SQUARE VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
-11A07;ZANABAZAR SQUARE VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
-11A08;ZANABAZAR SQUARE VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
+11A07;ZANABAZAR SQUARE VOWEL SIGN AI;Mn;0;L;;;;;N;;;;;
+11A08;ZANABAZAR SQUARE VOWEL SIGN AU;Mn;0;L;;;;;N;;;;;
 11A09;ZANABAZAR SQUARE VOWEL SIGN REVERSED I;Mn;0;NSM;;;;;N;;;;;
 11A0A;ZANABAZAR SQUARE VOWEL LENGTH MARK;Mn;0;NSM;;;;;N;;;;;
 11A0B;ZANABAZAR SQUARE LETTER KA;Lo;0;L;;;;;N;;;;;
@@ -20254,6 +20568,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 11A9A;SOYOMBO MARK TSHEG;Po;0;L;;;;;N;;;;;
 11A9B;SOYOMBO MARK SHAD;Po;0;L;;;;;N;;;;;
 11A9C;SOYOMBO MARK DOUBLE SHAD;Po;0;L;;;;;N;;;;;
+11A9D;SOYOMBO MARK PLUTA;Lo;0;L;;;;;N;;;;;
 11A9E;SOYOMBO HEAD MARK WITH MOON AND SUN AND TRIPLE FLAME;Po;0;L;;;;;N;;;;;
 11A9F;SOYOMBO HEAD MARK WITH MOON AND SUN AND FLAME;Po;0;L;;;;;N;;;;;
 11AA0;SOYOMBO HEAD MARK WITH MOON AND SUN;Po;0;L;;;;;N;;;;;
@@ -20556,6 +20871,94 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 11D57;MASARAM GONDI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
 11D58;MASARAM GONDI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
 11D59;MASARAM GONDI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+11D60;GUNJALA GONDI LETTER A;Lo;0;L;;;;;N;;;;;
+11D61;GUNJALA GONDI LETTER AA;Lo;0;L;;;;;N;;;;;
+11D62;GUNJALA GONDI LETTER I;Lo;0;L;;;;;N;;;;;
+11D63;GUNJALA GONDI LETTER II;Lo;0;L;;;;;N;;;;;
+11D64;GUNJALA GONDI LETTER U;Lo;0;L;;;;;N;;;;;
+11D65;GUNJALA GONDI LETTER UU;Lo;0;L;;;;;N;;;;;
+11D67;GUNJALA GONDI LETTER EE;Lo;0;L;;;;;N;;;;;
+11D68;GUNJALA GONDI LETTER AI;Lo;0;L;;;;;N;;;;;
+11D6A;GUNJALA GONDI LETTER OO;Lo;0;L;;;;;N;;;;;
+11D6B;GUNJALA GONDI LETTER AU;Lo;0;L;;;;;N;;;;;
+11D6C;GUNJALA GONDI LETTER YA;Lo;0;L;;;;;N;;;;;
+11D6D;GUNJALA GONDI LETTER VA;Lo;0;L;;;;;N;;;;;
+11D6E;GUNJALA GONDI LETTER BA;Lo;0;L;;;;;N;;;;;
+11D6F;GUNJALA GONDI LETTER BHA;Lo;0;L;;;;;N;;;;;
+11D70;GUNJALA GONDI LETTER MA;Lo;0;L;;;;;N;;;;;
+11D71;GUNJALA GONDI LETTER KA;Lo;0;L;;;;;N;;;;;
+11D72;GUNJALA GONDI LETTER KHA;Lo;0;L;;;;;N;;;;;
+11D73;GUNJALA GONDI LETTER TA;Lo;0;L;;;;;N;;;;;
+11D74;GUNJALA GONDI LETTER THA;Lo;0;L;;;;;N;;;;;
+11D75;GUNJALA GONDI LETTER LA;Lo;0;L;;;;;N;;;;;
+11D76;GUNJALA GONDI LETTER GA;Lo;0;L;;;;;N;;;;;
+11D77;GUNJALA GONDI LETTER GHA;Lo;0;L;;;;;N;;;;;
+11D78;GUNJALA GONDI LETTER DA;Lo;0;L;;;;;N;;;;;
+11D79;GUNJALA GONDI LETTER DHA;Lo;0;L;;;;;N;;;;;
+11D7A;GUNJALA GONDI LETTER NA;Lo;0;L;;;;;N;;;;;
+11D7B;GUNJALA GONDI LETTER CA;Lo;0;L;;;;;N;;;;;
+11D7C;GUNJALA GONDI LETTER CHA;Lo;0;L;;;;;N;;;;;
+11D7D;GUNJALA GONDI LETTER TTA;Lo;0;L;;;;;N;;;;;
+11D7E;GUNJALA GONDI LETTER TTHA;Lo;0;L;;;;;N;;;;;
+11D7F;GUNJALA GONDI LETTER LLA;Lo;0;L;;;;;N;;;;;
+11D80;GUNJALA GONDI LETTER JA;Lo;0;L;;;;;N;;;;;
+11D81;GUNJALA GONDI LETTER JHA;Lo;0;L;;;;;N;;;;;
+11D82;GUNJALA GONDI LETTER DDA;Lo;0;L;;;;;N;;;;;
+11D83;GUNJALA GONDI LETTER DDHA;Lo;0;L;;;;;N;;;;;
+11D84;GUNJALA GONDI LETTER NGA;Lo;0;L;;;;;N;;;;;
+11D85;GUNJALA GONDI LETTER PA;Lo;0;L;;;;;N;;;;;
+11D86;GUNJALA GONDI LETTER PHA;Lo;0;L;;;;;N;;;;;
+11D87;GUNJALA GONDI LETTER HA;Lo;0;L;;;;;N;;;;;
+11D88;GUNJALA GONDI LETTER RA;Lo;0;L;;;;;N;;;;;
+11D89;GUNJALA GONDI LETTER SA;Lo;0;L;;;;;N;;;;;
+11D8A;GUNJALA GONDI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+11D8B;GUNJALA GONDI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+11D8C;GUNJALA GONDI VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+11D8D;GUNJALA GONDI VOWEL SIGN U;Mc;0;L;;;;;N;;;;;
+11D8E;GUNJALA GONDI VOWEL SIGN UU;Mc;0;L;;;;;N;;;;;
+11D90;GUNJALA GONDI VOWEL SIGN EE;Mn;0;NSM;;;;;N;;;;;
+11D91;GUNJALA GONDI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+11D93;GUNJALA GONDI VOWEL SIGN OO;Mc;0;L;;;;;N;;;;;
+11D94;GUNJALA GONDI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
+11D95;GUNJALA GONDI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+11D96;GUNJALA GONDI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+11D97;GUNJALA GONDI VIRAMA;Mn;9;NSM;;;;;N;;;;;
+11D98;GUNJALA GONDI OM;Lo;0;L;;;;;N;;;;;
+11DA0;GUNJALA GONDI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+11DA1;GUNJALA GONDI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+11DA2;GUNJALA GONDI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+11DA3;GUNJALA GONDI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+11DA4;GUNJALA GONDI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+11DA5;GUNJALA GONDI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+11DA6;GUNJALA GONDI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+11DA7;GUNJALA GONDI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+11DA8;GUNJALA GONDI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+11DA9;GUNJALA GONDI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+11EE0;MAKASAR LETTER KA;Lo;0;L;;;;;N;;;;;
+11EE1;MAKASAR LETTER GA;Lo;0;L;;;;;N;;;;;
+11EE2;MAKASAR LETTER NGA;Lo;0;L;;;;;N;;;;;
+11EE3;MAKASAR LETTER PA;Lo;0;L;;;;;N;;;;;
+11EE4;MAKASAR LETTER BA;Lo;0;L;;;;;N;;;;;
+11EE5;MAKASAR LETTER MA;Lo;0;L;;;;;N;;;;;
+11EE6;MAKASAR LETTER TA;Lo;0;L;;;;;N;;;;;
+11EE7;MAKASAR LETTER DA;Lo;0;L;;;;;N;;;;;
+11EE8;MAKASAR LETTER NA;Lo;0;L;;;;;N;;;;;
+11EE9;MAKASAR LETTER CA;Lo;0;L;;;;;N;;;;;
+11EEA;MAKASAR LETTER JA;Lo;0;L;;;;;N;;;;;
+11EEB;MAKASAR LETTER NYA;Lo;0;L;;;;;N;;;;;
+11EEC;MAKASAR LETTER YA;Lo;0;L;;;;;N;;;;;
+11EED;MAKASAR LETTER RA;Lo;0;L;;;;;N;;;;;
+11EEE;MAKASAR LETTER LA;Lo;0;L;;;;;N;;;;;
+11EEF;MAKASAR LETTER VA;Lo;0;L;;;;;N;;;;;
+11EF0;MAKASAR LETTER SA;Lo;0;L;;;;;N;;;;;
+11EF1;MAKASAR LETTER A;Lo;0;L;;;;;N;;;;;
+11EF2;MAKASAR ANGKA;Lo;0;L;;;;;N;;;;;
+11EF3;MAKASAR VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
+11EF4;MAKASAR VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+11EF5;MAKASAR VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+11EF6;MAKASAR VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
+11EF7;MAKASAR PASSIMBANG;Po;0;L;;;;;N;;;;;
+11EF8;MAKASAR END OF SECTION;Po;0;L;;;;;N;;;;;
 12000;CUNEIFORM SIGN A;Lo;0;L;;;;;N;;;;;
 12001;CUNEIFORM SIGN A TIMES A;Lo;0;L;;;;;N;;;;;
 12002;CUNEIFORM SIGN A TIMES BAD;Lo;0;L;;;;;N;;;;;
@@ -24219,6 +24622,97 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 16B8D;PAHAWH HMONG CLAN SIGN TSWB;Lo;0;L;;;;;N;;;;;
 16B8E;PAHAWH HMONG CLAN SIGN KWM;Lo;0;L;;;;;N;;;;;
 16B8F;PAHAWH HMONG CLAN SIGN VWJ;Lo;0;L;;;;;N;;;;;
+16E40;MEDEFAIDRIN CAPITAL LETTER M;Lu;0;L;;;;;N;;;;16E60;
+16E41;MEDEFAIDRIN CAPITAL LETTER S;Lu;0;L;;;;;N;;;;16E61;
+16E42;MEDEFAIDRIN CAPITAL LETTER V;Lu;0;L;;;;;N;;;;16E62;
+16E43;MEDEFAIDRIN CAPITAL LETTER W;Lu;0;L;;;;;N;;;;16E63;
+16E44;MEDEFAIDRIN CAPITAL LETTER ATIU;Lu;0;L;;;;;N;;;;16E64;
+16E45;MEDEFAIDRIN CAPITAL LETTER Z;Lu;0;L;;;;;N;;;;16E65;
+16E46;MEDEFAIDRIN CAPITAL LETTER KP;Lu;0;L;;;;;N;;;;16E66;
+16E47;MEDEFAIDRIN CAPITAL LETTER P;Lu;0;L;;;;;N;;;;16E67;
+16E48;MEDEFAIDRIN CAPITAL LETTER T;Lu;0;L;;;;;N;;;;16E68;
+16E49;MEDEFAIDRIN CAPITAL LETTER G;Lu;0;L;;;;;N;;;;16E69;
+16E4A;MEDEFAIDRIN CAPITAL LETTER F;Lu;0;L;;;;;N;;;;16E6A;
+16E4B;MEDEFAIDRIN CAPITAL LETTER I;Lu;0;L;;;;;N;;;;16E6B;
+16E4C;MEDEFAIDRIN CAPITAL LETTER K;Lu;0;L;;;;;N;;;;16E6C;
+16E4D;MEDEFAIDRIN CAPITAL LETTER A;Lu;0;L;;;;;N;;;;16E6D;
+16E4E;MEDEFAIDRIN CAPITAL LETTER J;Lu;0;L;;;;;N;;;;16E6E;
+16E4F;MEDEFAIDRIN CAPITAL LETTER E;Lu;0;L;;;;;N;;;;16E6F;
+16E50;MEDEFAIDRIN CAPITAL LETTER B;Lu;0;L;;;;;N;;;;16E70;
+16E51;MEDEFAIDRIN CAPITAL LETTER C;Lu;0;L;;;;;N;;;;16E71;
+16E52;MEDEFAIDRIN CAPITAL LETTER U;Lu;0;L;;;;;N;;;;16E72;
+16E53;MEDEFAIDRIN CAPITAL LETTER YU;Lu;0;L;;;;;N;;;;16E73;
+16E54;MEDEFAIDRIN CAPITAL LETTER L;Lu;0;L;;;;;N;;;;16E74;
+16E55;MEDEFAIDRIN CAPITAL LETTER Q;Lu;0;L;;;;;N;;;;16E75;
+16E56;MEDEFAIDRIN CAPITAL LETTER HP;Lu;0;L;;;;;N;;;;16E76;
+16E57;MEDEFAIDRIN CAPITAL LETTER NY;Lu;0;L;;;;;N;;;;16E77;
+16E58;MEDEFAIDRIN CAPITAL LETTER X;Lu;0;L;;;;;N;;;;16E78;
+16E59;MEDEFAIDRIN CAPITAL LETTER D;Lu;0;L;;;;;N;;;;16E79;
+16E5A;MEDEFAIDRIN CAPITAL LETTER OE;Lu;0;L;;;;;N;;;;16E7A;
+16E5B;MEDEFAIDRIN CAPITAL LETTER N;Lu;0;L;;;;;N;;;;16E7B;
+16E5C;MEDEFAIDRIN CAPITAL LETTER R;Lu;0;L;;;;;N;;;;16E7C;
+16E5D;MEDEFAIDRIN CAPITAL LETTER O;Lu;0;L;;;;;N;;;;16E7D;
+16E5E;MEDEFAIDRIN CAPITAL LETTER AI;Lu;0;L;;;;;N;;;;16E7E;
+16E5F;MEDEFAIDRIN CAPITAL LETTER Y;Lu;0;L;;;;;N;;;;16E7F;
+16E60;MEDEFAIDRIN SMALL LETTER M;Ll;0;L;;;;;N;;;16E40;;16E40
+16E61;MEDEFAIDRIN SMALL LETTER S;Ll;0;L;;;;;N;;;16E41;;16E41
+16E62;MEDEFAIDRIN SMALL LETTER V;Ll;0;L;;;;;N;;;16E42;;16E42
+16E63;MEDEFAIDRIN SMALL LETTER W;Ll;0;L;;;;;N;;;16E43;;16E43
+16E64;MEDEFAIDRIN SMALL LETTER ATIU;Ll;0;L;;;;;N;;;16E44;;16E44
+16E65;MEDEFAIDRIN SMALL LETTER Z;Ll;0;L;;;;;N;;;16E45;;16E45
+16E66;MEDEFAIDRIN SMALL LETTER KP;Ll;0;L;;;;;N;;;16E46;;16E46
+16E67;MEDEFAIDRIN SMALL LETTER P;Ll;0;L;;;;;N;;;16E47;;16E47
+16E68;MEDEFAIDRIN SMALL LETTER T;Ll;0;L;;;;;N;;;16E48;;16E48
+16E69;MEDEFAIDRIN SMALL LETTER G;Ll;0;L;;;;;N;;;16E49;;16E49
+16E6A;MEDEFAIDRIN SMALL LETTER F;Ll;0;L;;;;;N;;;16E4A;;16E4A
+16E6B;MEDEFAIDRIN SMALL LETTER I;Ll;0;L;;;;;N;;;16E4B;;16E4B
+16E6C;MEDEFAIDRIN SMALL LETTER K;Ll;0;L;;;;;N;;;16E4C;;16E4C
+16E6D;MEDEFAIDRIN SMALL LETTER A;Ll;0;L;;;;;N;;;16E4D;;16E4D
+16E6E;MEDEFAIDRIN SMALL LETTER J;Ll;0;L;;;;;N;;;16E4E;;16E4E
+16E6F;MEDEFAIDRIN SMALL LETTER E;Ll;0;L;;;;;N;;;16E4F;;16E4F
+16E70;MEDEFAIDRIN SMALL LETTER B;Ll;0;L;;;;;N;;;16E50;;16E50
+16E71;MEDEFAIDRIN SMALL LETTER C;Ll;0;L;;;;;N;;;16E51;;16E51
+16E72;MEDEFAIDRIN SMALL LETTER U;Ll;0;L;;;;;N;;;16E52;;16E52
+16E73;MEDEFAIDRIN SMALL LETTER YU;Ll;0;L;;;;;N;;;16E53;;16E53
+16E74;MEDEFAIDRIN SMALL LETTER L;Ll;0;L;;;;;N;;;16E54;;16E54
+16E75;MEDEFAIDRIN SMALL LETTER Q;Ll;0;L;;;;;N;;;16E55;;16E55
+16E76;MEDEFAIDRIN SMALL LETTER HP;Ll;0;L;;;;;N;;;16E56;;16E56
+16E77;MEDEFAIDRIN SMALL LETTER NY;Ll;0;L;;;;;N;;;16E57;;16E57
+16E78;MEDEFAIDRIN SMALL LETTER X;Ll;0;L;;;;;N;;;16E58;;16E58
+16E79;MEDEFAIDRIN SMALL LETTER D;Ll;0;L;;;;;N;;;16E59;;16E59
+16E7A;MEDEFAIDRIN SMALL LETTER OE;Ll;0;L;;;;;N;;;16E5A;;16E5A
+16E7B;MEDEFAIDRIN SMALL LETTER N;Ll;0;L;;;;;N;;;16E5B;;16E5B
+16E7C;MEDEFAIDRIN SMALL LETTER R;Ll;0;L;;;;;N;;;16E5C;;16E5C
+16E7D;MEDEFAIDRIN SMALL LETTER O;Ll;0;L;;;;;N;;;16E5D;;16E5D
+16E7E;MEDEFAIDRIN SMALL LETTER AI;Ll;0;L;;;;;N;;;16E5E;;16E5E
+16E7F;MEDEFAIDRIN SMALL LETTER Y;Ll;0;L;;;;;N;;;16E5F;;16E5F
+16E80;MEDEFAIDRIN DIGIT ZERO;No;0;L;;;;0;N;;;;;
+16E81;MEDEFAIDRIN DIGIT ONE;No;0;L;;;;1;N;;;;;
+16E82;MEDEFAIDRIN DIGIT TWO;No;0;L;;;;2;N;;;;;
+16E83;MEDEFAIDRIN DIGIT THREE;No;0;L;;;;3;N;;;;;
+16E84;MEDEFAIDRIN DIGIT FOUR;No;0;L;;;;4;N;;;;;
+16E85;MEDEFAIDRIN DIGIT FIVE;No;0;L;;;;5;N;;;;;
+16E86;MEDEFAIDRIN DIGIT SIX;No;0;L;;;;6;N;;;;;
+16E87;MEDEFAIDRIN DIGIT SEVEN;No;0;L;;;;7;N;;;;;
+16E88;MEDEFAIDRIN DIGIT EIGHT;No;0;L;;;;8;N;;;;;
+16E89;MEDEFAIDRIN DIGIT NINE;No;0;L;;;;9;N;;;;;
+16E8A;MEDEFAIDRIN NUMBER TEN;No;0;L;;;;10;N;;;;;
+16E8B;MEDEFAIDRIN NUMBER ELEVEN;No;0;L;;;;11;N;;;;;
+16E8C;MEDEFAIDRIN NUMBER TWELVE;No;0;L;;;;12;N;;;;;
+16E8D;MEDEFAIDRIN NUMBER THIRTEEN;No;0;L;;;;13;N;;;;;
+16E8E;MEDEFAIDRIN NUMBER FOURTEEN;No;0;L;;;;14;N;;;;;
+16E8F;MEDEFAIDRIN NUMBER FIFTEEN;No;0;L;;;;15;N;;;;;
+16E90;MEDEFAIDRIN NUMBER SIXTEEN;No;0;L;;;;16;N;;;;;
+16E91;MEDEFAIDRIN NUMBER SEVENTEEN;No;0;L;;;;17;N;;;;;
+16E92;MEDEFAIDRIN NUMBER EIGHTEEN;No;0;L;;;;18;N;;;;;
+16E93;MEDEFAIDRIN NUMBER NINETEEN;No;0;L;;;;19;N;;;;;
+16E94;MEDEFAIDRIN DIGIT ONE ALTERNATE FORM;No;0;L;;;;1;N;;;;;
+16E95;MEDEFAIDRIN DIGIT TWO ALTERNATE FORM;No;0;L;;;;2;N;;;;;
+16E96;MEDEFAIDRIN DIGIT THREE ALTERNATE FORM;No;0;L;;;;3;N;;;;;
+16E97;MEDEFAIDRIN COMMA;Po;0;L;;;;;N;;;;;
+16E98;MEDEFAIDRIN FULL STOP;Po;0;L;;;;;N;;;;;
+16E99;MEDEFAIDRIN SYMBOL AIVA;Po;0;L;;;;;N;;;;;
+16E9A;MEDEFAIDRIN EXCLAMATION OH;Po;0;L;;;;;N;;;;;
 16F00;MIAO LETTER PA;Lo;0;L;;;;;N;;;;;
 16F01;MIAO LETTER BA;Lo;0;L;;;;;N;;;;;
 16F02;MIAO LETTER YI PA;Lo;0;L;;;;;N;;;;;
@@ -24355,7 +24849,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 16FE0;TANGUT ITERATION MARK;Lm;0;L;;;;;N;;;;;
 16FE1;NUSHU ITERATION MARK;Lm;0;L;;;;;N;;;;;
 17000;<Tangut Ideograph, First>;Lo;0;L;;;;;N;;;;;
-187EC;<Tangut Ideograph, Last>;Lo;0;L;;;;;N;;;;;
+187F1;<Tangut Ideograph, Last>;Lo;0;L;;;;;N;;;;;
 18800;TANGUT COMPONENT-001;Lo;0;L;;;;;N;;;;;
 18801;TANGUT COMPONENT-002;Lo;0;L;;;;;N;;;;;
 18802;TANGUT COMPONENT-003;Lo;0;L;;;;;N;;;;;
@@ -26488,6 +26982,26 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1D243;COMBINING GREEK MUSICAL TETRASEME;Mn;230;NSM;;;;;N;;;;;
 1D244;COMBINING GREEK MUSICAL PENTASEME;Mn;230;NSM;;;;;N;;;;;
 1D245;GREEK MUSICAL LEIMMA;So;0;ON;;;;;N;;;;;
+1D2E0;MAYAN NUMERAL ZERO;No;0;L;;;;0;N;;;;;
+1D2E1;MAYAN NUMERAL ONE;No;0;L;;;;1;N;;;;;
+1D2E2;MAYAN NUMERAL TWO;No;0;L;;;;2;N;;;;;
+1D2E3;MAYAN NUMERAL THREE;No;0;L;;;;3;N;;;;;
+1D2E4;MAYAN NUMERAL FOUR;No;0;L;;;;4;N;;;;;
+1D2E5;MAYAN NUMERAL FIVE;No;0;L;;;;5;N;;;;;
+1D2E6;MAYAN NUMERAL SIX;No;0;L;;;;6;N;;;;;
+1D2E7;MAYAN NUMERAL SEVEN;No;0;L;;;;7;N;;;;;
+1D2E8;MAYAN NUMERAL EIGHT;No;0;L;;;;8;N;;;;;
+1D2E9;MAYAN NUMERAL NINE;No;0;L;;;;9;N;;;;;
+1D2EA;MAYAN NUMERAL TEN;No;0;L;;;;10;N;;;;;
+1D2EB;MAYAN NUMERAL ELEVEN;No;0;L;;;;11;N;;;;;
+1D2EC;MAYAN NUMERAL TWELVE;No;0;L;;;;12;N;;;;;
+1D2ED;MAYAN NUMERAL THIRTEEN;No;0;L;;;;13;N;;;;;
+1D2EE;MAYAN NUMERAL FOURTEEN;No;0;L;;;;14;N;;;;;
+1D2EF;MAYAN NUMERAL FIFTEEN;No;0;L;;;;15;N;;;;;
+1D2F0;MAYAN NUMERAL SIXTEEN;No;0;L;;;;16;N;;;;;
+1D2F1;MAYAN NUMERAL SEVENTEEN;No;0;L;;;;17;N;;;;;
+1D2F2;MAYAN NUMERAL EIGHTEEN;No;0;L;;;;18;N;;;;;
+1D2F3;MAYAN NUMERAL NINETEEN;No;0;L;;;;19;N;;;;;
 1D300;MONOGRAM FOR EARTH;So;0;ON;;;;;N;;;;;
 1D301;DIGRAM FOR HEAVENLY EARTH;So;0;ON;;;;;N;;;;;
 1D302;DIGRAM FOR HUMAN EARTH;So;0;ON;;;;;N;;;;;
@@ -26593,6 +27107,13 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1D36F;COUNTING ROD TENS DIGIT SEVEN;No;0;L;;;;70;N;;;;;
 1D370;COUNTING ROD TENS DIGIT EIGHT;No;0;L;;;;80;N;;;;;
 1D371;COUNTING ROD TENS DIGIT NINE;No;0;L;;;;90;N;;;;;
+1D372;IDEOGRAPHIC TALLY MARK ONE;No;0;L;;;;1;N;;;;;
+1D373;IDEOGRAPHIC TALLY MARK TWO;No;0;L;;;;2;N;;;;;
+1D374;IDEOGRAPHIC TALLY MARK THREE;No;0;L;;;;3;N;;;;;
+1D375;IDEOGRAPHIC TALLY MARK FOUR;No;0;L;;;;4;N;;;;;
+1D376;IDEOGRAPHIC TALLY MARK FIVE;No;0;L;;;;5;N;;;;;
+1D377;TALLY MARK ONE;No;0;L;;;;1;N;;;;;
+1D378;TALLY MARK FIVE;No;0;L;;;;5;N;;;;;
 1D400;MATHEMATICAL BOLD CAPITAL A;Lu;0;L;<font> 0041;;;;N;;;;;
 1D401;MATHEMATICAL BOLD CAPITAL B;Lu;0;L;<font> 0042;;;;N;;;;;
 1D402;MATHEMATICAL BOLD CAPITAL C;Lu;0;L;<font> 0043;;;;N;;;;;
@@ -28599,6 +29120,74 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1E959;ADLAM DIGIT NINE;Nd;0;R;;9;9;9;N;;;;;
 1E95E;ADLAM INITIAL EXCLAMATION MARK;Po;0;R;;;;;N;;;;;
 1E95F;ADLAM INITIAL QUESTION MARK;Po;0;R;;;;;N;;;;;
+1EC71;INDIC SIYAQ NUMBER ONE;No;0;AL;;;;1;N;;;;;
+1EC72;INDIC SIYAQ NUMBER TWO;No;0;AL;;;;2;N;;;;;
+1EC73;INDIC SIYAQ NUMBER THREE;No;0;AL;;;;3;N;;;;;
+1EC74;INDIC SIYAQ NUMBER FOUR;No;0;AL;;;;4;N;;;;;
+1EC75;INDIC SIYAQ NUMBER FIVE;No;0;AL;;;;5;N;;;;;
+1EC76;INDIC SIYAQ NUMBER SIX;No;0;AL;;;;6;N;;;;;
+1EC77;INDIC SIYAQ NUMBER SEVEN;No;0;AL;;;;7;N;;;;;
+1EC78;INDIC SIYAQ NUMBER EIGHT;No;0;AL;;;;8;N;;;;;
+1EC79;INDIC SIYAQ NUMBER NINE;No;0;AL;;;;9;N;;;;;
+1EC7A;INDIC SIYAQ NUMBER TEN;No;0;AL;;;;10;N;;;;;
+1EC7B;INDIC SIYAQ NUMBER TWENTY;No;0;AL;;;;20;N;;;;;
+1EC7C;INDIC SIYAQ NUMBER THIRTY;No;0;AL;;;;30;N;;;;;
+1EC7D;INDIC SIYAQ NUMBER FORTY;No;0;AL;;;;40;N;;;;;
+1EC7E;INDIC SIYAQ NUMBER FIFTY;No;0;AL;;;;50;N;;;;;
+1EC7F;INDIC SIYAQ NUMBER SIXTY;No;0;AL;;;;60;N;;;;;
+1EC80;INDIC SIYAQ NUMBER SEVENTY;No;0;AL;;;;70;N;;;;;
+1EC81;INDIC SIYAQ NUMBER EIGHTY;No;0;AL;;;;80;N;;;;;
+1EC82;INDIC SIYAQ NUMBER NINETY;No;0;AL;;;;90;N;;;;;
+1EC83;INDIC SIYAQ NUMBER ONE HUNDRED;No;0;AL;;;;100;N;;;;;
+1EC84;INDIC SIYAQ NUMBER TWO HUNDRED;No;0;AL;;;;200;N;;;;;
+1EC85;INDIC SIYAQ NUMBER THREE HUNDRED;No;0;AL;;;;300;N;;;;;
+1EC86;INDIC SIYAQ NUMBER FOUR HUNDRED;No;0;AL;;;;400;N;;;;;
+1EC87;INDIC SIYAQ NUMBER FIVE HUNDRED;No;0;AL;;;;500;N;;;;;
+1EC88;INDIC SIYAQ NUMBER SIX HUNDRED;No;0;AL;;;;600;N;;;;;
+1EC89;INDIC SIYAQ NUMBER SEVEN HUNDRED;No;0;AL;;;;700;N;;;;;
+1EC8A;INDIC SIYAQ NUMBER EIGHT HUNDRED;No;0;AL;;;;800;N;;;;;
+1EC8B;INDIC SIYAQ NUMBER NINE HUNDRED;No;0;AL;;;;900;N;;;;;
+1EC8C;INDIC SIYAQ NUMBER ONE THOUSAND;No;0;AL;;;;1000;N;;;;;
+1EC8D;INDIC SIYAQ NUMBER TWO THOUSAND;No;0;AL;;;;2000;N;;;;;
+1EC8E;INDIC SIYAQ NUMBER THREE THOUSAND;No;0;AL;;;;3000;N;;;;;
+1EC8F;INDIC SIYAQ NUMBER FOUR THOUSAND;No;0;AL;;;;4000;N;;;;;
+1EC90;INDIC SIYAQ NUMBER FIVE THOUSAND;No;0;AL;;;;5000;N;;;;;
+1EC91;INDIC SIYAQ NUMBER SIX THOUSAND;No;0;AL;;;;6000;N;;;;;
+1EC92;INDIC SIYAQ NUMBER SEVEN THOUSAND;No;0;AL;;;;7000;N;;;;;
+1EC93;INDIC SIYAQ NUMBER EIGHT THOUSAND;No;0;AL;;;;8000;N;;;;;
+1EC94;INDIC SIYAQ NUMBER NINE THOUSAND;No;0;AL;;;;9000;N;;;;;
+1EC95;INDIC SIYAQ NUMBER TEN THOUSAND;No;0;AL;;;;10000;N;;;;;
+1EC96;INDIC SIYAQ NUMBER TWENTY THOUSAND;No;0;AL;;;;20000;N;;;;;
+1EC97;INDIC SIYAQ NUMBER THIRTY THOUSAND;No;0;AL;;;;30000;N;;;;;
+1EC98;INDIC SIYAQ NUMBER FORTY THOUSAND;No;0;AL;;;;40000;N;;;;;
+1EC99;INDIC SIYAQ NUMBER FIFTY THOUSAND;No;0;AL;;;;50000;N;;;;;
+1EC9A;INDIC SIYAQ NUMBER SIXTY THOUSAND;No;0;AL;;;;60000;N;;;;;
+1EC9B;INDIC SIYAQ NUMBER SEVENTY THOUSAND;No;0;AL;;;;70000;N;;;;;
+1EC9C;INDIC SIYAQ NUMBER EIGHTY THOUSAND;No;0;AL;;;;80000;N;;;;;
+1EC9D;INDIC SIYAQ NUMBER NINETY THOUSAND;No;0;AL;;;;90000;N;;;;;
+1EC9E;INDIC SIYAQ NUMBER LAKH;No;0;AL;;;;100000;N;;;;;
+1EC9F;INDIC SIYAQ NUMBER LAKHAN;No;0;AL;;;;200000;N;;;;;
+1ECA0;INDIC SIYAQ LAKH MARK;No;0;AL;;;;100000;N;;;;;
+1ECA1;INDIC SIYAQ NUMBER KAROR;No;0;AL;;;;10000000;N;;;;;
+1ECA2;INDIC SIYAQ NUMBER KARORAN;No;0;AL;;;;20000000;N;;;;;
+1ECA3;INDIC SIYAQ NUMBER PREFIXED ONE;No;0;AL;;;;1;N;;;;;
+1ECA4;INDIC SIYAQ NUMBER PREFIXED TWO;No;0;AL;;;;2;N;;;;;
+1ECA5;INDIC SIYAQ NUMBER PREFIXED THREE;No;0;AL;;;;3;N;;;;;
+1ECA6;INDIC SIYAQ NUMBER PREFIXED FOUR;No;0;AL;;;;4;N;;;;;
+1ECA7;INDIC SIYAQ NUMBER PREFIXED FIVE;No;0;AL;;;;5;N;;;;;
+1ECA8;INDIC SIYAQ NUMBER PREFIXED SIX;No;0;AL;;;;6;N;;;;;
+1ECA9;INDIC SIYAQ NUMBER PREFIXED SEVEN;No;0;AL;;;;7;N;;;;;
+1ECAA;INDIC SIYAQ NUMBER PREFIXED EIGHT;No;0;AL;;;;8;N;;;;;
+1ECAB;INDIC SIYAQ NUMBER PREFIXED NINE;No;0;AL;;;;9;N;;;;;
+1ECAC;INDIC SIYAQ PLACEHOLDER;So;0;AL;;;;;N;;;;;
+1ECAD;INDIC SIYAQ FRACTION ONE QUARTER;No;0;AL;;;;1/4;N;;;;;
+1ECAE;INDIC SIYAQ FRACTION ONE HALF;No;0;AL;;;;1/2;N;;;;;
+1ECAF;INDIC SIYAQ FRACTION THREE QUARTERS;No;0;AL;;;;3/4;N;;;;;
+1ECB0;INDIC SIYAQ RUPEE MARK;Sc;0;AL;;;;;N;;;;;
+1ECB1;INDIC SIYAQ NUMBER ALTERNATE ONE;No;0;AL;;;;1;N;;;;;
+1ECB2;INDIC SIYAQ NUMBER ALTERNATE TWO;No;0;AL;;;;2;N;;;;;
+1ECB3;INDIC SIYAQ NUMBER ALTERNATE TEN THOUSAND;No;0;AL;;;;10000;N;;;;;
+1ECB4;INDIC SIYAQ ALTERNATE LAKH MARK;No;0;AL;;;;100000;N;;;;;
 1EE00;ARABIC MATHEMATICAL ALEF;Lo;0;AL;<font> 0627;;;;N;;;;;
 1EE01;ARABIC MATHEMATICAL BEH;Lo;0;AL;<font> 0628;;;;N;;;;;
 1EE02;ARABIC MATHEMATICAL JEEM;Lo;0;AL;<font> 062C;;;;N;;;;;
@@ -29012,6 +29601,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1F12C;CIRCLED ITALIC LATIN CAPITAL LETTER R;So;0;L;<circle> 0052;;;;N;;;;;
 1F12D;CIRCLED CD;So;0;L;<circle> 0043 0044;;;;N;;;;;
 1F12E;CIRCLED WZ;So;0;L;<circle> 0057 005A;;;;N;;;;;
+1F12F;COPYLEFT SYMBOL;So;0;ON;;;;;N;;;;;
 1F130;SQUARED LATIN CAPITAL LETTER A;So;0;L;<square> 0041;;;;N;;;;;
 1F131;SQUARED LATIN CAPITAL LETTER B;So;0;L;<square> 0042;;;;N;;;;;
 1F132;SQUARED LATIN CAPITAL LETTER C;So;0;L;<square> 0043;;;;N;;;;;
@@ -30226,6 +30816,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1F6F6;CANOE;So;0;ON;;;;;N;;;;;
 1F6F7;SLED;So;0;ON;;;;;N;;;;;
 1F6F8;FLYING SAUCER;So;0;ON;;;;;N;;;;;
+1F6F9;SKATEBOARD;So;0;ON;;;;;N;;;;;
 1F700;ALCHEMICAL SYMBOL FOR QUINTESSENCE;So;0;ON;;;;;N;;;;;
 1F701;ALCHEMICAL SYMBOL FOR AIR;So;0;ON;;;;;N;;;;;
 1F702;ALCHEMICAL SYMBOL FOR FIRE;So;0;ON;;;;;N;;;;;
@@ -30427,6 +31018,10 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1F7D2;LIGHT TWELVE POINTED BLACK STAR;So;0;ON;;;;;N;;;;;
 1F7D3;HEAVY TWELVE POINTED BLACK STAR;So;0;ON;;;;;N;;;;;
 1F7D4;HEAVY TWELVE POINTED PINWHEEL STAR;So;0;ON;;;;;N;;;;;
+1F7D5;CIRCLED TRIANGLE;So;0;ON;;;;;N;;;;;
+1F7D6;NEGATIVE CIRCLED TRIANGLE;So;0;ON;;;;;N;;;;;
+1F7D7;CIRCLED SQUARE;So;0;ON;;;;;N;;;;;
+1F7D8;NEGATIVE CIRCLED SQUARE;So;0;ON;;;;;N;;;;;
 1F800;LEFTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;;
 1F801;UPWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;;
 1F802;RIGHTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;;
@@ -30647,6 +31242,9 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1F94A;BOXING GLOVE;So;0;ON;;;;;N;;;;;
 1F94B;MARTIAL ARTS UNIFORM;So;0;ON;;;;;N;;;;;
 1F94C;CURLING STONE;So;0;ON;;;;;N;;;;;
+1F94D;LACROSSE STICK AND BALL;So;0;ON;;;;;N;;;;;
+1F94E;SOFTBALL;So;0;ON;;;;;N;;;;;
+1F94F;FLYING DISC;So;0;ON;;;;;N;;;;;
 1F950;CROISSANT;So;0;ON;;;;;N;;;;;
 1F951;AVOCADO;So;0;ON;;;;;N;;;;;
 1F952;CUCUMBER;So;0;ON;;;;;N;;;;;
@@ -30675,6 +31273,20 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1F969;CUT OF MEAT;So;0;ON;;;;;N;;;;;
 1F96A;SANDWICH;So;0;ON;;;;;N;;;;;
 1F96B;CANNED FOOD;So;0;ON;;;;;N;;;;;
+1F96C;LEAFY GREEN;So;0;ON;;;;;N;;;;;
+1F96D;MANGO;So;0;ON;;;;;N;;;;;
+1F96E;MOON CAKE;So;0;ON;;;;;N;;;;;
+1F96F;BAGEL;So;0;ON;;;;;N;;;;;
+1F970;SMILING FACE WITH SMILING EYES AND THREE HEARTS;So;0;ON;;;;;N;;;;;
+1F973;FACE WITH PARTY HORN AND PARTY HAT;So;0;ON;;;;;N;;;;;
+1F974;FACE WITH UNEVEN EYES AND WAVY MOUTH;So;0;ON;;;;;N;;;;;
+1F975;OVERHEATED FACE;So;0;ON;;;;;N;;;;;
+1F976;FREEZING FACE;So;0;ON;;;;;N;;;;;
+1F97A;FACE WITH PLEADING EYES;So;0;ON;;;;;N;;;;;
+1F97C;LAB COAT;So;0;ON;;;;;N;;;;;
+1F97D;GOGGLES;So;0;ON;;;;;N;;;;;
+1F97E;HIKING BOOT;So;0;ON;;;;;N;;;;;
+1F97F;FLAT SHOE;So;0;ON;;;;;N;;;;;
 1F980;CRAB;So;0;ON;;;;;N;;;;;
 1F981;LION FACE;So;0;ON;;;;;N;;;;;
 1F982;SCORPION;So;0;ON;;;;;N;;;;;
@@ -30699,7 +31311,30 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1F995;SAUROPOD;So;0;ON;;;;;N;;;;;
 1F996;T-REX;So;0;ON;;;;;N;;;;;
 1F997;CRICKET;So;0;ON;;;;;N;;;;;
+1F998;KANGAROO;So;0;ON;;;;;N;;;;;
+1F999;LLAMA;So;0;ON;;;;;N;;;;;
+1F99A;PEACOCK;So;0;ON;;;;;N;;;;;
+1F99B;HIPPOPOTAMUS;So;0;ON;;;;;N;;;;;
+1F99C;PARROT;So;0;ON;;;;;N;;;;;
+1F99D;RACCOON;So;0;ON;;;;;N;;;;;
+1F99E;LOBSTER;So;0;ON;;;;;N;;;;;
+1F99F;MOSQUITO;So;0;ON;;;;;N;;;;;
+1F9A0;MICROBE;So;0;ON;;;;;N;;;;;
+1F9A1;BADGER;So;0;ON;;;;;N;;;;;
+1F9A2;SWAN;So;0;ON;;;;;N;;;;;
+1F9B0;EMOJI COMPONENT RED HAIR;So;0;ON;;;;;N;;;;;
+1F9B1;EMOJI COMPONENT CURLY HAIR;So;0;ON;;;;;N;;;;;
+1F9B2;EMOJI COMPONENT BALD;So;0;ON;;;;;N;;;;;
+1F9B3;EMOJI COMPONENT WHITE HAIR;So;0;ON;;;;;N;;;;;
+1F9B4;BONE;So;0;ON;;;;;N;;;;;
+1F9B5;LEG;So;0;ON;;;;;N;;;;;
+1F9B6;FOOT;So;0;ON;;;;;N;;;;;
+1F9B7;TOOTH;So;0;ON;;;;;N;;;;;
+1F9B8;SUPERHERO;So;0;ON;;;;;N;;;;;
+1F9B9;SUPERVILLAIN;So;0;ON;;;;;N;;;;;
 1F9C0;CHEESE WEDGE;So;0;ON;;;;;N;;;;;
+1F9C1;CUPCAKE;So;0;ON;;;;;N;;;;;
+1F9C2;SALT SHAKER;So;0;ON;;;;;N;;;;;
 1F9D0;FACE WITH MONOCLE;So;0;ON;;;;;N;;;;;
 1F9D1;ADULT;So;0;ON;;;;;N;;;;;
 1F9D2;CHILD;So;0;ON;;;;;N;;;;;
@@ -30723,6 +31358,45 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
 1F9E4;GLOVES;So;0;ON;;;;;N;;;;;
 1F9E5;COAT;So;0;ON;;;;;N;;;;;
 1F9E6;SOCKS;So;0;ON;;;;;N;;;;;
+1F9E7;RED GIFT ENVELOPE;So;0;ON;;;;;N;;;;;
+1F9E8;FIRECRACKER;So;0;ON;;;;;N;;;;;
+1F9E9;JIGSAW PUZZLE PIECE;So;0;ON;;;;;N;;;;;
+1F9EA;TEST TUBE;So;0;ON;;;;;N;;;;;
+1F9EB;PETRI DISH;So;0;ON;;;;;N;;;;;
+1F9EC;DNA DOUBLE HELIX;So;0;ON;;;;;N;;;;;
+1F9ED;COMPASS;So;0;ON;;;;;N;;;;;
+1F9EE;ABACUS;So;0;ON;;;;;N;;;;;
+1F9EF;FIRE EXTINGUISHER;So;0;ON;;;;;N;;;;;
+1F9F0;TOOLBOX;So;0;ON;;;;;N;;;;;
+1F9F1;BRICK;So;0;ON;;;;;N;;;;;
+1F9F2;MAGNET;So;0;ON;;;;;N;;;;;
+1F9F3;LUGGAGE;So;0;ON;;;;;N;;;;;
+1F9F4;LOTION BOTTLE;So;0;ON;;;;;N;;;;;
+1F9F5;SPOOL OF THREAD;So;0;ON;;;;;N;;;;;
+1F9F6;BALL OF YARN;So;0;ON;;;;;N;;;;;
+1F9F7;SAFETY PIN;So;0;ON;;;;;N;;;;;
+1F9F8;TEDDY BEAR;So;0;ON;;;;;N;;;;;
+1F9F9;BROOM;So;0;ON;;;;;N;;;;;
+1F9FA;BASKET;So;0;ON;;;;;N;;;;;
+1F9FB;ROLL OF PAPER;So;0;ON;;;;;N;;;;;
+1F9FC;BAR OF SOAP;So;0;ON;;;;;N;;;;;
+1F9FD;SPONGE;So;0;ON;;;;;N;;;;;
+1F9FE;RECEIPT;So;0;ON;;;;;N;;;;;
+1F9FF;NAZAR AMULET;So;0;ON;;;;;N;;;;;
+1FA60;XIANGQI RED GENERAL;So;0;ON;;;;;N;;;;;
+1FA61;XIANGQI RED MANDARIN;So;0;ON;;;;;N;;;;;
+1FA62;XIANGQI RED ELEPHANT;So;0;ON;;;;;N;;;;;
+1FA63;XIANGQI RED HORSE;So;0;ON;;;;;N;;;;;
+1FA64;XIANGQI RED CHARIOT;So;0;ON;;;;;N;;;;;
+1FA65;XIANGQI RED CANNON;So;0;ON;;;;;N;;;;;
+1FA66;XIANGQI RED SOLDIER;So;0;ON;;;;;N;;;;;
+1FA67;XIANGQI BLACK GENERAL;So;0;ON;;;;;N;;;;;
+1FA68;XIANGQI BLACK MANDARIN;So;0;ON;;;;;N;;;;;
+1FA69;XIANGQI BLACK ELEPHANT;So;0;ON;;;;;N;;;;;
+1FA6A;XIANGQI BLACK HORSE;So;0;ON;;;;;N;;;;;
+1FA6B;XIANGQI BLACK CHARIOT;So;0;ON;;;;;N;;;;;
+1FA6C;XIANGQI BLACK CANNON;So;0;ON;;;;;N;;;;;
+1FA6D;XIANGQI BLACK SOLDIER;So;0;ON;;;;;N;;;;;
 20000;<CJK Ideograph Extension B, First>;Lo;0;L;;;;;N;;;;;
 2A6D6;<CJK Ideograph Extension B, Last>;Lo;0;L;;;;;N;;;;;
 2A700;<CJK Ideograph Extension C, First>;Lo;0;L;;;;;N;;;;;
index 62834ee..54f7a68 100644 (file)
@@ -226,7 +226,6 @@ AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BUILD_EXEEXT = @BUILD_EXEEXT@
 BUILD_OBJEXT = @BUILD_OBJEXT@
-C2MAN = @C2MAN@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CC_FOR_BUILD = @CC_FOR_BUILD@
index 873489c..713fff6 100644 (file)
@@ -56,6 +56,8 @@
 #define RL_BRACKET_TYPE(list) ((list)->bracket_type)
 #define RL_ISOLATE_LEVEL(list) ((list)->isolate_level)
 
+#define LOCAL_BRACKET_SIZE 16
+
 /* Pairing nodes are used for holding a pair of open/close brackets as
    described in BD16. */
 struct _FriBidiPairingNodeStruct {
@@ -248,7 +250,7 @@ print_resolved_types (
   {
     FriBidiStrIndex i;
     for (i = RL_LEN (pp); i; i--)
-      MSG2 ("%c", fribidi_char_from_bidi_type (pp->type));
+      MSG2 ("%s ", fribidi_get_bidi_type_name (pp->type));
   }
   MSG ("\n");
 }
@@ -266,7 +268,7 @@ print_bidi_string (
 
   MSG ("  Org. types : ");
   for (i = 0; i < len; i++)
-    MSG2 ("%c", fribidi_char_from_bidi_type (bidi_types[i]));
+    MSG2 ("%s ", fribidi_get_bidi_type_name (bidi_types[i]));
   MSG ("\n");
 }
 
@@ -504,7 +506,8 @@ fribidi_get_par_embedding_levels_ex (
   FriBidiLevel *embedding_levels
 )
 {
-  FriBidiLevel base_level, *base_level_per_iso_level = NULL, max_level = 0;
+  FriBidiLevel base_level_per_iso_level[FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL];
+  FriBidiLevel base_level, max_level = 0;
   FriBidiParType base_dir;
   FriBidiRun *main_run_list = NULL, *explicits_list = NULL, *pp;
   fribidi_boolean status = false;
@@ -560,10 +563,8 @@ fribidi_get_par_embedding_levels_ex (
     }
   base_dir = FRIBIDI_LEVEL_TO_DIR (base_level);
   DBG2 ("  base level : %c", fribidi_char_from_level (base_level));
-  DBG2 ("  base dir   : %c", fribidi_char_from_bidi_type (base_dir));
+  DBG2 ("  base dir   : %s", fribidi_get_bidi_type_name (base_dir));
 
-  base_level_per_iso_level = fribidi_malloc(sizeof(base_level_per_iso_level[0]) *
-                                            FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL);
   base_level_per_iso_level[0] = base_level;
 
 # if DEBUG
@@ -591,12 +592,10 @@ fribidi_get_par_embedding_levels_ex (
       FriBidiLevel level;
       int isolate;
       int isolate_level;
-    } *status_stack;
+    } status_stack[FRIBIDI_BIDI_MAX_RESOLVED_LEVELS];
     FriBidiRun temp_link;
-    FriBidiRun **run_per_isolate_level; /* Connect the isolate levels */
+    FriBidiRun *run_per_isolate_level[FRIBIDI_BIDI_MAX_RESOLVED_LEVELS];
 
-    run_per_isolate_level = fribidi_malloc(sizeof(run_per_isolate_level[0])
-                                           * FRIBIDI_BIDI_MAX_RESOLVED_LEVELS);
     memset(run_per_isolate_level, 0, sizeof(run_per_isolate_level[0])
            * FRIBIDI_BIDI_MAX_RESOLVED_LEVELS);
 
@@ -623,8 +622,6 @@ fribidi_get_par_embedding_levels_ex (
     first_interval = 0;
     valid_isolate_count = 0;
     isolate_overflow = 0;
-    status_stack = fribidi_malloc (sizeof (status_stack[0]) *
-                                  FRIBIDI_BIDI_MAX_RESOLVED_LEVELS);
 
     for_run_list (pp, main_run_list)
     {
@@ -803,9 +800,6 @@ fribidi_get_par_embedding_levels_ex (
     override = FRIBIDI_TYPE_ON;
     stack_size = 0;
     over_pushed = 0;
-
-    fribidi_free (status_stack);
-    fribidi_free (run_per_isolate_level);
   }
   /* X10. The remaining rules are applied to each run of characters at the
      same level. For each run, determine the start-of-level-run (sor) and
@@ -834,12 +828,10 @@ fribidi_get_par_embedding_levels_ex (
   max_iso_level = 0;
   DBG ("resolving weak types");
   {
-    int *last_strong_stack;
+    int last_strong_stack[FRIBIDI_BIDI_MAX_RESOLVED_LEVELS];
     FriBidiCharType prev_type_orig;
     fribidi_boolean w4;
 
-    last_strong_stack = fribidi_malloc (sizeof (int)
-                                        * FRIBIDI_BIDI_MAX_RESOLVED_LEVELS);
     last_strong_stack[0] = base_dir;
 
     for_run_list (pp, main_run_list)
@@ -1001,8 +993,6 @@ fribidi_get_par_embedding_levels_ex (
       else
        prev_type_orig = PREV_TYPE_OR_SOR (pp->next);
     }
-
-    fribidi_free (last_strong_stack);
   }
 
   compact_neutrals (main_run_list);
@@ -1023,16 +1013,28 @@ fribidi_get_par_embedding_levels_ex (
     /*  BD16 - Build list of all pairs*/
     int num_iso_levels = max_iso_level + 1;
     FriBidiPairingNode *pairing_nodes = NULL;
-    FriBidiRun ***bracket_stack = fribidi_malloc(sizeof(bracket_stack[0])
-                                                 * num_iso_levels);
-    int *bracket_stack_size = fribidi_malloc(sizeof(bracket_stack_size[0])
-                                             * num_iso_levels);
+    FriBidiRun *local_bracket_stack[FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL][LOCAL_BRACKET_SIZE];
+    FriBidiRun **bracket_stack[FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL];
+    int bracket_stack_size[FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL];
     int last_level = RL_LEVEL(main_run_list);
     int last_iso_level = 0;
 
     memset(bracket_stack, 0, sizeof(bracket_stack[0])*num_iso_levels);
     memset(bracket_stack_size, 0, sizeof(bracket_stack_size[0])*num_iso_levels);
 
+    /* populate the bracket_size. The first LOCAL_BRACKET_SIZE entries
+       of the stack are one the stack. Allocate the rest of the entries.
+     */
+    {
+      int iso_level;
+      for (iso_level=0; iso_level < LOCAL_BRACKET_SIZE; iso_level++)
+        bracket_stack[iso_level] = local_bracket_stack[iso_level];
+
+      for (iso_level=LOCAL_BRACKET_SIZE; iso_level < num_iso_levels; iso_level++)
+        bracket_stack[iso_level] = fribidi_malloc (sizeof (bracket_stack[0])
+                                                       * FRIBIDI_BIDI_MAX_NESTED_BRACKET_PAIRS);
+    }
+
     /* Build the bd16 pair stack. */
     for_run_list (pp, main_run_list)
       {
@@ -1046,10 +1048,8 @@ fribidi_get_par_embedding_levels_ex (
         if (level != last_level && last_iso_level == iso_level)
           bracket_stack_size[last_iso_level] = 0;
 
-        if (!bracket_stack[iso_level])
-          bracket_stack[iso_level] = fribidi_malloc (sizeof (bracket_stack[0])
-                                                     * FRIBIDI_BIDI_MAX_NESTED_BRACKET_PAIRS);
-        if (brack_prop!= FRIBIDI_NO_BRACKET)
+        if (brack_prop!= FRIBIDI_NO_BRACKET
+            && RL_TYPE(pp)==FRIBIDI_TYPE_ON)
           {
             if (FRIBIDI_IS_BRACKET_OPEN(brack_prop))
               {
@@ -1162,20 +1162,21 @@ fribidi_get_par_embedding_levels_ex (
         }
 
       free_pairing_nodes(pairing_nodes);
-      {
-        int i;
-        for (i=0; i<num_iso_levels; i++)
-          fribidi_free(bracket_stack[i]);
-      }
-      fribidi_free(bracket_stack);
-      fribidi_free(bracket_stack_size);
+
+      if (num_iso_levels >= LOCAL_BRACKET_SIZE)
+        {
+          int i;
+          /* Only need to free the non static members */
+          for (i=LOCAL_BRACKET_SIZE; i<num_iso_levels; i++)
+            fribidi_free(bracket_stack[i]);
+        }
 
       /* Remove the bracket property and re-compact */
       {
         const FriBidiBracketType NoBracket = FRIBIDI_NO_BRACKET;
         for_run_list (pp, main_run_list)
           pp->bracket_type = NoBracket;
-        compact_list (main_run_list);
+        compact_neutrals (main_run_list);
       }
     }
 
@@ -1388,8 +1389,6 @@ out:
     free_run_list (main_run_list);
   if UNLIKELY
     (explicits_list) free_run_list (explicits_list);
-  if (base_level_per_iso_level)
-    fribidi_free (base_level_per_iso_level);
 
   return status ? max_level + 1 : 0;
 }
index f471f79..b0c0e4a 100644 (file)
@@ -123,7 +123,7 @@ init_cap_rtl (
        for (j = 0; j < num_types; j++)
          if (to_type[j] == t)
            break;
-       if (!request[j])        /* Do not need this type */
+       if (j >= num_types || !request[j])      /* Do not need this type */
          continue;
        for (k = 0; k < CAPRTL_CHARS; k++)
          if (caprtl_to_unicode[k] == FRIBIDI_UNICODE_CHARS
index 862e51e..12a13d2 100644 (file)
@@ -177,7 +177,8 @@ out:
   return status ? j : -1;
 }
 
-
+/* Local array size, used for stack-based local arrays */
+#define LOCAL_LIST_SIZE 128
 
 FRIBIDI_ENTRY FriBidiLevel
 fribidi_log2vis (
@@ -198,9 +199,14 @@ fribidi_log2vis (
   fribidi_boolean private_V_to_L = false;
   fribidi_boolean private_embedding_levels = false;
   fribidi_boolean status = false;
+  FriBidiArabicProp local_ar_props[LOCAL_LIST_SIZE];
   FriBidiArabicProp *ar_props = NULL;
+  FriBidiLevel local_embedding_levels[LOCAL_LIST_SIZE];
+  FriBidiCharType local_bidi_types[LOCAL_LIST_SIZE];
   FriBidiCharType *bidi_types = NULL;
+  FriBidiBracketType local_bracket_types[LOCAL_LIST_SIZE];
   FriBidiBracketType *bracket_types = NULL;
+  FriBidiStrIndex local_positions_V_to_L[LOCAL_LIST_SIZE];
 
   if UNLIKELY
     (len == 0)
@@ -214,13 +220,20 @@ fribidi_log2vis (
   fribidi_assert (str);
   fribidi_assert (pbase_dir);
 
-  bidi_types = fribidi_malloc (len * sizeof bidi_types[0]);
+  if (len < LOCAL_LIST_SIZE)
+    bidi_types = local_bidi_types;
+  else
+    bidi_types = fribidi_malloc (len * sizeof bidi_types[0]);
   if (!bidi_types)
     goto out;
 
   fribidi_get_bidi_types (str, len, bidi_types);
 
-  bracket_types = fribidi_malloc (len * sizeof bracket_types[0]);
+  if (len < LOCAL_LIST_SIZE)
+    bracket_types = local_bracket_types;
+  else
+    bracket_types = fribidi_malloc (len * sizeof bracket_types[0]);
+    
   if (!bracket_types)
     goto out;
 
@@ -229,7 +242,10 @@ fribidi_log2vis (
                              bracket_types);
   if (!embedding_levels)
     {
-      embedding_levels = fribidi_malloc (len * sizeof embedding_levels[0]);
+      if (len < LOCAL_LIST_SIZE)
+        embedding_levels = local_embedding_levels;
+      else
+        embedding_levels = fribidi_malloc (len * sizeof embedding_levels[0]);
       if (!embedding_levels)
        goto out;
       private_embedding_levels = true;
@@ -247,7 +263,10 @@ fribidi_log2vis (
      given by the caller, we have to make a private instance of it. */
   if (positions_L_to_V && !positions_V_to_L)
     {
-      positions_V_to_L =
+      if (len < LOCAL_LIST_SIZE)
+        positions_V_to_L = local_positions_V_to_L;
+      else
+        positions_V_to_L =
        (FriBidiStrIndex *) fribidi_malloc (sizeof (FriBidiStrIndex) * len);
       if (!positions_V_to_L)
        goto out;
@@ -271,7 +290,10 @@ fribidi_log2vis (
       memcpy (visual_str, str, len * sizeof (*visual_str));
 
       /* Arabic joining */
-      ar_props = fribidi_malloc (len * sizeof ar_props[0]);
+      if (len < LOCAL_LIST_SIZE)
+        ar_props = local_ar_props;
+      else
+        ar_props = fribidi_malloc (len * sizeof ar_props[0]);
       fribidi_get_joining_types (str, len, ar_props);
       fribidi_join_arabic (bidi_types, len, embedding_levels, ar_props);
 
@@ -298,19 +320,19 @@ fribidi_log2vis (
 
 out:
 
-  if (private_V_to_L)
+  if (private_V_to_L && positions_V_to_L != local_positions_V_to_L)
     fribidi_free (positions_V_to_L);
 
-  if (private_embedding_levels)
+  if (private_embedding_levels && embedding_levels != local_embedding_levels)
     fribidi_free (embedding_levels);
 
-  if (ar_props)
+  if (ar_props && ar_props != local_ar_props)
     fribidi_free (ar_props);
 
-  if (bidi_types)
+  if (bidi_types && bidi_types != local_bidi_types)
     fribidi_free (bidi_types);
 
-  if (bracket_types)
+  if (bracket_types && bracket_types != local_bracket_types)
     fribidi_free (bracket_types);
 
   return status ? max_level + 1 : 0;
index 0f0a2da..30be9c8 100644 (file)
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -7272,10 +7272,12 @@ func_mode_link ()
       # -tp=*                Portland pgcc target processor selection
       # --sysroot=*          for sysroot support
       # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+      # -specs=*             GCC specs files
       # -stdlib=*            select c++ std lib with clang
       -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
       -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*)
+      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
+      -specs=*)
         func_quote_for_eval "$arg"
        arg=$func_quote_for_eval_result
         func_append compile_command " $arg"
index be44318..f173987 100644 (file)
@@ -1,4 +1,4 @@
-project('fribidi', 'c', version: '1.0.2',
+project('fribidi', 'c', version: '1.0.5',
   meson_version : '>= 0.44')
 
 # New release:
diff --git a/missing b/missing
index c6e3795..b7e571e 100755 (executable)
--- a/missing
+++ b/missing
@@ -1,4 +1,4 @@
-#! /bin/sh
+#!/bin/sh
 # Common wrapper for a few potentially missing GNU programs.
 
 scriptversion=2016-01-11.22; # UTC
index 0218a01..de1e61d 100755 (executable)
@@ -1,4 +1,4 @@
-#! /bin/sh
+#!/bin/sh
 # test-driver - basic testsuite driver script.
 
 scriptversion=2016-01-11.22; # UTC
index 9224152..f075e75 100644 (file)
@@ -17,6 +17,8 @@ TEST_DATAS = \
        test_CapRTL_explicit.reference \
        test_CapRTL_implicit.input \
        test_CapRTL_implicit.reference \
+       test_CapRTL_isolate.input \
+       test_CapRTL_isolate.reference \
        test_ISO8859-8_hebrew.input \
        test_ISO8859-8_hebrew.reference \
        test_UTF-8_persian.input \
index c914695..3e2ce24 100644 (file)
@@ -396,7 +396,6 @@ AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BUILD_EXEEXT = @BUILD_EXEEXT@
 BUILD_OBJEXT = @BUILD_OBJEXT@
-C2MAN = @C2MAN@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CC_FOR_BUILD = @CC_FOR_BUILD@
@@ -538,6 +537,8 @@ TEST_DATAS = \
        test_CapRTL_explicit.reference \
        test_CapRTL_implicit.input \
        test_CapRTL_implicit.reference \
+       test_CapRTL_isolate.input \
+       test_CapRTL_isolate.reference \
        test_ISO8859-8_hebrew.input \
        test_ISO8859-8_hebrew.reference \
        test_UTF-8_persian.input \
diff --git a/test/test_CapRTL_isolate.input b/test/test_CapRTL_isolate.input
new file mode 100644 (file)
index 0000000..3845185
--- /dev/null
@@ -0,0 +1,8 @@
+_yBEAR_I:how is LION?
+_ibear_I:how is LION?
+_fBEAR_I:how is LION?
+_fbear_I:how is LION?
+_yBEAR_I:HOW IS lion?
+_ibear_I:HOW IS lion?
+_fBEAR_I:HOW IS lion?
+_fbear_I:HOW IS lion?
diff --git a/test/test_CapRTL_isolate.reference b/test/test_CapRTL_isolate.reference
new file mode 100644 (file)
index 0000000..c2fc6c3
--- /dev/null
@@ -0,0 +1,8 @@
+_yBEAR_I:how is LION?               => RAEB:how is NOIL?
+_ibear_I:how is LION?               => bear:how is NOIL?
+_fBEAR_I:how is LION?               => RAEB:how is NOIL?
+_fbear_I:how is LION?               => bear:how is NOIL?
+_yBEAR_I:HOW IS lion?               =>                   ?lion SI WOH:RAEB
+_ibear_I:HOW IS lion?               =>                   ?lion SI WOH:bear
+_fBEAR_I:HOW IS lion?               =>                   ?lion SI WOH:RAEB
+_fbear_I:HOW IS lion?               =>                   ?lion SI WOH:bear
index 791f911..cf3f676 100644 (file)
@@ -253,7 +253,7 @@ main (int argc, char **argv)
   FriBidiChar *code_points = NULL;
   int code_points_len = 0;
   int expected_ltor_len = 0;
-  int base_dir_mode = 0, paragraph_dir;
+  int paragraph_dir = 0;
   FriBidiLevel *expected_levels = NULL;
   int *expected_ltor = NULL;
   int resolved_paragraph_embedding_level;
@@ -345,9 +345,6 @@ main (int argc, char **argv)
                 bracket_types[i] = NoBracket;
           }
 
-        if ((paragraph_dir & (1<<base_dir_mode)) == 0)
-          continue;
-
         switch (paragraph_dir)
           {
           case 0: base_dir = FRIBIDI_PAR_LTR; break;
@@ -430,17 +427,8 @@ main (int argc, char **argv)
 
             if (debug)
               {
-                FriBidiParType base_dir;
-
                 fribidi_set_debug (1);
 
-                switch (base_dir_mode)
-                  {
-                  case 0: base_dir = FRIBIDI_PAR_ON;  break;
-                  case 1: base_dir = FRIBIDI_PAR_LTR; break;
-                  case 2: base_dir = FRIBIDI_PAR_RTL; break;
-                  }
-
                 if (fribidi_get_par_embedding_levels_ex (types,
                                                          bracket_types,
                                                          types_len,
index a3d2b46..6a0df6d 100644 (file)
@@ -1,6 +1,6 @@
-# BidiCharacterTest-10.0.0.txt
-# Date: 2017-03-09, 00:30:00 GMT [LI]
-# © 2017 Unicode®, Inc.
+# BidiCharacterTest-11.0.0.txt
+# Date: 2018-02-18, 05:50:00 GMT [LI]
+# © 2018 Unicode®, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # Unicode Character Database
index b0d2d1e..e7637c3 100644 (file)
@@ -1,10 +1,11 @@
-# BidiTest-7.0.0.txt
-# Date: 2013-11-27, 09:54:24 GMT [MD]
+# BidiTest-11.0.0.txt
+# Date: 2018-01-31, 08:20:07 GMT
+# © 2018 Unicode®, Inc.
+# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
+# For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # Unicode Character Database
-# Copyright (c) 1991-2013 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-# For documentation, see http://www.unicode.org/reports/tr44/
+#   For documentation, see http://www.unicode.org/reports/tr44/
 #
 # This file provides a conformance test for UBA (Unicode Bidi Algorithm) implementations.
 # It is designed to be reasonably compact, and yet provide a thorough test of all cases up to
index 8b52398..7765f60 100644 (file)
@@ -388,7 +388,6 @@ AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 BUILD_EXEEXT = @BUILD_EXEEXT@
 BUILD_OBJEXT = @BUILD_OBJEXT@
-C2MAN = @C2MAN@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CC_FOR_BUILD = @CC_FOR_BUILD@