From 1019391046cf01524c4ef20c9256a47b7411610b Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Tue, 30 Oct 2018 15:52:26 -0700 Subject: [PATCH] 2.1.0 --- NEWS | 81 ++++++++++++++++++++++++++++++++++++++++++ RELEASING.md | 3 +- configure.ac | 2 +- docs/harfbuzz-docs.xml | 1 + src/hb-ot-color.cc | 22 ++++++++---- src/hb-ot-color.h | 4 +-- src/hb-version.h | 6 ++-- 7 files changed, 105 insertions(+), 14 deletions(-) diff --git a/NEWS b/NEWS index b8d364081..cb8a28ff0 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,84 @@ +Overview of changes leading to 2.1.0 +Tuesday, October 30, 2018 +==================================== +- AAT shaping improvements: + o Allow user controlling AAT features, for whole buffer only currently. + o Several 'morx' fixes. + o Implement tuple-kerns in 'kerx'; Fixes kerning with Apple default + San Francisco fonts. +- Support for color fonts: + o COLR/CPAL API to fetch color layers. + o SVG table to fetch SVG documents. + o CBDT/sbix API to fetch PNG images. +- New 'name' table API. +- hb-ot-font now uses 'VORG' table to correctly position CFF glyphs + in vertical layout. +- Various fuzzer-found bug fixes. + +Changed API: + +A type and a macro added in 2.0.0 were renamed: + +hb_name_id_t -> hb_ot_name_id_t +HB_NAME_ID_INVALID -> HB_OT_NAME_ID_INVALID + +New API: + ++hb_color_t ++HB_COLOR ++hb_color_get_alpha() ++hb_color_get_red() ++hb_color_get_green() ++hb_color_get_blue() ++hb_ot_color_has_palettes() ++hb_ot_color_palette_get_count() ++hb_ot_color_palette_get_name_id() ++hb_ot_color_palette_color_get_name_id() ++hb_ot_color_palette_flags_t ++hb_ot_color_palette_get_flags() ++hb_ot_color_palette_get_colors() ++hb_ot_color_has_layers() ++hb_ot_color_layer_t ++hb_ot_color_glyph_get_layers() ++hb_ot_color_has_svg() ++hb_ot_color_glyph_reference_svg() ++hb_ot_color_has_png() ++hb_ot_color_glyph_reference_png() + ++hb_ot_name_id_t ++HB_OT_NAME_ID_INVALID ++HB_OT_NAME_ID_COPYRIGHT ++HB_OT_NAME_ID_FONT_FAMILY ++HB_OT_NAME_ID_FONT_SUBFAMILY ++HB_OT_NAME_ID_UNIQUE_ID ++HB_OT_NAME_ID_FULL_NAME ++HB_OT_NAME_ID_VERSION_STRING ++HB_OT_NAME_ID_POSTSCRIPT_NAME ++HB_OT_NAME_ID_TRADEMARK ++HB_OT_NAME_ID_MANUFACTURER ++HB_OT_NAME_ID_DESIGNER ++HB_OT_NAME_ID_DESCRIPTION ++HB_OT_NAME_ID_VENDOR_URL ++HB_OT_NAME_ID_DESIGNER_URL ++HB_OT_NAME_ID_LICENSE ++HB_OT_NAME_ID_LICENSE_URL ++HB_OT_NAME_ID_TYPOGRAPHIC_FAMILY ++HB_OT_NAME_ID_TYPOGRAPHIC_SUBFAMILY ++HB_OT_NAME_ID_MAC_FULL_NAME ++HB_OT_NAME_ID_SAMPLE_TEXT ++HB_OT_NAME_ID_CID_FINDFONT_NAME ++HB_OT_NAME_ID_WWS_FAMILY ++HB_OT_NAME_ID_WWS_SUBFAMILY ++HB_OT_NAME_ID_LIGHT_BACKGROUND ++HB_OT_NAME_ID_DARK_BACKGROUND ++HB_OT_NAME_ID_VARIATIONS_PS_PREFIX ++hb_ot_name_entry_t ++hb_ot_name_list_names() ++hb_ot_name_get_utf8() ++hb_ot_name_get_utf16() ++hb_ot_name_get_utf32() + + Overview of changes leading to 2.0.2 Saturday, October 20, 2018 ==================================== diff --git a/RELEASING.md b/RELEASING.md index 4f5705e53..1fd836545 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -8,7 +8,8 @@ HarfBuzz release walk-through checklist: Document them in NEWS. All API and API semantic changes should be clearly marked as API additions, API changes, or API deletions. Document deprecations. Ensure all new API / deprecations are in listed correctly in - docs/harfbuzz-sections.txt + docs/harfbuzz-sections.txt. If release added new API, add entry for new + API index at the end of docs/harfbuzz-docs.xml. If there's a backward-incompatible API change (including deletions for API used anywhere), that's a release blocker. Do NOT release. diff --git a/configure.ac b/configure.ac index a2d0992a7..21d48f39a 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ AC_PREREQ([2.64]) AC_INIT([HarfBuzz], - [2.0.2], + [2.1.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 6d2411900..66a64d8f9 100644 --- a/docs/harfbuzz-docs.xml +++ b/docs/harfbuzz-docs.xml @@ -131,6 +131,7 @@ API Index Index of deprecated API + Index of new symbols in 2.1.0 Index of new symbols in 2.0.0 Index of new symbols in 1.9.0 Index of new symbols in 1.8.6 diff --git a/src/hb-ot-color.cc b/src/hb-ot-color.cc index 11fc12afb..b87ed56fa 100644 --- a/src/hb-ot-color.cc +++ b/src/hb-ot-color.cc @@ -257,9 +257,11 @@ hb_ot_color_glyph_get_layers (hb_face_t *face, * hb_ot_color_has_svg: * @face: a font face. * - * Returns: whether SVG table is available. + * Check whether @face has SVG glyph images. * - * Since: REPLACEME + * Returns true if available, false otherwise. + * + * Since: 2.1.0 */ hb_bool_t hb_ot_color_has_svg (hb_face_t *face) @@ -272,9 +274,11 @@ hb_ot_color_has_svg (hb_face_t *face) * @face: a font face. * @glyph: a svg glyph index. * + * Get SVG document for a glyph. + * * Returns: (transfer full): respective svg blob of the glyph, if available. * - * Since: REPLACEME + * Since: 2.1.0 */ hb_blob_t * hb_ot_color_glyph_reference_svg (hb_face_t *face, hb_codepoint_t glyph) @@ -291,9 +295,11 @@ hb_ot_color_glyph_reference_svg (hb_face_t *face, hb_codepoint_t glyph) * hb_ot_color_has_png: * @face: a font face. * - * Returns: whether either of CBDT or sbix tables is available. + * Check whether @face has PNG glyph images (either CBDT or sbix tables). * - * Since: REPLACEME + * Returns true if available, false otherwise. + * + * Since: 2.1.0 */ hb_bool_t hb_ot_color_has_png (hb_face_t *face) @@ -308,9 +314,11 @@ hb_ot_color_has_png (hb_face_t *face) * return the biggest one * @glyph: a glyph index. * - * Returns: (transfer full): respective png blob of the glyph, if available. + * Get PNG image for a glyph. * - * Since: REPLACEME + * Returns: (transfer full): respective PNG blob of the glyph, if available. + * + * Since: 2.1.0 */ hb_blob_t * hb_ot_color_glyph_reference_png (hb_font_t *font, hb_codepoint_t glyph) diff --git a/src/hb-ot-color.h b/src/hb-ot-color.h index e2d9a9620..a4f205329 100644 --- a/src/hb-ot-color.h +++ b/src/hb-ot-color.h @@ -66,7 +66,7 @@ hb_ot_color_palette_color_get_name_id (hb_face_t *face, * @HB_OT_COLOR_PALETTE_FLAG_USABLE_WITH_DARK_BACKGROUND: flag indicating that the color * palette is appropriate to use when displaying the font on a dark background such as black. * - * Since: REPLACEME + * Since: 2.1.0 */ typedef enum { /*< flags >*/ HB_OT_COLOR_PALETTE_FLAG_DEFAULT = 0x00000000u, @@ -98,7 +98,7 @@ hb_ot_color_has_layers (hb_face_t *face); * * Pairs of glyph and color index. * - * Since: REPLACEME + * Since: 2.1.0 **/ typedef struct hb_ot_color_layer_t { diff --git a/src/hb-version.h b/src/hb-version.h index a8db51606..68af8f864 100644 --- a/src/hb-version.h +++ b/src/hb-version.h @@ -37,10 +37,10 @@ HB_BEGIN_DECLS #define HB_VERSION_MAJOR 2 -#define HB_VERSION_MINOR 0 -#define HB_VERSION_MICRO 2 +#define HB_VERSION_MINOR 1 +#define HB_VERSION_MICRO 0 -#define HB_VERSION_STRING "2.0.2" +#define HB_VERSION_STRING "2.1.0" #define HB_VERSION_ATLEAST(major,minor,micro) \ ((major)*10000+(minor)*100+(micro) <= \