From: Bowon Ryu Date: Thu, 14 Feb 2019 10:33:34 +0000 (+0900) Subject: Merge branch 'upstream' into tizen X-Git-Tag: accepted/tizen/5.5/unified/20191031.005554~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=89b59218da596eb04f2fbaf43dfd68069320933a;hp=5932909d748a5d08514fcb9790a2224e8abf8aef;p=platform%2Fupstream%2Ffribidi.git Merge branch 'upstream' into tizen Change-Id: Icff684cf8ab4ac4456455bede5a22a2fc3bca6a4 --- diff --git a/ChangeLog b/ChangeLog index 15c0e5e..4f39aaf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,174 @@ +commit f245343730303bf7edd2af751d739f977466bf41 +Author: Dov Grobgeld +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 +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 +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 +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 +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 +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 +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 +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 +Date: Wed May 16 20:46:45 2018 +0300 + + Updated NEWS file. + + NEWS | 5 +++++ + 1 file changed, 5 insertions(+) + +commit a44e063b4ff1006a3af97d115f39c31e49f22f49 +Author: Dov Grobgeld +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 +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 +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 +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 +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 +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 Date: Sun Mar 18 21:07:21 2018 +0200 diff --git a/Makefile.in b/Makefile.in index 132a8cc..3c9081c 100644 --- a/Makefile.in +++ b/Makefile.in @@ -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 --- 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 --- a/ar-lib +++ b/ar-lib @@ -1,4 +1,4 @@ -#! /bin/sh +#!/bin/sh # Wrapper for Microsoft lib.exe me=ar-lib diff --git a/bin/Makefile.in b/bin/Makefile.in index 7ceb727..a695575 100644 --- a/bin/Makefile.in +++ b/bin/Makefile.in @@ -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 --- 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 diff --git a/config.guess b/config.guess index a744844..717b228 100755 --- a/config.guess +++ b/config.guess @@ -1,4 +1,4 @@ -#! /bin/sh +#!/bin/sh # Attempt to guess a canonical system name. # Copyright 1992-2017 Free Software Foundation, Inc. diff --git a/config.sub b/config.sub index 932128b..f4bafc1 100755 --- a/config.sub +++ b/config.sub @@ -1,4 +1,4 @@ -#! /bin/sh +#!/bin/sh # Configuration validation subroutine script. # Copyright 1992-2017 Free Software Foundation, Inc. diff --git a/configure b/configure index 663c87d..1210d8b 100755 --- 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 . # @@ -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\\" diff --git a/configure.ac b/configure.ac index 13bfa8b..722142e 100644 --- a/configure.ac +++ b/configure.ac @@ -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 --- 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 diff --git a/doc/Makefile.am b/doc/Makefile.am index 6a67f2a..bbfb48f 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -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 diff --git a/doc/Makefile.in b/doc/Makefile.in index e908d99..edcdf9f 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -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 diff --git a/doc/meson.build b/doc/meson.build index fe13ca6..808795b 100644 --- a/doc/meson.build +++ b/doc/meson.build @@ -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 diff --git a/gen.tab/Makefile.in b/gen.tab/Makefile.in index 0ac83c2..a5df44f 100644 --- a/gen.tab/Makefile.in +++ b/gen.tab/Makefile.in @@ -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@ diff --git a/gen.tab/unidata/ArabicShaping.txt b/gen.tab/unidata/ArabicShaping.txt index f2ef1fa..5f3506f 100644 --- a/gen.tab/unidata/ArabicShaping.txt +++ b/gen.tab/unidata/ArabicShaping.txt @@ -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 @@ -79,9 +81,13 @@ # 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: @@ -262,6 +268,7 @@ # Syriac Characters +070F; SYRIAC ABBREVIATION MARK; T; No_Joining_Group 0710; ALAPH; R; ALAPH 0712; BETH; D; BETH 0713; GAMAL; D; GAMAL @@ -554,6 +561,7 @@ 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 diff --git a/gen.tab/unidata/BidiBrackets.txt b/gen.tab/unidata/BidiBrackets.txt index 2114e63..c505861 100644 --- a/gen.tab/unidata/BidiBrackets.txt +++ b/gen.tab/unidata/BidiBrackets.txt @@ -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 # diff --git a/gen.tab/unidata/BidiMirroring.txt b/gen.tab/unidata/BidiMirroring.txt index cbb61c4..b3135c0 100644 --- a/gen.tab/unidata/BidiMirroring.txt +++ b/gen.tab/unidata/BidiMirroring.txt @@ -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. @@ -44,7 +44,26 @@ # # 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. # # ############################################################ # @@ -83,9 +102,16 @@ 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 @@ -147,6 +173,7 @@ 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 @@ -220,6 +247,7 @@ 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 @@ -258,6 +286,19 @@ 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 @@ -273,6 +314,8 @@ 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 @@ -290,6 +333,8 @@ 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 @@ -298,8 +343,18 @@ 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 @@ -312,6 +367,10 @@ 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 @@ -324,8 +383,16 @@ 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 @@ -338,6 +405,12 @@ 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 @@ -354,10 +427,12 @@ 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 diff --git a/gen.tab/unidata/ReadMe.txt b/gen.tab/unidata/ReadMe.txt index 1ba7a9d..80e957c 100644 --- a/gen.tab/unidata/ReadMe.txt +++ b/gen.tab/unidata/ReadMe.txt @@ -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. diff --git a/gen.tab/unidata/UnicodeData.txt b/gen.tab/unidata/UnicodeData.txt index d89c64f..ec32faf 100644 --- a/gen.tab/unidata/UnicodeData.txt +++ b/gen.tab/unidata/UnicodeData.txt @@ -1362,6 +1362,7 @@ 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 @@ -1401,6 +1402,7 @@ 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; 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;;;;; @@ -1488,6 +1490,7 @@ 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;;;; @@ -1982,6 +1985,9 @@ 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;;;;; @@ -2112,6 +2118,7 @@ 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;;;;; @@ -2379,6 +2386,7 @@ 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;;;;; @@ -2458,6 +2466,7 @@ 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;;;;; @@ -2715,6 +2724,7 @@ 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;;;;; @@ -2811,6 +2821,7 @@ 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;;;;; @@ -3667,54 +3678,54 @@ 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; 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;;;;; @@ -5513,6 +5524,7 @@ 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;;;;; @@ -6388,6 +6400,52 @@ 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;;;;; @@ -9559,7 +9617,7 @@ 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;;;;; @@ -10092,6 +10150,9 @@ 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;;;;; @@ -10113,10 +10174,50 @@ 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; @@ -10650,6 +10751,11 @@ 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;;;;; @@ -11286,6 +11392,7 @@ 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; 1100;;;;N;HANGUL LETTER GIYEOG;;;; 3132;HANGUL LETTER SSANGKIYEOK;Lo;0;L; 1101;;;;N;HANGUL LETTER SSANG GIYEOG;;;; 3133;HANGUL LETTER KIYEOK-SIOS;Lo;0;L; 11AA;;;;N;HANGUL LETTER GIYEOG SIOS;;;; @@ -12052,7 +12159,7 @@ 4DFE;HEXAGRAM FOR AFTER COMPLETION;So;0;ON;;;;;N;;;;; 4DFF;HEXAGRAM FOR BEFORE COMPLETION;So;0;ON;;;;;N;;;;; 4E00;;Lo;0;L;;;;;N;;;;; -9FEA;;Lo;0;L;;;;;N;;;;; +9FEF;;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; 0126;;;;N;;;;; A7F9;MODIFIER LETTER SMALL LIGATURE OE;Lm;0;L; 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;;Lo;0;L;;;;;N;;;;; -187EC;;Lo;0;L;;;;;N;;;;; +187F1;;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; 0041;;;;N;;;;; 1D401;MATHEMATICAL BOLD CAPITAL B;Lu;0;L; 0042;;;;N;;;;; 1D402;MATHEMATICAL BOLD CAPITAL C;Lu;0;L; 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; 0627;;;;N;;;;; 1EE01;ARABIC MATHEMATICAL BEH;Lo;0;AL; 0628;;;;N;;;;; 1EE02;ARABIC MATHEMATICAL JEEM;Lo;0;AL; 062C;;;;N;;;;; @@ -29012,6 +29601,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; 1F12C;CIRCLED ITALIC LATIN CAPITAL LETTER R;So;0;L; 0052;;;;N;;;;; 1F12D;CIRCLED CD;So;0;L; 0043 0044;;;;N;;;;; 1F12E;CIRCLED WZ;So;0;L; 0057 005A;;;;N;;;;; +1F12F;COPYLEFT SYMBOL;So;0;ON;;;;;N;;;;; 1F130;SQUARED LATIN CAPITAL LETTER A;So;0;L; 0041;;;;N;;;;; 1F131;SQUARED LATIN CAPITAL LETTER B;So;0;L; 0042;;;;N;;;;; 1F132;SQUARED LATIN CAPITAL LETTER C;So;0;L; 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;;Lo;0;L;;;;;N;;;;; 2A6D6;;Lo;0;L;;;;;N;;;;; 2A700;;Lo;0;L;;;;;N;;;;; diff --git a/lib/Makefile.in b/lib/Makefile.in index 62834ee..54f7a68 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -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@ diff --git a/lib/fribidi-bidi.c b/lib/fribidi-bidi.c index 873489c..713fff6 100644 --- a/lib/fribidi-bidi.c +++ b/lib/fribidi-bidi.c @@ -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= LOCAL_BRACKET_SIZE) + { + int i; + /* Only need to free the non static members */ + for (i=LOCAL_BRACKET_SIZE; ibracket_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; } diff --git a/lib/fribidi-char-sets-cap-rtl.c b/lib/fribidi-char-sets-cap-rtl.c index f471f79..b0c0e4a 100644 --- a/lib/fribidi-char-sets-cap-rtl.c +++ b/lib/fribidi-char-sets-cap-rtl.c @@ -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 diff --git a/lib/fribidi-deprecated.c b/lib/fribidi-deprecated.c index 862e51e..12a13d2 100644 --- a/lib/fribidi-deprecated.c +++ b/lib/fribidi-deprecated.c @@ -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; diff --git a/ltmain.sh b/ltmain.sh index 0f0a2da..30be9c8 100644 --- 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" diff --git a/meson.build b/meson.build index be44318..f173987 100644 --- a/meson.build +++ b/meson.build @@ -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 --- 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 diff --git a/test-driver b/test-driver index 0218a01..de1e61d 100755 --- a/test-driver +++ b/test-driver @@ -1,4 +1,4 @@ -#! /bin/sh +#!/bin/sh # test-driver - basic testsuite driver script. scriptversion=2016-01-11.22; # UTC diff --git a/test/Makefile.am b/test/Makefile.am index 9224152..f075e75 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -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 \ diff --git a/test/Makefile.in b/test/Makefile.in index c914695..3e2ce24 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -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 index 0000000..3845185 --- /dev/null +++ b/test/test_CapRTL_isolate.input @@ -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 index 0000000..c2fc6c3 --- /dev/null +++ b/test/test_CapRTL_isolate.reference @@ -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 diff --git a/test/unicode-conformance/BidiCharacterTest.c b/test/unicode-conformance/BidiCharacterTest.c index 791f911..cf3f676 100644 --- a/test/unicode-conformance/BidiCharacterTest.c +++ b/test/unicode-conformance/BidiCharacterTest.c @@ -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<