Crate harfbuzz_sys

source ·

Structs

hb_glyph_info_t: @codepoint: either a Unicode code point (before shaping) or a glyph index (after shaping). @mask: @cluster: the index of the character in the original text that corresponds to this hb_glyph_info_t, or whatever the client passes to hb_buffer_add(). More than one hb_glyph_info_t can have the same @cluster value, if they resulted from the same character (e.g. one to many glyph substitution), and when more than one character gets merged in the same glyph (e.g. many to one glyph substitution) the hb_glyph_info_t will have the smallest cluster value of them. By default some characters are merged into the same cluster (e.g. combining marks have the same cluster as their bases) even if they are separate glyphs, hb_buffer_set_cluster_level() allow selecting more fine-grained cluster handling.
hb_glyph_position_t: @x_advance: how much the line advances after drawing this glyph when setting text in horizontal direction. @y_advance: how much the line advances after drawing this glyph when setting text in vertical direction. @x_offset: how much the glyph moves on the X-axis before drawing it, this should not affect how much the line advances. @y_offset: how much the glyph moves on the Y-axis before drawing it, this should not affect how much the line advances.
hb_ot_color_layer_t:
hb_ot_math_glyph_part_t:
hb_ot_math_glyph_variant_t:
hb_ot_name_entry_t: @name_id: name ID @language: language
hb_ot_var_axis_t:
hb_segment_properties_t: @direction: the hb_direction_t of the buffer, see hb_buffer_set_direction(). @script: the hb_script_t of the buffer, see hb_buffer_set_script(). @language: the hb_language_t of the buffer, see hb_buffer_set_language().
hb_variation_t:

Constants

Functions

hb_font_funcs_set_font_h_extents_func: @ffuncs: font functions. @func: (closure user_data) (destroy destroy) (scope notified): @user_data: @destroy:
hb_font_funcs_set_font_v_extents_func: @ffuncs: font functions. @func: (closure user_data) (destroy destroy) (scope notified): @user_data: @destroy:
hb_font_funcs_set_glyph_contour_point_func: @ffuncs: font functions. @func: (closure user_data) (destroy destroy) (scope notified): @user_data: @destroy:
hb_font_funcs_set_glyph_extents_func: @ffuncs: font functions. @func: (closure user_data) (destroy destroy) (scope notified): @user_data: @destroy:
hb_font_funcs_set_glyph_from_name_func: @ffuncs: font functions. @func: (closure user_data) (destroy destroy) (scope notified): @user_data: @destroy:
hb_font_funcs_set_glyph_h_advance_func: @ffuncs: font functions. @func: (closure user_data) (destroy destroy) (scope notified): @user_data: @destroy:
hb_font_funcs_set_glyph_h_advances_func: @ffuncs: font functions. @func: (closure user_data) (destroy destroy) (scope notified): @user_data: @destroy:
hb_font_funcs_set_glyph_h_origin_func: @ffuncs: font functions. @func: (closure user_data) (destroy destroy) (scope notified): @user_data: @destroy:
hb_font_funcs_set_glyph_name_func: @ffuncs: font functions. @func: (closure user_data) (destroy destroy) (scope notified): @user_data: @destroy:
hb_font_funcs_set_glyph_v_advance_func: @ffuncs: font functions. @func: (closure user_data) (destroy destroy) (scope notified): @user_data: @destroy:
hb_font_funcs_set_glyph_v_advances_func: @ffuncs: font functions. @func: (closure user_data) (destroy destroy) (scope notified): @user_data: @destroy:
hb_font_funcs_set_glyph_v_origin_func: @ffuncs: font functions. @func: (closure user_data) (destroy destroy) (scope notified): @user_data: @destroy:
hb_font_funcs_set_nominal_glyph_func: @ffuncs: font functions. @func: (closure user_data) (destroy destroy) (scope notified): @user_data: @destroy:
hb_font_funcs_set_nominal_glyphs_func: @ffuncs: font functions. @func: (closure user_data) (destroy destroy) (scope notified): @user_data: @destroy:
hb_font_funcs_set_variation_glyph_func: @ffuncs: font functions. @func: (closure user_data) (destroy destroy) (scope notified): @user_data: @destroy:
hb_unicode_combining_class:
hb_unicode_funcs_set_combining_class_func: @ufuncs: a Unicode function structure @func: (closure user_data) (destroy destroy) (scope notified): @user_data: @destroy:
hb_unicode_funcs_set_compose_func: @ufuncs: a Unicode function structure @func: (closure user_data) (destroy destroy) (scope notified): @user_data: @destroy:
hb_unicode_funcs_set_decompose_func: @ufuncs: a Unicode function structure @func: (closure user_data) (destroy destroy) (scope notified): @user_data: @destroy:
hb_unicode_funcs_set_general_category_func: @ufuncs: a Unicode function structure @func: (closure user_data) (destroy destroy) (scope notified): @user_data: @destroy:
hb_unicode_funcs_set_mirroring_func: @ufuncs: a Unicode function structure @func: (closure user_data) (destroy destroy) (scope notified): @user_data: @destroy:
hb_unicode_funcs_set_script_func: @ufuncs: a Unicode function structure @func: (closure user_data) (destroy destroy) (scope notified): @user_data: @destroy:
hb_unicode_general_category:
hb_unicode_mirroring:
hb_unicode_script:

