texlive[76148] Build/source/libs: harfbuzz 11.4.4

commits+kakuto at tug.org commits+kakuto at tug.org
Tue Aug 26 08:58:20 CEST 2025


Revision: 76148
          https://tug.org/svn/texlive?view=revision&revision=76148
Author:   kakuto
Date:     2025-08-26 08:58:19 +0200 (Tue, 26 Aug 2025)
Log Message:
-----------
harfbuzz 11.4.4

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/NEWS
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/meson.build
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/OT/Layout/GSUB/Ligature.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-coretext-font.cc
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-coretext.cc
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-harfrust.cc
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-common.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsubgpos.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout.cc
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout.hh
    trunk/Build/source/libs/harfbuzz/version.ac

Modified: trunk/Build/source/libs/README
===================================================================
--- trunk/Build/source/libs/README	2025-08-25 23:42:05 UTC (rev 76147)
+++ trunk/Build/source/libs/README	2025-08-26 06:58:19 UTC (rev 76148)
@@ -28,7 +28,7 @@
   https://sourceforge.net/projects/silgraphite/files/graphite2/
   (requires C++11)
 
-harfbuzz 11.4.3 - checked 24aug25
+harfbuzz 11.4.4 - checked 26aug25
   https://github.com/harfbuzz/harfbuzz/releases/latest
 
 icu 76.1 - checked 27oct24 (requires C++17, e.g., g++13)

Modified: trunk/Build/source/libs/harfbuzz/ChangeLog
===================================================================
--- trunk/Build/source/libs/harfbuzz/ChangeLog	2025-08-25 23:42:05 UTC (rev 76147)
+++ trunk/Build/source/libs/harfbuzz/ChangeLog	2025-08-26 06:58:19 UTC (rev 76148)
@@ -1,3 +1,8 @@
+2025-08-26  Akira Kakuto  <kakuto at jcom.zaq.ne.jp>
+
+	Import harfbuzz-11.4.4.
+	* version.ac: Adjusted.
+
 2025-08-24  Akira Kakuto  <kakuto at jcom.zaq.ne.jp>
 
 	Import harfbuzz-11.4.3.

Modified: trunk/Build/source/libs/harfbuzz/TLpatches/ChangeLog
===================================================================
--- trunk/Build/source/libs/harfbuzz/TLpatches/ChangeLog	2025-08-25 23:42:05 UTC (rev 76147)
+++ trunk/Build/source/libs/harfbuzz/TLpatches/ChangeLog	2025-08-26 06:58:19 UTC (rev 76148)
@@ -1,3 +1,8 @@
+2025-08-26  Akira Kakuto  <kakuto at jcom.zaq.ne.jp>
+
+	Imported harfbuzz-11.4.4 source tree from:
+	https://github.com/harfbuzz/harfbuzz/releases/download/11.4.4/
+
 2025-08-24  Akira Kakuto  <kakuto at jcom.zaq.ne.jp>
 
 	Imported harfbuzz-11.4.3 source tree from:

Modified: trunk/Build/source/libs/harfbuzz/TLpatches/TL-Changes
===================================================================
--- trunk/Build/source/libs/harfbuzz/TLpatches/TL-Changes	2025-08-25 23:42:05 UTC (rev 76147)
+++ trunk/Build/source/libs/harfbuzz/TLpatches/TL-Changes	2025-08-26 06:58:19 UTC (rev 76148)
@@ -1,5 +1,5 @@
-Changes applied to the harfbuzz-11.4.3/ tree as obtained from:
-	https://github.com/harfbuzz/harfbuzz/releases/download/11.4.3/
+Changes applied to the harfbuzz-11.4.4/ tree as obtained from:
+	https://github.com/harfbuzz/harfbuzz/releases/download/11.4.4/
 
 Removed:
 	.clang-format

Modified: trunk/Build/source/libs/harfbuzz/configure
===================================================================
--- trunk/Build/source/libs/harfbuzz/configure	2025-08-25 23:42:05 UTC (rev 76147)
+++ trunk/Build/source/libs/harfbuzz/configure	2025-08-26 06:58:19 UTC (rev 76148)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.72 for harfbuzz (TeX Live) 11.4.3.
+# Generated by GNU Autoconf 2.72 for harfbuzz (TeX Live) 11.4.4.
 #
 # Report bugs to <tex-k at tug.org>.
 #
@@ -604,8 +604,8 @@
 # Identity of this package.
 PACKAGE_NAME='harfbuzz (TeX Live)'
 PACKAGE_TARNAME='harfbuzz--tex-live-'
-PACKAGE_VERSION='11.4.3'
-PACKAGE_STRING='harfbuzz (TeX Live) 11.4.3'
+PACKAGE_VERSION='11.4.4'
+PACKAGE_STRING='harfbuzz (TeX Live) 11.4.4'
 PACKAGE_BUGREPORT='tex-k at tug.org'
 PACKAGE_URL=''
 
@@ -1341,7 +1341,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) 11.4.3 to adapt to many kinds of systems.
+'configure' configures harfbuzz (TeX Live) 11.4.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1413,7 +1413,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of harfbuzz (TeX Live) 11.4.3:";;
+     short | recursive ) echo "Configuration of harfbuzz (TeX Live) 11.4.4:";;
    esac
   cat <<\_ACEOF
 
@@ -1518,7 +1518,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-harfbuzz (TeX Live) configure 11.4.3
+harfbuzz (TeX Live) configure 11.4.4
 generated by GNU Autoconf 2.72
 
 Copyright (C) 2023 Free Software Foundation, Inc.
@@ -2075,7 +2075,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 11.4.3, which was
+It was created by harfbuzz (TeX Live) $as_me 11.4.4, which was
 generated by GNU Autoconf 2.72.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -5259,7 +5259,7 @@
 
 # Define the identity of the package.
  PACKAGE='harfbuzz--tex-live-'
- VERSION='11.4.3'
+ VERSION='11.4.4'
 
 
 # Some tools Automake needs.
@@ -5573,8 +5573,8 @@
 
 HB_VERSION_MAJOR=11
 HB_VERSION_MINOR=4
-HB_VERSION_MICRO=3
-HB_VERSION=11.4.3
+HB_VERSION_MICRO=4
+HB_VERSION=11.4.4
 
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -9426,7 +9426,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 11.4.3, which was
+This file was extended by harfbuzz (TeX Live) $as_me 11.4.4, which was
 generated by GNU Autoconf 2.72.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -9494,7 +9494,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-harfbuzz (TeX Live) config.status 11.4.3
+harfbuzz (TeX Live) config.status 11.4.4
 configured by $0, generated by GNU Autoconf 2.72,
   with options \\"\$ac_cs_config\\"
 

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/NEWS
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/NEWS	2025-08-25 23:42:05 UTC (rev 76147)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/NEWS	2025-08-26 06:58:19 UTC (rev 76148)
@@ -1,3 +1,10 @@
+Overview of changes leading to 11.4.4
+Tuesday, August 26, 2025
+=====================================
+- Fix a shaping regression affecting mark glyphs in certain fonts.
+- Fix pruning of mark filtering sets when subsetting fonts, which caused changes in shaping behaviour.
+
+
 Overview of changes leading to 11.4.3
 Saturday, August 23, 2025
 ====================================

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/meson.build
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/meson.build	2025-08-25 23:42:05 UTC (rev 76147)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/meson.build	2025-08-26 06:58:19 UTC (rev 76148)
@@ -1,6 +1,6 @@
 project('harfbuzz', ['c', 'cpp'],
   meson_version: '>= 0.60.0',
-  version: '11.4.3',
+  version: '11.4.4',
   default_options: [
     'cpp_eh=none',          # Just to support msvc, we are passing -fno-exceptions also anyway
     # 'cpp_rtti=false',     # Do NOT enable, wraps inherit it and ICU needs RTTI

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/OT/Layout/GSUB/Ligature.hh
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/OT/Layout/GSUB/Ligature.hh	2025-08-25 23:42:05 UTC (rev 76147)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/OT/Layout/GSUB/Ligature.hh	2025-08-26 06:58:19 UTC (rev 76148)
@@ -47,7 +47,13 @@
   template <typename set_t>
   void collect_second (set_t &s) const
   {
-    s.add (component[1]); // This adds codepoint 0 if component array is empty.
+    if (unlikely (!component.get_length ()))
+    {
+      // A ligature without any components. Anything matches.
+      s = set_t::full ();
+      return;
+    }
+    s.add (component.arrayZ[0]);
   }
 
   bool would_apply (hb_would_apply_context_t *c) const

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-coretext-font.cc
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-coretext-font.cc	2025-08-25 23:42:05 UTC (rev 76147)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-coretext-font.cc	2025-08-26 06:58:19 UTC (rev 76148)
@@ -410,8 +410,8 @@
     return false;
 
   CFIndex len = CFStringGetLength (cf_name);
-  if (len > size - 1)
-    len = size - 1;
+  if (len > (CFIndex)size - 1)
+    len = (CFIndex)size - 1;
 
   CFStringGetBytes (cf_name, CFRangeMake (0, len),
 		    kCFStringEncodingUTF8, 0, false,

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-coretext.cc
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-coretext.cc	2025-08-25 23:42:05 UTC (rev 76147)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-coretext.cc	2025-08-26 06:58:19 UTC (rev 76148)
@@ -167,8 +167,8 @@
   }
   else
     named_instance_index--;
-  auto ct_font_desc = (CFArrayGetCount (ct_font_desc_array) > named_instance_index) ?
-		      (CTFontDescriptorRef) CFArrayGetValueAtIndex (ct_font_desc_array, named_instance_index) : nullptr;
+  auto ct_font_desc = (CFArrayGetCount (ct_font_desc_array) > (CFIndex) named_instance_index) ?
+		      (CTFontDescriptorRef) CFArrayGetValueAtIndex (ct_font_desc_array, (CFIndex) named_instance_index) : nullptr;
   if (unlikely (!ct_font_desc))
   {
     CFRelease (ct_font_desc_array);

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-harfrust.cc
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-harfrust.cc	2025-08-25 23:42:05 UTC (rev 76147)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-harfrust.cc	2025-08-26 06:58:19 UTC (rev 76148)
@@ -176,17 +176,20 @@
     }
   }
 
-  // Encode buffer context as UTF-8, so that HarfRust can use it.
+  // Encode buffer pre/post-context as UTF-8, so that HarfRust can use it.
   constexpr int CONTEXT_BYTE_SIZE = 4 * hb_buffer_t::CONTEXT_LENGTH;
-  uint8_t context[2][CONTEXT_BYTE_SIZE];
-  unsigned context_len[2] = { 0, 0 };
-  for (unsigned i = 0; i < 2; i++)
-    for (unsigned j = 0; j < buffer->context_len[i]; j++)
-    {
-      context_len[i] = hb_utf8_t::encode (context[i] + context_len[i],
-					  context[i] + CONTEXT_BYTE_SIZE,
-					  buffer->context[i][j]) - context[i];
-    }
+  uint8_t pre_context[CONTEXT_BYTE_SIZE];
+  unsigned pre_context_len = 0;
+  for (unsigned i = buffer->context_len[0]; i; i--)
+    pre_context_len = hb_utf8_t::encode (pre_context + pre_context_len,
+					 pre_context + CONTEXT_BYTE_SIZE,
+					 buffer->context[0][i - 1]) - pre_context;
+  uint8_t post_context[CONTEXT_BYTE_SIZE];
+  unsigned post_context_len = 0;
+  for (unsigned i = 0; i < buffer->context_len[1]; i++)
+    post_context_len = hb_utf8_t::encode (post_context + post_context_len,
+					  post_context + CONTEXT_BYTE_SIZE,
+					  buffer->context[1][i]) - post_context;
 
   return _hb_harfrust_shape_rs (font_data,
 				face_data,
@@ -194,10 +197,10 @@
 				hr_buffer,
 				font,
 				buffer,
-				context[0],
-				context_len[0],
-				context[1],
-				context_len[1],
+				pre_context,
+				pre_context_len,
+				post_context,
+				post_context_len,
 				features,
 				num_features);
 }

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	2025-08-25 23:42:05 UTC (rev 76147)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-common.hh	2025-08-26 06:58:19 UTC (rev 76148)
@@ -1387,6 +1387,11 @@
       {
         unsigned new_flag = lookupFlag;
         new_flag &= ~LookupFlag::UseMarkFilteringSet;
+        // https://github.com/harfbuzz/harfbuzz/issues/5499
+        // If we remove UseMarkFilteringSet flag because the set is now empty,
+        // we need to add IgnoreMarks flag, otherwise the lookup will not
+        // ignore any marks, which changes the behavior.
+        new_flag |= LookupFlag::IgnoreMarks;
         out->lookupFlag = new_flag;
       }
       else

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	2025-08-25 23:42:05 UTC (rev 76147)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsubgpos.hh	2025-08-26 06:58:19 UTC (rev 76148)
@@ -470,7 +470,7 @@
   }
 
   public:
-  unsigned int lookup_props = (unsigned) -1;
+  unsigned int lookup_props = 0;
   hb_mask_t mask = -1;
   bool ignore_zwnj = false;
   bool ignore_zwj = false;
@@ -720,8 +720,7 @@
   hb_direction_t direction;
   hb_mask_t lookup_mask = 1;
   unsigned int lookup_index = (unsigned) -1;
-  unsigned int lookup_props = (unsigned) -1;
-  unsigned int cached_props = (unsigned) -1; /* Cached glyph properties for the current lookup. */
+  unsigned int lookup_props = 0;
   unsigned int nesting_level_left = HB_MAX_NESTING_LEVEL;
 
   bool has_glyph_classes;
@@ -795,18 +794,13 @@
   HB_HOT
   bool match_properties_mark (const hb_glyph_info_t *info,
 			      unsigned int    glyph_props,
-			      unsigned int    match_props,
-			      bool            cached) const
+			      unsigned int    match_props) const
   {
     /* If using mark filtering sets, the high short of
      * match_props has the set index.
      */
     if (match_props & LookupFlag::UseMarkFilteringSet)
-    {
-      if (cached && match_props == cached_props)
-	return _hb_glyph_info_matches (info);
       return gdef_accel.mark_set_covers (match_props >> 16, info->codepoint);
-    }
 
     /* The second byte of match_props has the meaning
      * "ignore marks of attachment type different than
@@ -822,8 +816,7 @@
   HB_ALWAYS_INLINE
 #endif
   bool check_glyph_property (const hb_glyph_info_t *info,
-			     unsigned match_props,
-			     bool cached = true) const
+			     unsigned match_props) const
   {
     unsigned int glyph_props = _hb_glyph_info_get_glyph_props (info);
 
@@ -834,7 +827,7 @@
       return false;
 
     if (unlikely (glyph_props & HB_OT_LAYOUT_GLYPH_PROPS_MARK))
-      return match_properties_mark (info, glyph_props, match_props, cached);
+      return match_properties_mark (info, glyph_props, match_props);
 
     return true;
   }
@@ -876,10 +869,6 @@
     }
     else
       _hb_glyph_info_set_glyph_props (&buffer->cur(), props);
-
-    if (cached_props != (unsigned) -1)
-      _hb_glyph_info_set_matches (&buffer->cur(),
-				  check_glyph_property (&buffer->cur(), cached_props, false));
   }
 
   void replace_glyph (hb_codepoint_t glyph_index)
@@ -1391,7 +1380,7 @@
 	if (ligbase == LIGBASE_NOT_CHECKED)
 	{
 	  bool found = false;
-	  auto *out = buffer->out_info;
+	  const auto *out = buffer->out_info;
 	  unsigned int j = buffer->out_len;
 	  while (j && _hb_glyph_info_get_lig_id (&out[j - 1]) == first_lig_id)
 	  {

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout.cc
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout.cc	2025-08-25 23:42:05 UTC (rev 76147)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout.cc	2025-08-26 06:58:19 UTC (rev 76148)
@@ -1967,7 +1967,6 @@
 	      const OT::hb_ot_layout_lookup_accelerator_t &accel)
 {
   hb_buffer_t *buffer = c->buffer;
-  unsigned subtable_count = lookup.get_subtable_count ();
 
   if (unlikely (!buffer->len || !c->lookup_mask))
     return false;
@@ -1974,22 +1973,7 @@
 
   bool ret = false;
 
-  unsigned lookup_props = lookup.get_props ();
-  if (lookup_props != c->cached_props)
-  {
-    bool cache_it = subtable_count > 1 && (lookup_props & OT::LookupFlag::UseMarkFilteringSet);
-    if (cache_it)
-    {
-      auto &info = buffer->info;
-      for (unsigned int i = 0; i < buffer->len; i++)
-	_hb_glyph_info_set_matches (&info[i],
-				    c->check_glyph_property (&info[i], lookup_props, false));
-      c->cached_props = lookup_props;
-    }
-    else
-      c->cached_props = (unsigned) -1;
-  }
-  c->set_lookup_props (lookup_props);
+  c->set_lookup_props (lookup.get_props ());
 
   if (likely (!lookup.is_reverse ()))
   {

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout.hh
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout.hh	2025-08-25 23:42:05 UTC (rev 76147)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout.hh	2025-08-26 06:58:19 UTC (rev 76148)
@@ -81,10 +81,9 @@
   HB_OT_LAYOUT_GLYPH_PROPS_MARK		= 0x08u,
 
   /* The following are used internally; not derived from GDEF. */
-  HB_OT_LAYOUT_GLYPH_PROPS_MATCHES      = 0x10u,
-  HB_OT_LAYOUT_GLYPH_PROPS_SUBSTITUTED	= 0x20u,
-  HB_OT_LAYOUT_GLYPH_PROPS_LIGATED	= 0x40u,
-  HB_OT_LAYOUT_GLYPH_PROPS_MULTIPLIED	= 0x80u,
+  HB_OT_LAYOUT_GLYPH_PROPS_SUBSTITUTED	= 0x10u,
+  HB_OT_LAYOUT_GLYPH_PROPS_LIGATED	= 0x20u,
+  HB_OT_LAYOUT_GLYPH_PROPS_MULTIPLIED	= 0x40u,
 
   HB_OT_LAYOUT_GLYPH_PROPS_PRESERVE     = HB_OT_LAYOUT_GLYPH_PROPS_SUBSTITUTED |
 					  HB_OT_LAYOUT_GLYPH_PROPS_LIGATED |
@@ -611,21 +610,7 @@
   return false;
 }
 
-static inline bool
-_hb_glyph_info_matches (const hb_glyph_info_t *info)
-{
-  return info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_MATCHES;
-}
-static inline void
-_hb_glyph_info_set_matches (hb_glyph_info_t *info, bool matches)
-{
-  if (matches)
-    info->glyph_props() |= HB_OT_LAYOUT_GLYPH_PROPS_MATCHES;
-  else
-    info->glyph_props() &= ~HB_OT_LAYOUT_GLYPH_PROPS_MATCHES;
-}
 
-
 /* Allocation / deallocation. */
 
 static inline void

Modified: trunk/Build/source/libs/harfbuzz/version.ac
===================================================================
--- trunk/Build/source/libs/harfbuzz/version.ac	2025-08-25 23:42:05 UTC (rev 76147)
+++ trunk/Build/source/libs/harfbuzz/version.ac	2025-08-26 06:58:19 UTC (rev 76148)
@@ -8,4 +8,4 @@
 dnl --------------------------------------------------------
 dnl
 dnl  m4-include this file to define the current harfbuzz version
-m4_define([harfbuzz_version], [11.4.3])
+m4_define([harfbuzz_version], [11.4.4])



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