texlive[48954] Build/source/libs: harfbuzz 2.0.1

commits+kakuto at tug.org commits+kakuto at tug.org
Sat Oct 20 09:22:18 CEST 2018


Revision: 48954
          http://tug.org/svn/texlive?view=revision&revision=48954
Author:   kakuto
Date:     2018-10-20 09:22:17 +0200 (Sat, 20 Oct 2018)
Log Message:
-----------
harfbuzz 2.0.1

Modified Paths:
--------------
    trunk/Build/source/libs/README
    trunk/Build/source/libs/harfbuzz/ChangeLog
    trunk/Build/source/libs/harfbuzz/TLpatches/ChangeLog
    trunk/Build/source/libs/harfbuzz/TLpatches/TL-Changes
    trunk/Build/source/libs/harfbuzz/configure
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/BUILD.md
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/CMakeLists.txt
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/NEWS
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/README.python.md
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/README.wine.md
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/RELEASING.md
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/Makefile.am
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-aat-layout-ankr-table.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-aat-layout-common.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-aat-layout-kerx-table.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-aat-layout-trak-table.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-common.cc
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-coretext.cc
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-font.cc
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-font.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-machinery.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-map.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-null.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-open-file.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-open-type.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-common.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gdef-table.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gpos-table.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsub-table.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsubgpos.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-tag.cc
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-var-hvar-table.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-var-mvar-table.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-shape-plan.cc
    trunk/Build/source/libs/harfbuzz/version.ac

Modified: trunk/Build/source/libs/README
===================================================================
--- trunk/Build/source/libs/README	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/README	2018-10-20 07:22:17 UTC (rev 48954)
@@ -25,7 +25,7 @@
   http://sourceforge.net/projects/silgraphite/files/graphite2/
   (requires C++11)
 
-harfbuzz 2.0.0 - checked 20oct18
+harfbuzz 2.0.1 - checked 20oct18
   http://www.freedesktop.org/software/harfbuzz/release/
 
 icu 61.1 - checked 29mar18

Modified: trunk/Build/source/libs/harfbuzz/ChangeLog
===================================================================
--- trunk/Build/source/libs/harfbuzz/ChangeLog	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/ChangeLog	2018-10-20 07:22:17 UTC (rev 48954)
@@ -1,5 +1,10 @@
 2018-10-20  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
+	Import harfbuzz-2.0.1.
+	* version.ac: Adjusted.
+
+2018-10-20  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
+
 	Import harfbuzz-2.0.0.
 	* version.ac, Makefile.am, include/Makefile.am: Adjusted.
 

Modified: trunk/Build/source/libs/harfbuzz/TLpatches/ChangeLog
===================================================================
--- trunk/Build/source/libs/harfbuzz/TLpatches/ChangeLog	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/TLpatches/ChangeLog	2018-10-20 07:22:17 UTC (rev 48954)
@@ -1,5 +1,10 @@
 2018-10-20  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
+	Imported harfbuzz-2.0.1 source tree from:
+	  http://www.freedesktop.org/software/harfbuzz/release/
+
+2018-10-20  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
+
 	Imported harfbuzz-2.0.0 source tree from:
 	  http://www.freedesktop.org/software/harfbuzz/release/
 

Modified: trunk/Build/source/libs/harfbuzz/TLpatches/TL-Changes
===================================================================
--- trunk/Build/source/libs/harfbuzz/TLpatches/TL-Changes	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/TLpatches/TL-Changes	2018-10-20 07:22:17 UTC (rev 48954)
@@ -1,4 +1,4 @@
-Changes applied to the harfbuzz-2.0.0/ tree as obtained from:
+Changes applied to the harfbuzz-2.0.1/ tree as obtained from:
 	http://www.freedesktop.org/software/harfbuzz/release/
 
 Removed:

Modified: trunk/Build/source/libs/harfbuzz/configure
===================================================================
--- trunk/Build/source/libs/harfbuzz/configure	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/configure	2018-10-20 07:22:17 UTC (rev 48954)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for harfbuzz (TeX Live) 2.0.0.
+# Generated by GNU Autoconf 2.69 for harfbuzz (TeX Live) 2.0.1.
 #
 # Report bugs to <tex-k at tug.org>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='harfbuzz (TeX Live)'
 PACKAGE_TARNAME='harfbuzz--tex-live-'
-PACKAGE_VERSION='2.0.0'
-PACKAGE_STRING='harfbuzz (TeX Live) 2.0.0'
+PACKAGE_VERSION='2.0.1'
+PACKAGE_STRING='harfbuzz (TeX Live) 2.0.1'
 PACKAGE_BUGREPORT='tex-k at tug.org'
 PACKAGE_URL=''
 
@@ -1317,7 +1317,7 @@
   # 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 harfbuzz (TeX Live) 2.0.0 to adapt to many kinds of systems.
+\`configure' configures harfbuzz (TeX Live) 2.0.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1388,7 +1388,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of harfbuzz (TeX Live) 2.0.0:";;
+     short | recursive ) echo "Configuration of harfbuzz (TeX Live) 2.0.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1495,7 +1495,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-harfbuzz (TeX Live) configure 2.0.0
+harfbuzz (TeX Live) configure 2.0.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2131,7 +2131,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by harfbuzz (TeX Live) $as_me 2.0.0, which was
+It was created by harfbuzz (TeX Live) $as_me 2.0.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -4054,7 +4054,7 @@
 
 # Define the identity of the package.
  PACKAGE='harfbuzz--tex-live-'
- VERSION='2.0.0'
+ VERSION='2.0.1'
 
 
 # Some tools Automake needs.
@@ -4248,8 +4248,8 @@
 
 HB_VERSION_MAJOR=2
 HB_VERSION_MINOR=0
-HB_VERSION_MICRO=0
-HB_VERSION=2.0.0
+HB_VERSION_MICRO=1
+HB_VERSION=2.0.1
 
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -8143,7 +8143,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by harfbuzz (TeX Live) $as_me 2.0.0, which was
+This file was extended by harfbuzz (TeX Live) $as_me 2.0.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -8209,7 +8209,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-harfbuzz (TeX Live) config.status 2.0.0
+harfbuzz (TeX Live) config.status 2.0.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/BUILD.md
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/BUILD.md	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/BUILD.md	2018-10-20 07:22:17 UTC (rev 48954)
@@ -26,7 +26,7 @@
 library in `src/`, and a few utility programs including `hb-view` and `hb-shape`
 under `util/`.
 
-If you are bootstraping from git, you need a few more tools before you can
+If you are bootstrapping from git, you need a few more tools before you can
 run `autogen.sh` for the first time. Namely, `pkg-config` and `ragel`.
 
 Again, on Ubuntu / Debian:

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/CMakeLists.txt
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/CMakeLists.txt	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/CMakeLists.txt	2018-10-20 07:22:17 UTC (rev 48954)
@@ -107,10 +107,10 @@
 include (CheckIncludeFile)
 macro (check_funcs) # Similar to AC_CHECK_FUNCS of autotools
   foreach (func_name ${ARGN})
-    string(TOUPPER ${func_name} definiton_to_add)
-    check_function_exists(${func_name} HAVE_${definiton_to_add})
-    if (${HAVE_${definiton_to_add}})
-      add_definitions(-DHAVE_${definiton_to_add})
+    string(TOUPPER ${func_name} definition_to_add)
+    check_function_exists(${func_name} HAVE_${definition_to_add})
+    if (${HAVE_${definition_to_add}})
+      add_definitions(-DHAVE_${definition_to_add})
     endif ()
   endforeach ()
 endmacro ()

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog	2018-10-20 07:22:17 UTC (rev 48954)
@@ -1,3 +1,276 @@
+commit 7c2c8ac301b526da8b5384d6b90f156ca096568e
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Fri Oct 19 19:37:46 2018 -0700
+
+    2.0.1
+
+ NEWS             | 15 ++++++++++++++-
+ configure.ac     |  2 +-
+ src/hb-version.h |  4 ++--
+ 3 files changed, 17 insertions(+), 4 deletions(-)
+
+commit 5a24ea15e0c242c3e2a4a49980da3ab7dd61a3df
+Author: Bruce Mitchener <bruce.mitchener at gmail.com>
+Date:   Sat Oct 20 08:09:52 2018 +0700
+
+    Make more 'coords' params const.
+
+ src/hb-ot-layout-common.hh   | 8 ++++----
+ src/hb-ot-layout-gsubgpos.hh | 2 +-
+ src/hb-ot-var-hvar-table.hh  | 2 +-
+ src/hb-ot-var-mvar-table.hh  | 2 +-
+ 4 files changed, 7 insertions(+), 7 deletions(-)
+
+commit 08b7172969b442cc83b47f44e685a0495b2d8cd4
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Fri Oct 19 19:12:33 2018 -0700
+
+    [font] Fix parallel funcs passing to eachover in infinite-loop
+
+    Fixes test just added.
+
+ src/hb-font.cc | 20 +++++++++++++-------
+ src/hb-font.hh |  8 ++++++++
+ 2 files changed, 21 insertions(+), 7 deletions(-)
+
+commit 77d5c3df07bec8e9d2dd57f89d5810b768bdc4f5
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Fri Oct 19 19:01:01 2018 -0700
+
+    [font] Add failing test amongst font-func parallels infinite-looping
+
+    Reported by Nona while updating Android to HarfBuzz 2.0.0.
+
+ test/api/test-font.c | 64
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 64 insertions(+)
+
+commit 29d877518fc2c29083cd7b955b422087966235f7
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Fri Oct 19 16:06:54 2018 -0700
+
+    [kerx] Implement variation-kerning tables (without the variation part)
+
+    SFSNDisplay uses these.  We just apply the default kern without
+    variations right now.  But at least makes the default kern work.
+
+ src/hb-aat-layout-kerx-table.hh | 37
+ +++++++++++++++++++++++++++++--------
+ 1 file changed, 29 insertions(+), 8 deletions(-)
+
+commit f7c0b4319c6f82f1e0020a0029469d8953a7a161
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Fri Oct 19 15:23:49 2018 -0700
+
+    [aat] Implement LookupFormat10
+
+ src/hb-aat-layout-ankr-table.hh |  6 +++--
+ src/hb-aat-layout-common.hh     | 55
+ ++++++++++++++++++++++++++++++++++++++---
+ src/hb-machinery.hh             |  4 +++
+ src/hb-open-type.hh             |  3 +++
+ 4 files changed, 63 insertions(+), 5 deletions(-)
+
+commit 257ded1f9ec653d15e79d2ea0a83bd8c5c53d831
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Fri Oct 19 11:20:14 2018 -0700
+
+    [trak] Fix test for previous fix
+
+ test/shaping/data/in-house/tests/aat-trak.tests | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 72bb139b807c21f1569058fb5fb260dcdd81eba4
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Fri Oct 19 11:15:35 2018 -0700
+
+    [RELEASING] Post-mortem
+
+    Re https://github.com/harfbuzz/harfbuzz/issues/1271
+
+ RELEASING.md | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 79b63561552bdfe8dc67a450d740fda8802486ad
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Fri Oct 19 11:00:20 2018 -0700
+
+    [trak] Fix extrapolation at end side
+
+ src/hb-aat-layout-trak-table.hh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 2352cc3539b2e58d0481cdb8b9cd48cbc09a778e
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Fri Oct 19 09:58:45 2018 -0700
+
+    [kerx] Whitespace
+
+ src/hb-aat-layout-kerx-table.hh | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 114f66dda6a07d61b5e64da5c44b05db7aa51cc9
+Author: Ebrahim Byagowi <ebrahim at gnu.org>
+Date:   Fri Oct 19 12:05:26 2018 +0330
+
+    Fix hb_map_is_empty logic
+
+    This needs reviewing
+
+ src/hb-map.hh       |  2 +-
+ test/api/test-map.c | 13 ++++++++-----
+ 2 files changed, 9 insertions(+), 6 deletions(-)
+
+commit 9df2fb1611e03e401f0d5a9432b440641085ba1e
+Author: Ebrahim Byagowi <ebrahim at gnu.org>
+Date:   Fri Oct 19 12:04:47 2018 +0330
+
+    Add API tests for hb_map_t
+
+ src/Makefile.am      |   2 +-
+ test/api/Makefile.am |   6 ++-
+ test/api/test-map.c  | 114
+ +++++++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 120 insertions(+), 2 deletions(-)
+
+commit 8a5eba711069285e8d8b6d682eea0090256527bb
+Author: Ebrahim Byagowi <ebrahim at gnu.org>
+Date:   Fri Oct 19 10:20:16 2018 +0330
+
+    [test] cosmetic, use g_assert_cmpint
+
+ test/api/test-ot-name.c | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+commit c6eb5e852c24e12fec3138cf9def5eb76acedfd6
+Author: Ebrahim Byagowi <ebrahim at gnu.org>
+Date:   Fri Oct 19 10:14:25 2018 +0330
+
+    Don't report deprecated symbols as unused symbols
+
+ src/Makefile.am      | 2 ++
+ test/api/Makefile.am | 4 +++-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+commit 34f357c78a7a530fdb3580ec9d3d865600c06128
+Author: Ebrahim Byagowi <ebrahim at gnu.org>
+Date:   Fri Oct 19 10:13:53 2018 +0330
+
+    Add test for hb_set_del
+
+ test/api/test-set.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 4594730f64e534e975065afce925b581fd9c6acd
+Author: Bruce Mitchener <bruce.mitchener at gmail.com>
+Date:   Fri Oct 19 22:12:25 2018 +0700
+
+    Remove redundant return at end of void-returning function.
+
+ src/hb-ot-layout-gsubgpos.hh | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 093c7c4a54b37f5b12ad21e2d67f109597d068b1
+Author: Ebrahim Byagowi <ebrahim at gnu.org>
+Date:   Fri Oct 19 18:46:41 2018 +0330
+
+    [ci] Run valgrind on test/api
+
+    run-shape-fuzzer-tests.py automatically runs valgrind if see available
+    but test/api runs it by request, we probably should normalize the
+    approaches
+    later
+
+ .circleci/config.yml | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit 8d1e479d1dcf7789be99a6cd0db0b883a90299dc
+Author: Bruce Mitchener <bruce.mitchener at gmail.com>
+Date:   Thu Oct 18 22:18:42 2018 +0700
+
+    Use bool literals instead of 0/1.
+
+ src/hb-common.cc               | 2 +-
+ src/hb-coretext.cc             | 4 ++--
+ src/hb-ot-layout-gpos-table.hh | 2 +-
+ src/hb-ot-tag.cc               | 2 +-
+ src/hb-shape-plan.cc           | 8 ++++----
+ 5 files changed, 9 insertions(+), 9 deletions(-)
+
+commit 257d0e5aa36fd5b3e54e04918ce12bb7d7e0d177
+Author: Bruce Mitchener <bruce.mitchener at gmail.com>
+Date:   Fri Oct 19 22:49:21 2018 +0700
+
+    Fix typos.
+
+ BUILD.md                       | 2 +-
+ CMakeLists.txt                 | 8 ++++----
+ README.python.md               | 2 +-
+ README.wine.md                 | 6 +++---
+ src/hb-machinery.hh            | 2 +-
+ src/hb-null.hh                 | 4 ++--
+ src/hb-open-file.hh            | 2 +-
+ src/hb-ot-layout-common.hh     | 2 +-
+ src/hb-ot-layout-gdef-table.hh | 2 +-
+ src/hb-ot-layout-gsub-table.hh | 2 +-
+ src/hb-ot-layout-gsubgpos.hh   | 2 +-
+ 11 files changed, 17 insertions(+), 17 deletions(-)
+
+commit b7cef8cb1dfaf1f0f2c0d79b96b171049b69466a
+Author: Ebrahim Byagowi <ebrahim at gnu.org>
+Date:   Fri Oct 19 09:24:21 2018 +0330
+
+    Enable valgrind and dedicate a bot to it
+
+ .circleci/config.yml                   | 13 +++++++++++++
+ test/fuzzing/run-shape-fuzzer-tests.py | 31
+ +++++++++++++++++++++++++++++++
+ 2 files changed, 44 insertions(+)
+
+commit bccd09d6c7baa99fdaccb8c5b3ff7e1834edd3bf
+Author: Ebrahim Byagowi <ebrahim at gnu.org>
+Date:   Fri Oct 19 09:06:42 2018 +0330
+
+    Minor, tweak spaces on hb-shape-fuzzer.cc
+
+ test/fuzzing/hb-shape-fuzzer.cc | 42
+ ++++++++++++++++++++---------------------
+ 1 file changed, 21 insertions(+), 21 deletions(-)
+
+commit fbf665b307c8cc9f16f5897671bfdd8719a195b5
+Author: Ebrahim Byagowi <ebrahim at gnu.org>
+Date:   Fri Oct 19 08:09:53 2018 +0330
+
+    [fuzz] Add more found cases (#1275)
+
+ ...clusterfuzz-testcase-hb-shape-fuzzer-5728971283496960 | Bin 0 ->
+ 101 bytes
+ ...terfuzz-testcase-minimized-hb-fuzzer-5713868010553344 | Bin 0 ->
+ 370 bytes
+ ...terfuzz-testcase-minimized-hb-fuzzer-6278851874258944 | Bin 0 ->
+ 598 bytes
+ ...z-testcase-minimized-hb-shape-fuzzer-5649959857160192 | Bin 0 ->
+ 3608 bytes
+ ...z-testcase-minimized-hb-shape-fuzzer-5664873493561344 | Bin 0 ->
+ 400 bytes
+ ...z-testcase-minimized-hb-shape-fuzzer-5762953198960640 | Bin 0 ->
+ 62 bytes
+ ...z-testcase-minimized-hb-shape-fuzzer-5764636557705216 | Bin 0 ->
+ 2184 bytes
+ ...-testcase-minimized-hb-subset-fuzzer-5690658895953920 | Bin 0 ->
+ 2735 bytes
+ ...-testcase-minimized-hb-subset-fuzzer-5695279609675776 | Bin 0 ->
+ 135 bytes
+ ...-testcase-minimized-hb-subset-fuzzer-5718215406125056 | Bin 0 ->
+ 107 bytes
+ ...-testcase-minimized-hb-subset-fuzzer-5743250149736448 | Bin 0 ->
+ 103 bytes
+ ...-testcase-minimized-hb-subset-fuzzer-5765071062958080 | Bin 0 ->
+ 329 bytes
+ ...ized-hb-subset-get-codepoints-fuzzer-5930139383758848 | Bin 0 ->
+ 9410 bytes
+ 13 files changed, 0 insertions(+), 0 deletions(-)
+
 commit 3d9a0306ebb48706778fd2c487c3cacc7d508d6c
 Author: Behdad Esfahbod <behdad at behdad.org>
 Date:   Thu Oct 18 05:58:17 2018 -0700

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/NEWS
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/NEWS	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/NEWS	2018-10-20 07:22:17 UTC (rev 48954)
@@ -1,5 +1,18 @@
+Overview of changes leading to 2.0.1
+Friday, October 19, 2018
+====================================
+- Fix hb-version.h reported release version that went wrong (1.8.0)
+  with previous release.
+- Fix extrapolation in 'trak' table.
+- Fix hb-font infinite-recursion issue with some font funcs and
+  subclassed fonts.
+- Implement variation-kerning format in kerx table, although without
+  variation.
+- Fix return value of hb_map_is_empty().
+
+
 Overview of changes leading to 2.0.0
-Wednesday, October 17, 2018
+Thursday, October 18, 2018
 ====================================
 - Added AAT shaping support (morx/kerx/trak).
   Automatically used if GSUB/GPOS are not available respectively.

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/README.python.md
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/README.python.md	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/README.python.md	2018-10-20 07:22:17 UTC (rev 48954)
@@ -23,7 +23,7 @@
 $prefix/lib/girepository-* directory.
 
 Make sure you have pygobject installed.  Then check that the following
-import works in your Python interpretter:
+import works in your Python interpreter:
 
 ```python
 from gi.repository import HarfBuzz

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/README.wine.md
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/README.wine.md	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/README.wine.md	2018-10-20 07:22:17 UTC (rev 48954)
@@ -1,6 +1,6 @@
 For the development of HarfBuzz, the Microsoft shaping technology, Uniscribe,
 as a widely used and tested shaper is used as more-or-less OpenType reference