Type Definitions

hb_ot_name_id_t: @HB_OT_NAME_ID_INVALID: Value to represent a nonexistent name ID.
hb_buffer_cluster_level_t: @HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES: Return cluster values grouped by graphemes into monotone order. @HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS: Return cluster values grouped into monotone order. @HB_BUFFER_CLUSTER_LEVEL_CHARACTERS: Don’t group cluster values. @HB_BUFFER_CLUSTER_LEVEL_DEFAULT: Default cluster level, equal to @HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES.
hb_buffer_content_type_t: @HB_BUFFER_CONTENT_TYPE_INVALID: Initial value for new buffer. @HB_BUFFER_CONTENT_TYPE_UNICODE: The buffer contains input characters (before shaping). @HB_BUFFER_CONTENT_TYPE_GLYPHS: The buffer contains output glyphs (after shaping).
hb_buffer_flags_t: @HB_BUFFER_FLAG_DEFAULT: the default buffer flag. @HB_BUFFER_FLAG_BOT: flag indicating that special handling of the beginning of text paragraph can be applied to this buffer. Should usually be set, unless you are passing to the buffer only part of the text without the full context. @HB_BUFFER_FLAG_EOT: flag indicating that special handling of the end of text paragraph can be applied to this buffer, similar to @HB_BUFFER_FLAG_BOT. @HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES: flag indication that character with Default_Ignorable Unicode property should use the corresponding glyph from the font, instead of hiding them (done by replacing them with the space glyph and zeroing the advance width.) This flag takes precedence over @HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES. @HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES: flag indication that character with Default_Ignorable Unicode property should be removed from glyph string instead of hiding them (done by replacing them with the space glyph and zeroing the advance width.) @HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES takes precedence over this flag. Since: 1.8.0
hb_buffer_serialize_flags_t: @HB_BUFFER_SERIALIZE_FLAG_DEFAULT: serialize glyph names, clusters and positions. @HB_BUFFER_SERIALIZE_FLAG_NO_CLUSTERS: do not serialize glyph cluster. @HB_BUFFER_SERIALIZE_FLAG_NO_POSITIONS: do not serialize glyph position information. @HB_BUFFER_SERIALIZE_FLAG_NO_GLYPH_NAMES: do no serialize glyph name. @HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS: serialize glyph extents. @HB_BUFFER_SERIALIZE_FLAG_GLYPH_FLAGS: serialize glyph flags. Since: 1.5.0 @HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES: do not serialize glyph advances, glyph offsets will reflect absolute glyph positions. Since: 1.8.0
hb_buffer_serialize_format_t: @HB_BUFFER_SERIALIZE_FORMAT_TEXT: a human-readable, plain text format. @HB_BUFFER_SERIALIZE_FORMAT_JSON: a machine-readable JSON format. @HB_BUFFER_SERIALIZE_FORMAT_INVALID: invalid format.
hb_color_t:
hb_direction_t: @HB_DIRECTION_INVALID: Initial, unset direction. @HB_DIRECTION_LTR: Text is set horizontally from left to right. @HB_DIRECTION_RTL: Text is set horizontally from right to left. @HB_DIRECTION_TTB: Text is set vertically from top to bottom. @HB_DIRECTION_BTT: Text is set vertically from bottom to top.
hb_glyph_flags_t: @HB_GLYPH_FLAG_UNSAFE_TO_BREAK: Indicates that if input text is broken at the beginning of the cluster this glyph is part of, then both sides need to be re-shaped, as the result might be different. On the flip side, it means that when this flag is not present, then it’s safe to break the glyph-run at the beginning of this cluster, and the two sides represent the exact same result one would get if breaking input text at the beginning of this cluster and shaping the two sides separately. This can be used to optimize paragraph layout, by avoiding re-shaping of each line after line-breaking, or limiting the reshaping to a small piece around the breaking point only. @HB_GLYPH_FLAG_DEFINED: All the currently defined flags.
hb_ot_color_palette_flags_t: @HB_OT_COLOR_PALETTE_FLAG_DEFAULT: default indicating that there is nothing special to note about a color palette. @HB_OT_COLOR_PALETTE_FLAG_USABLE_WITH_LIGHT_BACKGROUND: flag indicating that the color palette is appropriate to use when displaying the font on a light background such as white. @HB_OT_COLOR_PALETTE_FLAG_USABLE_WITH_DARK_BACKGROUND: flag indicating that the color palette is appropriate to use when displaying the font on a dark background such as black.
hb_ot_math_constant_t:
hb_ot_math_glyph_part_flags_t:
hb_ot_math_kern_t:

Unions