Hello community,

here is the log from the commit of package harfbuzz for openSUSE:Factory 
checked in at 2017-05-18 20:36:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/harfbuzz (Old)
 and      /work/SRC/openSUSE:Factory/.harfbuzz.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "harfbuzz"

Thu May 18 20:36:59 2017 rev:54 rq:494082 version:1.4.6

Changes:
--------
--- /work/SRC/openSUSE:Factory/harfbuzz/harfbuzz.changes        2017-03-22 
23:05:00.860552258 +0100
+++ /work/SRC/openSUSE:Factory/.harfbuzz.new/harfbuzz.changes   2017-05-18 
20:37:20.856170063 +0200
@@ -1,0 +2,8 @@
+Tue Apr 25 10:26:28 UTC 2017 - dims...@opensuse.org
+
+- Update to version 1.4.6:
+  + Graphite2: Fix RTL positioning issue.
+  + Backlist GDEF of more versions of Padauk and Tahoma.
+  + New, experimental, cmake alternative build system.
+
+-------------------------------------------------------------------

Old:
----
  harfbuzz-1.4.5.tar.bz2

New:
----
  harfbuzz-1.4.6.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ harfbuzz.spec ++++++
--- /var/tmp/diff_new_pack.GBNnEC/_old  2017-05-18 20:37:21.388094996 +0200
+++ /var/tmp/diff_new_pack.GBNnEC/_new  2017-05-18 20:37:21.392094431 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           harfbuzz
-Version:        1.4.5
+Version:        1.4.6
 Release:        0
 Summary:        An OpenType text shaping engine
 License:        MIT

