Package org.freedesktop.harfbuzz
The following native libraries are required and will be loaded: libharfbuzz-gobject.0
libharfbuzz.0
For namespace-global declarations, refer to the HarfBuzz
class documentation.
Hb-aat-layout
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.
Hb-blob
Blobs wrap a chunk of binary data to handle lifecycle management of data while it is passed between client and HarfBuzz. Blobs are primarily used to create font faces, but also to access font face tables, as well as pass around other binary data.Hb-buffer
Buffers serve a dual role in HarfBuzz; before shaping, they hold the input characters that are passed to hb_shape(), and after shaping they hold the output glyphs.The input buffer is a sequence of Unicode codepoints, with associated attributes such as direction and script. The output buffer is a sequence of glyphs, with associated attributes such as position and cluster.
Hb-common
Common data types used across HarfBuzz are defined here.Hb-deprecated
These API have been deprecated in favor of newer API, or because they were deemed unnecessary.Hb-draw
Functions for drawing (extracting) glyph shapes.
The hb_draw_funcs_t
struct can be used with hb_font_draw_glyph().
Hb-face
A font face is an object that represents a single face from within a font family.More precisely, a font face represents a single face in a binary font file. Font faces are typically built from a binary blob and a face index. Font faces are used to create fonts.
A font face can be created from a binary blob using hb_face_create(). The face index is used to select a face from a binary blob that contains multiple faces. For example, a binary blob that contains both a regular and a bold face can be used to create two font faces, one for each face index.
Hb-font
Functions for working with font objects.A font object represents a font face at a specific size and with certain other parameters (pixels-per-em, points-per-em, variation settings) specified. Font objects are created from font face objects, and are used as input to hb_shape(), among other things.
Client programs can optionally pass in their own functions that
implement the basic, lower-level queries of font objects. This set
of font functions is defined by the virtual methods in
hb_font_funcs_t
.
HarfBuzz provides a built-in set of lightweight default
functions for each method in hb_font_funcs_t
.
The default font functions are implemented in terms of the
hb_font_funcs_t
methods of the parent font object. This allows
client programs to override only the methods they need to, and
otherwise inherit the parent font's implementation, if any.
Hb-ft
Functions for using HarfBuzz with the FreeType library.HarfBuzz supports using FreeType to provide face and font data.
<note>Note that FreeType is not thread-safe, therefore these functions are not thread-safe either.</note>
Hb-glib
Functions for using HarfBuzz with the GLib library.
HarfBuzz supports using GLib to provide Unicode data, by attaching
GLib functions to the virtual methods in a hb_unicode_funcs_t
function
structure.
Hb-map
Map objects are integer-to-integer hash-maps. Currently they are not used in the HarfBuzz public API, but are provided for client's use if desired.Hb-ot-color
Functions for fetching color-font information from OpenType font faces.
HarfBuzz supports COLR
/CPAL
, sbix
, CBDT
, and SVG
color fonts.
Hb-ot-font
Functions for using OpenType fonts with hb_shape(). Note that fonts returned by hb_font_create() default to using these functions, so most clients would never need to call these functions directly.Hb-ot-layout
Functions for querying OpenType Layout features in the font face. See the OpenType specification for details.Hb-ot-math
Functions for fetching mathematics layout data from OpenType fonts.HarfBuzz itself does not implement a math layout solution. The functions and types provided can be used by client programs to access the font data necessary for typesetting OpenType Math layout.
Hb-ot-meta
Functions for fetching metadata from fonts.Hb-ot-metrics
Functions for fetching metrics from fonts.Hb-ot-name
Functions for fetching name strings from OpenType fonts.Hb-ot-shape
Support functions for OpenType shaping related queries.Hb-ot-var
Functions for fetching information about OpenType Variable Fonts.Hb-paint
Functions for painting glyphs.The main purpose of these functions is to paint (extract) color glyph layers from the COLRv1 table, but the API works for drawing ordinary outlines and images as well.
The hb_paint_funcs_t
struct can be used with hb_font_paint_glyph().
Hb-set
Set objects represent a mathematical set of integer values. They are used in non-shaping APIs to query certain sets of characters or glyphs, or other integer values.Hb-shape
Shaping is the central operation of HarfBuzz. Shaping operates on buffers, which are sequences of Unicode characters that use the same font and have the same text direction, script, and language. After shaping the buffer contains the output glyphs and their positions.Hb-shape-plan
Shape plans are an internal mechanism. Each plan contains state describing how HarfBuzz will shape a particular text segment, based on the combination of segment properties and the capabilities in the font face in use.Shape plans are not used for shaping directly, but can be queried to access certain information about how shaping will perform, given a set of specific input parameters (script, language, direction, features, etc.).
Most client programs will not need to deal with shape plans directly.
Hb-style
Functions for fetching style information from fonts.Hb-unicode
Unicode functions are used to access Unicode character properties. With these functions, client programs can query various properties from the Unicode Character Database for any code point, such as General Category (gc), Script (sc), Canonical Combining Class (ccc), etc.
Client programs can optionally pass in their own Unicode functions
that implement the same queries. The set of functions available is
defined by the virtual methods in hb_unicode_funcs_t
.
HarfBuzz provides built-in default functions for each method in
hb_unicode_funcs_t
.
Hb-version
These functions and macros allow accessing version of the HarfBuzz library used at compile- as well as run-time, and to direct code conditionally based on those versions, again, at compile- or run-time.-
ClassDescriptionThe selectors defined for specifying AAT feature settings.Structure representing a setting for an
hb_aat_layout_feature_type_t
.The possible feature types defined for AAT shaping, from Apple Font Feature Registry.Data type for blobs.Data type for booleans.The main structure holding the input text and its properties before shaping, and output glyphs and their information after shaping.Data type for holding HarfBuzz's clustering behavior options.The type ofhb_buffer_t
contents.Flags from comparing twohb_buffer_t
's.Flags forhb_buffer_t
.Functional interface declaration of theBufferMessageFunc
callback.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().Data type for holding Unicode codepoints.Data type for holding color values.A struct containing color information for a gradient.Functional interface declaration of theColorLineGetColorStopsFunc
callback.Functional interface declaration of theColorLineGetExtendFunc
callback.Information about a color stop on a color line.Functional interface declaration of theDestroyFunc
callback.The direction of a text segment or buffer.Functional interface declaration of theDrawClosePathFunc
callback.Functional interface declaration of theDrawCubicToFunc
callback.Glyph draw callbacks.Functional interface declaration of theDrawLineToFunc
callback.Functional interface declaration of theDrawMoveToFunc
callback.Functional interface declaration of theDrawQuadraticToFunc
callback.Current drawing state.Data type for holding font faces.Thehb_feature_t
is the structure that holds information about requested feature application.Data type for holding fonts.Functional interface declaration of theFontDrawGlyphFunc
callback.Font-wide extent values, measured in font units.Data type containing a set of virtual methods used for working onhb_font_t
font objects.Functional interface declaration of theFontGetFontExtentsFunc
callback.A virtual method for thehb_font_funcs_t
of anhb_font_t
object.A virtual method for thehb_font_funcs_t
of anhb_font_t
object.Functional interface declaration of theFontGetGlyphAdvanceFunc
callback.Functional interface declaration of theFontGetGlyphAdvancesFunc
callback.Functional interface declaration of theFontGetGlyphContourPointFunc
callback.Functional interface declaration of theFontGetGlyphExtentsFunc
callback.Functional interface declaration of theFontGetGlyphFromNameFunc
callback.Deprecated.A virtual method for thehb_font_funcs_t
of anhb_font_t
object.A virtual method for thehb_font_funcs_t
of anhb_font_t
object.A virtual method for thehb_font_funcs_t
of anhb_font_t
object.A virtual method for thehb_font_funcs_t
of anhb_font_t
object.Functional interface declaration of theFontGetGlyphKerningFunc
callback.Functional interface declaration of theFontGetGlyphNameFunc
callback.Functional interface declaration of theFontGetGlyphOriginFunc
callback.Deprecated.A virtual method for thehb_font_funcs_t
of anhb_font_t
object.A virtual method for thehb_font_funcs_t
of anhb_font_t
object.A virtual method for thehb_font_funcs_t
of anhb_font_t
object.A virtual method for thehb_font_funcs_t
of anhb_font_t
object.Functional interface declaration of theFontGetNominalGlyphFunc
callback.Functional interface declaration of theFontGetNominalGlyphsFunc
callback.Functional interface declaration of theFontGetVariationGlyphFunc
callback.Functional interface declaration of theFontPaintGlyphFunc
callback.Glyph extent values, measured in font units.Flags forhb_glyph_info_t
.Thehb_glyph_info_t
is the structure that holds information about the glyphs and their relation to input text.Thehb_glyph_position_t
is the structure that holds the positions of the glyph in both horizontal and vertical directions.Constants and functions that are declared in the global HarfBuzz namespace.Data type for languages.Data type for holding integer-to-integer hash maps.Data type for bitmasks.Data type holding the memory modes available to client programs.Pairs of glyph and color index.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.Data type to hold information for a "part" component of a math-variant glyph.Flags for math glyph parts.Data type to hold math-variant information for a glyph.The math kerning-table types defined for the four corners of a glyph.Data type to hold math kerning (cut-in) information for a glyph.Known metadata tags from https://docs.microsoft.com/en-us/typography/opentype/spec/metaMetric tags corresponding to [MVAR Value Tags](https://docs.microsoft.com/en-us/typography/opentype/spec/mvarvalue
-tags)Structure representing a name ID in a particular language.An integral type representing an OpenType 'name' table name identifier.An enum type representing the pre-defined name IDs.Deprecated.Flags forhb_ot_var_axis_info_t
.Data type for holding variation-axis values.Functional interface declaration of thePaintColorFunc
callback.Functional interface declaration of thePaintColorGlyphFunc
callback.The values of this enumeration describe the compositing modes that can be used when combining temporary redirected drawing with the backdrop.Functional interface declaration of thePaintCustomPaletteColorFunc
callback.The values of this enumeration determine how color values outside the minimum and maximum defined offset on ahb_color_line_t
are determined.Glyph paint callbacks.Functional interface declaration of thePaintImageFunc
callback.Functional interface declaration of thePaintLinearGradientFunc
callback.Functional interface declaration of thePaintPopClipFunc
callback.Functional interface declaration of thePaintPopGroupFunc
callback.Functional interface declaration of thePaintPopTransformFunc
callback.Functional interface declaration of thePaintPushClipGlyphFunc
callback.Functional interface declaration of thePaintPushClipRectangleFunc
callback.Functional interface declaration of thePaintPushGroupFunc
callback.Functional interface declaration of thePaintPushTransformFunc
callback.Functional interface declaration of thePaintRadialGradientFunc
callback.Functional interface declaration of thePaintSweepGradientFunc
callback.Data type for holding a single coordinate value.Functional interface declaration of theReferenceTableFunc
callback.Data type for scripts.The structure that holds various text properties of anhb_buffer_t
.Data type for holding a set of integers.Data type for holding a shaping plan.Defined by OpenType Design-Variation Axis Tag Registry.Data type for tag identifiers.Data type for the Canonical_Combining_Class (ccc) property from the Unicode Character Database.Functional interface declaration of theUnicodeCombiningClassFunc
callback.Functional interface declaration of theUnicodeComposeFunc
callback.Deprecated.Functional interface declaration of theUnicodeDecomposeFunc
callback.Deprecated.Data type containing a set of virtual methods used for accessing various Unicode character properties.Data type for the "General_Category" (gc) property from the Unicode Character Database.Functional interface declaration of theUnicodeGeneralCategoryFunc
callback.Functional interface declaration of theUnicodeMirroringFunc
callback.Functional interface declaration of theUnicodeScriptFunc
callback.Data structure for holding user-data keys.Data type for holding variation data.