-implemenetation and that specially is important where OpenType specification
+implementation and that specially is important where OpenType specification
 is or wasn't that clear. For having access to Uniscribe on Linux/macOS these
 steps are recommended:
 
@@ -27,8 +27,8 @@
 Now you can use hb-shape using `wine winbuild/util/hb-shape.exe` but if you like to
 to use the original Uniscribe,
 
-8. Bring a 32bit version of `usp10.dll` for youself from `C:\Windows\SysWOW64\usp10.dll` of your
-   Windows installation (asuming you have a 64-bit installation, otherwise `C:\Windows\System32\usp10.dll`)
+8. Bring a 32bit version of `usp10.dll` for yourself from `C:\Windows\SysWOW64\usp10.dll` of your
+   Windows installation (assuming you have a 64-bit installation, otherwise `C:\Windows\System32\usp10.dll`)
    that it is not a DirectWrite proxy ([for more info](https://en.wikipedia.org/wiki/Uniscribe)).
    Rule of thumb, your `usp10.dll` should have a size more than 500kb, otherwise
    it is designed to work with DirectWrite which Wine can't work with its original one.

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/RELEASING.md
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/RELEASING.md	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/RELEASING.md	2018-10-20 07:22:17 UTC (rev 48954)
@@ -27,7 +27,10 @@
    Otherwise, fix things and commit them separately before making release,
    Note: Check src/hb-version.h and make sure the new version number is
    there.  Sometimes, it does not get updated.  If that's the case,
-   "touch configure.ac" and rebuild.  TODO: debug.
+   "touch configure.ac" and rebuild.  Also check that there is no hb-version.h
+   in your build/src file. Typically it will fail the distcheck if there is.
+   That's what happened to 2.0.0 going out with 1.8.0 hb-version.h...  So, that's
+   a clue.
 
 7. "make release-files".  Enter your GPG password.  This creates a sha256 hash
    and signs it.

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac	2018-10-20 07:22:17 UTC (rev 48954)
@@ -1,6 +1,6 @@
 AC_PREREQ([2.64])
 AC_INIT([HarfBuzz],
-        [2.0.0],
+        [2.0.1],
         [https://github.com/harfbuzz/harfbuzz/issues/new],
         [harfbuzz],
         [http://harfbuzz.org/])

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/Makefile.am
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/Makefile.am	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/Makefile.am	2018-10-20 07:22:17 UTC (rev 48954)
@@ -269,7 +269,7 @@
 CLEANFILES += $(pkgconfig_DATA)
 
 
-DEF_FILES = harfbuzz.def harfbuzz-subset.def harfbuzz-icu.def
+DEF_FILES = harfbuzz.def harfbuzz-subset.def harfbuzz-icu.def harfbuzz-deprecated.def
 if HAVE_GOBJECT
 DEF_FILES += harfbuzz-gobject.def
 endif
@@ -283,6 +283,8 @@
 	$(AM_V_GEN) $(srcdir)/gen-def.py "$@" $^
 harfbuzz-gobject.def: $(HB_GOBJECT_headers)
 	$(AM_V_GEN) $(srcdir)/gen-def.py "$@" $^
+harfbuzz-deprecated.def: $(srcdir)/hb-deprecated.h
+	$(AM_V_GEN) $(srcdir)/gen-def.py "$@" $^
 
 
 GENERATORS = \

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-aat-layout-ankr-table.hh
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-aat-layout-ankr-table.hh	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-aat-layout-ankr-table.hh	2018-10-20 07:22:17 UTC (rev 48954)
@@ -63,8 +63,10 @@
 				   unsigned int num_glyphs,
 				   const char *end) const
   {
-    unsigned int offset = (this+lookupTable).get_value_or_null (glyph_id, num_glyphs);
-    const GlyphAnchors &anchors = StructAtOffset<GlyphAnchors> (&(this+anchorData), offset);
+    const Offset<HBUINT16, false> *offset = (this+lookupTable).get_value (glyph_id, num_glyphs);
+    if (!offset)
+      return Null(Anchor);
+    const GlyphAnchors &anchors = StructAtOffset<GlyphAnchors> (&(this+anchorData), *offset);
     /* TODO Use sanitizer; to avoid overflows and more. */
     if (unlikely ((const char *) &anchors + anchors.get_size () > end))
       return Null(Anchor);

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-aat-layout-common.hh
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-aat-layout-common.hh	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-aat-layout-common.hh	2018-10-20 07:22:17 UTC (rev 48954)
@@ -247,6 +247,48 @@
 };
 
 template <typename T>
+struct LookupFormat10
+{
+  friend struct Lookup<T>;
+
+  private:
+  inline const typename T::type get_value_or_null (hb_codepoint_t glyph_id) const
+  {
+    if (!(firstGlyph <= glyph_id && glyph_id - firstGlyph < glyphCount))
+      return Null(T);
+
+    const HBUINT8 *p = &valueArrayZ[(glyph_id - firstGlyph) * valueSize];
+
+    unsigned int v = 0;
+    unsigned int count = valueSize;
+    for (unsigned int i = 0; i < count; i++)
+      v = (v << 8) | *p++;
+
+    return v;
+  }
+
+  inline bool sanitize (hb_sanitize_context_t *c) const
+  {
+    TRACE_SANITIZE (this);
+    return_trace (c->check_struct (this) &&
+		  valueSize <= 4 &&
+		  valueArrayZ.sanitize (c, glyphCount * valueSize));
+  }
+
+  protected:
+  HBUINT16	format;		/* Format identifier--format = 8 */
+  HBUINT16	valueSize;	/* Byte size of each value. */
+  GlyphID	firstGlyph;	/* First glyph index included in the trimmed array. */
+  HBUINT16	glyphCount;	/* Total number of glyphs (equivalent to the last
+				 * glyph minus the value of firstGlyph plus 1). */
+  UnsizedArrayOf<HBUINT8>
+		valueArrayZ;	/* The lookup values (indexed by the glyph index
+				 * minus the value of firstGlyph). */
+  public:
+  DEFINE_SIZE_ARRAY (6, valueArrayZ);
+};
+
+template <typename T>
 struct Lookup
 {
   inline const T* get_value (hb_codepoint_t glyph_id, unsigned int num_glyphs) const
@@ -261,10 +303,15 @@
     }
   }
 
-  inline const T& get_value_or_null (hb_codepoint_t glyph_id, unsigned int num_glyphs) const
+  inline const typename T::type get_value_or_null (hb_codepoint_t glyph_id, unsigned int num_glyphs) const
   {
-    const T *v = get_value (glyph_id, num_glyphs);
-    return v ? *v : Null(T);
+    switch (u.format) {
+      /* Format 10 cannot return a pointer. */
+      case 10: return u.format10.get_value_or_null (glyph_id);
+      default:
+      const T *v = get_value (glyph_id, num_glyphs);
+      return v ? *v : Null(T);
+    }
   }
 
   inline bool sanitize (hb_sanitize_context_t *c) const
@@ -277,6 +324,7 @@
     case 4: return_trace (u.format4.sanitize (c));
     case 6: return_trace (u.format6.sanitize (c));
     case 8: return_trace (u.format8.sanitize (c));
+    case 10: return_trace (u.format10.sanitize (c));
     default:return_trace (true);
     }
   }
@@ -289,6 +337,7 @@
   LookupFormat4<T>	format4;
   LookupFormat6<T>	format6;
   LookupFormat8<T>	format8;
+  LookupFormat10<T>	format10;
   } u;
   public:
   DEFINE_SIZE_UNION (2, format);

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-aat-layout-kerx-table.hh
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-aat-layout-kerx-table.hh	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-aat-layout-kerx-table.hh	2018-10-20 07:22:17 UTC (rev 48954)
@@ -45,6 +45,21 @@
 using namespace OT;
 
 
