Skip to content

Commit

Permalink
Merge pull request #44748 from bruvzg/hb_2_7_3_sync
Browse files Browse the repository at this point in the history
HarfBuzz: Update to upstream version 2.7.4
  • Loading branch information
akien-mga committed Dec 28, 2020
2 parents 5c76225 + 86006ce commit 886571e
Show file tree
Hide file tree
Showing 62 changed files with 6,725 additions and 3,222 deletions.
2 changes: 1 addition & 1 deletion thirdparty/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ Files extracted from upstream source:
## HarfBuzz

- Upstream: https://github.com/harfbuzz/harfbuzz
- Version: 2.7.2
- Version: 2.7.4
- License: HarfBuzz

Files extracted from upstream source:
Expand Down
30 changes: 30 additions & 0 deletions thirdparty/harfbuzz/NEWS
Original file line number Diff line number Diff line change
@@ -1,3 +1,33 @@
Overview of changes leading to 2.7.4
Sunday, December 27, 2020
====================================
- Fix missing --enable-introspection configure option from previous release
tarball.
- Documentation updates.

Overview of changes leading to 2.7.3
Wednesday, December 23, 2020
====================================
- Update USE shaper to 2020-08-13 specification, and other improvements.
- Don’t disable liga feature in myanmar shaper, to match Uniscribe.
- Improvements to language and script tags handling.
- Update language system tag registry to OpenType 1.8.4
- Support for serializing and deserializing Unicode buffers. Serialized buffers
are now delimited with `<>` or `[]` based on whether it is a Unicode or
glyphs buffer.
- Increase buffer work limits to handle fonts with many complex lookups.
- Handle more shaping operations in trace output.
- Memory access fixes.
- More OOM fixes.
- Improved documentation.
- Build system improvements.
- New API:
+hb_buffer_has_positions()
+hb_buffer_serialize()
+hb_buffer_serialize_unicode()
+hb_buffer_deserialize_unicode()


Overview of changes leading to 2.7.2
Saturday, August 29, 2020
====================================
Expand Down
91 changes: 66 additions & 25 deletions thirdparty/harfbuzz/src/hb-aat-layout.cc
Original file line number Diff line number Diff line change
Expand Up @@ -79,13 +79,18 @@ AAT::hb_aat_apply_context_t::set_ankr_table (const AAT::ankr *ankr_table_)
* @short_description: Apple Advanced Typography Layout
* @include: hb-aat.h
*
* Functions for querying OpenType Layout features in the font face.
* Functions for querying AAT Layout features in the font face.
*
* HarfBuzz supports all of the AAT tables used to implement shaping. Other
* AAT tables and their associated features are not supported.
**/


#if !defined(HB_NO_AAT) || defined(HAVE_CORETEXT)

/* Table data courtesy of Apple. Converted from mnemonics to integers
/* Mapping from OpenType feature tags to AAT feature names and selectors.
*
* Table data courtesy of Apple. Converted from mnemonics to integers
* when moving to this file. */
static const hb_aat_feature_mapping_t feature_mappings[] =
{
Expand Down Expand Up @@ -167,6 +172,17 @@ static const hb_aat_feature_mapping_t feature_mappings[] =
{HB_TAG ('z','e','r','o'), HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS, HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASHED_ZERO_ON, HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASHED_ZERO_OFF},
};

/**
* hb_aat_layout_find_feature_mapping:
* @tag: The requested #hb_tag_t feature tag
*
* Fetches the AAT feature-and-selector combination that corresponds
* to a given OpenType feature tag.
*
* Return value: the AAT features and selectors corresponding to the
* OpenType feature tag queried
*
**/
const hb_aat_feature_mapping_t *
hb_aat_layout_find_feature_mapping (hb_tag_t tag)
{
Expand Down Expand Up @@ -202,11 +218,17 @@ hb_aat_layout_compile_map (const hb_aat_map_builder_t *mapper,
}


/*
/**
* hb_aat_layout_has_substitution:
* @face:
* @face: #hb_face_t to work upon
*
* Tests whether the specified face includes any substitutions in the
* `morx` or `mort` tables.
*
* <note>Note: does not examine the `GSUB` table.</note>
*
* Return value: true if data found, false otherwise
*
* Returns:
* Since: 2.3.0
*/
hb_bool_t
Expand Down Expand Up @@ -263,11 +285,17 @@ hb_aat_layout_remove_deleted_glyphs (hb_buffer_t *buffer)
hb_ot_layout_delete_glyphs_inplace (buffer, is_deleted_glyph);
}

/*
/**
* hb_aat_layout_has_positioning:
* @face:
* @face: #hb_face_t to work upon
*
* Tests whether the specified face includes any positioning information
* in the `kerx` table.
*
* <note>Note: does not examine the `GPOS` table.</note>
*
* Return value: true if data found, false otherwise
*
* Returns:
* Since: 2.3.0
*/
hb_bool_t
Expand All @@ -290,11 +318,15 @@ hb_aat_layout_position (const hb_ot_shape_plan_t *plan,
}


/*
/**
* hb_aat_layout_has_tracking:
* @face:
* @face:: #hb_face_t to work upon
*
* Tests whether the specified face includes any tracking information
* in the `trak` table.
*
* Return value: true if data found, false otherwise
*
* Returns:
* Since: 2.3.0
*/
hb_bool_t
Expand All @@ -316,10 +348,13 @@ hb_aat_layout_track (const hb_ot_shape_plan_t *plan,

/**
* hb_aat_layout_get_feature_types:
* @face: a face object
* @start_offset: iteration's start offset
* @feature_count:(inout) (allow-none): buffer size as input, filled size as output
* @features: (out caller-allocates) (array length=feature_count): features buffer
* @face: #hb_face_t to work upon
* @start_offset: offset of the first feature type to retrieve
* @feature_count: (inout) (allow-none): Input = the maximum number of feature types to return;
* Output = the actual number of feature types returned (may be zero)
* @features: (out caller-allocates) (array length=feature_count): Array of feature types found
*
* Fetches a list of the AAT feature types included in the specified face.
*
* Return value: Number of all available feature types.
*
Expand All @@ -336,10 +371,12 @@ hb_aat_layout_get_feature_types (hb_face_t *face,

/**
* hb_aat_layout_feature_type_get_name_id:
* @face: a face object
* @feature_type: feature id
* @face: #hb_face_t to work upon
* @feature_type: The #hb_aat_layout_feature_type_t of the requested feature type
*
* Return value: Name ID index
* Fetches the name ID of the specified feature type in the face's `name` table.
*
* Return value: Name ID of the requested feature type
*
* Since: 2.2.0
*/
Expand All @@ -352,18 +389,22 @@ hb_aat_layout_feature_type_get_name_id (hb_face_t *face,

/**
* hb_aat_layout_feature_type_get_selectors:
* @face: a face object
* @feature_type: feature id
* @start_offset: iteration's start offset
* @selector_count: (inout) (allow-none): buffer size as input, filled size as output
* @selectors: (out caller-allocates) (array length=selector_count): settings buffer
* @default_index: (out) (allow-none): index of default selector if any
* @face: #hb_face_t to work upon
* @feature_type: The #hb_aat_layout_feature_type_t of the requested feature type
* @start_offset: offset of the first feature type to retrieve
* @selector_count: (inout) (allow-none): Input = the maximum number of selectors to return;
* Output = the actual number of selectors returned (may be zero)
* @selectors: (out caller-allocates) (array length=selector_count): A buffer pointer.
* The selectors available for the feature type queries.
* @default_index: (out) (allow-none): The index of the feature's default selector, if any
*
* Fetches a list of the selectors available for the specified feature in the given face.
*
* If upon return, @default_index is set to #HB_AAT_LAYOUT_NO_SELECTOR_INDEX, then
* the feature type is non-exclusive. Otherwise, @default_index is the index of
* the selector that is selected by default.
*
* Return value: Number of all available feature selectors.
* Return value: Number of all available feature selectors
*
* Since: 2.2.0
*/
Expand Down
Loading

0 comments on commit 886571e

Please sign in to comment.