diff options
Diffstat (limited to 'Build/source/libs/harfbuzz')
14 files changed, 135 insertions, 46 deletions
diff --git a/Build/source/libs/harfbuzz/ChangeLog b/Build/source/libs/harfbuzz/ChangeLog index f0ede661a80..e5512ddd239 100644 --- a/Build/source/libs/harfbuzz/ChangeLog +++ b/Build/source/libs/harfbuzz/ChangeLog @@ -1,3 +1,8 @@ +2020-08-29 Akira Kakuto <kakuto@w32tex.org> + + Import harfbuzz-2.7.2. + * version.ac: Adjusted. + 2020-08-14 Akira Kakuto <kakuto@w32tex.org> Import harfbuzz-2.7.1. diff --git a/Build/source/libs/harfbuzz/TLpatches/ChangeLog b/Build/source/libs/harfbuzz/TLpatches/ChangeLog index d0780af3c0d..742a04cb928 100644 --- a/Build/source/libs/harfbuzz/TLpatches/ChangeLog +++ b/Build/source/libs/harfbuzz/TLpatches/ChangeLog @@ -1,3 +1,8 @@ +2020-08-29 Akira Kakuto <kakuto@w32tex.org> + + Imported harfbuzz-2.7.2 source tree from: + https://github.com/harfbuzz/harfbuzz/releases/download/2.7.2/ + 2020-08-14 Akira Kakuto <kakuto@w32tex.org> Imported harfbuzz-2.7.1 source tree from: diff --git a/Build/source/libs/harfbuzz/TLpatches/TL-Changes b/Build/source/libs/harfbuzz/TLpatches/TL-Changes index da9482e0403..f93a5cd553e 100644 --- a/Build/source/libs/harfbuzz/TLpatches/TL-Changes +++ b/Build/source/libs/harfbuzz/TLpatches/TL-Changes @@ -1,5 +1,5 @@ -Changes applied to the harfbuzz-2.7.1/ tree as obtained from: - https://github.com/harfbuzz/harfbuzz/releases/download/2.7.1/ +Changes applied to the harfbuzz-2.7.2/ tree as obtained from: + https://github.com/harfbuzz/harfbuzz/releases/download/2.7.2/ Removed: COPYING diff --git a/Build/source/libs/harfbuzz/configure b/Build/source/libs/harfbuzz/configure index 053d8523a8f..aea1a8284c7 100755 --- a/Build/source/libs/harfbuzz/configure +++ b/Build/source/libs/harfbuzz/configure @@ -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.7.1. +# Generated by GNU Autoconf 2.69 for harfbuzz (TeX Live) 2.7.2. # # Report bugs to <tex-k@tug.org>. # @@ -580,8 +580,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='harfbuzz (TeX Live)' PACKAGE_TARNAME='harfbuzz--tex-live-' -PACKAGE_VERSION='2.7.1' -PACKAGE_STRING='harfbuzz (TeX Live) 2.7.1' +PACKAGE_VERSION='2.7.2' +PACKAGE_STRING='harfbuzz (TeX Live) 2.7.2' PACKAGE_BUGREPORT='tex-k@tug.org' PACKAGE_URL='' @@ -1311,7 +1311,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 harfbuzz (TeX Live) 2.7.1 to adapt to many kinds of systems. +\`configure' configures harfbuzz (TeX Live) 2.7.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1382,7 +1382,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of harfbuzz (TeX Live) 2.7.1:";; + short | recursive ) echo "Configuration of harfbuzz (TeX Live) 2.7.2:";; esac cat <<\_ACEOF @@ -1487,7 +1487,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -harfbuzz (TeX Live) configure 2.7.1 +harfbuzz (TeX Live) configure 2.7.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2123,7 +2123,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 harfbuzz (TeX Live) $as_me 2.7.1, which was +It was created by harfbuzz (TeX Live) $as_me 2.7.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -4047,7 +4047,7 @@ fi # Define the identity of the package. PACKAGE='harfbuzz--tex-live-' - VERSION='2.7.1' + VERSION='2.7.2' # Some tools Automake needs. @@ -4241,8 +4241,8 @@ WARNING_CFLAGS=$kpse_cv_warning_cflags HB_VERSION_MAJOR=2 HB_VERSION_MINOR=7 -HB_VERSION_MICRO=1 -HB_VERSION=2.7.1 +HB_VERSION_MICRO=2 +HB_VERSION=2.7.2 ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -7919,7 +7919,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 harfbuzz (TeX Live) $as_me 2.7.1, which was +This file was extended by harfbuzz (TeX Live) $as_me 2.7.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -7985,7 +7985,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="\\ -harfbuzz (TeX Live) config.status 2.7.1 +harfbuzz (TeX Live) config.status 2.7.2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog b/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog index ff6db630b18..32fbe469569 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog +++ b/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog @@ -1,3 +1,76 @@ +commit 9c98b2b9a9e43669c5e2b37eaa41b1e07de1ede3 +Author: Khaled Hosny <khaledhosny@eglug.org> +Date: Sat Aug 29 00:39:42 2020 +0200 + + 2.7.2 + + NEWS | 9 ++++++++- + configure.ac | 2 +- + meson.build | 2 +- + src/hb-version.h | 4 ++-- + 4 files changed, 12 insertions(+), 5 deletions(-) + +commit c0a76cb5192f6c334c6713444ac5a02d59faaf74 +Merge: fcddf3b9 a495a542 +Author: Khaled Hosny <dr.khaled.hosny@gmail.com> +Date: Sat Aug 29 00:14:01 2020 +0300 + + Merge pull request #2660 from harfbuzz/arabic-shaping-in-use + + [USE] Fix assertion failure for joining scripts + +commit a495a54236d69def7e8b1293f2887f18a6b2fecc +Author: David Corbett <corbett.dav@northeastern.edu> +Date: Fri Aug 28 14:33:25 2020 -0400 + + Ignore T & U when determining the joining scripts + + src/gen-arabic-joining-list.py | 2 ++ + src/hb-ot-shape-complex-arabic-joining-list.hh | 1 - + 2 files changed, 2 insertions(+), 1 deletion(-) + +commit 420a74f7725bec2d3d4688fda226163b06f9a564 +Author: David Corbett <corbett.dav@northeastern.edu> +Date: Fri Aug 28 14:11:48 2020 -0400 + + [USE] Fix assertion failure for joining scripts + + src/hb-ot-shape-complex-use.cc | 2 +- + test/shaping/data/in-house/tests/use.tests | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) + +commit fcddf3b9b43e391a9ec33c823ef22827d18a1fb9 +Author: ebraminio <ebrahim@gnu.org> +Date: Fri Aug 14 10:19:33 2020 +0430 + + [docs] Minor in TESTING.md + + Start the fuzzer with test/fuzzing/fonts seeds + + TESTING.md | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 99b8a84cc50346b6788a67eadfe0ebe17545724a +Author: ebraminio <ebrahim@gnu.org> +Date: Fri Aug 14 10:14:14 2020 +0430 + + [docs] Reorder TESTING.md sections + + And use --reconfigure where makes sense + + TESTING.md | 42 ++++++++++++++++++++---------------------- + 1 file changed, 20 insertions(+), 22 deletions(-) + +commit 1e48225ca312a955cc7f4a4b7683492e83d77117 +Author: ebraminio <ebrahim@gnu.org> +Date: Thu Aug 13 23:22:14 2020 +0430 + + [ENOMEM] Check whether serialize context isn't in error + + src/hb-ot-shape-complex-arabic-fallback.hh | 4 ++-- + ...uzz-testcase-minimized-hb-shape-fuzzer-5138182937772032 | Bin 0 -> 68 bytes + 2 files changed, 2 insertions(+), 2 deletions(-) + commit 05ef75c55340400d4b318bd24d742653bbf825d9 Author: Ebrahim Byagowi <ebrahim@gnu.org> Date: Thu Aug 13 20:52:03 2020 +0430 diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/NEWS b/Build/source/libs/harfbuzz/harfbuzz-src/NEWS index 7816ea58e8b..f211a3781c9 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-src/NEWS +++ b/Build/source/libs/harfbuzz/harfbuzz-src/NEWS @@ -1,5 +1,12 @@ +Overview of changes leading to 2.7.2 +Saturday, August 29, 2020 +==================================== +- Fix a regression in the previous release that caused a crash with Kaithi. +- More OOM fixes. + + Overview of changes leading to 2.7.1 -Thursday, Aug 13, 2020 +Thursday, August 13, 2020 ==================================== - ot-funcs now handles variable empty glyphs better when hvar/vvar isn't present. - Reverted a GDEF processing regression. diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/TESTING.md b/Build/source/libs/harfbuzz/harfbuzz-src/TESTING.md index bc5f80d10ec..c722834559d 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-src/TESTING.md +++ b/Build/source/libs/harfbuzz/harfbuzz-src/TESTING.md @@ -1,56 +1,54 @@ -## Build & Run +## Build and Test + +```shell +meson build +ninja -Cbuild +meson test -Cbuild +``` + +### Debug with GDB + +```shell +meson test -Cbuild --gdb testname +``` + +## Build and Run Depending on what area you are working in change or add `HB_DEBUG_<whatever>`. Values defined in `hb-debug.hh`. ```shell -CPPFLAGS='-DHB_DEBUG_SUBSET=100' meson setup build +CPPFLAGS='-DHB_DEBUG_SUBSET=100' meson setup build --reconfigure meson test -C build ``` ### Run tests with asan ```shell -meson setup build -Db_sanitize=address +meson setup build -Db_sanitize=address --reconfigure meson compile -C build meson test -C build ``` -### Debug with GDB - -``` -meson setup build -meson compile -C build -meson test -C build --gdb testname -``` - ### Enable Debug Logging ```shell -CPPFLAGS=-DHB_DEBUG_SUBSET=100 meson build +CPPFLAGS=-DHB_DEBUG_SUBSET=100 meson build --reconfigure ninja -C build ``` -## Build and Test - -```shell -meson build -ninja -Cbuild -meson test -Cbuild -``` - ## Test with the Fuzzer ```shell -CXXFLAGS="-fsanitize=address,fuzzer-no-link" meson build --default-library=static -Dfuzzer_ldflags="-fsanitize=address,fuzzer" -Dexperimental_api=true -ninja -C build test/fuzzing/hb-{shape,draw,subset,set}-fuzzer -build/test/fuzzing/hb-subset-fuzzer +CXXFLAGS="-fsanitize=address,fuzzer-no-link" meson fuzzbuild --default-library=static -Dfuzzer_ldflags="-fsanitize=address,fuzzer" -Dexperimental_api=true +ninja -Cfuzzbuild test/fuzzing/hb-{shape,draw,subset,set}-fuzzer +fuzzbuild/test/fuzzing/hb-subset-fuzzer test/fuzzing/fonts ``` ## Profiling ``` -meson build +meson build --reconfigure meson compile -C build build/perf/perf ``` diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac b/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac index 53eb80f2ad8..a3c8a61a03e 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac +++ b/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac @@ -1,6 +1,6 @@ AC_PREREQ([2.64]) AC_INIT([HarfBuzz], - [2.7.1], + [2.7.2], [https://github.com/harfbuzz/harfbuzz/issues/new], [harfbuzz], [http://harfbuzz.org/]) diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/meson.build b/Build/source/libs/harfbuzz/harfbuzz-src/meson.build index 2c477737b32..bf3925dbc88 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-src/meson.build +++ b/Build/source/libs/harfbuzz/harfbuzz-src/meson.build @@ -1,6 +1,6 @@ project('harfbuzz', 'c', 'cpp', meson_version: '>= 0.47.0', - version: '2.7.1', + version: '2.7.2', default_options: [ 'cpp_eh=none', # Just to support msvc, we are passing -fno-rtti also anyway 'cpp_rtti=false', # Just to support msvc, we are passing -fno-exceptions also anyway diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/gen-arabic-joining-list.py b/Build/source/libs/harfbuzz/harfbuzz-src/src/gen-arabic-joining-list.py index 78c44c35db8..8162a4a3e26 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-src/src/gen-arabic-joining-list.py +++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/gen-arabic-joining-list.py @@ -54,6 +54,8 @@ def read_joining_uu (f): fields = [x.strip () for x in line.split (';')] if len (fields) == 1: continue + if fields[2] in {'T', 'U'}: + continue values.add (int (fields[0], 16)) diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-arabic-fallback.hh b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-arabic-fallback.hh index 262ab8a1fab..244e967b12d 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-arabic-fallback.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-arabic-fallback.hh @@ -92,7 +92,7 @@ arabic_fallback_synthesize_lookup_single (const hb_ot_shape_plan_t *plan HB_UNUS hb_array (substitutes, num_glyphs)); c.end_serialize (); - return ret ? c.copy<OT::SubstLookup> () : nullptr; + return ret && !c.in_error () ? c.copy<OT::SubstLookup> () : nullptr; } static OT::SubstLookup * @@ -170,7 +170,7 @@ arabic_fallback_synthesize_lookup_ligature (const hb_ot_shape_plan_t *plan HB_UN c.end_serialize (); /* TODO sanitize the results? */ - return ret ? c.copy<OT::SubstLookup> () : nullptr; + return ret && !c.in_error () ? c.copy<OT::SubstLookup> () : nullptr; } static OT::SubstLookup * diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-arabic-joining-list.hh b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-arabic-joining-list.hh index 1403103336d..c022d4bb06b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-arabic-joining-list.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-arabic-joining-list.hh @@ -25,7 +25,6 @@ has_arabic_joining (hb_script_t script) case HB_SCRIPT_ARABIC: case HB_SCRIPT_CHORASMIAN: case HB_SCRIPT_HANIFI_ROHINGYA: - case HB_SCRIPT_KAITHI: case HB_SCRIPT_MANDAIC: case HB_SCRIPT_MANICHAEAN: case HB_SCRIPT_MONGOLIAN: diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-use.cc b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-use.cc index 981df2d5970..a1e25bdd806 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-use.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-use.cc @@ -36,7 +36,7 @@ #include "hb-ot-shape-complex-vowel-constraints.hh" /* buffer var allocations */ -#define use_category() complex_var_u8_0() +#define use_category() complex_var_u8_1() /* diff --git a/Build/source/libs/harfbuzz/version.ac b/Build/source/libs/harfbuzz/version.ac index cd73cc673f6..2531b5699b3 100644 --- a/Build/source/libs/harfbuzz/version.ac +++ b/Build/source/libs/harfbuzz/version.ac @@ -8,4 +8,4 @@ dnl dnl -------------------------------------------------------- dnl dnl m4-include this file to define the current harfbuzz version -m4_define([harfbuzz_version], [2.7.1]) +m4_define([harfbuzz_version], [2.7.2]) |