+static inline int
+kerxTupleKern (int value,
+	       unsigned int tupleCount,
+	       const void *base,
+	       hb_aat_apply_context_t *c)
+{
+  if (likely (!tupleCount)) return value;
+
+  unsigned int offset = value;
+  const FWORD *pv = &StructAtOffset<FWORD> (base, offset);
+  if (unlikely (!pv->sanitize (&c->sanitizer))) return 0;
+  return *pv;
+}
+
+
 struct KerxSubTableHeader
 {
   inline bool sanitize (hb_sanitize_context_t *c) const
@@ -65,6 +80,7 @@
 {
   inline int get_kerning (hb_codepoint_t left, hb_codepoint_t right) const
   {
+    if (header.tupleCount) return 0; /* TODO kerxTupleKern */
     hb_glyph_pair_t pair = {left, right};
     int i = pairs.bsearch (pair);
     return i == -1 ? 0 : pairs[i].get_kerning ();
@@ -143,12 +159,12 @@
 
       if (flags & Reset)
       {
-        depth = 0;
+	depth = 0;
       }
 
       if (flags & Push)
       {
-        if (likely (depth < ARRAY_LENGTH (stack)))
+	if (likely (depth < ARRAY_LENGTH (stack)))
 	  stack[depth++] = buffer->idx;
 	else
 	  depth = 0; /* Probably not what CoreText does, but better? */
@@ -157,7 +173,7 @@
       if (entry->data.kernActionIndex != 0xFFFF)
       {
 	const FWORD *actions = &kernAction[entry->data.kernActionIndex];
-        if (!c->sanitizer.check_array (actions, depth))
+	if (!c->sanitizer.check_array (actions, depth))
 	{
 	  depth = 0;
 	  return false;
@@ -164,7 +180,7 @@
 	}
 
 	hb_mask_t kern_mask = c->plan->kern_mask;
-        for (unsigned int i = 0; i < depth; i++)
+	for (unsigned int i = 0; i < depth; i++)
 	{
 	  /* Apparently, when spec says "Each pops one glyph from the kerning stack
 	   * and applies the kerning value to it.", it doesn't mean it in that order.
@@ -201,6 +217,9 @@
     if (!c->plan->requested_kerning)
       return false;
 
+    if (header.tupleCount)
+      return_trace (false); /* TODO kerxTupleKern */
+
     driver_context_t dc (this, c);
 
     StateTableDriver<EntryData> driver (machine, c->buffer, c->font->face);
@@ -236,7 +255,7 @@
     unsigned int offset = l + r;
     const FWORD *v = &StructAtOffset<FWORD> (&(this+array), offset);
     if (unlikely (!v->sanitize (&c->sanitizer))) return 0;
-    return *v;
+    return kerxTupleKern (*v, header.tupleCount, this, c);
   }
 
   inline bool apply (hb_aat_apply_context_t *c) const
@@ -482,7 +501,7 @@
       if (unlikely (hb_unsigned_mul_overflows (offset, sizeof (FWORD32)))) return 0;
       const FWORD32 *v = &StructAtOffset<FWORD32> (&(this+t.array), offset * sizeof (FWORD32));
       if (unlikely (!v->sanitize (&c->sanitizer))) return 0;
-      return *v;
+      return kerxTupleKern (*v, header.tupleCount, &(this+vector), c);
     }
     else
     {
@@ -492,7 +511,7 @@
       unsigned int offset = l + r;
       const FWORD *v = &StructAtOffset<FWORD> (&(this+t.array), offset * sizeof (FWORD));
       if (unlikely (!v->sanitize (&c->sanitizer))) return 0;
-      return *v;
+      return kerxTupleKern (*v, header.tupleCount, &(this+vector), c);
     }
   }
 
@@ -523,7 +542,9 @@
 			     u.s.rowIndexTable.sanitize (c, this) &&
 			     u.s.columnIndexTable.sanitize (c, this) &&
 			     c->check_range (this, u.s.array)
-			   ))));
+			   )) &&
+			  (header.tupleCount == 0 ||
+			   c->check_range (this, vector))));
   }
 
   struct accelerator_t
@@ -559,8 +580,9 @@
       LOffsetTo<UnsizedArrayOf<FWORD>, false>	array;
     } s;
   } u;
+  LOffsetTo<UnsizedArrayOf<FWORD>, false>	vector;
   public:
-  DEFINE_SIZE_STATIC (32);
+  DEFINE_SIZE_STATIC (36);
 };
 
 struct KerxTable
@@ -642,9 +664,8 @@
     {
       bool reverse;
 
-      if (table->u.header.coverage & (KerxTable::CrossStream | KerxTable::Variation) ||
-	  table->u.header.tupleCount)
-	goto skip; /* We do NOT handle cross-stream or variation kerning. */
+      if (table->u.header.coverage & (KerxTable::CrossStream))
+	goto skip; /* We do NOT handle cross-stream. */
 
       if (HB_DIRECTION_IS_VERTICAL (c->buffer->props.direction) !=
 	  bool (table->u.header.coverage & KerxTable::Vertical))

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-aat-layout-trak-table.hh
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-aat-layout-trak-table.hh	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-aat-layout-trak-table.hh	2018-10-20 07:22:17 UTC (rev 48954)
@@ -136,7 +136,7 @@
     /* TODO bfind() */
     hb_array_t<Fixed> size_table ((base+sizeTable).arrayZ, sizes);
     unsigned int size_index;
-    for (size_index = 0; size_index < sizes; size_index++)
+    for (size_index = 0; size_index < sizes - 1; size_index++)
       if (size_table[size_index].to_float () >= csspx)
         break;
 

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-common.cc
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-common.cc	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-common.cc	2018-10-20 07:22:17 UTC (rev 48954)
@@ -45,7 +45,7 @@
 {
   hb_options_union_t u;
   u.i = 0;
-  u.opts.initialized = 1;
+  u.opts.initialized = true;
 
   const char *c = getenv ("HB_OPTIONS");
   if (c)

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-coretext.cc
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-coretext.cc	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-coretext.cc	2018-10-20 07:22:17 UTC (rev 48954)
@@ -643,7 +643,7 @@
   CFStringRef string_ref = nullptr;
   CTLineRef line = nullptr;
 
-  if (0)
+  if (false)
   {
 resize_and_retry:
     DEBUG_MSG (CORETEXT, buffer, "Buffer resize");
@@ -1054,7 +1054,7 @@
      *
      * https://crbug.com/419769
      */
-    if (0)
+    if (false)
     {
       /* Make sure all runs had the expected direction. */
       bool backward = HB_DIRECTION_IS_BACKWARD (buffer->props.direction);

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-font.cc
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-font.cc	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-font.cc	2018-10-20 07:22:17 UTC (rev 48954)
@@ -103,7 +103,7 @@
 				   hb_codepoint_t *glyph,
 				   void *user_data HB_UNUSED)
 {
-  if (font->has_nominal_glyphs_func ())
+  if (font->has_nominal_glyphs_func_set ())
   {
     return font->get_nominal_glyphs (1, &unicode, 0, glyph, 0);
   }
@@ -121,7 +121,7 @@
 				    unsigned int glyph_stride,
 				    void *user_data HB_UNUSED)
 {
-  if (font->has_nominal_glyph_func ())
+  if (font->has_nominal_glyph_func_set ())
   {
     for (unsigned int i = 0; i < count; i++)
     {
@@ -176,7 +176,7 @@
 				     hb_codepoint_t glyph,
 				     void *user_data HB_UNUSED)
 {
-  if (font->has_glyph_h_advances_func ())
+  if (font->has_glyph_h_advances_func_set ())
   {
     hb_position_t ret;
     font->get_glyph_h_advances (1, &glyph, 0, &ret, 0);
@@ -200,7 +200,7 @@
 				     hb_codepoint_t glyph,
 				     void *user_data HB_UNUSED)
 {
-  if (font->has_glyph_v_advances_func ())
+  if (font->has_glyph_v_advances_func_set ())
   {
     hb_position_t ret;
     font->get_glyph_v_advances (1, &glyph, 0, &ret, 0);
@@ -220,7 +220,7 @@
 				      unsigned int advance_stride,
 				      void *user_data HB_UNUSED)
 {
-  if (font->has_glyph_h_advance_func ())
+  if (font->has_glyph_h_advance_func_set ())
   {
     for (unsigned int i = 0; i < count; i++)
     {
@@ -252,7 +252,7 @@
 				      unsigned int advance_stride,
 				      void *user_data HB_UNUSED)
 {
-  if (font->has_glyph_v_advance_func ())
+  if (font->has_glyph_v_advance_func_set ())
   {
     for (unsigned int i = 0; i < count; i++)
     {
@@ -688,9 +688,15 @@
 #undef HB_FONT_FUNC_IMPLEMENT
 
 bool
+hb_font_t::has_func_set (unsigned int i)
+{
+  return this->klass->get.array[i] != _hb_font_funcs_default.get.array[i];
+}
+
+bool
 hb_font_t::has_func (unsigned int i)
 {
-  return (this->klass->get.array[i] != _hb_font_funcs_default.get.array[i]) ||
+  return has_func_set (i) ||
 	 (parent && parent != &_hb_Null_hb_font_t && parent->has_func (i));
 }
 

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-font.hh
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-font.hh	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-font.hh	2018-10-20 07:22:17 UTC (rev 48954)
@@ -171,6 +171,7 @@
   /* Public getters */
 
   HB_INTERNAL bool has_func (unsigned int i);
+  HB_INTERNAL bool has_func_set (unsigned int i);
 
   /* has_* ... */
 #define HB_FONT_FUNC_IMPLEMENT(name) \
@@ -180,6 +181,13 @@
     hb_font_funcs_t *funcs = this->klass; \
     unsigned int i = offsetof (hb_font_funcs_t::get_t::get_funcs_t, name) / sizeof (funcs->get.array[0]); \
     return has_func (i); \
+  } \
+  bool \
+  has_##name##_func_set (void) \
+  { \
+    hb_font_funcs_t *funcs = this->klass; \
+    unsigned int i = offsetof (hb_font_funcs_t::get_t::get_funcs_t, name) / sizeof (funcs->get.array[0]); \
+    return has_func_set (i); \
   }
   HB_FONT_FUNCS_IMPLEMENT_CALLBACKS
 #undef HB_FONT_FUNC_IMPLEMENT

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-machinery.hh
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-machinery.hh	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-machinery.hh	2018-10-20 07:22:17 UTC (rev 48954)
@@ -204,7 +204,7 @@
  * The same argument can be made re GSUB/GPOS/GDEF, but there, the table
  * structure is so complicated that by checking all offsets at sanitize() time,
  * we make the code much simpler in other methods, as offsets and referenced
- * objectes do not need to be validated at each use site.
+ * objects do not need to be validated at each use site.
  */
 
 /* This limits sanitizing time on really broken fonts. */
@@ -652,6 +652,7 @@
 struct BEInt<Type, 1>
 {
   public:
+  typedef Type type;
   inline void set (Type V)
   {
     v = V;
@@ -666,6 +667,7 @@
 struct BEInt<Type, 2>
 {
   public:
+  typedef Type type;
   inline void set (Type V)
   {
     v[0] = (V >>  8) & 0xFF;
@@ -682,6 +684,7 @@
 struct BEInt<Type, 3>
 {
   public:
+  typedef Type type;
   inline void set (Type V)
   {
     v[0] = (V >> 16) & 0xFF;
@@ -700,6 +703,7 @@
 struct BEInt<Type, 4>
 {
   public:
+  typedef Type type;
   inline void set (Type V)
   {
     v[0] = (V >> 24) & 0xFF;

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-map.hh
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-map.hh	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-map.hh	2018-10-20 07:22:17 UTC (rev 48954)
@@ -172,7 +172,7 @@
 
   inline bool is_empty (void) const
   {
-    return population != 0;
+    return population == 0;
   }
 
   inline unsigned int get_population () const

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-null.hh
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-null.hh	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-null.hh	2018-10-20 07:22:17 UTC (rev 48954)
@@ -49,7 +49,7 @@
 }
 #define Null(Type) Null<Type>()
 
-/* Specializaitons for arbitrary-content Null objects expressed in bytes. */
+/* Specializations for arbitrary-content Null objects expressed in bytes. */
 #define DECLARE_NULL_NAMESPACE_BYTES(Namespace, Type) \
 	} /* Close namespace. */ \
 	extern HB_INTERNAL const unsigned char _hb_Null_##Namespace##_##Type[Namespace::Type::min_size]; \
@@ -62,7 +62,7 @@
 #define DEFINE_NULL_NAMESPACE_BYTES(Namespace, Type) \
 	const unsigned char _hb_Null_##Namespace##_##Type[Namespace::Type::min_size]
 
-/* Specializaitons for arbitrary-content Null objects expressed as struct initializer. */
+/* Specializations for arbitrary-content Null objects expressed as struct initializer. */
 #define DECLARE_NULL_INSTANCE(Type) \
 	extern HB_INTERNAL const Type _hb_Null_##Type; \
 	template <> \

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-open-file.hh
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-open-file.hh	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-open-file.hh	2018-10-20 07:22:17 UTC (rev 48954)
@@ -160,7 +160,7 @@
 
       memcpy (start, hb_blob_get_data (blob, nullptr), rec.length);
 
-      /* 4-byte allignment. */
+      /* 4-byte alignment. */
       c->align (4);
       const char *end = (const char *) c->head;
 

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-open-type.hh
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-open-type.hh	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-open-type.hh	2018-10-20 07:22:17 UTC (rev 48954)
@@ -56,6 +56,7 @@
 template <typename Type, unsigned int Size>
 struct IntType
 {
+  typedef Type type;
   inline void set (Type i) { v.set (i); }
   inline operator Type(void) const { return v; }
   inline bool operator == (const IntType<Type,Size> &o) const { return (Type) v == (Type) o.v; }
@@ -161,6 +162,8 @@
 template <typename Type, bool has_null=true>
 struct Offset : Type
 {
+  typedef Type type;
+
   inline bool is_null (void) const { return has_null && 0 == *this; }
 
   inline void *serialize (hb_serialize_context_t *c, const void *base)

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-common.hh
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-common.hh	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-common.hh	2018-10-20 07:22:17 UTC (rev 48954)
@@ -718,7 +718,7 @@
     return_trace (true);
   }
 
-  /* Older compileres need this to NOT be locally defined in a function. */
+  /* Older compilers need this to NOT be locally defined in a function. */
   template <typename TSubTable>
   struct SubTableSubsetWrapper
   {
@@ -1475,7 +1475,7 @@
 struct VarRegionList
 {
   inline float evaluate (unsigned int region_index,
-			 int *coords, unsigned int coord_len) const
+			 const int *coords, unsigned int coord_len) const
   {
     if (unlikely (region_index >= regionCount))
       return 0.;
@@ -1520,7 +1520,7 @@
   { return itemCount * get_row_size (); }
 
   inline float get_delta (unsigned int inner,
-			  int *coords, unsigned int coord_count,
+			  const int *coords, unsigned int coord_count,
 			  const VarRegionList &regions) const
   {
     if (unlikely (inner >= itemCount))
@@ -1573,7 +1573,7 @@
 struct VariationStore
 {
   inline float get_delta (unsigned int outer, unsigned int inner,
-			  int *coords, unsigned int coord_count) const
+			  const int *coords, unsigned int coord_count) const
   {
     if (unlikely (outer >= dataSets.len))
       return 0.;
@@ -1584,7 +1584,7 @@
   }
 
   inline float get_delta (unsigned int index,
-			  int *coords, unsigned int coord_count) const
+			  const int *coords, unsigned int coord_count) const
   {
     unsigned int outer = index >> 16;
     unsigned int inner = index & 0xFFFF;

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gdef-table.hh
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gdef-table.hh	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gdef-table.hh	2018-10-20 07:22:17 UTC (rev 48954)
@@ -388,7 +388,7 @@
   { return version.to_int () >= 0x00010003u ? this+varStore : Null(VariationStore); }
 
   /* glyph_props is a 16-bit integer where the lower 8-bit have bits representing
-   * glyph class and other bits, and high 8-bit gthe mark attachment type (if any).
+   * glyph class and other bits, and high 8-bit the mark attachment type (if any).
    * Not to be confused with lookup_props which is very similar. */
   inline unsigned int get_glyph_props (hb_codepoint_t glyph) const
   {

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gpos-table.hh
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gpos-table.hh	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gpos-table.hh	2018-10-20 07:22:17 UTC (rev 48954)
@@ -1164,7 +1164,7 @@
 	   ))
 	break;
       skippy_iter.reject ();
-    } while (1);
+    } while (true);
 
     /* Checking that matched glyph is actually a base glyph by GDEF is too strong; disabled */
     //if (!_hb_glyph_info_is_base_glyph (&buffer->info[skippy_iter.idx])) { return_trace (false); }

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsub-table.hh
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsub-table.hh	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsub-table.hh	2018-10-20 07:22:17 UTC (rev 48954)
@@ -103,7 +103,7 @@
     TRACE_SERIALIZE (this);
     if (unlikely (!c->extend_min (*this))) return_trace (false);
     if (unlikely (!coverage.serialize (c, this).serialize (c, glyphs, num_glyphs))) return_trace (false);
-    deltaGlyphID.set (delta); /* TODO(serilaize) overflow? */
+    deltaGlyphID.set (delta); /* TODO(serialize) overflow? */
     return_trace (true);
   }
 

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsubgpos.hh
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsubgpos.hh	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsubgpos.hh	2018-10-20 07:22:17 UTC (rev 48954)
@@ -199,8 +199,6 @@
     after  = old_after;
 
     recursed_lookups->add (lookup_index);
-
-    return;
   }
 
   hb_face_t *face;
@@ -582,7 +580,7 @@
       add_in |= HB_OT_LAYOUT_GLYPH_PROPS_LIGATED;
       /* In the only place that the MULTIPLIED bit is used, Uniscribe
        * seems to only care about the "last" transformation between
-       * Ligature and Multiple substitions.  Ie. if you ligate, expand,
+       * Ligature and Multiple substitutions.  Ie. if you ligate, expand,
        * and ligate again, it forgives the multiplication and acts as
        * if only ligation happened.  As such, clear MULTIPLIED bit.
        */
@@ -903,7 +901,7 @@
 }
 static inline bool ligate_input (hb_ot_apply_context_t *c,
 				 unsigned int count, /* Including the first glyph */
-				 unsigned int match_positions[HB_MAX_CONTEXT_LENGTH], /* Including the first glyph */
+				 const unsigned int match_positions[HB_MAX_CONTEXT_LENGTH], /* Including the first glyph */
 				 unsigned int match_length,
 				 hb_codepoint_t lig_glyph,
 				 unsigned int total_component_count)

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-tag.cc
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-tag.cc	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-tag.cc	2018-10-20 07:22:17 UTC (rev 48954)
@@ -201,7 +201,7 @@
     if (!ISALNUM (s[strlen (subtag)]))
       return true;
     lang_str = s + strlen (subtag);
-  } while (1);
+  } while (true);
 }
 
 static hb_bool_t

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-var-hvar-table.hh
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-var-hvar-table.hh	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-var-hvar-table.hh	2018-10-20 07:22:17 UTC (rev 48954)
@@ -115,7 +115,7 @@
   }
 
   inline float get_advance_var (hb_codepoint_t glyph,
-				int *coords, unsigned int coord_count) const
+				const int *coords, unsigned int coord_count) const
   {
     unsigned int varidx = (this+advMap).map (glyph);
     return (this+varStore).get_delta (varidx, coords, coord_count);

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-var-mvar-table.hh
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-var-mvar-table.hh	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-var-mvar-table.hh	2018-10-20 07:22:17 UTC (rev 48954)
@@ -72,7 +72,7 @@
   }
 
   inline float get_var (hb_tag_t tag,
-			int *coords, unsigned int coord_count) const
+			const int *coords, unsigned int coord_count) const
   {
     const VariationValueRecord *record;
     record = (VariationValueRecord *) bsearch (&tag, valuesZ.arrayZ,

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-shape-plan.cc
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-shape-plan.cc	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-shape-plan.cc	2018-10-20 07:22:17 UTC (rev 48954)
@@ -64,7 +64,7 @@
 
   if (likely (!shaper_list)) {
     for (unsigned int i = 0; i < HB_SHAPERS_COUNT; i++)
-      if (0)
+      if (false)
 	;
 #define HB_SHAPER_IMPLEMENT(shaper) \
       else if (shapers[i].func == _hb_##shaper##_shape) \
@@ -73,7 +73,7 @@
 #undef HB_SHAPER_IMPLEMENT
   } else {
     for (; *shaper_list; shaper_list++)
-      if (0)
+      if (false)
 	;
 #define HB_SHAPER_IMPLEMENT(shaper) \
       else if (0 == strcmp (*shaper_list, #shaper)) \
@@ -346,7 +346,7 @@
 		 _hb_##shaper##_shape (shape_plan, font, buffer, features, num_features); \
 	} HB_STMT_END
 
-  if (0)
+  if (false)
     ;
 #define HB_SHAPER_IMPLEMENT(shaper) \
   else if (shape_plan->shaper_func == _hb_##shaper##_shape) \
@@ -501,7 +501,7 @@
     /* Choose shaper.  Adapted from hb_shape_plan_plan().
      * Must choose shaper exactly the same way as that function. */
     for (const char * const *shaper_item = shaper_list; *shaper_item; shaper_item++)
-      if (0)
+      if (false)
 	;
 #define HB_SHAPER_IMPLEMENT(shaper) \
       else if (0 == strcmp (*shaper_item, #shaper) && \

Modified: trunk/Build/source/libs/harfbuzz/version.ac
===================================================================
--- trunk/Build/source/libs/harfbuzz/version.ac	2018-10-20 04:37:38 UTC (rev 48953)
+++ trunk/Build/source/libs/harfbuzz/version.ac	2018-10-20 07:22:17 UTC (rev 48954)
@@ -8,4 +8,4 @@
 dnl --------------------------------------------------------
 dnl
 dnl  m4-include this file to define the current harfbuzz version
-m4_define([harfbuzz_version], [2.0.0])
+m4_define([harfbuzz_version], [2.0.1])



More information about the tex-live-commits mailing list