CMakeLists.txt | 18 +++++++++--------- configure.ac | 2 +- src/hb-aat-layout-common-private.hh | 2 +- src/hb-aat-layout-morx-table.hh | 22 ++++++++++++---------- src/hb-buffer-deserialize-json.rl | 4 ++-- src/hb-buffer-deserialize-text.rl | 4 ++-- src/hb-private.hh | 6 ++++++ 7 files changed, 33 insertions(+), 25 deletions(-)
New commits: commit aed32589af6d5fce3e68fe41865e258ea7eb2413 Author: Behdad Esfahbod <[email protected]> Date: Fri Feb 2 16:08:50 2018 -0500 [aat] In ContextualSubtable, mark mark after substituting mark Fixes MORX-21. diff --git a/src/hb-aat-layout-morx-table.hh b/src/hb-aat-layout-morx-table.hh index 7a45a24e..ffe4d03a 100644 --- a/src/hb-aat-layout-morx-table.hh +++ b/src/hb-aat-layout-morx-table.hh @@ -207,13 +207,7 @@ struct ContextualSubtable { hb_buffer_t *buffer = driver->buffer; - if (entry->flags & SetMark) - { - mark = buffer->idx; - last_zero_before_mark = driver->last_zero; - } - - if (entry->data.markIndex != 0xFFFF) + if (entry->data.markIndex != 0xFFFF && mark < buffer->len) { const Lookup<GlyphID> &lookup = subs[entry->data.markIndex]; hb_glyph_info_t *info = buffer->info; @@ -225,7 +219,7 @@ struct ContextualSubtable ret = true; } } - if (entry->data.currentIndex != 0xFFFF) + if (entry->data.currentIndex != 0xFFFF && buffer->idx < buffer->len) { const Lookup<GlyphID> &lookup = subs[entry->data.currentIndex]; hb_glyph_info_t *info = buffer->info; @@ -238,6 +232,12 @@ struct ContextualSubtable } } + if (entry->flags & SetMark) + { + mark = buffer->idx; + last_zero_before_mark = driver->last_zero; + } + return true; } commit fe5f9b1ae318939eaa23d0175a5eb7e1739177ac Author: Behdad Esfahbod <[email protected]> Date: Fri Feb 2 15:53:25 2018 -0500 [aat] Fix ContextualSubtable sanitization Fixes MORX-18, MORX-19, and MORX-22. diff --git a/src/hb-aat-layout-morx-table.hh b/src/hb-aat-layout-morx-table.hh index c64dca06..7a45a24e 100644 --- a/src/hb-aat-layout-morx-table.hh +++ b/src/hb-aat-layout-morx-table.hh @@ -275,8 +275,10 @@ struct ContextualSubtable { const EntryData &data = entries[i].data; - num_lookups = MAX<unsigned int> (num_lookups, 1 + data.markIndex); - num_lookups = MAX<unsigned int> (num_lookups, 1 + data.currentIndex); + if (data.markIndex != 0xFFFF) + num_lookups = MAX<unsigned int> (num_lookups, 1 + data.markIndex); + if (data.currentIndex != 0xFFFF) + num_lookups = MAX<unsigned int> (num_lookups, 1 + data.currentIndex); } return_trace (substitutionTables.sanitize (c, this, num_lookups)); commit cf943f682bcdd73e3ad1f6108c1a1870b991d5e4 Author: Khaled Hosny <[email protected]> Date: Sun Feb 4 12:05:12 2018 +0200 Correctly show documentation build status Correctly show if building documentation is enabled or not in configure summary. Fixes https://github.com/harfbuzz/harfbuzz/issues/741 diff --git a/configure.ac b/configure.ac index d799cab0..c2257eec 100644 --- a/configure.ac +++ b/configure.ac @@ -531,7 +531,7 @@ Platform shapers (not normally needed): DirectWrite: ${have_directwrite} Other features: - Documentation: ${have_gtk_doc} + Documentation: ${enable_gtk_doc} GObject bindings: ${have_gobject} Introspection: ${have_introspection} ]) commit e8859fca3eafb5aab6d029563b31219ccca0d673 Author: Bruce Mitchener <[email protected]> Date: Sun Feb 4 01:26:57 2018 +0700 Enable use of atexit() on macOS and related platforms. The atexit() man page indicates that this is expected to behave in the expected way on unloading of shared libraries. diff --git a/src/hb-private.hh b/src/hb-private.hh index 62c9fb27..eba797cf 100644 --- a/src/hb-private.hh +++ b/src/hb-private.hh @@ -221,6 +221,12 @@ static int errno = 0; /* Use something better? */ * https://developer.android.com/tools/sdk/ndk/index.html */ # define HB_USE_ATEXIT 1 +# elif defined(__APPLE__) +/* For macOS and related platforms, the atexit man page indicates + * that it will be invoked when the library is unloaded, not only + * at application exit. + */ +# define HB_USE_ATEXIT 1 # endif #endif commit a89573770b4c0f9c444ad6499bec5dc022087a97 Author: Bruce Mitchener <[email protected]> Date: Sun Feb 4 01:31:53 2018 +0700 Use nullptr, not NULL. diff --git a/src/hb-aat-layout-common-private.hh b/src/hb-aat-layout-common-private.hh index b5395bba..1ea8318f 100644 --- a/src/hb-aat-layout-common-private.hh +++ b/src/hb-aat-layout-common-private.hh @@ -120,7 +120,7 @@ struct BinSearchArrayOf else return p; } - return NULL; + return nullptr; } private: diff --git a/src/hb-buffer-deserialize-json.rl b/src/hb-buffer-deserialize-json.rl index 91b350f5..0f7d48ee 100644 --- a/src/hb-buffer-deserialize-json.rl +++ b/src/hb-buffer-deserialize-json.rl @@ -106,7 +106,7 @@ _hb_buffer_deserialize_glyphs_json (hb_buffer_t *buffer, const char *p = buf, *pe = buf + buf_len; /* Ensure we have positions. */ - (void) hb_buffer_get_glyph_positions (buffer, NULL); + (void) hb_buffer_get_glyph_positions (buffer, nullptr); while (p < pe && ISSPACE (*p)) p++; @@ -115,7 +115,7 @@ _hb_buffer_deserialize_glyphs_json (hb_buffer_t *buffer, *end_ptr = ++p; } - const char *tok = NULL; + const char *tok = nullptr; int cs; hb_glyph_info_t info = {0}; hb_glyph_position_t pos = {0}; diff --git a/src/hb-buffer-deserialize-text.rl b/src/hb-buffer-deserialize-text.rl index 8a682f73..fd9be42d 100644 --- a/src/hb-buffer-deserialize-text.rl +++ b/src/hb-buffer-deserialize-text.rl @@ -100,7 +100,7 @@ _hb_buffer_deserialize_glyphs_text (hb_buffer_t *buffer, const char *p = buf, *pe = buf + buf_len; /* Ensure we have positions. */ - (void) hb_buffer_get_glyph_positions (buffer, NULL); + (void) hb_buffer_get_glyph_positions (buffer, nullptr); while (p < pe && ISSPACE (*p)) p++; @@ -109,7 +109,7 @@ _hb_buffer_deserialize_glyphs_text (hb_buffer_t *buffer, *end_ptr = ++p; } - const char *eof = pe, *tok = NULL; + const char *eof = pe, *tok = nullptr; int cs; hb_glyph_info_t info = {0}; hb_glyph_position_t pos = {0}; commit 07885e65adf1d3cb324de99501f9867f1a2553f8 Author: Ebrahim Byagowi <[email protected]> Date: Sat Feb 3 12:53:48 2018 +0330 [cmake] unistd typo fix (#747) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3a593666..9e067edf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -91,6 +91,7 @@ add_definitions(-DHAVE_OT) add_definitions(-DHAVE_FALLBACK) +## Functions and headers include (CheckFunctionExists) include (CheckIncludeFile) macro (check_funcs) # Similar to AC_CHECK_FUNCS of autotools @@ -102,16 +103,15 @@ macro (check_funcs) # Similar to AC_CHECK_FUNCS of autotools endif () endforeach () endmacro () -check_funcs(atexit mprotect sysconf mmap strtod_l) #TODO: getpagesize newlocale isatty - -check_include_file(unistd.h HAVE_UNIST_H) -if (${HAVE_UNIST_H}) - add_definitions(-DHAVE_UNIST_H) +check_funcs(atexit mprotect sysconf getpagesize mmap isatty newlocale strtod_l) +check_include_file(unistd.h HAVE_UNISTD_H) +if (${HAVE_UNISTD_H}) + add_definitions(-DHAVE_UNISTD_H) +endif () +check_include_file(sys/mman.h HAVE_SYS_MMAN_H) +if (${HAVE_SYS_MMAN_H}) + add_definitions(-DHAVE_SYS_MMAN_H) endif () -#check_include_file(sys/mman.h HAVE_SYS_MMAN_H) -#if (${HAVE_SYS_MMAN_H}) -# add_definitions(-DHAVE_SYS_MMAN_H) -#endif () check_include_file(xlocale.h HAVE_XLOCALE_H) if (${HAVE_XLOCALE_H}) add_definitions(-DHAVE_XLOCALE_H) _______________________________________________ HarfBuzz mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/harfbuzz
