texlive[42013] Build/source/libs/harfbuzz: harfbuzz 1.3.1

commits+kakuto at tug.org commits+kakuto at tug.org
Thu Sep 8 00:09:03 CEST 2016


Revision: 42013
          http://tug.org/svn/texlive?view=revision&revision=42013
Author:   kakuto
Date:     2016-09-08 00:09:03 +0200 (Thu, 08 Sep 2016)
Log Message:
-----------
harfbuzz 1.3.1

Modified Paths:
--------------
    trunk/Build/source/libs/harfbuzz/ChangeLog
    trunk/Build/source/libs/harfbuzz/configure
    trunk/Build/source/libs/harfbuzz/harfbuzz-PATCHES/ChangeLog
    trunk/Build/source/libs/harfbuzz/harfbuzz-PATCHES/TL-Changes
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/NEWS
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/README
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-buffer-private.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-cache-private.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-coretext.cc
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-directwrite.cc
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-face.cc
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-font.cc
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ft.cc
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout.cc
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-map.cc
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-tag.cc
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-set-private.hh
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-shape-plan.cc
    trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-uniscribe.cc
    trunk/Build/source/libs/harfbuzz/version.ac

Modified: trunk/Build/source/libs/harfbuzz/ChangeLog
===================================================================
--- trunk/Build/source/libs/harfbuzz/ChangeLog	2016-09-07 21:48:41 UTC (rev 42012)
+++ trunk/Build/source/libs/harfbuzz/ChangeLog	2016-09-07 22:09:03 UTC (rev 42013)
@@ -1,3 +1,8 @@
+2016-09-07  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
+
+	Import harfbuzz-1.3.1.
+	* version.ac: Adjusted.
+
 2016-07-22  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	Import harfbuzz-1.3.0.

Modified: trunk/Build/source/libs/harfbuzz/configure
===================================================================
--- trunk/Build/source/libs/harfbuzz/configure	2016-09-07 21:48:41 UTC (rev 42012)
+++ trunk/Build/source/libs/harfbuzz/configure	2016-09-07 22:09:03 UTC (rev 42013)
@@ -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.3.0.
+# Generated by GNU Autoconf 2.69 for harfbuzz (TeX Live) 1.3.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.3.0'
-PACKAGE_STRING='harfbuzz (TeX Live) 1.3.0'
+PACKAGE_VERSION='1.3.1'
+PACKAGE_STRING='harfbuzz (TeX Live) 1.3.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.3.0 to adapt to many kinds of systems.
+\`configure' configures harfbuzz (TeX Live) 1.3.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.3.0:";;
+     short | recursive ) echo "Configuration of harfbuzz (TeX Live) 1.3.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.3.0
+harfbuzz (TeX Live) configure 1.3.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.3.0, which was
+It was created by harfbuzz (TeX Live) $as_me 1.3.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.3.0'
+ VERSION='1.3.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4207,7 +4207,7 @@
 HB_VERSION_MAJOR=1
 HB_VERSION_MINOR=2
 HB_VERSION_MICRO=7
-HB_VERSION=1.3.0
+HB_VERSION=1.3.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.3.0, which was
+This file was extended by harfbuzz (TeX Live) $as_me 1.3.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.3.0
+harfbuzz (TeX Live) config.status 1.3.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-PATCHES/ChangeLog
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-PATCHES/ChangeLog	2016-09-07 21:48:41 UTC (rev 42012)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-PATCHES/ChangeLog	2016-09-07 22:09:03 UTC (rev 42013)
@@ -1,3 +1,8 @@
+2016-09-07  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
+
+	Imported harfbuzz-1.3.1 source tree from:
+	  http://www.freedesktop.org/software/harfbuzz/release/
+
 2016-07-22  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	Imported harfbuzz-1.3.0 source tree from:

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-PATCHES/TL-Changes
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-PATCHES/TL-Changes	2016-09-07 21:48:41 UTC (rev 42012)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-PATCHES/TL-Changes	2016-09-07 22:09:03 UTC (rev 42013)
@@ -1,4 +1,4 @@
-Changes applied to the harfbuzz-1.3.0/ tree as obtained from:
+Changes applied to the harfbuzz-1.3.1/ tree as obtained from:
 	http://www.freedesktop.org/software/harfbuzz/release/
 
 Removed:

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog	2016-09-07 21:48:41 UTC (rev 42012)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog	2016-09-07 22:09:03 UTC (rev 42013)
@@ -1,3 +1,247 @@
+commit b717cd7be506217e466e32a456df9af4d2720c0c
+Author: Dominik Röttsches <d-r at roettsches.de>
+Date:   Wed Sep 7 23:56:57 2016 +0300
+
+    Do reconfigure the cascade list for Emoji font on OS X 10.9.5 (#313)
+
+    This seems to fix crash issues on 10.9.5 reported on Chrome, compare
+    crbug.com/549610
+
+ src/hb-coretext.cc | 13 ++++++++++---
+ 1 file changed, 10 insertions(+), 3 deletions(-)
+
+commit 67e9fdf427e8536f0a134f84ad3bf1740245fe12
+Author: Dominik Röttsches <d-r at roettsches.de>
+Date:   Mon Sep 5 11:27:25 2016 +0300
+
+    Blacklist Padauk 2.80 and 3.00 (#311)
+
+    According to comments in issue #305 broken GDEF tables lead
+    to incorrect rendering of Latin characters. Blacklisting
+    this font.
+
+ src/hb-ot-layout.cc | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit 17f0dd2dfb9a15aed9d1a229115940cc23bdbc97
+Author: Ebrahim Byagowi <ebrahim at gnu.org>
+Date:   Fri Sep 2 01:21:48 2016 +0430
+
+    [ci] Add msys2 build to CI and run its testsuite on Windows (#310)
+
+ appveyor.yml | 20 ++++++++++++++++----
+ 1 file changed, 16 insertions(+), 4 deletions(-)
+
+commit 5362ce6a6455c539d615e7fb221a904ac744b74c
+Author: Ebrahim Byagowi <ebrahim at gnu.org>
+Date:   Thu Sep 1 20:05:45 2016 +0430
+
+    [dwrite] Minor, don't include unnecessary headers (#309)
+
+ src/hb-directwrite.cc | 4 ----
+ 1 file changed, 4 deletions(-)
+
+commit c4f36b04e32ae5111ef11d225e5d6e82c8216185
+Author: Ebrahim Byagowi <ebrahim at gnu.org>
+Date:   Thu Sep 1 17:31:16 2016 +0430
+
+    [ci] Add Windows CI support, provided by AppVeyor (#308)
+
+ README                  |  1 +
+ appveyor.yml            | 28 ++++++++++++++++++++++++++++
+ win32/generate-msvc.mak |  2 +-
+ 3 files changed, 30 insertions(+), 1 deletion(-)
+
+commit 3d976d20f1b97c771e64a9cfed2760ebec64037a
+Author: Khaled Hosny <khaledhosny at eglug.org>
+Date:   Sat Aug 27 16:38:42 2016 +0300
+
+    Show the shaper name in the debug message (#306)
+
+ src/hb-shape-plan.cc | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 547ddb0721365dca985aef5b759d08718f7c5f82
+Merge: bd1aac9 e7ecbba
+Author: Sascha Brawer <sascha at brawer.ch>
+Date:   Thu Aug 18 22:33:14 2016 +0200
+
+    Merge pull request #303 from behdad/fonnapa
+
+    Support Americanist Phonetic Notation
+
+commit e7ecbba2cc3c9369c5e7dc7296cb210018aca3bb
+Author: Sascha Brawer <sascha at brawer.ch>
+Date:   Thu Aug 18 12:48:38 2016 +0200
+
+    Support Americanist Phonetic Notation
+
+    OpenType language system tag: `APPH`
+    https://www.microsoft.com/typography/otspec/languagetags.htm
+
+    IETF BCP47 variant tag: `fonnapa`
+    http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
+
+ src/hb-ot-tag.cc       | 14 ++++++++++++--
+ test/api/test-ot-tag.c |  6 ++++++
+ 2 files changed, 18 insertions(+), 2 deletions(-)
+
+commit bd1aac9c0021a936058637424a478abf792533dd
+Merge: 18c19dd a0f1b44
+Author: Sascha Brawer <sascha at brawer.ch>
+Date:   Thu Aug 18 13:59:38 2016 +0200
+
+    Merge pull request #302 from khaledhosny/master
+
+    [travis] Fix MacOS libtool issue
+
+commit a0f1b44b6c0e3b1e6a1ba63dde2be22e0425353f
+Author: Khaled Hosny <khaledhosny at eglug.org>
+Date:   Tue Aug 16 03:09:04 2016 +0200
+
+    [coretext] Blind fix for build on MacOS 10.9
+
+ src/hb-coretext.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 0634d5600e559a69a92d49173ffb8e715fe7576c
+Author: Khaled Hosny <khaledhosny at eglug.org>
+Date:   Tue Aug 16 02:49:48 2016 +0200
+
+    [travis] Fix MacOS libtool issue
+
+    Reveals another MacOS build breakage in the Core Text shaper.
+
+ .travis.yml | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 18c19dd34dcdcaab0a6d47768339f8fb70c0d3f0
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Tue Aug 9 13:03:14 2016 -0700
+
+    Fix build
+
+ test/api/test-ot-tag.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 91f2585411aaf5565fcf0c991b9055b0b397f1cd
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Mon Aug 8 18:08:08 2016 -0700
+
+    Actually add test
+
+ test/shaping/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit f1b76275da716a4174092e6389979e03c0e3be59
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Mon Aug 8 18:06:09 2016 -0700
+
+    Add tests for Chinese language tags
+
+    Using font from https://github.com/behdad/harfbuzz/issues/300
+
+ .../sha1sum/6991b13ce889466be6de3f66e891de2bc0f117ee.ttf | Bin 0 ->
+ 5596 bytes
+ test/shaping/tests/language-tags.tests                   |  12
+ ++++++++++++
+ 2 files changed, 12 insertions(+)
+
+commit 37f21bdbb75c98d741e749b7f1e0f367941aef4e
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Mon Aug 8 17:57:06 2016 -0700
+
+    Map Macao to ZHH lang tag
+
+    Fixes https://github.com/behdad/harfbuzz/issues/300
+
+ src/hb-ot-tag.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 09c7a2d6bf00dc902343e999f92cac0e8146f949
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Mon Aug 8 17:28:54 2016 -0700
+
+    Limit bits-per-feature to eight
+
+    Limits number of alternatives per glyph per feature to 255, so be it.
+    That's better than possibly breaking shaping because of one bad
+    feature
+    value.
+
+ src/hb-ot-map.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 333173103bb618f721bd25d0c565a3c3c9ea224e
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Mon Aug 8 17:24:04 2016 -0700
+
+    Fix sign of shift operators
+
+    This one:
+
+      map->mask = (1 << (next_bit + bits_needed)) - (1 << next_bit);
+
+    before the fix, the shift was done as an int, causing overflow
+    if it ever got to 1 << 31.  Sprinkle 'u's around.
+
+    Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=634805
+
+ src/hb-buffer-private.hh | 6 +++---
+ src/hb-cache-private.hh  | 8 ++++----
+ src/hb-coretext.cc       | 2 +-
+ src/hb-directwrite.cc    | 2 +-
+ src/hb-face.cc           | 2 --
+ src/hb-font.cc           | 2 --
+ src/hb-ft.cc             | 6 ++++--
+ src/hb-ot-map.cc         | 4 ++--
+ src/hb-set-private.hh    | 4 ++--
+ src/hb-uniscribe.cc      | 4 ++--
+ 10 files changed, 19 insertions(+), 21 deletions(-)
+
+commit 10a0d4aa2254f783758bb908175047df3a0b41fe
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Mon Aug 8 16:51:08 2016 -0700
+
+    Map zh-Hant-HK to ZHH
+
+    Fixes https://github.com/behdad/harfbuzz/issues/300
+
+ src/hb-ot-tag.cc | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit dd31fc9f7e6d23b414b22874de96eb3c002c80ba
+Author: Khaled Hosny <khaledhosny at eglug.org>
+Date:   Fri Jul 22 02:26:54 2016 +0300
+
+    Don’t build UCDN support when building with GLib (#296)
+
+    Regression from: b424b6c372dfe4c0ed75a49761eb34a416819446.
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 489acf6c3180d3726158864fa0e1adeea3c23fae
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Fri Jul 22 17:41:43 2016 -0700
+
+    [coretext] "Fix" crashes on CoreText < 10.10
+
+    Fixes https://github.com/behdad/harfbuzz/issues/297
+
+ src/hb-coretext.cc | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit a732e00ea4fffebaa85a89420f09df4c11d650e0
+Author: Behdad Esfahbod <behdad at behdad.org>
+Date:   Thu Jul 21 01:58:00 2016 -0700
+
+    1.3.0
+
+ NEWS         | 15 +++++++++++++++
+ configure.ac |  2 +-
+ 2 files changed, 16 insertions(+), 1 deletion(-)
+
 commit 08c08af2f9ed683ad20322c3ef1ba0f87ce15426
 Author: Behdad Esfahbod <behdad at behdad.org>
 Date:   Thu Jul 21 01:23:33 2016 -0700

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/NEWS
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/NEWS	2016-09-07 21:48:41 UTC (rev 42012)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/NEWS	2016-09-07 22:09:03 UTC (rev 42013)
@@ -1,3 +1,12 @@
+Overview of changes leading to 1.3.1
+Wednesday, September 7, 2016
+====================================
+
+- Blacklist bad GDEF of more fonts (Padauk).
+- More CoreText backend crash fixes with OS X 10.9.5.
+- Misc fixes.
+
+
 Overview of changes leading to 1.3.0
 Thursday, July 21, 2016
 ====================================

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/README
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/README	2016-09-07 21:48:41 UTC (rev 42012)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/README	2016-09-07 22:09:03 UTC (rev 42013)
@@ -1,4 +1,5 @@
 [![Build Status](https://travis-ci.org/behdad/harfbuzz.svg)](https://travis-ci.org/behdad/harfbuzz)
+[![Build Status](https://ci.appveyor.com/api/projects/status/4oaq58ns2h0m2soa?svg=true)](https://ci.appveyor.com/project/behdad/harfbuzz)
 [![Coverage Status](https://img.shields.io/coveralls/behdad/harfbuzz.svg)](https://coveralls.io/r/behdad/harfbuzz)
 [ABI Tracker](http://abi-laboratory.pro/tracker/timeline/harfbuzz/)
 

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac	2016-09-07 21:48:41 UTC (rev 42012)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac	2016-09-07 22:09:03 UTC (rev 42013)
@@ -1,6 +1,6 @@
 AC_PREREQ([2.64])
 AC_INIT([HarfBuzz],
-        [1.3.0],
+        [1.3.1],
         [https://github.com/behdad/harfbuzz/issues/new],
         [harfbuzz],
         [http://harfbuzz.org/])
@@ -288,7 +288,7 @@
 dnl ===========================================================================
 
 have_ucdn=true
-if $have_glib || $have_icu && test "x$with_icu" = "xbuiltin"; then
+if $have_glib || test \( $have_icu -a "x$with_icu" = "xbuiltin" \); then
 	have_ucdn=false
 fi
 if $have_ucdn; then

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-buffer-private.hh
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-buffer-private.hh	2016-09-07 21:48:41 UTC (rev 42012)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-buffer-private.hh	2016-09-07 22:09:03 UTC (rev 42013)
@@ -134,7 +134,7 @@
 #ifndef HB_NDEBUG
     unsigned int end = start + count;
     assert (end <= 8);
-    unsigned int bits = (1<<end) - (1<<start);
+    unsigned int bits = (1u<<end) - (1u<<start);
     assert (0 == (allocated_var_bits & bits));
     allocated_var_bits |= bits;
 #endif
@@ -144,7 +144,7 @@
 #ifndef HB_NDEBUG
     unsigned int end = start + count;
     assert (end <= 8);
-    unsigned int bits = (1<<end) - (1<<start);
+    unsigned int bits = (1u<<end) - (1u<<start);
     assert (bits == (allocated_var_bits & bits));
     allocated_var_bits &= ~bits;
 #endif
@@ -154,7 +154,7 @@
 #ifndef HB_NDEBUG
     unsigned int end = start + count;
     assert (end <= 8);
-    unsigned int bits = (1<<end) - (1<<start);
+    unsigned int bits = (1u<<end) - (1u<<start);
     assert (bits == (allocated_var_bits & bits));
 #endif
   }

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-cache-private.hh
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-cache-private.hh	2016-09-07 21:48:41 UTC (rev 42012)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-cache-private.hh	2016-09-07 22:09:03 UTC (rev 42013)
@@ -45,11 +45,11 @@
 
   inline bool get (unsigned int key, unsigned int *value)
   {
-    unsigned int k = key & ((1<<cache_bits)-1);
+    unsigned int k = key & ((1u<<cache_bits)-1);
     unsigned int v = values[k];
     if ((v >> value_bits) != (key >> cache_bits))
       return false;
-    *value = v & ((1<<value_bits)-1);
+    *value = v & ((1u<<value_bits)-1);
     return true;
   }
 
@@ -57,7 +57,7 @@
   {
     if (unlikely ((key >> key_bits) || (value >> value_bits)))
       return false; /* Overflows */
-    unsigned int k = key & ((1<<cache_bits)-1);
+    unsigned int k = key & ((1u<<cache_bits)-1);
     unsigned int v = ((key>>cache_bits)<<value_bits) | value;
     values[k] = v;
     return true;
@@ -64,7 +64,7 @@
   }
 
   private:
-  unsigned int values[1<<cache_bits];
+  unsigned int values[1u<<cache_bits];
 };
 
 typedef hb_cache_t<21, 16, 8> hb_cmap_cache_t;

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-coretext.cc
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-coretext.cc	2016-09-07 21:48:41 UTC (rev 42012)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-coretext.cc	2016-09-07 22:09:03 UTC (rev 42013)
@@ -145,6 +145,21 @@
     DEBUG_MSG (CORETEXT, cg_font, "Font CTFontCreateWithGraphicsFont() failed");
     return NULL;
   }
+
+  /* crbug.com/576941 and crbug.com/625902 and the investigation in the latter
+   * bug indicate that the cascade list reconfiguration occasionally causes
+   * crashes in CoreText on OS X 10.9, thus let's skip this step on older
+   * operating system versions. Except for the emoji font, where _not_
+   * reconfiguring the cascade list causes CoreText crashes. For details, see
+   * crbug.com/549610 */
+  if (&CTGetCoreTextVersion != NULL && CTGetCoreTextVersion() < kCTVersionNumber10_10) {
+    CFStringRef fontName = CTFontCopyPostScriptName (ct_font);
+    bool isEmojiFont = CFStringCompare (fontName, CFSTR("AppleColorEmoji"), 0) == kCFCompareEqualTo;
+    CFRelease (fontName);
+    if (!isEmojiFont)
+      return ct_font;
+  }
+
   CFURLRef original_url = (CFURLRef)CTFontCopyAttribute(ct_font, kCTFontURLAttribute);
 
   /* Create font copy with cascade list that has LastResort first; this speeds up CoreText
@@ -717,7 +732,7 @@
       pchars[chars_len++] = 0xFFFDu;
     else {
       pchars[chars_len++] = 0xD800u + ((c - 0x10000u) >> 10);
-      pchars[chars_len++] = 0xDC00u + ((c - 0x10000u) & ((1 << 10) - 1));
+      pchars[chars_len++] = 0xDC00u + ((c - 0x10000u) & ((1u << 10) - 1));
     }
   }
 

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-directwrite.cc
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-directwrite.cc	2016-09-07 21:48:41 UTC (rev 42012)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-directwrite.cc	2016-09-07 22:09:03 UTC (rev 42013)
@@ -29,11 +29,7 @@
 
 #include "hb-directwrite.h"
 
-#include "hb-open-file-private.hh"
-#include "hb-ot-name-table.hh"
-#include "hb-ot-tag.h"
 
-
 #ifndef HB_DEBUG_DIRECTWRITE
 #define HB_DEBUG_DIRECTWRITE (HB_DEBUG+0)
 #endif
@@ -586,7 +582,7 @@
       textString[chars_len++] = 0xFFFDu;
     else {
       textString[chars_len++] = 0xD800u + ((c - 0x10000u) >> 10);
-      textString[chars_len++] = 0xDC00u + ((c - 0x10000u) & ((1 << 10) - 1));
+      textString[chars_len++] = 0xDC00u + ((c - 0x10000u) & ((1u << 10) - 1));
     }
   }
 

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-face.cc
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-face.cc	2016-09-07 21:48:41 UTC (rev 42012)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-face.cc	2016-09-07 22:09:03 UTC (rev 42013)
@@ -35,8 +35,6 @@
 #include "hb-ot-head-table.hh"
 #include "hb-ot-maxp-table.hh"
 
-#include "hb-cache-private.hh"
-
 #include <string.h>
 
 

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-font.cc
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-font.cc	2016-09-07 21:48:41 UTC (rev 42012)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-font.cc	2016-09-07 22:09:03 UTC (rev 42013)
@@ -35,8 +35,6 @@
 #include "hb-ot-head-table.hh"
 #include "hb-ot-maxp-table.hh"
 
-#include "hb-cache-private.hh"
-
 #include <string.h>
 
 

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ft.cc
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ft.cc	2016-09-07 21:48:41 UTC (rev 42012)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ft.cc	2016-09-07 22:09:03 UTC (rev 42013)
@@ -33,6 +33,8 @@
 
 #include "hb-font-private.hh"
 
+#include "hb-cache-private.hh" // Maybe use in the future?
+
 #include FT_ADVANCES_H
 #include FT_TRUETYPE_TABLES_H
 
@@ -606,8 +608,8 @@
   hb_face_destroy (face);
   _hb_ft_font_set_funcs (font, ft_face, false);
   hb_font_set_scale (font,
-		     (int) (((uint64_t) ft_face->size->metrics.x_scale * (uint64_t) ft_face->units_per_EM + (1<<15)) >> 16),
-		     (int) (((uint64_t) ft_face->size->metrics.y_scale * (uint64_t) ft_face->units_per_EM + (1<<15)) >> 16));
+		     (int) (((uint64_t) ft_face->size->metrics.x_scale * (uint64_t) ft_face->units_per_EM + (1u<<15)) >> 16),
+		     (int) (((uint64_t) ft_face->size->metrics.y_scale * (uint64_t) ft_face->units_per_EM + (1u<<15)) >> 16));
 #if 0 /* hb-ft works in no-hinting model */
   hb_font_set_ppem (font,
 		    ft_face->size->metrics.x_ppem,

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	2016-09-07 21:48:41 UTC (rev 42012)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout.cc	2016-09-07 22:09:03 UTC (rev 42013)
@@ -120,6 +120,14 @@
       /* 2c0c90c6f6087ffbfea76589c93113a9cbb0e75f  cantarell-fonts-0.0.21/otf/Cantarell-Bold.otf */
       /* 55461f5b853c6da88069ffcdf7f4dd3f8d7e3e6b  cantarell-fonts-0.0.21/otf/Cantarell-Bold-Oblique.otf */
       || (188 == gdef_len && 3426 == gpos_len && 264 == gsub_len)
+      /* 6c93b63b64e8b2c93f5e824e78caca555dc887c7 padauk-2.80/Padauk-book.ttf */
+      || (1046 == gdef_len && 17112 == gpos_len && 71788 == gsub_len)
+      /* d89b1664058359b8ec82e35d3531931125991fb9 padauk-2.80/Padauk-bookbold.ttf */
+      || (1058 == gdef_len && 17514 == gpos_len && 71794 == gsub_len)
+      /* 824cfd193aaf6234b2b4dc0cf3c6ef576c0d00ef padauk-3.0/Padauk-book.ttf */
+      || (1330 == gdef_len && 57938 == gpos_len && 109904 == gsub_len)
+      /* 91fcc10cf15e012d27571e075b3b4dfe31754a8a padauk-3.0/Padauk-bookbold.ttf */
+      || (1330 == gdef_len && 58972 == gpos_len && 109904 == gsub_len)
     )
     {
       /* Many versions of Tahoma have bad GDEF tables that incorrectly classify some spacing marks

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-map.cc
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-map.cc	2016-09-07 21:48:41 UTC (rev 42012)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-map.cc	2016-09-07 22:09:03 UTC (rev 42013)
@@ -193,7 +193,8 @@
       /* Uses the global bit */
       bits_needed = 0;
     else
-      bits_needed = _hb_bit_storage (info->max_value);
+      /* Limit to 8 bits per feature. */
+      bits_needed = MIN(8u, _hb_bit_storage (info->max_value));
 
     if (!info->max_value || next_bit + bits_needed > 8 * sizeof (hb_mask_t))
       continue; /* Feature disabled, or not enough bits. */
@@ -243,11 +244,11 @@
       map->mask = 1;
     } else {
       map->shift = next_bit;
-      map->mask = (1 << (next_bit + bits_needed)) - (1 << next_bit);
+      map->mask = (1u << (next_bit + bits_needed)) - (1u << next_bit);
       next_bit += bits_needed;
       m.global_mask |= (info->default_value << map->shift) & map->mask;
     }
-    map->_1_mask = (1 << map->shift) & map->mask;
+    map->_1_mask = (1u << map->shift) & map->mask;
     map->needs_fallback = !found;
 
   }

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-tag.cc
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-tag.cc	2016-09-07 21:48:41 UTC (rev 42012)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-tag.cc	2016-09-07 22:09:03 UTC (rev 42013)
@@ -826,16 +826,19 @@
 };
 
 typedef struct {
-  char language[8];
+  char language[11];
   hb_tag_t tag;
 } LangTagLong;
 static const LangTagLong ot_languages_zh[] = {
+  /* Store longest-first, if one is a prefix of another. */
   {"zh-cn",	HB_TAG('Z','H','S',' ')},	/* Chinese (China) */
   {"zh-hk",	HB_TAG('Z','H','H',' ')},	/* Chinese (Hong Kong) */
-  {"zh-mo",	HB_TAG('Z','H','T',' ')},	/* Chinese (Macao) */
+  {"zh-mo",	HB_TAG('Z','H','H',' ')},	/* Chinese (Macao) */
   {"zh-sg",	HB_TAG('Z','H','S',' ')},	/* Chinese (Singapore) */
   {"zh-tw",	HB_TAG('Z','H','T',' ')},	/* Chinese (Taiwan) */
   {"zh-hans",	HB_TAG('Z','H','S',' ')},	/* Chinese (Simplified) */
+  {"zh-hant-hk",HB_TAG('Z','H','H',' ')},	/* Chinese (Hong Kong) */
+  {"zh-hant-mo",HB_TAG('Z','H','H',' ')},	/* Chinese (Macao) */
   {"zh-hant",	HB_TAG('Z','H','T',' ')},	/* Chinese (Traditional) */
 };
 
@@ -889,13 +892,21 @@
   }
 
   /*
-   * The International Phonetic Alphabet is a variant tag in BCP-47,
-   * which can be applied to any language.
+   * "fonipa" is a variant tag in BCP-47, meaning the International Phonetic Alphabet.
+   * It can be applied to any language.
    */
   if (strstr (lang_str, "-fonipa")) {
     return HB_TAG('I','P','P','H');  /* Phonetic transcription—IPA conventions */
   }
 
+  /*
+   * "fonnapa" is a variant tag in BCP-47, meaning the North American Phonetic Alphabet
+   * also known as Americanist Phonetic Notation.  It can be applied to any language.
+   */
+  if (strstr (lang_str, "-fonnapa")) {
+    return HB_TAG('A','P','P','H');  /* Phonetic transcription—Americanist conventions */
+  }
+
   /* Find a language matching in the first component */
   {
     const LangTag *lang_tag;
@@ -967,6 +978,8 @@
 
   /* struct LangTag has only room for 3-letter language tags. */
   switch (tag) {
+  case HB_TAG('A','P','P','H'):  /* Phonetic transcription—Americanist conventions */
+    return hb_language_from_string ("und-fonnapa", -1);
   case HB_TAG('I','P','P','H'):  /* Phonetic transcription—IPA conventions */
     return hb_language_from_string ("und-fonipa", -1);
   }

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	2016-09-07 21:48:41 UTC (rev 42012)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-set-private.hh	2016-09-07 22:09:03 UTC (rev 42013)
@@ -313,7 +313,7 @@
     for (unsigned int i = 0; i < ELTS; i++)
       if (elts[i])
 	for (unsigned int j = 0; j < BITS; j++)
-	  if (elts[i] & (1 << j))
+	  if (elts[i] & (1u << j))
 	    return i * BITS + j;
     return INVALID;
   }
@@ -322,7 +322,7 @@
     for (unsigned int i = ELTS; i; i--)
       if (elts[i - 1])
 	for (unsigned int j = BITS; j; j--)
-	  if (elts[i - 1] & (1 << (j - 1)))
+	  if (elts[i - 1] & (1u << (j - 1)))
 	    return (i - 1) * BITS + (j - 1);
     return INVALID;
   }

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-shape-plan.cc
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-shape-plan.cc	2016-09-07 21:48:41 UTC (rev 42012)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-shape-plan.cc	2016-09-07 22:09:03 UTC (rev 42013)
@@ -289,9 +289,10 @@
 		       unsigned int        num_features)
 {
   DEBUG_MSG_FUNC (SHAPE_PLAN, shape_plan,
-		  "num_features=%d shaper_func=%p",
+		  "num_features=%d shaper_func=%p, shaper_name=%s",
 		  num_features,
-		  shape_plan->shaper_func);
+		  shape_plan->shaper_func,
+		  shape_plan->shaper_name);
 
   if (unlikely (!buffer->len))
     return true;

Modified: trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-uniscribe.cc
===================================================================
--- trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-uniscribe.cc	2016-09-07 21:48:41 UTC (rev 42012)
+++ trunk/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-uniscribe.cc	2016-09-07 22:09:03 UTC (rev 42013)
@@ -771,7 +771,7 @@
       pchars[chars_len++] = 0xFFFDu;
     else {
       pchars[chars_len++] = 0xD800u + ((c - 0x10000u) >> 10);
-      pchars[chars_len++] = 0xDC00u + ((c - 0x10000u) & ((1 << 10) - 1));
+      pchars[chars_len++] = 0xDC00u + ((c - 0x10000u) & ((1u << 10) - 1));
     }
   }
 
@@ -827,7 +827,7 @@
 
   /* MinGW32 doesn't define fMergeNeutralItems, so we bruteforce */
   //bidi_control.fMergeNeutralItems = true;
-  *(uint32_t*)&bidi_control |= 1<<24;
+  *(uint32_t*)&bidi_control |= 1u<<24;
 
   bidi_state.uBidiLevel = HB_DIRECTION_IS_FORWARD (buffer->props.direction) ? 0 : 1;
   bidi_state.fOverrideDirection = 1;

Modified: trunk/Build/source/libs/harfbuzz/version.ac
===================================================================
--- trunk/Build/source/libs/harfbuzz/version.ac	2016-09-07 21:48:41 UTC (rev 42012)
+++ trunk/Build/source/libs/harfbuzz/version.ac	2016-09-07 22:09:03 UTC (rev 42013)
@@ -8,4 +8,4 @@
 dnl --------------------------------------------------------
 dnl
 dnl  m4-include this file to define the current harfbuzz version
-m4_define([harfbuzz_version], [1.3.0])
+m4_define([harfbuzz_version], [1.3.1])



More information about the tex-live-commits mailing list