Basics

Guides

API Reference

Menu

Basics

Guides

API Reference

class: HarfBuzzFontgetglyphnamefunctCallback

[1433:7] extends: object

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.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzFontgetglyphnamefunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (font, font_data, glyph, name, size, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzFontgetglyphfunctCallback

[1282:7] extends: object

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.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzFontgetglyphfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (font, font_data, unicode, variation_selector, glyph, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzDrawlinetofunctCallback

[450:7] extends: object

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

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzDrawlinetofunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (dfuncs, draw_data, st, to_x, to_y, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzFontgetvariationglyphfunctCallback

[1922:7] extends: object

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.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzFontgetvariationglyphfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (font, font_data, unicode, variation_selector, glyph, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzFontgetglyphoriginsfunctCallback

[1604:7] extends: object

A virtual method for the #hb_font_funcs_t of an #hb_font_t object. This method should retrieve the (X,Y) coordinates (in scaled units) of the origin for each requested glyph. Each coordinate value must be returned in an #hb_position_t in the two output parameters.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzFontgetglyphoriginsfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (font, font_data, count, first_glyph, glyph_stride, first_x, x_stride, first_y, y_stride, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzColorlinegetcolorstopsfunctCallback

[87:7] extends: object

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

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzColorlinegetcolorstopsfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (color_line, color_line_data, start, count, color_stops, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzUnicodeeastasianwidthfunctCallback

[3743:7] extends: object

A virtual method for the #hb_unicode_funcs_t structure.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzUnicodeeastasianwidthfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (ufuncs, unicode, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzUnicodegeneralcategoryfunctCallback

[3814:7] extends: object

A virtual method for the #hb_unicode_funcs_t structure. This method should retrieve the General Category property for a specified Unicode code point.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzUnicodegeneralcategoryfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (ufuncs, unicode, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzPaintimagefunctCallback

[2454:7] extends: object

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.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzPaintimagefunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (funcs, paint_data, image, width, height, format, slant, extents, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzFontgetfontextentsfunctCallback

[804:7] extends: object

This method should retrieve the extents for a font.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzFontgetfontextentsfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (font, font_data, extents, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzPaintlineargradientfunctCallback

[2532:7] extends: object

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.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzPaintlineargradientfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (funcs, paint_data, color_line, x0, y0, x1, y1, x2, y2, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzPaintpushgroupfunctCallback

[3047:7] extends: object

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.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzPaintpushgroupfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (funcs, paint_data, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzPaintpopclipfunctCallback

[2605:7] extends: object

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.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzPaintpopclipfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (funcs, paint_data, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzDrawclosepathfunctCallback

[308:7] extends: object

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

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzDrawclosepathfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (dfuncs, draw_data, st, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzDrawmovetofunctCallback

[521:7] extends: object

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

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzDrawmovetofunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (dfuncs, draw_data, st, to_x, to_y, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzPaintcustompalettecolorfunctCallback

[2371:7] extends: object

A virtual method for #hb_paint_funcs_t to fetch a custom palette override color for @color_index. Custom palette colors override colors from the font's selected color palette. It is not necessary to override all palette entries; return false for entries that should be taken from the font palette. This function might be called multiple times, but the custom palette is expected to remain unchanged for the duration of one hb_font_paint_glyph() call.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzPaintcustompalettecolorfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (funcs, paint_data, color_index, color, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzFontgetglyphadvancesfunctCallback

[955:7] extends: object

A virtual method for the #hb_font_funcs_t of an #hb_font_t object. This method should retrieve the advances for a sequence of glyphs.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzFontgetglyphadvancesfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (font, font_data, count, first_glyph, glyph_stride, first_advance, advance_stride, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzPaintpushtransformfunctCallback

[3120:7] extends: object

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.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzPaintpushtransformfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (funcs, paint_data, xx, yx, xy, yy, dx, dy, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzApi

[4029:14] static extends: object

Generated low-level function wrappers for namespace HarfBuzz.

Members

  • lib

Methods

  • getLib ()

  • aat_layout_feature_type_get_selector_infos (object face, string feature_type, int start_offset, int default_index)

    Fetches a list of the selectors available for the specified feature in the given face. If upon return, @default_index is set to #HB_AAT_LAYOUT_NO_SELECTOR_INDEX, then the feature type is non-exclusive. Otherwise, @default_index is the index of the selector that is selected by default.

    • @r A map with the materialized list and the total count under result.
  • aat_layout_get_feature_types (object face, int start_offset)

    Fetches a list of the AAT feature types included in the specified face.

    • @r A map with the materialized list and the total count under result.
  • blob_copy_writable_or_fail (object blob)

    Makes a writable copy of @blob.

    • @p blob is A blob..
    • @r The new blob, or nullptr if allocation failed.
  • blob_create (string data, int length, string mode, user_data, object destroy)

    Creates a new "blob" object wrapping @data. The @mode parameter is used to negotiate ownership and lifecycle of @data.

    • @p data is Pointer to blob data..
    • @p length is Length of @data in bytes..
    • @p mode is Memory mode for @data..
    • @p user_data is Data parameter to pass to @destroy..
    • @p destroy is Callback to call when @data is not needed anymore..
    • @r New blob, or the empty blob if something failed or if @length is zero. Destroy with hb_blob_destroy()..
  • blob_create_from_file (string file_name)

    Creates a new blob containing the data from the specified binary font file. The filename is passed directly to the system on all platforms, except on Windows, where the filename is interpreted as UTF-8. Only if the filename is not valid UTF-8, it will be interpreted according to the system codepage.

    • @p file_name is A font filename.
    • @r An #hb_blob_t pointer with the content of the file, or hb_blob_get_empty() if failed..
  • blob_create_from_file_or_fail (string file_name)

    Creates a new blob containing the data from the specified file. The filename is passed directly to the system on all platforms, except on Windows, where the filename is interpreted as UTF-8. Only if the filename is not valid UTF-8, it will be interpreted according to the system codepage.

    • @p file_name is A filename.
    • @r An #hb_blob_t pointer with the content of the file, or NULL if failed..
  • blob_create_or_fail (string data, int length, string mode, user_data, object destroy)

    Creates a new "blob" object wrapping @data. The @mode parameter is used to negotiate ownership and lifecycle of @data. Note that this function returns a freshly-allocated empty blob even if @length is zero. This is in contrast to hb_blob_create(), which returns the singleton empty blob (as returned by hb_blob_get_empty()) if @length is zero.

    • @p data is Pointer to blob data..
    • @p length is Length of @data in bytes..
    • @p mode is Memory mode for @data..
    • @p user_data is Data parameter to pass to @destroy..
    • @p destroy is Callback to call when @data is not needed anymore..
    • @r New blob, or NULL if failed. Destroy with hb_blob_destroy()..
  • blob_create_sub_blob (object parent, int offset, int length)

    Returns a blob that represents a range of bytes in @parent. The new blob is always created with #HB_MEMORY_MODE_READONLY, meaning that it will never modify data in the parent blob. The parent data is not expected to be modified, and will result in undefined behavior if it is. Makes

    • @parent immutable.
    • @p parent is Parent blob..
    • @p offset is Start offset of sub-blob within @parent, in bytes..
    • @p length is Length of sub-blob..
    • @r New blob, or the empty blob if something failed or if @length is zero or @offset is beyond the end of @parent's data. Destroy with hb_blob_destroy()..
  • blob_destroy (object blob)

    Decreases the reference count on @blob, and if it reaches zero, destroys

    • @blob, freeing all memory, possibly calling the destroy-callback the blob was created for if it has not been called already. See TODO:link object types for more information.
    • @p blob is a blob..
    • @r None.
  • blob_get_data (object blob)

    Fetches the data from a blob.

    • @p blob is a blob..
    • @p length is The length in bytes of the data retrieved.
    • @r the byte data of @blob..
  • blob_get_data_writable (object blob)

    Tries to make blob data writable (possibly copying it) and return pointer to data. Fails if blob has been made immutable, or if memory allocation fails.

    • @p blob is a blob..
    • @p length is output length of the writable data..
    • @r Writable blob data, or NULL if failed..
  • blob_get_empty ()

    Returns the singleton empty blob. See TODO:link object types for more information.

    • @r The empty blob..
  • blob_get_length (object blob)

    Fetches the length of a blob's data.

    • @p blob is a blob..
    • @r the length of @blob data in bytes..
  • blob_get_user_data (object blob, key)

    Fetches the user data associated with the specified key, attached to the specified font-functions structure.

    • @p blob is a blob.
    • @p key is The user-data key to query.
    • @r A pointer to the user data.
  • blob_make_immutable (object blob)

    Makes a blob immutable.

    • @p blob is a blob.
    • @r None.
  • blob_reference (object blob)

    Increases the reference count on @blob. See TODO:link object types for more information.

    • @p blob is a blob..
    • @r @blob..
  • buffer_add_latin1 (object buffer, list text, int item_offset, int item_length)

    Similar to hb_buffer_add_codepoints(), but allows only access to first 256 Unicode code points that can fit in 8-bit strings. Has nothing to do with non-Unicode Latin-1 encoding.

    • @p buffer is An #hb_buffer_t.
    • @p text is an array of UTF-8 characters to append.
    • @p text_length is the length of the @text, or -1 if it is NULL terminated.
    • @p item_offset is the offset of the first character to add to the
    • @buffer. ``
    • @p item_length is the number of characters to add to the @buffer, or -1 for the end of @text (assuming it is NULL terminated).
    • @r None.
  • buffer_add_utf16 (object buffer, list text, int item_offset, int item_length)

    See hb_buffer_add_codepoints(). Replaces invalid UTF-16 characters with the @buffer replacement code point, see hb_buffer_set_replacement_codepoint().

    • @p buffer is An #hb_buffer_t.
    • @p text is An array of UTF-16 characters to append.
    • @p text_length is The length of the @text, or -1 if it is NULL terminated.
    • @p item_offset is The offset of the first character to add to the
    • @buffer. ``
    • @p item_length is The number of characters to add to the @buffer, or -1 for the end of @text (assuming it is NULL terminated).
    • @r None.
  • buffer_add_utf32 (object buffer, list text, int item_offset, int item_length)

    See hb_buffer_add_codepoints(). Replaces invalid UTF-32 characters with the @buffer replacement code point, see hb_buffer_set_replacement_codepoint().

    • @p buffer is An #hb_buffer_t.
    • @p text is An array of UTF-32 characters to append.
    • @p text_length is The length of the @text, or -1 if it is NULL terminated.
    • @p item_offset is The offset of the first character to add to the
    • @buffer. ``
    • @p item_length is The number of characters to add to the @buffer, or -1 for the end of @text (assuming it is NULL terminated).
    • @r None.
  • buffer_add_utf8 (object buffer, list text, int item_offset, int item_length)

    See hb_buffer_add_codepoints(). Replaces invalid UTF-8 characters with the @buffer replacement code point, see hb_buffer_set_replacement_codepoint().

    • @p buffer is An #hb_buffer_t.
    • @p text is An array of UTF-8 characters to append..
    • @p text_length is The length of the @text, or -1 if it is NULL terminated..
    • @p item_offset is The offset of the first character to add to the
    • @buffer.. ``
    • @p item_length is The number of characters to add to the @buffer, or -1 for the end of @text (assuming it is NULL terminated)..
    • @r None.
  • buffer_append (object buffer, object source, int start, int end)

    Append (part of) contents of another buffer to this buffer.

    • @p buffer is An #hb_buffer_t.
    • @p source is source #hb_buffer_t.
    • @p start is start index into source buffer to copy. Use 0 to copy from start of buffer..
    • @p end is end index into source buffer to copy. Use @UINT_MAX (or ((unsigned int) -1)) to copy to end of buffer..
    • @r None.
  • buffer_changed (object buffer)

    Called by a message callback after modifying buffer glyph indices, to update internal caches. If not called from inside a message callback, does nothing.

    • @p buffer is An #hb_buffer_t.
    • @r None.
  • buffer_clear_contents (object buffer)

    Similar to hb_buffer_reset(), but does not clear the Unicode functions and the replacement code point.

    • @p buffer is An #hb_buffer_t.
    • @r None.
  • buffer_create ()

    Creates a new #hb_buffer_t with all properties to defaults.

    • @r A newly allocated #hb_buffer_t with a reference count of 1. The initial reference count should be released with hb_buffer_destroy() when you are done using the #hb_buffer_t. This function never returns NULL. If memory cannot be allocated, a special #hb_buffer_t object will be returned on which hb_buffer_allocation_successful() returns false..
  • buffer_create_similar (object src)

    Creates a new #hb_buffer_t, similar to hb_buffer_create(). The only difference is that the buffer is configured similarly to @src.

    • @p src is An #hb_buffer_t.
    • @r A newly allocated #hb_buffer_t, similar to hb_buffer_create()..
  • buffer_destroy (object buffer)

    Deallocate the @buffer. Decreases the reference count on @buffer by one. If the result is zero, then @buffer and all associated resources are freed. See hb_buffer_reference().

    • @p buffer is An #hb_buffer_t.
    • @r None.
  • buffer_get_cluster_level (object buffer)

    Fetches the cluster level of a buffer. The #hb_buffer_cluster_level_t dictates one aspect of how HarfBuzz will treat non-base characters during shaping.

    • @p buffer is An #hb_buffer_t.
    • @r The cluster level of @buffer.
  • buffer_get_content_type (object buffer)

    Fetches the type of @buffer contents. Buffers are either empty, contain characters (before shaping), or contain glyphs (the result of shaping).

    • @p buffer is An #hb_buffer_t.
    • @r The type of @buffer contents.
  • buffer_get_direction (object buffer)

    See hb_buffer_set_direction()

    • @p buffer is An #hb_buffer_t.
    • @r The direction of the @buffer..
  • buffer_get_empty ()

    Fetches an empty #hb_buffer_t.

    • @r The empty buffer.
  • buffer_get_flags (object buffer)

    Fetches the #hb_buffer_flags_t of @buffer.

    • @p buffer is An #hb_buffer_t.
    • @r The @buffer flags.
  • buffer_get_glyph_infos (object buffer)

    Returns @buffer glyph information array. Returned pointer is valid as long as @buffer contents are not modified.

    • @p buffer is An #hb_buffer_t.
    • @p length is The output-array length..
    • @r The @buffer glyph information array. The value valid as long as buffer has not been modified..
  • buffer_get_glyph_positions (object buffer)

    Returns @buffer glyph position array. Returned pointer is valid as long as @buffer contents are not modified. If buffer did not have positions before, the positions will be initialized to zeros, unless this function is called from within a buffer message callback (see hb_buffer_set_message_func()), in which case NULL is returned.

    • @p buffer is An #hb_buffer_t.
    • @p length is The output length.
    • @r The @buffer glyph position array. The value valid as long as buffer has not been modified..
  • buffer_get_language (object buffer)

    See hb_buffer_set_language().

    • @p buffer is An #hb_buffer_t.
    • @r The #hb_language_t of the buffer. Must not be freed by the caller..
  • buffer_get_length (object buffer)

    Returns the number of items in the buffer.

    • @p buffer is An #hb_buffer_t.
    • @r The @buffer length. The value valid as long as buffer has not been modified..
  • buffer_get_random_state (object buffer)

    See hb_buffer_set_random_state().

    • @p buffer is An #hb_buffer_t.
    • @r The @buffer random state.
  • buffer_get_script (object buffer)

    Fetches the script of @buffer.

    • @p buffer is An #hb_buffer_t.
    • @r The #hb_script_t of the @buffer.
  • buffer_get_unicode_funcs (object buffer)

    Fetches the Unicode-functions structure of a buffer.

    • @p buffer is An #hb_buffer_t.
    • @r The Unicode-functions structure.
  • buffer_get_user_data (object buffer, key)

    Fetches the user data associated with the specified key, attached to the specified buffer.

    • @p buffer is An #hb_buffer_t.
    • @p key is The user-data key to query.
    • @r A pointer to the user data.
  • buffer_guess_segment_properties (object buffer)

    Sets unset buffer segment properties based on buffer Unicode contents. If buffer is not empty, it must have content type #HB_BUFFER_CONTENT_TYPE_UNICODE. If buffer script is not set (ie. is #HB_SCRIPT_INVALID), it will be set to the Unicode script of the first character in the buffer that has a script other than #HB_SCRIPT_COMMON, #HB_SCRIPT_INHERITED, and #HB_SCRIPT_UNKNOWN. Next, if buffer direction is not set (ie. is #HB_DIRECTION_INVALID), it will be set to the natural horizontal direction of the buffer script as returned by hb_script_get_horizontal_direction(). If hb_script_get_horizontal_direction() returns #HB_DIRECTION_INVALID, then #HB_DIRECTION_LTR is used. Finally, if buffer language is not set (ie. is #HB_LANGUAGE_INVALID), it will be set to the process's default language as returned by hb_language_get_default(). This may change in the future by taking buffer script into consideration when choosing a language. Note that hb_language_get_default() is NOT threadsafe the first time it is called. See documentation for that function for details.

    • @p buffer is An #hb_buffer_t.
    • @r None.
  • buffer_normalize_glyphs (object buffer)

    Reorders a glyph buffer to have canonical in-cluster glyph order / position. The resulting clusters should behave identical to pre-reordering clusters. This has nothing to do with Unicode normalization.

    • @p buffer is An #hb_buffer_t.
    • @r None.
  • buffer_reference (object buffer)

    Increases the reference count on @buffer by one. This prevents @buffer from being destroyed until a matching call to hb_buffer_destroy() is made.

    • @p buffer is An #hb_buffer_t.
    • @r The referenced #hb_buffer_t..
  • buffer_reset (object buffer)

    Resets the buffer to its initial status, as if it was just newly created with hb_buffer_create().

    • @p buffer is An #hb_buffer_t.
    • @r None.
  • buffer_reverse (object buffer)

    Reverses buffer contents.

    • @p buffer is An #hb_buffer_t.
    • @r None.
  • buffer_reverse_clusters (object buffer)

    Reverses buffer clusters. That is, the buffer contents are reversed, then each cluster (consecutive items having the same cluster number) are reversed again.

    • @p buffer is An #hb_buffer_t.
    • @r None.
  • buffer_reverse_range (object buffer, int start, int end)

    Reverses buffer contents between @start and @end.

    • @p buffer is An #hb_buffer_t.
    • @p start is start index.
    • @p end is end index.
    • @r None.
  • buffer_serialize (object buffer, int start, int end, object font, string format, string flags)

    Serializes @buffer into a textual representation of its content, whether Unicode codepoints or glyph identifiers and positioning information. This is useful for showing the contents of the buffer, for example during debugging. See the documentation of hb_buffer_serialize_unicode() and hb_buffer_serialize_glyphs() for a description of the output format.

    • @p buffer is an #hb_buffer_t buffer..
    • @p start is the first item in @buffer to serialize..
    • @p end is the last item in @buffer to serialize..
    • @p buf is output string to write serialized buffer into..
    • @p buf_size is the size of @buf..
    • @p buf_consumed is if not NULL, will be set to the number of bytes written into @buf..
    • @p font is the #hb_font_t used to shape this buffer, needed to read glyph names and extents. If NULL, an empty font will be used..
    • @p format is the #hb_buffer_serialize_format_t to use for formatting the output..
    • @p flags is the #hb_buffer_serialize_flags_t that control what glyph properties to serialize..
    • @r The number of serialized items..
  • buffer_serialize_format_from_string (list str)

    Parses a string into an #hb_buffer_serialize_format_t. Does not check if

    • @str is a valid buffer serialization format, use hb_buffer_serialize_list_formats() to get the list of supported formats.
    • @p str is a string to parse.
    • @p len is length of @str, or -1 if string is NULL terminated.
    • @r The parsed #hb_buffer_serialize_format_t..
  • buffer_serialize_format_to_string (string format)

    Converts @format to the string corresponding it, or NULL if it is not a valid #hb_buffer_serialize_format_t.

    • @p format is an #hb_buffer_serialize_format_t to convert..
    • @r A NULL terminated string corresponding to @format. Should not be freed..
  • buffer_serialize_glyphs (object buffer, int start, int end, object font, string format, string flags)

    Serializes @buffer into a textual representation of its glyph content, useful for showing the contents of the buffer, for example during debugging. There are currently two supported serialization formats: ## text A human-readable, plain text format. The serialized glyphs will look something like: |[ [uni0651=0@518,0+0|uni0628=0+1897] ]| - The serialized glyphs are delimited with [ and ]. - Glyphs are separated with | - Each glyph starts with glyph name, or glyph index if #HB_BUFFER_SERIALIZE_FLAG_NO_GLYPH_NAMES flag is set. Then, - If #HB_BUFFER_SERIALIZE_FLAG_NO_CLUSTERS is not set, = then #hb_glyph_info_t.cluster. - If #HB_BUFFER_SERIALIZE_FLAG_NO_POSITIONS is not set, the #hb_glyph_position_t in the format: - If #hb_glyph_position_t.x_offset and #hb_glyph_position_t.y_offset are not both 0, @x_offset,y_offset. Then, - +x_advance, then ,y_advance if #hb_glyph_position_t.y_advance is not 0. Then, - If #HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS is set, the #hb_glyph_extents_t in the format <x_bearing,y_bearing,width,height> ## json A machine-readable, structured format. The serialized glyphs will look something like: |[ [{"g":"uni0651","cl":0,"dx":518,"dy":0,"ax":0,"ay":0}, {"g":"uni0628","cl":0,"dx":0,"dy":0,"ax":1897,"ay":0}] ]| Each glyph is a JSON object, with the following properties: - g: the glyph name or glyph index if #HB_BUFFER_SERIALIZE_FLAG_NO_GLYPH_NAMES flag is set. - cl: #hb_glyph_info_t.cluster if #HB_BUFFER_SERIALIZE_FLAG_NO_CLUSTERS is not set. - dx,dy,ax,ay: #hb_glyph_position_t.x_offset, #hb_glyph_position_t.y_offset, #hb_glyph_position_t.x_advance and #hb_glyph_position_t.y_advance respectively, if #HB_BUFFER_SERIALIZE_FLAG_NO_POSITIONS is not set. - xb,yb,w,h: #hb_glyph_extents_t.x_bearing, #hb_glyph_extents_t.y_bearing, #hb_glyph_extents_t.width and #hb_glyph_extents_t.height respectively if #HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS is set.

    • @p buffer is an #hb_buffer_t buffer..
    • @p start is the first item in @buffer to serialize..
    • @p end is the last item in @buffer to serialize..
    • @p buf is output string to write serialized buffer into..
    • @p buf_size is the size of @buf..
    • @p buf_consumed is if not NULL, will be set to the number of bytes written into @buf..
    • @p font is the #hb_font_t used to shape this buffer, needed to read glyph names and extents. If NULL, an empty font will be used..
    • @p format is the #hb_buffer_serialize_format_t to use for formatting the output..
    • @p flags is the #hb_buffer_serialize_flags_t that control what glyph properties to serialize..
    • @r The number of serialized items..
  • buffer_serialize_list_formats ()

    Returns a list of supported buffer serialization formats.

    • @r A string array of buffer serialization formats. Should not be freed..
  • buffer_serialize_unicode (object buffer, int start, int end, string format, string flags)

    Serializes @buffer into a textual representation of its content, when the buffer contains Unicode codepoints (i.e., before shaping). This is useful for showing the contents of the buffer, for example during debugging. There are currently two supported serialization formats: ## text A human-readable, plain text format. The serialized codepoints will look something like: |[  <U+0651=0|U+0628=1> ]| - Glyphs are separated with | - Unicode codepoints are expressed as zero-padded four (or more) digit hexadecimal numbers preceded by U+ - If #HB_BUFFER_SERIALIZE_FLAG_NO_CLUSTERS is not set, the cluster will be indicated with a = then #hb_glyph_info_t.cluster. ## json A machine-readable, structured format. The serialized codepoints will be a list of objects with the following properties: - u: the Unicode codepoint as a decimal integer - cl: #hb_glyph_info_t.cluster if #HB_BUFFER_SERIALIZE_FLAG_NO_CLUSTERS is not set. For example: |[ [{u:1617,cl:0},{u:1576,cl:1}] ]|

    • @p buffer is an #hb_buffer_t buffer..
    • @p start is the first item in @buffer to serialize..
    • @p end is the last item in @buffer to serialize..
    • @p buf is output string to write serialized buffer into..
    • @p buf_size is the size of @buf..
    • @p buf_consumed is if not NULL, will be set to the number of bytes written into @buf..
    • @p format is the #hb_buffer_serialize_format_t to use for formatting the output..
    • @p flags is the #hb_buffer_serialize_flags_t that control what glyph properties to serialize..
    • @r The number of serialized items..
  • buffer_set_cluster_level (object buffer, string cluster_level)

    Sets the cluster level of a buffer. The #hb_buffer_cluster_level_t dictates one aspect of how HarfBuzz will treat non-base characters during shaping.

    • @p buffer is An #hb_buffer_t.
    • @p cluster_level is The cluster level to set on the buffer.
    • @r None.
  • buffer_set_content_type (object buffer, string content_type)

    Sets the type of @buffer contents. Buffers are either empty, contain characters (before shaping), or contain glyphs (the result of shaping). You rarely need to call this function, since a number of other functions transition the content type for you. Namely: - A newly created buffer starts with content type %HB_BUFFER_CONTENT_TYPE_INVALID. Calling hb_buffer_reset(), hb_buffer_clear_contents(), as well as calling hb_buffer_set_length() with an argument of zero all set the buffer content type to invalid as well. - Calling hb_buffer_add_utf8(), hb_buffer_add_utf16(), hb_buffer_add_utf32(), hb_buffer_add_codepoints() and hb_buffer_add_latin1() expect that buffer is either empty and have a content type of invalid, or that buffer content type is %HB_BUFFER_CONTENT_TYPE_UNICODE, and they also set the content type to Unicode if they added anything to an empty buffer. - Finally hb_shape() and hb_shape_full() expect that the buffer is either empty and have content type of invalid, or that buffer content type is %HB_BUFFER_CONTENT_TYPE_UNICODE, and upon success they set the buffer content type to %HB_BUFFER_CONTENT_TYPE_GLYPHS. The above transitions are designed such that one can use a buffer in a loop of "reset : add-text : shape" without needing to ever modify the content type manually.

    • @p buffer is An #hb_buffer_t.
    • @p content_type is The type of buffer contents to set.
    • @r None.
  • buffer_set_direction (object buffer, string direction)

    Set the text flow direction of the buffer. No shaping can happen without setting @buffer direction, and it controls the visual direction for the output glyphs; for RTL direction the glyphs will be reversed. Many layout features depend on the proper setting of the direction, for example, reversing RTL text before shaping, then shaping with LTR direction is not the same as keeping the text in logical order and shaping with RTL direction.

    • @p buffer is An #hb_buffer_t.
    • @p direction is the #hb_direction_t of the @buffer.
    • @r None.
  • buffer_set_flags (object buffer, string flags)

    Sets @buffer flags to @flags. See #hb_buffer_flags_t.

    • @p buffer is An #hb_buffer_t.
    • @p flags is The buffer flags to set.
    • @r None.
  • buffer_set_language (object buffer, object language)

    Sets the language of @buffer to @language. Languages are crucial for selecting which OpenType feature to apply to the buffer which can result in applying language-specific behaviour. Languages are orthogonal to the scripts, and though they are related, they are different concepts and should not be confused with each other. Use hb_language_from_string() to convert from BCP 47 language tags to #hb_language_t.

    • @p buffer is An #hb_buffer_t.
    • @p language is An hb_language_t to set.
    • @r None.
  • buffer_set_message_func (object buffer, object func)

    Sets the implementation function for #hb_buffer_message_func_t.

    • @p buffer is An #hb_buffer_t.
    • @p func is Callback function.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • buffer_set_random_state (object buffer, int state)

    Sets the random state of the buffer. The state changes every time a glyph uses randomness (eg. the rand OpenType feature). This function together with hb_buffer_get_random_state() allow for transferring the current random state to a subsequent buffer, to get better randomness distribution. Defaults to 1 and when buffer contents are cleared. A value of 0 disables randomness during shaping.

    • @p buffer is An #hb_buffer_t.
    • @p state is the new random state.
    • @r None.
  • buffer_set_script (object buffer, string script)

    Sets the script of @buffer to @script. Script is crucial for choosing the proper shaping behaviour for scripts that require it (e.g. Arabic) and the which OpenType features defined in the font to be applied. You can pass one of the predefined #hb_script_t values, or use hb_script_from_string() or hb_script_from_iso15924_tag() to get the corresponding script from an ISO 15924 script tag.

    • @p buffer is An #hb_buffer_t.
    • @p script is An #hb_script_t to set..
    • @r None.
  • buffer_set_segment_properties (object buffer, object props)

    Sets the segment properties of the buffer, a shortcut for calling hb_buffer_set_direction(), hb_buffer_set_script() and hb_buffer_set_language() individually.

    • @p buffer is An #hb_buffer_t.
    • @p props is An #hb_segment_properties_t to use.
    • @r None.
  • buffer_set_unicode_funcs (object buffer, object unicode_funcs)

    Sets the Unicode-functions structure of a buffer to @unicode_funcs.

    • @p buffer is An #hb_buffer_t.
    • @p unicode_funcs is The Unicode-functions structure.
    • @r None.
  • calloc (int nmemb, int size)

    Allocates @nmemb elements of @size bytes each, initialized to zero, using the allocator set at compile-time. Typically just calloc().

    • @p nmemb is The number of elements to allocate..
    • @p size is The size of each element..
    • @r A pointer to the allocated memory..
  • color_line_get_color_stops (object color_line, int start)

    Fetches a list of color stops from the given color line object. Note that due to variations being applied, the returned color stops may be out of order. It is the callers responsibility to ensure that color stops are sorted by their offset before they are used.

    • @r A map with the materialized list and the total count under result.
  • color_line_get_extend (object color_line)

    Fetches the extend mode of the color line object.

    • @p color_line is a #hb_color_line_t object.
    • @r the extend mode of @color_line.
  • direction_from_string (list str)

    Converts a string to an #hb_direction_t. Matching is loose and applies only to the first letter. For examples, "LTR" and "left-to-right" will both return #HB_DIRECTION_LTR. Unmatched strings will return #HB_DIRECTION_INVALID.

    • @p str is String to convert.
    • @p len is Length of @str, or -1 if it is NULL-terminated.
    • @r The #hb_direction_t matching @str.
  • direction_to_string (string direction)

    Converts an #hb_direction_t to a string.

    • @p direction is The #hb_direction_t to convert.
    • @r The string corresponding to @direction.
  • draw_close_path (object dfuncs, draw_data, st)

    Perform a "close-path" draw operation.

    • @p dfuncs is draw functions.
    • @p draw_data is associated draw data passed by the caller.
    • @p st is current draw state.
    • @r None.
  • draw_cubic_to (object dfuncs, draw_data, st, double control1_x, double control1_y, double control2_x, double control2_y, double to_x, double to_y)

    Perform a "cubic-to" draw operation.

    • @p dfuncs is draw functions.
    • @p draw_data is associated draw data passed by the caller.
    • @p st is current draw state.
    • @p control1_x is X component of first control point.
    • @p control1_y is Y component of first control point.
    • @p control2_x is X component of second control point.
    • @p control2_y is Y component of second control point.
    • @p to_x is X component of target point.
    • @p to_y is Y component of target point.
    • @r None.
  • draw_funcs_create ()

    Creates a new draw callbacks object.

    • @r A newly allocated #hb_draw_funcs_t with a reference count of 1. The initial reference count should be released with hb_draw_funcs_destroy when you are done using the #hb_draw_funcs_t. This function never returns NULL. If memory cannot be allocated, a special singleton #hb_draw_funcs_t object will be returned..
  • draw_funcs_destroy (object dfuncs)

    Deallocate the @dfuncs. Decreases the reference count on @dfuncs by one. If the result is zero, then @dfuncs and all associated resources are freed. See hb_draw_funcs_reference().

    • @p dfuncs is draw functions.
    • @r None.
  • draw_funcs_get_empty ()

    Fetches the singleton empty draw-functions structure.

    • @r The empty draw-functions structure.
  • draw_funcs_get_user_data (object dfuncs, key)

    Fetches the user-data associated with the specified key, attached to the specified draw-functions structure.

    • @p dfuncs is The draw-functions structure.
    • @p key is The user-data key to query.
    • @r A pointer to the user data.
  • draw_funcs_make_immutable (object dfuncs)

    Makes @dfuncs object immutable.

    • @p dfuncs is draw functions.
    • @r None.
  • draw_funcs_reference (object dfuncs)

    Increases the reference count on @dfuncs by one. This prevents @dfuncs from being destroyed until a matching call to hb_draw_funcs_destroy() is made.

    • @p dfuncs is draw functions.
    • @r The referenced #hb_draw_funcs_t..
  • draw_funcs_set_close_path_func (object dfuncs, object func)

    Sets close-path callback to the draw functions object.

    • @p dfuncs is draw functions object.
    • @p func is close-path callback.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • draw_funcs_set_cubic_to_func (object dfuncs, object func)

    Sets cubic-to callback to the draw functions object.

    • @p dfuncs is draw functions.
    • @p func is cubic-to callback.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • draw_funcs_set_line_to_func (object dfuncs, object func)

    Sets line-to callback to the draw functions object.

    • @p dfuncs is draw functions object.
    • @p func is line-to callback.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • draw_funcs_set_move_to_func (object dfuncs, object func)

    Sets move-to callback to the draw functions object.

    • @p dfuncs is draw functions object.
    • @p func is move-to callback.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • draw_funcs_set_quadratic_to_func (object dfuncs, object func)

    Sets quadratic-to callback to the draw functions object.

    • @p dfuncs is draw functions object.
    • @p func is quadratic-to callback.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • draw_line_to (object dfuncs, draw_data, st, double to_x, double to_y)

    Perform a "line-to" draw operation.

    • @p dfuncs is draw functions.
    • @p draw_data is associated draw data passed by the caller.
    • @p st is current draw state.
    • @p to_x is X component of target point.
    • @p to_y is Y component of target point.
    • @r None.
  • draw_move_to (object dfuncs, draw_data, st, double to_x, double to_y)

    Perform a "move-to" draw operation.

    • @p dfuncs is draw functions.
    • @p draw_data is associated draw data passed by the caller.
    • @p st is current draw state.
    • @p to_x is X component of target point.
    • @p to_y is Y component of target point.
    • @r None.
  • draw_quadratic_to (object dfuncs, draw_data, st, double control_x, double control_y, double to_x, double to_y)

    Perform a "quadratic-to" draw operation.

    • @p dfuncs is draw functions.
    • @p draw_data is associated draw data passed by the caller.
    • @p st is current draw state.
    • @p control_x is X component of control point.
    • @p control_y is Y component of control point.
    • @p to_x is X component of target point.
    • @p to_y is Y component of target point.
    • @r None.
  • face_builder_create ()

    Creates a #hb_face_t that can be used with hb_face_builder_add_table(). After tables are added to the face, it can be compiled to a binary font file by calling hb_face_reference_blob().

    • @r New face..
  • face_count (object blob)

    Fetches the number of faces in a blob.

    • @p blob is a blob..
    • @r Number of faces in @blob.
  • face_create (object blob, int index)

    Constructs a new face object from the specified blob and a face index into that blob. The face index is used for blobs of file formats such as TTC and DFont that can contain more than one face. Face indices within such collections are zero-based. Note: If the blob font format is not a collection, @index is ignored. Otherwise, only the lower 16-bits of

    • @index are used. The unmodified @index can be accessed via hb_face_get_index(). Note: The high 16-bits of @index, if non-zero, are used by hb_font_create() to load named-instances in variable fonts. See hb_font_create() for details.
    • @p blob is #hb_blob_t to work upon.
    • @p index is The index of the face within @blob.
    • @r The new face object.
  • face_create_for_tables (object reference_table_func)

    Variant of hb_face_create(), built for those cases where it is more convenient to provide data for individual tables instead of the whole font data. With the caveat that hb_face_get_table_tags() would not work with faces created this way. You can address that by calling the hb_face_set_get_table_tags_func() function and setting the appropriate callback. Creates a new face object from the specified @user_data and

    • @reference_table_func, with the @destroy callback.
    • @p reference_table_func is Table-referencing function.
    • @p user_data is A pointer to the user data.
    • @p destroy is A callback to call when @data is not needed anymore.
    • @r The new face object.
  • face_create_from_file_or_fail (string file_name, int index)

    A thin wrapper around hb_blob_create_from_file_or_fail() followed by hb_face_create_or_fail().

    • @p file_name is A font filename.
    • @p index is The index of the face within the file.
    • @r The new face object, or NULL if no face is found at the specified index or the file cannot be read..
  • face_create_from_file_or_fail_using (string file_name, int index, string loader_name)

    A thin wrapper around the face loader functions registered with HarfBuzz. If @loader_name is NULL or the empty string, the first available loader is used. For example, the FreeType ("ft") loader might be able to load WOFF and WOFF2 files if FreeType is built with those features, whereas the OpenType ("ot") loader will not.

    • @p file_name is A font filename.
    • @p index is The index of the face within the file.
    • @p loader_name is The name of the loader to use, or NULL.
    • @r The new face object, or NULL if the file cannot be read or the loader fails to load the face..
  • face_create_or_fail (object blob, int index)

    Like hb_face_create(), but returns NULL if the blob data contains no usable font face at the specified index.

    • @p blob is #hb_blob_t to work upon.
    • @p index is The index of the face within @blob.
    • @r The new face object, or NULL if no face is found at the specified index..
  • face_create_or_fail_using (object blob, int index, string loader_name)

    A thin wrapper around the face loader functions registered with HarfBuzz. If @loader_name is NULL or the empty string, the first available loader is used. For example, the FreeType ("ft") loader might be able to load WOFF and WOFF2 files if FreeType is built with those features, whereas the OpenType ("ot") loader will not.

    • @p blob is #hb_blob_t to work upon.
    • @p index is The index of the face within @blob.
    • @p loader_name is The name of the loader to use, or NULL.
    • @r The new face object, or NULL if the loader fails to load the face..
  • face_destroy (object face)

    Decreases the reference count on a face object. When the reference count reaches zero, the face is destroyed, freeing all memory.

    • @p face is A face object.
    • @r None.
  • face_get_empty ()

    Fetches the singleton empty face object.

    • @r The empty face object.
  • face_get_glyph_count (object face)

    Fetches the glyph-count value of the specified face object.

    • @p face is A face object.
    • @r The glyph-count value of @face.
  • face_get_index (object face)

    Fetches the face-index corresponding to the given face. Note: face indices within a collection are zero-based.

    • @p face is A face object.
    • @r The index of @face..
  • face_get_table_tags (object face, int start_offset)

    Fetches a list of all table tags for a face, if possible. The list returned will begin at the offset provided

    • @p face is A face object.
    • @p start_offset is The index of first table tag to retrieve.
    • @p table_count is Input = the maximum number of table tags to return; Output = the actual number of table tags returned (may be zero).
    • @p table_tags is The array of table tags found.
    • @r Total number of tables, or zero if it is not possible to list.
  • face_get_upem (object face)

    Fetches the units-per-em (UPEM) value of the specified face object. Typical UPEM values for fonts are 1000, or 2048, but any value in between 16 and 16,384 is allowed for OpenType fonts.

    • @p face is A face object.
    • @r The upem value of @face.
  • face_get_user_data (object face, key)

    Fetches the user data associated with the specified key, attached to the specified face object.

    • @p face is A face object.
    • @p key is The user-data key to query.
    • @r A pointer to the user data.
  • face_list_loaders ()

    Retrieves the list of face loaders supported by HarfBuzz.

    • @r a NULL-terminated array of supported face loaders constant strings. The returned array is owned by HarfBuzz and should not be modified or freed..
  • face_make_immutable (object face)

    Makes the given face object immutable.

    • @p face is A face object.
    • @r None.
  • face_reference (object face)

    Increases the reference count on a face object.

    • @p face is A face object.
    • @r The @face object.
  • face_reference_blob (object face)

    Fetches a pointer to the binary blob that contains the specified face. If referencing the face data is not possible, this function creates a blob out of individual table blobs if hb_face_get_table_tags() works with this face, otherwise it returns an empty blob.

    • @p face is A face object.
    • @r A pointer to the blob for @face.
  • face_set_get_table_tags_func (object face, object func)

    Sets the table-tag-fetching function for the specified face object.

    • @p face is A face object.
    • @p func is The table-tag-fetching function.
    • @p user_data is A pointer to the user data, to be destroyed by @destroy when not needed anymore.
    • @p destroy is A callback to call when @func is not needed anymore.
    • @r None.
  • face_set_glyph_count (object face, int glyph_count)

    Sets the glyph count for a face object to the specified value. This API is used in rare circumstances.

    • @p face is A face object.
    • @p glyph_count is The glyph-count value to assign.
    • @r None.
  • face_set_index (object face, int index)

    Assigns the specified face-index to @face. Fails if the face is immutable. Note: changing the index has no effect on the face itself This only changes the value returned by hb_face_get_index().

    • @p face is A face object.
    • @p index is The index to assign.
    • @r None.
  • face_set_upem (object face, int upem)

    Sets the units-per-em (upem) for a face object to the specified value. This API is used in rare circumstances.

    • @p face is A face object.
    • @p upem is The units-per-em value to assign.
    • @r None.
  • feature_to_string (object feature)

    Converts a #hb_feature_t into a NULL-terminated string in the format understood by hb_feature_from_string(). The client in responsible for allocating big enough size for @buf, 128 bytes is more than enough. Note that the feature value will be omitted if it is '1', but the string won't include any whitespace.

    • @p feature is an #hb_feature_t to convert.
    • @p buf is output string.
    • @p size is the allocated size of @buf.
    • @r None.
  • font_changed (object font)

    Notifies the @font that underlying font data has changed. This has the effect of increasing the serial as returned by hb_font_get_serial(), which invalidates internal caches.

    • @p font is #hb_font_t to work upon.
    • @r None.
  • font_create (object face)

    Constructs a new font object from the specified face. Note: If

    • @face's index value (as passed to hb_face_create() has non-zero top 16-bits, those bits minus one are passed to hb_font_set_var_named_instance(), effectively loading a named-instance of a variable font, instead of the default-instance. This allows specifying which named-instance to load by default when creating the face.
    • @p face is a face..
    • @r The new font object.
  • font_create_sub_font (object parent)

    Constructs a sub-font font object from the specified @parent font, replicating the parent's properties.

    • @p parent is The parent font object.
    • @r The new sub-font font object.
  • font_destroy (object font)

    Decreases the reference count on the given font object. When the reference count reaches zero, the font is destroyed, freeing all memory.

    • @p font is #hb_font_t to work upon.
    • @r None.
  • font_funcs_create ()

    Creates a new #hb_font_funcs_t structure of font functions.

    • @r The font-functions structure.
  • font_funcs_destroy (object ffuncs)

    Decreases the reference count on a font-functions structure. When the reference count reaches zero, the font-functions structure is destroyed, freeing all memory.

    • @p ffuncs is The font-functions structure.
    • @r None.
  • font_funcs_get_empty ()

    Fetches an empty font-functions structure.

    • @r The font-functions structure.
  • font_funcs_get_user_data (object ffuncs, key)

    Fetches the user data associated with the specified key, attached to the specified font-functions structure.

    • @p ffuncs is The font-functions structure.
    • @p key is The user-data key to query.
    • @r A pointer to the user data.
  • font_funcs_make_immutable (object ffuncs)

    Makes a font-functions structure immutable.

    • @p ffuncs is The font-functions structure.
    • @r None.
  • font_funcs_reference (object ffuncs)

    Increases the reference count on a font-functions structure.

    • @p ffuncs is The font-functions structure.
    • @r The font-functions structure.
  • font_funcs_set_draw_glyph_func (object ffuncs, object func)

    Sets the implementation function for #hb_font_draw_glyph_func_t.

    • @p ffuncs is A font-function structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • font_funcs_set_draw_glyph_or_fail_func (object ffuncs, object func)

    Sets the implementation function for #hb_font_draw_glyph_or_fail_func_t.

    • @p ffuncs is A font-function structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • font_funcs_set_font_h_extents_func (object ffuncs, object func)

    Sets the implementation function for #hb_font_get_font_h_extents_func_t.

    • @p ffuncs is A font-function structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • font_funcs_set_font_v_extents_func (object ffuncs, object func)

    Sets the implementation function for #hb_font_get_font_v_extents_func_t.

    • @p ffuncs is A font-function structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • font_funcs_set_glyph_contour_point_func (object ffuncs, object func)

    Sets the implementation function for #hb_font_get_glyph_contour_point_func_t.

    • @p ffuncs is A font-function structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • font_funcs_set_glyph_extents_func (object ffuncs, object func)

    Sets the implementation function for #hb_font_get_glyph_extents_func_t.

    • @p ffuncs is A font-function structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • font_funcs_set_glyph_from_name_func (object ffuncs, object func)

    Sets the implementation function for #hb_font_get_glyph_from_name_func_t.

    • @p ffuncs is A font-function structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • font_funcs_set_glyph_func (object ffuncs, object func)

    Deprecated. Use hb_font_funcs_set_nominal_glyph_func() and hb_font_funcs_set_variation_glyph_func() instead.

    • @p ffuncs is The font-functions structure.
    • @p func is callback function.
    • @p user_data is data to pass to @func.
    • @p destroy is function to call when @user_data is not needed anymore.
    • @r None.
  • font_funcs_set_glyph_h_advance_func (object ffuncs, object func)

    Sets the implementation function for #hb_font_get_glyph_h_advance_func_t.

    • @p ffuncs is A font-function structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • font_funcs_set_glyph_h_advances_func (object ffuncs, object func)

    Sets the implementation function for #hb_font_get_glyph_h_advances_func_t.

    • @p ffuncs is A font-function structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • font_funcs_set_glyph_h_kerning_func (object ffuncs, object func)

    Sets the implementation function for #hb_font_get_glyph_h_kerning_func_t.

    • @p ffuncs is A font-function structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • font_funcs_set_glyph_h_origin_func (object ffuncs, object func)

    Sets the implementation function for #hb_font_get_glyph_h_origin_func_t.

    • @p ffuncs is A font-function structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • font_funcs_set_glyph_h_origins_func (object ffuncs, object func)

    Sets the implementation function for #hb_font_get_glyph_h_origins_func_t.

    • @p ffuncs is A font-function structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • font_funcs_set_glyph_name_func (object ffuncs, object func)

    Sets the implementation function for #hb_font_get_glyph_name_func_t.

    • @p ffuncs is A font-function structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • font_funcs_set_glyph_shape_func (object ffuncs, object func)

    Sets the implementation function for #hb_font_get_glyph_shape_func_t, which is the same as #hb_font_draw_glyph_func_t.

    • @p ffuncs is A font-function structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • font_funcs_set_glyph_v_advance_func (object ffuncs, object func)

    Sets the implementation function for #hb_font_get_glyph_v_advance_func_t.

    • @p ffuncs is A font-function structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • font_funcs_set_glyph_v_advances_func (object ffuncs, object func)

    Sets the implementation function for #hb_font_get_glyph_v_advances_func_t.

    • @p ffuncs is A font-function structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • font_funcs_set_glyph_v_kerning_func (object ffuncs, object func)

    Sets the implementation function for #hb_font_get_glyph_v_kerning_func_t.

    • @p ffuncs is A font-function structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • font_funcs_set_glyph_v_origin_func (object ffuncs, object func)

    Sets the implementation function for #hb_font_get_glyph_v_origin_func_t.

    • @p ffuncs is A font-function structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • font_funcs_set_glyph_v_origins_func (object ffuncs, object func)

    Sets the implementation function for #hb_font_get_glyph_v_origins_func_t.

    • @p ffuncs is A font-function structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • font_funcs_set_nominal_glyph_func (object ffuncs, object func)

    Sets the implementation function for #hb_font_get_nominal_glyph_func_t.

    • @p ffuncs is A font-function structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • font_funcs_set_nominal_glyphs_func (object ffuncs, object func)

    Sets the implementation function for #hb_font_get_nominal_glyphs_func_t.

    • @p ffuncs is A font-function structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • font_funcs_set_paint_glyph_func (object ffuncs, object func)

    Sets the implementation function for #hb_font_paint_glyph_func_t.

    • @p ffuncs is A font-function structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is no longer needed.
    • @r None.
  • font_funcs_set_paint_glyph_or_fail_func (object ffuncs, object func)

    Sets the implementation function for #hb_font_paint_glyph_or_fail_func_t.

    • @p ffuncs is A font-function structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is no longer needed.
    • @r None.
  • font_funcs_set_variation_glyph_func (object ffuncs, object func)

    Sets the implementation function for #hb_font_get_variation_glyph_func_t.

    • @p ffuncs is A font-function structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • font_get_empty ()

    Fetches the empty font object.

    • @r The empty font object.
  • font_get_extents_for_direction (object font, string direction)

    Fetches the extents for a font in a text segment of the specified direction. Calls the appropriate direction-specific variant (horizontal or vertical) depending on the value of @direction.

    • @p font is #hb_font_t to work upon.
    • @p direction is The direction of the text segment.
    • @p extents is The #hb_font_extents_t retrieved.
    • @r None.
  • font_get_face (object font)

    Fetches the face associated with the specified font object.

    • @p font is #hb_font_t to work upon.
    • @r The #hb_face_t value.
  • font_get_parent (object font)

    Fetches the parent font of @font.

    • @p font is #hb_font_t to work upon.
    • @r The parent font object.
  • font_get_ppem (object font)

    Fetches the horizontal and vertical points-per-em (ppem) of a font.

    • @p font is #hb_font_t to work upon.
    • @p x_ppem is Horizontal ppem value.
    • @p y_ppem is Vertical ppem value.
    • @r None.
  • font_get_ptem (object font)

    Fetches the "point size" of a font. Used in CoreText to implement optical sizing.

    • @p font is #hb_font_t to work upon.
    • @r Point size. A value of zero means "not set.".
  • font_get_scale (object font)

    Fetches the horizontal and vertical scale of a font.

    • @p font is #hb_font_t to work upon.
    • @p x_scale is Horizontal scale value.
    • @p y_scale is Vertical scale value.
    • @r None.
  • font_get_serial (object font)

    Returns the internal serial number of the font. The serial number is increased every time a setting on the font is changed, using a setter function.

    • @p font is #hb_font_t to work upon.
    • @r serial number.
  • font_get_synthetic_slant (object font)

    Fetches the "synthetic slant" of a font.

    • @p font is #hb_font_t to work upon.
    • @r Synthetic slant. By default is zero..
  • font_get_user_data (object font, key)

    Fetches the user-data object associated with the specified key, attached to the specified font object.

    • @p font is #hb_font_t to work upon.
    • @p key is The user-data key to query.
    • @r Pointer to the user data.
  • font_get_var_coords_design (object font)

    Fetches the list of variation coordinates (in design-space units) currently set on a font. Note that if no variation coordinates are set, this function may return %NULL. If variations have been set on the font using normalized coordinates (i.e. via hb_font_set_var_coords_normalized()), the design coordinates will have NaN (Not a Number) values. Return value is valid as long as variation coordinates of the font are not modified.

    • @p font is #hb_font_t to work upon.
    • @p length is Number of coordinates retrieved.
    • @r coordinates array.
  • font_get_var_coords_normalized (object font)

    Fetches the list of normalized variation coordinates currently set on a font. Note that if no variation coordinates are set, this function may return %NULL. Return value is valid as long as variation coordinates of the font are not modified.

    • @p font is #hb_font_t to work upon.
    • @p length is Number of coordinates retrieved.
    • @r coordinates array.
  • font_get_var_named_instance (object font)

    Returns the currently-set named-instance index of the font.

    • @p font is a font..
    • @r Named-instance index or %HB_FONT_NO_VAR_NAMED_INSTANCE..
  • font_list_funcs ()

    Retrieves the list of font functions supported by HarfBuzz.

    • @r a NULL-terminated array of supported font functions constant strings. The returned array is owned by HarfBuzz and should not be modified or freed..
  • font_make_immutable (object font)

    Makes @font immutable.

    • @p font is #hb_font_t to work upon.
    • @r None.
  • font_reference (object font)

    Increases the reference count on the given font object.

    • @p font is #hb_font_t to work upon.
    • @r The @font object.
  • font_set_face (object font, object face)

    Sets @face as the font-face value of @font.

    • @p font is #hb_font_t to work upon.
    • @p face is The #hb_face_t to assign.
    • @r None.
  • font_set_funcs (object font, object klass, font_data, object destroy)

    Replaces the font-functions structure attached to a font, updating the font's user-data with @font-data and the @destroy callback.

    • @p font is #hb_font_t to work upon.
    • @p klass is The font-functions structure..
    • @p font_data is Data to attach to @font.
    • @p destroy is The function to call when @font_data is not needed anymore.
    • @r None.
  • font_set_funcs_data (object font, font_data, object destroy)

    Replaces the user data attached to a font, updating the font's @destroy callback.

    • @p font is #hb_font_t to work upon.
    • @p font_data is Data to attach to @font.
    • @p destroy is The function to call when @font_data is not needed anymore.
    • @r None.
  • font_set_parent (object font, object parent)

    Sets the parent font of @font.

    • @p font is #hb_font_t to work upon.
    • @p parent is The parent font object to assign.
    • @r None.
  • font_set_ppem (object font, int x_ppem, int y_ppem)

    Sets the horizontal and vertical pixels-per-em (PPEM) of a font. These values are used for pixel-size-specific adjustment to shaping and draw results, though for the most part they are unused and can be left unset.

    • @p font is #hb_font_t to work upon.
    • @p x_ppem is Horizontal ppem value to assign.
    • @p y_ppem is Vertical ppem value to assign.
    • @r None.
  • font_set_ptem (object font, double ptem)

    Sets the "point size" of a font. Set to zero to unset. Used in CoreText to implement optical sizing. Note: There are 72 points in an inch.

    • @p font is #hb_font_t to work upon.
    • @p ptem is font size in points..
    • @r None.
  • font_set_scale (object font, int x_scale, int y_scale)

    Sets the horizontal and vertical scale of a font. The font scale is a number related to, but not the same as, font size. Typically the client establishes a scale factor to be used between the two. For example, 64, or 256, which would be the fractional-precision part of the font scale. This is necessary because #hb_position_t values are integer types and you need to leave room for fractional values in there. For example, to set the font size to 20, with 64 levels of fractional precision you would call hb_font_set_scale(font, 20 * 64, 20 * 64). In the example above, even what font size 20 means is up to you. It might be 20 pixels, or 20 points, or 20 millimeters. HarfBuzz does not care about that. You can set the point size of the font using hb_font_set_ptem(), and the pixel size using hb_font_set_ppem(). The choice of scale is yours but needs to be consistent between what you set here, and what you expect out of #hb_position_t as well has draw / paint API output values. Fonts default to a scale equal to the UPEM value of their face. A font with this setting is sometimes called an "unscaled" font.

    • @p font is #hb_font_t to work upon.
    • @p x_scale is Horizontal scale value to assign.
    • @p y_scale is Vertical scale value to assign.
    • @r None.
  • font_set_synthetic_slant (object font, double slant)

    Sets the "synthetic slant" of a font. By default is zero. Synthetic slant is the graphical skew applied to the font at rendering time. HarfBuzz needs to know this value to adjust shaping results, metrics, and style values to match the slanted rendering. Note: The glyph shape fetched via the hb_font_draw_glyph_or_fail() function is slanted to reflect this value as well. Note: The slant value is a ratio. For example, a 20% slant would be represented as a 0.2 value.

    • @p font is #hb_font_t to work upon.
    • @p slant is synthetic slant value..
    • @r None.
  • font_set_var_coords_design (object font, list coords)

    Applies a list of variation coordinates (in design-space units) to a font. Note that this overrides all existing variations set on @font. Axes not included in @coords will be effectively set to their default values.

    • @p font is #hb_font_t to work upon.
    • @p coords is Array of variation coordinates to apply.
    • @p coords_length is Number of coordinates to apply.
    • @r None.
  • font_set_var_coords_normalized (object font, list coords)

    Applies a list of variation coordinates (in normalized units) to a font. Note that this overrides all existing variations set on @font. Axes not included in @coords will be effectively set to their default values. Note: Coordinates should be normalized to 2.14.

    • @p font is #hb_font_t to work upon.
    • @p coords is Array of variation coordinates to apply.
    • @p coords_length is Number of coordinates to apply.
    • @r None.
  • font_set_var_named_instance (object font, int instance_index)

    Sets design coords of a font from a named-instance index.

    • @p font is a font..
    • @p instance_index is named instance index..
    • @r None.
  • font_set_variations (object font, list variations)

    Applies a list of font-variation settings to a font. Note that this overrides all existing variations set on @font. Axes not included in

    • @variations will be effectively set to their default values.
    • @p font is #hb_font_t to work upon.
    • @p variations is Array of variation settings to apply.
    • @p variations_length is Number of variations to apply.
    • @r None.
  • free (ptr)

    Frees the memory pointed to by @ptr, using the allocator set at compile-time. Typically just free().

    • @p ptr is The pointer to the memory to free..
    • @r None.
  • ft_face_create_from_blob_or_fail (object blob, int index)

    Creates an #hb_face_t face object from the specified font blob and face index. This is similar in functionality to hb_face_create_from_blob_or_fail(), but uses the FreeType library for loading the font blob. This can be useful, for example, to load WOFF and WOFF2 font data.

    • @p blob is A blob.
    • @p index is The index of the face within the blob.
    • @r The new face object, or NULL if loading fails (eg. blob does not contain valid font data)..
  • ft_face_create_from_file_or_fail (string file_name, int index)

    Creates an #hb_face_t face object from the specified font file and face index. This is similar in functionality to hb_face_create_from_file_or_fail(), but uses the FreeType library for loading the font file. This can be useful, for example, to load WOFF and WOFF2 font data.

    • @p file_name is A font filename.
    • @p index is The index of the face within the file.
    • @r The new face object, or NULL if no face is found at the specified index or the file cannot be read..
  • ft_font_changed (object font)

    Refreshes the state of @font when the underlying FT_Face has changed. This function should be called after changing the size or variation-axis settings on the FT_Face.

    • @p font is #hb_font_t to work upon.
    • @r None.
  • ft_font_get_ft_face (object font)

    Fetches the FT_Face associated with the specified #hb_font_t font object. This function works with #hb_font_t objects created by hb_ft_font_create() or hb_ft_font_create_referenced().

    • @p font is #hb_font_t to work upon.
    • @r the FT_Face found or NULL.
  • ft_font_get_load_flags (object font)

    Fetches the FT_Load_Glyph load flags of the specified #hb_font_t. For more information, see https://freetype.org/freetype2/docs/reference/ft2-glyph_retrieval.html#ft_load_xxx This function works with #hb_font_t objects created by hb_ft_font_create() or hb_ft_font_create_referenced().

    • @p font is #hb_font_t to work upon.
    • @r FT_Load_Glyph flags found, or 0.
  • ft_font_set_funcs (object font)

    Configures the font-functions structure of the specified #hb_font_t font object to use FreeType font functions. In particular, you can use this function to configure an existing #hb_face_t face object for use with FreeType font functions even if that #hb_face_t face object was initially created with hb_face_create(), and therefore was not initially configured to use FreeType font functions. An #hb_font_t object created with hb_ft_font_create() is preconfigured for FreeType font functions and does not require this function to be used. Note that if you modify the underlying #hb_font_t after calling this function, you need to call hb_ft_hb_font_changed() to update the underlying FT_Face. Note: Internally, this function creates an FT_Face.

    • @p font is #hb_font_t to work upon.
    • @r None.
  • ft_font_set_load_flags (object font, int load_flags)

    Sets the FT_Load_Glyph load flags for the specified #hb_font_t. For more information, see https://freetype.org/freetype2/docs/reference/ft2-glyph_retrieval.html#ft_load_xxx This function works with #hb_font_t objects created by hb_ft_font_create() or hb_ft_font_create_referenced().

    • @p font is #hb_font_t to work upon.
    • @p load_flags is The FreeType load flags to set.
    • @r None.
  • ft_font_unlock_face (object font)

    Releases an FT_Face previously obtained with hb_ft_font_lock_face().

    • @p font is #hb_font_t to work upon.
    • @r None.
  • glib_blob_create (object gbytes)

    Creates an #hb_blob_t blob from the specified GBytes data structure.

    • @p gbytes is the GBytes structure to work upon.
    • @r the new #hb_blob_t blob object.
  • glib_get_unicode_funcs ()

    Fetches a Unicode-functions structure that is populated with the appropriate GLib function for each method.

    • @r a pointer to the #hb_unicode_funcs_t Unicode-functions structure.
  • glib_script_from_script (string script)

    Fetches the GUnicodeScript identifier that corresponds to the specified #hb_script_t script.

    • @p script is The #hb_script_t to query.
    • @r the GUnicodeScript identifier found.
  • glib_script_to_script (string script)

    Fetches the #hb_script_t script that corresponds to the specified GUnicodeScript identifier.

    • @p script is The GUnicodeScript identifier to query.
    • @r the #hb_script_t script found.
  • glyph_info_get_glyph_flags (info)

    Returns glyph flags encoded within a #hb_glyph_info_t.

    • @p info is a #hb_glyph_info_t.
    • @r The #hb_glyph_flags_t encoded within @info.
  • language_from_string (list str)

    Converts @str representing a BCP 47 language tag to the corresponding #hb_language_t.

    • @p str is a string representing a BCP 47 language tag.
    • @p len is length of the @str, or -1 if it is NULL-terminated..
    • @r The #hb_language_t corresponding to the BCP 47 language tag..
  • language_get_default ()

    Fetch the default language from current locale. Note that the first time this function is called, it calls "setlocale (LC_CTYPE, nullptr)" to fetch current locale. The underlying setlocale function is, in many implementations, NOT threadsafe. To avoid problems, call this function once before multiple threads can call it. This function is only used from hb_buffer_guess_segment_properties() by HarfBuzz itself.

    • @r The default language of the locale as an #hb_language_t.
  • language_to_string (object language)

    Converts an #hb_language_t to a string.

    • @p language is The #hb_language_t to convert.
    • @r A NULL-terminated string representing the @language. Must not be freed by the caller..
  • malloc (int size)

    Allocates @size bytes of memory, using the allocator set at compile-time. Typically just malloc().

    • @p size is The size of the memory to allocate..
    • @r A pointer to the allocated memory..
  • map_clear (object arg0Map)

    Clears out the contents of @map.

    • @p map is A map.
    • @r None.
  • map_copy (object arg0Map)

    Allocate a copy of @map.

    • @p map is A map.
    • @r Newly-allocated map..
  • map_create ()

    Creates a new, initially empty map.

    • @r The new #hb_map_t.
  • map_destroy (object arg0Map)

    Decreases the reference count on a map. When the reference count reaches zero, the map is destroyed, freeing all memory.

    • @p map is A map.
    • @r None.
  • map_get_empty ()

    Fetches the singleton empty #hb_map_t.

    • @r The empty #hb_map_t.
  • map_get_population (object arg0Map)

    Returns the number of key-value pairs in the map.

    • @p map is A map.
    • @r The population of @map.
  • map_get_user_data (object arg0Map, key)

    Fetches the user data associated with the specified key, attached to the specified map.

    • @p map is A map.
    • @p key is The user-data key to query.
    • @r A pointer to the user data.
  • map_hash (object arg0Map)

    Creates a hash representing @map.

    • @p map is A map.
    • @r A hash of @map..
  • map_keys (object arg0Map, object keys)

    Add the keys of @map to @keys.

    • @p map is A map.
    • @p keys is A set.
    • @r None.
  • map_reference (object arg0Map)

    Increases the reference count on a map.

    • @p map is A map.
    • @r The map.
  • map_update (object arg0Map, object other)

    Add the contents of @other to @map.

    • @p map is A map.
    • @p other is Another map.
    • @r None.
  • map_values (object arg0Map, object values)

    Add the values of @map to @values.

    • @p map is A map.
    • @p values is A set.
    • @r None.
  • ot_color_get_svg_document_count (object face)

    Gets the number of SVG documents in the face SVG table.

    • @p face is #hb_face_t to work upon..
    • @r number of SVG documents in the face..
  • ot_color_palette_get_colors (object face, int palette_index, int start_offset)

    Fetches a list of the colors in a color palette. After calling this function, @colors will be filled with the palette colors. If @colors is NULL, the function will just return the number of total colors without storing any actual colors; this can be used for allocating a buffer of suitable size before calling hb_ot_color_palette_get_colors() a second time. The RGBA values in the palette are unpremultiplied. See the OpenType spec CPAL section for details.

    • @p face is #hb_face_t to work upon.
    • @p palette_index is the index of the color palette to query.
    • @p start_offset is offset of the first color to retrieve.
    • @p color_count is Input = the maximum number of colors to return; Output = the actual number of colors returned (may be zero).
    • @p colors is The array of #hb_color_t records found.
    • @r the total number of colors in the palette.
  • ot_color_palette_get_count (object face)

    Fetches the number of color palettes in a face.

    • @p face is #hb_face_t to work upon.
    • @r the number of palettes found.
  • ot_color_palette_get_flags (object face, int palette_index)

    Fetches the flags defined for a color palette.

    • @p face is #hb_face_t to work upon.
    • @p palette_index is The index of the color palette.
    • @r the #hb_ot_color_palette_flags_t of the requested color palette.
  • ot_font_set_funcs (object font)

    Sets the font functions to use when working with @font to the HarfBuzz's native implementation. This is the default for fonts newly created.

    • @p font is #hb_font_t to work upon.
    • @r None.
  • ot_layout_get_horizontal_baseline_tag_for_script (string script)

    Fetches the dominant horizontal baseline tag used by @script.

    • @p script is a script tag..
    • @r dominant baseline tag for the @script..
  • ot_meta_get_entry_tags (object face, int start_offset)

    Fetches all available feature types.

    • @r A map with the materialized list and the total count under result.
  • ot_meta_reference_entry (object face, string meta_tag)

    It fetches metadata entry of a given tag from a font.

    • @p face is a #hb_face_t object..
    • @p meta_tag is tag of metadata you like to have..
    • @r A blob containing the blob..
  • ot_metrics_get_variation (object font, string metrics_tag)

    Fetches metrics value corresponding to @metrics_tag from @font with the current font variation settings applied.

    • @p font is an #hb_font_t object..
    • @p metrics_tag is tag of metrics value you like to fetch..
    • @r The requested metric value..
  • ot_name_list_names (object face)

    Enumerates all available name IDs and language combinations. Returned array is owned by the @face and should not be modified. It can be used as long as @face is alive.

    • @p face is font face..
    • @p num_entries is number of returned entries..
    • @r Array of available name entries..
  • ot_shape_get_buffer_format_serial ()

    Returns the serial number of the current internal buffer format. See #HB_OT_SHAPE_BUFFER_FORMAT_SERIAL for more information.

    • @r The current buffer-format serial number..
  • ot_shape_plan_get_feature_tags (object shape_plan, int start_offset)

    Fetches the list of OpenType feature tags enabled for a shaping plan, if possible.

    • @p shape_plan is A shaping plan.
    • @p start_offset is The index of first feature to retrieve.
    • @p tag_count is Input = the maximum number of features to return; Output = the actual number of features returned (may be zero).
    • @p tags is The array of enabled feature.
    • @r Total number of feature tagss..
  • ot_var_get_axes (object face, int start_offset)

    Fetches a list of all variation axes in the specified face. The list returned will begin at the offset provided.

    • @r A map with the materialized list and the total count under result.
  • ot_var_get_axis_count (object face)

    Fetches the number of OpenType variation axes included in the face.

    • @p face is The #hb_face_t to work on.
    • @r the number of variation axes defined.
  • ot_var_get_axis_infos (object face, int start_offset)

    Fetches a list of all variation axes in the specified face. The list returned will begin at the offset provided.

    • @r A map with the materialized list and the total count under result.
  • ot_var_get_named_instance_count (object face)

    Fetches the number of named instances included in the face.

    • @p face is The #hb_face_t to work on.
    • @r the number of named instances defined.
  • ot_var_named_instance_get_design_coords (object face, int instance_index)

    Fetches the design-space coordinates corresponding to the given named instance in the face.

    • @p face is The #hb_face_t to work on.
    • @p instance_index is The index of the named instance to query.
    • @p coords_length is Input = the maximum number of coordinates to return; Output = the actual number of coordinates returned (may be zero).
    • @p coords is The array of coordinates found for the query.
    • @r the number of variation axes in the face.
  • ot_var_normalize_coords (object face, int coords_length, double design_coords)

    Normalizes the given design-space coordinates. The minimum and maximum values for the axis are mapped to the interval [-1,1], with the default axis value mapped to 0. The normalized values have 14 bits of fixed-point sub-integer precision as per OpenType specification. Any additional scaling defined in the face's avar table is also applied, as described at https://docs.microsoft.com/en-us/typography/opentype/spec/avar Note:

    • @coords_length must be the same as the number of axes in the face, as for example returned by hb_ot_var_get_axis_count(). Otherwise, the behavior is undefined.
    • @p face is The #hb_face_t to work on.
    • @p coords_length is The length of the coordinate array.
    • @p design_coords is The design-space coordinates to normalize.
    • @p normalized_coords is The normalized coordinates.
    • @r None.
  • ot_var_normalize_variations (object face, object variations, int variations_length)

    Normalizes all of the coordinates in the given list of variation axes.

    • @p face is The #hb_face_t to work on.
    • @p variations is The array of variations to normalize.
    • @p variations_length is The number of variations to normalize.
    • @p coords is The array of normalized coordinates.
    • @p coords_length is The length of the coordinate array.
    • @r None.
  • paint_funcs_create ()

    Creates a new #hb_paint_funcs_t structure of paint functions. The initial reference count of 1 should be released with hb_paint_funcs_destroy() when you are done using the #hb_paint_funcs_t. This function never returns NULL. If memory cannot be allocated, a special singleton #hb_paint_funcs_t object will be returned.

    • @r the paint-functions structure.
  • paint_funcs_destroy (object funcs)

    Decreases the reference count on a paint-functions structure. When the reference count reaches zero, the structure is destroyed, freeing all memory.

    • @p funcs is The paint-functions structure.
    • @r None.
  • paint_funcs_get_empty ()

    Fetches the singleton empty paint-functions structure.

    • @r The empty paint-functions structure.
  • paint_funcs_get_user_data (object funcs, key)

    Fetches the user-data associated with the specified key, attached to the specified paint-functions structure.

    • @p funcs is The paint-functions structure.
    • @p key is The user-data key to query.
    • @r A pointer to the user data.
  • paint_funcs_make_immutable (object funcs)

    Makes a paint-functions structure immutable. After this call, all attempts to set one of the callbacks on @funcs will fail.

    • @p funcs is The paint-functions structure.
    • @r None.
  • paint_funcs_reference (object funcs)

    Increases the reference count on a paint-functions structure. This prevents @funcs from being destroyed until a matching call to hb_paint_funcs_destroy() is made.

    • @p funcs is The paint-functions structure.
    • @r The paint-functions structure.
  • paint_funcs_set_color_func (object funcs, object func)

    Sets the paint-color callback on the paint functions struct.

    • @p funcs is A paint functions struct.
    • @p func is The paint-color callback.
    • @p user_data is Data to pass to @func.
    • @p destroy is Function to call when @user_data is no longer needed.
    • @r None.
  • paint_funcs_set_color_glyph_func (object funcs, object func)

    Sets the color-glyph callback on the paint functions struct.

    • @p funcs is A paint functions struct.
    • @p func is The color-glyph callback.
    • @p user_data is Data to pass to @func.
    • @p destroy is Function to call when @user_data is no longer needed.
    • @r None.
  • paint_funcs_set_custom_palette_color_func (object funcs, object func)

    Sets the custom-palette-color callback on @funcs.

    • @p funcs is a paint functions struct..
    • @p func is custom-palette-color callback..
    • @p user_data is data to pass to @func..
    • @p destroy is function to call when @user_data is no longer needed..
    • @r None.
  • paint_funcs_set_image_func (object funcs, object func)

    Sets the paint-image callback on the paint functions struct.

    • @p funcs is A paint functions struct.
    • @p func is The paint-image callback.
    • @p user_data is Data to pass to @func.
    • @p destroy is Function to call when @user_data is no longer needed.
    • @r None.
  • paint_funcs_set_linear_gradient_func (object funcs, object func)

    Sets the linear-gradient callback on the paint functions struct.

    • @p funcs is A paint functions struct.
    • @p func is The linear-gradient callback.
    • @p user_data is Data to pass to @func.
    • @p destroy is Function to call when @user_data is no longer needed.
    • @r None.
  • paint_funcs_set_pop_clip_func (object funcs, object func)

    Sets the pop-clip callback on the paint functions struct.

    • @p funcs is A paint functions struct.
    • @p func is The pop-clip callback.
    • @p user_data is Data to pass to @func.
    • @p destroy is Function to call when @user_data is no longer needed.
    • @r None.
  • paint_funcs_set_pop_group_func (object funcs, object func)

    Sets the pop-group callback on the paint functions struct.

    • @p funcs is A paint functions struct.
    • @p func is The pop-group callback.
    • @p user_data is Data to pass to @func.
    • @p destroy is Function to call when @user_data is no longer needed.
    • @r None.
  • paint_funcs_set_pop_transform_func (object funcs, object func)

    Sets the pop-transform callback on the paint functions struct.

    • @p funcs is A paint functions struct.
    • @p func is The pop-transform callback.
    • @p user_data is Data to pass to @func.
    • @p destroy is Function to call when @user_data is no longer needed.
    • @r None.
  • paint_funcs_set_push_clip_glyph_func (object funcs, object func)

    Sets the push-clip-glyph callback on the paint functions struct.

    • @p funcs is A paint functions struct.
    • @p func is The push-clip-glyph callback.
    • @p user_data is Data to pass to @func.
    • @p destroy is Function to call when @user_data is no longer needed.
    • @r None.
  • paint_funcs_set_push_clip_rectangle_func (object funcs, object func)

    Sets the push-clip-rect callback on the paint functions struct.

    • @p funcs is A paint functions struct.
    • @p func is The push-clip-rectangle callback.
    • @p user_data is Data to pass to @func.
    • @p destroy is Function to call when @user_data is no longer needed.
    • @r None.
  • paint_funcs_set_push_group_for_func (object funcs, object func)

    Sets the push-group-for callback on the paint functions struct. XSince: REPLACEME

    • @p funcs is A paint functions struct.
    • @p func is The push-group-for callback.
    • @p user_data is Data to pass to @func.
    • @p destroy is Function to call when @user_data is no longer needed.
    • @r None.
  • paint_funcs_set_push_group_func (object funcs, object func)

    Sets the push-group callback on the paint functions struct.

    • @p funcs is A paint functions struct.
    • @p func is The push-group callback.
    • @p user_data is Data to pass to @func.
    • @p destroy is Function to call when @user_data is no longer needed.
    • @r None.
  • paint_funcs_set_push_transform_func (object funcs, object func)

    Sets the push-transform callback on the paint functions struct.

    • @p funcs is A paint functions struct.
    • @p func is The push-transform callback.
    • @p user_data is Data to pass to @func.
    • @p destroy is Function to call when @user_data is no longer needed.
    • @r None.
  • paint_funcs_set_radial_gradient_func (object funcs, object func)

    Sets the radial-gradient callback on the paint functions struct.

    • @p funcs is A paint functions struct.
    • @p func is The radial-gradient callback.
    • @p user_data is Data to pass to @func.
    • @p destroy is Function to call when @user_data is no longer needed.
    • @r None.
  • paint_funcs_set_sweep_gradient_func (object funcs, object func)

    Sets the sweep-gradient callback on the paint functions struct.

    • @p funcs is A paint functions struct.
    • @p func is The sweep-gradient callback.
    • @p user_data is Data to pass to @func.
    • @p destroy is Function to call when @user_data is no longer needed.
    • @r None.
  • paint_linear_gradient (object funcs, paint_data, object color_line, double x0, double y0, double x1, double y1, double x2, double y2)

    Perform a "linear-gradient" paint operation.

    • @p funcs is paint functions.
    • @p paint_data is associated data passed by the caller.
    • @p color_line is Color information for the gradient.
    • @p x0 is X coordinate of the first point.
    • @p y0 is Y coordinate of the first point.
    • @p x1 is X coordinate of the second point.
    • @p y1 is Y coordinate of the second point.
    • @p x2 is X coordinate of the third point.
    • @p y2 is Y coordinate of the third point.
    • @r None.
  • paint_pop_clip (object funcs, paint_data)

    Perform a "pop-clip" paint operation.

    • @p funcs is paint functions.
    • @p paint_data is associated data passed by the caller.
    • @r None.
  • paint_pop_group (object funcs, paint_data, string mode)

    Perform a "pop-group" paint operation.

    • @p funcs is paint functions.
    • @p paint_data is associated data passed by the caller.
    • @p mode is the compositing mode to use.
    • @r None.
  • paint_pop_transform (object funcs, paint_data)

    Perform a "pop-transform" paint operation.

    • @p funcs is paint functions.
    • @p paint_data is associated data passed by the caller.
    • @r None.
  • paint_push_clip_rectangle (object funcs, paint_data, double xmin, double ymin, double xmax, double ymax)

    Perform a "push-clip-rect" paint operation.

    • @p funcs is paint functions.
    • @p paint_data is associated data passed by the caller.
    • @p xmin is min X for the rectangle.
    • @p ymin is min Y for the rectangle.
    • @p xmax is max X for the rectangle.
    • @p ymax is max Y for the rectangle.
    • @r None.
  • paint_push_font_transform (object funcs, paint_data, object font)

    Push the transform reflecting the font's scale and slant settings onto the paint functions.

    • @p funcs is paint functions.
    • @p paint_data is associated data passed by the caller.
    • @p font is a font.
    • @r None.
  • paint_push_group (object funcs, paint_data)

    Perform a "push-group" paint operation.

    • @p funcs is paint functions.
    • @p paint_data is associated data passed by the caller.
    • @r None.
  • paint_push_group_for (object funcs, paint_data, string mode)

    Perform a "push-group" paint operation, with the compositing mode known in advance. By default, this calls hb_paint_push_group(). XSince: REPLACEME

    • @p funcs is paint functions.
    • @p paint_data is associated data passed by the caller.
    • @p mode is the compositing mode that will be used when the group is popped.
    • @r None.
  • paint_push_inverse_font_transform (object funcs, paint_data, object font)

    Push the inverse of the transform reflecting the font's scale and slant settings onto the paint functions.

    • @p funcs is paint functions.
    • @p paint_data is associated data passed by the caller.
    • @p font is a font.
    • @r None.
  • paint_push_transform (object funcs, paint_data, double xx, double yx, double xy, double yy, double dx, double dy)

    Perform a "push-transform" paint operation.

    • @p funcs is paint functions.
    • @p paint_data is associated data passed by the caller.
    • @p xx is xx component of the transform matrix.
    • @p yx is yx component of the transform matrix.
    • @p xy is xy component of the transform matrix.
    • @p yy is yy component of the transform matrix.
    • @p dx is dx component of the transform matrix.
    • @p dy is dy component of the transform matrix.
    • @r None.
  • paint_radial_gradient (object funcs, paint_data, object color_line, double x0, double y0, double r0, double x1, double y1, double r1)

    Perform a "radial-gradient" paint operation.

    • @p funcs is paint functions.
    • @p paint_data is associated data passed by the caller.
    • @p color_line is Color information for the gradient.
    • @p x0 is X coordinate of the first circle's center.
    • @p y0 is Y coordinate of the first circle's center.
    • @p r0 is radius of the first circle.
    • @p x1 is X coordinate of the second circle's center.
    • @p y1 is Y coordinate of the second circle's center.
    • @p r1 is radius of the second circle.
    • @r None.
  • paint_sweep_gradient (object funcs, paint_data, object color_line, double x0, double y0, double start_angle, double end_angle)

    Perform a "sweep-gradient" paint operation.

    • @p funcs is paint functions.
    • @p paint_data is associated data passed by the caller.
    • @p color_line is Color information for the gradient.
    • @p x0 is X coordinate of the circle's center.
    • @p y0 is Y coordinate of the circle's center.
    • @p start_angle is the start angle.
    • @p end_angle is the end angle.
    • @r None.
  • realloc (ptr, int size)

    Reallocates the memory pointed to by @ptr to @size bytes, using the allocator set at compile-time. Typically just realloc().

    • @p ptr is The pointer to the memory to reallocate..
    • @p size is The new size of the memory..
    • @r A pointer to the reallocated memory..
  • script_from_string (list str)

    Converts a string @str representing an ISO 15924 script tag to a corresponding #hb_script_t. Shorthand for hb_tag_from_string() then hb_script_from_iso15924_tag().

    • @p str is a string representing an ISO 15924 tag..
    • @p len is length of the @str, or -1 if it is NULL-terminated..
    • @r An #hb_script_t corresponding to the ISO 15924 tag..
  • script_get_horizontal_direction (string script)

    Fetches the #hb_direction_t of a script when it is set horizontally. All right-to-left scripts will return #HB_DIRECTION_RTL. All left-to-right scripts will return #HB_DIRECTION_LTR. Scripts that can be written either right-to-left or left-to-right will return #HB_DIRECTION_INVALID. Unknown scripts will return #HB_DIRECTION_LTR.

    • @p script is The #hb_script_t to query.
    • @r The horizontal #hb_direction_t of @script.
  • segment_properties_hash (object p)

    Creates a hash representing @p.

    • @p p is #hb_segment_properties_t to hash..
    • @r A hash of @p..
  • segment_properties_overlay (object p, object src)

    Fills in missing fields of @p from @src in a considered manner. First, if

    • @p does not have direction set, direction is copied from @src. Next, if
    • @p and @src have the same direction (which can be unset), if @p does not have script set, script is copied from @src. Finally, if @p and @src have the same direction and script (which either can be unset), if @p does not have language set, language is copied from @src.
    • @p p is #hb_segment_properties_t to fill in..
    • @p src is #hb_segment_properties_t to fill in from..
    • @r None.
  • set_clear (object set)

    Clears out the contents of a set.

    • @p set is A set.
    • @r None.
  • set_copy (object set)

    Allocate a copy of @set.

    • @p set is A set.
    • @r Newly-allocated set..
  • set_create ()

    Creates a new, initially empty set.

    • @r The new #hb_set_t.
  • set_destroy (object set)

    Decreases the reference count on a set. When the reference count reaches zero, the set is destroyed, freeing all memory.

    • @p set is A set.
    • @r None.
  • set_get_empty ()

    Fetches the singleton empty #hb_set_t.

    • @r The empty #hb_set_t.
  • set_get_population (object set)

    Returns the number of elements in the set.

    • @p set is A set.
    • @r The population of @set.
  • set_get_user_data (object set, key)

    Fetches the user data associated with the specified key, attached to the specified set.

    • @p set is A set.
    • @p key is The user-data key to query.
    • @r A pointer to the user data.
  • set_hash (object set)

    Creates a hash representing @set.

    • @p set is A set.
    • @r A hash of @set..
  • set_intersect (object set, object other)

    Makes @set the intersection of @set and @other.

    • @p set is A set.
    • @p other is Another set.
    • @r None.
  • set_invert (object set)

    Inverts the contents of @set.

    • @p set is A set.
    • @r None.
  • set_reference (object set)

    Increases the reference count on a set.

    • @p set is A set.
    • @r The set.
  • set_set (object set, object other)

    Makes the contents of @set equal to the contents of @other.

    • @p set is A set.
    • @p other is Another set.
    • @r None.
  • set_subtract (object set, object other)

    Subtracts the contents of @other from @set.

    • @p set is A set.
    • @p other is Another set.
    • @r None.
  • set_symmetric_difference (object set, object other)

    Makes @set the symmetric difference of @set and @other.

    • @p set is A set.
    • @p other is Another set.
    • @r None.
  • set_union (object set, object other)

    Makes @set the union of @set and @other.

    • @p set is A set.
    • @p other is Another set.
    • @r None.
  • shape (object font, object buffer, list features)

    Shapes @buffer using @font turning its Unicode characters content to positioned glyphs. If @features is not NULL, it will be used to control the features applied during shaping. If two @features have the same tag but overlapping ranges the value of the feature with the higher index takes precedence.

    • @p font is an #hb_font_t to use for shaping.
    • @p buffer is an #hb_buffer_t to shape.
    • @p features is an array of user specified #hb_feature_t or NULL.
    • @p num_features is the length of @features array.
    • @r None.
  • shape_list_shapers ()

    Retrieves the list of shapers supported by HarfBuzz.

    • @r a NULL-terminated array of supported shapers constant string. The returned array is owned by HarfBuzz and should not be modified or freed..
  • shape_plan_create (object face, object props, list user_features, list shaper_list)

    Constructs a shaping plan for a combination of @face, @user_features,

    • @props, and @shaper_list.
    • @p face is #hb_face_t to use.
    • @p props is The #hb_segment_properties_t of the segment.
    • @p user_features is The list of user-selected features.
    • @p num_user_features is The number of user-selected features.
    • @p shaper_list is List of shapers to try.
    • @r The shaping plan.
  • shape_plan_create2 (object face, object props, list user_features, list coords, list shaper_list)

    The variable-font version of #hb_shape_plan_create. Constructs a shaping plan for a combination of @face, @user_features, @props, and

    • @shaper_list, plus the variation-space coordinates @coords.
    • @p face is #hb_face_t to use.
    • @p props is The #hb_segment_properties_t of the segment.
    • @p user_features is The list of user-selected features.
    • @p num_user_features is The number of user-selected features.
    • @p coords is The list of variation-space coordinates.
    • @p num_coords is The number of variation-space coordinates.
    • @p shaper_list is List of shapers to try.
    • @r The shaping plan.
  • shape_plan_create_cached (object face, object props, list user_features, list shaper_list)

    Creates a cached shaping plan suitable for reuse, for a combination of

    • @face, @user_features, @props, and @shaper_list.
    • @p face is #hb_face_t to use.
    • @p props is The #hb_segment_properties_t of the segment.
    • @p user_features is The list of user-selected features.
    • @p num_user_features is The number of user-selected features.
    • @p shaper_list is List of shapers to try.
    • @r The shaping plan.
  • shape_plan_create_cached2 (object face, object props, list user_features, list coords, list shaper_list)

    The variable-font version of #hb_shape_plan_create_cached. Creates a cached shaping plan suitable for reuse, for a combination of @face,

    • @user_features, @props, and @shaper_list, plus the variation-space coordinates @coords.
    • @p face is #hb_face_t to use.
    • @p props is The #hb_segment_properties_t of the segment.
    • @p user_features is The list of user-selected features.
    • @p num_user_features is The number of user-selected features.
    • @p coords is The list of variation-space coordinates.
    • @p num_coords is The number of variation-space coordinates.
    • @p shaper_list is List of shapers to try.
    • @r The shaping plan.
  • shape_plan_destroy (object shape_plan)

    Decreases the reference count on the given shaping plan. When the reference count reaches zero, the shaping plan is destroyed, freeing all memory.

    • @p shape_plan is A shaping plan.
    • @r None.
  • shape_plan_get_empty ()

    Fetches the singleton empty shaping plan.

    • @r The empty shaping plan.
  • shape_plan_get_shaper (object shape_plan)

    Fetches the shaper from a given shaping plan.

    • @p shape_plan is A shaping plan.
    • @r The shaper.
  • shape_plan_get_user_data (object shape_plan, key)

    Fetches the user data associated with the specified key, attached to the specified shaping plan.

    • @p shape_plan is A shaping plan.
    • @p key is The user-data key to query.
    • @r A pointer to the user data.
  • shape_plan_reference (object shape_plan)

    Increases the reference count on the given shaping plan.

    • @p shape_plan is A shaping plan.
    • @r @shape_plan.
  • style_get_value (object font, string style_tag)

    Searches variation axes of a #hb_font_t object for a specific axis first, if not set, first tries to get default style values in STAT table then tries to polyfill from different tables of the font.

    • @p font is a #hb_font_t object..
    • @p style_tag is a style tag..
    • @r Corresponding axis or default value to a style tag..
  • unicode_funcs_create (object parent)

    Creates a new #hb_unicode_funcs_t structure of Unicode functions.

    • @p parent is Parent Unicode-functions structure.
    • @r The Unicode-functions structure.
  • unicode_funcs_destroy (object ufuncs)

    Decreases the reference count on a Unicode-functions structure. When the reference count reaches zero, the Unicode-functions structure is destroyed, freeing all memory.

    • @p ufuncs is The Unicode-functions structure.
    • @r None.
  • unicode_funcs_get_default ()

    Fetches a pointer to the default Unicode-functions structure that is used when no functions are explicitly set on #hb_buffer_t.

    • @r a pointer to the #hb_unicode_funcs_t Unicode-functions structure.
  • unicode_funcs_get_empty ()

    Fetches the singleton empty Unicode-functions structure.

    • @r The empty Unicode-functions structure.
  • unicode_funcs_get_parent (object ufuncs)

    Fetches the parent of the Unicode-functions structure @ufuncs.

    • @p ufuncs is The Unicode-functions structure.
    • @r The parent Unicode-functions structure.
  • unicode_funcs_get_user_data (object ufuncs, key)

    Fetches the user-data associated with the specified key, attached to the specified Unicode-functions structure.

    • @p ufuncs is The Unicode-functions structure.
    • @p key is The user-data key to query.
    • @r A pointer to the user data.
  • unicode_funcs_make_immutable (object ufuncs)

    Makes the specified Unicode-functions structure immutable.

    • @p ufuncs is The Unicode-functions structure.
    • @r None.
  • unicode_funcs_reference (object ufuncs)

    Increases the reference count on a Unicode-functions structure.

    • @p ufuncs is The Unicode-functions structure.
    • @r The Unicode-functions structure.
  • unicode_funcs_set_combining_class_func (object ufuncs, object func)

    Sets the implementation function for #hb_unicode_combining_class_func_t.

    • @p ufuncs is A Unicode-functions structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • unicode_funcs_set_compose_func (object ufuncs, object func)

    Sets the implementation function for #hb_unicode_compose_func_t.

    • @p ufuncs is A Unicode-functions structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • unicode_funcs_set_decompose_compatibility_func (object ufuncs, object func)

    Sets the implementation function for #hb_unicode_decompose_compatibility_func_t.

    • @p ufuncs is A Unicode-functions structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • unicode_funcs_set_decompose_func (object ufuncs, object func)

    Sets the implementation function for #hb_unicode_decompose_func_t.

    • @p ufuncs is A Unicode-functions structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • unicode_funcs_set_eastasian_width_func (object ufuncs, object func)

    Sets the implementation function for #hb_unicode_eastasian_width_func_t.

    • @p ufuncs is a Unicode-function structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • unicode_funcs_set_general_category_func (object ufuncs, object func)

    Sets the implementation function for #hb_unicode_general_category_func_t.

    • @p ufuncs is A Unicode-functions structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • unicode_funcs_set_mirroring_func (object ufuncs, object func)

    Sets the implementation function for #hb_unicode_mirroring_func_t.

    • @p ufuncs is A Unicode-functions structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • unicode_funcs_set_script_func (object ufuncs, object func)

    Sets the implementation function for #hb_unicode_script_func_t.

    • @p ufuncs is A Unicode-functions structure.
    • @p func is The callback function to assign.
    • @p user_data is Data to pass to @func.
    • @p destroy is The function to call when @user_data is not needed anymore.
    • @r None.
  • variation_to_string (object variation)

    Converts an #hb_variation_t into a NULL-terminated string in the format understood by hb_variation_from_string(). The client in responsible for allocating big enough size for @buf, 128 bytes is more than enough. Note that the string won't include any whitespace.

    • @p variation is an #hb_variation_t to convert.
    • @p buf is output string.
    • @p size is the allocated size of @buf.
    • @r None.

class: HarfBuzzPaintpushcliprectanglefunctCallback

[2900:7] extends: object

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.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzPaintpushcliprectanglefunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (funcs, paint_data, xmin, ymin, xmax, ymax, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzColorlinegetextendfunctCallback

[168:7] extends: object

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

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzColorlinegetextendfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (color_line, color_line_data, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzFontpaintglyphorfailfunctCallback

[2071:7] extends: object

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

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzFontpaintglyphorfailfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (font, font_data, glyph, paint_funcs, paint_data, palette_index, foreground, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzUnicodedecomposecompatibilityfunctCallback

[3586:7] extends: object

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. If @u has no compatibility decomposition, zero should be returned. The Unicode standard guarantees that a buffer of length #HB_UNICODE_MAX_DECOMPOSITION_LEN codepoints will always be sufficient for any compatibility decomposition plus an terminating value of 0. Consequently, @decompose must be allocated by the caller to be at least this length. Implementations of this function type must ensure that they do not write past the provided array.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzUnicodedecomposecompatibilityfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (ufuncs, u, decomposed, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzFontgetglyphfromnamefunctCallback

[1201:7] extends: object

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.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzFontgetglyphfromnamefunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (font, font_data, name, len, glyph, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzFontpaintglyphfunctCallback

[2000:7] extends: object

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

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzFontpaintglyphfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (font, font_data, glyph, paint_funcs, paint_data, palette_index, foreground, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzUnicodescriptfunctCallback

[3959:7] extends: object

A virtual method for the #hb_unicode_funcs_t structure. This method should retrieve the Script property for a specified Unicode code point.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzUnicodescriptfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (ufuncs, unicode, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzFontgetglyphcontourpointfunctCallback

[1036:7] extends: object

A virtual method for the #hb_font_funcs_t of an #hb_font_t object. This method should retrieve the (X,Y) coordinates (in scaled units) for a specified contour point in a glyph. Each coordinate must be returned as an #hb_position_t output parameter.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzFontgetglyphcontourpointfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (font, font_data, glyph, point_index, x, y, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzFontgetglyphadvancefunctCallback

[884:7] extends: object

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.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzFontgetglyphadvancefunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (font, font_data, glyph, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzPaintpoptransformfunctCallback

[2750:7] extends: object

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.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzPaintpoptransformfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (funcs, paint_data, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzPaintpushclipglyphfunctCallback

[2825:7] extends: object

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 expected in the current @font scale (ie. the results of calling hb_font_draw_glyph() with @font). The outline is transformed by 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.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzPaintpushclipglyphfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (funcs, paint_data, glyph, font, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzFontdrawglyphfunctCallback

[662:7] extends: object

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

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzFontdrawglyphfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (font, font_data, glyph, draw_funcs, draw_data, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzUnicodecombiningclassfunctCallback

[3426:7] extends: object

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.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzUnicodecombiningclassfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (ufuncs, unicode, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzFontgetglyphshapefunctCallback

[1688:7] extends: object

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

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzFontgetglyphshapefunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (font, font_data, glyph, draw_funcs, draw_data, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzFontgetglyphextentsfunctCallback

[1122:7] extends: object

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.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzFontgetglyphextentsfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (font, font_data, glyph, extents, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzUnicodecomposefunctCallback

[3500:7] extends: object

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.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzUnicodecomposefunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (ufuncs, a, b, ab, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzReferencetablefunctCallback

[3350:7] extends: object

Callback function for hb_face_create_for_tables(). The @tag is the tag of the table to reference, and the special tag #HB_TAG_NONE is used to reference the blob of the face itself. If referencing the face blob is not possible, it is recommended to set hb_get_table_tags_func_t on the @face to allow hb_face_reference_blob() to create a face blob out of individual table blobs.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzReferencetablefunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (face, tag, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzFontgetnominalglyphsfunctCallback

[1841:7] extends: object

A virtual method for the #hb_font_funcs_t of an #hb_font_t object. This method should retrieve the nominal glyph IDs for a sequence of Unicode code points. Glyph IDs must be returned in a #hb_codepoint_t output parameter.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzFontgetnominalglyphsfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (font, font_data, count, first_unicode, unicode_stride, first_glyph, glyph_stride, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzFontgetglyphoriginfunctCallback

[1517:7] extends: object

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

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzFontgetglyphoriginfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (font, font_data, glyph, x, y, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzFontgetnominalglyphfunctCallback

[1761:7] extends: object

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.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzFontgetnominalglyphfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (font, font_data, unicode, glyph, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzPaintcolorglyphfunctCallback

[2295:7] extends: object

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

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzPaintcolorglyphfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (funcs, paint_data, glyph, font, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzPaintpopgroupfunctCallback

[2678:7] extends: object

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.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzPaintpopgroupfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (funcs, paint_data, mode, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzUnicodemirroringfunctCallback

[3888:7] extends: object

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: If a code point does not have a specified Bi-Directional Mirroring Glyph defined, the method should return the original code point.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzUnicodemirroringfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (ufuncs, unicode, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzUnicodedecomposefunctCallback

[3659:7] extends: object

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.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzUnicodedecomposefunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (ufuncs, ab, a, b, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzDrawquadratictofunctCallback

[592:7] extends: object

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

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzDrawquadratictofunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (dfuncs, draw_data, st, control_x, control_y, to_x, to_y, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzGettabletagsfunctCallback

[2142:7] extends: object

Callback function for hb_face_get_table_tags().

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzGettabletagsfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (face, start_offset, table_count, table_tags, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzDrawcubictofunctCallback

[379:7] extends: object

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

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzDrawcubictofunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (dfuncs, draw_data, st, control1_x, control1_y, control2_x, control2_y, to_x, to_y, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzPaintcolorfunctCallback

[2224:7] extends: object

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

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzPaintcolorfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (funcs, paint_data, is_foreground, color, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzPaintradialgradientfunctCallback

[3197:7] extends: object

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.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzPaintradialgradientfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (funcs, paint_data, color_line, x0, y0, r0, x1, y1, r1, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzFontgetglyphkerningfunctCallback

[1361:7] extends: object

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

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzFontgetglyphkerningfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (font, font_data, first_glyph, second_glyph, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzPaintpushgroupforfunctCallback

[2974:7] extends: object

A virtual method for the #hb_paint_funcs_t to use an intermediate surface for subsequent paint calls, with the compositing mode known in advance. This is like #hb_paint_push_group_func_t, but the compositing mode is provided at push time. By default this calls #hb_paint_push_group_func_t. XSince: REPLACEME

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzPaintpushgroupforfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (funcs, paint_data, mode, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzPaintsweepgradientfunctCallback

[3275:7] extends: object

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.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzPaintsweepgradientfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (funcs, paint_data, color_line, x0, y0, start_angle, end_angle, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzBuffermessagefunctCallback

[16:7] extends: object

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.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzBuffermessagefunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (buffer, font, message, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzFontdrawglyphorfailfunctCallback

[733:7] extends: object

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

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzFontdrawglyphorfailfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (font, font_data, glyph, draw_funcs, draw_data, user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: HarfBuzzDestroyfunctCallback

[238:7] extends: object

A virtual method for destroy user-data callbacks.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • HarfBuzzDestroyfunctCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (user_data)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.