hb_feature_t:
@tag: a feature tag
@value: 0 disables the feature, non-zero (usually 1) enables the feature.
For features implemented as lookup type 3 (like ‘salt’) the @value is a one
based index into the alternates.
@start: the cluster to start applying this feature setting (inclusive).
@end: the cluster to end applying this feature setting (exclusive).
hb_glyph_info_t:
@codepoint: either a Unicode code point (before shaping) or a glyph index
(after shaping).
@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_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:
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_kerning_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_kerning_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_eastasian_width:
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_compatibility_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_eastasian_width_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:
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_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE:
flag indicating that a dotted circle should
not be inserted in the rendering of incorrect
character sequences (such at <0905 093E>). Since: 2.4
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_unicode_decompose_compatibility_func_t:
@ufuncs: a Unicode function structure
@u: codepoint to decompose
@decomposed: address of codepoint array (of length %HB_UNICODE_MAX_DECOMPOSITION_LEN) to write decomposition into
@user_data: user data pointer as passed to hb_unicode_funcs_set_decompose_compatibility_func()
hb_unicode_eastasian_width_func_t: