From 8537d681728e141550b4470b591fa059f6ca2670 Mon Sep 17 00:00:00 2001 From: Khaled Hosny Date: Mon, 27 Jun 2022 20:51:16 +0200 Subject: [PATCH] 4.4.0 --- NEWS | 34 ++++++++++++++++++++++++++++++++++ configure.ac | 2 +- meson.build | 2 +- src/hb-buffer.h | 4 ++-- src/hb-font.cc | 4 ++-- src/hb-ft.cc | 2 +- src/hb-map.cc | 4 ++-- src/hb-set.cc | 2 +- src/hb-version.h | 4 ++-- 9 files changed, 46 insertions(+), 12 deletions(-) diff --git a/NEWS b/NEWS index e52dc21ba..1994703b3 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,37 @@ +Overview of changes leading to 4.4.0 +Monday, June 27, 2022 +==================================== +- Caching of variable fonts shaping, in particular when using HarfBuzz’s own + font loading functions (ot). Bringing performance of variable shaping in par + with non-variable fonts shaping. (Behdad Esfahbod) +- Caching of format 2 “Contextual Substitution” and “Chained Contexts + Substitution” lookups. Resulting in up to 20% speedup of lookup-heavy fonts + like Gulzar or Noto Nastaliq Urdu. (Behdad Esfahbod) +- Improved ANSI output from hb-view. (Behdad Esfahbod) +- Support for shaping legacy, pre-OpenType Windows 3.1-era, Arabic fonts that + relied on a fixed PUA encoding. (Khaled Hosny, Behdad Esfahbod) +- Sinhala script is now shaped by the USE shaper instead of “indic” one. + (Behdad Esfahbod, David Corbett) +- Thai shaper improvements. (David Corbett) +- hb-ot-name API supports approximate BCP-47 language matching, for example + asking for “en_US” in a font that has only “en” names will return them. + (Behdad Esfahbod) +- Optimized TrueType glyph shape loading. (Behdad Esfahbod) +- Fix subsetting of HarfBuzz faces created via hb_face_create_for_tables(). + (Garret Rieger) +- Add 32 bit var store support to the subsetter. (Garret Rieger) + +- New API ++HB_BUFFER_FLAG_DEFINED ++HB_BUFFER_SERIALIZE_FLAG_DEFINED ++hb_font_changed() ++hb_font_get_serial() ++hb_ft_hb_font_changed() ++hb_set_hash() ++hb_map_copy() ++hb_map_hash() + + Overview of changes leading to 4.3.0 Friday, May 20, 2022 ==================================== diff --git a/configure.ac b/configure.ac index d68244ead..c222a60e5 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ AC_PREREQ([2.64]) AC_INIT([HarfBuzz], - [4.3.0], + [4.4.0], [https://github.com/harfbuzz/harfbuzz/issues/new], [harfbuzz], [http://harfbuzz.org/]) diff --git a/meson.build b/meson.build index 6e9d7693a..a63a4fcea 100644 --- a/meson.build +++ b/meson.build @@ -1,6 +1,6 @@ project('harfbuzz', 'c', 'cpp', meson_version: '>= 0.55.0', - version: '4.3.0', + version: '4.4.0', default_options: [ 'cpp_rtti=false', # Just to support msvc, we are passing -fno-exceptions also anyway 'cpp_std=c++11', diff --git a/src/hb-buffer.h b/src/hb-buffer.h index 0d9f93e46..22fb3496f 100644 --- a/src/hb-buffer.h +++ b/src/hb-buffer.h @@ -373,7 +373,7 @@ hb_buffer_guess_segment_properties (hb_buffer_t *buffer); * flag indicating that the @HB_GLYPH_FLAG_UNSAFE_TO_CONCAT * glyph-flag should be produced by the shaper. By default * it will not be produced since it incurs a cost. Since: 4.0.0 - * @HB_BUFFER_FLAG_DEFINED: All currently defined flags: Since: REPLACEME + * @HB_BUFFER_FLAG_DEFINED: All currently defined flags: Since: 4.4.0 * * Flags for #hb_buffer_t. * @@ -586,7 +586,7 @@ hb_buffer_normalize_glyphs (hb_buffer_t *buffer); * @HB_BUFFER_SERIALIZE_FLAG_GLYPH_FLAGS: serialize glyph flags. Since: 1.5.0 * @HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES: do not serialize glyph advances, * glyph offsets will reflect absolute glyph positions. Since: 1.8.0 - * @HB_BUFFER_SERIALIZE_FLAG_DEFINED: All currently defined flags. Since: REPLACEME + * @HB_BUFFER_SERIALIZE_FLAG_DEFINED: All currently defined flags. Since: 4.4.0 * * Flags that control what glyph information are serialized in hb_buffer_serialize_glyphs(). * diff --git a/src/hb-font.cc b/src/hb-font.cc index 2760b09a4..51c55a6c9 100644 --- a/src/hb-font.cc +++ b/src/hb-font.cc @@ -1945,7 +1945,7 @@ hb_font_is_immutable (hb_font_t *font) * * Return value: serial number * - * Since: REPLACEME. + * Since: 4.4.0. **/ unsigned int hb_font_get_serial (hb_font_t *font) @@ -1961,7 +1961,7 @@ hb_font_get_serial (hb_font_t *font) * This has the effect of increasing the serial as returned * by hb_font_get_serial(), which invalidates internal caches. * - * Since: REPLACEME. + * Since: 4.4.0. **/ void hb_font_changed (hb_font_t *font) diff --git a/src/hb-ft.cc b/src/hb-ft.cc index 84a426e81..b526a8286 100644 --- a/src/hb-ft.cc +++ b/src/hb-ft.cc @@ -1042,7 +1042,7 @@ hb_ft_font_changed (hb_font_t *font) * * Return value: true if changed, false otherwise * - * Since: REPLACEME + * Since: 4.4.0 **/ hb_bool_t hb_ft_hb_font_changed (hb_font_t *font) diff --git a/src/hb-map.cc b/src/hb-map.cc index 4e94cdd97..089615c72 100644 --- a/src/hb-map.cc +++ b/src/hb-map.cc @@ -180,7 +180,7 @@ hb_map_allocation_successful (const hb_map_t *map) * * Return value: Newly-allocated map. * - * Since: REPLACEME + * Since: 4.4.0 **/ hb_map_t * hb_map_copy (const hb_map_t *map) @@ -337,7 +337,7 @@ hb_map_is_equal (const hb_map_t *map, * Return value: * A hash of @map. * - * Since: REPLACEME + * Since: 4.4.0 **/ HB_EXTERN unsigned int hb_map_hash (const hb_map_t *map) diff --git a/src/hb-set.cc b/src/hb-set.cc index 16efd81bd..2d458294f 100644 --- a/src/hb-set.cc +++ b/src/hb-set.cc @@ -368,7 +368,7 @@ hb_set_is_equal (const hb_set_t *set, * Return value: * A hash of @set. * - * Since: REPLACEME + * Since: 4.4.0 **/ HB_EXTERN unsigned int hb_set_hash (const hb_set_t *set) diff --git a/src/hb-version.h b/src/hb-version.h index ae707cde6..2f6799cb1 100644 --- a/src/hb-version.h +++ b/src/hb-version.h @@ -47,7 +47,7 @@ HB_BEGIN_DECLS * * The minor component of the library version available at compile-time. */ -#define HB_VERSION_MINOR 3 +#define HB_VERSION_MINOR 4 /** * HB_VERSION_MICRO: * @@ -60,7 +60,7 @@ HB_BEGIN_DECLS * * A string literal containing the library version available at compile-time. */ -#define HB_VERSION_STRING "4.3.0" +#define HB_VERSION_STRING "4.4.0" /** * HB_VERSION_ATLEAST: