diff --git a/NEWS b/NEWS index 9a18f34bf..8465a188f 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,50 @@ +Overview of changes leading to 10.0.0 +Monday, Sep 23, 2024 +==================================== +- Unicode 16.0.0 support. +- Various documentation fixes. +- Various build fixes. +- Add API to allow HarfBuzz client to set what glyph to use when a Unicode + Variation Selector is not supported by the font, which would allow the client + to customize what happens in this case, by using a different font for example. +- Add a callback to for “hb_face_t” for getting the list of table tags. This is + now used to make calling “hb_face_get_table_tags()” work on a faces created by + “hb_face_create_for_tables()” (e.g. faces returned by “hb_subset_or_fail()”). +- CGJ and Mongolian Variation Selectors are now ignored during glyph + positioning, previously they would block both glyph substitution and + positioning across them. +- Support cairo script as an output format for “hb-view” command line tool. +- Drop an optimization that would cause HarfBuzz not apply pair positioning + lookup subtables under certain circumstances, for compatibility with other + implementations that do apply these subtables. +- Subsetting will now fail if source font has no glyphs, so feeding the subsetter + invalid data will not silently return an empty face. +- If after partially instancing a font no variation data is left (the instance + is fully static), don’t consider this a failure. +- Workaround a Firefox bug in displaying SVGs generated be “hb-view” command + line tool under certain circumstances. +- Fix bug in macroman mapping for “cmap” table. +- Fix difference shaping output when HarfBuzz is built with with + “HB_NO_OT_RULESETS_FAST_PATH” enabled. +- Various subsetting and instancing fixes. +- Various fuzzing fixes. +- Add “with_libstdcxx” meson build option. + + +- New API: ++HB_SCRIPT_GARAY ++HB_SCRIPT_GURUNG_KHEMA ++HB_SCRIPT_KIRAT_RAI ++HB_SCRIPT_OL_ONAL ++HB_SCRIPT_SUNUWAR ++HB_SCRIPT_TODHRI ++HB_SCRIPT_TULU_TIGALARI ++hb_buffer_set_not_found_variation_selector_glyph() ++hb_buffer_get_not_found_variation_selector_glyph() ++hb_get_table_tags_func_t ++hb_face_set_get_table_tags_func() + + Overview of changes leading to 9.0.0 Thursday, Jun 27, 2024 ==================================== @@ -27,7 +74,7 @@ Monday, May 13, 2024 - Various build fixes. - Various subsetter and instancer fixes. -- New API +- New API: +HB_SUBSET_FLAGS_OPTIMIZE_IUP_DELTAS +hb_subset_input_get_axis_range() +hb_subset_input_pin_axis_location() diff --git a/docs/harfbuzz-docs.xml b/docs/harfbuzz-docs.xml index 263ffd1a7..671f75c30 100644 --- a/docs/harfbuzz-docs.xml +++ b/docs/harfbuzz-docs.xml @@ -120,6 +120,7 @@ API Index Index of deprecated API + Index of new symbols in 10.0.0 Index of new symbols in 8.5.0 Index of new symbols in 8.4.0 Index of new symbols in 8.3.1 diff --git a/meson.build b/meson.build index de941e7b8..4d6fce95c 100644 --- a/meson.build +++ b/meson.build @@ -1,6 +1,6 @@ project('harfbuzz', 'c', 'cpp', meson_version: '>= 0.55.0', - version: '9.0.0', + version: '10.0.0', default_options: [ 'cpp_eh=none', # Just to support msvc, we are passing -fno-exceptions also anyway # 'cpp_rtti=false', # Do NOT enable, wraps inherit it and ICU needs RTTI diff --git a/src/hb-buffer.cc b/src/hb-buffer.cc index 1497e3ce0..3fc869887 100644 --- a/src/hb-buffer.cc +++ b/src/hb-buffer.cc @@ -1377,7 +1377,7 @@ hb_buffer_get_not_found_glyph (const hb_buffer_t *buffer) * such that the situation can be detected by the client and handled accordingly * (e.g. by using a different font). * - * XSince: REPLACEME + * Since: 10.0.0 **/ void hb_buffer_set_not_found_variation_selector_glyph (hb_buffer_t *buffer, @@ -1395,7 +1395,7 @@ hb_buffer_set_not_found_variation_selector_glyph (hb_buffer_t *buffer, * Return value: * The @buffer not-found-variation-selector #hb_codepoint_t * - * XSince: REPLACEME + * Since: 10.0.0 **/ hb_codepoint_t hb_buffer_get_not_found_variation_selector_glyph (const hb_buffer_t *buffer) diff --git a/src/hb-common.h b/src/hb-common.h index 65f6540dc..110854548 100644 --- a/src/hb-common.h +++ b/src/hb-common.h @@ -504,13 +504,13 @@ hb_language_matches (hb_language_t language, * @HB_SCRIPT_MATH: `Zmth`, Since: 3.4.0 * @HB_SCRIPT_KAWI: `Kawi`, Since: 5.2.0 * @HB_SCRIPT_NAG_MUNDARI: `Nagm`, Since: 5.2.0 - * @HB_SCRIPT_GARAY: `Gara`, Since: REPLACEME - * @HB_SCRIPT_GURUNG_KHEMA: `Gukh`, Since: REPLACEME - * @HB_SCRIPT_KIRAT_RAI: `Krai`, Since: REPLACEME - * @HB_SCRIPT_OL_ONAL: `Onao`, Since: REPLACEME - * @HB_SCRIPT_SUNUWAR: `Sunu`, Since: REPLACEME - * @HB_SCRIPT_TODHRI: `Todr`, Since: REPLACEME - * @HB_SCRIPT_TULU_TIGALARI: `Tutg`, Since: REPLACEME + * @HB_SCRIPT_GARAY: `Gara`, Since: 10.0.0 + * @HB_SCRIPT_GURUNG_KHEMA: `Gukh`, Since: 10.0.0 + * @HB_SCRIPT_KIRAT_RAI: `Krai`, Since: 10.0.0 + * @HB_SCRIPT_OL_ONAL: `Onao`, Since: 10.0.0 + * @HB_SCRIPT_SUNUWAR: `Sunu`, Since: 10.0.0 + * @HB_SCRIPT_TODHRI: `Todr`, Since: 10.0.0 + * @HB_SCRIPT_TULU_TIGALARI: `Tutg`, Since: 10.0.0 * @HB_SCRIPT_INVALID: No script set * * Data type for scripts. Each #hb_script_t's value is an #hb_tag_t corresponding @@ -739,7 +739,7 @@ typedef enum HB_SCRIPT_NAG_MUNDARI = HB_TAG ('N','a','g','m'), /*15.0*/ /* - * Since REPLACEME + * Since 10.0.0 */ HB_SCRIPT_GARAY = HB_TAG ('G','a','r','a'), /*16.0*/ HB_SCRIPT_GURUNG_KHEMA = HB_TAG ('G','u','k','h'), /*16.0*/ diff --git a/src/hb-face.cc b/src/hb-face.cc index 63a9259db..9b4af16f4 100644 --- a/src/hb-face.cc +++ b/src/hb-face.cc @@ -576,7 +576,7 @@ hb_face_get_glyph_count (const hb_face_t *face) * * Sets the table-tag-fetching function for the specified face object. * - * XSince: REPLACEME + * Since: 10.0.0 */ HB_EXTERN void hb_face_set_get_table_tags_func (hb_face_t *face, diff --git a/src/hb-face.h b/src/hb-face.h index 53406cd7c..98d0afec2 100644 --- a/src/hb-face.h +++ b/src/hb-face.h @@ -149,7 +149,7 @@ hb_face_get_glyph_count (const hb_face_t *face); * * Return value: Total number of tables, or zero if it is not possible to list * - * XSince: REPLACEME + * Since: 10.0.0 */ typedef unsigned int (*hb_get_table_tags_func_t) (const hb_face_t *face, unsigned int start_offset, diff --git a/src/hb-version.h b/src/hb-version.h index 9b9f30d61..dea8669ba 100644 --- a/src/hb-version.h +++ b/src/hb-version.h @@ -41,7 +41,7 @@ HB_BEGIN_DECLS * * The major component of the library version available at compile-time. */ -#define HB_VERSION_MAJOR 9 +#define HB_VERSION_MAJOR 10 /** * HB_VERSION_MINOR: * @@ -60,7 +60,7 @@ HB_BEGIN_DECLS * * A string literal containing the library version available at compile-time. */ -#define HB_VERSION_STRING "9.0.0" +#define HB_VERSION_STRING "10.0.0" /** * HB_VERSION_ATLEAST: