Edit

Share via


HarfBuzzSharp Namespace

HarfBuzz is a text shaping library.

Classes

Name Description
Blob

Represents a blob of data in memory.

Buffer

Represents a text buffer in memory.

Face

Represents a typeface.

Font

Represents a specific font face.

FontFunctions

Represents a collection of callback functions used by HarfBuzz for font operations such as retrieving glyph metrics, advances, and extents.

Language

Represents a language tag used for text shaping.

NativeObject

Represents a native object.

OpenTypeMetrics

Provides access to OpenType font metrics.

UnicodeFunctions

Represents a collection of callback functions used by HarfBuzz for Unicode character property lookups such as script, general category, and combining class.

Structs

Name Description
Feature

Various font features and variations.

FontExtents

Represents font-wide extent values for horizontal or vertical text layout.

GlyphExtents

Represents the bounding box of a glyph.

GlyphInfo

Represents a glyph and its relation to the input text.

GlyphPosition

Represents the position of a glyph, relative to the current point.

OpenTypeColorLayer

Represents a color layer in an OpenType color font.

OpenTypeMathGlyphPart

Represents a part of a math glyph assembly used for extensible math constructs.

OpenTypeMathGlyphVariant

Represents a math glyph variant used in mathematical typesetting.

OpenTypeNameEntry

Represents an entry in the OpenType name table.

OpenTypeVarAxis

Represents a variation axis in a variable font.

OpenTypeVarAxisInfo

Represents extended information about a variation axis in a variable font.

Script

Represents a particular Unicode script.

Tag

Represents a 4-character OpenType tag used to identify tables, scripts, languages, and features.

Variation

Represents a font variation axis setting for variable fonts.

Enums

Name Description
BufferDiffFlags

Flags indicating differences between two buffers when compared.

BufferFlags

Flags for configuring buffer behavior during text shaping.

ClusterLevel

The various levels of buffer clustering.

ContentType

The various types of buffer contents.

Direction

Various text directions that can be set via Direction.

GlyphFlags

Represents the various glyph flags of a GlyphInfo.

MemoryMode

Various memory modes for Blob

OpenTypeColorPaletteFlags

Flags for OpenType color palettes in CPAL table.

OpenTypeLayoutBaselineTag

Baseline tags from the OpenType BASE table.

OpenTypeLayoutGlyphClass

Specifies the glyph class for OpenType layout operations.

OpenTypeMathConstant

Specifies constants from the OpenType MATH table for mathematical typesetting.

OpenTypeMathGlyphPartFlags

Flags for OpenType math glyph parts.

OpenTypeMathKern

Specifies math kerning positions in the OpenType MATH table.

OpenTypeMetaTag

Tags for the OpenType meta table.

OpenTypeMetricsTag

Specifies OpenType font metrics tags for querying font-wide metrics.

OpenTypeNameId

Specifies OpenType name table entry identifiers.

OpenTypeVarAxisFlags

Specifies flags for variable font axes.

SerializeFlag

The various flags that control what glyph information are serialized by SerializeGlyphs(Int32, Int32, Font, SerializeFormat, SerializeFlag).

SerializeFormat

The various serialization and de-serialization formats.

UnicodeCombiningClass

Specifies the Unicode canonical combining class of a character.

UnicodeGeneralCategory

Specifies the Unicode general category of a character.

Delegates

Name Description
BlobReleaseDelegate

The delegate that will be invoked when a blob is ready to be discarded.

CombiningClassDelegate

A callback delegate used to retrieve the canonical combining class of a Unicode code point.

ComposeDelegate

A callback delegate used to compose two Unicode code points into a single code point using Unicode canonical composition.

DecomposeDelegate

A callback delegate used to decompose a Unicode code point into two code points using Unicode canonical decomposition.

FontExtentsDelegate

The delegate that is invoked when TryGetHorizontalFontExtents(FontExtents) or TryGetVerticalFontExtents(FontExtents) is invoked.

GeneralCategoryDelegate

A callback delegate used to retrieve the general category of a Unicode code point.

GetTableDelegate

Represents a callback method that retrieves a font table blob.

GlyphAdvanceDelegate

The delegate that is invoked when GetHorizontalGlyphAdvance(UInt32) or GetVerticalGlyphAdvance(UInt32) is invoked.

GlyphAdvancesDelegate

A callback delegate used to retrieve the advance widths or heights for multiple glyphs in a single batch operation.

GlyphContourPointDelegate

A callback delegate used to retrieve the coordinates of a specific contour point within a glyph outline.

GlyphExtentsDelegate

Represents a callback method that retrieves the extents (bounding box) of a glyph.

GlyphFromNameDelegate

Represents a callback method that retrieves a glyph identifier from a glyph name.

GlyphKerningDelegate

Represents a callback method that retrieves the kerning adjustment between two glyphs.

GlyphNameDelegate

A callback delegate used to retrieve the name of a glyph.

GlyphOriginDelegate

A callback delegate used to retrieve the origin coordinates of a glyph for horizontal or vertical layout.

MirroringDelegate

A callback delegate used to retrieve the mirrored glyph of a Unicode code point for bidirectional text rendering.

NominalGlyphDelegate

A callback delegate used to retrieve the nominal glyph identifier for a Unicode code point.

NominalGlyphsDelegate

A callback delegate used to map multiple Unicode code points to their nominal glyph identifiers in a single batch operation.

ReleaseDelegate

The delegate that will be invoked when a resource is ready to be discarded.

ScriptDelegate

A callback delegate used to retrieve the script of a Unicode code point.

VariationGlyphDelegate

A callback delegate used to retrieve the glyph identifier for a Unicode code point with a specific variation selector.