texlive[63128] Build/source/libs: harfbuzz 4.2.1

commits+kakuto at tug.org commits+kakuto at tug.org
Mon Apr 25 01:31:44 CEST 2022


Revision: 63128
          http://tug.org/svn/texlive?view=revision&revision=63128
Author:   kakuto
Date:     2022-04-25 01:31:44 +0200 (Mon, 25 Apr 2022)
Log Message:
-----------
harfbuzz 4.2.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/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.md
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/meson.build
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/check-static-inits.py
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-aat-layout-morx-table.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-blob.cc
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsubgpos.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-khmer.cc
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-myanmar.cc
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape.cc
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/main.cc
    trunk/Build/source/libs/harfbuzz/version.ac

Modified: trunk/Build/source/libs/README
===================================================================
--- trunk/Build/source/libs/README	2022-04-24 20:20:22 UTC (rev 63127)
+++ trunk/Build/source/libs/README	2022-04-24 23:31:44 UTC (rev 63128)
@@ -25,8 +25,8 @@
   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/

Modified: trunk/Build/source/libs/harfbuzz/ChangeLog
===================================================================
--- trunk/Build/source/libs/harfbuzz/ChangeLog	2022-04-24 20:20:22 UTC (rev 63127)
+++ trunk/Build/source/libs/harfbuzz/ChangeLog	2022-04-24 23:31:44 UTC (rev 63128)
@@ -1,3 +1,8 @@
+2022-04-25  Akira Kakuto  <kakuto at jcom.zaq.ne.jp>
+
+	Import harfbuzz-4.2.1.
+	* version.ac: Adjusted.
+
 2022-04-04  Akira Kakuto  <kakuto at jcom.zaq.ne.jp>
 
 	Import harfbuzz-4.2.0.

Modified: trunk/Build/source/libs/harfbuzz/TLpatches/ChangeLog
===================================================================
--- trunk/Build/source/libs/harfbuzz/TLpatches/ChangeLog	2022-04-24 20:20:22 UTC (rev 63127)
+++ trunk/Build/source/libs/harfbuzz/TLpatches/ChangeLog	2022-04-24 23:31:44 UTC (rev 63128)
@@ -1,3 +1,8 @@
+2022-04-25  Akira Kakuto  <kakuto at 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 at jcom.zaq.ne.jp>
 
 	Imported harfbuzz-4.2.0 source tree from:

Modified: trunk/Build/source/libs/harfbuzz/TLpatches/TL-Changes
===================================================================
--- trunk/Build/source/libs/harfbuzz/TLpatches/TL-Changes	2022-04-24 20:20:22 UTC (rev 63127)
+++ trunk/Build/source/libs/harfbuzz/TLpatches/TL-Changes	2022-04-24 23:31:44 UTC (rev 63128)
@@ -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

Modified: trunk/Build/source/libs/harfbuzz/configure
===================================================================
--- trunk/Build/source/libs/harfbuzz/configure	2022-04-24 20:20:22 UTC (rev 63127)
+++ trunk/Build/source/libs/harfbuzz/configure	2022-04-24 23:31:44 UTC (rev 63128)
@@ -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 at tug.org>.
 #
@@ -611,8 +611,8 @@
 # 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 at tug.org'
 PACKAGE_URL=''
 
@@ -1346,7 +1346,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) 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 @@
 
 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 @@
 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 @@
 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 @@
 
 # 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 @@
 
 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 @@
 # 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 @@
 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\\"
 

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/CMakeLists.txt
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/CMakeLists.txt	2022-04-24 20:20:22 UTC (rev 63127)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/CMakeLists.txt	2022-04-24 23:31:44 UTC (rev 63128)
@@ -462,7 +462,9 @@
     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

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog	2022-04-24 20:20:22 UTC (rev 63127)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog	2022-04-24 23:31:44 UTC (rev 63128)
@@ -1,3 +1,407 @@
+commit f7aee78e90bc53b3a95eb56d7550c9effe569ea2
+Author: Khaled Hosny <khaled at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at behdad.org>
+Date:   Wed Apr 20 13:38:05 2022 -0600
+
+    Typo
+    
+    Co-authored-by: Khaled Hosny <khaled at aliftype.com>
+
+ src/hb-ot-shape.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4d48fae4f247c789612f6a888aba6abf7906f012
+Author: Behdad Esfahbod <behdad at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at aliftype.com>
 Date:   Wed Mar 30 15:08:34 2022 +0200

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/NEWS
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/NEWS	2022-04-24 20:20:22 UTC (rev 63127)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/NEWS	2022-04-24 23:31:44 UTC (rev 63128)
@@ -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
 ====================================

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/README.md
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/README.md	2022-04-24 20:20:22 UTC (rev 63127)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/README.md	2022-04-24 23:31:44 UTC (rev 63128)
@@ -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&utm_medium=referral&utm_content=harfbuzz/harfbuzz&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.
 

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac	2022-04-24 20:20:22 UTC (rev 63127)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac	2022-04-24 23:31:44 UTC (rev 63128)
@@ -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/])

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/meson.build
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/meson.build	2022-04-24 20:20:22 UTC (rev 63127)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/meson.build	2022-04-24 23:31:44 UTC (rev 63128)
@@ -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',

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/check-static-inits.py
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/check-static-inits.py	2022-04-24 20:20:22 UTC (rev 63127)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/check-static-inits.py	2022-04-24 23:31:44 UTC (rev 63128)
@@ -14,7 +14,7 @@
 	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)

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-aat-layout-morx-table.hh
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-aat-layout-morx-table.hh	2022-04-24 20:20:22 UTC (rev 63127)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-aat-layout-morx-table.hh	2022-04-24 23:31:44 UTC (rev 63128)
@@ -1038,12 +1038,12 @@
 	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);
 

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-blob.cc
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-blob.cc	2022-04-24 20:20:22 UTC (rev 63127)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-blob.cc	2022-04-24 23:31:44 UTC (rev 63128)
@@ -631,7 +631,7 @@
      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 @@
 
 #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;

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	2022-04-24 20:20:22 UTC (rev 63127)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsubgpos.hh	2022-04-24 23:31:44 UTC (rev 63128)
@@ -1415,11 +1415,6 @@
     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 @@
      *     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.
      */

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-khmer.cc
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-khmer.cc	2022-04-24 20:20:22 UTC (rev 63127)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-khmer.cc	2022-04-24 23:31:44 UTC (rev 63128)
@@ -110,8 +110,15 @@
   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]);
 }
 
 static void

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-myanmar.cc
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-myanmar.cc	2022-04-24 20:20:22 UTC (rev 63127)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-myanmar.cc	2022-04-24 23:31:44 UTC (rev 63128)
@@ -105,8 +105,7 @@
   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;

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape.cc
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape.cc	2022-04-24 20:20:22 UTC (rev 63127)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape.cc	2022-04-24 23:31:44 UTC (rev 63128)
@@ -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 @@
     }
     /* 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,10 +601,17 @@
    * 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++)
@@ -608,14 +618,16 @@
     {
       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;
   }
 

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/main.cc
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/main.cc	2022-04-24 20:20:22 UTC (rev 63127)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/main.cc	2022-04-24 23:31:44 UTC (rev 63128)
@@ -136,8 +136,8 @@
 };
 
 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 @@
 }
 
 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 @@
 }
 
 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 @@
 }
 
 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 @@
 }
 
 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");

Modified: trunk/Build/source/libs/harfbuzz/version.ac
===================================================================
--- trunk/Build/source/libs/harfbuzz/version.ac	2022-04-24 20:20:22 UTC (rev 63127)
+++ trunk/Build/source/libs/harfbuzz/version.ac	2022-04-24 23:31:44 UTC (rev 63128)
@@ -8,4 +8,4 @@
 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])



More information about the tex-live-commits mailing list.