diff --git a/NEWS b/NEWS index c9af0f368..58e21a592 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,71 @@ +Overview of changes leading to 2.0.0 +Wednesday, October 17, 2018 +==================================== +- Added AAT shaping support (morx/kerx/trak). + Automatically used if GSUB/GPOS are not available respectively. + Set HB_OPTIONS=aat env var to have morx/kerx preferred over + GSUB/GPOS. +- Apply TrueType kern table internally, instead of relying on + hb_font_t callbacks. +- Khmer shaper significantly rewritten to better match Uniscribe. +- Indic3 tags ('dev3', etc) are passed to USE shaper. +- .dfont Mac font containers implemented. +- Script- and language-mapping revamped to better use BCP 47. +- Misc USE and Indic fixes. +- Misc everything fixes. +- Too many things to list. Biggest release since 0.9.1, with + over 500 commits in just over 5 weeks! Didn't intend it to + be a big release. Just happened to become. +- hb-ft now locks underlying FT_Face during use. + +API changes: + +- Newly-created hb_font_t's now have our internal "hb-ot-font" + callbacks set on them, so they should work out of the box + without any callbacks set. If callbacks are set, everything + is back to what it was before, the fallback callbacks are + null. If you to get the internal implementation modified, + sub_font it. + +- New hb_font_funcs_set_nominal_glyphs_func() allows speeding + up character to glyph mapping. + +New API: ++HB_FEATURE_GLOBAL_START ++HB_FEATURE_GLOBAL_END ++hb_buffer_set_invisible_glyph() ++hb_buffer_get_invisible_glyph() ++hb_font_funcs_set_nominal_glyphs_func() ++hb_ot_layout_table_select_script() ++hb_ot_layout_script_select_language() ++hb_ot_layout_feature_get_name_ids() ++hb_ot_layout_feature_get_characters() ++hb_name_id_t ++HB_NAME_ID_INVALID ++HB_OT_MAX_TAGS_PER_SCRIPT ++hb_ot_tags_from_script_and_language() ++hb_ot_tags_to_script_and_language() + +Deprecated API: +-hb_font_funcs_set_glyph_func() +-hb_unicode_eastasian_width_func_t +-hb_unicode_funcs_set_eastasian_width_func() +-hb_unicode_eastasian_width() +-hb_unicode_decompose_compatibility_func_t +-HB_UNICODE_MAX_DECOMPOSITION_LEN +-hb_unicode_funcs_set_decompose_compatibility_func() +-hb_unicode_decompose_compatibility() +-hb_font_funcs_set_glyph_h_kerning_func() +-hb_font_funcs_set_glyph_v_kerning_func() +-hb_font_get_glyph_h_kerning() +-hb_font_get_glyph_v_kerning() +-hb_font_get_glyph_kerning_for_direction() +-hb_ot_layout_table_choose_script() +-hb_ot_layout_script_find_language() +-hb_ot_tags_from_script() +-hb_ot_tag_from_language() + + Overview of changes leading to 1.9.0 Monday, September 10, 2018 ==================================== diff --git a/configure.ac b/configure.ac index 1b9ddfe7c..a3ce8c1e8 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ AC_PREREQ([2.64]) AC_INIT([HarfBuzz], - [1.9.0], + [2.0.0], [https://github.com/harfbuzz/harfbuzz/issues/new], [harfbuzz], [http://harfbuzz.org/]) diff --git a/src/hb-buffer.cc b/src/hb-buffer.cc index 00e7e149c..ce9b0530c 100644 --- a/src/hb-buffer.cc +++ b/src/hb-buffer.cc @@ -1190,7 +1190,7 @@ hb_buffer_get_replacement_codepoint (hb_buffer_t *buffer) * U+0020 SPACE character is used. Otherwise, this value is used * verbatim. * - * Since: REPLACEME + * Since: 2.0.0 **/ void hb_buffer_set_invisible_glyph (hb_buffer_t *buffer, @@ -1211,7 +1211,7 @@ hb_buffer_set_invisible_glyph (hb_buffer_t *buffer, * Return value: * The @buffer invisible #hb_codepoint_t. * - * Since: REPLACEME + * Since: 2.0.0 **/ hb_codepoint_t hb_buffer_get_invisible_glyph (hb_buffer_t *buffer) diff --git a/src/hb-common.h b/src/hb-common.h index c601b1f66..2f09f4318 100644 --- a/src/hb-common.h +++ b/src/hb-common.h @@ -401,13 +401,13 @@ typedef void (*hb_destroy_func_t) (void *user_data); /** * HB_FEATURE_GLOBAL_START * - * Since: REPLACEME + * Since: 2.0.0 */ #define HB_FEATURE_GLOBAL_START 0 /** * HB_FEATURE_GLOBAL_END * - * Since: REPLACEME + * Since: 2.0.0 */ #define HB_FEATURE_GLOBAL_END ((unsigned int) -1) diff --git a/src/hb-deprecated.h b/src/hb-deprecated.h index 52ee49e2b..5af9bdbd8 100644 --- a/src/hb-deprecated.h +++ b/src/hb-deprecated.h @@ -61,7 +61,7 @@ hb_set_invert (hb_set_t *set); /** * hb_unicode_eastasian_width_func_t: * - * Deprecated: REPLACEME + * Deprecated: 2.0.0 */ typedef unsigned int (*hb_unicode_eastasian_width_func_t) (hb_unicode_funcs_t *ufuncs, hb_codepoint_t unicode, @@ -77,7 +77,7 @@ typedef unsigned int (*hb_unicode_eastasian_width_func_t) (hb_unicode_funcs_t * * * Since: 0.9.2 - * Deprecated: REPLACEME + * Deprecated: 2.0.0 **/ HB_EXTERN HB_DEPRECATED void hb_unicode_funcs_set_eastasian_width_func (hb_unicode_funcs_t *ufuncs, @@ -88,7 +88,7 @@ hb_unicode_funcs_set_eastasian_width_func (hb_unicode_funcs_t *ufuncs, * hb_unicode_eastasian_width: * * Since: 0.9.2 - * Deprecated: REPLACEME + * Deprecated: 2.0.0 **/ HB_EXTERN HB_DEPRECATED unsigned int hb_unicode_eastasian_width (hb_unicode_funcs_t *ufuncs, @@ -113,7 +113,7 @@ hb_unicode_eastasian_width (hb_unicode_funcs_t *ufuncs, * * Return value: number of codepoints in the full compatibility decomposition of @u, or 0 if no decomposition available. * - * Deprecated: REPLACEME + * Deprecated: 2.0.0 */ typedef unsigned int (*hb_unicode_decompose_compatibility_func_t) (hb_unicode_funcs_t *ufuncs, hb_codepoint_t u, @@ -125,7 +125,7 @@ typedef unsigned int (*hb_unicode_decompose_compatibility_func_t) (hb_unicode_ * * See Unicode 6.1 for details on the maximum decomposition length. * - * Deprecated: REPLACEME + * Deprecated: 2.0.0 */ #define HB_UNICODE_MAX_DECOMPOSITION_LEN (18+1) /* codepoints */ @@ -139,7 +139,7 @@ typedef unsigned int (*hb_unicode_decompose_compatibility_func_t) (hb_unicode_ * * * Since: 0.9.2 - * Deprecated: REPLACEME + * Deprecated: 2.0.0 **/ HB_EXTERN HB_DEPRECATED void hb_unicode_funcs_set_decompose_compatibility_func (hb_unicode_funcs_t *ufuncs, @@ -150,7 +150,7 @@ hb_unicode_funcs_set_decompose_compatibility_func (hb_unicode_funcs_t *ufuncs, * hb_unicode_decompose_compatibility: * * - * Deprecated: REPLACEME + * Deprecated: 2.0.0 **/ HB_EXTERN HB_DEPRECATED unsigned int hb_unicode_decompose_compatibility (hb_unicode_funcs_t *ufuncs, @@ -174,7 +174,7 @@ typedef hb_font_get_glyph_kerning_func_t hb_font_get_glyph_v_kerning_func_t; * * * Since: 0.9.2 - * Deprecated: REPLACEME + * Deprecated: 2.0.0 **/ HB_EXTERN void hb_font_funcs_set_glyph_h_kerning_func (hb_font_funcs_t *ffuncs, @@ -191,7 +191,7 @@ hb_font_funcs_set_glyph_h_kerning_func (hb_font_funcs_t *ffuncs, * * * Since: 0.9.2 - * Deprecated: REPLACEME + * Deprecated: 2.0.0 **/ HB_EXTERN void hb_font_funcs_set_glyph_v_kerning_func (hb_font_funcs_t *ffuncs, diff --git a/src/hb-font.cc b/src/hb-font.cc index c9656cee7..7a430237c 100644 --- a/src/hb-font.cc +++ b/src/hb-font.cc @@ -922,7 +922,7 @@ hb_font_get_glyph_v_origin (hb_font_t *font, * Return value: * * Since: 0.9.2 - * Deprecated: REPLACEME + * Deprecated: 2.0.0 **/ hb_position_t hb_font_get_glyph_h_kerning (hb_font_t *font, @@ -942,7 +942,7 @@ hb_font_get_glyph_h_kerning (hb_font_t *font, * Return value: * * Since: 0.9.2 - * Deprecated: REPLACEME + * Deprecated: 2.0.0 **/ hb_position_t hb_font_get_glyph_v_kerning (hb_font_t *font, @@ -1171,7 +1171,7 @@ hb_font_subtract_glyph_origin_for_direction (hb_font_t *font, * * * Since: 0.9.2 - * Deprecated: REPLACEME + * Deprecated: 2.0.0 **/ void hb_font_get_glyph_kerning_for_direction (hb_font_t *font, diff --git a/src/hb-font.h b/src/hb-font.h index dc88f26c3..74c61aba4 100644 --- a/src/hb-font.h +++ b/src/hb-font.h @@ -237,7 +237,7 @@ hb_font_funcs_set_nominal_glyph_func (hb_font_funcs_t *ffuncs, * * * - * Since: REPLACEME + * Since: 2.0.0 **/ HB_EXTERN void hb_font_funcs_set_nominal_glyphs_func (hb_font_funcs_t *ffuncs, diff --git a/src/hb-ot-layout.cc b/src/hb-ot-layout.cc index af38dcb02..fb1d9b11f 100644 --- a/src/hb-ot-layout.cc +++ b/src/hb-ot-layout.cc @@ -376,7 +376,7 @@ hb_ot_layout_table_choose_script (hb_face_t *face, /** * hb_ot_layout_table_select_script: * - * Since: REPLACEME + * Since: 2.0.0 **/ hb_bool_t hb_ot_layout_table_select_script (hb_face_t *face, @@ -489,7 +489,7 @@ hb_ot_layout_script_find_language (hb_face_t *face, /** * hb_ot_layout_script_select_language: * - * Since: REPLACEME + * Since: 2.0.0 **/ hb_bool_t hb_ot_layout_script_select_language (hb_face_t *face, @@ -1134,7 +1134,7 @@ hb_ot_layout_get_size_params (hb_face_t *face, * * Return value: true if data found, false otherwise * - * Since: REPLACEME + * Since: 2.0.0 **/ hb_bool_t hb_ot_layout_feature_get_name_ids (hb_face_t *face, @@ -1207,7 +1207,7 @@ hb_ot_layout_feature_get_name_ids (hb_face_t *face, * * Return value: Number of total sample characters in the cvXX feature. * - * Since: REPLACEME + * Since: 2.0.0 **/ unsigned int hb_ot_layout_feature_get_characters (hb_face_t *face, diff --git a/src/hb-ot-name.h b/src/hb-ot-name.h index 0fdd63bbd..49423e87c 100644 --- a/src/hb-ot-name.h +++ b/src/hb-ot-name.h @@ -37,14 +37,14 @@ HB_BEGIN_DECLS /** * hb_name_id_t: * - * Since: REPLACEME + * Since: 2.0.0 */ typedef unsigned int hb_name_id_t; /** * HB_NAME_ID_INVALID * - * Since: REPLACEME + * Since: 2.0.0 **/ #define HB_NAME_ID_INVALID 0xFFFF diff --git a/src/hb-ot-tag.cc b/src/hb-ot-tag.cc index 7bcc63abc..3d4e8b066 100644 --- a/src/hb-ot-tag.cc +++ b/src/hb-ot-tag.cc @@ -336,7 +336,7 @@ parse_private_use_subtag (const char *private_use_subtag, * * Converts an #hb_script_t and an #hb_language_t to script and language tags. * - * Since: REPLACEME + * Since: 2.0.0 **/ void hb_ot_tags_from_script_and_language (hb_script_t script, @@ -448,7 +448,7 @@ hb_ot_tag_to_language (hb_tag_t tag) * Converts a script tag and a language tag to an #hb_script_t and an * #hb_language_t. * - * Since: REPLACEME + * Since: 2.0.0 **/ void hb_ot_tags_to_script_and_language (hb_tag_t script_tag, diff --git a/src/hb-ot-tag.h b/src/hb-ot-tag.h index f7a061c70..33a4dbdbc 100644 --- a/src/hb-ot-tag.h +++ b/src/hb-ot-tag.h @@ -42,13 +42,13 @@ HB_BEGIN_DECLS /** * HB_OT_MAX_TAGS_PER_SCRIPT: * - * Since: REPLACEME + * Since: 2.0.0 **/ #define HB_OT_MAX_TAGS_PER_SCRIPT 3u /** * HB_OT_MAX_TAGS_PER_LANGUAGE: * - * Since: REPLACEME + * Since: 2.0.0 **/ #define HB_OT_MAX_TAGS_PER_LANGUAGE 3u diff --git a/src/hb-version.h b/src/hb-version.h index 346495104..d10a168a6 100644 --- a/src/hb-version.h +++ b/src/hb-version.h @@ -36,11 +36,11 @@ HB_BEGIN_DECLS -#define HB_VERSION_MAJOR 1 -#define HB_VERSION_MINOR 9 +#define HB_VERSION_MAJOR 2 +#define HB_VERSION_MINOR 0 #define HB_VERSION_MICRO 0 -#define HB_VERSION_STRING "1.9.0" +#define HB_VERSION_STRING "2.0.0" #define HB_VERSION_ATLEAST(major,minor,micro) \ ((major)*10000+(minor)*100+(micro) <= \