hb_feature_t:
@tag: The #hb_tag_t tag of the feature
@value: The value of the feature. 0 disables the feature, non-zero (usually
hb_font_extents_t:
@ascender: The height of typographic ascenders.
@descender: The depth of typographic descenders.
@line_gap: The suggested line-spacing gap.
hb_glyph_extents_t:
@x_bearing: Distance from the x-origin to the left extremum of the glyph.
@y_bearing: Distance from the top extremum of the glyph to the y-origin.
@width: Distance from the left extremum of the glyph to the right extremum.
@height: Distance from the top extremum of the glyph to the bottom extremum.
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_ot_color_layer_t:
hb_ot_math_glyph_part_t:
@glyph: The glyph index of the variant part
@start_connector_length: The length of the connector on the starting side of the variant part
@end_connector_length: The length of the connector on the ending side of the variant part
@full_advance: The total advance of the part
@flags: #hb_ot_math_glyph_part_flags_t flags for the part
hb_ot_math_glyph_variant_t:
@glyph: The glyph index of the variant
@advance: The advance width of the variant
hb_ot_name_entry_t:
@name_id: name ID
@language: language
hb_ot_var_axis_info_t:
@axis_index: Index of the axis in the variation-axis array
@tag: The #hb_tag_t tag identifying the design variation of the axis
@name_id: The name
table Name ID that provides display names for the axis
@flags: The #hb_ot_var_axis_flags_t flags for the axis
@min_value: The mininum value on the variation axis that the font covers
@default_value: The position on the variation axis corresponding to the font’s defaults
@max_value: The maximum value on the variation axis that the font covers
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_user_data_key_t:
hb_variation_t:
@tag: The #hb_tag_t tag of the variation-axis name
@value: The value of the variation axis
hb_font_funcs_set_font_h_extents_func:
@ffuncs: A font-function structure
@func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
@user_data: Data to pass to @func
@destroy: (optional): The function to call when @user_data is not needed anymore
hb_font_funcs_set_font_v_extents_func:
@ffuncs: A font-function structure
@func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
@user_data: Data to pass to @func
@destroy: (optional): The function to call when @user_data is not needed anymore
hb_font_funcs_set_glyph_contour_point_func:
@ffuncs: A font-function structure
@func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
@user_data: Data to pass to @func
@destroy: (optional): The function to call when @user_data is not needed anymore
hb_font_funcs_set_glyph_extents_func:
@ffuncs: A font-function structure
@func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
@user_data: Data to pass to @func
@destroy: (optional): The function to call when @user_data is not needed anymore
hb_font_funcs_set_glyph_from_name_func:
@ffuncs: A font-function structure
@func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
@user_data: Data to pass to @func
@destroy: (optional): The function to call when @user_data is not needed anymore
hb_font_funcs_set_glyph_h_advance_func:
@ffuncs: A font-function structure
@func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
@user_data: Data to pass to @func
@destroy: (optional): The function to call when @user_data is not needed anymore
hb_font_funcs_set_glyph_h_advances_func:
@ffuncs: A font-function structure
@func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
@user_data: Data to pass to @func
@destroy: (optional): The function to call when @user_data is not needed anymore
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: A font-function structure
@func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
@user_data: Data to pass to @func
@destroy: (optional): The function to call when @user_data is not needed anymore
hb_font_funcs_set_glyph_name_func:
@ffuncs: A font-function structure
@func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
@user_data: Data to pass to @func
@destroy: (optional): The function to call when @user_data is not needed anymore
hb_font_funcs_set_glyph_v_advance_func:
@ffuncs: A font-function structure
@func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
@user_data: Data to pass to @func
@destroy: (optional): The function to call when @user_data is not needed anymore
hb_font_funcs_set_glyph_v_advances_func:
@ffuncs: A font-function structure
@func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
@user_data: Data to pass to @func
@destroy: (optional): The function to call when @user_data is not needed anymore
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: A font-function structure
@func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
@user_data: Data to pass to @func
@destroy: (optional): The function to call when @user_data is not needed anymore
hb_font_funcs_set_nominal_glyph_func:
@ffuncs: A font-function structure
@func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
@user_data: Data to pass to @func
@destroy: (optional): The function to call when @user_data is not needed anymore
hb_font_funcs_set_nominal_glyphs_func:
@ffuncs: A font-function structure
@func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
@user_data: Data to pass to @func
@destroy: (optional): The function to call when @user_data is not needed anymore
hb_font_funcs_set_variation_glyph_func:
@ffuncs: A font-function structure
@func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
@user_data: Data to pass to @func
@destroy: (optional): The function to call when @user_data is not needed anymore
hb_unicode_combining_class:
@ufuncs: The Unicode-functions structure
@unicode: The code point to query
hb_unicode_compose:
@ufuncs: The Unicode-functions structure
@a: The first code point to compose
@b: The second code point to compose
@ab: (out): The composed code point
hb_unicode_decompose:
@ufuncs: The Unicode-functions structure
@ab: The code point to decompose
@a: (out): The first decomposed code point
@b: (out): The second decomposed code point
hb_unicode_eastasian_width:
hb_unicode_funcs_set_combining_class_func:
@ufuncs: A Unicode-functions structure
@func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
@user_data: Data to pass to @func
@destroy: (optional): The function to call when @user_data is not needed anymore
hb_unicode_funcs_set_compose_func:
@ufuncs: A Unicode-functions structure
@func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
@user_data: Data to pass to @func
@destroy: (optional): The function to call when @user_data is not needed anymore
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-functions structure
@func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
@user_data: Data to pass to @func
@destroy: (optional): The function to call when @user_data is not needed anymore
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-functions structure
@func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
@user_data: Data to pass to @func
@destroy: (optional): The function to call when @user_data is not needed anymore
hb_unicode_funcs_set_mirroring_func:
@ufuncs: A Unicode-functions structure
@func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
@user_data: Data to pass to @func
@destroy: (optional): The function to call when @user_data is not needed anymore
hb_unicode_funcs_set_script_func:
@ufuncs: A Unicode-functions structure
@func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
@user_data: Data to pass to @func
@destroy: (optional): The function to call when @user_data is not needed anymore
hb_unicode_general_category:
@ufuncs: The Unicode-functions structure
@unicode: The code point to query
hb_unicode_mirroring:
@ufuncs: The Unicode-functions structure
@unicode: The code point to query
hb_unicode_script:
@ufuncs: The Unicode-functions structure
@unicode: The code point to query
hb_aat_layout_feature_selector_t:
@HB_AAT_LAYOUT_FEATURE_SELECTOR_INVALID: Initial, unset feature selector
@HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_TYPE_FEATURES_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_ALL_TYPOGRAPHIC
@HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_TYPE_FEATURES_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_ALL_TYPOGRAPHIC
@HB_AAT_LAYOUT_FEATURE_SELECTOR_REQUIRED_LIGATURES_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_REQUIRED_LIGATURES_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_COMMON_LIGATURES_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_COMMON_LIGATURES_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_RARE_LIGATURES_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_RARE_LIGATURES_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_LOGOS_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_LOGOS_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_REBUS_PICTURES_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_REBUS_PICTURES_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_DIPHTHONG_LIGATURES_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_DIPHTHONG_LIGATURES_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_SQUARED_LIGATURES_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_SQUARED_LIGATURES_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_ABBREV_SQUARED_LIGATURES_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_ABBREV_SQUARED_LIGATURES_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_SYMBOL_LIGATURES_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_SYMBOL_LIGATURES_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_LIGATURES_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_LIGATURES_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_HISTORICAL_LIGATURES_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_HISTORICAL_LIGATURES_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_UNCONNECTED: for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_PARTIALLY_CONNECTED: for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_CURSIVE: for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_AND_LOWER_CASE: Deprecated
@HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_CAPS: Deprecated
@HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_LOWER_CASE: Deprecated
@HB_AAT_LAYOUT_FEATURE_SELECTOR_SMALL_CAPS: Deprecated
@HB_AAT_LAYOUT_FEATURE_SELECTOR_INITIAL_CAPS: Deprecated
@HB_AAT_LAYOUT_FEATURE_SELECTOR_INITIAL_CAPS_AND_SMALL_CAPS: Deprecated
@HB_AAT_LAYOUT_FEATURE_SELECTOR_SUBSTITUTE_VERTICAL_FORMS_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_SUBSTITUTION
@HB_AAT_LAYOUT_FEATURE_SELECTOR_SUBSTITUTE_VERTICAL_FORMS_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_SUBSTITUTION
@HB_AAT_LAYOUT_FEATURE_SELECTOR_LINGUISTIC_REARRANGEMENT_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_LINGUISTIC_REARRANGEMENT
@HB_AAT_LAYOUT_FEATURE_SELECTOR_LINGUISTIC_REARRANGEMENT_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_LINGUISTIC_REARRANGEMENT
@HB_AAT_LAYOUT_FEATURE_SELECTOR_MONOSPACED_NUMBERS: for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING
@HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_NUMBERS: for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING
@HB_AAT_LAYOUT_FEATURE_SELECTOR_THIRD_WIDTH_NUMBERS: for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING
@HB_AAT_LAYOUT_FEATURE_SELECTOR_QUARTER_WIDTH_NUMBERS: for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING
@HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_INITIAL_SWASHES_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_INITIAL_SWASHES_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_FINAL_SWASHES_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_FINAL_SWASHES_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_INITIAL_SWASHES_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_INITIAL_SWASHES_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_FINAL_SWASHES_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_FINAL_SWASHES_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_NON_FINAL_SWASHES_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_NON_FINAL_SWASHES_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_SHOW_DIACRITICS: for #HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_HIDE_DIACRITICS: for #HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_DECOMPOSE_DIACRITICS: for #HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_NORMAL_POSITION: for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION
@HB_AAT_LAYOUT_FEATURE_SELECTOR_SUPERIORS: for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION
@HB_AAT_LAYOUT_FEATURE_SELECTOR_INFERIORS: for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION
@HB_AAT_LAYOUT_FEATURE_SELECTOR_ORDINALS: for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION
@HB_AAT_LAYOUT_FEATURE_SELECTOR_SCIENTIFIC_INFERIORS: for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION
@HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_FRACTIONS: for #HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_VERTICAL_FRACTIONS: for #HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_DIAGONAL_FRACTIONS: for #HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_PREVENT_OVERLAP_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_OVERLAPPING_CHARACTERS_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_PREVENT_OVERLAP_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_OVERLAPPING_CHARACTERS_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHENS_TO_EM_DASH_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHENS_TO_EM_DASH_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_EN_DASH_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_EN_DASH_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASHED_ZERO_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASHED_ZERO_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_FORM_INTERROBANG_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_FORM_INTERROBANG_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_SMART_QUOTES_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_SMART_QUOTES_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_PERIODS_TO_ELLIPSIS_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_PERIODS_TO_ELLIPSIS_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_MINUS_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_MINUS_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_ASTERISK_TO_MULTIPLY_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_ASTERISK_TO_MULTIPLY_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASH_TO_DIVIDE_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASH_TO_DIVIDE_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_INEQUALITY_LIGATURES_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_INEQUALITY_LIGATURES_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_EXPONENTS_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_EXPONENTS_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_MATHEMATICAL_GREEK_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_MATHEMATICAL_GREEK_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_ORNAMENTS: for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_DINGBATS: for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_PI_CHARACTERS: for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_FLEURONS: for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_DECORATIVE_BORDERS: for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_INTERNATIONAL_SYMBOLS: for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_MATH_SYMBOLS: for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_ALTERNATES: for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL1: for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL2: for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL3: for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL4: for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL5: for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_STYLE_OPTIONS: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_DISPLAY_TEXT: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_ENGRAVED_TEXT: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_ILLUMINATED_CAPS: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_TITLING_CAPS: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_TALL_CAPS: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS
@HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_CHARACTERS: for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_SIMPLIFIED_CHARACTERS: for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1978_CHARACTERS: for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1983_CHARACTERS: for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1990_CHARACTERS: for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_ONE: for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_TWO: for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_THREE: for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_FOUR: for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_FIVE: for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_EXPERT_CHARACTERS: for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS2004_CHARACTERS: for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_HOJO_CHARACTERS: for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_NLCCHARACTERS: for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_NAMES_CHARACTERS: for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_NUMBERS: for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_CASE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_NUMBERS: for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_CASE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_TEXT: for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING
@HB_AAT_LAYOUT_FEATURE_SELECTOR_MONOSPACED_TEXT: for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING
@HB_AAT_LAYOUT_FEATURE_SELECTOR_HALF_WIDTH_TEXT: for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING
@HB_AAT_LAYOUT_FEATURE_SELECTOR_THIRD_WIDTH_TEXT: for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING
@HB_AAT_LAYOUT_FEATURE_SELECTOR_QUARTER_WIDTH_TEXT: for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING
@HB_AAT_LAYOUT_FEATURE_SELECTOR_ALT_PROPORTIONAL_TEXT: for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING
@HB_AAT_LAYOUT_FEATURE_SELECTOR_ALT_HALF_WIDTH_TEXT: for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING
@HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_TRANSLITERATION: for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION
@HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL: for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION
@HB_AAT_LAYOUT_FEATURE_SELECTOR_HIRAGANA_TO_KATAKANA: for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION
@HB_AAT_LAYOUT_FEATURE_SELECTOR_KATAKANA_TO_HIRAGANA: for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION
@HB_AAT_LAYOUT_FEATURE_SELECTOR_KANA_TO_ROMANIZATION: for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION
@HB_AAT_LAYOUT_FEATURE_SELECTOR_ROMANIZATION_TO_HIRAGANA: for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION
@HB_AAT_LAYOUT_FEATURE_SELECTOR_ROMANIZATION_TO_KATAKANA: for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION
@HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL_ALT_ONE: for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION
@HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL_ALT_TWO: for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION
@HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL_ALT_THREE: for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION
@HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_ANNOTATION: for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_BOX_ANNOTATION: for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_ROUNDED_BOX_ANNOTATION: for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_CIRCLE_ANNOTATION: for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_INVERTED_CIRCLE_ANNOTATION: for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_PARENTHESIS_ANNOTATION: for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_PERIOD_ANNOTATION: for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_ROMAN_NUMERAL_ANNOTATION: for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_DIAMOND_ANNOTATION: for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_INVERTED_BOX_ANNOTATION: for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_INVERTED_ROUNDED_BOX_ANNOTATION: for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_FULL_WIDTH_KANA: for #HB_AAT_LAYOUT_FEATURE_TYPE_KANA_SPACING_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_KANA: for #HB_AAT_LAYOUT_FEATURE_TYPE_KANA_SPACING_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_FULL_WIDTH_IDEOGRAPHS: for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_IDEOGRAPHS: for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_HALF_WIDTH_IDEOGRAPHS: for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_CANONICAL_COMPOSITION_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_CANONICAL_COMPOSITION_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_COMPATIBILITY_COMPOSITION_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_COMPATIBILITY_COMPOSITION_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_TRANSCODING_COMPOSITION_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_TRANSCODING_COMPOSITION_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_RUBY_KANA: Deprecated; use #HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_OFF instead
@HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA: Deprecated; use #HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_ON instead
@HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_RUBY_KANA
@HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_RUBY_KANA
@HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_CJK_SYMBOL_ALTERNATIVES: for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_ONE: for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_TWO: for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_THREE: for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_FOUR: for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_FIVE: for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_IDEOGRAPHIC_ALTERNATIVES: for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_ONE: for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_TWO: for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_THREE: for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_FOUR: for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_FIVE: for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_VERTICAL_ROMAN_CENTERED: for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_VERTICAL_ROMAN_PLACEMENT_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_VERTICAL_ROMAN_HBASELINE: for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_VERTICAL_ROMAN_PLACEMENT_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_CJK_ITALIC_ROMAN: Deprecated; use #HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_OFF instead
@HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN: Deprecated; use #HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_ON instead
@HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_ITALIC_CJK_ROMAN
@HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_ITALIC_CJK_ROMAN
@HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_LAYOUT_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT
@HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_LAYOUT_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT
@HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_SPACING_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT
@HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_SPACING_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT
@HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_HORIZ_KANA_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA
@HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_HORIZ_KANA_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA
@HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_VERT_KANA_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA
@HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_VERT_KANA_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA
@HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_STYLISTIC_ALTERNATES: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ONE_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ONE_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWO_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWO_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THREE_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THREE_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOUR_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOUR_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIVE_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIVE_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIX_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIX_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVEN_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVEN_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHT_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHT_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINE_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINE_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TEN_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TEN_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ELEVEN_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ELEVEN_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWELVE_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWELVE_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THIRTEEN_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THIRTEEN_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOURTEEN_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOURTEEN_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIFTEEN_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIFTEEN_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIXTEEN_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIXTEEN_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVENTEEN_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVENTEEN_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHTEEN_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHTEEN_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINETEEN_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINETEEN_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWENTY_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWENTY_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_ALTERNATES_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_ALTERNATES_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_SWASH_ALTERNATES_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_SWASH_ALTERNATES_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_SWASH_ALTERNATES_ON: for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_SWASH_ALTERNATES_OFF: for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES
@HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_LOWER_CASE: for #HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_SMALL_CAPS: for #HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_PETITE_CAPS: for #HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_UPPER_CASE: for #HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_SMALL_CAPS: for #HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_PETITE_CAPS: for #HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_HALF_WIDTH_CJK_ROMAN: for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_CJK_ROMAN: for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_CJK_ROMAN: for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE
@HB_AAT_LAYOUT_FEATURE_SELECTOR_FULL_WIDTH_CJK_ROMAN: for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE
hb_aat_layout_feature_type_t:
@HB_AAT_LAYOUT_FEATURE_TYPE_INVALID: Initial, unset feature type
@HB_AAT_LAYOUT_FEATURE_TYPE_ALL_TYPOGRAPHIC:
@HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES:
@HB_AAT_LAYOUT_FEATURE_TYPE_CURISVE_CONNECTION:
@HB_AAT_LAYOUT_FEATURE_TYPE_LETTER_CASE:
@HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_SUBSTITUTION:
@HB_AAT_LAYOUT_FEATURE_TYPE_LINGUISTIC_REARRANGEMENT:
@HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING:
@HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE:
@HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE:
@HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION:
@HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS:
@HB_AAT_LAYOUT_FEATURE_TYPE_OVERLAPPING_CHARACTERS_TYPE:
@HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS:
@HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS:
@HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE:
@HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_ALTERNATIVES:
@HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE:
@HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS:
@HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE:
@HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_CASE:
@HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING:
@HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION:
@HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE:
@HB_AAT_LAYOUT_FEATURE_TYPE_KANA_SPACING_TYPE:
@HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE:
@HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE:
@HB_AAT_LAYOUT_FEATURE_TYPE_RUBY_KANA:
@HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE:
@HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE:
@HB_AAT_LAYOUT_FEATURE_TYPE_CJK_VERTICAL_ROMAN_PLACEMENT_TYPE:
@HB_AAT_LAYOUT_FEATURE_TYPE_ITALIC_CJK_ROMAN:
@HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT:
@HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA:
@HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES:
@HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES:
@HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE:
@HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE:
@HB_AAT_LAYOUT_FEATURE_TYPE_LANGUAGE_TAG_TYPE:
@HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE:
hb_bool_t:
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_codepoint_t:
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_font_get_font_h_extents_func_t:
hb_font_get_font_v_extents_func_t:
hb_font_get_glyph_advance_func_t:
hb_font_get_glyph_advances_func_t:
hb_font_get_glyph_contour_point_func_t:
hb_font_get_glyph_extents_func_t:
hb_font_get_glyph_from_name_func_t:
hb_font_get_glyph_h_advance_func_t:
hb_font_get_glyph_h_advances_func_t:
hb_font_get_glyph_h_origin_func_t:
hb_font_get_glyph_name_func_t:
hb_font_get_glyph_origin_func_t:
hb_font_get_glyph_v_advance_func_t:
hb_font_get_glyph_v_advances_func_t:
hb_font_get_glyph_v_origin_func_t:
hb_font_get_nominal_glyph_func_t:
hb_font_get_nominal_glyphs_func_t:
hb_font_get_variation_glyph_func_t:
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_mask_t:
hb_memory_mode_t:
@HB_MEMORY_MODE_DUPLICATE
@HB_MEMORY_MODE_READONLY
@HB_MEMORY_MODE_WRITABLE
@HB_MEMORY_MODE_READONLY_MAY_MAKE_WRITABLE
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_layout_baseline_tag_t:
@HB_OT_LAYOUT_BASELINE_TAG_ROMAN: The baseline used by alphabetic scripts such as Latin, Cyrillic and Greek.
In vertical writing mode, the alphabetic baseline for characters rotated 90 degrees clockwise.
(This would not apply to alphabetic characters that remain upright in vertical writing mode, since these
characters are not rotated.)
@HB_OT_LAYOUT_BASELINE_TAG_HANGING: The hanging baseline. In horizontal direction, this is the horizontal
line from which syllables seem, to hang in Tibetan and other similar scripts. In vertical writing mode,
for Tibetan (or some other similar script) characters rotated 90 degrees clockwise.
@HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_BOTTOM_OR_LEFT: Ideographic character face bottom or left edge,
if the direction is horizontal or vertical, respectively.
@HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_TOP_OR_RIGHT: Ideographic character face top or right edge,
if the direction is horizontal or vertical, respectively.
@HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_BOTTOM_OR_LEFT: Ideographic em-box bottom or left edge,
if the direction is horizontal or vertical, respectively.
@HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_TOP_OR_RIGHT: Ideographic em-box top or right edge baseline,
if the direction is horizontal or vertical, respectively.
@HB_OT_LAYOUT_BASELINE_TAG_MATH: The baseline about which mathematical characters are centered.
In vertical writing mode when mathematical characters rotated 90 degrees clockwise, are centered.
hb_ot_layout_glyph_class_t:
@HB_OT_LAYOUT_GLYPH_CLASS_UNCLASSIFIED: Glyphs not matching the other classifications
@HB_OT_LAYOUT_GLYPH_CLASS_BASE_GLYPH: Spacing, single characters, capable of accepting marks
@HB_OT_LAYOUT_GLYPH_CLASS_LIGATURE: Glyphs that represent ligation of multiple characters
@HB_OT_LAYOUT_GLYPH_CLASS_MARK: Non-spacing, combining glyphs that represent marks
@HB_OT_LAYOUT_GLYPH_CLASS_COMPONENT: Spacing glyphs that represent part of a single character
hb_ot_math_constant_t:
hb_ot_math_glyph_part_flags_t:
hb_ot_math_kern_t:
hb_ot_meta_tag_t:
@HB_OT_META_TAG_DESIGN_LANGUAGES: Design languages. Text, using only
Basic Latin (ASCII) characters. Indicates languages and/or scripts
for the user audiences that the font was primarily designed for.
@HB_OT_META_TAG_SUPPORTED_LANGUAGES: Supported languages. Text, using
only Basic Latin (ASCII) characters. Indicates languages and/or scripts
that the font is declared to be capable of supporting.
hb_ot_metrics_tag_t:
@HB_OT_METRICS_TAG_HORIZONTAL_ASCENDER: horizontal ascender.
@HB_OT_METRICS_TAG_HORIZONTAL_DESCENDER: horizontal descender.
@HB_OT_METRICS_TAG_HORIZONTAL_LINE_GAP: horizontal line gap.
@HB_OT_METRICS_TAG_HORIZONTAL_CLIPPING_ASCENT: horizontal clipping ascent.
@HB_OT_METRICS_TAG_HORIZONTAL_CLIPPING_DESCENT: horizontal clipping descent.
@HB_OT_METRICS_TAG_VERTICAL_ASCENDER: vertical ascender.
@HB_OT_METRICS_TAG_VERTICAL_DESCENDER: vertical descender.
@HB_OT_METRICS_TAG_VERTICAL_LINE_GAP: vertical line gap.
@HB_OT_METRICS_TAG_HORIZONTAL_CARET_RISE: horizontal caret rise.
@HB_OT_METRICS_TAG_HORIZONTAL_CARET_RUN: horizontal caret run.
@HB_OT_METRICS_TAG_HORIZONTAL_CARET_OFFSET: horizontal caret offset.
@HB_OT_METRICS_TAG_VERTICAL_CARET_RISE: vertical caret rise.
@HB_OT_METRICS_TAG_VERTICAL_CARET_RUN: vertical caret run.
@HB_OT_METRICS_TAG_VERTICAL_CARET_OFFSET: vertical caret offset.
@HB_OT_METRICS_TAG_X_HEIGHT: x height.
@HB_OT_METRICS_TAG_CAP_HEIGHT: cap height.
@HB_OT_METRICS_TAG_SUBSCRIPT_EM_X_SIZE: subscript em x size.
@HB_OT_METRICS_TAG_SUBSCRIPT_EM_Y_SIZE: subscript em y size.
@HB_OT_METRICS_TAG_SUBSCRIPT_EM_X_OFFSET: subscript em x offset.
@HB_OT_METRICS_TAG_SUBSCRIPT_EM_Y_OFFSET: subscript em y offset.
@HB_OT_METRICS_TAG_SUPERSCRIPT_EM_X_SIZE: superscript em x size.
@HB_OT_METRICS_TAG_SUPERSCRIPT_EM_Y_SIZE: superscript em y size.
@HB_OT_METRICS_TAG_SUPERSCRIPT_EM_X_OFFSET: superscript em x offset.
@HB_OT_METRICS_TAG_SUPERSCRIPT_EM_Y_OFFSET: superscript em y offset.
@HB_OT_METRICS_TAG_STRIKEOUT_SIZE: strikeout size.
@HB_OT_METRICS_TAG_STRIKEOUT_OFFSET: strikeout offset.
@HB_OT_METRICS_TAG_UNDERLINE_SIZE: underline size.
@HB_OT_METRICS_TAG_UNDERLINE_OFFSET: underline offset.
hb_ot_var_axis_flags_t:
@HB_OT_VAR_AXIS_FLAG_HIDDEN: The axis should not be exposed directly in user interfaces.
hb_position_t:
hb_script_t:
@HB_SCRIPT_COMMON: HB_TAG (‘Z’,‘y’,‘y’,‘y’)
@HB_SCRIPT_INHERITED: HB_TAG (‘Z’,‘i’,‘n’,‘h’)
@HB_SCRIPT_UNKNOWN: HB_TAG (‘Z’,‘z’,‘z’,‘z’)
@HB_SCRIPT_ARABIC
@HB_SCRIPT_ARMENIAN
@HB_SCRIPT_BENGALI
@HB_SCRIPT_CYRILLIC
@HB_SCRIPT_DEVANAGARI
@HB_SCRIPT_GEORGIAN
@HB_SCRIPT_GREEK
@HB_SCRIPT_GUJARATI
@HB_SCRIPT_GURMUKHI
@HB_SCRIPT_HANGUL
@HB_SCRIPT_HAN
@HB_SCRIPT_HEBREW
@HB_SCRIPT_HIRAGANA
@HB_SCRIPT_KANNADA
@HB_SCRIPT_KATAKANA
@HB_SCRIPT_LAO
@HB_SCRIPT_LATIN
@HB_SCRIPT_MALAYALAM
@HB_SCRIPT_ORIYA
@HB_SCRIPT_TAMIL
@HB_SCRIPT_TELUGU
@HB_SCRIPT_THAI
@HB_SCRIPT_TIBETAN
@HB_SCRIPT_BOPOMOFO
@HB_SCRIPT_BRAILLE
@HB_SCRIPT_CANADIAN_SYLLABICS
@HB_SCRIPT_CHEROKEE
@HB_SCRIPT_ETHIOPIC
@HB_SCRIPT_KHMER
@HB_SCRIPT_MONGOLIAN
@HB_SCRIPT_MYANMAR
@HB_SCRIPT_OGHAM
@HB_SCRIPT_RUNIC
@HB_SCRIPT_SINHALA
@HB_SCRIPT_SYRIAC
@HB_SCRIPT_THAANA
@HB_SCRIPT_YI
@HB_SCRIPT_DESERET
@HB_SCRIPT_GOTHIC
@HB_SCRIPT_OLD_ITALIC
@HB_SCRIPT_BUHID
@HB_SCRIPT_HANUNOO
@HB_SCRIPT_TAGALOG
@HB_SCRIPT_TAGBANWA
@HB_SCRIPT_CYPRIOT
@HB_SCRIPT_LIMBU
@HB_SCRIPT_LINEAR_B
@HB_SCRIPT_OSMANYA
@HB_SCRIPT_SHAVIAN
@HB_SCRIPT_TAI_LE
@HB_SCRIPT_UGARITIC
@HB_SCRIPT_BUGINESE
@HB_SCRIPT_COPTIC
@HB_SCRIPT_GLAGOLITIC
@HB_SCRIPT_KHAROSHTHI
@HB_SCRIPT_NEW_TAI_LUE
@HB_SCRIPT_OLD_PERSIAN
@HB_SCRIPT_SYLOTI_NAGRI
@HB_SCRIPT_TIFINAGH
@HB_SCRIPT_BALINESE
@HB_SCRIPT_CUNEIFORM
@HB_SCRIPT_NKO
@HB_SCRIPT_PHAGS_PA
@HB_SCRIPT_PHOENICIAN
@HB_SCRIPT_CARIAN
@HB_SCRIPT_CHAM
@HB_SCRIPT_KAYAH_LI
@HB_SCRIPT_LEPCHA
@HB_SCRIPT_LYCIAN
@HB_SCRIPT_LYDIAN
@HB_SCRIPT_OL_CHIKI
@HB_SCRIPT_REJANG
@HB_SCRIPT_SAURASHTRA
@HB_SCRIPT_SUNDANESE
@HB_SCRIPT_VAI
@HB_SCRIPT_AVESTAN
@HB_SCRIPT_BAMUM
@HB_SCRIPT_EGYPTIAN_HIEROGLYPHS
@HB_SCRIPT_IMPERIAL_ARAMAIC
@HB_SCRIPT_INSCRIPTIONAL_PAHLAVI
@HB_SCRIPT_INSCRIPTIONAL_PARTHIAN
@HB_SCRIPT_JAVANESE
@HB_SCRIPT_KAITHI
@HB_SCRIPT_LISU
@HB_SCRIPT_MEETEI_MAYEK
@HB_SCRIPT_OLD_SOUTH_ARABIAN
@HB_SCRIPT_OLD_TURKIC
@HB_SCRIPT_SAMARITAN
@HB_SCRIPT_TAI_THAM
@HB_SCRIPT_TAI_VIET
@HB_SCRIPT_BATAK
@HB_SCRIPT_BRAHMI
@HB_SCRIPT_MANDAIC
@HB_SCRIPT_CHAKMA
@HB_SCRIPT_MEROITIC_CURSIVE
@HB_SCRIPT_MEROITIC_HIEROGLYPHS
@HB_SCRIPT_MIAO
@HB_SCRIPT_SHARADA
@HB_SCRIPT_SORA_SOMPENG
@HB_SCRIPT_TAKRI
@HB_SCRIPT_BASSA_VAH
@HB_SCRIPT_CAUCASIAN_ALBANIAN
@HB_SCRIPT_DUPLOYAN
@HB_SCRIPT_ELBASAN
@HB_SCRIPT_GRANTHA
@HB_SCRIPT_KHOJKI
@HB_SCRIPT_KHUDAWADI
@HB_SCRIPT_LINEAR_A
@HB_SCRIPT_MAHAJANI
@HB_SCRIPT_MANICHAEAN
@HB_SCRIPT_MENDE_KIKAKUI
@HB_SCRIPT_MODI
@HB_SCRIPT_MRO
@HB_SCRIPT_NABATAEAN
@HB_SCRIPT_OLD_NORTH_ARABIAN
@HB_SCRIPT_OLD_PERMIC
@HB_SCRIPT_PAHAWH_HMONG
@HB_SCRIPT_PALMYRENE
@HB_SCRIPT_PAU_CIN_HAU
@HB_SCRIPT_PSALTER_PAHLAVI
@HB_SCRIPT_SIDDHAM
@HB_SCRIPT_TIRHUTA
@HB_SCRIPT_WARANG_CITI
@HB_SCRIPT_AHOM
@HB_SCRIPT_ANATOLIAN_HIEROGLYPHS
@HB_SCRIPT_HATRAN
@HB_SCRIPT_MULTANI
@HB_SCRIPT_OLD_HUNGARIAN
@HB_SCRIPT_SIGNWRITING
@HB_SCRIPT_ADLAM
@HB_SCRIPT_BHAIKSUKI
@HB_SCRIPT_MARCHEN
@HB_SCRIPT_OSAGE
@HB_SCRIPT_TANGUT
@HB_SCRIPT_NEWA
@HB_SCRIPT_MASARAM_GONDI
@HB_SCRIPT_NUSHU
@HB_SCRIPT_SOYOMBO
@HB_SCRIPT_ZANABAZAR_SQUARE
@HB_SCRIPT_DOGRA
@HB_SCRIPT_GUNJALA_GONDI
@HB_SCRIPT_HANIFI_ROHINGYA
@HB_SCRIPT_MAKASAR
@HB_SCRIPT_MEDEFAIDRIN
@HB_SCRIPT_OLD_SOGDIAN
@HB_SCRIPT_SOGDIAN
@HB_SCRIPT_ELYMAIC
@HB_SCRIPT_NANDINAGARI
@HB_SCRIPT_NYIAKENG_PUACHUE_HMONG
@HB_SCRIPT_WANCHO
@HB_SCRIPT_INVALID: #HB_TAG_NONE
hb_tag_t:
hb_unicode_combining_class_func_t:
@ufuncs: A Unicode-functions structure
@unicode: The code point to query
@user_data: User data pointer passed by the caller
hb_unicode_combining_class_t:
@HB_UNICODE_COMBINING_CLASS_NOT_REORDERED: Spacing and enclosing marks; also many vowel and consonant signs, even if nonspacing
@HB_UNICODE_COMBINING_CLASS_OVERLAY: Marks which overlay a base letter or symbol
@HB_UNICODE_COMBINING_CLASS_NUKTA: Diacritic nukta marks in Brahmi-derived scripts
@HB_UNICODE_COMBINING_CLASS_KANA_VOICING: Hiragana/Katakana voicing marks
@HB_UNICODE_COMBINING_CLASS_VIRAMA: Viramas
@HB_UNICODE_COMBINING_CLASS_CCC10: [Hebrew]
@HB_UNICODE_COMBINING_CLASS_CCC11: [Hebrew]
@HB_UNICODE_COMBINING_CLASS_CCC12: [Hebrew]
@HB_UNICODE_COMBINING_CLASS_CCC13: [Hebrew]
@HB_UNICODE_COMBINING_CLASS_CCC14: [Hebrew]
@HB_UNICODE_COMBINING_CLASS_CCC15: [Hebrew]
@HB_UNICODE_COMBINING_CLASS_CCC16: [Hebrew]
@HB_UNICODE_COMBINING_CLASS_CCC17: [Hebrew]
@HB_UNICODE_COMBINING_CLASS_CCC18: [Hebrew]
@HB_UNICODE_COMBINING_CLASS_CCC19: [Hebrew]
@HB_UNICODE_COMBINING_CLASS_CCC20: [Hebrew]
@HB_UNICODE_COMBINING_CLASS_CCC21: [Hebrew]
@HB_UNICODE_COMBINING_CLASS_CCC22: [Hebrew]
@HB_UNICODE_COMBINING_CLASS_CCC23: [Hebrew]
@HB_UNICODE_COMBINING_CLASS_CCC24: [Hebrew]
@HB_UNICODE_COMBINING_CLASS_CCC25: [Hebrew]
@HB_UNICODE_COMBINING_CLASS_CCC26: [Hebrew]
@HB_UNICODE_COMBINING_CLASS_CCC27: [Arabic]
@HB_UNICODE_COMBINING_CLASS_CCC28: [Arabic]
@HB_UNICODE_COMBINING_CLASS_CCC29: [Arabic]
@HB_UNICODE_COMBINING_CLASS_CCC30: [Arabic]
@HB_UNICODE_COMBINING_CLASS_CCC31: [Arabic]
@HB_UNICODE_COMBINING_CLASS_CCC32: [Arabic]
@HB_UNICODE_COMBINING_CLASS_CCC33: [Arabic]
@HB_UNICODE_COMBINING_CLASS_CCC34: [Arabic]
@HB_UNICODE_COMBINING_CLASS_CCC35: [Arabic]
@HB_UNICODE_COMBINING_CLASS_CCC36: [Syriac]
@HB_UNICODE_COMBINING_CLASS_CCC84: [Telugu]
@HB_UNICODE_COMBINING_CLASS_CCC91: [Telugu]
@HB_UNICODE_COMBINING_CLASS_CCC103: [Thai]
@HB_UNICODE_COMBINING_CLASS_CCC107: [Thai]
@HB_UNICODE_COMBINING_CLASS_CCC118: [Lao]
@HB_UNICODE_COMBINING_CLASS_CCC122: [Lao]
@HB_UNICODE_COMBINING_CLASS_CCC129: [Tibetan]
@HB_UNICODE_COMBINING_CLASS_CCC130: [Tibetan]
@HB_UNICODE_COMBINING_CLASS_CCC133: [Tibetan]
@HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW_LEFT: Marks attached at the bottom left
@HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW: Marks attached directly below
@HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE: Marks attached directly above
@HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE_RIGHT: Marks attached at the top right
@HB_UNICODE_COMBINING_CLASS_BELOW_LEFT: Distinct marks at the bottom left
@HB_UNICODE_COMBINING_CLASS_BELOW: Distinct marks directly below
@HB_UNICODE_COMBINING_CLASS_BELOW_RIGHT: Distinct marks at the bottom right
@HB_UNICODE_COMBINING_CLASS_LEFT: Distinct marks to the left
@HB_UNICODE_COMBINING_CLASS_RIGHT: Distinct marks to the right
@HB_UNICODE_COMBINING_CLASS_ABOVE_LEFT: Distinct marks at the top left
@HB_UNICODE_COMBINING_CLASS_ABOVE: Distinct marks directly above
@HB_UNICODE_COMBINING_CLASS_ABOVE_RIGHT: Distinct marks at the top right
@HB_UNICODE_COMBINING_CLASS_DOUBLE_BELOW: Distinct marks subtending two bases
@HB_UNICODE_COMBINING_CLASS_DOUBLE_ABOVE: Distinct marks extending above two bases
@HB_UNICODE_COMBINING_CLASS_IOTA_SUBSCRIPT: Greek iota subscript only
@HB_UNICODE_COMBINING_CLASS_INVALID: Invalid combining class
hb_unicode_compose_func_t:
@ufuncs: A Unicode-functions structure
@a: The first code point to compose
@b: The second code point to compose
@ab: (out): The composed code point
@user_data: user data pointer passed by the caller
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_decompose_func_t:
@ufuncs: A Unicode-functions structure
@ab: The code point to decompose
@a: (out): The first decomposed code point
@b: (out): The second decomposed code point
@user_data: user data pointer passed by the caller
hb_unicode_eastasian_width_func_t:
hb_unicode_general_category_func_t:
@ufuncs: A Unicode-functions structure
@unicode: The code point to query
@user_data: User data pointer passed by the caller
hb_unicode_general_category_t:
@HB_UNICODE_GENERAL_CATEGORY_CONTROL: [Cc]
@HB_UNICODE_GENERAL_CATEGORY_FORMAT: [Cf]
@HB_UNICODE_GENERAL_CATEGORY_UNASSIGNED: [Cn]
@HB_UNICODE_GENERAL_CATEGORY_PRIVATE_USE: [Co]
@HB_UNICODE_GENERAL_CATEGORY_SURROGATE: [Cs]
@HB_UNICODE_GENERAL_CATEGORY_LOWERCASE_LETTER: [Ll]
@HB_UNICODE_GENERAL_CATEGORY_MODIFIER_LETTER: [Lm]
@HB_UNICODE_GENERAL_CATEGORY_OTHER_LETTER: [Lo]
@HB_UNICODE_GENERAL_CATEGORY_TITLECASE_LETTER: [Lt]
@HB_UNICODE_GENERAL_CATEGORY_UPPERCASE_LETTER: [Lu]
@HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK: [Mc]
@HB_UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK: [Me]
@HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK: [Mn]
@HB_UNICODE_GENERAL_CATEGORY_DECIMAL_NUMBER: [Nd]
@HB_UNICODE_GENERAL_CATEGORY_LETTER_NUMBER: [Nl]
@HB_UNICODE_GENERAL_CATEGORY_OTHER_NUMBER: [No]
@HB_UNICODE_GENERAL_CATEGORY_CONNECT_PUNCTUATION: [Pc]
@HB_UNICODE_GENERAL_CATEGORY_DASH_PUNCTUATION: [Pd]
@HB_UNICODE_GENERAL_CATEGORY_CLOSE_PUNCTUATION: [Pe]
@HB_UNICODE_GENERAL_CATEGORY_FINAL_PUNCTUATION: [Pf]
@HB_UNICODE_GENERAL_CATEGORY_INITIAL_PUNCTUATION: [Pi]
@HB_UNICODE_GENERAL_CATEGORY_OTHER_PUNCTUATION: [Po]
@HB_UNICODE_GENERAL_CATEGORY_OPEN_PUNCTUATION: [Ps]
@HB_UNICODE_GENERAL_CATEGORY_CURRENCY_SYMBOL: [Sc]
@HB_UNICODE_GENERAL_CATEGORY_MODIFIER_SYMBOL: [Sk]
@HB_UNICODE_GENERAL_CATEGORY_MATH_SYMBOL: [Sm]
@HB_UNICODE_GENERAL_CATEGORY_OTHER_SYMBOL: [So]
@HB_UNICODE_GENERAL_CATEGORY_LINE_SEPARATOR: [Zl]
@HB_UNICODE_GENERAL_CATEGORY_PARAGRAPH_SEPARATOR: [Zp]
@HB_UNICODE_GENERAL_CATEGORY_SPACE_SEPARATOR: [Zs]
hb_unicode_mirroring_func_t:
@ufuncs: A Unicode-functions structure
@unicode: The code point to query
@user_data: User data pointer passed by the caller
hb_unicode_script_func_t:
@ufuncs: A Unicode-functions structure
@unicode: The code point to query
@user_data: User data pointer passed by the caller