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: