texlive[45229] Build/source/libs: harfbuzz 1.5.1

commits+kakuto at tug.org commits+kakuto at tug.org
Wed Sep 6 10:48:50 CEST 2017


Revision: 45229
          http://tug.org/svn/texlive?view=revision&revision=45229
Author:   kakuto
Date:     2017-09-06 10:48:50 +0200 (Wed, 06 Sep 2017)
Log Message:
-----------
harfbuzz 1.5.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/ChangeLog
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/NEWS
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-buffer.cc
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-buffer.h
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-indic-private.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape.cc
    trunk/Build/source/libs/harfbuzz/version.ac

Modified: trunk/Build/source/libs/README
===================================================================
--- trunk/Build/source/libs/README	2017-09-06 07:57:07 UTC (rev 45228)
+++ trunk/Build/source/libs/README	2017-09-06 08:48:50 UTC (rev 45229)
@@ -24,7 +24,7 @@
 graphite2 1.3.10 - checked 20jun17
   http://sourceforge.net/projects/silgraphite/files/graphite2/
 
-harfbuzz 1.5.0 - checked 24aug17
+harfbuzz 1.5.1 - checked 06Sep17
   http://www.freedesktop.org/software/harfbuzz/release/
 
 icu 58.2 - checked 13mar17

Modified: trunk/Build/source/libs/harfbuzz/ChangeLog
===================================================================
--- trunk/Build/source/libs/harfbuzz/ChangeLog	2017-09-06 07:57:07 UTC (rev 45228)
+++ trunk/Build/source/libs/harfbuzz/ChangeLog	2017-09-06 08:48:50 UTC (rev 45229)
@@ -1,3 +1,8 @@
+2017-09-06  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
+
+	Import harfbuzz-1.5.1.
+	* version.ac: Adjusted.
+
 2017-08-24  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	Import harfbuzz-1.5.0.

Modified: trunk/Build/source/libs/harfbuzz/TLpatches/ChangeLog
===================================================================
--- trunk/Build/source/libs/harfbuzz/TLpatches/ChangeLog	2017-09-06 07:57:07 UTC (rev 45228)
+++ trunk/Build/source/libs/harfbuzz/TLpatches/ChangeLog	2017-09-06 08:48:50 UTC (rev 45229)
@@ -1,3 +1,8 @@
+2017-09-06  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
+
+	Imported harfbuzz-1.5.1 source tree from:
+	  http://www.freedesktop.org/software/harfbuzz/release/
+
 2017-08-24  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	Imported harfbuzz-1.5.0 source tree from:

Modified: trunk/Build/source/libs/harfbuzz/TLpatches/TL-Changes
===================================================================
--- trunk/Build/source/libs/harfbuzz/TLpatches/TL-Changes	2017-09-06 07:57:07 UTC (rev 45228)
+++ trunk/Build/source/libs/harfbuzz/TLpatches/TL-Changes	2017-09-06 08:48:50 UTC (rev 45229)
@@ -1,4 +1,4 @@
-Changes applied to the harfbuzz-1.5.0/ tree as obtained from:
+Changes applied to the harfbuzz-1.5.1/ tree as obtained from:
 	http://www.freedesktop.org/software/harfbuzz/release/
 
 Removed:

Modified: trunk/Build/source/libs/harfbuzz/configure
===================================================================
--- trunk/Build/source/libs/harfbuzz/configure	2017-09-06 07:57:07 UTC (rev 45228)
+++ trunk/Build/source/libs/harfbuzz/configure	2017-09-06 08:48:50 UTC (rev 45229)
@@ -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) 1.5.0.
+# Generated by GNU Autoconf 2.69 for harfbuzz (TeX Live) 1.5.1.
 #
 # Report bugs to <tex-k at tug.org>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='harfbuzz (TeX Live)'
 PACKAGE_TARNAME='harfbuzz--tex-live-'
-PACKAGE_VERSION='1.5.0'
-PACKAGE_STRING='harfbuzz (TeX Live) 1.5.0'
+PACKAGE_VERSION='1.5.1'
+PACKAGE_STRING='harfbuzz (TeX Live) 1.5.1'
 PACKAGE_BUGREPORT='tex-k at tug.org'
 PACKAGE_URL=''
 
@@ -1312,7 +1312,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) 1.5.0 to adapt to many kinds of systems.
+\`configure' configures harfbuzz (TeX Live) 1.5.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1383,7 +1383,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of harfbuzz (TeX Live) 1.5.0:";;
+     short | recursive ) echo "Configuration of harfbuzz (TeX Live) 1.5.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1490,7 +1490,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-harfbuzz (TeX Live) configure 1.5.0
+harfbuzz (TeX Live) configure 1.5.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2080,7 +2080,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 1.5.0, which was
+It was created by harfbuzz (TeX Live) $as_me 1.5.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -4003,7 +4003,7 @@
 
 # Define the identity of the package.
  PACKAGE='harfbuzz--tex-live-'
- VERSION='1.5.0'
+ VERSION='1.5.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4206,8 +4206,8 @@
 
 HB_VERSION_MAJOR=1
 HB_VERSION_MINOR=5
-HB_VERSION_MICRO=0
-HB_VERSION=1.5.0
+HB_VERSION_MICRO=1
+HB_VERSION=1.5.1
 
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -6866,7 +6866,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 1.5.0, which was
+This file was extended by harfbuzz (TeX Live) $as_me 1.5.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -6932,7 +6932,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-harfbuzz (TeX Live) config.status 1.5.0
+harfbuzz (TeX Live) config.status 1.5.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog	2017-09-06 07:57:07 UTC (rev 45228)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog	2017-09-06 08:48:50 UTC (rev 45229)
@@ -1,3 +1,156 @@
+commit d03f11f246efec13e48fd68a9ce136db771b22bf
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Mon Sep 4 20:14:13 2017 -0700
+
+    Fix buffer_diff for empty buffers
+
+    If buffers are empty, content type should be ignored.
+
+    This fixes last of the failing tests: fuzzed.tests.  Green again!
+
+ src/hb-buffer.cc | 2 +-
+ src/hb-buffer.h  | 4 ++--
+ util/options.hh  | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+commit 7cc348041d0b026ca6d2c240134e8f9100600e99
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Mon Sep 4 20:04:59 2017 -0700
+
+    [unsafe-to-break] Fix unsafe-to-break for cluster-level=1
+
+    Fixes tests/shaping/tests/cluster.tests
+
+ src/hb-ot-shape.cc | 17 +++++++++++------
+ 1 file changed, 11 insertions(+), 6 deletions(-)
+
+commit 61a9d7e6d0e6df7b48f58fa1679f0f93407993b2
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Mon Sep 4 19:48:52 2017 -0700
+
+    Minor
+
+ test/shaping/run-tests.sh | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 03a5a6f873e5a50011f1c2418f5ceab86d9c2931
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Fri Sep 1 19:09:54 2017 -0700
+
+    [util] Add --unicodes to hb-view / hb-shape
+
+    Fixes https://github.com/behdad/harfbuzz/issues/154
+
+ test/shaping/hb_test_tools.py |  2 +-
+ util/options.cc               | 65
+ ++++++++++++++++++++++++++++++++++++++++++-
+ 2 files changed, 65 insertions(+), 2 deletions(-)
+
+commit 0e5b475d98dd67e927534508fe2cd8dc9765e24e
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Fri Sep 1 18:28:47 2017 -0700
+
+    Minor
+
+ test/shaping/run-tests.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 3e1fc6d18ba0019bbeede78b95070a6e7156c314
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Fri Sep 1 10:46:48 2017 -0700
+
+    Minor
+
+ test/shaping/run-tests.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 04f009f84891b513087830c7aa1b755addd016d9
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Fri Sep 1 10:38:25 2017 -0700
+
+    Add test accidentally removed in previous commit
+
+ test/shaping/tests/indic-syllable.tests | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 06cb162cd79cc922b572e5f532ca867223b6dc4c
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Fri Sep 1 10:34:21 2017 -0700
+
+    [indic] Treat Consonant_With_Stacker as consonant
+
+    Fixes https://github.com/behdad/harfbuzz/issues/528
+    "Kannada JIHVAMULIYA and UPADHMANIYA insert dotted circles"
+
+ src/hb-ot-shape-complex-indic-private.hh                  |   2 +-
+ .../sha1sum/3d0b77a2360aa6faa1385aaa510509ab70dfbeff.ttf  | Bin 0 ->
+ 988 bytes
+ test/shaping/tests/indic-syllable.tests                   |   3 ++-
+ 3 files changed, 3 insertions(+), 2 deletions(-)
+
+commit c449d2d8c9e27502380faa0b568a374c838ac9a7
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Wed Aug 30 17:28:22 2017 -0700
+
+    [unsafe-to-break] Mark during fraction-slash formation
+
+    Fixes tests/automatic-fractions.tests
+
+ src/hb-ot-shape.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit b262ebcc9c9539076d17751e9bae06a8fd5001ff
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Wed Aug 30 17:25:10 2017 -0700
+
+    [util] Fix cluster sweeping during --verify
+
+    If *I* get this wrong in 2017, I have no idea how others get their
+    head around
+    cluster math...
+
+    Fixes tests/arabic-fallback-shaping.tests
+
+ util/options.hh | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+commit 69d701b02e5ebc3597b0d0576dbab8e1ece51944
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Wed Aug 30 17:07:29 2017 -0700
+
+    [util] When --verify fails, return reconstructed shape results
+
+ util/options.hh    | 8 +++-----
+ util/view-cairo.hh | 2 +-
+ 2 files changed, 4 insertions(+), 6 deletions(-)
+
+commit 099472e08bf81d6dd8ca1647999592df6b7fdfb9
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Wed Aug 30 16:45:06 2017 -0700
+
+    hb_buffer_diff() tweak
+
+    I like to have a mode where CONTAINS_NOTDEF and CONTAINS_DOTTEDCIRCLE
+    are not
+    returned.  Abused a value of -1 for that.  hb-shape now uses it.
+    Fixes two
+    of the six tests failing with --verify in test/shaping/run-tests.sh.
+
+ src/hb-buffer.cc          | 16 ++++++++--------
+ test/shaping/run-tests.sh |  4 ++--
+ util/options.hh           |  2 +-
+ 3 files changed, 11 insertions(+), 11 deletions(-)
+
+commit e8b364b86023731e0416ab4eb433467c4b7a0ec2
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Wed Aug 23 15:00:45 2017 -0700
+
+    1.5.0
+
+ NEWS         | 44 ++++++++++++++++++++++++++++++++++++++++++++
+ configure.ac |  2 +-
+ 2 files changed, 45 insertions(+), 1 deletion(-)
+
 commit 224d20e4e1c62416ff842a81188dfeff069f895b
 Author: Behdad Esfahbod <behdad at behdad.org>
 Date:   Wed Aug 23 14:41:48 2017 -0700

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/NEWS
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/NEWS	2017-09-06 07:57:07 UTC (rev 45228)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/NEWS	2017-09-06 08:48:50 UTC (rev 45229)
@@ -1,3 +1,16 @@
+Overview of changes leading to 1.5.1
+Tuesday, September 5, 2017
+====================================
+
+- Fix "unsafe-to-break" in fallback shaping and other corner cases.
+  All our tests pass with --verify now, meaning unsafe-to-break API
+  works as expected.
+- Add --unicodes to hb-view / hb-shape.
+- [indic] Treat Consonant_With_Stacker as consonant.  This will need
+  further tweaking.
+- hb_buffer_diff() tweaks.
+
+
 Overview of changes leading to 1.5.0
 Wednesday, August 23, 2017
 ====================================

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac	2017-09-06 07:57:07 UTC (rev 45228)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac	2017-09-06 08:48:50 UTC (rev 45229)
@@ -1,6 +1,6 @@
 AC_PREREQ([2.64])
 AC_INIT([HarfBuzz],
-        [1.5.0],
+        [1.5.1],
         [https://github.com/behdad/harfbuzz/issues/new],
         [harfbuzz],
         [http://harfbuzz.org/])

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-buffer.cc
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-buffer.cc	2017-09-06 07:57:07 UTC (rev 45228)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-buffer.cc	2017-09-06 08:48:50 UTC (rev 45229)
@@ -31,10 +31,6 @@
 #include "hb-utf-private.hh"
 
 
-#ifndef HB_DEBUG_BUFFER
-#define HB_DEBUG_BUFFER (HB_DEBUG+0)
-#endif
-
 /**
  * SECTION: hb-buffer
  * @title: Buffers
@@ -1885,6 +1881,9 @@
 /**
  * hb_buffer_diff:
  *
+ * If dottedcircle_glyph is (hb_codepoint_t) -1 then %HB_BUFFER_DIFF_FLAG_DOTTED_CIRCLE_PRESENT
+ * and %HB_BUFFER_DIFF_FLAG_NOTDEF_PRESENT are never returned.  This should be used by most
+ * callers if just comparing two buffers is needed.
  *
  * Since: 1.5.0
  **/
@@ -1894,10 +1893,11 @@
 		hb_codepoint_t dottedcircle_glyph,
 		unsigned int position_fuzz)
 {
-  if (buffer->content_type != reference->content_type)
+  if (buffer->content_type != reference->content_type && buffer->len && reference->len)
     return HB_BUFFER_DIFF_FLAG_CONTENT_TYPE_MISMATCH;
 
   hb_buffer_diff_flags_t result = HB_BUFFER_DIFF_FLAG_EQUAL;
+  bool contains = dottedcircle_glyph != (hb_codepoint_t) -1;
 
   unsigned int count = reference->len;
 
@@ -1911,9 +1911,9 @@
     unsigned int i;
     for (i = 0; i < count; i++)
     {
-      if (info[i].codepoint == dottedcircle_glyph)
+      if (contains && info[i].codepoint == dottedcircle_glyph)
         result |= HB_BUFFER_DIFF_FLAG_DOTTED_CIRCLE_PRESENT;
-      else if (info[i].codepoint == 0)
+      if (contains && info[i].codepoint == 0)
         result |= HB_BUFFER_DIFF_FLAG_NOTDEF_PRESENT;
     }
     result |= HB_BUFFER_DIFF_FLAG_LENGTH_MISMATCH;
@@ -1933,9 +1933,9 @@
       result |= HB_BUFFER_DIFF_FLAG_CLUSTER_MISMATCH;
     if ((buf_info->mask & HB_GLYPH_FLAG_DEFINED) != (ref_info->mask & HB_GLYPH_FLAG_DEFINED))
       result |= HB_BUFFER_DIFF_FLAG_GLYPH_FLAGS_MISMATCH;
-    if (ref_info->codepoint == dottedcircle_glyph)
+    if (contains && ref_info->codepoint == dottedcircle_glyph)
       result |= HB_BUFFER_DIFF_FLAG_DOTTED_CIRCLE_PRESENT;
-    else if (ref_info->codepoint == 0)
+    if (contains && ref_info->codepoint == 0)
       result |= HB_BUFFER_DIFF_FLAG_NOTDEF_PRESENT;
     buf_info++;
     ref_info++;

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-buffer.h
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-buffer.h	2017-09-06 07:57:07 UTC (rev 45228)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-buffer.h	2017-09-06 08:48:50 UTC (rev 45229)
@@ -481,12 +481,12 @@
 
   /* Buffers with different content_type cannot be meaningfully compared
    * in any further detail. */
-  HB_BUFFER_DIFF_FLAG_CONTENT_TYPE_MISMATCH	= 0X0001,
+  HB_BUFFER_DIFF_FLAG_CONTENT_TYPE_MISMATCH	= 0x0001,
 
   /* For buffers with differing length, the per-glyph comparison is not
    * attempted, though we do still scan reference for dottedcircle / .notdef
    * glyphs. */
-  HB_BUFFER_DIFF_FLAG_LENGTH_MISMATCH		= 0X0002,
+  HB_BUFFER_DIFF_FLAG_LENGTH_MISMATCH		= 0x0002,
 
   /* We want to know if dottedcircle / .notdef glyphs are present in the
    * reference, as we may not care so much about other differences in this

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-indic-private.hh
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-indic-private.hh	2017-09-06 07:57:07 UTC (rev 45228)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-indic-private.hh	2017-09-06 08:48:50 UTC (rev 45229)
@@ -121,7 +121,7 @@
   INDIC_SYLLABIC_CATEGORY_CONSONANT_PREFIXED		= OT_X, /* Don't care. */
   INDIC_SYLLABIC_CATEGORY_CONSONANT_SUBJOINED		= OT_CM,
   INDIC_SYLLABIC_CATEGORY_CONSONANT_SUCCEEDING_REPHA	= OT_N,
-  INDIC_SYLLABIC_CATEGORY_CONSONANT_WITH_STACKER	= OT_Repha, /* TODO */
+  INDIC_SYLLABIC_CATEGORY_CONSONANT_WITH_STACKER	= OT_C,
   INDIC_SYLLABIC_CATEGORY_GEMINATION_MARK		= OT_SM,
   INDIC_SYLLABIC_CATEGORY_INVISIBLE_STACKER		= OT_Coeng,
   INDIC_SYLLABIC_CATEGORY_JOINER			= OT_ZWJ,

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	2017-09-06 07:57:07 UTC (rev 45228)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape.cc	2017-09-06 08:48:50 UTC (rev 45229)
@@ -275,8 +275,7 @@
 static void
 hb_form_clusters (hb_buffer_t *buffer)
 {
-  if (!(buffer->scratch_flags & HB_BUFFER_SCRATCH_FLAG_HAS_NON_ASCII) ||
-      buffer->cluster_level != HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES)
+  if (!(buffer->scratch_flags & HB_BUFFER_SCRATCH_FLAG_HAS_NON_ASCII))
     return;
 
   /* Loop duplicated in hb_ensure_native_direction(), and in _hb-coretext.cc */
@@ -288,11 +287,17 @@
     if (likely (!HB_UNICODE_GENERAL_CATEGORY_IS_MARK (_hb_glyph_info_get_general_category (&info[i])) &&
 		!_hb_glyph_info_is_joiner (&info[i])))
     {
-      buffer->merge_clusters (base, i);
+      if (buffer->cluster_level == HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES)
+	buffer->merge_clusters (base, i);
+      else
+	buffer->unsafe_to_break (base, i);
       base = i;
     }
   }
-  buffer->merge_clusters (base, count);
+  if (buffer->cluster_level == HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES)
+    buffer->merge_clusters (base, count);
+  else
+    buffer->unsafe_to_break (base, count);
 }
 
 static void
@@ -394,6 +399,8 @@
 	     HB_UNICODE_GENERAL_CATEGORY_DECIMAL_NUMBER)
         end++;
 
+      buffer->unsafe_to_break (start, end);
+
       for (unsigned int j = start; j < i; j++)
         info[j].mask |= pre_mask;
       info[i].mask |= c->plan->frac_mask;
@@ -578,8 +585,6 @@
 {
   hb_buffer_t *buffer = c->buffer;
 
-  hb_ot_shape_initialize_masks (c);
-
   hb_ot_mirror_chars (c);
 
   HB_BUFFER_ALLOCATE_VAR (buffer, glyph_index);
@@ -834,8 +839,10 @@
 
   c->buffer->clear_output ();
 
+  hb_ot_shape_initialize_masks (c);
   hb_set_unicode_props (c->buffer);
   hb_insert_dotted_circle (c->buffer, c->font);
+
   hb_form_clusters (c->buffer);
 
   hb_ensure_native_direction (c->buffer);

Modified: trunk/Build/source/libs/harfbuzz/version.ac
===================================================================
--- trunk/Build/source/libs/harfbuzz/version.ac	2017-09-06 07:57:07 UTC (rev 45228)
+++ trunk/Build/source/libs/harfbuzz/version.ac	2017-09-06 08:48:50 UTC (rev 45229)
@@ -8,4 +8,4 @@
 dnl --------------------------------------------------------
 dnl
 dnl  m4-include this file to define the current harfbuzz version
-m4_define([harfbuzz_version], [1.5.0])
+m4_define([harfbuzz_version], [1.5.1])



More information about the tex-live-commits mailing list