From 98da3306384044c6c73904d9a2a5996da16504ea Mon Sep 17 00:00:00 2001 From: Khaled Hosny Date: Mon, 31 Jan 2022 18:12:01 +0200 Subject: [PATCH] 3.3.0 --- NEWS | 32 +++++++++++++++++++++++++++++++- configure.ac | 2 +- docs/harfbuzz-docs.xml | 1 + meson.build | 2 +- src/hb-buffer.cc | 13 ++++++------- src/hb-buffer.h | 2 +- src/hb-font.cc | 19 ++++++++++++------- src/hb-version.h | 4 ++-- 8 files changed, 55 insertions(+), 20 deletions(-) diff --git a/NEWS b/NEWS index 15c4de638..c9ebb47e9 100644 --- a/NEWS +++ b/NEWS @@ -1,7 +1,37 @@ +Overview of changes leading to 3.3.0 +Monday, January 31, 2022 +==================================== +- Improved documentation. +- Internal code cleanup, using C++ standard library more. +- The low 16-bits of face index will be used by hb_face_create() to select a + face inside a font collection file format, while the high 16-bits will be + used by hb_font_create() to load the named instance. +- Glyph positions and other font metrics now apply synthetic slant set by + hb_font_set_synthetic_slant(), for improved positioning for synthetically + slanted fonts. +- Fixed unintentional locale dependency in hb_variation_to_string() for decimal + point representation. +- When applying pair positioning (kerning) the positioning value is split + between the two sides of the pair for improved cursor positioning between + such pairs. +- Introduced new HB_GLYPH_FLAG_UNSAFE_TO_CONCAT, to be used in conjunction + with HB_GLYPH_FLAG_UNSAFE_TO_BREAK for optimizing re-shaping during line + breaking. Check the documentation for further details. +- Improved handling of macrolanguages when mapping BCP 47 codes to OpenType + tags. + +- New API: ++HB_GLYPH_FLAG_UNSAFE_TO_CONCAT ++hb_segment_properties_overlay() ++hb_buffer_create_similar() ++hb_font_set_synthetic_slant() ++hb_font_get_synthetic_slant() ++hb_font_get_var_coords_design() + + Overview of changes leading to 3.2.0 Friday, November 26, 2021 ==================================== - “harfbuzz” library improvements: - Fixed shaping of Apple Color Emoji flags in right-to-left context. (Behdad Esfahbod) - Fixed positioning of CFF fonts in HB_TINY profile. (Behdad Esfahbod) diff --git a/configure.ac b/configure.ac index 5414ea12f..03cfedc21 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ AC_PREREQ([2.64]) AC_INIT([HarfBuzz], - [3.2.0], + [3.3.0], [https://github.com/harfbuzz/harfbuzz/issues/new], [harfbuzz], [http://harfbuzz.org/]) diff --git a/docs/harfbuzz-docs.xml b/docs/harfbuzz-docs.xml index 5fa365898..b96fad386 100644 --- a/docs/harfbuzz-docs.xml +++ b/docs/harfbuzz-docs.xml @@ -116,6 +116,7 @@ API Index Index of deprecated API + Index of new symbols in 3.3.0 Index of new symbols in 3.1.0 Index of new symbols in 3.0.0 Index of new symbols in 2.9.1 diff --git a/meson.build b/meson.build index 8fb68f296..2b782cf62 100644 --- a/meson.build +++ b/meson.build @@ -1,6 +1,6 @@ project('harfbuzz', 'c', 'cpp', meson_version: '>= 0.55.0', - version: '3.2.0', + version: '3.3.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.cc b/src/hb-buffer.cc index 3e09260cf..e50afcb20 100644 --- a/src/hb-buffer.cc +++ b/src/hb-buffer.cc @@ -102,7 +102,7 @@ hb_segment_properties_hash (const hb_segment_properties_t *p) * can be unset), if @p does not have language set, language is copied from * @src. * - * Since: REPLACEME + * Since: 3.3.0 **/ void hb_segment_properties_overlay (hb_segment_properties_t *p, @@ -664,14 +664,13 @@ hb_buffer_create () * hb_buffer_create_similar: * @src: An #hb_buffer_t * - * Resets the buffer to its initial status, as if it was just newly created - * with hb_buffer_create(). - * - * Return value: (transfer full): - * A newly allocated #hb_buffer_t, similar to hb_buffer_create(). The only + * Creates a new #hb_buffer_t, similar to hb_buffer_create(). The only * difference is that the buffer is configured similarly to @src. * - * Since: REPLACEME + * Return value: (transfer full): + * A newly allocated #hb_buffer_t, similar to hb_buffer_create(). + * + * Since: 3.3.0 **/ hb_buffer_t * hb_buffer_create_similar (const hb_buffer_t *src) diff --git a/src/hb-buffer.h b/src/hb-buffer.h index 001e6dca8..9fbd7b1ec 100644 --- a/src/hb-buffer.h +++ b/src/hb-buffer.h @@ -137,7 +137,7 @@ typedef struct hb_glyph_info_t { * clusters. * The #HB_GLYPH_FLAG_UNSAFE_TO_BREAK flag will * always imply this flag. - * Since: REPLACEME + * Since: 3.3.0 * @HB_GLYPH_FLAG_DEFINED: All the currently defined flags. * * Flags for #hb_glyph_info_t. diff --git a/src/hb-font.cc b/src/hb-font.cc index 5bd5283dd..350fcac13 100644 --- a/src/hb-font.cc +++ b/src/hb-font.cc @@ -2053,7 +2053,7 @@ hb_font_get_ptem (hb_font_t *font) * Note: The slant value is a ratio. For example, a * 20% slant would be represented as a 0.2 value. * - * Since: REPLACEME + * Since: 3.3.0 **/ HB_EXTERN void hb_font_set_synthetic_slant (hb_font_t *font, float slant) @@ -2073,7 +2073,7 @@ hb_font_set_synthetic_slant (hb_font_t *font, float slant) * * Return value: Synthetic slant. By default is zero. * - * Since: REPLACEME + * Since: 3.3.0 **/ HB_EXTERN float hb_font_get_synthetic_slant (hb_font_t *font) @@ -2266,7 +2266,7 @@ hb_font_set_var_coords_normalized (hb_font_t *font, /** * hb_font_get_var_coords_normalized: * @font: #hb_font_t to work upon - * @length: Number of coordinates retrieved + * @length: (out): Number of coordinates retrieved * * Fetches the list of normalized variation coordinates currently * set on a font. @@ -2277,6 +2277,8 @@ hb_font_set_var_coords_normalized (hb_font_t *font, * Return value is valid as long as variation coordinates of the font * are not modified. * + * Return value: coordinates array + * * Since: 1.4.2 */ const int * @@ -2292,18 +2294,21 @@ hb_font_get_var_coords_normalized (hb_font_t *font, /** * hb_font_get_var_coords_design: * @font: #hb_font_t to work upon - * @length: (out): number of coordinates + * @length: (out): Number of coordinates retrieved * - * Return value is valid as long as variation coordinates of the font - * are not modified. + * Fetches the list of variation coordinates (in design-space units) currently + * set on a font. * * Note that this returned array may only contain values for some * (or none) of the axes; omitted axes effectively have their default * values. * + * Return value is valid as long as variation coordinates of the font + * are not modified. + * * Return value: coordinates array * - * Since: REPLACEME + * Since: 3.3.0 */ const float * hb_font_get_var_coords_design (hb_font_t *font, diff --git a/src/hb-version.h b/src/hb-version.h index 52b124b74..9a4f1b195 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 2 +#define HB_VERSION_MINOR 3 /** * 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 "3.2.0" +#define HB_VERSION_STRING "3.3.0" /** * HB_VERSION_ATLEAST: