harfbuzz.types

D types for harfbuzz0 library

alias AatLayoutFeatureSelector AatLayoutFeatureSelectorInfo AatLayoutFeatureType Bool BufferClusterLevel BufferContentType BufferDiffFlags BufferFlags BufferMessageFunc BufferSerializeFlags BufferSerializeFormat Codepoint Color ColorLineGetColorStopsFunc ColorLineGetExtendFunc ColorStop DestroyFunc Direction DrawClosePathFunc DrawCubicToFunc DrawLineToFunc DrawMoveToFunc DrawQuadraticToFunc FontDrawGlyphFunc FontExtents FontGetFontExtentsFunc FontGetFontHExtentsFunc FontGetFontVExtentsFunc FontGetGlyphAdvanceFunc FontGetGlyphContourPointFunc FontGetGlyphExtentsFunc FontGetGlyphFromNameFunc FontGetGlyphFunc FontGetGlyphHAdvanceFunc FontGetGlyphHKerningFunc FontGetGlyphHOriginFunc FontGetGlyphKerningFunc FontGetGlyphNameFunc FontGetGlyphOriginFunc FontGetGlyphShapeFunc FontGetGlyphVAdvanceFunc FontGetGlyphVKerningFunc FontGetGlyphVOriginFunc FontGetNominalGlyphFunc FontGetVariationGlyphFunc FontPaintGlyphFunc GlyphExtents GlyphFlags Language Mask MemoryMode OtColorLayer OtColorPaletteFlags OtLayoutBaselineTag OtLayoutGlyphClass OtMathConstant OtMathGlyphPart OtMathGlyphPartFlags OtMathGlyphVariant OtMathKern OtMathKernEntry OtMetaTag OtMetricsTag OtNameId OtNameIdPredefined OtVarAxis OtVarAxisFlags OtVarAxisInfo PaintColorFunc PaintColorGlyphFunc PaintCompositeMode PaintCustomPaletteColorFunc PaintExtend PaintImageFunc PaintLinearGradientFunc PaintPopClipFunc PaintPopGroupFunc PaintPopTransformFunc PaintPushClipGlyphFunc PaintPushClipRectangleFunc PaintPushGroupFunc PaintPushTransformFunc PaintRadialGradientFunc PaintSweepGradientFunc Position ReferenceTableFunc Script StyleTag Tag UnicodeCombiningClass UnicodeCombiningClassFunc UnicodeComposeFunc UnicodeDecomposeFunc UnicodeEastasianWidthFunc UnicodeGeneralCategory UnicodeGeneralCategoryFunc UnicodeMirroringFunc UnicodeScriptFunc UserDataKey VarInt VarNum

Types 101

aliasBool = hb_bool_t
aliasCodepoint = hb_codepoint_t
aliasColor = hb_color_t
aliasMask = hb_mask_t
aliasOtNameId = hb_ot_name_id_t
aliasPosition = hb_position_t
aliasTag = hb_tag_t
aliasAatLayoutFeatureSelector = hb_aat_layout_feature_selector_t
aliasAatLayoutFeatureType = hb_aat_layout_feature_type_t
aliasBufferClusterLevel = hb_buffer_cluster_level_t
aliasBufferContentType = hb_buffer_content_type_t
aliasBufferDiffFlags = hb_buffer_diff_flags_t
aliasBufferFlags = hb_buffer_flags_t
aliasBufferSerializeFlags = hb_buffer_serialize_flags_t
aliasBufferSerializeFormat = hb_buffer_serialize_format_t
aliasDirection = hb_direction_t
aliasGlyphFlags = hb_glyph_flags_t
aliasMemoryMode = hb_memory_mode_t
aliasOtColorPaletteFlags = hb_ot_color_palette_flags_t
aliasOtLayoutBaselineTag = hb_ot_layout_baseline_tag_t
aliasOtLayoutGlyphClass = hb_ot_layout_glyph_class_t
aliasOtMathConstant = hb_ot_math_constant_t
aliasOtMathGlyphPartFlags = hb_ot_math_glyph_part_flags_t
aliasOtMathKern = hb_ot_math_kern_t
aliasOtMetaTag = hb_ot_meta_tag_t
aliasOtMetricsTag = hb_ot_metrics_tag_t
aliasOtNameIdPredefined = hb_ot_name_id_predefined_t
aliasOtVarAxisFlags = hb_ot_var_axis_flags_t
aliasPaintCompositeMode = hb_paint_composite_mode_t
aliasPaintExtend = hb_paint_extend_t
aliasScript = hb_script_t
aliasStyleTag = hb_style_tag_t
aliasUnicodeCombiningClass = hb_unicode_combining_class_t
aliasUnicodeGeneralCategory = hb_unicode_general_category_t
aliasAatLayoutFeatureSelectorInfo = hb_aat_layout_feature_selector_info_t
aliasColorStop = hb_color_stop_t
aliasFontExtents = hb_font_extents_t
aliasGlyphExtents = hb_glyph_extents_t
aliasLanguage = hb_language_t
aliasOtColorLayer = hb_ot_color_layer_t
aliasOtMathGlyphPart = hb_ot_math_glyph_part_t
aliasOtMathGlyphVariant = hb_ot_math_glyph_variant_t
aliasOtMathKernEntry = hb_ot_math_kern_entry_t
aliasOtVarAxis = hb_ot_var_axis_t
aliasOtVarAxisInfo = hb_ot_var_axis_info_t
aliasUserDataKey = hb_user_data_key_t
aliasVarInt = hb_var_int_t
aliasVarNum = hb_var_num_t

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.

Parameters

bufferAn #hb_buffer_t to work upon
fontThe #hb_font_t the buffer is shaped with
messageNULL-terminated message passed to the function

Returns

true to perform the shaping step, false to skip it.
aliasColorLineGetColorStopsFunc = uint delegate(harfbuzz.color_line.ColorLine colorLine, void * colorLineData, uint start, ref harfbuzz.types.ColorStop[] colorStops)

A virtual method for the #hb_color_line_t to fetch color stops.

Parameters

colorLinea #hb_color_line_t object
colorLineDatathe data accompanying color_line
startthe index of the first color stop to return
colorStopsArray of #hb_color_stop_t to populate

Returns

the total number of color stops in color_line

A virtual method for the hb_color_line_t to fetches the extend mode.

Parameters

colorLinea #hb_color_line_t object
colorLineDatathe data accompanying color_line

Returns

the extend mode of color_line
aliasDestroyFunc = void delegate()

A virtual method for destroy user-data callbacks.

aliasDrawClosePathFunc = void delegate(harfbuzz.draw_funcs.DrawFuncs dfuncs, void * drawData, harfbuzz.draw_state.DrawState st)

A virtual method for the #hb_draw_funcs_t to perform a "close-path" draw operation.

Parameters

dfuncsdraw functions object
drawDataThe data accompanying the draw functions in [harfbuzz.global.fontDrawGlyph]
stcurrent draw state
aliasDrawCubicToFunc = void delegate(harfbuzz.draw_funcs.DrawFuncs dfuncs, void * drawData, harfbuzz.draw_state.DrawState st, float control1X, float control1Y, float control2X, float control2Y, float toX, float toY)

A virtual method for the #hb_draw_funcs_t to perform a "cubic-to" draw operation.

Parameters

dfuncsdraw functions object
drawDataThe data accompanying the draw functions in [harfbuzz.global.fontDrawGlyph]
stcurrent draw state
control1XX component of first control point
control1YY component of first control point
control2XX component of second control point
control2YY component of second control point
toXX component of target point
toYY component of target point
aliasDrawLineToFunc = void delegate(harfbuzz.draw_funcs.DrawFuncs dfuncs, void * drawData, harfbuzz.draw_state.DrawState st, float toX, float toY)

A virtual method for the #hb_draw_funcs_t to perform a "line-to" draw operation.

Parameters

dfuncsdraw functions object
drawDataThe data accompanying the draw functions in [harfbuzz.global.fontDrawGlyph]
stcurrent draw state
toXX component of target point
toYY component of target point
aliasDrawMoveToFunc = void delegate(harfbuzz.draw_funcs.DrawFuncs dfuncs, void * drawData, harfbuzz.draw_state.DrawState st, float toX, float toY)

A virtual method for the #hb_draw_funcs_t to perform a "move-to" draw operation.

Parameters

dfuncsdraw functions object
drawDataThe data accompanying the draw functions in [harfbuzz.global.fontDrawGlyph]
stcurrent draw state
toXX component of target point
toYY component of target point
aliasDrawQuadraticToFunc = void delegate(harfbuzz.draw_funcs.DrawFuncs dfuncs, void * drawData, harfbuzz.draw_state.DrawState st, float controlX, float controlY, float toX, float toY)

A virtual method for the #hb_draw_funcs_t to perform a "quadratic-to" draw operation.

Parameters

dfuncsdraw functions object
drawDataThe data accompanying the draw functions in [harfbuzz.global.fontDrawGlyph]
stcurrent draw state
controlXX component of control point
controlYY component of control point
toXX component of target point
toYY component of target point
aliasFontDrawGlyphFunc = void delegate(harfbuzz.font.Font font, void * fontData, harfbuzz.types.Codepoint glyph, harfbuzz.draw_funcs.DrawFuncs drawFuncs, void * drawData)

A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

Parameters

font#hb_font_t to work upon
fontDatafont user data pointer
glyphThe glyph ID to query
drawFuncsThe draw functions to send the shape data to
drawDataThe data accompanying the draw functions

This method should retrieve the extents for a font.

Parameters

font#hb_font_t to work upon
fontDatafont user data pointer
extentsThe font extents retrieved

Returns

A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the advance for a specified glyph. The method must return an #hb_position_t.

Parameters

font#hb_font_t to work upon
fontDatafont user data pointer
glyphThe glyph ID to query

Returns

The advance of glyph within font

A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the (X,Y) coordinates (in font units) for a specified contour point in a glyph. Each coordinate must be returned as an #hb_position_t output parameter.

Parameters

font#hb_font_t to work upon
fontDatafont user data pointer
glyphThe glyph ID to query
pointIndexThe contour-point index to query
xThe X value retrieved for the contour point
yThe Y value retrieved for the contour point

Returns

true if data found, false otherwise

A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the extents for a specified glyph. Extents must be returned in an #hb_glyph_extents output parameter.

Parameters

font#hb_font_t to work upon
fontDatafont user data pointer
glyphThe glyph ID to query
extentsThe #hb_glyph_extents_t retrieved

Returns

true if data found, false otherwise
aliasFontGetGlyphFromNameFunc = harfbuzz.types.Bool delegate(harfbuzz.font.Font font, void * fontData, char[] name, out harfbuzz.types.Codepoint glyph)

A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the glyph ID that corresponds to a glyph-name string.

Parameters

font#hb_font_t to work upon
fontDatafont user data pointer
nameThe name string to query
glyphThe glyph ID retrieved

Returns

true if data found, false otherwise

A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the glyph ID for a specified Unicode code point font, with an optional variation selector.

Parameters

font#hb_font_t to work upon
fontDatafont user data pointer
unicodeThe Unicode code point to query
variationSelectorThe variation-selector code point to query
glyphThe glyph ID retrieved

Returns

true if data found, false otherwise

This method should retrieve the kerning-adjustment value for a glyph-pair in the specified font, for horizontal text segments.

Parameters

font#hb_font_t to work upon
fontDatafont user data pointer
firstGlyphThe glyph ID of the first glyph in the glyph pair
secondGlyphThe glyph ID of the second glyph in the glyph pair

Returns

aliasFontGetGlyphNameFunc = harfbuzz.types.Bool delegate(harfbuzz.font.Font font, void * fontData, harfbuzz.types.Codepoint glyph, ref char[] name)

A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the glyph name that corresponds to a glyph ID. The name should be returned in a string output parameter.

Parameters

font#hb_font_t to work upon
fontDatafont user data pointer
glyphThe glyph ID to query
nameName string retrieved for the glyph ID

Returns

true if data found, false otherwise

A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the (X,Y) coordinates (in font units) of the origin for a glyph. Each coordinate must be returned in an #hb_position_t output parameter.

Parameters

font#hb_font_t to work upon
fontDatafont user data pointer
glyphThe glyph ID to query
xThe X coordinate of the origin
yThe Y coordinate of the origin

Returns

true if data found, false otherwise
aliasFontGetGlyphShapeFunc = void delegate(harfbuzz.font.Font font, void * fontData, harfbuzz.types.Codepoint glyph, harfbuzz.draw_funcs.DrawFuncs drawFuncs, void * drawData)

A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

Parameters

font#hb_font_t to work upon
fontDatafont user data pointer
glyphThe glyph ID to query
drawFuncsThe draw functions to send the shape data to
drawDataThe data accompanying the draw functions

Deprecated

Use #hb_font_draw_glyph_func_t instead

A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the nominal glyph ID for a specified Unicode code point. Glyph IDs must be returned in a #hb_codepoint_t output parameter.

Parameters

font#hb_font_t to work upon
fontDatafont user data pointer
unicodeThe Unicode code point to query
glyphThe glyph ID retrieved

Returns

true if data found, false otherwise

A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the glyph ID for a specified Unicode code point followed by a specified Variation Selector code point. Glyph IDs must be returned in a #hb_codepoint_t output parameter.

Parameters

font#hb_font_t to work upon
fontDatafont user data pointer
unicodeThe Unicode code point to query
variationSelectorThe variation-selector code point to query
glyphThe glyph ID retrieved

Returns

true if data found, false otherwise
aliasFontPaintGlyphFunc = void delegate(harfbuzz.font.Font font, void * fontData, harfbuzz.types.Codepoint glyph, harfbuzz.paint_funcs.PaintFuncs paintFuncs, void * paintData, uint paletteIndex, harfbuzz.types.Color foreground)

A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

Parameters

font#hb_font_t to work upon
fontDatafont user data pointer
glyphThe glyph ID to query
paintFuncsThe paint functions to use
paintDataThe data accompanying the paint functions
paletteIndexThe color palette to use
foregroundThe foreground color
aliasPaintColorFunc = void delegate(harfbuzz.paint_funcs.PaintFuncs funcs, void * paintData, harfbuzz.types.Bool isForeground, harfbuzz.types.Color color)

A virtual method for the #hb_paint_funcs_t to paint a color everywhere within the current clip.

Parameters

funcspaint functions object
paintDataThe data accompanying the paint functions in [harfbuzz.global.fontPaintGlyph]
isForegroundwhether the color is the foreground
colorThe color to use, unpremultiplied

A virtual method for the #hb_paint_funcs_t to render a color glyph by glyph index.

Parameters

funcspaint functions object
paintDataThe data accompanying the paint functions in [harfbuzz.global.fontPaintGlyph]
glyphthe glyph ID
fontthe font

Returns

true if the glyph was painted, false otherwise.
aliasPaintCustomPaletteColorFunc = harfbuzz.types.Bool delegate(harfbuzz.paint_funcs.PaintFuncs funcs, void * paintData, uint colorIndex, out harfbuzz.types.Color color)

A virtual method for the #hb_paint_funcs_t to fetch a color from the custom color palette.

Custom palette colors override the colors from the fonts selected color palette. It is not necessary to override all palette entries; for entries that should be taken from the font palette, return false.

This function might get called multiple times, but the custom palette is expected to remain unchanged for duration of a [harfbuzz.global.fontPaintGlyph] call.

Parameters

funcspaint functions object
paintDataThe data accompanying the paint functions in [harfbuzz.global.fontPaintGlyph]
colorIndexthe color index
colorfetched color

Returns

true if found, false otherwise
aliasPaintImageFunc = harfbuzz.types.Bool delegate(harfbuzz.paint_funcs.PaintFuncs funcs, void * paintData, harfbuzz.blob.Blob image, uint width, uint height, harfbuzz.types.Tag format, float slant, harfbuzz.types.GlyphExtents extents)

A virtual method for the #hb_paint_funcs_t to paint a glyph image.

This method is called for glyphs with image blobs in the CBDT, sbix or SVG tables. The format identifies the kind of data that is contained in image. Possible values include #HB_PAINT_IMAGE_FORMAT_PNG, #HB_PAINT_IMAGE_FORMAT_SVG and #HB_PAINT_IMAGE_FORMAT_BGRA.

The image dimensions and glyph extents are provided if available, and should be used to size and position the image.

Parameters

funcspaint functions object
paintDataThe data accompanying the paint functions in [harfbuzz.global.fontPaintGlyph]
imagethe image data
widthwidth of the raster image in pixels, or 0
heightheight of the raster image in pixels, or 0
formatthe image format as a tag
slantthe synthetic slant ratio to be applied to the image during rendering
extentsglyph extents for desired rendering

Returns

Whether the operation was successful.
aliasPaintLinearGradientFunc = void delegate(harfbuzz.paint_funcs.PaintFuncs funcs, void * paintData, harfbuzz.color_line.ColorLine colorLine, float x0, float y0, float x1, float y1, float x2, float y2)

A virtual method for the #hb_paint_funcs_t to paint a linear gradient everywhere within the current clip.

The color_line object contains information about the colors of the gradients. It is only valid for the duration of the callback, you cannot keep it around.

The coordinates of the points are interpreted according to the current transform.

See the OpenType spec COLR section for details on how the points define the direction of the gradient, and how to interpret the color_line.

Parameters

funcspaint functions object
paintDataThe data accompanying the paint functions in [harfbuzz.global.fontPaintGlyph]
colorLineColor information for the gradient
x0X coordinate of the first point
y0Y coordinate of the first point
x1X coordinate of the second point
y1Y coordinate of the second point
x2X coordinate of the third point
y2Y coordinate of the third point
aliasPaintPopClipFunc = void delegate(harfbuzz.paint_funcs.PaintFuncs funcs, void * paintData)

A virtual method for the #hb_paint_funcs_t to undo the effect of a prior call to the #hb_paint_funcs_push_clip_glyph_func_t or #hb_paint_funcs_push_clip_rectangle_func_t vfuncs.

Parameters

funcspaint functions object
paintDataThe data accompanying the paint functions in [harfbuzz.global.fontPaintGlyph]
aliasPaintPopGroupFunc = void delegate(harfbuzz.paint_funcs.PaintFuncs funcs, void * paintData, harfbuzz.types.PaintCompositeMode mode)

A virtual method for the #hb_paint_funcs_t to undo the effect of a prior call to the #hb_paint_funcs_push_group_func_t vfunc.

This call stops the redirection to the intermediate surface, and then composites it on the previous surface, using the compositing mode passed to this call.

Parameters

funcspaint functions object
paintDataThe data accompanying the paint functions in [harfbuzz.global.fontPaintGlyph]
modethe compositing mode to use
aliasPaintPopTransformFunc = void delegate(harfbuzz.paint_funcs.PaintFuncs funcs, void * paintData)

A virtual method for the #hb_paint_funcs_t to undo the effect of a prior call to the #hb_paint_funcs_push_transform_func_t vfunc.

Parameters

funcspaint functions object
paintDataThe data accompanying the paint functions in [harfbuzz.global.fontPaintGlyph]

A virtual method for the #hb_paint_funcs_t to clip subsequent paint calls to the outline of a glyph.

The coordinates of the glyph outline are interpreted according to the current transform.

This clip is applied in addition to the current clip, and remains in effect until a matching call to the #hb_paint_funcs_pop_clip_func_t vfunc.

Parameters

funcspaint functions object
paintDataThe data accompanying the paint functions in [harfbuzz.global.fontPaintGlyph]
glyphthe glyph ID
fontthe font
aliasPaintPushClipRectangleFunc = void delegate(harfbuzz.paint_funcs.PaintFuncs funcs, void * paintData, float xmin, float ymin, float xmax, float ymax)

A virtual method for the #hb_paint_funcs_t to clip subsequent paint calls to a rectangle.

The coordinates of the rectangle are interpreted according to the current transform.

This clip is applied in addition to the current clip, and remains in effect until a matching call to the #hb_paint_funcs_pop_clip_func_t vfunc.

Parameters

funcspaint functions object
paintDataThe data accompanying the paint functions in [harfbuzz.global.fontPaintGlyph]
xminmin X for the rectangle
yminmin Y for the rectangle
xmaxmax X for the rectangle
ymaxmax Y for the rectangle
aliasPaintPushGroupFunc = void delegate(harfbuzz.paint_funcs.PaintFuncs funcs, void * paintData)

A virtual method for the #hb_paint_funcs_t to use an intermediate surface for subsequent paint calls.

The drawing will be redirected to an intermediate surface until a matching call to the #hb_paint_funcs_pop_group_func_t vfunc.

Parameters

funcspaint functions object
paintDataThe data accompanying the paint functions in [harfbuzz.global.fontPaintGlyph]
aliasPaintPushTransformFunc = void delegate(harfbuzz.paint_funcs.PaintFuncs funcs, void * paintData, float xx, float yx, float xy, float yy, float dx, float dy)

A virtual method for the #hb_paint_funcs_t to apply a transform to subsequent paint calls.

This transform is applied after the current transform, and remains in effect until a matching call to the #hb_paint_funcs_pop_transform_func_t vfunc.

Parameters

funcspaint functions object
paintDataThe data accompanying the paint functions in [harfbuzz.global.fontPaintGlyph]
xxxx component of the transform matrix
yxyx component of the transform matrix
xyxy component of the transform matrix
yyyy component of the transform matrix
dxdx component of the transform matrix
dydy component of the transform matrix
aliasPaintRadialGradientFunc = void delegate(harfbuzz.paint_funcs.PaintFuncs funcs, void * paintData, harfbuzz.color_line.ColorLine colorLine, float x0, float y0, float r0, float x1, float y1, float r1)

A virtual method for the #hb_paint_funcs_t to paint a radial gradient everywhere within the current clip.

The color_line object contains information about the colors of the gradients. It is only valid for the duration of the callback, you cannot keep it around.

The coordinates of the points are interpreted according to the current transform.

See the OpenType spec COLR section for details on how the points define the direction of the gradient, and how to interpret the color_line.

Parameters

funcspaint functions object
paintDataThe data accompanying the paint functions in [harfbuzz.global.fontPaintGlyph]
colorLineColor information for the gradient
x0X coordinate of the first circle's center
y0Y coordinate of the first circle's center
r0radius of the first circle
x1X coordinate of the second circle's center
y1Y coordinate of the second circle's center
r1radius of the second circle
aliasPaintSweepGradientFunc = void delegate(harfbuzz.paint_funcs.PaintFuncs funcs, void * paintData, harfbuzz.color_line.ColorLine colorLine, float x0, float y0, float startAngle, float endAngle)

A virtual method for the #hb_paint_funcs_t to paint a sweep gradient everywhere within the current clip.

The color_line object contains information about the colors of the gradients. It is only valid for the duration of the callback, you cannot keep it around.

The coordinates of the points are interpreted according to the current transform.

See the OpenType spec COLR section for details on how the points define the direction of the gradient, and how to interpret the color_line.

Parameters

funcspaint functions object
paintDataThe data accompanying the paint functions in [harfbuzz.global.fontPaintGlyph]
colorLineColor information for the gradient
x0X coordinate of the circle's center
y0Y coordinate of the circle's center
startAnglethe start angle, in radians
endAnglethe end angle, in radians

Callback function for [harfbuzz.global.faceCreateForTables].

Parameters

facean #hb_face_t to reference table for
tagthe tag of the table to reference

Returns

A pointer to the tag table within face

A virtual method for the #hb_unicode_funcs_t structure.

This method should retrieve the Canonical Combining Class (ccc) property for a specified Unicode code point.

Parameters

ufuncsA Unicode-functions structure
unicodeThe code point to query

Returns

The #hb_unicode_combining_class_t of unicode

A virtual method for the #hb_unicode_funcs_t structure.

This method should compose a sequence of two input Unicode code points by canonical equivalence, returning the composed code point in a #hb_codepoint_t output parameter (if successful). The method must return an #hb_bool_t indicating the success of the composition.

Parameters

ufuncsA Unicode-functions structure
aThe first code point to compose
bThe second code point to compose
abThe composed code point

Returns

true is a,b composed, false otherwise

A virtual method for the #hb_unicode_funcs_t structure.

This method should decompose an input Unicode code point, returning the two decomposed code points in #hb_codepoint_t output parameters (if successful). The method must return an #hb_bool_t indicating the success of the composition.

Parameters

ufuncsA Unicode-functions structure
abThe code point to decompose
aThe first decomposed code point
bThe second decomposed code point

Returns

true if ab decomposed, false otherwise

A virtual method for the #hb_unicode_funcs_t structure.

Parameters

ufuncsA Unicode-functions structure
unicodeThe code point to query

Returns

A virtual method for the #hb_unicode_funcs_t structure.

This method should retrieve the General Category property for a specified Unicode code point.

Parameters

ufuncsA Unicode-functions structure
unicodeThe code point to query

Returns

The #hb_unicode_general_category_t of unicode

A virtual method for the #hb_unicode_funcs_t structure.

This method should retrieve the Bi-Directional Mirroring Glyph code point for a specified Unicode code point.

<note>

Note

If a code point does not have a specified

Bi-Directional Mirroring Glyph defined, the method should return the original code point.</note>

Parameters

ufuncsA Unicode-functions structure
unicodeThe code point to query

Returns

The #hb_codepoint_t of the Mirroring Glyph for unicode

A virtual method for the #hb_unicode_funcs_t structure.

This method should retrieve the Script property for a specified Unicode code point.

Parameters

ufuncsA Unicode-functions structure
unicodeThe code point to query

Returns

The #hb_script_t of unicode

Variables 20

enumvarAAT_LAYOUT_NO_SELECTOR_INDEX = 65535

Used when getting or setting AAT feature selectors. Indicates that there is no selector index corresponding to the selector of interest.

enumvarBUFFER_REPLACEMENT_CODEPOINT_DEFAULT = 65533

The default code point for replacing invalid characters in a given encoding. Set to U+FFFD REPLACEMENT CHARACTER.

enumvarCODEPOINT_INVALID = 4294967295

Unused #hb_codepoint_t value.

enumvarFEATURE_GLOBAL_START = 0

Special setting for #hb_feature_t.start to apply the feature from the start of the buffer.

enumvarFONT_NO_VAR_NAMED_INSTANCE = 4294967295

Constant signifying that a font does not have any named-instance index set. This is the default of a font.

enumvarLANGUAGE_INVALID = 0

An unset #hb_language_t.

enumvarOT_LAYOUT_DEFAULT_LANGUAGE_INDEX = 65535

Special value for language index indicating default or unsupported language.

enumvarOT_LAYOUT_NO_FEATURE_INDEX = 65535

Special value for feature index indicating unsupported feature.

enumvarOT_LAYOUT_NO_SCRIPT_INDEX = 65535

Special value for script index indicating unsupported script.

enumvarOT_LAYOUT_NO_VARIATIONS_INDEX = 4294967295

Special value for variations index indicating unsupported variation.

enumvarOT_MAX_TAGS_PER_LANGUAGE = 3

Maximum number of OpenType tags that can correspond to a give #hb_language_t.

enumvarOT_MAX_TAGS_PER_SCRIPT = 3

Maximum number of OpenType tags that can correspond to a give #hb_script_t.

enumvarOT_VAR_NO_AXIS_INDEX = 4294967295

Do not use.

enumvarUNICODE_COMBINING_CLASS_CCC133 = 133

[Tibetan]

enumvarUNICODE_MAX = 1114111

Maximum valid Unicode code point.

enumvarUNICODE_MAX_DECOMPOSITION_LEN = 19

See Unicode 6.1 for details on the maximum decomposition length.

enumvarVERSION_MAJOR = 8
enumvarVERSION_MICRO = 0
enumvarVERSION_MINOR = 3
enumvarVERSION_STRING = "8.3.0"