Skip to content

global luaharfbuzz

https://github.com/ufyTeX/luaharfbuzz/blob/master/src/harfbuzz.luadoc

😱 Types incomplete or incorrect? 🙏 Please contribute!


methods


luaharfbuzz.shape_full


function luaharfbuzz.shape_full(
  font: HbFont {
    new = function,
    get_scale = function,
    set_scale = function,
    get_h_extents = function,
    get_v_extents = function,
    get_glyph_extents = function,
    get_glyph_name = function,
    get_glyph_from_name = function,
    get_glyph_h_advance = function,
    get_glyph_v_advance = function,
    get_nominal_glyph = function,
    ot_color_glyph_get_png = function,
    ...(+0)
},
  buffer: HbBuffer {
    CLUSTER_LEVEL_MONOTONE_GRAPHEMES = 0,
    CLUSTER_LEVEL_MONOTONE_CHARACTERS = 1,
    CLUSTER_LEVEL_CHARACTERS = 2,
    CLUSTER_LEVEL_DEFAULT = 0,
    GLYPH_FLAG_UNSAFE_TO_BREAK = 1,
    GLYPH_FLAG_DEFINED = 3,
    new = function,
    add_utf8 = function,
    add_codepoints = function,
    set_direction = function,
    get_direction = function,
    set_script = function,
    ...(+9)
},
  features: HbFeature[],
  shapers: string[]
)

Shapes buffer using font turning its Unicode characters content to positioned glyphs. If features is not nil, it will be used to control the features applied during shaping.

Wraps hb_shape_full.

Reference:

luaharfbuzz.shapers


function luaharfbuzz.shapers() ->  string ...

@return - for example: graphite2 ot fallback

😱 Types incomplete or incorrect? 🙏 Please contribute!

Retrieve the list of shapers supported by HarfBuzz.

Reference:

luaharfbuzz.version


function luaharfbuzz.version() ->  string

Return the library version as a string with three components.

Wraps hb_version_string.

Reference:

luaharfbuzz.shape


function luaharfbuzz.shape(
  font: HbFont {
    new = function,
    get_scale = function,
    set_scale = function,
    get_h_extents = function,
    get_v_extents = function,
    get_glyph_extents = function,
    get_glyph_name = function,
    get_glyph_from_name = function,
    get_glyph_h_advance = function,
    get_glyph_v_advance = function,
    get_nominal_glyph = function,
    ot_color_glyph_get_png = function,
    ...(+0)
},
  buffer: HbBuffer {
    CLUSTER_LEVEL_MONOTONE_GRAPHEMES = 0,
    CLUSTER_LEVEL_MONOTONE_CHARACTERS = 1,
    CLUSTER_LEVEL_CHARACTERS = 2,
    CLUSTER_LEVEL_DEFAULT = 0,
    GLYPH_FLAG_UNSAFE_TO_BREAK = 1,
    GLYPH_FLAG_DEFINED = 3,
    new = function,
    add_utf8 = function,
    add_codepoints = function,
    set_direction = function,
    get_direction = function,
    set_script = function,
    ...(+9)
},
  options: LuaHarfBuzzOptions?
)
@param font - Font to use for shaping

@param buffer - Buffer to shape

Shape buffer using font turning its Unicode characters content to positioned glyphs.

Reference:

fields


luaharfbuzz.Blob


luaharfbuzz.Blob : Blob {
    new: function,
    new_from_file: function,
    get_length: function,
    get_data: function,
}

luaharfbuzz.Face


luaharfbuzz.Face : HbFace {
    new_from_blob: function,
    new: function,
    collect_unicodes: function,
    get_glyph_count: function,
    get_name: function,
    get_table: function,
    get_table_tags: function,
    get_upem: function,
    ot_color_has_palettes: function,
    ot_color_palette_get_count: function,
    ot_color_palette_get_colors: function,
    ot_color_has_layers: function,
    ...(+8)
}

luaharfbuzz.Font


luaharfbuzz.Font : HbFont {
    new: function,
    get_scale: function,
    set_scale: function,
    get_h_extents: function,
    get_v_extents: function,
    get_glyph_extents: function,
    get_glyph_name: function,
    get_glyph_from_name: function,
    get_glyph_h_advance: function,
    get_glyph_v_advance: function,
    get_nominal_glyph: function,
    ot_color_glyph_get_png: function,
    ...(+0)
}

luaharfbuzz.Buffer


luaharfbuzz.Buffer : HbBuffer {
    CLUSTER_LEVEL_MONOTONE_GRAPHEMES: integer = 0,
    CLUSTER_LEVEL_MONOTONE_CHARACTERS: integer = 1,
    CLUSTER_LEVEL_CHARACTERS: integer = 2,
    CLUSTER_LEVEL_DEFAULT: integer = 0,
    GLYPH_FLAG_UNSAFE_TO_BREAK: integer = 1,
    GLYPH_FLAG_DEFINED: integer = 3,
    new: function,
    add_utf8: function,
    add_codepoints: function,
    set_direction: function,
    get_direction: function,
    set_script: function,
    ...(+9)
}

luaharfbuzz.Feature


luaharfbuzz.Feature : HbFeature {
    new: function,
    __tostring: function,
}

luaharfbuzz.Tag


luaharfbuzz.Tag : HbTag {
    new: function,
    __to_string: function,
    __eq: function,
}

luaharfbuzz.Script


luaharfbuzz.Script : HbScript {
    COMMON: string,
    INHERITED: string,
    UNKNOWN: string,
    INVALID: string,
    new: function,
    from_iso15924_tag: function,
    to_iso15924_tag: function,
    __to_string: function,
    __eq: function,
}

luaharfbuzz.Direction


luaharfbuzz.Direction : HbDirection {
    LTR: integer?,
    RTL: integer?,
    TTB: integer?,
    BTT: integer?,
    new: function,
    __to_string: function,
    __eq: function,
    is_valid: function,
    is_horizontal: function,
    is_vertical: function,
    is_forward: function,
    is_backward: function,
    ...(+0)
}

luaharfbuzz.Language


luaharfbuzz.Language : HbLanguage {
    INVALID: HbLanguage,
    new: function,
    __tostring: function,
    __eq: function,
}

luaharfbuzz.unicode


luaharfbuzz.unicode : unicode {
    script: function,
}

luaharfbuzz.ot


luaharfbuzz.ot : ot {
    NAME_ID_COPYRIGHT: string,
    NAME_ID_FONT_FAMILY: string,
    NAME_ID_FONT_SUBFAMILY: string,
    NAME_ID_UNIQUE_ID: string,
    NAME_ID_FULL_NAME: string,
    NAME_ID_VERSION_STRING: string,
    NAME_ID_POSTSCRIPT_NAME: string,
    NAME_ID_TRADEMARK: string,
    NAME_ID_MANUFACTURER: string,
    NAME_ID_DESIGNER: string,
    NAME_ID_DESCRIPTION: string,
    NAME_ID_VENDOR_URL: string,
    ...(+18)
}

luaharfbuzz.Variation


luaharfbuzz.Variation : HbVariation

Reference:

😱 Types incomplete or incorrect? 🙏 Please contribute!