summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2022-04-24 23:31:44 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2022-04-24 23:31:44 +0000
commit0a724be58b4ae6b71c4300427bc2dfe570aa1f66 (patch)
tree9e7071318d9cbdf3c422248897c62fabd1f8afe6 /Build
parent8847b8b44e8edc2c6371af6c3c063571e4bd2207 (diff)
harfbuzz 4.2.1
git-svn-id: svn://tug.org/texlive/trunk@63128 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/libs/README4
-rw-r--r--Build/source/libs/harfbuzz/ChangeLog5
-rw-r--r--Build/source/libs/harfbuzz/TLpatches/ChangeLog5
-rw-r--r--Build/source/libs/harfbuzz/TLpatches/TL-Changes4
-rwxr-xr-xBuild/source/libs/harfbuzz/configure24
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-src/CMakeLists.txt4
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog404
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-src/NEWS12
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-src/README.md6
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-src/configure.ac2
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-src/meson.build2
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-src/src/check-static-inits.py2
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-src/src/hb-aat-layout-morx-table.hh4
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-src/src/hb-blob.cc4
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsubgpos.hh14
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-khmer.cc9
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-myanmar.cc3
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape.cc26
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-src/src/main.cc20
-rw-r--r--Build/source/libs/harfbuzz/version.ac2
20 files changed, 497 insertions, 59 deletions
diff --git a/Build/source/libs/README b/Build/source/libs/README
index 5b46bf55f05..860e33a0698 100644
--- a/Build/source/libs/README
+++ b/Build/source/libs/README
@@ -25,8 +25,8 @@ graphite2 1.3.14 - checked 10apr20
http://sourceforge.net/projects/silgraphite/files/graphite2/
(requires C++11)
-harfbuzz 4.2.0 - checked 04apr22
- https://github.com/harfbuzz/harfbuzz/releases/download/4.2.0/
+harfbuzz 4.2.1 - checked 25apr22
+ https://github.com/harfbuzz/harfbuzz/releases/download/4.2.1/
icu 70.1 - checked 16jan22
https://github.com/unicode-org/icu/releases/
diff --git a/Build/source/libs/harfbuzz/ChangeLog b/Build/source/libs/harfbuzz/ChangeLog
index 1cb21554445..296b421ac35 100644
--- a/Build/source/libs/harfbuzz/ChangeLog
+++ b/Build/source/libs/harfbuzz/ChangeLog
@@ -1,3 +1,8 @@
+2022-04-25 Akira Kakuto <kakuto@jcom.zaq.ne.jp>
+
+ Import harfbuzz-4.2.1.
+ * version.ac: Adjusted.
+
2022-04-04 Akira Kakuto <kakuto@jcom.zaq.ne.jp>
Import harfbuzz-4.2.0.
diff --git a/Build/source/libs/harfbuzz/TLpatches/ChangeLog b/Build/source/libs/harfbuzz/TLpatches/ChangeLog
index 0e1212d2739..a8d0e0d8e22 100644
--- a/Build/source/libs/harfbuzz/TLpatches/ChangeLog
+++ b/Build/source/libs/harfbuzz/TLpatches/ChangeLog
@@ -1,3 +1,8 @@
+2022-04-25 Akira Kakuto <kakuto@jcom.zaq.ne.jp>
+
+ Imported harfbuzz-4.2.1 source tree from:
+ https://github.com/harfbuzz/harfbuzz/releases/download/4.2.1/
+
2022-04-04 Akira Kakuto <kakuto@jcom.zaq.ne.jp>
Imported harfbuzz-4.2.0 source tree from:
diff --git a/Build/source/libs/harfbuzz/TLpatches/TL-Changes b/Build/source/libs/harfbuzz/TLpatches/TL-Changes
index c8124ac5c69..aa3c120185a 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-4.2.0/ tree as obtained from:
- https://github.com/harfbuzz/harfbuzz/releases/download/4.2.0/
+Changes applied to the harfbuzz-4.2.1/ tree as obtained from:
+ https://github.com/harfbuzz/harfbuzz/releases/download/4.2.1/
Removed:
COPYING
diff --git a/Build/source/libs/harfbuzz/configure b/Build/source/libs/harfbuzz/configure
index 56837e62396..d20e622349a 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.71 for harfbuzz (TeX Live) 4.2.0.
+# Generated by GNU Autoconf 2.71 for harfbuzz (TeX Live) 4.2.1.
#
# Report bugs to <tex-k@tug.org>.
#
@@ -611,8 +611,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='harfbuzz (TeX Live)'
PACKAGE_TARNAME='harfbuzz--tex-live-'
-PACKAGE_VERSION='4.2.0'
-PACKAGE_STRING='harfbuzz (TeX Live) 4.2.0'
+PACKAGE_VERSION='4.2.1'
+PACKAGE_STRING='harfbuzz (TeX Live) 4.2.1'
PACKAGE_BUGREPORT='tex-k@tug.org'
PACKAGE_URL=''
@@ -1346,7 +1346,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) 4.2.0 to adapt to many kinds of systems.
+\`configure' configures harfbuzz (TeX Live) 4.2.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1418,7 +1418,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of harfbuzz (TeX Live) 4.2.0:";;
+ short | recursive ) echo "Configuration of harfbuzz (TeX Live) 4.2.1:";;
esac
cat <<\_ACEOF
@@ -1523,7 +1523,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-harfbuzz (TeX Live) configure 4.2.0
+harfbuzz (TeX Live) configure 4.2.1
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -2064,7 +2064,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 4.2.0, which was
+It was created by harfbuzz (TeX Live) $as_me 4.2.1, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -4823,7 +4823,7 @@ fi
# Define the identity of the package.
PACKAGE='harfbuzz--tex-live-'
- VERSION='4.2.0'
+ VERSION='4.2.1'
# Some tools Automake needs.
@@ -5035,8 +5035,8 @@ WARNING_CFLAGS=$kpse_cv_warning_cflags
HB_VERSION_MAJOR=4
HB_VERSION_MINOR=2
-HB_VERSION_MICRO=0
-HB_VERSION=4.2.0
+HB_VERSION_MICRO=1
+HB_VERSION=4.2.1
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -8817,7 +8817,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 4.2.0, which was
+This file was extended by harfbuzz (TeX Live) $as_me 4.2.1, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -8885,7 +8885,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-harfbuzz (TeX Live) config.status 4.2.0
+harfbuzz (TeX Live) config.status 4.2.1
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/CMakeLists.txt b/Build/source/libs/harfbuzz/harfbuzz-src/CMakeLists.txt
index 3259ca90ca5..9a1d9032fcd 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-src/CMakeLists.txt
+++ b/Build/source/libs/harfbuzz/harfbuzz-src/CMakeLists.txt
@@ -462,7 +462,9 @@ if (UNIX OR MINGW)
link_libraries(-Bsymbolic-functions)
endif ()
- if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+ # As of CMake 3.0.0, the compiler id for Apple-provided Clang is now "AppleClang";
+ # thus we use MATCHES instead of STREQUAL to include either regular Clang or AppleClang
+ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
# Make sure we don't link to libstdc++
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti -fno-exceptions")
set (CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "m") # libm
diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog b/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog
index 96442fbacc7..db86a790269 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog
+++ b/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog
@@ -1,3 +1,407 @@
+commit f7aee78e90bc53b3a95eb56d7550c9effe569ea2
+Author: Khaled Hosny <khaled@aliftype.com>
+Date: Sun Apr 24 05:47:57 2022 +0200
+
+ 4.2.1
+
+ NEWS | 12 ++++++++++++
+ configure.ac | 2 +-
+ meson.build | 2 +-
+ src/hb-version.h | 4 ++--
+ 4 files changed, 16 insertions(+), 4 deletions(-)
+
+commit 6695bf056065f2e2e56c0e00b9740e6685a8af28
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Apr 22 13:48:41 2022 -0600
+
+ [gsubgpos] Remove wrong condition in Context application
+
+ Fixes https://github.com/harfbuzz/harfbuzz/issues/3545
+
+ src/hb-ot-layout-gsubgpos.hh | 5 -----
+ 1 file changed, 5 deletions(-)
+
+commit 038203de61d67b56b3426015b449178aa661157a
+Author: Khaled Hosny <khaled@aliftype.com>
+Date: Fri Apr 22 01:29:29 2022 +0200
+
+ Remove ABI tracker link
+
+ Seems dead, no update since 2020.
+
+ README.md | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit c8810277bb004ad4ef1c0b2485c0fdecf39764b9
+Author: Khaled Hosny <khaled@aliftype.com>
+Date: Fri Apr 22 01:01:06 2022 +0200
+
+ Update Coverity settings
+
+ .github/workflows/coverity-scan.yml | 6 +++---
+ README.md | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+commit b2d317339a66be756b136d50ad74b328c3acfcec
+Author: Khaled Hosny <khaled@aliftype.com>
+Date: Fri Apr 22 00:47:37 2022 +0200
+
+ Update codacy badge
+
+ README.md | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 6a38c83d4f9b285b66177d8d1757744621de23e2
+Author: Khaled Hosny <khaled@aliftype.com>
+Date: Fri Apr 22 00:39:45 2022 +0200
+
+ Remove coveralls badge
+
+ We stopped pushing coveralls builds since 2020.
+
+ README.md | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 392f201047db16cdbc082217c0fb4e9db86a9097
+Author: Khaled Hosny <khaled@aliftype.com>
+Date: Thu Apr 21 21:24:58 2022 +0200
+
+ [ci] Pin gcovr to version 5.0
+
+ Fixes https://github.com/harfbuzz/harfbuzz/issues/3540
+
+ .github/workflows/linux-ci.yml | 4 ++--
+ .github/workflows/macos-ci.yml | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+commit 4c177de1f597512f61e90039d54afa2f3884eb71
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Apr 21 13:51:37 2022 -0600
+
+ [perf] Err. Remove HUGE font from perf suite
+
+ perf/benchmark-subset.cc | 2 ++
+ perf/fonts/NotoSansCJKsc-VF.ttf | Bin 36144788 -> 0 bytes
+ 2 files changed, 2 insertions(+)
+
+commit 7f7ebdc6bb73bc24d6aa51f2a2c6b214484f5ee4
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Apr 21 11:25:12 2022 -0600
+
+ [perf] Reuse a font
+
+ perf/benchmark-subset.cc | 2 +-
+ perf/fonts/Mplus1p-Regular.ttf | Bin 1757292 -> 0 bytes
+ 2 files changed, 1 insertion(+), 1 deletion(-)
+
+commit 85142f3247c6ee8cb69006872629cd855f5eeb8f
+Author: Garret Rieger <grieger@google.com>
+Date: Wed Apr 20 22:32:54 2022 +0000
+
+ [perf] Add missing ninja command in profiling instructions.
+
+ perf/README.md | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit a5cf917892f31a7197ea9b58d2938f0cae3aaf9e
+Author: Garret Rieger <grieger@google.com>
+Date: Wed Apr 20 22:31:26 2022 +0000
+
+ [perf] Update readme with profiling instructions.
+
+ perf/README.md | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+commit df3ecea773c5f68632e5b4ff0fb5568ce1864272
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Apr 20 16:06:06 2022 -0600
+
+ [perf/perf] Fix run when ttfparser is not available
+
+ perf/perf-draw.hh | 3 +++
+ perf/perf-extents.hh | 3 +++
+ 2 files changed, 6 insertions(+)
+
+commit f48647e58958e17e8a379c74d2f504f893d4c336
+Author: Garret Rieger <grieger@google.com>
+Date: Wed Apr 20 22:08:33 2022 +0000
+
+ In perf/README update meson command line to set release build type.
+
+ perf/README.md | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit b3ce96da3b689dda4910ee72aa3b0f14d73230c7
+Author: Garret Rieger <grieger@google.com>
+Date: Wed Apr 20 21:51:20 2022 +0000
+
+ [perf] Add several more fonts to the subset benchmarks.
+
+ perf/benchmark-subset.cc | 46 ++++++++++++++++++++++++++--------------
+ perf/fonts/Mplus1p-Regular.ttf | Bin 0 -> 1757292 bytes
+ perf/fonts/NotoSansCJKsc-VF.ttf | Bin 0 -> 36144788 bytes
+ 3 files changed, 30 insertions(+), 16 deletions(-)
+
+commit 9ad300360d4fd9dee74e9aca65b2878a791cb64f
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Apr 20 15:53:37 2022 -0600
+
+ [perf/perf-draw] Port to new draw API
+
+ perf/perf-draw.hh | 27 +++++++++++----------------
+ 1 file changed, 11 insertions(+), 16 deletions(-)
+
+commit 23c7c305bb4a8ba0fc70a7818a81f7af5ab1289d
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Apr 20 15:45:37 2022 -0600
+
+ [perf/benchmark-map] Adjust range specifiers
+
+ perf/benchmark-map.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 2b03bcedef6523a2ff3103cd4420561b4a696b6b
+Author: Garret Rieger <grieger@google.com>
+Date: Wed Apr 20 21:34:45 2022 +0000
+
+ [perf] Cleanup range specifiers in set benchmark.
+
+ perf/benchmark-set.cc | 28 ++++++++++++----------------
+ 1 file changed, 12 insertions(+), 16 deletions(-)
+
+commit 178c67003f4554220494ce949723af19582cea7b
+Author: Garret Rieger <grieger@google.com>
+Date: Wed Apr 20 21:19:54 2022 +0000
+
+ [perf] Rework set insert test to not use pause/resume timing.
+
+ These have high overhead which affect the result. Also change set iteration to time the individual iteration operation.
+
+ perf/benchmark-set.cc | 52 +++++++++++++++++++++++++++++++++---------------
+ perf/benchmark-subset.cc | 3 +++
+ 2 files changed, 39 insertions(+), 16 deletions(-)
+
+commit fbd183d0eb4aff0c3e790f58788d361d6640430e
+Author: Garret Rieger <grieger@google.com>
+Date: Wed Apr 20 20:05:14 2022 +0000
+
+ [perf] Start writing subset benchmarks.
+
+ perf/benchmark-subset.cc | 70 ++++++++++++++++++++++++++++++++++++++++++++++++
+ perf/meson.build | 10 +++++++
+ 2 files changed, 80 insertions(+)
+
+commit fc2027bf0709e356f3b66d3bc4edd1e9042e94ee
+Author: Garret Rieger <grieger@google.com>
+Date: Wed Apr 20 19:33:04 2022 +0000
+
+ [perf] Add map benchmarks.
+
+ perf/benchmark-map.cc | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ perf/benchmark-set.cc | 5 ++++
+ perf/meson.build | 16 +++++++++----
+ 3 files changed, 79 insertions(+), 5 deletions(-)
+
+commit 057ec2c95396ddcaf1820f5c9fa6f7986bb010b3
+Author: Garret Rieger <grieger@google.com>
+Date: Wed Apr 20 19:15:03 2022 +0000
+
+ [perf] Add set ieration and lookup benchmarks.
+
+ perf/benchmark-set.cc | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 48 insertions(+)
+
+commit 40975fc3c233af72d5f5591d957d128793e1c2dc
+Author: Garret Rieger <grieger@google.com>
+Date: Wed Apr 20 18:54:36 2022 +0000
+
+ [perf] Add some instructions for building/running benchmarks.
+
+ perf/README.md | 24 ++++++++++++++++++++++++
+ 1 file changed, 24 insertions(+)
+
+commit cef64b947d26c10cbad47ea73e3c9fc9e5c55fc4
+Author: Garret Rieger <grieger@google.com>
+Date: Wed Apr 20 18:36:35 2022 +0000
+
+ [perf] Add the start of a benchmark for set operations.
+
+ perf/benchmark-set.cc | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
+ perf/meson.build | 15 +++++++++++++++
+ 2 files changed, 64 insertions(+)
+
+commit e8b40c7a09607ecf6e2ce0d9bc32b826a5481ad7
+Author: Garret Rieger <grieger@google.com>
+Date: Wed Apr 20 17:47:02 2022 +0000
+
+ Upgrade google benchmark dep to latest version to fix build failure.
+
+ subprojects/.gitignore | 2 +-
+ subprojects/google-benchmark.wrap | 16 +++++++++-------
+ 2 files changed, 10 insertions(+), 8 deletions(-)
+
+commit 8575a8f50c25ce96932f94d50425b1d7de8aeb12
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Apr 21 11:14:09 2022 -0600
+
+ Add _hb_codepoint_is_regional_indicator()
+
+ src/hb-ot-shape.cc | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+commit c1ee7d28f3ea476b6e80a82d1485e91a0efc9c3f
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Apr 20 13:38:05 2022 -0600
+
+ Typo
+
+ Co-authored-by: Khaled Hosny <khaled@aliftype.com>
+
+ src/hb-ot-shape.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4d48fae4f247c789612f6a888aba6abf7906f012
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Apr 20 11:35:19 2022 -0600
+
+ Enforce Regional_Indicators native direction to LTR
+
+ And undo the morx direction reversal change introduced in
+ https://github.com/harfbuzz/harfbuzz/pull/3315
+ 23159084b43c1ce429d9e98035bf845919fd8a89
+
+ This fixes original bug https://github.com/harfbuzz/harfbuzz/issues/3314
+
+ And the reversion in morx code fixes regressions:
+ https://github.com/harfbuzz/harfbuzz/issues/3528
+ https://github.com/harfbuzz/harfbuzz/issues/3535
+
+ Supersedes:
+ https://github.com/harfbuzz/harfbuzz/pull/3529
+
+ src/hb-aat-layout-morx-table.hh | 4 ++--
+ src/hb-ot-shape.cc | 19 ++++++++++++++-----
+ test/shape/data/in-house/tests/macos.tests | 8 +++++++-
+ 3 files changed, 23 insertions(+), 8 deletions(-)
+
+commit a85461b9b6367d5ce313c800f9efc6a1ad750616
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Apr 20 12:13:16 2022 -0600
+
+ Add link to Context LookupFlag discussion
+
+ https://github.com/harfbuzz/harfbuzz/discussions/3538
+
+ src/hb-ot-layout-gsubgpos.hh | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+commit af9eb6850a188a0491fcfd8a379534c5632a0a05
+Author: Simon Cozens <simon@simon-cozens.org>
+Date: Wed Apr 20 16:55:31 2022 +0100
+
+ Updated version
+
+ docs/features.dot | 89 +++++++++++++++++++++++++++++++++++++++++++------------
+ 1 file changed, 70 insertions(+), 19 deletions(-)
+
+commit 91e2f3b92a6a21ad462b6ef41bfd6a88f598e965
+Author: Simon Cozens <simon@simon-cozens.org>
+Date: Tue Apr 19 15:20:53 2022 +0100
+
+ Add cheat sheet
+
+ docs/features.dot | 208 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 208 insertions(+)
+
+commit 9e59c401e05018eacc09d277251f692a517652c8
+Author: Simon Cozens <simon@simon-cozens.org>
+Date: Wed Apr 20 16:56:34 2022 +0100
+
+ [myanmar] Reword confusing comment about masks
+
+ src/hb-ot-shape-complex-myanmar.cc | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 383c11d75659540f4d064824f83446389a8334ce
+Author: Khaled Hosny <khaled@aliftype.com>
+Date: Tue Apr 19 16:31:44 2022 +0200
+
+ Add test for ligature-id allocation
+
+ Test for the fix in 7bdc20ec810c14056d6362b076aa6717f10f26a0 for the
+ regression from 43be5ba442548528c89ad31c0927cc68515b736e.
+
+ .../fonts/8339c821814d9bad7c77169332327ad8b0f33c81.ttf | Bin 0 -> 2312 bytes
+ test/shape/data/in-house/tests/ligature-id.tests | 1 +
+ 2 files changed, 1 insertion(+)
+
+commit 903cf8cfce631e5e0a5c8941d207dff3e3a59b82
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Apr 13 15:31:51 2022 -0600
+
+ [check-static-inits] Unbreak test
+
+ src/check-static-inits.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ec925ece05f3de0ba49a7712a4a2ebb389c54f70
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Apr 13 11:51:48 2022 -0600
+
+ [khmer] Reinstate a pause after basic features
+
+ This was removed as part of 044d7a06db552e1564b8575f4d23798f009d9dde,
+ which caused the regression. Just adding a pause fixes the shaping.
+ Debugged by just tracing the good/bad shaping and observing the
+ lookup orders intermingling in the bad shaping.
+
+ Test:
+ hb-shape LeelawUI.ttf --unicodes U+1780,U+17D2,U+179A,U+17BB
+
+ Fixes https://github.com/harfbuzz/harfbuzz/issues/3531
+
+ src/hb-ot-shape-complex-khmer.cc | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+commit cc0f1f3b60a920d5da19cc4f2886fd0e74655e8c
+Author: Cosimo Lupo <clupo@google.com>
+Date: Tue Apr 12 10:45:43 2022 +0100
+
+ Expose --passthrough-tables option to hb-subset CLI tool
+
+ util/hb-subset.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 53eeeab0e39a9079324f8aad39a6ca0f446030e1
+Author: Cosimo Lupo <clupo@google.com>
+Date: Wed Apr 6 12:54:40 2022 +0100
+
+ CMakeLists.txt: also match 'AppleClang' compiler to not link with libc++
+
+ CMakeLists.txt | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 88bb746b42ca4ae67e5e25cb669b604170d349c6
+Author: Khaled Hosny <khaled@aliftype.com>
+Date: Fri Apr 1 02:18:37 2022 +0200
+
+ [blob] Return nullptr from create_from_file_or_fail
+
+ Fix a couple of cases where it would return empty blob, possibly
+ missed in bdfed8f113431a2156e13d59a4b21e19feb7efd9.
+
+ src/hb-blob.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit b179d357a99884370dd8719d71ae87ca6dca33d7
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Mar 30 12:59:52 2022 -0600
+
+ [main] Fix unused-variable warnings
+
+ src/main.cc | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
commit 9d5730b958974bc9db95e46e6bad52e9e9cd6e1c
Author: Khaled Hosny <khaled@aliftype.com>
Date: Wed Mar 30 15:08:34 2022 +0200
diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/NEWS b/Build/source/libs/harfbuzz/harfbuzz-src/NEWS
index fe3da4b04cc..0559840cf35 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-src/NEWS
+++ b/Build/source/libs/harfbuzz/harfbuzz-src/NEWS
@@ -1,3 +1,15 @@
+Overview of changes leading to 4.2.1
+Sunday, April 24, 2022
+====================================
+- Make sure hb_blob_create_from_file_or_fail() always returns nullptr in case
+ of failure and not empty blob sometimes. (Khaled Hosny)
+- Add --passthrough-tables option to hb-subset. (Cosimo Lupo)
+- Reinstate a pause after basic features in Khmer shaper, fixing a regression
+ introduced in previous release. (Behdad Esfahbod)
+- Better handling of Regional_Indicator when shaped with RTL-native scripts,
+ reverting earlier fix that caused regressions in AAT shaping. (Behdad Esfahbod)
+
+
Overview of changes leading to 4.2.0
Wednesday, March 30, 2022
====================================
diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/README.md b/Build/source/libs/harfbuzz/harfbuzz-src/README.md
index 9deb32c1e89..fc12c65568c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-src/README.md
+++ b/Build/source/libs/harfbuzz/harfbuzz-src/README.md
@@ -1,12 +1,10 @@
[![Linux CI Status](https://github.com/harfbuzz/harfbuzz/workflows/linux-ci/badge.svg)](https://github.com/harfbuzz/harfbuzz/workflows/linux-ci/badge.svg)
[![CircleCI Build Status](https://circleci.com/gh/harfbuzz/harfbuzz/tree/main.svg?style=svg)](https://circleci.com/gh/harfbuzz/harfbuzz/tree/main)
[![OSS-Fuzz Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/harfbuzz.svg)](https://oss-fuzz-build-logs.storage.googleapis.com/index.html)
-[![Coverity Code Health](https://img.shields.io/coverity/scan/5450.svg)](https://scan.coverity.com/projects/behdad-harfbuzz)
-[![Codacy Code Health](https://api.codacy.com/project/badge/Grade/f17f1708783c447488bc8dd317150eaa)](https://app.codacy.com/app/behdad/harfbuzz)
+[![Coverity Scan Build Status](https://scan.coverity.com/projects/15166/badge.svg)](https://scan.coverity.com/projects/harfbuzz)
+[![Codacy Badge](https://app.codacy.com/project/badge/Grade/89c872f5ce1c42af802602bfcd15d90a)](https://www.codacy.com/gh/harfbuzz/harfbuzz/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=harfbuzz/harfbuzz&amp;utm_campaign=Badge_Grade)
[![Codecov Code Coverage](https://codecov.io/gh/harfbuzz/harfbuzz/branch/main/graph/badge.svg)](https://codecov.io/gh/harfbuzz/harfbuzz)
-[![Coverals Code Coverage](https://img.shields.io/coveralls/harfbuzz/harfbuzz.svg)](https://coveralls.io/r/harfbuzz/harfbuzz)
[![Packaging status](https://repology.org/badge/tiny-repos/harfbuzz.svg)](https://repology.org/project/harfbuzz/versions)
-[ABI Tracker](http://abi-laboratory.pro/tracker/timeline/harfbuzz/)
This is HarfBuzz, a text shaping library.
diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac b/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac
index 65246a6cd1f..c353567d4bb 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],
- [4.2.0],
+ [4.2.1],
[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 7de42b88b2e..ed59489bea7 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.55.0',
- version: '4.2.0',
+ version: '4.2.1',
default_options: [
'cpp_rtti=false', # Just to support msvc, we are passing -fno-exceptions also anyway
'cpp_std=c++11',
diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/check-static-inits.py b/Build/source/libs/harfbuzz/harfbuzz-src/src/check-static-inits.py
index edd5874c18c..c6e2db1ea6b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-src/src/check-static-inits.py
+++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/check-static-inits.py
@@ -14,7 +14,7 @@ if sys.version_info < (3, 5):
print ('check-static-inits.py: needs python 3.5 for recursive support in glob')
sys.exit (77)
-OBJS = glob.glob (os.path.join (builddir, libs, '**', 'hb*.o'), recursive=True)
+OBJS = glob.glob (os.path.join (builddir, libs, '**', '*hb*.o'), recursive=True)
if not OBJS:
print ('check-static-inits.py: object files not found; skipping test')
sys.exit (77)
diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-aat-layout-morx-table.hh b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-aat-layout-morx-table.hh
index 2f99510925d..b77c1f4d449 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-aat-layout-morx-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-aat-layout-morx-table.hh
@@ -1038,12 +1038,12 @@ struct Chain
goto skip;
if (reverse)
- _hb_ot_layout_reverse_graphemes (c->buffer);
+ c->buffer->reverse ();
subtable->apply (c);
if (reverse)
- _hb_ot_layout_reverse_graphemes (c->buffer);
+ c->buffer->reverse ();
(void) c->buffer->message (c->font, "end chainsubtable %d", c->lookup_index);
diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-blob.cc b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-blob.cc
index f120002d17b..65e44c7f6a7 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-blob.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-blob.cc
@@ -631,7 +631,7 @@ hb_blob_create_from_file_or_fail (const char *file_name)
Allison Lortie permission but changed a lot to suit our need. */
#if defined(HAVE_MMAP) && !defined(HB_NO_MMAP)
hb_mapped_file_t *file = (hb_mapped_file_t *) hb_calloc (1, sizeof (hb_mapped_file_t));
- if (unlikely (!file)) return hb_blob_get_empty ();
+ if (unlikely (!file)) return nullptr;
int fd = open (file_name, O_RDONLY | O_BINARY, 0);
if (unlikely (fd == -1)) goto fail_without_close;
@@ -671,7 +671,7 @@ fail_without_close:
#elif defined(_WIN32) && !defined(HB_NO_MMAP)
hb_mapped_file_t *file = (hb_mapped_file_t *) hb_calloc (1, sizeof (hb_mapped_file_t));
- if (unlikely (!file)) return hb_blob_get_empty ();
+ if (unlikely (!file)) return nullptr;
HANDLE fd;
unsigned int size = strlen (file_name) + 1;
diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsubgpos.hh b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsubgpos.hh
index 3faa1e53d5c..56e8c5b0063 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsubgpos.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsubgpos.hh
@@ -1415,11 +1415,6 @@ static inline void apply_lookup (hb_ot_apply_context_t *c,
if (idx >= count)
continue;
- /* Don't recurse to ourself at same position.
- * Note that this test is too naive, it doesn't catch longer loops. */
- if (unlikely (idx == 0 && lookupRecord[i].lookupListIndex == c->lookup_index))
- continue;
-
unsigned int orig_len = buffer->backtrack_len () + buffer->lookahead_len ();
/* This can happen if earlier recursed lookups deleted many entries. */
@@ -1457,11 +1452,10 @@ static inline void apply_lookup (hb_ot_apply_context_t *c,
* NOT the one after it.
*
* - If buffer length was decreased by n, it does not necessarily
- * mean that n match positions where removed, as there might
- * have been marks and default-ignorables in the sequence. We
- * should instead drop match positions between current-position
- * and current-position + n instead. Though, am not sure which
- * one is better. Both cases have valid uses. Sigh.
+ * mean that n match positions where removed, as there recursed-to
+ * lookup might had a different LookupFlag. Here's a constructed
+ * case of that:
+ * https://github.com/harfbuzz/harfbuzz/discussions/3538
*
* It should be possible to construct tests for both of these cases.
*/
diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-khmer.cc b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-khmer.cc
index d7ec1632ead..a7d5bf574b6 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-khmer.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-khmer.cc
@@ -110,7 +110,14 @@ collect_features_khmer (hb_ot_shape_planner_t *plan)
map->enable_feature (HB_TAG('l','o','c','l'), F_PER_SYLLABLE);
map->enable_feature (HB_TAG('c','c','m','p'), F_PER_SYLLABLE);
- for (unsigned i = 0; i < KHMER_NUM_FEATURES; i++)
+ unsigned int i = 0;
+ for (; i < KHMER_BASIC_FEATURES; i++)
+ map->add_feature (khmer_features[i]);
+
+ /* https://github.com/harfbuzz/harfbuzz/issues/3531 */
+ map->add_gsub_pause (nullptr);
+
+ for (; i < KHMER_NUM_FEATURES; i++)
map->add_feature (khmer_features[i]);
}
diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-myanmar.cc b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-myanmar.cc
index c7aa80a79ae..13beaf4d4ce 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-myanmar.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-myanmar.cc
@@ -105,8 +105,7 @@ setup_masks_myanmar (const hb_ot_shape_plan_t *plan HB_UNUSED,
HB_BUFFER_ALLOCATE_VAR (buffer, myanmar_category);
HB_BUFFER_ALLOCATE_VAR (buffer, myanmar_position);
- /* We cannot setup masks here. We save information about characters
- * and setup masks later on in a pause-callback. */
+ /* No masks, we just save information about characters. */
unsigned int count = buffer->len;
hb_glyph_info_t *info = buffer->info;
diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape.cc
index 298cf477861..99aadab3f03 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape.cc
@@ -47,6 +47,9 @@
#include "hb-aat-layout.hh"
+static inline bool
+_hb_codepoint_is_regional_indicator (hb_codepoint_t u)
+{ return hb_in_range<hb_codepoint_t> (u, 0x1F1E6u, 0x1F1FFu); }
#ifndef HB_NO_AAT_SHAPE
static inline bool
@@ -504,9 +507,9 @@ hb_set_unicode_props (hb_buffer_t *buffer)
}
/* Regional_Indicators are hairy as hell...
* https://github.com/harfbuzz/harfbuzz/issues/2265 */
- else if (unlikely (i && hb_in_range<hb_codepoint_t> (info[i].codepoint, 0x1F1E6u, 0x1F1FFu)))
+ else if (unlikely (i && _hb_codepoint_is_regional_indicator (info[i].codepoint)))
{
- if (hb_in_range<hb_codepoint_t> (info[i - 1].codepoint, 0x1F1E6u, 0x1F1FFu) &&
+ if (_hb_codepoint_is_regional_indicator (info[i - 1].codepoint) &&
!_hb_glyph_info_is_continuation (&info[i - 1]))
_hb_glyph_info_set_continuation (&info[i]);
}
@@ -598,24 +601,33 @@ hb_ensure_native_direction (hb_buffer_t *buffer)
* direction, so that features like ligatures will work as intended.
*
* https://github.com/harfbuzz/harfbuzz/issues/501
+ *
+ * Similar thing about Regional_Indicators; They are bidi=L, but Script=Common.
+ * If they are present in a run of natively-RTL text, they get assigned a script
+ * with natively RTL direction, which would result in wrong shaping if we
+ * assign such native RTL direction to them then. Detect that as well.
+ *
+ * https://github.com/harfbuzz/harfbuzz/issues/3314
*/
if (unlikely (horiz_dir == HB_DIRECTION_RTL && direction == HB_DIRECTION_LTR))
{
- bool found_number = false, found_letter = false;
+ bool found_number = false, found_letter = false, found_ri = false;
const auto* info = buffer->info;
const auto count = buffer->len;
for (unsigned i = 0; i < count; i++)
{
auto gc = _hb_glyph_info_get_general_category (&info[i]);
if (gc == HB_UNICODE_GENERAL_CATEGORY_DECIMAL_NUMBER)
- found_number = true;
+ found_number = true;
else if (HB_UNICODE_GENERAL_CATEGORY_IS_LETTER (gc))
{
- found_letter = true;
- break;
+ found_letter = true;
+ break;
}
+ else if (_hb_codepoint_is_regional_indicator (info[i].codepoint))
+ found_ri = true;
}
- if (found_number && !found_letter)
+ if ((found_number || found_ri) && !found_letter)
horiz_dir = HB_DIRECTION_LTR;
}
diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/main.cc b/Build/source/libs/harfbuzz/harfbuzz-src/src/main.cc
index fa35ae1770b..7a7614f7b69 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-src/src/main.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/main.cc
@@ -136,8 +136,8 @@ struct draw_data_t
};
static void
-move_to (hb_draw_funcs_t *dfuncs, draw_data_t *draw_data,
- hb_draw_state_t *st,
+move_to (hb_draw_funcs_t *, draw_data_t *draw_data,
+ hb_draw_state_t *,
float to_x, float to_y,
void *)
{
@@ -145,8 +145,8 @@ move_to (hb_draw_funcs_t *dfuncs, draw_data_t *draw_data,
}
static void
-line_to (hb_draw_funcs_t *dfuncs, draw_data_t *draw_data,
- hb_draw_state_t *st,
+line_to (hb_draw_funcs_t *, draw_data_t *draw_data,
+ hb_draw_state_t *,
float to_x, float to_y,
void *)
{
@@ -154,8 +154,8 @@ line_to (hb_draw_funcs_t *dfuncs, draw_data_t *draw_data,
}
static void
-quadratic_to (hb_draw_funcs_t *dfuncs, draw_data_t *draw_data,
- hb_draw_state_t *st,
+quadratic_to (hb_draw_funcs_t *, draw_data_t *draw_data,
+ hb_draw_state_t *,
float control_x, float control_y,
float to_x, float to_y,
void *)
@@ -165,8 +165,8 @@ quadratic_to (hb_draw_funcs_t *dfuncs, draw_data_t *draw_data,
}
static void
-cubic_to (hb_draw_funcs_t *dfuncs, draw_data_t *draw_data,
- hb_draw_state_t *st,
+cubic_to (hb_draw_funcs_t *, draw_data_t *draw_data,
+ hb_draw_state_t *,
float control1_x, float control1_y,
float control2_x, float control2_y,
float to_x, float to_y,
@@ -178,8 +178,8 @@ cubic_to (hb_draw_funcs_t *dfuncs, draw_data_t *draw_data,
}
static void
-close_path (hb_draw_funcs_t *dfuncs, draw_data_t *draw_data,
- hb_draw_state_t *st,
+close_path (hb_draw_funcs_t *, draw_data_t *draw_data,
+ hb_draw_state_t *,
void *)
{
fprintf (draw_data->f, "Z");
diff --git a/Build/source/libs/harfbuzz/version.ac b/Build/source/libs/harfbuzz/version.ac
index ede14ef23d7..ef40866be78 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], [4.2.0])
+m4_define([harfbuzz_version], [4.2.1])