Package org.freedesktop.harfbuzz
The following native libraries are required and will be loaded: libharfbuzz-gobject.so libharfbuzz.so
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_tcontents.Flags from comparing twohb_buffer_t's.Flags forhb_buffer_t.Functional interface declaration of theBufferMessageFunccallback.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 theColorLineGetColorStopsFunccallback.Functional interface declaration of theColorLineGetExtendFunccallback.Information about a color stop on a color line.Functional interface declaration of theDestroyFunccallback.The direction of a text segment or buffer.Functional interface declaration of theDrawClosePathFunccallback.Functional interface declaration of theDrawCubicToFunccallback.Glyph draw callbacks.Functional interface declaration of theDrawLineToFunccallback.Functional interface declaration of theDrawMoveToFunccallback.Functional interface declaration of theDrawQuadraticToFunccallback.Current drawing state.Data type for holding font faces.Thehb_feature_tis the structure that holds information about requested feature application.Data type for holding fonts.Deprecated.Functional interface declaration of theFontDrawGlyphOrFailFunccallback.Font-wide extent values, measured in scaled units.Data type containing a set of virtual methods used for working onhb_font_tfont objects.Functional interface declaration of theFontGetFontExtentsFunccallback.A virtual method for thehb_font_funcs_tof anhb_font_tobject.A virtual method for thehb_font_funcs_tof anhb_font_tobject.Functional interface declaration of theFontGetGlyphAdvanceFunccallback.Functional interface declaration of theFontGetGlyphAdvancesFunccallback.Functional interface declaration of theFontGetGlyphContourPointFunccallback.Functional interface declaration of theFontGetGlyphExtentsFunccallback.Functional interface declaration of theFontGetGlyphFromNameFunccallback.Deprecated.A virtual method for thehb_font_funcs_tof anhb_font_tobject.A virtual method for thehb_font_funcs_tof anhb_font_tobject.A virtual method for thehb_font_funcs_tof anhb_font_tobject.A virtual method for thehb_font_funcs_tof anhb_font_tobject.A virtual method for thehb_font_funcs_tof anhb_font_tobject.Functional interface declaration of theFontGetGlyphKerningFunccallback.Functional interface declaration of theFontGetGlyphNameFunccallback.Functional interface declaration of theFontGetGlyphOriginFunccallback.Functional interface declaration of theFontGetGlyphOriginsFunccallback.Deprecated.A virtual method for thehb_font_funcs_tof anhb_font_tobject.A virtual method for thehb_font_funcs_tof anhb_font_tobject.A virtual method for thehb_font_funcs_tof anhb_font_tobject.A virtual method for thehb_font_funcs_tof anhb_font_tobject.A virtual method for thehb_font_funcs_tof anhb_font_tobject.Functional interface declaration of theFontGetNominalGlyphFunccallback.Functional interface declaration of theFontGetNominalGlyphsFunccallback.Functional interface declaration of theFontGetVariationGlyphFunccallback.Deprecated.Functional interface declaration of theFontPaintGlyphOrFailFunccallback.Functional interface declaration of theGetTableTagsFunccallback.Glyph extent values, measured in font units.Flags forhb_glyph_info_t.Thehb_glyph_info_tis the structure that holds information about the glyphs and their relation to input text.Thehb_glyph_position_tis 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 TagsStructure 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 thePaintColorFunccallback.Functional interface declaration of thePaintColorGlyphFunccallback.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 thePaintCustomPaletteColorFunccallback.The values of this enumeration determine how color values outside the minimum and maximum defined offset on ahb_color_line_tare determined.Glyph paint callbacks.Functional interface declaration of thePaintImageFunccallback.Functional interface declaration of thePaintLinearGradientFunccallback.Functional interface declaration of thePaintPopClipFunccallback.Functional interface declaration of thePaintPopGroupFunccallback.Functional interface declaration of thePaintPopTransformFunccallback.Functional interface declaration of thePaintPushClipGlyphFunccallback.Functional interface declaration of thePaintPushClipRectangleFunccallback.Functional interface declaration of thePaintPushGroupFunccallback.Functional interface declaration of thePaintPushTransformFunccallback.Functional interface declaration of thePaintRadialGradientFunccallback.Functional interface declaration of thePaintSweepGradientFunccallback.Data type for holding a single coordinate value.Functional interface declaration of theReferenceTableFunccallback.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 theUnicodeCombiningClassFunccallback.Functional interface declaration of theUnicodeComposeFunccallback.Deprecated.Functional interface declaration of theUnicodeDecomposeFunccallback.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 theUnicodeGeneralCategoryFunccallback.Functional interface declaration of theUnicodeMirroringFunccallback.Functional interface declaration of theUnicodeScriptFunccallback.Data structure for holding user-data keys.Data type for holding variation data.