texlive[45593] Build/source/libs: harfbuzz 1.6.2.

commits+kakuto at tug.org commits+kakuto at tug.org
Wed Oct 25 00:11:52 CEST 2017


Revision: 45593
          http://tug.org/svn/texlive?view=revision&revision=45593
Author:   kakuto
Date:     2017-10-25 00:11:52 +0200 (Wed, 25 Oct 2017)
Log Message:
-----------
harfbuzz 1.6.2. It does not yet compile since works for c++11 configuration are not done

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/RELEASING.md
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/harfbuzz.doap
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-icu.cc
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsubgpos-private.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape.cc
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-private.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-set-private.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-set.cc
    trunk/Build/source/libs/harfbuzz/version.ac

Modified: trunk/Build/source/libs/README
===================================================================
--- trunk/Build/source/libs/README	2017-10-24 21:24:29 UTC (rev 45592)
+++ trunk/Build/source/libs/README	2017-10-24 22:11:52 UTC (rev 45593)
@@ -24,7 +24,7 @@
 graphite2 1.3.10 - checked 20jun17
   http://sourceforge.net/projects/silgraphite/files/graphite2/
 
-harfbuzz 1.6.1 - checked 23oct17
+harfbuzz 1.6.2 - checked 24oct17
   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-10-24 21:24:29 UTC (rev 45592)
+++ trunk/Build/source/libs/harfbuzz/ChangeLog	2017-10-24 22:11:52 UTC (rev 45593)
@@ -1,3 +1,10 @@
+2017-10-24  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
+
+	Import harfbuzz-1.6.2.
+	* version.ac: Adjusted.
+	Note that c++11 is required from the version 1.6.1. Works for
+	the c++11 configuration are not yet done.
+
 2017-10-23  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	Import harfbuzz-1.6.1.

Modified: trunk/Build/source/libs/harfbuzz/TLpatches/ChangeLog
===================================================================
--- trunk/Build/source/libs/harfbuzz/TLpatches/ChangeLog	2017-10-24 21:24:29 UTC (rev 45592)
+++ trunk/Build/source/libs/harfbuzz/TLpatches/ChangeLog	2017-10-24 22:11:52 UTC (rev 45593)
@@ -1,5 +1,10 @@
-2017-10-14  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
+2017-10-24  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
+	Imported harfbuzz-1.6.2 source tree from:
+	  http://www.freedesktop.org/software/harfbuzz/release/
+
+2017-10-23  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
+
 	Imported harfbuzz-1.6.1 source tree from:
 	  http://www.freedesktop.org/software/harfbuzz/release/
 

Modified: trunk/Build/source/libs/harfbuzz/TLpatches/TL-Changes
===================================================================
--- trunk/Build/source/libs/harfbuzz/TLpatches/TL-Changes	2017-10-24 21:24:29 UTC (rev 45592)
+++ trunk/Build/source/libs/harfbuzz/TLpatches/TL-Changes	2017-10-24 22:11:52 UTC (rev 45593)
@@ -1,4 +1,4 @@
-Changes applied to the harfbuzz-1.6.1/ tree as obtained from:
+Changes applied to the harfbuzz-1.6.2/ 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-10-24 21:24:29 UTC (rev 45592)
+++ trunk/Build/source/libs/harfbuzz/configure	2017-10-24 22:11:52 UTC (rev 45593)
@@ -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.6.1.
+# Generated by GNU Autoconf 2.69 for harfbuzz (TeX Live) 1.6.2.
 #
 # 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.6.1'
-PACKAGE_STRING='harfbuzz (TeX Live) 1.6.1'
+PACKAGE_VERSION='1.6.2'
+PACKAGE_STRING='harfbuzz (TeX Live) 1.6.2'
 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.6.1 to adapt to many kinds of systems.
+\`configure' configures harfbuzz (TeX Live) 1.6.2 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.6.1:";;
+     short | recursive ) echo "Configuration of harfbuzz (TeX Live) 1.6.2:";;
    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.6.1
+harfbuzz (TeX Live) configure 1.6.2
 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.6.1, which was
+It was created by harfbuzz (TeX Live) $as_me 1.6.2, 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.6.1'
+ VERSION='1.6.2'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4206,8 +4206,8 @@
 
 HB_VERSION_MAJOR=1
 HB_VERSION_MINOR=6
-HB_VERSION_MICRO=1
-HB_VERSION=1.6.1
+HB_VERSION_MICRO=2
+HB_VERSION=1.6.2
 
 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.6.1, which was
+This file was extended by harfbuzz (TeX Live) $as_me 1.6.2, 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.6.1
+harfbuzz (TeX Live) config.status 1.6.2
 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-10-24 21:24:29 UTC (rev 45592)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog	2017-10-24 22:11:52 UTC (rev 45593)
@@ -1,3 +1,145 @@
+commit 30a591e3cef67818ef1ffec92c6a022b5a5f5e77
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Mon Oct 23 14:28:35 2017 -0400
+
+    [set] Rewrite another way :P
+
+ src/hb-set-private.hh | 25 +++++++++++++------------
+ 1 file changed, 13 insertions(+), 12 deletions(-)
+
+commit 8170801d78a5bf9480d8c06ade849b30bc4e2956
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Mon Oct 23 14:26:48 2017 -0400
+
+    [set] Fix crash
+
+    Ouch!  That's what happens when one plays with increment/decrement
+    operators!
+
+    Fixes https://github.com/behdad/harfbuzz/issues/578
+
+ src/hb-set-private.hh | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+commit 61d1c60a1c555c58205964df4e449ee57125a739
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Mon Oct 23 13:10:21 2017 -0400
+
+    [RELEASING] Format
+
+ RELEASING.md | 67
+ +++++++++++++++++++++++++++++++++++++++++++-----------------
+ 1 file changed, 48 insertions(+), 19 deletions(-)
+
+commit 6a2e1649debd992211bf96ef80d075d2d04a49ed
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Mon Oct 23 13:01:34 2017 -0400
+
+    [doap] Switch to github issues
+
+    https://github.com/behdad/harfbuzz/pull/575#issuecomment-338514596
+
+ harfbuzz.doap | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8a898c1929cf7ffc9b0011461b34281ecc98705c
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Mon Oct 23 13:00:36 2017 -0400
+
+    [RELEASING] Minor
+
+    https://github.com/behdad/harfbuzz/pull/575
+
+ RELEASING.md | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 2ee710e02fad1a8a4b94589bb6f0b90e2aeb7121
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Mon Oct 23 08:37:48 2017 -0400
+
+    Minor
+
+ src/hb-private.hh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit dd33e4e96b9345a6b1a9051a6aa4b7d114c74f1e
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Mon Oct 23 08:36:40 2017 -0400
+
+    [set] Don't use major()
+
+    Fixes https://github.com/behdad/harfbuzz/issues/577
+
+ src/hb-set-private.hh | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit d0f0ff85b9fe959ef4b90f8daf58be73fca49dd0
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Mon Oct 23 08:34:30 2017 -0400
+
+    [set] Don't use PAGE_SIZE
+
+    Fixes https://github.com/behdad/harfbuzz/issues/576
+
+ src/hb-set-private.hh | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit 57cf978fa314bd87405a2b133e58fcb116e574a6
+Merge: ce979454 6cc49762
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Sun Oct 22 18:24:59 2017 -0400
+
+    Merge commit '6cc49762c4fdfd0e2770a84d1b1f055acf42376f'
+
+commit ce979454400c3870717ba40b1065a2f3727cfb93
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Sun Oct 22 18:23:38 2017 -0400
+
+    [icu] Fix error check
+
+ src/hb-icu.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 6cc49762c4fdfd0e2770a84d1b1f055acf42376f
+Merge: 8b9d9b71 19923279
+Author: ebraminio <ebrahim at gnu.org>
+Date:   Mon Oct 23 01:48:22 2017 +0330
+
+    Merge pull request #575 from behdad/releasing-edit
+
+    Clarify the last step of release
+
+commit 19923279abd4c7615e8b02e05a02ba18f5c0b298
+Author: ebraminio <ebrahim at gnu.org>
+Date:   Mon Oct 23 01:47:51 2017 +0330
+
+    Clarify the last step of release
+
+ RELEASING.md | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8b9d9b71b04c9d5698ec146658b31381060c700d
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Sun Oct 22 17:48:06 2017 -0400
+
+    Fix set initialization issues
+
+ src/hb-ot-layout-gsubgpos-private.hh | 12 ++++++------
+ src/hb-ot-shape.cc                   | 17 +++++++++--------
+ src/hb-set-private.hh                |  9 ---------
+ src/hb-set.cc                        |  6 ++++--
+ 4 files changed, 19 insertions(+), 25 deletions(-)
+
+commit 0ca915efc3734111a57ff71f05d9cbf0e8af3de9
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Sun Oct 22 17:38:33 2017 -0400
+
+    1.6.1
+
+ NEWS         | 13 +++++++++++++
+ configure.ac |  2 +-
+ 2 files changed, 14 insertions(+), 1 deletion(-)
+
 commit d59d5dc7d339deb45cc84cffd084b52752765a08
 Merge: ced86da7 3ee15a60
 Author: Behdad Esfahbod <behdad at behdad.org>

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/NEWS
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/NEWS	2017-10-24 21:24:29 UTC (rev 45592)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/NEWS	2017-10-24 22:11:52 UTC (rev 45593)
@@ -1,3 +1,13 @@
+Overview of changes leading to 1.6.2
+Monday, October 23nd, 2017
+====================================
+
+- Yesterday's release had a bad crasher; don't use it.  That's what
+  happens when one works on Sunday...
+  https://github.com/behdad/harfbuzz/issues/578
+- Build fixes for FreeBSD and Chrome Android.
+
+
 Overview of changes leading to 1.6.1
 Sunday, October 22nd, 2017
 ====================================

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/RELEASING.md
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/RELEASING.md	2017-10-24 21:24:29 UTC (rev 45592)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/RELEASING.md	2017-10-24 22:11:52 UTC (rev 45593)
@@ -1,28 +1,49 @@
 HarfBuzz release walk-through checklist:
 
 1. Open gitk and review changes since last release.
-   * `git diff $(git describe | sed 's/-.*//').. src/*.h` prints all public API changes.
 
-     Document them in NEWS,  All API and API semantic changes should be clearly
-     marked as API additions, API changes, or API deletions.
-     If there's a backward-incompatible API change (including deletions for API used anywhere),
-     that's a release blocker.  Do NOT release.  Document deprecations.
-2. Based on severity of changes, decide whether it's a minor or micro release number bump,
+   * `git diff $(git describe | sed 's/-.*//').. src/*.h` prints all public API
+     changes.
+
+     Document them in NEWS.  All API and API semantic changes should be clearly
+     marked as API additions, API changes, or API deletions.  Document
+     deprecations.
+
+     If there's a backward-incompatible API change (including deletions for API
+     used anywhere), that's a release blocker.  Do NOT release.
+
+2. Based on severity of changes, decide whether it's a minor or micro release
+   number bump,
+
 3. Make sure you have correct date and new version at the top of NEWS file,
+
 4. Bump version in configure.ac line 3,
+
 5. Do "make distcheck", if it passes, you get a tarball.
    Otherwise, fix things and commit them separately before making release,
-6. "make release-files". Enter your GPG password again.  This creates a sha256 hash and signs it.
-7. Now that you have a tarball built, commit NEWS and configure.ac changes.  The commit message
-   is simply the release number.  Eg. "1.4.7"
-8. Tag the release and sign it: Eg. "git tag -s 1.4.7 -m 1.4.7".  Enter your GPG password.
+
+6. "make release-files".  Enter your GPG password.  This creates a sha256 hash
+   and signs it.
+
+7. Now that you have release files built, commit NEWS and configure.ac changes.
+   The commit message is simply the release number.  Eg. "1.4.7"
+
+8. Tag the release and sign it: Eg. "git tag -s 1.4.7 -m 1.4.7".  Enter your
+   GPG password again.
+
 9. Build win32 bundle.
-   1. Put contents of [this](https://drive.google.com/open?id=0B3_fQkxDZZXXbWltRGd5bjVrUDQ) on your `~/.local/i686-w64-mingw32`
-   2. Run `./MING32 --with-uniscribe` script (available below) to config harfbuzz with mingw
-   3. make
-   4. `./UPDATE.sh` (available below)
-10. Copy all artefacts to users.freedesktop.org and move them into `/srv/www.freedesktop.org/www/software/harfbuzz/release`
-    There should be four files.  Eg.:
+
+   a. Put contents of [this](https://drive.google.com/open?id=0B3_fQkxDZZXXbWltRGd5bjVrUDQ) on your `~/.local/i686-w64-mingw32`,
+
+   b. Run `./MING32 --with-uniscribe` script (available below) to configure harfbuzz with mingw in a subdirector (eg. winbuild/),
+
+   c. make
+
+   d. Back in the parent directory, run `./UPDATE.sh` (available below) to build win32 bundle.
+
+10. Copy all artefacts to users.freedesktop.org and move them into
+    `/srv/www.freedesktop.org/www/software/harfbuzz/release` There should be four
+    files.  Eg.:
  ```
 -rw-r--r--  1 behdad eng 1592693 Jul 18 11:25 harfbuzz-1.4.7.tar.bz2
 -rw-r--r--  1 behdad eng      89 Jul 18 11:34 harfbuzz-1.4.7.tar.bz2.sha256
@@ -29,11 +50,19 @@
 -rw-r--r--  1 behdad eng     339 Jul 18 11:34 harfbuzz-1.4.7.tar.bz2.sha256.asc
 -rw-r--r--  1 behdad eng 2895619 Jul 18 11:34 harfbuzz-1.4.7-win32.zip
 ```
-11. While doing that, quickly double-check the size of the .tar.bz2 and .zip files against their previous releases to make sure nothing bad happened.  They should be in the ballpark, perhaps slightly larger.  Sometimes they do shrink, that's not by itself a stopper.
-12. Push the commit and tag out: "git push --follow-tags".  Make sure it's pushed both to freedesktop repo and github.
-13. Upload artefacts and NEWS entry on the github release.
 
+11. While doing that, quickly double-check the size of the .tar.bz2 and .zip
+    files against their previous releases to make sure nothing bad happened.
+    They should be in the ballpark, perhaps slightly larger.  Sometimes they
+    do shrink, that's not by itself a stopper.
 
+12. Push the commit and tag out: "git push --follow-tags".  Make sure it's
+    pushed both to freedesktop repo and github.
+
+13. Go to GitHub release page [here](https://github.com/behdad/harfbuzz/releases),
+    edit the tag, upload artefacts and NEWS entry and save.
+
+
 ## MING32
 ```bash
 #!/bin/bash
@@ -57,7 +86,7 @@
 export PKG_CONFIG_LIBDIR=$HOME/.local/$target/lib/pkgconfig
 export PATH=$HOME/.local/$target/bin:$PATH
 
-../configure --build=`~/script/config.guess` --host=$target --prefix=/home/behdad/.local/$target "$@"
+../configure --build=`../config.guess` --host=$target --prefix=$HOME/.local/$target "$@"
 ```
 
 ## UPDATE.sh

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac	2017-10-24 21:24:29 UTC (rev 45592)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac	2017-10-24 22:11:52 UTC (rev 45593)
@@ -1,6 +1,6 @@
 AC_PREREQ([2.64])
 AC_INIT([HarfBuzz],
-        [1.6.1],
+        [1.6.2],
         [https://github.com/behdad/harfbuzz/issues/new],
         [harfbuzz],
         [http://harfbuzz.org/])

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/harfbuzz.doap
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/harfbuzz.doap	2017-10-24 21:24:29 UTC (rev 45592)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/harfbuzz.doap	2017-10-24 22:11:52 UTC (rev 45593)
@@ -13,7 +13,7 @@
   <!--download-page
   rdf:resource=""/-->
   <bug-database
-  rdf:resource="http://bugs.freedesktop.org/enter_bug.cgi?product=harfbuzz"/>
+  rdf:resource="https://github.com/behdad/harfbuzz/issues" />
 
   <maintainer>
     <foaf:Person>

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-icu.cc
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-icu.cc	2017-10-24 21:24:29 UTC (rev 45592)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-icu.cc	2017-10-24 22:11:52 UTC (rev 45593)
@@ -332,13 +332,13 @@
   /* Normalise the codepoint using NFKD mode. */
   icu_err = U_ZERO_ERROR;
   len = unorm2_normalize (unorm2_getNFKDInstance (&icu_err), utf16, len, normalized, ARRAY_LENGTH (normalized), &icu_err);
-  if (icu_err)
+  if (U_FAILURE (icu_err))
     return 0;
 
   /* Convert the decomposed form from UTF-16 to UTF-32. */
   icu_err = U_ZERO_ERROR;
   u_strToUTF32 ((UChar32*) decomposed, HB_UNICODE_MAX_DECOMPOSITION_LEN, &utf32_len, normalized, len, &icu_err);
-  if (icu_err)
+  if (U_FAILURE (icu_err))
     return 0;
 
   return utf32_len;

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsubgpos-private.hh
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsubgpos-private.hh	2017-10-24 21:24:29 UTC (rev 45592)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsubgpos-private.hh	2017-10-24 22:11:52 UTC (rev 45593)
@@ -160,7 +160,7 @@
       return HB_VOID;
 
     /* Return if new lookup was recursed to before. */
-    if (recursed_lookups.has (lookup_index))
+    if (recursed_lookups->has (lookup_index))
       return HB_VOID;
 
     hb_set_t *old_before = before;
@@ -176,7 +176,7 @@
     input  = old_input;
     after  = old_after;
 
-    recursed_lookups.add (lookup_index);
+    recursed_lookups->add (lookup_index);
 
     return HB_VOID;
   }
@@ -187,7 +187,7 @@
   hb_set_t *after;
   hb_set_t *output;
   recurse_func_t recurse_func;
-  hb_set_t recursed_lookups;
+  hb_set_t *recursed_lookups;
   unsigned int nesting_level_left;
   unsigned int debug_depth;
 
@@ -203,15 +203,15 @@
 			      after  (glyphs_after  ? glyphs_after  : hb_set_get_empty ()),
 			      output (glyphs_output ? glyphs_output : hb_set_get_empty ()),
 			      recurse_func (nullptr),
-			      recursed_lookups (),
+			      recursed_lookups (nullptr),
 			      nesting_level_left (nesting_level_left_),
 			      debug_depth (0)
   {
-    recursed_lookups.init ();
+    recursed_lookups = hb_set_create ();
   }
   ~hb_collect_glyphs_context_t (void)
   {
-    recursed_lookups.fini ();
+    hb_set_destroy (recursed_lookups);
   }
 
   void set_recurse_func (recurse_func_t func) { recurse_func = func; }

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-10-24 21:24:29 UTC (rev 45592)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape.cc	2017-10-24 22:11:52 UTC (rev 45593)
@@ -939,18 +939,19 @@
   for (unsigned int i = 0; i < count; i++)
     add_char (font, buffer->unicode, mirror, info[i].codepoint, glyphs);
 
-  hb_set_t lookups;
-  lookups.init ();
-  hb_ot_shape_plan_collect_lookups (shape_plan, HB_OT_TAG_GSUB, &lookups);
+  hb_set_t *lookups = hb_set_create ();
+  hb_ot_shape_plan_collect_lookups (shape_plan, HB_OT_TAG_GSUB, lookups);
 
   /* And find transitive closure. */
-  hb_set_t copy;
-  copy.init ();
+  hb_set_t *copy = hb_set_create ();
   do {
-    copy.set (glyphs);
-    for (hb_codepoint_t lookup_index = -1; hb_set_next (&lookups, &lookup_index);)
+    copy->set (glyphs);
+    for (hb_codepoint_t lookup_index = -1; hb_set_next (lookups, &lookup_index);)
       hb_ot_layout_lookup_substitute_closure (font->face, lookup_index, glyphs);
-  } while (!copy.is_equal (glyphs));
+  } while (!copy->is_equal (glyphs));
+  hb_set_destroy (copy);
 
+  hb_set_destroy (lookups);
+
   hb_shape_plan_destroy (shape_plan);
 }

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-private.hh
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-private.hh	2017-10-24 21:24:29 UTC (rev 45592)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-private.hh	2017-10-24 22:11:52 UTC (rev 45593)
@@ -340,7 +340,7 @@
   if (sizeof (long) >= sizeof (mask))
     return __builtin_popcountl (mask);
 #endif
-  return _hb_popcount32 (mask) + _hb_popcount32 (mask >> 32);
+  return _hb_popcount32 (mask & 0xFFFFFFFF) + _hb_popcount32 (mask >> 32);
 }
 template <typename T> static inline unsigned int _hb_popcount (T mask);
 template <> inline unsigned int _hb_popcount<uint32_t> (uint32_t mask) { return _hb_popcount32 (mask); }

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-set-private.hh
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-set-private.hh	2017-10-24 21:24:29 UTC (rev 45592)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-set-private.hh	2017-10-24 22:11:52 UTC (rev 45593)
@@ -156,6 +156,7 @@
     elt_t const &elt (hb_codepoint_t g) const { return v[(g & MASK) / ELT_BITS]; }
     elt_t mask (hb_codepoint_t g) const { return elt_t (1) << (g & ELT_MASK); }
   };
+  static_assert (page_t::PAGE_BITS == sizeof (page_t) * 8, "");
 
   hb_object_header_t header;
   ASSERT_POD ();
@@ -175,15 +176,6 @@
     return true;
   }
 
-  inline void init (void) {
-    hb_object_init (this);
-    page_map.init ();
-    pages.init ();
-  }
-  inline void fini (void) {
-    page_map.finish ();
-    pages.finish ();
-  }
   inline void clear (void) {
     if (unlikely (hb_object_is_inert (this)))
       return;
@@ -282,11 +274,11 @@
   {
     if (unlikely (in_error)) return;
 
-    int na = pages.len;
-    int nb = other->pages.len;
+    unsigned int na = pages.len;
+    unsigned int nb = other->pages.len;
 
     unsigned int count = 0;
-    int a = 0, b = 0;
+    unsigned int a = 0, b = 0;
     for (; a < na && b < nb; )
     {
       if (page_map[a].major == other->page_map[b].major)
@@ -317,32 +309,35 @@
       return;
 
     /* Process in-place backward. */
-    a = na - 1, b = nb - 1;
-    for (; a >= 0 && b >= 0; )
+    a = na;
+    b = nb;
+    for (; a && b; )
     {
       if (page_map[a].major == other->page_map[b].major)
       {
-        Op::process (page_at (--count).v, page_at (a).v, other->page_at (b).v);
 	a--;
 	b--;
+        Op::process (page_at (--count).v, page_at (a).v, other->page_at (b).v);
       }
       else if (page_map[a].major > other->page_map[b].major)
       {
+        a--;
         if (Op::passthru_left)
 	  page_at (--count).v = page_at (a).v;
-        a--;
       }
       else
       {
+        b--;
         if (Op::passthru_right)
 	  page_at (--count).v = other->page_at (b).v;
-        b--;
       }
     }
-    while (a >= 0)
-      page_at (--count).v = page_at (--a).v;
-    while (b >= 0)
-      page_at (--count).v = other->page_at (--b).v;
+    if (Op::passthru_left)
+      while (a)
+	page_at (--count).v = page_at (--a).v;
+    if (Op::passthru_right)
+      while (b)
+	page_at (--count).v = other->page_at (--b).v;
     assert (!count);
   }
 
@@ -369,7 +364,7 @@
       return *codepoint != INVALID;
     }
 
-    page_map_t map = {major (*codepoint), 0};
+    page_map_t map = {get_major (*codepoint), 0};
     unsigned int i;
     page_map.bfind (&map, &i);
     if (i < page_map.len)
@@ -376,7 +371,7 @@
     {
       if (pages[page_map[i].index].next (codepoint))
       {
-	*codepoint += page_map[i].major * PAGE_SIZE;
+	*codepoint += page_map[i].major * page_t::PAGE_BITS;
         return true;
       }
       i++;
@@ -386,7 +381,7 @@
       hb_codepoint_t m = pages[page_map[i].index].get_min ();
       if (m != INVALID)
       {
-	*codepoint = page_map[i].major * PAGE_SIZE + m;
+	*codepoint = page_map[i].major * page_t::PAGE_BITS + m;
 	return true;
       }
     }
@@ -424,7 +419,7 @@
     unsigned int count = pages.len;
     for (unsigned int i = 0; i < count; i++)
       if (!page_at (i).is_empty ())
-        return page_map[i].major * PAGE_SIZE + page_at (i).get_min ();
+        return page_map[i].major * page_t::PAGE_BITS + page_at (i).get_min ();
     return INVALID;
   }
   inline hb_codepoint_t get_max (void) const
@@ -432,16 +427,15 @@
     unsigned int count = pages.len;
     for (int i = count - 1; i >= 0; i++)
       if (!page_at (i).is_empty ())
-        return page_map[i].major * PAGE_SIZE + page_at (i).get_max ();
+        return page_map[i].major * page_t::PAGE_BITS + page_at (i).get_max ();
     return INVALID;
   }
 
-  static const unsigned int PAGE_SIZE = sizeof (page_t) * 8;
   static  const hb_codepoint_t INVALID = HB_SET_VALUE_INVALID;
 
   page_t *page_for_insert (hb_codepoint_t g)
   {
-    page_map_t map = {major (g), pages.len};
+    page_map_t map = {get_major (g), pages.len};
     unsigned int i;
     if (!page_map.bfind (&map, &i))
     {
@@ -456,7 +450,7 @@
   }
   page_t *page_for (hb_codepoint_t g)
   {
-    page_map_t key = {major (g)};
+    page_map_t key = {get_major (g)};
     const page_map_t *found = page_map.bsearch (&key);
     if (found)
       return &pages[found->index];
@@ -464,7 +458,7 @@
   }
   const page_t *page_for (hb_codepoint_t g) const
   {
-    page_map_t key = {major (g)};
+    page_map_t key = {get_major (g)};
     const page_map_t *found = page_map.bsearch (&key);
     if (found)
       return &pages[found->index];
@@ -472,7 +466,7 @@
   }
   page_t &page_at (unsigned int i) { return pages[page_map[i].index]; }
   const page_t &page_at (unsigned int i) const { return pages[page_map[i].index]; }
-  unsigned int major (hb_codepoint_t g) const { return g / PAGE_SIZE; }
+  unsigned int get_major (hb_codepoint_t g) const { return g / page_t::PAGE_BITS; }
 };
 
 

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-set.cc
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-set.cc	2017-10-24 21:24:29 UTC (rev 45592)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-set.cc	2017-10-24 22:11:52 UTC (rev 45593)
@@ -45,7 +45,8 @@
   if (!(set = hb_object_create<hb_set_t> ()))
     return hb_set_get_empty ();
 
-  set->clear ();
+  set->page_map.init ();
+  set->pages.init ();
 
   return set;
 }
@@ -95,7 +96,8 @@
 {
   if (!hb_object_destroy (set)) return;
 
-  set->fini ();
+  set->page_map.finish ();
+  set->pages.finish ();
 
   free (set);
 }

Modified: trunk/Build/source/libs/harfbuzz/version.ac
===================================================================
--- trunk/Build/source/libs/harfbuzz/version.ac	2017-10-24 21:24:29 UTC (rev 45592)
+++ trunk/Build/source/libs/harfbuzz/version.ac	2017-10-24 22:11:52 UTC (rev 45593)
@@ -8,4 +8,4 @@
 dnl --------------------------------------------------------
 dnl
 dnl  m4-include this file to define the current harfbuzz version
-m4_define([harfbuzz_version], [1.6.1])
+m4_define([harfbuzz_version], [1.6.2])



More information about the tex-live-commits mailing list