Data type for booleans.
A callback method for #hb_buffer_t. The method gets called with the #hb_buffer_t it was set on, the #hb_font_t the buffer is shaped with and a message describing what step of the shaping process will be performed. Returning %false from this method will skip this shaping step and move to the next one.
Data type for holding Unicode codepoints. Also used to hold glyph IDs.
Data type for holding color values. Colors are eight bits per channel RGB plus alpha transparency.
A virtual method for destroy user-data callbacks.
This method should retrieve the extents for a font.
A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
This method should retrieve the kerning-adjustment value for a glyph-pair in the specified font, for horizontal text segments.
A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
A virtual method for the #hb_font_funcs_t of an #hb_font_t object.
Data type for bitmasks.
An integral type representing an OpenType 'name' table name identifier. There are predefined name IDs, as well as name IDs return from other API. These can be used to fetch name strings from a font face.
Data type for holding a single coordinate value. Contour points and other multi-dimensional data are stored as tuples of #hb_position_t's.
Callback function for hb_face_create_for_tables().
Data type for tag identifiers. Tags are four byte integers, each byte representing a character.
A virtual method for the #hb_unicode_funcs_t structure.
A virtual method for the #hb_unicode_funcs_t structure.
Fully decompose @u to its Unicode compatibility decomposition. The codepoints of the decomposition will be written to @decomposed. The complete length of the decomposition will be returned.
A virtual method for the #hb_unicode_funcs_t structure.
A virtual method for the #hb_unicode_funcs_t structure.
A virtual method for the #hb_unicode_funcs_t structure.
A virtual method for the #hb_unicode_funcs_t structure.
A virtual method for the #hb_unicode_funcs_t structure.
The selectors defined for specifying AAT feature settings.
The possible feature types defined for AAT shaping, from Apple Font Feature Registry.
Data type for holding HarfBuzz's clustering behavior options. The cluster level dictates one aspect of how HarfBuzz will treat non-base characters during shaping.
The type of #hb_buffer_t contents.
Flags from comparing two #hb_buffer_t's.
Flags for #hb_buffer_t.
Flags that control what glyph information are serialized in hb_buffer_serialize_glyphs().
The buffer serialization and de-serialization format used in hb_buffer_serialize_glyphs() and hb_buffer_deserialize_glyphs().
The direction of a text segment or buffer.
Flags for #hb_glyph_info_t.
Data type holding the memory modes available to client programs.
Flags that describe the properties of color palette.
Baseline tags from Baseline Tags registry.
The GDEF classes defined for glyphs.
The 'MATH' table constants, refer to OpenType documentation
For more explanations.
Flags for math glyph parts.
The math kerning-table types defined for the four corners of a glyph.
Known metadata tags from https://docs.microsoft.com/en-us/typography/opentype/spec/meta
Metric tags corresponding to [MVAR Value Tags](https://docs.microsoft.com/en-us/typography/opentype/spec/mvar#value-tags)
Flags for #hb_ot_var_axis_info_t.
Data type for scripts. Each #hb_script_t's value is an #hb_tag_t corresponding to the four-letter values defined by ISO 15924.
Data type for the Canonical_Combining_Class (ccc) property from the Unicode Character Database.
Data type for the "General_Category" (gc) property from the Unicode Character Database.
Used when getting or setting AAT feature selectors. Indicates that there is no selector index corresponding to the selector of interest.
The default code point for replacing invalid characters in a given encoding. Set to U+FFFD REPLACEMENT CHARACTER.
Special setting for #hb_feature_t.start to apply the feature from the start of the buffer.
An unset #hb_language_t.
Unset #hb_map_t value.
Special value for language index indicating default or unsupported language.
Special value for feature index indicating unsupported feature.
Special value for script index indicating unsupported script.
Special value for variations index indicating unsupported variation.
Maximum number of OpenType tags that can correspond to a give #hb_language_t.
Maximum number of OpenType tags that can correspond to a give #hb_script_t.
Do not use.
Unset #hb_set_t value.
Maximum valid Unicode code point.
See Unicode 6.1 for details on the maximum decomposition length.
Structure representing a setting for an #hb_aat_layout_feature_type_t.
Data type for blobs. A blob wraps a chunk of binary data and facilitates its lifecycle management between a client program and HarfBuzz.
The main structure holding the input text and its properties before shaping, and output glyphs and their information after shaping.
Data type for holding font faces.
Font-wide extent values, measured in font units.
Data type containing a set of virtual methods used for working on #hb_font_t font objects.
Data type for holding fonts.
Glyph extent values, measured in font units.
The #hb_glyph_info_t is the structure that holds information about the glyphs and their relation to input text.
The #hb_glyph_position_t is the structure that holds the positions of the glyph in both horizontal and vertical directions. All positions in #hb_glyph_position_t are relative to the current point.
Data type for holding integer-to-integer hash maps.
Pairs of glyph and color index.
Data type to hold information for a "part" component of a math-variant glyph. Large variants for stretchable math glyphs (such as parentheses) can be constructed on the fly from parts.
Data type to hold math-variant information for a glyph.
Structure representing a name ID in a particular language.
Data type for holding variation-axis values.
Use #hb_ot_var_axis_info_t instead.
The structure that holds various text properties of an #hb_buffer_t. Can be set and retrieved using hb_buffer_set_segment_properties() and hb_buffer_get_segment_properties(), respectively.
Data type for holding a set of integers. #hb_set_t's are used to gather and contain glyph IDs, Unicode code points, and various other collections of discrete values.
Data type for holding a shaping plan.
Data type containing a set of virtual methods used for accessing various Unicode character properties.
Data structure for holding user-data keys.