++++++ harfbuzz-1.4.5.tar.bz2 -> harfbuzz-1.4.6.tar.bz2 ++++++
++++ 2031 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/CMakeLists.txt new/harfbuzz-1.4.6/CMakeLists.txt
--- old/harfbuzz-1.4.5/CMakeLists.txt   1970-01-01 01:00:00.000000000 +0100
+++ new/harfbuzz-1.4.6/CMakeLists.txt   2017-04-20 20:13:56.000000000 +0200
@@ -0,0 +1,361 @@
+cmake_minimum_required(VERSION 2.8.0)
+project(harfbuzz)
+
+## Disallow in-source builds
+if ("${PROJECT_BINARY_DIR}" STREQUAL "${PROJECT_SOURCE_DIR}")
+  message(FATAL_ERROR
+    "
+In-source builds are not permitted!  Make a separate folder for"
+    " building, e.g.,"
+    "
+  mkdir build; cd build; cmake .."
+    "
+Before that, remove the files created by this failed run with"
+    "
+  rm -rf CMakeCache.txt CMakeFiles")
+endif ()
+##
+
+## HarfBuzz build configurations
+option(HB_HAVE_FREETYPE "Enable freetype interop helpers" OFF)
+option(HB_HAVE_GRAPHITE2 "Enable Graphite2 complementary shaper" OFF)
+option(HB_BUILTIN_UCDN "Use HarfBuzz provided UCDN" ON)
+option(HB_HAVE_GLIB "Enable glib unicode functions" OFF)
+option(HB_HAVE_ICU "Enable icu unicode functions" OFF)
+if (APPLE)
+  option(HB_HAVE_CORETEXT "Enable CoreText shaper backend on macOS" ON)
+endif ()
+if (WIN32)
+  option(HB_HAVE_UNISCRIBE "Enable Uniscribe shaper backend on Windows" OFF)
+  option(HB_HAVE_DIRECWRITE "Enable DirectWrite shaper backend on Windows" OFF)
+endif ()
+option(HB_BUILD_UTILS "Build harfbuzz utils, needs cairo, freetype, and glib 
properly be installed" OFF)
+if (HB_BUILD_UTILS)
+  set(HB_HAVE_GLIB ON)
+  set(HB_HAVE_FREETYPE ON)
+endif ()
+
+include_directories(AFTER
+  ${PROJECT_SOURCE_DIR}/src
+  ${PROJECT_BINARY_DIR}/src
+  )
+
+add_definitions(-DHAVE_OT)
+
+if (BUILD_SHARED_LIBS)
+  add_definitions(-DHAVE_ATEXIT)
+endif ()
+
+if (MSVC)
+  add_definitions(-wd4244 -wd4267 -D_CRT_SECURE_NO_WARNINGS 
-D_CRT_NONSTDC_NO_WARNINGS)
+endif ()
+
+if (WIN32 AND NOT MINGW AND BUILD_SHARED_LIBS)
+  add_definitions("-DHB_EXTERN=__declspec(dllexport) extern")
+endif ()
+##
+
+set(IN_HB_DIST FALSE)
+if (EXISTS "${PROJECT_SOURCE_DIR}/src/hb-version.h")
+  # perhaps we are on dist directory
+  set(IN_HB_DIST TRUE)
+  set(HB_VERSION_H "${PROJECT_SOURCE_DIR}/src/hb-version.h")
+endif ()
+
+## Extract variables from Makefile files
+# http://stackoverflow.com/a/27630120/1414809
+function (prepend var prefix)
+  set(listVar "")
+  foreach (f ${ARGN})
+    list(APPEND listVar "${prefix}${f}")
+  endforeach ()
+  set(${var} "${listVar}" PARENT_SCOPE)
+endfunction ()
+
+function (extract_make_variable variable file prefix)
+  string(REGEX MATCH "${variable} = ([^$]+)\\$" temp ${file})
+  string(REGEX MATCHALL "[^ \n\t\\]+" list ${CMAKE_MATCH_1})
+  prepend(list ${prefix} ${list})
+  set(${variable} ${list} PARENT_SCOPE)
+endfunction ()
+
+file(READ ${PROJECT_SOURCE_DIR}/src/Makefile.sources SRCSOURCES)
+file(READ ${PROJECT_SOURCE_DIR}/util/Makefile.sources UTILSOURCES)
+file(READ ${PROJECT_SOURCE_DIR}/src/hb-ucdn/Makefile.sources UCDNSOURCES)
+
+extract_make_variable(HB_BASE_sources ${SRCSOURCES} 
"${PROJECT_SOURCE_DIR}/src/")
+extract_make_variable(HB_BASE_headers ${SRCSOURCES} 
"${PROJECT_SOURCE_DIR}/src/")
+extract_make_variable(HB_OT_sources ${SRCSOURCES} "${PROJECT_SOURCE_DIR}/src/")
+extract_make_variable(HB_OT_headers ${SRCSOURCES} "${PROJECT_SOURCE_DIR}/src/")
+
+if (IN_HB_DIST)
+  set(RAGEL_GENERATED_DIR "${PROJECT_SOURCE_DIR}/src/")
+else ()
+  set(RAGEL_GENERATED_DIR "${PROJECT_BINARY_DIR}/src/")
+endif ()
+extract_make_variable(HB_BASE_RAGEL_GENERATED_sources ${SRCSOURCES} 
${RAGEL_GENERATED_DIR})
+extract_make_variable(HB_OT_RAGEL_GENERATED_sources ${SRCSOURCES} 
${RAGEL_GENERATED_DIR})
+
+extract_make_variable(HB_VIEW_sources ${UTILSOURCES} 
"${PROJECT_SOURCE_DIR}/util/")
+extract_make_variable(HB_SHAPE_sources ${UTILSOURCES} 
"${PROJECT_SOURCE_DIR}/util/")
+extract_make_variable(HB_OT_SHAPE_CLOSURE_sources ${UTILSOURCES} 
"${PROJECT_SOURCE_DIR}/util/")
+
+extract_make_variable(LIBHB_UCDN_sources ${UCDNSOURCES} 
"${PROJECT_SOURCE_DIR}/src/hb-ucdn/")
+
+file(READ configure.ac CONFIGUREAC)
+string(REGEX MATCH "\\[(([0-9]+)\\.([0-9]+)\\.([0-9]+))\\]" HB_VERSION_MATCH 
${CONFIGUREAC})
+set(HB_VERSION ${CMAKE_MATCH_1})
+set(HB_VERSION_MAJOR ${CMAKE_MATCH_2})
+set(HB_VERSION_MINOR ${CMAKE_MATCH_3})
+set(HB_VERSION_MICRO ${CMAKE_MATCH_4})
+##
+
+if (NOT IN_HB_DIST)
+  ## Define ragel tasks
+  find_program(RAGEL "ragel")
+
+  if (RAGEL)
+    message(STATUS "ragel found at: ${RAGEL}")
+  else ()
+    message(FATAL_ERROR "ragel not found, get it here -- 
http://www.complang.org/ragel/ or, use harfbuzz releases 
https://github.com/behdad/harfbuzz/releases";)
+  endif ()
+
+  foreach (ragel_output IN ITEMS ${HB_BASE_RAGEL_GENERATED_sources} 
${HB_OT_RAGEL_GENERATED_sources})
+    string(REGEX MATCH "([^/]+)\\.hh" temp ${ragel_output})
+    set(target_name ${CMAKE_MATCH_1})
+    add_custom_command(OUTPUT ${ragel_output}
+      COMMAND ${RAGEL} -G2 -o ${ragel_output} 
${PROJECT_SOURCE_DIR}/src/${target_name}.rl -I ${PROJECT_SOURCE_DIR} ${ARGN}
+      DEPENDS ${PROJECT_SOURCE_DIR}/src/${target_name}.rl
+      )
+    add_custom_target(harfbuzz_${target_name} DEPENDS 
${PROJECT_BINARY_DIR}/src/${target_name})
+  endforeach ()
+
+  mark_as_advanced(RAGEL)
+  ##
+
+  ## Generate hb-version.h
+  set(HB_VERSION_H_IN "${PROJECT_SOURCE_DIR}/src/hb-version.h.in")
+  set(HB_VERSION_H "${PROJECT_BINARY_DIR}/src/hb-version.h")
+  set_source_files_properties("${HB_VERSION_H}" PROPERTIES GENERATED true)
+  configure_file("${HB_VERSION_H_IN}" "${HB_VERSION_H}.tmp" @ONLY)
+  execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_if_different
+    "${HB_VERSION_H}.tmp"
+    "${HB_VERSION_H}")
+  file(REMOVE "${HB_VERSION_H}.tmp")
+  ##
+endif ()
+
+## Define sources and headers of the project
+set(project_sources
+  ${HB_BASE_sources}
+  ${HB_BASE_RAGEL_GENERATED_sources}
+
+  ${HB_OT_sources}
+  ${HB_OT_RAGEL_GENERATED_sources}
+  )
+
+set(project_headers
+  ${HB_VERSION_H}
+
+  ${HB_BASE_headers}
+  ${HB_OT_headers}
+  )
+
+if (HB_HAVE_FREETYPE)
+  add_definitions(-DHAVE_FREETYPE=1 -DHAVE_FT_FACE_GETCHARVARIANTINDEX=1)
+
+  # 
https://github.com/WebKit/webkit/blob/master/Source/cmake/FindFreetype2.cmake
+  find_package(PkgConfig)
+  pkg_check_modules(PC_FREETYPE2 QUIET freetype2)
+
+  find_path(FREETYPE2_HEADER_DIR NAMES freetype.h HINTS 
${PC_FREETYPE2_INCLUDE_DIRS} ${PC_FREETYPE2_INCLUDEDIR} 
$ENV{FREETYPE_DIR}/include PATH_SUFFIXES freetype)
+  find_path(FREETYPE2_ROOT_INCLUDE_DIR NAMES freetype/freetype.h HINTS 
${PC_FREETYPE2_INCLUDE_DIRS} ${PC_FREETYPE2_INCLUDEDIR} 
$ENV{FREETYPE_DIR}/include)
+  if (CMAKE_BUILD_TYPE MATCHES Debug)
+    set(FREETYPE2_LIBRARY_NAME freetyped)
+  else ()
+    set(FREETYPE2_LIBRARY_NAME freetype)
+  endif ()
+  find_library(FREETYPE2_LIBRARIES ${FREETYPE2_LIBRARY_NAME} HINTS 
${PC_FREETYPE2_LIBDIR} ${PC_FREETYPE2_LIBRARY_DIRS} $ENV{FREETYPE_DIR}/lib)
+
+  include_directories(AFTER ${FREETYPE2_HEADER_DIR} 
${FREETYPE2_ROOT_INCLUDE_DIR})
+
+  list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-ft.cc)
+  list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-ft.h)
+
+  list(APPEND THIRD_PARTY_LIBS ${FREETYPE2_LIBRARIES})
+
+  mark_as_advanced(FREETYPE2_HEADER_DIR FREETYPE2_ROOT_INCLUDE_DIR 
FREETYPE2_LIBRARIES)
+endif ()
+
+if (HB_HAVE_GRAPHITE2)
+  add_definitions(-DHAVE_GRAPHITE2)
+
+  find_path(GRAPHITE2_INCLUDE_DIR graphite2/Font.h)
+  find_library(GRAPHITE2_LIBRARY graphite2)
+
+  include_directories(${GRAPHITE2_INCLUDE_DIR})
+
+  list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-graphite2.cc)
+  list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-graphite2.h)
+
+  list(APPEND THIRD_PARTY_LIBS ${GRAPHITE2_LIBRARY})
+
+  mark_as_advanced(GRAPHITE2_INCLUDE_DIR GRAPHITE2_LIBRARY)
+endif ()
+
+if (HB_BUILTIN_UCDN)
+  include_directories(src/hb-ucdn)
+  add_definitions(-DHAVE_UCDN)
+
+  list(APPEND project_sources
+    ${PROJECT_SOURCE_DIR}/src/hb-ucdn.cc
+    ${LIBHB_UCDN_sources})
+endif ()
+
+if (HB_HAVE_GLIB)
+  add_definitions(-DHAVE_GLIB)
+
+  # https://github.com/WebKit/webkit/blob/master/Source/cmake/FindGLIB.cmake
+  find_package(PkgConfig)
+  pkg_check_modules(PC_GLIB QUIET glib-2.0)
+
+  find_library(GLIB_LIBRARIES NAMES glib-2.0 HINTS ${PC_GLIB_LIBDIR} 
${PC_GLIB_LIBRARY_DIRS})
+  find_path(GLIBCONFIG_INCLUDE_DIR NAMES glibconfig.h HINTS ${PC_LIBDIR} 
${PC_LIBRARY_DIRS} ${PC_GLIB_INCLUDEDIR} ${PC_GLIB_INCLUDE_DIRS} PATH_SUFFIXES 
glib-2.0/include)
+  find_path(GLIB_INCLUDE_DIR NAMES glib.h HINTS ${PC_GLIB_INCLUDEDIR} 
${PC_GLIB_INCLUDE_DIRS} PATH_SUFFIXES glib-2.0)
+
+  include_directories(${GLIBCONFIG_INCLUDE_DIR} ${GLIB_INCLUDE_DIR})
+
+  list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-glib.cc)
+  list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-glib.h)
+
+  list(APPEND THIRD_PARTY_LIBS ${GLIB_LIBRARIES})
+
+  mark_as_advanced(GLIB_LIBRARIES GLIBCONFIG_INCLUDE_DIR GLIB_INCLUDE_DIR)
+endif ()
+
+if (HB_HAVE_ICU)
+  add_definitions(-DHAVE_ICU)
+
+  # https://github.com/WebKit/webkit/blob/master/Source/cmake/FindICU.cmake
+  find_package(PkgConfig)
+  pkg_check_modules(PC_ICU QUIET icu-uc)
+
+  find_path(ICU_INCLUDE_DIR NAMES unicode/utypes.h HINTS 
${PC_ICU_INCLUDE_DIRS} ${PC_ICU_INCLUDEDIR})
+  find_library(ICU_LIBRARY NAMES libicuuc cygicuuc cygicuuc32 icuuc HINTS 
${PC_ICU_LIBRARY_DIRS} ${PC_ICU_LIBDIR})
+
+  include_directories(${ICU_INCLUDE_DIR})
+
+  list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-icu.cc)
+  list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-icu.h)
+
+  list(APPEND THIRD_PARTY_LIBS ${ICU_LIBRARY})
+
+  mark_as_advanced(ICU_INCLUDE_DIR ICU_LIBRARY)
+endif ()
+
+if (APPLE AND HB_HAVE_CORETEXT)
+  # Apple Advanced Typography
+  add_definitions(-DHAVE_CORETEXT)
+
+  list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-coretext.cc)
+  list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-coretext.h)
+
+  find_library(APPLICATION_SERVICES_FRAMEWORK ApplicationServices)
+  if (APPLICATION_SERVICES_FRAMEWORK)
+    list(APPEND THIRD_PARTY_LIBS ${APPLICATION_SERVICES_FRAMEWORK})
+  endif (APPLICATION_SERVICES_FRAMEWORK)
+  
+  mark_as_advanced(APPLICATION_SERVICES_FRAMEWORK)
+endif ()
+
+if (WIN32 AND HB_HAVE_UNISCRIBE)
+  add_definitions(-DHAVE_UNISCRIBE)
+
+  list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-uniscribe.cc)
+  list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-uniscribe.h)
+
+  list(APPEND THIRD_PARTY_LIBS usp10 gdi32 rpcrt4)
+endif ()
+
+if (WIN32 AND HB_HAVE_DIRECTWRITE)
+  add_definitions(-DHAVE_DIRECTWRITE)
+
+  list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-directwrite.cc)
+  list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-directwrite.h)
+
+  list(APPEND THIRD_PARTY_LIBS dwrite rpcrt4)
+endif ()
+##
+
+## Atomic ops availability detection
+file(WRITE "${PROJECT_BINARY_DIR}/try_compile_intel_atomic_primitives.c"
+"              void memory_barrier (void) { __sync_synchronize (); }
+               int atomic_add (int *i) { return __sync_fetch_and_add (i, 1); }
+               int mutex_trylock (int *m) { return __sync_lock_test_and_set 
(m, 1); }
+               void mutex_unlock (int *m) { __sync_lock_release (m); }
+               int main () { return 0; }
+")
+try_compile(HB_HAVE_INTEL_ATOMIC_PRIMITIVES
+  ${PROJECT_BINARY_DIR}/try_compile_intel_atomic_primitives
+  SOURCES ${PROJECT_BINARY_DIR}/try_compile_intel_atomic_primitives.c)
+if (HB_HAVE_INTEL_ATOMIC_PRIMITIVES)
+  add_definitions(-DHAVE_INTEL_ATOMIC_PRIMITIVES)
+endif ()
+
+file(WRITE "${PROJECT_BINARY_DIR}/try_compile_solaris_atomic_ops.c"
+"              #include <atomic.h>
+               /* This requires Solaris Studio 12.2 or newer: */
+               #include <mbarrier.h>
+               void memory_barrier (void) { __machine_rw_barrier (); }
+               int atomic_add (volatile unsigned *i) { return 
atomic_add_int_nv (i, 1); }
+               void *atomic_ptr_cmpxchg (volatile void **target, void *cmp, 
void *newval) { return atomic_cas_ptr (target, cmp, newval); }
+               int main () { return 0; }
+")
+try_compile(HB_HAVE_SOLARIS_ATOMIC_OPS
+  ${PROJECT_BINARY_DIR}/try_compile_solaris_atomic_ops
+  SOURCES ${PROJECT_BINARY_DIR}/try_compile_solaris_atomic_ops.c)
+if (HB_HAVE_SOLARIS_ATOMIC_OPS)
+  add_definitions(-DHAVE_SOLARIS_ATOMIC_OPS)
+endif ()
+##
+
+add_library(harfbuzz ${project_sources} ${project_headers})
+target_link_libraries(harfbuzz ${THIRD_PARTY_LIBS})
+
+if (HB_BUILD_UTILS)
+  # https://github.com/WebKit/webkit/blob/master/Source/cmake/FindCairo.cmake
+  find_package(PkgConfig)
+  pkg_check_modules(PC_CAIRO QUIET cairo)
+
+  find_path(CAIRO_INCLUDE_DIRS NAMES cairo.h HINTS ${PC_CAIRO_INCLUDEDIR} 
${PC_CAIRO_INCLUDE_DIRS} PATH_SUFFIXES cairo)
+  find_library(CAIRO_LIBRARIESNAMES cairo HINTS ${PC_CAIRO_LIBDIR} 
${PC_CAIRO_LIBRARY_DIRS})
+
+  add_definitions("-DPACKAGE_NAME=\"HarfBuzz\"")
+  add_definitions("-DPACKAGE_VERSION=\"${HB_VERSION}\"")
+  include_directories(${CAIRO_INCLUDE_DIRS})
+
+  add_executable(hb-view ${HB_VIEW_sources})
+  target_link_libraries(hb-view harfbuzz ${CAIRO_LIBRARIESNAMES})
+
+  add_executable(hb-shape ${HB_SHAPE_sources})
+  target_link_libraries(hb-shape harfbuzz)
+
+  add_executable(hb-ot-shape-closure ${HB_OT_SHAPE_CLOSURE_sources})
+  target_link_libraries(hb-ot-shape-closure harfbuzz)
+
+  mark_as_advanced(CAIRO_LIBRARIESNAMES)
+endif ()
+
+## Install
+if (NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL)
+  install(FILES ${project_headers} DESTINATION include/harfbuzz)
+endif ()
+
+if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL)
+  install(TARGETS harfbuzz
+    ARCHIVE DESTINATION lib
+    LIBRARY DESTINATION lib
+    RUNTIME DESTINATION bin
+    )
+endif ()
+##
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/ChangeLog new/harfbuzz-1.4.6/ChangeLog
--- old/harfbuzz-1.4.5/ChangeLog        2017-03-11 08:01:48.000000000 +0100
+++ new/harfbuzz-1.4.6/ChangeLog        2017-04-24 01:18:50.000000000 +0200
@@ -1,3 +1,349 @@
+commit 74b99ef2249107e7cd01bd1ee522a5d9ce61e05f
+Author: mhosken <mhos...@users.noreply.github.com>
+Date:   Thu Apr 20 19:13:22 2017 +0100
+
+    Fix graphite2 rtl conversion (#475)
+
+ src/hb-graphite2.cc | 32 ++++++++++++++------------------
+ 1 file changed, 14 insertions(+), 18 deletions(-)
+
+commit 696641314e7eb60a5a2e08c1c4fd1e5e41022148
+Author: ebraminio <ebra...@gnu.org>
+Date:   Wed Apr 19 22:59:46 2017 +0430
+
+    [cmake] Final touches (#473)
+
+ CMakeLists.txt | 113
+ +++++++++++++++++++++++++++------------------------------
+ 1 file changed, 54 insertions(+), 59 deletions(-)
+
+commit aacca37590656e235218557ea509eb5624dfbff9
+Author: Chris Peterson <cpeter...@mozilla.com>
+Date:   Mon Apr 17 23:25:24 2017 -0700
+
+    Fix clang -Wcomma warnings (#471) (#472)
+
+    clang's new -Wcomma compiler option warns about possible misuse of the
+    comma operator such as between two statements.
+
+    hb-common.cc:190:9 [-Wcomma] possible misuse of comma operator here
+    hb-ot-layout-gsubgpos-private.hh:345:30 [-Wcomma] possible misuse of
+    comma operator here
+    hb-shape-plan.cc:438:26 [-Wcomma] possible misuse of comma operator
+    here
+
+ src/hb-common.cc                     | 6 ++++--
+ src/hb-ot-layout-gsubgpos-private.hh | 2 +-
+ src/hb-shape-plan.cc                 | 7 ++++---
+ 3 files changed, 9 insertions(+), 6 deletions(-)
+
+commit 4d7c52066b5b205b20ba2679cb57a4e593942102
+Author: ebraminio <ebra...@gnu.org>
+Date:   Mon Apr 17 15:53:46 2017 +0430
+
+    [cmake] Remove HB_DISABLE_DEPRECATED as it seems needed for pango
+    build (#470)
+
+ CMakeLists.txt | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 5ecf96e3a22e896184710a9f146a8bf149af6ca4
+Author: William Hua <will...@attente.ca>
+Date:   Mon Apr 17 01:33:42 2017 -0400
+
+    Use absolute paths of ragel generated headers (#467)
+
+    https://github.com/behdad/harfbuzz/issues/455
+
+ src/Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit c42869eb713f53504e1b77a679cff2f88ebd0c20
+Author: Dominik Schlösser <dominik.schloes...@gmail.com>
+Date:   Sat Apr 15 21:17:05 2017 +0200
+
+    Small doc fix: `make check` runs the tests (#469)
+
+ test/shaping/README.md | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 75931427aa4344cd75321c618b8373ffcf1ffc33
+Author: ebraminio <ebra...@gnu.org>
+Date:   Fri Apr 14 05:08:11 2017 +0430
+
+    [cmake] Fix try compile link issues (#466)
+
+ CMakeLists.txt | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit cb021e14ab345def326fb58ce486515af179b2cf
+Author: ebraminio <ebra...@gnu.org>
+Date:   Fri Apr 14 04:31:17 2017 +0430
+
+    [cmake] typo (#465)
+
+ CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit a41d5ea4453995dfd7c523427c6017623164c6ff
+Author: ebraminio <ebra...@gnu.org>
+Date:   Fri Apr 14 04:25:50 2017 +0430
+
+    [cmake] Add atomic ops availability detection (#464)
+
+ CMakeLists.txt | 30 ++++++++++++++++++++++++++++++
+ 1 file changed, 30 insertions(+)
+
+commit 8568588202dd718b089e43cd6d46f689c706f665
+Author: ebraminio <ebra...@gnu.org>
+Date:   Thu Apr 13 02:17:16 2017 +0430
+
+    [cmake] Remove NO_MT flag (#462)
+
+ CMakeLists.txt | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit c04c1fe86ee4b9b58ad88dad5593239ade4c75b8
+Author: jfkthame <jfkth...@gmail.com>
+Date:   Tue Apr 11 22:29:13 2017 +0100
+
+    Blacklist GDEF table in additional Tahoma versions. (#459)
+
+    There are more broken versions of Tahoma out there on various
+    Windows releases,
+    so we need to add them to our blacklist to avoid broken rendering.
+    See https://bugzilla.mozilla.org/show_bug.cgi?id=1279925 for details.
+
+ src/hb-ot-layout.cc | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit adfd4ae1cf6c4abe66aecf1eb0a05c7183a0f4e2
+Author: ebraminio <ebra...@gnu.org>
+Date:   Tue Apr 11 23:18:18 2017 +0430
+
+    [cmake] Improve third party libraries support (#461)
+
+ CMakeLists.txt               | 57
+ ++++++++++++++++++++++++++++++++++++--------
+ src/hb-ucdn/Makefile.sources |  5 +++-
+ 2 files changed, 51 insertions(+), 11 deletions(-)
+
+commit 3a8bc572115a28741d5a80f3f1e28e6756b9abfa
+Author: ebraminio <ebra...@gnu.org>
+Date:   Tue Apr 11 21:32:14 2017 +0430
+
+    [cmake] Add utils build support (#460)
+
+ CMakeLists.txt | 150
+ +++++++++++++++++++++++++++++++++++++++++----------------
+ 1 file changed, 108 insertions(+), 42 deletions(-)
+
+commit bc1244e2395f844b2b41315cb1eef29570e46b29
+Author: Chun-wei Fan <fanchun...@src.gnome.org>
+Date:   Thu Apr 6 18:44:28 2017 +0800
+
+    NMake Makefiles: Fix ICU builds
+
+    Fix the check conditions in config-msvc.mak and info-msvc.mak so that
+    the ICU items does indeed get built into the HarfBuzz main DLL,
+    and that
+    the correct configuration info is displayed.
+
+    Also update the checks in detectenv-msvc.mak so that we can detect
+    that
+    we are using Visual Studio 2017 (although the 2015-built binaries use
+    the same CRT DLL as the 2017 ones).
+
+ win32/config-msvc.mak    | 22 ++++++++++++----------
+ win32/detectenv-msvc.mak |  4 +++-
+ win32/info-msvc.mak      | 12 ++++++++----
+ 3 files changed, 23 insertions(+), 15 deletions(-)
+
+commit a4471d0c2cc4baa81e2cea695f9bd15e03d0f15e
+Author: Behdad Esfahbod <beh...@behdad.org>
+Date:   Wed Apr 5 15:42:11 2017 +0200
+
+    Move list of ragel sources to Makefile.sources as well
+
+ src/Makefile.am      | 14 ++++----------
+ src/Makefile.sources |  9 +++++++++
+ 2 files changed, 13 insertions(+), 10 deletions(-)
+
+commit d2acaf6d729727f47c5aacf7ee40097580b6f18d
+Author: ebraminio <ebra...@gnu.org>
+Date:   Wed Apr 5 02:21:23 2017 -0700
+
+    Split ragel generated files lists and remove hardcoded rl files lists
+    (#453)
+
+ CMakeLists.txt        | 126
+ +++++++++++++++++++++-----------------------------
+ src/Makefile.am       |   2 +
+ src/Makefile.sources  |  16 +++++--
+ win32/config-msvc.mak |   8 ++--
+ 4 files changed, 71 insertions(+), 81 deletions(-)
+
+commit 7d64c0ef37dd930e9807bd80d398491aa9c4428c
+Author: ebraminio <ebra...@gnu.org>
+Date:   Tue Apr 4 15:03:51 2017 +0430
+
+    Add CMake build support (#444)
+
+ CMakeLists.txt | 254
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Makefile.am    |   1 +
+ appveyor.yml   |  61 +++++++++-----
+ 3 files changed, 295 insertions(+), 21 deletions(-)
+
+commit 740fdbcd0e6d25c1d6f12537ca2aa559650b9d52
+Author: jfkthame <jfkth...@gmail.com>
+Date:   Mon Apr 3 12:22:39 2017 +0100
+
+    avoid UBSan warning in get_stage_lookups (#450)
+
+    See https://bugzilla.mozilla.org/show_bug.cgi?id=1336600
+
+ src/hb-ot-map-private.hh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8d256841ca7462fd596329abf6f71bafb56fd621
+Author: Dominik Schloesser <d...@dosc.net>
+Date:   Sun Mar 26 09:22:34 2017 +0200
+
+    Current fonttools (3.9.1) generate subset-file called font.subset.ttf
+    instead of older font.ttf.subset
+
+ test/shaping/record-test.sh | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit c2a9de15f5d9477c6f1c143ed8265f71fdb04584
+Author: Dominik Schloesser <d...@dosc.net>
+Date:   Sun Mar 26 09:21:13 2017 +0200
+
+    Updated samples: record-it.sh is now record-test.sh
+
+ test/shaping/README.md | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit f2e6c7ce51283809033d08692a2dee7cf04aefc5
+Author: Khaled Hosny <khaledho...@eglug.org>
+Date:   Sun Mar 26 10:48:53 2017 +0200
+
+    [tools] Make hb-unicode-code work with Python 3
+
+    Related to https://github.com/behdad/harfbuzz/pull/445
+
+ test/shaping/hb_test_tools.py | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+commit edcf6344bc62af9ea726a633468c9243e127fa13
+Author: Behdad Esfahbod <beh...@behdad.org>
+Date:   Fri Mar 24 10:24:52 2017 -0700
+
+    Blacklist more versions of Padauk
+
+    Patch from Phil Race.
+
+ src/hb-ot-layout.cc | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit e693ba77980d5ded65bf773d48b6b58274933fb7
+Author: Khaled Hosny <khaledho...@eglug.org>
+Date:   Thu Mar 23 00:35:36 2017 +0200
+
+    [ci] Fix msys2 build on AppVeyor
+
+    For whatever reason the env variables need to be the Windows way
+    or they
+    end up being empty.
+
+ appveyor.yml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 91570a1eeb1eca425372e203656369f39ede5c61
+Author: Khaled Hosny <khaledho...@eglug.org>
+Date:   Wed Mar 22 23:07:15 2017 +0200
+
+    Just always use strtod here
+
+ src/hb-common.cc | 4 ----
+ 1 file changed, 4 deletions(-)
+
+commit 539571c1a9cb5d443d029247874af37fed75432f
+Author: Chun-wei Fan <fanchun...@src.gnome.org>
+Date:   Fri Feb 24 17:58:25 2017 +0800
+
+    src/hb-common.cc: Fix build on older Visual Studio
+
+    Visual Studio only supported strtof() from Visual Studio 2013
+    onwards, so
+    use strtod() instead to do the operation, which should do the
+    same thing,
+    sans going to a double, not a float.
+
+ src/hb-common.cc | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit b90fb83ea6067802e62af9e1ea0c61c7ac79e9a9
+Author: Chun-wei Fan <fanchun...@src.gnome.org>
+Date:   Fri Feb 24 17:47:44 2017 +0800
+
+    Visual Studio builds: Fix Introspection when UCDN enabled
+
+    The sources in src/hb-ucdn and not included correctly into the NMake
+    Makefiles, as we need their explicit relative location as we pass
+    all the
+    sources we used into the introspection scanner.  This was not an issue
+    before as we excluded the UCDN sources in the build when we enabled
+    introspection (meaning GLib is enabled), but since we default on using
+    UCDN on all builds unless explicitly disabled, we need to deal
+    with this.
+
+    This did not affect builds using UCDN without introspection due to
+    the use
+    of NMake batch rules.
+
+    Fix this by creating a NMake Makefile module on-the-fly with the
+    correct
+    subdir info, and using that list in there instead.
+
+ win32/Makefile.vc     | 15 +++++++++++++++
+ win32/config-msvc.mak |  2 +-
+ 2 files changed, 16 insertions(+), 1 deletion(-)
+
+commit f0aa167e447e8aa818a63a4a325be57844bf0353
+Author: Chun-wei Fan <fanchun...@src.gnome.org>
+Date:   Thu Feb 23 13:02:49 2017 +0800
+
+    Update Visual Studio builds for UCDN usage
+
+    We now use UCDN by default, so make it so in the build files; however
+    don't hardcode HAVE_UCDN as one may still opt not to use it (but pass
+    it in as a CFLAG unless one explicitly disables UCDN by using
+    NO_UCDN=1
+    on the NMake command line).
+
+    Note that we are not blocking builds where UCDN is disabled along with
+    GLib and ICU, as that will trigger a build error anyways which
+    will tell
+    the user what needs to be done to remedy this.
+
+ win32/README.txt        |  6 +++---
+ win32/config-msvc.mak   | 28 +++++++++++++++-------------
+ win32/config.h.win32.in |  2 +-
+ win32/info-msvc.mak     | 43 +++++++++++++++++++++++++------------------
+ 4 files changed, 44 insertions(+), 35 deletions(-)
+
+commit 60e2586f7652aaa0ee908eb8f54b1498e2ad299e
+Author: Behdad Esfahbod <beh...@behdad.org>
+Date:   Fri Mar 10 23:02:28 2017 -0800
+
+    1.4.5
+
+ NEWS         | 8 ++++++++
+ configure.ac | 2 +-
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
 commit 47e7a1800fba9b8bf042a1f4976a15ab012ebfc7
 Author: Behdad Esfahbod <beh...@behdad.org>
 Date:   Fri Mar 10 13:23:02 2017 -0800
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/Makefile.am new/harfbuzz-1.4.6/Makefile.am
--- old/harfbuzz-1.4.5/Makefile.am      2017-01-06 04:56:36.000000000 +0100
+++ new/harfbuzz-1.4.6/Makefile.am      2017-04-05 15:38:39.000000000 +0200
@@ -11,6 +11,7 @@
        harfbuzz.doap \
        README.python \
        BUILD.md \
+       CMakeLists.txt \
        $(NULL)
 
 MAINTAINERCLEANFILES = \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/NEWS new/harfbuzz-1.4.6/NEWS
--- old/harfbuzz-1.4.5/NEWS     2017-03-11 08:01:27.000000000 +0100
+++ new/harfbuzz-1.4.6/NEWS     2017-04-24 01:17:15.000000000 +0200
@@ -1,3 +1,12 @@
+Overview of changes leading to 1.4.6
+Sunday, April 23, 2017
+====================================
+
+- Graphite2: Fix RTL positioning issue.
+- Backlist GDEF of more versions of Padauk and Tahoma.
+- New, experimental, cmake alternative build system.
+
+
 Overview of changes leading to 1.4.5
 Friday, March 10, 2017
 ====================================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/configure.ac new/harfbuzz-1.4.6/configure.ac
--- old/harfbuzz-1.4.5/configure.ac     2017-03-11 08:00:42.000000000 +0100
+++ new/harfbuzz-1.4.6/configure.ac     2017-04-24 01:17:22.000000000 +0200
@@ -1,6 +1,6 @@
 AC_PREREQ([2.64])
 AC_INIT([HarfBuzz],
-        [1.4.5],
+        [1.4.6],
         [https://github.com/behdad/harfbuzz/issues/new],
         [harfbuzz],
         [http://harfbuzz.org/])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/docs/html/harfbuzz-hb-ot-math.html 
new/harfbuzz-1.4.6/docs/html/harfbuzz-hb-ot-math.html
--- old/harfbuzz-1.4.5/docs/html/harfbuzz-hb-ot-math.html       2017-03-11 
08:02:04.000000000 +0100
+++ new/harfbuzz-1.4.6/docs/html/harfbuzz-hb-ot-math.html       2017-04-24 
01:18:53.000000000 +0200
@@ -564,14 +564,12 @@
 <a name="harfbuzz-hb-ot-math.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
 <a name="HB-OT-TAG-MATH:CAPS"></a><h3>HB_OT_TAG_MATH</h3>
-<pre class="programlisting">#define HB_OT_TAG_MATH HB_TAG('M','A','T','H')
-</pre>
+<pre class="programlisting">#define             HB_OT_TAG_MATH</pre>
 </div>
 <hr>
 <div class="refsect2">
 <a name="HB-OT-MATH-SCRIPT:CAPS"></a><h3>HB_OT_MATH_SCRIPT</h3>
-<pre class="programlisting">#define HB_OT_MATH_SCRIPT HB_TAG('m','a','t','h')
-</pre>
+<pre class="programlisting">#define             HB_OT_MATH_SCRIPT</pre>
 </div>
 <hr>
 <div class="refsect2">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/docs/html/harfbuzz-hb-version.html 
new/harfbuzz-1.4.6/docs/html/harfbuzz-hb-version.html
--- old/harfbuzz-1.4.5/docs/html/harfbuzz-hb-version.html       2017-03-11 
08:02:04.000000000 +0100
+++ new/harfbuzz-1.4.6/docs/html/harfbuzz-hb-version.html       2017-04-24 
01:18:53.000000000 +0200
@@ -176,7 +176,7 @@
 <hr>
 <div class="refsect2">
 <a name="HB-VERSION-MICRO:CAPS"></a><h3>HB_VERSION_MICRO</h3>
-<pre class="programlisting">#define HB_VERSION_MICRO 5
+<pre class="programlisting">#define HB_VERSION_MICRO 6
 </pre>
 </div>
 <hr>
@@ -188,7 +188,7 @@
 <hr>
 <div class="refsect2">
 <a name="HB-VERSION-STRING:CAPS"></a><h3>HB_VERSION_STRING</h3>
-<pre class="programlisting">#define HB_VERSION_STRING "1.4.5"
+<pre class="programlisting">#define HB_VERSION_STRING "1.4.6"
 </pre>
 </div>
 </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/docs/html/pt02.html new/harfbuzz-1.4.6/docs/html/pt02.html
--- old/harfbuzz-1.4.5/docs/html/pt02.html      2017-03-11 08:02:04.000000000 
+0100
+++ new/harfbuzz-1.4.6/docs/html/pt02.html      2017-04-24 01:18:53.000000000 
+0200
@@ -24,7 +24,7 @@
 <div><h1 class="title">
 <a name="id-1.3"></a>Part II. Reference manual</h1></div>
 <div><p class="releaseinfo">
-        This document is for HarfBuzz 1.4.5
+        This document is for HarfBuzz 1.4.6
 .
         
       </p></div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/docs/version.xml new/harfbuzz-1.4.6/docs/version.xml
--- old/harfbuzz-1.4.5/docs/version.xml 2017-03-11 08:01:45.000000000 +0100
+++ new/harfbuzz-1.4.6/docs/version.xml 2017-04-24 01:17:40.000000000 +0200
@@ -1 +1 @@
-1.4.5
+1.4.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/src/Makefile.am new/harfbuzz-1.4.6/src/Makefile.am
--- old/harfbuzz-1.4.5/src/Makefile.am  2017-02-08 23:33:21.000000000 +0100
+++ new/harfbuzz-1.4.6/src/Makefile.am  2017-04-18 08:25:38.000000000 +0200
@@ -25,11 +25,13 @@
 HBNONPCLIBS =
 HBDEPS =
 HBSOURCES =  $(HB_BASE_sources)
+HBSOURCES += $(HB_BASE_RAGEL_GENERATED_sources)
 HBHEADERS = $(HB_BASE_headers)
 HBNODISTHEADERS = $(HB_NODIST_headers)
 
 if HAVE_OT
 HBSOURCES += $(HB_OT_sources)
+HBSOURCES += $(HB_OT_RAGEL_GENERATED_sources)
 HBHEADERS += $(HB_OT_headers)
 endif
 
@@ -251,19 +253,13 @@
 .PHONY: unicode-tables arabic-table indic-table use-table built-sources
 
 RAGEL_GENERATED = \
-       $(srcdir)/hb-buffer-deserialize-json.hh \
-       $(srcdir)/hb-buffer-deserialize-text.hh \
-       $(srcdir)/hb-ot-shape-complex-indic-machine.hh \
-       $(srcdir)/hb-ot-shape-complex-myanmar-machine.hh \
-       $(srcdir)/hb-ot-shape-complex-use-machine.hh \
+       $(patsubst %,$(srcdir)/%,$(HB_BASE_RAGEL_GENERATED_sources)) \
+       $(patsubst %,$(srcdir)/%,$(HB_OT_RAGEL_GENERATED_sources)) \
        $(NULL)
 BUILT_SOURCES += $(RAGEL_GENERATED)
 EXTRA_DIST += \
-       hb-buffer-deserialize-json.rl \
-       hb-buffer-deserialize-text.rl \
-       hb-ot-shape-complex-indic-machine.rl \
-       hb-ot-shape-complex-myanmar-machine.rl \
-       hb-ot-shape-complex-use-machine.rl \
+       $(HB_BASE_RAGEL_sources) \
+       $(HB_OT_RAGEL_sources) \
        $(NULL)
 MAINTAINERCLEANFILES += $(RAGEL_GENERATED)
 $(srcdir)/%.hh: $(srcdir)/%.rl
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/src/Makefile.sources new/harfbuzz-1.4.6/src/Makefile.sources
--- old/harfbuzz-1.4.5/src/Makefile.sources     2017-01-24 08:18:33.000000000 
+0100
+++ new/harfbuzz-1.4.6/src/Makefile.sources     2017-04-05 15:41:50.000000000 
+0200
@@ -5,8 +5,6 @@
 HB_BASE_sources = \
        hb-atomic-private.hh \
        hb-blob.cc \
-       hb-buffer-deserialize-json.hh \
-       hb-buffer-deserialize-text.hh \
        hb-buffer-private.hh \
        hb-buffer-serialize.cc \
        hb-buffer.cc \
@@ -47,6 +45,15 @@
        hb-warning.cc \
        $(NULL)
 
+HB_BASE_RAGEL_GENERATED_sources = \
+       hb-buffer-deserialize-json.hh \
+       hb-buffer-deserialize-text.hh \
+       $(NULL)
+HB_BASE_RAGEL_sources = \
+       hb-buffer-deserialize-json.rl \
+       hb-buffer-deserialize-text.rl \
+       $(NULL)
+
 HB_BASE_headers = \
        hb.h \
        hb-blob.h \
@@ -91,15 +98,12 @@
        hb-ot-shape-complex-hangul.cc \
        hb-ot-shape-complex-hebrew.cc \
        hb-ot-shape-complex-indic.cc \
-       hb-ot-shape-complex-indic-machine.hh \
        hb-ot-shape-complex-indic-private.hh \
        hb-ot-shape-complex-indic-table.cc \
        hb-ot-shape-complex-myanmar.cc \
-       hb-ot-shape-complex-myanmar-machine.hh \
        hb-ot-shape-complex-thai.cc \
        hb-ot-shape-complex-tibetan.cc \
        hb-ot-shape-complex-use.cc \
-       hb-ot-shape-complex-use-machine.hh \
        hb-ot-shape-complex-use-private.hh \
        hb-ot-shape-complex-use-table.cc \
        hb-ot-shape-complex-private.hh \
@@ -115,6 +119,17 @@
        hb-ot-var-mvar-table.hh \
        $(NULL)
 
+HB_OT_RAGEL_GENERATED_sources = \
+       hb-ot-shape-complex-indic-machine.hh \
+       hb-ot-shape-complex-myanmar-machine.hh \
+       hb-ot-shape-complex-use-machine.hh \
+       $(NULL)
+HB_OT_RAGEL_sources = \
+       hb-ot-shape-complex-indic-machine.rl \
+       hb-ot-shape-complex-myanmar-machine.rl \
+       hb-ot-shape-complex-use-machine.rl \
+       $(NULL)
+
 HB_OT_headers = \
        hb-ot.h \
        hb-ot-font.h \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/src/hb-common.cc new/harfbuzz-1.4.6/src/hb-common.cc
--- old/harfbuzz-1.4.5/src/hb-common.cc 2017-01-23 02:36:31.000000000 +0100
+++ new/harfbuzz-1.4.6/src/hb-common.cc 2017-04-18 08:25:38.000000000 +0200
@@ -186,8 +186,10 @@
   const unsigned char *p1 = (const unsigned char *) v1;
   const unsigned char *p2 = (const unsigned char *) v2;
 
-  while (*p1 && *p1 == canon_map[*p2])
-    p1++, p2++;
+  while (*p1 && *p1 == canon_map[*p2]) {
+    p1++;
+    p2++;
+  }
 
   return *p1 == canon_map[*p2];
 }
@@ -667,7 +669,7 @@
   float v;
 
   errno = 0;
-  v = strtof (p, &pend);
+  v = strtod (p, &pend);
   if (errno || p == pend)
     return false;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/src/hb-graphite2.cc new/harfbuzz-1.4.6/src/hb-graphite2.cc
--- old/harfbuzz-1.4.5/src/hb-graphite2.cc      2017-02-08 23:36:31.000000000 
+0100
+++ new/harfbuzz-1.4.6/src/hb-graphite2.cc      2017-04-20 20:13:56.000000000 
+0200
@@ -301,7 +301,7 @@
 
   hb_codepoint_t *pg = gids;
   clusters[0].cluster = buffer->info[0].cluster;
-  float curradv = HB_DIRECTION_IS_BACKWARD(buffer->props.direction) ? 
gr_slot_origin_X(gr_seg_first_slot(seg)) : 0.;
+  float curradv = 0.;
   if (HB_DIRECTION_IS_BACKWARD(buffer->props.direction))
   {
     curradv = gr_slot_origin_X(gr_seg_first_slot(seg));
@@ -330,13 +330,10 @@
       c->base_glyph = ic;
       c->num_glyphs = 0;
       if (HB_DIRECTION_IS_BACKWARD(buffer->props.direction))
-      {
-        ci++;
-        clusters[ci].advance = curradv - gr_slot_origin_X(is);
-      } else {
+        c->advance = curradv - gr_slot_origin_X(is);
+      else
         clusters[ci].advance = gr_slot_origin_X(is) - curradv;
-        ci++;
-      }
+      ci++;
       curradv = gr_slot_origin_X(is);
     }
     clusters[ci].num_glyphs++;
@@ -345,7 +342,9 @@
        clusters[ci].num_chars = after + 1 - clusters[ci].base_char;
   }
 
-  if (!HB_DIRECTION_IS_BACKWARD(buffer->props.direction))
+  if (HB_DIRECTION_IS_BACKWARD(buffer->props.direction))
+    clusters[ci].advance += curradv;
+  else
     clusters[ci].advance = gr_seg_advance_X(seg) - curradv;
   ci++;
 
@@ -366,11 +365,11 @@
   float yscale = (float) font->y_scale / upem;
   yscale *= yscale / xscale;
   /* Positioning. */
+  int currclus = -1;
+  const hb_glyph_info_t *info = buffer->info;
+  hb_glyph_position_t *pPos = hb_buffer_get_glyph_positions (buffer, NULL);
   if (!HB_DIRECTION_IS_BACKWARD(buffer->props.direction))
   {
-    int currclus = -1;
-    const hb_glyph_info_t *info = buffer->info;
-    hb_glyph_position_t *pPos = hb_buffer_get_glyph_positions (buffer, NULL);
     curradvx = 0;
     for (is = gr_seg_first_slot (seg); is; pPos++, ++info, is = 
gr_slot_next_in_segment (is))
     {
@@ -389,23 +388,20 @@
   }
   else
   {
-    int currclus = -1;
-    const hb_glyph_info_t *info = buffer->info;
-    hb_glyph_position_t *pPos = hb_buffer_get_glyph_positions (buffer, NULL);
-    curradvx = gr_seg_advance_X(seg) * xscale;
+    curradvx = gr_seg_advance_X(seg);
     for (is = gr_seg_first_slot (seg); is; pPos++, info++, is = 
gr_slot_next_in_segment (is))
     {
       if (info->cluster != currclus)
       {
         pPos->x_advance = info->var1.i32 * xscale;
-        if (currclus != -1) curradvx -= info[-1].var1.i32 * xscale;
+        curradvx -= pPos->x_advance;
         currclus = info->cluster;
       } else
-      pPos->x_advance = 0.;
+        pPos->x_advance = 0.;
 
       pPos->y_advance = gr_slot_advance_Y (is, grface, NULL) * yscale;
       curradvy -= pPos->y_advance;
-      pPos->x_offset = gr_slot_origin_X (is) * xscale - curradvx + 
pPos->x_advance;
+      pPos->x_offset = (gr_slot_origin_X (is) - info->var1.i32) * xscale - 
curradvx + pPos->x_advance;
       pPos->y_offset = gr_slot_origin_Y (is) * yscale - curradvy;
     }
     hb_buffer_reverse_clusters (buffer);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/src/hb-ot-layout-gsubgpos-private.hh 
new/harfbuzz-1.4.6/src/hb-ot-layout-gsubgpos-private.hh
--- old/harfbuzz-1.4.5/src/hb-ot-layout-gsubgpos-private.hh     2017-03-10 
22:23:02.000000000 +0100
+++ new/harfbuzz-1.4.6/src/hb-ot-layout-gsubgpos-private.hh     2017-04-18 
08:25:38.000000000 +0200
@@ -342,7 +342,7 @@
     inline void init (hb_apply_context_t *c_, bool context_match = false)
     {
       c = c_;
-      match_glyph_data = NULL,
+      match_glyph_data = NULL;
       matcher.set_match_func (NULL, NULL);
       matcher.set_lookup_props (c->lookup_props);
       /* Ignore ZWNJ if we are matching GSUB context, or matching GPOS. */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/src/hb-ot-layout.cc new/harfbuzz-1.4.6/src/hb-ot-layout.cc
--- old/harfbuzz-1.4.5/src/hb-ot-layout.cc      2017-03-08 03:21:11.000000000 
+0100
+++ new/harfbuzz-1.4.6/src/hb-ot-layout.cc      2017-04-12 22:42:49.000000000 
+0200
@@ -101,10 +101,18 @@
       || (928 == gdef_len && 59332 == gpos_len && 23298 == gsub_len)
       /* sha1sum:6d400781948517c3c0441ba42acb309584b73033  tahomabd.ttf from 
Windows 8.1 */
       || (940 == gdef_len && 60732 == gpos_len && 23310 == gsub_len)
+      /* tahoma.ttf v6.04 from Windows 8.1 x64, see 
https://bugzilla.mozilla.org/show_bug.cgi?id=1279925 */
+      || (964 == gdef_len && 60072 == gpos_len && 23836 == gsub_len)
+      /* tahomabd.ttf v6.04 from Windows 8.1 x64, see 
https://bugzilla.mozilla.org/show_bug.cgi?id=1279925 */
+      || (976 == gdef_len && 61456 == gpos_len && 23832 == gsub_len)
       /* sha1sum:e55fa2dfe957a9f7ec26be516a0e30b0c925f846  tahoma.ttf from 
Windows 10 */
       || (994 == gdef_len && 60336 == gpos_len && 24474 == gsub_len)
       /* sha1sum:7199385abb4c2cc81c83a151a7599b6368e92343  tahomabd.ttf from 
Windows 10 */
       || (1006 == gdef_len && 61740 == gpos_len && 24470 == gsub_len)
+      /* tahoma.ttf v6.91 from Windows 10 x64, see 
https://bugzilla.mozilla.org/show_bug.cgi?id=1279925 */
+      || (1006 == gdef_len && 61346 == gpos_len && 24576 == gsub_len)
+      /* tahomabd.ttf v6.91 from Windows 10 x64, see 
https://bugzilla.mozilla.org/show_bug.cgi?id=1279925 */
+      || (1018 == gdef_len && 62828 == gpos_len && 24572 == gsub_len)
       /* sha1sum:b9c84d820c49850d3d27ec498be93955b82772b5  tahoma.ttf from 
Windows 10 AU */
       || (1006 == gdef_len && 61352 == gpos_len && 24576 == gsub_len)
       /* sha1sum:2bdfaab28174bdadd2f3d4200a30a7ae31db79d2  tahomabd.ttf from 
Windows 10 AU */
@@ -125,6 +133,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)
+      /* d125afa82a77a6475ac0e74e7c207914af84b37a padauk-2.80/Padauk.ttf RHEL 
7.2 */
+      || (1058 == gdef_len && 11818 == gpos_len && 47032 == gsub_len)
+      /* 0f7b80437227b90a577cc078c0216160ae61b031 padauk-2.80/Padauk-Bold.ttf 
RHEL 7.2*/
+      || (1046 == gdef_len && 12600 == gpos_len && 47030 == gsub_len)
+      /* d3dde9aa0a6b7f8f6a89ef1002e9aaa11b882290 padauk-2.80/Padauk.ttf 
Ubuntu 16.04 */
+      || (1058 == gdef_len && 16770 == gpos_len && 71796 == gsub_len)
+      /* 5f3c98ccccae8a953be2d122c1b3a77fd805093f padauk-2.80/Padauk-Bold.ttf 
Ubuntu 16.04 */
+      || (1046 == gdef_len && 17862 == gpos_len && 71790 == 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 */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/src/hb-ot-map-private.hh 
new/harfbuzz-1.4.6/src/hb-ot-map-private.hh
--- old/harfbuzz-1.4.5/src/hb-ot-map-private.hh 2017-01-06 04:56:03.000000000 
+0100
+++ new/harfbuzz-1.4.6/src/hb-ot-map-private.hh 2017-04-03 13:22:51.000000000 
+0200
@@ -113,7 +113,7 @@
     assert (stage <= stages[table_index].len);
     unsigned int start = stage ? stages[table_index][stage - 1].last_lookup : 
0;
     unsigned int end   = stage < stages[table_index].len ? 
stages[table_index][stage].last_lookup : lookups[table_index].len;
-    *plookups = &lookups[table_index][start];
+    *plookups = end == start ? NULL : &lookups[table_index][start];
     *lookup_count = end - start;
   }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/src/hb-shape-plan.cc new/harfbuzz-1.4.6/src/hb-shape-plan.cc
--- old/harfbuzz-1.4.5/src/hb-shape-plan.cc     2017-02-04 01:55:42.000000000 
+0100
+++ new/harfbuzz-1.4.6/src/hb-shape-plan.cc     2017-04-18 08:25:38.000000000 
+0200
@@ -431,11 +431,12 @@
 hb_non_global_user_features_present (const hb_feature_t *user_features,
                                     unsigned int        num_user_features)
 {
-  while (num_user_features)
+  while (num_user_features) {
     if (user_features->start != 0 || user_features->end != (unsigned int) -1)
       return true;
-    else
-      num_user_features--, user_features++;
+    num_user_features--;
+    user_features++;
+  }
   return false;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/src/hb-ucdn/Makefile.sources 
new/harfbuzz-1.4.6/src/hb-ucdn/Makefile.sources
--- old/harfbuzz-1.4.5/src/hb-ucdn/Makefile.sources     2016-07-13 
04:09:47.000000000 +0200
+++ new/harfbuzz-1.4.6/src/hb-ucdn/Makefile.sources     2017-04-12 
22:42:49.000000000 +0200
@@ -1,4 +1,7 @@
+NULL =
+
 LIBHB_UCDN_sources = \
        ucdn.h \
        ucdn.c \
-       unicodedata_db.h
+       unicodedata_db.h \
+       $(NULL)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/src/hb-version.h new/harfbuzz-1.4.6/src/hb-version.h
--- old/harfbuzz-1.4.5/src/hb-version.h 2017-03-11 08:01:45.000000000 +0100
+++ new/harfbuzz-1.4.6/src/hb-version.h 2017-04-24 01:17:40.000000000 +0200
@@ -38,9 +38,9 @@
 
 #define HB_VERSION_MAJOR 1
 #define HB_VERSION_MINOR 4
-#define HB_VERSION_MICRO 5
+#define HB_VERSION_MICRO 6
 
-#define HB_VERSION_STRING "1.4.5"
+#define HB_VERSION_STRING "1.4.6"
 
 #define HB_VERSION_ATLEAST(major,minor,micro) \
        ((major)*10000+(minor)*100+(micro) <= \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/test/shaping/README.md 
new/harfbuzz-1.4.6/test/shaping/README.md
--- old/harfbuzz-1.4.5/test/shaping/README.md   2016-07-13 04:09:47.000000000 
+0200
+++ new/harfbuzz-1.4.6/test/shaping/README.md   2017-04-18 08:25:38.000000000 
+0200
@@ -14,7 +14,7 @@
 
 To use `record-test.sh`, just put it right before the `hb-shape` invocation:
 ```sh
-$ ./hb-unicode-encode 41 42 43 627 | ./record-it.sh ../../util/hb-shape 
font.ttf
+$ ./hb-unicode-encode 41 42 43 627 | ./record-test.sh ../../util/hb-shape 
font.ttf
 ```
 what this does is:
   * Subset the font for the sequence of Unicode characters requested,
@@ -27,11 +27,11 @@
     and prints out the test case input, which you can then redirect to
     an existing or new test file in `tests`, eg.:
 ```sh
-$ ./hb-unicode-encode 41 42 43 627 | ./record-it.sh ../../util/hb-shape 
font.ttf >> tests/test-name.test
+$ ./hb-unicode-encode 41 42 43 627 | ./record-test.sh ../../util/hb-shape 
font.ttf >> tests/test-name.test
 ```
 
 If you created a new test file, add it to `Makefile.am` so it is run.
-Check that `make test` does indeed run it, and that the test passes.
+Check that `make check` does indeed run it, and that the test passes.
 When everything looks good, `git add` the new font as well as new
 test file if you created any.  You can see what new files are there
 by running `git status tests fonts/sha1sum`.  And commit!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/test/shaping/hb_test_tools.py 
new/harfbuzz-1.4.6/test/shaping/hb_test_tools.py
--- old/harfbuzz-1.4.5/test/shaping/hb_test_tools.py    2016-09-09 
02:07:00.000000000 +0200
+++ new/harfbuzz-1.4.6/test/shaping/hb_test_tools.py    2017-03-28 
14:03:26.000000000 +0200
@@ -46,6 +46,17 @@
 except NameError:
        unichr = chr
 
+try:
+       unicode = unicode
+except NameError:
+       unicode = str
+
+def tounicode(s, encoding='ascii', errors='strict'):
+       if not isinstance(s, unicode):
+               return s.decode(encoding, errors)
+       else:
+               return s
+
 class ColorFormatter:
 
        class Null:
@@ -445,7 +456,7 @@
 
        @staticmethod
        def decode (s):
-               return u','.join ("U+%04X" % ord (u) for u in unicode (s, 
'utf-8')).encode ('utf-8')
+               return u','.join ("U+%04X" % ord (u) for u in tounicode (s, 
'utf-8'))
 
        @staticmethod
        def parse (s):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/test/shaping/record-test.sh 
new/harfbuzz-1.4.6/test/shaping/record-test.sh
--- old/harfbuzz-1.4.5/test/shaping/record-test.sh      2016-07-13 
04:09:47.000000000 +0200
+++ new/harfbuzz-1.4.6/test/shaping/record-test.sh      2017-03-28 
14:03:26.000000000 +0200
@@ -48,20 +48,20 @@
        --no-hinting \
        "$dir/font.ttf" \
        --text="$text"
-if ! test -s "$dir/font.ttf.subset"; then
-       echo "Subsetter didn't produce nonempty subset font in 
$dir/font.ttf.subset" >&2
+if ! test -s "$dir/font.subset.ttf"; then
+       echo "Subsetter didn't produce nonempty subset font in 
$dir/font.subset.ttf" >&2
        exit 2
 fi
 
 # Verify that subset font produces same glyphs!
-glyphs_subset=`echo "$text" | $hb_shape $options "$dir/font.ttf.subset"`
+glyphs_subset=`echo "$text" | $hb_shape $options "$dir/font.subset.ttf"`
 
 if ! test "x$glyphs" = "x$glyphs_subset"; then
        echo "Subset font produced different glyphs!" >&2
        echo "Perhaps font doesn't have glyph names; checking visually..." >&2
        hb_view=${hb_shape/shape/view}
        echo "$text" | $hb_view $options "$dir/font.ttf" --output-format=png 
--output-file="$dir/orig.png"
-       echo "$text" | $hb_view $options "$dir/font.ttf.subset" 
--output-format=png --output-file="$dir/subset.png"
+       echo "$text" | $hb_view $options "$dir/font.subset.ttf" 
--output-format=png --output-file="$dir/subset.png"
        if ! cmp "$dir/orig.png" "$dir/subset.png"; then
                echo "Images differ.  Please inspect $dir/*.png." >&2
                echo "$glyphs"
@@ -74,9 +74,9 @@
        glyphs=$glyphs_subset
 fi
 
-sha1sum=`sha1sum "$dir/font.ttf.subset" | cut -d' ' -f1`
+sha1sum=`sha1sum "$dir/font.subset.ttf" | cut -d' ' -f1`
 subset="fonts/sha1sum/$sha1sum.ttf"
-mv "$dir/font.ttf.subset" "$subset"
+mv "$dir/font.subset.ttf" "$subset"
 
 # There ought to be an easier way to do this, but it escapes me...
 unicodes_file=`mktemp`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/win32/Makefile.vc new/harfbuzz-1.4.6/win32/Makefile.vc
--- old/harfbuzz-1.4.5/win32/Makefile.vc        2016-07-13 04:09:47.000000000 
+0200
+++ new/harfbuzz-1.4.6/win32/Makefile.vc        2017-03-24 18:19:39.000000000 
+0100
@@ -14,6 +14,21 @@
 !include ..\src\hb-ucdn\Makefile.sources
 !include ..\util\Makefile.sources
 
+# We need to include the sources in ..\src\hb-ucdn indirectly
+!if [call create-lists.bat header hb_ucdn_srcs.mak hb_ucdn_SRCS]
+!endif
+
+!if [for %c in ($(LIBHB_UCDN_sources)) do @call create-lists.bat file 
hb_ucdn_srcs.mak hb-ucdn\%c]
+!endif
+
+!if [call create-lists.bat footer hb_ucdn_srcs.mak]
+!endif
+
+!include hb_ucdn_srcs.mak
+
+!if [del /f /q hb_ucdn_srcs.mak]
+!endif
+
 # Include the Makefile portion that enables features based on user input
 !include config-msvc.mak
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/win32/README.txt new/harfbuzz-1.4.6/win32/README.txt
--- old/harfbuzz-1.4.5/win32/README.txt 2017-01-06 04:56:03.000000000 +0100
+++ new/harfbuzz-1.4.6/win32/README.txt 2017-03-24 18:19:39.000000000 +0100
@@ -36,7 +36,7 @@
 Explanation of options, set by <option>=1:
 ------------------------------------------
 GLIB: Enable GLib support in HarfBuzz, which also uses the GLib unicode
-      callback instead of the bundled UCDN unicode callback.  This requires the
+      callback if the bundled UCDN unicode callback is disabled.  This 
requires the
       GLib libraries, and is required for building all tool and test programs.
 
 GOBJECT: Enable building the HarfBuzz-GObject DLL, and thus implies GLib
@@ -63,7 +63,7 @@
 
 GRAPHITE2: Enable the Graphite2 shaper, requires the SIL Graphite2 library.
 
-ICU: Enables the build of ICU Unicode functions. Requires the ICU libraries.
+ICU: Enables the build of ICU Unicode functions. Requires the ICU libraries.
 
 UNISCRIBE: Enable Uniscribe platform shaper support.
 
@@ -75,4 +75,4 @@
 
 PERL: Full path to the PERL interpretor to be used, if it is not in %PATH%.
 
-LIBTOOL_DLL_NAME: Enable libtool-style DLL names.
\ No newline at end of file
+LIBTOOL_DLL_NAME: Enable libtool-style DLL names.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/win32/config-msvc.mak 
new/harfbuzz-1.4.6/win32/config-msvc.mak
--- old/harfbuzz-1.4.5/win32/config-msvc.mak    2017-01-09 10:42:33.000000000 
+0100
+++ new/harfbuzz-1.4.6/win32/config-msvc.mak    2017-04-12 22:42:49.000000000 
+0200
@@ -36,9 +36,12 @@
 HB_CFLAGS = /DHAVE_CONFIG_H
 HB_UCDN_CFLAGS = /I..\src\hb-ucdn
 HB_SOURCES =   \
-       $(HB_BASE_sources)              \
-       $(HB_FALLBACK_sources)  \
-       $(HB_OT_sources)
+       $(HB_BASE_sources)                      \
+       $(HB_BASE_RAGEL_GENERATED_sources)      \
+       $(HB_FALLBACK_sources)                  \
+       $(HB_OT_sources)                        \
+       $(HB_OT_RAGEL_GENERATED_sources)
+
 
 HB_HEADERS =   \
        $(HB_BASE_headers)              \
@@ -129,6 +132,16 @@
 HB_DEP_LIBS = $(HB_DEP_LIBS) $(GRAPHITE2_LIB)
 !endif
 
+# Always enable UCDN unless explicitly disabled
+!if "$(NO_UCDN)" != "1"
+HB_DEFINES = $(HB_DEFINES) /DHAVE_UCDN=1
+HB_CFLAGS =            \
+       $(HB_CFLAGS)            \
+       $(HB_UCDN_CFLAGS)
+
+HB_SOURCES = $(HB_SOURCES) $(hb_ucdn_SRCS) $(HB_UCDN_sources)
+!endif
+
 # Enable GLib if desired
 !if "$(GLIB)" == "1"
 HB_DEFINES = $(HB_DEFINES) /DHAVE_GLIB=1
@@ -164,16 +177,23 @@
        $(CFG)\$(PLAT)\test-unicode.exe                         \
        $(CFG)\$(PLAT)\test-version.exe
 
-!elseif "$(ICU)" == "1"
+!else
+
+# Define some of the macros in GLib's msvc_recommended_pragmas.h
+# to reduce some unneeded build-time warnings
+HB_CFLAGS =    \
+       $(HB_CFLAGS)                    \
+       /wd4244                         \
+       /D_CRT_SECURE_NO_WARNINGS       \
+       /D_CRT_NONSTDC_NO_WARNINGS
+
+!endif
+
+!if "$(ICU)" == "1"
 # use ICU for Unicode functions
 # and define some of the macros in GLib's msvc_recommended_pragmas.h
 # to reduce some unneeded build-time warnings
 HB_DEFINES = $(HB_DEFINES) /DHAVE_ICU=1 /DHAVE_ICU_BUILTIN=1
-HB_CFLAGS =    \
-       $(HB_CFLAGS)                                    \
-       /wd4244                                                 \
-       /D_CRT_SECURE_NO_WARNINGS               \
-       /D_CRT_NONSTDC_NO_WARNINGS
 
 # We don't want ICU to re-define int8_t in VS 2008, will cause build breakage
 # as we define it in hb-common.h, and we ought to use the definitions there.
@@ -186,20 +206,6 @@
 HB_DEP_LIBS = $(HB_DEP_LIBS) $(HB_ICU_DEP_LIBS)
 !endif
 
-!if "$(UCDN)" != "0"
-# Define some of the macros in GLib's msvc_recommended_pragmas.h
-# to reduce some unneeded build-time warnings
-HB_DEFINES = $(HB_DEFINES) /DHAVE_UCDN=1
-HB_CFLAGS =    \
-       $(HB_CFLAGS)                                    \
-       $(HB_UCDN_CFLAGS)                               \
-       /wd4244                                                 \
-       /D_CRT_SECURE_NO_WARNINGS               \
-       /D_CRT_NONSTDC_NO_WARNINGS
-
-HB_SOURCES = $(HB_SOURCES) $(LIBHB_UCDN_sources) $(HB_UCDN_sources)
-!endif
-
 !if "$(UNISCRIBE)" == "1"
 HB_CFLAGS = $(HB_CFLAGS) /DHAVE_UNISCRIBE
 HB_SOURCES = $(HB_SOURCES) $(HB_UNISCRIBE_sources)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/win32/config.h.win32 new/harfbuzz-1.4.6/win32/config.h.win32
--- old/harfbuzz-1.4.5/win32/config.h.win32     2017-03-11 08:01:45.000000000 
+0100
+++ new/harfbuzz-1.4.6/win32/config.h.win32     2017-04-24 01:17:40.000000000 
+0200
@@ -112,7 +112,7 @@
 #define HAVE_SYS_TYPES_H 1
 
 /* Have UCDN Unicode functions */
-#define HAVE_UCDN 1
+/* #undef HAVE_UCDN */
 
 /* Have Uniscribe library */
 /* #undef HAVE_UNISCRIBE */
@@ -139,7 +139,7 @@
 #define PACKAGE_NAME "HarfBuzz"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "HarfBuzz 1.4.5"
+#define PACKAGE_STRING "HarfBuzz 1.4.6"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "harfbuzz"
@@ -148,7 +148,7 @@
 #define PACKAGE_URL "http://harfbuzz.org/";
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.4.5"
+#define PACKAGE_VERSION "1.4.6"
 
 /* Define to necessary symbol if this constant uses a non-standard name on
    your system. */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/win32/config.h.win32.in 
new/harfbuzz-1.4.6/win32/config.h.win32.in
--- old/harfbuzz-1.4.5/win32/config.h.win32.in  2016-12-24 02:17:25.000000000 
+0100
+++ new/harfbuzz-1.4.6/win32/config.h.win32.in  2017-03-24 18:19:39.000000000 
+0100
@@ -112,7 +112,7 @@
 #define HAVE_SYS_TYPES_H 1
 
 /* Have UCDN Unicode functions */
-#define HAVE_UCDN 1
+/* #undef HAVE_UCDN */
 
 /* Have Uniscribe library */
 /* #undef HAVE_UNISCRIBE */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/win32/detectenv-msvc.mak 
new/harfbuzz-1.4.6/win32/detectenv-msvc.mak
--- old/harfbuzz-1.4.5/win32/detectenv-msvc.mak 2017-01-06 04:56:03.000000000 
+0100
+++ new/harfbuzz-1.4.6/win32/detectenv-msvc.mak 2017-04-12 22:42:49.000000000 
+0200
@@ -87,8 +87,10 @@
 VSVER = 11
 !elseif $(VCVERSION) > 1799 && $(VCVERSION) < 1900
 VSVER = 12
-!elseif $(VCVERSION) > 1899 && $(VCVERSION) < 2000
+!elseif $(VCVERSION) > 1899 && $(VCVERSION) < 1910
 VSVER = 14
+!elseif $(VCVERSION) > 1909 && $(VCVERSION) < 2000
+VSVER = 15
 !else
 VSVER = 0
 !endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/harfbuzz-1.4.5/win32/info-msvc.mak new/harfbuzz-1.4.6/win32/info-msvc.mak
--- old/harfbuzz-1.4.5/win32/info-msvc.mak      2017-01-06 04:56:03.000000000 
+0100
+++ new/harfbuzz-1.4.6/win32/info-msvc.mak      2017-04-12 22:42:49.000000000 
+0200
@@ -4,17 +4,23 @@
 BUILT_TOOLS =
 BUILT_LIBRARIES = HarfBuzz
 
-!if "$(GLIB)" == "1"
+!if "$(NO_UCDN)" != "1"
+UNICODE_IMPL = ucdn
+!elseif "$(GLIB)" == "1"
 UNICODE_IMPL = GLib
+!elseif "$(ICU)" == "1"
+UNICODE_IMPL = ICU
+!endif
+
+!if "$(GLIB)" == "1"
 INC_FEATURES = $(INC_FEATURES) GLib
 BUILT_TOOLS = hb-shape.exe hb-ot-shape-closure.exe
 !if "$(CAIRO_FT)" == "1"
 BUILT_TOOLS = hb-view.exe $(BUILT_TOOLS)
 !endif
-!elseif "$(ICU)" == "1"
-UNICODE_IMPL = ICU
-!else
-UNICODE_IMPL = ucdn
+!endif
+!if "$(ICU)" == "1"
+INC_FEATURES = $(INC_FEATURES) ICU
 !endif
 
 !if "$(FREETYPE)" == "1"
@@ -79,18 +85,18 @@
        @echo.
        @echo OPTION: Optional, may be any of the following, use OPTION=1 to 
enable;
        @echo multiple OPTION's may be used.  If no OPTION is specified, a 
default
-       @echo HarfBuzz DLL is built with OpenType and fallback support
-       @echo with a bundled Unicode implementation (UCDN).
+       @echo HarfBuzz DLL is built with OpenType and support with a bundled
+       @echo Unicode implementation (UCDN).
        @echo ======
-       @echo UNISCRIBE:
-       @echo Enable Uniscribe support.
+       @echo.
+       @echo CAIRO_FT:
+       @echo Enables Cairo-Freetype support, needed for the build of the 
hb-view utility.
+       @echo Implies FreeType2 support and also requires Cairo built with 
FreeType2
+       @echo support; GLib2 support must also be enabled.
        @echo.
        @echo DIRECTWRITE:
        @echo Enable DirectWrite support, requires a recent enough Windows SDK.
        @echo.
-       @echo GRAPHITE2:
-       @echo Enable graphite2 support, requires the SIL Graphite2 library
-       @echo.
        @echo FREETYPE:
        @echo Enable FreeType2 support, requires the FreeType2 library
        @echo.
@@ -98,16 +104,19 @@
        @echo Enable GLib2 support, with GLib Unicode support, requires the 
GNOME GLib2
        @echo library.  Enables the build of utility programs.
        @echo.
-       @echo ICU:
-       @echo Enable build with ICU Unicode functions, requires the 
International
-       @echo Components for Unicode (ICU) libraries.
-       @echo.
        @echo GOBJECT:
        @echo Enable the HarfBuzz-GObject library, also implies GLib2 support,
        @echo requires the GNOME GLib2 libraries and tools, notably the 
glib-mkenums
        @echo tool script, which will require a PERL interpreter (use
        @echo PERL=^$(PATH_TO_PERL_INTERPRETOR)) if it is not already in your 
PATH).
        @echo.
+       @echo GRAPHITE2:
+       @echo Enable graphite2 support, requires the SIL Graphite2 library
+       @echo.
+       @echo ICU:
+       @echo Enable build with ICU Unicode functions, requires the 
International
+       @echo Components for Unicode (ICU) libraries.
+       @echo.
        @echo INTROSPECTION:
        @echo Enable the build of introspection files, also implies 
GObject/GLib2 support,
        @echo requires the GNOME gobject-introspection libraries and tools.  
You will need
@@ -117,15 +126,17 @@
        @echo ^$(PATH_TO_PYTHON_INTERPRETOR) respectively, if python.exe is not 
already
        @echo in your PATH.
        @echo.
-       @echo CAIRO_FT:
-       @echo Enables Cairo-Freetype support, needed for the build of the 
hb-view utility.
-       @echo Implies FreeType2 support and also requires Cairo built with 
FreeType2
-       @echo support; GLib2 support must also be enabled.
-       @echo.
        @echo LIBTOOL_DLL_NAME:
        @echo Use a libtool-style DLL name to mimic the DLL file naming 
generated by
        @echo MinGW builds.
        @echo.
+       @echo NO_UCDN:
+       @echo Do not use the bundled Unicode callback, which is the default.  
GLib or
+       @echo ICU-based unicode callback is therefore required.
+       @echo
+       @echo UNISCRIBE:
+       @echo Enable Uniscribe support.
+       @echo.
        @echo Note that GLib2 support is required for all utility and test 
programs.
        @echo ======
        @echo A 'clean' target is supported to remove all generated files, 
intermediate


Reply via email to